<template>
|
<el-dialog :visible.sync="isShow" :title="title" width="900px" :modal-append-to-body="false"
|
:close-on-click-modal="false">
|
<div class="msg-info-dialog-style">
|
<div class="info-h-top">
|
<div class="info-h-left">
|
<span>分配流水号:</span>
|
<span>{{operItem.promotionId}}</span>
|
</div>
|
<div class="info-h-right">
|
<span>总数量:</span>
|
<span>{{totalCount}}</span>
|
</div>
|
</div>
|
<list-condition-template ref="table" v-loading="loading"
|
element-loading-custom-class="customLoading" :tableData="tableData"
|
:total="total" :indexColumn="false" :isShowPage="false">
|
<!-- 表格区域 -->
|
<template slot="columns">
|
<el-table-column label="仓库编码" prop="storageCode" width="120px" show-overflow-tooltip>
|
</el-table-column>
|
<el-table-column label="仓库名称" prop="storageName" min-width="200px" show-overflow-tooltip>
|
</el-table-column>
|
<el-table-column label="商品主编码" prop="spuNum" width="150px" show-overflow-tooltip>
|
</el-table-column>
|
<el-table-column label="产品名称" prop="spuName" min-width="200px" show-overflow-tooltip>
|
</el-table-column>
|
<el-table-column label="计量单位" prop="unit" width="100px"></el-table-column>
|
<el-table-column label="分配数量" prop="stock" width="100px" show-overflow-tooltip>
|
</el-table-column>
|
</template>
|
</list-condition-template>
|
<div class="memo-style" v-if="getInfo && getInfo.remark">
|
<span>备注:</span>
|
<span>{{getInfo.remark}}</span>
|
</div>
|
</div>
|
<div slot="footer" class="dialog-footer" style="text-align:center;">
|
<el-button size="medium" type="primary" @click="handleAllot">去分配</el-button>
|
</div>
|
</el-dialog>
|
</template>
|
|
<script>
|
import commodityStocksApi from '@/api/stockManagement/commodityStocks'
|
export default {
|
name: 'msgInfoDialog',
|
props: {
|
dialogVisible: {
|
type: Boolean,
|
default: false
|
},
|
title: {
|
type: String,
|
default: ''
|
},
|
/**
|
* 选中项数据
|
*/
|
operItem: {
|
type: Object,
|
default: function() {
|
return {}
|
}
|
},
|
},
|
data() {
|
return {
|
isShow: false,
|
tableData: [],
|
total: 0,
|
totalCount: 0, // 统计总数量
|
loading: false,
|
}
|
},
|
computed: {
|
getInfo() {
|
const obj = this.tableData && this.tableData.length > 0 ? this.tableData[0] : null;
|
return obj;
|
}
|
},
|
watch: {
|
/**
|
* 监控外部显示变量变化
|
* 传递到dialog组件
|
*/
|
dialogVisible: function(newShow, oldShow) {
|
this.isShow = newShow;
|
if (this.isShow) {
|
this.queryList()
|
}
|
},
|
/**
|
* 监控内部显示属性变化
|
* 传递到外部调用变量
|
*/
|
isShow: function(newDialogShow, oldDialogShow) {
|
this.$emit('update:dialogVisible', newDialogShow)
|
if (!newDialogShow) {
|
this.$emit('close')
|
}
|
},
|
},
|
methods: {
|
/**
|
* 查询列表
|
*/
|
async queryList() {
|
const pageParams = {
|
code: this.operItem.promotionId
|
}
|
this.totalCount = 0;
|
this.loading = true;
|
const res = await commodityStocksApi.getIncomingWaterList(pageParams);
|
if (res.code === '200') {
|
this.tableData = res.data.records;
|
this.tableData.forEach((item) => {
|
this.totalCount += Number(item.stock);
|
})
|
this.total = res.data.total;
|
this.loading = false;
|
} else {
|
this.loading = false;
|
}
|
},
|
handleAllot() {
|
this.$emit('handleInventory')
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss">
|
.msg-info-dialog-style {
|
.info-h-top {
|
overflow: hidden;
|
padding: 0 3px;
|
.info-h-right {
|
float: right;
|
}
|
.info-h-left,
|
.info-h-right {
|
display: inline-block;
|
}
|
}
|
.main-b-style {
|
padding: 0 !important;
|
}
|
.memo-style {
|
padding: 15px 0;
|
}
|
}
|
</style>
|