浏览代码

feat: 联调

@dayan_hjm 2 年之前
父节点
当前提交
3e17bdf8db
共有 4 个文件被更改,包括 195 次插入69 次删除
  1. 42 46
      src/pages/gvc/api.js
  2. 3 3
      src/pages/gvc/mod.js
  3. 1 1
      src/pages/gvc/style.less
  4. 149 19
      src/pages/gvc/view.jsx

+ 42 - 46
src/pages/gvc/api.js

@@ -8,32 +8,31 @@ export function checkToken(params) {
8 8
   });
9 9
 }
10 10
 
11
-/**碳排放 */
12
-export function dataengineCenterOneservice(params) {
11
+/**各基地库存明细 */
12
+export function smallMaterialService(params) {
13 13
   return request({
14
-    url: "/dataengine-center-oneservice/list/1356250396177503367",
14
+    url: "/dataengine-center-oneservice/list/1357515512842851674",
15 15
     method: "POST",
16 16
     data: {
17
-      "apiId": "1356250396177503367",
18
-      "appKey": "200000134",
17
+      "apiId": "1357515512842851674",
18
+      "appKey": "200000135",
19 19
       "env": "PROD",
20 20
       "reqProtocol": 1,
21 21
       "returnFields": [
22
-        "byear",
23
-        "missionsIntensity",
24
-        "missionsTotal",
25
-        "biz_id"
22
+        "factoryNameCode",
23
+        "prodCatgory",
24
+        "indexValue",
26 25
       ],
27 26
       "pageNum": 1,
28 27
       "pageSize": 10,
29 28
       "useResultCache": false
30 29
     },
31 30
     headers: {
32
-      sign: '19c3cdb58b80e44f2490b8eba3b7f938',
31
+      sign: '74cd2e9daad07a24d6dd052d0e099a04',
33 32
       account: 'yunxi_fuxue',
34 33
       'Cache-Control': 'no-cache',
35
-      apiId: '1356250396177503367',
36
-      appKey: '200000134',
34
+      apiId: '1357515512842851674',
35
+      appKey: '200000135',
37 36
       execType: '3',
38 37
       env: 'PROD',
39 38
     }
@@ -41,19 +40,19 @@ export function dataengineCenterOneservice(params) {
41 40
 }
42 41
 
43 42
 
44
-/**库存金额 */
45
-export function momeyService(params) {
43
+/**各基地日,月累计,年累计产量 */
44
+export function smallDayService(params) {
46 45
   return request({
47
-    url: "/dataengine-center-oneservice/list/1356776817075459329",
46
+    url: "/dataengine-center-oneservice/list/1357506251394946361",
48 47
     method: "POST",
49 48
     data: {
50
-      "apiId": "1356776817075459329",
51
-      "appKey": "200000134",
49
+      "apiId": "1357506251394946361",
50
+      "appKey": "200000135",
52 51
       "env": "PROD",
53 52
       "reqProtocol": 1,
54 53
       "returnFields": [
55
-        "indexName",
56
-        "prodCatgory",
54
+        "factoryNameCode",
55
+        "dateType",
57 56
         "indexValue"
58 57
       ],
59 58
       "pageNum": 1,
@@ -61,11 +60,11 @@ export function momeyService(params) {
61 60
       "useResultCache": false
62 61
     },
63 62
     headers: {
64
-      sign: 'd58de970856e583f126d186662251024',
63
+      sign: 'a31d189029e2b940a6d5e5188b6b49cf',
65 64
       account: 'yunxi_fuxue',
66 65
       'Cache-Control': 'no-cache',
67
-      apiId: '1356776817075459329',
68
-      appKey: '200000134',
66
+      apiId: '1357506251394946361',
67
+      appKey: '200000135',
69 68
       execType: '3',
70 69
       env: 'PROD',
71 70
     }
@@ -135,64 +134,61 @@ export function rollService(params) {
135 134
 }
136 135
 
137 136
 
138
-/**近30天产量*/
139
-export function mondService(params) {
137
+/**锂辉石库存*/
138
+export function bigShopService(params) {
140 139
   return request({
141
-    url: "/dataengine-center-oneservice/list/1356244872119751767",
140
+    url: "/dataengine-center-oneservice/list/1357489941160170789",
142 141
     method: "POST",
143 142
     data: {
144
-      "apiId": "1356244872119751767",
145
-      "appKey": "200000134",
143
+      "apiId": "1357489941160170789",
144
+      "appKey": "200000135",
146 145
       "env": "PROD",
147 146
       "reqProtocol": 1,
148 147
       "returnFields": [
149
-        "indexName",
150
-        "indexDate",
151
-        "indexValue"
148
+        "warehouseNameCode",
149
+        "indexValue",
152 150
       ],
153 151
       "pageNum": 1,
154 152
       "pageSize": 10,
155 153
       "useResultCache": false
156 154
     },
157 155
     headers: {
158
-      sign: 'ef3ecc442896d925cc02d36f1107d9e3',
156
+      sign: 'ae4c520da5ae882455307324f75f5277',
159 157
       account: 'yunxi_fuxue',
160 158
       'Cache-Control': 'no-cache',
161
-      apiId: '1356244872119751767',
162
-      appKey: '200000134',
159
+      apiId: '1357489941160170789',
160
+      appKey: '200000135',
163 161
       execType: '3',
164 162
       env: 'PROD',
165 163
     }
166 164
   });
167 165
 }
168 166
 
169
-/**月度产量/发货量+一次合格率*/
170
-export function twoService(params) {
167
+/**个基地年累计产量,库存*/
168
+export function smallShopService(params) {
171 169
   return request({
172
-    url: "/dataengine-center-oneservice/list/1356411403496625359",
170
+    url: "/dataengine-center-oneservice/list/1357592780709598582",
173 171
     method: "POST",
174 172
     data: {
175
-      "apiId": "1356411403496625359",
176
-      "appKey": "200000134",
173
+      "apiId": "1357592780709598582",
174
+      "appKey": "200000135",
177 175
       "env": "PROD",
178 176
       "reqProtocol": 1,
179 177
       "returnFields": [
180
-        "bMonth",
181
-        "proQty",
182
-        "deliveryQty",
183
-        "qcRate",
184
-        "targeRate",
178
+        "factoryCode",
179
+        "production",
180
+        "inventory",
185 181
       ],
186 182
       "pageNum": 1,
187 183
       "pageSize": 10,
188 184
       "useResultCache": false
189 185
     },
190 186
     headers: {
191
-      sign: '9c472223a9acbdb9f16bebb7002e0c40',
187
+      sign: 'a842b5c5c462d7cacd2baad402ea94a7',
192 188
       account: 'yunxi_fuxue',
193 189
       'Cache-Control': 'no-cache',
194
-      apiId: '1356411403496625359',
195
-      appKey: '200000134',
190
+      apiId: '1357592780709598582',
191
+      appKey: '200000135',
196 192
       execType: '3',
197 193
       env: 'PROD',
198 194
     }

+ 3 - 3
src/pages/gvc/mod.js

@@ -19,21 +19,21 @@ const defaultState = {
19 19
       total: 4500,
20 20
       totalName: "累计运输锂辉石",
21 21
       styles: { left: "0%", top: "19%" },
22
-      cumulativeProduction: "",
22
+      cumulativeProduction: null,
23 23
       inventory: 0,
24 24
     },
25 25
     {
26 26
       total: 3233,
27 27
       totalName: "锂辉石库存量",
28 28
       styles: { left: "11%", top: "45%" },
29
-      cumulativeProduction: "",
29
+      cumulativeProduction: null,
30 30
       inventory: 0,
31 31
     },
32 32
     {
33 33
       total: 3578,
34 34
       totalName: "锂辉石库存量",
35 35
       styles: { left: "34%", top: "27%" },
36
-      cumulativeProduction: "",
36
+      cumulativeProduction: null,
37 37
       inventory: 0,
38 38
     },
39 39
     {

+ 1 - 1
src/pages/gvc/style.less

@@ -201,7 +201,7 @@
201 201
 
202 202
           li {
203 203
             position: absolute;
204
-            width: 14em;
204
+            width: 17em;
205 205
             height: 4em;
206 206
             opacity: 1;
207 207
             background: linear-gradient(0deg, #ffffff26 0%, #ffffff00 100%);

+ 149 - 19
src/pages/gvc/view.jsx

@@ -2,7 +2,7 @@
2 2
  * @Author: dayan_hjm  产供销价值链
3 3
  * @Date: 2023-11-10 10:19:34 
4 4
  * @Last Modified by: dayan_hjm
5
- * @Last Modified time: 2023-11-16 16:47:16
5
+ * @Last Modified time: 2023-11-17 15:52:57
6 6
  */
7 7
 
8 8
 import React, { useState, useEffect, Component } from "react";
@@ -15,7 +15,10 @@ import { toJS } from "mobx";
15 15
 import RightBottomView from "./component/rightBottomView.jsx";
16 16
 import {
17 17
   leftService,
18
-  rollService,
18
+  bigShopService,
19
+  smallShopService,
20
+  smallDayService,
21
+  smallMaterialService,
19 22
   checkToken,
20 23
   updateTimeService
21 24
 } from "./api";
@@ -66,8 +69,11 @@ class Gvc extends Component {
66 69
   componentDidMount() {
67 70
     // this.fontMsgChange();
68 71
     this.getUrl();
69
-    // this.getUrl2()
72
+    this.getUrl2()
73
+    this.getUrl4()
70 74
     this.getUrl3();
75
+
76
+
71 77
     setTimeout(() => {
72 78
       this.videoStart();
73 79
     }, 200)
@@ -76,6 +82,12 @@ class Gvc extends Component {
76 82
       this.setState({ changGif: true });
77 83
       $(".shu1").numScroll();
78 84
     }, 3000)
85
+    setTimeout(() => {
86
+      this.getUrl5()
87
+      setTimeout(() => {
88
+        this.getUrl6()
89
+      }, 500)
90
+    }, 2000)
79 91
   }
80 92
   videoStart() {
81 93
     /*     Chrome 浏览器的视频自动播放策略
@@ -153,21 +165,139 @@ class Gvc extends Component {
153 165
     });
154 166
   }
155 167
   async getUrl2() {
156
-    await rollService().then(({ data = [], resultCode }) => {
168
+    await bigShopService().then(({ data = [], resultCode }) => {
157 169
       if (+resultCode === 0) {
158
-        let totalValue = 0, yearDecline = 0, yearSend = 0, productInventory = 0;
159
-        data.map((x, i) => {
160
-          if (x.indexName == '产值') {
161
-            totalValue = x.indexValue
162
-          } else if (x.indexName == '年度产量') {
163
-            yearDecline = x.indexValue
164
-          } else if (x.indexName == '产品库存') {
165
-            yearSend = x.indexValue
166
-          } else if (x.indexName == '年度发货量') {
167
-            productInventory = x.indexValue
170
+        const name_ = ["", "锂辉石库存量", "锂辉石库存量", "累计运输锂辉石"];
171
+        const style__ = [{}, { left: "34%", top: "27%" }, { left: "11%", top: "45%" }, { left: "0%", top: "19%" }]
172
+        data = data.map((x, i) => {
173
+          return {
174
+            ...x,
175
+            total: x.indexValue,
176
+            totalName: name_[x.warehouseNameCode],
177
+            styles: style__[x.warehouseNameCode],
178
+            cumulativeProduction: null,
179
+            inventory: 0,
168 180
           }
169 181
         });
170
-        this.store.saveState({ totalValue, yearDecline, yearSend, productInventory });
182
+        const d_1 = data.filter(x => { return x.warehouseNameCode == 3 })[0];
183
+        const d_2 = data.filter(x => { return x.warehouseNameCode == 2 })[0];
184
+        const d_3 = data.filter(x => { return x.warehouseNameCode == 1 })[0];
185
+        let old_imgMsgData = this.store.state.imgMsgData;
186
+        old_imgMsgData[0] = d_1;
187
+        old_imgMsgData[1] = d_2;
188
+        old_imgMsgData[2] = d_3;
189
+
190
+        this.store.saveState({ imgMsgData: old_imgMsgData });
191
+      }
192
+    });
193
+  }
194
+  async getUrl4() {
195
+    await smallShopService().then(({ data = [], resultCode }) => {
196
+      if (+resultCode === 0) {
197
+        const style__ = [{}, { left: "88%", top: "28%" }, { left: "70%", top: "42%" }, { left: "52%", top: "56%" }, { left: "11%", top: "88%" }, { left: "30%", top: "73%" }]
198
+        data = data.map((x, i) => {
199
+          return {
200
+            ...x,
201
+            total: 0,
202
+            totalName: "",
203
+            styles: style__[x.factoryCode],
204
+            cumulativeProduction: x.production,
205
+            inventory: x.inventory,
206
+          }
207
+        });
208
+        const d_1 = data.filter(x => { return x.factoryCode == 4 })[0];
209
+        const d_2 = data.filter(x => { return x.factoryCode == 5 })[0];
210
+        const d_3 = data.filter(x => { return x.factoryCode == 3 })[0];
211
+        // const d_4 = data.filter(x=>{return x.factoryCode == 2})[0];
212
+        const d_4 = data.filter(x => { return x.factoryCode == null })[0];
213
+        const d_5 = data.filter(x => { return x.factoryCode == 1 })[0];
214
+        let old_imgMsgData = this.store.state.imgMsgData;
215
+        old_imgMsgData[3] = d_1;
216
+        old_imgMsgData[4] = d_2;
217
+        old_imgMsgData[5] = d_3;
218
+        old_imgMsgData[6] = d_4;
219
+        old_imgMsgData[7] = d_5;
220
+        console.log(old_imgMsgData, "old_imgMsgData")
221
+        this.store.saveState({ imgMsgData: old_imgMsgData });
222
+      }
223
+    });
224
+  }
225
+  async getUrl5() {
226
+    await smallDayService().then(({ data = [], resultCode }) => {
227
+      if (+resultCode === 0) {
228
+        function getItems(num) {
229
+          const datas = data.filter(x => { return x.factoryNameCode == num });
230
+          const par = {
231
+            day: datas?.filter(x => { return x.dateType == 1 })?.[0]?.indexValue || 0,
232
+            mood: datas?.filter(x => { return x.dateType == 2 })?.[0]?.indexValue || 0,
233
+            year: datas?.filter(x => { return x.dateType == 3 })?.[0]?.indexValue || 0,
234
+          }
235
+          return par
236
+        }
237
+
238
+        const d_1 = getItems(5);
239
+        const d_2 = getItems(4);
240
+        const d_3 = getItems(3);
241
+        // const d_4 = data.filter(x=>{return x.factoryCode == 2})[0];
242
+        const d_4 = getItems(2);
243
+        const d_5 = getItems(1);
244
+        let old_imgMsgData = this.store.state.imgMsgData;
245
+        old_imgMsgData[3] = { ...old_imgMsgData[3], ...d_1 };
246
+        old_imgMsgData[4] = { ...old_imgMsgData[4], ...d_2 };
247
+        old_imgMsgData[5] = { ...old_imgMsgData[5], ...d_3 };
248
+        old_imgMsgData[6] = { ...old_imgMsgData[6], ...d_4 };
249
+        old_imgMsgData[7] = { ...old_imgMsgData[7], ...d_5 };
250
+        console.log(old_imgMsgData, "1111old_imgMsgData")
251
+        this.store.saveState({ imgMsgData: old_imgMsgData });
252
+      }
253
+    });
254
+  }
255
+
256
+  async getUrl6() {
257
+    await smallMaterialService().then(({ data = [], resultCode }) => {
258
+      if (+resultCode === 0) {
259
+        function getItems(num) {
260
+          const datas = data.filter(x => { return x.factoryNameCode == num });
261
+          const par = {
262
+            rawMaterial: [
263
+              {
264
+                prodCatgory: "原料-鲤辉石",
265
+                indexValue: datas?.filter(x => { return x.prodCatgory == 1 })?.[0]?.indexValue || 0,
266
+              },
267
+              {
268
+                prodCatgory: "产品-碳酸锂",
269
+                indexValue: datas?.filter(x => { return x.prodCatgory == 2 })?.[0]?.indexValue || 0,
270
+              },
271
+              {
272
+                prodCatgory: "产品-氯化锂",
273
+                indexValue: datas?.filter(x => { return x.prodCatgory == 3 })?.[0]?.indexValue || 0,
274
+              },
275
+              {
276
+                prodCatgory: "产品-氢氧化锂",
277
+                indexValue: datas?.filter(x => { return x.prodCatgory == 4 })?.[0]?.indexValue || 0,
278
+              },
279
+              {
280
+                prodCatgory: "产品-金属锂",
281
+                indexValue: datas?.filter(x => { return x.prodCatgory == 5 })?.[0]?.indexValue || 0,
282
+              }
283
+            ]
284
+          }
285
+          return par
286
+        }
287
+
288
+        const d_1 = getItems(5);
289
+        const d_2 = getItems(4);
290
+        const d_3 = getItems(3);
291
+        const d_4 = getItems(2);
292
+        const d_5 = getItems(1);
293
+        let old_imgMsgData = this.store.state.imgMsgData;
294
+        old_imgMsgData[3] = { ...old_imgMsgData[3], ...d_1 };
295
+        old_imgMsgData[4] = { ...old_imgMsgData[4], ...d_2 };
296
+        old_imgMsgData[5] = { ...old_imgMsgData[5], ...d_3 };
297
+        old_imgMsgData[6] = { ...old_imgMsgData[6], ...d_4 };
298
+        old_imgMsgData[7] = { ...old_imgMsgData[7], ...d_5 };
299
+        console.log(old_imgMsgData, "1111old_imgMsgData")
300
+        this.store.saveState({ imgMsgData: old_imgMsgData });
171 301
       }
172 302
     });
173 303
   }
@@ -240,7 +370,7 @@ class Gvc extends Component {
240 370
   render() {
241 371
     const stores = this.store.state;
242 372
     let { totalValue, yearDecline, yearSend, imgMsgData } = this.store.state;
243
-    let { LeftHtml,updateTime } = this.state;
373
+    let { LeftHtml, updateTime } = this.state;
244 374
     return (
245 375
       <div className={[styles.home_box + ' home_box']}>
246 376
         <div className={"all_box"}>
@@ -282,7 +412,7 @@ class Gvc extends Component {
282 412
                         }
283 413
                         {/* 基地 */}
284 414
                         {
285
-                          item.cumulativeProduction && <div className="hoverR">
415
+                          item.cumulativeProduction !== null && <div className="hoverR">
286 416
                             <div className="hoverDiv chanL">
287 417
                               <div style={{ width: "38%" }}>
288 418
                                 <p className="title">
@@ -306,7 +436,7 @@ class Gvc extends Component {
306 436
                           </div>
307 437
                         }
308 438
                         {
309
-                          item.cumulativeProduction && <div className="chanL text">
439
+                          item.cumulativeProduction !== null && <div className="chanL text">
310 440
                             <div>
311 441
                               <p>累计产量</p>
312 442
                               <span class="nums shu1">{item.cumulativeProduction}</span><span class="topMsg_number_2" style={{ fontSize: "0.75em", color: "#fff" }}>吨</span>
@@ -337,7 +467,7 @@ class Gvc extends Component {
337 467
               </div>
338 468
             </div>
339 469
             <div className="bottom_box">
340
-              <p style={{ color: "#6a818d", lineHeight: '2px',width: '100%',textAlign: "center" }}>
470
+              <p style={{ color: "#6a818d", lineHeight: '2px', width: '100%', textAlign: "center" }}>
341 471
                 更新时间 : {updateTime}
342 472
               </p>
343 473
             </div>