From fe8842f9caa8ae657fabc485283bca910869b848 Mon Sep 17 00:00:00 2001 From: zhuzhuanzhuan Date: 星期三, 16 八月 2023 09:26:42 +0800 Subject: [PATCH] 设备配置中关于部门的权限处理;设备工作日历界面的配置弹窗中的日历选中效果修改;设备日志界面的历史记录界面不显示报警信息显示的问题处理;设备日志界面的工作曲线的时间的选择弹窗关闭的问题处理;设备统计分析界面的饼图的开机率关机率的问题处理;统计图表界面的样式调整 --- src/views/mdc/base/EquipmentList.vue | 182 ++++++++++++++++++++++++++ src/views/mdc/base/modules/EquipmentList/UserModal.vue | 39 +++++ src/views/mdc/base/modules/StatisticalAnalysis/StatisticalAnalysisMain.vue | 37 +++-- src/views/mdc/base/MdcUtilizationRateList.vue | 22 +- src/views/mdc/base/modules/deviceLog/WorkHistoryModel.vue | 23 +- src/views/mdc/base/modules/deviceLog/WorkChartModel.vue | 4 src/views/system/QuartzJobList.vue | 3 src/views/mdc/base/modules/comparativeAnalysis/conparativeAnalysisPie.vue | 2 src/views/mdc/base/modules/deviceCalendar/DeviceCalendarModel.vue | 62 -------- 9 files changed, 273 insertions(+), 101 deletions(-) diff --git a/src/views/mdc/base/EquipmentList.vue b/src/views/mdc/base/EquipmentList.vue index 02bd2c3..92f802e 100644 --- a/src/views/mdc/base/EquipmentList.vue +++ b/src/views/mdc/base/EquipmentList.vue @@ -138,6 +138,7 @@ import UserRecycleBinModal from './modules/EquipmentList/UserRecycleBinModal' import JSuperQuery from '@/components/jeecg/JSuperQuery' import JThirdAppButton from '@/components/jeecgbiz/thirdApp/JThirdAppButton' + import {mapActions} from 'vuex' export default { name: "EquipmentList", @@ -248,6 +249,7 @@ // exportXlsUrl: "/sys/user/exportXls", // importExcelUrl: "sys/user/importExcel", }, + isDepartType:'' } }, computed: { @@ -255,7 +257,187 @@ // return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`; // } }, + created() { + this.queryTreeData() + }, methods: { + ...mapActions(['QueryDepartTree']), + queryTreeData() { + this.QueryDepartTree().then(res => { + if (res.success) { + this.isDepartType = res.result[0].value + if(this.isDepartType == -1){ + this.columns=[ + { + title: '#', + dataIndex: '', + key:'rowIndex', + width:60, + align:"center", + customRender:function (t,r,index) { + return parseInt(index)+1; + } + }, + { + title: '璁惧缂栧彿', + align: "center", + dataIndex: 'equipmentId', + width: 120, + // sorter: true + }, + { + title: '璁惧鍚嶇О', + align: "center", + width: 150, + dataIndex: 'equipmentName', + }, + { + title: '杞﹂棿', + align: "center", + width: 180, + dataIndex: 'productionName' + }, + { + title: '璁惧绫诲瀷', + align: "center", + width: 120, + dataIndex: 'equipmentType', + // scopedSlots: {customRender: "avatarslot"} + }, + + { + title: '椹卞姩绫诲瀷', + align: "center", + width: 80, + dataIndex: 'driveType', + // sorter: true + }, + { + title: '鏈哄簥IP', + align: "center", + width: 100, + dataIndex: 'equipmentIp' + }, + { + title: '璁惧鍔熺巼', + align: "center", + width: 100, + dataIndex: 'devicePower' + }, + // { + // title: '閮ㄩ棬', + // align: "center", + // width: 180, + // dataIndex: 'orgCodeTxt' + // }, + + { + title: '绯荤粺鐗堟湰', + align: "center", + width: 80, + dataIndex: 'systemVersion' + }, + { + title: '鎿嶄綔', + dataIndex: 'action', + scopedSlots: {customRender: 'action'}, + align: "center", + width: 120 + } + + ] + }else{ + this.columns=[ + { + title: '#', + dataIndex: '', + key:'rowIndex', + width:60, + align:"center", + customRender:function (t,r,index) { + return parseInt(index)+1; + } + }, + { + title: '璁惧缂栧彿', + align: "center", + dataIndex: 'equipmentId', + width: 120, + // sorter: true + }, + { + title: '璁惧鍚嶇О', + align: "center", + width: 150, + dataIndex: 'equipmentName', + }, + { + title: '杞﹂棿', + align: "center", + width: 180, + dataIndex: 'productionName' + }, + { + title: '璁惧绫诲瀷', + align: "center", + width: 120, + dataIndex: 'equipmentType', + // scopedSlots: {customRender: "avatarslot"} + }, + + { + title: '椹卞姩绫诲瀷', + align: "center", + width: 80, + dataIndex: 'driveType', + // sorter: true + }, + { + title: '鏈哄簥IP', + align: "center", + width: 100, + dataIndex: 'equipmentIp' + }, + { + title: '璁惧鍔熺巼', + align: "center", + width: 100, + dataIndex: 'devicePower' + }, + { + title: '閮ㄩ棬', + align: "center", + width: 180, + dataIndex: 'orgCodeTxt' + }, + + { + title: '绯荤粺鐗堟湰', + align: "center", + width: 80, + dataIndex: 'systemVersion' + }, + { + title: '鎿嶄綔', + dataIndex: 'action', + scopedSlots: {customRender: 'action'}, + align: "center", + width: 120 + } + + ] + } + + } else { + // this.$message.warn(res.message) + this.$notification.warning({ + message:'娑堟伅', + description:res.message + }); + } + }).finally(() =>{ + }) + }, handleEdit: function (record) { this.$refs.modalForm.edit(record); this.$refs.modalForm.title = "缂栬緫"; diff --git a/src/views/mdc/base/MdcUtilizationRateList.vue b/src/views/mdc/base/MdcUtilizationRateList.vue index f7354f5..f9293d0 100644 --- a/src/views/mdc/base/MdcUtilizationRateList.vue +++ b/src/views/mdc/base/MdcUtilizationRateList.vue @@ -35,9 +35,9 @@ <span slot="action" slot-scope="text, record"> <a href="javascript:;" @click="handleEdit(record)">缂栬緫</a> </span> - <span slot="action1" slot-scope="text,record"> - <span><=</span> - </span> + <!--<span slot="action1" slot-scope="text,record">--> + <!--<span><=</span>--> + <!--</span>--> </a-table> </div> <!-- table鍖哄煙-end --> @@ -99,14 +99,14 @@ align: 'center', dataIndex: 'minimumRange' }, - { - title:'', - dataIndex:'action1', - align:'center', - scopedSlots: { - customRender: 'action1' - } - }, + // { + // title:'', + // dataIndex:'action1', + // align:'center', + // scopedSlots: { + // customRender: 'action1' + // } + // }, { title: '鏈�澶ц寖鍥达紙鍗曚綅锛�%锛�', align: 'center', diff --git a/src/views/mdc/base/modules/EquipmentList/UserModal.vue b/src/views/mdc/base/modules/EquipmentList/UserModal.vue index 69e57a1..30a09dd 100644 --- a/src/views/mdc/base/modules/EquipmentList/UserModal.vue +++ b/src/views/mdc/base/modules/EquipmentList/UserModal.vue @@ -44,18 +44,31 @@ </a-form-model-item> </a-col> <a-col :span="12"> - <a-form-model-item label="杞﹂棿鍒嗛厤" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!productionDisabled" ref="selectedProduction" prop="selectedProduction"> + <a-form-model-item v-if="isDepartType == 0" label="杞﹂棿鍒嗛厤" :labelCol="labelCol" :wrapperCol="wrapperCol" v-show="!productionDisabled" ref="selectedProduction" prop="selectedProduction"> <!--<j-select-equipment-production v-decorator="['selectedProduction',{rules:[{required:true,message:'璇烽�夋嫨杞﹂棿!'}]}]" :multi="false" @back="backProductionInfo" :backProduction="true" :treeProductOpera="true"></j-select-equipment-production>--> <j-select-equipment-production :disabled="disableSubmit" v-model="model.selectedProduction" :multi="false" @back="backProductionInfo" :backProduction="true" :treeProductOpera="true"></j-select-equipment-production> </a-form-model-item> + <a-form-model-item v-if="isDepartType == -1" label="璁惧绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-select :disabled="disableSubmit" :readOnly="disableSubmit" placeholder="璇烽�夋嫨璁惧绫诲瀷" + :triggerChange="true" + v-model="model.equipmentType"> + <a-select-option v-for='item in selectList' :key='item.id' :value='item.equipmentTypeName'> + {{item.equipmentTypeName}} + </a-select-option> + </a-select> + </a-form-model-item> </a-col> </a-row> <a-row :gutter="24"> <a-col :span="12"> - <a-form-model-item label="璁惧绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-form-model-item v-if="isDepartType == -1" label="绯荤粺鐗堟湰鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-input :disabled="disableSubmit" :readOnly="disableSubmit" allow-clear placeholder="璇疯緭鍏ョ郴缁熺増鏈彿" + v-model="model.systemVersion"/> + </a-form-model-item> + <a-form-model-item v-if="isDepartType == 0" label="璁惧绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-select :disabled="disableSubmit" :readOnly="disableSubmit" placeholder="璇烽�夋嫨璁惧绫诲瀷" :triggerChange="true" v-model="model.equipmentType"> @@ -113,7 +126,7 @@ </a-form-model-item> </a-col> <a-col :span='12'> - <a-form-model-item label="绯荤粺鐗堟湰鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol"> + <a-form-model-item v-if="isDepartType == 0" label="绯荤粺鐗堟湰鍙�" :labelCol="labelCol" :wrapperCol="wrapperCol"> <a-input :disabled="disableSubmit" :readOnly="disableSubmit" allow-clear placeholder="璇疯緭鍏ョ郴缁熺増鏈彿" v-model="model.systemVersion"/> </a-form-model-item> @@ -157,6 +170,7 @@ import DeviceListModel from './DeviceListModal' import JSelectEquipmentDepart from '../../../../../components/jeecgbiz/JSelectEquipmentDepart' import AFormModelItem from 'ant-design-vue/es/form-model/FormItem' + import {mapActions} from 'vuex' export default { name: "UserModal", components: { @@ -240,13 +254,15 @@ rolesOptions:[], nextDepartOptions:[], nextProductionOptions:[], - selectList:[] + selectList:[], + isDepartType:'' } }, created () { const token = Vue.ls.get(ACCESS_TOKEN); this.headers = {"X-Access-Token":token} this.queryGroup() + this.queryTreeData() // this.initRoleList() // this.initTenantList() }, @@ -256,6 +272,21 @@ } }, methods: { + ...mapActions(['QueryDepartTree']), + queryTreeData() { + this.QueryDepartTree().then(res => { + if (res.success) { + this.isDepartType = res.result[0].value + } else { + // this.$message.warn(res.message) + this.$notification.warning({ + message:'娑堟伅', + description:res.message + }); + } + }).finally(() =>{ + }) + }, queryGroup() { getAction(this.url.queryEquipmentType).then(res => { if (res.success) { diff --git a/src/views/mdc/base/modules/StatisticalAnalysis/StatisticalAnalysisMain.vue b/src/views/mdc/base/modules/StatisticalAnalysis/StatisticalAnalysisMain.vue index fcfc498..cb05cf0 100644 --- a/src/views/mdc/base/modules/StatisticalAnalysis/StatisticalAnalysisMain.vue +++ b/src/views/mdc/base/modules/StatisticalAnalysis/StatisticalAnalysisMain.vue @@ -63,19 +63,19 @@ <!--鍒╃敤鐜囧拰寮�鍔ㄧ巼--> <div class="UtilizationStartup"> <div class="Utilization Line-box"> - <!--<div class="title">--> - <!--<div class="circle"></div>--> - <!--<div class="text">寮�鏈虹巼</div>--> - <!--</div>--> + <div class="title"> + <div class="circle"></div> + <div class="text">杩愯鏁堢巼</div> + </div> <div class="Utilization-box box-bottom"> <div class="Utilization-right" ref="UtilizationLine" id="UtilizationLine"></div> </div> </div> <div class="Startup Line-box"> - <!--<div class="title">--> - <!--<div class="circle"></div>--> - <!--<div class="text">寮�鍔ㄧ巼</div>--> - <!--</div>--> + <div class="title"> + <div class="circle"></div> + <div class="text">杩愯鏁堢巼</div> + </div> <div class="Startup-box box-bottom"> <div class="Startup-right" ref="StartupLine" id="StartupLine"></div> </div> @@ -304,10 +304,15 @@ //寮�鏈烘椂闂碶鍏虫満鏃堕棿 let UtilizationLine = this.$echarts.init(document.getElementById('UtilizationLine'), 'macarons'); let statChartPieOption1 = { - title: { - x: 'left', - subtext: '寮�鏈烘晥鐜�' - }, + // title: { + // x: 'left', + // subtext: '寮�鏈烘晥鐜�', + // textStyle: { + // color: '#268e80', + // fontSize: 20, + // + // }, + // }, tooltip: { trigger: 'item', formatter: "{a} <br/>{b} : {c} ({d}%)" @@ -346,10 +351,10 @@ //杩愯鏃堕棿\寰呮満鏃堕棿 let StartupLine = this.$echarts.init(document.getElementById('StartupLine'), 'macarons'); let statChartPieOption2 = { - title: { - x: 'left', - subtext: '杩愯鏁堢巼' - }, + // title: { + // x: 'left', + // subtext: '杩愯鏁堢巼' + // }, tooltip: { trigger: 'item', formatter: "{a} <br/>{b} : {c} ({d}%)" diff --git a/src/views/mdc/base/modules/comparativeAnalysis/conparativeAnalysisPie.vue b/src/views/mdc/base/modules/comparativeAnalysis/conparativeAnalysisPie.vue index 77acc70..70872cb 100644 --- a/src/views/mdc/base/modules/comparativeAnalysis/conparativeAnalysisPie.vue +++ b/src/views/mdc/base/modules/comparativeAnalysis/conparativeAnalysisPie.vue @@ -123,7 +123,7 @@ this.openRate=this.RateList[0].openRate this.usedRate=this.RateList[0].processRate this.waitRate=this.RateList[0].waitRate - pieCompChartOption1.series[0].data = [{value:this.openRate, name:'寮�鏈虹巼'},{value:this.closeRate, name:'鍏虫満鐜�'}]; + pieCompChartOption1.series[0].data = [{value:(this.openRate * 100).toFixed(2), name:'寮�鏈虹巼'},{value:(this.closeRate * 100).toFixed(2), name:'鍏虫満鐜�'}]; pieCompChartOption2.series[0].data = [{value:(this.usedRate * 100).toFixed(2), name:'鍔犲伐鐜�'},{value:(this.waitRate * 100).toFixed(2), name:'寰呮満鐜�'},{value:(this.closeRate * 100).toFixed(2), name:'鍏虫満鐜�'}]; pieCompChart1.setOption(pieCompChartOption1); pieCompChart2.setOption(pieCompChartOption2); diff --git a/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarModel.vue b/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarModel.vue index c1ec46a..cb49c1c 100644 --- a/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarModel.vue +++ b/src/views/mdc/base/modules/deviceCalendar/DeviceCalendarModel.vue @@ -418,9 +418,11 @@ color: #000000; } /deep/ .mainBox .wh_content_all .wh_content_item .wh_isMark { - color: #1890ff; - border:1px solid #1890ff; - border-radius: 50%; + /*color: #1890ff;*/ + /*border:1px solid #1890ff;*/ + /*border-radius: 50%;*/ + color: #ffffff; + background-color: blue; } /deep/ .mainBox .wh_content_all .wh_content_item .wh_isToday { /*background: #33ad53;*/ @@ -431,60 +433,6 @@ </style> -<!--<style lang="scss">--> - - <!--.mark1 {--> - <!--color: white !important;--> - <!--background: #1890ff !important;--> - <!--border-radius: 50%;--> - <!--}--> - - <!--.mainBox {--> - <!--.wh_content_all { /*涓讳綋*/--> - <!--background-color: #ffffff;--> - <!--border: 1px silver solid;--> - <!--border-radius: 5px;--> - <!--.wh_jiantou1{/*宸︾澶�*/--> - <!--border-top: 2px solid #000000;--> - <!--border-left: 2px solid #000000;--> - <!--}--> - <!--.wh_jiantou2{/*鍙崇澶�*/--> - <!--border-top: 2px solid #000000;--> - <!--border-right: 2px solid #000000;--> - <!--}--> - <!--.wh_top_changge li { /*褰撳墠骞存湀鏍囬*/--> - <!--color: black;--> - <!--}--> - <!--.wh_content_item {--> - <!--margin-top: 5px;--> - <!--.wh_top_tag{/*鏄熸湡鏍囬*/--> - <!--color: #000000;--> - <!--}--> - <!--.wh_item_date {/*褰撳墠鏈�*/--> - <!--color: #000000;--> - <!--}--> - <!--.wh_item_date:hover { //鎮诞--> - <!--color: #1890ff;--> - <!--background: #ffffff;--> - <!--border-radius: 50%;--> - <!--}--> - <!--.wh_other_dayhide { /*涓婃湀鍜屼笅鏈堟椂闂�*/--> - <!--color: #bfbfbf;--> - <!--}--> - <!--.wh_chose_day { //閫変腑--> - <!--background: #ffffff;--> - <!--color: #000000;--> - <!--}--> - <!--.wh_isToday { /*褰撳墠澶�*/--> - <!--/*background: #33ad53;*/--> - <!--background: #ff4d4d;--> - <!--color: #ffffff;--> - <!--}--> - <!--}--> - - <!--}--> - <!--}--> -<!--</style>--> diff --git a/src/views/mdc/base/modules/deviceLog/WorkChartModel.vue b/src/views/mdc/base/modules/deviceLog/WorkChartModel.vue index 7ab489d..dbc2ee2 100644 --- a/src/views/mdc/base/modules/deviceLog/WorkChartModel.vue +++ b/src/views/mdc/base/modules/deviceLog/WorkChartModel.vue @@ -205,7 +205,9 @@ }) }, handleCancel() { - this.visible = false + this.visible = false; + this.stratOpen = false; + this.endOpen = false; }, checkboxOnChange(e) { if (e.length <= 3) { diff --git a/src/views/mdc/base/modules/deviceLog/WorkHistoryModel.vue b/src/views/mdc/base/modules/deviceLog/WorkHistoryModel.vue index 107ff49..44f7cef 100644 --- a/src/views/mdc/base/modules/deviceLog/WorkHistoryModel.vue +++ b/src/views/mdc/base/modules/deviceLog/WorkHistoryModel.vue @@ -44,9 +44,9 @@ <span v-if="item.status == 23" :style='{display: "inline-block",width:item.dateProportion, height: "100%", background: "#19FE01",position:"absolute",bottom:"0"}'></span> </div> - <div v-if="item.status == 22" style="z-index: 999;" + <div style="z-index: 999;" :style='{display: "inline-block",left:item.left,width:item.dateProportion, height: "100%",position:"absolute"}' - v-for="item in waring"> + v-for="item in info.value.waring"> <span :style='{display: "inline-block",width:"100%", left:0, height: "68%", background: "#FD0008",position:"absolute",bottom:"0"}'></span> </div> @@ -136,21 +136,24 @@ // console.log(tmp) if (tmp) { if (tmp.normal) { - for (let i = 0; i < tmp.normal.length; i++) { - tmp.normal[i].dateProportion = tmp.normal[i].duration / 86400 * 100 + '%' + for (let k = 0; k < tmp.normal.length; k++) { + tmp.normal[k].dateProportion = tmp.normal[k].duration / 86400 * 100 + '%' + // let leftTmp = (moment(tmp.normal[i].startTime, 'YYYY-MM-DD HH:mm:ss').valueOf() - 57600000) / 1000 % 86400 + // tmp.normal[i].left = leftTmp / 86400 * 100 + '%' } } else { tmp.normal = [] } - /*if (tmp.waring) { - for (let i = 0; i < tmp.waring.length; i++) { - tmp.waring[i].dateProportion = tmp.waring[i].duration / 86400 * 100 + '%' - let leftTmp = (moment(tmp.waring[i].startTime, 'YYYY-MM-DD HH:mm:ss').valueOf() - 57600000) / 1000 % 86400 - tmp.waring[i].left = leftTmp / 86400 * 100 + '%' + if (tmp.waring) { + // console.log("娴嬭瘯鍒ゆ柇") + for (let j = 0; j < tmp.waring.length; j++) { + tmp.waring[j].dateProportion = tmp.waring[j].duration / 86400 * 100 + '%' + let leftTmp = (moment(tmp.waring[j].startTime, 'YYYY-MM-DD HH:mm:ss').valueOf() - 57600000) / 1000 % 86400 + tmp.waring[j].left = leftTmp / 86400 * 100 + '%' } } else { tmp.waring = [] - }*/ + } } else { res.result[i].value = { normal: [], waring: [] } } diff --git a/src/views/system/QuartzJobList.vue b/src/views/system/QuartzJobList.vue index 9596938..c418702 100644 --- a/src/views/system/QuartzJobList.vue +++ b/src/views/system/QuartzJobList.vue @@ -80,12 +80,13 @@ <a @click="pauseJob(record)" v-if="record.status==0">鍋滄</a> <a-divider type="vertical" /> + <a @click="handlequartzLog(record)">鏃ュ織</a> + <a-divider type="vertical" /> <a-dropdown> <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> <a-menu slot="overlay"> <a-menu-item><a @click="executeImmediately(record)">绔嬪嵆鎵ц</a></a-menu-item> <a-menu-item><a @click="handleEdit(record)">缂栬緫</a></a-menu-item> - <a-menu-item><a @click="handlequartzLog(record)">鏃ュ織</a></a-menu-item> <a-menu-item> <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)"> <a>鍒犻櫎</a> -- Gitblit v1.9.3