Merge pull request 'fzq' (#50) from fzq into develop
All checks were successful
continuous-integration/drone/push Build is passing

Reviewed-on: #50
This commit is contained in:
朱文强 2022-03-11 08:26:17 +08:00
commit cf1e32049c
25 changed files with 427 additions and 148 deletions

View File

@ -4,7 +4,7 @@
* @Author: fzq
* @Date: 2022-03-06 18:13:49
* @LastEditors: fzq
* @LastEditTime: 2022-03-06 18:29:43
* @LastEditTime: 2022-03-09 10:44:04
*/
import request from '@/utils/request'
@ -46,3 +46,27 @@ export function locaDelete(id) { // 删除工序库位信息单条数据
data: { id }
})
}
export function locationList(data) { // 获取库位id列表
return request({
url: '/api/wms/processlocation/locationList',
method: 'post',
data
})
}
export function portAttrList(data) { // 获取库位属性列表,关联数据字典
return request({
url: '/api/wms/processlocation/portAttrList',
method: 'post',
data
})
}
export function workSequenList(data) { // 获取工序id列表
return request({
url: '/api/wms/processlocation/workSequenList',
method: 'post',
data
})
}

View File

@ -2,7 +2,7 @@
* @Author: gtz
* @Date: 2021-03-07 18:39:03
* @LastEditors: fzq
* @LastEditTime: 2022-03-06 19:27:01
* @LastEditTime: 2022-03-08 15:31:13
* @Description: file content
*/
import request from '@/utils/request'
@ -28,7 +28,8 @@ export function download(data) {
url: '/api/report/report-storage-box/excel-download',
method: 'post',
data,
'responseType': 'arraybuffer'
responseType: 'blob',
timeout: 60000
})
}

View File

@ -68,6 +68,10 @@ export default {
zh: '返回',
en: 'Back'
},
export: {
zh: '导出',
en: 'Export'
},
checkLog: {
zh: '查看日志',
en: 'Check Log'

View File

@ -1,8 +1,8 @@
/*
* @Author: gtz
* @Date: 2021-03-04 16:19:14
* @LastEditors: Please set LastEditors
* @LastEditTime: 2021-07-13 20:32:02
* @LastEditors: fzq
* @LastEditTime: 2022-03-08 15:48:54
* @Description: file content
*/
@ -90,5 +90,9 @@ export default {
download: {
zh: '下载',
en: 'download'
},
export: {
zh: '导出',
en: 'export'
}
}

View File

@ -1,8 +1,13 @@
/*
* @Author: gtz
* @Date: 2021-03-04 16:13:51
<<<<<<< HEAD
* @LastEditors: fzq
* @LastEditTime: 2022-03-10 14:05:21
=======
* @LastEditors: zwq
* @LastEditTime: 2022-03-09 16:34:56
>>>>>>> develop
* @Description: file content
*/
export default {
@ -127,6 +132,20 @@ export default {
AlarmTypeCode: 'Alarm Type Code',
LevelCode: 'Level Code'
},
processLocation: {
sequence: 'Sequence',
locationName: 'Location Name',
isProcess: 'Location Type',
locationId: 'Location Id',
workSequenId: 'Work Sequence Id',
equipmentMark: 'Equipment Mark',
portAttrId: 'Port Attribute Id',
goodsShelves: 'Goods Shelves',
ProcessLocation: 'Process Location',
CacheLocation: 'Cache Location',
aShelf: 'Shelf A',
bShelf: 'Shelf B'
},
cache: {
CacheCode: 'Ports Code',
CacheName: 'Ports Name',
@ -148,7 +167,10 @@ export default {
LocationName: 'Location Name',
anotherName: 'Another Name',
place: 'Place',
addCacheArea: 'add Ports Shelf'
addCacheArea: 'add Ports Shelf',
warning: 'Layers and Columns must be integer!',
logisticsEquipment: 'Logistics Equipment',
processEquipment: 'Process Equipment'
},
storageBox: {
name: 'Name',

View File

@ -1,8 +1,14 @@
/*
* @Author: gtz
* @Date: 2021-03-04 16:13:51
<<<<<<< HEAD
* @LastEditors: fzq
* @LastEditTime: 2022-03-10 14:05:01
* @Description: file content
=======
* @LastEditors: zwq
* @LastEditTime: 2022-03-09 16:34:50
>>>>>>> develop
*/
export default {
visual: {
@ -152,7 +158,10 @@ export default {
place: '位置',
addCacheArea: '添加货架',
addLocation: '添加库位',
status: '状态'
status: '状态',
warning: '行列标必须为整数!',
logisticsEquipment: '物流设备',
processEquipment: '工艺设备'
},
storageBox: {
name: '存储箱名称',
@ -249,10 +258,16 @@ export default {
processLocation: {
sequence: '顺序',
locationName: '库位名',
isProcess: '是否为工序准备箱',
isProcess: '库位类型',
locationId: '库位ID',
workSequenId: '工序ID',
equipmentMark: '设备标记'
equipmentMark: '设备标记',
portAttrId: '库位属性ID',
goodsShelves: '货架',
CacheLocation: '缓存区库位',
ProcessLocation: '工序库位',
aShelf: 'a货架',
bShelf: 'b货架'
},
productPool: {
productName: '产品名称',

View File

@ -159,6 +159,7 @@ export const constantRoutes = [
path: 'processInfo',
component: () => import('@/views/basicData/Process/processInfo'),
name: 'processInfo',
hidden: true,
meta: { title: routerTitle.basicData.process.processInfo?.[language] || routerTitle.basicData.process.processInfo.en, icon: 'form', affix: true, required: true, requireToken: true }
},
{
@ -434,6 +435,7 @@ export const constantRoutes = [
path: 'currentSubstrate',
component: () => import('@/views/report-manage/CurrentSubstrate'),
name: 'currentSubstrate',
hidden: true,
meta: { title: routerTitle.form.currentSubstrate?.[language] || routerTitle.form.currentSubstrate.en, icon: 'form', affix: true, required: true, requireToken: true }
},
{

View File

@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: fzq
* @LastEditTime: 2022-03-04 19:08:00
* @LastEditTime: 2022-03-10 21:00:58
* @Description:
-->
<template>
@ -17,7 +17,9 @@
@getDataList="getList"
@add="addNew"
/>
<div style="title">货架编码:{{ shCode }} 货架名称{{ shName }} 库存量{{ num }}
<el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button>
</div>
<base-table
:page="listQuery.current"
:limit="listQuery.size"
@ -106,7 +108,7 @@ const tableProps = [
align: 'center'
},
{
prop: 'status',
prop: 'statusName',
label: i18n.t('module.basicData.cache.status'),
align: 'center'
}
@ -127,13 +129,18 @@ export default {
},
data() {
return {
shCode: '',
shName: '',
num: 0,
addOrUpdateVisible: false,
keyNameAdd: i18n.t('module.basicData.visual.keyword'),
placeholderName: this.$t('module.basicData.cache.LocationName'),
tableBtn,
trueWidth: 200,
tableProps,
list: [],
list: [{
statusName: ''
}],
listLoading: true,
listQuery: {
current: 1,
@ -145,6 +152,9 @@ export default {
},
created() {
this.listQuery.shelfId = this.$route.query.id
this.shCode = this.$route.query.code
this.shName = this.$route.query.shelfName
this.num = this.$route.query.columnNum
this.getList()
},
methods: {
@ -180,6 +190,16 @@ export default {
if (response.data.records) {
this.list = response.data.records
console.log(this.list)
// 1Working Port2Buffer Port3Exception Portstatus
for (var x = 0; x < this.list.length; x++) {
if (this.list[x].status === 1) {
this.list[x].statusName = 'Working Port'
} else if (this.list[x].status === 2) {
this.list[x].statusName = 'Buffer Port'
} else if (this.list[x].status === 3) {
this.list[x].statusName = 'Exception Port'
}
}
} else {
this.list.splice(0, this.list.length)
}

View File

@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: fzq
* @LastEditTime: 2022-03-04 18:59:53
* @LastEditTime: 2022-03-10 21:14:13
* @Description:
-->
<template>
@ -29,8 +29,18 @@
<el-form-item :label="$t('module.basicData.cache.locationType')" prop="locationType">
<el-input v-model="dataForm.locationType" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.locationType')])" clearable />
</el-form-item>
<el-form-item :label="$t('module.basicData.cache.status')" prop="status">
<!-- <el-form-item :label="$t('module.basicData.cache.status')" prop="status">
<el-input v-model="dataForm.status" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.status')])" clearable />
</el-form-item> -->
<el-form-item :label="$t('module.basicData.cache.status')" prop="status">
<el-select v-model="dataForm.status">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
@ -61,11 +71,25 @@ export default {
code: '',
locationNameAlias: '',
rowNum: '',
columns: '',
layers: '',
status: '',
columns: 0,
layers: 0,
status: null,
locationType: ''
},
options: [
{
value: 1,
label: 'Working Port'
},
{
value: 2,
label: 'Buffer Port'
},
{
value: 3,
label: 'Exception Port'
}
],
dataRule: {
name: [
{ required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.cache.LocationName')]), trigger: 'blur' }
@ -73,6 +97,16 @@ export default {
code: [
{ required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.cache.LocationCode')]), trigger: 'blur' }
]
// layers: [{
// type: 'number',
// message: this.$t('module.basicData.cache.warning'),
// trigger: "blur"
// }],
// columns: [{
// type: 'number',
// message: this.$t('module.basicData.cache.warning'),
// trigger: "blur"
// }]
}
}
},
@ -85,6 +119,7 @@ export default {
if (this.dataForm.id) {
locationDetail(this.dataForm.id).then(res => {
this.dataForm = res.data
console.log(this.dataForm)
})
} else {
locationCode().then(res => {

View File

@ -1,7 +1,7 @@
<!--
* @Date: 2021-01-07 20:09:37
* @LastEditors: fzq
* @LastEditTime: 2022-03-03 18:39:03
* @LastEditTime: 2022-03-10 20:20:44
* @FilePath: \basic-admin\src\components\BaseTable\subcomponents\CheckDetail.vue
* @Description:
-->
@ -24,7 +24,10 @@ export default {
this.$router.push({
name: 'locationAdd',
query: {
id: this.injectData.id
id: this.injectData.id,
code: this.injectData.code,
columnNum: this.injectData.columnNum,
shelfName: this.injectData.shelfName
}
})
}

View File

@ -1,8 +1,8 @@
<!--
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: zwq
* @LastEditTime: 2021-03-11 09:22:52
* @LastEditors: fzq
* @LastEditTime: 2022-03-10 19:20:22
* @Description:
-->
<template>
@ -25,7 +25,7 @@
@clickBtn="handleClick"
/>
</base-table>
<shelfAttr-add v-if="addOrUpdateVisible" ref="addOrUpdate" :area-id="listQuery.areaId" @refreshDataList="getList" />
<shelfAttr-add v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getList" />
</div>
</template>
@ -163,7 +163,7 @@ export default {
addNew(id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
this.$refs.addOrUpdate.init(id, true)
})
},
goback() {

View File

@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: fzq
* @LastEditTime: 2022-03-03 19:00:08
* @LastEditTime: 2022-03-10 19:38:31
* @Description:
-->
<template>
@ -47,7 +47,7 @@
</template>
<script>
import { shelfList, shelfDetail, shelfUpdate, shelfAdd, shelfCode } from '@/api/basicData/Cache/shelf'
import { shelfDetail, shelfUpdate, shelfAdd, shelfCode } from '@/api/basicData/Cache/shelf'
export default {
props: {
@ -86,36 +86,60 @@ export default {
}
},
methods: {
init(id, isPage) {
this.isPage = isPage || false
// init(id, isPage) {
// this.isPage = isPage || false
// this.dataForm.id = id || ''
// if (!this.isPage) {
// this.dataForm.areaId = this.areaId
// }
// this.areaArr.splice(0, this.areaArr.length)
// const params = {
// current: 1,
// size: 500
// }
// shelfList(params).then(response => {
// if (response.data.records) {
// this.areaArr = response.data.records
// }
// })
// this.visible = true
// this.$nextTick(() => {
// this.$refs['dataForm'].resetFields()
// if (this.dataForm.id) {
// shelfDetail(this.dataForm.id).then(res => {
// this.dataForm = res.data
// })
// } else {
// shelfCode().then(res => {
// this.dataForm.code = res.data
// })
// }
// })
// },
init(id) {
this.dataForm.id = id || ''
if (!this.isPage) {
this.dataForm.areaId = this.areaId
}
this.areaArr.splice(0, this.areaArr.length)
const params = {
current: 1,
size: 500
}
shelfList(params).then(response => {
if (response.data.records) {
this.areaArr = response.data.records
}
})
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
// console.log(this.dataForm)
shelfDetail(this.dataForm.id).then(res => {
// console.log(res)
this.dataForm = res.data
})
} else {
this.dataForm.shelfName = ''
shelfCode().then(res => {
this.dataForm.code = res.data
})
}
})
// console.log(this.dataForm)
},
// getClose() {
// this.dataForm.shelfName = ''
// console.log(this.dataForm)
// },
//
dataFormSubmit() {
this.$refs['dataForm'].validate((valid) => {
@ -136,7 +160,7 @@ export default {
})
} else {
shelfAdd(data).then(res => {
console.log(res)
// console.log(res)
this.$message({
message: this.$t('module.basicData.visual.success'),
type: 'success',

View File

@ -1,8 +1,8 @@
<!--
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: zwq
* @LastEditTime: 2022-01-11 16:45:30
* @LastEditors: fzq
* @LastEditTime: 2022-03-09 16:53:31
* @Description:
-->
<template>
@ -52,7 +52,7 @@ export default {
id: 0,
storageBoxName: '',
code: '',
status: 0,
status: '',
enName: '',
note: ''
},

View File

@ -2,17 +2,17 @@
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: fzq
* @LastEditTime: 2022-03-04 19:00:14
* @LastEditTime: 2022-03-10 20:18:52
* @Description:
-->
<template>
<div class="app-container">
<!-- <head-form
<head-form
:placeholder-name="placeholderName"
:key-name="keyName"
@getDataList="getList"
@add="addNew"
/> -->
/>
<base-table
:page="listQuery.current"
:limit="listQuery.size"
@ -39,7 +39,7 @@
</template>
<script>import i18n from '@/lang'
// import HeadForm from '@/components/basicData/HeadForm'
import HeadForm from '@/components/basicData/HeadForm'
import BaseTable from '@/components/BaseTable'
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
@ -108,7 +108,7 @@ const tableProps = [
export default {
name: 'Area',
components: { Pagination, BaseTable, MethodBtn, shelfAttrAdd },
components: { Pagination, BaseTable, MethodBtn, HeadForm, shelfAttrAdd },
filters: {
statusFilter(status) {
const statusMap = {
@ -122,7 +122,7 @@ export default {
data() {
return {
addOrUpdateVisible: false,
keyName: i18n.t('module.basicData.visual.keyword'),
keyName: this.$t('module.basicData.cache.ShelfName'),
placeholderName: this.$t('module.basicData.cache.ShelfName'),
tableBtn,
trueWidth: 200,
@ -178,9 +178,9 @@ export default {
getList(key) {
this.listLoading = true
this.listQuery.shelfName = key
console.log(this.listQuery)
// console.log(this.listQuery)
shelfList(this.listQuery).then(response => {
// console.log(response)
console.log(response)
if (response.data.records) {
this.list = response.data.records
this.list.forEach(item => {

View File

@ -1,8 +1,8 @@
<!--
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: zwq
* @LastEditTime: 2022-01-11 16:46:48
* @LastEditors: fzq
* @LastEditTime: 2022-03-10 10:55:34
* @Description:
-->
<template>
@ -81,13 +81,13 @@ const tableProps = [
align: 'center'
},
{
prop: 'storageBoxName',
label: i18n.t('module.basicData.storageBox.name'),
prop: 'code',
label: i18n.t('module.basicData.storageBox.code'),
align: 'center'
},
{
prop: 'code',
label: i18n.t('module.basicData.storageBox.code'),
prop: 'storageBoxName',
label: i18n.t('module.basicData.storageBox.name'),
align: 'center'
},
{
@ -124,8 +124,8 @@ export default {
data() {
return {
addOrUpdateVisible: false,
keyName: i18n.t('module.basicData.visual.keyword'),
placeholderName: this.$t('module.basicData.storageBox.name') + this.$t('module.basicData.visual.Or') + this.$t('module.basicData.storageBox.code'),
keyName: this.$t('module.basicData.storageBox.name'),
placeholderName: this.$t('module.basicData.storageBox.name'),
tableBtn,
trueWidth: 200,
tableProps,

View File

@ -54,8 +54,18 @@
/>
</el-select>
</el-form-item> -->
<el-form-item :label="$t('module.basicData.equipment.EquipmentType')" prop="equipmentType">
<!-- <el-form-item :label="$t('module.basicData.equipment.EquipmentType')" prop="equipmentType">
<el-input v-model="dataForm.equipmentType" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.equipment.EquipmentType')])" clearable :style="{width: '100%'}" />
</el-form-item> -->
<el-form-item :label="$t('module.basicData.equipment.EquipmentType')" prop="EquipmentType">
<el-select v-model="dataForm.equipmentType" :placeholder="dataForm.equipmentType">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
@ -412,6 +422,16 @@ export default {
maintenanceTime: '',
maintenanceCycle: ''
},
options: [
{
value: '1',
label: this.$t('module.basicData.cache.logisticsEquipment')
},
{
value: '2',
label: this.$t('module.basicData.cache.processEquipment')
}
],
rules: {
name: [{
required: true,
@ -422,11 +442,6 @@ export default {
required: true,
message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.equipment.EquipmentCode')]),
trigger: 'blur'
}],
equipmentType: [{
required: true,
message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.equipment.EquipmentType')]),
trigger: 'change'
}]
// maintenanceCycle: [{
// required: true,
@ -496,6 +511,7 @@ export default {
this.listLoading = true
equipmentInfoDetail(this.listQuery.equipmentId).then(res => {
this.dataForm = res.data
console.log(this.dataForm)
})
equipmentInfoAttrList(this.listQuery).then(response => {
if (response.data.records) {
@ -514,9 +530,9 @@ export default {
},
getList() {
this.listLoading = true
console.log(this.listQuery)
// console.log(this.listQuery)
equipmentInfoAttrList(this.listQuery).then(response => {
console.log(response)
// console.log(response)
if (response.data.records) {
this.list = response.data.records
} else {
@ -549,13 +565,14 @@ export default {
},
//
dataFormSubmit() {
console.log(this.dataForm)
console.log(this.dataForm.eInfo)
// console.log(this.dataForm)
// console.log(this.dataForm.eInfo)
this.$refs['dataForm'].validate((valid) => {
if (valid) {
const data = this.dataForm
data.id = this.listQuery.equipmentId
if (this.listQuery.equipmentId) {
// console.log(data)
equipmentInfoUpdate(data).then(res => {
this.$message({
message: this.$t('module.basicData.visual.success'),
@ -621,9 +638,9 @@ export default {
'fileUrl': res.data[0].fileUrl,
'typeCode': this.typeCode.typeCode
}
console.log(data)
// console.log(data)
equipmentInfoFileAdd(data).then(res => {
console.log(res)
// console.log(res)
})
},
downloadFile(id) {

View File

@ -2,7 +2,7 @@
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: fzq
* @LastEditTime: 2022-03-05 11:01:57
* @LastEditTime: 2022-03-10 15:09:41
* @Description:
-->
<template>
@ -93,7 +93,7 @@ const tableProps = [
align: 'center'
},
{
prop: 'equipmentType',
prop: 'typeName',
label: i18n.t('module.basicData.equipment.EquipmentType'),
align: 'center'
},
@ -130,12 +130,14 @@ export default {
},
data() {
return {
keyName: i18n.t('module.basicData.visual.keyword'),
placeholderName: this.$t('module.basicData.equipment.EquipmentName') + this.$t('module.basicData.visual.Or') + this.$t('module.basicData.equipment.EquipmentCode'),
keyName: this.$t('module.basicData.equipment.EquipmentCode'),
placeholderName: this.$t('module.basicData.equipment.EquipmentCode'),
tableBtn,
trueWidth: 240,
tableProps,
list: [],
list: [{
typeName: ''
}],
total: 0,
listLoading: true,
listQuery: {
@ -180,11 +182,20 @@ export default {
console.log(response)
if (response.data.records) {
this.list = response.data.records
// 12equipmentType
for (var x = 0; x < this.list.length; x++) {
if (this.list[x].equipmentType === '1') {
this.list[x].typeName = this.$t('module.basicData.cache.logisticsEquipment')
} else if (this.list[x].equipmentType === '2') {
this.list[x].typeName = this.$t('module.basicData.cache.processEquipment')
}
}
} else {
this.list.splice(0, this.list.length)
}
this.total = response.data.total
this.listLoading = false
console.log(this.list)
})
},
// /

View File

@ -1,8 +1,8 @@
<!--
* @Author: zwq
* @Date: 2020-12-29 15:41:11
* @LastEditors: zwq
* @LastEditTime: 2021-05-21 14:41:36
* @LastEditors: fzq
* @LastEditTime: 2022-03-10 13:43:01
* @Description:
-->
<template>
@ -127,11 +127,6 @@ const tableProps = [
label: i18n.t('module.basicData.staff.Wechat'),
align: 'center'
},
{
prop: 'majorArr',
label: i18n.t('module.basicData.staff.Profession'),
align: 'center'
},
{
prop: 'workshop',
label: i18n.t('module.basicData.staff.Workshop'),

View File

@ -4,32 +4,65 @@
* @Author: fzq
* @Date: 2022-03-04 11:12:42
* @LastEditors: fzq
* @LastEditTime: 2022-03-06 19:17:36
* @LastEditTime: 2022-03-09 16:12:04
-->
<template>
<el-dialog
:title="!dataForm.locationId ? 'btn.add' : 'btn.edit' | i18nFilter"
:title="!dataForm.id ? 'btn.add' : 'btn.edit' | i18nFilter"
:visible.sync="visible"
>
<el-form ref="dataForm" :model="dataForm" label-width="130px" @keyup.enter.native="dataFormSubmit()">
<el-form-item :label="$t('module.basicData.processLocation.sequence')" prop="sequence">
<el-input v-model="dataForm.sequence" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.sequence')])" clearable />
</el-form-item>
<el-form-item :label="$t('module.basicData.processLocation.workSequenId')" prop="workSequenId">
<el-input v-model="dataForm.workSequenId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.workSequenId')])" clearable />
</el-form-item>
<!-- <el-form-item :label="$t('module.basicData.processLocation.locationName')" prop="locationName">
<el-input v-model="dataForm.locationId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.locationName')])" clearable />
</el-form-item> -->
<el-form-item :label="$t('module.basicData.processLocation.locationName')" prop="locationName">
<el-input v-model="dataForm.locationName" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.locationName')])" clearable />
<el-select v-model="dataForm.locationName" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.locationName')])">
<el-option
v-for="item in dataForm"
:key="item.locationName"
:label="item.locationName"
:value="item.locationName"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('module.basicData.processLocation.locationId')" prop="locationId">
<el-input v-model="dataForm.locationId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.locationId')])" clearable />
<el-form-item :label="$t('module.basicData.processLocation.portAttrId')" prop="portAttrId">
<el-input v-model="dataForm.portAttrId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.portAttrId')])" clearable />
</el-form-item>
<el-form-item :label="$t('module.basicData.processLocation.isProcess')" prop="isProcess">
<!-- <el-form-item :label="$t('module.basicData.processLocation.isProcess')" prop="isProcess">
<el-input v-model="dataForm.isProcess" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.isProcess')])" clearable />
</el-form-item> -->
<el-form-item :label="$t('module.basicData.processLocation.isProcess')" prop="isProcess">
<el-select v-model="dataForm.isProcess" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.isProcess')])">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item :label="$t('module.basicData.processLocation.equipmentMark')" prop="equipmentMark">
<el-input v-model="dataForm.equipmentMark" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.equipmentMark')])" clearable />
</el-form-item>
<el-form-item :label="$t('module.basicData.processLocation.sequence')" prop="sequence">
<el-input v-model="dataForm.sequence" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.sequence')])" clearable />
</el-form-item>
<!-- <el-form-item :label="$t('module.basicData.processLocation.goodsShelves')" prop="goodsShelves">
<el-input v-model="dataForm.goodsShelves" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.goodsShelves')])" clearable />
</el-form-item> -->
<el-form-item :label="$t('module.basicData.processLocation.goodsShelves')" prop="goodsShelves">
<el-select v-model="dataForm.goodsShelves" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.goodsShelves')])">
<el-option
v-for="item in options2"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button>
@ -39,40 +72,88 @@
</template>
<script>
import { detail, update, add } from '@/api/basicData/Cache/processLocation'
import { detail, update, add, locationList } from '@/api/basicData/Cache/processLocation'
export default {
data() {
return {
visible: false,
dataForm: {
id: 0,
sequence: '',
locationName: '',
isProcess: '',
equipmentMark: ''
},
listQuery: {
current: 1,
size: 10,
locationId: '',
workSequenId: '',
locationId: '',
portAttrId: '',
isProcess: '',
equipmentMark: '',
sequence: '',
goodsShelves: '',
locationName: ''
},
options: [
{
value: 0,
label: this.$t('module.basicData.processLocation.CacheLocation')
},
{
value: 1,
label: this.$t('module.basicData.processLocation.ProcessLocation')
}
],
options2: [
{
value: 0,
label: this.$t('module.basicData.processLocation.aShelf')
},
{
value: 1,
label: this.$t('module.basicData.processLocation.bShelf')
}
],
// options3: [
// {
// value: this.dataForm.locationId,
// label: this.dataForm.locationName
// }
// ],
listQuery: {
id: ''
}
}
},
methods: {
init(LocationId) {
this.listQuery.LocationId = LocationId || ''
init(id) {
this.listQuery.id = id || ''
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.listQuery.LocationId) {
locationList().then(res => {
// console.log(res)
// this.dataForm.locationId = res.data.id'
for (var i = 0; i < res.data.length; i++) {
this.dataForm.locationId = res.data[i].id
this.dataForm.locationName = res.data[i].locationName
}
// console.log(this.dataForm)
})
// portAttrList().then(res => {
// console.log(res)
// })
// workSequenList().then(res => {
// console.log(res)
// })
// console.log(this.listQuery)
if (this.listQuery.id) {
// list(this.listQuery).then(res =>{
// this.list = response.data.records
// })
detail(this.dataForm.id).then(res => {
this.dataForm = res.data
detail(this.listQuery.id).then(res => {
this.dataForm.equipmentMark = res.data.equipmentMark
this.dataForm.goodsShelves = res.data.goodsShelves
this.dataForm.id = res.data.id
this.dataForm.isProcess = res.data.isProcess
this.dataForm.portAttrId = res.data.portAttrId
this.dataForm.sequence = res.data.sequence
this.dataForm.workSequenId = res.data.workSequenId
console.log(this.dataForm)
})
} else {
// storageBoxCode().then(res => {

View File

@ -4,7 +4,7 @@
* @Author: fzq
* @Date: 2022-03-03 09:51:25
* @LastEditors: fzq
* @LastEditTime: 2022-03-06 19:15:25
* @LastEditTime: 2022-03-08 16:56:40
-->
<template>
<div class="app-container">
@ -35,7 +35,7 @@
:limit.sync="listQuery.size"
@pagination="getList()"
/>
<processInfo-add v-if="addOrUpdateVisible" ref="addOrUpdate" :cache-id="listQuery.cacheId" @refreshDataList="getList" />
<processInfo-add v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getList" />
</div>
</template>
@ -46,7 +46,6 @@ import processInfoAdd from './components/processInfo-add'
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
import { list, locaDelete } from '@/api/basicData/Cache/processLocation'
import { timeFormatter } from '@/filters'
/**
* 表格表头配置项 TypeScript接口注释
* tableConfig<ConfigItem> = []
@ -75,24 +74,8 @@ const tableBtn = [
]
const tableProps = [
{
prop: 'createTime',
label: i18n.t('module.basicData.factory.createTime'),
filter: timeFormatter,
align: 'center'
},
{
prop: 'sequence',
label: i18n.t('module.basicData.processLocation.sequence'),
align: 'center'
},
{
prop: 'locationName',
label: i18n.t('module.basicData.processLocation.locationName'),
align: 'center'
},
{
prop: 'isProcess',
label: i18n.t('module.basicData.processLocation.isProcess'),
prop: 'workSequenId',
label: i18n.t('module.basicData.processLocation.workSequenId'),
align: 'center'
},
{
@ -101,14 +84,34 @@ const tableProps = [
align: 'center'
},
{
prop: 'workSequenId',
label: i18n.t('module.basicData.processLocation.workSequenId'),
prop: 'portAttrId',
label: i18n.t('module.basicData.processLocation.portAttrId'),
align: 'center'
},
{
prop: 'isProcess',
label: i18n.t('module.basicData.processLocation.isProcess'),
align: 'center'
},
{
prop: 'equipmentMark',
label: i18n.t('module.basicData.processLocation.equipmentMark'),
align: 'center'
},
{
prop: 'sequence',
label: i18n.t('module.basicData.processLocation.sequence'),
align: 'center'
},
{
prop: 'goodsShelves',
label: i18n.t('module.basicData.processLocation.goodsShelves'),
align: 'center'
},
{
prop: 'locationName',
label: i18n.t('module.basicData.processLocation.locationName'),
align: 'center'
}
]
@ -152,12 +155,11 @@ export default {
methods: {
handleClick(raw) {
if (raw.type === 'delete') {
this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.locationName}]?`, this.$t('module.basicData.visual.Tips'), {
this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.id}]?`, this.$t('module.basicData.visual.Tips'), {
confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'),
cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'),
type: 'warning'
}).then(() => {
console.log(raw.data)
locaDelete(raw.data.id).then(response => {
this.$message({
message: this.$t('module.basicData.visual.success'),
@ -170,9 +172,9 @@ export default {
})
}).catch(() => {})
} else if (raw.type === 'edit') {
this.addNew(raw.data.locationId)
this.addNew(raw.data.id)
} else {
this.addNew(raw.data.locationId, true)
this.addNew(raw.data.id, true)
}
},
getList(key) {
@ -185,7 +187,7 @@ export default {
this.list.splice(0, this.list.length)
}
this.total = response.data.total
console.log(response)
// console.log(response)
this.listLoading = false
})
},

View File

@ -1,8 +1,8 @@
<!--
* @Author: zwq
* @Date: 2020-12-29 16:37:56
* @LastEditors: zwq
* @LastEditTime: 2022-01-17 11:21:26
* @LastEditors: fzq
* @LastEditTime: 2022-03-10 18:44:36
* @Description:
-->
<template>

View File

@ -4,7 +4,7 @@
* @Author: fzq
* @Date: 2022-03-04 20:54:54
* @LastEditors: fzq
* @LastEditTime: 2022-03-06 19:32:34
* @LastEditTime: 2022-03-07 09:46:36
-->
<template>
<div class="app-container">
@ -195,7 +195,22 @@ export default {
this.listQuery.code = key
// console.log(this.listQuery)
download(this.listQuery).then(res => {
console.log(res)
let fileName = ''
const contentDisposition = res.headers['content-disposition']
if (contentDisposition) {
fileName = contentDisposition.slice(contentDisposition.indexOf('filename=') + 9)
}
const blob = new Blob([res.data])
const reader = new FileReader()
reader.readAsDataURL(blob)
reader.onload = (e) => {
const a = document.createElement('a')
a.download = fileName
a.href = e.target.result
document.body.appendChild(a)
a.click()
document.body.removeChild(a)
}
// const fileName = `${+new Date()}.xlsx`
// const blob = new Blob([res], { type: 'application/vnd.ms-excel;charset=utf-8' })
// if (navigator.msSaveBlob) {

View File

@ -4,7 +4,7 @@
* @Author: fzq
* @Date: 2022-03-06 17:06:51
* @LastEditors: fzq
* @LastEditTime: 2022-03-06 17:10:16
* @LastEditTime: 2022-03-07 10:35:29
-->
<template>
<el-form :inline="true" @keyup.enter.native="getDataList()">
@ -14,7 +14,7 @@
<el-form-item>
<el-button type="primary" @click="getDataList()">{{ 'btn.search' | i18nFilter }}</el-button>
<el-button v-if="showAdd" type="primary" @click="add()">{{ 'btn.add' | i18nFilter }}</el-button>
<el-button type="success" @click="downl()">{{ '导出' | i18nFilter }}</el-button>
<el-button type="success" @click="downl()">{{ 'btn.export' | i18nFilter }}</el-button>
</el-form-item>
</el-form>
</template>

View File

@ -4,7 +4,7 @@
* @Author: fzq
* @Date: 2022-03-05 17:45:46
* @LastEditors: fzq
* @LastEditTime: 2022-03-06 16:46:54
* @LastEditTime: 2022-03-07 09:19:34
-->
<template>
<!-- <el-dialog
@ -112,6 +112,7 @@ export default {
this.dataForm.storageBoxId = this.$route.query.id
this.dataForm.storageCode = this.$route.query.code
this.visible = true
// console.log(this.dataForm)
listSubstrate(this.dataForm).then(res => {
console.log(res.data[0])
this.dataForm.id = res.data[0].id

View File

@ -4,7 +4,7 @@
* @Author: fzq
* @Date: 2022-03-05 15:55:45
* @LastEditors: fzq
* @LastEditTime: 2022-03-05 19:44:47
* @LastEditTime: 2022-03-07 09:28:21
-->
<template>
<div class="app-container">
@ -112,12 +112,14 @@ export default {
listQuery: {
current: 1,
size: 10,
substrateCode: ''
storageBoxCode: '',
storageBoxId: ''
}
}
},
created() {
this.listQuery.substrateCode = this.$route.query.code
this.listQuery.storageBoxCode = this.$route.query.code
this.listQuery.storageBoxId = this.$route.query.id
this.getList()
},
methods: {
@ -150,6 +152,7 @@ export default {
this.listQuery.code = this.$route.query.code
console.log(this.listQuery)
listSubstrate(this.listQuery).then(response => {
console.log(response)
if (response.data) {
this.list = response.data
console.log(this.list)