فهرست منبع

feat(takePhoto): 添加船员资质升级提醒功能

- 新增 getCrewUpgradeData 方法获取船员升级数据
- 在页面中添加船员升级提醒模块
- 优化证书到期提醒和证书办理联系人模块布局
- 新增 .tag-blue 样式和 .w33p、.w35p 宽度类
wzg 8 ماه پیش
والد
کامیت
1f06a4c57a

+ 19 - 27
miniprogram/pages/takePhoto/takePhoto.js

@@ -22,33 +22,9 @@ Page({
     shipCertificate: [],
     shipCrewCertificate: [],
     certOperationContact: [],
-    palletList: [
-      {
-        id: 5,
-        cargoName: "222",
-        loadPortName: "2",
-        dischargePortName: "3",
-        cargoTons: 4,
-        contactName: "5",
-        contactPhone: "13666666666",
-        status: 1,
-        releaseTime: "2025/05/08 19:52:33",
-        createTime: "2025/05/07 23:36:26",
-      },
-      {
-        id: 6,
-        cargoName: "测试1",
-        loadPortName: "上海",
-        dischargePortName: "张家港",
-        cargoTons: 111,
-        contactName: "11",
-        contactPhone: "11111111111",
-        status: 1,
-        releaseTime: "2025/05/08 19:52:14",
-        createTime: "2025/05/08 11:06:03",
-      },
-    ],
+    palletList: [],
     palletListSearchWords: "", // 货盘搜索关键词
+    crewUpgradeData: [],
   },
 
   /**
@@ -61,6 +37,7 @@ Page({
     this.getIntelligentService();
     this.getPalletList();
     this.getCheckinStatus();
+    this.getCrewUpgradeData();
   },
 
   /**
@@ -209,7 +186,10 @@ Page({
 
   // intelligent/service获取智能服务
   async getIntelligentService() {
-    let { data } = await postApi("/pallet/intelligent/service", {});
+    let { data } = await postApi(
+      "/pallet/intelligent/service/ship/cert/expiries",
+      {}
+    );
     if (data.status === 0) {
       this.setData(data.result);
     } else {
@@ -505,4 +485,16 @@ Page({
       url: "/pages/takeBill/takeBill",
     });
   },
+  async getCrewUpgradeData() {
+    let { data } = await getApi("/pallet/intelligent/service/crew/upgrade");
+    if (data.status === 0) {
+      this.setData({
+        crewUpgradeData: data.result,
+      });
+    } else {
+      this.setData({
+        crewUpgradeData: [],
+      });
+    }
+  },
 });

+ 20 - 1
miniprogram/pages/takePhoto/takePhoto.wxml

@@ -127,7 +127,7 @@
         <!-- 船舶证书 -->
         <view class="list-item" wx:if="{{shipCertificate && shipCertificate.length > 0}}">
           <view class="tag tag-danger">提醒</view>
-          您有{{shipCertificate.length}}个证书即将到期
+          您有 {{shipCertificate.length}} 个证书即将到期
           <view style="margin-top: 10px">
             <view class="cert-item c7">
               <view>证书名称</view>
@@ -143,6 +143,25 @@
             </view>
           </view>
         </view>
+        <!-- 船员升级 -->
+        <view class="list-item" wx:if="{{crewUpgradeData && crewUpgradeData.length > 0}}">
+          <view class="tag tag-blue">提醒</view>
+          您有 {{crewUpgradeData.length}} 个船员资质可升级
+          <view style="margin-top: 10px">
+            <view class="cert-item c7">
+              <view class="w33p">船员名称</view>
+              <view class="w33p tac">当前资质</view>
+              <view class="w33p tar">可升级为</view>
+            </view>
+          </view>
+          <view>
+            <view class="cert-item" wx:for="{{crewUpgradeData}}" wx:key="index">
+              <view class="w33p">{{item.shipOwnerName}}</view>
+              <view class="w33p tac">{{item.nowPostName}}</view>
+              <view class="expire-date stable w33p tar">{{item.upgradePostName}}</view>
+            </view>
+          </view>
+        </view>
         <!-- 证书办理联系人 -->
         <view class="list-item contact-info" wx:if="{{certOperationContact && certOperationContact.length > 0}}">
           <view class="mb20">证书办理联系人</view>

+ 6 - 2
miniprogram/pages/takePhoto/takePhoto.wxss

@@ -152,6 +152,10 @@ page {
   background-color: #f44336;
 }
 
+.tag-blue {
+  background-color: #1e88e5;
+}
+
 /* 证书项目样式 */
 .cert-item {
   padding: 5px 8rpx;
@@ -279,14 +283,14 @@ page {
 .water-level-station {
   font-weight: bold;
   color: #777;
-  width: 40%;
+  width: 35%;
 }
 
 .water-level-value {
   font-size: 16px;
   margin: 5px 0;
   color: #555;
-  width: 30%;
+  width: 35%;
 }
 
 .water-level-trend {

+ 8 - 1
miniprogram/style/width.wxss

@@ -85,6 +85,13 @@
 .w30p {
   width: 30% !important;
 }
+.w33p {
+  width: 33.33% !important;
+}
+
+.w35p {
+  width: 35% !important;
+}
 
 .w40p {
   width: 40% !important;
@@ -112,4 +119,4 @@
 
 .w100p {
   width: 100% !important;
-}
+}