This commit is contained in:
2022-01-13 10:45:55 +08:00
parent 9673c1ba30
commit 7bc184c9c7
18 changed files with 548 additions and 424 deletions

View File

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: zwq
* @LastEditTime: 2021-03-25 16:09:59
* @LastEditTime: 2022-01-11 15:48:58
* @Description:
-->
<template>
@@ -82,7 +82,7 @@ const tableProps = [
align: 'center'
},
{
prop: 'name',
prop: 'tareaName',
label: i18n.t('module.basicData.cache.CacheName'),
align: 'center'
},

View File

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: zwq
* @LastEditTime: 2021-04-28 10:07:44
* @LastEditTime: 2022-01-11 16:26:29
* @enName:
-->
<template>
@@ -16,8 +16,8 @@
label-width="140px"
>
<el-col :span="8">
<el-form-item :label="$t('module.basicData.cache.CacheName')" prop="name">
<el-input v-model="dataForm.name" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.CacheName')])" clearable :style="{width: '100%'}" />
<el-form-item :label="$t('module.basicData.cache.CacheName')" prop="tareaName">
<el-input v-model="dataForm.tareaName" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.CacheName')])" clearable :style="{width: '100%'}" />
</el-form-item>
</el-col>
<el-col :span="8">
@@ -36,64 +36,14 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('module.basicData.visual.Manufacturer')" prop="manufacturer">
<el-input
v-model="dataForm.manufacturer"
:disabled="isdetail"
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Manufacturer')])"
clearable
:style="{width: '100%'}"
/>
<el-form-item :label="$t('module.basicData.visual.Specs')" prop="spec">
<el-input v-model="dataForm.spec" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Specs')])" clearable :style="{width: '100%'}" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('module.basicData.visual.Specs')" prop="description">
<el-input v-model="dataForm.description" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Specs')])" clearable :style="{width: '100%'}" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('module.basicData.visual.productionTime')" prop="productionTime">
<el-date-picker
v-model="dataForm.productionTime"
:disabled="isdetail"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
:style="{width: '100%'}"
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.productionTime')])"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('module.basicData.visual.enterTime')" prop="enterTime">
<el-date-picker
v-model="dataForm.enterTime"
:disabled="isdetail"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
:style="{width: '100%'}"
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.enterTime')])"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('module.basicData.visual.debugTime')" prop="debugTime">
<el-date-picker
v-model="dataForm.debugTime"
:disabled="isdetail"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
:style="{width: '100%'}"
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.debugTime')])"
clearable
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('module.basicData.visual.CurrentState')" prop="currentStatus">
<el-form-item :label="$t('module.basicData.visual.CurrentState')" prop="status">
<el-select
v-model="dataForm.currentStatus"
v-model="dataForm.status"
:disabled="isdetail"
:placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.CurrentState')])"
clearable
@@ -110,18 +60,18 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('module.basicData.cache.StockNumber')" prop="stockNumber">
<el-input-number v-model="dataForm.stockNumber" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.StockNumber')])" :step="1" />
<el-form-item :label="$t('module.basicData.cache.StockNumber')" prop="locationNum">
<el-input-number v-model="dataForm.locationNum" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.StockNumber')])" :step="1" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('module.basicData.cache.AreaNumber')" prop="areaNumber">
<el-input-number v-model="dataForm.areaNumber" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.AreaNumber')])" :step="1" />
<el-form-item :label="$t('module.basicData.cache.AreaNumber')" prop="shelfNum">
<el-input-number v-model="dataForm.shelfNum" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.AreaNumber')])" :step="1" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item :label="$t('module.basicData.visual.Remarks')" prop="remark">
<el-input v-model="dataForm.remark" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Remarks')])" clearable :style="{width: '100%'}" />
<el-form-item :label="$t('module.basicData.visual.Remarks')" prop="note">
<el-input v-model="dataForm.note" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Remarks')])" clearable :style="{width: '100%'}" />
</el-form-item>
</el-col>
</el-form>
@@ -130,7 +80,7 @@
<el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button>
<span v-if="!isdetail">
<el-button type="primary" @click="dataFormSubmit()">{{ 'btn.save' | i18nFilter }}</el-button>
<el-button v-if="listQuery.cacheId" type="primary" @click="addNew()">{{ $t('module.basicData.cache.addCacheArea') }}</el-button>
<el-button v-if="listQuery.id" type="primary" @click="addNew()">{{ $t('module.basicData.cache.addCacheArea') }}</el-button>
</span>
</div>
<div style="height:380px;overflow:auto">
@@ -148,7 +98,7 @@
/>
</base-table>
</div>
<cacheArea-add v-if="addOrUpdateVisible" ref="addOrUpdate" :cache-id="listQuery.cacheId" @refreshDataList="getList" />
<cacheArea-add v-if="addOrUpdateVisible" ref="addOrUpdate" :cache-id="listQuery.id" @refreshDataList="getList" />
</div>
</template>
@@ -159,7 +109,6 @@ import BaseTable from '@/components/BaseTable'
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
import cacheAreaAdd from './cacheArea-add.vue'
import shelfBtn from './shelfBtn.vue'
import { timeFormatter } from '@/filters'
const tableBtn = [
{
type: 'edit',
@@ -171,12 +120,6 @@ const tableBtn = [
}
]
const tableProps = [
{
prop: 'createTime',
label: i18n.t('module.basicData.factory.createTime'),
filter: timeFormatter,
align: 'center'
},
{
prop: 'name',
label: i18n.t('module.basicData.cache.AreaName'),
@@ -188,13 +131,23 @@ const tableProps = [
align: 'center'
},
{
prop: 'areaNumber',
prop: 'shelfNum',
label: i18n.t('module.basicData.cache.StorageQuantity'),
align: 'center'
},
{
prop: 'rowNum',
label: i18n.t('module.basicData.cache.rowNum'),
align: 'center'
},
{
prop: 'columnNum',
label: i18n.t('module.basicData.cache.columnNum'),
align: 'center'
},
{
prop: 'shelf',
label: i18n.t('module.basicData.cache.Shelf'),
label: i18n.t('module.basicData.cache.Location'),
subcomponent: shelfBtn,
align: 'center'
}
@@ -210,27 +163,23 @@ export default {
tableProps,
list: [],
dataForm: {
name: '',
tareaName: '',
code: '',
enName: '',
abbr: '',
manufacturer: '',
description: '',
productionTime: '',
enterTime: '',
debugTime: '',
currentStatus: '',
stockNumber: '',
areaNumber: '',
remark: ''
spec: '',
status: '',
locationNum: '',
shelfNum: '',
note: ''
},
listQuery: {
current: 1,
size: 990,
cacheId: ''
id: ''
},
rules: {
name: [{
tareaName: [{
required: true,
message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.cache.CacheName')]),
trigger: 'blur'
@@ -243,35 +192,35 @@ export default {
},
currentStatusOptions: [{
'label': '正常',
'value': '0'
'value': 0
}, {
'label': '暂停',
'value': '1'
'value': 1
}, {
'label': '维修',
'value': '2'
'value': 2
}],
cacheId: '',
id: '', // 缓存区id
isdetail: false
}
},
created() {
this.cacheId = this.$route.query.id
this.id = this.$route.query.id
this.init()
},
methods: {
init() {
this.isdetail = false
this.isdetail = Boolean(this.$route.query.isdetail)
this.listQuery.cacheId = ''
this.listQuery.id = ''
this.list.splice(0, this.list.length)
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.cacheId) {
cacheDetail(this.cacheId).then(res => {
if (this.id) {
cacheDetail(this.id).then(res => {
this.dataForm = res.data
})
this.listQuery.cacheId = this.cacheId
this.listQuery.id = this.id
areaList(this.listQuery).then(response => {
if (response.data.records) {
this.list = response.data.records
@@ -322,20 +271,16 @@ export default {
const data = {
'abbr': this.dataForm.abbr,
'code': this.dataForm.code,
'currentStatus': this.dataForm.currentStatus,
'debugTime': this.dataForm.debugTime,
'status': this.dataForm.status,
'enName': this.dataForm.enName,
'enterTime': this.dataForm.enterTime,
'manufacturer': this.dataForm.manufacturer,
'name': this.dataForm.name,
'productionTime': this.dataForm.productionTime,
'remark': this.dataForm.remark,
'description': this.dataForm.description,
'stockNumber': this.dataForm.stockNumber,
'areaNumber': this.dataForm.areaNumber,
'id': this.cacheId
'tareaName': this.dataForm.tareaName,
'note': this.dataForm.note,
'spec': this.dataForm.spec,
'locationNum': this.dataForm.locationNum,
'shelfNum': this.dataForm.shelfNum,
'id': this.id
}
if (this.cacheId) {
if (this.id) {
cacheUpdate(data).then(res => {
this.$message({
message: this.$t('module.basicData.visual.success'),
@@ -350,7 +295,7 @@ export default {
type: 'success',
duration: 1500
})
this.listQuery.cacheId = res.data.id
this.listQuery.id = res.data.id
})
}
}

View File

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: zwq
* @LastEditTime: 2021-07-21 13:59:43
* @LastEditTime: 2022-01-11 16:45:30
* @Description:
-->
<template>
@@ -11,17 +11,14 @@
:visible.sync="visible"
>
<el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="130px" @keyup.enter.native="dataFormSubmit()">
<el-form-item :label="$t('module.basicData.storageBox.name')" prop="name">
<el-input v-model="dataForm.name" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.name')])" clearable />
<el-form-item :label="$t('module.basicData.storageBox.name')" prop="storageBoxName">
<el-input v-model="dataForm.storageBoxName" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.name')])" clearable />
</el-form-item>
<el-form-item :label="$t('module.basicData.storageBox.code')" prop="code">
<el-input v-model="dataForm.code" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.code')])" clearable />
</el-form-item>
<el-form-item :label="$t('module.basicData.storageBox.StorageQuantity')" prop="quantity">
<el-input-number v-model="dataForm.quantity" :min="0" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.StorageQuantity')])" />
</el-form-item>
<el-form-item :label="$t('module.basicData.storageBox.alias')" prop="aliasName">
<el-input v-model="dataForm.aliasName" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.alias')])" clearable />
<el-form-item :label="$t('module.basicData.visual.EnglishName')" prop="enName">
<el-input v-model="dataForm.enName" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.EnglishName')])" clearable />
</el-form-item>
<el-form-item :label="$t('module.basicData.storageBox.status')" prop="status">
<el-select v-model="dataForm.status" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.status')])" clearable>
@@ -33,8 +30,8 @@
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('module.basicData.visual.Remarks')" prop="remark">
<el-input v-model="dataForm.remark" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Remarks')])" clearable />
<el-form-item :label="$t('module.basicData.visual.Remarks')" prop="note">
<el-input v-model="dataForm.note" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Remarks')])" clearable />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
@@ -53,12 +50,11 @@ export default {
visible: false,
dataForm: {
id: 0,
name: '',
storageBoxName: '',
code: '',
status: 0,
aliasName: '',
quantity: 0,
remark: ''
enName: '',
note: ''
},
options: [
{
@@ -75,7 +71,7 @@ export default {
}
],
dataRule: {
name: [
storageBoxName: [
{
required: true,
message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.storageBox.name')]),

View File

@@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: zwq
* @LastEditTime: 2021-07-21 14:00:56
* @LastEditTime: 2022-01-11 16:46:48
* @Description:
-->
<template>
@@ -41,7 +41,6 @@
<script>import i18n from '@/lang'
import HeadForm from '@/components/basicData/HeadForm'
import BaseTable from '@/components/BaseTable'
import PositionDetail from './components/PositionDetail'
import storageBoxAdd from './components/storageBox-add'
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
@@ -82,7 +81,7 @@ const tableProps = [
align: 'center'
},
{
prop: 'name',
prop: 'storageBoxName',
label: i18n.t('module.basicData.storageBox.name'),
align: 'center'
},
@@ -92,13 +91,8 @@ const tableProps = [
align: 'center'
},
{
prop: 'aliasName',
label: i18n.t('module.basicData.storageBox.alias'),
align: 'center'
},
{
prop: 'quantity',
label: i18n.t('module.basicData.storageBox.StorageQuantity'),
prop: 'enName',
label: i18n.t('module.basicData.visual.EnglishName'),
align: 'center'
},
{
@@ -108,15 +102,9 @@ const tableProps = [
align: 'center'
},
{
prop: 'remark',
prop: 'note',
label: i18n.t('module.basicData.storageBox.remark'),
align: 'center'
},
{
prop: 'location',
label: i18n.t('module.basicData.cache.Location'),
subcomponent: PositionDetail,
align: 'center'
}
]
@@ -157,7 +145,7 @@ export default {
methods: {
handleClick(raw) {
if (raw.type === 'delete') {
this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.name}]?`, this.$t('module.basicData.visual.Tips'), {
this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.storageBoxName}]?`, this.$t('module.basicData.visual.Tips'), {
confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'),
cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'),
type: 'warning'
@@ -181,8 +169,7 @@ export default {
},
getList(key) {
this.listLoading = true
this.listQuery.name = key
this.listQuery.code = key
this.listQuery.storageBoxName = key
storageBoxList(this.listQuery).then(response => {
if (response.data.records) {
this.list = response.data.records

View File

@@ -0,0 +1,7 @@
<!--
* @Author: zwq
* @Date: 2022-01-12 15:35:11
* @LastEditors: zwq
* @LastEditTime: 2022-01-12 15:35:11
* @Description:
-->

View File

@@ -0,0 +1,248 @@
<!--
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: zwq
* @LastEditTime: 2022-01-12 16:27:58
* @Description:
-->
<template>
<div class="app-container">
<el-form
ref="formData"
:model="formData"
:inline="true"
size="medium"
label-width="100px"
>
<el-form-item :label="$t('module.basicData.Warehouse.TaskType')" prop="taskType">
<el-select v-model="formData.taskType" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.TaskType')])" clearable>
<el-option
v-for="item in taskTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('module.basicData.Warehouse.TaskStatus')" prop="status">
<el-select v-model="formData.status" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.TaskStatus')])" clearable>
<el-option
v-for="item in equipmentList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('module.basicData.Warehouse.VehicleName')" prop="equipmentId">
<el-select v-model="formData.equipmentId" filterable :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.Warehouse.VehicleName')])" clearable>
<el-option
v-for="item in equipmentList"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('module.basicData.Warehouse.TimeSlot')" prop="time">
<el-date-picker
v-model="formData.timeSlot"
type="daterange"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
:start-placeholder="$t('module.orderManage.order.StartTime')"
:end-placeholder="$t('module.orderManage.order.StartTime')"
:range-separator="$t('module.orderManage.order.To')"
clearable
/>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="getList()"> {{ 'btn.search' | i18nFilter }} </el-button>
</el-form-item>
</el-form>
<base-table
:page="formData.current"
:limit="formData.size"
:table-config="tableProps"
:table-data="list"
:is-loading="listLoading"
/>
<pagination
v-show="total > 0"
:total="total"
:page.sync="formData.current"
:limit.sync="formData.size"
@pagination="getList()"
/>
</div>
</template>
<script>
import { equipmentInfoList } from '@/api/basicData/Equipment/equipmentInfo'
import { HistoricalTaskList } from '@/api/basicData/Warehouse/HistoricalTask'
import i18n from '@/lang'
import BaseTable from '@/components/BaseTable'
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
// import { timeFormatter } from '@/filters'
/**
* 表格表头配置项 TypeScript接口注释
* tableConfig<ConfigItem> = []
*
* Interface ConfigItem = {
* prop: string,
* label: string,
* width: string,
* align: string,
* subcomponent: function,
* filter: function
* }
*
*
*/
const tableProps = [
{
prop: 'taskCode',
label: i18n.t('module.basicData.Warehouse.Code'),
align: 'center'
},
{
prop: 'createTime',
label: i18n.t('module.basicData.Warehouse.ExecutionTime'),
align: 'center'
},
{
prop: 'status',
label: i18n.t('module.basicData.Warehouse.TaskStatus'),
align: 'center'
},
// {
// prop: 'taskType',
// label: i18n.t('module.basicData.Warehouse.TaskType'),
// align: 'center'
// },
{
prop: 'name',
label: i18n.t('module.basicData.Warehouse.VehicleName'),
align: 'center'
},
// {
// prop: 'substrateNo',
// label: i18n.t('module.basicData.Warehouse.BoxStatus'),
// align: 'center'
// },
{
prop: 'wcode',
label: i18n.t('module.basicData.Warehouse.BoxNumber'),
align: 'center'
},
{
prop: 'wcurrProcessCode',
label: i18n.t('module.basicData.Warehouse.PreviousOperation'),
align: 'center'
},
{
prop: 'wnextProcessCode',
label: i18n.t('module.basicData.Warehouse.NextOperation'),
align: 'center'
},
{
prop: 'updateTime',
label: i18n.t('module.basicData.Warehouse.CompletionTime'),
align: 'center'
},
{
prop: 'currLocation',
label: i18n.t('module.basicData.Warehouse.StartLocation'),
align: 'center'
},
{
prop: 'targetLocation',
label: i18n.t('module.basicData.Warehouse.TargetLocation'),
align: 'center'
}
]
export default {
name: 'ScrapInfo',
components: { Pagination, BaseTable },
data() {
return {
trueWidth: 200,
tableProps,
list: [],
total: 0,
listLoading: false,
formData: {
taskType: '',
status: '',
equipmentId: '',
timeSlot: [],
endTime: '',
startTime: '',
current: 1,
size: 10
},
taskTypeList: [{
'label': '出库',
'value': 0
}, {
'label': '入库',
'value': 1
}, {
'label': '流转',
'value': 2
}],
equipmentList: []
}
},
created() {
this.init()
this.getList()
},
methods: {
init() {
const listQuery = {
current: 1,
size: 500
}
this.equipmentList.splice(0, this.equipmentList.length)
equipmentInfoList(listQuery).then(response => {
if (response.data.records) {
this.equipmentList = response.data.records
}
})
},
getList() {
if (this.formData.timeSlot) {
this.formData.startTime = this.formData.timeSlot[0]
this.formData.endTime = this.formData.timeSlot[1]
} else {
this.formData.startTime = ''
this.formData.endTime = ''
}
this.listLoading = true
HistoricalTaskList(this.formData).then(response => {
if (response.data.records) {
this.list = response.data.records
} else {
this.list.splice(0, this.list.length)
}
this.total = response.data.total
this.listLoading = false
})
}
}
}
</script>
<style scoped>
.edit-input {
padding-right: 100px;
}
.cancel-btn {
position: absolute;
right: 15px;
top: 10px;
}
</style>

View File

@@ -0,0 +1,7 @@
<!--
* @Author: zwq
* @Date: 2022-01-12 15:32:02
* @LastEditors: zwq
* @LastEditTime: 2022-01-12 15:32:03
* @Description:
-->