|
|
@@ -1,107 +1,149 @@
|
|
|
<view class="page">
|
|
|
|
|
|
- <!-- logo 区域(接口未知,先留空) -->
|
|
|
- <view class="logo-area" wx:if="{{logoUrl}}">
|
|
|
- <image class="logo-img" src="{{logoUrl}}" mode="aspectFit" />
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 标题 -->
|
|
|
- <view class="title-area">
|
|
|
- <text class="title-text">{{dealerName}}{{language['施工进度汇报']||'施工进度汇报'}}</text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 表格区域 -->
|
|
|
- <view class="form-area">
|
|
|
- <!-- 日期 -->
|
|
|
- <view class="form-row">
|
|
|
- <view class="form-label">{{language['日期']||'日期'}}</view>
|
|
|
- <view class="form-value">{{form.date}}</view>
|
|
|
+ <!-- 头部渐变背景 -->
|
|
|
+ <view class="header-bg">
|
|
|
+ <!-- logo 区域 -->
|
|
|
+ <view class="logo-area" wx:if="{{logoUrl}}">
|
|
|
+ <image class="logo-img" src="{{logoUrl}}" mode="aspectFit" />
|
|
|
</view>
|
|
|
|
|
|
- <!-- 天气(接口未知,先留空) -->
|
|
|
- <view class="form-row">
|
|
|
- <view class="form-label">{{language['天气']||'天气'}}</view>
|
|
|
- <view class="form-value">
|
|
|
- <input class="form-input" value="{{form.weather}}" placeholder="{{language['请输入天气']||'请输入天气'}}" bindinput="onFieldInput" data-key="weather" />
|
|
|
- </view>
|
|
|
+ <!-- 标题 -->
|
|
|
+ <view class="title-area">
|
|
|
+ <text class="title-text">{{dealerName}}{{language['施工进度汇报']||'施工进度汇报'}}</text>
|
|
|
</view>
|
|
|
|
|
|
- <!-- 项目名称(必填) -->
|
|
|
- <view class="form-row">
|
|
|
- <view class="form-label"><text class="required-star">*</text>{{language['项目名称']||'项目名称'}}</view>
|
|
|
- <view class="form-value">
|
|
|
- <input class="form-input" value="{{form.projectName}}" placeholder="{{language['请输入项目名称']||'请输入项目名称'}}" bindinput="onFieldInput" data-key="projectName" />
|
|
|
- </view>
|
|
|
+ <!-- 日期标签 -->
|
|
|
+ <view class="date-badge">
|
|
|
+ <text class="date-tag">📅 {{form.date}}</text>
|
|
|
</view>
|
|
|
+ </view>
|
|
|
|
|
|
- <!-- 施工部位 -->
|
|
|
- <view class="form-row">
|
|
|
- <view class="form-label">{{language['施工部位']||'施工部位'}}</view>
|
|
|
- <view class="form-value">
|
|
|
- <input class="form-input" value="{{form.constructionPart}}" placeholder="{{language['请输入施工部位']||'请输入施工部位'}}" bindinput="onFieldInput" data-key="constructionPart" />
|
|
|
+ <!-- 主内容区 -->
|
|
|
+ <view class="main-content">
|
|
|
+ <!-- 基本信息卡片 -->
|
|
|
+ <view class="form-card">
|
|
|
+ <view class="card-header">
|
|
|
+ <view class="card-icon">
|
|
|
+ <text style="color: #fff; font-size: 24rpx;">📋</text>
|
|
|
+ </view>
|
|
|
+ <text class="card-title">{{language['基本信息']||'基本信息'}}</text>
|
|
|
</view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 品牌 -->
|
|
|
- <view class="form-row">
|
|
|
- <view class="form-label">{{language['品牌']||'品牌'}}</view>
|
|
|
- <view class="form-value">{{form.brandName || '--'}}</view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 工作内容(必填) -->
|
|
|
- <view class="form-row">
|
|
|
- <view class="form-label"><text class="required-star">*</text>{{language['工作内容']||'工作内容'}}</view>
|
|
|
- <view class="form-value">
|
|
|
- <input class="form-input" value="{{form.workContent}}" placeholder="{{language['请输入工作内容']||'请输入工作内容'}}" bindinput="onFieldInput" data-key="workContent" />
|
|
|
+ <view class="form-area">
|
|
|
+ <!-- 天气 -->
|
|
|
+ <view class="form-row">
|
|
|
+ <view class="form-label">{{language['天气']||'天气'}}</view>
|
|
|
+ <view class="form-value">
|
|
|
+ <textarea class="form-textarea" value="{{form.weather}}" placeholder="{{language['请输入天气']||'请输入天气'}}" auto-height bindinput="onFieldInput" data-key="weather" />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 项目名称(必填) -->
|
|
|
+ <view class="form-row">
|
|
|
+ <view class="form-label"><text class="required-star">*</text>{{language['项目名称']||'项目名称'}}</view>
|
|
|
+ <view class="form-value">
|
|
|
+ <textarea class="form-textarea" value="{{form.projectName}}" placeholder="{{language['请输入项目名称']||'请输入项目名称'}}" auto-height bindinput="onFieldInput" data-key="projectName" />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 施工部位 -->
|
|
|
+ <view class="form-row">
|
|
|
+ <view class="form-label">{{language['施工部位']||'施工部位'}}</view>
|
|
|
+ <view class="form-value">
|
|
|
+ <textarea class="form-textarea" value="{{form.constructionPart}}" placeholder="{{language['请输入施工部位']||'请输入施工部位'}}" auto-height bindinput="onFieldInput" data-key="constructionPart" />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 品牌 -->
|
|
|
+ <view class="form-row">
|
|
|
+ <view class="form-label">{{language['品牌']||'品牌'}}</view>
|
|
|
+ <view class="form-value">{{form.brandName || '--'}}</view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
- <!-- 人员情况 -->
|
|
|
- <view class="form-row">
|
|
|
- <view class="form-label">{{language['人员情况']||'人员情况'}}</view>
|
|
|
- <view class="form-value">{{form.reporter || '--'}}</view>
|
|
|
- </view>
|
|
|
-
|
|
|
- <!-- 遇到的问题 -->
|
|
|
- <view class="form-row">
|
|
|
- <view class="form-label">{{language['遇到的问题']||'遇到的问题'}}</view>
|
|
|
- <view class="form-value">
|
|
|
- <textarea class="form-textarea" value="{{form.problem}}" placeholder="{{language['请输入遇到的问题']||'请输入遇到的问题'}}" maxlength="500" auto-height bindinput="onFieldInput" data-key="problem" />
|
|
|
+ <!-- 工作内容卡片 -->
|
|
|
+ <view class="form-card">
|
|
|
+ <view class="card-header">
|
|
|
+ <view class="card-icon">
|
|
|
+ <text style="color: #fff; font-size: 24rpx;">🔧</text>
|
|
|
+ </view>
|
|
|
+ <text class="card-title">{{language['工作详情']||'工作详情'}}</text>
|
|
|
+ </view>
|
|
|
+ <view class="form-area">
|
|
|
+ <!-- 工作内容(必填) -->
|
|
|
+ <view class="form-row">
|
|
|
+ <view class="form-label"><text class="required-star">*</text>{{language['工作内容']||'工作内容'}}</view>
|
|
|
+ <view class="form-value">
|
|
|
+ <textarea class="form-textarea" value="{{form.workContent}}" placeholder="{{language['请输入工作内容']||'请输入工作内容'}}" auto-height bindinput="onFieldInput" data-key="workContent" />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 人员情况 -->
|
|
|
+ <view class="form-row">
|
|
|
+ <view class="form-label">{{language['人员情况']||'人员情况'}}</view>
|
|
|
+ <view class="form-value">{{form.reporter || '--'}}</view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
- <!-- 需协调的内容 -->
|
|
|
- <view class="form-row">
|
|
|
- <view class="form-label">{{language['需协调的内容']||'需协调的内容'}}</view>
|
|
|
- <view class="form-value">
|
|
|
- <textarea class="form-textarea" value="{{form.coordinationNeeded}}" placeholder="{{language['请输入需协调的内容']||'请输入需协调的内容'}}" maxlength="500" auto-height bindinput="onFieldInput" data-key="coordinationNeeded" />
|
|
|
+ <!-- 问题与计划卡片 -->
|
|
|
+ <view class="form-card">
|
|
|
+ <view class="card-header">
|
|
|
+ <view class="card-icon">
|
|
|
+ <text style="color: #fff; font-size: 24rpx;">💡</text>
|
|
|
+ </view>
|
|
|
+ <text class="card-title">{{language['问题与计划']||'问题与计划'}}</text>
|
|
|
+ </view>
|
|
|
+ <view class="form-area">
|
|
|
+ <!-- 遇到的问题 -->
|
|
|
+ <view class="form-row">
|
|
|
+ <view class="form-label">{{language['遇到的问题']||'遇到的问题'}}</view>
|
|
|
+ <view class="form-value">
|
|
|
+ <textarea class="form-textarea" value="{{form.problem}}" placeholder="{{language['请输入遇到的问题']||'请输入遇到的问题'}}" maxlength="500" auto-height bindinput="onFieldInput" data-key="problem" />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 需协调的内容 -->
|
|
|
+ <view class="form-row">
|
|
|
+ <view class="form-label">{{language['需协调的内容']||'需协调的内容'}}</view>
|
|
|
+ <view class="form-value">
|
|
|
+ <textarea class="form-textarea" value="{{form.coordinationNeeded}}" placeholder="{{language['请输入需协调的内容']||'请输入需协调的内容'}}" maxlength="500" auto-height bindinput="onFieldInput" data-key="coordinationNeeded" />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 下步计划 -->
|
|
|
+ <view class="form-row">
|
|
|
+ <view class="form-label">{{language['下步计划']||'下步计划'}}</view>
|
|
|
+ <view class="form-value">
|
|
|
+ <textarea class="form-textarea" value="{{form.nextPlan}}" placeholder="{{language['请输入下步计划']||'请输入下步计划'}}" maxlength="500" auto-height bindinput="onFieldInput" data-key="nextPlan" />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
- <!-- 下步计划 -->
|
|
|
- <view class="form-row">
|
|
|
- <view class="form-label">{{language['下步计划']||'下步计划'}}</view>
|
|
|
- <view class="form-value">
|
|
|
- <textarea class="form-textarea" value="{{form.nextPlan}}" placeholder="{{language['请输入下步计划']||'请输入下步计划'}}" maxlength="500" auto-height bindinput="onFieldInput" data-key="nextPlan" />
|
|
|
+ <!-- 图片区域 -->
|
|
|
+ <view class="image-section" wx:if="{{imageList.length}}">
|
|
|
+ <view class="section-header">
|
|
|
+ <view class="section-icon">
|
|
|
+ <text style="color: #fff; font-size: 20rpx;">📷</text>
|
|
|
+ </view>
|
|
|
+ <text class="section-title">{{language['现场照片']||'现场照片'}}</text>
|
|
|
+ </view>
|
|
|
+ <view class="image-card">
|
|
|
+ <view class="image-area">
|
|
|
+ <view class="image-item" wx:for="{{imageList}}" wx:key="url" catch:tap="previewImage" data-url="{{item.url}}">
|
|
|
+ <image class="image-thumb" src="{{item.url}}" mode="aspectFill" />
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
|
- <!-- 图片区域 -->
|
|
|
- <view class="section-title" wx:if="{{imageList.length}}">
|
|
|
- <text>{{language['现场照片']||'现场照片'}}</text>
|
|
|
- </view>
|
|
|
- <view class="image-area" wx:if="{{imageList.length}}">
|
|
|
- <view class="image-item" wx:for="{{imageList}}" wx:key="url" catch:tap="previewImage" data-url="{{item.url}}">
|
|
|
- <image class="image-thumb" src="{{item.url}}" mode="aspectFill" />
|
|
|
+ <!-- 结束语 -->
|
|
|
+ <view class="closing-area" wx:if="{{closingText}}">
|
|
|
+ <text class="closing-text">{{closingText}}</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
- <!-- 结束语(接口未知,先留空) -->
|
|
|
- <view class="closing-area" wx:if="{{closingText}}">
|
|
|
- <text class="closing-text">{{closingText}}</text>
|
|
|
- </view>
|
|
|
-
|
|
|
<view style="height: 160rpx;" />
|
|
|
|
|
|
<!-- 底部按钮 -->
|
|
|
@@ -118,4 +160,19 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
+ <!-- 自定义分享弹窗 -->
|
|
|
+ <van-popup show="{{showSharePopup}}" position="bottom" round bind:close="closeSharePopup">
|
|
|
+ <view class="share-popup">
|
|
|
+ <view class="share-popup-title">{{language['分享到']||'分享到'}}</view>
|
|
|
+ <button class="share-option" open-type="share" bindtap="onShareFriends">
|
|
|
+ <text>{{language['转发给朋友']||'转发给朋友'}}</text>
|
|
|
+ </button>
|
|
|
+ <view class="share-option" bindtap="handleShareTimeline">
|
|
|
+ <text>{{language['转发到朋友圈']||'转发到朋友圈'}}</text>
|
|
|
+ </view>
|
|
|
+ <view class="share-cancel" bindtap="closeSharePopup">
|
|
|
+ <text>{{language['取消']||'取消'}}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </van-popup>
|
|
|
</view>
|