From caffaccc7c6f76503f8618368ef612146252ef8a Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期一, 15 四月 2024 22:13:14 +0800
Subject: [PATCH] #
---
pages/phyz/mat/mat.vue | 233 +++++++++++++++++++++++++
pages/phyz/mat/matSelected.vue | 166 ++++++++++++++++++
pages.json | 16 +
pages/phyz/checkLocDetl/locDetlList.vue | 69 +++++++
4 files changed, 481 insertions(+), 3 deletions(-)
diff --git a/pages.json b/pages.json
index b9b357e..c3e009e 100644
--- a/pages.json
+++ b/pages.json
@@ -638,6 +638,22 @@
"navigationBarTitleText" : "搴撳瓨鏄庣粏",
"enablePullDownRefresh" : false
}
+ },
+ {
+ "path" : "pages/phyz/mat/mat",
+ "style" :
+ {
+ "navigationBarTitleText" : "妫�绱㈢墿鏂�",
+ "enablePullDownRefresh" : false
+ }
+ },
+ {
+ "path" : "pages/phyz/mat/matSelected",
+ "style" :
+ {
+ "navigationBarTitleText" : "鍟嗗搧璇︽儏",
+ "enablePullDownRefresh" : false
+ }
}
],
"globalStyle": {
diff --git a/pages/phyz/checkLocDetl/locDetlList.vue b/pages/phyz/checkLocDetl/locDetlList.vue
index a9190bc..a1d5d8b 100644
--- a/pages/phyz/checkLocDetl/locDetlList.vue
+++ b/pages/phyz/checkLocDetl/locDetlList.vue
@@ -12,9 +12,10 @@
<view class="list-right" @click="goToLocDetl(locDetl)">
<uni-icons type="right" size="25" color="#fff"></uni-icons>
</view>
-
</view>
-
+ <view style="height: 100rpx;display: flex;align-items: center;justify-content: center;" @click="add()">
+ <uni-icons type="folder-add" size="25" color="#000" style="padding-right: 20rpx;"></uni-icons> 娣诲姞鐗╂枡
+ </view>
<!-- 搴曢儴鎿嶄綔鎸夐挳 -->
<view class="buttom">
<button size="mini" type="primary" @click="agvStart('warn')">娣诲姞鐗╂枡</button>
@@ -45,7 +46,69 @@
})
},
methods: {
-
+ add() {
+ let _this = this
+ uni.navigateTo({
+ url: "../mat/mat",
+ events: {
+ // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨�
+ acceptDataFromOpenedPage: function(data) {
+ console.log(data.data);
+ setTimeout(()=> {
+ _this.findMat(data.data)
+ },100)
+ }
+ },
+ });
+ },
+ findMat(mat) {
+ let _this = this
+ uni.navigateTo({
+ url: "../mat/matSelected",
+ success: function(res) {
+ // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑
+ res.eventChannel.emit('item', {
+ item: mat
+ })
+ },
+ events: {
+ matList: function(data) {
+ _this.checkMat(data.data)
+ },
+ },
+ });
+ },
+ checkMat(mat) {
+ var len = this.dataList.length
+ var add = true ,sameItem = false
+ for (var i = 0; i < len; i++) {
+ if (mat.matnr == this.dataList[i].matnr) {
+ for (var j = 0; j < len; j++) {
+ if (mat.batch == this.dataList[j].batch) {
+ sameItem = true
+ }
+ }
+ // 鐩稿悓鐗╂枡 涓嶅悓鎵瑰彿 鏂板姞鍒楄〃
+ if (mat.batch != this.dataList[i].batch) {
+ this.$forceUpdate() // 寮哄埗鍒锋柊
+ if (sameItem) {
+ add = false
+ } else {
+ add = true
+ }
+
+ } else {
+ // 鐩稿悓鐗╂枡鐩稿悓鎵瑰彿 鏁伴噺绱姞
+ this.dataList[i].anfme += mat.anfme
+ this.$forceUpdate() // 寮哄埗鍒锋柊
+ add = false
+ }
+ }
+ }
+ if (add) {
+ this.dataList.unshift(mat)
+ }
+ }
}
}
</script>
diff --git a/pages/phyz/mat/mat.vue b/pages/phyz/mat/mat.vue
new file mode 100644
index 0000000..9aca1f4
--- /dev/null
+++ b/pages/phyz/mat/mat.vue
@@ -0,0 +1,233 @@
+<template>
+ <view>
+ <!-- 鎼滅储妗� -->
+ <view class="search-bar">
+ <uni-search-bar v-model="condition" placeholder=" 鎵爜 / 杈撳叆" bgColor="#EEEEEE" @confirm="search" />
+ </view>
+ <scroll-view>
+ <view class="tag-list" v-for="(item,i) in tagList" :key="i" @click="showTag(item.id)">
+ <view class="tag">
+ <view style="display: flex;">
+ <view class="wms-tag" :style="baColor" >鍒嗙被</view>
+ </view>
+ </view>
+ <view class="tag-item">{{item.name}}</view>
+ </view>
+ </scroll-view>
+ <view>
+ <view class="tag-list" v-for="(item,i) in matList" :key="i" @click="findBySelect(item)">
+ <view class="tag">
+ <view style="display: flex;">
+ <view class="wms-tag" :style="baColor" >鍟嗗搧</view>
+ </view>
+ </view>
+ <view class="tag-item">鍟嗗搧缂栧彿锛� {{item.matnr}}</view>
+ <view class="tag-item">鍟嗗搧鍚嶇О锛� {{item.maktx ? item.maktx : '--'}}</view>
+ <view class="tag-item">鍟嗗搧瑙勬牸锛� {{item.specs ? item.specs : '--'}}</view>
+ </view>
+ </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: '',
+ reload: false,
+ curr:1,
+ tag: '鍒嗙被',
+ baColor: "background-color: #0081ff;",
+ desc: '鍟嗗搧缂栧彿:',
+ baseUrl: '',
+ token: '',
+ status: 'more',
+ contentText: {
+ contentdown: '涓婃媺鍔犺浇鏇村',
+ contentrefresh: '鍔犺浇涓�',
+ contentnomore: '娌℃湁鏇村'
+ },
+ // 褰撳墠tagId
+ tagIdNow: 1
+ }
+ },
+ onReachBottom() {
+ this.status = 'more';
+ if (this.tagList == null) {
+ this.showMat(this.tagIdNow);
+ }
+ },
+ onShow() {
+ this.baseUrl = uni.getStorageSync('baseUrl');
+ this.token = uni.getStorageSync('token');
+ let that = this
+ // const eventChannel = this.$scope.eventChannel; // 鍏煎APP-NVUE
+ const eventChannel = this.getOpenerEventChannel();
+
+ // 鐩戝惉acceptDataFromOpenerPage浜嬩欢锛岃幏鍙栦笂涓�椤甸潰閫氳繃eventChannel浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�
+ eventChannel.on('commonUrl', function(data) {
+ that.commonUrl = data.commonUrl
+ })
+ },
+ methods: {
+ search() {
+ let that = this
+ that.tagList = []
+ that.matList = []
+ uni.request({
+ url: that.baseUrl + '/mat/search/pda/auth',
+ data: {
+ condition: that.condition
+ },
+ method:"GET",
+ header: {
+ 'token':uni.getStorageSync('token'),
+ },
+ success(result) {
+ console.log(result);
+ var res = result.data
+ if (res.code === 200 ) {
+ that.matList = res.data
+ } 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'})
+ }
+ }
+ });
+ },
+ showTag(parentId) {
+ let that = this
+ uni.request({
+ url: that.baseUrl + '/tag/list/pda/auth',
+ header: {
+ 'token':uni.getStorageSync('token'),
+ },
+ data: {
+ limit: 100000,
+ parentId: parentId
+ },
+ header: {
+ 'token':uni.getStorageSync('token'),
+ },
+ success(result) {
+ that.tagList = null
+ that.matList = []
+ var res = result.data
+ if (res.code === 200) {
+ if (res.data != null && res.data.length > 0) {
+ that.tagList = res.data
+ } else {
+ that.tagList = []
+ that.showMat(parentId)
+ }
+ } 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'})
+ }
+ }
+ });
+ },
+ showMat(tagId) {
+ let that = this
+ that.tagIdNow = tagId
+ if (tagId == null || tagId == '' || tagId == undefined) {
+ return;
+ }
+ uni.showLoading({})
+ uni.request({
+ url: that.baseUrl + '/mat/list/pda/page/auth',
+ data: {
+ curr:that.curr,
+ limit: 20,
+ tagId: tagId
+ },
+ method:"GET",
+ header: {
+ 'token':uni.getStorageSync('token'),
+ },
+ success(result) {
+ that.tagList = null
+ var res = result.data
+ if (res.code === 200) {
+ uni.hideLoading()
+ if (res.data.records != null && res.data.records.length > 0) {
+ let list = res.data.records
+ that.matList = that.reload ? list : that.matList.concat(list);
+ that.curr = that.curr + 1
+ }
+ if (res.data.records.length == 0) {
+ that.status = 'noMore'
+ }
+ that.baColor = "background-color: #1cbbb4;"
+ } else if (res.code === 403 ) {
+ uni.hideLoading()
+ uni.showToast({title: res.msg, icon: "none", position: 'top'})
+ setTimeout(() => {
+ uni.reLaunch({
+ url: '../login/login'
+ });
+ }, 1000);
+ } else {
+ uni.hideLoading()
+ uni.showToast({title: res.msg, icon: "none",position: 'top'})
+ }
+
+ }
+ });
+ },
+ findBySelect(mat) {
+ this.getOpenerEventChannel().emit('acceptDataFromOpenedPage', {data: mat});
+ uni.navigateBack({
+
+ })
+ }
+ }
+ }
+</script>
+
+<style>
+ @import url('../../../static/css/wms.css/wms.css');
+ .tag-list {
+ width: 94%;
+ min-height: 160rpx;
+ margin: 10px auto;
+ background-color: #FFF;
+ border-radius: 5px;
+ box-shadow: 0 5upx 20upx rgba(0, 0, 0, 0.2);
+ }
+ .tag {
+ display: flex;
+ flex-direction: column;
+ min-height: 80rpx;
+ border-bottom: 1px solid #e2e2e2;
+ }
+ .wms-tag {
+ min-width: 60rpx;
+ margin-left: 50rpx;
+ margin-top: 30rpx;
+ color: #FFF;
+ font-size: 14px;
+ padding: 4rpx 12rpx;
+ }
+ .tag-item {
+ width: 100%;
+ min-height: 60rpx;
+ line-height: 2;
+ padding-left: 50rpx;
+ color: #606266;
+ font-size: 14px;
+ }
+</style>
\ No newline at end of file
diff --git a/pages/phyz/mat/matSelected.vue b/pages/phyz/mat/matSelected.vue
new file mode 100644
index 0000000..5ced9f1
--- /dev/null
+++ b/pages/phyz/mat/matSelected.vue
@@ -0,0 +1,166 @@
+<template>
+ <view>
+ <view class="form">
+ <view class="form-item">
+ <view class="form-item-desc"><text>鍟嗗搧缂栫爜</text></view>
+ <view class="form-item-content"><text>{{mat.matnr}}</text></view>
+ </view>
+ <view class="form-item">
+ <view class="form-item-desc"><text>鍟嗗搧鍚嶇О</text></view>
+ <view class="form-item-content"><text>{{mat.maktx}}</text></view>
+ </view>
+ <view class="form-item">
+ <view class="form-item-desc"><text>瑙勬牸</text></view>
+ <view class="form-item-content"><text>{{mat.specs}}</text></view>
+ </view>
+ <view class="form-item">
+ <view class="form-item-desc"><text>閿�鍞崟鍙�</text></view>
+ <view class="form-item-content">
+ <view class="form-input">
+ <input type="text" v-model="mat.batch">
+ </view>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="form-item-desc"><text>璁㈠崟鍙�</text></view>
+ <view class="form-item-content">
+ <view class="form-input">
+ <input type="text" v-model="mat.batch">
+ </view>
+ </view>
+ </view>
+ <view class="form-item">
+ <view class="form-item-desc"><text>鏁伴噺</text></view>
+ <view class="form-item-content">
+ <uni-number-box :value="mat.anfme" :max="99999999" :step='1' color="#747474" @change="changeValue" />
+ </view>
+ </view>
+ </view>
+ <!-- 搴曢儴鎿嶄綔鎸夐挳 -->
+ <view class="buttom">
+ <button size="mini" type="primary" @click="back()">鎻愬彇</button>
+ </view>
+
+ <view class="keyboard" :class="hidebg" mode="aspectFit" @click="hideKeyboard">
+ <image src="@/static/img/keyboard1.png" style="height: 70%;width: 70%;"></image>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ data() {
+ return {
+ mat: {
+ matnr: null,
+ maktx: null,
+ specs: null,
+ batch: null,
+ anfme: 0,
+ },
+ baseIP:'',
+ basePORT:'',
+ hide: true,
+ hidebg: 'kb-bgtr'
+ }
+ },
+ onLoad(option) {
+ let that = this
+ // #ifdef APP-NVUE
+ const eventChannel = this.$scope.eventChannel; // 鍏煎APP-NVUE
+ // #endif
+ // #ifndef APP-NVUE
+ const eventChannel = this.getOpenerEventChannel();
+ // #endif
+
+ // 鐩戝惉acceptDataFromOpenerPage浜嬩欢锛岃幏鍙栦笂涓�椤甸潰閫氳繃eventChannel浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�
+ eventChannel.on('item', function(data) {
+ console.log(data);
+ that.mat = data.item
+ that.mat.anfme = 0
+ })
+ // #ifdef APP
+ setInterval(()=>{
+ if (this.hide) {
+ uni.hideKeyboard()
+ } else {
+
+ }
+ },20)
+ // #endif
+
+ },
+ onBackPress() {
+ this.hide = false
+ },
+ methods: {
+ hideKeyboard() {
+ this.hide = this.hide ? false : true
+ if (this.hide) {
+ this.hidebg = 'kb-bgtr'
+ } else {
+ this.hidebg = 'kb-bgfa'
+ }
+ },
+ blur() {
+
+ },
+ focus() {
+
+ },
+ changeValue(value) {
+ this.mat.anfme = value
+ },
+ back() {
+ if (this.mat.anfme === 0) {
+ uni.showToast({title: '璇疯緭鍏ユ暟閲�', icon: "none", position: 'top'});
+ return;
+ }
+ this.getOpenerEventChannel().emit('matList', {data: this.mat});
+ uni.navigateBack({
+ })
+ }
+ }
+ }
+</script>
+
+<style>
+ @import url('../../../static/css/wms.css/wms.css');
+ .form {
+ min-height: 80rpx;
+ background-color: #FFF;
+ margin-top: 10px;
+ color: #606266;
+ box-shadow: 0px 0px 50px 0px rgba(0,0,0,0.2) ;
+ }
+ .form-item {
+ height: 100rpx;
+ line-height: 100rpx;
+ border-bottom: 1px solid #DCDFE6;
+ margin-left: 40rpx;
+ display: flex;
+ align-items: center;
+ }
+ .form-item-desc {
+ width: 30%;
+ }
+ .form-item-content {
+ width: 60%;
+ }
+
+ .form-item:last-child {
+ border: none;
+ }
+ .form-input {
+ display: flex;
+ align-items: center;
+ width: 50vw;
+ height: 50rpx;
+ padding: 2px 5px;
+ border-bottom: 1px solid #E4E7ED;
+ border-radius: 5rpx;
+ }
+ .form-input input{
+ color: #606266;
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.1