Merge branch 'dev-yjl' into 'shenzhen-dev'

项目看板-材料管理大屏-数据对接

See merge request !181
This commit is contained in:
袁晶琳 2023-07-17 16:04:49 +08:00
commit e8ecb2ccc2
11 changed files with 248 additions and 150 deletions

View File

@ -113,7 +113,30 @@ export const getAiVideoInfo = data => post('xmgl/aiStatistic/selectAiStatistic',
//获取AI实时预警列表
export const getAIDangerList = data => post('/xmgl/aiStatistic/selectAiAlarmRecordList',data)
//上海张江获取监控流
//首页上海张江获取监控流
export const getVideoUrlList = data => post('xmgl/videoItem/getVideoUrl',data)
//材料管理
//实时过磅/实时过磅照片
export const getNewestWeighInfoApi = data => post('/xmgl/weight/weighInfo/getNewestWeighInfo',data)
//今日过磅
export const getWeighInfoTodayApi = data => post('/xmgl/weight/weighInfo/getWeighInfoTodayStatistic',data)
//材料占比
export const getWeighInfoGoodsNameApi = data => post('/xmgl/weight/weighInfo/getWeighInfoGoodsNameStatistic',data)
//供货商排行
export const getwardingUnitRankApi = data => post('/xmgl/weight/weighInfo/getWeighInfoForwardingUnitRank',data)
//本月预约过磅
export const getWeighBookVehicleInfoApi = data => get('xmgl/weight/weighBookVehicleInfo/getWeighBookVehicleInfoStatistic',data)

View File

@ -81,7 +81,7 @@ if (process.env.NODE_ENV == 'development') {
// axios.defaults.baseURL ='http://61.145.163.135:12345' //坪山沙湖
// axios.defaults.baseURL ='http://huli.zjzhiliao.com/jxjgdapi/' //金林湾测试线上
axios.defaults.baseURL ='http://101.43.164.214:45001/' //上海张江
// axios.defaults.baseURL ='http://192.168.34.221:12355' //郭圣雄本地
// axios.defaults.baseURL ='http://192.168.34.221:8079' //郭圣雄本地
} else if (process.env.NODE_ENV == 'debug') {
axios.defaults.baseURL = 'https://www.ceshi.com'
} else if (process.env.NODE_ENV == 'production') {

View File

@ -1,7 +1,24 @@
<template>
<div class="box">
<div class="menuImg" v-for="(item,index) in list" :key="index">
<img :src="item.imgUrl" alt="" />
<div class="menuImg">
<img :src="$store.state.FILEURL + list[0].emptyPic1" alt="" />
</div>
<div class="menuImg">
<img :src="$store.state.FILEURL + list[0].emptyPic2" alt="" />
</div>
<div class="menuImg">
<img :src="$store.state.FILEURL + list[0].fullPic1" alt="" />
</div>
<div class="menuImg">
<img :src="$store.state.FILEURL + list[0].fullPic2" alt="" />
</div>
<div
class="placeholderBox placeholderBox2"
style="margin-top: 10px"
v-if="list.length == []"
>
<img src="@/assets/images/noData3.png" alt="" srcset="" />
<p>暂无数据</p>
</div>
</div>
</template>
@ -10,23 +27,20 @@
export default {
data() {
return {
list: [
{
imgUrl: require('@/assets/images/dataBoard/carTimeImg.png')
list: [],
}
},
{
imgUrl: require('@/assets/images/dataBoard/carTimeImg.png')
},
{
imgUrl: require('@/assets/images/dataBoard/carTimeImg.png')
},
{
imgUrl: require('@/assets/images/dataBoard/carTimeImg.png')
},
]
mounted() {
this.$EventBus.$on('weighingImgArry', (arr) => {
if (arr.length > 0) {
this.list = arr
} else {
this.list = []
}
}
console.log('this.list', this.list);
})
},
}
</script>
@ -45,10 +59,10 @@ export default {
width: 100%;
height: 100%;
}
&:nth-child(3){
&:nth-child(3) {
margin-top: -14%;
}
&:nth-child(4){
&:nth-child(4) {
margin-top: -14%;
}
}

View File

@ -6,18 +6,51 @@
style="width: 100%; height: 100%"
class="stageBox"
></div>
<div
class="placeholderBox placeholderBox2"
style="margin-top: 10px"
v-if="status == false"
>
<img src="@/assets/images/noData3.png" alt="" srcset="" />
<p>暂无数据</p>
</div>
</div>
</template>
<script>
import { getWeighInfoGoodsNameApi } from '@/assets/js/api/dataBoard.js'
import echarts from 'echarts4'
export default {
mounted(){
this.createdEchart()
data() {
return {
status: false
}
},
mounted() {
this.getList()
},
methods: {
createdEchart() {
getList() {
getWeighInfoGoodsNameApi({
projectSn: this.$store.state.projectSn,
queryParamType: 1
}).then(res => {
if (res.result) {
this.status = res.result
let data = []
res.result.forEach(item => {
data.push({
value: item.count,
name: item.goodsName
})
})
this.createdEchart(data)
}
})
},
createdEchart(data) {
let chart1 = echarts.init(this.$refs['echartData'])
// option.clear()
let option = {
@ -26,7 +59,7 @@ export default {
x: 'right',
textStyle: {
color: "#4e5459",
fontSize:14,
fontSize: 12,
}
},
color: ['#43d7b5', '#fe6c7f', '#557dee', '#7818fe', '#5be2f6'],
@ -52,16 +85,9 @@ export default {
{
name: '',
type: 'pie',
radius: [40, 80],
radius: [40, 60],
roseType: 'area',
data: [
{ value: 87, name: '石灰' },
{ value: 98, name: '其他材料' },
{ value: 97, name: '用电材料' },
{ value: 55, name: '钢筋' },
{ value: 67, name: '水泥' },
]
data: data
}
]
};

View File

@ -5,7 +5,7 @@
<img src="@/assets/images/dataBoard/weighImg1.png" alt="">
</div>
<div class="text">
<p style="color: #5181f6;font-size: 22px;">62,590</p>
<p style="color: #5181f6;font-size: 22px;" class="numStyle">{{ mothData.purchasedOverTheScaleNum||0 }}</p>
<p>采购过磅</p>
</div>
</div>
@ -14,7 +14,7 @@
<img src="@/assets/images/dataBoard/weighImg2.png" alt="">
</div>
<div class="text">
<p style="color: #f67f51;font-size: 22px;">62,590</p>
<p style="color: #f67f51;font-size: 22px;" class="numStyle">{{ mothData.soldOverPoundsNum ||0}}</p>
<p>销售过磅</p>
</div>
</div>
@ -23,7 +23,7 @@
<img src="@/assets/images/dataBoard/weighImg3.png" alt="">
</div>
<div class="text">
<p style="color: #44d7b6;font-size: 22px;">58,924</p>
<p style="color: #44d7b6;font-size: 22px;" class="numStyle">{{ mothData.weighedInsideNum ||0}}</p>
<p>内部过磅</p>
</div>
</div>
@ -32,7 +32,7 @@
<img src="@/assets/images/dataBoard/weighImg4.png" alt="">
</div>
<div class="text">
<p style="color: #7851f6;font-size: 22px;">62,590</p>
<p style="color: #7851f6;font-size: 22px;" class="numStyle">{{ mothData.otherOverweighsNum ||0}}</p>
<p>其他过磅</p>
</div>
</div>
@ -40,7 +40,30 @@
</template>
<script>
import { getWeighBookVehicleInfoApi } from '@/assets/js/api/dataBoard.js'
export default {
data(){
return{
mothData:{},
}
},
created(){
this.getList()
},
methods:{
getList(){
getWeighBookVehicleInfoApi({
projectSn: this.$store.state.projectSn,
queryParamType: 1
}).then(res=>{
if(res.result){
this.mothData=res.result
}
console.log('本月预约过磅',res);
})
},
}
}
</script>
@ -65,6 +88,9 @@ export default {
.text{
margin-left: -18%;
line-height: 30px;
.numStyle{
text-align: center;
}
}
}

View File

@ -2,34 +2,58 @@
<div class="box">
<div class="menuData">
<span>车牌号:</span>
<span class="textColor">闽DDN8792</span>
<span class="textColor" style="margin-left: 5px">{{
weighingList.licensePlate
}}</span>
</div>
<div class="menuData" style="margin-left: 3%;">
<div class="menuData" style="margin-left: 3%">
<span>货名:</span>
<span class="textColor">钢筋</span>
<span class="textColor">{{ weighingList.goodsName }}</span>
</div>
<div class="menuData">
<span>规格:</span>
<span class="textColor">10*10</span>
<span class="textColor">{{ weighingList.specifications }}</span>
</div>
<div class="menuData" style="margin-left: 3%;">
<div class="menuData" style="margin-left: 3%">
<span>毛重:</span>
<span class="textColor">8234</span>
<span class="textColor">{{ weighingList.grossWeight }}</span>
</div>
<div class="menuData">
<span>皮重:</span>
<span class="textColor">1237</span>
<span class="textColor">{{ weighingList.tare }}</span>
</div>
<div class="menuData" style="margin-left: 3%;">
<div class="menuData" style="margin-left: 3%">
<span>净重:</span>
<span class="textColor">9876</span>
<span class="textColor">{{ weighingList.netWeight }}</span>
</div>
</div>
</template>
<script>
import { getNewestWeighInfoApi } from '@/assets/js/api/dataBoard.js'
export default {
data() {
return {
weighingList: {},
}
},
created() {
this.getList()
},
methods: {
getList() {
getNewestWeighInfoApi({
projectSn: this.$store.state.projectSn
}).then(res => {
if (res.result) {
this.weighingList = res.result
console.log('有数据吗',res);
this.$EventBus.$emit('weighingImgArry', res.result.weighPicList)
}
})
}
}
}
</script>
@ -43,7 +67,7 @@ export default {
.menuData {
width: 48%;
height: 20%;
line-height: 40px;
line-height: 30px;
background-color: rgb(9, 33, 35);
span {
margin-left: 10%;

View File

@ -15,20 +15,22 @@
</thead>
<tbody>
<tr v-for="(item, index) in alarmList" :key="index">
<td class="numStyle">
{{item.num }}
<td style="width:50px">
{{ item.serialNo }}
</td>
<td>{{ item.tempAlarmTime }}</td>
<td>{{ item.alarmTypeName }}</td>
<td>{{ item.unit }}</td>
<td>{{ item.time1 }}</td>
<td>{{ item.time2 }}</td>
<td style="width:100px">{{ item.licensePlate }}</td>
<td style="width:50px">{{ item.goodsName }}</td>
<td style="width:65px">{{ item.specifications }}</td>
<td style="width:90px">{{ item.tareTime }}</td>
<td style="width:90px">{{ item.grossTime }}</td>
</tr>
</tbody>
</table>
<div
class="placeholderBox placeholderBox2"
v-if="alarmList.length == 0">
style="margin-top: 10px"
v-if="alarmList.length == 0"
>
<img src="@/assets/images/noData3.png" alt="" srcset="" />
<p>暂无数据</p>
</div>
@ -38,60 +40,28 @@
</template>
<script>
import { getWeighInfoList } from '@/assets/js/api/quality.js'
export default {
data() {
return {
alarmList: [
{
num:546465656,
tempAlarmTime: '闽DDN8792',
alarmTypeName: '钢筋',
unit:'10*10',
time1:"2023-07-15",
time2:"2023-07-15",
alarmList: [],
}
},
{
num:546465656,
tempAlarmTime: '闽DDN8792',
alarmTypeName: '钢筋',
unit:'10*10',
time1:"2023-07-15",
time2:"2023-07-15",
created() {
this.getList()
},
{
num:546465656,
tempAlarmTime: '闽DDN8792',
alarmTypeName: '钢筋',
unit:'10*10',
time1:"2023-07-15",
time2:"2023-07-15",
},
{
num:546465656,
tempAlarmTime: '闽DDN8792',
alarmTypeName: '钢筋',
unit:'10*10',
time1:"2023-07-15",
time2:"2023-07-15",
},
{
num:546465656,
tempAlarmTime: '闽DDN8792',
alarmTypeName: '钢筋',
unit:'10*10',
time1:"2023-07-15",
time2:"2023-07-15",
},
{
num:546465656,
tempAlarmTime: '闽DDN8792',
alarmTypeName: '钢筋',
unit:'10*10',
time1:"2023-07-15",
time2:"2023-07-15",
},
]
methods: {
getList() {
getWeighInfoList({
projectSn: this.$store.state.projectSn,
queryParamType: 1
}).then(res => {
if (res.result) {
this.alarmList = res.result.records
console.log('获取今日过磅数据', res);
}
})
}
}
}
@ -101,8 +71,13 @@ export default {
.box {
width: 100%;
height: 100%;
th{
th {
border-bottom: 1px solid #fff !important;
}
td {
// overflow: hidden;
// text-overflow: ellipsis;
// white-space: nowrap;
}
}
</style>

View File

@ -15,13 +15,14 @@
<td>
{{ index + 1 }}
</td>
<td>{{ item.tempAlarmTime }}</td>
<td>{{ item.alarmTypeName }}</td>
<td>{{ item.forwardingUnit }}</td>
<td>{{ item.netWeight }}</td>
</tr>
</tbody>
</table>
<div
class="placeholderBox placeholderBox2"
style="margin-top: 10px;"
v-if="alarmList.length == 0"
>
<img src="@/assets/images/noData3.png" alt="" srcset="" />
@ -33,36 +34,31 @@
</template>
<script>
import { getwardingUnitRankApi } from '@/assets/js/api/dataBoard.js'
export default {
data() {
return {
alarmList: [
{
tempAlarmTime: '深圳佳信捷智慧物联有限公司',
alarmTypeName: 70,
},
{
tempAlarmTime: '深圳佳信捷智慧物联有限公司',
alarmTypeName: 40,
},
{
tempAlarmTime: '深圳佳信捷智慧物联有限公司',
alarmTypeName: 30,
},
{
tempAlarmTime: '深圳佳信捷智慧物联有限公司',
alarmTypeName: 50,
},
{
tempAlarmTime: '深圳佳信捷智慧物联有限公司',
alarmTypeName: 60,
},
]
alarmList: []
}
},
created() {
this.getList()
},
methods: {
getList() {
getwardingUnitRankApi({
projectSn: this.$store.state.projectSn,
}).then(res => {
if (res.result) {
this.alarmList = res.result
}
})
},
},
computed: {
sortedList() {
return this.alarmList.slice().sort((a, b) => b.alarmTypeName - a.alarmTypeName);
return this.alarmList.slice().sort((a, b) => b.netWeight - a.netWeight);
}
}
}

View File

@ -16,6 +16,7 @@
</template>
<script>
import { getWeighInfoTodayApi } from '@/assets/js/api/dataBoard.js'
import devNumChart from '@/components/chart/devNumChart'
export default {
@ -24,18 +25,31 @@ export default {
},
data() {
return {
devices: [
devices: [],
totalCount:1
}
},
created(){
this.getList()
},
methods:{
getList(){
getWeighInfoTodayApi({
projectSn:this.$store.state.projectSn
}).then(res=>{
if(res.result){
this.devices=[
{
label: "今日过磅次数",
value: 12
label:'今日过磅次数',
value:res.result.count
},
{
label: "今日称重总重量",
value: 12
label:'今日称重总重量',
value:res.result.netWeight
},
],
totalCount: 0
]
}
})
}
}
}

View File

@ -58,7 +58,7 @@
<!-- 塔尖高 -->
<span class="span1" v-if="item.referenceHeight" style="white-space:nowrap">{{ $t('message.towerCrane.spireHeight') }}:{{item.referenceHeight}}</span>
<!-- 大臂高 -->
<span class="span2" v-if="item.towerHeight" style="white-space:nowrap">{{ $t('message.towerCrane.boomHeight') }}:{{item.towerHeight}}</span>
<span class="span2" v-if="item.towerHeight" style="white-space:nowrap">塔身高度:{{item.towerHeight}}</span>
<img v-if="styleType == 2" src="./../../../assets/images/operationInfo/tower-crane3.png">
<img v-else src="./../../../assets/images/operationInfo/tower-crane3_w.png"/>
<!-- 标准节数量 -->

View File

@ -974,7 +974,7 @@
</el-form-item>
<!-- 大臂高(m) -->
<el-form-item
:label="$t('message.towerCrane.boomHeight') + '(m)'"
label="塔身高度(m)"
prop="towerHeight"
>
<el-input