From f26f29d84e0a68831a6af14dab3eec5500496d2e Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期三, 28 五月 2025 16:48:52 +0800 Subject: [PATCH] 初始化项目 --- pages/product/outputRegister/productInList.vue | 293 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 293 insertions(+), 0 deletions(-) diff --git a/pages/product/outputRegister/productInList.vue b/pages/product/outputRegister/productInList.vue new file mode 100644 index 0000000..0aeab44 --- /dev/null +++ b/pages/product/outputRegister/productInList.vue @@ -0,0 +1,293 @@ +<template> + <view class="wrap"> + <scroll-view class="scroll-list proudct-in-list" scroll-y="true"> + <u-cell-group class="list proudct-in-list-cell" :border="false"> + <u-card :title="item.partNo" :sub-title="item.partNo" v-for="(item, index) in list" :key="item.id" + :index="item.id" :showHead="showCardHead"> + <view slot="body"> + <view class="item u-border-bottom"> + <view> + <view style="text-align: right;"> + <u-button v-show="item.id==null" type="success" text="淇濆瓨" size="mini" + @click.stop="saveProductIn(item)">淇濆瓨</u-button> + <u-button v-show="item.id!=null" type="primary" text="鏇存柊" size="mini" + @click.stop="updateProductIn(item)">鏇存柊</u-button> + <u-button type="error" text="鍒犻櫎" size="mini" :customStyle="{marginLeft:'20rpx'}" + @click.stop="deleteProductIn(index,item)">鍒犻櫎</u-button> + </view> + </view> + <view> + <view class="row-list"> + <u-row justify="space-between"> + <u-col span="4"> + <span class="span-lable">鎶ュ伐鍗曞彿</span> + </u-col> + <u-col span="8"> + <view> + <span>{{item.productNo}}</span> + </view> + </u-col> + </u-row> + </view> + <view class="row-list"> + <u-row justify="space-between"> + <u-col span="4"> + <span class="span-lable">SN鍙�</span> + </u-col> + <u-col span="8"> + <view> + <span>{{item.partBatchNo}}</span> + + </view> + </u-col> + </u-row> + </view> + + <view class="row-list"> + <u-row justify="space-between"> + <u-col span="4"> + <span class="span-lable">闆朵欢缂栧彿</span> + </u-col> + <u-col span="8"> + <view> + <span>{{item.partNo}}</span> + </view> + </u-col> + </u-row> + </view> + <view class="row-list"> + <u-row justify="space-between"> + <u-col span="4"> + <span class="span-lable">闆朵欢鍚嶇О</span> + </u-col> + <u-col span="8"> + <view> + <span>{{item.partName}}</span> + </view> + </u-col> + </u-row> + </view> + <view class="row-list"> + <u-row justify="space-between"> + <u-col span="4"> + <span class="span-lable">IFS鎵规鍙�</span> + </u-col> + <u-col span="8"> + <view> + <span>{{item.ifsBatchNo}}</span> + </view> + </u-col> + </u-row> + </view> + <view class="row-list"> + <u-row justify="space-between"> + <u-col span="4"> + <span class="span-lable">鎶曞叆鏁伴噺</span> + </u-col> + <u-col span="8"> + <view> + <u-input class="custom-edit-input" v-model="item.inputQuantity" + type="text" :clearable=false height="50"> + </u-input> + </view> + </u-col> + </u-row> + </view> + <view class="row-list"> + <u-row justify="space-between"> + <u-col span="4"> + <span class="span-lable">鍗曚綅</span> + </u-col> + <u-col span="8"> + <view> + + <span>{{item.unit}}</span> + </view> + </u-col> + </u-row> + </view> + </view> + </view> + </view> + + </u-card> + </u-cell-group> + </scroll-view> + <view class="view-fixed-two" style="width: 750rpx;text-align: center;"> + <u-button type="success" text="鎶曞叆" size="medium" :customStyle="{borderRadius:'0rpx'}" @click="openFeed()">鎶曞叆 + </u-button> + </view> + </view> +</template> +<script> + export default { + data() { + return { + showCardHead: false, + list: [], + currId: null, + workstationId: null, + productMainId: null, + productNo: null + }; + }, + onLoad(params) { + if (params && params.id !== "undefined") { + this.currId = params.id + this.workstationId = params.workstationId + this.productMainId = params.productMainId + this.productNo = params.productNo + this.loadList(); + } + }, + onShow() { + + }, + methods: { + updateProductIn(item) { + if (item.inputQuantity != null && item.inputQuantity.trim != '') { + let updateParam = { + id: item.id, + inputQuantity: item.inputQuantity + } + + this.$u.api.outputRegister.updateProductInput(updateParam).then(res => { + let _code = res.code + let _data = res.data + let _msg = res.msg + if (_code === 0) { + this.$u.toast(`鏇存柊鎶曞叆鎴愬姛`); + this.search('') + } else { + this.$u.toast('鏇存柊鎶曞叆澶辫触'); + } + + }); + } else { + this.$u.toast('鎶曞叆涓嶈兘涓虹┖'); + } + }, + deleteProductIn(index, item) { + if (item.id != null) { + // 鍒欓渶璋冪敤鍚庡彴鍒犻櫎骞跺垹闄ゅ墠绔姇鍏� + let delParam = { + id: item.id + } + this.$u.api.outputRegister.deleteProductInputById(delParam).then(res => { + let _code = res.code + let _data = res.data + let _msg = res.msg + if (_code === 0) { + this.list.splice(index, 1) + this.$u.toast('鍒犻櫎鎶曞叆鎴愬姛'); + this.search('') + } else { + this.$u.toast('鍒犻櫎鎶曞叆澶辫触'); + } + }); + } else { + // 鍒犻櫎鍓嶇鎶曞叆 + this.list.splice(index, 1) + this.$message.success('鍒犻櫎鎶曞叆鎴愬姛') + } + }, + openFeed() { + uni.navigateTo({ + url: '/pages/product/outputRegister/workstationFeedList?workstationId=' + this.workstationId, + }) + }, + selectWorkstationFeed(selectedFeedList) { + if (selectedFeedList != null && selectedFeedList.length > 0) { + for (let i = 0; i < selectedFeedList.length; i++) { + this.addProductIn(selectedFeedList[i]) + } + } + }, + addProductIn(inPartInfo) { + let productInput = {} + productInput.id = null + productInput.stockId = inPartInfo.id + productInput.inputQuantity = null + productInput.productMainId = this.productMainId + productInput.productNo = this.productNo + productInput.partNo = inPartInfo.partNo + productInput.partName = inPartInfo.partName + productInput.partDescription = null + productInput.unit = inPartInfo.unit + productInput.partBatchNo = inPartInfo.partBatchNo + productInput.ifsBatchNo = inPartInfo.ifsBatchNo + this.list.push(productInput) + }, + saveProductIn(item) { + if (item.inputQuantity != null && item.inputQuantity.trim != '') { + let saveParam = { + stockId: item.stockId, + productMainId: item.productMainId, + inputQuantity: item.inputQuantity + } + this.$u.api.outputRegister.saveProductInput(saveParam).then(res => { + let _code = res.code + let _data = res.data + let _msg = res.msg + //淇濆瓨鏄庣粏鎴愬姛鏃� + if (_code === 0) { + this.$u.toast('娣诲姞鎶曞叆鎴愬姛'); + item.id = _data + this.search('') + } else { + this.$u.toast('娣诲姞鎶曞叆澶辫触'); + } + }); + } else { + this.$u.toast('鎶曞叆涓嶈兘涓虹┖'); + } + }, + loadList() { + let queryParam = { + id: this.currId + } + this.$u.api.outputRegister.queryProductMainDetail(queryParam).then(res => { + let _code = res.code + let _data = res.data + let _msg = res.msg + if (_code === 0) { + this.list = _data.productInputList + } else { + this.list = [] + } + }); + }, + search(value) { + this.list = []; + this.$nextTick(() => { + this.loadList(); + }) + } + } + }; +</script> +<style lang="scss"> + .custom-edit-input { + border-bottom: 2rpx solid #F8F8F8; + } + + .list .content { + font-size: 12px; + background-color: #efefef; + box-sizing: border-box; + border-radius: 14rpx; + margin: 8px; + padding: 5px 10px; + box-shadow: none; + } + + .proudct-in-list { + background-color: #F8F8F8; + } + + .proudct-in-list-cell { + ::v-deep .u-cell-item-box { + background-color: #F8F8F8; + } + } +</style> -- Gitblit v1.9.3