From 7b5549dd6115d42eda331916fdb38ac806169c9b Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期一, 13 五月 2024 10:35:46 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/mes-ocea-before into master --- src/views/plan/manufacturingorder/index.vue | 4 src/views/quality/processconfiguration/index.vue | 25 ++-- vue.config.js | 4 src/views/product/workbench/workReportCard.vue | 4 src/api/equipment/equipment.js | 15 +++ src/views/equipment/mqtt-show/components/largeAreaChart.vue | 59 ++++++----- src/views/equipment/mqtt-show/index.vue | 165 ++++++++++++++++++++++---------- src/views/plan/operationtask/operationtask-form.vue | 4 8 files changed, 180 insertions(+), 100 deletions(-) diff --git a/src/api/equipment/equipment.js b/src/api/equipment/equipment.js index 1050e3b..7b86def 100644 --- a/src/api/equipment/equipment.js +++ b/src/api/equipment/equipment.js @@ -75,4 +75,19 @@ url: '/mes/equipment/page/' + id, method: 'get' }) +} + +export function getDeviceId() { + return request({ + url: '/mes/mqtt/getDeviceId', + method: 'get' + }) +} + +export function mqttList(query) { + return request({ + url: '/mes/mqtt/mqttList', + method: 'get', + params: query + }) } \ No newline at end of file diff --git a/src/views/equipment/mqtt-show/components/largeAreaChart.vue b/src/views/equipment/mqtt-show/components/largeAreaChart.vue index 5bdaf75..90ecb43 100644 --- a/src/views/equipment/mqtt-show/components/largeAreaChart.vue +++ b/src/views/equipment/mqtt-show/components/largeAreaChart.vue @@ -7,27 +7,21 @@ var myChart = null var option = null -let base = +new Date(1968, 9, 3) -let oneDay = 24 * 3600 * 1000 -let date = [] -let data = [Math.random() * 300] -for (let i = 1; i < 20000; i++) { - var now = new Date((base += oneDay)) - date.push([now.getFullYear(), now.getMonth() + 1, now.getDate()].join('/')) - data.push(Math.round((Math.random() - 0.5) * 20 + data[i - 1])) -} - export default { - // props: { - // yAxisMonth: { - // type: Array, - // default: [] - // }, - // seriesData: { - // type: Array, - // default: [] - // } - // }, + props: { + yAxisMonth: { + type: Array, + default: [] + }, + seriesData: { + type: Array, + default: [] + }, + otherData: { + type: Object, + default: {} + } + }, data() { return { option: { @@ -39,7 +33,7 @@ }, title: { left: '5%', - text: 'Large Ara Chart' + text: '璁惧鍚嶇О锛�' + this.otherData.deviceName + '\\鍗曚綅锛�' + (this.otherData.unit ? this.otherData.unit : '') }, toolbox: { right: '5%', @@ -57,7 +51,7 @@ xAxis: { type: 'category', boundaryGap: false, - data: date + data: this.yAxisMonth }, yAxis: { type: 'value', @@ -76,7 +70,7 @@ ], series: [ { - name: 'Fake Data', + name: '鍙傛暟', type: 'line', symbol: 'none', sampling: 'lttb', @@ -95,7 +89,7 @@ } ]) }, - data: data + data: this.seriesData } ] } @@ -109,15 +103,26 @@ methods: { makeOption() {}, initDrag() { - myChart.setOption((option = this.option)) + myChart.setOption((option = this.option), true) - option && myChart.setOption(option) // 椤甸潰鍙戠敓鍙樺寲tree涔熸敼鍙� window.addEventListener('resize', () => { if (myChart) myChart.resize() }) } - } + }, + // watch: { + // yAxisMonth: { + // handler(newVal) { + // console.log(`output->myChart`,myChart) + // setTimeout(()=>{ + // myChart.setOption((option = this.option), true) + // },100) + + // }, + // deep: true + // } + // } } </script> diff --git a/src/views/equipment/mqtt-show/index.vue b/src/views/equipment/mqtt-show/index.vue index 8d3a4fe..6e95491 100644 --- a/src/views/equipment/mqtt-show/index.vue +++ b/src/views/equipment/mqtt-show/index.vue @@ -1,71 +1,130 @@ <template> <div> - <div class="header_div"> - <el-select v-model="value" placeholder="璇烽�夋嫨"> - <el-option - v-for="item in options" - :key="item.value" - :label="item.label" - :value="item.value" - > - </el-option> - </el-select> - </div> - <el-row> - <el-col - v-for="(v, k) in index" - :key="k" - style="height: 40vh; padding-top: 0.4em;" - :span="12" - ><largeAreaChart - /></el-col> - </el-row> + <basic-container> + <el-form label-width="100px" :inline="true"> + <el-form-item label="璁惧锛�" required> + <el-select + v-model="deviceId" + placeholder="璇烽�夋嫨" + @change="getMqttLists" + > + <el-option + v-for="item in options" + :key="item.value" + :label="item.name" + :value="item.device_id" + > + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鏃堕棿锛�"> + <el-radio-group + v-model="checkboxGroup3" + size="small" + @change="destroyTimerAgainStart" + > + <el-radio-button v-for="city in cities" :label="city" :key="city">{{ + city + }}</el-radio-button> + </el-radio-group> + </el-form-item> + </el-form> + </basic-container> + <basic-container> + <div + v-if="!largeAreaChartList.length > 0" + style="height: 75vh; padding-top: 0.4em; display: flex; align-items: center; justify-content: center;" + > + 鏆傛棤鏁版嵁 + </div> + <el-row> + <el-col + v-for="(v, k) in largeAreaChartList" + :key="k" + style="height: 40vh; padding-top: 0.4em;" + :span="12" + ><largeAreaChart + ref="largeAreaChartRef" + v-if="largeAreaChartList.length > 0" + :key="k" + :yAxisMonth="v.yAxisMonth" + :seriesData="v.listData" + :otherData="v" + /> + </el-col> + </el-row> + </basic-container> </div> </template> <script> import largeAreaChart from './components/largeAreaChart.vue' +import { getDeviceId, mqttList } from '@/api/equipment/equipment' + export default { components: { largeAreaChart: largeAreaChart }, data() { return { - index: 7, - options: [ - { - value: '閫夐」1', - label: '榛勯噾绯�' - }, - { - value: '閫夐」2', - label: '鍙岀毊濂�' - }, - { - value: '閫夐」3', - label: '铓典粩鐓�' - }, - { - value: '閫夐」4', - label: '榫欓』闈�' - }, - { - value: '閫夐」5', - label: '鍖椾含鐑ら腑' - } - ], - value: '' + largeAreaChartList: [], + cities: ['1 鍒嗛挓', '3 鍒嗛挓', '5 鍒嗛挓', '10 鍒嗛挓'], + checkboxGroup3: '1 鍒嗛挓', + options: [], + deviceId: '', + timer: '' + } + }, + async created() { + await this.getDeviceIdFun() + this.getMqttLists() + }, + mounted() { + this.destroyTimerAgainStart() + }, + beforeDestroy() { + console.log(`output->閿�姣佷簡瀹氭椂鍣╜) + clearInterval(this.timer) + }, + methods: { + async getDeviceIdFun() { + await getDeviceId().then((res) => { + this.options = res.data.data + this.deviceId = this.options[0].device_id + }) + }, + async getMqttLists() { + const obj = Object.assign({ + deviceId: this.deviceId, + collectionTime: this.checkboxGroup3.split(' ')[0] + }) + this.largeAreaChartList = [] + await mqttList(obj).then((res) => { + let data = res.data.data + data.forEach((i) => { + i.listData = [] + i.yAxisMonth = [] + if (i.listMqttTableData.length > 0) { + i.deviceId = i.listMqttTableData[0].deviceId + } + i.listMqttTableData.forEach((j) => { + i.listData.push(j.value) + i.yAxisMonth.push(j.collectionTime) + }) + i.listMqttTableData = [] + }) + this.largeAreaChartList = data + }) + }, + destroyTimerAgainStart() { + clearInterval(this.timer) + this.timer = setInterval( + this.getMqttLists, + 1000 * 60 * this.checkboxGroup3.split(' ')[0] + ) } } } </script> -<style> -.header_div { - height: 5em; - width: 100%; - display: flex; - align-items: center; - margin-left: 3em; -} -</style> +<style></style> diff --git a/src/views/plan/manufacturingorder/index.vue b/src/views/plan/manufacturingorder/index.vue index fd28335..e3a8654 100644 --- a/src/views/plan/manufacturingorder/index.vue +++ b/src/views/plan/manufacturingorder/index.vue @@ -100,14 +100,14 @@ >鍒锋柊ifs杞﹂棿璁㈠崟鍙� </el-button> --> - <el-button + <!-- <el-button v-if="permissions.manufacturingorder_export" @click="exportExcel" type="primary" style="margin-left:10px;" :loading="loadingExcel" >瀵煎嚭 - </el-button> + </el-button> --> <el-button v-if="permissions.manufacturingorder_label_print" @click="labelPrint" diff --git a/src/views/plan/operationtask/operationtask-form.vue b/src/views/plan/operationtask/operationtask-form.vue index 515d65d..b35837e 100644 --- a/src/views/plan/operationtask/operationtask-form.vue +++ b/src/views/plan/operationtask/operationtask-form.vue @@ -157,7 +157,7 @@ </el-col> </el-row> <el-row :gutter="10"> - <el-col :span="15"> + <el-col :span="14"> <el-form-item label="璁″垝鏃堕棿" prop="localDateTimes"> <el-date-picker :class="tattimest ? 'sed' : ''" v-model="dataForm.localDateTimes" type="datetimerange" range-separator="鑷�" start-placeholder="寮�濮�" end-placeholder="缁撴潫" @@ -592,7 +592,7 @@ workCenter: [ { required: true, message: '宸ヤ綔涓績涓嶈兘涓虹┖', trigger: 'change' } ], - workstations: [ + workstationId: [ { required: true, message: '宸ヤ綔绔欎笉鑳戒负绌�', trigger: 'change' } ], plannedQuantity: [ diff --git a/src/views/product/workbench/workReportCard.vue b/src/views/product/workbench/workReportCard.vue index 7f02663..fcf2a04 100644 --- a/src/views/product/workbench/workReportCard.vue +++ b/src/views/product/workbench/workReportCard.vue @@ -126,10 +126,10 @@ <!-- <el-button class="tracking-out-revoke-btn" type="primary" icon="tracking-btn-out" :disabled="currProductMainDisable || currentDutyRecord.isConfirm" v-if="!editShow" >浜ょ彮 </el-button> --> - <!-- <el-button class="submit-out-btn" type="primary" + <el-button class="submit-out-btn" type="primary" :disabled="currProductMainDisable || currentDutyRecord.isConfirm" v-if="!editShow" @click="submitList()" :loading="submitLoading">鎻愪氦 - </el-button> --> + </el-button> <el-button class="batch-out-del-btn" type="primary" :disabled="currProductMainDisable || currentDutyRecord.isConfirm" v-if="!editShow" @click="deleteList()">鍒犻櫎 </el-button> diff --git a/src/views/quality/processconfiguration/index.vue b/src/views/quality/processconfiguration/index.vue index 6fff645..197b3f4 100644 --- a/src/views/quality/processconfiguration/index.vue +++ b/src/views/quality/processconfiguration/index.vue @@ -170,6 +170,18 @@ // render: { fun: this.addOrUpdateHandle } } }, + { + minWidth: '120', + prop: 'state', + label: '鐘舵��', + isTrue: true, + isSearch: true, + searchInfoType: 'select', + formatter: this.formatInsState, + optList: () => { + return this.StateList + } + }, // 妫�楠岀紪鍙� { minWidth: '140', @@ -264,18 +276,7 @@ searchInfoType: 'datetimerange', formatter: this.formatDateTime, }, - { - minWidth: '120', - prop: 'state', - label: '鐘舵��', - isTrue: true, - isSearch: true, - searchInfoType: 'select', - formatter: this.formatInsState, - optList: () => { - return this.StateList - } - }, + // { // minWidth: '120', // prop: '', diff --git a/vue.config.js b/vue.config.js index b413af0..545c796 100644 --- a/vue.config.js +++ b/vue.config.js @@ -6,8 +6,8 @@ // const url = 'https://ztms-mes.chinaztt.cn/' - // const url = 'http://localhost:9999' -const url = 'http://192.168.32.45:9999' +const url = 'http://localhost:9999' +//const url = 'http://192.168.32.45:9999' const localUrl = 'http://localhost:8089' -- Gitblit v1.9.3