Procházet zdrojové kódy

更新 未审核船舶发起审核

王智慧 před 3 roky
rodič
revize
0973e8bb78

+ 0 - 1
src/store/index.js

@@ -41,7 +41,6 @@ const store = createStore({
       state.keepAliveList = [...new Set(arr)];
     },
     removeAlive(state, data) {
-      console.log(data);
       let arr = state.keepAliveList.filter((item) => {
         return item != data;
       });

+ 1 - 0
src/views/shipSecurityManage/checkShipExamineList.vue

@@ -196,6 +196,7 @@ async function getSecurityTemplateDetail(id) {
 }
 
 function goTo(item) {
+  store.commit("addAlive", "checkShipExamineList");
   router.push({
     path:
       type.value == 1

+ 138 - 1
src/views/shipSecurityManage/checkSingleShip.vue

@@ -1,5 +1,44 @@
 <template>
   <el-card class="pl30 pt20 mt30" style="width: 1000px">
+    <div>
+      <div class="c6 mb20">船舶信息</div>
+      <div class="df aic mb20">
+        <div class="ship-label">船名</div>
+        <div class="ship-text">{{ shipDetail.shipname }}</div>
+        <div class="ship-label">MMSI</div>
+        <div class="ship-text">{{ shipDetail.mmsi }}</div>
+        <div class="ship-label">IMO</div>
+        <div class="ship-text">{{ shipDetail.imo }}</div>
+        <div class="ship-label">船龄</div>
+        <div class="ship-text">
+          {{ shipDetail.age }}
+          <span class="unit">年</span>
+        </div>
+      </div>
+      <div class="df aic mb20">
+        <div class="ship-label">船长</div>
+        <div class="ship-text">
+          {{ shipDetail.length }}
+          <span class="unit">米</span>
+        </div>
+        <div class="ship-label">船宽</div>
+        <div class="ship-text">
+          {{ shipDetail.breadth }}
+          <span class="unit">米</span>
+        </div>
+        <div class="ship-label">吨位</div>
+        <div class="ship-text">
+          {{ shipDetail.loadTons }}
+          <span class="unit">吨</span>
+        </div>
+        <div class="ship-label">满载吃水</div>
+        <div class="ship-text">
+          {{ shipDetail.draught }}
+          <span class="unit">米</span>
+        </div>
+      </div>
+    </div>
+    <el-divider />
     <div class="df aic mb20">
       <div class="c6 mr30">请选择安检模板:</div>
       <el-select
@@ -15,6 +54,34 @@
         />
       </el-select>
     </div>
+    <div v-if="templateDetail.id">
+      <div class="df aic">
+        <div class="c6 mr30 ml20">安检名称:</div>
+        <div class="c6 mr30">{{ templateDetail.securityCheckName }}</div>
+        <div class="c6 mr30">适用船型:</div>
+        <div class="c6 mr30">
+          {{ templateDetail.minShipLen }} - {{ templateDetail.maxShipLen }}
+        </div>
+      </div>
+      <div class="mt40 fs16 c6">安检项目</div>
+      <div
+        class="mb20 mt20 df aic fs14 c6"
+        v-for="item in templateDetail.items"
+      >
+        <div class="ml20 mr10 item-title">检查项目名称:</div>
+        <div class="mr30 item-text">{{ item.checkItemName }}</div>
+        <div class="mr10 item-title">检查项目类型:</div>
+        <div class="mr30 item-text">{{ item.checkItemTypeName }}</div>
+        <div class="mr10 item-title">检查项目备注:</div>
+        <div class="mr10 item-text">{{ item.checkItemRemark }}</div>
+      </div>
+    </div>
+    <el-divider />
+    <div class="df jcfe">
+      <el-button type="primary" :loading="isSubmit" @click="addSecurityCheck">
+        {{ isSubmit ? "正在提交" : "发起审核" }}
+      </el-button>
+    </div>
   </el-card>
 </template>
 <script setup>
@@ -29,6 +96,7 @@ import _ from "lodash";
 import { subTimeStr } from "../../utils/utils";
 
 const route = useRoute();
+let templateId = ref("");
 let templateSelect = ref([]);
 async function getAddTemplateSelect(shipCode) {
   let { data } = await api.getAddTemplateSelect({
@@ -40,9 +108,78 @@ async function getAddTemplateSelect(shipCode) {
     templateSelect.value = [];
   }
 }
+let shipDetail = ref({});
+async function getShipDetail(shipCode) {
+  let { data } = await api.getShipDetail({ shipCode });
+  shipDetail.value = data.result;
+}
+
+let templateDetail = ref({
+  items: [],
+});
+async function getSecurityTemplateDetail(id) {
+  let { data } = await api.getSecurityTemplateDetail({
+    id,
+  });
+  if (data.status == 0) {
+    templateDetail.value = data.result;
+  } else {
+    templateDetail.value = {
+      items: [],
+    };
+  }
+}
+let isSubmit = ref(false);
+async function addSecurityCheck() {
+  if (!templateId.value) {
+    ElMessage({
+      message: "请选择安检模板",
+      type: "warning",
+    });
+    return;
+  }
+  let postData = {
+    templateId: templateId.value,
+    shipCodes: [route.query.code],
+  };
+  isSubmit.value = true;
+  let { data } = await api.addSecurityCheck(postData);
+  isSubmit.value = false;
+  if (data.status == 0) {
+    ElNotification({
+      title: "成功",
+      message: data.msg,
+      type: "success",
+      duration: 1500,
+    });
+    store.commit("removeAlive", "checkShipExamineList");
+    router.replace("/shipSecurityManage/checkShipExamineList");
+  } else {
+    ElNotification({
+      message: data.msg,
+      type: "error",
+      duration: 2500,
+    });
+  }
+}
 onMounted(() => {
   getAddTemplateSelect(route.query.code);
+  getShipDetail(route.query.code);
 });
 </script>
 
-<style scoped></style>
+<style scoped>
+.ship-label {
+  width: 60px;
+  color: #666;
+  font-size: 14px;
+  text-align: right;
+  margin-right: 10px;
+}
+
+.ship-text {
+  width: 140px;
+  color: #333;
+  font-size: 14px;
+}
+</style>

+ 6 - 3
src/views/shipSecurityManage/shipCheckHistoryList.vue

@@ -66,7 +66,9 @@
         ></el-table-column>
         <el-table-column label="操作" min-width="120" align="center">
           <template v-slot="scope">
-            <el-button type="primary" link>详情</el-button>
+            <el-button type="primary" link @click="goTo(scope.row.id)">
+              详情
+            </el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -116,9 +118,10 @@ async function getSecurityCheckShipList(page) {
   }
 }
 
-async function getSecurityTemplateDetail(id) {
+function goTo(id) {
+  store.commit("addAlive", "shipCheckHistoryList");
   router.push({
-    path: "/shipSecurityManage/shipCheckTemplateDetail",
+    path: "/shipSecurityManage/checkShipExamine",
     query: {
       id,
     },