From 4e4414bc9d1604fd2a3ed443cb9484143eab7e2c Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 15 一月 2026 13:52:19 +0800
Subject: [PATCH] #
---
pages/listing/itemSelect.vue | 179 ++++++++-
pages/listing/matnrPalletising.vue | 32 +
pages.json | 114 +++--
pages/outbound/orderOut/orderList.vue | 394 +++++++++++++++++++++
pages/outbound/orderOut/order_out_type.vue | 248 +++++++++++++
static/css/wms.css/wms.css | 67 ---
6 files changed, 877 insertions(+), 157 deletions(-)
diff --git a/pages.json b/pages.json
index bf22534..93502c0 100644
--- a/pages.json
+++ b/pages.json
@@ -13,6 +13,18 @@
}
},
{
+ "path": "pages/outbound/orderOut/order_out_type",
+ "style": {
+ "navigationBarTitleText": "鍗曟嵁绫诲瀷"
+ }
+ },
+ {
+ "path": "pages/outbound/orderOut/orderList",
+ "style": {
+ "navigationBarTitleText": "鍗曟嵁鍒楄〃"
+ }
+ },
+ {
"path": "pages/emptyTray/outBound",
"style": {
"navigationBarTitleText": "绌烘墭鍑哄簱"
@@ -220,7 +232,7 @@
"path": "pages/listing/itemSelect",
"style": {
"navigationBarTitleText": "閫夋嫨鐗╂枡",
- "enablePullDownRefresh": false
+ "enablePullDownRefresh": true
}
},
{
@@ -400,35 +412,34 @@
"navigationBarTitleText": "鍑哄簱棰勮",
"enablePullDownRefresh": false
}
- }
- , {
+ },
+ {
"path": "pages/phyz/AGV/emptyOut",
"style": {
"navigationBarTitleText": "鍛煎彨绌鸿揣鏋�",
"enablePullDownRefresh": false
}
-
- }, {
+ },
+ {
"path": "pages/phyz/wrkMast/wrkMastLog",
"style": {
"navigationBarTitleText": "宸ヤ綔鍘嗗彶妗�",
"enablePullDownRefresh": false
}
-
- }, {
+ },
+ {
"path": "pages/phyz/wrkMast/waitPakinLog",
"style": {
"navigationBarTitleText": "鍏ュ簱閫氱煡鍘嗗彶妗�",
"enablePullDownRefresh": false
}
-
- }, {
+ },
+ {
"path": "pages/phyz/order/orderList2",
"style": {
"navigationBarTitleText": "璁㈠崟鍒楄〃",
"enablePullDownRefresh": false
}
-
},
{
"path": "pages/phyz/stationManage/stationDetl",
@@ -436,20 +447,20 @@
"navigationBarTitleText": "绔欑偣璇︽儏",
"enablePullDownRefresh": false
}
- }, {
+ },
+ {
"path": "pages/phyz/order/pakinOrderSelect",
"style": {
"navigationBarTitleText": "鍏ュ簱璁㈠崟",
"enablePullDownRefresh": false
}
-
- }, {
+ },
+ {
"path": "pages/phyz/order/pakinOrderSelectV2",
"style": {
"navigationBarTitleText": "鍏ュ簱璁㈠崟",
"enablePullDownRefresh": false
}
-
},
{
"path": "pages/phyz/order/orderCar",
@@ -457,27 +468,27 @@
"navigationBarTitleText": "寰呯粍鎵樺垪琛�",
"enablePullDownRefresh": false
}
- }, {
+ },
+ {
"path": "pages/phyz/orderOut/orderOutSelect",
"style": {
"navigationBarTitleText": "鍑哄簱璁㈠崟",
"enablePullDownRefresh": false
}
-
- }, {
+ },
+ {
"path": "pages/phyz/orderOut/orderOutSelectV2",
"style": {
"navigationBarTitleText": "鍑哄簱璁㈠崟",
"enablePullDownRefresh": false
}
-
- }, {
+ },
+ {
"path": "pages/phyz/orderOut/orderList",
"style": {
"navigationBarTitleText": "寰呭嚭鍒楄〃",
"enablePullDownRefresh": false
}
-
},
{
"path": "pages/phyz/orderOut/orderCheck",
@@ -492,20 +503,20 @@
"navigationBarTitleText": "鍑哄簱纭",
"enablePullDownRefresh": false
}
- }, {
+ },
+ {
"path": "pages/phyz/checkLocDetl/checkLocDetl",
"style": {
"navigationBarTitleText": "鐩樼偣",
"enablePullDownRefresh": false
}
-
- }, {
+ },
+ {
"path": "pages/phyz/checkLocDetl/locDetl",
"style": {
"navigationBarTitleText": "搴撳瓨鏄庣粏",
"enablePullDownRefresh": false
}
-
},
{
"path": "pages/phyz/checkLocDetl/locDetlList",
@@ -541,27 +552,29 @@
"navigationBarTitleText": "鍐嶆鎷f枡鏄庣粏",
"enablePullDownRefresh": false
}
- }, {
+ },
+ {
"path": "pages/phyz/bcp/bcpOrder",
"style": {
"navigationBarTitleText": "鍗婂叆搴撳崟",
"enablePullDownRefresh": false
}
-
- }, {
+ },
+ {
"path": "pages/phyz/bcp/bcpOrder_xs",
"style": {
"navigationBarTitleText": "鍗婃垚鍝佸叆搴撳崟_鍚稿",
"enablePullDownRefresh": false
}
-
- }, {
+ },
+ {
"path": "pages/phyz/bcp/bcpDbOrder",
"style": {
"navigationBarTitleText": "鍗婃垚鍝佽皟鎷ㄥ崟",
"enablePullDownRefresh": false
}
- }, {
+ },
+ {
"path": "pages/phyz/bcp/bcpDbOrderV2",
"style": {
"navigationBarTitleText": "鍗婃垚鍝佽皟鎷ㄥ崟",
@@ -595,30 +608,29 @@
"navigationBarTitleText": "搴撲綅杞Щ",
"enablePullDownRefresh": false
}
- }, {
+ },
+ {
"path": "pages/phyz/bcp/bcpDbList",
"style": {
"navigationBarTitleText": "璋冩嫧搴撲綅",
"enablePullDownRefresh": false
}
-
- }, {
+ },
+ {
"path": "pages/phyz/orderOut/bcpOrderOutSelect",
"style": {
"navigationBarTitleText": "鍗婃垚鍝佸嚭搴撳崟",
"enablePullDownRefresh": false
}
-
- }
-
- , {
+ },
+ {
"path": "pages/phyz/orderOut/bcpOrderOutSelect_2",
"style": {
"navigationBarTitleText": "鍗婃垚鍝佸嚭搴撳崟_浜屽巶",
"enablePullDownRefresh": false
}
-
- }, {
+ },
+ {
"path": "pages/phyz/wrkMast/locMoveMast",
"style": {
"navigationBarTitleText": "璋冩嫧浠诲姟绠$悊",
@@ -722,22 +734,18 @@
}
},
{
- "path" : "pages/phyz/inStock/inStock",
- "style" :
- {
- "navigationBarTitleText" : "鍏ュ簱涓婃灦"
+ "path": "pages/phyz/inStock/inStock",
+ "style": {
+ "navigationBarTitleText": "鍏ュ簱涓婃灦"
+ }
+ },
+ {
+ "path": "pages/listing/unPakin",
+ "style": {
+ "navigationBarTitleText": "缁勬墭瑙g粦"
}
}
-
- ,{
- "path" : "pages/listing/unPakin",
- "style" :
- {
- "navigationBarTitleText": "缁勬墭瑙g粦"
- }
-
- }
- ],
+ ],
"globalStyle": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "uni-app",
diff --git a/pages/listing/itemSelect.vue b/pages/listing/itemSelect.vue
index 99eb754..8f1299b 100644
--- a/pages/listing/itemSelect.vue
+++ b/pages/listing/itemSelect.vue
@@ -7,7 +7,7 @@
<view>
- <view class="padding-lr margin-top-sm">
+ <view class="padding-lr margin-top-sm" style="padding-bottom: 120upx;">
<block v-for="(item, index) in matList" :key="index">
<view class="cu-list det menu sm-border margin-bottom-sm " :class="[item.selected === true &&'act']" @click="selectedItem(index)">
<view class="cu-bar bg-white solid-bottom " >
@@ -71,12 +71,21 @@
</view>
</block>
+
+ <!-- 绌虹姸鎬� -->
+ <view class="empty-state" v-if="matList.length === 0 && !loading">
+ <uni-icons type="search" size="60" color="#CCCCCC"></uni-icons>
+ <text class="empty-text">鏆傛棤鏁版嵁</text>
+ <text class="empty-hint">涓嬫媺鍒锋柊璇曡瘯</text>
+ </view>
+
+ <!-- 鍔犺浇鏇村 -->
+ <uni-load-more v-show="matList.length !== 0" :status="status" :icon-size="16" :content-text="contentText" />
</view>
</view>
<view class="cu-bar btn-group foot">
<button class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="back">纭畾</button>
</view>
- <!-- <uni-load-more v-show="matList.length != 0" :status="status" :icon-size="16" :content-text="contentText" /> -->
</view>
</template>
@@ -97,14 +106,32 @@
selectedList:[],
repeatClick: false,
matnrCode:'',
- asnCode:'',
-
+ asnCode:'',
+ // 鍒嗛〉鐩稿叧
+ curr: 1,
+ pageSize: 5,
+ loading: false,
+ status: 'more',
+ contentText: {
+ contentdown: '涓婃媺鍔犺浇鏇村',
+ contentrefresh: '鍔犺浇涓�',
+ contentnomore: '娌℃湁鏇村'
+ },
+ // 淇濆瓨鏌ヨ鍙傛暟
+ lastReq: null
}
},
- // onReachBottom() {
- // this.status = 'more';
- // this.showMat(this.tagIdNow);
- // },
+ // 涓嬫媺鍒锋柊
+ onPullDownRefresh() {
+ this.refreshData();
+ },
+ // 涓婃媺鍔犺浇鏇村
+ onReachBottom() {
+ if (this.status !== 'noMore' && !this.loading) {
+ this.status = 'loading';
+ this.loadMoreData();
+ }
+ },
onLoad() {
// 娌″暐鐢ㄤ簡
let that = this
@@ -122,6 +149,22 @@
},
methods: {
+ // 鍒锋柊鏁版嵁
+ refreshData() {
+ this.curr = 1;
+ this.matList = [];
+ this.status = 'more';
+ if (this.lastReq) {
+ this.getDet(this.lastReq, true);
+ }
+ uni.stopPullDownRefresh();
+ },
+ // 鍔犺浇鏇村鏁版嵁
+ loadMoreData() {
+ if (this.lastReq) {
+ this.getDet(this.lastReq, false);
+ }
+ },
search(){
let req = {
matnrCode: this.condition,
@@ -129,7 +172,11 @@
code: this.condition,
batch: this.condition
}
- this.getDet(req);
+ // 鎼滅储鏃堕噸缃垎椤�
+ this.curr = 1;
+ this.matList = [];
+ this.status = 'more';
+ this.getDet(req, true);
},
back() {
for (var i = 0; i < this.matList.length; i++) {
@@ -150,35 +197,80 @@
this.matList[index].selected = !this.matList[index].selected
}
},
- async getDet(req) {
+ async getDet(req, isRefresh = true) {
let that = this;
- uni.showLoading({
- title:'鍔犺浇涓�...'
- })
- const {
- code,
- data,
- msg
- } = await request('/asnOrderItem/trackCode', {
- matnrCode: req.matnrCode,
- asnCode: req.asnCode,
- code: req.code,
- batch: req.batch
- }, "post")
- if (code === 200) {
- for (var i = 0; i < data.length; i++) {
- data[i].receiptQty =0;
- data[i].selected = false;
- }
- this.matList = data
- } else {
+ // 淇濆瓨鏌ヨ鍙傛暟渚涘埛鏂板拰鍔犺浇鏇村浣跨敤
+ this.lastReq = req;
+ this.loading = true;
+
+ if (isRefresh) {
+ uni.showLoading({
+ title:'鍔犺浇涓�...'
+ })
+ }
+
+ try {
+ const {
+ code,
+ data,
+ msg
+ } = await request('/asnOrderItem/trackCode', {
+ matnrCode: req.matnrCode,
+ asnCode: req.asnCode,
+ code: req.code,
+ batch: req.batch,
+ curr: this.curr,
+ pageSize: this.pageSize
+ }, "post")
+
+ if (code === 200) {
+ let records = data.records || [];
+ let currentPage = data.current || 1;
+ let totalPages = data.pages || 1;
+
+ // 澶勭悊鏁版嵁
+ for (var i = 0; i < records.length; i++) {
+ records[i].receiptQty = 0;
+ records[i].selected = false;
+ }
+
+ if (records.length > 0) {
+ if (isRefresh) {
+ this.matList = records;
+ } else {
+ this.matList = this.matList.concat(records);
+ }
+ this.curr = this.curr + 1;
+ // 鍒ゆ柇鏄惁杩樻湁鏇村鏁版嵁
+ if (this.curr > totalPages) {
+ this.status = 'noMore';
+ } else {
+ this.status = 'more';
+ }
+ } else {
+ if (isRefresh) {
+ this.matList = [];
+ }
+ this.status = 'noMore';
+ }
+ } else {
+ uni.showToast({
+ title: msg,
+ icon: "none",
+ position: 'top'
+ })
+ }
+ } catch (err) {
uni.showToast({
- title: msg,
+ title: '缃戠粶璇锋眰澶辫触',
icon: "none",
position: 'top'
})
+ } finally {
+ this.loading = false;
+ uni.hideLoading();
+ uni.stopPullDownRefresh();
}
- uni.hideLoading();
},
}
@@ -214,5 +306,26 @@
display: flex;
min-height: 80upx;
align-items: center;
- }
+ }
+
+ /* 绌虹姸鎬� */
+ .empty-state {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ padding: 120rpx 0;
+ }
+
+ .empty-text {
+ font-size: 30rpx;
+ color: #909399;
+ margin-top: 30rpx;
+ }
+
+ .empty-hint {
+ font-size: 24rpx;
+ color: #c0c4cc;
+ margin-top: 12rpx;
+ }
</style>
\ No newline at end of file
diff --git a/pages/listing/matnrPalletising.vue b/pages/listing/matnrPalletising.vue
index a2b82ab..b362b9e 100644
--- a/pages/listing/matnrPalletising.vue
+++ b/pages/listing/matnrPalletising.vue
@@ -6,12 +6,12 @@
<view class="cu-form-group margin-top">
<view class="title">璁㈠崟鍙�</view>
<input placeholder="璇疯緭鍏ヨ鍗曞彿" v-model="asnCode"></input>
- <text class='cuIcon-search text-blue' @click="search"></text>
+ <!-- <text class='cuIcon-search text-blue' @click="search"></text> -->
</view>
<view class="cu-form-group">
<view class="title">瀹瑰櫒鍙�</view>
- <input placeholder="璇锋壂鎻忓鍣ㄧ紪鐮�" v-model="container" focus></input>
- <text class='cuIcon-search text-blue' @click="getList"></text>
+ <input placeholder="璇锋壂鎻忓鍣ㄧ紪鐮�" v-model="container" @input="getList" focus></input>
+ <!-- <text class='cuIcon-search text-blue' @click="getList"></text> -->
</view>
<view class="cu-form-group">
<view class="title">鐗╂枡鍙�</view>
@@ -27,7 +27,7 @@
</view>
- <view class="padding-lr margin-top-sm">
+ <view class="padding-lr margin-top-sm" style="padding-bottom: 120upx;">
<block v-for="(item, index) in list" :key="index">
<view class="cu-list det menu sm-border margin-bottom-sm " :class="[item.trackCode===barcode&&'act']"
:ref="item.trackCode+'ref'">
@@ -154,7 +154,7 @@
<view class="form-item">
<text class="form-label">鐩爣搴撳尯</text>
<view class="input-wrapper picker-wrapper">
- <picker mode="selector" :range="rangeText" @change="pickerChange">
+ <picker class="picker" mode="selector" :range="rangeText" @change="pickerChange">
<view class="picker-view">
<text>{{ whAreaId ? selectedText : '璇烽�夋嫨搴撳尯' }}</text>
<text class="cuIcon-right picker-arrow"></text>
@@ -205,7 +205,7 @@
computed: {
...mapState('user', ['dynamicFields']),
allCount() {
- return this.list.reduce((acc, row) => +row.anfme + acc, 0) || 0
+ return this.list.reduce((acc, row) => +row.receiptQty + acc, 0) || 0
},
rangeText() {
return this.range.map(item => item.text)
@@ -216,7 +216,7 @@
}
},
mounted() {
- this.getRece()
+ // this.getRece()
// 鑾峰彇鎸夐挳鏉冮檺
this.buttonPermissions = uni.getStorageSync('buttonPermissions') || [];
console.log('褰撳墠椤甸潰鎸夐挳鏉冮檺:', this.buttonPermissions);
@@ -323,11 +323,12 @@
barcode: this.container
})
if (code === 200) {
- uni.showToast({
- title: msg,
- icon: "success",
- position: 'top'
- })
+ this.range = data.map(item => ({
+ value: item.id,
+ text: item.name
+ }));
+
+ this.whAreaId = this.range[0].value
} else {
uni.showToast({
title: msg,
@@ -534,7 +535,7 @@
if (code === 200) {
this.range = data.map(item => ({
value: item.id,
- text: item.warehouseId$ + "-- " + item.name
+ text: item.name
}));
}
},
@@ -664,6 +665,9 @@
color: #333;
background-color: transparent;
}
+ .picker{
+ width: 100%;
+ }
.picker-view {
width: 100%;
@@ -672,7 +676,7 @@
font-size: 30rpx;
color: #333;
display: flex;
- justify-content: space-between;
+ justify-content:space-between;
align-items: center;
}
diff --git a/pages/outbound/orderOut/orderList.vue b/pages/outbound/orderOut/orderList.vue
new file mode 100644
index 0000000..2742bd6
--- /dev/null
+++ b/pages/outbound/orderOut/orderList.vue
@@ -0,0 +1,394 @@
+<template>
+ <view class="page-container">
+ <!-- 鎼滅储妗� -->
+ <view class="search-bar">
+ <uni-search-bar v-model="condition" placeholder=" 鎵爜 / 杈撳叆" bgColor="#F5F5F5" @confirm="search" @cancel="onCancelSearch" />
+ </view>
+
+ <!-- 璁㈠崟鍒楄〃 -->
+ <view class="order-list">
+ <view class="order-card" v-for="(item,i) in matList" :key="i" @click="toPrint(item)">
+ <!-- 鍗$墖澶撮儴 -->
+ <view class="card-header">
+ <view class="order-badge" :class="getSettleClass(item.settle)">
+ <text class="badge-text">{{item.settle$ || '鏈煡'}}</text>
+ </view>
+ <view class="order-no">
+ <text class="order-no-label">鍗曟嵁鍙�</text>
+ <text class="order-no-value">{{item.orderNo}}</text>
+ </view>
+ </view>
+
+ <!-- 鍗$墖鍐呭 -->
+ <view class="card-body">
+ <view class="info-row">
+ <view class="info-item">
+ <text class="info-label">鍗曟嵁绫诲瀷</text>
+ <text class="info-value">{{item.docType$ || '-'}}</text>
+ </view>
+ <view class="info-item">
+ <text class="info-label">浠撳簱</text>
+ <text class="info-value">{{item.itemName || '-'}}</text>
+ </view>
+ </view>
+ </view>
+
+ <!-- 鍗$墖搴曢儴 -->
+ <view class="card-footer">
+ <text class="view-detail">鏌ョ湅璇︽儏</text>
+ <uni-icons type="right" size="14" color="#999"></uni-icons>
+ </view>
+ </view>
+ </view>
+
+ <!-- 绌虹姸鎬� -->
+ <view class="empty-state" v-if="matList.length === 0 && !loading">
+ <uni-icons type="search" size="60" color="#CCCCCC"></uni-icons>
+ <text class="empty-text">鏆傛棤璁㈠崟鏁版嵁</text>
+ <text class="empty-hint">涓嬫媺鍒锋柊璇曡瘯</text>
+ </view>
+
+ <!-- 鍔犺浇鏇村 -->
+ <uni-load-more v-show="matList.length !== 0" :status="status" :icon-size="16" :content-text="contentText" />
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ tagList: [],
+ matList: [],
+ condition: '',
+ loading: false,
+ curr: 1,
+ baseUrl: '',
+ token: '',
+ status: 'more',
+ contentText: {
+ contentdown: '涓婃媺鍔犺浇鏇村',
+ contentrefresh: '鍔犺浇涓�',
+ contentnomore: '娌℃湁鏇村'
+ },
+ // 褰撳墠tagId
+ tagIdNow: 1,
+ orderTypeId:''
+ }
+ },
+ // 涓嬫媺鍒锋柊
+ onPullDownRefresh() {
+ this.refreshData();
+ },
+ // 涓婃媺鍔犺浇鏇村
+ onReachBottom() {
+ if (this.status !== 'noMore') {
+ this.status = 'loading';
+ this.loadMoreData();
+ }
+ },
+ onLoad() {
+ let that = this
+ const eventChannel = this.getOpenerEventChannel();
+ if (eventChannel) {
+ eventChannel.on('orderTypeId', function(data) {
+ that.orderTypeId = data.orderTypeId
+ })
+ }
+ },
+ onShow() {
+ this.baseUrl = uni.getStorageSync('baseUrl');
+ this.token = uni.getStorageSync('token');
+ // 姣忔杩涘叆椤甸潰閲嶆柊鍔犺浇
+ this.refreshData();
+ },
+ methods: {
+ // 鍒锋柊鏁版嵁
+ refreshData() {
+ this.curr = 1;
+ this.matList = [];
+ this.status = 'more';
+ this.loading = true;
+ this.fetchOrderList(true);
+ },
+ // 鍔犺浇鏇村鏁版嵁
+ loadMoreData() {
+ this.fetchOrderList(false);
+ },
+ // 鑾峰彇璁㈠崟鍒楄〃
+ fetchOrderList(isRefresh) {
+ let that = this;
+ uni.request({
+ url: that.baseUrl + '/order/pakin/order/list/pda/page/auth',
+ data: {
+ curr: that.curr,
+ limit: 20,
+ tagId: that.tagIdNow
+ },
+ method: "GET",
+ header: {
+ 'token': uni.getStorageSync('token'),
+ },
+ success(result) {
+ var res = result.data;
+ if (res.code === 200) {
+ let records = res.data.records || [];
+ if (records.length > 0) {
+ if (isRefresh) {
+ that.matList = records;
+ } else {
+ that.matList = that.matList.concat(records);
+ }
+ that.curr = that.curr + 1;
+ that.status = 'more';
+ } else {
+ that.status = 'noMore';
+ }
+ } else if (res.code === 403) {
+ uni.showToast({ title: res.msg, icon: "none", position: 'top' });
+ setTimeout(() => {
+ uni.reLaunch({ url: '../login/login' });
+ }, 1000);
+ } else {
+ uni.showToast({ title: res.msg, icon: "none", position: 'top' });
+ }
+ },
+ fail(err) {
+ uni.showToast({ title: '缃戠粶璇锋眰澶辫触', icon: "none", position: 'top' });
+ },
+ complete() {
+ that.loading = false;
+ uni.stopPullDownRefresh();
+ }
+ });
+ },
+ // 鎼滅储
+ search() {
+ if (!this.condition.trim()) {
+ this.refreshData();
+ return;
+ }
+ let that = this;
+ that.loading = true;
+ uni.request({
+ url: that.baseUrl + '/order/search/pda/auth',
+ data: {
+ condition: that.condition
+ },
+ method: "GET",
+ header: {
+ 'token': uni.getStorageSync('token'),
+ },
+ success(result) {
+ var res = result.data;
+ if (res.code === 200) {
+ that.matList = res.data || [];
+ that.status = 'noMore';
+ } else if (res.code === 403) {
+ uni.showToast({ title: res.msg, icon: "none", position: 'top' });
+ setTimeout(() => {
+ uni.reLaunch({ url: '../login/login' });
+ }, 1000);
+ } else {
+ uni.showToast({ title: res.msg, icon: "none", position: 'top' });
+ }
+ },
+ fail() {
+ uni.showToast({ title: '鎼滅储璇锋眰澶辫触', icon: "none", position: 'top' });
+ },
+ complete() {
+ that.loading = false;
+ }
+ });
+ },
+ // 鍙栨秷鎼滅储
+ onCancelSearch() {
+ this.condition = '';
+ this.refreshData();
+ },
+ // 鏍规嵁鐘舵�佽繑鍥炴牱寮忕被鍚�
+ getSettleClass(settle) {
+ // settle: 1-寰呭鐞�, 2-澶勭悊涓�, 3-宸插畬鎴�, 4-宸插彇娑� (鏍规嵁瀹為檯鎯呭喌璋冩暣)
+ const classMap = {
+ 1: 'badge-pending',
+ 2: 'badge-processing',
+ 3: 'badge-completed',
+ 4: 'badge-cancelled'
+ };
+ return classMap[settle] || 'badge-default';
+ },
+ // 璺宠浆鍒拌鍗曡鎯�
+ toPrint(item) {
+ let that = this;
+ uni.navigateTo({
+ url: "../order/orderDetlList",
+ success: function(res) {
+ res.eventChannel.emit('data', {
+ data: item
+ });
+ },
+ events: {
+ acceptDataFromOpenedPage: function(data) {
+ that.matnr = data.data;
+ that.findMat(that.matnr);
+ },
+ },
+ });
+ }
+ }
+ }
+</script>
+
+<style>
+ @import url('@/static/css/wms.css/wms.css');
+
+ .page-container {
+ min-height: 100vh;
+ background: linear-gradient(135deg, #f5f7fa 0%, #e4e8eb 100%);
+ padding-bottom: 20rpx;
+ }
+
+ .search-bar {
+ padding: 0rpx 14rpx;
+ background: #ffffff;
+ box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.08);
+ }
+
+ .order-list {
+ padding: 0 24rpx;
+ }
+
+ .order-card {
+ background: #ffffff;
+ border-radius: 16rpx;
+ margin-top: 20rpx;
+ box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.08);
+ overflow: hidden;
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
+ }
+
+ .order-card:active {
+ transform: scale(0.98);
+ box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.12);
+ }
+
+ .card-header {
+ display: flex;
+ align-items: center;
+ padding: 24rpx 28rpx;
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
+ }
+
+ .order-badge {
+ padding: 6rpx 16rpx;
+ border-radius: 20rpx;
+ margin-right: 20rpx;
+ }
+
+ .badge-text {
+ font-size: 22rpx;
+ font-weight: 500;
+ color: #ffffff;
+ }
+
+ /* 鐘舵�佸窘绔犻鑹� */
+ .badge-pending {
+ background: rgba(255, 255, 255, 0.3);
+ }
+
+ .badge-processing {
+ background: #ffc107;
+ }
+
+ .badge-completed {
+ background: #28a745;
+ }
+
+ .badge-cancelled {
+ background: #dc3545;
+ }
+
+ .badge-default {
+ background: rgba(255, 255, 255, 0.25);
+ }
+
+ .order-no {
+ flex: 1;
+ }
+
+ .order-no-label {
+ font-size: 22rpx;
+ color: rgba(255, 255, 255, 0.7);
+ display: block;
+ }
+
+ .order-no-value {
+ font-size: 28rpx;
+ color: #ffffff;
+ font-weight: 600;
+ display: block;
+ margin-top: 4rpx;
+ }
+
+ .card-body {
+ padding: 24rpx 28rpx;
+ }
+
+ .info-row {
+ display: flex;
+ flex-wrap: wrap;
+ }
+
+ .info-item {
+ width: 50%;
+ margin-bottom: 16rpx;
+ }
+
+ .info-label {
+ font-size: 24rpx;
+ color: #909399;
+ display: block;
+ }
+
+ .info-value {
+ font-size: 28rpx;
+ color: #303133;
+ font-weight: 500;
+ display: block;
+ margin-top: 6rpx;
+ }
+
+ .card-footer {
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ padding: 20rpx 28rpx;
+ border-top: 1rpx solid #f0f0f0;
+ }
+
+ .view-detail {
+ font-size: 26rpx;
+ color: #909399;
+ margin-right: 8rpx;
+ }
+
+ /* 绌虹姸鎬� */
+ .empty-state {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ padding: 120rpx 0;
+ }
+
+ .empty-text {
+ font-size: 30rpx;
+ color: #909399;
+ margin-top: 30rpx;
+ }
+
+ .empty-hint {
+ font-size: 24rpx;
+ color: #c0c4cc;
+ margin-top: 12rpx;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/outbound/orderOut/order_out_type.vue b/pages/outbound/orderOut/order_out_type.vue
new file mode 100644
index 0000000..578ee8e
--- /dev/null
+++ b/pages/outbound/orderOut/order_out_type.vue
@@ -0,0 +1,248 @@
+<template>
+ <view>
+ <scroll-view
+ scroll-y
+ class="page"
+ >
+ <view class="list-container">
+ <view
+ class="list-item"
+ @click="toPage(item)"
+ :class="'bg-' + item.color"
+ :style="[
+ { animation: 'show ' + ((index + 1) * 0.2 + 1) + 's 1' }
+ ]"
+ v-for="(item, index) in elements"
+ :key="index"
+ >
+ <view class="item-icon">
+ <text :class="'cuIcon-' + item.cuIcon"></text>
+ </view>
+ <view class="item-content">
+ <view class="item-title">{{ item.title }}</view>
+ <view class="item-desc">{{ item.name }}</view>
+ </view>
+ <view class="item-arrow">
+ <text class="cuIcon-right"></text>
+ </view>
+ </view>
+ </view>
+ <view class="cu-tabbar-height"></view>
+ </scroll-view>
+ </view>
+</template>
+
+<script>
+import { request } from '@/common/request.js'
+export default {
+ data() {
+ return {
+ buttonPermissions: [],
+ elements: [
+
+ ],
+ colorList: [
+ 'cyan',
+ 'blue',
+ 'purple',
+ 'mauve',
+ 'pink',
+ 'brown',
+ 'red',
+ 'orange',
+ 'yellow',
+ 'olive'
+ ]
+ }
+ },
+ onLoad(option) {
+ this.backGroundRepeat()
+ },
+ mounted() {
+ // 鑾峰彇鎸夐挳鏉冮檺
+ this.buttonPermissions = uni.getStorageSync('buttonPermissions') || []
+ console.log('褰撳墠椤甸潰鎸夐挳鏉冮檺:', this.buttonPermissions)
+ this.getType(this.buttonPermissions)
+ },
+ methods: {
+ async getType(type) {
+ const { code, data, msg } = await request(
+ '/orderOut/getType',
+ {
+ type
+ },
+ 'post'
+ )
+ if (code === 200) {
+ data.map((item,index) => {
+ console.log(item,index)
+ this.elements.unshift({
+ title: item.label,
+ name: '',
+ color: this.colorList[index],
+ cuIcon: 'round',
+ url: `/outbound/orderOut/orderList`
+ })
+ })
+ } else {
+ uni.showToast({
+ title: msg,
+ icon: 'none',
+ position: 'top'
+ })
+ }
+ },
+ backGroundRepeat() {
+ let len = this.colorList.length
+ let i = 0
+ for (let k in this.elements) {
+ if (i == len) {
+ i = 0
+ }
+ this.elements[k].color = this.colorList[i]
+ i++
+ }
+ },
+ toPage(item) {
+ uni.navigateTo({
+ url: `/pages${item.url}`,
+ success(res) {
+ res.eventChannel.emit('orderTypeId', {
+ orderTypeId: item.id
+ })
+ }
+ })
+ }
+ }
+}
+</script>
+
+<style>
+.page {
+ height: 100vh;
+ background-color: #f5f5f5;
+}
+
+.list-container {
+ padding: 20rpx 30rpx;
+}
+
+.list-item {
+ display: flex;
+ align-items: center;
+ padding: 30rpx;
+ margin-bottom: 20rpx;
+ border-radius: 16rpx;
+ box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
+}
+
+.item-icon {
+ width: 80rpx;
+ height: 80rpx;
+ border-radius: 50%;
+ background-color: rgba(255, 255, 255, 0.3);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin-right: 24rpx;
+}
+
+.item-icon text {
+ font-size: 40rpx;
+}
+
+.item-content {
+ flex: 1;
+}
+
+.item-title {
+ font-size: 32rpx;
+ font-weight: bold;
+ margin-bottom: 8rpx;
+}
+
+.item-desc {
+ font-size: 24rpx;
+ opacity: 0.8;
+}
+
+.item-arrow {
+ font-size: 32rpx;
+ opacity: 0.6;
+}
+
+.bg-red {
+ background-color: #e54d42;
+ color: #ffffff;
+}
+
+.bg-orange {
+ background-color: #f37b1d;
+ color: #ffffff;
+}
+
+.bg-yellow {
+ background-color: #fbbd08;
+ color: #333333;
+}
+
+.bg-olive {
+ background-color: #8dc63f;
+ color: #ffffff;
+}
+
+.bg-green {
+ background-color: #39b54a;
+ color: #ffffff;
+}
+
+.bg-cyan {
+ background-color: #1cbbb4;
+ color: #ffffff;
+}
+
+.bg-blue {
+ background-color: #0081ff;
+ color: #ffffff;
+}
+
+.bg-purple {
+ background-color: #6739b6;
+ color: #ffffff;
+}
+
+.bg-mauve {
+ background-color: #9c26b0;
+ color: #ffffff;
+}
+
+.bg-pink {
+ background-color: #e03997;
+ color: #ffffff;
+}
+
+.bg-brown {
+ background-color: #a5673f;
+ color: #ffffff;
+}
+
+.bg-grey {
+ background-color: #8799a3;
+ color: #ffffff;
+}
+
+.bg-gray {
+ background-color: #f0f0f0;
+ color: #333333;
+}
+
+.bg-black {
+ background-color: #333333;
+ color: #ffffff;
+}
+
+.bg-white {
+ background-color: #ffffff;
+ color: #666666;
+}
+</style>
diff --git a/static/css/wms.css/wms.css b/static/css/wms.css/wms.css
index 005f708..859ea95 100644
--- a/static/css/wms.css/wms.css
+++ b/static/css/wms.css/wms.css
@@ -3,56 +3,46 @@
min-height: 80rpx;
background-color: #FFF;
margin: 20rpx 20rpx;
- padding: 20rpx;
border-radius: 20rpx;
- box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.2);
+ box-shadow: 0px 0px 30px 0px rgba(0,0,0,0.2);
}
-
.list:first-child {
- margin-top: 340rpx;
+ margin-top: 320rpx;
}
-
.list:last-child {
margin-bottom: 120rpx;
}
-
.list-left {
display: flex;
flex-direction: column;
+ margin-left: 20rpx;
width: 80vw;
}
-
.list-left-item {
min-height: 40rpx;
line-height: 40rpx;
display: flex;
- padding: 2rpx;
}
-
.desc {
min-height: 40rpx;
display: flex;
align-items: center;
+ width: 25%;
}
-
.left-item {
display: flex;
flex-wrap: wrap;
+ width: 75%;
+ margin: 1px 1px 1px 1px;
/* color: #409EFF; */
}
-
-.left-item input {
- border-bottom: 1px solid #cecece;
-}
-
.list-right {
display: flex;
- /* width: 20vw; */
+ width: 20vw;
justify-content: space-between;
align-items: center;
- /* margin-right: 20rpx; */
+ margin-right: 20rpx;
}
-
.buttom {
width: 100%;
position: fixed;
@@ -63,16 +53,14 @@
justify-content: space-between;
height: 100rpx;
background-color: #FFF;
- box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
+ box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.2) ;
}
-
.popup {
width: 80vw;
min-height: 100rpx;
background-color: #FFF;
border-radius: 25rpx;
}
-
.title {
height: 100rpx;
line-height: 100rpx;
@@ -81,7 +69,6 @@
text-align: center;
font-size: 16px;
}
-
.popup-item {
height: 80rpx;
line-height: 80rpx;
@@ -89,14 +76,12 @@
align-items: center;
font-size: 14px;
}
-
.popup-item-left {
width: 16vw;
padding-right: 20rpx;
text-align: right;
color: #606266;
}
-
.popup-item-right {
display: flex;
align-items: center;
@@ -106,11 +91,9 @@
border: 1px solid #E4E7ED;
border-radius: 5rpx;
}
-
-.popup-item-right input {
+.popup-item-right input{
color: #606266;
}
-
.btn {
display: flex;
height: 90rpx;
@@ -119,7 +102,6 @@
justify-content: center;
align-items: center;
}
-
.btn-left {
display: flex;
flex: 1;
@@ -129,7 +111,6 @@
color: #606266;
border-right: 1px solid #DCDFE6;
}
-
.btn-right {
display: flex;
flex: 1;
@@ -137,35 +118,7 @@
align-items: center;
color: #409EFF;
}
-
/* 鎼滅储妗� */
.search-bar {
background-color: #f8f8f8;
}
-
-
-.keyboard {
- width: 40px;
- height: 40px;
- background-size: 100%;
- position: absolute;
- z-index: 99;
- top: 5px;
- right: 5px;
- border-radius: 50%;
- display: flex;
- align-items: center;
- justify-content: center;
-}
-
-.kb-bgtr {
- background-color: #55557f;
-}
-
-.kb-bgfa {
- background-color: #00aeec;
-}
-
-.has-foot {
- padding-bottom: 100rpx;
-}
\ No newline at end of file
--
Gitblit v1.9.1