|
|
@@ -42,100 +42,134 @@
|
|
|
|
|
|
<view class="list_box">
|
|
|
<u-list @scrolltolower="scrolltolower" key="info" v-if="tabType == 1">
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">生产工单号</text>
|
|
|
- <text>{{ info.code }}</text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">计划编号</text>
|
|
|
- <text>{{ info.productionPlanCode }}</text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">工艺路线</text>
|
|
|
- <text>{{ info.produceRoutingName }}</text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">批次号</text>
|
|
|
- <text> {{ info.batchNo }}</text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">编码</text>
|
|
|
- <text> {{ info.productCode }}</text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">委外状态</text>
|
|
|
- <text> {{ info.outsourceStatus | outsourceStatusText }}</text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">名称</text>
|
|
|
- <text>{{ info.productName }}</text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">牌号</text>
|
|
|
- <text>{{ info.brandNo }}</text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">规格</text>
|
|
|
- <text>{{ info.specification }}</text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">型号</text>
|
|
|
- <text>{{ info.model }}</text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">要求生产数量</text>
|
|
|
- <text>{{ info.formingNum }} {{ info.unit }} </text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">要求生产重量</text>
|
|
|
- <text>{{ info.formingWeight }} {{ info.weightUnit }}</text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">报工类型</text>
|
|
|
- <text>{{ info.singleReport == 1 ? "单个报工" : "批量报工" }}</text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">领料状态</text>
|
|
|
- <text>{{ isPickingStatus }}</text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">投料状态</text>
|
|
|
- <text>{{ isFeedStatus }}</text>
|
|
|
+ <!-- 工单信息卡片 -->
|
|
|
+ <view class="info-card">
|
|
|
+ <view class="info-card__header">
|
|
|
+ <view class="info-card__header-bar"></view>
|
|
|
+ <text class="info-card__header-title">工单信息</text>
|
|
|
+ </view>
|
|
|
+ <view class="info-card__body">
|
|
|
+ <view class="info-row full">
|
|
|
+ <text class="info-label">生产工单号</text>
|
|
|
+ <text class="info-value highlight">{{ info.code }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="info-row full">
|
|
|
+ <text class="info-label">计划编号</text>
|
|
|
+ <text class="info-value">{{ info.productionPlanCode }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="info-row full">
|
|
|
+ <text class="info-label">工艺路线</text>
|
|
|
+ <text class="info-value highlight">{{ info.produceRoutingName }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="info-grid">
|
|
|
+ <view class="info-row half">
|
|
|
+ <text class="info-label">批次号</text>
|
|
|
+ <text class="info-value highlight">{{ info.batchNo }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="info-row half">
|
|
|
+ <text class="info-label">委外状态</text>
|
|
|
+ <text class="info-value">{{ info.outsourceStatus | outsourceStatusText }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">已完成生产数量</text>
|
|
|
- <text>{{ info.formedNum }}</text>
|
|
|
+ <!-- 产品信息卡片 -->
|
|
|
+ <view class="info-card">
|
|
|
+ <view class="info-card__header">
|
|
|
+ <view class="info-card__header-bar"></view>
|
|
|
+ <text class="info-card__header-title">产品信息</text>
|
|
|
+ </view>
|
|
|
+ <view class="info-card__body">
|
|
|
+ <view class="info-row full">
|
|
|
+ <text class="info-label">编码</text>
|
|
|
+ <text class="info-value">{{ info.productCode }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="info-row full">
|
|
|
+ <text class="info-label">名称</text>
|
|
|
+ <text class="info-value">{{ info.productName }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="info-grid">
|
|
|
+ <view class="info-row half">
|
|
|
+ <text class="info-label">牌号</text>
|
|
|
+ <text class="info-value">{{ info.brandNo }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="info-row half">
|
|
|
+ <text class="info-label">规格</text>
|
|
|
+ <text class="info-value">{{ info.specification }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="info-row full">
|
|
|
+ <text class="info-label">型号</text>
|
|
|
+ <text class="info-value">{{ info.model }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">已完成生产重量</text>
|
|
|
- <text>{{ info.formedWeight }}</text>
|
|
|
+ <!-- 生产信息卡片 -->
|
|
|
+ <view class="info-card">
|
|
|
+ <view class="info-card__header">
|
|
|
+ <view class="info-card__header-bar"></view>
|
|
|
+ <text class="info-card__header-title">生产信息</text>
|
|
|
+ </view>
|
|
|
+ <view class="info-card__body">
|
|
|
+ <view class="info-grid">
|
|
|
+ <view class="info-row half">
|
|
|
+ <text class="info-label">要求数量</text>
|
|
|
+ <text class="info-value">{{ info.formingNum }} {{ info.unit }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="info-row half">
|
|
|
+ <text class="info-label">要求重量</text>
|
|
|
+ <text class="info-value">{{ info.formingWeight }} {{ info.weightUnit }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="info-grid">
|
|
|
+ <view class="info-row half">
|
|
|
+ <text class="info-label">已完成数量</text>
|
|
|
+ <text class="info-value highlight">{{ info.formedNum }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="info-row half">
|
|
|
+ <text class="info-label">已完成重量</text>
|
|
|
+ <text class="info-value highlight">{{ info.formedWeight }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="info-grid">
|
|
|
+ <view class="info-row half">
|
|
|
+ <text class="info-label">报工类型</text>
|
|
|
+ <text class="info-value">{{ info.singleReport == 1 ? "单个报工" : "批量报工" }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="info-row half">
|
|
|
+ <text class="info-label">领料状态</text>
|
|
|
+ <text class="info-value">{{ isPickingStatus }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="info-row full">
|
|
|
+ <text class="info-label">投料状态</text>
|
|
|
+ <text class="info-value">{{ isFeedStatus }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">计划开始时间</text>
|
|
|
- <text>{{ info.planStartTime }}</text>
|
|
|
+ <!-- 计划时间卡片 -->
|
|
|
+ <view class="info-card">
|
|
|
+ <view class="info-card__header">
|
|
|
+ <view class="info-card__header-bar"></view>
|
|
|
+ <text class="info-card__header-title">计划时间</text>
|
|
|
+ </view>
|
|
|
+ <view class="info-card__body">
|
|
|
+ <view class="info-row full">
|
|
|
+ <text class="info-label">开始时间</text>
|
|
|
+ <text class="info-value">{{ info.planStartTime }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="info-row full">
|
|
|
+ <text class="info-label">结束时间</text>
|
|
|
+ <text class="info-value">{{ info.planCompleteTime }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
|
|
|
- <view class="item_list rx-bc">
|
|
|
- <text class="lable">计划结束时间</text>
|
|
|
- <text>{{ info.planCompleteTime }}</text>
|
|
|
- </view>
|
|
|
+ <!-- 底部留白 -->
|
|
|
+ <view style="height: 20rpx;"></view>
|
|
|
</u-list>
|
|
|
|
|
|
<u-list @scrolltolower="scrolltolower" key="detail" v-if="tabType == 2">
|
|
|
@@ -706,19 +740,96 @@ export default {
|
|
|
height: 100% !important;
|
|
|
}
|
|
|
|
|
|
- .item_list {
|
|
|
- width: 100%;
|
|
|
- height: 80rpx;
|
|
|
+ /* 基本信息 - 卡片样式 */
|
|
|
+ .info-card {
|
|
|
+ width: calc(100% - 48rpx);
|
|
|
+ margin: 20rpx 24rpx 0;
|
|
|
+ background: #ffffff;
|
|
|
+ border-radius: 16rpx;
|
|
|
+ box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.06);
|
|
|
+ overflow: hidden;
|
|
|
+
|
|
|
+ .info-card__header {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ padding: 24rpx 28rpx;
|
|
|
+ background: linear-gradient(135deg, rgba(21, 122, 44, 0.06) 0%, rgba(21, 122, 44, 0.02) 100%);
|
|
|
+ border-bottom: 1rpx solid #f0f0f0;
|
|
|
+
|
|
|
+ .info-card__header-bar {
|
|
|
+ width: 6rpx;
|
|
|
+ height: 32rpx;
|
|
|
+ background: $theme-color;
|
|
|
+ border-radius: 3rpx;
|
|
|
+ margin-right: 16rpx;
|
|
|
+ flex-shrink: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .info-card__header-title {
|
|
|
+ font-size: 30rpx;
|
|
|
+ font-weight: 600;
|
|
|
+ color: $uni-text-color;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .info-card__body {
|
|
|
+ padding: 16rpx 28rpx 8rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .info-grid {
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: nowrap;
|
|
|
+ }
|
|
|
+
|
|
|
+ .info-row {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ padding: 14rpx 0;
|
|
|
box-sizing: border-box;
|
|
|
- padding: 0 32rpx;
|
|
|
- font-size: 32rpx;
|
|
|
- color: #979c9e;
|
|
|
- font-weight: 400;
|
|
|
- border-bottom: 1rpx solid #e3e5e5;
|
|
|
+ overflow: hidden;
|
|
|
|
|
|
- .lable {
|
|
|
- color: #090a0a;
|
|
|
- font-weight: 500;
|
|
|
+ &.half {
|
|
|
+ width: 50%;
|
|
|
+
|
|
|
+ &:nth-child(odd) {
|
|
|
+ padding-right: 16rpx;
|
|
|
+ }
|
|
|
+ &:nth-child(even) {
|
|
|
+ padding-left: 16rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &.full {
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .info-label {
|
|
|
+ color: $uni-text-color-grey;
|
|
|
+ font-size: 28rpx;
|
|
|
+ flex-shrink: 0;
|
|
|
+ margin-right: 8rpx;
|
|
|
+ line-height: 40rpx;
|
|
|
+ white-space: nowrap;
|
|
|
+
|
|
|
+ &::after {
|
|
|
+ content: ':';
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .info-value {
|
|
|
+ color: $uni-text-color;
|
|
|
+ font-size: 28rpx;
|
|
|
+ flex: 1;
|
|
|
+ line-height: 40rpx;
|
|
|
+ min-width: 0;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
+
|
|
|
+ &.highlight {
|
|
|
+ color: $theme-color;
|
|
|
}
|
|
|
}
|
|
|
|