diff --git a/src/assets/css/main.css b/src/assets/css/main.css index 118ec505..8d3d34b7 100644 --- a/src/assets/css/main.css +++ b/src/assets/css/main.css @@ -868,6 +868,28 @@ textarea { padding-top: 31px; } +.manage-radio { + display: flex; + align-items: center; + margin-bottom: 15px; + height: 30px; + color: #fff; +} + +.manage-radio .radio-label { + margin-right: 5px; + width: 160px; +} + +.manage-radio .el-radio { + margin-right: 5px; +} + +.manage-radio .el-radio__label { + padding-left: 5px; + color: #fff; +} + .input-main-60 { width: 100%; flex-wrap: wrap; @@ -1436,6 +1458,22 @@ textarea { color: #00C0F7; } +.circle.number { + width: 30px !important; + margin-right: 10px; + height: 30px; + background: #0294E2; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} + +.irrigateSet { + color: #fff; +} + .irrigateSet .open-btn { width: 300px; height: 54px; @@ -1826,7 +1864,7 @@ textarea { justify-content: flex-end; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-top { +.model1-top { padding: 20px 15px; border-bottom: 1px solid rgba(0, 180, 255, 0.35); display: flex; @@ -1834,53 +1872,53 @@ textarea { justify-content: space-between; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-top.model2-top { +.model1-top.model2-top { justify-content: flex-start; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-top.model3-top .btn { +.model1-top.model3-top .btn { padding: 0 10px; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-top.model3-top .btn img { +.model1-top.model3-top .btn img { width: 26px; height: 22px; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-top.model4-top { +.model1-top.model4-top { align-items: flex-start; padding: 20px 0 0; justify-content: flex-start; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-top.model4-top .btn { +.model1-top.model4-top .btn { padding: 0 10px; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-top.model4-top .btn img { +.model1-top.model4-top .btn img { width: 22px; height: 24px; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-top.model4-top .model-left { +.model1-top.model4-top .model-left { display: flex; align-items: center; height: 54px; margin-right: 10px; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-top .btn img { +.model1-top .btn img { width: 10px; height: 14px; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-top .model-right > div { +.model1-top .model-right > div { display: flex; align-items: center; margin-bottom: 20px; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-top .model-right > div .number { +.model1-top .model-right > div .number { width: 30px; margin-right: 10px; height: 30px; @@ -1891,27 +1929,31 @@ textarea { justify-content: center; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-top .model-right > div .input-main-60 { +.model1-top .model-right > div .input-main-60 { width: auto; color: #fff; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-bottom { +.model1-bottom { padding: 20px 15px; border-bottom: 1px solid rgba(0, 180, 255, 0.35); } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-bottom.model3-bottom .title { +.model1-bottom .title, .model1-bottom .number { + color: #fff; +} + +.model1-bottom.model3-bottom .title { padding: 0 4px; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-bottom .model1-content > div { +.model1-bottom .model1-content > div { display: flex; align-items: center; padding: 10px 0; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-bottom .model1-content > div .number { +.model1-bottom .model1-content > div .number { width: 30px; margin-right: 10px; height: 30px; @@ -1922,25 +1964,24 @@ textarea { justify-content: center; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-bottom .model1-content .input-main-60 span { +.model1-bottom .model1-content .input-main-60 span { font-size: 20px; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-bottom .model1-content .input-main-60 span.text { +.model1-bottom .model1-content .input-main-60 span.text { font-size: 16px; padding: 0 4px; flex-shrink: 0; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-bottom .model1-content.model3-content { +.model1-bottom .model1-content.model3-content { display: flex; align-items: center; flex-wrap: wrap; } -.el-dialog__wrapper .el-dialog .el-dialog__body .model1-bottom .model1-content.model3-content > div { +.model1-bottom .model1-content.model3-content > div { display: block; - width: calc(100% / 3); flex-shrink: 0; } diff --git a/src/assets/css/main.scss b/src/assets/css/main.scss index a541f5e7..195fbaaa 100644 --- a/src/assets/css/main.scss +++ b/src/assets/css/main.scss @@ -922,7 +922,26 @@ textarea { .p-t-31 { padding-top: 31px; } - +.manage-radio{ + display: flex; + align-items: center; + margin-bottom:15px ; + height: 30px; + color: #fff; + + .radio-label{ + // font-size: 14px; + margin-right: 5px; + width: 160px; + } + .el-radio{ + margin-right: 5px; + } + .el-radio__label{ + padding-left: 5px; + color: #fff; + } +} .input-main-60 { width: 100%; @@ -1504,10 +1523,23 @@ textarea { color: #00C0F7; } } +.circle{ + &.number{ + width: 30px!important; + margin-right: 10px; + height: 30px; + background: #0294E2; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + } +} .irrigateSet { - + color: #fff; .open-btn { width: 300px; height: 54px; @@ -1922,145 +1954,147 @@ textarea { justify-content: flex-end; } - .model1-top { - padding: 20px 15px; - border-bottom: 1px solid rgba(0, 180, 255, 0.35); + + } + } +} + +.model1-top { + padding: 20px 15px; + border-bottom: 1px solid rgba(0, 180, 255, 0.35); + display: flex; + align-items: center; + justify-content: space-between; + + &.model2-top { + justify-content: flex-start; + } + + &.model3-top { + .btn { + padding: 0 10px; + + img { + width: 26px; + height: 22px; + } + } + } + + &.model4-top { + align-items: flex-start; + padding: 20px 0 0; + justify-content: flex-start; + + .btn { + padding: 0 10px; + + img { + width: 22px; + height: 24px; + } + } + + .model-left { + display: flex; + align-items: center; + height: 54px; + margin-right: 10px; + } + } + + .btn { + img { + width: 10px; + height: 14px; + } + } + + .model-right { + >div { + display: flex; + align-items: center; + margin-bottom: 20px; + + .number { + width: 30px; + margin-right: 10px; + height: 30px; + background: #0294E2; + border-radius: 50%; display: flex; align-items: center; - justify-content: space-between; + justify-content: center; - &.model2-top { - justify-content: flex-start; - } - - &.model3-top { - .btn { - padding: 0 10px; - - img { - width: 26px; - height: 22px; - } - } - } - - &.model4-top { - align-items: flex-start; - padding: 20px 0 0; - justify-content: flex-start; - - .btn { - padding: 0 10px; - - img { - width: 22px; - height: 24px; - } - } - - .model-left { - display: flex; - align-items: center; - height: 54px; - margin-right: 10px; - } - } - - .btn { - img { - width: 10px; - height: 14px; - } - } - - .model-right { - >div { - display: flex; - align-items: center; - margin-bottom: 20px; - - .number { - width: 30px; - margin-right: 10px; - height: 30px; - background: #0294E2; - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - - } - - .input-main-60 { - width: auto; - color: #fff; - } - } - } } - .model1-bottom { - padding: 20px 15px; - border-bottom: 1px solid rgba(0, 180, 255, 0.35); - - &.model3-bottom { - .title { - padding: 0 4px; - } - } - - .model1-content { - >div { - display: flex; - align-items: center; - padding: 10px 0; - - .number { - width: 30px; - margin-right: 10px; - height: 30px; - background: #0294E2; - border-radius: 50%; - display: flex; - align-items: center; - justify-content: center; - - } - - } - - .input-main-60 { - - span { - font-size: 20px; - - &.text { - font-size: 16px; - padding: 0 4px; - flex-shrink: 0; - } - } - - } - - &.model3-content { - display: flex; - align-items: center; - flex-wrap: wrap; - - >div { - display: block; - width: calc(100% / 3); - flex-shrink: 0; - } - } - } + .input-main-60 { + width: auto; + color: #fff; } } } } +.model1-bottom { + padding: 20px 15px; + border-bottom: 1px solid rgba(0, 180, 255, 0.35); + .title,.number{ + color: #fff; + } + &.model3-bottom { + .title { + padding: 0 4px; + } + } + .model1-content { + >div { + display: flex; + align-items: center; + padding: 10px 0; + + .number { + width: 30px; + margin-right: 10px; + height: 30px; + background: #0294E2; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + + } + + } + + .input-main-60 { + + span { + font-size: 20px; + + &.text { + font-size: 16px; + padding: 0 4px; + flex-shrink: 0; + } + } + + } + + &.model3-content { + display: flex; + align-items: center; + flex-wrap: wrap; + + >div { + display: block; + // width: calc(100% / 3); + flex-shrink: 0; + } + } + } +} .login { color: #fff; diff --git a/src/assets/image/right-view3new.png b/src/assets/image/right-view3new.png new file mode 100644 index 00000000..ab4cb3db Binary files /dev/null and b/src/assets/image/right-view3new.png differ diff --git a/src/assets/image/right-view3new2.png b/src/assets/image/right-view3new2.png new file mode 100644 index 00000000..10efe538 Binary files /dev/null and b/src/assets/image/right-view3new2.png differ diff --git a/src/components/setParams.vue b/src/components/setParams.vue index 0cc813a9..36fdea94 100644 --- a/src/components/setParams.vue +++ b/src/components/setParams.vue @@ -26,7 +26,7 @@ -
{{ +
{{ item.name }}
@@ -46,11 +46,13 @@ export default { watch: { "$route"(newName, oldName) { this.gerRouter(); + }, '$store.state.equipmentIndex': function (newValue, oldValue) { const that = this; this.getByid() + this.initRouterList() }, '$i18n.locale'() { this.initRouterList() @@ -65,6 +67,7 @@ export default { }, methods: { initRouterList(){ + this.routerList=[ { name: this.$t('setParams.formulaSettings'), list: [], router: 'formula' }, { @@ -72,6 +75,40 @@ export default { name, status: -1, router: 'irrigateSet', + index: index + 1 + })) + }, + { name: this.$t('setParams.mixing'), list: [], router: 'stir', isRouter: true, }, + { name: this.$t('setParams.internalPIDConfig'), list: [], router: 'PIDSet', isRouter: true, }, + { name:this.$t('setParams.systemParamsConfig'), list: [], router: 'systemSet', isRouter: true, }, + { name: this.$t('setParams.sensorChannelConfig'), list: [], router: 'sensorSet', isRouter: true, }, + { name: this.$t('setParams.dataUpload'), list: [], router: 'upload', isRouter: true, },] + var store = this.$store.state + // 有无搅拌 + if(store.equipmentList[store.equipmentIndex - 1].fertilizerType==1){ + this.routerList=[ + { name: this.$t('setParams.formulaSettings'), list: [], router: 'formula' }, + { + name:this.$t('setParams.irrigationGroupConfig'), router: 'irrigateSet', list: this.$t('setParams.irrigationGroups').map((name, index) => ({ + name, + status: -1, + router: 'irrigateSet', + index: index + 1 + })) + }, + { name: this.$t('setParams.mixing'), list: [], router: 'stir', isRouter: true, }, + { name: this.$t('setParams.internalPIDConfig'), list: [], router: 'PIDSet', isRouter: true, }, + { name:this.$t('setParams.systemParamsConfig'), list: [], router: 'systemSet', isRouter: true, }, + { name: this.$t('setParams.sensorChannelConfig'), list: [], router: 'sensorSet', isRouter: true, }, + { name: this.$t('setParams.dataUpload'), list: [], router: 'upload', isRouter: true, },] + }else{ + this.routerList=[ + { name: this.$t('setParams.formulaSettings'), list: [], router: 'formula' }, + { + name:this.$t('setParams.irrigationGroupConfig'), router: 'irrigateSet', list: this.$t('setParams.irrigationGroups').map((name, index) => ({ + name, + status: -1, + router: 'irrigateSet', index: index + 1 })) }, @@ -79,6 +116,7 @@ export default { { name:this.$t('setParams.systemParamsConfig'), list: [], router: 'systemSet', isRouter: true, }, { name: this.$t('setParams.sensorChannelConfig'), list: [], router: 'sensorSet', isRouter: true, }, { name: this.$t('setParams.dataUpload'), list: [], router: 'upload', isRouter: true, },] + } setTimeout(() => { this.getList() }, 0); diff --git a/src/i18n/lang/en.js b/src/i18n/lang/en.js index 8f38e31e..1958c71a 100644 --- a/src/i18n/lang/en.js +++ b/src/i18n/lang/en.js @@ -235,6 +235,7 @@ module.exports = { irrigationGroupConfig: 'Irrigation Group Configuration', intrinsicParams: 'Intrinsic Parameters', internalPIDConfig: 'Internal PID Configuration', + mixing: 'Mixing program', systemParamsConfig: 'System Parameters Configuration', sensorChannelConfig: 'Sensor Channel Configuration', dataUpload: 'Data Upload', @@ -1180,6 +1181,7 @@ module.exports = { "e": "E", "f": "F", "g": "G", + "h": "H", "acid": "Acid", "acidFertilizer": "Acid" }, diff --git a/src/i18n/lang/zh.js b/src/i18n/lang/zh.js index 491c41d8..5c0122b9 100644 --- a/src/i18n/lang/zh.js +++ b/src/i18n/lang/zh.js @@ -242,6 +242,7 @@ module.exports = { irrigationGroupConfig: '灌溉组配置', intrinsicParams: '固有参数', internalPIDConfig: '厂家内部PID配置', + mixing: '搅拌配置', systemParamsConfig: '系统参数配置', sensorChannelConfig: '传感器通道配置', dataUpload: '数据上传', @@ -1178,7 +1179,7 @@ module.exports = { "executingGroup": "执行灌溉组号", "fertilizerPump": "配肥泵", - "fertilizerIntensity": "配肥强度", + "fertilizerIntensity": "配肥", "targetPH": "目标PH", "measuredPH": "实测PH", "measuredEC": "实测EC", @@ -1190,7 +1191,7 @@ module.exports = { "value": "数值", "adValue": "AD值", - "fertilizationSpeed": "配肥速度", + "fertilizationSpeed": "搅拌", "fertilizerTypes": { "a": "A肥", "b": "B肥", @@ -1199,6 +1200,7 @@ module.exports = { "e": "E肥", "f": "F肥", "g": "G肥", + "h": "H肥", "acid": "酸", "acidFertilizer": "酸肥" }, diff --git a/src/router/index.js b/src/router/index.js index 648de555..3c247d89 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -5,6 +5,7 @@ import index from '../views/index.vue' import login from '../views/login.vue' import control from '../views/control.vue' import soil from '../views/soil.vue' +import fertilizer from '../views/fertilizer.vue' Vue.use(VueRouter) const routes = [ @@ -71,10 +72,6 @@ const routes = [ path: '/realTime', name: 'realTime', component: () => import('../views/page/realTime.vue') - },{ - path: '/formula', - name: 'formula', - component: () => import('../views/page/formula.vue') },{ path: '/historyData', name: 'historyData', @@ -87,26 +84,6 @@ const routes = [ path: '/videoMonitoring', name: 'videoMonitoring', component: () => import('../views/page/videoMonitoring.vue') - },{ - path: '/irrigateSet', - name: 'irrigateSet', - component: () => import('../views/page/irrigateSet.vue') - },{ - path: '/PIDSet', - name: 'PIDSet', - component: () => import('../views/page/PIDSet.vue') - },{ - path: '/systemSet', - name: 'systemSet', - component: () => import('../views/page/systemSet.vue') - },{ - path: '/upload', - name: 'upload', - component: () => import('../views/page/upload.vue') - },{ - path: '/sensorSet', - name: 'sensorSet', - component: () => import('../views/page/sensorSet.vue') },{ path: '/dataAnalysis', name: 'dataAnalysis', @@ -198,7 +175,41 @@ const routes = [ }, ] }, - + { + path: '/fertilizer', + name: 'fertilizer', + component: fertilizer, + redirect: '/irrigateSet', + children: [{ + path: '/formula', + name: 'formula', + component: () => import('../views/page/formula.vue') + },{ + path: '/irrigateSet', + name: 'irrigateSet', + component: () => import('../views/page/irrigateSet.vue') + },{ + path: '/PIDSet', + name: 'PIDSet', + component: () => import('../views/page/PIDSet.vue') + },{ + path: '/systemSet', + name: 'systemSet', + component: () => import('../views/page/systemSet.vue') + },{ + path: '/upload', + name: 'upload', + component: () => import('../views/page/upload.vue') + },{ + path: '/sensorSet', + name: 'sensorSet', + component: () => import('../views/page/sensorSet.vue') + },{ + path: '/stir', + name: 'stir', + component: () => import('../views/page/stir.vue') + },] + }, { path: '/control', name: 'control', diff --git a/src/views/fertilizer.vue b/src/views/fertilizer.vue new file mode 100644 index 00000000..c78b1ae2 --- /dev/null +++ b/src/views/fertilizer.vue @@ -0,0 +1,28 @@ + + + \ No newline at end of file diff --git a/src/views/index.vue b/src/views/index.vue index 9f64c286..f6bb19ef 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -262,7 +262,7 @@ export default { { name: this.$t('index.home'), img: require('../assets/image/index-icon.png'), list: [], router: 'realTime', isRouter: true, }, { name: this.$t('index.greenhouse'), routerList: ['realTime', 'dataAnalysis', 'historyData','air-conditioning', 'exitSettings','heatFan', 'videoMonitoring','imageData', 'skylight', 'control', 'systemSet-con', 'fan', 'upload-con', 'sensorSet-con', 'synthesis-con', 'alarmSettings', 'waterPump', 'geothermalFan', 'uptake', 'downtake', 'rollByRoll', 'snowRemoval', "targetTemperature", "targetHumidity", "targetCo2", "sunroofControl", "outsizeSunshade", "insizeSunshade", "wetFan", "LED", 'electromagneticControl', "coercionMist", "circulationCan", "internalInsulation", "forceOutput", "intrinsicParameter", "parameterSet"], img: require('../assets/image/left-img0.png'), list: [] }, // { name: '二号温室', img: require('../assets/image/left-img1.png'), list: [] }, - { name: this.$t('index.fertigation'), routerList: ['status-soil','formula', 'dataAnalysis', 'historyData', 'irrigateSet', 'videoMonitoring','imageData', 'PIDSet', 'systemSet', 'upload', 'sensorSet', 'realTime', 'history', 'dataAnalysis'], img: require('../assets/image/left-img2.png'), list: [] }, + { name: this.$t('index.fertigation'), routerList: ['status-soil','stir','formula', 'dataAnalysis', 'historyData', 'irrigateSet', 'videoMonitoring','imageData', 'PIDSet', 'systemSet', 'upload', 'sensorSet', 'realTime', 'history', 'dataAnalysis'], img: require('../assets/image/left-img2.png'), list: [] }, { name:this.$t('index.smartIrrigation') , routerList: ['realTime', 'dataAnalysis', 'historyData','irrigateSet-soil', 'videoMonitoring','imageData','PIDSet-soil', 'systemSet-soil', 'upload-soil', 'sensorSet-soil', 'realTime', 'history', 'dataAnalysis'], img: require('../assets/image/irrigateSet-icon1-act.png'), list: [] }, { name:this.$t('index.dataCollector') , routerList: ['realTime', 'historyData', 'exitSettings', 'skylight', 'control', 'systemSet-con','imageData', 'fan', 'upload-con', 'sensorSet-con', 'synthesis-con', 'alarmSettings', 'waterPump', 'geothermalFan', 'uptake', 'downtake', 'rollByRoll', 'snowRemoval', "targetTemperature", "targetHumidity", "targetCo2", "sunroofControl", "outsizeSunshade", "insizeSunshade", "wetFan", "LED", 'electromagneticControl', "coercionMist", "circulationCan", "internalInsulation", "forceOutput", "intrinsicParameter", "parameterSet"], img: require('../assets/image/left-img3.png'), list: [] }, { name:this.$t('index.weatherStation') , routerList: ['realTime', 'historyData', 'exitSettings', 'skylight', 'control', 'systemSet-con','imageData', 'fan', 'upload-con', 'sensorSet-con', 'synthesis-con', 'alarmSettings', 'waterPump', 'geothermalFan', 'uptake', 'downtake', 'rollByRoll', 'snowRemoval', "targetTemperature", "targetHumidity", "targetCo2", "sunroofControl", "outsizeSunshade", "insizeSunshade", "wetFan", "LED", 'electromagneticControl', "coercionMist", "circulationCan", "internalInsulation", "forceOutput", "intrinsicParameter", "parameterSet"], img: require('../assets/image/left-img3.png'), list: [] }, diff --git a/src/views/manage/deviceInfoManage.vue b/src/views/manage/deviceInfoManage.vue index 9c174524..ffe82d48 100644 --- a/src/views/manage/deviceInfoManage.vue +++ b/src/views/manage/deviceInfoManage.vue @@ -212,6 +212,16 @@
+
+
是否有自动搅拌功能
+ + 开启 + 关闭 +
@@ -495,8 +505,20 @@ export default { // }, mounted() { this.dataInit() }, methods: { - + // 根据deviceName获取router + deviceNameRouter(deviceName){ + if(deviceName==1){ + return 'formula' + }else if(deviceName==10){ + return 'control' + }else if(deviceName==20){ + return 'soil' + }else{ + return 'formula' + } + }, dataInit() { + const that = this var user = JSON.parse(localStorage.getItem('userInfo')) this.api.selUserbyid(user.userid).then(res => { this.tableData = [] @@ -518,6 +540,15 @@ export default { this.tableData4.push(el) } }) + + var data=res.data.data.devices + this.$store.state.equipmentList =data.map((item, index) => { + return { + ...item, + router: that.deviceNameRouter(item.deviceName), + index: index + 1, + }; + }); } }) }, diff --git a/src/views/page/PIDSet.vue b/src/views/page/PIDSet.vue index 702a34ab..be0c4792 100644 --- a/src/views/page/PIDSet.vue +++ b/src/views/page/PIDSet.vue @@ -1,7 +1,6 @@