buzhi 1 gadu atpakaļ
vecāks
revīzija
db4303e571

+ 7 - 0
src/views/VisualDisplay/src/api/index.ts

@@ -239,4 +239,11 @@ export const GetSelectSydList = async (data:any) => {
239 239
     url: `/kshzs/zsxx/selectSydList`,
240 240
     data
241 241
   })
242
+}
243
+// 视频
244
+export const GetSelectSpList = async (data:any) => {
245
+  return await request.post({
246
+    url: `/kshzs/zsxx/selectSpList`,
247
+    data
248
+  })
242 249
 }

+ 257 - 198
src/views/VisualDisplay/src/pages/cf/index.vue

@@ -281,13 +281,19 @@
281 281
                     <!-- <el-table-column prop="jsdj" label="结算单价(元)" align="center" /> -->
282 282
                     <el-table-column prop="cch" label="车船号" align="center" />
283 283
                     <el-table-column prop="cfhw" label="仓房货位" align="center" />
284
-                    <el-table-column prop="crklx" label="出入库类型" align="center" />
285
-                    <el-table-column
286
-                      prop="zzmd"
287
-                      label="附件个数(个)"
288
-                      width="160"
289
-                      align="center"
290
-                    />
284
+                    <el-table-column prop="crklx" label="出入库类型" align="center">
285
+                      <template #default="scope">
286
+                        <span v-if="scope.row.crklx == 0">出库</span>
287
+                        <span v-if="scope.row.crklx == 1">入库</span>
288
+                      </template>
289
+                    </el-table-column>
290
+                    <el-table-column prop="fileIds" label="附件个数" width="160" align="center">
291
+                      <template #default="scope">
292
+                        <span class="fjBtn" @click="openFiles(scope.row.fileList)">{{
293
+                          scope.row.fileIds
294
+                        }}</span>
295
+                      </template>
296
+                    </el-table-column>
291 297
                   </el-table>
292 298
                   <el-pagination
293 299
                     @size-change="handleSizeChange"
@@ -334,144 +340,100 @@
334 340
                         <span v-if="!scope.row.sfhg && scope.row.sfhg !== 0">-</span>
335 341
                       </template>
336 342
                     </el-table-column>
337
-                    <el-table-column prop="zzmd" label="纸质码单" align="center" />
343
+                    <el-table-column prop="zzmd" label="附件个数" align="center" />
338 344
                   </el-table>
339 345
                 </el-scrollbar>
340 346
               </div>
341 347
             </div>
342 348
             <div v-if="tabPosition == 'wsdjc'">
343
-              <el-scrollbar style="height: 600px">
344
-                <!-- <div class="radiobox">
349
+              <!-- <div class="radiobox">
345 350
                   <el-radio-group @change="zhijianInfo" v-model="wensdRadio">
346 351
                     <el-radio-button label="01" value="01">列表信息</el-radio-button>
347 352
                     <el-radio-button label="02" value="02">图文信息</el-radio-button>
348 353
                   </el-radio-group>
349 354
                 </div> -->
350
-                <div v-if="wensdRadio == '01'">
351
-                  <el-form class="formstyletwo" ref="form" :model="wensdform" label-width="200px">
352
-                    <el-row>
353
-                      <el-col :span="8">
354
-                        <el-form-item label="仓廒名称">
355
-                          <el-input v-model="wensdform.camc" />
356
-                        </el-form-item>
357
-                      </el-col>
358
-                      <el-col :span="8">
359
-                        <el-form-item label="粮食品种">
360
-                          <el-input v-model="wensdform.lspzmc" />
361
-                        </el-form-item>
362
-                      </el-col>
363
-                      <el-col :span="8">
355
+              <div>
356
+                <el-form class="formstyletwo" ref="form" :model="wensdform" label-width="200px">
357
+                  <el-row :gutter="30">
358
+                    <el-col :span="8">
359
+                      <el-form-item label="仓廒名称">
360
+                        <el-input v-model="wensdform.camc" />
361
+                      </el-form-item>
362
+                    </el-col>
363
+                    <el-col :span="8">
364
+                      <el-form-item label="粮食品种">
365
+                        <el-input v-model="wensdform.lspzmc" />
366
+                      </el-form-item>
367
+                    </el-col>
368
+                    <!-- <el-col :span="8">
364 369
                         <el-form-item label="粮食性质">
365 370
                           <el-input v-model="wensdform.lsxzmc" />
366 371
                         </el-form-item>
367
-                      </el-col>
368
-                      <el-col :span="8">
369
-                        <el-form-item label="粮食等级">
370
-                          <el-input v-model="wensdform.lsdjmc" />
371
-                        </el-form-item>
372
-                      </el-col>
373
-                      <el-col :span="8">
374
-                        <el-form-item label="粮食数量(吨)">
375
-                          <el-input v-model="wensdform.kcsl" />
376
-                        </el-form-item>
377
-                      </el-col>
378
-                      <el-col :span="8">
379
-                        <el-form-item label="仓房外温(℃)">
380
-                          <el-input v-model="wensdform.cfww" />
381
-                        </el-form-item>
382
-                      </el-col>
383
-                      <el-col :span="8">
384
-                        <el-form-item label="仓房外湿(%)">
385
-                          <el-input v-model="wensdform.cfws" />
386
-                        </el-form-item>
387
-                      </el-col>
388
-                      <el-col :span="8">
389
-                        <el-form-item label="仓房内温(℃)">
390
-                          <el-input v-model="wensdform.cfnw" />
391
-                        </el-form-item>
392
-                      </el-col>
393
-                      <el-col :span="8">
394
-                        <el-form-item label="仓房内湿(%)">
395
-                          <el-input v-model="wensdform.cfns" />
396
-                        </el-form-item>
397
-                      </el-col>
398
-                      <el-col :span="8">
399
-                        <el-form-item label="粮食最高温(℃)">
400
-                          <el-input v-model="wensdform.lszgw" />
401
-                        </el-form-item>
402
-                      </el-col>
403
-                      <el-col :span="8">
404
-                        <el-form-item label="粮食最低温(℃)">
405
-                          <el-input v-model="wensdform.lszdw" />
406
-                        </el-form-item>
407
-                      </el-col>
408
-                      <el-col :span="8">
409
-                        <el-form-item label="粮食平均温(℃)">
410
-                          <el-input v-model="wensdform.lspjw" />
411
-                        </el-form-item>
412
-                      </el-col>
413
-                    </el-row>
414
-                  </el-form>
415
-                  <div v-if="0">
416
-                    <el-scrollbar style="height: 500px">
417
-                      <div
418
-                        class="resettablewrap"
419
-                        v-for="(cengitem, cengindex) in wensdform.wsdjhList"
420
-                        :key="cengindex"
421
-                      >
422
-                        <h3><i></i>{{ cengitem.cs }}</h3>
423
-                        <el-table
424
-                          :data="cengitem.hangList"
425
-                          style="width: 100%; margin-bottom: 20px; overflow-x: hidden"
426
-                          :header-cell-class-name="'headerBg'"
427
-                          :row-class-name="tableRowClassName"
428
-                        >
429
-                          <el-table-column prop="xulie" label="列号行号" align="center" />
430
-                          <el-table-column
431
-                            v-for="(childItem, childIndex) in cengitem.lie"
432
-                            :property="'lie' + childItem"
433
-                            :key="childIndex"
434
-                            :label="childItem + '列'"
435
-                            align="center"
436
-                          />
437
-                        </el-table>
372
+                      </el-col> -->
373
+                    <el-col :span="8">
374
+                      <el-form-item label="粮食等级">
375
+                        <el-input v-model="wensdform.lsdjmc" />
376
+                      </el-form-item>
377
+                    </el-col>
378
+                    <el-col :span="8">
379
+                      <el-form-item label="粮食数量(吨)">
380
+                        <el-input v-model="wensdform.kcsl" />
381
+                      </el-form-item>
382
+                    </el-col>
383
+                    <el-col :span="8">
384
+                      <el-form-item label="仓房外温(℃)">
385
+                        <el-input v-model="wensdform.cfww" />
386
+                      </el-form-item>
387
+                    </el-col>
388
+                    <el-col :span="8">
389
+                      <el-form-item label="仓房外湿(%)">
390
+                        <el-input v-model="wensdform.cfws" />
391
+                      </el-form-item>
392
+                    </el-col>
393
+                    <el-col :span="8">
394
+                      <el-form-item label="仓房内温(℃)">
395
+                        <el-input v-model="wensdform.cfnw" />
396
+                      </el-form-item>
397
+                    </el-col>
398
+                    <el-col :span="8">
399
+                      <el-form-item label="仓房内湿(%)">
400
+                        <el-input v-model="wensdform.cfns" />
401
+                      </el-form-item>
402
+                    </el-col>
403
+                    <el-col :span="8">
404
+                      <el-form-item label="粮食最高温(℃)">
405
+                        <el-input v-model="wensdform.lszgw" />
406
+                      </el-form-item>
407
+                    </el-col>
408
+                    <el-col :span="8">
409
+                      <el-form-item label="粮食最低温(℃)">
410
+                        <el-input v-model="wensdform.lszdw" />
411
+                      </el-form-item>
412
+                    </el-col>
413
+                    <el-col :span="8">
414
+                      <el-form-item label="粮食平均温(℃)">
415
+                        <el-input v-model="wensdform.lspjw" />
416
+                      </el-form-item>
417
+                    </el-col>
418
+                  </el-row>
419
+                  <el-row :gutter="30">
420
+                    <el-col :span="8" v-for="(item, index) in wensdform.fileList" :key="index">
421
+                      <div class="image_preview">
422
+                        <el-image
423
+                          style="width: 100%; height: 100%"
424
+                          :src="item.slice(1, item.length)"
425
+                          :zoom-rate="1.2"
426
+                          :max-scale="7"
427
+                          :min-scale="0.2"
428
+                          :preview-src-list="[item.slice(1, item.length)]"
429
+                          show-progress
430
+                          fit="contain"
431
+                        />
438 432
                       </div>
439
-                    </el-scrollbar>
440
-                  </div>
441
-                </div>
442
-                <div v-else>
443
-                  <div class="pfcbox">
444
-                    <!-- 遍历行,加上左间距 -->
445
-                    <div
446
-                      v-for="(hangitem, hangindex) in wensdform.wsdjhList[0].hangList.length"
447
-                      :key="hangindex"
448
-                      class="pfc-div"
449
-                      :style="{
450
-                        margin: `${hangindex * 40}px 0 0 ${hangindex * 30}px`
451
-                      }"
452
-                    >
453
-                      <ul class="pfc-ul">
454
-                        <!-- 遍历每行下面的列,展示柱子 -->
455
-                        <li
456
-                          v-for="(lieItem, lieIndex) in wensdform.wsdjhList[0].lie"
457
-                          :key="lieIndex"
458
-                        >
459
-                          <div class="zhut">
460
-                            <!-- 遍历层,展示每层的数据 -->
461
-                            <i
462
-                              v-for="(cengItem, cengIndex) in wensdform.wsdjhList"
463
-                              :key="cengIndex"
464
-                            >
465
-                              {{ cengItem.hangList[hangindex][`lie${lieIndex + 1}`] }}
466
-                            </i>
467
-                          </div>
468
-                        </li>
469
-                      </ul>
470
-                    </div>
471
-                  </div>
472
-                  <!-- <img src="../../assets/images/3Dcs1.png" style="width:100%"/> -->
473
-                </div>
474
-              </el-scrollbar>
433
+                    </el-col>
434
+                  </el-row>
435
+                </el-form>
436
+              </div>
475 437
             </div>
476 438
             <div v-if="tabPosition == 'sy'">
477 439
               <el-scrollbar style="height: 600px">
@@ -492,11 +454,11 @@
492 454
                         {{ scope.$index + 1 }}
493 455
                       </template>
494 456
                     </el-table-column> -->
495
-                    <el-table-column prop="cksj" label="出库时间" width="120" align="center">
457
+                    <!-- <el-table-column prop="cksj" label="出库时间" width="120" align="center">
496 458
                       <template #default="scope">
497 459
                         {{ scope.row.cksj ? scope.row.cksj.slice(0, 10) : '' }}
498 460
                       </template>
499
-                    </el-table-column>
461
+                    </el-table-column> -->
500 462
                     <el-table-column prop="rkjz" label="入库净重(吨)" align="center" />
501 463
                     <el-table-column prop="rksf" label="入库水分(%)" align="center" />
502 464
                     <el-table-column prop="rkzz" label="入库杂质(吨)" align="center" />
@@ -536,6 +498,37 @@
536 498
         </div>
537 499
       </el-col>
538 500
     </el-row>
501
+
502
+    <div class="dialog_file">
503
+      <el-dialog title="" v-model="Dialogfiles" width="1050px" top="15vh">
504
+        <template #header="{}">
505
+          <div class="dialog_title">
506
+            <span class="dialog_title_text">附件列表</span>
507
+          </div>
508
+        </template>
509
+        <el-scrollbar style="height: 600px">
510
+          <el-row style="height: 600px;padding:15px">
511
+            <el-col :span="12" v-for="(item, index) in fileList" :key="index">
512
+              <!-- <img :src="item" alt="附件图片"/>
513
+             -->
514
+              <div class="image_preview">
515
+                <el-image
516
+                  style="width: 100%; height: 100%"
517
+                  :src="item"
518
+                  :zoom-rate="1.2"
519
+                  :max-scale="7"
520
+                  :min-scale="0.2"
521
+                  :preview-src-list="[item]"
522
+                  show-progress
523
+                  fit="contain"
524
+                />
525
+              </div>
526
+            </el-col>
527
+            <!-- <el-col :span="12">图片</el-col> -->
528
+          </el-row>
529
+        </el-scrollbar>
530
+      </el-dialog>
531
+    </div>
539 532
   </div>
540 533
 </template>
541 534
 
@@ -548,6 +541,7 @@ defineOptions({ name: 'DisplayCf' })
548 541
 
549 542
 const router = useRouter() // 路由对象
550 543
 const route = useRoute() // 路由接收对象
544
+const Dialogfiles = ref(false)
551 545
 const xzqhList = ref([])
552 546
 const cangName = ref('')
553 547
 const wensdRadio = ref('01')
@@ -585,10 +579,23 @@ const baseformhw = ref({
585 579
   // hth: 'xx',
586 580
   // jgsl: 'xx'
587 581
 })
588
-const wensdform = ref({})
582
+const wensdform = ref({
583
+  // camc: '',
584
+  // lspzmc: '',
585
+  // lsxzmc: '',
586
+  // lsdjmc: '',
587
+  // kcsl: '',
588
+  // cfww: '',
589
+  // cfws: '',
590
+  // cfnw: '',
591
+  // cfns: '',
592
+  // lszgw: '',
593
+  // lszdw: '',
594
+  // lspjw: ''
595
+})
589 596
 const searchform = ref({
590 597
   ywrq: '',
591
-  crklx: 0 //(0出库,1入库)
598
+  crklx: 1 //(0出库,1入库)
592 599
 })
593 600
 const crkLxOptions = ref([
594 601
   {
@@ -598,18 +605,23 @@ const crkLxOptions = ref([
598 605
   {
599 606
     value: 1,
600 607
     label: '入库记录'
601
-  }
602
-])
603
-const cangOptions = ref([
604
-  {
605
-    hwdm: '1',
606
-    hwmc: 'HW-1'
607 608
   },
608 609
   {
609
-    hwdm: '2',
610
-    hwmc: 'HW-2'
610
+    value: 2,
611
+    label: '2'
611 612
   }
612 613
 ])
614
+const cangOptions = ref([
615
+  // {
616
+  //   hwdm: '1',
617
+  //   hwmc: 'HW-1'
618
+  // },
619
+  // {
620
+  //   hwdm: '2',
621
+  //   hwmc: 'HW-2'
622
+  // }
623
+])
624
+const fileList = ref([])
613 625
 //出入库
614 626
 const page = ref({
615 627
   pageNum: 1,
@@ -679,9 +691,13 @@ const getLqjc = async () => {
679 691
     cfid: route.query.cfid
680 692
   }
681 693
   res = await Api.GetSelectLqjcList(data)
682
-  if (res) {
694
+  if (res && res.length > 0) {
695
+    // console.log(res,"res-=======");
696
+
683 697
     wensdform.value = res[0]
684 698
   } else {
699
+    // console.log(wensdform.value, 'wensdform.value-====')
700
+
685 701
     wensdform.value = {}
686 702
   }
687 703
 }
@@ -726,7 +742,7 @@ const searchCrkSy = async () => {
726 742
   }
727 743
   res = await Api.GetSelectSydList(data)
728 744
   crkTableDataSy.value = res.list || []
729
-  pageSy.value.pageSize = res.total || 0
745
+  pageSy.value.total = res.total || 0
730 746
 }
731 747
 const handleSizeChange = (val: any) => {
732 748
   page.value.pageSize = val
@@ -754,6 +770,7 @@ const back = () => {
754 770
   router.push({
755 771
     path: 'DataVisualizationInitkq',
756 772
     query: {
773
+      xzqhdm: route.query.xzqhdm,
757 774
       mapName: route.query.mapName,
758 775
       kqid: route.query.kqid,
759 776
       kqmc: route.query.kqmc
@@ -781,6 +798,11 @@ const tableRowClassName = ({ row, rowIndex }) => {
781 798
   }
782 799
 }
783 800
 
801
+//文件弹窗
802
+const openFiles = (row: any) => {
803
+  Dialogfiles.value = true
804
+  fileList.value = row
805
+}
784 806
 // 获取行政区划代码
785 807
 const getXzqh = async () => {
786 808
   let res = await Api.GetXzqhApi()
@@ -1037,13 +1059,69 @@ onMounted(() => {
1037 1059
 :deep(.el-table__body tr.current-row > td.el-table__cell) {
1038 1060
   background-color: transparent;
1039 1061
 }
1062
+
1063
+// 弹窗
1064
+:deep(.dialog_file) {
1065
+  .el-dialog {
1066
+    background: url('@/assets/ksh/dialog/splb-bj.png') no-repeat;
1067
+    background-size: 100% 100%;
1068
+    display: flex;
1069
+    flex-direction: column;
1070
+    margin: 0 !important;
1071
+    position: absolute;
1072
+    top: 50%;
1073
+    left: 50%;
1074
+    transform: translate(-50%, -50%);
1075
+    max-height: calc(100% - 30px);
1076
+  }
1077
+  .el-dialog__body::-webkit-scrollbar {
1078
+    display: none;
1079
+  }
1080
+  .dialog_title {
1081
+    color: #ffffff;
1082
+    font-size: 24px;
1083
+    line-height: 20px;
1084
+    position: relative;
1085
+    .dialog_title_text {
1086
+      margin-left: 30px;
1087
+      // margin-top: -10px;
1088
+      position: relative;
1089
+    }
1090
+    .dialog_title_text::before {
1091
+      content: '';
1092
+      display: inline-block;
1093
+      width: 13px;
1094
+      height: 16px;
1095
+      background: url('@/assets/ksh/home/icon-square.png') no-repeat;
1096
+      background-size: 100% 100%;
1097
+      position: absolute;
1098
+      top: 8px;
1099
+      left: -24px;
1100
+    }
1101
+  }
1102
+  .el-dialog__headerbtn {
1103
+    top: 6px;
1104
+    right: 6px;
1105
+  }
1106
+  .el-dialog__headerbtn .el-dialog__close {
1107
+    display: none;
1108
+  }
1109
+  .el-dialog__headerbtn::before {
1110
+    content: '';
1111
+    display: inline-block;
1112
+    width: 15px;
1113
+    height: 15px;
1114
+    background: url('@/assets/ksh/dialog/close.png') no-repeat;
1115
+    background-size: 100% 100%;
1116
+  }
1117
+}
1040 1118
 </style>
1041 1119
 <style lang="scss">
1042 1120
 .cfxx_content .el-tag {
1043 1121
   background-color: transparent;
1044 1122
   border-width: 0;
1045 1123
   color: #ffffff;
1046
-  font-size: 18px;
1124
+  font-size: 16px;
1047 1125
   padding: 0;
1048 1126
 }
1049 1127
 .operation-box {
@@ -1183,35 +1261,6 @@ onMounted(() => {
1183 1261
     }
1184 1262
   }
1185 1263
 }
1186
-.pfcbox {
1187
-  width: 800px;
1188
-  position: relative;
1189
-}
1190
-.pfc-div {
1191
-  position: absolute;
1192
-  width: 100%;
1193
-  height: 200px;
1194
-}
1195
-.pfc-ul {
1196
-  display: flex;
1197
-  justify-content: space-between;
1198
-  height: 100%;
1199
-  .zhut {
1200
-    background: #68b3ef;
1201
-    border: 2px solid #284a9b;
1202
-    width: 6px;
1203
-    height: 100%;
1204
-    border-radius: 10px;
1205
-    position: relative;
1206
-    display: flex;
1207
-    flex-direction: column;
1208
-    justify-content: space-between;
1209
-    i {
1210
-      margin-left: 13px;
1211
-      font-style: normal;
1212
-    }
1213
-  }
1214
-}
1215 1264
 .resettablewrap2 {
1216 1265
   .el-table {
1217 1266
     thead tr {
@@ -1306,29 +1355,6 @@ onMounted(() => {
1306 1355
   }
1307 1356
 }
1308 1357
 
1309
-// .el-select-dropdown {
1310
-//   background: rgba(22, 37, 73, 0.8);
1311
-//   .el-select-dropdown__item {
1312
-//     color: #ffffff;
1313
-//   }
1314
-//   .el-select-dropdown__item.hover,
1315
-//   .el-select-dropdown__item:hover {
1316
-//     background: #22468b;
1317
-//   }
1318
-// }
1319
-// .el-select-dropdown__item {
1320
-//   font-size: 18px;
1321
-//   padding: 0 24px;
1322
-//   height: 44px;
1323
-//   line-height: 44px;
1324
-// }
1325
-// .el-select-dropdown.is-multiple .el-select-dropdown__item.selected {
1326
-//   background: #22468a;
1327
-// }
1328
-// .el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover {
1329
-//   background: #22468a;
1330
-// }
1331
-
1332 1358
 .el-pagination {
1333 1359
   margin-top: 10px;
1334 1360
   text-align: center;
@@ -1397,4 +1423,37 @@ onMounted(() => {
1397 1423
     color: #ffffff;
1398 1424
   }
1399 1425
 }
1426
+.fjBtn {
1427
+  color: #f8ca02;
1428
+  cursor: pointer;
1429
+}
1430
+
1431
+.image_preview {
1432
+  width: 95%;
1433
+  height: 280px;
1434
+  // padding: 0 20px;
1435
+  // margin: 20px;
1436
+  // margin: 20px 20px 0;
1437
+  // .demo-image__error .image-slot {
1438
+  //   font-size: 20px;
1439
+  // }
1440
+  // .demo-image__error .image-slot .el-icon {
1441
+  //   font-size: 20px;
1442
+  // }
1443
+  // .demo-image__error .el-image {
1444
+  //   width: 100%;
1445
+  //   height: 100px;
1446
+  // }
1447
+  .el-image{
1448
+    position: relative;
1449
+  }
1450
+  .el-image__error{
1451
+    width: 80%;
1452
+    height: 80%;
1453
+    position: absolute;
1454
+    top: 50%;
1455
+    left: 50%;
1456
+    transform: translate(-50%, -50%);
1457
+  }
1458
+}
1400 1459
 </style>

+ 29 - 20
src/views/VisualDisplay/src/pages/compontent/Map2.vue

@@ -36,6 +36,7 @@ interface pointObject {
36 36
   value: any[]
37 37
 }
38 38
 const router = useRouter() // 路由对象
39
+const route = useRoute() // 路由接收对象
39 40
 const useStore = VisualizationHomeStore()
40 41
 const emits = defineEmits(['mapMounted'])
41 42
 const publicUrl = 'https://geo.datav.aliyun.com/areas_v3/bound/'
@@ -135,7 +136,7 @@ const back = () => {
135 136
   mapName.value = '全国'
136 137
   getMapList('')
137 138
   isBack.value = false
138
-  initChart()
139
+  initChart(false)
139 140
 
140 141
   // handClick(queryParams.value.jglb)
141 142
 }
@@ -161,26 +162,34 @@ const getGeoJson = (jsonName: any) => {
161 162
   // 使用本地数据
162 163
   return axios.get('/ChinaData/' + jsonName)
163 164
 }
164
-const initChart = () => {
165
+const initChart = async (isback:any) => {
165 166
   // this.clickFlag = "1";
166 167
   let chart = echarts.init(MapCharts.value)
167
-  //allCode获取所有的区域编码信息
168
-  // getGeoJson('all.json').then((all) => {
169
-  //   allCode = all.data
170
-  // })
171
-  // //初始化地图展示
172
-  // getGeoJson('100000_full.json').then((China) => {
173
-  //   initEcharts(China.data, '中华人民共和国', chart)
174
-  // console.log(China.data,"China.data");
175
-  // })
176
-  Promise.all([getGeoJson('all.json'), getGeoJson('100000_full.json')])
177
-    .then(([allData, chinaData]) => {
178
-      allCode.value = allData.data
179
-      initEcharts(chinaData.data, '中华人民共和国', chart)
180
-    })
181
-    .catch((error) => {
182
-      console.error('初始化数据失败:', error)
183
-    })
168
+  let routeXzqhdm = route.query.xzqhdm || ''
169
+  if (routeXzqhdm && isback) {
170
+    console.log('小地图-===')
171
+    mapName.value = route.query.mapName
172
+    await getMapList(routeXzqhdm)
173
+    getGeoJson(routeXzqhdm + '_full.json')
174
+      .then((res) => {
175
+        xzqhdm.value = routeXzqhdm + ''
176
+        initEcharts(res.data, mapName.value, chart)
177
+      })
178
+      .catch((err) => {
179
+        console.log(err, 'err')
180
+      })
181
+    isBack.value = true
182
+    mapPopIsShow.value = false
183
+  } else {
184
+    Promise.all([getGeoJson('all.json'), getGeoJson('100000_full.json')])
185
+      .then(([allData, chinaData]) => {
186
+        allCode.value = allData.data
187
+        initEcharts(chinaData.data, '中华人民共和国', chart)
188
+      })
189
+      .catch((error) => {
190
+        console.error('初始化数据失败:', error)
191
+      })
192
+  }
184 193
 }
185 194
 const initEcharts = (geoJson, name, chart) => {
186 195
   echarts.registerMap(name, geoJson)
@@ -473,7 +482,7 @@ const getMapList = async (xzqhdm: string) => {
473 482
 onMounted(async () => {
474 483
   // await handClick(null, false)
475 484
   // getXzqh()
476
-  initChart()
485
+  initChart(true)
477 486
 })
478 487
 onBeforeMount(() => {})
479 488
 onBeforeUnmount(() => {

+ 8 - 5
src/views/VisualDisplay/src/pages/index.vue

@@ -72,7 +72,7 @@
72 72
                     <span class="item-icon1"></span>
73 73
                   </div>
74 74
                   <div class="item-right">
75
-                    <span class="item-title">承储库点(个)</span>
75
+                    <span class="item-title">交收库点(个)</span>
76 76
                     <span class="item-content">{{ datacard.cckd }}</span>
77 77
                   </div>
78 78
                 </div>
@@ -229,8 +229,11 @@ const loadData = async () => {
229 229
   let data = {}
230 230
   // let res = await Api.GetXzqhApi()
231 231
   let res = await Api.GetMapList(data)
232
-  datacard.value = res
233
-  console.log(res, 'res-=======')
232
+
233
+  if (!isBack.value) {
234
+    datacard.value = res
235
+  }
236
+  // console.log(res, 'res-=======')
234 237
 }
235 238
 // 重置
236 239
 const reset = () => {
@@ -244,8 +247,8 @@ const getMapList = (data: any, isBackData: any) => {
244 247
   xzqhCode.value = data.xzqhdm + ''
245 248
   xzqhName.value = data.mapName
246 249
   isBack.value = isBackData.isBack
247
-  console.log(xzqhCode.value, 'xzqhCode.value-===')
248
-  console.log(isBack.value, 'isBack.value11111111-===')
250
+  // console.log(xzqhCode.value, 'xzqhCode.value-===')
251
+  // console.log(isBack.value, 'isBack.value11111111-===')
249 252
 }
250 253
 onMounted(() => {
251 254
   loadData()

+ 119 - 119
src/views/VisualDisplay/src/pages/kq/index.vue

@@ -50,7 +50,9 @@
50 50
                 <div class="box_icon icon_kq2"></div>
51 51
                 <div class="box_content">
52 52
                   <span class="span_left">库区编码:</span>
53
-                  <span class="span_right" :title="formData.kqdm">{{ formData.kqdm }}</span>
53
+                  <span class="span_right span_special2" :title="formData.kqbm">{{
54
+                    formData.kqbm
55
+                  }}</span>
54 56
                 </div>
55 57
               </div>
56 58
               <div class="box_item">
@@ -90,13 +92,13 @@
90 92
                   <span class="span_right span_detail" @click="getCwxx"> 详情 </span>
91 93
                 </div>
92 94
               </div>
93
-              <div class="box_item">
95
+              <!-- <div class="box_item">
94 96
                 <div class="box_icon icon_kq7"></div>
95 97
                 <div class="box_content">
96 98
                   <span class="span_left">设计仓容:</span>
97 99
                   <span class="span_right" :title="formData.crzl">{{ formData.crzl }}吨</span>
98 100
                 </div>
99
-              </div>
101
+              </div> -->
100 102
             </div>
101 103
           </div>
102 104
           <div class="map_bottom">
@@ -141,34 +143,17 @@
141 143
         <el-row style="height: 600px">
142 144
           <el-col :span="6" style="margin-left: 20px" class="content_list">
143 145
             <div class="check_box">
144
-              <!-- <el-table
145
-                class="cfxx custom-table"
146
-                :data="VideoList"
147
-                height="540px"
148
-                style="width: 100%; overflow-x: hidden"
149
-                row-class-name="row-style1"
150
-                @row-click="handleSetVideo"
151
-                :show-header="false"
152
-              >
153
-                <el-table-column prop="jkdmc" label="监控点名称" align="center">
154
-                  <template #default="scope">
155
-                    <el-checkbox
156
-                      :label="scope.row.jkdmc"
157
-                      :value="scope.row.jkdmc"
158
-                      class="list_item"
159
-                    />
160
-                  </template>
161
-                </el-table-column>
162
-              </el-table> -->
163
-              <el-checkbox-group @change="handleSetVideo" v-model="checkList" class="check_box">
164
-                <el-checkbox
165
-                  :label="item.jkdmc"
166
-                  :value="item"
167
-                  class="list_item"
168
-                  v-for="(item, index) in VideoList"
169
-                  :key="index"
170
-                />
171
-              </el-checkbox-group>
146
+              <el-scrollbar class="custom-scrollbar" style="height: 500px">
147
+                <el-checkbox-group @change="handleSetVideo" v-model="checkList" class="">
148
+                  <el-checkbox
149
+                    :label="item.jkdmc"
150
+                    :value="item"
151
+                    class="list_item"
152
+                    v-for="(item, index) in VideoList"
153
+                    :key="index"
154
+                  />
155
+                </el-checkbox-group>
156
+              </el-scrollbar>
172 157
             </div>
173 158
           </el-col>
174 159
           <el-col :span="17">
@@ -200,7 +185,11 @@
200 185
             </div>
201 186
           </div>
202 187
           <div class="cwxx_center">
203
-            <div class="cwxx_center_item" v-for="(item, index) in cwxxData.cwxxYearList" :key="index">
188
+            <div
189
+              class="cwxx_center_item"
190
+              v-for="(item, index) in cwxxData.cwxxYearList"
191
+              :key="index"
192
+            >
204 193
               <div class="cwxx_item cwxx_title"> {{ item.cn }}年财务情况 </div>
205 194
               <div class="cwxx_item">
206 195
                 <span>总负债:</span>
@@ -249,22 +238,22 @@ const Dialogvideo = ref(false)
249 238
 const dialogVisibleDetail = ref(false)
250 239
 const tableData = ref([])
251 240
 const VideoList = ref([
252
-  {
253
-    jkdmc: '法泗中心磅房半球',
254
-    url: 'ws://172.16.13.3:559/openUrl/09zvvc4'
255
-  },
256
-  {
257
-    jkdmc: '法泗中心检验室半球',
258
-    url: 'ws://172.16.13.3:559/openUrl/0aXNyJG'
259
-  },
260
-  {
261
-    jkdmc: '法泗中心下磅区域枪机',
262
-    url: 'ws://172.16.13.3:559/openUrl/06E7P4Q'
263
-  },
264
-  {
265
-    jkdmc: '法泗中心扦样地磅枪机',
266
-    url: 'ws://172.16.13.3:559/openUrl/08aEfok'
267
-  }
241
+  // {
242
+  //   jkdmc: '法泗中心磅房半球',
243
+  //   url: 'ws://172.16.13.3:559/openUrl/09zvvc4'
244
+  // },
245
+  // {
246
+  //   jkdmc: '法泗中心检验室半球',
247
+  //   url: 'ws://172.16.13.3:559/openUrl/0aXNyJG'
248
+  // },
249
+  // {
250
+  //   jkdmc: '法泗中心下磅区域枪机',
251
+  //   url: 'ws://172.16.13.3:559/openUrl/06E7P4Q'
252
+  // },
253
+  // {
254
+  //   jkdmc: '法泗中心扦样地磅枪机',
255
+  //   url: 'ws://172.16.13.3:559/openUrl/08aEfok'
256
+  // }
268 257
 ])
269 258
 const videoCode = ref('')
270 259
 const viewList = ref([])
@@ -334,6 +323,7 @@ const tableRowClassName = ({ row, rowIndex }) => {
334 323
 const loadData = async () => {
335 324
   let res: any
336 325
   let res2: any
326
+  let res3: any
337 327
   let data = {
338 328
     kqid: kqid.value
339 329
   }
@@ -342,15 +332,20 @@ const loadData = async () => {
342 332
   tableData.value = res
343 333
   res2 = await Api.GetQueryKqInfo(data)
344 334
   formData.value = res2
335
+  res3 = await Api.GetSelectSpList({ kqdm: res2.kqbm })
336
+  console.log(res3, 'res3-======')
337
+
338
+  VideoList.value = res3 || []
345 339
 }
346 340
 // 列表点击
347 341
 const rowClick = (row) => {
348
-  console.log(row,"row-=======");
349
-  
342
+  console.log(row, 'row-=======')
343
+
350 344
   // router.push('DataVisualizationInitcf')
351 345
   router.push({
352 346
     path: 'DataVisualizationInitcf',
353 347
     query: {
348
+      xzqhdm: route.query.xzqhdm,
354 349
       mapName: route.query.mapName,
355 350
       kqid: route.query.kqid,
356 351
       kqmc: route.query.kqmc,
@@ -370,7 +365,15 @@ const getCwxx = async () => {
370 365
 }
371 366
 // 返回
372 367
 const back = () => {
373
-  router.push('DataVisualizationInit')
368
+  router.push({
369
+    path: 'DataVisualizationInit',
370
+    query: {
371
+      xzqhdm: route.query.xzqhdm,
372
+      mapName: route.query.mapName,
373
+      kqid: route.query.kqid,
374
+      kqmc: route.query.kqmc
375
+    }
376
+  })
374 377
 }
375 378
 // 视频查询
376 379
 const searchClick = () => {
@@ -403,24 +406,29 @@ const handlerInitPlay = () => {
403 406
 //打开视频
404 407
 const openVideo = () => {
405 408
   Dialogvideo.value = true
406
-  checkList.value = VideoList.value.slice(0, 4)
409
+
410
+  checkList.value = VideoList.value.slice(0, 1)
407 411
 }
408 412
 //点击监控点名称
409
-const handleSetVideo = (row) => {
410
-  // console.log(row, 'row-======')
411
-  handlerPlay(row)
413
+const handleSetVideo = () => {
414
+  if (checkList.value.length > 0) {
415
+    checkList.value = checkList.value.slice(checkList.value.length - 1, checkList.value.length)
416
+  }
417
+  // console.log(checkList.value, 'checkList.value-======')
418
+  handlerPlay(1)
412 419
 }
413
-const handlerPlay = (row) => {
420
+const handlerPlay = (row: any) => {
414 421
   if (!row) {
415 422
     let preUrl = ''
416 423
     let list = VideoList.value
417 424
     console.log(list, 'VideoList-=====')
418 425
     videoCode.value = list[0].url
419
-    let urlList = list.slice(0, 4)
426
+    // let urlList = list.slice(0, 4)
427
+    let urlList = list.slice(0, 1) //改成只显示一个视频
420 428
     console.log(urlList, 'urlList')
421 429
     viewList.value = urlList
422 430
     // const _this = this;
423
-    player.value.JS_ArrangeWindow(2).then(
431
+    player.value.JS_ArrangeWindow(1).then(
424 432
       () => {
425 433
         urlList.forEach((item, i) => {
426 434
           preUrl = item.url
@@ -448,68 +456,54 @@ const handlerPlay = (row) => {
448 456
     let preUrl = ''
449 457
     let list = checkList.value
450 458
     console.log(list, 'list[0]-=====')
459
+    if (list.length > 0) {
460
+      videoCode.value = list[0]['url']
461
+      // let urlList = list.slice(0, 4)
462
+      let urlList = list.slice(0, 1) //改成只显示一个视频
463
+      // console.log(urlList, 'urlList')
451 464
 
452
-    videoCode.value = list[0]['url']
453
-    let urlList = list.slice(0, 4)
454
-    console.log(urlList, 'urlList')
455
-
456
-    viewList.value = urlList
457
-    // const _this = this;
458
-    let videoNum = 2
459
-    if (urlList.length == 1) {
460
-      videoNum = 1
465
+      viewList.value = urlList
466
+      // const _this = this;
467
+      let videoNum = 2
468
+      if (urlList.length == 1) {
469
+        videoNum = 1
470
+      } else {
471
+        videoNum = 2
472
+      }
473
+      player.value.JS_ArrangeWindow(videoNum).then(
474
+        () => {
475
+          urlList.forEach((item, i) => {
476
+            preUrl = item['url']
477
+            let param = {
478
+              playURL: preUrl,
479
+              mode: 0
480
+            }
481
+            let index = i
482
+            player.value.JS_Play(preUrl, param, index).then(
483
+              () => {
484
+                // 播放成功回调
485
+                console.log('播放成功')
486
+              },
487
+              (err) => {
488
+                console.log(err, '播放失败')
489
+              }
490
+            )
491
+          })
492
+        },
493
+        (e) => {
494
+          console.error(e)
495
+        }
496
+      )
461 497
     } else {
462
-      videoNum = 2
498
+      player.value.JS_Stop(0).then(
499
+        () => {
500
+          console.info('JS_Stop success')
501
+        },
502
+        (err) => {
503
+          console.info('JS_Stop failed:', err)
504
+        }
505
+      )
463 506
     }
464
-    player.value.JS_ArrangeWindow(videoNum).then(
465
-      () => {
466
-        urlList.forEach((item, i) => {
467
-          preUrl = item['url']
468
-          let param = {
469
-            playURL: preUrl,
470
-            mode: 0
471
-          }
472
-          let index = i
473
-          player.value.JS_Play(preUrl, param, index).then(
474
-            () => {
475
-              // 播放成功回调
476
-              console.log('播放成功')
477
-            },
478
-            (err) => {
479
-              console.log(err, '播放失败')
480
-            }
481
-          )
482
-        })
483
-      },
484
-      (e) => {
485
-        console.error(e)
486
-      }
487
-    )
488
-    // 将下标移动到下一个视频窗口
489
-    // if (viewIndex.value && viewIndex.value == 1) {
490
-    //   currentIndex.value = 0
491
-    // } else {
492
-    //   currentIndex.value = ind.value % 4
493
-    //   ind.value++
494
-    // }
495
-
496
-    // let param = {
497
-    //   playURL: row.url,
498
-    //   mode: 0
499
-    // }
500
-    // rowUrl.value = row.url
501
-    // console.log(row.url, 'row.url')
502
-    // viewList[currentIndex.value] = row
503
-    // videoCode.value = row.url
504
-    // player.value.JS_Play(row.url, param, currentIndex.value).then(
505
-    //   () => {
506
-    //     // 播放成功回调
507
-    //     console.log('播放成功')
508
-    //   },
509
-    //   (err) => {
510
-    //     console.log('播放失败')
511
-    //   }
512
-    // )
513 507
   }
514 508
   // let that = this;
515 509
   player.value.JS_SetWindowControlCallback({
@@ -716,8 +710,8 @@ onMounted(() => {
716 710
 }
717 711
 .kqxx_content {
718 712
   width: 100%;
719
-  height: 84%;
720
-  padding-top: 20px;
713
+  height: 75%;
714
+  padding-top: 30px;
721 715
   display: flex;
722 716
   flex-wrap: wrap;
723 717
   justify-content: flex-start;
@@ -769,6 +763,9 @@ onMounted(() => {
769 763
 .kqxx_content .box_content .span_special {
770 764
   line-height: 20px;
771 765
 }
766
+.kqxx_content .box_content .span_special2 {
767
+  font-size: 16px;
768
+}
772 769
 .kqxx_content .box_content .span_detail {
773 770
   cursor: pointer;
774 771
 }
@@ -1016,6 +1013,9 @@ onMounted(() => {
1016 1013
       border-color: #7cbbed;
1017 1014
     }
1018 1015
   }
1016
+  .custom-scrollbar .is-horizontal {
1017
+    display: none !important;
1018
+  }
1019 1019
 }
1020 1020
 
1021 1021
 .view_box {