Merge pull request 'fzq' (#50) from fzq into develop
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: #50
This commit is contained in:
commit
cf1e32049c
@ -4,7 +4,7 @@
|
|||||||
* @Author: fzq
|
* @Author: fzq
|
||||||
* @Date: 2022-03-06 18:13:49
|
* @Date: 2022-03-06 18:13:49
|
||||||
* @LastEditors: fzq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2022-03-06 18:29:43
|
* @LastEditTime: 2022-03-09 10:44:04
|
||||||
*/
|
*/
|
||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
|
||||||
@ -46,3 +46,27 @@ export function locaDelete(id) { // 删除工序库位信息单条数据
|
|||||||
data: { 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
|
||||||
|
})
|
||||||
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: gtz
|
* @Author: gtz
|
||||||
* @Date: 2021-03-07 18:39:03
|
* @Date: 2021-03-07 18:39:03
|
||||||
* @LastEditors: fzq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2022-03-06 19:27:01
|
* @LastEditTime: 2022-03-08 15:31:13
|
||||||
* @Description: file content
|
* @Description: file content
|
||||||
*/
|
*/
|
||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
@ -28,7 +28,8 @@ export function download(data) {
|
|||||||
url: '/api/report/report-storage-box/excel-download',
|
url: '/api/report/report-storage-box/excel-download',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
data,
|
data,
|
||||||
'responseType': 'arraybuffer'
|
responseType: 'blob',
|
||||||
|
timeout: 60000
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,6 +68,10 @@ export default {
|
|||||||
zh: '返回',
|
zh: '返回',
|
||||||
en: 'Back'
|
en: 'Back'
|
||||||
},
|
},
|
||||||
|
export: {
|
||||||
|
zh: '导出',
|
||||||
|
en: 'Export'
|
||||||
|
},
|
||||||
checkLog: {
|
checkLog: {
|
||||||
zh: '查看日志',
|
zh: '查看日志',
|
||||||
en: 'Check Log'
|
en: 'Check Log'
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
* @Author: gtz
|
* @Author: gtz
|
||||||
* @Date: 2021-03-04 16:19:14
|
* @Date: 2021-03-04 16:19:14
|
||||||
* @LastEditors: Please set LastEditors
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2021-07-13 20:32:02
|
* @LastEditTime: 2022-03-08 15:48:54
|
||||||
* @Description: file content
|
* @Description: file content
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -90,5 +90,9 @@ export default {
|
|||||||
download: {
|
download: {
|
||||||
zh: '下载',
|
zh: '下载',
|
||||||
en: 'download'
|
en: 'download'
|
||||||
|
},
|
||||||
|
export: {
|
||||||
|
zh: '导出',
|
||||||
|
en: 'export'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,13 @@
|
|||||||
/*
|
/*
|
||||||
* @Author: gtz
|
* @Author: gtz
|
||||||
* @Date: 2021-03-04 16:13:51
|
* @Date: 2021-03-04 16:13:51
|
||||||
|
<<<<<<< HEAD
|
||||||
|
* @LastEditors: fzq
|
||||||
|
* @LastEditTime: 2022-03-10 14:05:21
|
||||||
|
=======
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2022-03-09 16:34:56
|
* @LastEditTime: 2022-03-09 16:34:56
|
||||||
|
>>>>>>> develop
|
||||||
* @Description: file content
|
* @Description: file content
|
||||||
*/
|
*/
|
||||||
export default {
|
export default {
|
||||||
@ -127,6 +132,20 @@ export default {
|
|||||||
AlarmTypeCode: 'Alarm Type Code',
|
AlarmTypeCode: 'Alarm Type Code',
|
||||||
LevelCode: 'Level 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: {
|
cache: {
|
||||||
CacheCode: 'Ports Code',
|
CacheCode: 'Ports Code',
|
||||||
CacheName: 'Ports Name',
|
CacheName: 'Ports Name',
|
||||||
@ -148,7 +167,10 @@ export default {
|
|||||||
LocationName: 'Location Name',
|
LocationName: 'Location Name',
|
||||||
anotherName: 'Another Name',
|
anotherName: 'Another Name',
|
||||||
place: 'Place',
|
place: 'Place',
|
||||||
addCacheArea: 'add Ports Shelf'
|
addCacheArea: 'add Ports Shelf',
|
||||||
|
warning: 'Layers and Columns must be integer!',
|
||||||
|
logisticsEquipment: 'Logistics Equipment',
|
||||||
|
processEquipment: 'Process Equipment'
|
||||||
},
|
},
|
||||||
storageBox: {
|
storageBox: {
|
||||||
name: 'Name',
|
name: 'Name',
|
||||||
|
@ -1,8 +1,14 @@
|
|||||||
/*
|
/*
|
||||||
* @Author: gtz
|
* @Author: gtz
|
||||||
* @Date: 2021-03-04 16:13:51
|
* @Date: 2021-03-04 16:13:51
|
||||||
|
<<<<<<< HEAD
|
||||||
|
* @LastEditors: fzq
|
||||||
|
* @LastEditTime: 2022-03-10 14:05:01
|
||||||
|
* @Description: file content
|
||||||
|
=======
|
||||||
* @LastEditors: zwq
|
* @LastEditors: zwq
|
||||||
* @LastEditTime: 2022-03-09 16:34:50
|
* @LastEditTime: 2022-03-09 16:34:50
|
||||||
|
>>>>>>> develop
|
||||||
*/
|
*/
|
||||||
export default {
|
export default {
|
||||||
visual: {
|
visual: {
|
||||||
@ -152,7 +158,10 @@ export default {
|
|||||||
place: '位置',
|
place: '位置',
|
||||||
addCacheArea: '添加货架',
|
addCacheArea: '添加货架',
|
||||||
addLocation: '添加库位',
|
addLocation: '添加库位',
|
||||||
status: '状态'
|
status: '状态',
|
||||||
|
warning: '行列标必须为整数!',
|
||||||
|
logisticsEquipment: '物流设备',
|
||||||
|
processEquipment: '工艺设备'
|
||||||
},
|
},
|
||||||
storageBox: {
|
storageBox: {
|
||||||
name: '存储箱名称',
|
name: '存储箱名称',
|
||||||
@ -249,10 +258,16 @@ export default {
|
|||||||
processLocation: {
|
processLocation: {
|
||||||
sequence: '顺序',
|
sequence: '顺序',
|
||||||
locationName: '库位名',
|
locationName: '库位名',
|
||||||
isProcess: '是否为工序准备箱',
|
isProcess: '库位类型',
|
||||||
locationId: '库位ID',
|
locationId: '库位ID',
|
||||||
workSequenId: '工序ID',
|
workSequenId: '工序ID',
|
||||||
equipmentMark: '设备标记'
|
equipmentMark: '设备标记',
|
||||||
|
portAttrId: '库位属性ID',
|
||||||
|
goodsShelves: '货架',
|
||||||
|
CacheLocation: '缓存区库位',
|
||||||
|
ProcessLocation: '工序库位',
|
||||||
|
aShelf: 'a货架',
|
||||||
|
bShelf: 'b货架'
|
||||||
},
|
},
|
||||||
productPool: {
|
productPool: {
|
||||||
productName: '产品名称',
|
productName: '产品名称',
|
||||||
|
@ -159,6 +159,7 @@ export const constantRoutes = [
|
|||||||
path: 'processInfo',
|
path: 'processInfo',
|
||||||
component: () => import('@/views/basicData/Process/processInfo'),
|
component: () => import('@/views/basicData/Process/processInfo'),
|
||||||
name: '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 }
|
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',
|
path: 'currentSubstrate',
|
||||||
component: () => import('@/views/report-manage/CurrentSubstrate'),
|
component: () => import('@/views/report-manage/CurrentSubstrate'),
|
||||||
name: 'currentSubstrate',
|
name: 'currentSubstrate',
|
||||||
|
hidden: true,
|
||||||
meta: { title: routerTitle.form.currentSubstrate?.[language] || routerTitle.form.currentSubstrate.en, icon: 'form', affix: true, required: true, requireToken: true }
|
meta: { title: routerTitle.form.currentSubstrate?.[language] || routerTitle.form.currentSubstrate.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 15:41:11
|
* @Date: 2020-12-29 15:41:11
|
||||||
* @LastEditors: fzq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2022-03-04 19:08:00
|
* @LastEditTime: 2022-03-10 21:00:58
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -17,7 +17,9 @@
|
|||||||
@getDataList="getList"
|
@getDataList="getList"
|
||||||
@add="addNew"
|
@add="addNew"
|
||||||
/>
|
/>
|
||||||
<el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button>
|
<div style="title">货架编码:{{ shCode }} 货架名称:{{ shName }} 库存量:{{ num }}
|
||||||
|
<el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button>
|
||||||
|
</div>
|
||||||
<base-table
|
<base-table
|
||||||
:page="listQuery.current"
|
:page="listQuery.current"
|
||||||
:limit="listQuery.size"
|
:limit="listQuery.size"
|
||||||
@ -106,7 +108,7 @@ const tableProps = [
|
|||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'status',
|
prop: 'statusName',
|
||||||
label: i18n.t('module.basicData.cache.status'),
|
label: i18n.t('module.basicData.cache.status'),
|
||||||
align: 'center'
|
align: 'center'
|
||||||
}
|
}
|
||||||
@ -127,13 +129,18 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
shCode: '',
|
||||||
|
shName: '',
|
||||||
|
num: 0,
|
||||||
addOrUpdateVisible: false,
|
addOrUpdateVisible: false,
|
||||||
keyNameAdd: i18n.t('module.basicData.visual.keyword'),
|
keyNameAdd: i18n.t('module.basicData.visual.keyword'),
|
||||||
placeholderName: this.$t('module.basicData.cache.LocationName'),
|
placeholderName: this.$t('module.basicData.cache.LocationName'),
|
||||||
tableBtn,
|
tableBtn,
|
||||||
trueWidth: 200,
|
trueWidth: 200,
|
||||||
tableProps,
|
tableProps,
|
||||||
list: [],
|
list: [{
|
||||||
|
statusName: ''
|
||||||
|
}],
|
||||||
listLoading: true,
|
listLoading: true,
|
||||||
listQuery: {
|
listQuery: {
|
||||||
current: 1,
|
current: 1,
|
||||||
@ -145,6 +152,9 @@ export default {
|
|||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.listQuery.shelfId = this.$route.query.id
|
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()
|
this.getList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@ -180,6 +190,16 @@ export default {
|
|||||||
if (response.data.records) {
|
if (response.data.records) {
|
||||||
this.list = response.data.records
|
this.list = response.data.records
|
||||||
console.log(this.list)
|
console.log(this.list)
|
||||||
|
// 1是Working Port,2是Buffer Port,3是Exception Port与status进行替换
|
||||||
|
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 {
|
} else {
|
||||||
this.list.splice(0, this.list.length)
|
this.list.splice(0, this.list.length)
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 16:37:56
|
* @Date: 2020-12-29 16:37:56
|
||||||
* @LastEditors: fzq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2022-03-04 18:59:53
|
* @LastEditTime: 2022-03-10 21:14:13
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -29,8 +29,18 @@
|
|||||||
<el-form-item :label="$t('module.basicData.cache.locationType')" prop="locationType">
|
<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-input v-model="dataForm.locationType" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.locationType')])" clearable />
|
||||||
</el-form-item>
|
</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-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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
@ -61,11 +71,25 @@ export default {
|
|||||||
code: '',
|
code: '',
|
||||||
locationNameAlias: '',
|
locationNameAlias: '',
|
||||||
rowNum: '',
|
rowNum: '',
|
||||||
columns: '',
|
columns: 0,
|
||||||
layers: '',
|
layers: 0,
|
||||||
status: '',
|
status: null,
|
||||||
locationType: ''
|
locationType: ''
|
||||||
},
|
},
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
value: 1,
|
||||||
|
label: 'Working Port'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 2,
|
||||||
|
label: 'Buffer Port'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: 3,
|
||||||
|
label: 'Exception Port'
|
||||||
|
}
|
||||||
|
],
|
||||||
dataRule: {
|
dataRule: {
|
||||||
name: [
|
name: [
|
||||||
{ required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.cache.LocationName')]), trigger: 'blur' }
|
{ required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.cache.LocationName')]), trigger: 'blur' }
|
||||||
@ -73,6 +97,16 @@ export default {
|
|||||||
code: [
|
code: [
|
||||||
{ required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.cache.LocationCode')]), trigger: 'blur' }
|
{ 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) {
|
if (this.dataForm.id) {
|
||||||
locationDetail(this.dataForm.id).then(res => {
|
locationDetail(this.dataForm.id).then(res => {
|
||||||
this.dataForm = res.data
|
this.dataForm = res.data
|
||||||
|
console.log(this.dataForm)
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
locationCode().then(res => {
|
locationCode().then(res => {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Date: 2021-01-07 20:09:37
|
* @Date: 2021-01-07 20:09:37
|
||||||
* @LastEditors: fzq
|
* @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
|
* @FilePath: \basic-admin\src\components\BaseTable\subcomponents\CheckDetail.vue
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
@ -24,7 +24,10 @@ export default {
|
|||||||
this.$router.push({
|
this.$router.push({
|
||||||
name: 'locationAdd',
|
name: 'locationAdd',
|
||||||
query: {
|
query: {
|
||||||
id: this.injectData.id
|
id: this.injectData.id,
|
||||||
|
code: this.injectData.code,
|
||||||
|
columnNum: this.injectData.columnNum,
|
||||||
|
shelfName: this.injectData.shelfName
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 15:41:11
|
* @Date: 2020-12-29 15:41:11
|
||||||
* @LastEditors: zwq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2021-03-11 09:22:52
|
* @LastEditTime: 2022-03-10 19:20:22
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -25,7 +25,7 @@
|
|||||||
@clickBtn="handleClick"
|
@clickBtn="handleClick"
|
||||||
/>
|
/>
|
||||||
</base-table>
|
</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>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -163,7 +163,7 @@ export default {
|
|||||||
addNew(id) {
|
addNew(id) {
|
||||||
this.addOrUpdateVisible = true
|
this.addOrUpdateVisible = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs.addOrUpdate.init(id)
|
this.$refs.addOrUpdate.init(id, true)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
goback() {
|
goback() {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 16:37:56
|
* @Date: 2020-12-29 16:37:56
|
||||||
* @LastEditors: fzq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2022-03-03 19:00:08
|
* @LastEditTime: 2022-03-10 19:38:31
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -47,7 +47,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { shelfList, shelfDetail, shelfUpdate, shelfAdd, shelfCode } from '@/api/basicData/Cache/shelf'
|
import { shelfDetail, shelfUpdate, shelfAdd, shelfCode } from '@/api/basicData/Cache/shelf'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: {
|
props: {
|
||||||
@ -86,36 +86,60 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
init(id, isPage) {
|
// init(id, isPage) {
|
||||||
this.isPage = isPage || false
|
// 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 || ''
|
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.visible = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs['dataForm'].resetFields()
|
this.$refs['dataForm'].resetFields()
|
||||||
if (this.dataForm.id) {
|
if (this.dataForm.id) {
|
||||||
|
// console.log(this.dataForm)
|
||||||
shelfDetail(this.dataForm.id).then(res => {
|
shelfDetail(this.dataForm.id).then(res => {
|
||||||
|
// console.log(res)
|
||||||
this.dataForm = res.data
|
this.dataForm = res.data
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
|
this.dataForm.shelfName = ''
|
||||||
shelfCode().then(res => {
|
shelfCode().then(res => {
|
||||||
this.dataForm.code = res.data
|
this.dataForm.code = res.data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
// console.log(this.dataForm)
|
||||||
},
|
},
|
||||||
|
// getClose() {
|
||||||
|
// this.dataForm.shelfName = ''
|
||||||
|
// console.log(this.dataForm)
|
||||||
|
// },
|
||||||
// 表单提交
|
// 表单提交
|
||||||
dataFormSubmit() {
|
dataFormSubmit() {
|
||||||
this.$refs['dataForm'].validate((valid) => {
|
this.$refs['dataForm'].validate((valid) => {
|
||||||
@ -136,7 +160,7 @@ export default {
|
|||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
shelfAdd(data).then(res => {
|
shelfAdd(data).then(res => {
|
||||||
console.log(res)
|
// console.log(res)
|
||||||
this.$message({
|
this.$message({
|
||||||
message: this.$t('module.basicData.visual.success'),
|
message: this.$t('module.basicData.visual.success'),
|
||||||
type: 'success',
|
type: 'success',
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 16:37:56
|
* @Date: 2020-12-29 16:37:56
|
||||||
* @LastEditors: zwq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2022-01-11 16:45:30
|
* @LastEditTime: 2022-03-09 16:53:31
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -52,7 +52,7 @@ export default {
|
|||||||
id: 0,
|
id: 0,
|
||||||
storageBoxName: '',
|
storageBoxName: '',
|
||||||
code: '',
|
code: '',
|
||||||
status: 0,
|
status: '',
|
||||||
enName: '',
|
enName: '',
|
||||||
note: ''
|
note: ''
|
||||||
},
|
},
|
||||||
|
@ -2,17 +2,17 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 15:41:11
|
* @Date: 2020-12-29 15:41:11
|
||||||
* @LastEditors: fzq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2022-03-04 19:00:14
|
* @LastEditTime: 2022-03-10 20:18:52
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<!-- <head-form
|
<head-form
|
||||||
:placeholder-name="placeholderName"
|
:placeholder-name="placeholderName"
|
||||||
:key-name="keyName"
|
:key-name="keyName"
|
||||||
@getDataList="getList"
|
@getDataList="getList"
|
||||||
@add="addNew"
|
@add="addNew"
|
||||||
/> -->
|
/>
|
||||||
<base-table
|
<base-table
|
||||||
:page="listQuery.current"
|
:page="listQuery.current"
|
||||||
:limit="listQuery.size"
|
:limit="listQuery.size"
|
||||||
@ -39,7 +39,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>import i18n from '@/lang'
|
<script>import i18n from '@/lang'
|
||||||
// import HeadForm from '@/components/basicData/HeadForm'
|
import HeadForm from '@/components/basicData/HeadForm'
|
||||||
import BaseTable from '@/components/BaseTable'
|
import BaseTable from '@/components/BaseTable'
|
||||||
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
|
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
|
||||||
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
|
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
|
||||||
@ -108,7 +108,7 @@ const tableProps = [
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Area',
|
name: 'Area',
|
||||||
components: { Pagination, BaseTable, MethodBtn, shelfAttrAdd },
|
components: { Pagination, BaseTable, MethodBtn, HeadForm, shelfAttrAdd },
|
||||||
filters: {
|
filters: {
|
||||||
statusFilter(status) {
|
statusFilter(status) {
|
||||||
const statusMap = {
|
const statusMap = {
|
||||||
@ -122,7 +122,7 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
addOrUpdateVisible: false,
|
addOrUpdateVisible: false,
|
||||||
keyName: i18n.t('module.basicData.visual.keyword'),
|
keyName: this.$t('module.basicData.cache.ShelfName'),
|
||||||
placeholderName: this.$t('module.basicData.cache.ShelfName'),
|
placeholderName: this.$t('module.basicData.cache.ShelfName'),
|
||||||
tableBtn,
|
tableBtn,
|
||||||
trueWidth: 200,
|
trueWidth: 200,
|
||||||
@ -178,9 +178,9 @@ export default {
|
|||||||
getList(key) {
|
getList(key) {
|
||||||
this.listLoading = true
|
this.listLoading = true
|
||||||
this.listQuery.shelfName = key
|
this.listQuery.shelfName = key
|
||||||
console.log(this.listQuery)
|
// console.log(this.listQuery)
|
||||||
shelfList(this.listQuery).then(response => {
|
shelfList(this.listQuery).then(response => {
|
||||||
// console.log(response)
|
console.log(response)
|
||||||
if (response.data.records) {
|
if (response.data.records) {
|
||||||
this.list = response.data.records
|
this.list = response.data.records
|
||||||
this.list.forEach(item => {
|
this.list.forEach(item => {
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 15:41:11
|
* @Date: 2020-12-29 15:41:11
|
||||||
* @LastEditors: zwq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2022-01-11 16:46:48
|
* @LastEditTime: 2022-03-10 10:55:34
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -81,13 +81,13 @@ const tableProps = [
|
|||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'storageBoxName',
|
prop: 'code',
|
||||||
label: i18n.t('module.basicData.storageBox.name'),
|
label: i18n.t('module.basicData.storageBox.code'),
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'code',
|
prop: 'storageBoxName',
|
||||||
label: i18n.t('module.basicData.storageBox.code'),
|
label: i18n.t('module.basicData.storageBox.name'),
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -124,8 +124,8 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
addOrUpdateVisible: false,
|
addOrUpdateVisible: false,
|
||||||
keyName: i18n.t('module.basicData.visual.keyword'),
|
keyName: this.$t('module.basicData.storageBox.name'),
|
||||||
placeholderName: this.$t('module.basicData.storageBox.name') + this.$t('module.basicData.visual.Or') + this.$t('module.basicData.storageBox.code'),
|
placeholderName: this.$t('module.basicData.storageBox.name'),
|
||||||
tableBtn,
|
tableBtn,
|
||||||
trueWidth: 200,
|
trueWidth: 200,
|
||||||
tableProps,
|
tableProps,
|
||||||
|
@ -54,8 +54,18 @@
|
|||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item> -->
|
</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-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-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
@ -412,6 +422,16 @@ export default {
|
|||||||
maintenanceTime: '',
|
maintenanceTime: '',
|
||||||
maintenanceCycle: ''
|
maintenanceCycle: ''
|
||||||
},
|
},
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
value: '1',
|
||||||
|
label: this.$t('module.basicData.cache.logisticsEquipment')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: '2',
|
||||||
|
label: this.$t('module.basicData.cache.processEquipment')
|
||||||
|
}
|
||||||
|
],
|
||||||
rules: {
|
rules: {
|
||||||
name: [{
|
name: [{
|
||||||
required: true,
|
required: true,
|
||||||
@ -422,11 +442,6 @@ export default {
|
|||||||
required: true,
|
required: true,
|
||||||
message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.equipment.EquipmentCode')]),
|
message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.equipment.EquipmentCode')]),
|
||||||
trigger: 'blur'
|
trigger: 'blur'
|
||||||
}],
|
|
||||||
equipmentType: [{
|
|
||||||
required: true,
|
|
||||||
message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.equipment.EquipmentType')]),
|
|
||||||
trigger: 'change'
|
|
||||||
}]
|
}]
|
||||||
// maintenanceCycle: [{
|
// maintenanceCycle: [{
|
||||||
// required: true,
|
// required: true,
|
||||||
@ -496,6 +511,7 @@ export default {
|
|||||||
this.listLoading = true
|
this.listLoading = true
|
||||||
equipmentInfoDetail(this.listQuery.equipmentId).then(res => {
|
equipmentInfoDetail(this.listQuery.equipmentId).then(res => {
|
||||||
this.dataForm = res.data
|
this.dataForm = res.data
|
||||||
|
console.log(this.dataForm)
|
||||||
})
|
})
|
||||||
equipmentInfoAttrList(this.listQuery).then(response => {
|
equipmentInfoAttrList(this.listQuery).then(response => {
|
||||||
if (response.data.records) {
|
if (response.data.records) {
|
||||||
@ -514,9 +530,9 @@ export default {
|
|||||||
},
|
},
|
||||||
getList() {
|
getList() {
|
||||||
this.listLoading = true
|
this.listLoading = true
|
||||||
console.log(this.listQuery)
|
// console.log(this.listQuery)
|
||||||
equipmentInfoAttrList(this.listQuery).then(response => {
|
equipmentInfoAttrList(this.listQuery).then(response => {
|
||||||
console.log(response)
|
// console.log(response)
|
||||||
if (response.data.records) {
|
if (response.data.records) {
|
||||||
this.list = response.data.records
|
this.list = response.data.records
|
||||||
} else {
|
} else {
|
||||||
@ -549,13 +565,14 @@ export default {
|
|||||||
},
|
},
|
||||||
// 表单提交
|
// 表单提交
|
||||||
dataFormSubmit() {
|
dataFormSubmit() {
|
||||||
console.log(this.dataForm)
|
// console.log(this.dataForm)
|
||||||
console.log(this.dataForm.eInfo)
|
// console.log(this.dataForm.eInfo)
|
||||||
this.$refs['dataForm'].validate((valid) => {
|
this.$refs['dataForm'].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
const data = this.dataForm
|
const data = this.dataForm
|
||||||
data.id = this.listQuery.equipmentId
|
data.id = this.listQuery.equipmentId
|
||||||
if (this.listQuery.equipmentId) {
|
if (this.listQuery.equipmentId) {
|
||||||
|
// console.log(data)
|
||||||
equipmentInfoUpdate(data).then(res => {
|
equipmentInfoUpdate(data).then(res => {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: this.$t('module.basicData.visual.success'),
|
message: this.$t('module.basicData.visual.success'),
|
||||||
@ -621,9 +638,9 @@ export default {
|
|||||||
'fileUrl': res.data[0].fileUrl,
|
'fileUrl': res.data[0].fileUrl,
|
||||||
'typeCode': this.typeCode.typeCode
|
'typeCode': this.typeCode.typeCode
|
||||||
}
|
}
|
||||||
console.log(data)
|
// console.log(data)
|
||||||
equipmentInfoFileAdd(data).then(res => {
|
equipmentInfoFileAdd(data).then(res => {
|
||||||
console.log(res)
|
// console.log(res)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
downloadFile(id) {
|
downloadFile(id) {
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 15:41:11
|
* @Date: 2020-12-29 15:41:11
|
||||||
* @LastEditors: fzq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2022-03-05 11:01:57
|
* @LastEditTime: 2022-03-10 15:09:41
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -93,7 +93,7 @@ const tableProps = [
|
|||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'equipmentType',
|
prop: 'typeName',
|
||||||
label: i18n.t('module.basicData.equipment.EquipmentType'),
|
label: i18n.t('module.basicData.equipment.EquipmentType'),
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
@ -130,12 +130,14 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
keyName: i18n.t('module.basicData.visual.keyword'),
|
keyName: this.$t('module.basicData.equipment.EquipmentCode'),
|
||||||
placeholderName: this.$t('module.basicData.equipment.EquipmentName') + this.$t('module.basicData.visual.Or') + this.$t('module.basicData.equipment.EquipmentCode'),
|
placeholderName: this.$t('module.basicData.equipment.EquipmentCode'),
|
||||||
tableBtn,
|
tableBtn,
|
||||||
trueWidth: 240,
|
trueWidth: 240,
|
||||||
tableProps,
|
tableProps,
|
||||||
list: [],
|
list: [{
|
||||||
|
typeName: ''
|
||||||
|
}],
|
||||||
total: 0,
|
total: 0,
|
||||||
listLoading: true,
|
listLoading: true,
|
||||||
listQuery: {
|
listQuery: {
|
||||||
@ -180,11 +182,20 @@ export default {
|
|||||||
console.log(response)
|
console.log(response)
|
||||||
if (response.data.records) {
|
if (response.data.records) {
|
||||||
this.list = response.data.records
|
this.list = response.data.records
|
||||||
|
// 1是物流设备,2是工艺设备,与equipmentType进行替换
|
||||||
|
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 {
|
} else {
|
||||||
this.list.splice(0, this.list.length)
|
this.list.splice(0, this.list.length)
|
||||||
}
|
}
|
||||||
this.total = response.data.total
|
this.total = response.data.total
|
||||||
this.listLoading = false
|
this.listLoading = false
|
||||||
|
console.log(this.list)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 新增 / 修改
|
// 新增 / 修改
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 15:41:11
|
* @Date: 2020-12-29 15:41:11
|
||||||
* @LastEditors: zwq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2021-05-21 14:41:36
|
* @LastEditTime: 2022-03-10 13:43:01
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
@ -127,11 +127,6 @@ const tableProps = [
|
|||||||
label: i18n.t('module.basicData.staff.Wechat'),
|
label: i18n.t('module.basicData.staff.Wechat'),
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
|
||||||
prop: 'majorArr',
|
|
||||||
label: i18n.t('module.basicData.staff.Profession'),
|
|
||||||
align: 'center'
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
prop: 'workshop',
|
prop: 'workshop',
|
||||||
label: i18n.t('module.basicData.staff.Workshop'),
|
label: i18n.t('module.basicData.staff.Workshop'),
|
||||||
|
@ -4,32 +4,65 @@
|
|||||||
* @Author: fzq
|
* @Author: fzq
|
||||||
* @Date: 2022-03-04 11:12:42
|
* @Date: 2022-03-04 11:12:42
|
||||||
* @LastEditors: fzq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2022-03-06 19:17:36
|
* @LastEditTime: 2022-03-09 16:12:04
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
:title="!dataForm.locationId ? 'btn.add' : 'btn.edit' | i18nFilter"
|
:title="!dataForm.id ? 'btn.add' : 'btn.edit' | i18nFilter"
|
||||||
:visible.sync="visible"
|
:visible.sync="visible"
|
||||||
>
|
>
|
||||||
<el-form ref="dataForm" :model="dataForm" label-width="130px" @keyup.enter.native="dataFormSubmit()">
|
<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-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-input v-model="dataForm.workSequenId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.workSequenId')])" clearable />
|
||||||
</el-form-item>
|
</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-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>
|
||||||
<el-form-item :label="$t('module.basicData.processLocation.locationId')" prop="locationId">
|
<el-form-item :label="$t('module.basicData.processLocation.portAttrId')" prop="portAttrId">
|
||||||
<el-input v-model="dataForm.locationId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.locationId')])" clearable />
|
<el-input v-model="dataForm.portAttrId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.portAttrId')])" clearable />
|
||||||
</el-form-item>
|
</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-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>
|
||||||
<el-form-item :label="$t('module.basicData.processLocation.equipmentMark')" prop="equipmentMark">
|
<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-input v-model="dataForm.equipmentMark" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.equipmentMark')])" clearable />
|
||||||
</el-form-item>
|
</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>
|
</el-form>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button>
|
<el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button>
|
||||||
@ -39,40 +72,88 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { detail, update, add } from '@/api/basicData/Cache/processLocation'
|
import { detail, update, add, locationList } from '@/api/basicData/Cache/processLocation'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
visible: false,
|
visible: false,
|
||||||
dataForm: {
|
dataForm: {
|
||||||
id: 0,
|
|
||||||
sequence: '',
|
|
||||||
locationName: '',
|
|
||||||
isProcess: '',
|
|
||||||
equipmentMark: ''
|
|
||||||
},
|
|
||||||
listQuery: {
|
|
||||||
current: 1,
|
|
||||||
size: 10,
|
|
||||||
locationId: '',
|
|
||||||
workSequenId: '',
|
workSequenId: '',
|
||||||
|
locationId: '',
|
||||||
|
portAttrId: '',
|
||||||
|
isProcess: '',
|
||||||
|
equipmentMark: '',
|
||||||
|
sequence: '',
|
||||||
|
goodsShelves: '',
|
||||||
locationName: ''
|
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: {
|
methods: {
|
||||||
init(LocationId) {
|
init(id) {
|
||||||
this.listQuery.LocationId = LocationId || ''
|
this.listQuery.id = id || ''
|
||||||
this.visible = true
|
this.visible = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs['dataForm'].resetFields()
|
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 =>{
|
// list(this.listQuery).then(res =>{
|
||||||
// this.list = response.data.records
|
// this.list = response.data.records
|
||||||
// })
|
// })
|
||||||
detail(this.dataForm.id).then(res => {
|
detail(this.listQuery.id).then(res => {
|
||||||
this.dataForm = res.data
|
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 {
|
} else {
|
||||||
// storageBoxCode().then(res => {
|
// storageBoxCode().then(res => {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* @Author: fzq
|
* @Author: fzq
|
||||||
* @Date: 2022-03-03 09:51:25
|
* @Date: 2022-03-03 09:51:25
|
||||||
* @LastEditors: fzq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2022-03-06 19:15:25
|
* @LastEditTime: 2022-03-08 16:56:40
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
@ -35,7 +35,7 @@
|
|||||||
:limit.sync="listQuery.size"
|
:limit.sync="listQuery.size"
|
||||||
@pagination="getList()"
|
@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>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -46,7 +46,6 @@ import processInfoAdd from './components/processInfo-add'
|
|||||||
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
|
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
|
||||||
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
|
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
|
||||||
import { list, locaDelete } from '@/api/basicData/Cache/processLocation'
|
import { list, locaDelete } from '@/api/basicData/Cache/processLocation'
|
||||||
import { timeFormatter } from '@/filters'
|
|
||||||
/**
|
/**
|
||||||
* 表格表头配置项 TypeScript接口注释
|
* 表格表头配置项 TypeScript接口注释
|
||||||
* tableConfig<ConfigItem> = []
|
* tableConfig<ConfigItem> = []
|
||||||
@ -75,24 +74,8 @@ const tableBtn = [
|
|||||||
]
|
]
|
||||||
const tableProps = [
|
const tableProps = [
|
||||||
{
|
{
|
||||||
prop: 'createTime',
|
prop: 'workSequenId',
|
||||||
label: i18n.t('module.basicData.factory.createTime'),
|
label: i18n.t('module.basicData.processLocation.workSequenId'),
|
||||||
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'),
|
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -101,14 +84,34 @@ const tableProps = [
|
|||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'workSequenId',
|
prop: 'portAttrId',
|
||||||
label: i18n.t('module.basicData.processLocation.workSequenId'),
|
label: i18n.t('module.basicData.processLocation.portAttrId'),
|
||||||
|
align: 'center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
prop: 'isProcess',
|
||||||
|
label: i18n.t('module.basicData.processLocation.isProcess'),
|
||||||
align: 'center'
|
align: 'center'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
prop: 'equipmentMark',
|
prop: 'equipmentMark',
|
||||||
label: i18n.t('module.basicData.processLocation.equipmentMark'),
|
label: i18n.t('module.basicData.processLocation.equipmentMark'),
|
||||||
align: 'center'
|
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: {
|
methods: {
|
||||||
handleClick(raw) {
|
handleClick(raw) {
|
||||||
if (raw.type === 'delete') {
|
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'),
|
confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'),
|
||||||
cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'),
|
cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'),
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
console.log(raw.data)
|
|
||||||
locaDelete(raw.data.id).then(response => {
|
locaDelete(raw.data.id).then(response => {
|
||||||
this.$message({
|
this.$message({
|
||||||
message: this.$t('module.basicData.visual.success'),
|
message: this.$t('module.basicData.visual.success'),
|
||||||
@ -170,9 +172,9 @@ export default {
|
|||||||
})
|
})
|
||||||
}).catch(() => {})
|
}).catch(() => {})
|
||||||
} else if (raw.type === 'edit') {
|
} else if (raw.type === 'edit') {
|
||||||
this.addNew(raw.data.locationId)
|
this.addNew(raw.data.id)
|
||||||
} else {
|
} else {
|
||||||
this.addNew(raw.data.locationId, true)
|
this.addNew(raw.data.id, true)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getList(key) {
|
getList(key) {
|
||||||
@ -185,7 +187,7 @@ export default {
|
|||||||
this.list.splice(0, this.list.length)
|
this.list.splice(0, this.list.length)
|
||||||
}
|
}
|
||||||
this.total = response.data.total
|
this.total = response.data.total
|
||||||
console.log(response)
|
// console.log(response)
|
||||||
this.listLoading = false
|
this.listLoading = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!--
|
<!--
|
||||||
* @Author: zwq
|
* @Author: zwq
|
||||||
* @Date: 2020-12-29 16:37:56
|
* @Date: 2020-12-29 16:37:56
|
||||||
* @LastEditors: zwq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2022-01-17 11:21:26
|
* @LastEditTime: 2022-03-10 18:44:36
|
||||||
* @Description:
|
* @Description:
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* @Author: fzq
|
* @Author: fzq
|
||||||
* @Date: 2022-03-04 20:54:54
|
* @Date: 2022-03-04 20:54:54
|
||||||
* @LastEditors: fzq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2022-03-06 19:32:34
|
* @LastEditTime: 2022-03-07 09:46:36
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
@ -195,7 +195,22 @@ export default {
|
|||||||
this.listQuery.code = key
|
this.listQuery.code = key
|
||||||
// console.log(this.listQuery)
|
// console.log(this.listQuery)
|
||||||
download(this.listQuery).then(res => {
|
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 fileName = `${+new Date()}.xlsx`
|
||||||
// const blob = new Blob([res], { type: 'application/vnd.ms-excel;charset=utf-8' })
|
// const blob = new Blob([res], { type: 'application/vnd.ms-excel;charset=utf-8' })
|
||||||
// if (navigator.msSaveBlob) {
|
// if (navigator.msSaveBlob) {
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* @Author: fzq
|
* @Author: fzq
|
||||||
* @Date: 2022-03-06 17:06:51
|
* @Date: 2022-03-06 17:06:51
|
||||||
* @LastEditors: fzq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2022-03-06 17:10:16
|
* @LastEditTime: 2022-03-07 10:35:29
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<el-form :inline="true" @keyup.enter.native="getDataList()">
|
<el-form :inline="true" @keyup.enter.native="getDataList()">
|
||||||
@ -14,7 +14,7 @@
|
|||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="getDataList()">{{ 'btn.search' | i18nFilter }}</el-button>
|
<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 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-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</template>
|
</template>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* @Author: fzq
|
* @Author: fzq
|
||||||
* @Date: 2022-03-05 17:45:46
|
* @Date: 2022-03-05 17:45:46
|
||||||
* @LastEditors: fzq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2022-03-06 16:46:54
|
* @LastEditTime: 2022-03-07 09:19:34
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<!-- <el-dialog
|
<!-- <el-dialog
|
||||||
@ -112,6 +112,7 @@ export default {
|
|||||||
this.dataForm.storageBoxId = this.$route.query.id
|
this.dataForm.storageBoxId = this.$route.query.id
|
||||||
this.dataForm.storageCode = this.$route.query.code
|
this.dataForm.storageCode = this.$route.query.code
|
||||||
this.visible = true
|
this.visible = true
|
||||||
|
// console.log(this.dataForm)
|
||||||
listSubstrate(this.dataForm).then(res => {
|
listSubstrate(this.dataForm).then(res => {
|
||||||
console.log(res.data[0])
|
console.log(res.data[0])
|
||||||
this.dataForm.id = res.data[0].id
|
this.dataForm.id = res.data[0].id
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
* @Author: fzq
|
* @Author: fzq
|
||||||
* @Date: 2022-03-05 15:55:45
|
* @Date: 2022-03-05 15:55:45
|
||||||
* @LastEditors: fzq
|
* @LastEditors: fzq
|
||||||
* @LastEditTime: 2022-03-05 19:44:47
|
* @LastEditTime: 2022-03-07 09:28:21
|
||||||
-->
|
-->
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
@ -112,12 +112,14 @@ export default {
|
|||||||
listQuery: {
|
listQuery: {
|
||||||
current: 1,
|
current: 1,
|
||||||
size: 10,
|
size: 10,
|
||||||
substrateCode: ''
|
storageBoxCode: '',
|
||||||
|
storageBoxId: ''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.listQuery.substrateCode = this.$route.query.code
|
this.listQuery.storageBoxCode = this.$route.query.code
|
||||||
|
this.listQuery.storageBoxId = this.$route.query.id
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@ -150,6 +152,7 @@ export default {
|
|||||||
this.listQuery.code = this.$route.query.code
|
this.listQuery.code = this.$route.query.code
|
||||||
console.log(this.listQuery)
|
console.log(this.listQuery)
|
||||||
listSubstrate(this.listQuery).then(response => {
|
listSubstrate(this.listQuery).then(response => {
|
||||||
|
console.log(response)
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
this.list = response.data
|
this.list = response.data
|
||||||
console.log(this.list)
|
console.log(this.list)
|
||||||
|
Loading…
Reference in New Issue
Block a user