From 22fd33c839969a5c14de0d994701876407385d7f Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期二, 06 一月 2026 14:00:00 +0800
Subject: [PATCH] 1.页面优化
---
pages/scgl/scbg.vue | 284 +++++++++++++++++++++++++++++++++++---------------------
1 files changed, 178 insertions(+), 106 deletions(-)
diff --git a/pages/scgl/scbg.vue b/pages/scgl/scbg.vue
index ecb87a3..68cf44d 100644
--- a/pages/scgl/scbg.vue
+++ b/pages/scgl/scbg.vue
@@ -34,33 +34,38 @@
</view>
- <u-alert :title="alertTitle" type="info"></u-alert>
+ <u-alert :title="'宸ュ崟鏁伴噺锛�'+total+'锛�'" type="info"></u-alert>
<!-- 鎶樺彔闈㈡澘 -->
<!-- <u-collapse @change="change" @close="close" @open="open"> -->
<!-- @change="collapseChange" -->
- <u-collapse style="max-height: 590px;overflow: auto;">
+
+
+ <u-collapse style="max-height: 62vh;overflow: auto;">
<!-- :value='parseFloat(item.ordergoodqty)+"/"+parseFloat(item.orderqty)' -->
- <u-collapse-item style="position: relative;" :title="item.ordercode" :name='item.ordercode'
- v-if='item.children.length!==0' :value='parseFloat(item.ordergoodqty)+"/"+parseFloat(item.orderqty)'
- :label="item.children.length===0?'鏈淳鍙�':''" :disabled='item.children.length===0'
- v-for="item in collapseArr" :key="item.ordercode">
+ <scroll-view scroll-y :style="{height: 590 + 'px'}" @scrolltolower="loadMore">
+ <u-collapse-item style="position: relative;" :title="item.ordercode" :name='item.ordercode'
+ v-if='item.children.length!==0'
+ :value='parseFloat(item.ordergoodqty)+parseFloat(item.orderngqty)+parseFloat(item.orderlaborbadqty)+parseFloat(item.ordermaterielbadqty)+"/"+parseFloat(item.orderqty)'
+ :label="item.children.length===0?'鏈淳鍙�':''" :disabled='item.children.length===0'
+ v-for="(item,index) in collapseArr" :key="item.ordercode+index">
- <view style="position: absolute;left: 30rpx;top:34px;font-size: 24rpx;color: #999;">
- {{item.partname}} {{item.partspec}}
- </view>
+ <view style="position: absolute;left: 30rpx;top:34px;font-size: 24rpx;color: #999;">
+ {{item.partname}} {{item.partspec}}
+ </view>
- <!-- <view style="position: absolute;width: 26%;left: 44%;top:16px;"> -->
- <view style="position: absolute;width: 120px;left: 44%;top:16px;color:#0659ff"
- @click="progressClick(item.ordercode)">
- <!-- {{item.partname}}{{item.partspec}} -->
- <u-line-progress :percentage="parseFloat((item.ordergoodqty*100/item.orderqty).toFixed(2))"
- inactiveColor="#d1d6f5" height="10" activeColor="#0659ff"></u-line-progress>
- </view>
+ <!-- <view style="position: absolute;width: 26%;left: 44%;top:16px;"> -->
+ <view style="position: absolute;width: 120px;left: 44%;top:16px;color:#0659ff">
+ <!-- @click="progressClick(item.ordercode)" -->
+ <!-- {{item.partname}}{{item.partspec}} -->
+ <u-line-progress
+ :percentage="parseFloat(((parseFloat(item.ordergoodqty)+parseFloat(item.orderngqty)+parseFloat(item.orderlaborbadqty)+parseFloat(item.ordermaterielbadqty))*100/item.orderqty).toFixed(2))"
+ inactiveColor="#d1d6f5" height="10" activeColor="#0659ff"></u-line-progress>
+ </view>
- <!-- <view style="position: absolute;width: 100px;right: 33px; top:13px; ">
+ <!-- <view style="position: absolute;width: 100px;right: 33px; top:13px; ">
<view class="" style="display: flex;justify-content: flex-end;">
<view style="color: #0659ff;">
{{parseFloat(item.ordergoodqty)}}
@@ -73,56 +78,68 @@
-->
- <view v-if="radiovalue==='鐢熶骇宸ュ崟'" style="margin:0 0 5px">
- <view class="flex_column">
- <view style="display:flex">
- <view class="titleFont" style="font-size: 14px;">浜у搧缂栫爜锛�</view>
- <view class="contentFont" style="font-size: 14px;">{{item.partcode}}</view>
- </view>
- <view style="display:flex">
- <view class="titleFont" style="font-size: 14px;">浜у搧鍚嶇О锛�</view>
- <view class="contentFont" style="font-size: 14px;">{{item.partname}}</view>
- </view>
- <view style="display:flex">
- <view class="titleFont" style="font-size: 14px;">浜у搧瑙勬牸锛�</view>
- <view class="contentFont" style="font-size: 14px;">{{item.partspec?item.partspec:'/'}}
+ <view v-if="radiovalue==='鐢熶骇宸ュ崟'" style="margin:0 0 5px">
+ <view class="flex_column">
+ <view style="display:flex">
+ <view class="titleFont" style="font-size: 14px;">浜у搧缂栫爜锛�</view>
+ <view class="contentFont" style="font-size: 14px;">{{item.partcode}}</view>
</view>
- </view>
- </view>
- </view>
-
-
- <!-- {{item.children}} -->
- <!-- <u--text class="u-collapse-content"> -->
- <u-steps :current="-1" inactiveColor='#0659FF' direction="column">
- <view v-for="(it,ind) in item.children" :key="item.ordercode+it.name+ind"
- @click="gotoPage(item.ordercode,it.code)" style="display: flex;align-items: center;">
-
- <!-- <u-steps-item :title="it.code+'/'+it.name+it.spec"></u-steps-item> -->
- <u-steps-item :title="it.code+'/'+it.name"></u-steps-item>
- <view class="" style="width: 100px;">
- <u-line-progress :percentage="parseFloat((it.goodqty*100/it.planqty).toFixed(2))"
- inactiveColor="#d1d6f5" height="10" activeColor="#0659ff"></u-line-progress>
- </view>
- <view style="width: 30%;text-align: right;">
- <view class="" style="display: flex;justify-content: flex-end;">
- <view style="color: #0659ff;">
- {{parseFloat(it.goodqty)}}
- </view>
- <view>
- /{{ parseFloat(it.planqty)}}
+ <view style="display:flex">
+ <view class="titleFont" style="font-size: 14px;">浜у搧鍚嶇О锛�</view>
+ <view class="contentFont" style="font-size: 14px;">{{item.partname}}</view>
+ </view>
+ <view style="display:flex">
+ <view class="titleFont" style="font-size: 14px;">浜у搧瑙勬牸锛�</view>
+ <view class="contentFont" style="font-size: 14px;">{{item.partspec?item.partspec:'/'}}
</view>
</view>
</view>
</view>
- </u-steps>
- <!-- </u--text> -->
+
+ <!-- {{item.children}} -->
+ <!-- <u--text class="u-collapse-content"> -->
+ <u-steps :current="-1" inactiveColor='#0659FF' direction="column">
+ <view v-for="(it,ind) in item.children" :key="item.ordercode+it.name+ind"
+ @click="gotoPage(item.ordercode,it.code,it)" style="display: flex;align-items: center;">
+
+ <!-- <u-steps-item :title="it.code+'/'+it.name+it.spec"></u-steps-item> -->
+ <u-steps-item :title="it.code+'/'+it.name"></u-steps-item>
+ <view class="" style="width: 100px;">
+ <u-line-progress
+ :percentage="parseFloat(((parseFloat(it.goodqty)+parseFloat(it.ngqty)+parseFloat(it.laborbadqty)+parseFloat(it.materielbadqty))*100/it.planqty).toFixed(2))"
+ inactiveColor="#d1d6f5" height="10" activeColor="#0659ff"></u-line-progress>
+ </view>
+ <view style="width: 30%;text-align: right;">
+ <view class="" style="display: flex;justify-content: flex-end;">
+ <view style="color: #0659ff;">
+ {{parseFloat(it.goodqty)}}
+ </view>
+ <view style="color: #ff0000;">
+ +{{parseFloat(it.ngqty)+parseFloat(it.laborbadqty)+parseFloat(it.materielbadqty)}}
+ </view>
+ <view>
+ /{{ parseFloat(it.planqty)}}
+ </view>
+ </view>
+ </view>
+ </view>
+
+ </u-steps>
+ <!-- </u--text> -->
- </u-collapse-item>
-
+ </u-collapse-item>
+ </scroll-view>
</u-collapse>
+
+
+
+
+ <view class="uni-pagination-box">
+ <uni-pagination show-icon :page-size="pageSize" :current="currentpage" :total="total"
+ @change="pageChange" />
+ </view>
<!-- 寮瑰嚭灞� -->
@@ -144,6 +161,10 @@
</u-radio-group>
</view>
+ <u--input :placeholder="'璇疯緭鍏�'+placeholder2" style="border: 1rpx solid #eee;" :clearable='true'
+ v-model="order"></u--input>
+
+
<view style="margin-top: 20px;display: flex;align-items: center;">
<view class="">
@@ -156,6 +177,7 @@
</view>
+
<view style="display: flex;flex-wrap: wrap;">
<u-tag style="width:220rpx;" :text="item.name" v-for="item in tagArr" :key="item.code"
:closable="true" :show="item.close" @close="tagClose(item)"></u-tag>
@@ -163,7 +185,7 @@
- <view class="head" style="margin-top: 10px;">
+ <!-- <view class="head" style="margin-top: 10px;">
<view class="head_block" style="height: 80rpx; display: flex;justify-content: space-around;">
<u-button :plain='today' style="width: 70px;height: 25px;" @click="dateChange('today')"
type="primary" shape="circle" text="浠婃棩">
@@ -174,9 +196,9 @@
<u-button :plain='custom' style="width: 70px;height: 25px;" @click="dateChange('custom')"
type="primary" shape="circle" text="鑷畾涔�"></u-button>
</view>
- </view>
+ </view> -->
- <view v-if="!custom" class="flex_column"
+ <!-- <view v-if="!custom" class="flex_column"
style="display: flex;justify-content: space-around;width: 100%;">
<view class="" style="display: flex;justify-content: space-evenly;width: 100%;">
<view class="titleFont">寮�濮嬫棩鏈�</view>
@@ -189,7 +211,7 @@
</u-button>
</view>
- <uni-calendar ref="calendar" :range='true' :insert="false" @confirm="calendarConfirm" />
+ <uni-calendar ref="calendar" :range='true' :insert="false" @confirm="calendarConfirm" /> -->
</view>
</u-popup>
@@ -199,18 +221,27 @@
<!-- 鎮诞鐞� -->
- <view @click="scan2">
+ <!-- <view @click="scan2">
<drag-ball :x='300' :y="600"></drag-ball>
- </view>
+ </view> -->
+
+
+ <scan-code></scan-code>
+
</view>
</template>
<script>
import {
- ProductionScheduleKanban
+ ProductOrderSearch
} from '../../config/api.js';
+ import scanCode from '@/components/scan-code/scan-code.vue'
+
export default {
+ components: {
+ scanCode
+ },
onLoad(option) {
const _this = this
uni.$off('scancodedate') // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
@@ -218,9 +249,6 @@
console.log("鎵弿鍒扮殑鍐呭涓�:", content)
_this.getCheckScanDeviceQrCodeData(content)
})
-
-
- console.log(option, 8)
},
onPullDownRefresh() {
@@ -288,7 +316,11 @@
// code: '1006'
// },
], //宸查�変腑鐨勪骇鍝佹爣绛�
-
+ order: '', //鍗曞彿
+ placeholder2: '鐢熶骇璁㈠崟',
+ total: 0,
+ currentpage: 1, //绗嚑椤�
+ pageSize: 10, //姣忛〉鏄剧ず澶氬皯鏉�
}
},
@@ -297,7 +329,7 @@
let that = this
uni.startPullDownRefresh({
success() {
- that.getProductionScheduleKanban()
+ that.getProductOrderSearch(that.currentpage)
uni.showToast({
title: "涓嬫媺鍒锋柊",
icon: 'none'
@@ -314,13 +346,19 @@
mounted() {
this.init()
- this.getProductionScheduleKanban()
+ this.getProductOrderSearch(1)
},
methods: {
init() {
uni.stopPullDownRefresh();
},
- gotoPage(p1, p2) {
+ gotoPage(p1, p2, it) {
+
+ if (parseFloat(it.goodqty) + parseFloat(it.ngqty) + parseFloat(it.laborbadqty) + parseFloat(it
+ .materielbadqty) === parseFloat(it.planqty)) {
+ return uni.$u.toast('褰撳墠宸ュ簭鏃犲彲鎶ユ暟閲忥紒')
+ }
+
let orderstep = null
if (p1) {
@@ -331,7 +369,7 @@
uni.navigateTo({
- url: './scbg2?orderstep=' + orderstep
+ url: './scbg2?orderstep=' + orderstep + '¤tpage=' + this.currentpage
})
},
@@ -346,23 +384,31 @@
})
},
+ // 椤垫暟鏀瑰彉鏃� 鍒嗛〉瑙﹀彂
+ pageChange(e) {
+ this.currentpage = e.current
+ this.getProductOrderSearch(e.current)
+ },
+
// 鎺ュ彛鑾峰彇
- async getProductionScheduleKanban() {
+ async getProductOrderSearch(current) {
let ordertype = '' // SO锛氶攢鍞鍗� MO锛氱敓浜ц鍗� PO锛氱敓浜у伐鍗�
switch (this.radiovalue) {
case '鐢熶骇宸ュ崟':
- this.alertTitle = '宸ュ崟鏁伴噺锛堝叡/涓級'
- this.placeholder = '璇疯緭鍏ュ伐鍗曚俊鎭�'
+ // this.alertTitle = '宸ュ崟鏁伴噺锛堝叡/涓級'
+ // this.placeholder = '璇疯緭鍏ュ伐鍗曚俊鎭�'
ordertype = 'PO'
break
case '鐢熶骇璁㈠崟':
- this.alertTitle = '鐢熶骇璁㈠崟鏁伴噺锛堝叡/涓級'
- this.placeholder = '璇疯緭鍏ョ敓浜ц鍗曚俊鎭�'
+ // this.alertTitle = '鐢熶骇璁㈠崟鏁伴噺锛堝叡/涓級'
+ // this.alertTitle = '宸ュ崟鏁伴噺锛堝叡/涓級'
+ // this.placeholder = '璇疯緭鍏ョ敓浜ц鍗曚俊鎭�'
ordertype = 'MO'
break
case '閿�鍞鍗�':
- this.alertTitle = '閿�鍞鍗曟暟閲忥紙鍏�/涓級'
- this.placeholder = '璇疯緭鍏ラ攢鍞鍗曚俊鎭�'
+ // this.alertTitle = '閿�鍞鍗曟暟閲忥紙鍏�/涓級'
+ // this.alertTitle = '宸ュ崟鏁伴噺锛堝叡/涓級'
+ // this.placeholder = '璇疯緭鍏ラ攢鍞鍗曚俊鎭�'
ordertype = 'SO'
break
}
@@ -371,41 +417,56 @@
const data = {
ordertype,
partcode: this.tagArr.map(i => i.code).join(','),
- Ratetime: this.calendarRange,
+ ordercode: this.order,
+ Ratetime: '',
+ // Ratetime: this.calendarRange,
+
+ page: current,
+ rows: this.pageSize,
+ prop: 'lm_date',
+ sortorder: 'desc'
}
- const {
- data: res
- } = await ProductionScheduleKanban(data)
+ const res = await ProductOrderSearch(data)
- this.collapseArr = res
- this.collapseArrAll = res
- this.alertTitle = this.alertTitle.split('/')[0] + this.collapseArr.length + this.alertTitle.split('/')[
- 1]
+ this.total = res.count
+
+ this.collapseArr = res.data
+ this.collapseArrAll = res.data
+ // this.alertTitle = this.alertTitle.split('/')[0] + this.total + this.alertTitle.split('/')[
+ // 1]
+
+ },
+ loadMore() {
},
-
//杈撳叆妗嗗洖杞︾‘璁や簨浠�
confirmInputBoxValue(val) {
- this.collapseArr = this.collapseArrAll.filter((p) => {
- return p.ordercode.indexOf(val) !== -1
- })
+ this.order = val
+ this.currentpage = 1
+ this.getProductOrderSearch(1)
+ // this.collapseArr = this.collapseArrAll.filter((p) => {
+ // return p.ordercode.indexOf(val) !== -1
+ // })
- switch (this.radiovalue) {
- case '鐢熶骇宸ュ崟':
- this.alertTitle = '宸ュ崟鏁伴噺锛堝叡/涓級'
- break
- case '鐢熶骇璁㈠崟':
- this.alertTitle = '鐢熶骇璁㈠崟鏁伴噺锛堝叡/涓級'
- break
- case '閿�鍞鍗�':
- this.alertTitle = '閿�鍞鍗曟暟閲忥紙鍏�/涓級'
- break
- }
- this.alertTitle = this.alertTitle.split('/')[0] + this.collapseArr.length + this.alertTitle.split('/')[
- 1]
+ // switch (this.radiovalue) {
+ // case '鐢熶骇宸ュ崟':
+ // this.alertTitle = '宸ュ崟鏁伴噺锛堝叡' + this.total + '涓級'
+ // break
+ // case '鐢熶骇璁㈠崟':
+ // this.alertTitle = '宸ュ崟鏁伴噺锛堝叡' + this.total + '涓級'
+ // break
+ // case '閿�鍞鍗�':
+ // this.alertTitle = '宸ュ崟鏁伴噺锛堝叡' + this.total + '涓級'
+ // break
+ // }
+
+
+
+ // this.alertTitle = this.alertTitle.split('/')[0] + this.collapseArr.length + this.alertTitle.split('/')[
+ // 1]
},
@@ -476,7 +537,7 @@
// 寮瑰嚭灞傛敹璧�
popupClose() {
- this.getProductionScheduleKanban()
+ this.getProductOrderSearch(1)
this.popupShow = false
},
@@ -561,6 +622,7 @@
// 鍗曢�夋寜閽垏鎹�
groupChange(val) {
console.log(val)
+ this.placeholder2 = val
},
@@ -653,4 +715,14 @@
::v-deep .u-cell__body {
padding-bottom: 40rpx;
}
+
+ .uni-pagination-box {
+ height: 4vh;
+ margin: 1vh 0;
+
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ // background-color: #fff;
+ }
</style>
\ No newline at end of file
--
Gitblit v1.9.3