Bläddra i källkod

Merge branch 'master' of http://120.26.64.82:3000/BFFE/SZYGM1.0

chenjun 2 år sedan
förälder
incheckning
dd7043b74c

+ 24 - 1
src/components/minheader/index.vue

@@ -20,6 +20,15 @@
         <Search @clear="clear" @search="search" />
         <!-- <el-button type="danger" size="default" class="br L12">搜索</el-button> -->
       </template>
+      <template v-if="isSlot">
+        <el-button
+          type="danger"
+          size="default"
+          class="br L12"
+          @click="addslot()"
+          >1个插槽</el-button
+        >
+      </template>
       <template v-if="isJournal">
         <el-button
           size="default"
@@ -95,10 +104,20 @@ const props = defineProps({
     type: Boolean,
     default: false,
   },
+  //是否显示插槽
+  isSlot: {
+    type: Boolean,
+    default: false,
+  },
 });
 //搜索内容
 const input = ref("");
-const emits = defineEmits(["addForm", "preserForm", "addJournalForm"]);
+const emits = defineEmits([
+  "addForm",
+  "preserForm",
+  "addJournalForm",
+  "addslotForm",
+]);
 const addBbut = () => {
   emits("addForm");
 };
@@ -116,6 +135,10 @@ const preserBtn = () => {
 const addJournal = () => {
   emits("addJournalForm");
 };
+//插槽
+const addslot = () => {
+  emits("addslotForm");
+};
 </script>
 <style lang="scss" scoped>
 .data-table-btn {

+ 10 - 0
src/router/routes/routes-file-four.ts

@@ -56,6 +56,16 @@ const HomeRoutes = {
       component: () =>
         import("@/views/systemSettings/serviceManagement/serviceMonitor.vue"),
     },
+    {
+      path: "/systemSettings/serviceMonitorEdit",
+      name: "ServiceMonitorEdit",
+      hidden: true,
+      meta: { title: "服务监控编辑", elSvgIcon: "Fold", icon: "table" },
+      component: () =>
+        import(
+          "@/views/systemSettings/serviceManagement/serviceMonitorEdit.vue"
+        ),
+    },
     {
       path: "/systemSettings/queryTemplate",
       name: "QueryTemplate",

+ 1 - 1
src/router/routes/routes-file-six.ts

@@ -82,7 +82,7 @@ const HomeRoutes = {
           name: 'ArrivalGoods',
           meta: { title: '国内进港货物视图', elSvgIcon: 'Fold', icon: 'table' },
           component: () =>
-            import('@/views/baggageManagement/departure/goods/index.vue'),
+            import('@/views/baggageManagement/arrival/goods/index.vue'),
         },
       ],
     },

+ 7 - 6
src/styles/index.scss

@@ -1,8 +1,8 @@
-@import "./variables.scss";
-@import "./transition.scss";
-@import "./scss-suger.scss";
-@import "./reset-style.scss";
-@import "./elemenet-style-overflow.scss";
+@import './variables.scss';
+@import './transition.scss';
+@import './scss-suger.scss';
+@import './reset-style.scss';
+@import './elemenet-style-overflow.scss';
 
 //scroll
 @mixin main-show-wh() {
@@ -18,6 +18,7 @@
 .scroll-y {
   @include main-show-wh();
   overflow-y: auto;
+  overflow-x: hidden;
 }
 .scroll-x {
   @include main-show-wh();
@@ -93,7 +94,7 @@
       background: #eb2f3b;
       border-radius: 50%;
       margin-right: 15px;
-      background: url("@/assets/status/ic_close_hint.png") no-repeat;
+      background: url('@/assets/status/ic_close_hint.png') no-repeat;
       background-size: 100% 100%;
       display: inline-block;
       position: relative;

+ 286 - 0
src/views/baggageManagement/arrival/goods/index.vue

@@ -0,0 +1,286 @@
+<template>
+  <div class="station">
+    <div class="station-head">
+      <div class="station-head-title">货物基本信息</div>
+      <div class="station-head-content flex-wrap">
+        <div class="station-head-content-list" v-for="item in dataInfo" :key="item.id">{{item.name}}:{{item.value}}</div>
+      </div>
+    </div>
+    <div class="station-status flex">
+      <div class="station-status-info flex-wrap">
+        <div class="manageTitle">货物跟踪信息</div>
+        <div class="status">正常</div>
+      </div>
+      <div class="station-status-search">
+        <Search @clear="clear" @search="search" />
+      </div>
+    </div>
+    <div class="station-list flex-wrap">
+      <div class="station-list-left">
+        <div class="title flex-wrap">
+          <div class="title-list">航班号CA1001</div>
+          <div class="title-list">出港: 深圳机场</div>
+          <div class="title-list">日期:2022/09/10</div>
+        </div>
+        <Steps :datas="datas" />
+      </div>
+      <div class="station-list-right">
+        <div class="title flex-wrap">
+          <div class="title-list">出港: 深圳机场</div>
+          <div class="title-list">日期:2022/09/10</div>
+        </div>
+        <Steps :datas="datas1" />
+      </div>
+    </div>
+    <div class="station-table">
+      <Table :tableHeader="tableHeader" :tableData="tableData" />
+    </div>
+  </div>
+</template>
+
+<script setup lang="ts">
+import Search from "@/components/search/index.vue";
+import Steps from "@/components/steps/index.vue";
+import Table from "@/components/tableTemp/index.vue";
+import { ElMessage } from "element-plus";
+const dataInfo = [
+  {
+    id: 1,
+    name: "货物编码",
+    value: "56888829",
+  },
+  {
+    id: 2,
+    name: "运单",
+    value: "FA56888829",
+  },
+];
+const datas = [
+  {
+    id: 1,
+    name: "收货核单",
+    flag: true,
+    labelWidth: 100,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 2,
+    name: "安检",
+    flag: true,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 3,
+    name: "安检",
+    flag: true,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 4,
+    name: "安检",
+    flag: true,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 5,
+    name: "安检",
+    flag: true,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 6,
+    name: "安检",
+    flag: false,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 7,
+    name: "安检安检",
+    flag: false,
+    labelWidth: 100,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+];
+const datas1 = [
+  {
+    id: 1,
+    name: "收货核单",
+    flag: true,
+    labelWidth: 100,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 2,
+    name: "安检",
+    flag: true,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 3,
+    name: "安检",
+    flag: true,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 4,
+    name: "安检",
+    flag: false,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+];
+const tableHeader = [
+  { label: "航班号", key: "fightNo" },
+  { label: "集装器编号", key: "containerNo" },
+  { label: "货物编码", key: "goodsNo" },
+  { label: "拉下", key: "dwon1" },
+  { label: "退运", key: "return" },
+  { label: "收货核单", key: "receipt", lableClass: "scoreColumn" },
+  { label: "安检", key: "securityCheck" },
+  { label: "理货", key: "tally" },
+  { label: "拉下", key: "dwon2" },
+  { label: "待运区", key: "waitingArea" },
+  { label: "货站交接", key: "goodSstation1" },
+  { label: "机下交接", key: "offBoard1" },
+  { label: "装机", key: "installEquipment" },
+  { label: "卸机", key: "unloading", lableClass: "scoreColumn" },
+  { label: "机下交接", key: "offBoard2" },
+  { label: "货站交接", key: "goodSstation2" },
+  { label: "提取", key: "extract" },
+];
+const tableData = [
+  {
+    id: 1,
+    fightNo: "CA1001",
+    containerNo: "DOU2424U2",
+    goodsNo: "56888829",
+    dwon1: "Y",
+    return: "Y",
+    receipt: "66",
+    securityCheck: "77",
+    tally: "88",
+    dwon2: "99",
+    waitingArea: "100",
+    goodSstation1: "101",
+    offBoard1: "102",
+    installEquipment: "103",
+    unloading: "104",
+    offBoard2: "105",
+    goodSstation2: "106",
+    extract: "107",
+  },
+  {
+    id: 2,
+    fightNo: "CA1001",
+    containerNo: "DOU2424U2",
+    goodsNo: "56888829",
+    dwon1: "Y",
+    return: "Y",
+    receipt: "66",
+    securityCheck: "77",
+    tally: "88",
+    dwon2: "99",
+    waitingArea: "100",
+    goodSstation1: "101",
+    offBoard1: "102",
+    installEquipment: "103",
+    unloading: "104",
+    offBoard2: "105",
+    goodSstation2: "106",
+    extract: "107",
+  },
+  {
+    id: 3,
+    fightNo: "CA1001",
+    containerNo: "DOU2424U2",
+    goodsNo: "56888829",
+    dwon1: "Y",
+    return: "Y",
+    receipt: "66",
+    securityCheck: "77",
+    tally: "88",
+    dwon2: "99",
+    waitingArea: "100",
+    goodSstation1: "101",
+    offBoard1: "102",
+    installEquipment: "103",
+    unloading: "104",
+    offBoard2: "105",
+    goodSstation2: "106",
+    extract: "107",
+  },
+];
+const search = (val) => {
+  ElMessage.success(`搜索成功:${val}`);
+};
+const clear = () => {
+  ElMessage.success(`清除`);
+};
+</script>
+
+<style lang="scss" scoped>
+.station {
+  &-head {
+    height: 144px;
+    background: #410425;
+    padding: 24px 30px;
+    color: #ffffff;
+    &-title {
+      font-size: 18px;
+      font-family: Microsoft YaHei;
+      font-weight: bold;
+      margin-bottom: 40px;
+    }
+    &-content {
+      &-list {
+        margin-right: 100px;
+        &:last-child {
+          margin-right: 0;
+        }
+      }
+    }
+  }
+  &-status {
+    margin: 24px 0;
+    line-height: 32px;
+    .status {
+      font-size: 16px;
+      font-family: Microsoft YaHei;
+      font-weight: bold;
+      color: #519f6b;
+    }
+  }
+  &-list {
+    margin-bottom: 8px;
+    &:last-child {
+      margin-bottom: 0;
+    }
+    .title {
+      font-size: 16px;
+      font-family: Microsoft YaHei;
+      font-weight: bold;
+      color: #101116;
+      margin-bottom: 28px;
+      &-list {
+        margin-right: 50px;
+      }
+    }
+    &-left {
+      background: #ffffff;
+      padding: 24px 24px 12px 24px;
+      width: 1090px;
+      margin-right: 8px;
+    }
+    &-right {
+      flex: 1;
+      background: #ffffff;
+      padding: 24px 24px 12px 24px;
+    }
+  }
+  :deep &-table {
+    margin-top: 16px;
+    .scoreColumn {
+      background: #eef3d6;
+    }
+  }
+}
+</style>

+ 70 - 20
src/views/baggageManagement/arrival/waybill/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="station">
+  <div class="station scroll-y">
     <div class="station-head">
       <div class="station-head-title">运单基本信息</div>
       <div class="station-head-content flex">
@@ -50,7 +50,7 @@
       </div>
     </div>
     <div class="station-table">
-      <Table :tableHeader="tableHeader" :tableData="tableData" />
+      <Table height="calc(100vh - 800px)" :tableHeader="tableHeader" :tableData="tableData" />
     </div>
   </div>
 </template>
@@ -176,34 +176,84 @@ const datas1 = [
   },
 ];
 const tableHeader = [
-  { label: "账号组名称", key: "appName" },
-  { label: "账号组描述", key: "appDesc", lableClass: "scoreColumn" },
-  { label: "appId", key: "appId" },
+  { label: "航班号", key: "fightNo" },
+  { label: "集装器编号", key: "containerNo" },
+  { label: "货物编码", key: "goodsNo" },
+  { label: "拉下", key: "dwon1" },
+  { label: "退运", key: "return" },
+  { label: "收货核单", key: "receipt", lableClass: "scoreColumn" },
+  { label: "安检", key: "securityCheck" },
+  { label: "理货", key: "tally" },
+  { label: "拉下", key: "dwon2" },
+  { label: "待运区", key: "waitingArea" },
+  { label: "货站交接", key: "goodSstation1" },
+  { label: "机下交接", key: "offBoard1" },
+  { label: "装机", key: "installEquipment" },
+  { label: "卸机", key: "unloading", lableClass: "scoreColumn" },
+  { label: "机下交接", key: "offBoard2" },
+  { label: "货站交接", key: "goodSstation2" },
+  { label: "提取", key: "extract" },
 ];
 const tableData = [
   {
     id: 1,
-    appName: "11",
-    appId: "22",
-    appDesc: "33",
+    fightNo: "CA1001",
+    containerNo: "DOU2424U2",
+    goodsNo: "56888829",
+    dwon1: "Y",
+    return: "Y",
+    receipt: "66",
+    securityCheck: "77",
+    tally: "88",
+    dwon2: "99",
+    waitingArea: "100",
+    goodSstation1: "101",
+    offBoard1: "102",
+    installEquipment: "103",
+    unloading: "104",
+    offBoard2: "105",
+    goodSstation2: "106",
+    extract: "107",
   },
   {
     id: 2,
-    appName: "11",
-    appId: "22",
-    appDesc: "33",
+    fightNo: "CA1001",
+    containerNo: "DOU2424U2",
+    goodsNo: "56888829",
+    dwon1: "Y",
+    return: "Y",
+    receipt: "66",
+    securityCheck: "77",
+    tally: "88",
+    dwon2: "99",
+    waitingArea: "100",
+    goodSstation1: "101",
+    offBoard1: "102",
+    installEquipment: "103",
+    unloading: "104",
+    offBoard2: "105",
+    goodSstation2: "106",
+    extract: "107",
   },
   {
     id: 3,
-    appName: "11",
-    appId: "22",
-    appDesc: "33",
-  },
-  {
-    id: 4,
-    appName: "11",
-    appId: "22",
-    appDesc: "33",
+    fightNo: "CA1001",
+    containerNo: "DOU2424U2",
+    goodsNo: "56888829",
+    dwon1: "Y",
+    return: "Y",
+    receipt: "66",
+    securityCheck: "77",
+    tally: "88",
+    dwon2: "99",
+    waitingArea: "100",
+    goodSstation1: "101",
+    offBoard1: "102",
+    installEquipment: "103",
+    unloading: "104",
+    offBoard2: "105",
+    goodSstation2: "106",
+    extract: "107",
   },
 ];
 const search = (val) => {

+ 282 - 7
src/views/baggageManagement/departure/goods/index.vue

@@ -1,11 +1,286 @@
 <template>
-  <div>bbb</div>
+  <div class="station">
+    <div class="station-head">
+      <div class="station-head-title">货物基本信息</div>
+      <div class="station-head-content flex-wrap">
+        <div class="station-head-content-list" v-for="item in dataInfo" :key="item.id">{{item.name}}:{{item.value}}</div>
+      </div>
+    </div>
+    <div class="station-status flex">
+      <div class="station-status-info flex-wrap">
+        <div class="manageTitle">货物跟踪信息</div>
+        <div class="status">正常</div>
+      </div>
+      <div class="station-status-search">
+        <Search @clear="clear" @search="search" />
+      </div>
+    </div>
+    <div class="station-list flex-wrap">
+      <div class="station-list-left">
+        <div class="title flex-wrap">
+          <div class="title-list">航班号CA1001</div>
+          <div class="title-list">出港: 深圳机场</div>
+          <div class="title-list">日期:2022/09/10</div>
+        </div>
+        <Steps :datas="datas" />
+      </div>
+      <div class="station-list-right">
+        <div class="title flex-wrap">
+          <div class="title-list">出港: 深圳机场</div>
+          <div class="title-list">日期:2022/09/10</div>
+        </div>
+        <Steps :datas="datas1" />
+      </div>
+    </div>
+    <div class="station-table">
+      <Table :tableHeader="tableHeader" :tableData="tableData" />
+    </div>
+  </div>
 </template>
-<script lang="ts">
-import { defineComponent } from "vue";
 
-export default defineComponent({
-  setup() {},
-});
+<script setup lang="ts">
+import Search from "@/components/search/index.vue";
+import Steps from "@/components/steps/index.vue";
+import Table from "@/components/tableTemp/index.vue";
+import { ElMessage } from "element-plus";
+const dataInfo = [
+  {
+    id: 1,
+    name: "货物编码",
+    value: "56888829",
+  },
+  {
+    id: 2,
+    name: "运单",
+    value: "FA56888829",
+  },
+];
+const datas = [
+  {
+    id: 1,
+    name: "收货核单",
+    flag: true,
+    labelWidth: 100,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 2,
+    name: "安检",
+    flag: true,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 3,
+    name: "安检",
+    flag: true,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 4,
+    name: "安检",
+    flag: true,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 5,
+    name: "安检",
+    flag: true,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 6,
+    name: "安检",
+    flag: false,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 7,
+    name: "安检安检",
+    flag: false,
+    labelWidth: 100,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+];
+const datas1 = [
+  {
+    id: 1,
+    name: "收货核单",
+    flag: true,
+    labelWidth: 100,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 2,
+    name: "安检",
+    flag: true,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 3,
+    name: "安检",
+    flag: true,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 4,
+    name: "安检",
+    flag: false,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+];
+const tableHeader = [
+  { label: "航班号", key: "fightNo" },
+  { label: "集装器编号", key: "containerNo" },
+  { label: "货物编码", key: "goodsNo" },
+  { label: "拉下", key: "dwon1" },
+  { label: "退运", key: "return" },
+  { label: "收货核单", key: "receipt", lableClass: "scoreColumn" },
+  { label: "安检", key: "securityCheck" },
+  { label: "理货", key: "tally" },
+  { label: "拉下", key: "dwon2" },
+  { label: "待运区", key: "waitingArea" },
+  { label: "货站交接", key: "goodSstation1" },
+  { label: "机下交接", key: "offBoard1" },
+  { label: "装机", key: "installEquipment" },
+  { label: "卸机", key: "unloading", lableClass: "scoreColumn" },
+  { label: "机下交接", key: "offBoard2" },
+  { label: "货站交接", key: "goodSstation2" },
+  { label: "提取", key: "extract" },
+];
+const tableData = [
+  {
+    id: 1,
+    fightNo: "CA1001",
+    containerNo: "DOU2424U2",
+    goodsNo: "56888829",
+    dwon1: "Y",
+    return: "Y",
+    receipt: "66",
+    securityCheck: "77",
+    tally: "88",
+    dwon2: "99",
+    waitingArea: "100",
+    goodSstation1: "101",
+    offBoard1: "102",
+    installEquipment: "103",
+    unloading: "104",
+    offBoard2: "105",
+    goodSstation2: "106",
+    extract: "107",
+  },
+  {
+    id: 2,
+    fightNo: "CA1001",
+    containerNo: "DOU2424U2",
+    goodsNo: "56888829",
+    dwon1: "Y",
+    return: "Y",
+    receipt: "66",
+    securityCheck: "77",
+    tally: "88",
+    dwon2: "99",
+    waitingArea: "100",
+    goodSstation1: "101",
+    offBoard1: "102",
+    installEquipment: "103",
+    unloading: "104",
+    offBoard2: "105",
+    goodSstation2: "106",
+    extract: "107",
+  },
+  {
+    id: 3,
+    fightNo: "CA1001",
+    containerNo: "DOU2424U2",
+    goodsNo: "56888829",
+    dwon1: "Y",
+    return: "Y",
+    receipt: "66",
+    securityCheck: "77",
+    tally: "88",
+    dwon2: "99",
+    waitingArea: "100",
+    goodSstation1: "101",
+    offBoard1: "102",
+    installEquipment: "103",
+    unloading: "104",
+    offBoard2: "105",
+    goodSstation2: "106",
+    extract: "107",
+  },
+];
+const search = (val) => {
+  ElMessage.success(`搜索成功:${val}`);
+};
+const clear = () => {
+  ElMessage.success(`清除`);
+};
 </script>
-<style lang="scss" scoped></style>
+
+<style lang="scss" scoped>
+.station {
+  &-head {
+    height: 144px;
+    background: #410425;
+    padding: 24px 30px;
+    color: #ffffff;
+    &-title {
+      font-size: 18px;
+      font-family: Microsoft YaHei;
+      font-weight: bold;
+      margin-bottom: 40px;
+    }
+    &-content {
+      &-list {
+        margin-right: 100px;
+        &:last-child {
+          margin-right: 0;
+        }
+      }
+    }
+  }
+  &-status {
+    margin: 24px 0;
+    line-height: 32px;
+    .status {
+      font-size: 16px;
+      font-family: Microsoft YaHei;
+      font-weight: bold;
+      color: #519f6b;
+    }
+  }
+  &-list {
+    margin-bottom: 8px;
+    &:last-child {
+      margin-bottom: 0;
+    }
+    .title {
+      font-size: 16px;
+      font-family: Microsoft YaHei;
+      font-weight: bold;
+      color: #101116;
+      margin-bottom: 28px;
+      &-list {
+        margin-right: 50px;
+      }
+    }
+    &-left {
+      background: #ffffff;
+      padding: 24px 24px 12px 24px;
+      width: 1090px;
+      margin-right: 8px;
+    }
+    &-right {
+      flex: 1;
+      background: #ffffff;
+      padding: 24px 24px 12px 24px;
+    }
+  }
+  :deep &-table {
+    margin-top: 16px;
+    .scoreColumn {
+      background: #eef3d6;
+    }
+  }
+}
+</style>

+ 70 - 20
src/views/baggageManagement/departure/waybill/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <div class="station">
+  <div class="station scroll-y">
     <div class="station-head">
       <div class="station-head-title">运单基本信息</div>
       <div class="station-head-content flex">
@@ -50,7 +50,7 @@
       </div>
     </div>
     <div class="station-table">
-      <Table :tableHeader="tableHeader" :tableData="tableData" />
+      <Table height="calc(100vh - 800px)" :tableHeader="tableHeader" :tableData="tableData" />
     </div>
   </div>
 </template>
@@ -176,34 +176,84 @@ const datas1 = [
   },
 ];
 const tableHeader = [
-  { label: "账号组名称", key: "appName" },
-  { label: "账号组描述", key: "appDesc", lableClass: "scoreColumn" },
-  { label: "appId", key: "appId" },
+  { label: "航班号", key: "fightNo" },
+  { label: "集装器编号", key: "containerNo" },
+  { label: "货物编码", key: "goodsNo" },
+  { label: "拉下", key: "dwon1" },
+  { label: "退运", key: "return" },
+  { label: "收货核单", key: "receipt", lableClass: "scoreColumn" },
+  { label: "安检", key: "securityCheck" },
+  { label: "理货", key: "tally" },
+  { label: "拉下", key: "dwon2" },
+  { label: "待运区", key: "waitingArea" },
+  { label: "货站交接", key: "goodSstation1" },
+  { label: "机下交接", key: "offBoard1" },
+  { label: "装机", key: "installEquipment" },
+  { label: "卸机", key: "unloading", lableClass: "scoreColumn" },
+  { label: "机下交接", key: "offBoard2" },
+  { label: "货站交接", key: "goodSstation2" },
+  { label: "提取", key: "extract" },
 ];
 const tableData = [
   {
     id: 1,
-    appName: "11",
-    appId: "22",
-    appDesc: "33",
+    fightNo: "CA1001",
+    containerNo: "DOU2424U2",
+    goodsNo: "56888829",
+    dwon1: "Y",
+    return: "Y",
+    receipt: "66",
+    securityCheck: "77",
+    tally: "88",
+    dwon2: "99",
+    waitingArea: "100",
+    goodSstation1: "101",
+    offBoard1: "102",
+    installEquipment: "103",
+    unloading: "104",
+    offBoard2: "105",
+    goodSstation2: "106",
+    extract: "107",
   },
   {
     id: 2,
-    appName: "11",
-    appId: "22",
-    appDesc: "33",
+    fightNo: "CA1001",
+    containerNo: "DOU2424U2",
+    goodsNo: "56888829",
+    dwon1: "Y",
+    return: "Y",
+    receipt: "66",
+    securityCheck: "77",
+    tally: "88",
+    dwon2: "99",
+    waitingArea: "100",
+    goodSstation1: "101",
+    offBoard1: "102",
+    installEquipment: "103",
+    unloading: "104",
+    offBoard2: "105",
+    goodSstation2: "106",
+    extract: "107",
   },
   {
     id: 3,
-    appName: "11",
-    appId: "22",
-    appDesc: "33",
-  },
-  {
-    id: 4,
-    appName: "11",
-    appId: "22",
-    appDesc: "33",
+    fightNo: "CA1001",
+    containerNo: "DOU2424U2",
+    goodsNo: "56888829",
+    dwon1: "Y",
+    return: "Y",
+    receipt: "66",
+    securityCheck: "77",
+    tally: "88",
+    dwon2: "99",
+    waitingArea: "100",
+    goodSstation1: "101",
+    offBoard1: "102",
+    installEquipment: "103",
+    unloading: "104",
+    offBoard2: "105",
+    goodSstation2: "106",
+    extract: "107",
   },
 ];
 const search = (val) => {

+ 1 - 7
src/views/systemSettings/serviceManagement/index.vue

@@ -1,11 +1,4 @@
 <template>
-  <!-- <Minheader>
-    <template #header>
-      <div class="status flex-wrap">
-        <div class="manageTitle">服务拓扑</div>
-      </div>
-    </template></Minheader
-  > -->
   <div class="integration__cont__map__cont">
     <Minheader
       :is-statuser="true"
@@ -810,6 +803,7 @@ const resetForm = () => {
   width: 100%;
   height: 100%;
   .header_name {
+    font-size: 16px;
     font-family: Microsoft YaHei;
     font-weight: bold;
     color: #303133;

+ 44 - 94
src/views/systemSettings/serviceManagement/serviceMonitor.vue

@@ -13,6 +13,7 @@
       >
       <div class="app-containers">
         <DataTable
+          BtnGroupWidth="300px"
           :is-Status="true"
           :tableHeader="state.list"
           :tableData="tableData"
@@ -22,67 +23,12 @@
         />
       </div>
       <Dialog
+        width="600px"
         :flag="flag"
         :type="type"
         :msgTitle="msgTitle"
-        @resetForm="resetForm"
         @delRest="delRest"
       >
-        <div class="diacont">
-          <el-form :model="tableForm">
-            <el-row :gutter="24">
-              <el-col>
-                <el-form-item label="航司名称" size="default">
-                  <el-input
-                    v-model="tableForm.name"
-                    placeholder="请输入航司名称"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col>
-                <el-form-item label="中文简称" size="default">
-                  <el-input
-                    v-model="tableForm.china"
-                    placeholder="请输入中文简称"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col>
-                <el-form-item label="英文简称" size="default">
-                  <el-input
-                    v-model="tableForm.englin"
-                    placeholder="请输入英文简称"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col>
-                <el-form-item label="航司二字码" size="default">
-                  <el-input
-                    v-model="tableForm.two"
-                    placeholder="请输入航司二字码"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col>
-                <el-form-item label="航司三字码" size="default">
-                  <el-input
-                    v-model="tableForm.three"
-                    placeholder="请输入航司三字码"
-                  />
-                </el-form-item>
-              </el-col>
-              <el-col>
-                <el-form-item label="备注" size="default">
-                  <el-input
-                    type="textarea"
-                    v-model="tableForm.text"
-                    placeholder="请输入备注"
-                  />
-                </el-form-item>
-              </el-col>
-            </el-row>
-          </el-form>
-        </div>
       </Dialog>
     </div>
   </div>
@@ -91,6 +37,7 @@
 import DataTable from "@/components/tableTemp/index.vue";
 import Minheader from "@/components/minheader/index.vue";
 import Dialog from "@/components/dialog/index.vue";
+const router = useRouter();
 const flag = ref<Boolean>(false); //弹窗开关
 const type = ref<String>(""); //判断是否删除
 const msgTitle = ref<String>("新增服务管理"); //弹窗标题
@@ -107,50 +54,64 @@ const tableForm = reactive({
 const tableData = ref([
   {
     nodeState: "运行",
-    name: "中国国际航空",
-    china: "国航",
-    englin: "AIRCHINA",
-    two: "CA",
-    three: "CCA",
-    text: "CA国航",
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+    three: "测试",
+    text: "测试",
+    text1: "测试",
   },
   {
     nodeState: "运行",
-    name: "中国国际航空",
-    china: "国航",
-    englin: "AIRCHINA",
-    two: "CA",
-    three: "CCA",
-    text: "CA国航",
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+    three: "测试",
+    text: "测试",
+    text1: "测试",
   },
   {
     nodeState: "运行",
-    name: "中国国际航空",
-    china: "国航",
-    englin: "AIRCHINA",
-    two: "CA",
-    three: "CCA",
-    text: "CA国航",
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+    three: "测试",
+    text: "测试",
+    text1: "测试",
   },
 ]);
 //表头
 const state = reactive({
   list: [
-    { label: "名称", key: "name" },
-    { label: "中文简称", key: "china" },
-    { label: "英文简称", key: "englin" },
-    { label: "航司二字码", key: "two" },
-    { label: "航司三字码", key: "three" },
-    { label: "备注", key: "text" },
+    { label: "服务编号", key: "name" },
+    { label: "名称", key: "china" },
+    { label: "类型", key: "englin" },
+    { label: "是否同步", key: "two" },
+    { label: "数据类型", key: "three" },
+    { label: "取值规则", key: "text" },
+    { label: "检测规则", key: "text1" },
   ],
   listLoading: true,
 });
 const tableBtnGroup = ref([
+  {
+    name: "查看",
+    className: "editBtn",
+    param: 4,
+  },
   {
     name: "编辑",
     className: "editBtn",
     param: 2,
   },
+  {
+    name: "停止",
+    className: "editBtn",
+    param: 5,
+  },
   {
     name: "删除",
     className: "delBtn",
@@ -158,11 +119,7 @@ const tableBtnGroup = ref([
   },
 ]);
 //新增
-const addForm = () => {
-  msgTitle.value = "新增服务管理";
-  flag.value = true;
-  type.value = "";
-};
+const addForm = () => {};
 //取消
 const resetForm = () => {
   flag.value = false;
@@ -188,20 +145,13 @@ const resetForm = () => {
 //编辑-删除
 const btnClick = (row, index, param) => {
   if (param === 2) {
-    msgTitle.value = "编辑服务管理";
-    flag.value = true;
-    type.value = "";
-    tableForm.name = index.name;
-    tableForm.china = index.china;
-    tableForm.englin = index.englin;
-    tableForm.two = index.two;
-    tableForm.three = index.three;
-    tableForm.text = index.text;
+    router.push({ path: "/systemSettings/serviceMonitorEdit" });
   } else if (param === 3) {
     msgTitle.value = "删除服务管理";
     flag.value = true;
     type.value = "del";
   } else if (param === 4) {
+    router.push({ path: "/systemSettings/serviceManagement" });
   }
 };
 //删除

+ 733 - 0
src/views/systemSettings/serviceManagement/serviceMonitorEdit.vue

@@ -0,0 +1,733 @@
+<template>
+  <div class="airportInfo">
+    <div class="wrap_id">
+      <Minheader
+        :is-Journal="true"
+        :is-statuser="true"
+        :is-Slot="true"
+        @addJournalForm="addJournalForm"
+        @addslotForm="addslotForm"
+      >
+        <template #header>
+          <div class="status flex-wrap">
+            <div class="manageTitle">当前服务ID:101</div>
+            <div class="typecond">{{ typeK }}</div>
+          </div>
+        </template></Minheader
+      >
+      <div class="diacont">
+        <el-form :model="tableForm" class="w100 fw">
+          <div class="outersurface pd30">
+            <el-form-item label="名称" size="default">
+              <el-input
+                v-model="tableForm.name"
+                placeholder="请输入航易行数据采集"
+              />
+            </el-form-item>
+          </div>
+          <div class="outersurface pd30">
+            <el-form-item label="业务数据" size="default">
+              <el-row :gutter="24">
+                <el-col :span="14">
+                  <el-select
+                    style="width: 100%"
+                    v-model="tableForm.englin"
+                    class="input-shadow"
+                    filterable
+                    default-first-option
+                    clearable
+                    placeholder="主动采集"
+                  >
+                    <el-option
+                      v-for="item in tableOptionser"
+                      :key="item.v ? item.v : item.planDepartureApt"
+                      :label="item.k ? item.k : item.planDepartureApt"
+                      :value="item.v ? item.v : item.planDepartureApt"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-col>
+                <el-col :span="10">
+                  <el-select
+                    style="width: 100%"
+                    v-model="tableForm.two"
+                    class="input-shadow"
+                    filterable
+                    default-first-option
+                    clearable
+                    placeholder="异步"
+                  >
+                    <el-option
+                      v-for="item in tableOptionser"
+                      :key="item.v ? item.v : item.planDepartureApt"
+                      :label="item.k ? item.k : item.planDepartureApt"
+                      :value="item.v ? item.v : item.planDepartureApt"
+                    >
+                    </el-option>
+                  </el-select> </el-col
+              ></el-row>
+            </el-form-item>
+          </div>
+          <div class="outersurface pd30">
+            <el-form-item label="启动时间" size="default">
+              <el-date-picker
+                v-model="tableForm.time"
+                type="datetime"
+                placeholder="选择日期时间"
+              >
+              </el-date-picker>
+            </el-form-item>
+          </div>
+          <div class="outersurface pd30">
+            <el-form-item label="停止时间" size="default">
+              <el-date-picker
+                v-model="tableForm.time1"
+                type="datetime"
+                placeholder="选择日期时间"
+              >
+              </el-date-picker>
+            </el-form-item>
+          </div>
+          <div class="outersurface">
+            <el-form-item label="前序输出编号" size="default">
+              <el-input
+                v-model="tableForm.three"
+                placeholder="请输入前序输出编号"
+              />
+            </el-form-item>
+          </div>
+        </el-form>
+      </div>
+    </div>
+    <div class="wrap_config">
+      <Minheader :is-statuser="true">
+        <template #header>
+          <div class="status flex-wrap">
+            <div class="manageTitle">主动采集配置</div>
+          </div>
+        </template></Minheader
+      >
+      <div class="diacont">
+        <el-form :model="tableForms" class="w100 fw">
+          <div class="outersurface pd30">
+            <el-form-item label="数据源" size="default">
+              <el-select
+                style="width: 100%"
+                v-model="tableForms.name"
+                class="input-shadow"
+                filterable
+                default-first-option
+                clearable
+                placeholder="请选择数据源"
+              >
+                <el-option
+                  v-for="item in tableOptionser"
+                  :key="item.v ? item.v : item.planDepartureApt"
+                  :label="item.k ? item.k : item.planDepartureApt"
+                  :value="item.v ? item.v : item.planDepartureApt"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+          </div>
+          <div class="outersurfaces">
+            <el-form-item label="详细位置" size="default">
+              <el-input
+                v-model="tableForms.china"
+                placeholder="请输入详细位置"
+              />
+            </el-form-item>
+          </div>
+          <div class="outersurface pd30">
+            <el-form-item label="计划启动时间" size="default">
+              <el-date-picker
+                v-model="tableForm.time"
+                type="datetime"
+                placeholder="选择日期时间"
+              >
+              </el-date-picker>
+            </el-form-item>
+          </div>
+          <div class="outersurface pd30">
+            <el-form-item label="计划停止时间" size="default">
+              <el-date-picker
+                v-model="tableForm.time1"
+                type="datetime"
+                placeholder="选择日期时间"
+              >
+              </el-date-picker>
+            </el-form-item>
+          </div>
+          <div class="outersurface pd30">
+            <el-form-item label="错误重试" size="default">
+              <el-input
+                v-model="tableForms.englin"
+                placeholder="请输入错误重试次数"
+              />
+            </el-form-item>
+          </div>
+          <div class="outersurface pd30">
+            <el-form-item label="循环次数" size="default">
+              <el-input v-model="tableForms.two" placeholder="请输入循环次数" />
+            </el-form-item>
+          </div>
+          <div class="outersurface">
+            <el-form-item label="循环频率" size="default">
+              <el-input
+                v-model="tableForms.three"
+                placeholder="请输入错误重试次数"
+              />
+            </el-form-item>
+          </div>
+        </el-form>
+      </div>
+    </div>
+    <div class="wrap_rece">
+      <Minheader :is-statuser="true">
+        <template #header>
+          <div class="status flex-wrap">
+            <div class="manageTitle">统一接收</div>
+          </div>
+        </template></Minheader
+      >
+      <div class="diacont">
+        <el-form :model="tableFormer" class="w100 fw">
+          <div class="outersurface50 pd30">
+            <el-form-item label="生命周期编号" size="default">
+              <el-input
+                v-model="tableFormer.name"
+                placeholder="请输入生命周期编号"
+              />
+            </el-form-item>
+          </div>
+          <div class="outersurface50 pd30"></div>
+          <div class="outersurface50 pd30">
+            <el-form-item label="生命周期编号" size="default">
+              <el-input
+                type="textarea"
+                v-model="tableFormer.china"
+                placeholder="请输入生命周期编号"
+              />
+            </el-form-item>
+          </div>
+          <div class="outersurface50">
+            <el-form-item label="生命周期编号" size="default">
+              <el-input
+                type="textarea"
+                v-model="tableFormer.china"
+                placeholder="请输入生命周期编号"
+              />
+            </el-form-item>
+          </div>
+        </el-form>
+      </div>
+    </div>
+    <div class="wrap_out">
+      <el-row :gutter="24">
+        <el-col :span="12">
+          <Minheader :is-statuser="true" :is-auth="true">
+            <template #header>
+              <div class="status flex-wrap">
+                <div class="manageTitle">输出</div>
+              </div>
+            </template></Minheader
+          >
+          <div class="app-containers">
+            <DataTable
+              :tableHeader="state.list"
+              :tableData="tableData"
+              :tableBtnGroup="tableBtnGroup"
+              :tableProperty="{ rowKey: 'ID' }"
+              @btnClick="btnClick"
+            />
+          </div>
+        </el-col>
+        <el-col :span="12">
+          <Minheader :is-statuser="true">
+            <template #header>
+              <div class="status flex-wrap">
+                <div class="manageTitle">日志记录</div>
+              </div>
+            </template></Minheader
+          >
+          <div class="diacont">
+            <el-form :model="recordForme" class="w100 fw">
+              <div class="outersurface50 pd30">
+                <el-form-item label="日志存储数据源" size="default">
+                  <el-select
+                    style="width: 100%"
+                    v-model="recordForme.name"
+                    class="input-shadow"
+                    filterable
+                    default-first-option
+                    clearable
+                    placeholder="请选择数据源"
+                  >
+                    <el-option
+                      v-for="item in tableOptionser"
+                      :key="item.v ? item.v : item.planDepartureApt"
+                      :label="item.k ? item.k : item.planDepartureApt"
+                      :value="item.v ? item.v : item.planDepartureApt"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </div>
+              <div class="outersurface50 pd30">
+                <el-form-item label="详细位置" size="default">
+                  <el-input
+                    v-model="recordForme.china"
+                    placeholder="请输入详细位置"
+                  />
+                </el-form-item>
+              </div>
+              <div class="outersurface100 pd30">
+                <el-form-item label="日志输出条件" size="default">
+                  <el-input
+                    :autosize="{ minRows: 5, maxRows: 5 }"
+                    type="textarea"
+                    v-model="recordForme.englin"
+                    placeholder="请输入日志输出条件"
+                  />
+                </el-form-item>
+              </div>
+            </el-form>
+          </div>
+        </el-col>
+      </el-row>
+    </div>
+    <Dialog
+      width="852px"
+      :flag="flag"
+      :type="type"
+      :msgTitle="msgTitle"
+      @resetForm="resetForm"
+      @delRest="delRest"
+    >
+      <div class="logDialog">
+        <div class="interfaceLog">
+          <div class="interfaceLog_head flex">
+            <div class="interfaceLog_head_time flex-wrap">
+              <div class="interfaceLog_head_time_start r12">
+                <el-date-picker
+                  v-model="timeStart"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  size="default"
+                  @change="timeStartChange"
+                  type="datetime"
+                  placeholder="选择开始日期时间"
+                  default-time="00:00:00"
+                >
+                </el-date-picker>
+              </div>
+              <div class="interfaceLog_head_time_end">
+                <el-date-picker
+                  v-model="timeEnd"
+                  value-format="yyyy-MM-dd HH:mm:ss"
+                  size="default"
+                  @change="timeEndChange"
+                  type="datetime"
+                  placeholder="选择结束日期时间"
+                  default-time="00:00:00"
+                >
+                </el-date-picker>
+              </div>
+            </div>
+            <div class="flex">
+              <el-input
+                placeholder="请输入搜索关键词"
+                size="default"
+                v-model="input"
+                clearable
+              >
+              </el-input>
+              <el-button
+                size="mini"
+                style="margin-left: 16px"
+                @click="handleOk"
+                type="primary"
+                >查询</el-button
+              >
+            </div>
+          </div>
+          <div
+            v-loading="loading"
+            element-loading-text="拼命加载中"
+            stripe
+            element-loading-spinner="el-icon-loading"
+            element-loading-background="rgba(0, 0, 0, 0.8)"
+            class="interfaceLog_content flex-wrap"
+          >
+            <el-table
+              :data="tableData"
+              class="table"
+              height="500px"
+              border
+              style="width: 100%; margin-top: 20px"
+            >
+              <el-table-column prop="logTime" width="200" label="时间">
+              </el-table-column>
+              <el-table-column prop="logType" width="100" label="类型">
+              </el-table-column>
+              <el-table-column width="200" label="位置">
+                <template #default="scope">
+                  <el-tooltip
+                    class="item"
+                    effect="dark"
+                    :content="scope.row.logPositionID"
+                    placement="top"
+                  >
+                    <div class="logPositionID">
+                      {{ scope.row.logPositionID }}
+                    </div>
+                  </el-tooltip>
+                </template>
+              </el-table-column>
+              <el-table-column width="100" prop="resultCode" label="成败">
+              </el-table-column>
+              <el-table-column label="详情">
+                <template #default="scope">
+                  <div class="flex-wrap">
+                    <el-tooltip
+                      class="item"
+                      effect="dark"
+                      :content="scope.row.resultDetails"
+                      placement="top"
+                    >
+                      <span :id="'logId' + scope.$index" class="logDetails">{{
+                        scope.row.resultDetails
+                      }}</span>
+                    </el-tooltip>
+                    <el-button
+                      @click="logCopy(scope.$index)"
+                      style="margin-left: 10px"
+                      type="text"
+                      >复制</el-button
+                    >
+                  </div>
+                </template>
+              </el-table-column>
+            </el-table>
+          </div>
+        </div>
+      </div>
+    </Dialog>
+    <Dialog
+      width="852px"
+      :flag="flaglod"
+      :type="typelod"
+      :msgTitle="msgTitlelod"
+      @resetForm="resetlodForm"
+      @delRest="dellodRest"
+    >
+      <div class="logcont">
+        <Minheader :is-auth="true" :is-statuser="true">
+          <template #header>
+            <div class="status flex-wrap">
+              <div class="manageTitle">插槽列表</div>
+            </div>
+          </template></Minheader
+        >
+      </div>
+      <div style="padding: 0 24px 24px 24px" class="dialog-content">
+        <DataTable
+          :tableHeader="states.list"
+          :tableData="tableDatas"
+          :tableBtnGroup="tableBtnGroup"
+          :tableProperty="{ rowKey: 'ID' }"
+          @btnClick="btnClick"
+        />
+      </div>
+    </Dialog>
+  </div>
+</template>
+
+<script setup lang="ts">
+import Minheader from "@/components/minheader/index.vue";
+import DataTable from "@/components/tableTemp/index.vue";
+import Dialog from "@/components/dialog/index.vue";
+const tableOptionser = ref<Array>([]); //下拉
+const typeK = ref<String>("进行中"); //状态
+const flag = ref<Boolean>(false); //弹窗开关
+const flaglod = ref<Boolean>(false); //插槽弹窗开关
+const loading = ref<Boolean>(false); //loding
+const type = ref<String>(""); //判断是否删除
+const typelod = ref<String>(""); //判断是否删除
+const input = ref<String>(""); //输入搜索
+const msgTitle = ref<String>("查看日志"); //弹窗标题
+const msgTitlelod = ref<String>("插槽编辑"); //弹窗标题
+const timeEnd = ref<String>(""); //日志结束时间
+const timeStart = ref<String>(""); //日志开始时间
+const tableData = ref([
+  {
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+  },
+  {
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+  },
+  {
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+  },
+]);
+const tableDatas = ref([
+  {
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+  },
+  {
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+  },
+  {
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+  },
+]);
+//表头
+const state = reactive({
+  list: [
+    { label: "输出数据源", key: "name" },
+    { label: "详细位置", key: "china" },
+    { label: "数据结构", key: "englin" },
+    { label: "输出条件", key: "two" },
+  ],
+  listLoading: true,
+});
+//表头
+const states = reactive({
+  list: [
+    { label: "插槽名称", key: "name" },
+    { label: "插槽地址", key: "china" },
+  ],
+  listLoading: true,
+});
+const tableBtnGroup = ref([
+  {
+    name: "编辑",
+    className: "editBtn",
+    param: 2,
+  },
+  {
+    name: "删除",
+    className: "delBtn",
+    param: 3,
+  },
+]);
+const tableForm = reactive({
+  name: "",
+  china: "",
+  englin: "",
+  two: "",
+  time: "",
+  time1: "",
+  three: "",
+  text: "",
+}); //服务id
+const tableForms = reactive({
+  name: "",
+  china: "",
+  englin: "",
+  two: "",
+  time: "",
+  time1: "",
+  three: "",
+  text: "",
+}); //主动采集配置
+const tableFormer = reactive({
+  name: "",
+  china: "",
+  englin: "",
+  two: "",
+  time: "",
+  time1: "",
+  three: "",
+  text: "",
+}); //统一接收
+const recordForme = reactive({
+  name: "",
+  china: "",
+  englin: "",
+  two: "",
+  time: "",
+  time1: "",
+  three: "",
+  text: "",
+}); //日志记录
+//编辑-删除
+const btnClick = (row, index, param) => {
+  if (param === 2) {
+    msgTitle.value = "编辑";
+    flag.value = true;
+    type.value = "";
+    tableForm.name = index.name;
+    tableForm.china = index.china;
+    tableForm.englin = index.englin;
+    tableForm.two = index.two;
+    tableForm.three = index.three;
+    tableForm.text = index.text;
+  } else if (param === 3) {
+    msgTitle.value = "删除";
+    flag.value = true;
+    type.value = "del";
+  } else if (param === 4) {
+  }
+};
+//查看日志
+const addJournalForm = () => {
+  flag.value = true;
+};
+//取消
+const resetForm = () => {
+  flag.value = false;
+};
+//删除
+const delRest = () => {
+  flag.value = false;
+};
+//开启插槽
+const addslotForm = () => {
+  flaglod.value = true;
+};
+//取消插槽
+const resetlodForm = () => {
+  flaglod.value = false;
+};
+//删除插槽
+const dellodRest = () => {
+  flaglod.value = false;
+};
+//时间限制
+const timeStartChange = (val) => {
+  if (val >= timeEnd) {
+    timeStart.value = "";
+  }
+};
+//时间限制
+const timeEndChange = (val) => {
+  if (val <= timeEnd) {
+    timeEnd.value = "";
+  }
+};
+//复制
+const logCopy = (index) => {
+  const ele = document.getElementById("logId" + index);
+  const val = ele.innerText;
+  try {
+    const input = document.createElement("input");
+    //将input的值设置为需要复制的内容
+    input.value = val;
+    //添加input标签
+    document.body.appendChild(input);
+    //选中input标签
+    input.select();
+    //执行复制
+    document.execCommand("copy");
+    //移除input标签
+    document.body.removeChild(input);
+    // this.$message.success("复制成功");
+  } catch (e) {
+    // this.$message.error("复制失败");
+  }
+};
+</script>
+
+<style lang="scss" scoped>
+.airportInfo {
+  height: 100%;
+  .wrap_id {
+    height: 140px;
+    background: #ffffff;
+    box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.1);
+    border-radius: 4px;
+    margin-bottom: 16px;
+    padding: 24px;
+  }
+  .wrap_config {
+    height: 196px;
+    background: #ffffff;
+    box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.1);
+    border-radius: 4px;
+    margin-bottom: 16px;
+    padding: 24px;
+  }
+  .wrap_rece {
+    height: 192px;
+    background: #ffffff;
+    box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.1);
+    border-radius: 4px;
+    margin-bottom: 16px;
+    padding: 24px;
+  }
+  .wrap_out {
+    height: 250px;
+    background: #ffffff;
+    box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.1);
+    border-radius: 4px;
+    padding: 24px;
+    ::v-deep .el-form-item__label {
+      width: 110px;
+    }
+  }
+  .outersurface {
+    width: 20%;
+  }
+  .outersurfaces {
+    width: 80%;
+  }
+  .outersurface50 {
+    width: 50%;
+  }
+  .outersurface100 {
+    width: 100%;
+  }
+  .diacont {
+    width: 100%;
+    .w100 {
+      width: 100%;
+    }
+    .fw {
+      display: flex;
+      flex-wrap: wrap;
+    }
+    .pd30 {
+      padding: 0 30px 0 0;
+    }
+  }
+}
+.typecond {
+  font-size: 20px;
+  font-family: Microsoft YaHei;
+  font-weight: bold;
+  color: #53b074;
+}
+.app-containers {
+  height: 170px;
+}
+::v-deep .el-form-item__content {
+  display: flex;
+}
+::v-deep .el-form-item__label {
+  width: 100px;
+}
+.interfaceLog {
+  padding: 0 24px 24px 24px;
+}
+.logcont {
+  padding: 0 24px 24px 24px;
+}
+</style>