现场 wms 字段显示修改

This commit is contained in:
liuhanqing
2026-01-04 11:00:18 +08:00
parent 6b56e5f2ad
commit b80ec1a6b9
46 changed files with 2511 additions and 2732 deletions

View File

@@ -0,0 +1,260 @@
<template>
<view class="container">
<view class="form card">
<view class="field">
<text class="input-label">仓库选择</text>
<uni-data-select
v-model="selectedWarehouseId"
:localdata="warehouseOptions"
placeholder="请选择仓库"
class="select-input"
/>
</view>
<view class="field">
<text class="label">托盘条码</text>
<uni-easyinput ref="trayInput" v-model="trayCode" @input="onTrayInput" placeholder="请输入托盘条码" :disabled="loadingTray" :clearable="true">
<template #right>
<text class="scan-icon" @click="handleScanTray">📷</text>
</template>
</uni-easyinput>
</view>
<view class="field">
<text class="label">物料条码</text>
<uni-easyinput v-model="materialCode" @input="onMaterialInput" placeholder="请输入物料条码" :clearable="true">
<template #right>
<text class="scan-icon" @click="handleScanMaterial">📷</text>
</template>
</uni-easyinput>
</view>
</view>
<view class="tray-info card" v-if="trayMaterials.length">
<text class="section-title">托盘已绑定物料</text>
<view class="list">
<view class="item" v-for="(m, idx) in trayMaterials" :key="idx">
<view class="item-header">
<text class="name">{{ m.productName || '未知物料' }}</text>
<text class="qty-tag">× {{ m.quantity }}</text>
</view>
<!-- <text class="meta">编码:{{ m.productId}}</text> -->
</view>
</view>
</view>
<view class="tray-info card" v-else>
<text class="section-title">托盘已绑定物料</text>
<view class="empty">暂无数据</view>
</view>
<uni-popup ref="detailPopup" type="bottom">
<view class="popup">
<text class="popup-title">物料详情</text>
<view v-if="materialDetail">
<view class="row"><text class="row-label">物料名称</text><text class="row-value">{{ materialDetail.productName }}</text></view>
<view class="row"><text class="row-label">物料编码</text><text class="row-value">{{ materialDetail.productId }}</text></view>
<view class="row"><text class="row-label">可用数量</text><text class="row-value">{{ materialDetail.quantity }}</text></view>
<view class="row">
<text class="row-label">绑定数量</text>
<uni-easyinput v-model="bindQty" type="number" placeholder="输入数量" />
</view>
<view class="actions">
<button class="btn primary" @click="handleBindTray" :disabled="isBinding">绑定托盘</button>
<button class="btn secondary" @click="closePopup">取消</button>
</view>
</view>
</view>
</uni-popup>
<!-- 页脚操作区:确认入库 -->
<view class="footer-actions">
<button class="confirm-btn" @click="handleConfirmIn" :disabled="!trayCode || isConfirming">
{{ isConfirming ? '入库中...' : '确认入库' }}
</button>
</view>
</view>
</template>
<script>
import { getTrayInfo, bindTray, getOrderGoods, addInJob } from '@/api/in/order.js'
export default {
data() {
return {
trayCode: '',
materialCode: '',
trayMaterials: [],
loadingTray: false,
materialDetail: null,
bindQty: null,
isBinding: false,
// 入库确认相关
isConfirming: false,
selectedEntrance: '',
warehouseOptions:[
{ value: '01', text: '仓库1' },
{ value: '02', text: '仓库2' }
],
selectedWarehouseId:""
}
},
methods: {
mapTrayMaterials(res) {
const list = Array.isArray(res.data) ? res.data : (Array.isArray(res.rows) ? res.rows : (res.data.rows || []))
return list.map(item => ({
productId: item.productId ,
materialDesc: item.productName ,
quantity: item.quantity,
}))
},
async onTrayInput(val) {
this.trayCode = String(val || '').trim()
if (!this.trayCode) { this.trayMaterials = []; return }
try {
this.loadingTray = true
const res = await getTrayInfo(this.trayCode)
this.trayMaterials = res.data
} catch (e) {
console.error('getTrayInfo error', e)
uni.showToast({ title: '查询托盘失败', icon: 'none' })
} finally {
this.loadingTray = false
}
},
// 确认入库
async handleConfirmIn() {
if (!this.trayCode) {
uni.showToast({ title: '请先输入托盘条码', icon: 'none' })
return
}
if (!this.selectedWarehouseId) {
uni.showToast({ title: '请选择仓库', icon: 'none' })
return
}
try {
this.isConfirming = true
const payload = {
trayCode: this.trayCode,
warehouseId:this.selectedWarehouseId
}
const resp = await addInJob(payload)
if (resp && resp.code === 200) {
uni.showToast({ title: '入库成功', icon: 'success' })
// 清空托盘与列表,便于下一次操作
this.trayCode = ''
this.trayMaterials = []
} else {
uni.showToast({ title: (resp && resp.msg) || '入库失败', icon: 'none' })
}
} catch (e) {
console.error('addInJob error', e)
uni.showToast({ title: '入库失败', icon: 'none' })
} finally {
this.isConfirming = false
}
},
extractMaterialDetail(res) {
const pickFirst = (r) => {
if (Array.isArray(r)) return r[0]
if (Array.isArray(r?.rows)) return r.rows[0]
if (Array.isArray(r?.data)) return r.data[0]
if (Array.isArray(r?.data?.rows)) return r.data.rows[0]
return r
}
const raw = pickFirst(res)
if (!raw) return null
return {
stockinDetailId: raw.stockinDetailId || raw.id || raw.detailId,
productName: raw.productName || raw.materialName || raw.extraField?.materialDesc || '',
productId: raw.productId || raw.materialId || raw.productCode || raw.extraField?.productId || '',
quantity: raw.quantity ?? raw.availableQty ?? raw.inQuantity ?? 0,
}
},
async onMaterialInput(val) {
this.materialCode = String(val || '').trim()
if (!this.materialCode) return
try {
const res = await getOrderGoods({ stockinDetailId: this.materialCode })
const detail = res.data
if (!detail) {
uni.showToast({ title: '未找到物料信息', icon: 'none' })
return
}
this.materialDetail = detail
this.bindQty = detail.quantityX
this.$refs.detailPopup.open()
} catch (e) {
console.error('get material detail error', e)
uni.showToast({ title: '查询物料失败', icon: 'none' })
}
},
async handleBindTray() {
if (!this.trayCode) { uni.showToast({ title: '请先输入托盘条码', icon: 'none' }); return }
if (!this.materialDetail?.stockinDetailId) { uni.showToast({ title: '物料信息缺失', icon: 'none' }); return }
try {
this.isBinding = true
const payload = { trayCode: this.trayCode, stockinDetailId: this.materialCode, inQuantity: this.bindQty }
const resp = await bindTray(payload)
if (resp.code === 200) {
uni.showToast({ title: '绑定成功', icon: 'success' })
this.$refs.detailPopup.close()
this.materialCode = ''
await this.onTrayInput(this.trayCode)
} else {
uni.showToast({ title: resp.msg || '绑定失败', icon: 'none' })
}
} catch (e) {
console.error('bindTray error', e)
uni.showToast({ title: resp.msg, icon: 'none' })
} finally {
this.isBinding = false
}
},
closePopup() { this.$refs.detailPopup.close() },
handleScanTray() {
uni.scanCode({
success: (res) => {
this.trayCode = res.result || ''
this.onTrayInput(this.trayCode)
}
})
},
handleScanMaterial() {
uni.scanCode({
success: (res) => {
this.materialCode = res.result || ''
this.onMaterialInput(this.materialCode)
}
})
}
}
}
</script>
<style>
.container { padding: 12px; background: #f6f7fb; min-height: 100vh; }
.card { background: #fff; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,0.06); padding: 12px; margin-bottom: 12px; }
.form { display: flex; flex-direction: column; gap: 12px; }
.field { display: flex; flex-direction: column; gap: 6px; }
.label { color: #666; font-size: 12px; }
.scan-icon { font-size: 16px; padding: 0 8px; color: #2979ff; }
.section-title { font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.list { margin-top: 4px; display: flex; flex-direction: column; gap: 10px; }
.item { padding: 10px; border: 1px solid #eee; border-radius: 8px; }
.item-header { display: flex; justify-content: space-between; align-items: center; }
.name { font-size: 14px; color: #333; }
.qty-tag { background: #eef3ff; color: #2979ff; padding: 2px 6px; border-radius: 12px; font-size: 12px; }
.meta { color: #888; font-size: 12px; margin-top: 6px; }
.empty { color: #999; font-size: 12px; padding: 12px; text-align: center; }
.popup { padding: 16px; background: #fff; border-top-left-radius: 12px; border-top-right-radius: 12px; }
.popup-title { font-weight: 600; font-size: 16px; margin-bottom: 10px; }
.row { margin: 8px 0; display: flex; justify-content: space-between; }
.row-label { color: #666; }
.row-value { color: #333; }
.actions { display: flex; gap: 10px; margin-top: 12px; }
.btn { flex: 1; padding: 10px; border-radius: 8px; }
.primary { background: #2979ff; color: #fff; }
.secondary { background: #f1f1f1; color: #333; }
/* 页脚操作区 */
.footer-actions { position: fixed; left: 0; right: 0; bottom: 0; padding: 10px 12px; background: #fff; box-shadow: 0 -2px 10px rgba(0,0,0,0.06); }
.confirm-btn { width: 100%; padding: 12px; border-radius: 8px; background: #07c160; color: #fff; font-size: 16px; }
</style>

View File

@@ -0,0 +1,288 @@
<template>
<view class="container">
<view class="form card">
<view class="field">
<text class="label">托盘条码</text>
<uni-easyinput ref="trayInput" v-model="trayCode" @input="onTrayInput" placeholder="请输入托盘条码" :disabled="loadingTray" :clearable="true" >
<template #right>
<text class="scan-icon" @click="handleScanTray">📷</text>
</template>
</uni-easyinput>
</view>
<view class="field">
<text class="label">物料条码</text>
<uni-easyinput v-model="materialCode" @input="onMaterialInput" placeholder="请输入物料条码" :clearable="true">
<template #right>
<text class="scan-icon" @click="handleScanMaterial">📷</text>
</template>
</uni-easyinput>
</view>
<view class="field">
<text class="input-label">仓库</text>
<uni-data-select
v-model="warehouseId"
:localdata="warehouseList"
:clear="false"
placeholder="请选择仓库"
/>
</view>
</view>
<view class="tray-info card" v-if="trayMaterials.length">
<text class="section-title">托盘已绑定物料</text>
<view class="list">
<view class="item" v-for="(m, idx) in trayMaterials" :key="idx">
<view class="item-header">
<text class="name">{{ m.productName || '未知物料' }}</text>
<text class="qty-tag">× {{ m.quantity }}</text>
</view>
<!-- <text class="meta">编码:{{ m.productId}}</text> -->
</view>
</view>
</view>
<view class="tray-info card" v-else>
<text class="section-title">托盘已绑定物料</text>
<view class="empty">暂无数据</view>
</view>
<uni-popup ref="detailPopup" type="bottom">
<view class="popup">
<text class="popup-title">物料详情</text>
<view v-if="materialDetail">
<view class="row"><text class="row-label">物料名称</text><text class="row-value">{{ materialDetail.productName }}</text></view>
<view class="row"><text class="row-label">物料编码</text><text class="row-value">{{ materialDetail.productId }}</text></view>
<view class="row"><text class="row-label">可用数量</text><text class="row-value">{{ materialDetail.quantity }}</text></view>
<view class="row">
<text class="row-label">绑定数量</text>
<uni-easyinput v-model="bindQty" type="number" placeholder="输入数量" />
</view>
<view class="actions">
<button class="btn primary" @click="handleBindTray" :disabled="isBinding">绑定托盘</button>
<button class="btn secondary" @click="closePopup">取消</button>
</view>
</view>
</view>
</uni-popup>
<!-- 页脚操作区:确认入库 -->
<view class="footer-actions">
<button class="confirm-btn" @click="handleConfirmIn" :disabled="!trayCode || isConfirming">
{{ isConfirming ? '入库中...' : '确认入库' }}
</button>
</view>
</view>
</template>
<script>
import { getTrayInfo, bindTray, getOrderGoods, addInJobpk } from '@/api/in/order.js'
import { getBasWarehouList } from '@/api/bas/bas.js'
export default {
data() {
return {
trayCode: '',
materialCode: '',
warehouseId:'',
warehouseList: [],
trayMaterials: [],
loadingTray: false,
materialDetail: null,
bindQty: null,
isBinding: false,
// 入库确认相关
isConfirming: false,
selectedEntrance: ''
}
},
onReady() {
// 获取仓库列表
this.getWarehouseList()
},
methods: {
// 获取仓库列表
async getWarehouseList() {
try {
const response = await getBasWarehouList({
pageNum:1,
pageSize:100,
warehouseType:2
})
if (response.code === 200) {
this.warehouseList = response.rows.map(item => ({
value: item.warehouseId,
text: item.warehouseName
// type: item.warehouseType
}))
}
} catch (error) {
console.error('获取仓库列表失败:', error)
uni.showToast({
title: '获取仓库列表失败',
icon: 'none'
})
}
},
mapTrayMaterials(res) {
const list = Array.isArray(res.data) ? res.data : (Array.isArray(res.rows) ? res.rows : (res.data.rows || []))
return list.map(item => ({
productId: item.productId ,
materialDesc: item.productName ,
quantity: item.quantity,
}))
},
async onTrayInput(val) {
this.trayCode = String(val || '').trim()
if (!this.trayCode) { this.trayMaterials = []; return }
try {
this.loadingTray = true
const res = await getTrayInfo(this.trayCode)
this.trayMaterials = res.data
} catch (e) {
console.error('getTrayInfo error', e)
uni.showToast({ title: '查询托盘失败', icon: 'none' })
} finally {
this.loadingTray = false
}
},
// 确认入库
async handleConfirmIn() {
if (!this.trayCode) {
uni.showToast({ title: '请先输入托盘条码', icon: 'none' })
return
}
if (!this.warehouseId) {
uni.showToast({ title: '请先选择仓库', icon: 'none' })
return
}
try {
this.isConfirming = true
const payload = {
trayCode: this.trayCode,
}
const resp = await addInJobpk(payload)
if (resp && resp.code === 200) {
uni.showToast({ title: '入库成功', icon: 'success' })
// 清空托盘与列表,便于下一次操作
this.trayCode = ''
this.trayMaterials = []
} else {
uni.showToast({ title: (resp && resp.msg) || '入库失败', icon: 'none' })
}
} catch (e) {
console.error('addInJob error', e)
uni.showToast({ title: '入库失败', icon: 'none' })
} finally {
this.isConfirming = false
}
},
extractMaterialDetail(res) {
const pickFirst = (r) => {
if (Array.isArray(r)) return r[0]
if (Array.isArray(r?.rows)) return r.rows[0]
if (Array.isArray(r?.data)) return r.data[0]
if (Array.isArray(r?.data?.rows)) return r.data.rows[0]
return r
}
const raw = pickFirst(res)
if (!raw) return null
return {
stockinDetailId: raw.stockinDetailId || raw.id || raw.detailId,
productName: raw.productName || raw.materialName || raw.extraField?.materialDesc || '',
productId: raw.productId || raw.materialId || raw.productCode || raw.extraField?.productId || '',
quantity: raw.quantity ?? raw.availableQty ?? raw.inQuantity ?? 0,
}
},
async onMaterialInput(val) {
this.materialCode = String(val || '').trim()
if (!this.materialCode) return
try {
const res = await getOrderGoods({ stockinDetailId: this.materialCode })
const detail = res.data
if (!detail) {
uni.showToast({ title: '未找到物料信息', icon: 'none' })
return
}
this.materialDetail = detail
this.bindQty = detail.quantity
this.$refs.detailPopup.open()
} catch (e) {
console.error('get material detail error', e)
uni.showToast({ title: '查询物料失败', icon: 'none' })
}
},
async handleBindTray() {
if (!this.trayCode) { uni.showToast({ title: '请先输入托盘条码', icon: 'none' }); return }
if (!this.materialDetail?.stockinDetailId) { uni.showToast({ title: '物料信息缺失', icon: 'none' }); return }
try {
this.isBinding = true
const payload = { trayCode: this.trayCode, stockinDetailId: this.materialCode, inQuantity: this.bindQty }
const resp = await bindTray(payload)
if (resp.code === 200) {
uni.showToast({ title: '绑定成功', icon: 'success' })
this.$refs.detailPopup.close()
this.materialCode = ''
await this.onTrayInput(this.trayCode)
} else {
uni.showToast({ title: resp.msg || '绑定失败', icon: 'none' })
}
} catch (e) {
console.error('bindTray error', e)
uni.showToast({ title: resp.msg, icon: 'none' })
} finally {
this.isBinding = false
}
},
closePopup() { this.$refs.detailPopup.close() },
handleScanTray() {
uni.scanCode({
success: (res) => {
this.trayCode = res.result || ''
this.onTrayInput(this.trayCode)
}
})
},
handleScanMaterial() {
uni.scanCode({
success: (res) => {
this.materialCode = res.result || ''
this.onMaterialInput(this.materialCode)
}
})
}
}
}
</script>
<style>
.container { padding: 12px; background: #f6f7fb; min-height: 100vh; }
.card { background: #fff; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,0.06); padding: 12px; margin-bottom: 12px; }
.form { display: flex; flex-direction: column; gap: 12px; }
.field { display: flex; flex-direction: column; gap: 6px; }
.label { color: #666; font-size: 12px; }
.scan-icon { font-size: 16px; padding: 0 8px; color: #2979ff; }
.section-title { font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.list { margin-top: 4px; display: flex; flex-direction: column; gap: 10px; }
.item { padding: 10px; border: 1px solid #eee; border-radius: 8px; }
.item-header { display: flex; justify-content: space-between; align-items: center; }
.name { font-size: 14px; color: #333; }
.qty-tag { background: #eef3ff; color: #2979ff; padding: 2px 6px; border-radius: 12px; font-size: 12px; }
.meta { color: #888; font-size: 12px; margin-top: 6px; }
.empty { color: #999; font-size: 12px; padding: 12px; text-align: center; }
.popup { padding: 16px; background: #fff; border-top-left-radius: 12px; border-top-right-radius: 12px; }
.popup-title { font-weight: 600; font-size: 16px; margin-bottom: 10px; }
.row { margin: 8px 0; display: flex; justify-content: space-between; }
.row-label { color: #666; }
.row-value { color: #333; }
.actions { display: flex; gap: 10px; margin-top: 12px; }
.btn { flex: 1; padding: 10px; border-radius: 8px; }
.primary { background: #2979ff; color: #fff; }
.secondary { background: #f1f1f1; color: #333; }
/* 页脚操作区 */
.footer-actions { position: fixed; left: 0; right: 0; bottom: 0; padding: 10px 12px; background: #fff; box-shadow: 0 -2px 10px rgba(0,0,0,0.06); }
.confirm-btn { width: 100%; padding: 12px; border-radius: 8px; background: #07c160; color: #fff; font-size: 16px; }
</style>

View File

@@ -0,0 +1,127 @@
<template>
<view class="container">
<view class="function-list">
<view class="function-item" @click="navigateTo('/pages/in/ktpin')">
<view class="icon-box blue">
<image src="/static/images/tabbar/tray121.png" mode="aspectFit" class="icon-image" style="width: 40rpx; height: 40rpx;"></image>
</view>
<view class="function-text">
<text class="title">空托盘入库</text>
<text class="desc">空托盘入库管理</text>
</view>
</view>
<view class="function-item" @click="navigateTo('/pages/out/ktpout')">
<view class="icon-box blue">
<image src="/static/images/tabbar/trayout.png" mode="aspectFit" class="icon-image" style="width: 40rpx; height: 40rpx;"></image>
</view>
<view class="function-text">
<text class="title">空托盘出库</text>
<text class="desc">空托盘出库管理</text>
</view>
</view>
</view>
</view>
</template>
<script>
import tab from '@/plugins/tab'
export default {
data() {
return {}
},
methods: {
navigateTo(url) {
tab.navigateTo(url)
}
}
}
</script>
<style lang="scss" scoped>
.container {
padding: 20rpx;
background-color: #f5f7fa;
min-height: 100vh;
}
.function-list {
display: flex;
flex-direction: column;
gap: 24rpx;
}
.function-item {
display: flex;
align-items: center;
background-color: #fff;
padding: 32rpx;
border-radius: 16rpx;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.08);
transition: all 0.3s ease;
&:hover {
transform: translateY(-4rpx);
box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.12);
}
&:active {
transform: translateY(0);
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.08);
}
}
.icon-box {
width: 88rpx;
height: 88rpx;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
margin-right: 32rpx;
transition: all 0.3s ease;
&.blue {
background: linear-gradient(135deg, #409eff, #3a8ee6);
box-shadow: 0 6rpx 16rpx rgba(64, 158, 255, 0.25);
}
&:hover {
transform: rotate(15deg) scale(1.1);
}
}
.icon-image {
width: 44rpx;
height: 44rpx;
transition: all 0.3s ease;
}
.iconfont {
color: #fff;
font-size: 44rpx;
transition: all 0.3s ease;
}
.function-text {
flex: 1;
.title {
font-size: 34rpx;
color: #2c3e50;
font-weight: 600;
margin-bottom: 10rpx;
letter-spacing: 1rpx;
}
.desc {
font-size: 26rpx;
color: #7f8c8d;
letter-spacing: 0.5rpx;
}
}
</style>

View File

View File

@@ -36,6 +36,8 @@ import com.ruoyi.job.mydojob.service.IMydoJobService;
import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail;
import com.ruoyi.job.mydojobdetail.service.IMydoJobDetailService;
import com.ruoyi.out.outStockout.service.IOutStockoutService;
import com.ruoyi.pda.domain.TrayCodeMsg;
import com.ruoyi.pda.service.PdaService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -57,33 +59,11 @@ public class ToWmsServiceImpl implements IToWmsService {
@Autowired
private IMydoJobDetailService mydoJobDetailService;
@Autowired
private IBasContainerService basContainerService;
@Autowired
private IBasTaskNoService basTaskNoService;
@Autowired
private IBasTagService iBasTagService;
@Autowired
private IBasCargoSpaceService basCargoSpaceService;
@Autowired
private IOutStockoutService outStockoutService;
@Autowired
private IAgvContainerTaskService agvContainerTaskService;
@Autowired
private IBasProductService basProductService;
@Autowired
private IBasJobIdService basJobIdService;
@Autowired
private IToErpService toErpService;
@Autowired
private ITransferBillCallbackService transferBillCallbackService;
@Autowired
private IInStockinService inStockinService;
@Autowired
private IInStockinDetailService inStockinDetailService;
@Autowired
private IBasRoadwayService basRoadwayService;
private PdaService pdaService;
@Override
@@ -144,6 +124,10 @@ public class ToWmsServiceImpl implements IToWmsService {
MydoJob outJob = outMydoJobs.get(0);
outJob.setExecutionPhase("2");
mydoJobService.updateMydoJob(outJob);
if (outJob.getInOrOut().equals("23")){
String[] jobIds = new String[]{outJob.getJobId()};
mydoJobService.OuthandFinish(jobIds);
}
break;
default:
@@ -194,7 +178,7 @@ public class ToWmsServiceImpl implements IToWmsService {
}
@Override
@Transactional(rollbackFor = Exception.class)
//@Transactional(rollbackFor = Exception.class)
public AjaxResult requestEnterByTrayCodeAndEntranceId(RequestEnter requestEnter) {
HashMap<String, String> result = new HashMap<>();
if (StrUtil.isEmpty(requestEnter.getTrayCode())) {
@@ -215,7 +199,15 @@ public class ToWmsServiceImpl implements IToWmsService {
param.setWarehouseId(requestEnter.getWarehouseId());
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobListApi(param);
if (CollUtil.isEmpty(mydoJobs)){
return AjaxResult.error("没有该托盘任务", requestEnter.getTrayCode());
//生成杂料入库任务
TrayCodeMsg trayCodeMsg = new TrayCodeMsg();
trayCodeMsg.setTrayCode(requestEnter.getTrayCode());
trayCodeMsg.setWarehouseId(requestEnter.getWarehouseId());
pdaService.zlin(trayCodeMsg);
mydoJobs = mydoJobService.selectMydoJobListApi(param);
if (CollUtil.isEmpty(mydoJobs)){
return AjaxResult.error("杂料入库任务生成失败", requestEnter.getTrayCode());
}
}
MydoJob mydoJob = mydoJobs.get(0);
if(StrUtil.isEmpty(mydoJob.getCargoSpaceId())){

View File

@@ -182,51 +182,55 @@ public class CheckDifferenceRecordController extends BaseController {
return AjaxResult.error("没有找到该新增数据信息");
}
CheckDifferenceRecordAddInfo checkDifferenceRecordAddInfo = checkDifferenceRecordAddInfos.get(0);
//todo 创建新的库存记录
BasStock newStock = new BasStock();
// 先设置必要字段
newStock.setTrayCode(record.getTrayCode());
newStock.setQuantity(record.getNewQuantity());
newStock.setProductStatus("1");
newStock.setCargoSpaceId(record.getCargoSpaceId());
newStock.setLotNo(record.getLotNo());
newStock.setProductGuid(record.getProductGuid());
newStock.setProductId(record.getProductId());
newStock.setStockStatus("1"); // 设置库存状态为正常
newStock.setWarehouseId(record.getWarehouseId());
newStock.setInType("");
newStock.setOutQuantity("0");
newStock.setInDate(DateUtil.formatDateTime(DateUtil.date()));
//供应商
newStock.setPhase(checkDifferenceRecordAddInfo.getSpare3());
//来源地
newStock.setSpare1(checkDifferenceRecordAddInfo.getSpare4());
//周转
newStock.setVoltage(checkDifferenceRecordAddInfo.getSpare5());
//套账
newStock.setSpare3(checkDifferenceRecordAddInfo.getSpare6());
//用途
newStock.setSpare4(checkDifferenceRecordAddInfo.getSpare7());
//台次
newStock.setSpare5(checkDifferenceRecordAddInfo.getSpare8());
//合同
newStock.setOrderId(checkDifferenceRecordAddInfo.getSpare9());
//件次
newStock.setPower(checkDifferenceRecordAddInfo.getSpare10());
newStock.setLotNo(checkDifferenceRecordAddInfo.getSpare11());
//入库价格
newStock.setSpare6(checkDifferenceRecordAddInfo.getSpare12());
//管理
newStock.setDistribution(checkDifferenceRecordAddInfo.getSpare13());
//质量等级
newStock.setSpare8(checkDifferenceRecordAddInfo.getSpare14());
// 最后设置库存ID
newStock.setStockId(basJobIdService.getJobId("KC"));
newStock.setSpare7("1");
newStock.setStackingId(DateUtil.formatDateTime(DateUtil.date()));
basStockService.insertBasStock(newStock);
BasStock queryStock = new BasStock();
queryStock.setTrayCode(record.getTrayCode());
queryStock.setWarehouseId(record.getWarehouseId());
List<BasStock> stocks = basStockService.selectBasStockList(queryStock);
if (!stocks.isEmpty()){
//todo 创建新的库存记录
BasStock newStock = new BasStock();
// 先设置必要字段
newStock.setTrayCode(record.getTrayCode());
newStock.setQuantity(record.getNewQuantity());
newStock.setProductStatus("1");
newStock.setCargoSpaceId(stocks.get(0).getCargoSpaceId());
newStock.setLotNo(record.getLotNo());
newStock.setProductGuid(record.getProductGuid());
newStock.setProductId(record.getProductId());
newStock.setStockStatus("1"); // 设置库存状态为正常
newStock.setWarehouseId(record.getWarehouseId());
newStock.setInType("");
newStock.setOutQuantity("0");
newStock.setInDate(DateUtil.formatDateTime(DateUtil.date()));
//供应商
newStock.setPhase(checkDifferenceRecordAddInfo.getSpare3());
//来源地
newStock.setSpare1(checkDifferenceRecordAddInfo.getSpare4());
//周转
newStock.setVoltage(checkDifferenceRecordAddInfo.getSpare5());
//套账
newStock.setSpare3(checkDifferenceRecordAddInfo.getSpare6());
//用途
newStock.setSpare4(checkDifferenceRecordAddInfo.getSpare7());
//台次
newStock.setSpare5(checkDifferenceRecordAddInfo.getSpare8());
//合同
newStock.setOrderId(checkDifferenceRecordAddInfo.getSpare9());
//件次
newStock.setPower(checkDifferenceRecordAddInfo.getSpare10());
newStock.setLotNo(checkDifferenceRecordAddInfo.getSpare11());
//入库价格
newStock.setSpare6(checkDifferenceRecordAddInfo.getSpare12());
//管理
newStock.setDistribution(checkDifferenceRecordAddInfo.getSpare13());
//质量等级
newStock.setSpare8(checkDifferenceRecordAddInfo.getSpare14());
// 最后设置库存ID
newStock.setStockId(basJobIdService.getJobId("KC"));
newStock.setSpare7("1");
newStock.setStackingId(DateUtil.formatDateTime(DateUtil.date()));
basStockService.insertBasStock(newStock);
}
} else if ("3".equals(recordType)) {
// 删除数据

View File

@@ -365,9 +365,8 @@ public class MydoJobServiceImpl implements IMydoJobService {
} else {
return AjaxResult.warn("不存在子作业");
}
}else if ("3".equals(mydoJob.getInOrOut())){
}else if ("3".equals(mydoJob.getInOrOut()) || "6".equals(mydoJob.getInOrOut())){
//空托盘入库
//正常入库任务
MydoJobDetail param = new MydoJobDetail();
param.setJobId(jobId);
List<MydoJobDetail> mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param);
@@ -442,6 +441,7 @@ public class MydoJobServiceImpl implements IMydoJobService {
MydoJob job = selectMydoJobByJobId(jobId);
HashMap<String, Object> map = new HashMap<>();
map.put("v_tray_code", job.getTrayCode());
map.put("v_warehouse_id", job.getWarehouseId());
pdaMapper.outMakeSure(map);
String result=map.get("v_result").toString();
if(!"10".equals(result)){

View File

@@ -33,7 +33,7 @@ public class KpiServiceImpl implements KpiService
@Autowired
private BasCargoSpaceMapper basCargoSpaceMapper;
@Autowired
private BasStockMapper basStockMapper;
/**
@@ -469,7 +469,7 @@ public class KpiServiceImpl implements KpiService
info.append("货位名称:").append(space.getCargoSpaceName()).append("<br>");
info.append("是否锁定:").append("Y".equals(space.getLocked()) ? "是" : "否").append("<br>");
info.append("托盘条码:").append(space.getTrayCode() != null ? space.getTrayCode() : "无").append("<br>");
// 根据cargoSpaceId查询BasStock表,获取productId和productName
BasStock stockQuery = new BasStock();
stockQuery.setCargoSpaceId(space.getCargoSpaceId());
@@ -499,13 +499,13 @@ public class KpiServiceImpl implements KpiService
mydoJobParam.setInOut(inOut);
List<DateTime> datesBetween = DateUtil.rangeToList(DateUtil.parseDate(startTime), DateUtil.parseDate(endTime), DateField.DAY_OF_MONTH);
List<MydoJob> list = mydoJobFinishMapper.selectMydoJobFinishListByMydoJob(mydoJobParam);
// 获取所有巷道ID(1和2)
List<String> roadwayIds = Arrays.asList("1", "2");
List<String> roadwayIds = Arrays.asList("1", "2" ,"3");
List<String> xAxis = new ArrayList<>();
List<Map<String, Object>> series = new ArrayList<>();
// 为每个巷道创建一个系列
for (String roadwayId : roadwayIds) {
Map<String, Object> seriesItem = new HashMap<>();
@@ -515,25 +515,25 @@ public class KpiServiceImpl implements KpiService
seriesItem.put("data", data);
series.add(seriesItem);
}
// 按日期统计每个巷道的数量
for (DateTime dateTime : datesBetween) {
xAxis.add(DateUtil.format(dateTime, "yyyy-MM-dd"));
// 统计每个巷道在当天的数量
for (int i = 0; i < roadwayIds.size(); i++) {
String roadwayId = roadwayIds.get(i);
long count = list.stream()
.filter(mydoJob -> roadwayId.equals(mydoJob.getRoadwayId())
.filter(mydoJob -> roadwayId.equals(mydoJob.getRoadwayId())
&& DateUtil.isIn(mydoJob.getCreateTime(), DateUtil.beginOfDay(dateTime), DateUtil.endOfDay(dateTime)))
.count();
@SuppressWarnings("unchecked")
List<Long> data = (List<Long>) series.get(i).get("data");
data.add(count);
}
}
res.put("xAxis", xAxis);
res.put("series", series);
return AjaxResult.success(res);

View File

@@ -33,4 +33,6 @@ public interface PdaMapper {
void ktpout(HashMap<String,Object> map);
void ktpin(HashMap<String,Object> map);
void zlin(HashMap<String,Object> map);
}

View File

@@ -38,4 +38,6 @@ public interface PdaService {
AjaxResult ktpin(TrayCodeMsg trayCodeMsg);
AjaxResult zlin(TrayCodeMsg trayCodeMsg);
}

View File

@@ -112,6 +112,7 @@ public class PdaServiceImp implements PdaService {
}
HashMap<String, Object> map = new HashMap<>();
map.put("v_tray_code", trayCodeMakeSure.getTrayCode());
map.put("v_warehouse_id", trayCodeMakeSure.getWarehouseId());
pdaMapper.outMakeSure(map);
String result = map.get("v_result").toString();
if ("10".equals(result)) {
@@ -259,7 +260,7 @@ public class PdaServiceImp implements PdaService {
public AjaxResult ktpin(TrayCodeMsg trayCodeMsg) {
HashMap<String, Object> map = new HashMap<>();
map.put("v_tray_code", trayCodeMsg.getTrayCode());
// map.put("v_warehouse_id", trayCodeMsg.getWarehouseId());
map.put("v_warehouse_id", trayCodeMsg.getWarehouseId());
pdaMapper.ktpin(map);
String result = map.get("v_result").toString();
if ("10".equals(result)){
@@ -268,4 +269,18 @@ public class PdaServiceImp implements PdaService {
return AjaxResult.error(map.get("v_resultmsg").toString());
}
}
@Override
public AjaxResult zlin(TrayCodeMsg trayCodeMsg) {
HashMap<String, Object> map = new HashMap<>();
map.put("v_tray_code", trayCodeMsg.getTrayCode());
map.put("v_warehouse_id", trayCodeMsg.getWarehouseId());
pdaMapper.zlin(map);
String result = map.get("v_result").toString();
if ("10".equals(result)){
return AjaxResult.success(map.get("v_resultmsg").toString());
}else{
return AjaxResult.error(map.get("v_resultmsg").toString());
}
}
}

View File

@@ -135,6 +135,7 @@ public class ViewStockDetail extends BaseEntity
private String productType;
private String outside;
private String spare4;
private String distribution;

View File

@@ -118,6 +118,16 @@ public class ViewStockinHistory extends BaseEntity
/** 状态 */
@Excel(name = "状态",dictType = "turnover_type")
private String spare2;
@Excel(name = "代号")
private String spare9;
public String getSpare9() {
return spare9;
}
public void setSpare9(String spare9) {
this.spare9 = spare9;
}
public void setStockinId(String stockinId)
{

View File

@@ -184,7 +184,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and locked = 'N'
and warehouse_id = #{warehouseId}
and roadway_id = #{roadwayId}
ORDER BY the_platoon, the_floor,the_column
ORDER BY the_floor,the_column,the_platoon
</select>
<select id="selectBasCargoSpaceListByRoadway" parameterType="BasCargoSpace" resultMap="BasCargoSpaceResult">
select bcs.cargo_space_id, bcs.warehouse_id, bw.warehouse_name, bcs.roadway_id, bcs.cargo_area_id, bcs.the_type,

View File

@@ -6,6 +6,7 @@
<select id="outMakeSure" parameterType="java.util.Map" statementType="CALLABLE">
{call proc_out_makesure(
#{v_tray_code,mode=IN,jdbcType=VARCHAR},
#{v_warehouse_id,mode=IN,jdbcType=VARCHAR},
#{v_result,mode=OUT,jdbcType=INTEGER},
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
)}
@@ -131,6 +132,17 @@
<select id="ktpin" parameterType="java.util.Map" statementType="CALLABLE">
{call proc_tp_in(
#{v_tray_code,mode=IN,jdbcType=VARCHAR},
#{v_warehouse_id,mode=IN,jdbcType=VARCHAR},
#{v_result,mode=OUT,jdbcType=INTEGER},
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
)}
</select>
<select id="zlin" parameterType="java.util.Map" statementType="CALLABLE">
{call proc_zl_in(
#{v_tray_code,mode=IN,jdbcType=VARCHAR},
#{v_warehouse_id,mode=IN,jdbcType=VARCHAR},
#{v_result,mode=OUT,jdbcType=INTEGER},
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
)}

View File

@@ -39,6 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="spare4" column="spare4" />
<result property="spare1" column="spare1" />
<result property="productType" column="productType" />
<result property="distribution" column="distribution" />
</resultMap>
<sql id="selectViewStockDetailVo">
@@ -73,6 +74,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
bs.stock_status, --库存状态
bs.lot_no, --批次号
bs.out_quantity,
bs.distribution, --来源
bs.spare4, --来源
bs.spare1 --用途
from bas_stock bs

View File

@@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.search.ViewStockinHistory.mapper.ViewStockinHistoryMapper">
<resultMap type="ViewStockinHistory" id="ViewStockinHistoryResult">
<result property="stockinId" column="stockin_id" />
<result property="stockinDetailId" column="stockin_detail_id" />
@@ -32,15 +32,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="spare1" column="spare1" />
<result property="spare4" column="spare4" />
<result property="spare2" column="spare2" />
<result property="spare9" column="spare9" />
</resultMap>
<sql id="selectViewStockinHistoryVo">
select stockin_id, stockin_detail_id, product_id, product_name, spec, cargo_no, productType, quantity, scan_num, assign_num, unit, price, priceTotal, supplier_no, supplier_name, spare6, spare5, spare7, spare3, create_man_id, create_date, status, spare8, remark, spare1, spare4, spare2 from view_stockin_history
select stockin_id, stockin_detail_id, product_id, product_name, spec, cargo_no, productType, quantity, scan_num, assign_num, unit, price, priceTotal, supplier_no, supplier_name, spare6, spare5, spare7, spare3, create_man_id, create_date, status, spare8, remark, spare1, spare4, spare2,spare9 from view_stockin_history
</sql>
<select id="selectViewStockinHistoryList" parameterType="ViewStockinHistory" resultMap="ViewStockinHistoryResult">
<include refid="selectViewStockinHistoryVo"/>
<where>
<where>
<if test="stockinId != null and stockinId != ''"> and stockin_id = #{stockinId}</if>
<if test="stockinDetailId != null and stockinDetailId != ''"> and stockin_detail_id = #{stockinDetailId}</if>
<if test="productId != null and productId != ''"> and product_id = #{productId}</if>
@@ -67,9 +68,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="spare1 != null and spare1 != ''"> and spare1 = #{spare1}</if>
<if test="spare4 != null and spare4 != ''"> and spare4 = #{spare4}</if>
<if test="spare2 != null and spare2 != ''"> and spare2 = #{spare2}</if>
<if test="spare9 != null and spare9 != ''"> and spare9 = #{spare9}</if>
</where>
</select>
<select id="selectViewStockinHistoryByStockinId" parameterType="String" resultMap="ViewStockinHistoryResult">
<include refid="selectViewStockinHistoryVo"/>
where stockin_id = #{stockinId}
@@ -175,9 +177,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<delete id="deleteViewStockinHistoryByStockinIds" parameterType="String">
delete from view_stockin_history where stockin_id in
delete from view_stockin_history where stockin_id in
<foreach item="stockinId" collection="array" open="(" separator="," close=")">
#{stockinId}
</foreach>
</delete>
</mapper>
</mapper>

View File

@@ -55,6 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="supplierId" column="supplier_no" />
<result property="remark" column="remark" />
<result property="productType" column="productType" />
<result property="netWeight" column="net_weight" />
<!--<association property="extraField" javaType="ExtraField">
<result property="productId" column="product_id" />
</association>-->
@@ -93,7 +94,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
bs.lot_no, --批次号
bs.out_quantity,
bs.spare4, --来源
bs.spare1 --用途
bs.spare1, --用途
bs.net_weight --重量
from bas_stock bs
left join bas_product bp on bs.product_id = bp.product_id
left join bas_warehouse bw on bs.warehouse_id = bw.warehouse_id

View File

@@ -50,12 +50,3 @@ export function barcodePrinting(data) {
data:data
})
}
// 绑定托盘
export function bindTray(data) {
return request({
url: '/in/stockInDetail/bindTray',
method: 'post',
data: data
})
}

86
ruoyi-ui/src/api/rf/rf.js Normal file
View File

@@ -0,0 +1,86 @@
import request from '@/utils/request'
// 绑定托盘
export function bindTray(data) {
return request({
url: '/pda/bindTrayMsg',
method: 'post',
data: data
})
}
//查询绑定托盘信息
export function getTrayInfo(trayCode) {
return request({
url: '/pda/trayMsg?trayCode=' + trayCode,
method: 'get'
})
}
//确认入库
export function addInJob(data) {
return request({
url: '/pda/rkSure',
method: 'post',
data: data
})
}
// 根据托盘条码获取物料信息
export function getTaskDetail(data) {
return request({
url: '/pda/selectDetailByTray',
method: 'post',
data:data
})
}
//出库确认
export function ckMakeSure(data) {
return request({
url: '/pda/outMakeSure',
method: 'post',
data:data
})
}
//空托盘入
export function emptyTrayIn(data) {
return request({
url: '/pda/ktpin',
method: 'post',
data: data
})
}
//空托盘出库
export function emptyTrayOut(data) {
return request({
url: '/pda/ktpout',
method: 'post',
data: data
})
}
// 根据托盘条码获取物料信息
export function getTrayMaterials(data) {
return request({
url: '/pda/selectDetailByTray',
method: 'post',
data: data
})
}
//盘点确认
export function confirmPandian(data){
return request({
url: '/pda/checkMakeSure',
method: 'post',
data: data
})
}
//平库入库
export function addInJobpk(data) {
return request({
url: '/pda/rkSurepk',
method: 'post',
data: data
})
}

View File

@@ -1,6 +1,16 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" :label-width="labelWidthForSearch">
<el-form-item label="仓库名称" prop="warehouseId"><!-- 仓库id -->
<el-select v-model="queryParams.warehouseId" placeholder="请选择仓库名称">
<el-option
v-for="item in warehouseOptions"
:key="item.warehouseId"
:label="item.warehouseName"
:value="item.warehouseId"
/>
</el-select>
</el-form-item>
<!-- 货位ID -->
<el-form-item label="货位编号" prop="cargoSpaceId">
<el-input
@@ -11,16 +21,7 @@
/>
</el-form-item>
<!-- 仓库ID -->
<!-- <el-form-item label="仓库名称" prop="warehouseId">&lt;!&ndash; 仓库id &ndash;&gt;-->
<!-- <el-select v-model="queryParams.warehouseId" placeholder="请选择仓库名称">-->
<!-- <el-option-->
<!-- v-for="item in warehouseOptions"-->
<!-- :key="item.warehouseId"-->
<!-- :label="item.warehouseName"-->
<!-- :value="item.warehouseId"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="货位名称" prop="cargoSpaceName">
<el-input
v-model="queryParams.cargoSpaceName"

View File

@@ -37,13 +37,18 @@
<el-table v-loading="loading" :data="materialList">
<el-table-column label="货位编码" align="left" prop="cargoSpaceId" width="160"/>
<el-table-column label="托盘码" align="center" prop="trayCode"/>
<el-table-column label="合同号" align="center" prop="spare6"/>
<el-table-column label="产品号" align="center" prop="spare7"/>
<el-table-column label="代号" align="center" prop="spare9"/>
<el-table-column label="台次" align="center" prop="spare5"/>
<el-table-column label="物资编号" align="left" prop="productId" />
<el-table-column label="物资名称" align="left" prop="productName" />
<el-table-column label="批号" align="left" prop="lotNo"/>
<!-- <el-table-column label="批号" align="left" prop="lotNo"/>-->
<el-table-column label="数量" align="right" prop="quantity" />
<!-- <el-table-column label="仓库名称" align="left" prop="warehouseName" />-->
<!-- <el-table-column label="货位名称" align="left" prop="cargoSpaceName" />-->
<el-table-column label="来源" align="center" prop="spare1">
<!-- <el-table-column label="来源" align="center" prop="spare1">
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.spare1"/>
</template>
@@ -57,39 +62,38 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.spare4"/>
</template>
</el-table-column>
<el-table-column label="台次" align="center" prop="spare5"/>
<el-table-column label="入库单价" align="center" prop="spare6"/>
<el-table-column label="状态" align="center" prop="spare2">
</el-table-column>-->
<!-- <el-table-column label="入库单价" align="center" prop="spare6"/>-->
<!-- <el-table-column label="状态" align="center" prop="spare2">
<template slot-scope="scope">
<dict-tag :options="dict.type.turnover_type" :value="scope.row.spare2"/>
</template>
</el-table-column>
<el-table-column label="件次" align="center" prop="spare7"/>
<el-table-column label="供应商编码" align="center" prop="supplierId"/>
<el-table-column label="供应商" align="center" prop="supplierName"/>
<el-table-column label="管理号" align="center" prop="spare9"/>
<el-table-column label="合同号" align="center" prop="spare6"/>
<el-table-column label="质量等级" align="center" prop="spare8">
</el-table-column>-->
<!-- <el-table-column label="供应商编码" align="center" prop="supplierId"/>-->
<!-- <el-table-column label="供应商" align="center" prop="supplierName"/>-->
<!-- <el-table-column label="质量等级" align="center" prop="spare8">
<template slot-scope="scope">
<dict-tag :options="dict.type.quality_type" :value="scope.row.spare8"/>
</template>
</el-table-column>
<el-table-column label="单价" align="center" prop="price"/>
</el-table-column>-->
<!-- <el-table-column label="单价" align="center" prop="price"/>-->
<el-table-column label="物料状态" align="center" prop="productStatus">
<!-- <el-table-column label="物料状态" align="center" prop="productStatus">
<template slot-scope="scope">
<dict-tag :options="dict.type.product_type" :value="scope.row.productStatus"/>
</template>
</el-table-column>
<el-table-column label="常用编码" align="center" prop="parentId"/>
</el-table-column>-->
<!-- <el-table-column label="常用编码" align="center" prop="parentId"/>
<el-table-column label="启用标识" align="center" prop="spare7">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.spare7"/>
</template>
</el-table-column>
<el-table-column label="创建用户" align="center" prop="createSys"/>
<el-table-column label="单位" align="center" prop="unit"/>
<el-table-column label="单位" align="center" prop="unit"/>-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.$index)">删除</el-button>
@@ -98,7 +102,7 @@
</el-table>
<!-- 选择物料物资弹窗 -->
<el-dialog title="选择物资" :visible.sync="materialDialogByProduct" width="800px" append-to-body>
<el-dialog title="选择物资" :visible.sync="materialDialogByProduct" width="1700px" append-to-body>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="物资编码" prop="productId">
<el-input
@@ -116,14 +120,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="批号" prop="lotNo">
<el-input
v-model="queryParams.lotNo"
placeholder="请输入批号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -135,18 +131,14 @@
<el-table v-loading="materialLoading" :data="materialOptions" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" align="center" prop="onlyIdentity"/>
<el-table-column label="物料编码" align="center" prop="productId"/>
<el-table-column label="批次" align="center" prop="lotNo"/>
<el-table-column label="物料名称" align="center" prop="productName"/>
<el-table-column label="规格型号" align="center" prop="spec"/>
<el-table-column label="图号" align="center" prop="cargoNo"/>
<el-table-column label="库存数量" align="center" prop="quantity"/>
<el-table-column label="仓库" align="center" prop="warehouseId">
<template slot-scope="scope">
<dict-tag :options="dict.type.warehouse" :value="scope.row.warehouseId"/>
</template>
</el-table-column>
<el-table-column label="来源" align="center" prop="spare1">
<!-- <el-table-column label="来源" align="center" prop="spare1">
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.spare1"/>
</template>
@@ -160,25 +152,31 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.spare4"/>
</template>
</el-table-column>
</el-table-column>-->
<el-table-column label="合同号" align="center" prop="orderId"/>
<el-table-column label="产品号" align="center" prop="power"/>
<el-table-column label="代号" align="center" prop="distribution"/>
<el-table-column label="台次" align="center" prop="spare5"/>
<el-table-column label="入库单价" align="center" prop="spare6"/>
<el-table-column label="状态" align="center" prop="voltage">
<el-table-column label="物料编码" align="center" prop="productId"/>
<!-- <el-table-column label="批次" align="center" prop="lotNo"/>-->
<el-table-column label="物料名称" align="center" prop="productName"/>
<el-table-column label="规格型号" align="center" prop="spec"/>
<!-- <el-table-column label="图号" align="center" prop="cargoNo"/>-->
<el-table-column label="库存数量" align="center" prop="quantity"/>
<!-- <el-table-column label="入库单价" align="center" prop="spare6"/>-->
<!-- <el-table-column label="状态" align="center" prop="voltage">
<template slot-scope="scope">
<dict-tag :options="dict.type.turnover_type" :value="scope.row.voltage"/>
</template>
</el-table-column>
<el-table-column label="件次" align="center" prop="power"/>
</el-table-column>-->
<!-- <el-table-column label="供应商" align="center" prop="phase" />-->
<el-table-column label="供应商" align="center" prop="supplierName"/>
<el-table-column label="管理号" align="center" prop="distribution"/>
<el-table-column label="合同号" align="center" prop="orderId"/>
<el-table-column label="质量等级" align="center" prop="spare8">
<!-- <el-table-column label="供应商" align="center" prop="supplierName"/>-->
<!-- <el-table-column label="质量等级" align="center" prop="spare8">
<template slot-scope="scope">
<dict-tag :options="dict.type.quality_type" :value="scope.row.spare8"/>
</template>
</el-table-column>
<el-table-column label="单价" align="center" prop="price"/>
</el-table-column>-->
<!-- <el-table-column label="单价" align="center" prop="price"/>
<el-table-column label="物料状态" align="center" prop="productStatus">
<template slot-scope="scope">
@@ -192,7 +190,7 @@
</template>
</el-table-column>
<el-table-column label="创建用户" align="center" prop="createSys"/>
<el-table-column label="单位" align="center" prop="unit"/>
<el-table-column label="单位" align="center" prop="unit"/>-->
</el-table>
<pagination

View File

@@ -116,8 +116,8 @@
<el-table-column label="托盘编码" align="left" prop="trayCode" />
<el-table-column label="货位名称" align="left" prop="cargoSpaceName" />
<el-table-column label="物料编号" align="left" prop="productId" />
<el-table-column label="物料描述" align="left" prop="extraField.materialDesc"/>
<el-table-column label="英文描述" align="left" prop="extraField.englishDesc"/>
<el-table-column label="物料名称" align="left" prop="productName"/>
<!-- <el-table-column label="英文描述" align="left" prop="extraField.englishDesc"/>-->
<el-table-column label="原值" align="right" prop="oldQuantity" />
<el-table-column label="新值" align="right" prop="newQuantity" />
<el-table-column label="操作方式" align="left" prop="recordType" >

View File

@@ -1,14 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="任务ID" prop="jobId">
<el-input
v-model="queryParams.jobId"
placeholder="请输入任务ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="任务状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择任务状态" >
<el-option
@@ -35,28 +27,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!--
<el-form-item label="执行阶段" prop="executionPhase">
<el-select v-model="queryParams.executionPhase" placeholder="请选择执行阶段" clearable>
<el-option
v-for="dict in dict.type.execution_phase_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="任务类型" prop="inOrOut">
<el-select v-model="queryParams.inOrOut" placeholder="请选择任务类型" clearable>
<el-option
v-for="dict in dict.type.check_in_job_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>-->
<el-form-item label="开始时间" prop="startTime">
<el-date-picker clearable
v-model="queryParams.startTime"
@@ -73,16 +43,7 @@
placeholder="请选择结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="入口" prop="entranceId">
<el-input
v-model="queryParams.entranceId"
placeholder="请输入入口ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="仓库" prop="warehouseId">
<el-form-item label="仓库" prop="warehouseId">
<el-select
v-model="queryParams.warehouseId"
placeholder="请选择仓库"
@@ -96,7 +57,8 @@
:value="item.warehouseId"
/>
</el-select>
</el-form-item>-->
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -154,7 +116,7 @@
<el-table-column label="托盘码" align="left" prop="trayCode" />
<el-table-column label="货位" align="left" prop="cargoSpaceName" width="160"/>
<!-- <el-table-column label="订单号" align="left" prop="lineId" />-->
<el-table-column label="入口" align="left" prop="entranceId" />
<!-- <el-table-column label="入口" align="left" prop="entranceId" />-->
<!-- <el-table-column label="优先级" align="right" prop="priority" />-->
<!-- <el-table-column label="执行阶段" align="left" prop="executionPhase">
@@ -184,44 +146,46 @@
<el-table-column label="任务ID" align="left" prop="jobId" width="140" />
<el-table-column label="单据ID" align="left" prop="inOrOutId" width="150" />
<el-table-column label="子单据ID" align="left" prop="inOrOutDId" width="160" />
<el-table-column label="合同号" align="left" prop="spare6" />
<el-table-column label="产品号" align="left" prop="spare7" />
<el-table-column label="代号" align="left" prop="spare9" />
<el-table-column label="台次" align="left" prop="spare5" />
<el-table-column label="物料编码" align="left" prop="productId" width="140" />
<el-table-column label="物料名称" align="left" prop="productName" />
<el-table-column label="批号" align="left" prop="lotNo" />
<el-table-column label="规格" align="left" prop="spec" />
<!-- <el-table-column label="批号" align="left" prop="lotNo" />-->
<el-table-column label="入库数量" align="right" prop="inQuantity" />
<el-table-column label="生产图号" align="left" prop="cargoNo" />
<el-table-column label="单价" align="left" prop="printDate" />
<el-table-column label="供应商" align="left" prop="supplierName" />
<el-table-column label="来源" align="left" prop="spare1" ><!--来源-->
<!-- <el-table-column label="生产图号" align="left" prop="cargoNo" />-->
<!-- <el-table-column label="单价" align="left" prop="printDate" />-->
<!-- <el-table-column label="供应商" align="left" prop="supplierName" />-->
<!-- <el-table-column label="来源" align="left" prop="spare1" >&lt;!&ndash;来源&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.spare1"/>
</template>
</el-table-column>
<el-table-column label="状态" align="left" prop="spare2" ><!--用途-->
<el-table-column label="状态" align="left" prop="spare2" >&lt;!&ndash;用途&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.turnover_type" :value="scope.row.spare2"/>
</template>
</el-table-column>
<el-table-column label="套账" align="left" prop="spare3" ><!--用途-->
<el-table-column label="套账" align="left" prop="spare3" >&lt;!&ndash;用途&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.account_type" :value="scope.row.spare3"/>
</template>
</el-table-column>
<el-table-column label="用途" align="left" prop="spare4" ><!--用途-->
<el-table-column label="用途" align="left" prop="spare4" >&lt;!&ndash;用途&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.spare4"/>
</template>
</el-table-column>
<el-table-column label="台次" align="left" prop="spare5" />
<el-table-column label="合同号" align="left" prop="spare6" />
<el-table-column label="件次" align="left" prop="spare7" />
<el-table-column label="质量等级" align="left" prop="spare8" ><!--用途-->
</el-table-column>-->
<!-- <el-table-column label="质量等级" align="left" prop="spare8" >&lt;!&ndash;用途&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.quality_type" :value="scope.row.spare8"/>
</template>
</el-table-column>
<el-table-column label="管理号" align="left" prop="spare9" />
<el-table-column label="规格" align="left" prop="spec" />
<el-table-column label="单位" align="left" prop="unit" />
</el-table-column>-->
<!-- <el-table-column label="单位" align="left" prop="unit" />-->
</el-table>
<pagination

View File

@@ -1,14 +1,6 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="任务ID" prop="jobId">
<el-input
v-model="queryParams.jobId"
placeholder="请输入任务ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="任务状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择任务状态">
<el-option
@@ -27,7 +19,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="托盘码" prop="trayCode">
<el-form-item label="托盘码" prop="trayCode">
<el-input
v-model="queryParams.trayCode"
placeholder="请输入托盘码"
@@ -35,26 +27,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="执行阶段" prop="executionPhase">
<el-select v-model="queryParams.executionPhase" placeholder="请选择执行阶段" clearable>
<el-option
v-for="dict in dict.type.execution_phase_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="任务类型" prop="inOrOut">
<el-select v-model="queryParams.inOrOut" placeholder="请选择任务类型" clearable>
<el-option
v-for="dict in dict.type.check_out_job_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>-->
<el-form-item label="开始时间" prop="startTime">
<el-date-picker clearable
v-model="queryParams.startTime"
@@ -71,15 +43,6 @@
placeholder="请选择结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="出口" prop="exitId">
<el-input
v-model="queryParams.exitId"
placeholder="请输入出口"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="仓库" prop="warehouseId">
<el-select
v-model="queryParams.warehouseId"
@@ -113,17 +76,7 @@
v-hasPermi="['job:checkMydoJob:OuthandFinish']"
>手动作废</el-button>
</el-col>
<!--
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
@click="handleCompletedManually({type: 'completed'})"
v-hasPermi="['job:checkMydoJob:OuthandInvalidation']"
>{{$t('checkJobOut.manualFinish')}}</el-button> &lt;!&ndash; 手动完成 &ndash;&gt;
</el-col>-->
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@@ -143,17 +96,8 @@
<dict-tag :options="dict.type.check_out_job_type" :value="scope.row.inOrOut"/>
</template>
</el-table-column>
<!-- <el-table-column label="部门" align="left" prop="departmentName" />-->
<el-table-column label="托盘码" align="left" prop="trayCode" />
<el-table-column label="货位" align="left" prop="cargoSpaceName" />
<!-- <el-table-column label="订单号" align="right" prop="lineId" />-->
<!-- <el-table-column label="执行阶段" align="left" prop="executionPhase">
<template slot-scope="scope">
<dict-tag :options="dict.type.execution_phase_type" :value="scope.row.executionPhase"/>
</template>
</el-table-column>-->
<el-table-column label="出口" align="left" prop="exitId" />
<el-table-column label="创建时间" align="left" prop="createTime" width="180">
</el-table-column>
<el-table-column label="开始时间" align="left" prop="startTime" width="180"/>
@@ -176,44 +120,14 @@
<el-table-column label="单据ID" align="left" prop="inOrOutId" width="150" />
<el-table-column label="子单据ID" align="left" prop="inOrOutDId" width="160" />
<el-table-column label="库存ID" align="left" prop="stockId" width="160" />
<el-table-column label="合同号" align="left" prop="spare6"/>
<el-table-column label="产品号" align="left" prop="spare7"/>
<el-table-column label="代号" align="left" prop="spare9"/>
<el-table-column label="台次" align="left" prop="spare5"/>
<el-table-column label="物料编码" align="left" prop="productId" width="140" />
<el-table-column label="物料名称" align="left" prop="productName" />
<el-table-column label="批号" align="left" prop="lotNo" />
<el-table-column label="规格" align="left" prop="spec"/>
<el-table-column label="出库数量" align="right" prop="outQuantity" />
<el-table-column label="生产图号" align="left" prop="cargoNo" />
<el-table-column label="单价" align="left" prop="printDate" />
<el-table-column label="供应商" align="left" prop="supplierName" />
<el-table-column label="来源" align="left" prop="spare1" ><!--来源-->
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.spare1"/>
</template>
</el-table-column>
<el-table-column label="状态" align="left" prop="spare2" ><!--用途-->
<template slot-scope="scope">
<dict-tag :options="dict.type.turnover_type" :value="scope.row.spare2"/>
</template>
</el-table-column>
<el-table-column label="套账" align="left" prop="spare3" ><!--用途-->
<template slot-scope="scope">
<dict-tag :options="dict.type.account_type" :value="scope.row.spare3"/>
</template>
</el-table-column>
<el-table-column label="用途" align="left" prop="spare4" ><!--用途-->
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.spare4"/>
</template>
</el-table-column>
<el-table-column label="台次" align="left" prop="spare5" />
<el-table-column label="合同号" align="left" prop="spare6" />
<el-table-column label="件次" align="left" prop="spare7" />
<el-table-column label="质量等级" align="left" prop="spare8" ><!--用途-->
<template slot-scope="scope">
<dict-tag :options="dict.type.quality_type" :value="scope.row.spare8"/>
</template>
</el-table-column>
<el-table-column label="管理号" align="left" prop="spare9" />
<el-table-column label="规格" align="left" prop="spec" />
<el-table-column label="单位" align="left" prop="unit" />
</el-table>
<pagination
@@ -229,8 +143,8 @@
</template>
<script>
import { listMydoJobOut,hangInvalidCheckJob } from "@/api/job/OutmydoJob"
import { listMydoJobDetail } from "@/api/job/mydoJobDetail"
import {hangInvalidCheckJob, listMydoJobOut} from "@/api/job/OutmydoJob"
import {listMydoJobDetail} from "@/api/job/mydoJobDetail"
import {listWarehouse} from "@/api/bas/warehouse";
export default {

View File

@@ -130,16 +130,20 @@
<el-table-column label="子单ID" align="left" prop="stockCheckDetailId" width="160"/><!--子单ID-->
<el-table-column label="主单ID" align="left" prop="stockCheckId" width="160"/><!--主单ID-->
<el-table-column label="货位编码" align="left" prop="cargoSpaceId" width="160"/>
<el-table-column label="合同号" align="left" prop="spare6"/>
<el-table-column label="产品号" align="left" prop="spare7"/>
<el-table-column label="代号" align="left" prop="spare9"/>
<el-table-column label="台次" align="left" prop="spare5"/>
<el-table-column label="物料编码" align="left" prop="productId"/><!--物料编码-->
<el-table-column label="物料名称" align="left" prop="productName" width="160"/><!--物料编码-->
<el-table-column label="规格型号" align="left" prop="spec" width="160"/>
<el-table-column label="计划数量" align="right" prop="quantity"/><!--计划数量-->
<el-table-column label="分配数量" align="right" prop="scanNum"/><!--分配数量-->
<el-table-column label="实际数量" align="right" prop="assignNum"/><!--实际数量-->
<el-table-column label="供应商" align="left" prop="supplierName" width="160"/><!--供应商-->
<el-table-column label="规格型号" align="left" prop="spec" width="160"/>
<el-table-column label="生产图号" align="left" prop="cargoNo" />
<el-table-column label="单位" align="left" prop="unit" />
<el-table-column label="来源" align="left" prop="spare1"><!--来源-->
<!-- <el-table-column label="供应商" align="left" prop="supplierName" width="160"/>&lt;!&ndash;供应商&ndash;&gt;-->
<!-- <el-table-column label="生产图号" align="left" prop="cargoNo" />-->
<!-- <el-table-column label="单位" align="left" prop="unit" />-->
<!-- <el-table-column label="来源" align="left" prop="spare1">&lt;!&ndash;来源&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.spare1"/>
</template>
@@ -149,28 +153,25 @@
<dict-tag :options="dict.type.turnover_type" :value="scope.row.spare2"/>
</template>
</el-table-column>
<el-table-column label="套账" align="left" prop="spare3"><!--套账-->
<el-table-column label="套账" align="left" prop="spare3">&lt;!&ndash;套账&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.account_type" :value="scope.row.spare3"/>
</template>
</el-table-column>
<el-table-column label="用途" align="left" prop="spare4"><!--用途-->
<el-table-column label="用途" align="left" prop="spare4">&lt;!&ndash;用途&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.spare4"/>
</template>
</el-table-column>
<el-table-column label="台次" align="left" prop="spare5"/>
<el-table-column label="合同号" align="left" prop="spare6"/>
<el-table-column label="件次" align="left" prop="spare7"/>
<el-table-column label="批次" align="left" prop="lotNo"/>
<el-table-column label="单价" align="left" prop="price"/>
<el-table-column label="管理号" align="left" prop="spare9"/>
</el-table-column>-->
<el-table-column label="质量" align="left" prop="spare8"><!--用途-->
<!-- <el-table-column label="批次" align="left" prop="lotNo"/>-->
<!-- <el-table-column label="单价" align="left" prop="price"/>-->
<!-- <el-table-column label="质量" align="left" prop="spare8">&lt;!&ndash;用途&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.quality_type" :value="scope.row.spare8"/>
</template>
</el-table-column>
</el-table-column>-->
</el-table>
<pagination

View File

@@ -1,14 +1,7 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<!-- <el-form-item label="任务ID" prop="jobId">
<el-input
v-model="queryParams.jobId"
placeholder="请输入任务ID"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="任务状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择任务状态" >
<el-option
@@ -27,35 +20,14 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="托盘码" prop="trayCode">
<el-form-item label="托盘码" prop="trayCode">
<el-input
v-model="queryParams.trayCode"
placeholder="请输入托盘码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<!-- <el-form-item label="执行阶段" prop="executionPhase">
<el-select v-model="queryParams.executionPhase" placeholder="请选择执行阶段" clearable>
<el-option
v-for="dict in dict.type.execution_phase_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>-->
<!-- <el-form-item label="任务类型" prop="inOrOut">
<el-select v-model="queryParams.inOrOut" placeholder="请选择任务类型" clearable>
<el-option
v-for="dict in dict.type.in_job_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>-->
</el-form-item>
<el-form-item label="开始时间" prop="startTime">
<el-date-picker clearable
v-model="queryParams.startTime"
@@ -72,14 +44,6 @@
placeholder="请选择结束时间">
</el-date-picker>
</el-form-item>
<!-- <el-form-item label="入口" prop="entranceId">
<el-input
v-model="queryParams.entranceId"
placeholder="请输入入口"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="仓库" prop="warehouseId"><!--仓库-->
<el-select
v-model="queryParams.warehouseId"
@@ -134,11 +98,6 @@
<dict-tag :options="dict.type.mydo_job_status" :value="scope.row.status"/>
</template>
</el-table-column>
<!-- <el-table-column label="上线类型" align="left" prop="onLineType">-->
<!-- <template slot-scope="scope">-->
<!-- <dict-tag :options="dict.type.on_line_type" :value="scope.row.onLineType"/>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="任务类型" align="left" prop="inOrOut">
<template slot-scope="scope">
<dict-tag :options="dict.type.in_job_type" :value="scope.row.inOrOut"/>
@@ -147,14 +106,6 @@
<el-table-column label="任务号" align="left" prop="taskNo" />
<el-table-column label="托盘码" align="left" prop="trayCode" width="140" />
<el-table-column label="货位" align="left" prop="cargoSpaceName" width="140" />
<!-- <el-table-column label="优先级" align="left" prop="priority" />-->
<!-- <el-table-column label="执行阶段" align="left" prop="executionPhase">-->
<!-- <template slot-scope="scope">-->
<!-- <dict-tag :options="dict.type.execution_phase_type" :value="scope.row.executionPhase"/>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="订单号" align="left" prop="lineId" />-->
<!-- <el-table-column label="入口" align="left" prop="entranceId" />-->
<el-table-column label="仓库" align="left" prop="warehouseName" />
<el-table-column label="创建时间" align="left" prop="createTime" width="180"/>
<el-table-column label="开始时间" align="left" prop="startTime" width="180"/>
@@ -177,45 +128,44 @@
<el-table-column label="任务ID" align="left" prop="jobId" width="160" />
<el-table-column label="单据ID" align="left" prop="inOrOutId" width="160" />
<el-table-column label="子单据ID" align="left" prop="inOrOutDId" width="160" />
<el-table-column label="物料编码" align="left" prop="productId" width="160" />
<el-table-column label="物料名称" align="left" prop="productName" width="160" />
<el-table-column label="批号" align="left" prop="lotNo" />
<el-table-column label="入库数量" align="right" prop="inQuantity" />
<el-table-column label="生产图号" align="left" prop="cargoNo" width="160"/>
<el-table-column label="单价" align="left" prop="printDate" />
<el-table-column label="供应商" align="left" prop="supplierName" width="160"/>
<el-table-column label="来源" align="left" prop="spare1" ><!--来源-->
<!-- <el-table-column label="来源" align="left" prop="spare1" >&lt;!&ndash;来源&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.spare1"/>
</template>
</el-table-column>
<el-table-column label="状态" align="left" prop="spare2" ><!--用途-->
<el-table-column label="状态" align="left" prop="spare2" >&lt;!&ndash;用途&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.turnover_type" :value="scope.row.spare2"/>
</template>
</el-table-column>
<el-table-column label="套账" align="left" prop="spare3" ><!--用途-->
<el-table-column label="套账" align="left" prop="spare3" >&lt;!&ndash;用途&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.account_type" :value="scope.row.spare3"/>
</template>
</el-table-column>
<el-table-column label="用途" align="left" prop="spare4" ><!--用途-->
<el-table-column label="用途" align="left" prop="spare4" >&lt;!&ndash;用途&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.spare4"/>
</template>
</el-table-column>
<el-table-column label="台次" align="left" prop="spare5" />
<el-table-column label="合同号" align="left" prop="spare6" />
<el-table-column label="件次" align="left" prop="spare7" />
<el-table-column label="质量等级" align="left" prop="spare8" ><!--用途-->
</el-table-column>-->
<!-- <el-table-column label="批号" align="left" prop="lotNo" />-->
<!-- <el-table-column label="生产图号" align="left" prop="cargoNo" width="160"/>-->
<!-- <el-table-column label="单价" align="left" prop="printDate" />-->
<!-- <el-table-column label="质量等级" align="left" prop="spare8" >&lt;!&ndash;用途&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.quality_type" :value="scope.row.spare8"/>
</template>
</el-table-column>
<el-table-column label="管理号" align="left" prop="spare9" />
</el-table-column>-->
<el-table-column label="合同号" align="left" prop="spare6" />
<el-table-column label="产品号" align="left" prop="spare7" />
<el-table-column label="代号" align="left" prop="spare9" />
<el-table-column label="台次" align="left" prop="spare5" />
<el-table-column label="物料编码" align="left" prop="productId" width="160" />
<el-table-column label="物料名称" align="left" prop="productName" width="160" />
<el-table-column label="供应商" align="left" prop="supplierName" width="160"/>
<el-table-column label="规格" align="left" prop="spec" width="160"/>
<el-table-column label="单位" align="left" prop="unit" />
<el-table-column label="入库数量" align="right" prop="inQuantity" />
</el-table>
<pagination

View File

@@ -52,23 +52,11 @@
<el-table :data="productList" border style="width: 100%">
<el-table-column type="index" label="序号" align="center"/>
<el-table-column fixed label="物料编码" align="left" prop="productId" />
<el-table-column fixed label="物料名称" align="left" prop="productName" />
<el-table-column label="供应商" align="left" prop="supplierId">
<template slot-scope="scope">
<el-input
v-model="scope.row.supplierName"
placeholder="请选择供应商"
@click.native="openSupplierSelectorForRow(scope.row, scope.$index)"
readonly
/>
</template>
</el-table-column>
<el-table-column label="规格型号" align="left" prop="spec" />
<el-table-column label="生产图号" align="left" prop="cargoNo" />
<el-table-column label="单位" align="left" prop="unit" />
<!-- <el-table-column label="生产图号" align="left" prop="cargoNo" />-->
<!-- <el-table-column label="单位" align="left" prop="unit" />-->
<!-- <el-table-column label="单价" align="left" prop="price" /> -->
<el-table-column label="来源" align="left" prop="spare1" >
<!-- <el-table-column label="来源" align="left" prop="spare1" >
<template slot-scope="scope">
<el-select v-model="scope.row.spare1" placeholder="请选择来源" >
<el-option
@@ -115,43 +103,61 @@
/>
</el-select>
</template>
</el-table-column>
<el-table-column label="台次" align="left" prop="spare5">
<template slot-scope="scope">
<el-input v-model="scope.row.spare5" placeholder="请输入台次"></el-input>
</template>
</el-table-column>
</el-table-column>-->
<el-table-column label="合同号" align="left" prop="spare6">
<template slot-scope="scope">
<el-input v-model="scope.row.spare6" placeholder="请输入合同号"></el-input>
</template>
</el-table-column>
<el-table-column label="件次" align="left" prop="spare7" >
<el-table-column label="产品号" align="left" prop="spare7" >
<template slot-scope="scope">
<el-input v-model="scope.row.spare7" placeholder="请输入件次"></el-input>
<el-input v-model="scope.row.spare7" placeholder="请输入产品号"></el-input>
</template>
</el-table-column>
<el-table-column label="批次" align="left" prop="lotNo" >
<el-table-column label="代号" align="left" prop="spare9" >
<template slot-scope="scope">
<el-input v-model="scope.row.spare9" placeholder="请输入代号"></el-input>
</template>
</el-table-column>
<el-table-column label="台次" align="left" prop="spare5">
<template slot-scope="scope">
<el-input v-model="scope.row.spare5" placeholder="请输入台次"></el-input>
</template>
</el-table-column>
<el-table-column label="物料编码" align="left" prop="productId" />
<el-table-column label="物料名称" align="left" prop="productName" />
<el-table-column label="供应商" align="left" prop="supplierId">
<template slot-scope="scope">
<el-input
v-model="scope.row.supplierName"
placeholder="请选择供应商"
@click.native="openSupplierSelectorForRow(scope.row, scope.$index)"
readonly
/>
</template>
</el-table-column>
<el-table-column label="规格型号" align="left" prop="spec" />
<!-- <el-table-column label="批次" align="left" prop="lotNo" >
<template slot-scope="scope">
<el-input v-model="scope.row.lotNo" placeholder="请输入批次"></el-input>
</template>
</el-table-column>
<el-table-column label="单价" align="left" prop="price" >
</el-table-column>-->
<!-- <el-table-column label="单价" align="left" prop="price" >
<template slot-scope="scope">
<el-input v-model="scope.row.price" placeholder="请输入单价"></el-input>
</template>
</el-table-column>
<el-table-column label="管理号" align="left" prop="spare9" >
<template slot-scope="scope">
<el-input v-model="scope.row.spare9" placeholder="请输入管理号"></el-input>
</template>
</el-table-column>
</el-table-column>-->
<el-table-column label="数量" align="left" prop="quantity" >
<template slot-scope="scope">
<el-input v-model="scope.row.quantity" placeholder="请输入数量"></el-input>
</template>
</el-table-column>
<el-table-column label="质量" align="left" prop="spare8">
<<!--el-table-column label="质量" align="left" prop="spare8">
<template slot-scope="scope">
<el-select v-model="scope.row.spare8" placeholder="请选择质量" >
<el-option
@@ -162,7 +168,7 @@
/>
</el-select>
</template>
</el-table-column>
</el-table-column>-->
<el-table-column label="操作" width="100" align="center">
<template slot-scope="scope">
<el-button

View File

@@ -185,16 +185,21 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="子单ID" align="left" prop="stockinDetailId" width="160"/><!--子单ID-->
<el-table-column label="主单ID" align="left" prop="stockinId" width="160"/><!--主单ID-->
<el-table-column label="合同号" align="left" prop="spare6"/>
<el-table-column label="产品号" align="left" prop="spare7"/>
<el-table-column label="代号" align="left" prop="spare9"/>
<el-table-column label="台次" align="left" prop="spare5"/>
<el-table-column label="物料编码" align="left" prop="productId"/><!--物料编码-->
<el-table-column label="物料名称" align="left" prop="productName" width="160"/><!--物料编码-->
<el-table-column label="供应商" align="left" prop="supplierName" width="160"/><!--供应商-->
<el-table-column label="规格型号" align="left" prop="spec" width="160"/>
<el-table-column label="计划数量" align="right" prop="quantity"/><!--计划数量-->
<el-table-column label="扫码数量" align="right" prop="scanNum"/><!--扫码数量-->
<el-table-column label="实际数量" align="right" prop="assignNum"/><!--实际数量-->
<el-table-column label="供应商" align="left" prop="supplierName" width="160"/><!--供应商-->
<el-table-column label="规格型号" align="left" prop="spec" width="160"/>
<el-table-column label="生产图号" align="left" prop="cargoNo" />
<el-table-column label="单位" align="left" prop="unit" />
<el-table-column label="来源" align="left" prop="spare1"><!--来源-->
<!-- <el-table-column label="生产图号" align="left" prop="cargoNo" />-->
<!-- <el-table-column label="单位" align="left" prop="unit" />-->
<!-- <el-table-column label="来源" align="left" prop="spare1">&lt;!&ndash;来源&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.spare1"/>
</template>
@@ -204,28 +209,26 @@
<dict-tag :options="dict.type.turnover_type" :value="scope.row.spare2"/>
</template>
</el-table-column>
<el-table-column label="套账" align="left" prop="spare3"><!--套账-->
<el-table-column label="套账" align="left" prop="spare3">&lt;!&ndash;套账&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.account_type" :value="scope.row.spare3"/>
</template>
</el-table-column>
<el-table-column label="用途" align="left" prop="spare4"><!--用途-->
<el-table-column label="用途" align="left" prop="spare4">&lt;!&ndash;用途&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.spare4"/>
</template>
</el-table-column>
<el-table-column label="台次" align="left" prop="spare5"/>
<el-table-column label="合同号" align="left" prop="spare6"/>
<el-table-column label="件次" align="left" prop="spare7"/>
<el-table-column label="批次" align="left" prop="lotNo"/>
<el-table-column label="单价" align="left" prop="price"/>
<el-table-column label="管理号" align="left" prop="spare9"/>
</el-table-column>-->
<el-table-column label="质量" align="left" prop="spare8"><!--用途-->
<!-- <el-table-column label="批次" align="left" prop="lotNo"/>-->
<!-- <el-table-column label="单价" align="left" prop="price"/>-->
<!-- <el-table-column label="质量" align="left" prop="spare8">&lt;!&ndash;用途&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.quality_type" :value="scope.row.spare8"/>
</template>
</el-table-column>
</el-table-column>-->
</el-table>

View File

@@ -21,14 +21,14 @@
/>
</el-form-item>
<!-- <el-form-item label="托盘条码" prop="trayCode"> &lt;!&ndash; 托盘条码 &ndash;&gt;-->
<!-- <el-input-->
<!-- v-model="queryParams.trayCode"-->
<!-- placeholder="请输入托盘条码"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="托盘条码" prop="trayCode"> <!-- 托盘条码 -->
<el-input
v-model="queryParams.trayCode"
placeholder="请输入托盘条码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="作业类型" prop="inOrOut"> &lt;!&ndash; 作业类型 &ndash;&gt;-->
<!-- <el-select v-model="queryParams.inOrOut" placeholder="请选择作业类型" clearable>-->
@@ -157,41 +157,43 @@
<el-table-column label="子任务ID" align="left" prop="jobDetailId" width="160" /> <!-- 子任务ID -->
<el-table-column label="库存ID" align="left" prop="stockId" width="160" /> <!-- 库存ID -->
<el-table-column label="子单据ID" align="left" prop="inOrOutDId" width="160" /> <!-- 子单据ID -->
<el-table-column label="合同号" align="left" prop="spare6" />
<el-table-column label="产品号" align="left" prop="spare7" />
<el-table-column label="代号" align="left" prop="spare9" />
<el-table-column label="台次" align="left" prop="spare5" />
<el-table-column label="物料编码" align="left" prop="productId" />
<el-table-column label="物料名称" align="left" prop="productName" />
<!-- <el-table-column label="供应商" align="left" prop="supplierName" />-->
<el-table-column label="出库数量" align="right" prop="outQuantity" /> <!-- 出库数量 -->
<el-table-column label="批号" align="left" prop="lotNo" />
<el-table-column label="单价" align="left" prop="printDate" />
<el-table-column label="供应商" align="left" prop="supplierName" />
<el-table-column label="来源" align="left" prop="spare1" ><!--来源-->
<!-- <el-table-column label="批号" align="left" prop="lotNo" />-->
<!-- <el-table-column label="单价" align="left" prop="printDate" />-->
<!-- <el-table-column label="来源" align="left" prop="spare1" >&lt;!&ndash;来源&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.spare1"/>
</template>
</el-table-column>
<el-table-column label="状态" align="left" prop="spare2" ><!--用途-->
<el-table-column label="状态" align="left" prop="spare2" >&lt;!&ndash;用途&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.turnover_type" :value="scope.row.spare2"/>
</template>
</el-table-column>
<el-table-column label="套账" align="left" prop="spare3" ><!--用途-->
<el-table-column label="套账" align="left" prop="spare3" >&lt;!&ndash;用途&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.account_type" :value="scope.row.spare3"/>
</template>
</el-table-column>
<el-table-column label="用途" align="left" prop="spare4" ><!--用途-->
<el-table-column label="用途" align="left" prop="spare4" >&lt;!&ndash;用途&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.spare4"/>
</template>
</el-table-column>
<el-table-column label="台次" align="left" prop="spare5" />
<el-table-column label="合同号" align="left" prop="spare6" />
<el-table-column label="件次" align="left" prop="spare7" />
<el-table-column label="质量等级" align="left" prop="spare8" ><!--用途-->
</el-table-column>-->
<!-- <el-table-column label="质量等级" align="left" prop="spare8" >&lt;!&ndash;用途&ndash;&gt;
<template slot-scope="scope">
<dict-tag :options="dict.type.quality_type" :value="scope.row.spare8"/>
</template>
</el-table-column>
<el-table-column label="管理号" align="left" prop="spare9" />
</el-table-column>-->
</el-table>
<pagination

View File

@@ -63,7 +63,7 @@ export default {
series: []
},
// 图表颜色
chartColors: ['#409EFF', '#67C23A'],
chartColors: ['#409EFF', '#c2b73a','#43c23a'],
queryWarehouseParam:{
pageNum: 1,
pageSize: 99,

View File

@@ -43,12 +43,20 @@
<!-- 物资明细表格 -->
<el-table v-loading="loading" :data="materialList">
<el-table-column label="仓库" align="center" prop="warehouseId" >
<template slot-scope="scope">
<dict-tag :options="dict.type.warehouse" :value="scope.row.warehouseId"/>
</template>
</el-table-column>
<el-table-column label="合同号" align="center" prop="cargoNo" />
<el-table-column label="产品号" align="center" prop="phase" />
<el-table-column label="代号" align="center" prop="fid" />
<el-table-column label="台次" align="center" prop="power" />
<el-table-column label="物料编码" align="center" prop="productId" /><!--物资编号-->
<el-table-column label="物料名称" align="center" prop="productName" /><!--物资名称-->
<el-table-column label="批次" align="center" prop="lotNo" />
<!-- <el-table-column label="批次" align="center" prop="lotNo" />-->
<el-table-column label="规格型号" align="center" prop="productSpec" />
<el-table-column label="管理号" align="center" prop="fid" />
<el-table-column label="供应商" align="center" prop="supplierName" />
<!-- <el-table-column label="供应商" align="center" prop="supplierName" />-->
<!-- <el-table-column label="客户编码" align="center" prop="outId" />-->
<el-table-column label="客户名称" align="center" prop="customerName" width="230">
<template slot-scope="scope">
@@ -66,7 +74,7 @@
<el-input-number v-model="scope.row.quantity" :min="1" size="mini" @change="handleQuantityChange(scope.row)" />
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="spec">
<!-- <el-table-column label="状态" align="center" prop="spec">
<template slot-scope="scope">
<dict-tag :options="dict.type.turnover_type" :value="scope.row.spec"/>
</template>
@@ -75,17 +83,16 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.unit"/>
</template>
</el-table-column>
<el-table-column label="合同号" align="center" prop="cargoNo" />
<el-table-column label="入库单价" align="center" prop="price" />
<el-table-column label="产品质量" align="center" prop="voltage" >
</el-table-column>-->
<!-- <el-table-column label="入库单价" align="center" prop="price" />-->
<!-- <el-table-column label="产品质量" align="center" prop="voltage" >
<template slot-scope="scope">
<dict-tag :options="dict.type.quality_type" :value="scope.row.voltage"/>
</template>
</el-table-column>
<el-table-column label="台次" align="center" prop="power" />
<el-table-column label="件次" align="center" prop="phase" />
<el-table-column label="用途" align="center" prop="model" >
</el-table-column>-->
<!-- <el-table-column label="用途" align="center" prop="model" >
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.model"/>
</template>
@@ -96,25 +103,21 @@
</template>
</el-table-column>
<el-table-column label="单位" align="center" prop="productUnit" />
<el-table-column label="图号" align="center" prop="productDrawNo" />
<el-table-column label="仓库" align="center" prop="warehouseId" >
<template slot-scope="scope">
<dict-tag :options="dict.type.warehouse" :value="scope.row.warehouseId"/>
</template>
</el-table-column>
<el-table-column label="物料状态" align="center" prop="productStatus" >
<el-table-column label="图号" align="center" prop="productDrawNo" />-->
<!-- <el-table-column label="物料状态" align="center" prop="productStatus" >
<template slot-scope="scope">
<dict-tag :options="dict.type.product_type" :value="scope.row.productStatus"/>
</template>
</el-table-column>
<el-table-column label="常用编码" align="center" prop="parentId" />
</el-table-column>-->
<!-- <el-table-column label="常用编码" align="center" prop="parentId" />
<el-table-column label="是否启用" align="center" prop="isUsed" >
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isUsed"/>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column label="创建用户" align="center" prop="createSys" />
<el-table-column label="创建用户" align="center" prop="createSys" />-->
<el-table-column :label="'操作'" align="center" class-name="small-padding fixed-width"><!--操作-->
<template slot-scope="scope">
@@ -124,43 +127,26 @@
</el-table>
<!-- 选择物资弹窗 -->
<el-dialog :title="'选择物资'" :visible.sync="materialDialog" width="800px" append-to-body><!--选择物资-->
<el-dialog :title="'选择物资'" :visible.sync="materialDialog" width="1700px" append-to-body><!--选择物资-->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
<el-form-item label="物料编码" prop="productId"><!--物资编码-->
<el-form-item label="合同号" prop="orderId">
<el-input
v-model="queryParams.productId"
:placeholder="'请输入物料编码'"
v-model="queryParams.orderId"
placeholder="请输入合同号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料名称" prop="productName"><!--物资名称-->
<el-form-item label="产品号" prop="phase">
<el-input
v-model="queryParams.productName"
:placeholder="'请输入物料名称'"
v-model="queryParams.phase"
placeholder="请输入产品号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="批次" prop="lotNo">
<el-input
v-model="queryParams.lotNo"
placeholder="请输入批次"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="供应商" prop="supplierName">
<el-input
v-model="queryParams.supplierName"
placeholder="点击选择供应商"
readonly
size="small"
@focus="openSupplierSelector"
/>
</el-form-item>
<el-form-item label="管理号" prop="distribution">
<el-form-item label="代号" prop="distribution">
<el-input
v-model="queryParams.distribution"
placeholder="请输入管理号"
@@ -168,10 +154,18 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="合同号" prop="orderId">
<!-- <el-form-item label="物料编码" prop="productId">&lt;!&ndash;物资编码&ndash;&gt;
<el-input
v-model="queryParams.orderId"
placeholder="请输入合同号"
v-model="queryParams.productId"
:placeholder="'请输入物料编码'"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="物料名称" prop="productName"><!--物资名称-->
<el-input
v-model="queryParams.productName"
:placeholder="'请输入物料名称'"
clearable
@keyup.enter.native="handleQuery"
/>
@@ -184,14 +178,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="图号" prop="cargoNo">
<el-input
v-model="queryParams.cargoNo"
placeholder="请输入图号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{'搜索'}}<!--搜索--></el-button>
@@ -202,18 +189,24 @@
<el-table v-loading="materialLoading" :data="materialOptions" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" align="center" prop="onlyIdentity" />
<el-table-column label="物料编码" align="center" prop="productId" />
<el-table-column label="批次" align="center" prop="lotNo" />
<el-table-column label="物料名称" align="center" prop="productName" />
<el-table-column label="规格型号" align="center" prop="spec" />
<el-table-column label="图号" align="center" prop="cargoNo" />
<el-table-column label="库存数量" align="center" prop="quantity" />
<el-table-column label="仓库" align="center" prop="warehouseId" >
<template slot-scope="scope">
<dict-tag :options="dict.type.warehouse" :value="scope.row.warehouseId"/>
</template>
</el-table-column>
<el-table-column label="来源" align="center" prop="spare1">
<el-table-column label="合同号" align="center" prop="orderId" />
<el-table-column label="代号" align="center" prop="distribution" />
<el-table-column label="产品号" align="center" prop="power" />
<el-table-column label="台次" align="center" prop="spare5" />
<el-table-column label="物料编码" align="center" prop="productId" />
<!-- <el-table-column label="批次" align="center" prop="lotNo" />-->
<el-table-column label="物料名称" align="center" prop="productName" />
<el-table-column label="规格型号" align="center" prop="spec" />
<!-- <el-table-column label="图号" align="center" prop="cargoNo" />-->
<el-table-column label="库存数量" align="center" prop="quantity" />
<!-- <el-table-column label="来源" align="center" prop="spare1">
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.spare1"/>
</template>
@@ -227,20 +220,17 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.spare4"/>
</template>
</el-table-column>
<el-table-column label="台次" align="center" prop="spare5" />
<el-table-column label="入库单价" align="center" prop="spare6" />
<el-table-column label="状态" align="center" prop="voltage">
</el-table-column>-->
<!-- <el-table-column label="入库单价" align="center" prop="spare6" />-->
<!-- <el-table-column label="状态" align="center" prop="voltage">
<template slot-scope="scope">
<dict-tag :options="dict.type.turnover_type" :value="scope.row.voltage"/>
</template>
</el-table-column>
<el-table-column label="件次" align="center" prop="power" />
</el-table-column>-->
<!-- <el-table-column label="供应商" align="center" prop="phase" />-->
<el-table-column label="供应商" align="center" prop="supplierName" />
<el-table-column label="管理号" align="center" prop="distribution" />
<el-table-column label="合同号" align="center" prop="orderId" />
<el-table-column label="质量等级" align="center" prop="spare8">
<!-- <el-table-column label="供应商" align="center" prop="supplierName" />-->
<!-- <el-table-column label="质量等级" align="center" prop="spare8">
<template slot-scope="scope">
<dict-tag :options="dict.type.quality_type" :value="scope.row.spare8"/>
</template>
@@ -257,9 +247,9 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.spare7"/>
</template>
</el-table-column>
<el-table-column label="创建用户" align="center" prop="createSys" />
<el-table-column label="单位" align="center" prop="unit" />
</el-table-column>-->
<!-- <el-table-column label="创建用户" align="center" prop="createSys" />-->
<!-- <el-table-column label="单位" align="center" prop="unit" />-->
</el-table>
<pagination

View File

@@ -30,14 +30,14 @@
/>
</el-select>
</el-form-item>
<el-form-item :label="'客户名称'" prop="customerName">
<!-- <el-form-item :label="'客户名称'" prop="customerName">
<el-input
v-model="queryParams.customerName"
:placeholder="'请输入客户名称'"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-form-item>-->
<el-form-item :label="'物料名称'" prop="productName">
<el-input
v-model="queryParams.productName"
@@ -153,26 +153,26 @@
<!-- 主表数据 -->
<el-table v-loading="loading" :data="outStockoutList" @selection-change="handleSelectionChange" @row-click="handleRowClick" max-height="400">
<el-table-column type="selection" width="55" align="center" />
<el-table-column :label="'出库单编号'" align="left" prop="stockoutId" /> <!-- 出库单编号 -->
<el-table-column :label="'出库类型'" align="left" prop="outType"> <!-- 出库类型 -->
<el-table-column label="出库单编号" align="left" prop="stockoutId" /> <!-- 出库单编号 -->
<el-table-column label="仓库" align="left" prop="warehouseName" /><!-- 仓库名称 -->
<el-table-column label="出库类型" align="left" prop="outType"> <!-- 出库类型 -->
<template slot-scope="scope">
<dict-tag :options="dict.type.out_bill_type" :value="scope.row.outType"/>
</template>
</el-table-column>
<el-table-column :label="'单据状态'" align="left" prop="status"> <!-- 单据状态 -->
<el-table-column label="单据状态" align="left" prop="status"> <!-- 单据状态 -->
<template slot-scope="scope">
<dict-tag :options="dict.type.out_bill_status" :value="scope.row.status"/>
</template>
</el-table-column>
<!-- <el-table-column :label="'出口'" align="left" prop="exitId" />-->
<!-- <el-table-column :label="'客户编码'" align="left" prop="customerNo" />&lt;!&ndash; 客户编码 &ndash;&gt;-->
<!-- <el-table-column :label="'客户名称'" align="left" prop="customerName" />-->
<el-table-column :label="'建单人'" align="left" prop="createManId" /> <!-- 建单人 -->
<el-table-column :label="'备注'" align="center" prop="remark" /> <!-- 备注 -->
<el-table-column :label="'创建时间'" align="left" prop="createDate" /><!-- 创建时间 -->
<el-table-column :label="'开始时间'" align="left" prop="startDate" /><!-- 开始时间 -->
<el-table-column :label="'确认时间'" align="left" prop="finishDate" /> <!-- 确认时间 -->
<!-- <el-table-column :label="'仓库名称'" align="left" prop="warehouseName" />&lt;!&ndash; 仓库名称 &ndash;&gt;-->
<el-table-column label="客户名称" align="left" prop="customerName" />
<el-table-column label="建单人" align="left" prop="createManId" /> <!-- 建单人 -->
<el-table-column label="备注" align="center" prop="remark" /> <!-- 备注 -->
<el-table-column label="创建时间" align="left" prop="createDate" /><!-- 创建时间 -->
<el-table-column label="开始时间" align="left" prop="startDate" /><!-- 开始时间 -->
<el-table-column label="确认时间" align="left" prop="finishDate" /> <!-- 确认时间 -->
</el-table>
<pagination
@@ -187,17 +187,26 @@
<el-table v-loading="detailLoading" :data="outStockDetailList" style="margin-top: 20px;" @selection-change="handleDetailSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column :label="'出库子单编号'" align="center" prop="stockoutDetailId" width="160" /> <!-- 出库子单编号 -->
<el-table-column :label="'物料编码'" align="center" prop="productId" /> <!-- 物资编码 -->
<el-table-column :label="'物料名称'" align="center" prop="productName" />
<el-table-column :label="'批次'" align="center" prop="lotNo"/><!--英文描述-->
<!-- <el-table-column label="仓库" align="center" prop="warehouseId" >
<template slot-scope="scope">
<dict-tag :options="dict.type.warehouse" :value="scope.row.warehouseId"/>
</template>
</el-table-column>-->
<el-table-column label="合同号" align="center" prop="cargoNo" />
<el-table-column label="产品号" align="center" prop="phase" />
<el-table-column label="代号" align="center" prop="fid" />
<el-table-column label="台次" align="center" prop="power" />
<el-table-column label="物料编码" align="center" prop="productId" /> <!-- 物资编码 -->
<el-table-column label="物料名称" align="center" prop="productName" />
<!-- <el-table-column :label="'批次'" align="center" prop="lotNo"/>-->
<el-table-column label="规格型号" align="center" prop="productSpec" />
<el-table-column label="供应商" align="center" prop="supplierName" />
<!-- <el-table-column label="供应商" align="center" prop="supplierName" />-->
<el-table-column label="客户" align="center" prop="customerName" />
<el-table-column :label="'计划数量'" align="center" prop="quantity" /> <!-- 计划数量 -->
<el-table-column :label="'分配数量'" align="center" prop="allotQuantity" /> <!-- 分配数量 -->
<el-table-column :label="'实际数量'" align="center" prop="assignNum" /> <!-- 实际数量 -->
<el-table-column :label="'入库单价'" align="center" prop="price"/><!--箱号-->
<el-table-column :label="'来源'" align="center" prop="unit">
<el-table-column label="计划数量" align="center" prop="quantity" /> <!-- 计划数量 -->
<el-table-column label="分配数量" align="center" prop="allotQuantity" /> <!-- 分配数量 -->
<el-table-column label="实际数量" align="center" prop="assignNum" /> <!-- 实际数量 -->
<!-- <el-table-column :label="'入库单价'" align="center" prop="price"/>-->
<!-- <el-table-column :label="'来源'" align="center" prop="unit">
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.unit"/>
</template>
@@ -206,18 +215,16 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.turnover_type" :value="scope.row.spec"/>
</template>
</el-table-column>
<el-table-column :label="'合同号'" align="center" prop="cargoNo" /> <!--型号-->
<el-table-column label="产品质量" align="center" prop="voltage" >
</el-table-column>-->
<!-- <el-table-column label="产品质量" align="center" prop="voltage" >
<template slot-scope="scope">
<dict-tag :options="dict.type.quality_type" :value="scope.row.voltage"/>
</template>
</el-table-column>
<el-table-column label="台次" align="center" prop="power" />
<el-table-column label="件次" align="center" prop="phase" />
</el-table-column>-->
<!-- <el-table-column label="分销" align="center" prop="distribution" />-->
<el-table-column label="用途" align="center" prop="model" >
<!-- <el-table-column label="用途" align="center" prop="model" >
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.model"/>
</template>
@@ -226,15 +233,11 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.account_type" :value="scope.row.entryid"/>
</template>
</el-table-column>
<el-table-column label="仓库" align="center" prop="warehouseId" >
<template slot-scope="scope">
<dict-tag :options="dict.type.warehouse" :value="scope.row.warehouseId"/>
</template>
</el-table-column>
<el-table-column label="单位" align="center" prop="productUnit" />
<el-table-column label="图号" align="center" prop="productDrawNo" />
<el-table-column label="物料状态" align="center" prop="productStatus" >
</el-table-column>-->
<!-- <el-table-column label="单位" align="center" prop="productUnit" />-->
<!-- <el-table-column label="图号" align="center" prop="productDrawNo" />-->
<!-- <el-table-column label="物料状态" align="center" prop="productStatus" >
<template slot-scope="scope">
<dict-tag :options="dict.type.product_type" :value="scope.row.productStatus"/>
</template>
@@ -244,9 +247,9 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.isUsed"/>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column label="创建用户" align="center" prop="createSys" />
</el-table-column>-->
<!-- <el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column label="创建用户" align="center" prop="createSys" />-->
</el-table>

View File

@@ -1,355 +1,232 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="客户编号" prop="customerNo">
<el-input v-model="queryParams.customerNo" placeholder="请输入客户编号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="queryParams.customerName" placeholder="请输入客户名称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="简称" prop="simpleName">
<el-input v-model="queryParams.simpleName" placeholder="请输入简称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="是否可用" prop="useable">
<el-select v-model="queryParams.useable" placeholder="请选择是否可用" clearable>
<div>
<el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px">
<el-form-item label="仓库" prop="warehouseId">
<el-select
v-model="formData.warehouseId"
placeholder="请选择仓库"
clearable
:style="{width: '15%'}"
>
<el-option
v-for="dict in dict.type.is_available"
:key="dict.value"
:label="dict.label"
:value="dict.value"
v-for="item in warehouseOptions"
:key="item.warehouseId"
:label="item.warehouseName"
:value="item.warehouseId"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-form-item label="托盘码" prop="trayCode">
<el-input
v-model="formData.trayCode"
:maxlength="8"
show-word-limit
placeholder="请输入条码"
clearable
:style="{width: '15%'}"
@change="handleTrayChange"
>
</el-input>
</el-form-item>
<el-form-item label="入库子单" prop="stockinDetailId">
<el-input
v-model="formData.stockinDetailId"
placeholder="请输入入库子单"
clearable
:style="{width: '15%'}"
@keyup.enter.native="handleQueryDetail"
@change="handleQueryDetail"
>
</el-input>
</el-form-item>
<el-card style="margin-top: 16px;">
<div slot="header">托盘已绑定物料</div>
<el-table v-if="trayMaterials && trayMaterials.length" :data="trayMaterials" size="small">
<el-table-column label="子单编码" align="left" prop="stockinDetailId"/>
<el-table-column label="物料名称" align="left" prop="productName"/>
<el-table-column label="数量" align="right" prop="quantity"/>
</el-table>
<el-empty v-else description="暂无数据"></el-empty>
</el-card>
<el-form-item size="large">
<el-button type="primary" @click="submitForm">确认入库</el-button>
<el-button @click="resetForm">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['bas:BasCustomer:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['bas:BasCustomer:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['bas:BasCustomer:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['bas:BasCustomer:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="BasCustomerList" @selection-change="handleSelectionChange" max-height="700">
<el-table-column type="selection" align="center" />
<el-table-column label="客户编号" align="left" prop="customerNo" />
<!-- <el-table-column label="客户类别" align="left" prop="customerGroupNo" /> -->
<el-table-column label="客户名称" align="left" prop="customerName" />
<el-table-column label="简称" align="left" prop="simpleName" />
<el-table-column label="是否可用" align="left" prop="useable" >
<template slot-scope="scope">
<dict-tag :options="dict.type.is_available" :value="scope.row.useable"/>
</template>
<el-dialog :title="'入库子单详情'" :visible.sync="detailOpen" width="1400px" append-to-body>
<el-table v-if="detailRow" :data="[detailRow]" size="small">
<el-table-column label="子单ID" align="left" prop="stockinDetailId" />
<el-table-column label="物料编码" align="left" prop="productId"/>
<el-table-column label="物料名称" align="left" prop="productName"/>
<el-table-column label="台次" align="left" prop="spare5"/>
<el-table-column label="合同号" align="left" prop="spare6"/>
<el-table-column label="入库数量" align="right">
<template slot-scope="scope">
<el-input-number v-model="inQuantity" :min="1" :max="remainQty" :step="1" controls-position="right"></el-input-number>
</template>
</el-table-column>
<el-table-column label="备注" align="left" prop="remark" />
<!-- <el-table-column width="120" label="业务部门" align="left" prop="businessDepartment" />
<el-table-column width="120" label="业务员" align="left" prop="salesman" />
<el-table-column width="120" label="助记码" align="left" prop="mnemonicCode" />
<el-table-column width="120" label="客户类型" align="left" prop="type" />
<el-table-column width="120" label="纳税人识别号" align="left" prop="taxpayerRegistrationNumber" />
<el-table-column width="120" label="财务组织" align="left" prop="organization" />
<el-table-column width="120" label="上级客户" align="left" prop="supCustomer" />
<el-table-column width="120" label="个人客户" align="left" prop="retailInvestor" />
<el-table-column width="120" label="国家/地区" align="left" prop="country" />
<el-table-column width="120" label="时区" align="left" prop="timeZone" />
<el-table-column width="120" label="数据格式" align="left" prop="dataFormat" />
<el-table-column width="120" label="联系人" align="left" prop="contactName" />
<el-table-column width="120" label="装运国家" align="left" prop="shipment" />
<el-table-column width="120" label="税种" align="left" prop="taxCategory" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['bas:BasCustomer:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['bas:BasCustomer:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改客户对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="客户编号" prop="customerNo">
<el-input v-model="form.customerNo" placeholder="请输入客户编号" />
</el-form-item>
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="form.customerName" placeholder="请输入客户名称" />
</el-form-item>
<el-form-item label="简称" prop="simpleName">
<el-input v-model="form.simpleName" placeholder="请输入简称" />
</el-form-item>
<el-form-item label="是否可用" prop="useable">
<el-select v-model="form.useable" placeholder="请选择是否可用">
<el-option
v-for="dict in dict.type.is_available"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item>
<!-- <el-form-item label="业务部门" prop="businessDepartment">
<el-input v-model="form.businessDepartment" placeholder="请输入业务部门" />
</el-form-item>
<el-form-item label="业务员" prop="salesman">
<el-input v-model="form.salesman" placeholder="请输入业务员" />
</el-form-item>
<el-form-item label="助记码" prop="mnemonicCode">
<el-input v-model="form.mnemonicCode" placeholder="请输入助记码" />
</el-form-item>
<el-form-item label="客户类型" prop="type">
<el-input v-model="form.type" placeholder="请输入客户类型" />
</el-form-item>
<el-form-item label="纳税人识别号" prop="taxpayerRegistrationNumber">
<el-input v-model="form.taxpayerRegistrationNumber" placeholder="请输入纳税人识别号" />
</el-form-item>
<el-form-item label="财务组织" prop="organization">
<el-input v-model="form.organization" placeholder="请输入财务组织" />
</el-form-item>
<el-form-item label="上级客户" prop="supCustomer">
<el-input v-model="form.supCustomer" placeholder="请输入上级客户" />
</el-form-item>
<el-form-item label="个人客户" prop="retailInvestor">
<el-input v-model="form.retailInvestor" placeholder="请输入个人客户" />
</el-form-item>
<el-form-item label="国家/地区" prop="country">
<el-input v-model="form.country" placeholder="请输入国家/地区" />
</el-form-item>
<el-form-item label="时区" prop="timeZone">
<el-input v-model="form.timeZone" placeholder="请输入时区" />
</el-form-item>
<el-form-item label="数据格式" prop="dataFormat">
<el-input v-model="form.dataFormat" placeholder="请输入数据格式" />
</el-form-item>
<el-form-item label="联系人" prop="contactName">
<el-input v-model="form.contactName" placeholder="请输入联系人" />
</el-form-item>
<el-form-item label="装运国家" prop="shipment">
<el-input v-model="form.shipment" placeholder="请输入装运国家" />
</el-form-item>
<el-form-item label="税种" prop="taxCategory">
<el-input v-model="form.taxCategory" placeholder="请输入税种" />
</el-form-item> -->
</el-form>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确定</el-button>
<el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="confirmBind">确 定</el-button>
<el-button @click="detailOpen=false">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listBasCustomer, getBasCustomer, delBasCustomer, addBasCustomer, updateBasCustomer } from "@/api/bas/BasCustomer"
import { getStockInDetail} from '@/api/in/stockInDetail'
import { bindTray ,getTrayInfo ,addInJob} from '@/api/rf/rf'
import {listWarehouse} from "@/api/bas/warehouse";
export default {
name: "BasCustomer",
dicts:['is_available'],
components: {},
props: [],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 客户管理表格数据
BasCustomerList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
customerNo: null,
customerGroupNo: null,
customerName: null,
simpleName: null,
useable: null,
businessDepartment: null,
salesman: null,
mnemonicCode: null,
type: null,
taxpayerRegistrationNumber: null,
organization: null,
supCustomer: null,
retailInvestor: null,
country: null,
timeZone: null,
dataFormat: null,
contactName: null,
shipment: null,
taxCategory: null
formData: {
warehouseId: undefined,
trayCode: undefined,
stockinDetailId: undefined,
},
detailLoading: false,
detailOpen: false,
detailRow: null,
inQuantity: null,
trayMaterials: [],
warehouseOptions:[],
queryWarehouseParams:{
pageNum:1,
pageSize:99,
warehouseType:1
},
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "ID不能为空", trigger: "blur" }
],
customerNo: [
{ required: true, message: "客户编号不能为空", trigger: "blur" }
],
customerName: [
{ required: true, message: "客户名称不能为空", trigger: "blur" }
],
useable: [
{ required: true, message: "是否可用不能为空", trigger: "blur" }
],
}
warehouseId: [{
required: true,
message: '请输入仓库号仓库',
trigger: 'blur'
}],
trayCode: [{
required: true,
message: '请输入条码',
trigger: 'blur'
}],
stockinDetailId: [{
required: true,
message: '请输入入库子单',
trigger: 'blur'
}],
},
}
},
created() {
this.getList()
computed: {
remainQty() {
const plan = this.detailRow && Number(this.detailRow.quantity || 0)
const assigned = this.detailRow && Number(this.detailRow.scanNum || 0)
const remain = (plan || 0) - (assigned || 0)
return remain > 0 ? remain : 0
}
},
watch: {},
created() {
this.getWarehouseList()
},
mounted() {},
methods: {
/** 查询客户管理列表 */
getList() {
this.loading = true
listBasCustomer(this.queryParams).then(response => {
this.BasCustomerList = response.rows
this.total = response.total
this.loading = false
})
},
// 取消按钮
cancel() {
this.open = false
this.reset()
},
// 表单重置
reset() {
this.form = {
id: null,
customerNo: null,
customerGroupNo: null,
customerName: null,
simpleName: null,
useable: null,
remark: null,
businessDepartment: null,
salesman: null,
mnemonicCode: null,
type: null,
taxpayerRegistrationNumber: null,
organization: null,
supCustomer: null,
retailInvestor: null,
country: null,
timeZone: null,
dataFormat: null,
contactName: null,
shipment: null,
taxCategory: null
}
this.resetForm("form")
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm")
this.handleQuery()
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = "添加客户"
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const id = row.id || this.ids
getBasCustomer(id).then(response => {
this.form = response.data
this.open = true
this.title = "修改客户"
})
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateBasCustomer(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addBasCustomer(this.form).then(response => {
this.$modal.msgSuccess("添加成功")
this.open = false
this.getList()
})
}
/** 获取仓库列表 */
getWarehouseList() {
listWarehouse(this.queryWarehouseParams).then(response => {
this.warehouseOptions = response.rows;
if (this.warehouseOptions.length > 0) {
this.handleQuery();
}
});
},
async handleTrayChange() {
const code = (this.formData.trayCode || '').toString().trim()
if (!code) {
this.trayMaterials = []
return
}
const res = await getTrayInfo(code)
this.trayMaterials = res.data || res.rows || []
},
async handleQueryDetail() {
const id = (this.formData.stockinDetailId || '').toString().trim()
if (!id) return
this.detailLoading = true
try {
const res = await getStockInDetail(id)
this.detailRow = res.data || null
if (!this.detailRow) {
this.$message.error('未找到入库子单')
return
}
const remain = this.remainQty
this.inQuantity = remain > 0 ? remain : 1
this.detailOpen = !!this.detailRow
} finally {
this.detailLoading = false
}
},
submitForm() {
if (!this.formData.warehouseId){
this.$message.error('请输入仓库号')
return
}
if (!this.formData.trayCode){
this.$message.error('请输入托盘码')
return
}
addInJob(this.formData).then(() => {
this.$message.success('入库成功')
this.resetForm()
})
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids
this.$modal.confirm('是否确认删除客户编号为"' + ids + '"的数据项?').then(function() {
return delBasCustomer(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
}).catch(() => {})
resetForm() {
this.$refs['elForm'].resetFields()
this.trayMaterials = []
},
/** 导出按钮操作 */
handleExport() {
this.download('bas/BasCustomer/export', {
...this.queryParams
}, `BasCustomer_${new Date().getTime()}.xlsx`)
confirmBind() {
if (!this.detailRow) return
const remain = this.remainQty
if (remain <= 0) {
this.$message.error('无剩余数量可入库')
return
}
const qty = Number(this.inQuantity || 0)
if (!qty || qty < 1) {
this.$message.error('请输入入库数量')
return
}
if (qty > remain) {
this.$message.error('入库数量不能超过剩余数量')
return
}
if (!this.formData.trayCode){
this.$message.error('请输入托盘码')
return
}
if (!this.formData.warehouseId){
this.$message.error('请输入仓库号')
return
}
const payload = {
trayCode: this.formData.trayCode,
stockinDetailId: this.formData.stockinDetailId,
inQuantity: qty,
warehouseId: this.formData.warehouseId
}
bindTray(payload).then(() => {
this.$message.success('绑定成功')
this.detailOpen = false
this.handleTrayChange()
})
}
}
}
</script>
<style scoped>
/* 统一表单控件宽度 */
.el-select,
.el-input {
width: 100%;
}
<style>
</style>

View File

@@ -1,355 +1,119 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="客户编号" prop="customerNo">
<el-input v-model="queryParams.customerNo" placeholder="请输入客户编号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="queryParams.customerName" placeholder="请输入客户名称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="简称" prop="simpleName">
<el-input v-model="queryParams.simpleName" placeholder="请输入简称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="是否可用" prop="useable">
<el-select v-model="queryParams.useable" placeholder="请选择是否可用" clearable>
<div>
<el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px">
<el-form-item label="仓库" prop="warehouseId">
<el-select
v-model="formData.warehouseId"
placeholder="请选择仓库"
clearable
:style="{width: '15%'}"
>
<el-option
v-for="dict in dict.type.is_available"
:key="dict.value"
:label="dict.label"
:value="dict.value"
v-for="item in warehouseOptions"
:key="item.warehouseId"
:label="item.warehouseName"
:value="item.warehouseId"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-form-item label="托盘码" prop="trayCode">
<el-input
v-model="formData.trayCode"
placeholder="请输入托盘码"
:maxlength="8"
show-word-limit
clearable
prefix-icon='el-icon-mobile'
:style="{width: '15%'}"
></el-input>
</el-form-item>
<el-form-item size="large">
<el-button type="primary" @click="submitForm">提交</el-button>
<el-button @click="resetForm">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['bas:BasCustomer:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['bas:BasCustomer:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['bas:BasCustomer:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['bas:BasCustomer:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="BasCustomerList" @selection-change="handleSelectionChange" max-height="700">
<el-table-column type="selection" align="center" />
<el-table-column label="客户编号" align="left" prop="customerNo" />
<!-- <el-table-column label="客户类别" align="left" prop="customerGroupNo" /> -->
<el-table-column label="客户名称" align="left" prop="customerName" />
<el-table-column label="简称" align="left" prop="simpleName" />
<el-table-column label="是否可用" align="left" prop="useable" >
<template slot-scope="scope">
<dict-tag :options="dict.type.is_available" :value="scope.row.useable"/>
</template>
</el-table-column>
<el-table-column label="备注" align="left" prop="remark" />
<!-- <el-table-column width="120" label="业务部门" align="left" prop="businessDepartment" />
<el-table-column width="120" label="业务员" align="left" prop="salesman" />
<el-table-column width="120" label="助记码" align="left" prop="mnemonicCode" />
<el-table-column width="120" label="客户类型" align="left" prop="type" />
<el-table-column width="120" label="纳税人识别号" align="left" prop="taxpayerRegistrationNumber" />
<el-table-column width="120" label="财务组织" align="left" prop="organization" />
<el-table-column width="120" label="上级客户" align="left" prop="supCustomer" />
<el-table-column width="120" label="个人客户" align="left" prop="retailInvestor" />
<el-table-column width="120" label="国家/地区" align="left" prop="country" />
<el-table-column width="120" label="时区" align="left" prop="timeZone" />
<el-table-column width="120" label="数据格式" align="left" prop="dataFormat" />
<el-table-column width="120" label="联系人" align="left" prop="contactName" />
<el-table-column width="120" label="装运国家" align="left" prop="shipment" />
<el-table-column width="120" label="税种" align="left" prop="taxCategory" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['bas:BasCustomer:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['bas:BasCustomer:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改客户对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="客户编号" prop="customerNo">
<el-input v-model="form.customerNo" placeholder="请输入客户编号" />
</el-form-item>
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="form.customerName" placeholder="请输入客户名称" />
</el-form-item>
<el-form-item label="简称" prop="simpleName">
<el-input v-model="form.simpleName" placeholder="请输入简称" />
</el-form-item>
<el-form-item label="是否可用" prop="useable">
<el-select v-model="form.useable" placeholder="请选择是否可用">
<el-option
v-for="dict in dict.type.is_available"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item>
<!-- <el-form-item label="业务部门" prop="businessDepartment">
<el-input v-model="form.businessDepartment" placeholder="请输入业务部门" />
</el-form-item>
<el-form-item label="业务员" prop="salesman">
<el-input v-model="form.salesman" placeholder="请输入业务员" />
</el-form-item>
<el-form-item label="助记码" prop="mnemonicCode">
<el-input v-model="form.mnemonicCode" placeholder="请输入助记码" />
</el-form-item>
<el-form-item label="客户类型" prop="type">
<el-input v-model="form.type" placeholder="请输入客户类型" />
</el-form-item>
<el-form-item label="纳税人识别号" prop="taxpayerRegistrationNumber">
<el-input v-model="form.taxpayerRegistrationNumber" placeholder="请输入纳税人识别号" />
</el-form-item>
<el-form-item label="财务组织" prop="organization">
<el-input v-model="form.organization" placeholder="请输入财务组织" />
</el-form-item>
<el-form-item label="上级客户" prop="supCustomer">
<el-input v-model="form.supCustomer" placeholder="请输入上级客户" />
</el-form-item>
<el-form-item label="个人客户" prop="retailInvestor">
<el-input v-model="form.retailInvestor" placeholder="请输入个人客户" />
</el-form-item>
<el-form-item label="国家/地区" prop="country">
<el-input v-model="form.country" placeholder="请输入国家/地区" />
</el-form-item>
<el-form-item label="时区" prop="timeZone">
<el-input v-model="form.timeZone" placeholder="请输入时区" />
</el-form-item>
<el-form-item label="数据格式" prop="dataFormat">
<el-input v-model="form.dataFormat" placeholder="请输入数据格式" />
</el-form-item>
<el-form-item label="联系人" prop="contactName">
<el-input v-model="form.contactName" placeholder="请输入联系人" />
</el-form-item>
<el-form-item label="装运国家" prop="shipment">
<el-input v-model="form.shipment" placeholder="请输入装运国家" />
</el-form-item>
<el-form-item label="税种" prop="taxCategory">
<el-input v-model="form.taxCategory" placeholder="请输入税种" />
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确定</el-button>
<el-button @click="cancel">取消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listBasCustomer, getBasCustomer, delBasCustomer, addBasCustomer, updateBasCustomer } from "@/api/bas/BasCustomer"
import { emptyTrayIn} from '@/api/rf/rf'
import {listWarehouse} from "@/api/bas/warehouse";
export default {
name: "BasCustomer",
dicts:['is_available'],
components: {},
props: [],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 客户管理表格数据
BasCustomerList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
customerNo: null,
customerGroupNo: null,
customerName: null,
simpleName: null,
useable: null,
businessDepartment: null,
salesman: null,
mnemonicCode: null,
type: null,
taxpayerRegistrationNumber: null,
organization: null,
supCustomer: null,
retailInvestor: null,
country: null,
timeZone: null,
dataFormat: null,
contactName: null,
shipment: null,
taxCategory: null
formData: {
trayCode: '',
warehouseId: '',
},
// 表单参数
form: {},
// 表单校验
loading: false,
taskDetails: [],
rules: {
id: [
{ required: true, message: "ID不能为空", trigger: "blur" }
],
customerNo: [
{ required: true, message: "客户编号不能为空", trigger: "blur" }
],
customerName: [
{ required: true, message: "客户名称不能为空", trigger: "blur" }
],
useable: [
{ required: true, message: "是否可用不能为空", trigger: "blur" }
],
}
trayCode: [{
required: true,
message: '请输入托盘码',
trigger: 'blur'
}],
},
warehouseOptions:[],
queryWarehouseParams:{
pageNum:1,
pageSize:99
},
}
},
computed: {},
watch: {},
created() {
this.getList()
this.getWarehouseList()
},
mounted() {},
methods: {
/** 查询客户管理列表 */
getList() {
this.loading = true
listBasCustomer(this.queryParams).then(response => {
this.BasCustomerList = response.rows
this.total = response.total
this.loading = false
})
},
// 取消按钮
cancel() {
this.open = false
this.reset()
},
// 表单重置
reset() {
this.form = {
id: null,
customerNo: null,
customerGroupNo: null,
customerName: null,
simpleName: null,
useable: null,
remark: null,
businessDepartment: null,
salesman: null,
mnemonicCode: null,
type: null,
taxpayerRegistrationNumber: null,
organization: null,
supCustomer: null,
retailInvestor: null,
country: null,
timeZone: null,
dataFormat: null,
contactName: null,
shipment: null,
taxCategory: null
}
this.resetForm("form")
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm")
this.handleQuery()
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = "添加客户"
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const id = row.id || this.ids
getBasCustomer(id).then(response => {
this.form = response.data
this.open = true
this.title = "修改客户"
})
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateBasCustomer(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addBasCustomer(this.form).then(response => {
this.$modal.msgSuccess("添加成功")
this.open = false
this.getList()
})
}
/** 获取仓库列表 */
getWarehouseList() {
listWarehouse(this.queryWarehouseParams).then(response => {
this.warehouseOptions = response.rows;
if (this.warehouseOptions.length > 0) {
this.handleQuery();
}
})
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids
this.$modal.confirm('是否确认删除客户编号为"' + ids + '"的数据项?').then(function() {
return delBasCustomer(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
}).catch(() => {})
async submitForm() {
const code = (this.formData.trayCode || '').toString().trim()
if (!code) {
this.$message.error('请输入托盘码')
return
}
const code1 = (this.formData.warehouseId || '').toString().trim()
if (!code1) {
this.$message.error('请选择仓库')
return
}
this.loading = true
try {
const res = await emptyTrayIn({ trayCode: code,warehouseId:code1 })
if (res.code === 200) {
this.$message.success('空托入库生成任务成功')
this.resetForm()
} else {
this.$message.error(res.msg || '空托入库生成任务失败')
}
} finally {
this.loading = false
}
},
resetForm() {
this.$refs['elForm'].resetFields()
this.taskDetails = []
},
/** 导出按钮操作 */
handleExport() {
this.download('bas/BasCustomer/export', {
...this.queryParams
}, `BasCustomer_${new Date().getTime()}.xlsx`)
}
}
}
</script>
<style scoped>
/* 统一表单控件宽度 */
.el-select,
.el-input {
width: 100%;
}
<style>
</style>

View File

@@ -1,355 +1,114 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="客户编号" prop="customerNo">
<el-input v-model="queryParams.customerNo" placeholder="请输入客户编号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="queryParams.customerName" placeholder="请输入客户名称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="简称" prop="simpleName">
<el-input v-model="queryParams.simpleName" placeholder="请输入简称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="是否可用" prop="useable">
<el-select v-model="queryParams.useable" placeholder="请选择是否可用" clearable>
<div>
<el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px">
<el-form-item label="仓库" prop="warehouseId">
<el-select
v-model="formData.warehouseId"
placeholder="请选择仓库"
clearable
:style="{width: '15%'}"
>
<el-option
v-for="dict in dict.type.is_available"
:key="dict.value"
:label="dict.label"
:value="dict.value"
v-for="item in warehouseOptions"
:key="item.warehouseId"
:label="item.warehouseName"
:value="item.warehouseId"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-form-item label="出口" prop="exitId">
<el-input
v-model="formData.exitId"
placeholder="请输入出口"
:maxlength="1"
show-word-limit
clearable
prefix-icon='el-icon-mobile'
:style="{width: '15%'}"
></el-input>
</el-form-item>
<el-form-item size="large">
<el-button type="primary" @click="submitForm">提交</el-button>
<el-button @click="resetForm">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['bas:BasCustomer:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['bas:BasCustomer:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['bas:BasCustomer:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['bas:BasCustomer:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="BasCustomerList" @selection-change="handleSelectionChange" max-height="700">
<el-table-column type="selection" align="center" />
<el-table-column label="客户编号" align="left" prop="customerNo" />
<!-- <el-table-column label="客户类别" align="left" prop="customerGroupNo" /> -->
<el-table-column label="客户名称" align="left" prop="customerName" />
<el-table-column label="简称" align="left" prop="simpleName" />
<el-table-column label="是否可用" align="left" prop="useable" >
<template slot-scope="scope">
<dict-tag :options="dict.type.is_available" :value="scope.row.useable"/>
</template>
</el-table-column>
<el-table-column label="备注" align="left" prop="remark" />
<!-- <el-table-column width="120" label="业务部门" align="left" prop="businessDepartment" />
<el-table-column width="120" label="业务员" align="left" prop="salesman" />
<el-table-column width="120" label="助记码" align="left" prop="mnemonicCode" />
<el-table-column width="120" label="客户类型" align="left" prop="type" />
<el-table-column width="120" label="纳税人识别号" align="left" prop="taxpayerRegistrationNumber" />
<el-table-column width="120" label="财务组织" align="left" prop="organization" />
<el-table-column width="120" label="上级客户" align="left" prop="supCustomer" />
<el-table-column width="120" label="个人客户" align="left" prop="retailInvestor" />
<el-table-column width="120" label="国家/地区" align="left" prop="country" />
<el-table-column width="120" label="时区" align="left" prop="timeZone" />
<el-table-column width="120" label="数据格式" align="left" prop="dataFormat" />
<el-table-column width="120" label="联系人" align="left" prop="contactName" />
<el-table-column width="120" label="装运国家" align="left" prop="shipment" />
<el-table-column width="120" label="税种" align="left" prop="taxCategory" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['bas:BasCustomer:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['bas:BasCustomer:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改客户对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="客户编号" prop="customerNo">
<el-input v-model="form.customerNo" placeholder="请输入客户编号" />
</el-form-item>
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="form.customerName" placeholder="请输入客户名称" />
</el-form-item>
<el-form-item label="简称" prop="simpleName">
<el-input v-model="form.simpleName" placeholder="请输入简称" />
</el-form-item>
<el-form-item label="是否可用" prop="useable">
<el-select v-model="form.useable" placeholder="请选择是否可用">
<el-option
v-for="dict in dict.type.is_available"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item>
<!-- <el-form-item label="业务部门" prop="businessDepartment">
<el-input v-model="form.businessDepartment" placeholder="请输入业务部门" />
</el-form-item>
<el-form-item label="业务员" prop="salesman">
<el-input v-model="form.salesman" placeholder="请输入业务员" />
</el-form-item>
<el-form-item label="助记码" prop="mnemonicCode">
<el-input v-model="form.mnemonicCode" placeholder="请输入助记码" />
</el-form-item>
<el-form-item label="客户类型" prop="type">
<el-input v-model="form.type" placeholder="请输入客户类型" />
</el-form-item>
<el-form-item label="纳税人识别号" prop="taxpayerRegistrationNumber">
<el-input v-model="form.taxpayerRegistrationNumber" placeholder="请输入纳税人识别号" />
</el-form-item>
<el-form-item label="财务组织" prop="organization">
<el-input v-model="form.organization" placeholder="请输入财务组织" />
</el-form-item>
<el-form-item label="上级客户" prop="supCustomer">
<el-input v-model="form.supCustomer" placeholder="请输入上级客户" />
</el-form-item>
<el-form-item label="个人客户" prop="retailInvestor">
<el-input v-model="form.retailInvestor" placeholder="请输入个人客户" />
</el-form-item>
<el-form-item label="国家/地区" prop="country">
<el-input v-model="form.country" placeholder="请输入国家/地区" />
</el-form-item>
<el-form-item label="时区" prop="timeZone">
<el-input v-model="form.timeZone" placeholder="请输入时区" />
</el-form-item>
<el-form-item label="数据格式" prop="dataFormat">
<el-input v-model="form.dataFormat" placeholder="请输入数据格式" />
</el-form-item>
<el-form-item label="联系人" prop="contactName">
<el-input v-model="form.contactName" placeholder="请输入联系人" />
</el-form-item>
<el-form-item label="装运国家" prop="shipment">
<el-input v-model="form.shipment" placeholder="请输入装运国家" />
</el-form-item>
<el-form-item label="税种" prop="taxCategory">
<el-input v-model="form.taxCategory" placeholder="请输入税种" />
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确定</el-button>
<el-button @click="cancel">取消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listBasCustomer, getBasCustomer, delBasCustomer, addBasCustomer, updateBasCustomer } from "@/api/bas/BasCustomer"
import { emptyTrayOut} from '@/api/rf/rf'
import {listWarehouse} from "@/api/bas/warehouse";
export default {
name: "BasCustomer",
dicts:['is_available'],
components: {},
props: [],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 客户管理表格数据
BasCustomerList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
customerNo: null,
customerGroupNo: null,
customerName: null,
simpleName: null,
useable: null,
businessDepartment: null,
salesman: null,
mnemonicCode: null,
type: null,
taxpayerRegistrationNumber: null,
organization: null,
supCustomer: null,
retailInvestor: null,
country: null,
timeZone: null,
dataFormat: null,
contactName: null,
shipment: null,
taxCategory: null
formData: {
exitId: '',
warehouseId: '',
},
// 表单参数
form: {},
// 表单校验
loading: false,
taskDetails: [],
rules: {
id: [
{ required: true, message: "ID不能为空", trigger: "blur" }
],
customerNo: [
{ required: true, message: "客户编号不能为空", trigger: "blur" }
],
customerName: [
{ required: true, message: "客户名称不能为空", trigger: "blur" }
],
useable: [
{ required: true, message: "是否可用不能为空", trigger: "blur" }
],
}
},
warehouseOptions:[],
queryWarehouseParams:{
pageNum:1,
pageSize:99
},
}
},
computed: {},
watch: {},
created() {
this.getList()
this.getWarehouseList()
},
mounted() {},
methods: {
/** 查询客户管理列表 */
getList() {
this.loading = true
listBasCustomer(this.queryParams).then(response => {
this.BasCustomerList = response.rows
this.total = response.total
this.loading = false
})
},
// 取消按钮
cancel() {
this.open = false
this.reset()
},
// 表单重置
reset() {
this.form = {
id: null,
customerNo: null,
customerGroupNo: null,
customerName: null,
simpleName: null,
useable: null,
remark: null,
businessDepartment: null,
salesman: null,
mnemonicCode: null,
type: null,
taxpayerRegistrationNumber: null,
organization: null,
supCustomer: null,
retailInvestor: null,
country: null,
timeZone: null,
dataFormat: null,
contactName: null,
shipment: null,
taxCategory: null
}
this.resetForm("form")
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm")
this.handleQuery()
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = "添加客户"
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const id = row.id || this.ids
getBasCustomer(id).then(response => {
this.form = response.data
this.open = true
this.title = "修改客户"
})
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateBasCustomer(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addBasCustomer(this.form).then(response => {
this.$modal.msgSuccess("添加成功")
this.open = false
this.getList()
})
}
/** 获取仓库列表 */
getWarehouseList() {
listWarehouse(this.queryWarehouseParams).then(response => {
this.warehouseOptions = response.rows;
if (this.warehouseOptions.length > 0) {
this.handleQuery();
}
})
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids
this.$modal.confirm('是否确认删除客户编号为"' + ids + '"的数据项?').then(function() {
return delBasCustomer(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
}).catch(() => {})
async submitForm() {
const code = (this.formData.exitId || '').toString().trim()
if (!code) {
this.$message.error('请输入出口')
return
}
const code1 = (this.formData.warehouseId || '').toString().trim()
if (!code1) {
this.$message.error('请选择仓库')
return
}
this.loading = true
try {
const res = await emptyTrayOut({ exitId: code,warehouseId:code1 })
if (res.code === 200) {
this.$message.success('空托出库生成任务成功')
this.resetForm()
} else {
this.$message.error(res.msg || '空托出库生成任务失败')
}
} finally {
this.loading = false
}
},
resetForm() {
this.$refs['elForm'].resetFields()
this.taskDetails = []
},
/** 导出按钮操作 */
handleExport() {
this.download('bas/BasCustomer/export', {
...this.queryParams
}, `BasCustomer_${new Date().getTime()}.xlsx`)
}
}
}
</script>
<style scoped>
/* 统一表单控件宽度 */
.el-select,
.el-input {
width: 100%;
}
<style>
</style>

View File

@@ -1,355 +1,145 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="客户编号" prop="customerNo">
<el-input v-model="queryParams.customerNo" placeholder="请输入客户编号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="queryParams.customerName" placeholder="请输入客户名称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="简称" prop="simpleName">
<el-input v-model="queryParams.simpleName" placeholder="请输入简称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="是否可用" prop="useable">
<el-select v-model="queryParams.useable" placeholder="请选择是否可用" clearable>
<div>
<el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px">
<el-form-item label="仓库" prop="warehouseId">
<el-select
v-model="formData.warehouseId"
placeholder="请选择仓库"
clearable
:style="{width: '15%'}"
>
<el-option
v-for="dict in dict.type.is_available"
:key="dict.value"
:label="dict.label"
:value="dict.value"
v-for="item in warehouseOptions"
:key="item.warehouseId"
:label="item.warehouseName"
:value="item.warehouseId"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-form-item label="托盘码" prop="trayCode">
<el-input
v-model="formData.trayCode"
placeholder="请输入托盘码"
:maxlength="8"
show-word-limit
clearable
prefix-icon='el-icon-mobile'
:style="{width: '15%'}"
@change="handleTrayChange"
@keyup.enter.native="handleTrayChange"
></el-input>
</el-form-item>
<el-card style="margin-top: 16px;">
<div slot="header">出库任务物资</div>
<el-table v-loading="loading" :data="taskDetails">
<el-table-column label="子单ID" align="left" prop="inOrOutDId" />
<el-table-column label="物料编码" align="left" prop="productId" />
<el-table-column label="物料名称" align="left" prop="productName" />
<el-table-column label="出库数量" align="right" prop="outQuantity" />
</el-table>
</el-card>
<el-form-item size="large">
<el-button type="primary" @click="submitForm">提交</el-button>
<el-button @click="resetForm">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['bas:BasCustomer:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['bas:BasCustomer:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['bas:BasCustomer:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['bas:BasCustomer:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="BasCustomerList" @selection-change="handleSelectionChange" max-height="700">
<el-table-column type="selection" align="center" />
<el-table-column label="客户编号" align="left" prop="customerNo" />
<!-- <el-table-column label="客户类别" align="left" prop="customerGroupNo" /> -->
<el-table-column label="客户名称" align="left" prop="customerName" />
<el-table-column label="简称" align="left" prop="simpleName" />
<el-table-column label="是否可用" align="left" prop="useable" >
<template slot-scope="scope">
<dict-tag :options="dict.type.is_available" :value="scope.row.useable"/>
</template>
</el-table-column>
<el-table-column label="备注" align="left" prop="remark" />
<!-- <el-table-column width="120" label="业务部门" align="left" prop="businessDepartment" />
<el-table-column width="120" label="业务员" align="left" prop="salesman" />
<el-table-column width="120" label="助记码" align="left" prop="mnemonicCode" />
<el-table-column width="120" label="客户类型" align="left" prop="type" />
<el-table-column width="120" label="纳税人识别号" align="left" prop="taxpayerRegistrationNumber" />
<el-table-column width="120" label="财务组织" align="left" prop="organization" />
<el-table-column width="120" label="上级客户" align="left" prop="supCustomer" />
<el-table-column width="120" label="个人客户" align="left" prop="retailInvestor" />
<el-table-column width="120" label="国家/地区" align="left" prop="country" />
<el-table-column width="120" label="时区" align="left" prop="timeZone" />
<el-table-column width="120" label="数据格式" align="left" prop="dataFormat" />
<el-table-column width="120" label="联系人" align="left" prop="contactName" />
<el-table-column width="120" label="装运国家" align="left" prop="shipment" />
<el-table-column width="120" label="税种" align="left" prop="taxCategory" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['bas:BasCustomer:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['bas:BasCustomer:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改客户对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="客户编号" prop="customerNo">
<el-input v-model="form.customerNo" placeholder="请输入客户编号" />
</el-form-item>
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="form.customerName" placeholder="请输入客户名称" />
</el-form-item>
<el-form-item label="简称" prop="simpleName">
<el-input v-model="form.simpleName" placeholder="请输入简称" />
</el-form-item>
<el-form-item label="是否可用" prop="useable">
<el-select v-model="form.useable" placeholder="请选择是否可用">
<el-option
v-for="dict in dict.type.is_available"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item>
<!-- <el-form-item label="业务部门" prop="businessDepartment">
<el-input v-model="form.businessDepartment" placeholder="请输入业务部门" />
</el-form-item>
<el-form-item label="业务员" prop="salesman">
<el-input v-model="form.salesman" placeholder="请输入业务员" />
</el-form-item>
<el-form-item label="助记码" prop="mnemonicCode">
<el-input v-model="form.mnemonicCode" placeholder="请输入助记码" />
</el-form-item>
<el-form-item label="客户类型" prop="type">
<el-input v-model="form.type" placeholder="请输入客户类型" />
</el-form-item>
<el-form-item label="纳税人识别号" prop="taxpayerRegistrationNumber">
<el-input v-model="form.taxpayerRegistrationNumber" placeholder="请输入纳税人识别号" />
</el-form-item>
<el-form-item label="财务组织" prop="organization">
<el-input v-model="form.organization" placeholder="请输入财务组织" />
</el-form-item>
<el-form-item label="上级客户" prop="supCustomer">
<el-input v-model="form.supCustomer" placeholder="请输入上级客户" />
</el-form-item>
<el-form-item label="个人客户" prop="retailInvestor">
<el-input v-model="form.retailInvestor" placeholder="请输入个人客户" />
</el-form-item>
<el-form-item label="国家/地区" prop="country">
<el-input v-model="form.country" placeholder="请输入国家/地区" />
</el-form-item>
<el-form-item label="时区" prop="timeZone">
<el-input v-model="form.timeZone" placeholder="请输入时区" />
</el-form-item>
<el-form-item label="数据格式" prop="dataFormat">
<el-input v-model="form.dataFormat" placeholder="请输入数据格式" />
</el-form-item>
<el-form-item label="联系人" prop="contactName">
<el-input v-model="form.contactName" placeholder="请输入联系人" />
</el-form-item>
<el-form-item label="装运国家" prop="shipment">
<el-input v-model="form.shipment" placeholder="请输入装运国家" />
</el-form-item>
<el-form-item label="税种" prop="taxCategory">
<el-input v-model="form.taxCategory" placeholder="请输入税种" />
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确定</el-button>
<el-button @click="cancel">取消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listBasCustomer, getBasCustomer, delBasCustomer, addBasCustomer, updateBasCustomer } from "@/api/bas/BasCustomer"
import { getTaskDetail ,ckMakeSure} from '@/api/rf/rf'
import {listWarehouse} from "@/api/bas/warehouse";
export default {
name: "BasCustomer",
dicts:['is_available'],
components: {},
props: [],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 客户管理表格数据
BasCustomerList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
customerNo: null,
customerGroupNo: null,
customerName: null,
simpleName: null,
useable: null,
businessDepartment: null,
salesman: null,
mnemonicCode: null,
type: null,
taxpayerRegistrationNumber: null,
organization: null,
supCustomer: null,
retailInvestor: null,
country: null,
timeZone: null,
dataFormat: null,
contactName: null,
shipment: null,
taxCategory: null
formData: {
trayCode: '',
warehouseId: '',
},
// 表单参数
form: {},
// 表单校验
loading: false,
taskDetails: [],
rules: {
id: [
{ required: true, message: "ID不能为空", trigger: "blur" }
],
customerNo: [
{ required: true, message: "客户编号不能为空", trigger: "blur" }
],
customerName: [
{ required: true, message: "客户名称不能为空", trigger: "blur" }
],
useable: [
{ required: true, message: "是否可用不能为空", trigger: "blur" }
],
}
trayCode: [{
required: true,
message: '请输入托盘码',
trigger: 'blur'
}],
},
warehouseOptions:[],
queryWarehouseParams:{
pageNum:1,
pageSize:99
},
}
},
computed: {},
watch: {},
created() {
this.getList()
this.getWarehouseList()
},
mounted() {},
methods: {
/** 查询客户管理列表 */
getList() {
this.loading = true
listBasCustomer(this.queryParams).then(response => {
this.BasCustomerList = response.rows
this.total = response.total
this.loading = false
})
},
// 取消按钮
cancel() {
this.open = false
this.reset()
},
// 表单重置
reset() {
this.form = {
id: null,
customerNo: null,
customerGroupNo: null,
customerName: null,
simpleName: null,
useable: null,
remark: null,
businessDepartment: null,
salesman: null,
mnemonicCode: null,
type: null,
taxpayerRegistrationNumber: null,
organization: null,
supCustomer: null,
retailInvestor: null,
country: null,
timeZone: null,
dataFormat: null,
contactName: null,
shipment: null,
taxCategory: null
}
this.resetForm("form")
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm")
this.handleQuery()
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = "添加客户"
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const id = row.id || this.ids
getBasCustomer(id).then(response => {
this.form = response.data
this.open = true
this.title = "修改客户"
})
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateBasCustomer(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addBasCustomer(this.form).then(response => {
this.$modal.msgSuccess("添加成功")
this.open = false
this.getList()
})
}
/** 获取仓库列表 */
getWarehouseList() {
listWarehouse(this.queryWarehouseParams).then(response => {
this.warehouseOptions = response.rows;
if (this.warehouseOptions.length > 0) {
this.handleQuery();
}
})
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids
this.$modal.confirm('是否确认删除客户编号为"' + ids + '"的数据项?').then(function() {
return delBasCustomer(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
}).catch(() => {})
async handleTrayChange() {
const code = (this.formData.trayCode || '').toString().trim()
if (!code) {
this.taskDetails = []
return
}
this.loading = true
try {
const res = await getTaskDetail({ trayCode: code })
const rows = Array.isArray(res?.data) ? res.data : (Array.isArray(res?.rows) ? res.rows : [])
this.taskDetails = rows
} finally {
this.loading = false
}
},
async submitForm() {
const code = (this.formData.trayCode || '').toString().trim()
if (!code) {
this.$message.error('请输入托盘码')
return
}
const code1 = (this.formData.warehouseId || '').toString().trim()
if (!code1) {
this.$message.error('请选择仓库')
return
}
this.loading = true
try {
const res = await ckMakeSure({ trayCode: code,warehouseId:code1 })
if (res.code === 200) {
this.$message.success('出库确认成功')
this.resetForm()
} else {
this.$message.error(res.msg || '出库确认失败')
}
} finally {
this.loading = false
}
},
resetForm() {
this.$refs['elForm'].resetFields()
this.taskDetails = []
},
/** 导出按钮操作 */
handleExport() {
this.download('bas/BasCustomer/export', {
...this.queryParams
}, `BasCustomer_${new Date().getTime()}.xlsx`)
}
}
}
</script>
<style scoped>
/* 统一表单控件宽度 */
.el-select,
.el-input {
width: 100%;
}
<style>
</style>

View File

@@ -1,355 +1,248 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="客户编号" prop="customerNo">
<el-input v-model="queryParams.customerNo" placeholder="请输入客户编号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="queryParams.customerName" placeholder="请输入客户名称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="简称" prop="simpleName">
<el-input v-model="queryParams.simpleName" placeholder="请输入简称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="是否可用" prop="useable">
<el-select v-model="queryParams.useable" placeholder="请选择是否可用" clearable>
<div>
<el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px">
<el-form-item label="仓库" prop="warehouseId">
<el-select
v-model="formData.warehouseId"
placeholder="请选择仓库"
clearable
:style="{width: '15%'}"
>
<el-option
v-for="dict in dict.type.is_available"
:key="dict.value"
:label="dict.label"
:value="dict.value"
v-for="item in warehouseOptions"
:key="item.warehouseId"
:label="item.warehouseName"
:value="item.warehouseId"
/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
<el-form-item label="托盘码" prop="trayCode">
<el-input
v-model="formData.trayCode"
placeholder="请输入托盘码"
:maxlength="8"
show-word-limit
clearable
prefix-icon='el-icon-mobile'
:style="{width: '15%'}"
@change="handleTrayChange"
@keyup.enter.native="handleTrayChange"
></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="openAddDialog">新增物料</el-button>
<el-button type="warning" @click="submitCheck">提交盘点</el-button>
</el-form-item>
<el-card style="margin-top: 16px;">
<div slot="header">盘点任务物资</div>
<el-table v-loading="loading" :data="editableRows">
<el-table-column label="物料编码" align="left" prop="productId" />
<el-table-column label="物料名称" align="left" prop="productName" />
<el-table-column label="原数量" align="right" prop="origQuantity" />
<el-table-column label="盘点数量">
<template slot-scope="scope">
<el-input-number v-model="scope.row.countedQuantity" :min="0" :step="1" controls-position="right"></el-input-number>
</template>
</el-table-column>
<el-table-column label="差异" align="right">
<template slot-scope="scope">
{{ (Number(scope.row.countedQuantity||0)) - (Number(scope.row.origQuantity||0)) }}
</template>
</el-table-column>
<el-table-column label="来源" align="center" width="100">
<template slot-scope="scope">
{{ scope.row.isNew ? '新增' : '现有' }}
</template>
</el-table-column>
</el-table>
</el-card>
<!-- <el-card style="margin-top: 16px;">
<div slot="header">已保存的盘点</div>
<el-table :data="savedCheck">
<el-table-column label="物料编码" align="left" prop="productId" />
<el-table-column label="物料名称" align="left" prop="productName" />
<el-table-column label="盘点数量" align="right" prop="countedQuantity" />
</el-table>
</el-card>-->
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['bas:BasCustomer:add']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['bas:BasCustomer:edit']">修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['bas:BasCustomer:remove']">删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['bas:BasCustomer:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="BasCustomerList" @selection-change="handleSelectionChange" max-height="700">
<el-table-column type="selection" align="center" />
<el-table-column label="客户编号" align="left" prop="customerNo" />
<!-- <el-table-column label="客户类别" align="left" prop="customerGroupNo" /> -->
<el-table-column label="客户名称" align="left" prop="customerName" />
<el-table-column label="简称" align="left" prop="simpleName" />
<el-table-column label="是否可用" align="left" prop="useable" >
<template slot-scope="scope">
<dict-tag :options="dict.type.is_available" :value="scope.row.useable"/>
</template>
</el-table-column>
<el-table-column label="备注" align="left" prop="remark" />
<!-- <el-table-column width="120" label="业务部门" align="left" prop="businessDepartment" />
<el-table-column width="120" label="业务员" align="left" prop="salesman" />
<el-table-column width="120" label="助记码" align="left" prop="mnemonicCode" />
<el-table-column width="120" label="客户类型" align="left" prop="type" />
<el-table-column width="120" label="纳税人识别号" align="left" prop="taxpayerRegistrationNumber" />
<el-table-column width="120" label="财务组织" align="left" prop="organization" />
<el-table-column width="120" label="上级客户" align="left" prop="supCustomer" />
<el-table-column width="120" label="个人客户" align="left" prop="retailInvestor" />
<el-table-column width="120" label="国家/地区" align="left" prop="country" />
<el-table-column width="120" label="时区" align="left" prop="timeZone" />
<el-table-column width="120" label="数据格式" align="left" prop="dataFormat" />
<el-table-column width="120" label="联系人" align="left" prop="contactName" />
<el-table-column width="120" label="装运国家" align="left" prop="shipment" />
<el-table-column width="120" label="税种" align="left" prop="taxCategory" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['bas:BasCustomer:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['bas:BasCustomer:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改客户对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="客户编号" prop="customerNo">
<el-input v-model="form.customerNo" placeholder="请输入客户编号" />
<el-dialog :title="'新增物料'" :visible.sync="addOpen" width="500px" append-to-body>
<el-form ref="addForm" :model="addForm" :rules="addRules" label-width="90px">
<el-form-item label="物料编码" prop="productId">
<el-input v-model="addForm.productId" placeholder="请输入物料编码" />
</el-form-item>
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="form.customerName" placeholder="请输入客户名称" />
<el-form-item label="物料名称" prop="productName">
<el-input v-model="addForm.productName" placeholder="请输入物料名称" />
</el-form-item>
<el-form-item label="简称" prop="simpleName">
<el-input v-model="form.simpleName" placeholder="请输入简称" />
<el-form-item label="盘点数量" prop="countedQuantity">
<el-input-number v-model="addForm.countedQuantity" :min="0" :step="1" controls-position="right" />
</el-form-item>
<el-form-item label="是否可用" prop="useable">
<el-select v-model="form.useable" placeholder="请选择是否可用">
<el-option
v-for="dict in dict.type.is_available"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入备注" />
</el-form-item>
<!-- <el-form-item label="业务部门" prop="businessDepartment">
<el-input v-model="form.businessDepartment" placeholder="请输入业务部门" />
</el-form-item>
<el-form-item label="业务员" prop="salesman">
<el-input v-model="form.salesman" placeholder="请输入业务员" />
</el-form-item>
<el-form-item label="助记码" prop="mnemonicCode">
<el-input v-model="form.mnemonicCode" placeholder="请输入助记码" />
</el-form-item>
<el-form-item label="客户类型" prop="type">
<el-input v-model="form.type" placeholder="请输入客户类型" />
</el-form-item>
<el-form-item label="纳税人识别号" prop="taxpayerRegistrationNumber">
<el-input v-model="form.taxpayerRegistrationNumber" placeholder="请输入纳税人识别号" />
</el-form-item>
<el-form-item label="财务组织" prop="organization">
<el-input v-model="form.organization" placeholder="请输入财务组织" />
</el-form-item>
<el-form-item label="上级客户" prop="supCustomer">
<el-input v-model="form.supCustomer" placeholder="请输入上级客户" />
</el-form-item>
<el-form-item label="个人客户" prop="retailInvestor">
<el-input v-model="form.retailInvestor" placeholder="请输入个人客户" />
</el-form-item>
<el-form-item label="国家/地区" prop="country">
<el-input v-model="form.country" placeholder="请输入国家/地区" />
</el-form-item>
<el-form-item label="时区" prop="timeZone">
<el-input v-model="form.timeZone" placeholder="请输入时区" />
</el-form-item>
<el-form-item label="数据格式" prop="dataFormat">
<el-input v-model="form.dataFormat" placeholder="请输入数据格式" />
</el-form-item>
<el-form-item label="联系人" prop="contactName">
<el-input v-model="form.contactName" placeholder="请输入联系人" />
</el-form-item>
<el-form-item label="装运国家" prop="shipment">
<el-input v-model="form.shipment" placeholder="请输入装运国家" />
</el-form-item>
<el-form-item label="税种" prop="taxCategory">
<el-input v-model="form.taxCategory" placeholder="请输入税种" />
</el-form-item> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确定</el-button>
<el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="confirmAdd">确 定</el-button>
<el-button @click="addOpen=false">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listBasCustomer, getBasCustomer, delBasCustomer, addBasCustomer, updateBasCustomer } from "@/api/bas/BasCustomer"
import { getTrayMaterials,confirmPandian } from '@/api/rf/rf'
import {listWarehouse} from "@/api/bas/warehouse";
import { saveCheckStock } from '@/api/check/stockCheck'
export default {
name: "BasCustomer",
dicts:['is_available'],
components: {},
props: [],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 客户管理表格数据
BasCustomerList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
customerNo: null,
customerGroupNo: null,
customerName: null,
simpleName: null,
useable: null,
businessDepartment: null,
salesman: null,
mnemonicCode: null,
type: null,
taxpayerRegistrationNumber: null,
organization: null,
supCustomer: null,
retailInvestor: null,
country: null,
timeZone: null,
dataFormat: null,
contactName: null,
shipment: null,
taxCategory: null
formData: {
trayCode: '',
warehouseId: '',
},
loading: false,
editableRows: [],
savedCheck: [],
addOpen: false,
addForm: {
productId: '',
productName: '',
countedQuantity: 0
},
addRules: {
productId: [
{ required: true, message: '请输入物料编码', trigger: 'blur' }
],
productName: [
{ required: true, message: '请输入物料名称', trigger: 'blur' }
],
countedQuantity: [
{ required: true, message: '请输入盘点数量', trigger: 'change' }
]
},
// 表单参数
form: {},
// 表单校验
rules: {
id: [
{ required: true, message: "ID不能为空", trigger: "blur" }
],
customerNo: [
{ required: true, message: "客户编号不能为空", trigger: "blur" }
],
customerName: [
{ required: true, message: "客户名称不能为空", trigger: "blur" }
],
useable: [
{ required: true, message: "是否可用不能为空", trigger: "blur" }
],
}
trayCode: [{
required: true,
message: '请输入托盘码',
trigger: 'blur'
}],
},
warehouseOptions:[],
queryWarehouseParams:{
pageNum:1,
pageSize:99
},
}
},
computed: {},
watch: {},
created() {
this.getList()
this.getWarehouseList()
},
mounted() {},
methods: {
/** 查询客户管理列表 */
getList() {
this.loading = true
listBasCustomer(this.queryParams).then(response => {
this.BasCustomerList = response.rows
this.total = response.total
this.loading = false
})
},
// 取消按钮
cancel() {
this.open = false
this.reset()
},
// 表单重置
reset() {
this.form = {
id: null,
customerNo: null,
customerGroupNo: null,
customerName: null,
simpleName: null,
useable: null,
remark: null,
businessDepartment: null,
salesman: null,
mnemonicCode: null,
type: null,
taxpayerRegistrationNumber: null,
organization: null,
supCustomer: null,
retailInvestor: null,
country: null,
timeZone: null,
dataFormat: null,
contactName: null,
shipment: null,
taxCategory: null
}
this.resetForm("form")
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1
this.getList()
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm")
this.handleQuery()
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset()
this.open = true
this.title = "添加客户"
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset()
const id = row.id || this.ids
getBasCustomer(id).then(response => {
this.form = response.data
this.open = true
this.title = "修改客户"
})
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateBasCustomer(this.form).then(response => {
this.$modal.msgSuccess("修改成功")
this.open = false
this.getList()
})
} else {
addBasCustomer(this.form).then(response => {
this.$modal.msgSuccess("添加成功")
this.open = false
this.getList()
})
}
/** 获取仓库列表 */
getWarehouseList() {
listWarehouse(this.queryWarehouseParams).then(response => {
this.warehouseOptions = response.rows;
if (this.warehouseOptions.length > 0) {
this.handleQuery();
}
});
},
async handleTrayChange() {
const trayCode = (this.formData.trayCode || '').toString().trim()
if (!trayCode) {
this.$message.error('请输入托盘条码')
return
}
const warehouseId = (this.formData.warehouseId || '').toString().trim()
if (!warehouseId) {
this.$message.error('请选择仓库')
return
}
this.loading = true
try {
const res = await getTrayMaterials({trayCode: trayCode,warehouseId:warehouseId })
const rows = Array.isArray(res?.data) ? res.data : (Array.isArray(res?.rows) ? res.rows : [])
this.editableRows = rows.map(it => ({
stockId: it.stockId,
productId: it.productId,
productName: it.productName || it.materialDesc,
origQuantity: Number(it.outQuantity || 0),
countedQuantity: Number(it.outQuantity || 0),
isNew: false,
inOrOutDId: it.inOrOutDId,
jobDetailId: it.jobDetailId,
}))
} finally {
this.loading = false
}
},
openAddDialog() {
this.addForm = { productId: '', productName: '', countedQuantity: 0 }
this.addOpen = true
},
confirmAdd() {
if (!this.addForm.productId){
this.$message.error('请输入物料编码')
return
}
if (!this.addForm.productName){
this.$message.error('请输入物料名称')
return
}
if (!this.addForm.countedQuantity){
this.$message.error('请输入盘点数量')
return
}
this.editableRows.push({
productId: this.addForm.productId,
productName: this.addForm.productName,
origQuantity: 0,
countedQuantity: this.addForm.countedQuantity,
isNew: true
})
this.addOpen = false
},
async submitCheck() {
const code = (this.formData.trayCode || '').toString().trim()
if (!code) {
this.$message.error('请输入托盘码')
return
}
/*if (this.savedCheck.length === 0) {
this.$message.error('没有已保存的盘点数据')
return
}*/
const payload = {
trayCode: code,
warehouseId: this.formData.warehouseId,
materials: this.editableRows.map(d => ({
productId: d.productId,
inQuantity: d.countedQuantity,
inOrOutDId: d.inOrOutDId,
jobDetailId: d.jobDetailId,
stockId: d.stockId
}))
}
await confirmPandian(payload).then(() => {
this.$message.success('盘点提交成功')
this.editableRows = []
this.resetForm()
})
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids
this.$modal.confirm('是否确认删除客户编号为"' + ids + '"的数据项?').then(function() {
return delBasCustomer(ids)
}).then(() => {
this.getList()
this.$modal.msgSuccess("删除成功")
}).catch(() => {})
resetForm() {
this.$refs['elForm'].resetFields()
this.editableRows = []
this.savedCheck = []
},
/** 导出按钮操作 */
handleExport() {
this.download('bas/BasCustomer/export', {
...this.queryParams
}, `BasCustomer_${new Date().getTime()}.xlsx`)
}
}
}
</script>
<style scoped>
/* 统一表单控件宽度 */
.el-select,
.el-input {
width: 100%;
}
</script>
<style>
</style>

View File

@@ -0,0 +1,232 @@
<template>
<div>
<el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px">
<el-form-item label="仓库" prop="warehouseId">
<el-select
v-model="formData.warehouseId"
placeholder="请选择仓库"
clearable
:style="{width: '15%'}"
>
<el-option
v-for="item in warehouseOptions"
:key="item.warehouseId"
:label="item.warehouseName"
:value="item.warehouseId"
/>
</el-select>
</el-form-item>
<el-form-item label="托盘码" prop="trayCode">
<el-input
v-model="formData.trayCode"
:maxlength="8"
show-word-limit
placeholder="请输入条码"
clearable
:style="{width: '15%'}"
@change="handleTrayChange"
>
</el-input>
</el-form-item>
<el-form-item label="入库子单" prop="stockinDetailId">
<el-input
v-model="formData.stockinDetailId"
placeholder="请输入入库子单"
clearable
:style="{width: '15%'}"
@keyup.enter.native="handleQueryDetail"
@change="handleQueryDetail"
>
</el-input>
</el-form-item>
<el-card style="margin-top: 16px;">
<div slot="header">托盘已绑定物料</div>
<el-table v-if="trayMaterials && trayMaterials.length" :data="trayMaterials" size="small">
<el-table-column label="子单编码" align="left" prop="stockinDetailId"/>
<el-table-column label="物料名称" align="left" prop="productName"/>
<el-table-column label="数量" align="right" prop="quantity"/>
</el-table>
<el-empty v-else description="暂无数据"></el-empty>
</el-card>
<el-form-item size="large">
<el-button type="primary" @click="submitForm">确认入库</el-button>
<el-button @click="resetForm">重置</el-button>
</el-form-item>
</el-form>
<el-dialog :title="'入库子单详情'" :visible.sync="detailOpen" width="1400px" append-to-body>
<el-table v-if="detailRow" :data="[detailRow]" size="small">
<el-table-column label="子单ID" align="left" prop="stockinDetailId" />
<el-table-column label="物料编码" align="left" prop="productId"/>
<el-table-column label="物料名称" align="left" prop="productName"/>
<el-table-column label="台次" align="left" prop="spare5"/>
<el-table-column label="合同号" align="left" prop="spare6"/>
<el-table-column label="入库数量" align="right">
<template slot-scope="scope">
<el-input-number v-model="inQuantity" :min="1" :max="remainQty" :step="1" controls-position="right"></el-input-number>
</template>
</el-table-column>
</el-table>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="confirmBind">确 定</el-button>
<el-button @click="detailOpen=false">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { getStockInDetail} from '@/api/in/stockInDetail'
import { bindTray ,getTrayInfo ,addInJobpk} from '@/api/rf/rf'
import {listWarehouse} from "@/api/bas/warehouse";
export default {
components: {},
props: [],
data() {
return {
formData: {
warehouseId: undefined,
trayCode: undefined,
stockinDetailId: undefined,
},
detailLoading: false,
detailOpen: false,
detailRow: null,
inQuantity: null,
trayMaterials: [],
warehouseOptions:[],
queryWarehouseParams:{
pageNum:1,
pageSize:99,
warehouseType:2
},
rules: {
warehouseId: [{
required: true,
message: '请输入仓库号仓库',
trigger: 'blur'
}],
trayCode: [{
required: true,
message: '请输入条码',
trigger: 'blur'
}],
stockinDetailId: [{
required: true,
message: '请输入入库子单',
trigger: 'blur'
}],
},
}
},
computed: {
remainQty() {
const plan = this.detailRow && Number(this.detailRow.quantity || 0)
const assigned = this.detailRow && Number(this.detailRow.scanNum || 0)
const remain = (plan || 0) - (assigned || 0)
return remain > 0 ? remain : 0
}
},
watch: {},
created() {
this.getWarehouseList()
},
mounted() {},
methods: {
/** 获取仓库列表 */
getWarehouseList() {
listWarehouse(this.queryWarehouseParams).then(response => {
this.warehouseOptions = response.rows;
if (this.warehouseOptions.length > 0) {
this.handleQuery();
}
});
},
async handleTrayChange() {
const code = (this.formData.trayCode || '').toString().trim()
if (!code) {
this.trayMaterials = []
return
}
const res = await getTrayInfo(code)
this.trayMaterials = res.data || res.rows || []
},
async handleQueryDetail() {
const id = (this.formData.stockinDetailId || '').toString().trim()
if (!id) return
this.detailLoading = true
try {
const res = await getStockInDetail(id)
this.detailRow = res.data || null
if (!this.detailRow) {
this.$message.error('未找到入库子单')
return
}
const remain = this.remainQty
this.inQuantity = remain > 0 ? remain : 1
this.detailOpen = !!this.detailRow
} finally {
this.detailLoading = false
}
},
submitForm() {
if (!this.formData.warehouseId){
this.$message.error('请输入仓库号')
return
}
if (!this.formData.trayCode){
this.$message.error('请输入托盘码')
return
}
addInJobpk(this.formData).then(() => {
this.$message.success('入库成功')
this.resetForm()
})
},
resetForm() {
this.$refs['elForm'].resetFields()
this.trayMaterials = []
},
confirmBind() {
if (!this.detailRow) return
const remain = this.remainQty
if (remain <= 0) {
this.$message.error('无剩余数量可入库')
return
}
const qty = Number(this.inQuantity || 0)
if (!qty || qty < 1) {
this.$message.error('请输入入库数量')
return
}
if (qty > remain) {
this.$message.error('入库数量不能超过剩余数量')
return
}
if (!this.formData.trayCode){
this.$message.error('请输入托盘码')
return
}
if (!this.formData.warehouseId){
this.$message.error('请输入仓库号')
return
}
const payload = {
trayCode: this.formData.trayCode,
stockinDetailId: this.formData.stockinDetailId,
inQuantity: qty,
warehouseId: this.formData.warehouseId
}
bindTray(payload).then(() => {
this.$message.success('绑定成功')
this.detailOpen = false
this.handleTrayChange()
})
}
}
}
</script>
<style>
</style>

View File

@@ -370,9 +370,11 @@
</el-row>
<el-table v-loading="loading" :data="ViewInJobFlowList" @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="仓库编码" align="center" prop="warehouseId" />
<el-table-column label="子任务编码" align="center" prop="jobDetailId" width="160"/>
<el-table-column label="任务编码" align="center" prop="jobId" width="160"/>
<el-table-column label="入库单" align="center" prop="inOrOutId" width="160"/>
<el-table-column label="入库子单" align="center" prop="inOrOutDId" width="160"/>
<el-table-column label="任务号" align="center" prop="taskNo" width="160"/>
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
@@ -384,90 +386,18 @@
<dict-tag :options="dict.type.in_job_type" :value="scope.row.inOrOut"/>
</template>
</el-table-column>
<el-table-column label="托盘条码" align="center" prop="trayCode" />
<el-table-column label="开始时间" align="center" prop="startTime" width="160"/>
<el-table-column label="结束时间" align="center" prop="finishTime" width="160"/>
<el-table-column label="入口" align="center" prop="entranceId" />
<el-table-column label="仓库编码" align="center" prop="warehouseId" />
<el-table-column label="托盘条码" align="center" prop="trayCode" width="100" />
<el-table-column label="合同号" align="center" prop="contract" />
<el-table-column label="产品号" align="center" prop="cases" />
<el-table-column label="代号" align="center" prop="managementNo" />
<el-table-column label="台次" align="center" prop="units" />
<el-table-column label="物料编码" align="center" prop="productId" />
<el-table-column label="物料名称" align="center" prop="productName" width="160"/>
<el-table-column label="常用码" align="center" prop="parentId" width="160"/>
<el-table-column label="单价" align="center" prop="price" />
<el-table-column label="图号" align="center" prop="cargoNo" width="160"/>
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="规格" align="center" prop="spec" width="160"/>
<el-table-column label="描述" align="center" prop="remark" />
<el-table-column label="物料类型" align="center" prop="productType">
<template slot-scope="scope">
<dict-tag :options="dict.type.product_type" :value="scope.row.productType"/>
</template>
</el-table-column>
<el-table-column label="是否系统项" align="center" prop="systemItem" width="120">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.systemItem"/>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="productCtm" width="160"/>
<el-table-column label="创建人" align="center" prop="productCtu" />
<el-table-column label="库存上限" align="center" prop="upperNum" />
<el-table-column label="库存下限" align="center" prop="limitNum" />
<el-table-column label="是否启用" align="center" prop="enableFlag">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.enableFlag"/>
</template>
</el-table-column>
<el-table-column label="入库数量" align="center" prop="inQuantity" />
<el-table-column label="批次号" align="center" prop="lotNo" width="160"/>
<el-table-column label="入库单" align="center" prop="inOrOutId" width="160"/>
<el-table-column label="入库子单" align="center" prop="inOrOutDId" width="160"/>
<el-table-column label="入库金额" align="center" prop="priceTotal" />
<el-table-column label="来源" align="center" prop="origin">
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.origin"/>
</template>
</el-table-column>
<el-table-column label="周转类型" align="center" prop="turnovertype">
<template slot-scope="scope">
<dict-tag :options="dict.type.turnover_type" :value="scope.row.turnovertype"/>
</template>
</el-table-column>
<el-table-column label="套账" align="center" prop="account">
<template slot-scope="scope">
<dict-tag :options="dict.type.account_type" :value="scope.row.account"/>
</template>
</el-table-column>
<el-table-column label="用途" align="center" prop="purpose">
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.purpose"/>
</template>
</el-table-column>
<el-table-column label="台次" align="center" prop="units" />
<el-table-column label="合同号" align="center" prop="contract" />
<el-table-column label="件次" align="center" prop="cases" />
<el-table-column label="质量" align="center" prop="quality">
<template slot-scope="scope">
<dict-tag :options="dict.type.quality_type" :value="scope.row.quality"/>
</template>
</el-table-column>
<el-table-column label="管理号" align="center" prop="managementNo" />
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['search:ViewInJobFlow:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['search:ViewInJobFlow:remove']"
>删除</el-button>
</template>
</el-table-column>-->
<el-table-column label="开始时间" align="center" prop="startTime" width="160"/>
<el-table-column label="结束时间" align="center" prop="finishTime" width="160"/>
</el-table>
<pagination

View File

@@ -361,99 +361,34 @@
<el-table v-loading="loading" :data="ViewOutJobFlowList" @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="仓库编码" align="center" prop="warehouseId" />
<el-table-column label="子任务" align="center" prop="jobDetailId" width="160"/>
<el-table-column label="任务编码" align="center" prop="jobId" width="160"/>
<el-table-column label="单据编码" align="center" prop="inOrOutId" width="160"/>
<el-table-column label="子单据编码" align="center" prop="inOrOutDId" width="160" />
<el-table-column label="任务号" align="center" prop="taskNo" />
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_job_status" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="任务类型" align="center" prop="inOrOut">
<el-table-column label="任务类型" align="center" prop="inOrOut" width="160">
<template slot-scope="scope">
<dict-tag :options="dict.type.out_job_type" :value="scope.row.inOrOut"/>
</template>
</el-table-column>
<el-table-column label="托盘码" align="center" prop="trayCode" />
<el-table-column label="开始时间" align="center" prop="startTime" width="160"/>
<el-table-column label="结束时间" align="center" prop="finishTime" width="160"/>
<el-table-column label="托盘码" align="center" prop="trayCode" width="160"/>
<el-table-column label="出口" align="center" prop="exitId" />
<el-table-column label="仓库编码" align="center" prop="warehouseId" />
<el-table-column label="合同号" align="center" prop="contract" />
<el-table-column label="产品号" align="center" prop="cases" />
<el-table-column label="代号" align="center" prop="managementNo" />
<el-table-column label="台次" align="center" prop="units" />
<el-table-column label="物料编码" align="center" prop="productId" />
<el-table-column label="物料名称" align="center" prop="productName" width="160"/>
<el-table-column label="常用编码" align="center" prop="parentId" />
<el-table-column label="单价" align="center" prop="price" />
<el-table-column label="图号" align="center" prop="cargoNo" width="160"/>
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="规格" align="center" prop="spec" width="160"/>
<el-table-column label="描述" align="center" prop="remark" />
<el-table-column label="物料类型" align="center" prop="productType">
<template slot-scope="scope">
<dict-tag :options="dict.type.product_type" :value="scope.row.productType"/>
</template>
</el-table-column>
<el-table-column label="是否系统项" align="center" prop="systemItem" width="160">
<template slot-scope="scope">
<dict-tag :options="dict.type.sys_yes_no" :value="scope.row.systemItem"/>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="productCtm" width="160" />
<el-table-column label="创建人" align="center" prop="productCtu" />
<el-table-column label="库存上限" align="center" prop="upperNum" />
<el-table-column label="库存下限" align="center" prop="limitNum" />
<el-table-column label="是否可用" align="center" prop="enableFlag">
<template slot-scope="scope">
<dict-tag :options="dict.type.product_status" :value="scope.row.enableFlag"/>
</template>
</el-table-column>
<el-table-column label="出库数量" align="center" prop="outQuantity" />
<el-table-column label="批次号" align="center" prop="lotNo" />
<el-table-column label="单据编码" align="center" prop="inOrOutId" width="160"/>
<el-table-column label="子单据编码" align="center" prop="inOrOutDId" width="160" />
<el-table-column label="金额" align="center" prop="priceTotal" />
<el-table-column label="来源" align="center" prop="origin" />
<el-table-column label="周转类型" align="center" prop="turnovertype">
<template slot-scope="scope">
<dict-tag :options="dict.type.turnover_type" :value="scope.row.turnovertype"/>
</template>
</el-table-column>
<el-table-column label="套账" align="center" prop="account">
<template slot-scope="scope">
<dict-tag :options="dict.type.account_type" :value="scope.row.account"/>
</template>
</el-table-column>
<el-table-column label="用途" align="center" prop="purpose">
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.purpose"/>
</template>
</el-table-column>
<el-table-column label="台次" align="center" prop="units" />
<el-table-column label="合同" align="center" prop="contract" />
<el-table-column label="件次" align="center" prop="cases" />
<el-table-column label="质量" align="center" prop="quality">
<template slot-scope="scope">
<dict-tag :options="dict.type.quality_type" :value="scope.row.quality"/>
</template>
</el-table-column>
<el-table-column label="管理号" align="center" prop="managementNo" />
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['search:ViewOutJobFlow:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['search:ViewOutJobFlow:remove']"
>删除</el-button>
</template>
</el-table-column>-->
<el-table-column label="开始时间" align="center" prop="startTime" width="160"/>
<el-table-column label="结束时间" align="center" prop="finishTime" width="160"/>
</el-table>
<pagination

View File

@@ -25,14 +25,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="层" prop="theFloor">
<el-input
v-model="queryParams.theFloor"
placeholder="请输入层"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="排" prop="thePlatoon">
<el-input
v-model="queryParams.thePlatoon"
@@ -49,13 +41,63 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料编码" prop="productId">
<el-form-item label="层" prop="theFloor">
<el-input
v-model="queryParams.theFloor"
placeholder="请输入层"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="合同号" prop="orderId">
<el-input
v-model="queryParams.orderId"
placeholder="请输入合同号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品号" prop="power">
<el-input
v-model="queryParams.power"
placeholder="请输入产品号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="代号" prop="distribution">
<el-input
v-model="queryParams.distribution"
placeholder="请输入代号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="台次" prop="spare5">
<el-input
v-model="queryParams.spare5"
placeholder="请输入台次"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="物料编码" prop="productId">
<el-input
v-model="queryParams.productId"
placeholder="请输入物料编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="物料名称" prop="productName">
<el-input
v-model="queryParams.productName"
placeholder="请输入物料名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="规格型号" prop="spec">
<el-input
@@ -65,38 +107,31 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="常用编码" prop="parentId">
<el-input
v-model="queryParams.parentId"
placeholder="请输入常用编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="供应代号" prop="supplierId">
<el-input
v-model="queryParams.supplierId"
placeholder="请输入供应商代号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="供应名称" prop="supplierName">
<el-input
v-model="queryParams.supplierName"
placeholder="请输入供应商名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料名称" prop="productName">
<el-input
v-model="queryParams.productName"
placeholder="请输入物料名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="常用编码" prop="parentId">-->
<!-- <el-input-->
<!-- v-model="queryParams.parentId"-->
<!-- placeholder="请输入常用编码"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="供应代号" prop="supplierId">-->
<!-- <el-input-->
<!-- v-model="queryParams.supplierId"-->
<!-- placeholder="请输入供应商代号"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<!-- <el-form-item label="供应名称" prop="supplierName">-->
<!-- <el-input-->
<!-- v-model="queryParams.supplierName"-->
<!-- placeholder="请输入供应商名称"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="入库单号" prop="stockinId">
<el-input
v-model="queryParams.stockinId"
@@ -105,14 +140,14 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="单价" prop="price">
<el-input
v-model="queryParams.price"
placeholder="请输入单价"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="单价" prop="price">-->
<!-- <el-input-->
<!-- v-model="queryParams.price"-->
<!-- placeholder="请输入单价"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="托盘号" prop="trayCode">
<el-input
@@ -122,15 +157,8 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="合同号" prop="orderId">
<el-input
v-model="queryParams.orderId"
placeholder="请输入合同号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="用途" prop="spare4">
<!-- <el-form-item label="用途" prop="spare4">
<el-select v-model="queryParams.spare4" placeholder="请选择用途" clearable>
<el-option
v-for="dict in dict.type.purpose_type"
@@ -139,7 +167,7 @@
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-form-item>-->
<el-form-item label="起始时间" prop="inDateStart">
<el-date-picker clearable
v-model="queryParams.inDateStart"
@@ -148,15 +176,15 @@
placeholder="请选择起始时间">
</el-date-picker>
</el-form-item>
<el-form-item label="截止日期" prop="inDateEnd">
<el-form-item label="结束日期" prop="inDateEnd">
<el-date-picker clearable
v-model="queryParams.inDateEnd"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择截止时间">
placeholder="请选择结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="周转类型" prop="voltage">
<!-- <el-form-item label="周转类型" prop="voltage">
<el-select v-model="queryParams.voltage" placeholder="请选择周转类型" clearable>
<el-option
v-for="dict in dict.type.turnover_type"
@@ -195,31 +223,16 @@
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="台次" prop="spare5">
<el-input
v-model="queryParams.spare5"
placeholder="请输入台次"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="件次" prop="power">
<el-input
v-model="queryParams.power"
placeholder="请输入件次"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="库外" prop="outside">
</el-form-item>-->
<!-- <el-form-item label="库外" prop="outside">
<el-input
v-model="queryParams.outside"
placeholder="请输入库外"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-form-item>-->
<el-form-item>
@@ -275,46 +288,48 @@
</el-row>
<el-table v-loading="loading" :data="ViewStockDetailList" @selection-change="handleSelectionChange" max-height="650">
<el-table-column label="仓库名称" align="center" prop="warehouseName"/>
<el-table-column label="库存编码" align="center" prop="stockId" width="160"/>
<el-table-column label="库位编码" align="center" prop="cargoSpaceId" width="160"/>
<el-table-column label="托盘" align="center" prop="trayCode"/>
<el-table-column label="库存状态" align="center" prop="stockStatus" >
<template slot-scope="scope">
<dict-tag :options="dict.type.stock_status" :value="scope.row.stockStatus"/>
</template>
</el-table-column>
<el-table-column label="套账" align="center" prop="spare3">
<!-- <el-table-column label="套账" align="center" prop="spare3">
<template slot-scope="scope">
<dict-tag :options="dict.type.account_type" :value="scope.row.spare3"/>
</template>
</el-table-column>
<el-table-column label="库位编码" align="center" prop="cargoSpaceId" width="160"/>
<el-table-column label="托盘" align="center" prop="trayCode"/>
</el-table-column>-->
<el-table-column label="合同号" align="center" prop="orderId"/>
<el-table-column label="产品号" align="center" prop="power"/>
<el-table-column label="代号" align="center" prop="distribution"/>
<el-table-column label="台次" align="center" prop="spare5"/>
<el-table-column label="物料编码" align="center" prop="productId"/>
<el-table-column label="物料名称" align="center" prop="productName" width="160" />
<el-table-column label="规格" align="center" prop="spec" width="160"/>
<el-table-column label="数量" align="center" prop="quantity"/>
<el-table-column label="单价" align="center" prop="price"/>
<el-table-column label="金额" align="center" prop="spare6"/>
<el-table-column label="物料状态" align="center" prop="productType">
<!-- <el-table-column label="单价" align="center" prop="price"/>-->
<!-- <el-table-column label="金额" align="center" prop="spare6"/>-->
<!-- <el-table-column label="物料状态" align="center" prop="productType">
<template slot-scope="scope">
<dict-tag :options="dict.type.product_type" :value="scope.row.productType"/>
</template>
</el-table-column>
<el-table-column label="单位" align="center" prop="unit"/>
<el-table-column label="图号" align="center" prop="cargoNo"/>
<el-table-column label="合同号" align="center" prop="orderId"/>
<el-table-column label="台次" align="center" prop="spare5"/>
<el-table-column label="件次" align="center" prop="power"/>
<el-table-column label="质量" align="center" prop="spare8">
<el-table-column label="图号" align="center" prop="cargoNo"/>-->
<!-- <el-table-column label="质量" align="center" prop="spare8">
<template slot-scope="scope">
<dict-tag :options="dict.type.quality_type" :value="scope.row.spare8"/>
</template>
</el-table-column>
<el-table-column label="常用编码" align="center" prop="parentId"/>
<el-table-column label="入库单号" align="center" prop="stockinId" width="160"/>
<el-table-column label="供应商编码" align="center" prop="supplierNo" width="160"/>
<el-table-column label="供应商名称" align="center" prop="supplierName" width="160"/>
<el-table-column label="仓库编码" align="center" prop="warehouseId"/>
<el-table-column label="仓库名称" align="center" prop="warehouseName"/>
</el-table-column>-->
<!-- <el-table-column label="常用编码" align="center" prop="parentId"/>-->
<!-- <el-table-column label="入库单号" align="center" prop="stockinId" width="160"/>-->
<!-- <el-table-column label="供应商编码" align="center" prop="supplierNo" width="160"/>-->
<!-- <el-table-column label="供应商名称" align="center" prop="supplierName" width="160"/>-->
<!-- <el-table-column label="仓库编码" align="center" prop="warehouseId"/>-->
<el-table-column label="首次入库时间" align="center" prop="inDate" width="160"/>
<el-table-column label="最后出库时间" align="center" prop="stackingId" width="160"/>
<el-table-column label="盘点标识" align="center" prop="spare7">
@@ -323,8 +338,8 @@
</template>
</el-table-column>
<el-table-column label="盘点时间" align="center" prop="backDate" width="160"/>
<el-table-column label="备注" align="center" prop="remark"/>
<el-table-column label="来源" align="center" prop="spare4">
<!-- <el-table-column label="备注" align="center" prop="remark"/>-->
<!-- <el-table-column label="来源" align="center" prop="spare4">
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.spare4"/>
</template>
@@ -333,7 +348,7 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.spare1"/>
</template>
</el-table-column>
</el-table-column>-->
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->

View File

@@ -17,13 +17,46 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料编码" prop="productId">
<!-- <el-form-item label="物料编码" prop="productId">
<el-input
v-model="queryParams.productId"
placeholder="请输入物料编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="合同号" prop="spare6">
<el-input
v-model="queryParams.spare6"
placeholder="请输入合同号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品号" prop="spare7">
<el-input
v-model="queryParams.spare7"
placeholder="请输入产品号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="代号" prop="spare9">
<el-input
v-model="queryParams.spare9"
placeholder="请输入代号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="台次" prop="spare5">
<el-input
v-model="queryParams.spare5"
placeholder="请输入台次"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料名称" prop="productName">
<el-input
@@ -33,7 +66,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="规格型号" prop="spec">
<el-form-item label="规格型号" prop="spec">
<el-input
v-model="queryParams.spec"
placeholder="请输入规格型号"
@@ -41,6 +74,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!--
<el-form-item label="生产图号" prop="cargoNo">
<el-input
v-model="queryParams.cargoNo"
@@ -99,30 +133,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="合同号" prop="spare6">
<el-input
v-model="queryParams.spare6"
placeholder="请输入合同号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="台次" prop="spare5">
<el-input
v-model="queryParams.spare5"
placeholder="请输入台次"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="件次" prop="spare7">
<el-input
v-model="queryParams.spare7"
placeholder="请输入件次"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="账套" prop="spare3">
<el-select v-model="queryParams.spare3" placeholder="请选择账套" clearable>
<el-option
@@ -255,31 +266,33 @@
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="入库单号" align="center" prop="stockinId" width="160"/>
<el-table-column label="入库子单号" align="center" prop="stockinDetailId" width="160"/>
<el-table-column label="合同号" align="center" prop="spare6" />
<el-table-column label="产品号" align="center" prop="spare7" />
<el-table-column label="代号" align="center" prop="spare9" />
<el-table-column label="台次" align="center" prop="spare5" />
<el-table-column label="物料编码" align="center" prop="productId" />
<el-table-column label="物料名称" align="center" prop="productName" width="160"/>
<el-table-column label="规格型号" align="center" prop="spec" width="160"/>
<el-table-column label="生产图号" align="center" prop="cargoNo" width="160"/>
<el-table-column label="产品状态" align="center" prop="productType">
<!-- <el-table-column label="生产图号" align="center" prop="cargoNo" width="160"/>-->
<!-- <el-table-column label="产品状态" align="center" prop="productType">
<template slot-scope="scope">
<dict-tag :options="dict.type.product_type" :value="scope.row.productType"/>
</template>
</el-table-column>
</el-table-column>-->
<el-table-column label="计划数量" align="center" prop="quantity" />
<el-table-column label="扫码数量" align="center" prop="scanNum" />
<el-table-column label="实际数量" align="center" prop="assignNum" />
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="单价" align="center" prop="price" />
<el-table-column label="单据金额" align="center" prop="priceTotal" />
<el-table-column label="供应商代号" align="center" prop="supplierNo" width="120"/>
<el-table-column label="供应商名称" align="center" prop="supplierName" width="160"/>
<el-table-column label="合同号" align="center" prop="spare6" />
<el-table-column label="台次" align="center" prop="spare5" />
<el-table-column label="件次" align="center" prop="spare7" />
<el-table-column label="账套" align="center" prop="spare3">
<template slot-scope="scope">
<dict-tag :options="dict.type.account_type" :value="scope.row.spare3"/>
</template>
</el-table-column>
<!-- <el-table-column label="单位" align="center" prop="unit" />-->
<!-- <el-table-column label="单价" align="center" prop="price" />-->
<!-- <el-table-column label="单据金额" align="center" prop="priceTotal" />-->
<!-- <el-table-column label="供应商代号" align="center" prop="supplierNo" width="120"/>-->
<!-- <el-table-column label="供应商名称" align="center" prop="supplierName" width="160"/>-->
<!-- <el-table-column label="账套" align="center" prop="spare3">-->
<!-- <template slot-scope="scope">-->
<!-- <dict-tag :options="dict.type.account_type" :value="scope.row.spare3"/>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="创建用户" align="center" prop="createManId" />
<el-table-column label="创建时间" align="center" prop="createDate" width="160"/>
<el-table-column label="单据状态" align="center" prop="status">
@@ -287,18 +300,18 @@
<dict-tag :options="dict.type.in_bill_status" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="质量" align="center" prop="spare8">
<!-- <el-table-column label="质量" align="center" prop="spare8">
<template slot-scope="scope">
<dict-tag :options="dict.type.quality_type" :value="scope.row.spare8"/>
</template>
</el-table-column>
</el-table-column>-->
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="来源" align="center" prop="spare1">
<!-- <el-table-column label="来源" align="center" prop="spare1">
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.spare1"/>
</template>
</el-table-column>
<el-table-column label="用途" align="center" prop="spare4">
</el-table-column>-->
<!-- <el-table-column label="用途" align="center" prop="spare4">
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.spare4"/>
</template>
@@ -307,7 +320,7 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.turnover_type" :value="scope.row.spare2"/>
</template>
</el-table-column>
</el-table-column>-->
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->

View File

@@ -17,13 +17,46 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料编码" prop="productId">
<!-- <el-form-item label="物料编码" prop="productId">
<el-input
v-model="queryParams.productId"
placeholder="请输入物料编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="合同号" prop="contract">
<el-input
v-model="queryParams.contract"
placeholder="请输入合同号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品号" prop="phase">
<el-input
v-model="queryParams.phase"
placeholder="请输入产品号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="代号" prop="managementNo">
<el-input
v-model="queryParams.managementNo"
placeholder="请输入代号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="台次" prop="power">
<el-input
v-model="queryParams.power"
placeholder="请输入台次"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料名称" prop="productName">
<el-input
@@ -33,7 +66,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="规格" prop="spec">
<el-form-item label="规格" prop="spec">
<el-input
v-model="queryParams.spec"
placeholder="请输入规格"
@@ -41,6 +74,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!--
<el-form-item label="图号" prop="cargoNo">
<el-input
v-model="queryParams.cargoNo"
@@ -83,30 +117,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="合同号" prop="contract">
<el-input
v-model="queryParams.contract"
placeholder="请输入合同号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="台次" prop="power">
<el-input
v-model="queryParams.power"
placeholder="请输入台次"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="件次" prop="phase">
<el-input
v-model="queryParams.phase"
placeholder="请输入件次"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="单价" prop="price">
<el-input
v-model="queryParams.price"
@@ -183,14 +194,7 @@
/>
</el-select>
</el-form-item>
<el-form-item label="管理号" prop="managementNo">
<el-input
v-model="queryParams.managementNo"
placeholder="请输入管理号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="供应商编码" prop="supplierId">
<el-input
v-model="queryParams.supplierId"
@@ -311,43 +315,44 @@
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="出库单号" align="center" prop="stockoutId" width="160"/>
<el-table-column label="出库子单号" align="center" prop="stockoutDetailId" width="160"/>
<el-table-column label="合同号" align="center" prop="contract" />
<el-table-column label="产品号" align="center" prop="phase" />
<el-table-column label="代号" align="center" prop="managementNo" />
<el-table-column label="台次" align="center" prop="power" />
<el-table-column label="物料编码" align="center" prop="productId" />
<el-table-column label="物料名称" align="center" prop="productName" width="160"/>
<el-table-column label="规格" align="center" prop="spec" width="160"/>
<el-table-column label="图号" align="center" prop="cargoNo" width="160"/>
<el-table-column label="物料状态" align="center" prop="productType">
<template slot-scope="scope">
<dict-tag :options="dict.type.product_type" :value="scope.row.productType"/>
</template>
</el-table-column>
<!-- <el-table-column label="图号" align="center" prop="cargoNo" width="160"/>-->
<!-- <el-table-column label="物料状态" align="center" prop="productType">-->
<!-- <template slot-scope="scope">-->
<!-- <dict-tag :options="dict.type.product_type" :value="scope.row.productType"/>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="出库数量" align="center" prop="quantity" />
<el-table-column label="分配数量" align="center" prop="allotQuantity" />
<el-table-column label="实际数量" align="center" prop="assignNum" />
<el-table-column label="合同号" align="center" prop="contract" />
<el-table-column label="台次" align="center" prop="power" />
<el-table-column label="件次" align="center" prop="phase" />
<el-table-column label="单价" align="center" prop="price" />
<el-table-column label="出库金额" align="center" prop="priceTotal" />
<el-table-column label="客户编码" align="center" prop="customerNo" width="120"/>
<el-table-column label="客户名称" align="center" prop="customerName" width="160"/>
<el-table-column label="单据状态" align="center" prop="status">
<!-- <el-table-column label="单价" align="center" prop="price" />-->
<!-- <el-table-column label="出库金额" align="center" prop="priceTotal" />-->
<!-- <el-table-column label="客户编码" align="center" prop="customerNo" width="120"/>-->
<!-- <el-table-column label="客户名称" align="center" prop="customerName" width="160"/>-->
<!-- <el-table-column label="单据状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.out_bill_status" :value="scope.row.status"/>
</template>
</el-table-column>
</el-table-column>-->
<el-table-column label="创建人" align="center" prop="createManId" />
<el-table-column label="创建时间" align="center" prop="createDate" width="160"/>
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="套账" align="center" prop="account">
<!-- <el-table-column label="单位" align="center" prop="unit" />-->
<!-- <el-table-column label="套账" align="center" prop="account">
<template slot-scope="scope">
<dict-tag :options="dict.type.account_type" :value="scope.row.account"/>
</template>
</el-table-column>
<el-table-column label="管理号" align="center" prop="managementNo" />
<el-table-column label="供应商编码" align="center" prop="supplierId" width="120"/>
<el-table-column label="供应商" align="center" prop="supplierName" width="160"/>
</el-table-column>-->
<!-- <el-table-column label="供应商编码" align="center" prop="supplierId" width="120"/>-->
<!-- <el-table-column label="供应商" align="center" prop="supplierName" width="160"/>-->
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="用途" align="center" prop="purpose">
<!-- <el-table-column label="用途" align="center" prop="purpose">
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.purpose"/>
</template>
@@ -367,7 +372,7 @@
<dict-tag :options="dict.type.turnover_type" :value="scope.row.turnoverStatus"/>
</template>
</el-table-column>
<el-table-column label="用途2" align="center" prop="purpose2" />
<el-table-column label="用途2" align="center" prop="purpose2" />-->
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button

View File

@@ -25,14 +25,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="层" prop="theFloor">
<el-input
v-model="queryParams.theFloor"
placeholder="请输入层"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="排" prop="thePlatoon">
<el-input
v-model="queryParams.thePlatoon"
@@ -49,23 +41,25 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料编码" prop="productId">
<el-form-item label="层" prop="theFloor">
<el-input
v-model="queryParams.productId"
placeholder="请输入物料编码"
v-model="queryParams.theFloor"
placeholder="请输入层"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="规格型号" prop="spec">
<el-form-item label="托盘号" prop="trayCode">
<el-input
v-model="queryParams.spec"
placeholder="请输入规格型号"
v-model="queryParams.trayCode"
placeholder="请输入托盘号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="常用编码" prop="parentId">
<!-- <el-form-item label="常用编码" prop="parentId">
<el-input
v-model="queryParams.parentId"
placeholder="请输入常用编码"
@@ -88,16 +82,18 @@
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料名称" prop="productName">
</el-form-item>-->
<!-- <el-form-item label="物料编码" prop="productId">
<el-input
v-model="queryParams.productName"
placeholder="请输入物料名称"
v-model="queryParams.productId"
placeholder="请输入物料编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="入库单号" prop="stockinId">
</el-form-item>-->
<!-- <el-form-item label="入库单号" prop="stockinId">
<el-input
v-model="queryParams.stockinId"
placeholder="请输入入库单号"
@@ -112,16 +108,7 @@
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="托盘号" prop="trayCode">
<el-input
v-model="queryParams.trayCode"
placeholder="请输入托盘号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-form-item>-->
<el-form-item label="合同号" prop="orderId">
<el-input
v-model="queryParams.orderId"
@@ -130,71 +117,13 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="用途" prop="spare4">
<el-select v-model="queryParams.spare4" placeholder="请选择用途" clearable>
<el-option
v-for="dict in dict.type.purpose_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="起始时间" prop="inDateStart">
<el-date-picker clearable
v-model="queryParams.inDateStart"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择起始时间">
</el-date-picker>
</el-form-item>
<el-form-item label="截止日期" prop="inDateEnd">
<el-date-picker clearable
v-model="queryParams.inDateEnd"
type="datetime"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择截止时间">
</el-date-picker>
</el-form-item>
<el-form-item label="周转类型" prop="voltage">
<el-select v-model="queryParams.voltage" placeholder="请选择周转类型" clearable>
<el-option
v-for="dict in dict.type.turnover_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="来源" prop="spare1">
<el-select v-model="queryParams.spare1" placeholder="请选择来源" clearable>
<el-option
v-for="dict in dict.type.origin_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="套账" prop="spare3">
<el-select v-model="queryParams.spare3" placeholder="请选择套账" clearable>
<el-option
v-for="dict in dict.type.account_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="形态类型" prop="productType">
<el-select v-model="queryParams.productType" placeholder="请选择形态类型" clearable>
<el-option
v-for="dict in dict.type.product_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
<el-form-item label="产品号" prop="power">
<el-input
v-model="queryParams.power"
placeholder="请输入产品号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="台次" prop="spare5">
<el-input
@@ -204,24 +133,23 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="件次" prop="power">
<el-form-item label="物料名称" prop="productName">
<el-input
v-model="queryParams.power"
placeholder="请输入件次"
v-model="queryParams.productName"
placeholder="请输入物料名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="库外" prop="outside">
<el-form-item label="规格型号" prop="spec">
<el-input
v-model="queryParams.outside"
placeholder="请输入库外"
v-model="queryParams.spec"
placeholder="请输入规格型号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button><!-- 搜索 -->
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button><!-- 重置 -->
@@ -266,46 +194,51 @@
<el-table v-loading="loading" :data="managementList" @selection-change="handleSelectionChange" max-height="650">
<el-table-column type="selection" align="center" />
<el-table-column label="仓库名称" align="center" prop="warehouseName"/>
<el-table-column label="库存编码" align="center" prop="stockId" width="160"/>
<!-- <el-table-column label="套账" align="center" prop="spare3">
<template slot-scope="scope">
<dict-tag :options="dict.type.account_type" :value="scope.row.spare3"/>
</template>
</el-table-column>-->
<!-- <el-table-column label="仓库编码" align="center" prop="warehouseId"/>-->
<el-table-column label="库位" align="center" prop="cargoSpaceId" width="160"/>
<el-table-column label="托盘" align="center" prop="trayCode"/>
<el-table-column label="合同号" align="center" prop="orderId"/>
<el-table-column label="产品号" align="center" prop="power"/>
<el-table-column label="代号" align="center" prop="distribution"/>
<el-table-column label="台次" align="center" prop="spare5"/>
<el-table-column label="物料编码" align="center" prop="productId"/>
<el-table-column label="物料名称" align="center" prop="productName" width="160" />
<el-table-column label="规格" align="center" prop="spec" width="160"/>
<el-table-column label="库存状态" align="center" prop="stockStatus" >
<template slot-scope="scope">
<dict-tag :options="dict.type.stock_status" :value="scope.row.stockStatus"/>
</template>
</el-table-column>
<el-table-column label="套账" align="center" prop="spare3">
<template slot-scope="scope">
<dict-tag :options="dict.type.account_type" :value="scope.row.spare3"/>
</template>
</el-table-column>
<el-table-column label="库位编码" align="center" prop="cargoSpaceId" width="160"/>
<el-table-column label="托盘" align="center" prop="trayCode"/>
<el-table-column label="产品编码" align="center" prop="productId"/>
<el-table-column label="产品名称" align="center" prop="productName" width="160" />
<el-table-column label="规格" align="center" prop="spec" width="160"/>
<el-table-column label="数量" align="center" prop="quantity"/>
<el-table-column label="单价" align="center" prop="price"/>
<el-table-column label="金额" align="center" prop="spare6"/>
<el-table-column label="产品状态" align="center" prop="productType">
<!-- <el-table-column label="单价" align="center" prop="price"/>-->
<!-- <el-table-column label="金额" align="center" prop="spare6"/>-->
<!-- <el-table-column label="产品状态" align="center" prop="productType">
<template slot-scope="scope">
<dict-tag :options="dict.type.product_type" :value="scope.row.productType"/>
</template>
</el-table-column>
<el-table-column label="单位" align="center" prop="unit"/>
<el-table-column label="图号" align="center" prop="cargoNo"/>
<el-table-column label="合同号" align="center" prop="orderId"/>
<el-table-column label="台次" align="center" prop="spare5"/>
<el-table-column label="件次" align="center" prop="power"/>
<el-table-column label="质量" align="center" prop="spare8">
<template slot-scope="scope">
<dict-tag :options="dict.type.quality_type" :value="scope.row.spare8"/>
</template>
</el-table-column>
<el-table-column label="常用编码" align="center" prop="parentId"/>
</el-table-column>-->
<!-- <el-table-column label="单位" align="center" prop="unit"/>-->
<!-- <el-table-column label="图号" align="center" prop="cargoNo"/>-->
<!-- <el-table-column label="质量" align="center" prop="spare8">-->
<!-- <template slot-scope="scope">-->
<!-- <dict-tag :options="dict.type.quality_type" :value="scope.row.spare8"/>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="常用编码" align="center" prop="parentId"/>-->
<!-- -->
<!-- <el-table-column label="供应商编码" align="center" prop="supplierId" width="160"/>-->
<!-- <el-table-column label="供应商名称" align="center" prop="supplierName" width="160"/>-->
<el-table-column label="重量" align="center" prop="netWeight" width="160"/>
<el-table-column label="入库单号" align="center" prop="stockinId" width="160"/>
<el-table-column label="供应商编码" align="center" prop="supplierId" width="160"/>
<el-table-column label="供应商名称" align="center" prop="supplierName" width="160"/>
<el-table-column label="仓库编码" align="center" prop="warehouseId"/>
<el-table-column label="仓库名称" align="center" prop="warehouseName"/>
<el-table-column label="首次入库时间" align="center" prop="inDate" width="160"/>
<el-table-column label="最后出库时间" align="center" prop="stackingId" width="160"/>
<el-table-column label="盘点标识" align="center" prop="spare7">
@@ -315,7 +248,7 @@
</el-table-column>
<el-table-column label="盘点时间" align="center" prop="backDate" width="160"/>
<el-table-column label="备注" align="center" prop="remark"/>
<el-table-column label="来源" align="center" prop="spare4">
<!-- <el-table-column label="来源" align="center" prop="spare4">
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.spare4"/>
</template>
@@ -324,7 +257,7 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.spare1"/>
</template>
</el-table-column>
</el-table-column>-->
<el-table-column width=120 label="操作" align="center" class-name="small-padding fixed-width"> <!-- 操作 -->
<template slot-scope="scope">
<el-button

View File

@@ -26,17 +26,22 @@
/>
</el-form-item>
<el-form-item label="品名" prop="productName"><!-- 物料描述 -->
<el-form-item label="托盘条码" prop="trayCode"><!-- 物料描述 -->
<el-input
v-model="queryParams.productName"
placeholder="请输入品名"
v-model="queryParams.trayCode"
placeholder="请输入托盘条码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="物料名称" prop="productName"><!-- 物料描述 -->
<el-input
v-model="queryParams.productName"
placeholder="请输入物料名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button><!-- 搜索 -->
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button><!-- 重置 -->
@@ -59,20 +64,23 @@
<el-table v-loading="loading" :data="managementList" @selection-change="handleSelectionChange" max-height="650">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="库存编码" align="center" prop="stockId" />
<el-table-column label="仓库" align="center" prop="warehouseId" >
<template slot-scope="scope">
<dict-tag :options="dict.type.warehouse" :value="scope.row.warehouseId"/>
</template>
</el-table-column>
<el-table-column label="库存编码" align="center" prop="stockId" />
<el-table-column label="货位名称" align="center" prop="cargoSpaceName" />
<el-table-column label="批次号" align="center" prop="lotNo" />
<el-table-column label="托盘码" align="center" prop="trayCode" />
<el-table-column label="合同号" align="center" prop="orderId" />
<el-table-column label="产品号" align="center" prop="power" />
<el-table-column label="代号" align="center" prop="distribution" />
<el-table-column label="台次" align="center" prop="spare5" />
<el-table-column label="物料编码" align="center" prop="productId" />
<el-table-column label="物料名称" align="center" prop="productName" />
<el-table-column label="规格型号" align="center" prop="netWeight" />
<el-table-column label="图号" align="center" prop="grossWeight" />
<el-table-column label="库存数量" align="center" prop="quantity" width="80" />
<el-table-column label="来源" align="center" prop="spare1" >
<!-- <el-table-column label="来源" align="center" prop="spare1" >
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.spare1"/>
</template>
@@ -87,24 +95,21 @@
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.model"/>
</template>
</el-table-column>
<el-table-column label="台次" align="center" prop="spare5" />
<el-table-column label="入库单价" align="center" prop="spare6" />
<el-table-column label="状态" align="center" prop="voltage" >
</el-table-column>-->
<!-- <el-table-column label="入库单价" align="center" prop="spare6" />-->
<!-- <el-table-column label="状态" align="center" prop="voltage" >
<template slot-scope="scope">
<dict-tag :options="dict.type.turnover_type" :value="scope.row.voltage"/>
</template>
</el-table-column>
<el-table-column label="件次" align="center" prop="power" />
<!-- <el-table-column label="供应商" align="center" prop="phase" />-->
<el-table-column label="供应商" align="center" prop="inClassId" />
<el-table-column label="管理号" align="center" prop="distribution" />
<el-table-column label="产品质量" align="center" prop="spare8" >
</el-table-column>-->
<!-- <el-table-column label="供应商" align="center" prop="inClassId" />-->
<!-- <el-table-column label="产品质量" align="center" prop="spare8" >
<template slot-scope="scope">
<dict-tag :options="dict.type.quality_type" :value="scope.row.spare8"/>
</template>
</el-table-column>
<el-table-column label="合同号" align="center" prop="orderId" />
</el-table-column>-->
</el-table>