Browse Source

Merge branch 'develop' of http://39.106.31.193:9211/mengff/jihe-hs into develop

wangqin
zhangzhang 9 months ago
parent
commit
6d53c13240
  1. 15
      ruoyi-ui/src/assets/styles/JiHeExpressway.scss
  2. 2
      ruoyi-ui/src/views/JiHeExpressway/components/InputSearch/index.vue
  3. 183
      ruoyi-ui/src/views/JiHeExpressway/pages/service/board/index.vue

15
ruoyi-ui/src/assets/styles/JiHeExpressway.scss

@ -1,14 +1,17 @@
.theme-jihe {
$lightBlue: #3de8ff;
$textColor: #f4f4f4;
$inputHeight: 26px;
color: $textColor;
.text-center{ text-align: center;}
.tc-lb{ color: $lightBlue;}
.el-tabs__item {
color: $textColor;
}
.el-form-item {
margin-bottom: 14px;
margin-bottom: 8px;
}
.el-form-item__label {
@ -47,11 +50,14 @@
// 多选框组
.el-checkbox-group {
// height: $inputHeight;
.el-checkbox__label {
color: $textColor;
padding-left: 6px;
}
.el-checkbox {
margin-right: 16px;
.el-checkbox__inner {
width: 20px;
height: 20px;
@ -92,12 +98,17 @@
color: #fff;
&.is-disabled {
color: #006a99;
color: #096d8c;
}
}
.el-input {
margin: 0;
.el-input__inner{
height: calc($inputHeight + 2px);
background-color: #096d8c;
padding:0 28px;
}
}
}
// 单选按钮

2
ruoyi-ui/src/views/JiHeExpressway/components/InputSearch/index.vue

@ -165,7 +165,7 @@ export default {
"reset"
);
},
async handleSearch() {
async handleSearch(value) {
if (this.types === "input") {
let params = {};
params[this.params] = this.value;

183
ruoyi-ui/src/views/JiHeExpressway/pages/service/board/index.vue

@ -10,28 +10,63 @@
<!-- </div> -->
<WgtTitle :title="'情报板列表'"></WgtTitle>
<el-form
ref="form"
:model="form"
class="partCon"
style="display: flex; flex-direction: column"
:model="form"
class="formSearch" size="mini"
>
<el-form-item style="margin-bottom: 12px">
<el-select
v-model="form.selectedDirection"
size="medium"
placeholder="请选择方向"
class="direction"
>
<el-option
v-for="item in boardDirectionList"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
@click.native="____changeDirection(item.dictValue)"
/>
</el-select>
<!-- class="partCon" -->
<!-- style="display: flex; flex-direction: column" -->
<!-- ref="form" -->
<el-form-item>
<el-col :span="12">
<el-select
v-model="form.selectedDirection"
size="medium"
placeholder="请选择方向"
class="direction"
>
<el-option
v-for="item in boardDirectionList"
:key="item.dictValue"
:label="item.dictLabel"
:value="item.dictValue"
/>
<!-- @click.native="____changeDirection(item.dictValue)" -->
</el-select>
</el-col>
<el-col :span="11" :offset="1">
<el-checkbox-group v-model="form.status" style="height:26px">
<el-checkbox label="1">在线</el-checkbox>
<el-checkbox label="0">离线</el-checkbox>
</el-checkbox-group>
</el-col>
</el-form-item>
<el-form-item label="开始桩号:">
<el-col :span="2" class="text-center tc-lb">K</el-col>
<el-col :span="7">
<el-input-number v-model="form.stakeFrom[0]" style="width: 100%;" :precision="0" :min="0" :max="1000"></el-input-number>
</el-col>
<el-col :span="2" class="text-center tc-lb">+</el-col>
<el-col :span="7">
<el-input-number v-model="form.stakeFrom[1]" style="width: 100%;" :precision="0" :min="0" :max="1000"></el-input-number>
</el-col>
</el-form-item>
<el-form-item label="结束桩号:">
<el-col :span="2" class="text-center tc-lb">K</el-col>
<el-col :span="7">
<el-input-number v-model="form.stakeTo[0]" style="width: 100%;" :precision="0" :min="0" :max="1000"></el-input-number>
</el-col>
<el-col :span="2" class="text-center tc-lb">+</el-col>
<el-col :span="7">
<el-input-number v-model="form.stakeTo[1]" style="width: 100%;" :precision="0" :min="0" :max="1000"></el-input-number>
</el-col>
</el-form-item>
<vuescroll :ops="scrollOptions" style="flex: 1; height: 0">
<el-form-item style="display: flex; justify-content: center;">
<el-button class="btnInfoBoard" type="add" @click.native="____onSearchDevice()">搜索</el-button>
<el-button type="publish" @click.native="____onResetSearchDevice()">重置</el-button>
</el-form-item>
</el-form>
<div style="flex:1; height: 0; padding:0 10px 10px">
<vuescroll :ops="scrollOptions">
<el-collapse
v-model="selectedSize"
accordion
@ -46,7 +81,7 @@
>
<div v-if="item.list.length > 0">
<el-checkbox-group
class="checkbox"
class="deviceList"
v-model="checkedDeviceIds"
:max="2"
@change="____onSelectDevices"
@ -80,7 +115,7 @@
</el-collapse-item>
</el-collapse>
</vuescroll>
</el-form>
</div>
</div>
<!-- ++++++++++中间部分单个设备++++++++++ -->
<div style="width: 37.8%" class="part partMiddle">
@ -357,13 +392,7 @@ export default {
deviceList: [], //
checkedDeviceIds: [], //
templateAvailable: [],
form: {
selectedDirection: "",
company: null,
mechanism: null,
localInfo: null,
selectedPixel: null,
}, //
form: {},
supplier: null, //
activeNames: [], //
tplCategory: [], //
@ -408,6 +437,7 @@ export default {
// }
},
created() {
this.____resetForm();
Promise.all([
this.____initDirection(),
this.____getBoardPixel(),
@ -501,9 +531,25 @@ export default {
this.____getIotBoard();
},
____onSearchDevice(){
this.____getIotBoard();
},
____resetForm(){
this.form = {
selectedDirection: "",
status: ["0", "1"],
stakeFrom: [55, 378],
stakeTo: [208, 153]
}
},
____onResetSearchDevice(){
this.____resetForm();
this.____initDirection();
this.____getIotBoard();
},
//
____getIotBoard() {
this.checkAll = false;
// this.checkAll = false;
for (let key in this.boardSizeDic) {
this.boardSizeDic[key].list = [];
}
@ -511,6 +557,13 @@ export default {
let param = {
direction: this.form.selectedDirection,
};
let stakeFrom = this.form.stakeFrom[0] * 1000 + this.form.stakeFrom[1];
let stakeTo = this.form.stakeTo[0] * 1000 + this.form.stakeTo[1];
let statusForm = _.cloneDeep(this.form.status);
if(statusForm.includes("0")){
statusForm.push(null)
}
if (IS_TESTING) {
let res = testDeviceList;
res.data.forEach((item) => {
@ -534,7 +587,12 @@ export default {
item.otherConfig = JSON.parse(item.otherConfig);
}
item.iotDeviceId = item.iotDeviceId || "null_" + item.id;
this.boardSizeDic[item.otherConfig.screenSize].list.push(item);
let stakeThis = +item?.stakeMark?.replace(/[K\+]/g, "") || -1;
if(stakeThis >= stakeFrom && stakeThis <= stakeTo && statusForm.includes(item.deviceState)){
this.boardSizeDic[item.otherConfig.screenSize].list.push(item);
}
if (!this.selectedSize) {
this.selectedSize = item.otherConfig.screenSize;
}
@ -1109,10 +1167,15 @@ export default {
};
</script>
<style lang="scss" scoped>
::v-deep .formSearch{
padding: 20px 20px 0;
.el-form-item__label{ color: #fff;}
}
.direction {
::v-deep .el-input {
.el-input__inner {
font-size: 16px !important;
font-size: 14px !important;
padding: 8px 5px;
}
}
@ -1291,32 +1354,34 @@ export default {
padding-bottom: 0px;
}
::v-deep .el-checkbox__label {
display: flex !important;
justify-content: space-between;
width: 100%;
.title{ flex:1; width:0; overflow: hidden; text-overflow: ellipsis; word-break: keep-all;}
.state{ width: 18px; height: 18px; margin-right: 4px;}
.huiduButton {
background: transparent;
border: none;
height: 18px;
width: 18px;
line-height: 20px;
padding: 0;
color: #fff;
font-size: 16px;
}
.deviceList{
::v-deep .el-checkbox__label {
display: flex !important;
justify-content: space-between;
width: 100%;
.title{ flex:1; width:0; overflow: hidden; text-overflow: ellipsis; word-break: keep-all;}
.state{ width: 18px; height: 18px; margin-right: 4px;}
.huiduButton {
background: transparent;
border: none;
height: 18px;
width: 18px;
line-height: 20px;
padding: 0;
color: #fff;
font-size: 16px;
}
.huiduButton:hover {
color: #05afe3 !important;
.huiduButton:hover {
color: #05afe3 !important;
}
}
}
.el-checkbox {
display: flex !important;
padding-top: 10px;
margin: 0;
.el-checkbox {
display: flex !important;
padding-top: 10px;
margin: 0;
}
}
::v-deep .el-table {
@ -1383,10 +1448,6 @@ export default {
padding-left: 5px;
}
::v-deep .el-checkbox + .el-checkbox {
margin-left: 0px !important;
}
::v-deep .el-collapse-item__header {
background-color: #053b4f;
color: #fff;
@ -1410,10 +1471,6 @@ export default {
border: none;
}
::v-deep .el-checkbox__label {
color: #ff0;
}
::v-deep .el-button--medium {
width: 96px;
height: 23px;

Loading…
Cancel
Save