王智慧 преди 3 години
родител
ревизия
50400389d1
променени са 4 файла, в които са добавени 86 реда и са изтрити 20 реда
  1. 6 5
      src/components/ShipInfo.vue
  2. 30 2
      src/views/shipManage/shipList.vue
  3. 49 12
      src/views/shipOwnerManage/shipOwnerDetail.vue
  4. 1 1
      src/views/shipOwnerManage/shipOwnerList.vue

+ 6 - 5
src/components/ShipInfo.vue

@@ -4,6 +4,7 @@
     <div
       class="pl50 pt30 bgf df jcsb pr20"
       v-if="route.name == 'shipOwnerDetail'"
+      style="max-width: 1200px"
     >
       <el-button-group class="mr20">
         <el-button
@@ -252,7 +253,7 @@ let initShipInfo = {
   disabled: false,
   shipCerts: [
     {
-      title: "船舶国籍证书",
+      typeName: "船舶国籍证书",
       type: 1,
       date: "",
       startValidTime: "",
@@ -260,7 +261,7 @@ let initShipInfo = {
       certs: [],
     },
     {
-      title: "内河船舶适航证书",
+      typeName: "内河船舶适航证书",
       type: 2,
       date: "",
       startValidTime: "",
@@ -268,7 +269,7 @@ let initShipInfo = {
       certs: [],
     },
     {
-      title: "船舶年审合格证书",
+      typeName: "船舶年审合格证书",
       type: 3,
       date: "",
       startValidTime: "",
@@ -276,7 +277,7 @@ let initShipInfo = {
       certs: [],
     },
     {
-      title: "内河船舶最低安全配员证书",
+      typeName: "内河船舶最低安全配员证书",
       type: 4,
       date: "",
       startValidTime: "",
@@ -284,7 +285,7 @@ let initShipInfo = {
       certs: [],
     },
     {
-      title: "船舶保险",
+      typeName: "船舶保险",
       type: 5,
       date: "",
       startValidTime: "",

+ 30 - 2
src/views/shipManage/shipList.vue

@@ -58,12 +58,20 @@
         ></el-table-column>
         <el-table-column
           prop="createTime"
-          label="入驻时间"
+          label="创建时间"
           min-width="200"
           align="center"
         ></el-table-column>
-        <el-table-column label="操作" min-width="80" align="center">
+        <el-table-column label="操作" min-width="140" align="center">
           <template v-slot="scope">
+            <el-button
+              @click="deleteShip(scope.row.code)"
+              type="primary"
+              text
+              size="small"
+            >
+              删除
+            </el-button>
             <el-button
               @click="shipDetail(scope.row.code)"
               type="primary"
@@ -127,6 +135,26 @@ function pageChange(e) {
   currentPage.value = e;
   getShipList();
 }
+function deleteShip(shipCode) {
+  ElMessageBox.confirm("确认删除船舶?", "提示", {
+    confirmButtonText: "确认",
+    cancelButtonText: "取消",
+    type: "warning",
+  })
+    .then(async () => {
+      let { data } = await api.deleteShip({
+        shipCode,
+      });
+      if (data.status == 0) {
+        ElMessage({
+          type: "success",
+          message: "删除成功",
+        });
+        getShipList();
+      }
+    })
+    .catch(() => {});
+}
 onMounted(() => {
   getShipList();
 });

+ 49 - 12
src/views/shipOwnerManage/shipOwnerDetail.vue

@@ -74,7 +74,7 @@
         确定
       </el-button>
       <el-button
-        v-if="shipOwnerDetail.shipInfo.length == 0"
+        v-if="shipOwnerDetail.code && shipOwnerDetail.shipInfo.length == 0"
         type="primary"
         @click="addShip()"
       >
@@ -148,6 +148,52 @@ function checkShipOwner() {
   }
   return true;
 }
+let initShipInfo = {
+  shipId: 0,
+  disabled: false,
+  shipCerts: [
+    {
+      typeName: "船舶国籍证书",
+      type: 1,
+      date: "",
+      startValidTime: "",
+      endtValidTime: "",
+      certs: [],
+    },
+    {
+      typeName: "内河船舶适航证书",
+      type: 2,
+      date: "",
+      startValidTime: "",
+      endtValidTime: "",
+      certs: [],
+    },
+    {
+      typeName: "船舶年审合格证书",
+      type: 3,
+      date: "",
+      startValidTime: "",
+      endtValidTime: "",
+      certs: [],
+    },
+    {
+      typeName: "内河船舶最低安全配员证书",
+      type: 4,
+      date: "",
+      startValidTime: "",
+      endtValidTime: "",
+      certs: [],
+    },
+    {
+      typeName: "船舶保险",
+      type: 5,
+      date: "",
+      startValidTime: "",
+      endtValidTime: "",
+      certs: [],
+    },
+  ],
+};
 async function addShipOwner() {
   if (!checkShipOwner()) return;
   let postData = shipOwnerDetail.value;
@@ -186,6 +232,7 @@ async function addShipOwner() {
       type: "success",
     })
       .then(() => {
+        data.result.shipInfo = [initShipInfo];
         shipOwnerDetail.value = data.result;
         unchangeableShipOwner.value = true;
       })
@@ -199,16 +246,6 @@ let unchangeableShipOwner = ref(false);
 let unchangeableShip = ref(false);
 
 let shipCertsRef = ref(null);
-async function searchShip(e) {
-  if (e.target.value.length != 9) return;
-  let { data } = await api.searchShip({
-    mmsi: e.target.value,
-  });
-  if (data.status == 0) {
-    shipDetail.value = data.result;
-    shipCertsRef.value.initCerts(shipDetail.value.shipCerts);
-  }
-}
 
 async function getShipOwnerDetail(shipOwnerId) {
   let { data } = await api.getShipOwnerDetail({
@@ -227,7 +264,7 @@ async function getShipOwnerDetail(shipOwnerId) {
   console.log(data);
 }
 function addShip() {
-  shipOwnerDetail.value.shipInfo = [{}];
+  shipOwnerDetail.value.shipInfo = [initShipInfo];
 }
 
 onMounted(() => {

+ 1 - 1
src/views/shipOwnerManage/shipOwnerList.vue

@@ -81,7 +81,7 @@
         ></el-table-column>
         <el-table-column
           prop="createTime"
-          label="入驻时间"
+          label="创建时间"
           min-width="200"
           align="center"
         ></el-table-column>