123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278 |
- <template>
- <view class="content flex flex_column">
- <view class="head-info" v-if="detail">
- <view>
- <text>货架名称</text>
- <view>{{detail.shelfName}}</view>
- </view>
- <view>
- <text>盘点日期</text>
- <view>{{detail.checkDate}}</view>
- </view>
- <view>
- <text>盘点人</text>
- <view>{{detail.checkPersonName}}</view>
- </view>
- <view>
- <text>备注</text>
- <view>
- <u-input v-if="type=='submit'" v-model="remarks" placeholder="请输入备注" input-align="right" type="textarea" :height="60" :auto-height="true" />
- <text v-else>{{detail.remarks}}</text>
- </view>
- </view>
- </view>
- <view class="detail flex_1">
- <view class="detail-tongji" v-if="detail">
- <view>盘盈总数量:<text>{{detail.totalProfitQty}}</text>;盘盈总金额:<text>{{detail.totalProfitCost}}</text>;</view>
- <view>盘亏总数量:<text>{{detail.totalLossQty}}</text>;盘亏总金额:<text>{{detail.totalLossCost}}</text>;</view>
- <view>盈亏总数量:<text>{{detail.totalProfitLossQty}}</text>;盈亏总金额:<text>{{detail.totalProfitLossCost}}</text>;</view>
- </view>
- <view class="cpb_cart-list">
- <view class="nav-right-item flex" v-for="(item, index) in chooseList" :key="item.id" >
- <view class="uni-col-2">
- <u-image :src="item.product&&item.product.images?item.product.images:`../../static/${$config('themePath')}/def_img@2x.png`" width="100" height="100" border-radius="30"></u-image>
- </view>
- <view class="item-info uni-col-10">
- <view class="item-name">
- <text>{{item.shelfPlaceCode}}</text>
- {{item.productCode}}
- </view>
- <view class="item-detail">
- <view class="item-detail-info">
- <view class="flex justify_between">
- <view>
- <text class="item-detail-text">
- 可用:
- </text>
- {{item.stockQty||0}}
- </view>
- <view>
- <text class="item-detail-text">
- 冻结:
- </text>
- {{item.freezeQty||0}}
- </view>
- <view>
- <text class="item-detail-text">
- 实际可用:
- </text>
- <text class="red">
- {{item.checkQty||0}}
- </text>
- </view>
- </view>
- <view class="flex justify_between">
- <view>
- <text class="item-detail-text">
- 结算价:
- </text>
- ¥{{item.cost||0}}
- </view>
- <view>
- <text class="item-detail-text">
- 盈亏:
- </text>
- {{item.checkProfitLossQty||0}}
- (¥{{item.checkProfitLossCost||0}})
- </view>
- </view>
- </view>
- </view>
- </view>
- </view>
- </view>
- </view>
- <!-- 底部栏 -->
- <view class="footer-bar flex justify_between align_center" v-if="type=='submit'">
- <u-button size="medium" @click="goback" shape="circle" type="default" hover-class="none" >继续盘点</u-button>
- <u-button size="medium" @click="submitOrder" :custom-style="customBtnStyle" shape="circle" type="primary" hover-class="none" >盘点完成</u-button>
- </view>
- <!-- 确认弹框 -->
- <common-modal v-if="confirmModal" :openModal="confirmModal" :content="errorMsg" confirmText="知道了" @confirm="confirmModal=false" @close="confirmModal=false" />
- </view>
- </template>
- <script>
- import {
- stockCheckDetailQueryList,
- stockCheckBySn,
- stockCheckConfirm
- } from '@/api/stockCheck'
- import commonModal from '@/pages/common/commonModal'
- import { clzConfirm } from '@/libs/tools'
- export default {
- components: {
- commonModal
- },
- data() {
- return {
- customBtnStyle: { // 自定义按钮样式
- borderColor: this.$config('primaryColor'),
- backgroundColor: this.$config('primaryColor'),
- color: '#fff'
- },
- stockCheckSn: null,
- remarks: '',
- detail: null,
- chooseList: [],
- type: '',
- errorMsg: '',
- confirmModal: false
- }
- },
- onLoad(opts) {
- this.stockCheckSn = opts.stockCheckSn
- this.type = opts.type
- this.getDetail()
- this.getChooseList()
- if(this.type == 'view'){
- uni.setNavigationBarTitle({
- title: '盘点单详情'
- })
- }
- },
- methods: {
- // 详细
- getDetail(){
- stockCheckBySn({stockCheckSn: this.stockCheckSn}).then(res => {
- this.detail = res.data || null
- })
- },
- // 获取盘点明细列表
- getChooseList(){
- stockCheckDetailQueryList({
- stockCheckSn: this.stockCheckSn
- }).then(res => {
- this.chooseList = res.data || []
- })
- },
- // 盘点完成
- submitOrder(){
- const _this = this
- clzConfirm({
- title: '提示',
- content: '盘点完成后,无法再修改数据,确认盘点完成吗?',
- success (ret) {
- if (ret.confirm || ret.index == 0) {
- uni.showLoading({
- title:"正在提交.."
- })
- stockCheckConfirm({
- remarks: _this.remarks,
- stockCheckSn: _this.stockCheckSn
- }).then(res => {
- console.log(res)
- if(res.status == 200 && res.data){
- _this.goback()
- uni.$emit("resetStockCheck")
- uni.showToast({
- icon:'none',
- title: res.message
- })
- }else{
- if(res.errCode == 'VALIDATE_STOCK_LACK'){
- this.errorMsg = res.message
- this.confirmModal = true
- }
- }
- uni.hideLoading()
- })
- }
- }
- })
- },
- goback(){
- uni.navigateBack()
- }
- }
- }
- </script>
- <style lang="less">
- .content{
- width:100%;
- height: 100vh;
- background-color: #fff;
- .head-info{
- padding: 0 30upx;
- > view{
- display: flex;
- justify-content: space-between;
- padding: 15upx 10upx;
- color:#666;
- > text{
- color: #999;
- width: 150rpx;
- }
- border-bottom:2rpx solid #f8f8f8;
- > view{
- width: 80%;
- text-align: right;
- word-break: break-all;
- }
- }
- }
- .detail{
- flex-grow: 1;
- overflow: auto;
- .detail-tongji{
- padding: 15upx 30upx;
- > view{
- padding: 10upx;
- color:#999;
- text{
- color: #666;
- }
- }
- border-top:10rpx solid #f8f8f8;
- border-bottom:10rpx solid #f8f8f8;
- }
- }
- .cpb_cart-list{
- padding: 10upx 30upx;
- > view{
- border-bottom:2rpx solid #f8f8f8;
- padding: 15upx 0;
- }
- .item-name{
- font-size: 30rpx;
- text{
- background: #eef6ff;
- color: #174b76;
- border-radius: 1em;
- font-size: 0.8em;
- padding: 0 0.5em;
- margin-right: 10upx;
- }
- margin-bottom: 10upx;
- }
- .item-info{
- flex-grow: 1;
- padding-left: 0.2em;
- }
- .item-detail{
- .item-detail-info{
- padding: 10upx 0 4upx;
- font-size: 24upx;
- > view{
- padding-bottom: 10rpx;
- align-items: center;
- .item-detail-text{
- color: #999;
- }
- .red{
- color: red;
- }
- }
- }
- }
- }
- .footer-bar{
- background-color: #f8f8f8;
- padding: 20upx;
- button{
- width: 300upx;
- }
- }
- }
- </style>
|