|
@@ -1,162 +1,182 @@
|
|
|
<template>
|
|
|
- <view class="uni-column" style="padding: 24rpx">
|
|
|
- <view v-for="(item, index) in listData" :key="index" @click="handleToBatchReporting(item)" class="list-item">
|
|
|
- <view class="title-container uni-row">
|
|
|
- <view class="title uni-row">
|
|
|
- <text class="label">生产计划单号</text>
|
|
|
- <text class="label code">{{ item['productionPlanNo'] }}</text>
|
|
|
- </view>
|
|
|
- <view v-if="item['dayWorkList'].length > 0" class="tag"><text class="label">进行中</text></view>
|
|
|
- <view v-else type="default" class="tag not-start"><text class="label">未开始</text></view>
|
|
|
- </view>
|
|
|
- <!-- <view class="item-info uni-row">
|
|
|
+ <view class="uni-column" style="padding: 24rpx">
|
|
|
+ <view v-for="(item, index) in listData" :key="index" @click="handleToBatchReporting(item)" class="list-item">
|
|
|
+ <view class="title-container uni-row">
|
|
|
+ <view class="title uni-row">
|
|
|
+ <text class="label">生产计划单号</text>
|
|
|
+ <text class="label code">{{ item['productionPlanNo'] }}</text>
|
|
|
+ </view>
|
|
|
+ <view v-if="item['dayWorkList'].length > 0" class="tag"><text class="label">进行中</text></view>
|
|
|
+ <view v-else type="default" class="tag not-start"><text class="label">未开始</text></view>
|
|
|
+ </view>
|
|
|
+ <!-- <view class="item-info uni-row">
|
|
|
<text class="label">当前工序</text>
|
|
|
<text class="label right">{{ item['process'] }}</text>
|
|
|
</view> -->
|
|
|
- <view class="item-info uni-row">
|
|
|
- <text class="label">产品描述</text>
|
|
|
- <text class="label right">{{ item['productDescription'] }}</text>
|
|
|
- </view>
|
|
|
- <view class="item-info uni-row">
|
|
|
- <text class="label">总批数</text>
|
|
|
- <text class="label right">{{ item['lotNumber'] }}</text>
|
|
|
- </view>
|
|
|
- <view class="item-info uni-row">
|
|
|
- <text class="label">完成批数</text>
|
|
|
- <text class="label right">{{ item['equiment'] }}</text>
|
|
|
- </view>
|
|
|
- <view class="item-info uni-row">
|
|
|
- <text class="label">投产数/合格数</text>
|
|
|
- <text class="label right">{{ item['productionQuantity'] }}/{{ item['invest'] }}</text>
|
|
|
- </view>
|
|
|
- <view class="item-info uni-row">
|
|
|
- <text class="label">设备</text>
|
|
|
- <text class="label right">{{ item['equipmentName'] }}</text>
|
|
|
- </view>
|
|
|
- <!-- <view class="item-info uni-row">
|
|
|
+ <view class="item-info uni-row">
|
|
|
+ <text class="label">产品描述</text>
|
|
|
+ <text class="label right">{{ item['productDescription'] }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="item-info uni-row">
|
|
|
+ <text class="label">总批数</text>
|
|
|
+ <text class="label right">{{ item['lotNumber'] }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="item-info uni-row">
|
|
|
+ <text class="label">完成批数</text>
|
|
|
+ <text class="label right">{{ item['equiment'] }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="item-info uni-row">
|
|
|
+ <text class="label">投产数/合格数</text>
|
|
|
+ <text class="label right">{{ item['productionQuantity'] }}/{{ item['invest'] }}</text>
|
|
|
+ </view>
|
|
|
+ <view class="item-info uni-row">
|
|
|
+ <text class="label">设备</text>
|
|
|
+ <text class="label right">{{ item['equipmentName'] }}</text>
|
|
|
+ </view>
|
|
|
+ <!-- <view class="item-info uni-row">
|
|
|
<text class="label">操作人</text>
|
|
|
<text class="label right">{{ item['operator'] }}</text>
|
|
|
</view> -->
|
|
|
- </view>
|
|
|
- </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
-import { getSubPlanDetailsList } from '../../api/business/subPlanDetails'
|
|
|
-import { ref } from 'vue'
|
|
|
-import { onReady, onLoad } from '@dcloudio/uni-app'
|
|
|
-import { getToken } from '@/utils/auth'
|
|
|
-
|
|
|
-const listData = ref([])
|
|
|
-
|
|
|
-onLoad(() => {
|
|
|
- init()
|
|
|
-})
|
|
|
-
|
|
|
-function init() {
|
|
|
- uni.showLoading({
|
|
|
- title: '加载中'
|
|
|
- });
|
|
|
- getSubPlanDetailsList({}).then((res) => {
|
|
|
- console.log(res)
|
|
|
- if (res.code === 200) {
|
|
|
- listData.value = res.rows;
|
|
|
- uni.hideLoading()
|
|
|
- } else if (res.code === 401) {
|
|
|
- uni.showToast({
|
|
|
- icon: 'none',
|
|
|
- title: '未登录或登录状态已超时',
|
|
|
- duration: 1500
|
|
|
- })
|
|
|
- } else if (res.code === 500) {
|
|
|
- uni.showToast({
|
|
|
- icon: 'none',
|
|
|
- title: '系统错误,请联系管理员',
|
|
|
- duration: 1500
|
|
|
- })
|
|
|
- } else {
|
|
|
- uni.showToast({
|
|
|
- icon: 'none',
|
|
|
- title: res.msg,
|
|
|
- duration: 1500
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
-}
|
|
|
-
|
|
|
-function handleToBatchReporting(item) {
|
|
|
- uni.navigateTo({
|
|
|
- url: '/pages/batchReporting/index?id=' + item.id
|
|
|
- })
|
|
|
-}
|
|
|
+ import {
|
|
|
+ getSubPlanDetailsList
|
|
|
+ } from '../../api/business/subPlanDetails'
|
|
|
+ import {
|
|
|
+ ref
|
|
|
+ } from 'vue'
|
|
|
+ import {
|
|
|
+ onReady,
|
|
|
+ onLoad,
|
|
|
+ onPullDownRefresh
|
|
|
+ } from '@dcloudio/uni-app'
|
|
|
+ import {
|
|
|
+ getToken
|
|
|
+ } from '@/utils/auth'
|
|
|
+
|
|
|
+ const listData = ref([])
|
|
|
+
|
|
|
+ onLoad(() => {
|
|
|
+ init()
|
|
|
+ })
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 监听下拉刷新
|
|
|
+ */
|
|
|
+ onPullDownRefresh(() => {
|
|
|
+ init();
|
|
|
+ setTimeout(function() {
|
|
|
+ uni.stopPullDownRefresh();
|
|
|
+ }, 3000);
|
|
|
+ })
|
|
|
+
|
|
|
+ function init() {
|
|
|
+ uni.showLoading({
|
|
|
+ title: '加载中'
|
|
|
+ });
|
|
|
+ getSubPlanDetailsList({}).then((res) => {
|
|
|
+ console.log(res)
|
|
|
+ if (res.code === 200) {
|
|
|
+ listData.value = res.rows;
|
|
|
+ uni.hideLoading()
|
|
|
+ } else if (res.code === 401) {
|
|
|
+ uni.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: '未登录或登录状态已超时',
|
|
|
+ duration: 1500
|
|
|
+ })
|
|
|
+ } else if (res.code === 500) {
|
|
|
+ uni.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: '系统错误,请联系管理员',
|
|
|
+ duration: 1500
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ uni.showToast({
|
|
|
+ icon: 'none',
|
|
|
+ title: res.msg,
|
|
|
+ duration: 1500
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ function handleToBatchReporting(item) {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages/batchReporting/index?id=' + item.id
|
|
|
+ })
|
|
|
+ }
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|
|
|
-.uni-column {
|
|
|
- background-color: rgba(245, 245, 245, 1);
|
|
|
-}
|
|
|
-
|
|
|
-.list-item {
|
|
|
- background-color: #fff;
|
|
|
- position: relative;
|
|
|
- padding: 16rpx;
|
|
|
- padding-bottom: 24rpx;
|
|
|
- margin-bottom: 24rpx;
|
|
|
-
|
|
|
- .title-container {
|
|
|
- justify-content: space-between;
|
|
|
- margin-top: 8rpx;
|
|
|
- margin-bottom: 16rpx;
|
|
|
-
|
|
|
- .title {
|
|
|
- height: 48rpx;
|
|
|
- align-items: center;
|
|
|
-
|
|
|
- .label {
|
|
|
- font-size: 32rpx;
|
|
|
- font-weight: bold;
|
|
|
-
|
|
|
- &.code {
|
|
|
- margin-left: 8rpx;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .tag {
|
|
|
- border: 1px solid #1ce5b0;
|
|
|
- background-color: #f6fffd;
|
|
|
- padding: 8rpx;
|
|
|
- border-radius: 8rpx;
|
|
|
-
|
|
|
- .label {
|
|
|
- color: #1ce5b0;
|
|
|
- font-size: 24rpx;
|
|
|
- }
|
|
|
-
|
|
|
- &.not-start {
|
|
|
- border: 1px solid #bbbbbb;
|
|
|
- background-color: #f5f5f5;
|
|
|
-
|
|
|
- .label {
|
|
|
- color: #bbbbbb;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .item-info {
|
|
|
- margin-bottom: 8rpx;
|
|
|
-
|
|
|
- .label {
|
|
|
- font-size: 28rpx;
|
|
|
- width: 220rpx;
|
|
|
- color: #808080;
|
|
|
-
|
|
|
- &.right {
|
|
|
- flex: 1;
|
|
|
- color: #000000;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-</style>
|
|
|
+ .uni-column {
|
|
|
+ background-color: rgba(245, 245, 245, 1);
|
|
|
+ }
|
|
|
+
|
|
|
+ .list-item {
|
|
|
+ background-color: #fff;
|
|
|
+ position: relative;
|
|
|
+ padding: 16rpx;
|
|
|
+ padding-bottom: 24rpx;
|
|
|
+ margin-bottom: 24rpx;
|
|
|
+
|
|
|
+ .title-container {
|
|
|
+ justify-content: space-between;
|
|
|
+ margin-top: 8rpx;
|
|
|
+ margin-bottom: 16rpx;
|
|
|
+
|
|
|
+ .title {
|
|
|
+ height: 48rpx;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ .label {
|
|
|
+ font-size: 32rpx;
|
|
|
+ font-weight: bold;
|
|
|
+
|
|
|
+ &.code {
|
|
|
+ margin-left: 8rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .tag {
|
|
|
+ border: 1px solid #1ce5b0;
|
|
|
+ background-color: #f6fffd;
|
|
|
+ padding: 8rpx;
|
|
|
+ border-radius: 8rpx;
|
|
|
+
|
|
|
+ .label {
|
|
|
+ color: #1ce5b0;
|
|
|
+ font-size: 24rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.not-start {
|
|
|
+ border: 1px solid #bbbbbb;
|
|
|
+ background-color: #f5f5f5;
|
|
|
+
|
|
|
+ .label {
|
|
|
+ color: #bbbbbb;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .item-info {
|
|
|
+ margin-bottom: 8rpx;
|
|
|
+
|
|
|
+ .label {
|
|
|
+ font-size: 28rpx;
|
|
|
+ width: 220rpx;
|
|
|
+ color: #808080;
|
|
|
+
|
|
|
+ &.right {
|
|
|
+ flex: 1;
|
|
|
+ color: #000000;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+</style>
|