src/api/Api.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/nav.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/container/Map/Map.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/container/component/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/container/deviceType/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/container/ledger/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/container/list/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/container/machineList/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/container/maintenance/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/container/mapPreview/Map.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/container/mapPreviewDetail/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/container/workshop/device.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/container/workshop/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/store/modules/user.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/Api.js
@@ -1,7 +1,7 @@ /* * @Date: 2024-01-10 20:37:45 * @LastEditors: Sneed * @LastEditTime: 2024-01-18 23:37:37 * @LastEditTime: 2024-01-29 20:33:21 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/api/Api.js */ import ajax from '@/utils/ajax' @@ -105,7 +105,12 @@ userList: { url: '/user/list', method: 'GET' } }, getbyid: { url: '/machinedata/getbyid', method: 'POST' }, } // 正式环境配置地址 export const URL_CFG = { @@ -132,6 +137,9 @@ */ function sendRequest(method, params) { return ajax.postJson(URL_CFG.BASE_URL + method, params) } function sendFormRequest(method, params) { return ajax.post(URL_CFG.BASE_URL + method, params) } /* * @param method @@ -183,6 +191,14 @@ } } export function getFormRequest (key,params) { if (getFnObj[key].method === 'GET') { // return getData(getFnObj[key].url,params || {}) } else { return sendFormRequest(getFnObj[key].url, params || {}) } } export function getUrl (key) { return getFnObj[key].url } src/components/nav.vue
@@ -1,33 +1,32 @@ <!-- * @Date: 2024-01-21 15:41:42 * @LastEditors: Sneed * @LastEditTime: 2024-01-21 15:48:30 * @LastEditTime: 2024-01-29 23:00:21 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/components/nav.vue --> <template> <div class="nav"> <div class="nav nav-top"> <span> 车间列表 / 2厂 / YYYYYYYYss {{ name }} </span> <slot></slot> </div> </template> <script> export default { props: ['name'] } </script> <style lang="scss" scoped> .nav { display: flex; align-items: center; padding: 0 20px; span { font-size: 16px; font-size: 14px; font-family: PingFangSC, PingFang SC; font-weight: 600; color: #FFFFFF; padding: 5px 0; line-height: 22px; padding-left: 10px; } } </style> src/container/Map/Map.vue
@@ -1,7 +1,7 @@ <!-- * @Date: 2024-01-05 23:47:53 * @LastEditors: Sneed * @LastEditTime: 2024-01-23 21:41:33 * @LastEditTime: 2024-01-29 22:46:03 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/Map/Map.vue --> <template> @@ -49,7 +49,7 @@ </div> <el-dialog title="放置设备" top="94px" :close-on-click-modal="false" width="100%" :visible.sync="addStatus" > <el-select class="wkshoplist" clearable v-model="deviceId" placeholder="请选择"> <el-option v-for="item in deviceList" :key="item.machineId" :label="item.machineName" <el-option v-show="!hasPushed.includes(item.machineId)" v-for="item in deviceList" :key="item.machineId" :label="item.machineName" :value="item.machineId"> </el-option> </el-select> @@ -133,7 +133,8 @@ tdMounseDown: false, range: { x: '', x1: '', y: '', y1: '' }, currentAdd: {}, colgroups: [] colgroups: [], hasPushed: [], } }, watch: { @@ -368,6 +369,15 @@ addDevice(e, v) { e.stopPropagation() this.addStatus = true let hasPushed = [] this.map.forEach(item => { item.forEach(v => { if (v.id) { hasPushed.push(v.id) } }) }) this.hasPushed = hasPushed this.deviceId = '' this.currentAdd = v }, src/container/component/index.vue
@@ -1,14 +1,13 @@ <!-- * @Date: 2024-01-06 17:40:19 * @LastEditors: Sneed * @LastEditTime: 2024-01-23 21:57:40 * @LastEditTime: 2024-01-29 23:01:11 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/component/index.vue --> <template> <div class="maintenance"> <div class="nav-top"> <span>工件信息</span> </div> <Nav name="工件信息"> </Nav> <List ref="list" :url="url"> <template slot="search"> <div class="item"> @@ -93,9 +92,11 @@ <script> import List from '../list/index.vue' import { getUrl } from '@/api/Api' import Nav from '@/components/nav' export default { components: { List List, Nav }, data () { return { src/container/deviceType/index.vue
@@ -1,14 +1,12 @@ <!-- * @Date: 2024-01-06 17:40:19 * @LastEditors: Sneed * @LastEditTime: 2024-01-27 16:24:57 * @LastEditTime: 2024-01-29 23:03:05 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/deviceType/index.vue --> <template> <div class="maintenance"> <div class="nav"> <span>设备类型管理</span> </div> <Nav name="设备类型管理"></Nav> <List ref="list" :url="url"> <template slot="search"> <div class="item"> @@ -56,10 +54,12 @@ import List from '../list/index.vue' import ManageAddUpdate from './Manage-add-update' import { getUrl,deviceTypeDelete } from '@/api/Api' import Nav from '@/components/nav' export default { components: { List, ManageAddUpdate ManageAddUpdate, Nav }, data () { return { src/container/ledger/index.vue
@@ -1,14 +1,12 @@ <!-- * @Date: 2024-01-06 17:40:19 * @LastEditors: Sneed * @LastEditTime: 2024-01-27 16:24:56 * @LastEditTime: 2024-01-29 23:06:26 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/ledger/index.vue --> <template> <div class="maintenance"> <div class="nav"> <span>台账</span> </div> <Nav name="台账"></Nav> <List ref="list" url="/account/pageQuery"> <template slot="search"> <div class="item"> @@ -152,8 +150,10 @@ import ManageAddUpdate from './Manage-add-update' import { getUseDpts, getRequest } from '@/api/Api' import List from '../list/index.vue' import Nav from '@/components/nav' export default { components: { Nav, List, ManageAddUpdate }, src/container/list/index.vue
@@ -1,7 +1,7 @@ <!-- * @Date: 2024-01-06 17:40:19 * @LastEditors: Sneed * @LastEditTime: 2024-01-27 16:39:04 * @LastEditTime: 2024-01-29 23:07:39 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/list/index.vue --> <template> @@ -163,7 +163,7 @@ </style> <style lang="scss" scoped> .list { padding: 30px; padding:0 30px; } .search { // margin: 20px 30px; src/container/machineList/index.vue
@@ -1,14 +1,12 @@ <!-- * @Date: 2024-01-06 17:40:19 * @LastEditors: Sneed * @LastEditTime: 2024-01-27 16:27:27 * @LastEditTime: 2024-01-29 23:06:38 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/machineList/index.vue --> <template> <div class="maintenance"> <div class="nav"> <span>机床采集</span> </div> <Nav name="机床采集"></Nav> <List ref="list" url="/machine/pageQuery"> <template slot="search"> <div class="item"> @@ -132,8 +130,10 @@ import List from '../list/index.vue' import ManageAddUpdate from './Manage-add-update' import { getUrl,getWsl, getPcl } from '@/api/Api' import Nav from '@/components/nav' export default { components: { Nav, List, ManageAddUpdate }, src/container/maintenance/index.vue
@@ -1,14 +1,12 @@ <!-- * @Date: 2024-01-06 17:40:19 * @LastEditors: Sneed * @LastEditTime: 2024-01-27 16:24:53 * @LastEditTime: 2024-01-29 23:06:50 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/maintenance/index.vue --> <template> <div class="maintenance"> <div class="nav"> <span>设备保养/{{navName}}</span> </div> <Nav :name="`设备保养 / ${navName}`"></Nav> <List ref="list" url="/maintain/pageQuery"> <template slot="search"> <div class="item"> @@ -122,8 +120,10 @@ import List from '../list/index.vue' import { getUseDpts,getRequest } from '@/api/Api' import DailyMAddD from './dailyMAdd.vue' import Nav from '@/components/nav' export default { components: { Nav, List, DailyMAddD }, src/container/mapPreview/Map.vue
@@ -1,7 +1,7 @@ <!-- * @Date: 2024-01-05 23:47:53 * @LastEditors: Sneed * @LastEditTime: 2024-01-24 21:17:31 * @LastEditTime: 2024-01-29 22:29:51 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/mapPreview/Map.vue --> <template> @@ -15,7 +15,7 @@ <td v-if="v.rowspan !== 0 && v.colspan !== 0" :class="{ aisle: v.type === 1 }" :width="v.colspan * height + 'px'" :height="v.rowspan * height + 'px'" v-for="v in item" :rowspan="v.rowspan" :colspan="v.colspan" :key="v.rowIndex + '-' + v.colIndex"> <Device @click.native="toDetail(v)" v-if="v.id" :id="v.id" style="width: 100%;height: 100%;" <Device v-if="v.id" :id="v.id" style="width: 100%;height: 100%;" :deviceList="deviceList" :plantDeviceList="plantDeviceList"></Device> </td> </tr> @@ -152,14 +152,6 @@ this.leftMax = 0 } } }, toDetail(v) { this.$router.push({ name: 'mapPreviewDetail', query: { id: v.id } }) }, } } src/container/mapPreviewDetail/index.vue
@@ -1,7 +1,7 @@ <!-- * @Date: 2024-01-05 22:26:22 * @LastEditors: Sneed * @LastEditTime: 2024-01-27 18:55:28 * @LastEditTime: 2024-01-29 23:51:52 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/mapPreviewDetail/index.vue --> <template> @@ -17,47 +17,50 @@ <div class="left"> <div class="left_1"> <div> <span>65%</span> <span>{{ deviceInfo.runRate || 0 }}%</span> <span>开机运行率</span> </div> <div> <span>55%</span> <span>{{ deviceInfo.efficiency || 0 }}%</span> <span>能力利用率</span> </div> </div> <div class="left_2 table"> <el-table stripe :data="tableData" v-loading="loading" style="width: 100%;margin-top: 20px;"> <el-table-column prop="date" label="轴" width="180"> <el-table stripe :data="axislist" style="width: 100%;margin-top: 20px;"> <el-table-column prop="name" label="轴" width="180"> </el-table-column> <el-table-column prop="name" label="坐标" width="180"> <el-table-column prop="position" label="坐标" width="180"> </el-table-column> <el-table-column prop="address" label="扭矩"> <el-table-column prop="servoLoad" label="扭矩"> </el-table-column> </el-table> </div> <div class="left_2 table"> <el-table stripe :data="tableData" v-loading="loading" style="width: 100%;margin-top: 20px;"> <el-table-column prop="date" label="轴" width="180"> <el-table stripe :data="axislist1" style="width: 100%;margin-top: 20px;"> <el-table-column prop="name" label="轴" width="180"> </el-table-column> <el-table-column prop="name" label="坐标" width="180"> <el-table-column prop="position" label="坐标" width="180"> </el-table-column> <el-table-column prop="address" label="扭矩"> <el-table-column prop="servoLoad" label="扭矩"> </el-table-column> </el-table> </div> </div> <div class="center"> <div class="center-top"> <!-- spindleLoad --> <div> <span class="zz"></span> <span class="zz" :style="`transform: rotate(${260/100 * (status.spindleLoad || 0) - 220}deg)`"></span> <span class="name">主轴负载</span> </div> <!-- rate --> <div> <span class="zz"></span> <span class="zz" :style="`transform: rotate(${260/100 * (status.rate || 0) - 220}deg)`"></span> <span class="name">主轴倍率</span> </div> <!-- feed --> <div> <span class="zz"></span> <span class="zz" :style="`transform: rotate(${260/100 * (status.feed || 100) - 220}deg)`"></span> <span class="name">进给倍率</span> </div> </div> @@ -67,91 +70,91 @@ </div> <div class="right"> <div class="right_1"> <p>工段: 204</p> <p>名称: YKXXXXX</p> <p>工段: {{ deviceInfo.section }}</p> <p>名称: {{ deviceInfo.machineName }}</p> <div class="line"></div> <ul> <li> <img src="./img/sd.png" alt=""> <div> <p>1223秒</p> <p>{{ cycleTime || 0 }}秒</p> <p>运行时间</p> </div> </li> <li> <img src="./img/sd.png" alt=""> <div> <p>1223秒</p> <p>运行时间</p> <p>{{ status.utilizationDaily || 0}}%</p> <p>日利用率</p> </div> </li> <li> <img src="./img/sd.png" alt=""> <div> <p>1223秒</p> <p>运行时间</p> <p>{{ status.utilizationweeks || 0 }}%</p> <p>周利用率</p> </div> </li> <li> <img src="./img/sd.png" alt=""> <div> <p>1223秒</p> <p>运行时间</p> <p>{{ status.utilizationmonths || 0 }}%</p> <p>月利用率</p> </div> </li> <li> <img src="./img/sd.png" alt=""> <div> <p>1223秒</p> <p>运行时间</p> <p>{{ status.cycleCount || 0 }}%</p> <p>完工件数</p> </div> </li> </ul> <div class="line"></div> <p>机床状态: <span class="img-status" v-if="status === 'STOP'">停机</span> <span class="img-status run" v-if="status === 'RUN'">运行</span> <span class="img-status standby" v-if="status === 'IDLE'">待机</span> <span class="img-status alerm" v-if="status === 'ALARM'">报警</span> <span class="img-status" v-if="deviceInfo.status === 'STOP'">停机</span> <span class="img-status run" v-if="deviceInfo.status === 'RUN'">运行</span> <span class="img-status standby" v-if="deviceInfo.status === 'IDLE'">待机</span> <span class="img-status alerm" v-if="deviceInfo.status === 'ALARM'">报警</span> </p> <p>待机原因: 保养方式出现问题</p> <!-- <p>待机原因: {{}}</p> --> </div> <div class="right_2"> <p>加工数据</p> <ul> <li> <span>程序名称:</span> <span>XXX</span> <span>{{ status.progName }}</span> </li> <li> <span>零件号:</span> <span>XXX</span> <span>{{ status.componentId }}</span> </li> <li> <span>控制模型:</span> <span>XXX</span> <span>{{ status.progContent }}</span> </li> <li> <span>工序号:</span> <span>XXX</span> <span>{{ status.processId }}</span> </li> <li> <span>主轴转速:</span> <span>XXX</span> <span>{{ status.speed }}</span> </li> <li> <span>进给速度:</span> <span>XXX</span> <span>{{ status.feedspeed }}</span> </li> </ul> </div> <div class="right_3 table"> <el-table stripe :data="tableData" v-loading="loading" style="width: 100%;margin-top: 20px;"> <el-table-column prop="date" label="报警号" width="180"> <el-table stripe :data="tableData" style="width: 100%;margin-top: 20px;"> <el-table-column prop="alarmNo" label="报警号" width="180"> </el-table-column> <el-table-column prop="name" label="报警内容" width="180"> <el-table-column prop="alarmMsg" label="报警内容" width="180"> </el-table-column> <el-table-column prop="address" label="报警时间"> <el-table-column prop="time" label="报警时间"> </el-table-column> </el-table> </div> @@ -161,29 +164,167 @@ </template> <script> import Nav from '@/components/nav' import { getRequest, getFormRequest } from '@/api/Api' export default { components: { Nav }, computed: { }, watch: { }, data() { return { name: '车间列表 / 2厂 / YYYYYYYYss', status: 'RUN',// RUN IDLE ALARM cycleTime: '', name: '', deviceInfo: { section: '', // 工段 }, status: { progName: '', componentId: '', progContent: '', processId: '', speed: '', feedspeed: '', spindleLoad: '', rate: '', feed: '', utilizationDaily: '', utilizationweeks: '', utilizationmonths: '', cycleCount: '', }, tableData: [], axislist: [ { name: '', position: '', servoLoad: '' }, { name: '', position: '', servoLoad: '' }, { name: '', position: '', servoLoad: '' } ], axislist1: [ { name: '', position: '', servoLoad: '' }, { name: '', position: '', servoLoad: '' }, { name: '', position: '', servoLoad: '' } ], } }, methods: { back() { this.$router.go(-1) }, init() { getFormRequest('getbyid', { machineId: this.$route.query.id }).then(res => { var axisNames if (res.status.var4 != null) { axisNames = res.status.var4.split(':') } var positions if (res.status.var5 != null) { positions = res.status.var5.split(':') } var servoLoads if (res.status.var6 != null) { servoLoads = res.status.var6.split(':') } for (let i = 0; i < 3; i++) { if ((axisNames == null) || (axisNames[i] == null) || (axisNames[i] === '')) { this.axislist[i].name = '' } else { this.axislist[i].name = axisNames[i] } if (positions == null) { this.axislist[i].position = '' } else { this.axislist[i].position = positions[i] } if (servoLoads == null) { this.axislist[i].servoLoad = '' } else { this.axislist[i].servoLoad = servoLoads[i] } } for (let i = 3; i < 6; i++) { if ((axisNames == null) || (axisNames[i] == null) || (axisNames[i] === '')) { this.axislist1[i - 3].name = '' } else { this.axislist1[i - 3].name = axisNames[i] } if (positions == null) { this.axislist1[i - 3].position = '' } else { this.axislist1[i - 3].position = positions[i] } if (servoLoads == null) { this.axislist1[i - 3].servoLoad = '' } else { this.axislist1[i - 3].servoLoad = servoLoads[i] } } this.status = res.data.status this.tableData = res.data.list this.cycleTime = this.formatSeconds(res.msg.cycleTime)// 运行时间 console.log(res) }) try { this.deviceInfo = JSON.parse(window.localStorage.getItem('deviceInfo')) } catch (error) { this.deviceInfo = {} } this.name = `车间列表 / ${this.$route.query.name} / ${this.deviceInfo.machineName}` }, formatSeconds(value) { var secondTime = parseInt(value)// 秒 var minuteTime = 0// 分 var hourTime = 0// 小时 if (secondTime > 60) { // 如果秒数大于60,将秒数转换成整数 // 获取分钟,除以60取整数,得到整数分钟 minuteTime = parseInt(secondTime / 60) // 获取秒数,秒数取佘,得到整数秒数 secondTime = parseInt(secondTime % 60) // 如果分钟大于60,将分钟转换成小时 if (minuteTime > 60) { // 获取小时,获取分钟除以60,得到整数小时 hourTime = parseInt(minuteTime / 60) // 获取小时后取佘的分,获取分钟除以60取佘的分 minuteTime = parseInt(minuteTime % 60) } } var result = '' + parseInt(secondTime) + '秒' if (minuteTime > 0) { result = '' + parseInt(minuteTime) + '分' + result } if (hourTime > 0) { result = '' + parseInt(hourTime) + '小时' + result } return result } }, mounted() { this.init() } } </script> @@ -428,7 +569,7 @@ } & > p:before { &>p:before { content: ''; position: absolute; top: 50%; @@ -477,16 +618,19 @@ width: 100%; height: 208px; background: url('./img/right_2.png'); p { font-size: 16px; color: #F7F8FA; line-height: 22px; padding: 8px 14px; } ul { list-style: none; display: flex; flex-wrap: wrap; li { flex: 0 0 auto; width: 50%; @@ -535,4 +679,5 @@ .img-status.alerm { background: #FF3333; color: #fff; }</style> } </style> src/container/workshop/device.vue
@@ -1,7 +1,7 @@ <!-- * @Date: 2024-01-13 20:46:33 * @LastEditors: Sneed * @LastEditTime: 2024-01-28 14:08:41 * @LastEditTime: 2024-01-29 22:28:36 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/workshop/device.vue --> <template> @@ -91,7 +91,6 @@ return this.info.cycleCount || 0 }, machineName() { debugger let machineName = '' if (this.info.machineName) return this.info.machineName if (this.plantDeviceList.length > 0) { src/container/workshop/index.vue
@@ -1,14 +1,12 @@ <!-- * @Date: 2024-01-06 17:40:19 * @LastEditors: Sneed * @LastEditTime: 2024-01-28 14:34:17 * @LastEditTime: 2024-01-29 23:07:00 * @FilePath: /belleson-frontend/Users/mache/Documents/demo/mdc/src/container/workshop/index.vue --> <template> <div class="workshop"> <div class="nav"> <span>车间列表 / {{ this.$route.query.name }}</span> </div> <Nav :name="`车间列表 / ${$route.query.name}`"></Nav> <div class="workshop-box"> <LeftStatus :info="info" /> <div class="right"> @@ -31,10 +29,9 @@ </Status> <div class="list-box"> <div class="list"> <Item canconcern v-for="item in listFilter" :id="item.id" :info="item" :key="item.id"></Item> <Item @click.native="toDetail(item)" canconcern v-for="item in listFilter" :id="item.id" :info="item" :key="item.id"></Item> </div> </div> </div> </div> </div> @@ -44,8 +41,10 @@ import Status from '@/components/newComp/Status'; import { getRequest, getUrl } from '@/api/Api' import Item from './device.vue' import Nav from '@/components/nav' export default { components: { Nav, LeftStatus, Status, Item @@ -78,6 +77,16 @@ this.query() }, methods: { toDetail(v) { window.localStorage.setItem('deviceInfo',JSON.stringify(v)) this.$router.push({ name: 'mapPreviewDetail', query: { id: v.id, name: this.$route.query.name } }) }, search () { if (!this.searchWord) return this.query() else { src/store/modules/user.js
@@ -27,7 +27,8 @@ workshopList: workshopList, // 车间列表 // deviceCategories: [], // 设备种类 userInfo: userInfo, userMenu: userMenu userMenu: userMenu, deviceInfo: {}, }, mutations: {