<template>
|
<div class="indexs">
|
<el-card>
|
<el-row>
|
<el-input v-model="searchParam.TrackingNumber" placeholder="跟踪号" style="width:200px;"></el-input>
|
<el-input v-model="searchParam.OrderCode" placeholder="出库单号" style="width:200px;"></el-input>
|
<el-date-picker
|
v-model="searchParam.CreateTime"
|
type="datetimerange"
|
value-format="yyyy-MM-dd HH:mm:ss"
|
range-separator="至"
|
start-placeholder="创建时间"
|
end-placeholder="创建时间"
|
class="positionname"
|
>
|
</el-date-picker>
|
</el-date-picker>
|
|
<el-button type="success" plain @click="find(1)" >查询</el-button>
|
<el-button type="info" plain @click="resetQueryParam" >重置</el-button>
|
|
</el-row>
|
<el-row style="margin-top:5px;margin-bottom:5px;">
|
<el-button v-if="authButtonObj['Export']" type="success" plain @click="exportExcel" >导出Excel</el-button>
|
</el-row>
|
<!-- 显示库存明细 -->
|
<el-table ref= "table" :max-height="tableHeight" :data="TakeStocklist" border stripe :cell-style="cellStyle" @header-click="headerClick" >
|
</el-table-column>
|
<el-table-column
|
label="序号"
|
type="index"
|
width="50"
|
>
|
</el-table-column>
|
<el-table-column label="库存id" prop="ID" width="80" v-if="false"></el-table-column>
|
<el-table-column label="出库单号" width="150" >
|
<template slot-scope="scope">
|
<a @click="showDetail(scope.row.ID)"
|
target="_blank"
|
style="text-decoration:underline;cursor: pointer;color:blue;font-weight:bold;">
|
{{scope.row.OrderCode}}
|
</a>
|
</template>
|
</el-table-column>
|
<el-table-column label="出库跟踪号" prop="TrackingNumber" width="120"></el-table-column>
|
<el-table-column label="本次出库套数" prop="OutNumber" width="120"></el-table-column>
|
<el-table-column label="已出库套数" prop="HasOutNumber" width="80"></el-table-column>
|
<el-table-column label="总套数" prop="MaterialCount" width="80"></el-table-column>
|
<el-table-column label="说明" prop="Remark" ></el-table-column>
|
<el-table-column label="创建人" prop="Creator" width="110" ></el-table-column>
|
<el-table-column label="创建时间" prop="CreateTime" width="180" ></el-table-column>
|
<el-table-column label="修改人" prop="LastModifier" width="80" ></el-table-column>
|
<el-table-column label="修改时间" prop="LastModifyTime" width="180" ></el-table-column>
|
</el-table>
|
<el-pagination
|
:current-page="queryInfo.pagenum"
|
:page-sizes="[5,10, 15, 20,50,100,200,500,1000]"
|
:page-size="queryInfo.pagesize"
|
:total="total"
|
layout="total, sizes, prev, pager, next, jumper"
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
>
|
</el-pagination>
|
</el-card>
|
<el-dialog :visible.sync="showDetails" title="出库物料明细" width="80%" :close-on-click-modal="false">
|
<el-form label-width="150px">
|
<el-table :max-height="tableHeight" :data="detailTaskList" border stripe :cell-style="cellStyle" @header-click="headerClick" >
|
<el-table-column
|
type="selection"
|
width="55">
|
</el-table-column>
|
<el-table-column
|
label="序号"
|
type="index"
|
width="50"
|
>
|
</el-table-column>
|
<el-table-column label="出库单号" prop="OrderCode" width="120"></el-table-column>
|
<el-table-column label="出库跟踪号" prop="TrackingNumber" width="120"></el-table-column>
|
<el-table-column label="销售单号" prop="SaleCode" width="120"></el-table-column>
|
<el-table-column label="销售项号" prop="SaleCodeItem" width="80"></el-table-column>
|
<el-table-column label="物料编号" prop="MaterailCode" width="80"></el-table-column>
|
<el-table-column label="物料名称" prop="MaterailName" width="80"></el-table-column>
|
<el-table-column label="库存单位" prop="StorageUnit" width="80"></el-table-column>
|
<el-table-column label="本次分拣数量" prop="QuantityOrder" width="80"></el-table-column>
|
<el-table-column label="缺料数量" prop="LackQuantity" width="80"></el-table-column>
|
<el-table-column label="暂存区数量" prop="TemporaryQuantity" width="80"></el-table-column>
|
|
<el-table-column label="说明" prop="Remark" ></el-table-column>
|
<el-table-column label="创建人" prop="Creator" width="110" ></el-table-column>
|
<el-table-column label="创建时间" prop="CreateTime" width="120" ></el-table-column>
|
<el-table-column label="修改人" prop="LastModifier" width="80" ></el-table-column>
|
<el-table-column label="修改时间" prop="LastModifyTime" width="120" ></el-table-column>
|
</el-table>
|
<el-pagination
|
:current-page="detail_queryInfo.pagenum"
|
:page-sizes="[5,10, 15, 20,50,100,200,500,1000]"
|
:page-size="detail_queryInfo.pagesize"
|
:total="detail_total"
|
layout="total, sizes, prev, pager, next, jumper"
|
@size-change="handleSizeChange_Detail"
|
@current-change="handleCurrentChange_Detail"
|
>
|
</el-pagination>
|
</el-form>
|
</el-dialog>
|
</div>
|
</template>
|
<script>
|
import { parseTime } from '@/utils'
|
import Cookies from 'js-cookie'
|
import { userInfoCookie, menuListCookie } from '@/utils/auth'
|
import { getDate } from '@/utils/dateTime'
|
//import DropdownMenu from '@/components/DropdownMenu.vue'
|
export default {
|
// components: { DropdownMenu },
|
data() {
|
return {
|
//按钮权限字典,这个要按照权限界面中配置的字符串对应,大小写区分 【EditBy shaocx,2022-09-15】
|
//Browse=显示,Search=查询,Add=增加,Update=编辑,Delete=删除,Export=导出
|
authButtonObj:{
|
"Add":false,//新增按钮
|
"Update":false, //编辑按钮
|
"Delete":false, //删除按钮
|
"Excute":false,//执行按钮
|
"Stop":false,//结束按钮
|
"Export":false //导出按钮
|
},
|
|
dialogFormVisibleForStop:false,
|
title_cancelStop:'人工结束闲时移库',
|
title:'新增闲时移库',
|
addFlag:false,//是否是新增标记
|
tableHeight:window.innerHeight-274,
|
roleAdd: false,
|
roleModifi: false,
|
roleDelete: false,
|
searchParam: {
|
UserName:'',
|
OrderCode:'',
|
TrackingNumber:'',
|
RunTime:null,
|
CreateTime:[]
|
},
|
queryInfo: {
|
// 当前页
|
pagenum: 1,
|
// 每页显示多少条信息s
|
pagesize: 10
|
},
|
TakeStocklist: [],
|
TakeStocklistAll: [],
|
total: 0,
|
datatime: '',
|
MoveStatusList: [{ value: '0', label: '初始' }, { value: '1', label: '执行中' }, { value: '2', label: '执行完毕' }, { value: '3', label: '人工结束' }, { value: '4', label: '已取消' }],
|
moveStatusValue: '',
|
inStoreDaysFilterTypeValue:'',
|
inStoreDaysValue:'',
|
dialogFormVisible: false,
|
productList: [],
|
updateDate: null,
|
taskForm: {
|
UserRemark: ''
|
},
|
showDetails:false,
|
detailTaskList:[],
|
queryMainFreeMoveId:0,
|
detail_total:0,
|
detail_queryInfo: {
|
// 当前页
|
pagenum: 1,
|
// 每页显示多少条信息s
|
pagesize: 10
|
},
|
}
|
},
|
created() {},
|
mounted() {
|
//先查询按钮权限
|
this.queryButtonAuth();
|
this.find(1)
|
},
|
methods: {
|
//查询按钮权限
|
queryButtonAuth() {
|
const url = '/api/task/QueryButtonAuth'
|
//debugger
|
//console.log(userInfoCookie.getUserInfo())
|
const params = {
|
menu_IdEnum: "闲时移库",
|
role_Id: userInfoCookie.getUserInfo().role_Id //角色ID
|
}
|
var callback = res => {
|
// debugger
|
this.controlButtonVisibl(res.data);
|
if (res.result === true) {
|
|
} else {
|
return this.$message.error(res.msg)
|
}
|
}
|
this.common.ajax(url, params, callback, true)
|
},
|
//赋值控制按钮的权限 【EditBy shaocx,2022-09-14】
|
controlButtonVisibl(authValue){
|
//debugger
|
for (let dicKey in this.authButtonObj) {
|
this.authButtonObj[dicKey]=false;//默认是FALSE
|
for(let item in authValue){
|
if(dicKey==authValue[item]){
|
this.authButtonObj[dicKey]=true
|
}
|
}
|
}
|
},
|
//显示明细
|
showDetail(freeMoveId){
|
this.detailTaskList=[]
|
this.showDetails=true
|
this.queryMainFreeMoveId=freeMoveId;
|
this.queryDetails(1);
|
},
|
queryDetails(ischang = 1) {
|
if (ischang == 1) {
|
this.detail_queryInfo.pagenum = 1
|
}
|
const url = '/api/task/QueryPageSale_Order_HistoryDetails'
|
//debugger
|
//console.log(userInfoCookie.getUserInfo())
|
const params = {
|
queryInfo: this.detail_queryInfo,
|
Sale_Order_History_Id: this.queryMainFreeMoveId,
|
}
|
var callback = res => {
|
//debugger
|
if (res.result === true) {
|
res.data.forEach(item => {
|
item.CreateTime = getDate(item.CreateTime)
|
item.LastModifyTime = getDate(item.LastModifyTime)
|
})
|
this.detailTaskList = res.data
|
this.detail_total = res.countPrint
|
} else {
|
this.detailTaskList = []
|
this.detail_total = 0
|
//return this.$message.success('当前条件 查不到数据!')
|
}
|
}
|
this.common.ajax(url, params, callback, true)
|
},
|
// 监听 pagesize 改变
|
handleSizeChange_Detail(newSizd) {
|
debugger
|
this.detail_queryInfo.pagesize = newSizd
|
this.detail_queryInfo.pagenum = 1
|
this.queryDetails(1)
|
},
|
// 监听 页码值改变
|
handleCurrentChange_Detail(newpage) {
|
this.detail_queryInfo.pagenum = newpage
|
debugger
|
this.queryDetails(2)
|
},
|
// 监听 pagesize 改变
|
handleSizeChange(newSizd) {
|
debugger
|
this.queryInfo.pagesize = newSizd
|
this.queryInfo.pagenum = 1
|
this.find(1)
|
},
|
// 监听 页码值改变
|
handleCurrentChange(newpage) {
|
this.queryInfo.pagenum = newpage
|
debugger
|
this.find(2)
|
},
|
//每行点击事件
|
headerClick(column, event) {
|
//debugger
|
if (event.target && event.target.innerText === '#') {
|
this.showAttrDialog = true
|
}
|
},
|
userStatusChange(userinfo) {
|
console.log(userinfo)
|
},
|
|
formatJson(filterVal, jsonData) {
|
return jsonData.map(v =>
|
filterVal.map(j => {
|
if (j === 'timestamp') {
|
return parseTime(v[j])
|
} else {
|
return v[j]
|
}
|
})
|
)
|
},
|
cellStyle({ row, rowIndex }) {
|
return ''
|
},
|
|
find(ischang = 1) {
|
if (ischang == 1) {
|
this.queryInfo.pagenum = 1
|
}
|
const url = '/api/task/QueryPageSale_Order_History'
|
//debugger
|
//console.log(userInfoCookie.getUserInfo())
|
const params = {
|
queryInfo: this.queryInfo,
|
UserName:this.searchParam.UserName,
|
OrderCode:this.searchParam.OrderCode,
|
TrackingNumber:this.searchParam.TrackingNumber,
|
RunTime:this.searchParam.RunTime,
|
CreateTime: this.searchParam.CreateTime
|
}
|
var callback = res => {
|
//debugger
|
if (res.result === true) {
|
res.data.forEach(item => {
|
item.CreateTime = getDate(item.CreateTime)
|
item.LastModifyTime = getDate(item.LastModifyTime)
|
})
|
this.TakeStocklist = res.data
|
this.TakeStocklistAll = res.data2
|
this.total = res.countPrint
|
} else {
|
this.TakeStocklist = []
|
this.TakeStocklistAll = []
|
this.total = 0
|
return this.$message.success('当前条件 查不到数据!')
|
}
|
}
|
this.common.ajax(url, params, callback, true)
|
},
|
|
find_export(ischang = 1) {
|
if (ischang == 1) {
|
this.queryInfo.pagenum = 1
|
}
|
const url = '/api/task/QueryPageSale_Order_History'
|
const params = {
|
IsLoadAllData:true,//加载全部
|
queryInfo: this.queryInfo,
|
UserName:this.searchParam.UserName,
|
OrderCode:this.searchParam.OrderCode,
|
TrackingNumber:this.searchParam.TrackingNumber,
|
CreateTime: this.searchParam.CreateTime
|
}
|
var callback = res => {
|
//debugger
|
if (res.result === true) {
|
res.data2.forEach(item => {
|
item.CreateTime = getDate(item.CreateTime)
|
item.LastModifyTime = getDate(item.LastModifyTime)
|
})
|
this.TakeStocklistAll = res.data2
|
this.do_exportExcel()
|
} else {
|
this.TakeStocklistAll = []
|
return this.$message.success('当前条件 查不到数据!')
|
}
|
}
|
this.common.ajax(url, params, callback, true)
|
},
|
do_exportExcel() {
|
// import("@/vendor/Export2Excel")
|
this.downloadLoading = true
|
import('@/vendor/Export2Excel').then(excel => {
|
const tHeader = [
|
'出库单号',
|
'跟踪号',
|
'本次出库套数',
|
'已出库套数',
|
'总套数',
|
'备注',
|
'创建时间',
|
'修改时间'
|
]
|
const filterVal = [
|
'OrderCode',
|
'TrackingNumber',
|
'OutNumber',
|
'HasOutNumber',
|
'MaterialCount',
|
'Remark',
|
'CreateTime',
|
'LastModifyTime'
|
]
|
//debugger
|
const data = this.formatJson(filterVal, this.TakeStocklistAll)
|
excel.export_json_to_excel({
|
header: tHeader,
|
data,
|
filename: '按单出库记录'
|
})
|
this.downloadLoading = false
|
})
|
},
|
exportExcel() {
|
this.find_export(1)
|
},
|
|
dateFormat(row, column) {
|
var date = row[column.property]
|
|
// if (date == undefined) {
|
// return "";
|
// }
|
|
return moment(date).format('YYYY-MM-DD HH:mm:ss')
|
},
|
//重置查询表单
|
resetQueryParam() {
|
this.searchParam.RunTime = null
|
this.searchParam.UserName = null
|
this.searchParam.OrderCode = null
|
this.searchParam.TrackingNumber = null
|
this.searchParam.CreateTime = [] //时间查询列不能设置为null,只能设置为空,否则会让控件选择了但是界面上不显示 【EditBy shaocx,2022-09-16】
|
|
this.moveStatusValue = ''
|
|
this.find(1)
|
},
|
//重置表单数据
|
resetTaskFormData(){
|
this.taskForm={
|
UserRemark:'',
|
PersonStopRemark:'',
|
}
|
this.taskForm.RunTime=60 //默认执行60分钟
|
}
|
}
|
}
|
</script>
|
<style lang="postcss" scoped>
|
.el-table .el-pagination {
|
margin-top: 10px;
|
line-height: 30px;
|
margin-bottom: 0%;
|
}
|
.el-row {
|
text-align: left;
|
}
|
.positionname {
|
width: 400px;
|
}
|
.searchParam {
|
width: 230px;
|
}
|
.MoveStatusListvalue {
|
width: 150px;
|
}
|
.el-card {
|
padding: 0%;
|
margin-bottom: 0%;
|
}
|
thead .el-table-column--selection .cell {
|
display: none;
|
}
|
.displayneed {
|
//display: none;
|
|
display: inline-block;
|
width: 150px;
|
}
|
.el-table .warning-row {
|
background: #aa7798;
|
}
|
|
.el-table .success-row {
|
background: #bb3455;
|
}
|
.el-table .tr {
|
background: white;
|
}
|
.el-card {
|
padding: 0%;
|
margin-bottom: 0%;
|
/* 84 = navbar + tags-view = 50 +34 */
|
max-height: calc(100vh - 104px);
|
}
|
.el-scrollbar{
|
.el-scrollbar__bar.is-vertical {
|
opacity: 1;/* 改为0不显示滚动条*/
|
width:5;
|
}
|
}
|
|
</style>
|