代码修改

This commit is contained in:
liuhanqing
2026-04-10 10:23:34 +08:00
parent f76c277d79
commit 393540ae28
97 changed files with 5982 additions and 3479 deletions

View File

@@ -1,4 +1,5 @@
## 开发
## 开发
```bash
# 克隆项目

View File

@@ -0,0 +1,16 @@
import request from '@/utils/request'
export function activeLicense(licenseCode) {
return request({
url: '/system/license/active',
method: 'post',
params: { licenseCode }
})
}
export function getLicenseInfo() {
return request({
url: '/system/license/info',
method: 'get'
})
}

View File

@@ -89,4 +89,58 @@
> .el-submenu__title
.el-submenu__icon-arrow {
display: none;
}
}
// global button styles
.el-button {
font-weight: 700 !important;
color: #303133 !important;
}
.el-button--primary,
.el-button--success,
.el-button--danger,
.el-button--info,
.el-button--warning {
background-color: #f5f7fa !important;
border-color: #dcdfe6 !important;
color: #303133 !important;
font-weight: 700 !important;
}
.el-button--primary:hover,
.el-button--success:hover,
.el-button--danger:hover,
.el-button--info:hover,
.el-button--warning:hover {
background-color: #e4e7ed !important;
border-color: #c0c4cc !important;
}
// global checkbox styles
.el-checkbox__inner,
.el-table th .el-checkbox__inner,
.el-table td .el-checkbox__inner {
border: 2px solid #606266 !important;
width: 16px;
height: 16px;
}
.el-checkbox.is-checked .el-checkbox__inner,
.el-checkbox.is-indeterminate .el-checkbox__inner,
.el-table .is-checked .el-checkbox__inner,
.el-table .is-indeterminate .el-checkbox__inner {
background-color: #606266 !important;
border-color: #606266 !important;
}
.el-checkbox__inner::after,
.el-table .el-checkbox__inner::after {
border: 2px solid #fff !important;
}
.el-checkbox.is-indeterminate .el-checkbox__inner::before,
.el-table .is-indeterminate .el-checkbox__inner::before {
background-color: #fff !important;
height: 2px !important;
}

View File

@@ -36,7 +36,7 @@ export default {
pageSizes: {
type: Array,
default() {
return [10, 50, 100, 500]
return [10, 100, 200, 500]
}
},
// 移动端页码按钮的数量端默认值5

View File

@@ -1,41 +1,49 @@
<template>
<div class="navbar fixed-header">
<div class="navbar">
<hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
<breadcrumb v-if="!topNav" id="breadcrumb-container" class="breadcrumb-container" />
<top-nav v-if="topNav" id="topmenu-container" class="topmenu-container" />
<div v-if="licenseWarning" class="license-warning">
<i class="el-icon-warning-outline" />
系统授权将于 {{ licenseExpireText }} 后过期,请及时联系管理员续期
</div>
<div class="right-menu">
<template v-if="device!=='mobile'">
<search id="header-search" class="right-menu-item" />
<el-tooltip content="联系我们" effect="dark" placement="bottom">
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
</el-tooltip>
<screenfull id="screenfull" class="right-menu-item hover-effect" />
<el-tooltip :content="$t('top.layOut')" effect="dark" placement="bottom">
<el-tooltip content="布局大小" effect="dark" placement="bottom">
<size-select id="size-select" class="right-menu-item hover-effect" />
</el-tooltip>
</template>
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="hover">
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
<div class="avatar-wrapper">
<img :src="avatar" class="user-avatar">
<span class="user-nickname"> {{ nickName }} </span>
<i class="el-icon-caret-bottom" />
</div>
<el-dropdown-menu slot="dropdown">
<router-link to="/user/profile">
<el-dropdown-item>{{ $t('top.personalCenter') }}</el-dropdown-item>
<el-dropdown-item>个人中心</el-dropdown-item>
</router-link>
<el-dropdown-item @click.native="setting = true">
<span>布局设置</span>
</el-dropdown-item>
<el-dropdown-item divided @click.native="logout">
<span>{{ $t('top.loginOut') }}</span>
<span>退出登录</span>
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<div class="right-menu-item hover-effect setting" @click="setLayout" v-if="setting">
<svg-icon icon-class="more-up" />
</div>
</div>
</div>
</template>
@@ -48,11 +56,11 @@ import Hamburger from '@/components/Hamburger'
import Screenfull from '@/components/Screenfull'
import SizeSelect from '@/components/SizeSelect'
import Search from '@/components/HeaderSearch'
// import RuoYiGit from '@/components/RuoYi/Git'
// import RuoYiDoc from '@/components/RuoYi/Doc'
import RuoYiGit from '@/components/RuoYi/Git'
import RuoYiDoc from '@/components/RuoYi/Doc'
import { getLicenseInfo } from '@/api/license'
export default {
emits: ['setLayout'],
components: {
Breadcrumb,
TopNav,
@@ -60,19 +68,31 @@ export default {
Screenfull,
SizeSelect,
Search,
// RuoYiGit,
// RuoYiDoc
RuoYiGit,
RuoYiDoc
},
data() {
return {
licenseWarning: false,
licenseExpireText: '',
licenseTimer: null
}
},
computed: {
...mapGetters([
'sidebar',
'avatar',
'device',
'nickName'
'device'
]),
setting: {
get() {
return this.$store.state.settings.showSettings
},
set(val) {
this.$store.dispatch('settings/changeSetting', {
key: 'showSettings',
value: val
})
}
},
topNav: {
@@ -81,17 +101,49 @@ export default {
}
}
},
mounted() {
this.checkLicenseExpire()
this.licenseTimer = setInterval(() => this.checkLicenseExpire(), 60 * 1000)
},
beforeDestroy() {
if (this.licenseTimer) {
clearInterval(this.licenseTimer)
}
},
methods: {
checkLicenseExpire() {
getLicenseInfo().then(res => {
if (res.code === 200 && res.data && res.data.expireTime) {
const expireTime = new Date(res.data.expireTime).getTime()
const now = Date.now()
const diffMs = expireTime - now
const diffDays = Math.ceil(diffMs / (1000 * 60 * 60 * 24))
if (diffMs > 0 && diffDays <= 30) {
this.licenseWarning = true
if (diffMs < 1000 * 60 * 60 * 24) {
const hours = Math.floor(diffMs / (1000 * 60 * 60))
const minutes = Math.floor((diffMs % (1000 * 60 * 60)) / (1000 * 60))
if (hours > 0) {
this.licenseExpireText = hours + ' 小时 ' + minutes + ' 分钟'
} else {
this.licenseExpireText = minutes + ' 分钟'
}
} else if (diffDays < 7) {
this.licenseExpireText = diffDays + ' 天'
} else {
this.licenseExpireText = Math.ceil(diffDays / 7) + ' 周'
}
}
}
}).catch(() => {})
},
toggleSideBar() {
this.$store.dispatch('app/toggleSideBar')
},
setLayout(event) {
this.$emit('setLayout')
},
logout() {
this.$confirm(this.$t('top.logoutTip'), this.$t('top.logoutTitle'), {
confirmButtonText: this.$t('top.confirm') ,
cancelButtonText: this.$t('top.cancel') ,
this.$confirm('确定注销并退出系统吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$store.dispatch('LogOut').then(() => {
@@ -104,15 +156,25 @@ export default {
</script>
<style lang="scss" scoped>
// 导航栏高度,可以通过公式 44+8n 进行调整
.navbar {
height: 44px;
height: 50px;
overflow: hidden;
position: relative;
background: var(--navbar-background, #fff);
color: var(--navbar-color, #5a5e66);
background: #1896fc;
box-shadow: 0 1px 4px rgba(0,21,41,.08);
.license-warning {
position: absolute;
left: 50%;
transform: translateX(-50%);
top: 0;
height: 50px;
line-height: 50px;
font-size: 13px;
color: #e6a23c;
font-weight: 500;
pointer-events: none;
i { margin-right: 4px; }
}
.hamburger-container {
line-height: 46px;
height: 100%;
@@ -143,7 +205,7 @@ export default {
.right-menu {
float: right;
height: 100%;
line-height: 44px;
line-height: 50px;
&:focus {
outline: none;
@@ -154,7 +216,7 @@ export default {
padding: 0 8px;
height: 100%;
font-size: 18px;
color: inherit;
color: #5a5e66;
vertical-align: text-bottom;
&.hover-effect {
@@ -168,25 +230,17 @@ export default {
}
.avatar-container {
margin-right: 0px;
padding-right: 0px;
margin-right: 30px;
.avatar-wrapper {
margin-top: 10px;
margin-top: 5px;
position: relative;
.user-avatar {
cursor: pointer;
width: 30px;
height: 30px;
border-radius: 50%;
}
.user-nickname{
position: relative;
bottom: 10px;
font-size: 14px;
font-weight: bold;
width: 40px;
height: 40px;
border-radius: 10px;
}
.el-icon-caret-bottom {
@@ -201,3 +255,4 @@ export default {
}
}
</style>

View File

@@ -131,20 +131,20 @@
<el-table v-loading="detailLoading" :data="mydoJobDetailList" @selection-change="handleSelectionChange"
max-height="300"
>
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column type="selection" width="55" align="center" />-->
<el-table-column label="子任务ID" align="left" prop="jobDetailId" width="160" />
<!-- <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="spare9" width="160"/>
<el-table-column label="物料名称" align="left" prop="spare1" show-overflow-tooltip />
<el-table-column label="入库数量" align="right" prop="inQuantity" />
<el-table-column label="合同号" align="left" prop="spare6" width="160"/>
<el-table-column label="产品号" align="left" prop="spare7" width="160"/>
<el-table-column label="代号" align="left" prop="spare9" width="160"/>
<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" width="160"/>-->
<!-- <el-table-column label="规格" align="left" prop="spec" width="160"/>-->
<el-table-column label="入库数量" align="right" prop="inQuantity" />
<el-table-column label="单重" align="left" prop="spare2" />
<el-table-column label="路线" align="left" prop="spare3" show-overflow-tooltip/>
<el-table-column label="供应商" align="left" prop="supplier_id" show-overflow-tooltip/>
<!-- <el-table-column label="物料编码" align="left" prop="productId" />-->
</el-table>
<pagination

View File

@@ -54,7 +54,7 @@
<span>入库物料</span>
<el-row>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-download" size="mini" @click="handleAddProduct" v-hasPermi="['receive:stockin:add']">
<el-button type="primary" plain icon="el-icon-download" size="mini" @click="handleAddProduct">
添加物料</el-button>
</el-col>
<!-- <el-col :span="1.5">
@@ -153,7 +153,7 @@
/>
</template>
</el-table-column>
<el-table-column label="规格型号" align="left" prop="spec" />
<!-- <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>
@@ -197,7 +197,7 @@
</div>
<div class="submit-block" style="margin-top: 20px; text-align: right">
<el-button type="primary" @click="submitForm" v-hasPermi="['receive:stockin:add']">提交</el-button>
<el-button type="primary" @click="submitForm">提交</el-button>
<el-button @click="cancelPri">取消</el-button>
</div>
@@ -603,7 +603,8 @@ export default {
lotNo:"",
totalNetWeight: 0,
netWeight: 0,
grossWeight: 0
grossWeight: 0,
spare8:item.productName
}));
this.productList.push(...newProducts);
this.productSelectVisible = false;

View File

@@ -1,8 +1,8 @@
<template>
<div class="app-container" style="background-color: #f0f2f5; padding: 20px; min-height: calc(100vh - 84px);">
<!-- 查询区域卡片 -->
<el-card shadow="never" style="margin-bottom: 15px; border: none;">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px" style="margin-bottom: -15px;">
<div class="app-container" style="background-color: #f0f2f5; padding: 16px; min-height: calc(100vh - 84px);">
<!-- 主表区域卡片 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px" style="margin-bottom: 8px;">
<el-form-item label="入库单据" prop="stockinGuid">
<el-input v-model="queryParams.stockinGuid" placeholder="请输入入库单据编码" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
@@ -18,7 +18,7 @@
</el-select>
</el-form-item>
<el-form-item label="单据状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择单据状态">
<el-select v-model="queryParams.status" placeholder="请选择单据状态" clearable>
<el-option v-for="dict in dict.type.in_bill_status" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
@@ -27,19 +27,15 @@
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</el-card>
<!-- 主表区域卡片 -->
<el-card shadow="never" style="margin-bottom: 15px; border: none;">
<div slot="header" class="clearfix">
<span style="font-weight: bold; color: #333;">主单列表</span>
<div style="float: right;">
<div class="section-header">
<span class="section-title">主单列表</span>
<div class="header-actions">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="single" @click="handleInvalidated" v-hasPermi="['in:stockIn:edit']">单据作废</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" :disabled="single" @click="handleReview" v-hasPermi="['in:stockIn:edit']">单据审核</el-button>
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleConfirmation" v-hasPermi="['in:stockIn:edit']">单据确认</el-button>
<el-button type="info" plain icon="el-icon-download" size="mini" :disabled="detailMultiple" @click="handleBarcodePrinting" v-hasPermi="['in:stockIn:barcodePrinting']">打印条码</el-button>
<el-button type="text" icon="el-icon-upload2" @click="handleImport">导入</el-button>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" style="margin-left: 10px;"></right-toolbar>
<!-- <el-button type="info" plain icon="el-icon-download" size="mini" :disabled="detailMultiple" @click="handleBarcodePrinting" v-hasPermi="['in:stockIn:barcodePrinting']">打印条码</el-button>-->
<el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport">导入</el-button>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" style="margin-left: 8px;"></right-toolbar>
</div>
</div>
@@ -70,27 +66,33 @@
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
style="padding: 10px 0 0 0;"
style="padding: 8px 0;"
/>
</el-card>
<!-- 子表区域卡片 -->
<el-card shadow="never" style="border: none;" v-if="queryDetailParams.stockinId">
<div slot="header" class="clearfix">
<span style="font-weight: bold; color: #333;">
<div class="section-header">
<span class="section-title">
子单明细 <span style="font-weight: normal; color: #999; font-size: 13px; margin-left: 10px;">(当前主单: {{ queryDetailParams.stockinId }})</span>
</span>
<div style="float: right; display: flex; align-items: center;">
<div class="header-actions">
<el-select v-model="detailFilters.assignedStatus" placeholder="全部状态" clearable size="mini" style="width: 120px;">
<el-option label="所有" :value="null"></el-option>
<el-option label="已分配" value="assigned"></el-option>
<el-option label="未分配" value="unassigned"></el-option>
</el-select>
<el-button type="primary" size="mini" icon="el-icon-check" @click="handleBatchSave" v-hasPermi="['in:stockIn:edit']">保存子单明细</el-button>
<div style="width: 1px; height: 20px; background: #eee; margin: 0 15px;"></div>
<el-input v-model="batchTrayCode" placeholder="条码 或 条码=位置" size="mini" style="width: 150px; margin-right: 5px;" clearable />
<el-input v-model="batchTrayCode" placeholder="条码 或 条码=位置" size="mini" style="width: 150px; margin-right: 5px;" clearable @keyup.enter.native="handleBatchFillTrayCode" />
<el-button type="warning" size="mini" icon="el-icon-copy-document" @click="handleBatchFillTrayCode">批量填充</el-button>
<div style="width: 1px; height: 20px; background: #eee; margin: 0 15px;"></div>
<el-tag v-if="detailFilters.assignedStatus" size="mini" class="filter-active-tag">{{ detailFilters.assignedStatus === 'assigned' ? '已分配' : '未分配' }}</el-tag>
</div>
</div>
<el-table
ref="detailTable"
v-loading="detailLoading"
:data="stockInDetailList"
@selection-change="handleDetailSelectionChange"
@@ -133,21 +135,39 @@
</template>
</el-table-column>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="合同号" align="left" prop="spare6" width="160"/>
<el-table-column label="产品号" align="left" prop="spare7" width="160"/>
<el-table-column label="代号" align="left" prop="spare9" width="160"/>
<el-table-column label="台次" align="left" prop="spare5" />
<el-table-column label="供应商" align="left" prop="supplierId" />
<el-table-column label="路线" align="left" prop="spare3" />
<!-- <el-table-column label="物料编码" align="left" prop="productId" width="160"/>-->
<el-table-column label="物料名称" align="left" prop="spare8" show-overflow-tooltip/>
<el-table-column label="代号" align="left" prop="spare9" width="160">
<template slot="header">
<span>代号</span>
<el-tag v-if="detailFilters.spare9" size="mini" class="filter-active-tag">筛选</el-tag>
<el-popover placement="bottom" trigger="click" width="220">
<el-input v-model="detailFilters.spare9" placeholder="模糊筛选" clearable size="mini"/>
<div style="text-align:right;margin-top:6px;">
<el-button size="mini" type="text" @click="detailFilters.spare9=''">清空</el-button>
</div>
<el-button slot="reference" type="text" icon="el-icon-search" />
</el-popover>
</template>
</el-table-column>
<el-table-column label="物料名称" align="left" prop="spare8" width="160" show-overflow-tooltip>
<template slot="header">
<span>物料名称</span>
<el-tag v-if="detailFilters.spare8" size="mini" class="filter-active-tag">筛选</el-tag>
<el-popover placement="bottom" trigger="click" width="220">
<el-input v-model="detailFilters.spare8" placeholder="模糊筛选" clearable size="mini"/>
<div style="text-align:right;margin-top:6px;">
<el-button size="mini" type="text" @click="detailFilters.spare8=''">清空</el-button>
</div>
<el-button slot="reference" type="text" icon="el-icon-search" />
</el-popover>
</template>
</el-table-column>
<el-table-column label="计划数量" align="center" prop="quantity" width="100"/>
<el-table-column label="实际数量" align="center" width="100">
<template slot-scope="scope">
<b :style="{color: scope.row.assignNum > scope.row.quantity ? '#F56C6C' : '#409EFF'}">{{ scope.row.assignNum }}</b>
</template>
</el-table-column>
<el-table-column label="托盘明细 (条码/数量/位置)" align="left" min-width="250">
<el-table-column label="托盘明细 (条码/数量/位置)" align="left" min-width="200">
<template slot-scope="scope">
<div v-if="scope.row.trayList && scope.row.trayList.length > 0" class="tray-summary-list">
<el-tag
@@ -169,6 +189,35 @@
<el-tag v-else size="mini" type="info" effect="plain">未分配托盘</el-tag>
</template>
</el-table-column>
<el-table-column label="合同号" align="left" prop="spare6" width="100">
<template slot="header">
<span>合同号</span>
<el-tag v-if="detailFilters.spare6" size="mini" class="filter-active-tag">筛选</el-tag>
<el-popover placement="bottom" trigger="click" width="220">
<el-input v-model="detailFilters.spare6" placeholder="模糊筛选" clearable size="mini"/>
<div style="text-align:right;margin-top:6px;">
<el-button size="mini" type="text" @click="detailFilters.spare6=''">清空</el-button>
</div>
<el-button slot="reference" type="text" icon="el-icon-search" />
</el-popover>
</template>
</el-table-column>
<el-table-column label="产品号" align="left" prop="spare7" width="120">
<template slot="header">
<span>产品号</span>
<el-tag v-if="detailFilters.spare7" size="mini" class="filter-active-tag">筛选</el-tag>
<el-popover placement="bottom" trigger="click" width="220">
<el-input v-model="detailFilters.spare7" placeholder="模糊筛选" clearable size="mini"/>
<div style="text-align:right;margin-top:6px;">
<el-button size="mini" type="text" @click="detailFilters.spare7=''">清空</el-button>
</div>
<el-button slot="reference" type="text" icon="el-icon-search" />
</el-popover>
</template>
</el-table-column>
<el-table-column label="台次" align="left" prop="spare5" width="60" />
<el-table-column label="供应商" align="left" prop="supplierId" width="100" show-overflow-tooltip/>
<el-table-column label="路线" align="left" prop="spare3" show-overflow-tooltip/>
<el-table-column label="备注" align="center" prop="remark">
<template slot-scope="scope">
<el-input v-model="scope.row.remark" placeholder="请输入备注" size="mini" clearable />
@@ -184,7 +233,7 @@
@pagination="getDetailList"
style="padding: 10px 0 0 0;"
/>
</el-card>
<!-- 绑定托盘对话框 -->
<el-dialog :title="'绑定托盘'" :visible.sync="bindOpen" width="600px" append-to-body>
@@ -329,6 +378,14 @@ export default {
stockInList: [],
// 入库单据子表表格数据
stockInDetailList: [],
// 子单明细筛选参数
detailFilters: {
assignedStatus: null,
spare6: '',
spare7: '',
spare9: '',
spare8: ''
},
// 弹出层标题
title: "",
// 是否显示弹出层
@@ -375,7 +432,7 @@ export default {
},
queryDetailParams: {
pageNum: 1,
pageSize: 10,
pageSize: 200,
stockinId: null
},
queryWarehouseParams:{
@@ -388,6 +445,23 @@ export default {
}
},
computed: {
assignedCount() {
return this.stockInDetailList.filter(item => item.trayList && item.trayList.length > 0).length;
},
unassignedCount() {
return this.stockInDetailList.filter(item => !item.trayList || item.trayList.length === 0).length;
}
},
watch: {
detailFilters: {
handler() {
this.queryDetailParams.pageNum = 1;
this.getDetailList();
},
deep: true
}
},
created() {
this.getList()
this.getWarehouseList()
@@ -655,6 +729,35 @@ export default {
}
});
this.$modal.msgSuccess("填充成功");
// 自动选择下一个未分配的行
this.$nextTick(() => {
const currentIndex = this.stockInDetailList.findIndex(item => this.stockInDetailListSelected.some(sel => sel.stockinDetailId === item.stockinDetailId));
let nextUnassignedIndex = -1;
// 从当前填充行的下一行开始查找
for (let i = currentIndex + 1; i < this.stockInDetailList.length; i++) {
const item = this.stockInDetailList[i];
if (!item.trayList || item.trayList.length === 0) {
nextUnassignedIndex = i;
break;
}
}
// 如果没找到,再从头开始找
if (nextUnassignedIndex === -1) {
for (let i = 0; i < currentIndex; i++) {
const item = this.stockInDetailList[i];
if (!item.trayList || item.trayList.length === 0) {
nextUnassignedIndex = i;
break;
}
}
}
if (nextUnassignedIndex !== -1) {
this.$refs.detailTable.clearSelection();
this.$refs.detailTable.toggleRowSelection(this.stockInDetailList[nextUnassignedIndex], true);
}
});
},
/** 添加托盘行 */
addTray(row) {
@@ -700,7 +803,12 @@ export default {
this.queryDetailParams.stockinId = stockinId;
}
this.queryDetailParams.status = this.queryParams.status;
listStockInDetail(this.queryDetailParams).then(response => {
// 合并筛选参数到请求中
const params = {
...this.queryDetailParams,
...this.detailFilters
};
listStockInDetail(params).then(response => {
this.stockInDetailList = response.rows.map(item => {
const trayList = item.trayList || [];
const assignNum = trayList.reduce((sum, tray) => sum + (tray.quantity || 0), 0);
@@ -737,6 +845,27 @@ export default {
</script>
<style scoped>
.section-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 8px 0;
}
.section-title {
font-weight: bold;
color: #333;
}
.header-actions {
display: flex;
align-items: center;
gap: 8px;
}
.filter-active-tag {
margin-left: 6px;
background-color: #e9eef3;
color: #303133;
border-color: #dcdfe6;
}
.detail-table >>> .detail-row-even {
background-color: #f0f9ff !important;
}

View File

@@ -168,7 +168,6 @@
/>
<el-table v-loading="detailLoading" :data="mydoJobDetailList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<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 -->
@@ -177,7 +176,7 @@
<el-table-column label="代号" align="left" prop="spare9" width="160"/>
<el-table-column label="台次" align="left" prop="spare5" />
<el-table-column label="物料编码" align="left" prop="productId" />
<el-table-column label="物料名称" align="left" prop="spare1" />
<el-table-column label="物料名称" align="left" prop="spare1" show-overflow-tooltip/>
<el-table-column label="出库数量" align="right" prop="outQuantity" /> <!-- 出库数量 -->
</el-table>

View File

@@ -4,7 +4,7 @@
<h3 class="title">{{ $t('login.title') }}</h3>
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
<div class="form-title">{{ $t('login.accountLogin') }}</div>
<lang-select class="set-language" />
<lang-select class="set-language"/>
<el-form-item prop="username">
<el-input
v-model="loginForm.username"
@@ -12,7 +12,7 @@
auto-complete="off"
:placeholder="$t('login.username')"
>
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon"/>
</el-input>
</el-form-item>
<el-form-item prop="password">
@@ -23,7 +23,7 @@
:placeholder="$t('login.password')"
@keyup.enter.native="handleLogin"
>
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon"/>
</el-input>
</el-form-item>
<el-form-item prop="code" v-if="captchaEnabled">
@@ -34,13 +34,16 @@
style="width: 63%"
@keyup.enter.native="handleLogin"
>
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon"/>
</el-input>
<div class="login-code">
<img :src="codeUrl" @click="getCode" class="login-code-img"/>
</div>
</el-form-item>
<el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">{{ $t('login.rememberMe') }}</el-checkbox>
<el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">{{
$t('login.rememberMe')
}}
</el-checkbox>
<el-form-item style="width:100%;">
<el-button
:loading="loading"
@@ -56,6 +59,25 @@
<router-link class="link-type" :to="'/register'">立即注册</router-link>
</div>
</el-form-item>
<!-- 激活授权码按钮 -->
<el-form-item style="width:100%;">
<el-button
size="medium"
type="warning"
style="width:100%;"
@click.native.prevent="openLicenseDialog"
>激活授权码
</el-button>
</el-form-item>
<!-- 激活授权码弹窗 -->
<el-dialog title="激活授权码" :visible.sync="licenseDialogVisible" width="420px" append-to-body>
<el-input v-model="licenseCode" type="textarea" :rows="4" placeholder="请输入授权码"/>
<span slot="footer">
<el-button @click="licenseDialogVisible = false">取 消</el-button>
<el-button type="primary" :loading="licenseLoading" @click="handleActiveLicense">激 活</el-button>
</span>
</el-dialog>
</el-form>
</div>
<!-- 底部 -->
@@ -67,43 +89,49 @@
<script>
import LangSelect from '@/components/LangSelect'
import { getCodeImg } from "@/api/login";
import {getCodeImg} from "@/api/login";
import Cookies from "js-cookie";
import { encrypt, decrypt } from '@/utils/jsencrypt'
import {encrypt, decrypt} from '@/utils/jsencrypt'
// 新增 import
import { activeLicense } from "@/api/license"
export default {
name: "Login",
components: { LangSelect },
components: {LangSelect},
data() {
return {
codeUrl: "",
loginForm: {
username: "",
password: "",
username: "admin",
password: "admin123",
rememberMe: false,
code: "",
uuid: ""
},
loginRules: {
username: [
{ required: true, trigger: "blur", message: "请输入您的账号" }
{required: true, trigger: "blur", message: "请输入您的账号"}
],
password: [
{ required: true, trigger: "blur", message: "请输入您的密码" }
{required: true, trigger: "blur", message: "请输入您的密码"}
],
code: [{ required: true, trigger: "change", message: "请输入验证码" }]
code: [{required: true, trigger: "change", message: "请输入验证码"}]
},
loading: false,
// 验证码开关
captchaEnabled: true,
// 注册开关
register: false,
redirect: undefined
redirect: undefined,
// 新增 data 字段
licenseDialogVisible: false,
licenseCode: '',
licenseLoading: false
};
},
watch: {
$route: {
handler: function(route) {
handler: function (route) {
this.redirect = route.query && route.query.redirect;
},
immediate: true
@@ -114,6 +142,30 @@ export default {
this.getCookie();
},
methods: {
// 新增方法
openLicenseDialog() {
this.licenseCode = ''
this.licenseDialogVisible = true
},
handleActiveLicense() {
if (!this.licenseCode.trim()) {
this.$message.warning('请输入授权码')
return
}
this.licenseLoading = true
activeLicense(this.licenseCode.trim()).then(res => {
if (res.code === 200) {
this.$message.success(res.msg || '授权码激活成功')
this.licenseDialogVisible = false
} else {
this.$message.error(res.msg || '授权码激活失败')
}
}).catch(() => {
this.$message.error('授权码激活失败')
}).finally(() => {
this.licenseLoading = false
})
},
getCode() {
getCodeImg().then(res => {
this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled;
@@ -138,16 +190,17 @@ export default {
if (valid) {
this.loading = true;
if (this.loginForm.rememberMe) {
Cookies.set("username", this.loginForm.username, { expires: 30 });
Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });
Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 });
Cookies.set("username", this.loginForm.username, {expires: 30});
Cookies.set("password", encrypt(this.loginForm.password), {expires: 30});
Cookies.set('rememberMe', this.loginForm.rememberMe, {expires: 30});
} else {
Cookies.remove("username");
Cookies.remove("password");
Cookies.remove('rememberMe');
}
this.$store.dispatch("Login", this.loginForm).then(() => {
this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
this.$router.push({path: this.redirect || "/"}).catch(() => {
});
}).catch(() => {
this.loading = false;
if (this.captchaEnabled) {
@@ -193,32 +246,39 @@ export default {
background: #ffffff;
width: 400px;
padding: 30px 30px 15px 30px;
.el-input {
height: 38px;
input {
height: 38px;
}
}
.input-icon {
height: 39px;
width: 14px;
margin-left: 2px;
}
}
.login-tip {
font-size: 13px;
text-align: center;
color: #bfbfbf;
}
.login-code {
width: 33%;
height: 38px;
float: right;
img {
cursor: pointer;
vertical-align: middle;
}
}
.el-login-footer {
height: 40px;
line-height: 40px;
@@ -231,9 +291,11 @@ export default {
font-size: 12px;
letter-spacing: 1px;
}
.login-code-img {
height: 38px;
}
.form-title {
font-size: 16px;
font-weight: bold;

View File

@@ -43,22 +43,21 @@
<!-- 物资明细表格 -->
<el-table v-loading="loading" :data="materialList">
<el-table-column label="仓库" align="center" prop="warehouseName" />
<el-table-column label="合同号" align="center" prop="orderId" width="160"/>
<el-table-column label="产品号" align="center" prop="power" width="160"/>
<el-table-column label="代号" align="center" prop="distribution" width="160"/>
<el-table-column label="台次" align="center" prop="spec" 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="netWeight" />
<el-table-column label="路线" align="center" prop="grossWeight" />
<el-table-column label="供应商" align="center" prop="phase" />
<el-table-column label="部门" align="center" prop="model" />
<el-table-column label="物料名称" align="center" prop="productName" show-overflow-tooltip/>
<el-table-column label="数量" align="center" prop="quantity" width="150">
<template slot-scope="scope">
<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="orderId" width="120"/>
<el-table-column label="产品号" align="center" prop="power" width="100"/>
<el-table-column label="台次" align="center" prop="spec" width="80"/>
<el-table-column label="单重" align="center" prop="netWeight" />
<el-table-column label="路线" align="center" prop="grossWeight" show-overflow-tooltip/>
<el-table-column label="供应商" align="center" prop="phase" show-overflow-tooltip/>
<el-table-column label="部门" align="center" prop="model" />
<el-table-column :label="'操作'" align="center" class-name="small-padding fixed-width"><!--操作-->
<template slot-scope="scope">
@@ -120,17 +119,14 @@
<el-table v-loading="materialLoading" :data="materialOptions" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="id" align="center" prop="onlyIdentity" />
<el-table-column label="物料编码" align="center" prop="productId" />
<el-table-column label="物料名称" align="center" prop="productName" />
<el-table-column label="代号" align="center" prop="distribution" width="160"/>
<el-table-column label="物料名称" align="center" prop="productName" show-overflow-tooltip/>
<el-table-column label="数量" align="center" prop="quantity" />
<el-table-column label="仓库id" align="center" prop="warehouseId" />
<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="orderId" width="160"/>
<el-table-column label="产品号" align="center" prop="power" width="160"/>
<el-table-column label="台次" align="center" prop="spare5" width="160"/>
<el-table-column label="单重" align="center" prop="netWeight" />
<el-table-column label="路线" align="center" prop="grossWeight" />
<el-table-column label="路线" align="center" prop="grossWeight" show-overflow-tooltip />
<el-table-column label="供应商" align="center" prop="phase" />
<el-table-column label="部门" align="center" prop="model" />
</el-table>
@@ -440,6 +436,7 @@ export default {
grossWeight: item.grossWeight,
phase: item.phase,
model: item.model,
voltage: item.voltage,
}))
);

View File

@@ -115,7 +115,7 @@
<el-table-column label="代号" align="center" prop="managementNo" width="160"/>
<el-table-column label="台次" align="center" prop="units" width="160"/>
<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="productName" width="160" show-overflow-tooltip/>
<!-- <el-table-column label="规格" align="center" prop="spec" width="160"/>-->
<el-table-column label="出库数量" align="center" prop="outQuantity" />
<el-table-column label="创建时间" align="center" prop="createTime" width="160"/>

View File

@@ -109,16 +109,16 @@
v-hasPermi="['out:outStockout:autoAllot']"
>{{'自动分配'}}</el-button> <!-- 自动分配 -->
</el-col>
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-s-tools"
size="mini"
@click="handleManualAllot"
v-hasPermi="['out:outStockout:manualAllot']"
>{{'手动分配'}}</el-button> <!-- 手动分配 -->
</el-col>
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="info"-->
<!-- plain-->
<!-- icon="el-icon-s-tools"-->
<!-- size="mini"-->
<!-- @click="handleManualAllot"-->
<!-- v-hasPermi="['out:outStockout:manualAllot']"-->
<!-- >{{'手动分配'}}</el-button> &lt;!&ndash; 手动分配 &ndash;&gt;-->
<!-- </el-col>-->
<el-col :span="1.5">
<el-button
type="warning"
@@ -160,7 +160,6 @@
</template>
</el-table-column>
<el-table-column label="领料人" align="left" prop="classNowId" />
<!-- <el-table-column label="客户名称" align="left" prop="customerName" />-->
<el-table-column label="创建时间" align="left" prop="createDate" width="160"/><!-- 创建时间 -->
<el-table-column label="开始时间" align="left" prop="startDate" width="160"/><!-- 开始时间 -->
<el-table-column label="确认时间" align="left" prop="finishDate" width="160"/> <!-- 确认时间 -->
@@ -178,21 +177,18 @@
<!-- 子表数据 -->
<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="orderId" width="160"/>
<el-table-column label="产品号" align="center" prop="power" width="160"/>
<el-table-column label="出库子单编号" align="center" prop="stockoutDetailId" width="160" />
<el-table-column label="代号" align="center" prop="distribution" width="160"/>
<el-table-column label="台次" align="center" prop="spec" width="160"/>
<el-table-column label="单重" align="center" prop="netWeight" />
<el-table-column label="路线" align="center" prop="grossWeight" width="160"/>
<el-table-column label="供应商" align="center" prop="phase" 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="productName" show-overflow-tooltip/>
<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="orderId" width="100"/>
<el-table-column label="产品号" align="center" prop="power" width="120"/>
<el-table-column label="台次" align="center" prop="spec" width="80"/>
<el-table-column label="单重" align="center" prop="netWeight" />
<el-table-column label="路线" align="center" prop="grossWeight" show-overflow-tooltip/>
<el-table-column label="供应商" align="center" prop="phase" show-overflow-tooltip/>
</el-table>
<!-- 审核弹窗 -->

View File

@@ -77,10 +77,12 @@
<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>
<el-button icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<!-- <el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="warning"
@@ -92,40 +94,40 @@
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
</el-row>-->
<el-table v-loading="loading" :data="ViewInJobFlowList" @selection-change="handleSelectionChange">
<el-table v-loading="loading" :data="ViewInJobFlowList" @selection-change="handleSelectionChange" height="600">
<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="cases" width="120"/>
<el-table-column label="代号" align="center" prop="managementNo" width="160"/>
<el-table-column label="物料名称" align="center" prop="productName" width="160" show-overflow-tooltip/>
<el-table-column label="数量" align="center" prop="quantity" />
<el-table-column label="托盘条码" align="center" prop="trayCode" width="100" />
<el-table-column label="货位名称" align="center" prop="cargoSpaceName" width="140" />
<el-table-column label="部门" align="center" prop="deptName" width="100" />
<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">
<dict-tag :options="dict.type.mydo_job_status" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="classId" width="120"/>
<el-table-column label="任务类型" align="center" prop="inOrOut" width="120">
<template slot-scope="scope">
<dict-tag :options="dict.type.job_type" :value="scope.row.inOrOut"/>
</template>
</el-table-column>
<el-table-column label="托盘条码" align="center" prop="trayCode" width="100" />
<el-table-column label="部门" align="center" prop="deptName" width="100" />
<el-table-column label="货位名称" align="center" prop="cargoSpaceName" width="140" />
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.mydo_job_status" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="任务号" align="center" prop="taskNo" width="160"/>
<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="spec" width="160"/>
<el-table-column label="数量" align="center" prop="quantity" />
<el-table-column label="路线" align="center" prop="account" show-overflow-tooltip/>
<el-table-column label="单重" align="center" prop="turnovertype" show-overflow-tooltip/>
<el-table-column label="台次" align="center" prop="units" show-overflow-tooltip/>
<el-table-column label="创建时间" align="center" prop="createTime" width="160"/>
<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="inOrOutId" width="200"/>
<el-table-column label="子单据" align="center" prop="inOrOutDId" width="200"/>
<el-table-column label="子任务编码" align="center" prop="jobDetailId" width="200"/>
</el-table>
<pagination
@@ -354,7 +356,7 @@ export default {
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
pageSize: 500,
jobDetailId: null,
jobId: null,
taskNo: null,

View File

@@ -1,54 +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="仓库" prop="warehouseId">&lt;!&ndash;仓库&ndash;&gt;
<el-select
v-model="queryParams.warehouseId"
placeholder="请选择仓库"
clearable
@change="handleQuery"
>
<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="roadwayId">
<el-input
v-model="queryParams.roadwayId"
placeholder="请输入巷道"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="排" prop="thePlatoon">
<el-input
v-model="queryParams.thePlatoon"
placeholder="请输入排"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="列" prop="theColumn">
<el-input
v-model="queryParams.theColumn"
placeholder="请输入列"
clearable
@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="orderId">
<el-input
@@ -83,14 +35,6 @@
/>
</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"
@@ -99,55 +43,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="规格型号" prop="spec">
<el-input
v-model="queryParams.spec"
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"
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
@@ -158,16 +53,6 @@
/>
</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="deptName">
<el-input
v-model="queryParams.deptName"
@@ -192,46 +77,6 @@
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>-->
@@ -239,42 +84,11 @@
<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><!-- 重置 -->
<el-button icon="el-icon-download" size="mini" @click="handleExport">导出</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="['search:ViewStockDetail: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="['search:ViewStockDetail: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="['search:ViewStockDetail:remove']"-->
<!-- >删除</el-button>-->
<!-- </el-col>-->
<!-- <el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="warning"
@@ -286,90 +100,30 @@
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
</el-row>-->
<el-table v-loading="loading" :data="ViewStockDetailList" @selection-change="handleSelectionChange" max-height="650">
<el-table v-loading="loading" :data="ViewStockDetailList" @selection-change="handleSelectionChange" height="600">
<el-table-column label="仓库名称" align="center" prop="warehouseName"/>
<el-table-column label="产品号" align="center" prop="power" width="120"/>
<el-table-column label="代号" align="center" prop="distribution" width="160"/>
<el-table-column label="物料名称" align="center" prop="productName" width="160" show-overflow-tooltip/>
<el-table-column label="数量" align="center" prop="quantity"/>
<el-table-column label="路线" align="center" prop="grossWeight" show-overflow-tooltip/>
<el-table-column label="台次" align="center" prop="spare5"/>
<el-table-column label="单重" align="center" prop="netWeight" show-overflow-tooltip/>
<el-table-column label="合同号" align="center" prop="orderId" show-overflow-tooltip/>
<el-table-column label="托盘" align="center" prop="trayCode" width="80"/>
<el-table-column label="位置" align="center" prop="spare8" width="80" show-overflow-tooltip/>
<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" width="120"/>
<!-- <el-table-column label="库位编码" align="center" prop="cargoSpaceId" 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="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="deptName" width="120"/>
<!-- <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="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="inDate" width="160"/>
<el-table-column label="最后出库时间" align="center" prop="stackingId" width="160"/>
<el-table-column label="盘点标识" align="center" prop="spare7">
<template slot-scope="scope">
<dict-tag :options="dict.type.check_flag" :value="scope.row.spare7"/>
</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">
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.spare4"/>
</template>
</el-table-column>
<el-table-column label="用途" align="center" prop="spare1">
<template slot-scope="scope">
<dict-tag :options="dict.type.purpose_type" :value="scope.row.spare1"/>
</template>
</el-table-column>-->
<!-- <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:ViewStockDetail:edit']"-->
<!-- >修改</el-button>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['search:ViewStockDetail:remove']"-->
<!-- >删除</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
<pagination
@@ -482,7 +236,19 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
orderId:null,
power:null,
distribution:null,
spare5:null,
netWeight:null,
grossWeight:null,
phase:null,
productId:null,
productName:null,
model:null,
trayCode:null,
inDateStart:null,
inDateEnd:null,
},
// 表单参数
form: {},

View File

@@ -1,26 +1,36 @@
<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="入库单号" prop="stockinId">
<!-- <el-form-item label="入库单据" prop="stockinId">
<el-input
v-model="queryParams.stockinId"
placeholder="请输入入库单号"
placeholder="请输入入库单据"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="入库子单号" prop="stockinDetailId">
<el-form-item label="仓库id" prop="warehouseId">
<el-input
v-model="queryParams.warehouseId"
placeholder="请输入仓库id"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="入库类型" prop="inType">
<el-select v-model="queryParams.inType" placeholder="请选择入库类型" clearable>
<el-option
v-for="dict in dict.type.in_bill_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="入库子单" prop="stockinDetailId">
<el-input
v-model="queryParams.stockinDetailId"
placeholder="请输入入库子单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="物料编码" prop="productId">
<el-input
v-model="queryParams.productId"
placeholder="请输入物料编码"
placeholder="请输入入库子单"
clearable
@keyup.enter.native="handleQuery"
/>
@@ -33,7 +43,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="产品号" prop="spare7">
<el-input
v-model="queryParams.spare7"
@@ -58,6 +67,38 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="单重" prop="spare4">
<el-input
v-model="queryParams.spare4"
placeholder="请输入单重"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="路线" prop="spare3">
<el-input
v-model="queryParams.spare3"
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="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"
@@ -66,92 +107,6 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="规格型号" prop="spec">
<el-input
v-model="queryParams.spec"
placeholder="请输入规格型号"
clearable
@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 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>
<el-form-item label="单位" prop="unit">
<el-input
v-model="queryParams.unit"
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="priceTotal">
<el-input
v-model="queryParams.priceTotal"
placeholder="请输入单据金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="供应商代号" prop="supplierNo">
<el-input
v-model="queryParams.supplierNo"
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="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="createManId">
<el-input
v-model="queryParams.createManId"
placeholder="请输入创建用户"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createDate">
<el-input
v-model="queryParams.createDate"
@@ -160,64 +115,24 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="单据状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择单据状态" clearable>
<el-option
v-for="dict in dict.type.in_bill_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
<el-form-item label="结束时间" prop="finishDate">
<el-input
v-model="queryParams.finishDate"
placeholder="请输入结束时间"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="质量" prop="spare8">
<el-select v-model="queryParams.spare8" placeholder="请选择质量" clearable>
<el-option
v-for="dict in dict.type.quality_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="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="spare2">
<el-select v-model="queryParams.spare2" 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>
<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>
<el-button icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<!-- <el-col :span="1.5">
<!-- <el-row :gutter="10" class="mb8">
&lt;!&ndash; <el-col :span="1.5">
<el-button
type="primary"
plain
@@ -248,7 +163,7 @@
@click="handleDelete"
v-hasPermi="['search:ViewStockinHistory:remove']"
>删除</el-button>
</el-col>-->
</el-col>&ndash;&gt;
<el-col :span="1.5">
<el-button
type="warning"
@@ -260,85 +175,34 @@
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
</el-row>-->
<el-table v-loading="loading" :data="ViewStockinHistoryList" @selection-change="handleSelectionChange">
<el-table v-loading="loading" :data="ViewStockinHistoryList" @selection-change="handleSelectionChange" height="600">
<!-- <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">
<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="spare7" width="120"/>
<el-table-column label="代号" align="center" prop="spare9" width="160"/>
<el-table-column label="物料名称" align="center" prop="productName" show-overflow-tooltip/>
<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="assignNum" />
<el-table-column label="路线" align="center" prop="spare3" show-overflow-tooltip/>
<el-table-column label="台次" align="center" prop="spare5" width="80"/>
<el-table-column label="单重" align="center" prop="spare4" />
<el-table-column label="入库类型" align="center" prop="inType">
<template slot-scope="scope">
<dict-tag :options="dict.type.in_bill_type" :value="scope.row.inType"/>
</template>
</el-table-column>
<el-table-column label="供应商" align="center" prop="supplierId" show-overflow-tooltip/>
<el-table-column label="合同号" align="center" prop="spare6" width="120"/>
<el-table-column label="入库单据" align="center" prop="stockinId" show-overflow-tooltip/>
<el-table-column label="入库子单" align="center" prop="stockinDetailId" show-overflow-tooltip/>
<!-- <el-table-column label="物料编码" align="center" prop="productId" />-->
<!-- <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">
<template slot-scope="scope">
<dict-tag :options="dict.type.in_bill_status" :value="scope.row.status"/>
</template>
</el-table-column>
<!-- <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="finishDate" width="160"/>
<el-table-column label="备注" align="center" prop="remark" />
<!-- <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">
<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="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" 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:ViewStockinHistory:edit']"-->
<!-- >修改</el-button>-->
<!-- <el-button-->
<!-- size="mini"-->
<!-- type="text"-->
<!-- icon="el-icon-delete"-->
<!-- @click="handleDelete(scope.row)"-->
<!-- v-hasPermi="['search:ViewStockinHistory:remove']"-->
<!-- >删除</el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
<pagination
@@ -352,11 +216,48 @@
<!-- 添加或修改入库单据流水对话框 -->
<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="stockinId">
<el-input v-model="form.stockinId" placeholder="请输入入库单号" />
<el-form-item label="入库单据" prop="stockinId">
<el-input v-model="form.stockinId" placeholder="请输入入库单据" />
</el-form-item>
<el-form-item label="入库子单号" prop="stockinDetailId">
<el-input v-model="form.stockinDetailId" placeholder="请输入入库子单号" />
<el-form-item label="仓库id" prop="warehouseId">
<el-input v-model="form.warehouseId" placeholder="请输入仓库id" />
</el-form-item>
<el-form-item label="部门id" prop="departmentNo">
<el-input v-model="form.departmentNo" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="入库类型" prop="inType">
<el-select v-model="form.inType" placeholder="请选择入库类型">
<el-option
v-for="dict in dict.type.in_bill_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="入库子单" prop="stockinDetailId">
<el-input v-model="form.stockinDetailId" placeholder="请输入入库子单" />
</el-form-item>
<el-form-item label="合同号" prop="spare6">
<el-input v-model="form.spare6" placeholder="请输入合同号" />
</el-form-item>
<el-form-item label="产品号" prop="spare7">
<el-input v-model="form.spare7" placeholder="请输入产品号" />
</el-form-item>
<el-form-item label="代号" prop="spare9">
<el-input v-model="form.spare9" placeholder="请输入代号" />
</el-form-item>
<el-form-item label="台次" prop="spare5">
<el-input v-model="form.spare5" placeholder="请输入台次" />
</el-form-item>
<el-form-item label="单重" prop="spare4">
<el-input v-model="form.spare4" placeholder="请输入单重" />
</el-form-item>
<el-form-item label="路线" prop="spare3">
<el-input v-model="form.spare3" placeholder="请输入路线" />
</el-form-item>
<el-form-item label="供应商" prop="supplierId">
<el-input v-model="form.supplierId" placeholder="请输入供应商" />
</el-form-item>
<el-form-item label="物料编码" prop="productId">
<el-input v-model="form.productId" placeholder="请输入物料编码" />
@@ -364,115 +265,15 @@
<el-form-item label="物料名称" prop="productName">
<el-input v-model="form.productName" placeholder="请输入物料名称" />
</el-form-item>
<el-form-item label="规格型号" prop="spec">
<el-input v-model="form.spec" placeholder="请输入规格型号" />
</el-form-item>
<el-form-item label="生产图号" prop="cargoNo">
<el-input v-model="form.cargoNo" placeholder="请输入生产图号" />
</el-form-item>
<el-form-item label="产品状态" prop="productType">
<el-select v-model="form.productType" placeholder="请选择产品状态">
<el-option
v-for="dict in dict.type.product_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="单位" prop="unit">
<el-input v-model="form.unit" placeholder="请输入单位" />
</el-form-item>
<el-form-item label="单价" prop="price">
<el-input v-model="form.price" placeholder="请输入单价" />
</el-form-item>
<el-form-item label="单据金额" prop="priceTotal">
<el-input v-model="form.priceTotal" placeholder="请输入单据金额" />
</el-form-item>
<el-form-item label="供应商代号" prop="supplierNo">
<el-input v-model="form.supplierNo" placeholder="请输入供应商代号" />
</el-form-item>
<el-form-item label="供应商名称" prop="supplierName">
<el-input v-model="form.supplierName" placeholder="请输入供应商名称" />
</el-form-item>
<el-form-item label="合同号" prop="spare6">
<el-input v-model="form.spare6" placeholder="请输入合同号" />
</el-form-item>
<el-form-item label="台次" prop="spare5">
<el-input v-model="form.spare5" placeholder="请输入台次" />
</el-form-item>
<el-form-item label="件次" prop="spare7">
<el-input v-model="form.spare7" placeholder="请输入件次" />
</el-form-item>
<el-form-item label="账套" prop="spare3">
<el-select v-model="form.spare3" placeholder="请选择账套">
<el-option
v-for="dict in dict.type.account_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="创建用户" prop="createManId">
<el-input v-model="form.createManId" placeholder="请输入创建用户" />
</el-form-item>
<el-form-item label="创建时间" prop="createDate">
<el-input v-model="form.createDate" placeholder="请输入创建时间" />
</el-form-item>
<el-form-item label="单据状态" prop="status">
<el-select v-model="form.status" placeholder="请选择单据状态">
<el-option
v-for="dict in dict.type.in_bill_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="质量" prop="spare8">
<el-select v-model="form.spare8" placeholder="请选择质量">
<el-option
v-for="dict in dict.type.quality_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
<el-form-item label="结束时间" prop="finishDate">
<el-input v-model="form.finishDate" placeholder="请输入结束时间" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
<el-form-item label="来源" prop="spare1">
<el-select v-model="form.spare1" placeholder="请选择来源">
<el-option
v-for="dict in dict.type.origin_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="用途" prop="spare4">
<el-select v-model="form.spare4" placeholder="请选择用途">
<el-option
v-for="dict in dict.type.purpose_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="spare2">
<el-select v-model="form.spare2" placeholder="请选择状态">
<el-option
v-for="dict in dict.type.turnover_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
@@ -487,7 +288,7 @@ import { listViewStockinHistory, getViewStockinHistory, delViewStockinHistory, a
export default {
name: "ViewStockinHistory",
dicts: ['product_type', 'quality_type', 'turnover_type', 'purpose_type', 'origin_type', 'in_bill_status', 'account_type'],
dicts: ['in_bill_type'],
data() {
return {
// 遮罩层
@@ -511,47 +312,36 @@ export default {
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
pageSize: 500,
stockinId: null,
warehouseId: null,
departmentNo: null,
inType: null,
stockinDetailId: null,
spare6: null,
spare7: null,
spare9: null,
spare5: null,
spare4: null,
spare3: null,
supplierId: null,
productId: null,
productName: null,
spec: null,
cargoNo: null,
productType: null,
quantity: null,
scanNum: null,
assignNum: null,
unit: null,
price: null,
priceTotal: null,
supplierNo: null,
supplierName: null,
spare6: null,
spare5: null,
spare7: null,
spare3: null,
createManId: null,
createDate: null,
status: null,
spare8: null,
spare1: null,
spare4: null,
spare2: null
finishDate: null,
},
// 表单参数
form: {},
// 表单校验
rules: {
stockinId: [
{ required: true, message: "入库单号不能为空", trigger: "blur" }
{ required: true, message: "入库单据不能为空", trigger: "blur" }
],
createDate: [
{ required: true, message: "创建时间不能为空", trigger: "blur" }
],
status: [
{ required: true, message: "单据状态不能为空", trigger: "change" }
],
}
}
},
@@ -577,32 +367,24 @@ export default {
reset() {
this.form = {
stockinId: null,
warehouseId: null,
departmentNo: null,
inType: null,
stockinDetailId: null,
spare6: null,
spare7: null,
spare9: null,
spare5: null,
spare4: null,
spare3: null,
supplierId: null,
productId: null,
productName: null,
spec: null,
cargoNo: null,
productType: null,
quantity: null,
scanNum: null,
assignNum: null,
unit: null,
price: null,
priceTotal: null,
supplierNo: null,
supplierName: null,
spare6: null,
spare5: null,
spare7: null,
spare3: null,
createManId: null,
createDate: null,
status: null,
spare8: null,
remark: null,
spare1: null,
spare4: null,
spare2: null
finishDate: null,
remark: null
}
this.resetForm("form")
},

View File

@@ -1,63 +1,38 @@
<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="出库单号" prop="stockoutId">
<!-- <el-form-item label="出库主单" prop="stockoutId">
<el-input
v-model="queryParams.stockoutId"
placeholder="请输入出库单号"
placeholder="请输入出库主单"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="出库子单号" prop="stockoutDetailId">
<el-form-item label="出库子单" prop="stockoutDetailId">
<el-input
v-model="queryParams.stockoutDetailId"
placeholder="请输入出库子单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="物料编码" prop="productId">
<el-input
v-model="queryParams.productId"
placeholder="请输入物料编码"
placeholder="请输入出库子单"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>-->
<el-form-item label="合同号" prop="contract">
<el-form-item label="产品号" prop="power">
<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"
v-model="queryParams.power"
placeholder="请输入产品号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="代号" prop="managementNo">
<el-form-item label="代号" prop="distribution">
<el-input
v-model="queryParams.managementNo"
v-model="queryParams.distribution"
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
v-model="queryParams.productName"
@@ -66,331 +41,94 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="规格" prop="spec">
<el-form-item label="领料人" prop="classNowId">
<el-input
v-model="queryParams.classNowId"
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="exitId">
<el-select v-model="queryParams.exitId" placeholder="请选择出口" clearable>
<el-option
v-for="dict in dict.type.exit_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="台次" prop="spec">
<el-input
v-model="queryParams.spec"
placeholder="请输入规格"
placeholder="请输入台次"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!--
<el-form-item label="图号" prop="cargoNo">
<el-form-item label="仓库id" prop="warehouseId">
<el-input
v-model="queryParams.cargoNo"
placeholder="请输入图号"
v-model="queryParams.warehouseId"
placeholder="请输入仓库id"
clearable
@keyup.enter.native="handleQuery"
/>
</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="创建时间">
<el-date-picker
v-model="daterangeCreateDate"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
start-placeholder="开始日期"
end-placeholder="结束日期"
></el-date-picker>
</el-form-item>
<el-form-item label="出库数量" prop="quantity">
<el-input
v-model="queryParams.quantity"
placeholder="请输入出库数量"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="分配数量" prop="allotQuantity">
<el-input
v-model="queryParams.allotQuantity"
placeholder="请输入分配数量"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="实际数量" prop="assignNum">
<el-input
v-model="queryParams.assignNum"
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="priceTotal">
<el-input
v-model="queryParams.priceTotal"
placeholder="请输入出库金额"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<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="status">
<el-select v-model="queryParams.status" placeholder="请选择单据状态" clearable>
<el-option
v-for="dict in dict.type.out_bill_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="创建人" prop="createManId">
<el-input
v-model="queryParams.createManId"
placeholder="请输入创建人"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="创建时间" prop="createDate">
<el-input
v-model="queryParams.createDate"
placeholder="请输入创建时间"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="单位" prop="unit">
<el-input
v-model="queryParams.unit"
placeholder="请输入单位"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="套账" prop="account">
<el-select v-model="queryParams.account" 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="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="purpose">
<el-select v-model="queryParams.purpose" 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="quality">
<el-select v-model="queryParams.quality" placeholder="请选择质量" clearable>
<el-option
v-for="dict in dict.type.quality_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="来源" prop="source">
<el-select v-model="queryParams.source" 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="turnoverStatus">
<el-select v-model="queryParams.turnoverStatus" 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="用途2" prop="purpose2">
<el-input
v-model="queryParams.purpose2"
placeholder="请输入用途2"
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>
<el-button icon="el-icon-download" size="mini" @click="handleExport">导出</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="['search:ViewStockoutHistory: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="['search:ViewStockoutHistory: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="['search:ViewStockoutHistory: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="['search:ViewStockoutHistory:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="ViewStockoutHistoryList" @selection-change="handleSelectionChange">
<!-- <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="quantity" />
<el-table v-loading="loading" :data="ViewStockoutHistoryList" @selection-change="handleSelectionChange" height="600">
<el-table-column label="产品号" align="center" prop="power" />
<el-table-column label="代号" align="center" prop="distribution" width="160"/>
<el-table-column label="物料名称" align="center" prop="productName" width="160" show-overflow-tooltip/>
<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="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="classNowId" />
<el-table-column label="合同号" align="center" prop="orderId" show-overflow-tooltip/>
<el-table-column label="出口" align="center" prop="exitId">
<template slot-scope="scope">
<dict-tag :options="dict.type.out_bill_status" :value="scope.row.status"/>
<dict-tag :options="dict.type.exit_type" :value="scope.row.exitId"/>
</template>
</el-table-column>-->
<el-table-column label="创建人" align="center" prop="createManId" />
</el-table-column>
<el-table-column label="台次" align="center" prop="spec" show-overflow-tooltip/>
<el-table-column label="单重" align="center" prop="netWeight" show-overflow-tooltip/>
<el-table-column label="路线" align="center" prop="grossWeight" show-overflow-tooltip/>
<el-table-column label="供应商" align="center" prop="phase" show-overflow-tooltip/>
<el-table-column label="物料编码" align="center" prop="productId" show-overflow-tooltip/>
<el-table-column label="仓库id" align="center" prop="warehouseId" />
<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">
<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="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">
<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="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="source">
<template slot-scope="scope">
<dict-tag :options="dict.type.origin_type" :value="scope.row.source"/>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="turnoverStatus">
<template slot-scope="scope">
<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="操作" 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:ViewStockoutHistory:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['search:ViewStockoutHistory:remove']"
>删除</el-button>
</template>
</el-table-column>-->
<el-table-column label="开始时间" align="center" prop="startDate" width="160" />
<el-table-column label="结束时间" align="center" prop="finishDate" width="160"/>
<el-table-column label="出库主单" align="center" prop="stockoutId" width="180"/>
<el-table-column label="出库子单" align="center" prop="stockoutDetailId" width="180"/>
</el-table>
<pagination
@@ -404,36 +142,23 @@
<!-- 添加或修改出库单据历史对话框 -->
<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="stockoutId">
<el-input v-model="form.stockoutId" placeholder="请输入出库单号" />
<el-form-item label="出库主单" prop="stockoutId">
<el-input v-model="form.stockoutId" placeholder="请输入出库主单" />
</el-form-item>
<el-form-item label="出库子单号" prop="stockoutDetailId">
<el-input v-model="form.stockoutDetailId" placeholder="请输入出库子单号" />
<el-form-item label="出库子单" prop="stockoutDetailId">
<el-input v-model="form.stockoutDetailId" placeholder="请输入出库子单" />
</el-form-item>
<el-form-item label="物料编码" prop="productId">
<el-input v-model="form.productId" placeholder="请输入物料编码" />
<el-form-item label="产品号" prop="power">
<el-input v-model="form.power" placeholder="请输入产品号" />
</el-form-item>
<el-form-item label="代号" prop="distribution">
<el-input v-model="form.distribution" placeholder="请输入代号" />
</el-form-item>
<el-form-item label="物料名称" prop="productName">
<el-input v-model="form.productName" placeholder="请输入物料名称" />
</el-form-item>
<el-form-item label="规格" prop="spec">
<el-input v-model="form.spec" placeholder="请输入规格" />
</el-form-item>
<el-form-item label="图号" prop="cargoNo">
<el-input v-model="form.cargoNo" placeholder="请输入图号" />
</el-form-item>
<el-form-item label="物料状态" prop="productType">
<el-select v-model="form.productType" placeholder="请选择物料状态">
<el-option
v-for="dict in dict.type.product_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="出库数量" prop="quantity">
<el-input v-model="form.quantity" placeholder="请输入出库数量" />
<el-form-item label="计划数量" prop="quantity">
<el-input v-model="form.quantity" placeholder="请输入计划数量" />
</el-form-item>
<el-form-item label="分配数量" prop="allotQuantity">
<el-input v-model="form.allotQuantity" placeholder="请输入分配数量" />
@@ -441,110 +166,53 @@
<el-form-item label="实际数量" prop="assignNum">
<el-input v-model="form.assignNum" placeholder="请输入实际数量" />
</el-form-item>
<el-form-item label="合同号" prop="contract">
<el-input v-model="form.contract" placeholder="请输入合同号" />
<el-form-item label="领料人" prop="classNowId">
<el-input v-model="form.classNowId" placeholder="请输入领料人" />
</el-form-item>
<el-form-item label="台次" prop="power">
<el-input v-model="form.power" placeholder="请输入台次" />
<el-form-item label="合同号" prop="orderId">
<el-input v-model="form.orderId" placeholder="请输入合同号" />
</el-form-item>
<el-form-item label="件次" prop="phase">
<el-input v-model="form.phase" placeholder="请输入件次" />
</el-form-item>
<el-form-item label="单价" prop="price">
<el-input v-model="form.price" placeholder="请输入单价" />
</el-form-item>
<el-form-item label="出库金额" prop="priceTotal">
<el-input v-model="form.priceTotal" placeholder="请输入出库金额" />
</el-form-item>
<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="status">
<el-select v-model="form.status" placeholder="请选择单据状态">
<el-form-item label="出口" prop="exitId">
<el-select v-model="form.exitId" placeholder="请选择出口">
<el-option
v-for="dict in dict.type.out_bill_status"
v-for="dict in dict.type.exit_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="创建人" prop="createManId">
<el-input v-model="form.createManId" placeholder="请输入创建人" />
<el-form-item label="台次" prop="spec">
<el-input v-model="form.spec" placeholder="请输入台次" />
</el-form-item>
<el-form-item label="单重" prop="netWeight">
<el-input v-model="form.netWeight" placeholder="请输入单重" />
</el-form-item>
<el-form-item label="路线" prop="grossWeight">
<el-input v-model="form.grossWeight" placeholder="请输入路线" />
</el-form-item>
<el-form-item label="供应商" prop="phase">
<el-input v-model="form.phase" placeholder="请输入供应商" />
</el-form-item>
<el-form-item label="物料编码" prop="productId">
<el-input v-model="form.productId" placeholder="请输入物料编码" />
</el-form-item>
<el-form-item label="仓库id" prop="warehouseId">
<el-input v-model="form.warehouseId" placeholder="请输入仓库id" />
</el-form-item>
<el-form-item label="创建时间" prop="createDate">
<el-input v-model="form.createDate" placeholder="请输入创建时间" />
<el-date-picker clearable
v-model="form.createDate"
type="date"
value-format="yyyy-MM-dd"
placeholder="请选择创建时间">
</el-date-picker>
</el-form-item>
<el-form-item label="单位" prop="unit">
<el-input v-model="form.unit" placeholder="请输入单位" />
<el-form-item label="开始时间" prop="startDate">
<el-input v-model="form.startDate" placeholder="请输入开始时间" />
</el-form-item>
<el-form-item label="套账" prop="account">
<el-select v-model="form.account" placeholder="请选择套账">
<el-option
v-for="dict in dict.type.account_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="管理号" prop="managementNo">
<el-input v-model="form.managementNo" placeholder="请输入管理号" />
</el-form-item>
<el-form-item label="供应商编码" prop="supplierId">
<el-input v-model="form.supplierId" placeholder="请输入供应商编码" />
</el-form-item>
<el-form-item label="供应商" prop="supplierName">
<el-input v-model="form.supplierName" placeholder="请输入供应商" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
<el-form-item label="用途" prop="purpose">
<el-select v-model="form.purpose" placeholder="请选择用途">
<el-option
v-for="dict in dict.type.purpose_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="质量" prop="quality">
<el-select v-model="form.quality" placeholder="请选择质量">
<el-option
v-for="dict in dict.type.quality_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="来源" prop="source">
<el-select v-model="form.source" placeholder="请选择来源">
<el-option
v-for="dict in dict.type.origin_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="状态" prop="turnoverStatus">
<el-select v-model="form.turnoverStatus" placeholder="请选择状态">
<el-option
v-for="dict in dict.type.turnover_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="用途2" prop="purpose2">
<el-input v-model="form.purpose2" placeholder="请输入用途2" />
<el-form-item label="结束时间" prop="finishDate">
<el-input v-model="form.finishDate" placeholder="请输入结束时间" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@@ -560,7 +228,7 @@ import { listViewStockoutHistory, getViewStockoutHistory, delViewStockoutHistory
export default {
name: "ViewStockoutHistory",
dicts: ['product_type', 'quality_type', 'turnover_type', 'purpose_type', 'origin_type', 'account_type', 'out_bill_status'],
dicts: ['exit_type'],
data() {
return {
// 遮罩层
@@ -581,53 +249,42 @@ export default {
title: "",
// 是否显示弹出层
open: false,
// 结束时间时间范围
daterangeCreateDate: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
pageSize: 500,
stockoutId: null,
stockoutDetailId: null,
productId: null,
power: null,
distribution: null,
productName: null,
spec: null,
cargoNo: null,
productType: null,
quantity: null,
allotQuantity: null,
assignNum: null,
contract: null,
power: null,
classNowId: null,
orderId: null,
exitId: null,
spec: null,
netWeight: null,
grossWeight: null,
phase: null,
price: null,
priceTotal: null,
customerNo: null,
customerName: null,
status: null,
createManId: null,
productId: null,
warehouseId: null,
createDate: null,
unit: null,
account: null,
managementNo: null,
supplierId: null,
supplierName: null,
purpose: null,
quality: null,
source: null,
turnoverStatus: null,
purpose2: null
startDate: null,
finishDate: null
},
// 表单参数
form: {},
// 表单校验
rules: {
stockoutId: [
{ required: true, message: "出库单号不能为空", trigger: "blur" }
{ required: true, message: "出库主单不能为空", trigger: "blur" }
],
stockoutDetailId: [
{ required: true, message: "出库子单号不能为空", trigger: "blur" }
],
status: [
{ required: true, message: "单据状态不能为空", trigger: "change" }
{ required: true, message: "出库子单不能为空", trigger: "blur" }
],
createDate: [
{ required: true, message: "创建时间不能为空", trigger: "blur" }
@@ -642,6 +299,11 @@ export default {
/** 查询出库单据历史列表 */
getList() {
this.loading = true
this.queryParams.params = {}
if (null != this.daterangeCreateDate && '' != this.daterangeCreateDate) {
this.queryParams.params["beginCreateDate"] = this.daterangeCreateDate[0]
this.queryParams.params["endCreateDate"] = this.daterangeCreateDate[1]
}
listViewStockoutHistory(this.queryParams).then(response => {
this.ViewStockoutHistoryList = response.rows
this.total = response.total
@@ -658,35 +320,24 @@ export default {
this.form = {
stockoutId: null,
stockoutDetailId: null,
productId: null,
power: null,
distribution: null,
productName: null,
spec: null,
cargoNo: null,
productType: null,
quantity: null,
allotQuantity: null,
assignNum: null,
contract: null,
power: null,
classNowId: null,
orderId: null,
exitId: null,
spec: null,
netWeight: null,
grossWeight: null,
phase: null,
price: null,
priceTotal: null,
customerNo: null,
customerName: null,
status: null,
createManId: null,
productId: null,
warehouseId: null,
createDate: null,
unit: null,
account: null,
managementNo: null,
supplierId: null,
supplierName: null,
remark: null,
purpose: null,
quality: null,
source: null,
turnoverStatus: null,
purpose2: null
startDate: null,
finishDate: null
}
this.resetForm("form")
},
@@ -697,6 +348,7 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
this.daterangeCreateDate = []
this.resetForm("queryForm")
this.handleQuery()
},

View File

@@ -1,14 +1,14 @@
<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="仓库编码" prop="warehouseId">
<!-- <el-form-item label="仓库编码" prop="warehouseId">
<el-input
v-model="queryParams.warehouseId"
placeholder="请输入仓库编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
</el-form-item>-->
<el-form-item label="仓库名称" prop="warehouseName">
<el-input
v-model="queryParams.warehouseName"
@@ -25,14 +25,14 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="货位名称" prop="cargoSpaceName">
<el-input
v-model="queryParams.cargoSpaceName"
placeholder="请输入货位名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="货位名称" prop="cargoSpaceName">-->
<!-- <el-input-->
<!-- v-model="queryParams.cargoSpaceName"-->
<!-- placeholder="请输入货位名称"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="巷道" prop="roadwayId">
<el-input
v-model="queryParams.roadwayId"
@@ -100,10 +100,12 @@
<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>
<el-button icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<!-- <el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="warning"
@@ -115,11 +117,9 @@
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
</el-row>-->
<el-table v-loading="loading" :data="traycodeStaticList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="仓库编码" align="center" prop="warehouseId" />
<el-table v-loading="loading" :data="traycodeStaticList" @selection-change="handleSelectionChange" height="600">
<el-table-column label="仓库名称" align="center" prop="warehouseName" />
<el-table-column label="货位编码" align="center" prop="cargoSpaceId" />
<el-table-column label="货位名称" align="center" prop="cargoSpaceName" />
@@ -128,7 +128,6 @@
<el-table-column label="列" align="center" prop="theColumn" />
<el-table-column label="层" align="center" prop="theFloor" />
<el-table-column label="托盘号" align="center" prop="trayCode" />
<!-- <el-table-column label="部门" align="center" prop="model" />-->
<el-table-column label="部门名称" align="center" prop="deptName" />
<el-table-column label="入库时间" align="center" prop="inDate" width="160"/>

View File

@@ -205,25 +205,7 @@
<el-table-column label="数量" align="center" prop="quantity"/>
<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="remark"/>
<!-- <el-table-column width=120 label="操作" align="center" class-name="small-padding fixed-width"> &lt;!&ndash; 操作 &ndash;&gt;
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['stock:management:edit']"
>修改 &lt;!&ndash; 修改 &ndash;&gt;</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['stock:management:remove']"
>删除 &lt;!&ndash; 删除 &ndash;&gt;</el-button>
</template>
</el-table-column>-->
<el-table-column label="备注" align="center" prop="spare8"/>
</el-table>
<pagination
@@ -568,32 +550,18 @@ export default {
queryParams: {
pageNum: 1,
pageSize: 10,
stockId: null,
cargoSpaceId: null,
cargoSpaceName: null,
stockStatus: null,
productStatus: null,
lotNo: null,
inDate: null,
backDate: null,
productGuid: null,
quantity: null,
jobId: null,
trayCode: null,
outQuantity: null,
stockinDetailId: null,
stockinId: null,
inType: null,
inClassId: null,
warehouseId: null,
stackingId: null,
spare1: null,
spare2: null,
spare3: null,
spare4: null,
spare5: null,
spare6: null,
theFloor: null,
warehouseId:null,
roadwayId:null,
thePlatoon:null,
theColumn:null,
theFloor:null,
trayCode:null,
orderId:null,
power:null,
distribution:null,
spare5:null,
productName:null,
deptName:null,
cargoSpaceStockStatus:2
},
// 子表查询参数