Преглед на файлове

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

zhongxiaoyu преди 2 години
родител
ревизия
f7c8982cb7

BIN
src/assets/baggage/ic_setting.png


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

@@ -3,9 +3,30 @@
     :class="isStatus || isStatuser ? 'flex' : 'flex-end'"
     class="data-table-btn"
   >
-    <div v-if="isStatus || isStatuser" class="vStatus">
+    <div v-if="isStatus || isStatuser" class="vStatus flex-act">
       <slot name="header" />
+      <el-date-picker
+        v-model="startTime"
+        type="date"
+        placeholder="开始日期"
+        size="default"
+      >
+      </el-date-picker>
+      <el-date-picker
+        class="L12"
+        size="default"
+        v-model="endTime"
+        type="date"
+        placeholder="结束日期"
+      >
+      </el-date-picker>
     </div>
+    <!-- <div class="">
+      <el-date-picker v-model="startTime" type="date" placeholder="选择日期">
+      </el-date-picker>
+      <el-date-picker v-model="endTime" type="date" placeholder="选择日期">
+      </el-date-picker>
+    </div> -->
     <div v-if="isBtn" class="rb">
       <template v-if="isSearch">
         <!-- <div class="serlog">
@@ -57,6 +78,14 @@
           >新增</el-button
         >
       </template>
+      <template v-if="isShow">
+        <img
+          class="btn-img"
+          src="@/assets/baggage/ic_setting.png"
+          title="列设置"
+          @click="show"
+        />
+      </template>
     </div>
   </div>
 </template>
@@ -109,14 +138,22 @@ const props = defineProps({
     type: Boolean,
     default: false,
   },
+  //是否显示列设置
+  isShow: {
+    type: Boolean,
+    default: false,
+  },
 });
 //搜索内容
 const input = ref("");
+const startTime = ref<String>(""); //时间
+const endTime = ref<String>(""); //时间
 const emits = defineEmits([
   "addForm",
   "preserForm",
   "addJournalForm",
   "addslotForm",
+  "showForm",
 ]);
 const addBbut = () => {
   emits("addForm");
@@ -139,6 +176,10 @@ const addJournal = () => {
 const addslot = () => {
   emits("addslotForm");
 };
+//列设置
+const show = () => {
+  emits("showForm");
+};
 </script>
 <style lang="scss" scoped>
 .data-table-btn {
@@ -179,4 +220,7 @@ const addslot = () => {
     margin-left: 16px;
   }
 }
+.btn-img {
+  cursor: pointer;
+}
 </style>

+ 6 - 2
src/components/steps/index.vue

@@ -10,7 +10,10 @@
       <div :style="{width:item.labelWidth ? item.labelWidth + 'px' : 80 + 'px',transform:`translateX(-${Math.floor(item.labelWidth ? item.labelWidth / 3 : 80 / 3)+3}px)`}" class="node-cap">
         <div class="node-name">{{item.name}}</div>
         <div class="node-info">
-          <div class="node-info-list" v-for="(p,i) in item.children" :key="i">{{p}}</div>
+          <span class="node-info-list" v-for="(p,i) in item.children" :key="i">{{p}}
+            <br v-if="i == 1" />
+            <i v-if="i % 2 == 0">/</i>
+          </span>
         </div>
       </div>
     </div>
@@ -44,13 +47,14 @@ const { datas } = props;
     }
     &-cap {
       text-align: center;
-      margin-top: 15px;
+      margin-top: 10px;
       .node-info-list {
         font-size: 12px;
         font-family: Helvetica;
         font-weight: 400;
         color: #101116;
         margin-top: 3px;
+        display: inline;
       }
     }
   }

+ 9 - 9
src/views/BasicsData/airportInfo/index.vue

@@ -21,7 +21,7 @@
         <el-col :span="18">
           <div class="app-containers">
             <DataTable
-              :tableColumnProperty="tableColumnProperty"
+              BtnGroupWidth="300px"
               :tableHeader="state.list"
               :tableData="tableData"
               :tableBtnGroup="tableBtnGroup"
@@ -204,14 +204,14 @@ const tableData = ref([
 //表头
 const state = reactive({
   list: [
-    { label: "名称", key: "name", width: "100px" },
-    { label: "三字码", key: "china", width: "50px" },
-    { label: "四字码", key: "englin", width: "50px" },
-    { label: "中文简称", key: "two", width: "50px" },
-    { label: "英文简称", key: "three", width: "50px" },
-    { label: "全称", key: "text", width: "50px" },
-    { label: "时区", key: "text1", width: "50px" },
-    { label: "公司名称", key: "text2", width: "50px" },
+    { label: "名称", key: "name" },
+    { label: "三字码", key: "china" },
+    { label: "四字码", key: "englin" },
+    { label: "中文简称", key: "two" },
+    { label: "英文简称", key: "three" },
+    { label: "全称", key: "text" },
+    { label: "时区", key: "text1" },
+    { label: "公司名称", key: "text2" },
   ],
   listLoading: true,
 });

+ 66 - 79
src/views/baggageManagement/arrival/goods/index.vue

@@ -26,14 +26,13 @@
       </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 class="title-list">进港: 深圳机场</div>
         </div>
         <Steps :datas="datas1" />
       </div>
     </div>
     <div class="station-table">
-      <Table :tableHeader="tableHeader" :tableData="tableData" />
+      <Table height="calc(100vh - 540px)" :tableHeader="tableHeader" :tableData="tableData" />
     </div>
   </div>
 </template>
@@ -71,32 +70,32 @@ const datas = [
   },
   {
     id: 3,
-    name: "安检",
+    name: "理货",
     flag: true,
     children: ["A32", "534件", "通过", "10:25"],
   },
   {
     id: 4,
-    name: "安检",
+    name: "待运区",
     flag: true,
     children: ["A32", "534件", "通过", "10:25"],
   },
   {
     id: 5,
-    name: "安检",
+    name: "货站交接",
     flag: true,
     children: ["A32", "534件", "通过", "10:25"],
   },
   {
     id: 6,
-    name: "安检",
-    flag: false,
+    name: "机下交接",
+    flag: true,
     children: ["A32", "534件", "通过", "10:25"],
   },
   {
     id: 7,
-    name: "安检安检",
-    flag: false,
+    name: "装机",
+    flag: true,
     labelWidth: 100,
     children: ["A32", "534件", "通过", "10:25"],
   },
@@ -104,109 +103,97 @@ const datas = [
 const datas1 = [
   {
     id: 1,
-    name: "收货核单",
+    name: "卸机",
     flag: true,
     labelWidth: 100,
     children: ["A32", "534件", "通过", "10:25"],
   },
   {
     id: 2,
-    name: "安检",
+    name: "机下交接",
     flag: true,
     children: ["A32", "534件", "通过", "10:25"],
   },
   {
     id: 3,
-    name: "安检",
+    name: "货站交接",
     flag: true,
     children: ["A32", "534件", "通过", "10:25"],
   },
   {
     id: 4,
-    name: "安检",
-    flag: false,
+    name: "提取",
+    flag: true,
     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" },
+  { label: "航班日期", key: "containerNo" },
+  { label: "起飞航站-预计起飞时间", key: "goodsNo" },
+  { label: "目的航站-预计降落时间", key: "dwon1" },
+  { label: "节点名称", key: "return" },
+  { label: "位置码", key: "receipt" },
+  { label: "位置描述", key: "securityCheck" },
+  { label: "处理时间", key: "tally" },
+  { label: "处理结果", key: "dwon2" },
+  { label: "数据来源", key: "waitingArea" },
+  { label: "设备ID", key: "goodSstation1" },
+  { label: "操作人", key: "offBoard1" },
+  { label: "发往位置", key: "installEquipment" },
+  { label: "发往位置描述", key: "unloading" },
 ];
 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",
+    containerNo: "2022/9/10",
+    goodsNo: "SZX-11:35",
+    dwon1: "PEK-14:35",
+    return: "机下交接",
+    receipt: "A03",
+    securityCheck: "停机位E24",
+    tally: "2022/09/10 07:10",
+    dwon2: "通过",
+    waitingArea: "人工扫描",
+    goodSstation1: "56",
+    offBoard1: "张伯伦",
+    installEquipment: "B12",
+    unloading: "货站B12闸口",
   },
   {
     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",
+    containerNo: "2022/9/10",
+    goodsNo: "SZX-11:35",
+    dwon1: "PEK-14:35",
+    return: "机下交接",
+    receipt: "A03",
+    securityCheck: "停机位E24",
+    tally: "2022/09/10 07:10",
+    dwon2: "通过",
+    waitingArea: "人工扫描",
+    goodSstation1: "56",
+    offBoard1: "张伯伦",
+    installEquipment: "B12",
+    unloading: "货站B12闸口",
   },
   {
     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",
+    containerNo: "2022/9/10",
+    goodsNo: "SZX-11:35",
+    dwon1: "PEK-14:35",
+    return: "机下交接",
+    receipt: "A03",
+    securityCheck: "停机位E24",
+    tally: "2022/09/10 07:10",
+    dwon2: "通过",
+    waitingArea: "人工扫描",
+    goodSstation1: "56",
+    offBoard1: "张伯伦",
+    installEquipment: "B12",
+    unloading: "货站B12闸口",
   },
 ];
 const search = (val) => {

+ 100 - 16
src/views/baggageManagement/arrival/waybill/index.vue

@@ -50,7 +50,7 @@
       </div>
     </div>
     <div class="station-table">
-      <Table height="calc(100vh - 800px)" :tableHeader="tableHeader" :tableData="tableData" />
+      <Table height="calc(100vh - 700px)" :tableHeader="tableHeader" :tableData="tableData" />
     </div>
   </div>
 </template>
@@ -181,18 +181,78 @@ const tableHeader = [
   { 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" },
+  {
+    label: "卸机",
+    key: "unloading",
+    lableClass: "scoreColumn2",
+    columnClassName: "scoreColumn2",
+  },
+  {
+    label: "机下交接",
+    key: "offBoard2",
+    lableClass: "scoreColumn2",
+    columnClassName: "scoreColumn2",
+  },
+  {
+    label: "货站交接",
+    key: "goodSstation2",
+    lableClass: "scoreColumn2",
+    columnClassName: "scoreColumn2",
+  },
+  {
+    label: "提取",
+    key: "extract",
+    lableClass: "scoreColumn2",
+    columnClassName: "scoreColumn2",
+  },
+  {
+    label: "收货核单",
+    key: "receipt",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "安检",
+    key: "securityCheck",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "理货",
+    key: "tally",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "拉下",
+    key: "dwon2",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "待运区",
+    key: "waitingArea",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "货站交接",
+    key: "goodSstation1",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "机下交接",
+    key: "offBoard1",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "装机",
+    key: "installEquipment",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
 ];
 const tableData = [
   {
@@ -210,7 +270,7 @@ const tableData = [
     goodSstation1: "101",
     offBoard1: "102",
     installEquipment: "103",
-    unloading: "104",
+    unloading: "A203/未通过/15:40",
     offBoard2: "105",
     goodSstation2: "106",
     extract: "107",
@@ -255,6 +315,26 @@ const tableData = [
     goodSstation2: "106",
     extract: "107",
   },
+  {
+    id: 4,
+    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}`);
@@ -298,7 +378,7 @@ const clear = () => {
       font-family: Microsoft YaHei;
       font-weight: bold;
       color: #101116;
-      margin-bottom: 28px;
+      margin-bottom: 10px;
       &-list {
         margin-right: 50px;
       }
@@ -316,8 +396,12 @@ const clear = () => {
     }
   }
   :deep &-table {
+    margin-top: 16px;
     .scoreColumn {
-      background: #eef3d6;
+      background: #eef3d6 !important;
+    }
+    .scoreColumn2 {
+      background: #d6e6f3 !important;
     }
   }
 }

+ 70 - 80
src/views/baggageManagement/departure/goods/index.vue

@@ -20,20 +20,18 @@
         <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 class="title-list">进港: 深圳机场</div>
         </div>
         <Steps :datas="datas1" />
       </div>
     </div>
     <div class="station-table">
-      <Table :tableHeader="tableHeader" :tableData="tableData" />
+      <Table height="calc(100vh - 540px)" :tableHeader="tableHeader" :tableData="tableData" />
     </div>
   </div>
 </template>
@@ -71,32 +69,32 @@ const datas = [
   },
   {
     id: 3,
-    name: "安检",
+    name: "理货",
     flag: true,
     children: ["A32", "534件", "通过", "10:25"],
   },
   {
     id: 4,
-    name: "安检",
+    name: "待运区",
     flag: true,
     children: ["A32", "534件", "通过", "10:25"],
   },
   {
     id: 5,
-    name: "安检",
+    name: "货站交接",
     flag: true,
     children: ["A32", "534件", "通过", "10:25"],
   },
   {
     id: 6,
-    name: "安检",
-    flag: false,
+    name: "机下交接",
+    flag: true,
     children: ["A32", "534件", "通过", "10:25"],
   },
   {
     id: 7,
-    name: "安检安检",
-    flag: false,
+    name: "装机",
+    flag: true,
     labelWidth: 100,
     children: ["A32", "534件", "通过", "10:25"],
   },
@@ -104,109 +102,101 @@ const datas = [
 const datas1 = [
   {
     id: 1,
-    name: "收货核单",
+    name: "卸机",
     flag: true,
     labelWidth: 100,
     children: ["A32", "534件", "通过", "10:25"],
   },
   {
     id: 2,
-    name: "安检",
+    name: "机下交接",
     flag: true,
     children: ["A32", "534件", "通过", "10:25"],
   },
   {
     id: 3,
-    name: "安检",
+    name: "货站交接",
     flag: true,
     children: ["A32", "534件", "通过", "10:25"],
   },
   {
     id: 4,
-    name: "安检",
-    flag: false,
+    name: "提取",
+    flag: true,
     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" },
+  { label: "航班日期", key: "containerNo" },
+  { label: "起飞航站-预计起飞时间", key: "goodsNo" },
+  { label: "目的航站-预计降落时间", key: "dwon1" },
+  { label: "节点名称", key: "return" },
+  { label: "位置码", key: "receipt" },
+  { label: "位置描述", key: "securityCheck" },
+  { label: "处理时间", key: "tally" },
+  { label: "处理结果", key: "dwon2" },
+  { label: "数据来源", key: "waitingArea" },
+  { label: "设备ID", key: "goodSstation1" },
+  { label: "操作人", key: "offBoard1" },
+  { label: "发往位置", key: "installEquipment" },
+  { label: "发往位置描述", key: "unloading" },
+  { label: "集装器编号", key: "demo" },
 ];
 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",
+    containerNo: "2022/9/10",
+    goodsNo: "SZX-11:35",
+    dwon1: "PEK-14:35",
+    return: "机下交接",
+    receipt: "A03",
+    securityCheck: "A区03闸口",
+    tally: "2022/09/10 07:10",
+    dwon2: "通过",
+    waitingArea: "人工扫描",
+    goodSstation1: "56",
+    offBoard1: "张伯伦",
+    installEquipment: "B12",
+    unloading: "货站B12闸口",
+    demo: "DOU2329U2",
   },
   {
     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",
+    containerNo: "2022/9/10",
+    goodsNo: "SZX-11:35",
+    dwon1: "PEK-14:35",
+    return: "机下交接",
+    receipt: "A03",
+    securityCheck: "A区03闸口",
+    tally: "2022/09/10 07:10",
+    dwon2: "通过",
+    waitingArea: "人工扫描",
+    goodSstation1: "56",
+    offBoard1: "张伯伦",
+    installEquipment: "B12",
+    unloading: "货站B12闸口",
+    demo: "DOU2329U2",
   },
   {
     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",
+    containerNo: "2022/9/10",
+    goodsNo: "SZX-11:35",
+    dwon1: "PEK-14:35",
+    return: "机下交接",
+    receipt: "A03",
+    securityCheck: "A区03闸口",
+    tally: "2022/09/10 07:10",
+    dwon2: "通过",
+    waitingArea: "人工扫描",
+    goodSstation1: "56",
+    offBoard1: "张伯伦",
+    installEquipment: "B12",
+    unloading: "货站B12闸口",
+    demo: "DOU2329U2",
   },
 ];
 const search = (val) => {

+ 99 - 15
src/views/baggageManagement/departure/waybill/index.vue

@@ -50,7 +50,7 @@
       </div>
     </div>
     <div class="station-table">
-      <Table height="calc(100vh - 800px)" :tableHeader="tableHeader" :tableData="tableData" />
+      <Table height="calc(100vh - 700px)" :tableHeader="tableHeader" :tableData="tableData" />
     </div>
   </div>
 </template>
@@ -181,18 +181,78 @@ const tableHeader = [
   { 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" },
+  {
+    label: "收货核单",
+    key: "receipt",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "安检",
+    key: "securityCheck",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "理货",
+    key: "tally",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "拉下",
+    key: "dwon2",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "待运区",
+    key: "waitingArea",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "货站交接",
+    key: "goodSstation1",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "机下交接",
+    key: "offBoard1",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "装机",
+    key: "installEquipment",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "卸机",
+    key: "unloading",
+    lableClass: "scoreColumn2",
+    columnClassName: "scoreColumn2",
+  },
+  {
+    label: "机下交接",
+    key: "offBoard2",
+    lableClass: "scoreColumn2",
+    columnClassName: "scoreColumn2",
+  },
+  {
+    label: "货站交接",
+    key: "goodSstation2",
+    lableClass: "scoreColumn2",
+    columnClassName: "scoreColumn2",
+  },
+  {
+    label: "提取",
+    key: "extract",
+    lableClass: "scoreColumn2",
+    columnClassName: "scoreColumn2",
+  },
 ];
 const tableData = [
   {
@@ -255,6 +315,26 @@ const tableData = [
     goodSstation2: "106",
     extract: "107",
   },
+  {
+    id: 4,
+    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}`);
@@ -298,7 +378,7 @@ const clear = () => {
       font-family: Microsoft YaHei;
       font-weight: bold;
       color: #101116;
-      margin-bottom: 28px;
+      margin-bottom: 10px;
       &-list {
         margin-right: 50px;
       }
@@ -316,8 +396,12 @@ const clear = () => {
     }
   }
   :deep &-table {
+    margin-top: 16px;
     .scoreColumn {
-      background: #eef3d6;
+      background: #eef3d6 !important;
+    }
+    .scoreColumn2 {
+      background: #d6e6f3 !important;
     }
   }
 }

+ 268 - 3
src/views/baggageManagement/internationalArrival/goods/index.vue

@@ -1,7 +1,272 @@
 <template>
-  <div></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>
+        <Steps :datas="datas" />
+      </div>
+    </div>
+    <div class="station-table">
+      <Table height="calc(100vh - 540px)" :tableHeader="tableHeader" :tableData="tableData" />
+    </div>
+  </div>
 </template>
 
-<script setup lang="ts"></script>
+<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",
+  },
+  {
+    id: 3,
+    name: "运单类型",
+    value: "国际普货",
+  },
+];
+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: true,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 7,
+    name: "装机",
+    flag: true,
+    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: true,
+    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" },
+  { label: "位置描述", key: "securityCheck" },
+  { label: "处理时间", key: "tally" },
+  { label: "处理结果", key: "dwon2" },
+  { label: "数据来源", key: "waitingArea" },
+  { label: "设备ID", key: "goodSstation1" },
+  { label: "操作人", key: "offBoard1" },
+  { label: "发往位置", key: "installEquipment" },
+  { label: "发往位置描述", key: "unloading" },
+];
+const tableData = [
+  {
+    id: 1,
+    fightNo: "CA1001",
+    containerNo: "2022/9/10",
+    goodsNo: "SZX-11:35",
+    dwon1: "PEK-14:35",
+    return: "入园",
+    receipt: "A03",
+    securityCheck: "A区03闸口",
+    tally: "2022/09/10 07:10",
+    dwon2: "通过",
+    waitingArea: "人工扫描",
+    goodSstation1: "56",
+    offBoard1: "张伯伦",
+    installEquipment: "B12",
+    unloading: "货站B12闸口",
+    demo: "DOU2329U2",
+  },
+  {
+    id: 2,
+    fightNo: "CA1001",
+    containerNo: "2022/9/10",
+    goodsNo: "SZX-11:35",
+    dwon1: "PEK-14:35",
+    return: "入园",
+    receipt: "A03",
+    securityCheck: "A区03闸口",
+    tally: "2022/09/10 07:10",
+    dwon2: "通过",
+    waitingArea: "人工扫描",
+    goodSstation1: "56",
+    offBoard1: "张伯伦",
+    installEquipment: "B12",
+    unloading: "货站B12闸口",
+    demo: "DOU2329U2",
+  },
+  {
+    id: 3,
+    fightNo: "CA1001",
+    containerNo: "2022/9/10",
+    goodsNo: "SZX-11:35",
+    dwon1: "PEK-14:35",
+    return: "入园",
+    receipt: "A03",
+    securityCheck: "A区03闸口",
+    tally: "2022/09/10 07:10",
+    dwon2: "通过",
+    waitingArea: "人工扫描",
+    goodSstation1: "56",
+    offBoard1: "张伯伦",
+    installEquipment: "B12",
+    unloading: "货站B12闸口",
+    demo: "DOU2329U2",
+  },
+];
+const search = (val) => {
+  ElMessage.success(`搜索成功:${val}`);
+};
+const clear = () => {
+  ElMessage.success(`清除`);
+};
+</script>
 
-<style scoped lang="scss"></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;
+      flex: 1;
+    }
+    &-right {
+      flex: 1;
+      background: #ffffff;
+      padding: 24px 24px 12px 24px;
+    }
+  }
+  :deep &-table {
+    margin-top: 16px;
+    .scoreColumn {
+      background: #eef3d6;
+    }
+  }
+}
+</style>

+ 353 - 3
src/views/baggageManagement/internationalArrival/waybill/index.vue

@@ -1,7 +1,357 @@
 <template>
-  <div></div>
+  <div class="station scroll-y">
+    <div class="station-head">
+      <div class="station-head-title">运单基本信息</div>
+      <div class="station-head-content flex">
+        <div 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>
+        <Steps :datas="datas" />
+      </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>
+        <Steps :datas="datas" />
+      </div>
+    </div>
+    <div class="station-table">
+      <Table height="calc(100vh - 700px)" :tableHeader="tableHeader" :tableData="tableData" />
+    </div>
+  </div>
 </template>
 
-<script setup lang="ts"></script>
+<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: 0,
+    name: "运单",
+    value: "FA56888829",
+  },
+  {
+    id: 1,
+    name: "运单类型",
+    value: "国际普货",
+  },
+  {
+    id: 2,
+    name: "货代公司",
+    value: "深圳市联运通货有限公司",
+  },
+  {
+    id: 3,
+    name: "品名",
+    value: "电路板、手机外壳",
+  },
+  {
+    id: 4,
+    name: "特货信息",
+    value: "特",
+  },
+  {
+    id: 5,
+    name: "始发机场",
+    value: "SZX",
+  },
+  {
+    id: 6,
+    name: "目的机场",
+    value: "CTU",
+  },
+];
+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: "goodsNo" },
+  { label: "中转", key: "dwon1" },
+  { label: "退运", key: "containerNo" },
+  { label: "海关异常", key: "return" },
+  {
+    label: "卸机",
+    key: "receipt",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "机下交接",
+    key: "securityCheck",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "货站交接",
+    key: "tally",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "理货",
+    key: "dwon2",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "海关",
+    key: "waitingArea",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "出库",
+    key: "goodSstation1",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "退运",
+    key: "offBoard1",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+];
+const tableData = [
+  {
+    id: 1,
+    fightNo: "CA1001",
+    containerNo: "Y",
+    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: "Y",
+    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: "Y",
+    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: 4,
+    fightNo: "CA1001",
+    containerNo: "Y",
+    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 scoped lang="scss"></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;
+    }
+  }
+  &-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: 10px;
+      &-list {
+        margin-right: 50px;
+      }
+    }
+    &-left {
+      background: #ffffff;
+      padding: 24px 24px 12px 24px;
+      flex: 1;
+      margin-right: 8px;
+    }
+    &-right {
+      flex: 1;
+      background: #ffffff;
+      padding: 24px 24px 12px 24px;
+    }
+  }
+  :deep &-table {
+    margin-top: 16px;
+    .scoreColumn {
+      background: #eef3d6 !important;
+    }
+    .scoreColumn2 {
+      background: #d6e6f3 !important;
+    }
+  }
+}
+</style>

+ 270 - 3
src/views/baggageManagement/internationalDeparture/goods/index.vue

@@ -1,7 +1,274 @@
 <template>
-  <div></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>
+        <Steps :datas="datas" />
+      </div>
+    </div>
+    <div class="station-table">
+      <Table height="calc(100vh - 540px)" :tableHeader="tableHeader" :tableData="tableData" />
+    </div>
+  </div>
 </template>
 
-<script setup lang="ts"></script>
+<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",
+  },
+  {
+    id: 3,
+    name: "运单类型",
+    value: "国际普货",
+  },
+];
+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: true,
+    children: ["A32", "534件", "通过", "10:25"],
+  },
+  {
+    id: 7,
+    name: "装机",
+    flag: true,
+    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: true,
+    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" },
+  { label: "位置描述", key: "securityCheck" },
+  { label: "处理时间", key: "tally" },
+  { label: "处理结果", key: "dwon2" },
+  { label: "数据来源", key: "waitingArea" },
+  { label: "设备ID", key: "goodSstation1" },
+  { label: "操作人", key: "offBoard1" },
+  { label: "发往位置", key: "installEquipment" },
+  { label: "发往位置描述", key: "unloading" },
+  { label: "集装器编号", key: "demo" },
+];
+const tableData = [
+  {
+    id: 1,
+    fightNo: "CA1001",
+    containerNo: "2022/9/10",
+    goodsNo: "SZX-11:35",
+    dwon1: "PEK-14:35",
+    return: "入园",
+    receipt: "A03",
+    securityCheck: "A区03闸口",
+    tally: "2022/09/10 07:10",
+    dwon2: "通过",
+    waitingArea: "人工扫描",
+    goodSstation1: "56",
+    offBoard1: "张伯伦",
+    installEquipment: "B12",
+    unloading: "货站B12闸口",
+    demo: "DOU2329U2",
+  },
+  {
+    id: 2,
+    fightNo: "CA1001",
+    containerNo: "2022/9/10",
+    goodsNo: "SZX-11:35",
+    dwon1: "PEK-14:35",
+    return: "入园",
+    receipt: "A03",
+    securityCheck: "A区03闸口",
+    tally: "2022/09/10 07:10",
+    dwon2: "通过",
+    waitingArea: "人工扫描",
+    goodSstation1: "56",
+    offBoard1: "张伯伦",
+    installEquipment: "B12",
+    unloading: "货站B12闸口",
+    demo: "DOU2329U2",
+  },
+  {
+    id: 3,
+    fightNo: "CA1001",
+    containerNo: "2022/9/10",
+    goodsNo: "SZX-11:35",
+    dwon1: "PEK-14:35",
+    return: "入园",
+    receipt: "A03",
+    securityCheck: "A区03闸口",
+    tally: "2022/09/10 07:10",
+    dwon2: "通过",
+    waitingArea: "人工扫描",
+    goodSstation1: "56",
+    offBoard1: "张伯伦",
+    installEquipment: "B12",
+    unloading: "货站B12闸口",
+    demo: "DOU2329U2",
+  },
+];
+const search = (val) => {
+  ElMessage.success(`搜索成功:${val}`);
+};
+const clear = () => {
+  ElMessage.success(`清除`);
+};
+</script>
 
-<style scoped lang="scss"></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;
+      flex: 1;
+    }
+    &-right {
+      flex: 1;
+      background: #ffffff;
+      padding: 24px 24px 12px 24px;
+    }
+  }
+  :deep &-table {
+    margin-top: 16px;
+    .scoreColumn {
+      background: #eef3d6;
+    }
+  }
+}
+</style>

+ 377 - 3
src/views/baggageManagement/internationalDeparture/waybill/index.vue

@@ -1,7 +1,381 @@
 <template>
-  <div></div>
+  <div class="station scroll-y">
+    <div class="station-head">
+      <div class="station-head-title">运单基本信息</div>
+      <div class="station-head-content flex">
+        <div 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>
+        <Steps :datas="datas" />
+      </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>
+        <Steps :datas="datas" />
+      </div>
+    </div>
+    <div class="station-table">
+      <Table height="calc(100vh - 700px)" :tableHeader="tableHeader" :tableData="tableData" />
+    </div>
+  </div>
 </template>
 
-<script setup lang="ts"></script>
+<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: 0,
+    name: "运单",
+    value: "FA56888829",
+  },
+  {
+    id: 1,
+    name: "运单类型",
+    value: "国际普货",
+  },
+  {
+    id: 2,
+    name: "货代公司",
+    value: "深圳市联运通货有限公司",
+  },
+  {
+    id: 3,
+    name: "品名",
+    value: "电路板、手机外壳",
+  },
+  {
+    id: 4,
+    name: "特货信息",
+    value: "特",
+  },
+  {
+    id: 5,
+    name: "始发机场",
+    value: "SZX",
+  },
+  {
+    id: 6,
+    name: "目的机场",
+    value: "CTU",
+  },
+];
+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",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "海关",
+    key: "securityCheck",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "运抵",
+    key: "tally",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "安检",
+    key: "dwon2",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "收运核单",
+    key: "waitingArea",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "理货",
+    key: "goodSstation1",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "拉下",
+    key: "offBoard1",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "待运区",
+    key: "installEquipment",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "货站交接",
+    key: "unloading",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "机下交接",
+    key: "offBoard2",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+  {
+    label: "提取",
+    key: "goodSstation2",
+    lableClass: "scoreColumn",
+    columnClassName: "scoreColumn",
+  },
+];
+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",
+  },
+  {
+    id: 4,
+    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 scoped lang="scss"></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;
+    }
+  }
+  &-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: 10px;
+      &-list {
+        margin-right: 50px;
+      }
+    }
+    &-left {
+      background: #ffffff;
+      padding: 24px 24px 12px 24px;
+      flex: 1;
+      margin-right: 8px;
+    }
+    &-right {
+      flex: 1;
+      background: #ffffff;
+      padding: 24px 24px 12px 24px;
+    }
+  }
+  :deep &-table {
+    margin-top: 16px;
+    .scoreColumn {
+      background: #eef3d6 !important;
+    }
+    .scoreColumn2 {
+      background: #d6e6f3 !important;
+    }
+  }
+}
+</style>

+ 265 - 7
src/views/dataQuery/flightQuery/index.vue

@@ -1,11 +1,269 @@
 <template>
-  <div></div>
+  <div class="airportInfo scroll-y">
+    <div class="wrap">
+      <Minheader
+        :is-Search="true"
+        :is-statuser="true"
+        :is-Show="true"
+        @showForm="showForm"
+      >
+        <template #header>
+          <div class="status flex-wrap">
+            <div class="manageTitle">航班查询</div>
+          </div>
+        </template></Minheader
+      >
+      <div class="app-containers">
+        <DataTable
+          :tableHeader="state.list"
+          :tableData="tableData"
+          :tableProperty="{ rowKey: 'ID' }"
+          @btnClick="btnClick"
+        />
+      </div>
+      <Dialog
+        :flag="dialogFlag"
+        class="dialog-check-group"
+        msgTitle="列设置"
+        @resetForm="columnForm"
+      >
+        <div class="dialog-wrapper">
+          <div class="content">
+            <el-tree
+              :data="tableCols"
+              :class="colsCheckClass"
+              show-checkbox
+              node-key="index"
+              :default-expand-all="true"
+              :props="{
+                label: 'label',
+                children: 'children',
+              }"
+              :default-checked-keys="checkedKeysTemp"
+            />
+          </div>
+          <!-- <div class="foot right t30">
+            <el-button size="medium" class="r24" type="primary">确定</el-button>
+            <el-button size="medium" @click="dialogFlag = false"
+              >取消</el-button
+            >
+          </div> -->
+        </div>
+      </Dialog>
+    </div>
+  </div>
 </template>
-<script lang="ts">
-import { defineComponent } from "vue";
-
-export default defineComponent({
-  setup() {},
+<script setup lang="ts">
+import DataTable from "@/components/tableTemp/index.vue";
+import Minheader from "@/components/minheader/index.vue";
+import Dialog from "@/components/dialog/index.vue";
+const dialogFlag = ref<Boolean>(false); //列设置弹窗开关
+const tableCols = ref([
+  {
+    prop: "flightNO",
+    label: "航班号",
+    desc: "指航班编号",
+    width: 80,
+    fixed: "left",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "flightDate",
+    label: "执飞日期",
+    desc:
+      "指航班计划起飞日期(不变的,机票上),不是预计起飞日期(预计起飞时间可能多个),也不是实际起飞日期(实际起飞等于最后预计)",
+    width: 105,
+    fixed: "left",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "planDepartureTime",
+    label: "起飞时间",
+    desc:
+      "根据优先级别显示时间。优先级别:1.实际起飞时间,2.预计起飞时间,3.计划起飞时间",
+    width: 150,
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "targetAirport",
+    label: "目的站",
+    desc: "指航班执飞航段的目的航站,以航站三字码显示",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "departureBuild",
+    label: "航站楼",
+    desc: "指航班执飞航段的目的航站楼",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "bordingGate",
+    label: "登机口",
+    desc: "指航班的登机口代码,数据是变化的,仅显示最新信息",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "standForDepartrue",
+    label: "停机位",
+    desc: "指航班的停机位代码,数据是变化的,仅显示最新信息",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "checkInTravellerNumber",
+    label: "托运旅客",
+    desc: "指航班已办理行李托运业务的旅客人数,含取消托运的旅客人数",
+  },
+  {
+    prop: "checkInNumber",
+    label: "值机数",
+    desc: "指已办理值机托运的行李数量,含取消托运的行李数量,含未激活",
+  },
+  {
+    prop: "unActive",
+    label: "未激活",
+    desc:
+      "指最后的 BSM 报文“.S”中行李状态为“I”的行李数量,含取消托运的行李数量",
+  },
+  {
+    prop: "preLoad",
+    label: "预计装载",
+    desc: "指已办理值机托运的行李数量,不含取消托运的行李数量,不包含未激活",
+  },
+  {
+    prop: "checkNumber",
+    label: "安检",
+    desc: "指进行安检的行李数量,含取消托运的行李数量",
+  },
+  {
+    prop: "sortNumber",
+    label: "分拣",
+    desc: "指已分拣完成的行李数量,含取消托运的行李数量",
+  },
+  {
+    prop: "loadNumber",
+    label: "装车",
+    desc: "指已在分拣口装车完成的行李数量,含取消托运的行李数量",
+  },
+  {
+    prop: "boardID",
+    label: "装机",
+    desc: "指装机完成的行李数量,不含取消托运的行李数量",
+  },
+  {
+    prop: "tounLoad",
+    label: "待翻减",
+    desc:
+      "指旅客在办理行李托运后,旅客取消该行李的托运并且行李此时已经过装车节点,而没有完成翻减的行李数量(须翻减总数减去已翻减数)",
+  },
+  {
+    prop: "OFFCount",
+    label: "已翻减",
+    desc:
+      "指旅客在办理行李托运后,旅客取消该行李的托运并且行李此时已经过装车节点,且已完成翻减的行李数量",
+  },
+  {
+    prop: "noCheckInNumber",
+    label: "取消托运",
+    desc: "指旅客在办理行李托运后,又取消托运的行李总数量",
+  },
+  {
+    prop: "noBSM",
+    label: "无BSM",
+    desc: "行李有处理信息(BPM)但无值机信息(BSM)的行李数量",
+  },
+  {
+    prop: "warning",
+    label: "风险预警",
+    desc:
+      "指依据航班信息中预计起飞时间和当前时间差,与根据分拣到停机位设置的报警阈值对比,超过阈值的为风险行李,本项显示风险预警行李数量",
+  },
+  {
+    prop: "exceptions",
+    label: "未装机行李",
+    desc: "指航班关闭货舱门后,应装而未装的行李数量",
+  },
+  {
+    prop: "midIn",
+    label: "中转进行李",
+    desc: "指从其他航班中转到当前航班的行李数量",
+  },
+]);
+//列表
+const tableData = ref([
+  {
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+    three: "测试",
+    text: "测试",
+    text1: "测试",
+    text2: "测试",
+    text3: "测试",
+    text4: "测试",
+  },
+  {
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+    three: "测试",
+    text: "测试",
+    text1: "测试",
+    text2: "测试",
+    text3: "测试",
+    text4: "测试",
+  },
+  {
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+    three: "测试",
+    text: "测试",
+    text1: "测试",
+    text2: "测试",
+    text3: "测试",
+    text4: "测试",
+  },
+]);
+//表头
+const state = reactive({
+  list: [
+    { label: "起飞航站", key: "name" },
+    { label: "目的航站", key: "china" },
+    { label: "航班号", key: "englin" },
+    { label: "航班日期", key: "two" },
+    { label: "直达/中转", key: "three" },
+    { label: "货代数", key: "text" },
+    { label: "运单数", key: "text1" },
+    { label: "货物数", key: "text2" },
+    { label: "机型", key: "text3" },
+    { label: "航司", key: "text4" },
+  ],
+  listLoading: true,
 });
+//列设置
+const showForm = () => {
+  dialogFlag.value = true;
+};
+//列设置取消
+const columnForm = () => {
+  dialogFlag.value = false;
+};
 </script>
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+::v-deep .el-form-item__label {
+  width: 100px;
+}
+.app-containers {
+  height: calc(100vh - 180px);
+}
+</style>

+ 285 - 7
src/views/dataQuery/freightInquiry/index.vue

@@ -1,11 +1,289 @@
 <template>
-  <div></div>
+  <div class="airportInfo scroll-y">
+    <div class="wrap">
+      <Minheader
+        :is-Search="true"
+        :is-statuser="true"
+        :is-Show="true"
+        @showForm="showForm"
+      >
+        <template #header>
+          <div class="status flex-wrap">
+            <div class="manageTitle">货物查询</div>
+          </div>
+        </template></Minheader
+      >
+      <div class="app-containers">
+        <DataTable
+          :tableHeader="state.list"
+          :tableData="tableData"
+          :tableProperty="{ rowKey: 'ID' }"
+          @btnClick="btnClick"
+        />
+      </div>
+      <Dialog
+        :flag="dialogFlag"
+        class="dialog-check-group"
+        msgTitle="列设置"
+        @resetForm="columnForm"
+      >
+        <div class="dialog-wrapper">
+          <div class="content">
+            <el-tree
+              :data="tableCols"
+              :class="colsCheckClass"
+              show-checkbox
+              node-key="index"
+              :default-expand-all="true"
+              :props="{
+                label: 'label',
+                children: 'children',
+              }"
+              :default-checked-keys="checkedKeysTemp"
+            />
+          </div>
+          <!-- <div class="foot right t30">
+            <el-button size="medium" class="r24" type="primary">确定</el-button>
+            <el-button size="medium" @click="dialogFlag = false"
+              >取消</el-button
+            >
+          </div> -->
+        </div>
+      </Dialog>
+    </div>
+  </div>
 </template>
-<script lang="ts">
-import { defineComponent } from "vue";
-
-export default defineComponent({
-  setup() {},
+<script setup lang="ts">
+import DataTable from "@/components/tableTemp/index.vue";
+import Minheader from "@/components/minheader/index.vue";
+import Dialog from "@/components/dialog/index.vue";
+const dialogFlag = ref<Boolean>(false); //列设置弹窗开关
+const tableCols = ref([
+  {
+    prop: "flightNO",
+    label: "航班号",
+    desc: "指航班编号",
+    width: 80,
+    fixed: "left",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "flightDate",
+    label: "执飞日期",
+    desc:
+      "指航班计划起飞日期(不变的,机票上),不是预计起飞日期(预计起飞时间可能多个),也不是实际起飞日期(实际起飞等于最后预计)",
+    width: 105,
+    fixed: "left",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "planDepartureTime",
+    label: "起飞时间",
+    desc:
+      "根据优先级别显示时间。优先级别:1.实际起飞时间,2.预计起飞时间,3.计划起飞时间",
+    width: 150,
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "targetAirport",
+    label: "目的站",
+    desc: "指航班执飞航段的目的航站,以航站三字码显示",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "departureBuild",
+    label: "航站楼",
+    desc: "指航班执飞航段的目的航站楼",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "bordingGate",
+    label: "登机口",
+    desc: "指航班的登机口代码,数据是变化的,仅显示最新信息",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "standForDepartrue",
+    label: "停机位",
+    desc: "指航班的停机位代码,数据是变化的,仅显示最新信息",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "checkInTravellerNumber",
+    label: "托运旅客",
+    desc: "指航班已办理行李托运业务的旅客人数,含取消托运的旅客人数",
+  },
+  {
+    prop: "checkInNumber",
+    label: "值机数",
+    desc: "指已办理值机托运的行李数量,含取消托运的行李数量,含未激活",
+  },
+  {
+    prop: "unActive",
+    label: "未激活",
+    desc:
+      "指最后的 BSM 报文“.S”中行李状态为“I”的行李数量,含取消托运的行李数量",
+  },
+  {
+    prop: "preLoad",
+    label: "预计装载",
+    desc: "指已办理值机托运的行李数量,不含取消托运的行李数量,不包含未激活",
+  },
+  {
+    prop: "checkNumber",
+    label: "安检",
+    desc: "指进行安检的行李数量,含取消托运的行李数量",
+  },
+  {
+    prop: "sortNumber",
+    label: "分拣",
+    desc: "指已分拣完成的行李数量,含取消托运的行李数量",
+  },
+  {
+    prop: "loadNumber",
+    label: "装车",
+    desc: "指已在分拣口装车完成的行李数量,含取消托运的行李数量",
+  },
+  {
+    prop: "boardID",
+    label: "装机",
+    desc: "指装机完成的行李数量,不含取消托运的行李数量",
+  },
+  {
+    prop: "tounLoad",
+    label: "待翻减",
+    desc:
+      "指旅客在办理行李托运后,旅客取消该行李的托运并且行李此时已经过装车节点,而没有完成翻减的行李数量(须翻减总数减去已翻减数)",
+  },
+  {
+    prop: "OFFCount",
+    label: "已翻减",
+    desc:
+      "指旅客在办理行李托运后,旅客取消该行李的托运并且行李此时已经过装车节点,且已完成翻减的行李数量",
+  },
+  {
+    prop: "noCheckInNumber",
+    label: "取消托运",
+    desc: "指旅客在办理行李托运后,又取消托运的行李总数量",
+  },
+  {
+    prop: "noBSM",
+    label: "无BSM",
+    desc: "行李有处理信息(BPM)但无值机信息(BSM)的行李数量",
+  },
+  {
+    prop: "warning",
+    label: "风险预警",
+    desc:
+      "指依据航班信息中预计起飞时间和当前时间差,与根据分拣到停机位设置的报警阈值对比,超过阈值的为风险行李,本项显示风险预警行李数量",
+  },
+  {
+    prop: "exceptions",
+    label: "未装机行李",
+    desc: "指航班关闭货舱门后,应装而未装的行李数量",
+  },
+  {
+    prop: "midIn",
+    label: "中转进行李",
+    desc: "指从其他航班中转到当前航班的行李数量",
+  },
+]);
+//列表
+const tableData = ref([
+  {
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+    three: "测试",
+    text: "测试",
+    text1: "测试",
+    text2: "测试",
+    text3: "测试",
+    text4: "测试",
+    text5: "测试",
+    text6: "测试",
+    text7: "测试",
+    text8: "测试",
+    text9: "测试",
+  },
+  {
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+    three: "测试",
+    text: "测试",
+    text1: "测试",
+    text2: "测试",
+    text3: "测试",
+    text4: "测试",
+    text5: "测试",
+    text6: "测试",
+    text7: "测试",
+    text8: "测试",
+    text9: "测试",
+  },
+  {
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+    three: "测试",
+    text: "测试",
+    text1: "测试",
+    text2: "测试",
+    text3: "测试",
+    text4: "测试",
+    text5: "测试",
+    text6: "测试",
+    text7: "测试",
+    text8: "测试",
+    text9: "测试",
+  },
+]);
+//表头
+const state = reactive({
+  list: [
+    { label: "起飞航站", key: "name" },
+    { label: "目的航站", key: "china" },
+    { label: "航班号", key: "englin" },
+    { label: "航班日期", key: "two" },
+    { label: "直达/中转", key: "three" },
+    { label: "货物牌号", key: "text" },
+    { label: "特殊货物类型", key: "text1" },
+    { label: "位置(节点)", key: "text2" },
+    { label: "状态(节点)", key: "text3" },
+    { label: "运单号", key: "text4" },
+    { label: "值机号", key: "text5" },
+    { label: "安检序号", key: "text6" },
+    { label: "货代", key: "text7" },
+    { label: "货代等级", key: "text8" },
+    { label: "批次号", key: "text9" },
+  ],
+  listLoading: true,
 });
+//列设置
+const showForm = () => {
+  dialogFlag.value = true;
+};
+//列设置取消
+const columnForm = () => {
+  dialogFlag.value = false;
+};
 </script>
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+::v-deep .el-form-item__label {
+  width: 100px;
+}
+.app-containers {
+  height: calc(100vh - 180px);
+}
+</style>

+ 269 - 7
src/views/dataQuery/waybillQuery/index.vue

@@ -1,11 +1,273 @@
 <template>
-  <div></div>
+  <div class="airportInfo scroll-y">
+    <div class="wrap">
+      <Minheader
+        :is-Search="true"
+        :is-statuser="true"
+        :is-Show="true"
+        @showForm="showForm"
+      >
+        <template #header>
+          <div class="status flex-wrap">
+            <div class="manageTitle">运单查询</div>
+          </div>
+        </template></Minheader
+      >
+      <div class="app-containers">
+        <DataTable
+          :tableHeader="state.list"
+          :tableData="tableData"
+          :tableProperty="{ rowKey: 'ID' }"
+          @btnClick="btnClick"
+        />
+      </div>
+      <Dialog
+        :flag="dialogFlag"
+        class="dialog-check-group"
+        msgTitle="列设置"
+        @resetForm="columnForm"
+      >
+        <div class="dialog-wrapper">
+          <div class="content">
+            <el-tree
+              :data="tableCols"
+              :class="colsCheckClass"
+              show-checkbox
+              node-key="index"
+              :default-expand-all="true"
+              :props="{
+                label: 'label',
+                children: 'children',
+              }"
+              :default-checked-keys="checkedKeysTemp"
+            />
+          </div>
+          <!-- <div class="foot right t30">
+            <el-button size="medium" class="r24" type="primary">确定</el-button>
+            <el-button size="medium" @click="dialogFlag = false"
+              >取消</el-button
+            >
+          </div> -->
+        </div>
+      </Dialog>
+    </div>
+  </div>
 </template>
-<script lang="ts">
-import { defineComponent } from "vue";
-
-export default defineComponent({
-  setup() {},
+<script setup lang="ts">
+import DataTable from "@/components/tableTemp/index.vue";
+import Minheader from "@/components/minheader/index.vue";
+import Dialog from "@/components/dialog/index.vue";
+const dialogFlag = ref<Boolean>(false); //列设置弹窗开关
+const tableCols = ref([
+  {
+    prop: "flightNO",
+    label: "航班号",
+    desc: "指航班编号",
+    width: 80,
+    fixed: "left",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "flightDate",
+    label: "执飞日期",
+    desc:
+      "指航班计划起飞日期(不变的,机票上),不是预计起飞日期(预计起飞时间可能多个),也不是实际起飞日期(实际起飞等于最后预计)",
+    width: 105,
+    fixed: "left",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "planDepartureTime",
+    label: "起飞时间",
+    desc:
+      "根据优先级别显示时间。优先级别:1.实际起飞时间,2.预计起飞时间,3.计划起飞时间",
+    width: 150,
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "targetAirport",
+    label: "目的站",
+    desc: "指航班执飞航段的目的航站,以航站三字码显示",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "departureBuild",
+    label: "航站楼",
+    desc: "指航班执飞航段的目的航站楼",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "bordingGate",
+    label: "登机口",
+    desc: "指航班的登机口代码,数据是变化的,仅显示最新信息",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "standForDepartrue",
+    label: "停机位",
+    desc: "指航班的停机位代码,数据是变化的,仅显示最新信息",
+    filterable: true,
+    sortable: true,
+  },
+  {
+    prop: "checkInTravellerNumber",
+    label: "托运旅客",
+    desc: "指航班已办理行李托运业务的旅客人数,含取消托运的旅客人数",
+  },
+  {
+    prop: "checkInNumber",
+    label: "值机数",
+    desc: "指已办理值机托运的行李数量,含取消托运的行李数量,含未激活",
+  },
+  {
+    prop: "unActive",
+    label: "未激活",
+    desc:
+      "指最后的 BSM 报文“.S”中行李状态为“I”的行李数量,含取消托运的行李数量",
+  },
+  {
+    prop: "preLoad",
+    label: "预计装载",
+    desc: "指已办理值机托运的行李数量,不含取消托运的行李数量,不包含未激活",
+  },
+  {
+    prop: "checkNumber",
+    label: "安检",
+    desc: "指进行安检的行李数量,含取消托运的行李数量",
+  },
+  {
+    prop: "sortNumber",
+    label: "分拣",
+    desc: "指已分拣完成的行李数量,含取消托运的行李数量",
+  },
+  {
+    prop: "loadNumber",
+    label: "装车",
+    desc: "指已在分拣口装车完成的行李数量,含取消托运的行李数量",
+  },
+  {
+    prop: "boardID",
+    label: "装机",
+    desc: "指装机完成的行李数量,不含取消托运的行李数量",
+  },
+  {
+    prop: "tounLoad",
+    label: "待翻减",
+    desc:
+      "指旅客在办理行李托运后,旅客取消该行李的托运并且行李此时已经过装车节点,而没有完成翻减的行李数量(须翻减总数减去已翻减数)",
+  },
+  {
+    prop: "OFFCount",
+    label: "已翻减",
+    desc:
+      "指旅客在办理行李托运后,旅客取消该行李的托运并且行李此时已经过装车节点,且已完成翻减的行李数量",
+  },
+  {
+    prop: "noCheckInNumber",
+    label: "取消托运",
+    desc: "指旅客在办理行李托运后,又取消托运的行李总数量",
+  },
+  {
+    prop: "noBSM",
+    label: "无BSM",
+    desc: "行李有处理信息(BPM)但无值机信息(BSM)的行李数量",
+  },
+  {
+    prop: "warning",
+    label: "风险预警",
+    desc:
+      "指依据航班信息中预计起飞时间和当前时间差,与根据分拣到停机位设置的报警阈值对比,超过阈值的为风险行李,本项显示风险预警行李数量",
+  },
+  {
+    prop: "exceptions",
+    label: "未装机行李",
+    desc: "指航班关闭货舱门后,应装而未装的行李数量",
+  },
+  {
+    prop: "midIn",
+    label: "中转进行李",
+    desc: "指从其他航班中转到当前航班的行李数量",
+  },
+]);
+//列表
+const tableData = ref([
+  {
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+    three: "测试",
+    text: "测试",
+    text1: "测试",
+    text2: "测试",
+    text3: "测试",
+    text4: "测试",
+    text5: "测试",
+  },
+  {
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+    three: "测试",
+    text: "测试",
+    text1: "测试",
+    text2: "测试",
+    text3: "测试",
+    text4: "测试",
+    text5: "测试",
+  },
+  {
+    name: "测试",
+    china: "测试",
+    englin: "测试",
+    two: "测试",
+    three: "测试",
+    text: "测试",
+    text1: "测试",
+    text2: "测试",
+    text3: "测试",
+    text4: "测试",
+    text5: "测试",
+  },
+]);
+//表头
+const state = reactive({
+  list: [
+    { label: "起飞航站", key: "name" },
+    { label: "目的航站", key: "china" },
+    { label: "航班号", key: "englin" },
+    { label: "航班日期", key: "two" },
+    { label: "直达/中转", key: "three" },
+    { label: "运单编号", key: "text" },
+    { label: "重量", key: "text1" },
+    { label: "位置(节点)", key: "text2" },
+    { label: "状态(节点)", key: "text3" },
+    { label: "名称(货代)", key: "text4" },
+    { label: "货代等级(货代)", key: "text5" },
+  ],
+  listLoading: true,
 });
+//列设置
+const showForm = () => {
+  dialogFlag.value = true;
+};
+//列设置取消
+const columnForm = () => {
+  dialogFlag.value = false;
+};
 </script>
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+::v-deep .el-form-item__label {
+  width: 100px;
+}
+.app-containers {
+  height: calc(100vh - 180px);
+}
+</style>

+ 1 - 1
src/views/systemSettings/securityPolicy/index.vue

@@ -587,7 +587,7 @@ defineExpose({
   display: inline-block;
   font-size: 14px;
   margin: 0px 4px 0px 0;
-  // background-color: rgb(229, 229, 229);
+  background: #dfe3ea;
   border: 1px solid #e8eaec;
   border-radius: 3px;
 }

+ 92 - 81
src/views/systemSettings/serviceManagement/index.vue

@@ -105,6 +105,7 @@ import img4 from "@/assets/integr/kafka_blue.png";
 import img5 from "@/assets/integr/push_blue.png";
 import img6 from "@/assets/integr/save_blue.png";
 import img7 from "@/assets/integr/mysql_blue.png";
+import img8 from "@/assets/integr/pull_red.png";
 provide("echarts", echarts);
 const chartDom = ref(null);
 const myChart = ref(null);
@@ -126,7 +127,7 @@ const defaultImgError = "image://" + reactive(img2);
 const pullImg = "image://" + reactive(img3);
 
 //拉取节点-错误
-const pullImgError = getAssetsFile("pull_red.png");
+const pullImgError = "image://" + reactive(img8);
 
 //kafka节点
 const kafkaImg = "image://" + reactive(img4);
@@ -138,7 +139,7 @@ const kafkaImgError = getAssetsFile("kafka_red.png");
 const pushImg = "image://" + reactive(img5);
 
 //推送节点-错误
-const pushImgError = getAssetsFile("push_red.png");
+const pushImgError = "image://" + getAssetsFile("push_red.png");
 
 //存储节点
 const saveImg = "image://" + reactive(img6);
@@ -212,16 +213,16 @@ preDatas.value.splice(5, 10);
 const nodeDataList = ref([
   {
     name: "星盟SBH",
-    linkTargetName: "首都机场边缘节点",
+    linkTargetName: "Kafka",
     linkValue: " ",
     coordConfig: {
       level: "0",
     },
-    value: [10, 250],
+    value: [10, 245],
     draggable: false,
     fixed: true,
     symbol: defaultImg,
-    symbolSize: 30,
+    symbolSize: 60,
   },
   // {
   //   name: "星盟SBH",
@@ -321,30 +322,30 @@ const nodeDataList = ref([
   //   symbolSize: 30,
   // },
   //节点B,C,D ....n
-  {
-    name: "首都机场边缘节点",
-    linkTargetName: "国航主动拉取节点",
-    linkValue: " ",
-    coordConfig: {
-      level: "1",
-    },
-    symbol: pullImg,
-    symbolSize: 60,
-    draggable: false,
-    value: [40, 245],
-  },
-  {
-    name: "国航主动拉取节点",
-    linkTargetName: "Kafka",
-    linkValue: " ",
-    coordConfig: {
-      level: "2",
-    },
-    symbol: pullImg,
-    symbolSize: 60,
-    draggable: false,
-    value: [80, 180],
-  },
+  // {
+  //   name: "首都机场边缘节点",
+  //   linkTargetName: "国航主动拉取节点",
+  //   linkValue: " ",
+  //   coordConfig: {
+  //     level: "1",
+  //   },
+  //   symbol: pullImg,
+  //   symbolSize: 60,
+  //   draggable: false,
+  //   value: [40, 245],
+  // },
+  // {
+  //   name: "国航主动拉取节点",
+  //   linkTargetName: "Kafka",
+  //   linkValue: " ",
+  //   coordConfig: {
+  //     level: "2",
+  //   },
+  //   symbol: pullImg,
+  //   symbolSize: 60,
+  //   draggable: false,
+  //   value: [80, 180],
+  // },
   // {
   //   name: "国航被动接收节点",
   //   linkTargetName: "Kafka",
@@ -359,85 +360,95 @@ const nodeDataList = ref([
   // },
   {
     name: "Kafka",
-    linkTargetName: "BSM",
+    linkTargetName: "BSMBPM报文解析",
     linkValue: " ",
     coordConfig: { level: "3" },
     symbolSize: 60,
     symbol: kafkaImg,
     draggable: false,
-    value: [120, 140],
-  },
-  {
-    name: "Kafka ",
-    linkTargetName: "BPM",
-    linkValue: " ",
-    coordConfig: { level: "3" },
-    symbolSize: 60,
-    symbol: kafkaImg,
-    draggable: false,
-    label: {
-      show: false,
-    },
-    value: [120, 140],
-  },
-  {
-    name: "Kafka  ",
-    linkTargetName: "航班",
-    linkValue: " ",
-    coordConfig: { level: "3" },
-    symbolSize: 60,
-    symbol: kafkaImg,
-    draggable: false,
-    label: {
-      show: false,
-    },
-    value: [120, 140],
-  },
-  {
-    name: "Kafka   ",
-    linkTargetName: "行李投诉",
-    linkValue: " ",
-    coordConfig: { level: "3" },
-    symbolSize: 60,
-    symbol: kafkaImg,
-    draggable: false,
-    label: {
-      show: false,
-    },
-    value: [120, 140],
+    value: [40, 245],
   },
   {
-    name: "Kafka    ",
-    linkTargetName: "旅客",
+    name: "BSMBPM报文解析",
+    linkTargetName: "BSM",
     linkValue: " ",
     coordConfig: { level: "3" },
     symbolSize: 60,
-    symbol: kafkaImg,
+    symbol: pullImgError,
     draggable: false,
-    label: {
-      show: false,
-    },
-    value: [120, 140],
+    value: [70, 245],
   },
+  // {
+  //   name: "Kafka ",
+  //   linkTargetName: "BPM",
+  //   linkValue: " ",
+  //   coordConfig: { level: "3" },
+  //   symbolSize: 60,
+  //   symbol: kafkaImg,
+  //   draggable: false,
+  //   label: {
+  //     show: false,
+  //   },
+  //   value: [120, 140],
+  // },
+  // {
+  //   name: "Kafka  ",
+  //   linkTargetName: "航班",
+  //   linkValue: " ",
+  //   coordConfig: { level: "3" },
+  //   symbolSize: 60,
+  //   symbol: kafkaImg,
+  //   draggable: false,
+  //   label: {
+  //     show: false,
+  //   },
+  //   value: [120, 140],
+  // },
+  // {
+  //   name: "Kafka   ",
+  //   linkTargetName: "行李投诉",
+  //   linkValue: " ",
+  //   coordConfig: { level: "3" },
+  //   symbolSize: 60,
+  //   symbol: kafkaImg,
+  //   draggable: false,
+  //   label: {
+  //     show: false,
+  //   },
+  //   value: [120, 140],
+  // },
+  // {
+  //   name: "Kafka    ",
+  //   linkTargetName: "旅客",
+  //   linkValue: " ",
+  //   coordConfig: { level: "3" },
+  //   symbolSize: 60,
+  //   symbol: kafkaImg,
+  //   draggable: false,
+  //   label: {
+  //     show: false,
+  //   },
+  //   value: [120, 140],
+  // },
   {
     name: "BSM",
     linkTargetName: "解析服务",
     linkValue: " ",
     coordConfig: { level: "4" },
-    symbolSize: 30,
+    symbolSize: 60,
     symbol: defaultImg,
     draggable: false,
-    value: [160, 180],
+    value: [100, 245],
   },
   {
     name: "BPM",
     linkTargetName: "推送节点",
     linkValue: " ",
     coordConfig: { level: "4" },
-    symbolSize: 30,
+    symbolSize: 60,
     symbol: defaultImg,
     draggable: false,
-    value: [160, 150],
+    value: [100, 200],
   },
   {
     name: "航班",

+ 173 - 5
src/views/systemSettings/serviceManagement/serviceMonitorEdit.vue

@@ -225,7 +225,7 @@
     <div class="wrap_out">
       <el-row :gutter="24">
         <el-col :span="12">
-          <Minheader :is-statuser="true" :is-auth="true">
+          <Minheader :is-statuser="true" :is-auth="true" @addForm="addForm">
             <template #header>
               <div class="status flex-wrap">
                 <div class="manageTitle">输出</div>
@@ -238,7 +238,7 @@
               :tableData="tableData"
               :tableBtnGroup="tableBtnGroup"
               :tableProperty="{ rowKey: 'ID' }"
-              @btnClick="btnClick"
+              @btnClick="btnClicks"
             />
           </div>
         </el-col>
@@ -421,7 +421,7 @@
       @delRest="dellodRest"
     >
       <div class="logcont">
-        <Minheader :is-auth="true" :is-statuser="true">
+        <Minheader :is-auth="true" :is-statuser="true" @addForm="addFormso">
           <template #header>
             <div class="status flex-wrap">
               <div class="manageTitle">插槽列表</div>
@@ -435,10 +435,86 @@
           :tableData="tableDatas"
           :tableBtnGroup="tableBtnGroup"
           :tableProperty="{ rowKey: 'ID' }"
-          @btnClick="btnClick"
+          @btnClick="btnClickso"
         />
       </div>
     </Dialog>
+    <Dialog
+      :flag="flagoutput"
+      :type="typeoutput"
+      :msgTitle="msgTitleoutput"
+      @resetForm="resetFormot"
+      @delRest="delRestout"
+    >
+      <div class="diacont">
+        <el-form :model="outputForm">
+          <el-row :gutter="24">
+            <el-col>
+              <el-form-item label="输出数据源" size="default">
+                <el-input
+                  v-model="outputForm.name"
+                  placeholder="请输入输出数据源"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col>
+              <el-form-item label="详细位置" size="default">
+                <el-input
+                  v-model="outputForm.china"
+                  placeholder="请输入详细位置"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col>
+              <el-form-item label="数据结构" size="default">
+                <el-input
+                  v-model="outputForm.englin"
+                  placeholder="请输入数据结构"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col>
+              <el-form-item label="输出条件" size="default">
+                <el-input
+                  v-model="outputForm.two"
+                  placeholder="请输入输出条件"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+    </Dialog>
+    <Dialog
+      :flag="flagso"
+      :type="typeso"
+      :msgTitle="msgTitleso"
+      @resetForm="resetsoForm"
+      @delRest="delsoout"
+    >
+      <div class="diacont">
+        <el-form :model="soltForm">
+          <el-row :gutter="24">
+            <el-col>
+              <el-form-item label="插槽名称" size="default">
+                <el-input
+                  v-model="soltForm.name"
+                  placeholder="请输入插槽名称"
+                />
+              </el-form-item>
+            </el-col>
+            <el-col>
+              <el-form-item label="插槽地址" size="default">
+                <el-input
+                  v-model="soltForm.china"
+                  placeholder="请输入插槽名称"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+    </Dialog>
   </div>
 </template>
 
@@ -458,6 +534,12 @@ const msgTitle = ref<String>("查看日志"); //弹窗标题
 const msgTitlelod = ref<String>("插槽编辑"); //弹窗标题
 const timeEnd = ref<String>(""); //日志结束时间
 const timeStart = ref<String>(""); //日志开始时间
+const flagoutput = ref<Boolean>(false); //输出开关
+const typeoutput = ref<String>(""); //判断输出弹窗是否删除
+const msgTitleoutput = ref<String>(""); //输出弹窗标题
+const flagso = ref<Boolean>(false); //输出开关
+const typeso = ref<String>(""); //判断输出弹窗是否删除
+const msgTitleso = ref<String>(""); //输出弹窗标题
 const tableData = ref([
   {
     name: "测试",
@@ -568,6 +650,26 @@ const recordForme = reactive({
   three: "",
   text: "",
 }); //日志记录
+const outputForm = reactive({
+  name: "",
+  china: "",
+  englin: "",
+  two: "",
+  time: "",
+  time1: "",
+  three: "",
+  text: "",
+}); //输出弹窗内容
+const soltForm = reactive({
+  name: "",
+  china: "",
+  englin: "",
+  two: "",
+  time: "",
+  time1: "",
+  three: "",
+  text: "",
+}); //插槽弹窗内容
 //编辑-删除
 const btnClick = (row, index, param) => {
   if (param === 2) {
@@ -644,6 +746,72 @@ const logCopy = (index) => {
     // this.$message.error("复制失败");
   }
 };
+//新增输出
+const addForm = () => {
+  msgTitleoutput.value = "新增输出";
+  flagso.value = true;
+  typeoutput.value = "";
+};
+//输出删除
+const delRestout = () => {
+  flagoutput.value = false;
+};
+//输出取消
+const resetFormot = () => {
+  flagoutput.value = false;
+};
+//输出编辑-删除
+const btnClicks = (row, index, param) => {
+  if (param === 2) {
+    msgTitleoutput.value = "编辑";
+    flagoutput.value = true;
+    typeoutput.value = "";
+    outputForm.name = index.name;
+    outputForm.china = index.china;
+    outputForm.englin = index.englin;
+    outputForm.two = index.two;
+    outputForm.three = index.three;
+    outputForm.text = index.text;
+  } else if (param === 3) {
+    msgTitleoutput.value = "删除";
+    flagoutput.value = true;
+    typeoutput.value = "del";
+  } else if (param === 4) {
+  }
+};
+//新增插槽
+const addFormso = () => {
+  msgTitleso.value = "新增插槽";
+  flagso.value = true;
+  typeso.value = "";
+};
+//取消插槽
+const resetsoForm = () => {
+  flagso.value = false;
+};
+//插槽新增删除
+const delsoout = () => {
+  flagso.value = false;
+};
+//插槽编辑-删除
+const btnClickso = (row, index, param) => {
+  if (param === 2) {
+    msgTitleso.value = "编辑";
+    flagso.value = true;
+    typeso.value = "";
+    soltForm.name = index.name;
+    soltForm.china = index.china;
+    soltForm.englin = index.englin;
+    soltForm.two = index.two;
+    soltForm.three = index.three;
+    soltForm.text = index.text;
+  } else if (param === 3) {
+    msgTitleso.value = "删除";
+    flagso.value = true;
+    typeso.value = "del";
+  } else if (param === 4) {
+  }
+};
 </script>
 
 <style lang="scss" scoped>
@@ -728,6 +896,6 @@ const logCopy = (index) => {
   padding: 0 24px 24px 24px;
 }
 .logcont {
-  padding: 0 24px 24px 24px;
+  padding: 0 24px 0px 24px;
 }
 </style>