liling hai 3 meses
pai
achega
95ff2e6282

+ 61 - 19
src/pages/components/In02.vue

@@ -213,8 +213,8 @@
             </div>
         </div>
         <div for="IN02" id="imp_item" v-if="isShowImpItem" desc="导出功能菜单">
-            <div :itemcode="index+1" v-for="(item,index) in impFuncList" @click.stop="showImpWin(item)"><span>{{ item.name }}</span><img src="../../assets/image/imp2.png" style="float: right;margin-top: 7px;"></div>
-            <div itemcode="15" @click.stop="showTTT"><span>毯业加工成本</span><img src="../../assets/image/imp2.png" style="float: right;margin-top: 7px;"></div>
+            <div :itemcode="index+1" v-for="(item,index) in impFuncList" @click.stop="showImpWin(item,$event)"><span style="display:inline-block;width:85%;">{{ item.name }}</span><img src="../../assets/image/imp2.png" style="float: right;margin-top: 7px;"></div>
+            <div @click.stop="showTTT"><span>毯业加工成本</span><img src="../../assets/image/imp2.png" style="float: right;margin-top: 7px;"></div>
         </div>
         <div id="showinfo" class="showinfo" v-if="showDeviceInfo">
             <div class="title">
@@ -1346,13 +1346,42 @@
             <div class="title"><img src="../../assets/image/title_icon.png" style="margin: 7px;float: left;"><span class="text">{{ iframeWinData.title }}</span><img src="../../assets/image/Close.png" style="margin: 7px;float: right;cursor: pointer;" @click="CloseIframeWin"></div>
             <div class="content"><iframe id="ifrm" :src="iframeWinData.src" class=""></iframe></div>
         </div>
+        <Imp01 v-if="impItemCode=='01'" :xy="impItemShowDivXY"></Imp01>
+        <Imp02 v-if="impItemCode=='02'" :xy="impItemShowDivXY"></Imp02>
+        <Imp03 v-if="impItemCode=='03'" :xy="impItemShowDivXY"></Imp03>
+        <Imp04 v-if="impItemCode=='04'" :xy="impItemShowDivXY"></Imp04>
+        <Imp05 v-if="impItemCode=='05'" :xy="impItemShowDivXY"></Imp05>
+        <Imp06 v-if="impItemCode=='06'" :xy="impItemShowDivXY"></Imp06>
+        <Imp08 v-if="impItemCode=='08'" :xy="impItemShowDivXY"></Imp08>
+        <Imp10 v-if="impItemCode=='10'" :xy="impItemShowDivXY"></Imp10>
+        <Imp11 v-if="impItemCode=='11'" :xy="impItemShowDivXY"></Imp11>
+        <Imp12 v-if="impItemCode=='12'" :xy="impItemShowDivXY"></Imp12>
+        <Imp13 v-if="impItemCode=='13'" :xy="impItemShowDivXY"></Imp13>
+        <Imp14 v-if="impItemCode=='14'" :xy="impItemShowDivXY"></Imp14>
+        <Imp15 v-if="impItemCode=='15'" :xy="impItemShowDivXY"></Imp15>
     </div>
 </template>
 <script>
 import { ref,onMounted,onUnmounted,watch } from 'vue';
 import * as echarts from 'echarts';
 import api from "@/api/system";
+import Imp01 from "../imp/imp01.vue"
+import Imp02 from "../imp/imp02.vue"
+import Imp03 from "../imp/imp03.vue"
+import Imp04 from "../imp/imp04.vue"
+import Imp05 from "../imp/imp05.vue"
+import Imp06 from "../imp/imp06.vue"
+import Imp08 from "../imp/imp08.vue"
+import Imp10 from "../imp/imp10.vue"
+import Imp11 from "../imp/imp11.vue"
+import Imp12 from "../imp/imp12.vue"
+import Imp13 from "../imp/imp13.vue"
+import Imp14 from "../imp/imp14.vue"
+import Imp15 from "../imp/imp15.vue"
 export default {
+    components:{
+        Imp01,Imp02,Imp03,Imp04,Imp05,Imp06,Imp08,Imp10,Imp11,Imp12,Imp13,Imp14,Imp15,
+    },
     props:{
         clickEvent:{
             type:Object,
@@ -1365,9 +1394,10 @@ export default {
         userTimeout:{
             type:Boolean
         }
-
     },
     setup(props,{emit}) {
+        let impItemCode=ref('');
+        let impItemShowDivXY = ref({top:0,left:0});
         let AutoPlayer=ref(false);
         let isShowFuncMenuList=ref(false);
         let isShowImpItem = ref(null);
@@ -1424,21 +1454,21 @@ export default {
         let cacheNameRGB = {};
         //导出功能 列表项
         let impFuncList=ref([
-            {name:'生产数据',path:'/imp-01',title:'',code:"01"},
-            {name:'停机原因',path:'/imp-02',title:'',code:"02"},
-            {name:'断纱分析',path:'/imp-03',title:'',code:"03"},
-            {name:'并发叫料分析',path:'/imp-04',title:'',code:"04"},
-            {name:'并发下卷分析',path:'/imp-05',title:'',code:"05"},
-            {name:'告警分析',path:'/imp-06',title:'',code:"06"},
+            {name:'生产数据',path:'/imp-01',title:'',code:"01",type:"impWin"},
+            {name:'停机原因',path:'/imp-02',title:'',code:"02",type:"impWin"},
+            {name:'断纱分析',path:'/imp-03',title:'',code:"03",type:"impWin"},
+            {name:'并发叫料分析',path:'/imp-04',title:'',code:"04",type:"impWin"},
+            {name:'并发下卷分析',path:'/imp-05',title:'',code:"05",type:"impWin"},
+            //{name:'告警分析',path:'/imp-06',title:'',code:"06",type:"impWin"},
             {name:'平方米克重',path:'/imp-07',title:'',code:"07"},
-            {name:'纱线规格',path:'/imp-08',title:'',code:"08"},
+            {name:'纱线规格',path:'/imp-08',title:'',code:"08",type:"impWin"},
             {name:'送经量',path:'/imp-09',title:'',code:"09"},
-            {name:'生产绩效日报',path:'/imp-10',title:'',code:"10"},
-            {name:'生产绩效月报',path:'/imp-11',title:'',code:"11"},
-            {name:'车间能耗日报',path:'/imp-12',title:'',code:"12"},
-            {name:'车间能耗月报',path:'/imp-13',title:'',code:"13"},
-            {name:'白坯布靶向预测',path:'/imp-14',title:'',code:"14"},
-            {name:'能耗统计报表',path:'/imp-15',title:'',code:"15"},            
+            {name:'生产绩效日报',path:'/imp-10',title:'',code:"10",type:"impWin"},
+            {name:'生产绩效月报',path:'/imp-11',title:'',code:"11",type:"impWin"},
+            {name:'车间能耗日报',path:'/imp-12',title:'',code:"12",type:"impWin"},
+            {name:'车间能耗月报',path:'/imp-13',title:'',code:"13",type:"impWin"},
+            {name:'白坯布靶向预测',path:'/imp-14',title:'',code:"14",type:"impWin"},
+            {name:'能耗统计报表',path:'/imp-15',title:'',code:"15",type:"impWin"},            
         ]);
         let AlarmType={
             "1": "GB1伺服通讯故障",
@@ -2090,7 +2120,7 @@ export default {
                 }
                 currendDeviceAlarmMsg.value = a1.join('');
             } else {
-                console.log(data.data)
+                //console.log(data.data)
                 /*
                 t.find(".value").each(function () {
                     var th = $(this), attrname = th.attr("attr"), unit = th.attr("unit"), v = data.data[attrname];
@@ -2923,6 +2953,7 @@ export default {
             window.open(ApiServer + "/formula/export/" + maogaoDetailHeight)
         }
         function showTTT(){
+            impItemCode.value='';
             isShowTTT.value = true;
             var datalist=[];
             datalist.push(["人工工资",1289,457,1027,476,261,-19,'']);
@@ -2944,9 +2975,17 @@ export default {
             tttData.value = datalist;
             isShowImpItem.value = false;
         }
-        function showImpWin(item){
+        function showImpWin(item,target){
+            if(item.type=='impWin'){
+                let targetEle = target.target;
+                let xy = {y:targetEle.parentElement.offsetTop+targetEle.parentElement.parentElement.offsetTop,x:targetEle.parentElement.offsetLeft+targetEle.parentElement.parentElement.offsetLeft,h:parseInt(window.getComputedStyle(targetEle.parentElement).height)};
+                impItemShowDivXY.value={top:xy.y-xy.h/2,left:xy.x-38};
+                impItemCode.value = item.code;
+                return;
+            }
+            impItemCode.value='';
             isShowImpItem.value = false;
-            OpenIframe({class:'newwin bpbWin',src:item.path,title:item.title||item.name});
+            OpenIframe({class:'newwin bpbWin',src:item.path,title:item.title||item.name,type:item.type});
         }
         function OpenBPBWin(){
             OpenIframe({class:'newwin bpbWin',src:'/bpb-fx',title:''});
@@ -2970,6 +3009,7 @@ export default {
             openState = false
             seachValue.value = '';
             window.Device_Data = null;
+            impItemCode.value='';
         }
         onMounted(() => {
             backMasterViewBy02();
@@ -2992,6 +3032,8 @@ export default {
             clearTimeout(dataTimer3);
         })
         return{
+            impItemCode,
+            impItemShowDivXY,
             AutoPlayer,
             isShowFuncMenuList,
             isShowImpItem,

+ 1 - 1
src/pages/imp/imp00.vue

@@ -105,7 +105,7 @@
                 datalist.value=[];
                 const msg = ElMessage({
                         message:"正在加载数据",
-                        type:"into",
+                        type:"info",
                         duration:0, //一直显示
                 });
                 api.Get00Data().then((res)=>{

+ 11 - 5
src/pages/imp/imp01.vue

@@ -1,12 +1,13 @@
 <template>
-    <div style="padding:10px">
-        <div class="abs" style="text-align: center;top:2%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
+    <div  class="impDiv"  @click.stop="void(0)" :style="{width:width+'px',top:xy.top+'px',left:xy.left-width+'px'}">
+        <div class="triangle"></div>
+        <div class="abs" style="text-align: center;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
             <span style="position: relative;">日期<el-date-picker v-model="startDate" type="date" placeholder="选择日期"></el-date-picker>
-                <el-button style="margin-left:10px" @click="impquery">查询</el-button>
+                <el-button style="margin-left:10px;display:none;" @click="impquery">查询</el-button>
                 <el-button style="margin-left:10px" @click="impdata">导出</el-button>
             </span>                
         </div>
-        <div style="height: 650px;width: 100%;background-color: rgb(237 237 237 / 23%);margin-top: 10px;">
+        <div style="height: 650px;width: 100%;background-color: rgb(237 237 237 / 23%);margin-top: 10px;display:none;">
             <table class="titletable" cellspacing="0" cellpadding="0">
                 <thead>
                     <tr><td rowspan="2" style="width: 80px;">设备名</td><td rowspan="2" style="width: 80px;">时间</td><td rowspan="2" width="40">总米长</td><td rowspan="2" width="40">总重量</td><td rowspan="2" width="40">稼动率</td><td rowspan="2" width="40">总电量</td><td rowspan="2" width="40">告警次数</td>
@@ -69,8 +70,12 @@
     import * as echarts from 'echarts';
     export default {
         props:{
+            xy:{
+                type:Object
+            }
         },
-        setup(props,{emit}){           
+        setup(props,{emit}){      
+            const width=ref(300);
             let startDate=ref('');
             let endDate = ref('');
             let datalist = ref([]);
@@ -108,6 +113,7 @@
             })
 
             return{
+                width,
                 startDate,
                 endDate,
                 datalist,

+ 9 - 6
src/pages/imp/imp02.vue

@@ -1,13 +1,13 @@
 <template>
-    <div style="padding:10px">
-        <div class="abs" style="text-align: center;top:2%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
+    <div  class="impDiv" @click.stop="void(0)" :style="{width:width+'px',top:xy.top+'px',left:xy.left-width+'px'}">
+        <div class="triangle"></div>
+        <div class="abs" style="text-align: center;margin-top:0%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
             <span style="position: relative;">日期<el-date-picker v-model="startDate" type="date" placeholder="选择日期"></el-date-picker>
                 <el-select style="width: 100px;" v-model="startH"><el-option v-for="item in startHourList" :key="item.code" :label="item.name" :value="item.code"></el-option> </el-select>
                 <span> 到 </span>
                 <el-date-picker v-model="endDate" type="date" placeholder="选择日期"></el-date-picker>
                 <el-select style="width: 100px;" v-model="endH"><el-option v-for="item in endHourList" :key="item.code" :label="item.name" :value="item.code"></el-option> </el-select>
-                <el-button style="margin-left:10px" @click="impquery">查询</el-button>
-                <el-button style="margin-left:10px" @click="impdata">导出</el-button>
+                <el-button style="margin:10px" @click="impdata">导出</el-button>
             </span>                
         </div>
         <div>
@@ -44,11 +44,13 @@
     import * as echarts from 'echarts';
     export default {
         props:{
-
+            xy:{
+                type:Object
+            }
 
         },
         setup(props,{emit}){
-           
+            const width=ref(300);
             let startDate=ref('');
             let endDate = ref('');
             let startH = ref(7);
@@ -95,6 +97,7 @@
             })
 
             return{
+                width,
                 startDate,
                 endDate,
                 startH,

+ 8 - 4
src/pages/imp/imp03.vue

@@ -1,8 +1,8 @@
 <template>
-    <div style="padding:10px">
-        <div class="abs" style="text-align: center;top:2%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
+    <div  class="impDiv" @click.stop="void(0)" :style="{width:width+'px',top:xy.top+'px',left:xy.left-width+'px'}">
+        <div class="triangle"></div>
+        <div class="abs" style="text-align: center;margin-top:0%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
             <span style="position: relative;">日期<el-date-picker v-model="startDate" type="date" placeholder="选择日期"></el-date-picker>
-                <el-button style="margin-left:10px" @click="impquery">查询</el-button>
                 <el-button style="margin-left:10px" @click="impdata">导出</el-button>
             </span>                
         </div>
@@ -34,11 +34,14 @@
     import * as echarts from 'echarts';
     export default {
         props:{
-
+            xy:{
+                type:Object
+            }
 
         },
         setup(props,{emit}){           
             let startDate=ref('');
+            const width=ref(300)
 
             function impquery(){
 
@@ -62,6 +65,7 @@
             })
 
             return{
+                width,
                 startDate,
                 impdata,
                 impquery,

+ 9 - 6
src/pages/imp/imp04.vue

@@ -1,6 +1,7 @@
 <template>
-    <div style="padding:10px">
-        <div class="abs" style="text-align: center;top:2%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
+    <div  class="impDiv" @click.stop="void(0)" :style="{width:width+'px',top:xy.top+'px',left:xy.left-width+'px'}">
+        <div class="triangle"></div>
+        <div class="abs" style="text-align: center;margin-top:0%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
             <span style="position: relative;">日期<el-date-picker v-model="startDate" type="date" placeholder="选择日期"></el-date-picker>
                 <span> 到 </span>
                 <el-date-picker v-model="endDate" type="date" placeholder="选择日期"></el-date-picker>
@@ -8,8 +9,7 @@
                 <el-select style="width: 100px;" v-model="startH"><el-option v-for="item in startHourList" :key="item.code" :label="item.name" :value="item.code"></el-option> </el-select>
                 <span> 到 </span>
                 <el-select style="width: 100px;" v-model="endH"><el-option v-for="item in endHourList" :key="item.code" :label="item.name" :value="item.code"></el-option> </el-select>
-                <el-button style="margin-left:10px" @click="impquery">查询</el-button>
-                <el-button style="margin-left:10px" @click="impdata">导出</el-button>
+                <el-button style="margin:10px" @click="impdata">导出</el-button>
             </span>                
         </div>
         <div>
@@ -46,11 +46,13 @@
     import * as echarts from 'echarts';
     export default {
         props:{
-
+            xy:{
+                type:Object
+            }
 
         },
         setup(props,{emit}){
-           
+            const width=ref(700)
             let startDate=ref('');
             let endDate = ref('');
             let startH = ref(7);
@@ -95,6 +97,7 @@
             })
 
             return{
+                width,
                 startDate,
                 endDate,
                 startH,

+ 9 - 6
src/pages/imp/imp05.vue

@@ -1,6 +1,7 @@
 <template>
-    <div style="padding:10px">
-        <div class="abs" style="text-align: center;top:2%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
+    <div  class="impDiv" @click.stop="void(0)" :style="{width:width+'px',top:xy.top+'px',left:xy.left-width+'px'}">
+        <div class="triangle"></div>
+        <div class="abs" style="text-align: center;margin-top:0%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
             <span style="position: relative;">日期<el-date-picker v-model="startDate" type="date" placeholder="选择日期"></el-date-picker>
                 <span> 到 </span>
                 <el-date-picker v-model="endDate" type="date" placeholder="选择日期"></el-date-picker>
@@ -8,8 +9,7 @@
                 <el-select style="width: 100px;" v-model="startH"><el-option v-for="item in startHourList" :key="item.code" :label="item.name" :value="item.code"></el-option> </el-select>
                 <span> 到 </span>
                 <el-select style="width: 100px;" v-model="endH"><el-option v-for="item in endHourList" :key="item.code" :label="item.name" :value="item.code"></el-option> </el-select>
-                <el-button style="margin-left:10px" @click="impquery">查询</el-button>
-                <el-button style="margin-left:10px" @click="impdata">导出</el-button>
+                <el-button style="margin:10px" @click="impdata">导出</el-button>
             </span>                
         </div>
         <div>
@@ -46,11 +46,13 @@
     import * as echarts from 'echarts';
     export default {
         props:{
-
+            xy:{
+                type:Object
+            }
 
         },
         setup(props,{emit}){
-           
+            const width=ref(700)
             let startDate=ref('');
             let endDate = ref('');
             let startH = ref(7);
@@ -95,6 +97,7 @@
             })
 
             return{
+                width,
                 startDate,
                 endDate,
                 startH,

+ 9 - 6
src/pages/imp/imp06.vue

@@ -1,13 +1,13 @@
 <template>
-    <div style="padding:10px">
-        <div class="abs" style="text-align: center;top:2%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
+    <div  class="impDiv" @click.stop="void(0)" :style="{width:width+'px',top:xy.top+'px',left:xy.left-width+'px'}">
+        <div class="triangle"></div>
+        <div class="abs" style="text-align: center;margin-top:%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
             <span style="position: relative;">日期<el-date-picker v-model="startDate" type="date" placeholder="选择日期"></el-date-picker>
                 <el-select style="width: 100px;" v-model="startH"><el-option v-for="item in startHourList" :key="item.code" :label="item.name" :value="item.code"></el-option> </el-select>
                 <span> 到 </span>
                 <el-date-picker v-model="endDate" type="date" placeholder="选择日期"></el-date-picker>
                 <el-select style="width: 100px;" v-model="endH"><el-option v-for="item in endHourList" :key="item.code" :label="item.name" :value="item.code"></el-option> </el-select>
-                <el-button style="margin-left:10px" @click="impquery">查询</el-button>
-                <el-button style="margin-left:10px" @click="impdata">导出</el-button>
+                <el-button style="margin:10px" @click="impdata">导出</el-button>
             </span>                
         </div>
         <div>
@@ -44,11 +44,13 @@
     import * as echarts from 'echarts';
     export default {
         props:{
-
+            xy:{
+                type:Object
+            }
 
         },
         setup(props,{emit}){
-           
+            const width=ref(300)
             let startDate=ref('');
             let endDate = ref('');
             let startH = ref(7);
@@ -95,6 +97,7 @@
             })
 
             return{
+                width,
                 startDate,
                 endDate,
                 startH,

+ 3 - 3
src/pages/imp/imp07.vue

@@ -1,5 +1,5 @@
 <template>
-    <div style="padding:10px">
+    <div style="padding:10px" @click.stop="void(0)">
         <div class="abs" style="text-align: center;top:2%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
             <span style="position: relative;">
                 <el-button style="margin-left:10px" @click="impquery">查询</el-button>
@@ -137,7 +137,7 @@
                 datalist.value=[];
                 const msg = ElMessage({
                         message:"正在加载数据",
-                        type:"into",
+                        type:"info",
                         duration:0, //一直显示
                 });
                 api.Get07Data().then((res)=>{
@@ -160,7 +160,7 @@
                 detailDataList.value=[];
                 const msg = ElMessage({
                         message:"正在加载数据",
-                        type:"into",
+                        type:"info",
                         duration:0, //一直显示
                 });
                 api.Get07DetailData(v).then((res)=>{

+ 10 - 6
src/pages/imp/imp08.vue

@@ -1,9 +1,9 @@
 <template>
-    <div style="padding:10px">
-        <div class="abs" style="text-align: center;top:2%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
+    <div  class="impDiv" @click.stop="void(0)" :style="{width:width+'px',top:xy.top+'px',left:xy.left-width+'px'}">
+        <div class="triangle"></div>
+        <div class="abs" style="text-align: center;margin-top:0%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
             <span style="position: relative;">产能预期天数<el-input v-model="preday" type="number" placeholder="选择" style="width: 100px;"/>
-                <el-button style="margin-left:10px" @click="impquery">查询</el-button>
-                <el-button style="margin-left:10px" @click="impdata">导出</el-button>
+                <el-button style="margin:10px" @click="impdata">导出</el-button>
             </span>                
         </div>
         <div>
@@ -34,10 +34,13 @@
     import * as echarts from 'echarts';
     export default {
         props:{
-
+            xy:{
+                type:Object
+            }
 
         },
-        setup(props,{emit}){           
+        setup(props,{emit}){    
+            const width=ref(300)       
             let preday=ref(7);
             function impquery(){
 
@@ -59,6 +62,7 @@
             })
 
             return{
+                width,
                 preday,
                 impdata,
                 impquery,

+ 1 - 1
src/pages/imp/imp09.vue

@@ -95,7 +95,7 @@
                 datalist.value=[];
                 const msg = ElMessage({
                         message:"正在加载数据",
-                        type:"into",
+                        type:"info",
                         duration:0, //一直显示
                 });
                 api.Get09Data().then((res)=>{

+ 12 - 15
src/pages/imp/imp10.vue

@@ -1,10 +1,8 @@
 <template>
-    <div style="padding:10px">
-        <div class="abs" style="text-align: center;top:2%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
-            <span style="position: relative;">日期<el-date-picker v-model="startDate" type="date" placeholder="选择日期"></el-date-picker>
-                <span> 到 </span>
-                <el-date-picker v-model="endDate" type="date" placeholder="选择日期"></el-date-picker>
-                <el-button style="margin-left:10px" @click="impquery">查询</el-button>
+    <div  class="impDiv" @click.stop="void(0)" :style="{width:width+'px',top:xy.top+'px',left:xy.left-width+'px'}">
+        <div class="triangle"></div>
+        <div class="abs" style="text-align: center;margin-top:0%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
+            <span style="position: relative;">日期<el-date-picker v-model="startDate" type="date" placeholder="选择日期"></el-date-picker>                
                 <el-button style="margin-left:10px" @click="impdata">导出</el-button>
             </span>                
         </div>
@@ -36,27 +34,28 @@
     import * as echarts from 'echarts';
     export default {
         props:{
-
+            xy:{
+                type:Object
+            }
 
         },
         setup(props,{emit}){
-           
+            const width=ref(300)
             let startDate=ref('');
-            let endDate = ref('');
 
             function impquery(){
 
             }
 
             function impdata(){
-                if(startDate.value=='' || endDate.value=='' || startDate.value==null || endDate.value==null){
+                if(startDate.value=='' || startDate.value==null ){
                     ElMessage({
                         message: "未选择正确的日期",
                         type: "error"
                     })
                     return;
                 }
-                window.open(ApiServer + "/api/export/production?start="+startDate.value+"&end="+endDate.value)
+                window.open(ApiServer + "/api/export/productivity-day?date="+startDate.value);
             }
 
             onMounted(()=>{
@@ -66,16 +65,14 @@
                 }else{
                     day=day.setDate(day.getDate()-1);
                 }
-                var day1 = new Date().setDate(new Date(day).getDate() - 7);
-                startDate.value = new Date(day1).Format("yyyy-MM-dd");
-                endDate.value  =new Date(day).Format("yyyy-MM-dd");
+                startDate.value = new Date(day).Format("yyyy-MM-dd");
             })
 
             return{
                 startDate,
-                endDate,
                 impdata,
                 impquery,
+                width,
             }
         }
     }

+ 11 - 14
src/pages/imp/imp11.vue

@@ -1,10 +1,8 @@
 <template>
-    <div style="padding:10px">
-        <div class="abs" style="text-align: center;top:2%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
+    <div  class="impDiv" @click.stop="void(0)" :style="{width:width+'px',top:xy.top+'px',left:xy.left-width+'px'}">
+        <div class="triangle"></div>
+        <div class="abs" style="text-align: center;margin-top:0%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
             <span style="position: relative;">日期<el-date-picker v-model="startDate" type="date" placeholder="选择日期"></el-date-picker>
-                <span> 到 </span>
-                <el-date-picker v-model="endDate" type="date" placeholder="选择日期"></el-date-picker>
-                <el-button style="margin-left:10px" @click="impquery">查询</el-button>
                 <el-button style="margin-left:10px" @click="impdata">导出</el-button>
             </span>                
         </div>
@@ -36,27 +34,28 @@
     import * as echarts from 'echarts';
     export default {
         props:{
-
+            xy:{
+                type:Object
+            }
 
         },
         setup(props,{emit}){
-           
+            const width=ref(300)
             let startDate=ref('');
-            let endDate = ref('');
 
             function impquery(){
 
             }
 
             function impdata(){
-                if(startDate.value=='' || endDate.value=='' || startDate.value==null || endDate.value==null){
+                if(startDate.value=='' || startDate.value==null ){
                     ElMessage({
                         message: "未选择正确的日期",
                         type: "error"
                     })
                     return;
                 }
-                window.open(ApiServer + "/api/export/production?start="+startDate.value+"&end="+endDate.value)
+                window.open(ApiServer + "/api/export/productivity-month?date="+startDate.value);
             }
 
             onMounted(()=>{
@@ -66,14 +65,12 @@
                 }else{
                     day=day.setDate(day.getDate()-1);
                 }
-                var day1 = new Date().setDate(new Date(day).getDate() - 7);
-                startDate.value = new Date(day1).Format("yyyy-MM-dd");
-                endDate.value  =new Date(day).Format("yyyy-MM-dd");
+                startDate.value = new Date(day).Format("yyyy-MM-dd");
             })
 
             return{
+                width,
                 startDate,
-                endDate,
                 impdata,
                 impquery,
             }

+ 12 - 13
src/pages/imp/imp12.vue

@@ -1,10 +1,8 @@
 <template>
-    <div style="padding:10px">
-        <div class="abs" style="text-align: center;top:2%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
-            <span style="position: relative;">日期<el-date-picker v-model="startDate" type="date" placeholder="选择日期"></el-date-picker>
-                <span> 到 </span>
-                <el-date-picker v-model="endDate" type="date" placeholder="选择日期"></el-date-picker>
-                <el-button style="margin-left:10px" @click="impquery">查询</el-button>
+    <div  class="impDiv" @click.stop="void(0)" :style="{width:width+'px',top:xy.top+'px',left:xy.left-width+'px'}">
+        <div class="triangle"></div>
+        <div class="abs" style="text-align: center;margin-top:0%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
+            <span style="position: relative;">日期<el-date-picker v-model="startDate" type="date" placeholder="选择日期" style="z-index:100000"></el-date-picker>
                 <el-button style="margin-left:10px" @click="impdata">导出</el-button>
             </span>                
         </div>
@@ -36,11 +34,13 @@
     import * as echarts from 'echarts';
     export default {
         props:{
-
+            xy:{
+                type:Object
+            }
 
         },
         setup(props,{emit}){
-           
+            const width=ref(300)
             let startDate=ref('');
             let endDate = ref('');
 
@@ -49,14 +49,14 @@
             }
 
             function impdata(){
-                if(startDate.value=='' || endDate.value=='' || startDate.value==null || endDate.value==null){
+                if(startDate.value=='' || startDate.value==null ){
                     ElMessage({
                         message: "未选择正确的日期",
                         type: "error"
                     })
                     return;
                 }
-                window.open(ApiServer + "/api/export/production?start="+startDate.value+"&end="+endDate.value)
+                window.open(ApiServer + "/api/export/energy-day?date="+startDate.value);
             }
 
             onMounted(()=>{
@@ -66,12 +66,11 @@
                 }else{
                     day=day.setDate(day.getDate()-1);
                 }
-                var day1 = new Date().setDate(new Date(day).getDate() - 7);
-                startDate.value = new Date(day1).Format("yyyy-MM-dd");
-                endDate.value  =new Date(day).Format("yyyy-MM-dd");
+                startDate.value = new Date(day).Format("yyyy-MM-dd");
             })
 
             return{
+                width,
                 startDate,
                 endDate,
                 impdata,

+ 11 - 12
src/pages/imp/imp13.vue

@@ -1,10 +1,8 @@
 <template>
-    <div style="padding:10px">
-        <div class="abs" style="text-align: center;top:2%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
+    <div  class="impDiv" @click.stop="void(0)" :style="{width:width+'px',top:xy.top+'px',left:xy.left-width+'px'}">
+        <div class="triangle"></div>
+        <div class="abs" style="text-align: center;margin-top:0%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
             <span style="position: relative;">日期<el-date-picker v-model="startDate" type="date" placeholder="选择日期"></el-date-picker>
-                <span> 到 </span>
-                <el-date-picker v-model="endDate" type="date" placeholder="选择日期"></el-date-picker>
-                <el-button style="margin-left:10px" @click="impquery">查询</el-button>
                 <el-button style="margin-left:10px" @click="impdata">导出</el-button>
             </span>                
         </div>
@@ -36,11 +34,13 @@
     import * as echarts from 'echarts';
     export default {
         props:{
-
+            xy:{
+                type:Object
+            }
 
         },
         setup(props,{emit}){
-           
+            const width=ref(300)
             let startDate=ref('');
             let endDate = ref('');
 
@@ -49,14 +49,14 @@
             }
 
             function impdata(){
-                if(startDate.value=='' || endDate.value=='' || startDate.value==null || endDate.value==null){
+                if(startDate.value=='' || startDate.value==null ){
                     ElMessage({
                         message: "未选择正确的日期",
                         type: "error"
                     })
                     return;
                 }
-                window.open(ApiServer + "/api/export/production?start="+startDate.value+"&end="+endDate.value)
+                window.open(ApiServer + "/api/export/energy-month?date="+startDate.value)
             }
 
             onMounted(()=>{
@@ -66,12 +66,11 @@
                 }else{
                     day=day.setDate(day.getDate()-1);
                 }
-                var day1 = new Date().setDate(new Date(day).getDate() - 7);
-                startDate.value = new Date(day1).Format("yyyy-MM-dd");
-                endDate.value  =new Date(day).Format("yyyy-MM-dd");
+                startDate.value = new Date(day).Format("yyyy-MM-dd");
             })
 
             return{
+                width,
                 startDate,
                 endDate,
                 impdata,

+ 31 - 7
src/pages/imp/imp14.vue

@@ -1,11 +1,13 @@
 <template>
-    <div style="padding:10px">
-        <div class="abs" style="text-align: center;top:2%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
+    <div  class="impDiv" @click.stop="void(0)" :style="{width:width+'px',top:xy.top+'px',left:xy.left-width+'px'}">
+        <div class="triangle"></div>
+        <div class="abs" style="text-align: center;margin-top:0%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
             <span style="position: relative;">日期<el-date-picker v-model="startDate" type="date" placeholder="选择日期"></el-date-picker>
+                <el-select style="width: 100px;" v-model="startH"><el-option v-for="item in startHourList" :key="item.code" :label="item.name" :value="item.code"></el-option> </el-select>
                 <span> 到 </span>
                 <el-date-picker v-model="endDate" type="date" placeholder="选择日期"></el-date-picker>
-                <el-button style="margin-left:10px" @click="impquery">查询</el-button>
-                <el-button style="margin-left:10px" @click="impdata">导出</el-button>
+                <el-select style="width: 100px;" v-model="endH"><el-option v-for="item in endHourList" :key="item.code" :label="item.name" :value="item.code"></el-option> </el-select>
+                <el-button style="margin:10px" @click="impdata">导出</el-button>
             </span>                
         </div>
         <div>
@@ -36,13 +38,19 @@
     import * as echarts from 'echarts';
     export default {
         props:{
-
+            xy:{
+                type:Object
+            }
 
         },
         setup(props,{emit}){
-           
+            const width=ref(700)
             let startDate=ref('');
             let endDate = ref('');
+            let startH = ref(7);
+            let endH = ref(19);
+            let startHourList = ref([]);
+            let endHourList = ref([]);
 
             function impquery(){
 
@@ -56,7 +64,9 @@
                     })
                     return;
                 }
-                window.open(ApiServer + "/api/export/production?start="+startDate.value+"&end="+endDate.value)
+                let s1 = startDate.value +" "+startH.value+":00:00";
+                let s2 = endDate.value +" "+endH.value+":00:00";
+                window.open(ApiServer + "/api/export/order?start="+s1+"&end="+s2)
             }
 
             onMounted(()=>{
@@ -69,11 +79,25 @@
                 var day1 = new Date().setDate(new Date(day).getDate() - 7);
                 startDate.value = new Date(day1).Format("yyyy-MM-dd");
                 endDate.value  =new Date(day).Format("yyyy-MM-dd");
+                var hour1Opts = [];
+                var hour2Opts = [];
+                //var nowHour = new Date().Format("h");
+                for (var i = 0; i < 24; i++) {
+                    hour1Opts.push({"name":i+'时',"code":i});
+                    hour2Opts.push({"name":i+'时',"code":i});
+                }
+                startHourList.value = hour1Opts;
+                endHourList.value = hour2Opts;
             })
 
             return{
+                width,
                 startDate,
                 endDate,
+                startH,
+                endH,
+                startHourList,
+                endHourList,
                 impdata,
                 impquery,
             }

+ 11 - 30
src/pages/imp/imp15.vue

@@ -1,10 +1,8 @@
 <template>
-    <div style="padding:10px">
-        <div class="abs" style="text-align: center;top:2%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
-            <span style="position: relative;">日期<el-date-picker v-model="startDate" type="date" placeholder="选择日期"></el-date-picker>
-                <span> 到 </span>
-                <el-date-picker v-model="endDate" type="date" placeholder="选择日期"></el-date-picker>
-                <el-button style="margin-left:10px" @click="impquery">查询</el-button>
+    <div  class="impDiv" @click.stop="void(0)" :style="{width:width+'px',top:xy.top+'px',left:xy.left-width+'px'}">
+        <div class="triangle"></div>
+        <div class="abs" style="text-align: center;margin-top:0%;width: 100%;letter-spacing: 5px;color: #cdd2fb;font-size: 18px;">
+            <span style="position: relative;">
                 <el-button style="margin-left:10px" @click="impdata">导出</el-button>
             </span>                
         </div>
@@ -36,44 +34,27 @@
     import * as echarts from 'echarts';
     export default {
         props:{
-
+            xy:{
+                type:Object
+            }
 
         },
         setup(props,{emit}){
-           
-            let startDate=ref('');
-            let endDate = ref('');
-
+            const width=ref(300)
             function impquery(){
 
             }
 
             function impdata(){
-                if(startDate.value=='' || endDate.value=='' || startDate.value==null || endDate.value==null){
-                    ElMessage({
-                        message: "未选择正确的日期",
-                        type: "error"
-                    })
-                    return;
-                }
-                window.open(ApiServer + "/api/export/production?start="+startDate.value+"&end="+endDate.value)
+                window.open(ApiServer + "/api/export/tmp");
             }
 
             onMounted(()=>{
-                var day = new Date();
-                if(day.getHours()<7){
-                    day=day.setDate(day.getDate()-2);
-                }else{
-                    day=day.setDate(day.getDate()-1);
-                }
-                var day1 = new Date().setDate(new Date(day).getDate() - 7);
-                startDate.value = new Date(day1).Format("yyyy-MM-dd");
-                endDate.value  =new Date(day).Format("yyyy-MM-dd");
+
             })
 
             return{
-                startDate,
-                endDate,
+                width,
                 impdata,
                 impquery,
             }

+ 4 - 6
src/pages/main/index.vue

@@ -119,7 +119,7 @@ export default {
                 userTimeout: 1000 * 60 * 5, // 用户操作超时设置,毫秒
                 exitTimeout: 1000 * 60 * 60 * 999999, // 用户超时后多久断开会话
                 maxTimeout: 1000, // 会话超时时间,允许掉线后引擎保存多久,在该时间内可重新连接到会话,否则会创建新的会话
-                debug: true // 是否启用调试,开启后调用Native接口时会使用console.log进行记录
+                debug: false // 是否启用调试,开启后调用Native接口时会使用console.log进行记录
             });
             //2.[可选]监听连接成功消息
             player.on("Connected", () => {
@@ -428,7 +428,7 @@ export default {
                 } catch (e) {
                 }
             }
-            player.Native.Camera.moveTo([-116.07104849630147,-18.169370509268738,56.9319977765473], [-107.36823484646561,85.73911893683285,-24.094438051363845], [0.051211696426811185,        0.6114493808312381,0.7896246050055583], 1);
+            player.Native.Camera.moveTo([-112.11831605370315, -39.47491915621944, 55.053722411257986], [-111.40213220295327, 103.19683033795573, -21.927318724155974], [0.0023836205084244643, 0.4748435861970737, 0.880066978701493], 1);
             // 使用异步函数
             (async () => {
                 setTimeout(function() {
@@ -445,9 +445,7 @@ export default {
                 } catch (e) {
                 }
             }
-            player.Native.Camera.moveTo([-166.98026525742,-32.98437562738662,59.7147755911012], [-162.48491725546455,167.01477211136037,-57.41703426855314], [0.01135409744633673,
-            0.5051466119244602,
-            0.8629588547158074], 1);
+            player.Native.Camera.moveTo([-165.95599185954217, -45.64071153770574, 51.618717703740046], [-164.97558683415676, 188.00984417962832, -47.631915576574826], [0.0016404996757448046, 0.3909646023491811, 0.9204042527448256], 1);
             // 使用异步函数
             (async () => {
                 setTimeout(function() {
@@ -464,7 +462,7 @@ export default {
                 } catch (e) {
                 }
             }
-            player.Native.Camera.moveTo([-12.99017721352439,-10.080563284010175,49.554397409976204], [8.296305403003473,44.55134282689619,-4.17230772054176], [0.245272865291882,       0.6294945195771604,0.737277336810125], 1);
+            player.Native.Camera.moveTo([-1.4278872234970912, -35.860292172842726, 45.17447131604416], [-0.9361737274384958, 62.09447832231165, 2.337398320693808], [0.0020112694631236063, 0.40066713694655265, 0.916221479865103], 1);
             // 使用异步函数
             (async () => {
                 setTimeout(function() {

+ 36 - 1
src/styles/main.css

@@ -74,6 +74,11 @@
         width: 100%;
         border: 0;       
     }
+    .impWin .content,.impWin iframe{
+        height: 160px !important;
+        width: 100%;
+        border: 0;       
+    }
     .bpbWin{
         width: 1366px !important;
         height: 764px !important;
@@ -82,6 +87,35 @@
         margin-top: -382px !important;
         margin-left:-683px !important;
     }
+    .impWin{
+        width: 800px !important;
+        height: 160px !important;
+        left: 50%;
+        top:50%;
+        margin-top: -80px !important;
+        margin-left:-400px !important;        
+    }
+    .impDiv{
+        padding:15px;
+        position:absolute;
+        z-index:100000;
+        top:0;
+        left:0;
+        width:780px;
+        background: #396da9;                
+        border: 1px solid #314f85;
+    }
+    .impDiv .triangle{
+        width: 0;
+        height: 0;
+        position: absolute;
+        top: 20px;
+        right: -12px;
+        border-width: 6px;
+        border-style: solid;
+        border-color:transparent transparent transparent #396da9 ;
+        border-radius: 4rpx;
+    }
     #loading{
         position: absolute;
         top: 50%;
@@ -122,7 +156,8 @@
         background: rgba(19,47,95,0.8);
         box-shadow: 0px 0px 12px 0px rgba(0,0,0,0.2);
         border-radius: 2px 2px 2px 2px;
-        z-index: 1
+        z-index: 1;
+        overflow-y: auto;
     }
     #search_result .item{
         border-radius: 2px 2px 2px 2px;height: 30px;line-height: 30px;padding-left: 5px;cursor: pointer;