This commit is contained in:
朱文强 2022-08-19 15:01:12 +08:00
parent 4c42670da1
commit f5b3196c80
28 changed files with 580 additions and 394 deletions

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 60 (88103) - https://sketch.com -->
<title>出库on</title>
<title>库位</title>
<desc>Created with Sketch.</desc>
<defs>
<linearGradient x1="50%" y1="-35.9917859%" x2="50%" y2="100%" id="linearGradient-1">

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@ -34,6 +34,7 @@
// 2. iframeUrl: 是否通过iframe嵌套展示内容, '以http[s]://开头': 是, '': 否
// 提示: 如需要通过iframe嵌套展示内容, 但不通过tab打开, 请自行创建组件使用iframe处理!
{ path: '/home', component: _import('common/home'), name: 'home', meta: { title: '首页' } },
{ path: '/schedule', component: _import('modules/job/schedule'), name: 'schedule', meta: { title: '定时任务' } },
{ path: '/theme', component: _import('common/theme'), name: 'theme', meta: { title: '主题' } },
{ path: '/instock', component: _import('modules/work/instock'), name: 'instock', meta: { title: '扫码入库' } },
{ path: '/demo-echarts', component: _import('demo/echarts'), name: 'demo-echarts', meta: { title: 'demo-echarts', isTab: true } },

View File

@ -3,7 +3,7 @@
<el-row :gutter="20">
<el-col :span="8" :offset="2">
<!-- @click.native="$router.push({ name: 'orderProcess' })" -->
<el-card :style="{height: boxHeight + 'px'}" class="box-card box-card-jg" shadow="hover">
<el-card :style="{height: boxHeight + 'px'}" class="box-card box-card-jg" shadow="hover" @click.native="$router.push({ name: 'instock' })">
<p class="box-card-header">
<icon-svg class="iconClass" name="进工业炉加工"></icon-svg>
入库
@ -12,10 +12,10 @@
</el-card>
</el-col>
<el-col :span="8" :offset="2">
<el-card :style="{height: boxHeight + 'px'}" class="box-card box-card-ck" shadow="hover">
<el-card :style="{height: boxHeight + 'px'}" class="box-card box-card-ck" shadow="hover" @click.native="$router.push({ name: 'mtwarehouspositionrelat' })">
<p class="box-card-header">
<icon-svg class="iconClass" name="出库"></icon-svg>
</p>
<p class="box-card-footer">Warehouse</p>
</el-card>
@ -41,6 +41,7 @@
>
<el-table-column
type="index"
label="序号"
header-align="center"
align="center"
width="50">
@ -57,12 +58,12 @@
align="center"
label="操作员名称">
</el-table-column>
<el-table-column
<!-- <el-table-column
prop="source"
header-align="center"
align="center"
label="来源">
</el-table-column>
</el-table-column> -->
<el-table-column
prop="taskType"
header-align="center"
@ -105,12 +106,12 @@
align="center"
label="数量">
</el-table-column>
<el-table-column
<!-- <el-table-column
prop="unit"
header-align="center"
align="center"
label="单位">
</el-table-column>
</el-table-column> -->
<el-table-column
prop="remarks"
header-align="center"

View File

@ -10,6 +10,10 @@
<icon-svg name="shouye" class="site-sidebar__menu-icon"></icon-svg>
<span slot="title">首页</span>
</el-menu-item>
<el-menu-item index="schedule" @click="$router.push({ name: 'schedule' })">
<icon-svg name="shouye" class="site-sidebar__menu-icon"></icon-svg>
<span slot="title">定时任务</span>
</el-menu-item>
<el-menu-item index="OperationMonitor" @click="$router.push({ name: 'OperationMonitor' })">
<icon-svg name="shouye" class="site-sidebar__menu-icon"></icon-svg>
@ -42,10 +46,10 @@
<icon-svg name="editor" class="site-sidebar__menu-icon"></icon-svg>
<span slot="title">数据字典</span>
</el-menu-item> -->
<el-menu-item index="demo-ueditor" @click="$router.push({ name: 'mtsysdicttype' })">
<!-- <el-menu-item index="demo-ueditor" @click="$router.push({ name: 'mtsysdicttype' })">
<icon-svg name="editor" class="site-sidebar__menu-icon"></icon-svg>
<span slot="title">数据字典类型</span>
</el-menu-item>
</el-menu-item> -->
<el-menu-item index="demo-ueditor" @click="$router.push({ name: 'mtwarehousing' })">
<icon-svg name="editor" class="site-sidebar__menu-icon"></icon-svg>
<span slot="title">仓库基础信息</span>

View File

@ -11,6 +11,8 @@
</el-form>
<el-table
:data="dataList"
:stripe="true"
:header-cell-style="{background:'#eef1f6',color:'#606266',height: '56px'}"
border
v-loading="dataListLoading"
style="width: 100%;">

View File

@ -11,6 +11,8 @@
</el-form>
<el-table
:data="dataList"
:stripe="true"
:header-cell-style="{background:'#eef1f6',color:'#606266',height: '56px'}"
border
v-loading="dataListLoading"
style="width: 100%;">

View File

@ -11,6 +11,8 @@
</el-form>
<el-table
:data="dataList"
:stripe="true"
:header-cell-style="{background:'#eef1f6',color:'#606266',height: '56px'}"
border
v-loading="dataListLoading"
style="width: 100%;">

View File

@ -11,6 +11,8 @@
</el-form>
<el-table
:data="dataList"
:stripe="true"
:header-cell-style="{background:'#eef1f6',color:'#606266',height: '56px'}"
border
v-loading="dataListLoading"
style="width: 100%;">

View File

@ -4,30 +4,20 @@
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="产品名称" prop="productName">
<el-input v-model="dataForm.productName" placeholder="产品名称" clearable />
<el-form-item label="板材名称" prop="productName">
<el-input v-model="dataForm.productName" placeholder="板材名称" clearable />
</el-form-item>
<el-form-item label="产品全名" prop="productAllName">
<el-input v-model="dataForm.productAllName" placeholder="产品全名" clearable />
</el-form-item>
<el-form-item label="规格型号" prop="specModel">
<el-input v-model="dataForm.specModel" placeholder="规格型号" clearable />
</el-form-item>
<el-form-item label="产品编码" prop="productCode">
<el-form-item label="编码" prop="productCode">
<el-input v-model="dataForm.productCode" placeholder="产品编码" clearable />
</el-form-item>
<el-form-item label="产品类别" prop="productType">
<el-select clearable v-model="dataForm.productType" placeholder="请选择产品类别">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<el-form-item label="长" prop="length">
<el-input v-model="dataForm.length" placeholder="长" clearable />
</el-form-item>
<el-form-item label="单位名称" prop="unitName">
<el-input v-model="dataForm.unitName" placeholder="单位名称" clearable />
<el-form-item label="宽" prop="width">
<el-input v-model="dataForm.width" placeholder="宽" clearable />
</el-form-item>
<el-form-item label="高" prop="heigth">
<el-input v-model="dataForm.heigth" placeholder="高" clearable />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="dataForm.remark" placeholder="" clearable />
@ -48,41 +38,27 @@
dataForm: {
id: 0,
productName: '',
productAllName: '',
specModel: '',
productCode: 'CP' + new Date().getTime(),
productType: '',
unitName: '',
productCode: '',
length: '',
heigth: '',
width: '',
remark: ''
},
options: [{
value: '1',
label: '成品'
}, {
value: '2',
label: '半成品'
}, {
value: '3',
label: '原材料'
}],
dataRule: {
productName: [
{ required: true, message: '产品名称不能为空', trigger: 'blur' }
],
productAllName: [
{ required: true, message: '产品全名不能为空', trigger: 'blur' }
],
specModel: [
{ required: true, message: '规格型号不能为空', trigger: 'blur' }
{ required: true, message: '板材名称不能为空', trigger: 'blur' }
],
productCode: [
{ required: true, message: '产品编码不能为空', trigger: 'blur' }
{ required: true, message: '编码不能为空', trigger: 'blur' }
],
productType: [
{ required: true, message: '产品类别1:成品2:半成品3:原材料。。不能为空', trigger: 'blur' }
length: [
{ required: true, message: '长不能为空', trigger: 'blur' }
],
unitName: [
{ required: true, message: '单位名称不能为空', trigger: 'blur' }
heigth: [
{ required: true, message: '高不能为空', trigger: 'blur' }
],
width: [
{ required: true, message: '宽不能为空', trigger: 'blur' }
]
}
}
@ -116,11 +92,10 @@
data: this.$http.adornData({
'id': this.dataForm.id || undefined,
'productName': this.dataForm.productName,
'productAllName': this.dataForm.productAllName,
'specModel': this.dataForm.specModel,
'productCode': this.dataForm.productCode,
'productType': this.dataForm.productType,
'unitName': this.dataForm.unitName,
'length': this.dataForm.length,
'heigth': this.dataForm.heigth,
'width': this.dataForm.width,
'remark': this.dataForm.remark
})
}).then(({data}) => {

View File

@ -1,8 +1,16 @@
<template>
<div class="mod-config">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form
:inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()"
>
<el-form-item>
<el-input v-model="dataForm.key" placeholder="参数名" clearable></el-input>
<el-input
v-model="dataForm.key"
placeholder="参数名"
clearable
></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">查询</el-button>
@ -11,76 +19,116 @@
</el-form>
<el-table
:data="dataList"
:stripe="true"
:header-cell-style="{
background: '#eef1f6',
color: '#606266',
height: '56px'
}"
border
v-loading="dataListLoading"
style="width: 100%;">
style="width: 100%;"
>
<el-table-column
type="index"
label="序号"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
prop="createTime"
header-align="center"
align="center"
label="添加时间">
width="50"
>
</el-table-column>
<el-table-column
prop="productName"
header-align="center"
align="center"
label="产品名称">
</el-table-column>
<el-table-column
prop="productAllName"
header-align="center"
align="center"
label="产品全名">
</el-table-column>
<el-table-column
prop="specModel"
header-align="center"
align="center"
label="规格型号">
label="板材名称"
>
</el-table-column>
<el-table-column
prop="productCode"
header-align="center"
align="center"
label="产品编码">
label="编码"
>
</el-table-column>
<el-table-column
prop="length"
header-align="center"
align="center"
label="长"
>
</el-table-column>
<el-table-column
prop="width"
header-align="center"
align="center"
label="宽"
>
</el-table-column>
<el-table-column
prop="heigth"
header-align="center"
align="center"
label="高"
>
</el-table-column>
<el-table-column
prop="productType"
header-align="center"
align="center"
label="产品类别">
label="产品类别"
>
<template slot-scope="scope">
<span>{{scope.row.productType === 1?'成品' : scope.row.productType === 2?'半成品': '原材料'}}</span>
<span>{{
scope.row.productType === 1
? "成品"
: scope.row.productType === 2
? "半成品"
: "原材料"
}}</span>
</template>
</el-table-column>
<el-table-column
prop="unitName"
header-align="center"
align="center"
label="单位名称">
label="单位名称"
>
</el-table-column>
<el-table-column
prop="createTime"
header-align="center"
align="center"
label="添加时间"
>
</el-table-column>
<el-table-column
prop="remark"
header-align="center"
align="center"
label="备注">
label="备注"
>
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="150"
label="操作">
label="操作"
>
<template slot-scope="scope">
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
<el-button
type="text"
size="small"
@click="addOrUpdateHandle(scope.row.id)"
>修改</el-button
>
<el-button
type="text"
size="small"
@click="deleteHandle(scope.row.id,scope.row.productName)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
@ -91,103 +139,108 @@
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
layout="total, sizes, prev, pager, next, jumper"
>
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
<add-or-update
v-if="addOrUpdateVisible"
ref="addOrUpdate"
@refreshDataList="getDataList"
></add-or-update>
</div>
</template>
<script>
import AddOrUpdate from './mtproduct-add-or-update'
export default {
data () {
return {
dataForm: {
key: ''
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
addOrUpdateVisible: false
}
import AddOrUpdate from './mtproduct-add-or-update'
export default {
data () {
return {
dataForm: {
key: ''
},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
addOrUpdateVisible: false
}
},
components: {
AddOrUpdate
},
activated () {
this.getDataList()
},
methods: {
//
getDataList () {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/work/mtproduct/list'),
method: 'get',
params: this.$http.adornParams({
page: this.pageIndex,
limit: this.pageSize,
key: this.dataForm.key
})
}).then(({ data }) => {
if (data && data.code === 0) {
this.dataList = data.page.list
this.totalPage = data.page.totalCount
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
components: {
AddOrUpdate
},
activated () {
//
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
methods: {
//
getDataList () {
this.dataListLoading = true
//
currentChangeHandle (val) {
this.pageIndex = val
this.getDataList()
},
// /
addOrUpdateHandle (id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
//
deleteHandle (id, name) {
this.$confirm(`确定对[名称:${name}]进行删除操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/work/mtproduct/list'),
method: 'get',
params: this.$http.adornParams({
'page': this.pageIndex,
'limit': this.pageSize,
'key': this.dataForm.key
})
}).then(({data}) => {
url: this.$http.adornUrl('/work/mtproduct/delete'),
method: 'post',
data: this.$http.adornData(id, false)
}).then(({ data }) => {
if (data && data.code === 0) {
this.dataList = data.page.list
this.totalPage = data.page.totalCount
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.dataList = []
this.totalPage = 0
this.$message.error(data.msg)
}
this.dataListLoading = false
})
},
//
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
//
currentChangeHandle (val) {
this.pageIndex = val
this.getDataList()
},
// /
addOrUpdateHandle (id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
//
deleteHandle (id) {
this.$confirm(`确定对[id=${id}]进行删除操作?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/work/mtproduct/delete'),
method: 'post',
data: this.$http.adornData(id, false)
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
})
}
})
}
}
}
</script>

View File

@ -20,6 +20,8 @@
</el-form>
<el-table
:data="dataList"
:stripe="true"
:header-cell-style="{background:'#eef1f6',color:'#606266',height: '56px'}"
border
v-loading="dataListLoading"
style="width: 100%;"

View File

@ -11,6 +11,8 @@
</el-form>
<el-table
:data="dataList"
:stripe="true"
:header-cell-style="{background:'#eef1f6',color:'#606266',height: '56px'}"
border
v-loading="dataListLoading"
style="width: 100%;">

View File

@ -2,37 +2,81 @@
<el-dialog
:title="!dataForm.id ? '新增' : '修改'"
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="任务类型" prop="taskType">
<el-select clearable v-model="dataForm.taskType" placeholder="请选择任务类型">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="任务编码" prop="taskCode">
<el-input v-model="dataForm.taskCode" placeholder="任务编码E代表入库O代表出库出入口加时间到毫秒EA120190912331724" clearable />
</el-form-item>
<el-form-item label="产品" prop="productCode">
<el-select clearable v-model="dataForm.productCode" filterable placeholder="产品名称">
:visible.sync="visible"
>
<el-form
:model="dataForm"
:rules="dataRule"
ref="dataForm"
@keyup.enter.native="dataFormSubmit()"
label-width="80px"
>
<el-form-item label="仓库" prop="warehouseName">
<el-select
clearable
@change="warehouseC()"
v-model="dataForm.warehouseName"
placeholder="请选择仓库"
>
<el-option
v-for="item in prodectArr"
:key="item.id"
:label="item.productName"
:value="item.productCode"
/>
v-for="item in warehouseArr"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="数量" prop="num">
<el-input v-model="dataForm.num" placeholder="数量" clearable />
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input v-model="dataForm.remarks" placeholder="备注" clearable />
</el-form-item>
<el-form-item label="任务类型" prop="taskType">
<el-select
clearable
v-model="dataForm.taskType"
placeholder="请选择任务类型"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="起点" prop="startPosition">
<el-select
clearable
filterable
v-model="dataForm.startPosition"
placeholder="请选择起点"
>
<el-option
v-for="item in startPositionArr"
:key="item.id"
:label="item.anotherName"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="终点" prop="endPosition">
<el-select
clearable
disabled
v-model="dataForm.endPosition"
placeholder="请选择终点"
>
<el-option
v-for="item in endPosition"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input v-model="dataForm.remarks" placeholder="备注" clearable />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">取消</el-button>
@ -42,112 +86,155 @@
</template>
<script>
export default {
data () {
return {
visible: false,
dataForm: {
id: 0,
taskType: '',
taskCode: '',
productCode: '',
num: '',
remarks: ''
},
options: [{
value: '1',
label: '入库'
}, {
value: '2',
label: '移库'
}, {
value: '0',
label: '出库'
}],
prodectArr: [],
dataRule: {
taskType: [
{ required: true, message: '任务类型0 出库1入库2 移库不能为空', trigger: 'blur' }
],
taskCode: [
{ required: true, message: '任务编码E代表入库O代表出库出入口加时间到毫秒EA120190912331724不能为空', trigger: 'blur' }
],
productCode: [
{ required: true, message: '产品不能为空', trigger: 'change' }
],
num: [
{ required: true, message: '数量不能为空', trigger: 'blur' }
]
}
}
},
methods: {
init (id) {
this.dataForm.id = id || ''
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
this.$http({
url: this.$http.adornUrl(`/work/mttaskinfo/info/${this.dataForm.id}`),
method: 'get',
params: this.$http.adornParams()
}).then(({data}) => {
if (data && data.code === 0) {
this.dataForm = data.mtTaskInfo
}
})
}
this.$http({
url: this.$http.adornUrl('/work/mtproduct/list'),
method: 'get',
params: this.$http.adornParams({
'page': 1,
'limit': 500,
'key': ''
})
}).then(({data}) => {
if (data && data.code === 0) {
this.prodectArr = data.page.list
} else {
this.prodectArr = []
}
})
})
export default {
data () {
return {
visible: false,
dataForm: {
id: 0,
warehouseName: '',
taskType: 0,
startPosition: '',
endPosition: '',
remarks: ''
},
//
dataFormSubmit () {
this.$refs['dataForm'].validate((valid) => {
if (valid) {
this.$http({
url: this.$http.adornUrl(`/work/mttaskinfo/${!this.dataForm.id ? 'save' : 'update'}`),
method: 'post',
data: this.$http.adornData({
'id': this.dataForm.id || undefined,
'taskType': this.dataForm.taskType,
'taskCode': this.dataForm.taskCode,
'productCode': this.dataForm.productCode,
'num': this.dataForm.num,
'remarks': this.dataForm.remarks
})
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
} else {
this.$message.error(data.msg)
}
})
options: [
{
value: 0,
label: '出库'
}
],
warehouseArr: [
{
value: 'A',
label: 'A库'
},
{
value: 'B',
label: 'B库'
}
],
endPosition: [
{
value: 290,
label: 'A库出口'
},
{
value: 292,
label: 'B库出口'
}
],
productArr: [],
startPositionArr: [],
dataRule: {
taskType: [
{
required: true,
message: '任务类型0 出库1入库2 移库不能为空',
trigger: 'blur'
}
})
],
warehouseName: [
{ required: true, message: '仓库不能为空', trigger: 'change' }
],
startPosition: [
{ required: true, message: '起点不能为空', trigger: 'change' }
],
endPosition: [
{ required: true, message: '终点不能为空', trigger: 'change' }
]
}
}
},
methods: {
init (id) {
this.dataForm.id = id || ''
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
this.$http({
url: this.$http.adornUrl(
`/work/mttaskinfo/info/${this.dataForm.id}`
),
method: 'get',
params: this.$http.adornParams()
}).then(({ data }) => {
if (data && data.code === 0) {
this.dataForm = data.mtTaskInfo
}
})
}
this.$http({
url: this.$http.adornUrl('/work/mtproduct/list'),
method: 'get',
params: this.$http.adornParams({
page: 1,
limit: 500,
key: ''
})
}).then(({ data }) => {
if (data && data.code === 0) {
this.productArr = data.page.list
} else {
this.productArr = []
}
})
this.$http({
url: this.$http.adornUrl('/work/mtwarehousrank/list'),
method: 'get',
params: this.$http.adornParams({
page: 1,
limit: 500,
key: ''
})
}).then(({ data }) => {
if (data && data.code === 0) {
this.startPositionArr = data.page.list.splice(
0,
data.page.list.length - 4
)
} else {
this.startPositionArr = []
}
})
})
},
warehouseC () {
if (this.dataForm.warehouseName === 'A') {
this.dataForm.endPosition = 290
} else {
this.dataForm.endPosition = 292
}
},
//
dataFormSubmit () {
this.$refs['dataForm'].validate(valid => {
if (valid) {
this.$http({
url: this.$http.adornUrl(
`/work/mttaskinfo/${!this.dataForm.id ? 'saveout' : 'update'}`
),
method: 'post',
data: this.$http.adornData(this.dataForm)
}).then(({ data }) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
} else {
this.$message.error(data.msg)
}
})
}
})
}
}
}
</script>

View File

@ -11,6 +11,8 @@
</el-form>
<el-table
:data="dataList"
:stripe="true"
:header-cell-style="{background:'#eef1f6',color:'#606266',height: '56px'}"
border
v-loading="dataListLoading"
style="width: 100%;">
@ -33,12 +35,12 @@
align="center"
label="操作员名称">
</el-table-column>
<el-table-column
<!-- <el-table-column
prop="source"
header-align="center"
align="center"
label="来源">
</el-table-column>
</el-table-column> -->
<el-table-column
prop="taskType"
header-align="center"
@ -81,12 +83,12 @@
align="center"
label="数量">
</el-table-column>
<el-table-column
<!-- <el-table-column
prop="unit"
header-align="center"
align="center"
label="单位">
</el-table-column>
</el-table-column> -->
<el-table-column
prop="remarks"
header-align="center"
@ -100,9 +102,9 @@
width="200"
label="操作">
<template slot-scope="scope">
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
<el-button type="text" size="small" @click="$router.push({ name: 'mttaskinfodet' })">子任务</el-button>
<el-button type="text" size="small" >执行</el-button>
<!-- <el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button> -->
<el-button type="text" size="small" @click="$router.push({ name: 'mttaskinfodet', params: { id: scope.row.id } })">子任务</el-button>
<el-button type="text" size="small" @click="runtask(scope.row.id)">执行</el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
</template>
</el-table-column>
@ -184,6 +186,27 @@
this.$refs.addOrUpdate.init(id)
})
},
runtask (id) {
console.log(id)
this.$http({
url: this.$http.adornUrl('/work/mttaskinfo/runtask'),
method: 'post',
data: this.$http.adornData(id, false)
}).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
},
//
deleteHandle (id) {
this.$confirm(`确定对[id=${id}]进行删除操作?`, '提示', {

View File

@ -12,6 +12,8 @@
</el-form>
<el-table
:data="dataList"
:stripe="true"
:header-cell-style="{background:'#eef1f6',color:'#606266',height: '56px'}"
border
v-loading="dataListLoading"
style="width: 100%;">
@ -44,7 +46,7 @@
</template>
</el-table-column>
<el-table-column
prop="startPosition"
prop="warehousRankName"
header-align="center"
align="center"
label="起点">
@ -54,6 +56,9 @@
header-align="center"
align="center"
label="终点">
<template slot-scope="scope">
<span>{{ endPosition.find(item=>item.value === scope.row.targetPosition).label }}</span>
</template>
</el-table-column>
<el-table-column
prop="status"
@ -82,7 +87,7 @@
align="center"
label="数量">
</el-table-column>
<el-table-column
<!-- <el-table-column
prop="unit"
header-align="center"
align="center"
@ -111,14 +116,14 @@
header-align="center"
align="center"
label="批次号">
</el-table-column>
</el-table-column> -->
<el-table-column
prop="remarks"
header-align="center"
align="center"
label="备注">
</el-table-column>
<el-table-column
<!-- <el-table-column
fixed="right"
header-align="center"
align="center"
@ -128,7 +133,7 @@
<el-button type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button>
</template>
</el-table-column>
</el-table-column> -->
</el-table>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
@ -143,7 +148,18 @@
dataForm: {
key: ''
},
taskId: '',
dataList: [],
endPosition: [
{
value: 290,
label: 'A库出口'
},
{
value: 292,
label: 'B库出口'
}
],
dataListLoading: false,
addOrUpdateVisible: false
}
@ -152,6 +168,7 @@
AddOrUpdate
},
activated () {
this.taskId = this.$route.params.id
this.getDataList()
},
methods: {
@ -162,6 +179,7 @@
url: this.$http.adornUrl('/work/mttaskinfodet/list'),
method: 'get',
params: this.$http.adornParams({
'task_id': this.taskId,
'page': 1,
'limit': 500,
'key': this.dataForm.key

View File

@ -11,6 +11,8 @@
</el-form>
<el-table
:data="dataList"
:stripe="true"
:header-cell-style="{background:'#eef1f6',color:'#606266',height: '56px'}"
border
v-loading="dataListLoading"
style="width: 100%;">

View File

@ -11,6 +11,8 @@
</el-form>
<el-table
:data="dataList"
:stripe="true"
:header-cell-style="{background:'#eef1f6',color:'#606266',height: '56px'}"
border
v-loading="dataListLoading"
style="width: 100%;">

View File

@ -62,7 +62,7 @@
params: this.$http.adornParams()
}).then(({data}) => {
if (data && data.code === 0) {
this.dataForm = data.mtWarehousing
this.dataForm = data.mtWarehouseing
}
})
}

View File

@ -11,6 +11,8 @@
</el-form>
<el-table
:data="dataList"
:stripe="true"
:header-cell-style="{background:'#eef1f6',color:'#606266',height: '56px'}"
border
v-loading="dataListLoading"
style="width: 100%;">

View File

@ -4,7 +4,7 @@
:close-on-click-modal="false"
:visible.sync="visible">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmit()" label-width="80px">
<el-form-item label="库位状态" prop="status">
<!-- <el-form-item label="库位状态" prop="status">
<el-input v-model="dataForm.status" placeholder="库位状态 -1:不可用0:空库位, 1:空货架, 2:货物正常, 3:货物预入库, 4:货物预出库" clearable />
</el-form-item>
<el-form-item label="是否为空" prop="isEmpty">
@ -15,25 +15,25 @@
</el-form-item>
<el-form-item label="详细规格" prop="specModel">
<el-input v-model="dataForm.specModel" placeholder="详细规格" clearable />
</el-form-item>
</el-form-item> -->
<el-form-item label="产品编码" prop="productCode">
<el-input v-model="dataForm.productCode" placeholder="产品编码" clearable />
<el-input v-model="dataForm.productCode" placeholder="产品编码" readonly />
</el-form-item>
<el-form-item label="产品名称" prop="productName">
<el-input v-model="dataForm.productName" placeholder="产品名称" clearable />
<el-form-item label="板材名称" prop="productName">
<el-input v-model="dataForm.productName" placeholder="板材名称" readonly />
</el-form-item>
<el-form-item label="货物数量" prop="quantity">
<el-input v-model="dataForm.quantity" placeholder="货物数量, 货物总的数量" clearable />
</el-form-item>
<el-form-item label="库位id" prop="warehousPositionId">
<!-- <el-form-item label="库位id" prop="warehousPositionId">
<el-input v-model="dataForm.warehousPositionId" placeholder="库位id关联表mt_warehous_rank" clearable />
</el-form-item>
</el-form-item> -->
<el-form-item label="库位名称" prop="warehousPositionName">
<el-input v-model="dataForm.warehousPositionName" placeholder="库位名称" clearable />
<el-input v-model="dataForm.warehousPositionName" placeholder="库位名称" readonly />
</el-form-item>
<el-form-item label="批次号" prop="dateNum">
<!-- <el-form-item label="批次号" prop="dateNum">
<el-input v-model="dataForm.dateNum" placeholder="批次号" clearable />
</el-form-item>
</el-form-item> -->
<el-form-item label="备注" prop="remark">
<el-input v-model="dataForm.remark" placeholder="备注" clearable />
</el-form-item>
@ -81,7 +81,7 @@
params: this.$http.adornParams()
}).then(({data}) => {
if (data && data.code === 0) {
this.dataForm = data.mtWarehousPositionRelat
this.dataForm = data.mtWarehousePositionRelat
}
})
}

View File

@ -11,6 +11,8 @@
</el-form>
<el-table
:data="dataList"
:stripe="true"
:header-cell-style="{background:'#eef1f6',color:'#606266',height: '56px'}"
border
v-loading="dataListLoading"
style="width: 100%;">
@ -27,17 +29,17 @@
align="center"
label="添加时间">
</el-table-column>
<el-table-column
<!-- <el-table-column
prop="updateTime"
header-align="center"
align="center"
label="修改时间">
</el-table-column>
</el-table-column> -->
<el-table-column
prop="userName"
header-align="center"
align="center"
label="操作员名称">
label="操作员">
</el-table-column>
<el-table-column
prop="status"
@ -53,7 +55,7 @@
'货物预出库': '不可用'}}</span>
</template>
</el-table-column>
<el-table-column
<!-- <el-table-column
prop="isEmpty"
header-align="center"
align="center"
@ -61,13 +63,13 @@
<template slot-scope="scope">
<span>{{scope.row.isEmpty === 0?'空' :'有货'}}</span>
</template>
</el-table-column>
<el-table-column
</el-table-column> -->
<!-- <el-table-column
prop="specModel"
header-align="center"
align="center"
label="详细规格">
</el-table-column>
</el-table-column> -->
<el-table-column
prop="productCode"
header-align="center"
@ -78,7 +80,7 @@
prop="productName"
header-align="center"
align="center"
label="产品名称">
label="板材名称">
</el-table-column>
<el-table-column
prop="quantity"
@ -92,12 +94,12 @@
align="center"
label="库位名称">
</el-table-column>
<el-table-column
<!-- <el-table-column
prop="dateNum"
header-align="center"
align="center"
label="批次号">
</el-table-column>
</el-table-column> -->
<el-table-column
prop="remark"
header-align="center"

View File

@ -19,8 +19,8 @@
<el-form-item label="产品编码" prop="productCode">
<el-input v-model="dataForm.productCode" placeholder="产品编码" clearable />
</el-form-item>
<el-form-item label="产品名称" prop="productName">
<el-input v-model="dataForm.productName" placeholder="产品名称" clearable />
<el-form-item label="板材名称" prop="productName">
<el-input v-model="dataForm.productName" placeholder="板材名称" clearable />
</el-form-item>
<el-form-item label="货物数量" prop="quantity">
<el-input v-model="dataForm.quantity" placeholder="货物数量, 货物总的数量" clearable />
@ -81,7 +81,7 @@
{ required: true, message: '产品编码不能为空', trigger: 'blur' }
],
productName: [
{ required: true, message: '产品名称不能为空', trigger: 'blur' }
{ required: true, message: '板材名称不能为空', trigger: 'blur' }
],
quantity: [
{ required: true, message: '货物数量, 货物总的数量不能为空', trigger: 'blur' }

View File

@ -11,6 +11,8 @@
</el-form>
<el-table
:data="dataList"
:stripe="true"
:header-cell-style="{background:'#eef1f6',color:'#606266',height: '56px'}"
border
v-loading="dataListLoading"
style="width: 100%;">
@ -72,7 +74,7 @@
prop="productName"
header-align="center"
align="center"
label="产品名称">
label="板材名称">
</el-table-column>
<el-table-column
prop="quantity"

View File

@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2022-05-23 09:42:30
* @LastEditors: zwq
* @LastEditTime: 2022-05-24 15:13:57
* @LastEditTime: 2022-07-26 10:30:01
* @Description:
-->
<template>
@ -67,7 +67,7 @@ export default {
params: this.$http.adornParams()
}).then(({ data }) => {
if (data && data.code === 0) {
this.dataForm = data.mtWarehousRank
this.dataForm = data.mtWarehouseRank
}
})
}

View File

@ -11,6 +11,8 @@
</el-form>
<el-table
:data="dataList"
:stripe="true"
:header-cell-style="{background:'#eef1f6',color:'#606266',height: '56px'}"
border
v-loading="dataListLoading"
style="width: 100%;">

View File

@ -10,7 +10,7 @@
<el-form-item label="区域名称" prop="regionName">
<el-input v-model="dataForm.regionName" placeholder="区域名称" clearable />
</el-form-item>
<el-form-item label="区域类型" prop="regionType">
<!-- <el-form-item label="区域类型" prop="regionType">
<el-select clearable v-model="dataForm.regionType" placeholder="请选择区域类型">
<el-option
v-for="item in options"
@ -19,7 +19,7 @@
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-form-item> -->
<el-form-item label="仓库" prop="whId">
<el-select clearable v-model="dataForm.whId" filterable placeholder="仓库">
<el-option
@ -50,7 +50,6 @@
id: 0,
regionCode: 'QY' + new Date().getTime(),
regionName: '',
regionType: '',
whId: '',
remark: ''
},
@ -72,9 +71,9 @@
regionName: [
{ required: true, message: '区域名称不能为空', trigger: 'blur' }
],
regionType: [
{ required: true, message: '区域类型不能为空', trigger: 'blur' }
],
// regionType: [
// { required: true, message: '', trigger: 'blur' }
// ],
whId: [
{ required: true, message: '仓库不能为空', trigger: 'change' }
]
@ -94,7 +93,7 @@
params: this.$http.adornParams()
}).then(({data}) => {
if (data && data.code === 0) {
this.dataForm = data.mtWarehousRegion
this.dataForm = data.mtWarehouseRegion
}
})
}
@ -125,7 +124,6 @@
'id': this.dataForm.id || undefined,
'regionCode': this.dataForm.regionCode,
'regionName': this.dataForm.regionName,
'regionType': this.dataForm.regionType,
'whId': this.dataForm.whId,
'remark': this.dataForm.remark
})

View File

@ -11,6 +11,8 @@
</el-form>
<el-table
:data="dataList"
:stripe="true"
:header-cell-style="{background:'#eef1f6',color:'#606266',height: '56px'}"
border
v-loading="dataListLoading"
style="width: 100%;">
@ -40,14 +42,14 @@
label="区域名称">
</el-table-column>
<el-table-column
prop="regionType"
prop="whId"
header-align="center"
align="center"
label="区域类型">
label="仓库">
<template slot-scope="scope">
<span>{{scope.row.regionType === 0?
'普通库位' :scope.row.regionType === 1?
'高库位': '扩展库位'}}</span>
<span>{{scope.row.whId === 1?
'A库' :
'B库'}}</span>
</template>
</el-table-column>
<el-table-column

View File

@ -1,19 +1,19 @@
/*
* @Author: gtz
* @Date: 2021-11-19 10:10:52
* @LastEditors: gtz
* @LastEditTime: 2021-11-30 09:40:45
* @LastEditors: zwq
* @LastEditTime: 2022-08-05 10:06:48
* @Description: file content
* @FilePath: \mt-qj-wms-ui\static\config\init.js
*/
/**
* 动态加载初始资源
*/
;(function() {
;(function () {
var resList = {
icon: window.SITE_CONFIG.cdnUrl + '/static/img/favicon.ico',
icon: window.SITE_CONFIG.cdnUrl + '/static/img/quanyou.webp',
css: [
window.SITE_CONFIG.cdnUrl + '/static/css/app.css',
window.SITE_CONFIG.cdnUrl + '/static/css/app.css'
],
js: [
// 插件, 放置业务之前加载, 以免业务需求依赖插件时, 还未加载出错
@ -30,53 +30,53 @@
// 图标
(function () {
var _icon = document.createElement('link');
_icon.setAttribute('rel', 'shortcut icon');
_icon.setAttribute('type', 'image/x-icon');
_icon.setAttribute('href', resList.icon);
document.getElementsByTagName('head')[0].appendChild(_icon);
var _icon = document.createElement('link')
_icon.setAttribute('rel', 'shortcut icon')
_icon.setAttribute('type', 'image/x-icon')
_icon.setAttribute('href', resList.icon)
document.getElementsByTagName('head')[0].appendChild(_icon)
})();
// 样式
(function () {
document.getElementsByTagName('html')[0].style.opacity = 0;
var i = 0;
var _style = null;
document.getElementsByTagName('html')[0].style.opacity = 0
var i = 0
var _style = null
var createStyles = function () {
if (i >= resList.css.length) {
document.getElementsByTagName('html')[0].style.opacity = 1;
return;
document.getElementsByTagName('html')[0].style.opacity = 1
return
}
_style = document.createElement('link');
_style.href = resList.css[i];
_style.setAttribute('rel', 'stylesheet');
_style = document.createElement('link')
_style.href = resList.css[i]
_style.setAttribute('rel', 'stylesheet')
_style.onload = function () {
i++;
createStyles();
i++
createStyles()
}
document.getElementsByTagName('head')[0].appendChild(_style);
document.getElementsByTagName('head')[0].appendChild(_style)
}
createStyles();
})();
createStyles()
})()
// 脚本
document.onreadystatechange = function () {
if (document.readyState === 'interactive') {
var i = 0;
var _script = null;
var i = 0
var _script = null
var createScripts = function () {
if (i >= resList.js.length) {
return;
return
}
_script = document.createElement('script');
_script.src = resList.js[i];
_script = document.createElement('script')
_script.src = resList.js[i]
_script.onload = function () {
i++;
createScripts();
i++
createScripts()
}
document.getElementsByTagName('body')[0].appendChild(_script);
document.getElementsByTagName('body')[0].appendChild(_script)
}
createScripts();
createScripts()
}
};
})();
}
})()