From 6e2f1c62d34f7c154df167fc22ea0a04b9772b58 Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期六, 11 十月 2025 09:05:03 +0800 Subject: [PATCH] #电视机显示设备报警信息 --- Monitor-APP/pages/home/home.vue | 739 ++++++++++++++++++++++++++++++++----------------------- 1 files changed, 428 insertions(+), 311 deletions(-) diff --git a/Monitor-APP/pages/home/home.vue b/Monitor-APP/pages/home/home.vue index 2ef9df5..97a5e94 100644 --- a/Monitor-APP/pages/home/home.vue +++ b/Monitor-APP/pages/home/home.vue @@ -1,328 +1,339 @@ <template> - <view class="container"> - <uni-transition :duration="duration" :mode-class="homeMode" :show="homeViewShow"> - <view class="home-view"> - <view class="head"> - <text>鑷姩浠撳簱WCS鐩戞帶骞冲彴</text> - </view> - <!-- 鏃ュ巻 --> - <view class="time-tools">{{calendar}}</view> - <view class="button-left" @click="ejected()"></view> - <view class="button-right" @click="ejected()"></view> - <!-- 涓昏鍥� --> - <view class="main"> - <view class="mian-item"> - <view class="mian-item-box"> - <y-box> - <view class="box-item"> - <text class="item-title">鑷姩鍖栫珛浣撲粨搴�</text> - <text class="item-subTitle">Automatic Storageand Retrieval System</text> - <text class="item-text" style="text-align: left;">鍒╃敤绔嬩綋浠撳簱璁惧鍙疄鐜颁粨搴撻珮灞傚悎鐞嗗寲銆佸瓨鍙栬嚜鍔ㄥ寲銆佹搷浣滅畝渚垮寲锛涜嚜鍔ㄥ寲绔嬩綋浠撳簱鏄綋鍓嶆妧鏈按骞宠緝楂樼殑褰㈠紡銆傝嚜鍔ㄥ寲绔嬩綋浠撳簱鐨勪富浣撶敱璐ф灦銆佸贩閬撳紡鍫嗗灈璧烽噸鏈恒�佸叆锛堝嚭锛夊簱宸ヤ綔鍙板拰鑷姩杩愯繘锛堝嚭锛夊強鎿嶄綔鎺у埗绯荤粺缁勬垚銆傝揣鏋舵槸閽㈢粨鏋勬垨閽㈢瓔娣峰嚌鍦熺粨鏋勭殑寤虹瓚鐗╂垨缁撴瀯浣擄紝璐ф灦鍐呮槸鏍囧噯灏哄鐨勮揣浣嶇┖闂达紝宸烽亾鍫嗗灈璧烽噸鏈虹┛琛屼簬璐ф灦涔嬮棿鐨勫贩閬撲腑锛屽畬鎴愬瓨銆佸彇璐х殑宸ヤ綔銆傜鐞嗕笂閲囩敤璁$畻鏈哄強鏉″舰鐮佹妧鏈��</text> - </view> - <view class="box-item"> - <text class="item-title">浠撳簱鏁版嵁</text> - <text class="item-subTitle">warehouse data</text> - <view class="img-box"> - - <view class="item-img"> - <image src="../../static/a1.png" mode="aspectFit"></image> - <view class="flex-col" style="width: calc(100% - 5vw);"> - <view class="flex-row" style="position: relative;" > - <view style="width: 2vw;padding-left: 2vw;;font-size: 2vw;">{{baseInfo.xDistance}}</view> - <view style="position: absolute;bottom: 0;left: 10vw;">KM</view> - </view> - <view style="height: 100%;text-align: left;text-indent: 2em;">绱璧拌璺濈(鍗冪背)</view> - </view> - </view> - - <view class="item-img"> - <image src="../../static/b1.png" mode="aspectFit"></image> - <view class="flex-col" style="width: calc(100% - 5vw);"> - <view class="flex-row" style="position: relative;" > - <view style="width: 2vw;padding-left: 2vw;;font-size: 2vw;">{{baseInfo.yDistance}}</view> - <view style="position: absolute;bottom: 0;left: 10vw;">KM</view> - </view> - <view style="height: 100%;text-align: left;text-indent: 2em;">绱鍗囬檷璺濈(鍗冪背)</view> - </view> - </view> - - <view class="item-img"> - <image src="../../static/c1.png" mode="aspectFit"></image> - <view class="flex-col" style="width: calc(100% - 5vw);"> - <view class="flex-row" style="position: relative;" > - <view style="-width: 2vw;padding-left: 2vw;;font-size: 2vw;">{{baseInfo.xDuration}}</view> - <view style="position: absolute;bottom: 0;left: 10vw;">H</view> - </view> - <view style="height: 100%;text-align: left;text-indent: 2em;">绱璧拌鏃堕暱(灏忔椂)</view> - </view> - </view> - - <view class="item-img"> - <image src="../../static/d1.png" mode="aspectFit"></image> - <view class="flex-col" style="width: calc(100% - 5vw);"> - <view class="flex-row" style="position: relative;" > - <view style="width: 2vw;padding-left: 2vw;;font-size: 2vw;">{{baseInfo.yDuration}}</view> - <view style="position: absolute;bottom: 0;left: 10vw;">H</view> - </view> - <view style="height: 100%;text-align: left;text-indent: 2em;">绱鍗囬檷鏃堕暱(灏忔椂)</view> - </view> - </view> - + <view> + <view v-if="crnErrorShow"> + <swiper + class="message-swiper" + autoplay + circular + interval="2000" + duration="500" + > + <swiper-item v-for="(message, index) in messages" :key="index"> + <view class="message-item">{{ message }}</view> + </swiper-item> + </swiper> + </view> + + <view class="container"> + <uni-transition :duration="duration" :mode-class="homeMode" :show="homeViewShow"> + <view class="home-view"> + <view class="head"> + <text>鏅鸿兘澶у睆鏄剧ず绯荤粺</text> + </view> + <!-- 鏃ュ巻 --> + <view class="time-tools">{{calendar}}</view> + <view class="button-left" @click="ejected()"></view> + <view class="button-right" @click="ejected()"></view> + <!-- 涓昏鍥� --> + <view class="main"> + <view class="mian-item"> + <view class="mian-item-box"> + <y-box> + <view class="box-item"> + <text class="item-title">鏅鸿兘澶у睆鏄剧ず绯荤粺</text> + <text class="item-subTitle">Automatic Storageand Retrieval System</text> + <text class="item-text" style="text-align: left;">鍒╃敤绔嬩綋浠撳簱璁惧鍙疄鐜颁粨搴撻珮灞傚悎鐞嗗寲銆佸瓨鍙栬嚜鍔ㄥ寲銆佹搷浣滅畝渚垮寲锛涜嚜鍔ㄥ寲绔嬩綋浠撳簱鏄綋鍓嶆妧鏈按骞宠緝楂樼殑褰㈠紡銆傝嚜鍔ㄥ寲绔嬩綋浠撳簱鐨勪富浣撶敱璐ф灦銆佸贩閬撳紡鍫嗗灈璧烽噸鏈恒�佸叆锛堝嚭锛夊簱宸ヤ綔鍙板拰鑷姩杩愯繘锛堝嚭锛夊強鎿嶄綔鎺у埗绯荤粺缁勬垚銆傝揣鏋舵槸閽㈢粨鏋勬垨閽㈢瓔娣峰嚌鍦熺粨鏋勭殑寤虹瓚鐗╂垨缁撴瀯浣擄紝璐ф灦鍐呮槸鏍囧噯灏哄鐨勮揣浣嶇┖闂达紝宸烽亾鍫嗗灈璧烽噸鏈虹┛琛屼簬璐ф灦涔嬮棿鐨勫贩閬撲腑锛屽畬鎴愬瓨銆佸彇璐х殑宸ヤ綔銆傜鐞嗕笂閲囩敤璁$畻鏈哄強鏉″舰鐮佹妧鏈��</text> </view> - </view> - <view class="box-item"> - <view class="flex-row" style="width: 100%;"> - <!-- 宸︿晶 --> - <view class="flex-col" style="align-items: flex-start;justify-content: flex-start;"> - <text class="item-title">搴撲綅浣跨敤鐜�</text> - <text class="item-subTitle">EQUIPMENT USAGE THIS MONTH</text> + <view class="box-item"> + <text class="item-title">浠撳簱鏁版嵁</text> + <text class="item-subTitle">warehouse data</text> + <view class="img-box"> + + <view class="item-img"> + <image src="../../static/a1.png" mode="aspectFit"></image> + <view class="flex-col" style="width: calc(100% - 5vw);"> + <view class="flex-row" style="position: relative;" > + <view style="width: 2vw;padding-left: 2vw;;font-size: 2vw;">{{baseInfo.xDistance}}</view> + <view style="position: absolute;bottom: 0;left: 10vw;">KM</view> + </view> + <view style="height: 100%;text-align: left;text-indent: 2em;">绱璧拌璺濈(鍗冪背)</view> + </view> + </view> + + <view class="item-img"> + <image src="../../static/b1.png" mode="aspectFit"></image> + <view class="flex-col" style="width: calc(100% - 5vw);"> + <view class="flex-row" style="position: relative;" > + <view style="width: 2vw;padding-left: 2vw;;font-size: 2vw;">{{baseInfo.yDistance}}</view> + <view style="position: absolute;bottom: 0;left: 10vw;">KM</view> + </view> + <view style="height: 100%;text-align: left;text-indent: 2em;">绱鍗囬檷璺濈(鍗冪背)</view> + </view> + </view> + + <view class="item-img"> + <image src="../../static/c1.png" mode="aspectFit"></image> + <view class="flex-col" style="width: calc(100% - 5vw);"> + <view class="flex-row" style="position: relative;" > + <view style="-width: 2vw;padding-left: 2vw;;font-size: 2vw;">{{baseInfo.xDuration}}</view> + <view style="position: absolute;bottom: 0;left: 10vw;">H</view> + </view> + <view style="height: 100%;text-align: left;text-indent: 2em;">绱璧拌鏃堕暱(灏忔椂)</view> + </view> + </view> + + <view class="item-img"> + <image src="../../static/d1.png" mode="aspectFit"></image> + <view class="flex-col" style="width: calc(100% - 5vw);"> + <view class="flex-row" style="position: relative;" > + <view style="width: 2vw;padding-left: 2vw;;font-size: 2vw;">{{baseInfo.yDuration}}</view> + <view style="position: absolute;bottom: 0;left: 10vw;">H</view> + </view> + <view style="height: 100%;text-align: left;text-indent: 2em;">绱鍗囬檷鏃堕暱(灏忔椂)</view> + </view> + </view> + </view> - <!-- 鍙充晶 --> - <view style="margin-left: auto;"> - <!-- 鐧惧垎姣� --> - <view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" > - <!-- style="justify-content: flex-end;position: absolute;top: 0;right: 1vw;text-align: right;" --> - <text class="item-title">{{baseInfo.usedPr}}%</text> - <text class="item-subTitle">鍚屾瘮涓婃湀 + 5%</text> + </view> + <view class="box-item"> + <view class="flex-row" style="width: 100%;"> + <!-- 宸︿晶 --> + <view class="flex-col" style="align-items: flex-start;justify-content: flex-start;"> + <text class="item-title">搴撲綅浣跨敤鐜�</text> + <text class="item-subTitle">EQUIPMENT USAGE THIS MONTH</text> + </view> + <!-- 鍙充晶 --> + <view style="margin-left: auto;"> + <!-- 鐧惧垎姣� --> + <view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" > + <!-- style="justify-content: flex-end;position: absolute;top: 0;right: 1vw;text-align: right;" --> + <text class="item-title">{{baseInfo.usedPr}}%</text> + <text class="item-subTitle">鍚屾瘮涓婃湀 + 5%</text> + </view> </view> </view> + + <view class="flex-col" style="width: 100%;align-items: flex-start;position: relative;font-size: 1vw"> + <!-- 杩涘害鏉� --> + <view class="flex-row" style="width: 100%;position: relative;margin-top: 5%;"> + <view class="progressBar" style="width: 80%;height: 2vw;"> + <view class="progress" :style="'width:'+ baseInfo.usedPr + '%'"></view> + </view> + <view style="position: absolute;bottom: 0;right: 0;font-size: 2.5vw;color: #FF5722;;">{{baseInfo.used}}</view> + </view> + </view> + </view> + </y-box> + </view> + </view> + <view class="mian-item"> + <view class="mian-item-box"> + <view style="width: 100%;height: 100%;"> + <view style="height: 35%;"> + <!-- 鎶樼嚎鍥� --> + <y-box> + <view class="box-item"> + <view class="flex-row" style="width: 100%;"> + <!-- 宸︿晶 --> + <view class="flex-col" style="align-items: flex-start;justify-content: flex-start;"> + <text class="item-title">鍏ュ嚭搴撶粺璁�</text> + <text class="item-subTitle">ORDER STATISTICS</text> + </view> + <!-- 鍙充晶 --> + <view style="margin-left: auto;"> + <!-- 鐧惧垎姣� --> + <view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" > + <!-- style="justify-content: flex-end;position: absolute;top: 0;right: 1vw;text-align: right;" --> + <text class="item-title">{{ baseLedId }}</text> + <text class="item-subTitle">绔欑偣缂栧彿</text> + </view> + </view> + </view> + <view class="charts-box"> + <qiun-data-charts type="line" :chartData="chartsDataLine1" :echartsH5="true" :echartsApp="true"/> + </view> + </view> + </y-box> </view> - <view class="flex-col" style="width: 100%;align-items: flex-start;position: relative;font-size: 1vw"> - <!-- 杩涘害鏉� --> - <view class="flex-row" style="width: 100%;position: relative;margin-top: 5%;"> - <view class="progressBar" style="width: 80%;height: 2vw;"> - <view class="progress" :style="'width:'+ baseInfo.usedPr + '%'"></view> + + <!-- null --> + <view style="height: 2%;"></view> + + + <view style="height: 61%;"> + <y-box> + <view class="box-item"> + <view class="flex-row" style="width: 100%;"> + <!-- 宸︿晶 --> + <view class="flex-col" style="align-items: flex-start;justify-content: flex-start;"> + <text class="item-title">搴撳瓨绫诲瀷</text> + <text class="item-subTitle">INCOME DATE</text> + </view> + <!-- 鍙充晶 --> + <view style="margin-left: auto;"> + <!-- 鐧惧垎姣� --> + <view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" > + <text class="item-title">浠婂ぉ</text> + <text class="item-subTitle">Today</text> + </view> + </view> + </view> + <view class="flex-row" style="width: 100%;"> + <!-- 宸� --> + <view class="charts-box-ring"> + <qiun-data-charts type="ring" :opts="{legend:{position:'bottom'}}" :eopts="ringOpts" :chartData="chartsDataPie2" :echartsH5="true" :echartsApp="true"/> + </view> + <!-- 鍙� --> + <view> + <view class="flex-row sub-info"> + <image src="../../static/g1.png" mode="aspectFit"></image> + <view style="width: 8vw;height: 4vw;line-height: 4vw;">鍦ㄥ簱</view> + <view style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">{{baseInfo.stockCount}}</view> + </view> + <view class="flex-row sub-info" style="margin-top: 2vh;"> + <image src="../../static/f1.png" mode="aspectFit"></image> + <view style="width: 8vw;height: 4vw;line-height: 4vw;">绌哄簱</view> + <view style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">{{baseInfo.emptyCount}}</view> + </view> + <view class="flex-row sub-info" style="margin-top: 2vh;"> + <image src="../../static/e1.png" mode="aspectFit"></image> + <view style="width: 8vw;height: 4vw;line-height: 4vw;">閿佸畾</view> + <view style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">{{baseInfo.noneCount}}</view> + </view> + </view> + </view> </view> - <view style="position: absolute;bottom: 0;right: 0;font-size: 2.5vw;color: #FF5722;;">{{baseInfo.used}}</view> - </view> + + </y-box> + </view> + <view style="height: 2%;"></view> + </view> + </view> + </view> + </view> + + </view> + </uni-transition> + <!-- 鍏ㄦ澘/鎷f枡淇℃伅 --> + <uni-transition :duration="duration" :mode-class="infoMode" :show="infoViewShow"> + <view class="home-view"> + <view class="head"> + <text>{{infoText.title}}</text> + </view> + <!-- 鏃ュ巻 --> + <view class="time-tools">{{calendar}}</view> + <view class="button-left" @click="ejected()"></view> + <view class="button-right" @click="ejected()"></view> + <!-- 涓讳綋 --> + <view class="info-main"> + <view class="info-box"> + <y-box> + <!-- 鏂囨湰瀹瑰櫒 --> + <view class="text-content"> + <!-- head --> + <view class="swiper-head"> + <view style="width: 20%;">宸ヤ綔鍙�: {{infoText.workNo}}</view> + <view style="width: 30%;">婧愬簱浣�: {{infoText.sourceLocNo}}</view> + <view style="width: 20%;">鐩爣绔�: {{infoText.staNo}}</view> + <view style="width: 30%;">鎵樼洏鐮�: {{infoText.barcode}}</view> + <!-- <view style="width: 10%;">鏁伴噺</view> --> + </view> + <!-- body --> + <view class="swiper-body"> + <!-- swiper 涓�浜涜鏄� + circular 鏄惁閲囩敤琛旀帴婊戝姩锛屽嵆鎾斁鍒版湯灏惧悗閲嶆柊鍥炲埌寮�澶� + vertical 婊戝姩鏂瑰悜鏄惁涓虹旱鍚� + display-multiple-items 鍚屾椂鏄剧ず鐨勬粦鍧楁暟閲� --> + <swiper class="swiper-body-main" vertical="true" + display-multiple-items="1" + circular="true" :autoplay="true" :interval="10000" :duration="3000"> + <swiper-item class="swiper-item" v-for="(item,i) in swiperList" :key="i"> + <view style="width: 100%;">{{i+1}} / {{swiperList.length}}</view> + <view style="width: 50%;">鍗曞彿: {{item.orderNo}}</view> + <view style="width: 50%;">搴撳瓨鐘舵��: {{item.cstateid}}</view> + <view style="width: 50%;">鍟嗗搧缂栧彿: {{item.matnr}}</view> + <view style="width: 50%;">鍟嗗搧鍚嶇О: {{item.maktx}}</view> + <view style="width: 50%;">瑙勬牸: {{item.specs}}</view> + <view style="width: 50%;">U8鏃у搧鍚�: {{item.sku}}</view> + <view style="width: 100%;">鍨嬪彿: {{item.model}}</view> + <view style="width: 100%;color: red;font-size: 3.1vw;">瀹㈡埛鍚嶇О: {{item.supp}}</view> + <view style="width: 100%;color: red;font-size: 3.1vw;">寮�绁ㄥ鎴�: {{item.kpCstmrName}}</view> + <!-- <view style="width: 25%;">涓绘暟閲�: {{item.count}}</view> --> + <view style="width: 25%;color: red;font-size: 3.1vw;">杈呮暟閲�: {{item.allWeight}}</view> + <view style="width: 25%;">搴撳瓨: {{item.allStock}}</view> + <view style="width: 25%;">鍓╀綑: {{item.lessStock}}</view> + <!-- <view style="width: 25%;">杈呭簱瀛�: {{item.totalWeight}}</view> --> + </swiper-item> + </swiper> </view> </view> </y-box> </view> </view> - <view class="mian-item"> - <view class="mian-item-box"> - <view style="width: 100%;height: 100%;"> - <view style="height: 35%;"> - <!-- 鎶樼嚎鍥� --> - <y-box> - <view class="box-item"> - <view class="flex-row" style="width: 100%;"> - <!-- 宸︿晶 --> - <view class="flex-col" style="align-items: flex-start;justify-content: flex-start;"> - <text class="item-title">鍏ュ嚭搴撶粺璁�</text> - <text class="item-subTitle">ORDER STATISTICS</text> - </view> - <!-- 鍙充晶 --> - <view style="margin-left: auto;"> - <!-- 鐧惧垎姣� --> - <view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" > - <!-- style="justify-content: flex-end;position: absolute;top: 0;right: 1vw;text-align: right;" --> - <text class="item-title">31</text> - <text class="item-subTitle">浠婃棩璁㈠崟鏁�</text> - </view> - </view> - </view> - <view class="charts-box"> - <qiun-data-charts type="line" :chartData="chartsDataLine1" :echartsH5="true" :echartsApp="true"/> - </view> - </view> - </y-box> + </view> + </uni-transition> + <!-- 寮傚父淇℃伅 --> + <uni-transition :duration="duration" :mode-class="errorInfoMode" :show="errorInfoViewShow"> + <view class="error-info-view"> + <view class="head"> + <text>{{infoText.title}}</text> + </view> + <!-- 鏃ュ巻 --> + <view class="time-tools">{{calendar}}</view> + <view class="button-left"></view> + <view class="button-right"></view> + <!-- 涓讳綋 --> + <view class="info-main" > + <view class="info-box"> + <y-box> + <view class="info-box-text"> + <view class="flex-col info-box-text-item">{{infoText.error}}</view> </view> - - - <!-- null --> - <view style="height: 2%;"></view> - - - <view style="height: 43%;"> - <y-box> - <view class="box-item"> - <view class="flex-row" style="width: 100%;"> - <!-- 宸︿晶 --> - <view class="flex-col" style="align-items: flex-start;justify-content: flex-start;"> - <text class="item-title">搴撳瓨绫诲瀷</text> - <text class="item-subTitle">INCOME DATE</text> - </view> - <!-- 鍙充晶 --> - <view style="margin-left: auto;"> - <!-- 鐧惧垎姣� --> - <view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" > - <text class="item-title">浠婂ぉ</text> - <text class="item-subTitle">Today</text> - </view> - </view> - </view> - <view class="flex-row" style="width: 100%;"> - <!-- 宸� --> - <view class="charts-box-ring"> - <qiun-data-charts type="ring" :opts="{legend:{position:'bottom'}}" :eopts="ringOpts" :chartData="chartsDataPie2" :echartsH5="true" :echartsApp="true"/> - </view> - <!-- 鍙� --> - <view> - <view class="flex-row sub-info"> - <image src="../../static/g1.png" mode="aspectFit"></image> - <view style="width: 8vw;height: 4vw;line-height: 4vw;">鍦ㄥ簱</view> - <view style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">{{baseInfo.stockCount}}</view> - </view> - <view class="flex-row sub-info" style="margin-top: 2vh;"> - <image src="../../static/f1.png" mode="aspectFit"></image> - <view style="width: 8vw;height: 4vw;line-height: 4vw;">绌哄簱</view> - <view style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">{{baseInfo.emptyCount}}</view> - </view> - <view class="flex-row sub-info" style="margin-top: 2vh;"> - <image src="../../static/e1.png" mode="aspectFit"></image> - <view style="width: 8vw;height: 4vw;line-height: 4vw;">閿佸畾</view> - <view style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">{{baseInfo.noneCount}}</view> - </view> - </view> - </view> - </view> - - </y-box> - </view> - <view style="height: 2%;"></view> - <view style="height: 18%;"> - <y-box> - <view class="flex-col" style="width: 100%;height: 100%;font-size: 4vh;justify-content: center;letter-spacing: 1vh;"> - <!-- 鍢夊杽杈归攱鏈烘鑲′唤鏈夐檺鍏徃 --> - 鑷姩浠撳簱WCS鐩戞帶骞冲彴 - <!-- <image src="../../static/vietnam.jpg" mode="" style="width: 100%;"></image> --> - </view> - </y-box> - </view> + </y-box> + </view> + </view> + </view> + </uni-transition> + + <!-- 鑷畾涔夊脊鍑哄眰 --> + <view class="eject-mask" v-show="ejectShow"> + <view class="eject"> + <!-- 寮瑰嚭title --> + <view class="eject-title">淇敼 / 閰嶇疆</view> + <!-- input --> + <scroll-view scroll-y class="eject-input"> + <view class="item"> + <view class="desc">ip锛�</view> + <view class="input"> + <input type="text" v-model="baseIP"> </view> </view> - </view> - </view> - - </view> - </uni-transition> - <!-- 鍏ㄦ澘/鎷f枡淇℃伅 --> - <uni-transition :duration="duration" :mode-class="infoMode" :show="infoViewShow"> - <view class="home-view"> - <view class="head"> - <text>{{infoText.title}}</text> - </view> - <!-- 鏃ュ巻 --> - <view class="time-tools">{{calendar}}</view> - <view class="button-left" @click="ejected()"></view> - <view class="button-right" @click="ejected()"></view> - <!-- 涓讳綋 --> - <view class="info-main"> - <view class="info-box"> - <y-box> - <!-- 鏂囨湰瀹瑰櫒 --> - <view class="text-content"> - <!-- head --> - <view class="swiper-head"> - <view style="width: 30%;">鎵樼洏鐮�: {{infoText.barcode}}</view> - <view style="width: 20%;">宸ヤ綔鍙�: {{infoText.workNo}}</view> - <view style="width: 30%;">婧愬簱浣�: {{infoText.sourceLocNo}}</view> - <view style="width: 20%;">鐩爣绔�: {{infoText.staNo}}</view> - <!-- <view style="width: 10%;">鏁伴噺</view> --> - </view> - <!-- body --> - <view class="swiper-body"> - <!-- swiper 涓�浜涜鏄� - circular 鏄惁閲囩敤琛旀帴婊戝姩锛屽嵆鎾斁鍒版湯灏惧悗閲嶆柊鍥炲埌寮�澶� - vertical 婊戝姩鏂瑰悜鏄惁涓虹旱鍚� - display-multiple-items 鍚屾椂鏄剧ず鐨勬粦鍧楁暟閲� --> - <swiper class="swiper-body-main" vertical="true" - display-multiple-items="3" - circular="true" :autoplay="true" :interval="3000" :duration="2000"> - <swiper-item class="swiper-item" v-for="(item,i) in swiperList" :key="i"> - <view style="width: 30%;">{{i+1}} / {{swiperList.length}}</view> - <!-- <view style="width: 30%;">鏂欏彿: {{item.matnr}}</view> --> - <view style="width: 40%;">鍚嶇О: {{item.maknx}}</view> - <view style="width: 30%;">瀹㈡埛: {{item.manu}}</view> - - - <view style="width: 30%;">鍑哄簱: {{item.count}} / 鎬绘暟: {{item.total}}</view> - <view style="width: 40%;">瑙勬牸: {{item.specs}}</view> - <view style="width: 30%;">澶囨敞: {{item.memo}}</view> - - - </swiper-item> - </swiper> - </view> + <view class="item"> + <view class="desc">port锛�</view> + <view class="input"> + <input type="text" v-model="basePort"> </view> - </y-box> - </view> - </view> - </view> - </uni-transition> - <!-- 寮傚父淇℃伅 --> - <uni-transition :duration="duration" :mode-class="errorInfoMode" :show="errorInfoViewShow"> - <view class="error-info-view"> - <view class="head"> - <text>{{infoText.title}}</text> - </view> - <!-- 鏃ュ巻 --> - <view class="time-tools">{{calendar}}</view> - <view class="button-left"></view> - <view class="button-right"></view> - <!-- 涓讳綋 --> - <view class="info-main" > - <view class="info-box"> - <y-box> - <view class="info-box-text"> - <view class="flex-col info-box-text-item">{{infoText.error}}</view> + </view> + <view class="item"> + <view class="desc">ledId锛�</view> + <view class="input"> + <input type="text" v-model="baseLedId"> </view> - </y-box> + </view> + <view class="item"> + <view class="desc">CrnId锛�</view> + <view class="input"> + <input type="text" v-model="baseCrnId"> + </view> + </view> + <view class="item"> + <view class="desc">Url锛�</view> + <view class="input"> + <input type="text" v-model="baseUrl"> + </view> + </view> + </scroll-view> + <!-- button --> + <view class="eject-button"> + <view class="button-item" @click="ejectClose">鍙� 娑�</view> + <view class="button-item" @click="ejectConfirm">纭� 璁�</view> </view> </view> </view> - </uni-transition> - - <!-- 鑷畾涔夊脊鍑哄眰 --> - <view class="eject-mask" v-show="ejectShow"> - <view class="eject"> - <!-- 寮瑰嚭title --> - <view class="eject-title">淇敼 / 閰嶇疆</view> - <!-- input --> - <scroll-view scroll-y class="eject-input"> - <view class="item"> - <view class="desc">ip锛�</view> - <view class="input"> - <input type="text" v-model="baseIP"> - </view> - </view> - <view class="item"> - <view class="desc">port锛�</view> - <view class="input"> - <input type="text" v-model="basePort"> - </view> - </view> - <view class="item"> - <view class="desc">ledId锛�</view> - <view class="input"> - <input type="text" v-model="baseLedId"> - </view> - </view> - <view class="item"> - <view class="desc">CrnId锛�</view> - <view class="input"> - <input type="text" v-model="baseCrnId"> - </view> - </view> - <view class="item"> - <view class="desc">Url锛�</view> - <view class="input"> - <input type="text" v-model="baseUrl"> - </view> - </view> - </scroll-view> - <!-- button --> - <view class="eject-button"> - <view class="button-item" @click="ejectClose">鍙� 娑�</view> - <view class="button-item" @click="ejectConfirm">纭� 璁�</view> - </view> + <view style="color: #FFF;position: fixed;bottom: 10px;left: 10px;" v-show="timeOut"> + 杩炴帴瓒呮椂: {{times}} s </view> - </view> - <view style="color: #FFF;position: fixed;bottom: 10px;left: 10px;" v-show="timeOut"> - 杩炴帴瓒呮椂: {{times}} s </view> </view> </template> @@ -340,6 +351,7 @@ homeMode: [], infoMode: [], errorInfoMode: [], + useInfo: '', baseInfo: { xDistance: 1, yDistance: 2, @@ -376,6 +388,9 @@ baseLedId: '', baseCrnId: '', baseUrl: '', + getLedInfosIp: '172.17.60.92', + getLedInfosPort: '9090', + getLedInfosUrl: 'flsbwcs', info: null, error: null, infoType: 0, @@ -393,7 +408,9 @@ swiperList: [], timeOut: false, times: 0, - currDate: '' + currDate: '', + crnErrorShow: false, + messages: [] } }, onShow() { @@ -404,6 +421,7 @@ }, mounted() { let that = this + const BaseIP = uni.getStorageSync('BaseIp'); const BaseLedId = uni.getStorageSync('BaseLedId'); const BasePort = uni.getStorageSync('BasePort'); @@ -414,7 +432,11 @@ that.baseLedId = BaseLedId that.basePort = BasePort that.baseCrnId = BaseCrnId - // this.getUrl() + this.getUrl() + + setTimeout(() => { + this.getLedInfos() + },2000) }, onLoad() { setInterval(()=>{ @@ -422,6 +444,7 @@ this.initlineChart() this.initPieChart() this.getOther() + this.getUserInfo() // this.getDate() this.getDate2() this.getInfo() @@ -430,13 +453,37 @@ // this.getError2() this.getUrl() this.controller() - // 娴嬭瘯鐢� + this.getCrnError() },1000) }, methods: { timeOut() { console.log(this.times); + }, + getLedInfos(){ + let that = this + this.getUrl() + uni.request({ + url: this.baseHttp + that.getLedInfosIp + ':' +this.getLedInfosPort + "/" + this.getLedInfosUrl + "/console/getLedInfos", + method:"GET", + data: {}, + success(res) { + let data = res.data.data; + that.baseLedId = data.staArr[0] + that.baseCrnId = 1 + + that.baseIP = that.getLedInfosIp; + that.basePort = that.getLedInfosPort; + that.baseUrl = that.getLedInfosUrl; + + uni.setStorageSync('BaseIp', that.baseIP); + uni.setStorageSync('BaseLedId', that.baseLedId); + uni.setStorageSync('BasePort',that.basePort); + uni.setStorageSync('BaseCrnId',that.baseCrnId); + uni.setStorageSync('UPROJ',that.baseUrl); + } + }) }, getUrl() { this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePort + "/" +this.baseUrl @@ -459,7 +506,7 @@ if (res.data[0].ioType === 101) { that.infoText.title = '鍏ㄦ澘鍑哄簱' } else if(res.data[0].ioType === 103) { - that.infoText.title = '妫�鏂欏嚭搴�' + that.infoText.title = '鎷f枡鍑哄簱' } else if(res.data[0].ioType === 107) { that.infoText.title = '鐩樼偣鍑哄簱' } else if(res.data[0].ioType === 1) { @@ -509,6 +556,20 @@ that.infoType = 0 } }, + getUserInfo() { + let that = this + uni.request({ + url: that.commonUrl + "/monitor/led", + method:"GET", + data: {ledId:that.baseLedId}, + success(res) { + res = res.data + if (res.data && res.data != '') { + that.useInfo = res.data + } + } + }) + }, getInfo() { let that = this uni.request({ @@ -528,7 +589,7 @@ if (res.data[0].ioType === 101) { that.infoText.title = '鍏ㄦ澘鍑哄簱' } else if(res.data[0].ioType === 103) { - that.infoText.title = '妫�鏂欏嚭搴�' + that.infoText.title = '鎷f枡鍑哄簱' } else if(res.data[0].ioType === 107) { that.infoText.title = '鐩樼偣鍑哄簱' } else if(res.data[0].ioType === 1) { @@ -542,7 +603,24 @@ that.infoText.workNo = res.data[0].workNo that.infoText.sourceLocNo = res.data[0].sourceLocNo that.infoText.staNo = res.data[0].staNo - that.swiperList = res.data[0].matDtos + + let matDtos = res.data[0].matDtos; + + let allWeight = 0; + let allStock = 0; + matDtos.forEach((item) => { + allWeight += item.weight; + allStock += item.totalWeight; + }) + + let lessStock = allStock - allWeight; + + let matDto = matDtos[0]; + matDto.allWeight = allWeight; + matDto.allStock = allStock; + matDto.lessStock = lessStock; + that.swiperList = [matDto] + // that.infoText.matnr = res.data[0].matDtos[0].matnr // that.infoText.specs = res.data[0].matDtos[0].specs // that.infoText.maknx = res.data[0].matDtos[0].maknx @@ -556,7 +634,7 @@ }, fail(err) { that.timeOut = true - that.times = that.times+3 + that.times = that.times+1 that.infoType = 0 } }) @@ -823,6 +901,29 @@ } }) }, + getCrnError() { + let that = this + uni.request({ + url: that.commonUrl + "/monitor/crn/error", + data: {}, + success(result) { + var res = result.data + if (res.code === 200) { + let data = res.data; + if(data.length > 0) { + let tmpList = [] + data.forEach((item) => { + tmpList.push(item.crnNo + "鍙峰爢鍨涙満" + item.errorName) + }) + that.messages = tmpList; + that.crnErrorShow = true; + }else{ + that.crnErrorShow = false; + } + } + } + }) + } } } @@ -848,7 +949,7 @@ background-color: #00163E; color: #fff; text-align: center; - + position: relative; } /* 涓昏鍥� */ .home-view { @@ -1128,4 +1229,20 @@ height: 20%;font-size: 8vh; justify-content: center; } + + .message-swiper { + width: 100%; + height: 30px; + background-color: #ff0000; + display: flex; + align-items: center; + overflow: hidden; + position: relative; + } + .message-item { + white-space: nowrap; + padding: 0 10px; + color: #ffffff; + text-align: center; + } </style> \ No newline at end of file -- Gitblit v1.9.1