Browse Source

feat(miniprogram): 新增船厂和学校页面并更新证书页面样式

- 新增船厂和学校页面组件
- 更新证书页面样式,增加船舶和船员证书信息展示
- 调整海事公告页面布局
- 优化安全检查页面样式
wzg 9 tháng trước cách đây
mục cha
commit
59b5ab7ac1

+ 5 - 3
miniprogram/app.json

@@ -14,7 +14,9 @@
     "pages/legal/legal",
     "pages/legal/submitLegal/submitLegal",
     "pages/securityCheck/securityCheck",
-    "pages/train/train"
+    "pages/train/train",
+    "pages/shipyard/shipyard",
+    "pages/school/school"
   ],
   "requiredPrivateInfos": ["getLocation"],
   "window": {
@@ -43,13 +45,13 @@
         "iconPath": "./images/tabs/cert.png"
       },
       {
-        "pagePath": "pages/oilPrice/oilPrice",
+        "pagePath": "pages/shipyard/shipyard",
         "text": "油价查询",
         "selectedIconPath": "./images/tabs/oilPrice-.png",
         "iconPath": "./images/tabs/oilPrice.png"
       },
       {
-        "pagePath": "pages/legal/legal",
+        "pagePath": "pages/school/school",
         "text": "法律援助",
         "selectedIconPath": "./images/tabs/legal-.png",
         "iconPath": "./images/tabs/legal.png"

+ 17 - 16
miniprogram/custom-tab-bar/index.js

@@ -6,40 +6,41 @@ Component({
     list: [
       {
         pagePath: "/pages/takePhoto/takePhoto",
-        text: "随身拍",
+        text: "货盘",
         selectedIconPath: "../images/tabs/camera-.png",
         iconPath: "../images/tabs/camera.png",
       },
       {
         pagePath: "/pages/cert/cert",
-        text: "证书办理",
+        text: "证书",
         selectedIconPath: "../images/tabs/cert-.png",
         iconPath: "../images/tabs/cert.png",
       },
-      {
-        pagePath: "/pages/oilPrice/oilPrice",
-        text: "油价查询",
-        selectedIconPath: "../images/tabs/oilPrice-.png",
-        iconPath: "../images/tabs/oilPrice.png",
-      },
-      {
-        pagePath: "/pages/legal/legal",
-        text: "法律援助",
-        selectedIconPath: "../images/tabs/legal-.png",
-        iconPath: "../images/tabs/legal.png",
-      },
+
       {
         pagePath: "/pages/maritime/maritime",
-        text: "海事公告",
+        text: "海事",
         selectedIconPath: "../images/tabs/ship-.png",
         iconPath: "../images/tabs/ship.png",
       },
       {
         pagePath: "/pages/securityCheck/securityCheck",
-        text: "海事安检",
+        text: "年检",
         selectedIconPath: "../images/tabs/check-.png",
         iconPath: "../images/tabs/check.png",
       },
+      {
+        pagePath: "/pages/shipyard/shipyard",
+        text: "船厂",
+        selectedIconPath: "../images/tabs/oilPrice-.png",
+        iconPath: "../images/tabs/oilPrice.png",
+      },
+      {
+        pagePath: "/pages/school/school",
+        text: "学校",
+        selectedIconPath: "../images/tabs/legal-.png",
+        iconPath: "../images/tabs/legal.png",
+      },
     ],
   },
   attached() {},

+ 45 - 0
miniprogram/pages/cert/cert.js

@@ -2,6 +2,51 @@
 import { postApi, getApi } from "../../apis/api";
 Page({
   data: {
+    shipName: "长江之星",
+    mmsi: "413123456",
+    shipCerts: [
+      {
+        name: "船舶检验证书",
+        photoUrl: "https://example.com/cert1.jpg",
+        expireDate: "2024-12-31",
+      },
+      {
+        name: "船舶营运证",
+        photoUrl: "https://example.com/cert2.jpg",
+        expireDate: "2024-06-30",
+      },
+    ],
+    crewCerts: [
+      {
+        name: "张三",
+        medicalReport: "https://example.com/medical1.jpg",
+        serviceBook: "https://example.com/service1.jpg",
+        certificates: [
+          {
+            name: "船员适任证书",
+            photoUrl: "https://example.com/crew_cert1.jpg",
+            expireDate: "2024-12-31",
+          },
+          {
+            name: "特殊培训合格证",
+            photoUrl: "https://example.com/crew_cert2.jpg",
+            expireDate: "2024-09-30",
+          },
+        ],
+      },
+      {
+        name: "李四",
+        medicalReport: "https://example.com/medical2.jpg",
+        serviceBook: "https://example.com/service2.jpg",
+        certificates: [
+          {
+            name: "船员适任证书",
+            photoUrl: "https://example.com/crew_cert3.jpg",
+            expireDate: "2024-11-30",
+          },
+        ],
+      },
+    ],
     certs: [],
     contacts: [],
     introduce: {},

+ 72 - 39
miniprogram/pages/cert/cert.wxml

@@ -1,45 +1,78 @@
-<!-- pages/cert/cert.wxml -->
-<view class="card">
-  <view class="card-title">我的证书</view>
-  <view class="">
-    <view class="df aic fs28 th mb20">
-      <view class="index-item tac">序号</view>
-      <view class="fg1 tac">证书名称</view>
-      <view class="end-time tac">到期时间</view>
-    </view>
-    <view class="df aic jcsb fs28 tr mb10" style="{{certs.length===(index+1)?'border:none;margin-bottom:0!important;':''}}" wx:for="{{certs}}" wx:key="index">
-      <view class="index-item tac">{{index+1}}</view>
-      <view class="fg1 tac">{{item.certTypeName}}</view>
-      <view class="end-time tac">{{item.endValidTime}}</view>
-    </view>
-  </view>
-</view>
-<view class="card">
-  <view class="card-title">证书办理服务</view>
-  <view class="">
-    <view class="df aic">
-      <image class="i-img" mode="aspectFit" bind:tap="preview" data-url="{{introduce.imageUrl}}" src="{{introduce.imageUrl}}" mode="" />
-      <view class="i-text">{{introduce.textContent||'暂无'}}</view>
+<view class="container">
+  <!-- 顶部标题 -->
+  <view class="header">内河干散货运输船东服务</view>
+  <!-- 内容区域 -->
+  <view class="content">
+    <!-- 船舶基础信息 -->
+    <view class="card">
+      <view class="card-header">船舶基础信息</view>
+      <view class="card-content">
+        <view class="info-item">
+          <view class="info-label">船舶名称</view>
+          <view class="info-value">{{shipName}}</view>
+        </view>
+        <view class="info-item">
+          <view class="info-label">MMSI</view>
+          <view class="info-value">{{mmsi}}</view>
+        </view>
+      </view>
     </view>
-  </view>
-</view>
-<view class="card">
-  <view class="card-title">办证联系人</view>
-  <view class="">
-    <view class="df aic jcsb fs28 th">
-      <view class="index-item tac">序号</view>
-      <view class="w50p tac">办事处</view>
-      <view class="w30p tac">姓名</view>
-      <view class="w20p tac">电话</view>
+    <!-- 船舶证书 -->
+    <view class="card">
+      <view class="card-header">船舶证书</view>
+      <view class="card-content">
+        <view class="cert-list">
+          <view class="cert-item" wx:for="{{shipCerts}}" wx:key="index">
+            <view class="cert-title">{{item.name}}</view>
+            <image class="cert-photo" mode="aspectFit" src="{{item.photoUrl}}" bindtap="previewImage" data-url="{{item.photoUrl}}"></image>
+            <view class="cert-expire">
+              <text class="expire-label">有效期至:</text>
+              <text class="expire-date">{{item.expireDate}}</text>
+            </view>
+          </view>
+        </view>
+      </view>
     </view>
-    <view class="df aic jcsb fs28 mt10 tr" style="{{contacts.length===(index+1)?'border:none;margin-bottom:0!important;':''}}" wx:for="{{contacts}}" wx:key="index">
-      <view class="index-item tac">{{index+1}}</view>
-      <view class="w50p tac">{{item.officeName}}</view>
-      <view class="w30p tac">{{item.contactPerson}}</view>
-      <view class="w20p tac df aic jcc" bind:tap="makePhoneCall" data-phone="{{item.contactPhone}}">
-        <image class="tel ml10" data-phone="{{item.contactPhone}}" src="../../images/tel.png" mode="aspectFit" />
+    <!-- 船员证书 -->
+    <view class="card">
+      <view class="card-header">船员证书</view>
+      <view class="card-content">
+        <view class="crew-list">
+          <view class="crew-item" wx:for="{{crewCerts}}" wx:key="index">
+            <view class="crew-name">{{item.name}}</view>
+            <!-- 体检报告 -->
+            <view class="cert-section">
+              <view class="section-title">体检报告</view>
+              <image class="cert-photo" mode="aspectFit" src="{{item.medicalReport}}" bindtap="previewImage" data-url="{{item.medicalReport}}"></image>
+            </view>
+            <!-- 服务簿 -->
+            <view class="cert-section">
+              <view class="section-title">服务簿</view>
+              <image class="cert-photo" mode="aspectFit" src="{{item.serviceBook}}" bindtap="previewImage" data-url="{{item.serviceBook}}"></image>
+            </view>
+            <!-- 证书列表 -->
+            <view class="cert-section">
+              <view class="section-title">证书列表</view>
+              <view class="cert-list">
+                <view class="cert-item" wx:for="{{item.certificates}}" wx:for-item="cert" wx:key="index">
+                  <view class="cert-title">{{cert.name}}</view>
+                  <image class="cert-photo" mode="aspectFit" src="{{cert.photoUrl}}" bindtap="previewImage" data-url="{{cert.photoUrl}}"></image>
+                  <view class="cert-expire">
+                    <text class="expire-label">有效期至:</text>
+                    <text class="expire-date">{{cert.expireDate}}</text>
+                  </view>
+                </view>
+              </view>
+            </view>
+          </view>
+        </view>
       </view>
     </view>
+    <!-- 分享按钮 -->
+    <view class="share-section">
+      <button class="share-btn" open-type="share">一键分享证书信息</button>
+      <view class="share-footer">船东证书服务由汇很多船东科技服务平台提供</view>
+    </view>
   </view>
 </view>
-<view class="primary w500 m0a mt50">一键分享</view>
+<view class="h200"></view>

+ 158 - 1
miniprogram/pages/cert/cert.wxss

@@ -1 +1,158 @@
-/* pages/cert/cert.wxss */
+.container {
+  padding: 20rpx;
+  background-color: #f5f5f5;
+  min-height: 100vh;
+}
+
+.header {
+  font-size: 36rpx;
+  font-weight: bold;
+  text-align: center;
+  padding: 20rpx 0;
+  color: #333;
+}
+
+.content {
+  padding: 20rpx;
+}
+
+.card {
+  background-color: #fff;
+  border-radius: 12rpx;
+  padding: 20rpx;
+  margin-bottom: 20rpx;
+  box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.1);
+}
+
+.card-header {
+  font-size: 32rpx;
+  font-weight: bold;
+  color: #333;
+  margin-bottom: 20rpx;
+  padding-bottom: 10rpx;
+  border-bottom: 2rpx solid #eee;
+}
+
+.card-content {
+  padding: 10rpx 0;
+}
+
+.info-item {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  padding: 10rpx 0;
+  border-bottom: 1rpx solid #eee;
+}
+
+.info-item:last-child {
+  border-bottom: none;
+}
+
+.info-label {
+  color: #666;
+  font-size: 28rpx;
+}
+
+.info-value {
+  color: #333;
+  font-size: 28rpx;
+  font-weight: 500;
+}
+
+.cert-list {
+  display: flex;
+  flex-direction: column;
+  gap: 20rpx;
+}
+
+.cert-item {
+  background-color: #f9f9f9;
+  border-radius: 8rpx;
+  padding: 15rpx;
+}
+
+.cert-title {
+  font-size: 28rpx;
+  color: #333;
+  margin-bottom: 10rpx;
+}
+
+.cert-photo {
+  width: 100%;
+  height: 300rpx;
+  border-radius: 8rpx;
+  margin: 10rpx 0;
+  background-color: #eee;
+}
+
+.cert-expire {
+  display: flex;
+  align-items: center;
+  margin-top: 10rpx;
+}
+
+.expire-label {
+  font-size: 24rpx;
+  color: #666;
+}
+
+.expire-date {
+  font-size: 24rpx;
+  color: #ff4d4f;
+  margin-left: 10rpx;
+}
+
+.crew-list {
+  display: flex;
+  flex-direction: column;
+  gap: 30rpx;
+}
+
+.crew-item {
+  background-color: #f9f9f9;
+  border-radius: 8rpx;
+  padding: 20rpx;
+}
+
+.crew-name {
+  font-size: 30rpx;
+  font-weight: bold;
+  color: #333;
+  margin-bottom: 15rpx;
+}
+
+.cert-section {
+  margin-top: 20rpx;
+}
+
+.section-title {
+  font-size: 28rpx;
+  color: #666;
+  margin-bottom: 10rpx;
+}
+
+.share-section {
+  margin-top: 40rpx;
+  padding: 20rpx;
+  text-align: center;
+}
+
+.share-btn {
+  background-color: #1e88e5;
+  color: #fff;
+  font-size: 32rpx;
+  padding: 20rpx 40rpx;
+  border-radius: 40rpx;
+  border: none;
+  margin-bottom: 20rpx;
+}
+
+.share-btn::after {
+  border: none;
+}
+
+.share-footer {
+  font-size: 24rpx;
+  color: #999;
+}

+ 43 - 102
miniprogram/pages/maritime/maritime.js

@@ -1,105 +1,46 @@
-// pages/maritime/maritime.js
-import { postApi } from "../../apis/api";
 Page({
-  data: {
-    list: [],
-    total: "",
-    currentPage: 1,
-    size: 10,
-  },
-  async getList(isScroll) {
-    let { list, currentPage, size } = this.data;
-    let { data } = await postApi("/maritime/notice/getFileList", {
-      currentPage,
-      size,
-      shipId: wx.getStorageSync("shipId"),
-      userId: wx.getStorageSync("userId"),
-    });
-    let { total, status, msg } = data;
-    if (status == 0) {
-      if (isScroll) {
-        list = [...list, ...data.result];
-      } else {
-        list = data.result;
-      }
-    } else {
-      wx.showToast({
-        title: msg,
-        icon: "none",
-      });
-      if (!isScroll) {
-        list = [];
-      }
-    }
-    this.setData({
-      list,
-      total,
-      isFreshing: false,
-    });
-  },
-  async openFile(e) {
-    try {
-      wx.showLoading({
-        title: "正在加载...",
-      });
-      let { downloadUrl: url, suffixName } = e.currentTarget.dataset.item;
-      wx.downloadFile({
-        url,
-        success: ({ tempFilePath: filePath }) => {
-          wx.hideLoading();
-          wx.openDocument({
-            filePath,
-            fileType: suffixName.toLowerCase(),
-          });
-        },
-      });
-    } catch (error) {
-      wx.showToast({
-        title: "系统繁忙",
-        icon: "error",
-      });
-      wx.hideLoading();
-    }
-  },
+  /**
+   * 页面的初始数据
+   */
+  data: {},
 
-  onPullDownRefresh() {
-    this.setData({
-      list: [],
-      currentPage: 1,
-      total: 0,
-    });
-    this.getList();
-  },
-  scrollList() {
-    if (
-      this.data.total == 0 ||
-      this.data.total <= this.data.size * this.data.currentPage
-    )
-      return;
-    this.data.currentPage += 1;
-    this.getList(true);
-  },
-  scrollDownList() {
-    this.setData({
-      total: 0,
-      currentPage: 1,
-      list: [],
-    });
-    this.getList();
-  },
-  onLoad(options) {},
-  onShow() {
-    if (typeof this.getTabBar === "function" && this.getTabBar()) {
-      this.getTabBar().setData({
-        selected: 4,
-      });
-    }
-    console.log("show");
-    this.setData({
-      list: [],
-      currentPage: 1,
-      size: 10,
-    });
-    this.getList();
-  },
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function (options) {},
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function () {},
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function () {},
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function () {},
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function () {},
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function () {},
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function () {},
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function () {},
 });

+ 0 - 6
miniprogram/pages/maritime/maritime.wxml

@@ -1,6 +0,0 @@
-<view class="title">海事公告</view>
-<scroll-view class="container" bindrefresherrefresh="scrollDownList" refresher-triggered="{{isFreshing}}" refresher-enabled="{{true}}" scroll-y="true" bindscrolltolower="scrollList" style="height:calc(100vh - 120rpx)">
-  <view class="mb20 item" wx:for="{{list}}" wx:key="index" bind:tap="openFile" data-item="{{item}}">
-    {{index+1}}. {{item.fileName}}
-  </view>
-</scroll-view>

+ 0 - 18
miniprogram/pages/maritime/maritime.wxss

@@ -1,18 +0,0 @@
-/* pages/maritime/maritime.wxss */
-.title {
-  background: #2e6cb7;
-  text-align: center;
-  color: #fff;
-  padding: 20rpx;
-}
-
-.container {
-  margin: 20rpx 30rpx;
-}
-
-.item {
-  width: 95vw;
-  padding: 10rpx 20rpx;
-  border-bottom: 1px solid #ddd;
-  font-size: 28rpx;
-}

+ 53 - 0
miniprogram/pages/school/school.js

@@ -0,0 +1,53 @@
+// pages/school/school.js
+Page({
+  /**
+   * 页面的初始数据
+   */
+  data: {},
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad(options) {},
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady() {},
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow() {
+    if (typeof this.getTabBar === "function" && this.getTabBar()) {
+      this.getTabBar().setData({
+        selected: 5,
+      });
+    }
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide() {},
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload() {},
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh() {},
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom() {},
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage() {},
+});

+ 3 - 0
miniprogram/pages/school/school.json

@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}

+ 2 - 0
miniprogram/pages/school/school.wxml

@@ -0,0 +1,2 @@
+<!--pages/school/school.wxml-->
+<text>pages/school/school.wxml</text>

+ 1 - 0
miniprogram/pages/school/school.wxss

@@ -0,0 +1 @@
+/* pages/school/school.wxss */

+ 43 - 147
miniprogram/pages/securityCheck/securityCheck.js

@@ -1,150 +1,46 @@
-// pages/securityCheck/securityCheck.js
-import { postApi } from "../../apis/api";
-import { apiUrl } from "../../apis/apiConfig";
-
-import { isImage } from "../../utils/utils";
 Page({
-  data: {
-    list: [],
-    loginStatus: wx.getStorageSync("userId"),
-  },
-  async login() {
-    if (!wx.getStorageSync("openId")) return;
-    let res1 = await postApi("/user/wx/openId/login", {
-      openId: wx.getStorageSync("openId"),
-    });
-    if (res1.data.status == 0) {
-      let data = {
-        ...res1.data.result.userInfo,
-        ...res1.data.result.shipInfo,
-      };
-      Object.keys(data).forEach(function (key) {
-        wx.setStorageSync(key, data[key]);
-      });
-      this.setData({
-        loginStatus: true,
-      });
-      this.getList();
-    } else {
-      wx.switchTab({
-        url: "/pages/takePhoto/takePhoto",
-      });
-    }
-  },
-  async getList() {
-    if (!wx.getStorageSync("userId")) {
-      wx.showToast({
-        title: "尚未登录",
-        icon: "none",
-      });
-      return;
-    }
-    let { data } = await postApi("/security/check/list", {
-      userId: wx.getStorageSync("userId"),
-      shipId: wx.getStorageSync("shipId"),
-    });
-    wx.stopPullDownRefresh();
-    if (data.status == 0) {
-      for (let i of data.result) {
-        i.isImage = isImage(i.fileKey);
-      }
-      this.setData({
-        list: data.result,
-      });
-    } else {
-      this.setData({
-        list: [],
-      });
-    }
-  },
-  uploadMedia(e) {
-    let { id: itemId } = e.currentTarget.dataset;
-    wx.showLoading({
-      title: "高精度定位中...",
-    });
-    wx.getLocation({
-      type: "gcj02",
-      isHighAccuracy: true,
-      success: (e) => {
-        let { latitude, longitude } = e;
-        wx.chooseMedia({
-          count: 1,
-          mediaType: ["image", "video"],
-          sourceType: ["album", "camera"],
-          sizeType: ["original", "compressed"],
-          success: (e) => {
-            console.log("获取媒体成功!", e);
-            let filePath = e.tempFiles[0].tempFilePath;
-            wx.showLoading({
-              title: "正在上传...",
-            });
-            wx.uploadFile({
-              url: `${apiUrl}/security/check/upload/file`,
-              filePath,
-              name: "file",
-              formData: {
-                itemId,
-                userId: wx.getStorageSync("userId"),
-                location: `${longitude},${latitude}`,
-              },
-              success: async (e) => {
-                let data = JSON.parse(e.data);
-                if (data.status == 0) {
-                  this.getList();
-                  wx.showToast({
-                    title: data.msg,
-                    duration: 1500,
-                  });
-                } else {
-                  wx.showToast({
-                    title: data.msg,
-                    icon: "none",
-                    duration: 2000,
-                  });
-                }
-              },
-              fail: (err) => {
-                wx.showToast({
-                  title: data.msg,
-                  icon: "none",
-                  duration: 2000,
-                });
-              },
-            });
-          },
-          fail: (e) => {
-            console.log("失败1", e);
-          },
-        });
-      },
-      fail: (e) => {
-        this.setData({
-          authModal: true,
-          modalText: "位置信息",
-        });
-      },
-      complete: (e) => {
-        wx.hideLoading({
-          success: (res) => {},
-        });
-      },
-    });
-  },
-  onPullDownRefresh() {
-    this.getList();
-  },
-  onShow() {
-    this.setData({
-      loginStatus: wx.getStorageSync("userId"),
-    });
+  /**
+   * 页面的初始数据
+   */
+  data: {},
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function (options) {},
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function () {},
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function () {},
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function () {},
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function () {},
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function () {},
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function () {},
 
-    if (typeof this.getTabBar === "function" && this.getTabBar()) {
-      this.getTabBar().setData({
-        selected: 5,
-      });
-    }
-  },
-  onLoad(options) {
-    this.getList();
-  },
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function () {},
 });

+ 1 - 1
miniprogram/pages/securityCheck/securityCheck.json

@@ -1,4 +1,4 @@
 {
   "usingComponents": {},
   "enablePullDownRefresh": true
-}
+}

+ 0 - 21
miniprogram/pages/securityCheck/securityCheck.wxml

@@ -1,21 +0,0 @@
-<view wx:if="{{loginStatus}}">
-  <view wx:if="{{list.length}}">
-    <view class="box mb30" wx:for="{{list}}" wx:key="id">
-      <view class="title mb10 df aic">
-        <view class="mr30">{{item.checkItemName}}</view>
-        <view style="color: red;" wx:if="{{item.auditStatus==2}}">审核未通过,请重拍</view>
-      </view>
-      <view wx:if="{{item.viewUrl}}">
-        <image wx:if="{{item.isImage}}" class="img" src="{{item.viewUrl}}"></image>
-        <video wx:else class="img" src="{{item.viewUrl}}"></video>
-      </view>
-      <view bindtap="uploadMedia" data-id="{{item.id}}" class="take-photo retake mb10" wx:else="">拍照</view>
-      <view class="next retake" bindtap="uploadMedia" data-id="{{item.id}}" wx:if="{{item.viewUrl}}">重拍</view>
-    </view>
-  </view>
-  <view class="tac" style="color: #666;" wx:else="">
-    <view style="font-size: 32rpx;margin-top:10vh;margin-bottom: 10rpx;">暂无数据</view>
-    <view style="font-size: 24rpx;">下拉刷新</view>
-  </view>
-</view>
-<view wx:else bindtap="login" class="go">去登录</view>

+ 0 - 50
miniprogram/pages/securityCheck/securityCheck.wxss

@@ -1,50 +0,0 @@
-/* pages/securityCheck/securityCheck.wxss */
-.box {
-  padding: 30rpx;
-  border-bottom: 2rpx solid #ddd;
-  padding-bottom: 30px;
-}
-
-.title {
-  font-size: 32rpx;
-  color: #555;
-  margin-bottom: 20px;
-}
-
-.img {
-  display: block;
-  margin: 20rpx auto;
-}
-
-
-.retake {
-  width: 530rpx !important;
-  height: 80rpx;
-  background: linear-gradient(270deg, #0089FD 0%, #43A9FF 100%);
-  border-radius: 20rpx;
-  text-align: center;
-  line-height: 80rpx;
-  font-size: 30rpx;
-  font-family: PingFangSC-Medium, PingFang SC;
-  font-weight: 500;
-  color: #FFFFFF;
-  margin: 0 auto;
-}
-
-
-.go {
-  width: 70vw;
-  height: 12vw;
-  line-height: 12vw;
-  font-size: 5vw;
-  text-align: center;
-  background: #3e94f6;
-  color: #fff;
-  border-radius: 6vw;
-  margin: 0 auto;
-  margin-top: 80vh;
-}
-
-.mr30 {
-  margin-right: 30rpx;
-}

+ 53 - 0
miniprogram/pages/shipyard/shipyard.js

@@ -0,0 +1,53 @@
+// pages/shipyard/shipyard.js
+Page({
+  /**
+   * 页面的初始数据
+   */
+  data: {},
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad(options) {},
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady() {},
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow() {
+    if (typeof this.getTabBar === "function" && this.getTabBar()) {
+      this.getTabBar().setData({
+        selected: 4,
+      });
+    }
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide() {},
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload() {},
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh() {},
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom() {},
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage() {},
+});

+ 3 - 0
miniprogram/pages/shipyard/shipyard.json

@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}

+ 2 - 0
miniprogram/pages/shipyard/shipyard.wxml

@@ -0,0 +1,2 @@
+<!--pages/shipyard/shipyard.wxml-->
+<text>pages/shipyard/shipyard.wxml</text>

+ 1 - 0
miniprogram/pages/shipyard/shipyard.wxss

@@ -0,0 +1 @@
+/* pages/shipyard/shipyard.wxss */