From 67518f027a8bcf444f5d50123825249d49f999ff Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期三, 12 十月 2022 16:46:02 +0800
Subject: [PATCH] #
---
pages/basics/stockCheck.vue | 669 ++++++++++++++++++++++++++++---------------------------
1 files changed, 344 insertions(+), 325 deletions(-)
diff --git a/pages/basics/stockCheck.vue b/pages/basics/stockCheck.vue
index 58b8ce5..193f975 100644
--- a/pages/basics/stockCheck.vue
+++ b/pages/basics/stockCheck.vue
@@ -1,373 +1,392 @@
<template>
<view>
- <view class="cu-form-group margin-top">
- <view class="title">鎵樼洏鐮�</view>
- <input v-model="billNo" placeholder="鎵爜 / 杈撳叆" name="input" @input="findCode()" focus>
- <button v-model="matBtn" class="cu-btn bg-yellow" @click="toggle('right')"><text>+琛ュ厖</text></button>
-
- </view>
- <view class="margin-top">
- <uni-table border stripe emptyText="鏆傛棤鏇村鏁版嵁">
- <uni-tr>
- <uni-th align="center" width="80">鏁伴噺</uni-th>
- <uni-th align="center" width="100">浜у搧缂栫爜</uni-th>
- <uni-th align="center" width="100">浜у搧鍚嶇О</uni-th>
- <uni-th align="center" width="100">浜у搧鎵瑰彿</uni-th>
- <uni-th align="center" width="100">搴撲綅</uni-th>
- <uni-th align="center" width="150">纭鏁伴噺</uni-th>
- </uni-tr>
- <uni-tr v-for="(item, index) in locDetlData" :key="index">
- <uni-td>{{item.count}}</uni-td>
- <uni-td>{{item.matNo}}</uni-td>
- <uni-td>{{item.matName}}</uni-td>
- <uni-td>{{item.itemBatch}}</uni-td>
- <uni-td>{{item.locNo}}</uni-td>
- <uni-td align="center">
- <button class ="cu-btn bg-orange margin-xs" @click="conf(index,item)">淇敼</button>
- <button class ="cu-btn bg-red margin-xs" @click="remove(index,item)">鍒犻櫎</button>
- </uni-td>
- </uni-tr>
- </uni-table>
- </view>
- <view style="height: 200rpx;">
- <!-- 绌虹櫧灞� -->
- </view>
- <view class="cu-bar foot input" style="height: 130rpx;">
- <view class="flex solid-bottom padding justify-start" >
- <button class="cu-btn bg-yellow main-btn margin-xs" style="width: 430rpx;" @click="check">纭� 璁�</button>
- <button class="cu-btn bg-grey main-btn margin-xs" @click="reset">閲� 缃�</button>
- </view>
- </view>
-
- <scroll-view>
- <uni-popup ref="popup" background-color="#fff" style="width: 500rpx;">
- <view class="popup-content" :class="{ 'popup-height': type === 'left' || type === 'right' }">
- <view class="cu-form-group margin-top">
- <text>琛ュ厖浜у搧</text>
- </view>
- <view class="cu-form-group margin-top">
- <text class="title">浜у搧ID</text>
- <input type="text" v-model="matNo" placeholder="鎵爜 / 杈撳叆" name="input" autocomplete="off" focus @input="find()">
- </view>
- <view class="cu-form-group margin-top">
- <text class="title">浜у搧鍚嶇О</text>
- <input type="text" name="input" autocomplete="off" v-model="matName">
- </view>
- <view class="cu-form-group margin-top">
- <text class="title">瑙勬牸鍨嬪彿</text>
- <input type="text" name="input" autocomplete="off" v-model="size">
- </view>
- <view class="cu-form-group margin-top">
- <text class="title">鍗曚綅</text>
- <input type="text" name="input" autocomplete="off" v-model="unit">
- </view>
- <view class="cu-form-group margin-top">
- <text class="title">鏁伴噺</text>
- <uni-number-box :min="0" :max="999" @change="countDom" v-model="count" />
- </view>
- <view class="flex solid-bottom padding justify-center">
- <button class="cu-btn bg-yellow pda-btn2" @click="confirm">鎻愬彇</button>
- </view>
- <view style="height: 200rpx;">
- <!-- 绌虹櫧灞� -->
- </view>
+ <scroll-view scroll-y>
+ <view class="pak-seach-box">
+ <view class="box-top">
+ <view class="color-block-blue"></view>
+ <text class="title">閫夋嫨绔欏彴</text>
</view>
- </uni-popup>
+ <view>
+ <text class="item">鍑哄簱鍙�</text>
+ <view class="example-body">
+ <uni-combox @input="getCheckDetl" emptyTips="鏆傛棤鏁版嵁" :candidates="staNoList" v-model="staNo" placeholder="璇烽�夋嫨"></uni-combox>
+ </view>
+ </view>
+ </view>
+ <view class="pak-data-box">
+ <view class="box-top">
+ <view class="color-block-blue"></view>
+ <text class="title">鍟嗗搧鍒楄〃</text>
+ <button class="cu-btn bg-blue" @click="selectMat()">+ 娣诲姞</button>
+ </view>
+ </view>
+ <view class="pak-data-box" v-show="matList.length === 0">
+ <view style="text-align: center;">鏆傛棤鏇村鏁版嵁</view>
+ </view>
+ <checkbox-group>
+ <view v-for="(item,index) in matList" :key="index" class="data-list bg-false" :class="'bg-'+item.checked" >
+ <view class="data-list-left">
+ <view class="matnr"><text style="width: 400rpx;">缂栫爜锛歿{item.matnr}}</text></view>
+ <view><text style="width: 400rpx;">鍝佸悕锛歿{item.maktx}}</text></view>
+ <view><text style="width: 400rpx;">鎵瑰彿锛歿{item.batch}}</text></view>
+ <view>
+ <text style="width: 400rpx;">鏁伴噺锛歿{item.anfme}}</text>
+ </view>
+ </view>
+ <view class="data-list-right">
+ <label><uni-icons type="compose" size="20" color="#a5a5a5" @click="revise(item,index)"></uni-icons></label>
+ <label><uni-icons type="trash" size="25" color="#a5a5a5" @click="remove(item,index)"></uni-icons></label>
+ </view>
+ </view>
+ </checkbox-group>
+ <view class="footer flex justify-around">
+ <view>
+ <button class="cu-btn lg" @click="resst()">閲嶇疆</button>
+ </view>
+ <view>
+ <button class="cu-btn lg pakin-btn bg-blue" @click="adjust()">纭</button>
+ </view>
+ </view>
</scroll-view>
<view>
- <!-- 鎻愮ず淇℃伅寮圭獥 -->
- <uni-popup ref="message" type="message">
- <uni-popup-message :type="msgType" :message="messageText" :duration="2000"></uni-popup-message>
- </uni-popup>
- </view>
- <view>
- <!-- 杈撳叆妗嗙ず渚� -->
- <uni-popup ref="inputDialog" type="dialog">
- <uni-popup-dialog ref="inputClose" mode="input" title="浜у搧鏁伴噺"
- placeholder="璇疯緭鍏ョ粍鎵樻暟閲�" @confirm="dialogInputConfirm">
- <uni-number-box :min="0" :max="999" v-model="value" />
- </uni-popup-dialog>
- </uni-popup>
- </view>
- <!-- <view>
- <view class="uni-padding-wrap uni-common-mt">
- <view class="uni-btn-v">
- <button type="default" @tap="noTitlemodalTap">鏃犳爣棰樼殑modal</button>
+ <!-- 淇敼鏁伴噺 -->
+ <uni-popup ref="revise" background-color="#fff" @change="change">
+ <view class="revise-box">
+ <view class="revise-box-top">
+ <view class="color-block-blue"></view>
+ <text class="title">缁勬墭鏁伴噺</text>
+ </view>
+ <view class="text-box">
+ <text>鍙粍鏁伴噺锛歿{enableQty}}</text>
+ </view>
+ <view class="changeBox">
+ <view class="num-box">
+ <uni-number-box v-model="count" :min="minCount" :max="maxCount" color="#747474" @change="changeValue"/>
+ </view>
+ </view>
+ <view class="revise-box-buttom">
+ <view>
+ <button class="cu-btn bg-blue" @click="confirm()">纭</button>
+ </view>
+ </view>
+
</view>
- </view>
- </view> -->
+ </uni-popup>
+ </view>
</view>
</template>
-
<script>
export default {
data() {
return {
- msgType: '',
- messageText: '',
- matBtn:'',
- souceData:[], // 鍒濆鍖栬〃鏍兼暟鎹褰�
- locDetlData:[],
- matNo:'',
- matName:'',
- size:'',
- unit:'',
- count:0,
- type: '',
- baseIP:'',
- basePORT:'',
- checkList:[],
- sourceList:[],
- billNo:'',
- matData:[],
- rowNum:'',
- value:'0',
+ commonUrl:null,
+ matList:[],
+ staNoList:[],
+ staNo:'',
+ matnr:'',
+ enableQty:'',
+ count:'',
+ maxCount:'',
+ minCount:0,
+ rowNum:''
}
},
mounted(){
- // 鑾峰彇IP绔彛
const UIP = uni.getStorageSync('UIP');
this.baseIP = UIP;
const UPORT = uni.getStorageSync('UPORT');
- this.basePORT = UPORT;
+ this.basePORT = UPORT
+ const PROJ = uni.getStorageSync('UPROJ');
+ this.baseUrl = PROJ
+ this.getUrl()
+ this.getOutBound();
},
methods: {
- // 鎻愮ず绐楀彛
- messageToggle(type) {
- this.msgType = type
- this.messageText = '鎻愬彇澶辫触'
- this.$refs.message.open()
+ // 鑾峰彇url
+ getUrl() {
+ this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePORT + "/" +this.baseUrl
},
- // 鏍规嵁鎵樼洏鐮佹煡璇�
- findCode() {
+ getOutBound() { // 鑾峰彇鍑哄簱鍙�
let that = this
- if (that.billNo.length === 0 || that.billNo.length !== 8) {
- return
- }
- let barCode = that.billNo
- // 璧嬪�煎墠娓呯┖琛ㄦ牸
- that.locDetlData = []
uni.request({
- url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/check/queryMatFromBarCode?barCode=" + barCode,
+ url: that.commonUrl + '/available/take/check/site',
+ method: 'POST',
header: {
- 'content-type':'application/x-www-form-urlencoded',
'token':uni.getStorageSync('token')
},
- data: {
- barCode: barCode
- },
- method:'GET',
- success(res) {
- if (res.data.code === 200) {
- that.locDetlData = res.data.data
- if (res.data.data && res.data.data.length > 0) {
- res.data.data.map(function(item){
- that.souceData.push(item)
- })
- }
- } else if (res.data.code === 403) {
- uni.navigateBack({
- delta: 1
- })
+ success(result) {
+ var res = result.data
+ if (res.code === 200) {
+ that.staNoList = res.data
+ } else if (res.code == 403) {
+ uni.showToast({title: res.msg, icon: "none", position: 'top'})
+ setTimeout(() => {
+ uni.reLaunch({
+ url: '../login/login'
+ });
+ }, 1000);
} else {
- that.messageToggle('error')
- that.messageText = res.data.msg
+ uni.showToast({title: res.msg, icon: "none",position: 'top'})
}
+ },
+ });
+ }, // getOutBound
+ getCheckDetl() { // 鑾峰彇鍑哄簱鍙h揣鐗╀俊鎭�
+ let that = this
+ uni.request({
+ url: that.commonUrl + '/mobile/checkDetl/auth',
+ method: 'POST',
+ data: {
+ staNo:that.staNo
+ },
+ header: {
+ 'token':uni.getStorageSync('token')
+ },
+ success(result) {
+ var res = result.data
+ console.log(result)
+ if (res.code === 200) {
+ console.log(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'})
+ }
+ },
+ });
+ }, // getCheckDetl
+ selectMat() { // 閫夋嫨鍟嗗搧
+ let that = this
+ uni.vibrateShort();
+ uni.navigateTo({
+ url: "matSelect",
+ events: {
+ // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�
+ acceptDataFromOpenedPage: function(data) {
+ that.matnr = data.data
+ that.findMat(that.matnr)
+ },
+ },
+ success: function(res) {
+ // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+ res.eventChannel.emit('acceptDataFromOpenerPage', {baseIP:that.baseIP, basePORT:that.basePORT })
+ }
+ });
+ that.matnr = ''
+ }, // selectMat
+ findMat() {
+ let that = this
+ uni.request({
+ url: that.commonUrl + '/mat/auth',
+ data: {
+ matnr:that.matnr
+ },
+ header: {
+ 'token':uni.getStorageSync('token')
+ },
+ success(result) {
+ uni.vibrateShort();
+ let res = result.data
+ if (res.code === 200 && res.data) {
+ that.matData = res.data
+ uni.navigateTo({
+ url: "matQuery",
+ events: {
+ // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�
+ matList: function(data) {
+ that.matList.push(data.data)
+ },
+ },
+ success: function(res) {
+ // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+ res.eventChannel.emit('matData', { data: that.matData })
+ }
+ });
+ }
+
}
- })
+ });
+ }, // findMat
+ revise(item,index) {
+ var maxCount = this.matList[index].maxCount
+ if (maxCount == undefined ) {
+ this.matList[index]["maxCount"] = item.enableQty
+ }
+ this.enableQty = item.enableQty
+ this.count = this.minCount
+ this.maxCount = item.maxCount
+ this.rowNum = index
+ this.eject()
+ },
+ remove(item,index) {
+ this.matList.splice(index,1)
+ uni.vibrateShort();
},
- // 鐐瑰嚮琛ュ厖鐨勫脊绐�
- toggle(type) {
+ eject(type) {
this.type = type
// open 鏂规硶浼犲叆鍙傛暟 绛夊悓鍦� uni-popup 缁勪欢涓婄粦瀹� type灞炴��
- this.$refs.popup.open(type)
+ this.$refs.revise.open(type)
},
- messageToggle(type) {
- this.msgType = type
- this.messageText = '鎻愬彇澶辫触'
- this.$refs.message.open()
+ change(e) {
+ // console.log('褰撳墠妯″紡锛�' + e.type + ',鐘舵�侊細' + e.show);
},
- countDom(value) {
+ changeValue() {
},
- // 鏍规嵁浜у搧ID鏌ヨ浜у搧璇︽儏
- find(){
+ confirm() {
+ this.matList[this.rowNum].anfme = this.count
+ this.$refs.revise.close()
+ },
+ resst() {
+ this.matList = []
+ this.staNo = ''
+ },
+ adjust() {
let that = this
- let thatId = that.matNo
- if(that.matNo.length===0){
- return;
- }
uni.request({
- url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/matCode/auth",
- header: {
- 'content-type':'application/x-www-form-urlencoded',
- 'token':uni.getStorageSync('token')
- },
- data: {
- id:thatId
- },
+ url: that.commonUrl + '/adjust/auth',
method: 'POST',
- success(res){
- let data = res.data.data
- if(res.data.code === 200){
- if(data != null){
- that.matName = data.matName
- that.size = data.size
- that.unit = data.unit
- }
- } else if (res.data.code ===403 ){
- uni.navigateBack({
- delta: 1
- })
- } else {
- this.messageToggle('error')
- this.messageText = res.data.msg
- }
- }
- })
- },
- // 寮圭獥 纭琛ュ厖
- confirm(){
- let that = this
- let data = {
- matNo:that.matNo,
- matName:that.matName,
- count:that.count
- }
- that.addTableData(data)
-
- },
- // 淇敼鏁伴噺
- conf(index,item){
- this.$refs.inputDialog.open()
- this.rowNum = index
- if (item.count === undefined ) {
- this.value = 0
- }
- },
- // 淇敼鏁伴噺寮圭獥
- dialogInputConfirm(value) {
- this.locDetlData[this.rowNum].count = this.value
- this.messageToggle('success')
- this.messageText = '淇敼鎴愬姛'
- },
- // 绉婚櫎鐗╂枡
- remove(index,item){
- this.locDetlData.splice(index,1)
- this.messageToggle('success')
- this.messageText = '鍒犻櫎鎴愬姛'
- },
- // 琛ㄦ牸娓叉煋
- addTableData(data){
- let that = this
- if(data.matNo.length === 0){
- that.messageToggle('error')
- that.messageText = '鎻愬彇澶辫触'
- return
- }
- var toPush = true
- for (var j = 0; j < that.locDetlData.length; j++) {
- if (data.matNo === that.locDetlData[j].matNo && data.locNo === that.locDetlData[j].locNo) {
- toPush = false;
- }
- }
- if (toPush) {
- var pushData = {
- locNo: that.locDetlData[0] ? that.locDetlData[0].locNo : null,
- matNo: data.matNo,
- count: data.count,
- matName: data.matName
- }
- that.locDetlData.push(pushData);
- }
- that.$refs.popup.close()
- },
- // 閲嶇疆
- reset(){
- this.billNo = ''
- this.locDetlData = []
- },
- check(){
- let that = this
- if(that.billNo.length === 0) {
- that.messageToggle('error')
- that.messageText = '璇� 鎵爜 / 杈撳叆 鎵樼洏鐮�'
- return
- }
- if(that.billNo.length < 8) {
- that.messageToggle('error')
- that.messageText = '鎵樼洏鐮佸繀椤讳负8浣�'
- return
- }
- if(that.locDetlData.length > 0) {
- for(var i = 0; i < that.locDetlData.length; i++){
- if (that.locDetlData[i].count === null || that.locDetlData[i].count === 0 ||
- that.locDetlData[i].count === undefined) {
- that.messageToggle('error')
- that.messageText = that.locDetlData[i].matNo + '鍟嗗搧鏁伴噺閿欒'
- return
- }
- }
- }
- if (that.locDetlData.length > 0) {
- that.locDetlData.map(function (item) {
- that.checkList.push({
- locNo: item.locNo,
- matNo: item.matNo,
- checkQty: item.count,
- itemBatch: item.itemBatch
- });
- });
- }
- if (that.souceData.length > 0) {
- that.souceData.map(function (item) {
- that.sourceList.push({
- locNo: item.locNo,
- matNo: item.matNo,
- count: item.count,
- itemBatch: item.itemBatch
- });
- });
- }
- // this.noTitlemodalTap()
- uni.request({
- url: that.baseHttp + that.baseIP + ':' +that.basePORT + that.baseUrl + "/mobile/stock/check",
+ data: {
+ combParam: that.matList
+ },
header: {
'token':uni.getStorageSync('token')
},
- data: JSON.stringify({
- checkList: that.checkList
- }),
- method:'POST',
- async:false,
- success(res){
- if(res.data.code === 200){
- that.reset();
- that.messageToggle('success')
- that.messageText = '鐩樼偣鎴愬姛'
- } else if (res.data.code === 403) {
- uni.navigateBack({
- delta: 1
- })
+ success(result) {
+ var res = result.data
+ console.log(result)
+ if (res.code === 200) {
+
+ } else if (res.code == 403) {
+ uni.showToast({title: res.msg, icon: "none", position: 'top'})
+ setTimeout(() => {
+ uni.reLaunch({
+ url: '../login/login'
+ });
+ }, 1000);
} else {
- that.messageToggle('error')
- that.messageText = res.data.msg
+ uni.showToast({title: res.msg, icon: "none",position: 'top'})
}
- }
- })
- },
- noTitlemodalTap: function (e) {
- uni.showModal({
- content: "鏄惁纭鐩樼偣",
- confirmText: "鏄�",
- cancelText: "鍚�"
- })
-
+ },
+ });
}
- }
- }
+ } // methods
+ } // exprot
</script>
-
<style>
+ .pak-seach-box {
+ background-color: #FFFFFF;
+ margin: 15rpx 15rpx 0rpx 15rpx;
+ width: 96%;
+ height: 200rpx;
+ border-radius: 20rpx;
+ }
+ .box-top{
+ display: block;
+ height: 80rpx;
+ width: 720rpx;
+ }
+ .color-block-blue {
+ background-color: #1E9FFF;
+ display: inline-block;
+ float: left;
+ margin: 30rpx 15rpx 0 15rpx;
+ width: 12rpx;
+ height: 40rpx;
+ border: 5rpx solid #1E9FFF;
+ border-radius: 20rpx;
+ }
+ .title {
+ display: inline-block;
+ float: left;
+ font-size: 34rpx;
+ font-weight: 700;
+ height: 50rpx;
+ line-height: 80rpx;
+ margin-top: 10rpx;
+ }
+ .item {
+ text-indent: 1em;
+ font-size: 16px;
+ display: inline-block;
+ margin-top: 40rpx;
+ }
+ .example-body {
+ position: fixed;
+ display: inline-block;
+ margin-top: 3.5%;
+ margin-left: 5%;
+ width: 70%;
+ z-index: 999;
+ }
-</style>
+ .pak-data-box {
+ background-color: #F1F1F1;
+ margin: 15rpx 15rpx 0rpx 15rpx;
+ width: 96%;
+ height: 100rpx;
+ border-radius: 20rpx;
+ line-height: 100rpx;
+ }
+ .pak-data-box>.box-top {
+ background-color: #FFFFFF;
+ height: 100rpx;
+ border-radius: 20rpx 20rpx 20rpx 20rpx;
+ }
+ .pak-data-box button {
+ background-color: #1E9FFF;
+ color: #ffffff;
+ display: inline-block;
+ float: right;
+ width: 150rpx;
+ height: 80rpx;
+ margin: 10rpx 25rpx 0rpx 0rpx;
+ line-height: 80rpx;
+ }
+ .bg-false {
+ background-color: #FFFFFF;
+ }
+ .bg-true {
+ background-color: #ebebeb;
+ }
+ .data-list {
+ border-bottom: 1px solid #d8d8d8;
+ height: 180rpx;
+ margin: 15rpx;
+ border-radius: 20rpx;
+ }
+ .data-list:first-child {
+ margin-top: 20rpx;
+ }
+ .data-list:last-child {
+ margin-bottom: 160rpx;
+ }
+ .data-list-left {
+ display: inline-block;
+ float: left;
+ margin-left: 6%;
+ height: 180rpx;
+ color: #676767;
+ }
+ .matnr {
+ padding-top: 10rpx;
+ }
+ .data-list-right {
+ display: inline-block;
+ float: right;
+ width: 200rpx;
+ height: 180rpx;
+ line-height: 180rpx;
+ }
+ .data-list-right label {
+ display: inline-block;
+ float: left;
+ width: 100rpx;
+ height: 180rpx;
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.1