Browse Source

提交违规警告修改

zk 1 year ago
parent
commit
a36ee426a3

+ 8 - 0
src/apis/yyjg.js

@@ -14,6 +14,14 @@ export function GetBoatInfos(req) {
         data:req
     })
 }
+export function GetUnitWarningForYun(req) {
+    return request({
+        url: '/DigitalTwin/businessManage/WarningListInfo',
+        method: "post",
+        data:req
+    })
+}
+
 
 export function GetYxdt() {
   return request({

+ 23 - 19
src/assets/styles/common.scss

@@ -169,33 +169,37 @@
     & > span {
       font-family: YSBTH;
       font-size: 16px;
-      line-height: 34px;
+      line-height: 30px;
       color: transparent;
       background: linear-gradient(0deg, rgba(29, 128, 224, 0.9) 0%, rgba(255, 255, 255, 0.9) 70%);
       -webkit-background-clip: text;
 
     }
   }
-  &>div.highlight {
-    position: relative;
-    width: 116px;
-    height: 34px;
+  &>div {
     background: url('@/assets/imgs/page_yyjg/boatClick-select.png') no-repeat;
     background-size: 100% 100%;
-    &>span {
-      background: linear-gradient(0deg, rgba(224, 224, 29, 0.9) 0%, rgba(255,255,255,0.9) 70%);
-      -webkit-background-clip: text;
-    }
-    &::after {
-      content: '';
-      display: block;
-      position: absolute;
-      bottom: -10px;
-      left: calc(50% - 3px);
-      border-top: 7px solid transparent;
-      border-bottom: 7px solid rgba(93, 138, 196, 0.6);
-      border-left: 6px solid transparent;
-      border-right: 6px solid transparent;
+    .highlight {
+      position: relative;
+      width: 116px;
+      height: 34px;
+
+      & > span {
+        background: linear-gradient(0deg, rgba(224, 224, 29, 0.9) 0%, rgba(255, 255, 255, 0.9) 70%);
+        -webkit-background-clip: text;
+      }
+
+      &::after {
+        content: '';
+        display: block;
+        position: absolute;
+        bottom: -10px;
+        left: calc(50% - 3px);
+        border-top: 7px solid transparent;
+        border-bottom: 7px solid rgba(93, 138, 196, 0.6);
+        border-left: 6px solid transparent;
+        border-right: 6px solid transparent;
+      }
     }
   }
   &>div.disabled {

+ 27 - 1
src/views/yyjg/Index.vue

@@ -12,6 +12,10 @@
      @closeBoatInfoYunXing="handleCloseBoatInfoYunXing"
 
     />
+    <UnitJYXK v-if="unitXuKeListShow"
+              :unitWarningType="unitWarningType"
+              @closeUnitXuKe="handlecloseUnitXuKe"
+    />
 
     <danger-list v-if="dangerListShow" @close="dangerListShow=false"/>
     <div class="panel-left" :class="{'is-hide': aside_hide}">
@@ -149,7 +153,7 @@
               <span>企业</span>
               <span class="value-ent" @click="handleOpenWarningEnt">{{ item.value_ent }}</span>
             </div>
-            <span v-else class="value-boat">{{ item.value }}</span>
+            <span v-else class="value-boat"  @click="handleOpenUnitXuKe(item.fieldName)">{{ item.value }}</span>
           </div>
         </div>
       </div>
@@ -169,6 +173,8 @@ export default {
   import EntInfoList from './cpns/EntInfoList'
   import EntInfo from './cpns/EntInfo'
   import BoatInfo from './cpns/BoatInfo'
+  import UnitJYXK from './cpns/UnitJYXK'
+
   import { GetQygk, GetYxdt, GetZysb, GetZxjc, GetWggj, GetQylb, GetQywggj, GetCbwgyj } from '@/apis/yyjg'
   import WarningShipList from './cpns/WarningShipList.vue';
   import DangerList from './cpns/DangerList.vue'
@@ -251,6 +257,12 @@ export default {
     // }
   }
 
+  function handlecloseUnitXuKe() {
+    unitXuKeListShow.value=false
+    // if(!boatInfoShow.value) {
+    //   ue_closeUnitWiget()
+    // }
+  }
   function handleOnVideoShow() {
     setTimeout(() => {
       entInfoListShow.value=false
@@ -279,6 +291,9 @@ export default {
   const boatTypeForClick = reactive({type:""})
 
 
+  const unitWarningType = reactive({type:""})
+
+
   function handlePickedEnt(ent) {
     // console.log(ent)
     entInfoShow.value = false
@@ -456,11 +471,22 @@ export default {
   const entWarningListShow = ref(false)
   const shipWarningListShow = ref(false)
 
+  const unitXuKeListShow = ref(false)
+
   const listData_cdjkb = reactive({
     ent: [],
     ship: []
   })
 
+
+
+function handleOpenUnitXuKe(type) {
+  unitXuKeListShow.value=!unitXuKeListShow.value
+  console.log("类型:"+type)
+  unitWarningType.type=type
+  }
+
+
   function handleOpenWarningEnt() {
     ueCallBreathGetPoint()
     GetQywggj().then(res => {

+ 2 - 2
src/views/yyjg/cpns/BoatInfo.vue

@@ -253,8 +253,8 @@
         box-sizing: border-box;
         position: absolute;
         top: 16vh;
-        right: 55%;
-        width: 609px;
+        right: 58%;
+        width: 709px;
         height: 231px;
         padding: 0 25px 15px 15px;
         background: url('@/assets/imgs/page_yyjg/cbxx-bg.png') no-repeat;

+ 172 - 3
src/views/yyjg/cpns/UnitJYXK.vue

@@ -1,13 +1,182 @@
 <template>
-    
+    <div class="ent-info" >
+        <i class="ei-close" @click="handleClose"></i>
+        <div class="Tool-Header"><span class="title-dialog">{{warningTitle}}</span></div>
+        <div class="tab-content" >
+            <div class="tab-table table-carousel" >
+                <div v-if="tableData.value.length>0">
+                    <el-table :data="tableData.value" class="table-default dw-table"  stripe>
+                        <el-table-column label="企业名称" prop="cname" min-width="130" show-overflow-tooltip />
+                        <el-table-column label="证书编号" prop="certNumber"  min-width="150" show-overflow-tooltip />
+                        <el-table-column label="证书到期时间" min-width="100" show-overflow-tooltip>
+                            <template #default="scope">
+                                <span>{{ scope.row.effectiveEndDate.slice(0,10)}}</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column label="提醒内容" prop="type" min-width="80" show-overflow-tooltip />
+                    </el-table>
+                    <el-pagination
+                            class="pagi-default"
+                            :current-page="currentPage"
+                            :page-size="pageSize"
+                            :total="total"
+                            layout="prev, pager, next"
+                            @size-change="handleSizeChange"
+                            @current-change="handleCurrentChange"
+                    >
+                    </el-pagination>
+                </div>
+                <div v-else class="no-data">
+                    <span>无数据</span>
+                </div>
+            </div>
+        </div>
+    </div>
 </template>
 
 <script>
     export default {
-        name: "UnitJYXK"
+        name: "UnitJYXK",
     }
 </script>
+<script  setup>
 
-<style scoped>
+    import {ref, reactive, onMounted} from 'vue';
+    import { GetUnitWarningForYun } from '@/apis/yyjg'
+    import { ElTable, ElTableColumn,ElPagination } from 'element-plus'
+    import 'element-plus/es/components/table/style/css'
+    import 'element-plus/es/components/table-column/style/css'
+    import 'element-plus/es/components/pagination/style/css'
+
+    const tableData = reactive({value: []})
+
+    const warningType=defineProps(['unitWarningType'])
+
+    const warningTitle = ref("")
+
+    const typeForName=[
+        {value:"portExpire",name:"港口经营许可证即将到期预警",id:1},
+        {value:"dangerExpire",name:"危险货物作业附证即将到期预警",id:50}
+    ]
+    // 分页信息
+    const currentPage = ref(1)
+    const pageSize = ref(10)
+    const total = ref(0)
+
+    const emit = defineEmits(['closeUnitXuKe'])
+
+
+    function handleClose() {
+        emit('closeUnitXuKe')
+    }
+    // 外部调用切换数据
+    onMounted(() => {
+        console.log(warningType.type)
+         warningTitle.value= typeForName.filter(i=>i.value==warningType.unitWarningType.type)[0].name
+        getList({"certType":  typeForName.filter(i=>i.value==warningType.unitWarningType.type)[0].id,"pageSize":pageSize.value,"index":currentPage.value})
+
+    })
+
+    function handleSizeChange(val) {
+        // debugger
+        pageSize.value = val
+        currentPage.value = 1
+        getList()
+
+    }
+    function getList(req) {
+        GetUnitWarningForYun(req).then(res=>{
+            if(res.data.Rows.length>0)
+            {
+                console.log(res.data.Rows)
+                tableData.value= res.data.Rows
+            }else {
+                tableData.value = []
+            }
+        })
+    }
+
+
+
+</script>
+
+
+<style  lang="scss" scoped>
+    .ent-info {
+        box-sizing: border-box;
+        position: absolute;
+        top: 16vh;
+        right: 18%;
+        width: 849px;
+        height: 531px;
+        padding: 0 25px 15px 15px;
+        background: url('@/assets/imgs/page_yyjg/cbxx-bg.png') no-repeat;
+        background-size: 100% 100%;
+        .Tool-Header{
+            padding-top: 20px;
+            height: 40px;
+            width: 50%;
+            text-align: left;
+            position: relative;
+            padding-left: 20px;
+            span{
+                font-size: 20px;
+            }
+        }
+        .ei-close {
+            position: absolute;
+            top: 8px;
+            right: 16px;
+            display: block;
+            width: 18px;
+            height: 18px;
+            background: url('@/assets/imgs/common/btn-close.png') no-repeat;
+            background-size: 12px 12px;
+            background-position: center;
+            cursor: pointer;
+        }
+
+        .dialog-tab-fang{
+            div{
+                width: 30%;
+            }
+        }
+        .tab-content {
+            height: 370px;
+        }
+
+        &.ent-info-expand {
+            width: 609px;
+            height: 553px;
+
+        }
+        .el-table {
+            border-right: none !important; /*该样式在有滚动条时去掉右边的border,达到单一border效果*/
+        }
+        .tab-table{
+            height: 100%;
+            .el-th{ text-align: center}
+            .dw-table{
+                width: 100%;
+                overscroll-behavior-x: none;
+                overscroll-behavior-y: none;
+                height: 350px;
+
+                .el-table__body-wrapper{
+                    width: 95%;
+                } .el-scrollbar{
+                      width: 95%;
+                      overflow-x: hidden;
+                      overscroll-behavior-x: none;
+                      overscroll-behavior-y: none;
+                  }
+            }
+        }
+        .pagi-default{
+            position: absolute;
+            bottom:5%;
+            left: 45%;
+        }
+    }
 
 </style>