當前提交
602af58f2d
@ -2,14 +2,14 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2020-12-29 16:00:14
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2021-01-27 16:42:27
|
||||
* @LastEditTime: 2022-01-11 16:16:07
|
||||
* @Description:
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function areaList(data) { // 获取缓存区区域信息列表
|
||||
return request({
|
||||
url: '/basic/area/page',
|
||||
url: '/api/wms/area/shelf',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@ -17,7 +17,7 @@ export function areaList(data) { // 获取缓存区区域信息列表
|
||||
|
||||
export function areaDetail(id) { // 获取缓存区区域信息单条数据
|
||||
return request({
|
||||
url: '/basic/area/get',
|
||||
url: '/api/wms/area/get',
|
||||
method: 'post',
|
||||
data: { id }
|
||||
})
|
||||
@ -25,7 +25,7 @@ export function areaDetail(id) { // 获取缓存区区域信息单条数据
|
||||
|
||||
export function areaUpdate(data) { // 更新缓存区区域信息单条数据
|
||||
return request({
|
||||
url: '/basic/area/update',
|
||||
url: '/api/wms/area/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@ -33,7 +33,7 @@ export function areaUpdate(data) { // 更新缓存区区域信息单条数据
|
||||
|
||||
export function areaAdd(data) { // 新增缓存区区域信息单条数据
|
||||
return request({
|
||||
url: '/basic/area/add',
|
||||
url: '/api/wms/area/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@ -41,14 +41,14 @@ export function areaAdd(data) { // 新增缓存区区域信息单条数据
|
||||
|
||||
export function areaCode() { // 获取缓存区区域信息code
|
||||
return request({
|
||||
url: '/basic/area/get-code',
|
||||
url: '/api/wms/area/get-code',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function areaDelete(id) { // 删除缓存区区域信息单条数据
|
||||
return request({
|
||||
url: '/basic/area/delete',
|
||||
url: '/api/wms/area/delete',
|
||||
method: 'post',
|
||||
data: { id }
|
||||
})
|
||||
|
@ -2,14 +2,14 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2020-12-29 16:00:14
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2021-01-20 15:31:32
|
||||
* @LastEditTime: 2022-01-11 15:50:42
|
||||
* @Description:
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function cacheList(data) { // 获取缓存区信息列表
|
||||
return request({
|
||||
url: '/basic/cache/page',
|
||||
url: '/api/wms/area/page',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@ -17,7 +17,7 @@ export function cacheList(data) { // 获取缓存区信息列表
|
||||
|
||||
export function cacheDetail(id) { // 获取缓存区信息单条数据
|
||||
return request({
|
||||
url: '/basic/cache/get',
|
||||
url: '/api/wms/area/getById',
|
||||
method: 'post',
|
||||
data: { id }
|
||||
})
|
||||
@ -25,7 +25,7 @@ export function cacheDetail(id) { // 获取缓存区信息单条数据
|
||||
|
||||
export function cacheUpdate(data) { // 更新缓存区信息单条数据
|
||||
return request({
|
||||
url: '/basic/cache/update',
|
||||
url: '/api/wms/area/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@ -33,7 +33,7 @@ export function cacheUpdate(data) { // 更新缓存区信息单条数据
|
||||
|
||||
export function cacheAdd(data) { // 新增缓存区信息单条数据
|
||||
return request({
|
||||
url: '/basic/cache/add',
|
||||
url: '/api/wms/area/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@ -41,14 +41,14 @@ export function cacheAdd(data) { // 新增缓存区信息单条数据
|
||||
|
||||
export function cacheCode() { // 获取缓存区信息code
|
||||
return request({
|
||||
url: '/basic/cache/get-code',
|
||||
url: '/api/wms/area/get-code',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function cacheDelete(id) { // 删除缓存区信息单条数据
|
||||
return request({
|
||||
url: '/basic/cache/delete',
|
||||
url: '/api/wms/area/delete',
|
||||
method: 'post',
|
||||
data: { id }
|
||||
})
|
||||
|
@ -2,14 +2,14 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2020-12-29 16:00:14
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2021-07-21 14:29:10
|
||||
* @LastEditTime: 2022-01-11 16:43:22
|
||||
* @Description:
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function storageBoxList(data) { // 获取存储箱列表
|
||||
return request({
|
||||
url: '/basic/storage-tank/page',
|
||||
url: '/api/wms/storagebox/page',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@ -17,7 +17,7 @@ export function storageBoxList(data) { // 获取存储箱列表
|
||||
|
||||
export function storageBoxDetail(id) { // 获取存储箱单条数据
|
||||
return request({
|
||||
url: '/basic/storage-tank/get',
|
||||
url: '/api/wms/storagebox/getById',
|
||||
method: 'post',
|
||||
data: { id }
|
||||
})
|
||||
@ -25,7 +25,7 @@ export function storageBoxDetail(id) { // 获取存储箱单条数据
|
||||
|
||||
export function storageBoxUpdate(data) { // 更新存储箱单条数据
|
||||
return request({
|
||||
url: '/basic/storage-tank/update',
|
||||
url: '/api/wms/storagebox/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@ -33,7 +33,7 @@ export function storageBoxUpdate(data) { // 更新存储箱单条数据
|
||||
|
||||
export function storageBoxAdd(data) { // 新增存储箱单条数据
|
||||
return request({
|
||||
url: '/basic/storage-tank/add',
|
||||
url: '/api/wms/storagebox/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@ -41,14 +41,14 @@ export function storageBoxAdd(data) { // 新增存储箱单条数据
|
||||
|
||||
export function storageBoxCode() { // 获取存储箱code
|
||||
return request({
|
||||
url: '/basic/storage-tank/get-code',
|
||||
url: '/api/wms/storagebox/get-code',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function storageBoxDelete(id) { // 删除存储箱单条数据
|
||||
return request({
|
||||
url: '/basic/storage-tank/delete',
|
||||
url: '/api/wms/storagebox/delete',
|
||||
method: 'post',
|
||||
data: { id }
|
||||
})
|
||||
@ -56,14 +56,14 @@ export function storageBoxDelete(id) { // 删除存储箱单条数据
|
||||
|
||||
export function PositionDetailInfoAdd(data) { // 新增存储箱地址单条数据
|
||||
return request({
|
||||
url: '/basic/storage-tank-site/add',
|
||||
url: '/api/wms/storagebox-site/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
export function PositionDetailInfoList(data) { // 获取存储箱地址列表
|
||||
return request({
|
||||
url: '/basic/storage-tank-site/page',
|
||||
url: '/api/wms/storagebox-site/page',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
|
@ -2,14 +2,14 @@
|
||||
* @Author: zwq
|
||||
* @Date: 2020-12-29 16:00:14
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2021-03-12 09:40:01
|
||||
* @LastEditTime: 2022-01-10 17:00:16
|
||||
* @Description:
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function equipmentInfoList(data) { // 获取设备信息列表
|
||||
return request({
|
||||
url: '/basic/equipment/page',
|
||||
url: '/api/wms/equipment/page',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@ -17,7 +17,7 @@ export function equipmentInfoList(data) { // 获取设备信息列表
|
||||
|
||||
export function equipmentInfoDetail(id) { // 获取设备信息单条数据
|
||||
return request({
|
||||
url: '/basic/equipment/get',
|
||||
url: '/api/wms/equipment/get',
|
||||
method: 'post',
|
||||
data: { id }
|
||||
})
|
||||
@ -25,7 +25,7 @@ export function equipmentInfoDetail(id) { // 获取设备信息单条数据
|
||||
|
||||
export function equipmentInfoUpdate(data) { // 更新设备信息单条数据
|
||||
return request({
|
||||
url: '/basic/equipment/update',
|
||||
url: '/api/wms/equipment/update',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@ -33,7 +33,7 @@ export function equipmentInfoUpdate(data) { // 更新设备信息单条数据
|
||||
|
||||
export function equipmentInfoAdd(data) { // 新增设备信息单条数据
|
||||
return request({
|
||||
url: '/basic/equipment/add',
|
||||
url: '/api/wms/equipment/add',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@ -41,14 +41,14 @@ export function equipmentInfoAdd(data) { // 新增设备信息单条数据
|
||||
|
||||
export function equipmentInfoCode() { // 获取设备信息code
|
||||
return request({
|
||||
url: '/basic/equipment/get-code',
|
||||
url: '/api/wms/equipment/get-code',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
|
||||
export function equipmentInfoDelete(id) { // 删除设备信息单条数据
|
||||
return request({
|
||||
url: '/basic/equipment/delete',
|
||||
url: '/api/wms/equipment/delete',
|
||||
method: 'post',
|
||||
data: { id }
|
||||
})
|
||||
@ -56,7 +56,7 @@ export function equipmentInfoDelete(id) { // 删除设备信息单条数据
|
||||
|
||||
export function equipmentInfoFileAdd(data) { // 设备信息上传
|
||||
return request({
|
||||
url: '/basic/equipment-file/update-file',
|
||||
url: '/api/wms/equipment-file/update-file',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@ -64,7 +64,7 @@ export function equipmentInfoFileAdd(data) { // 设备信息上传
|
||||
|
||||
export function getEquipmentInfoFile(data) { // 设备信息下载
|
||||
return request({
|
||||
url: '/basic/equipment-file/get-by-param',
|
||||
url: '/api/wms/equipment-file/get-by-param',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
|
28
src/api/basicData/Warehouse/HistoricalTask.js
Normal file
28
src/api/basicData/Warehouse/HistoricalTask.js
Normal file
@ -0,0 +1,28 @@
|
||||
/*
|
||||
* @Author: zwq
|
||||
* @Date: 2020-12-29 16:00:14
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-01-12 16:23:00
|
||||
* @Description:
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function HistoricalTaskList(data) { // 获取任务列表
|
||||
return request({
|
||||
url: '/api/wms/car/task/execution/info/his/page',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function HistoricalTaskDetail(id) { // 获取任务单条数据
|
||||
const data = {
|
||||
'id': id
|
||||
}
|
||||
return request({
|
||||
url: '/api/wms/car/task/execution/info/his/get',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* @Date: 2020-12-14 09:07:03
|
||||
* @LastEditors: Please set LastEditors
|
||||
* @LastEditTime: 2021-12-06 15:14:46
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-01-11 15:45:54
|
||||
* @FilePath: \basic-admin\src\api\user.js
|
||||
* @Description: 用户管理 & 登录用户的相关api接口定义
|
||||
*/
|
||||
@ -27,13 +27,13 @@ export function logout() {
|
||||
})
|
||||
}
|
||||
// 获取当前登录的用户信息
|
||||
// export function getUserInfo(data) {
|
||||
// return request({
|
||||
// url: '/passport/getLoginUser',
|
||||
// method: 'post',
|
||||
// data
|
||||
// })
|
||||
// }
|
||||
export function getUserInfo(data) {
|
||||
return request({
|
||||
url: '/api/passport/getLoginUser',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改当前用户密码
|
||||
export function editUserPW(data) {
|
||||
|
@ -548,8 +548,8 @@ export default {
|
||||
zh: '缓存区信息',
|
||||
en: 'Ports Info',
|
||||
ports: {
|
||||
zh: '仓库',
|
||||
en: 'Warehouse'
|
||||
zh: '缓存区信息',
|
||||
en: 'Ports Info'
|
||||
},
|
||||
area: {
|
||||
zh: '区域',
|
||||
@ -705,6 +705,22 @@ export default {
|
||||
}
|
||||
}
|
||||
},
|
||||
Warehouse: {
|
||||
zh: '仓库管理',
|
||||
en: 'Warehouse Manager',
|
||||
StorageBoxInfo: {
|
||||
zh: '存储箱信息',
|
||||
en: 'Storage Box Info'
|
||||
},
|
||||
CurrentTask: {
|
||||
zh: '当前任务',
|
||||
en: 'Current Task'
|
||||
},
|
||||
HistoricalTask: {
|
||||
zh: '历史任务',
|
||||
en: 'Historical Task'
|
||||
}
|
||||
},
|
||||
order: {
|
||||
zh: '工单管理',
|
||||
en: 'Order Manager',
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: gtz
|
||||
* @Date: 2021-03-04 16:13:51
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2021-07-21 09:59:34
|
||||
* @LastEditTime: 2022-01-12 16:09:24
|
||||
* @Description: file content
|
||||
*/
|
||||
export default {
|
||||
@ -130,9 +130,11 @@ export default {
|
||||
CacheCode: 'Ports Code',
|
||||
CacheName: 'Ports Name',
|
||||
StockNumber: 'Stock Number',
|
||||
AreaNumber: 'Area Number',
|
||||
AreaCode: 'Area Code',
|
||||
AreaName: 'Area Name',
|
||||
AreaNumber: 'Shelf Number',
|
||||
AreaCode: 'Shelf Code',
|
||||
AreaName: 'Shelf Name',
|
||||
rowNum: 'Row Num',
|
||||
columnNum: 'Column Num',
|
||||
Shelf: 'Shelf',
|
||||
ManageShelves: 'Manage Shelves',
|
||||
ShelfCode: 'Shelf Code',
|
||||
@ -145,7 +147,7 @@ export default {
|
||||
LocationName: 'Location Name',
|
||||
anotherName: 'Another Name',
|
||||
place: 'Place',
|
||||
addCacheArea: 'add Ports Area'
|
||||
addCacheArea: 'add Ports Shelf'
|
||||
},
|
||||
storageBox: {
|
||||
name: 'Name',
|
||||
@ -272,5 +274,20 @@ export default {
|
||||
EquipmentScrapGrade: {
|
||||
keyword: 'name',
|
||||
ScrapGrade: 'Scrap Grade'
|
||||
},
|
||||
Warehouse: {
|
||||
Code: 'Code',
|
||||
TaskType: 'Task Type',
|
||||
TaskStatus: 'Task Status',
|
||||
VehicleName: 'Vehicle Name',
|
||||
TimeSlot: 'Time Slot',
|
||||
ExecutionTime: 'Execution Time',
|
||||
BoxStatus: 'Box Status',
|
||||
BoxNumber: 'Box Number',
|
||||
PreviousOperation: 'Previous Operation',
|
||||
NextOperation: 'Next Operation',
|
||||
CompletionTime: 'Completion Time',
|
||||
StartLocation: 'Start Location',
|
||||
TargetLocation: 'Target Location'
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
* @Author: gtz
|
||||
* @Date: 2021-03-04 16:13:51
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2021-07-21 09:58:59
|
||||
* @LastEditTime: 2022-01-12 16:09:25
|
||||
* @Description: file content
|
||||
*/
|
||||
export default {
|
||||
@ -130,22 +130,24 @@ export default {
|
||||
CacheCode: '缓存区编码',
|
||||
CacheName: '缓存区名称',
|
||||
StockNumber: '库位数量',
|
||||
AreaNumber: '区域数量',
|
||||
AreaCode: '区域编码',
|
||||
AreaName: '区域名称',
|
||||
AreaNumber: '货架数量',
|
||||
AreaCode: '货架编码',
|
||||
AreaName: '货架名称',
|
||||
rowNum: '行数',
|
||||
columnNum: '列数',
|
||||
Shelf: '货架',
|
||||
ManageShelves: '管理货架',
|
||||
ShelfCode: '货架编码',
|
||||
ShelfName: '货架名称',
|
||||
ShelfNumber: '货架数量',
|
||||
StorageQuantity: '存储数量',
|
||||
Location: '货位',
|
||||
Location: '库位',
|
||||
ManageLocation: '管理货位',
|
||||
LocationCode: '库位编码',
|
||||
LocationName: '库位名称',
|
||||
anotherName: '别名',
|
||||
place: '位置',
|
||||
addCacheArea: '添加区域'
|
||||
addCacheArea: '添加货架'
|
||||
},
|
||||
storageBox: {
|
||||
name: '名称',
|
||||
@ -272,5 +274,20 @@ export default {
|
||||
EquipmentScrapGrade: {
|
||||
keyword: '名称',
|
||||
ScrapGrade: '废片等级'
|
||||
},
|
||||
Warehouse: {
|
||||
Code: '编码',
|
||||
TaskType: '任务类型',
|
||||
TaskStatus: '任务状态',
|
||||
VehicleName: '车辆名',
|
||||
TimeSlot: '时间段',
|
||||
ExecutionTime: '执行时间',
|
||||
BoxStatus: '箱状态',
|
||||
BoxNumber: '箱号',
|
||||
PreviousOperation: '上一个工序',
|
||||
NextOperation: '下一个工序',
|
||||
CompletionTime: '完成时间',
|
||||
StartLocation: '开始库位',
|
||||
TargetLocation: '目标库位'
|
||||
}
|
||||
}
|
||||
|
@ -15,11 +15,6 @@
|
||||
<svg-icon class="item-icon" icon-class="home" />
|
||||
{{ 'navbar.homepage' | i18nFilter }}
|
||||
</div>
|
||||
<div class="right-menu-back">
|
||||
<el-badge :value="alarmList.length" class="item" style="line-height: 0; margin: 0 10px;" @click.native="toAlarm">
|
||||
<svg-icon style="width: 24px; height: 24px" class="item-icon" icon-class="alarm" />
|
||||
</el-badge>
|
||||
</div>
|
||||
|
||||
<template>
|
||||
<lang-select class="right-menu-item hover-effect" />
|
||||
@ -27,15 +22,15 @@
|
||||
<div v-if="showhome" class="right-menu-back">
|
||||
<a href="Lodap.zip"><i class="el-icon-download" /></a>
|
||||
</div>
|
||||
<div class="right-menu-back">
|
||||
<!-- <div class="right-menu-back">
|
||||
<i class="el-icon-alarm-clock" />
|
||||
{{ formatTime }}
|
||||
</div>
|
||||
</div> -->
|
||||
|
||||
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
|
||||
<div class="avatar-wrapper">
|
||||
<img :src="require('@/assets/img/head.png')" class="user-avatar">
|
||||
<div class="avatar-username">{{ username }}</div>
|
||||
<!-- <div class="avatar-username">{{ username }}</div> -->
|
||||
<!-- <i class="el-icon-caret-bottom" /> -->
|
||||
</div>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
@ -71,7 +66,6 @@
|
||||
<script>
|
||||
import axios from 'axios'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { alarmInfoList } from '@/api/basicData/AlarmManagement/alarmInfo'
|
||||
import Breadcrumb from '@/components/Breadcrumb'
|
||||
import Hamburger from '@/components/Hamburger'
|
||||
import LangSelect from '@/components/LangSelect'
|
||||
@ -122,16 +116,9 @@ export default {
|
||||
if (val <= 0) {
|
||||
this.logout()
|
||||
}
|
||||
},
|
||||
$route: function() {
|
||||
this.getAlarm()
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getAlarm()
|
||||
logoutInterval = setInterval(() => {
|
||||
this.logoutTime -= 1000
|
||||
}, 1000)
|
||||
addEventListener('click', this.logoutTimeReset)
|
||||
addEventListener('keydown', this.logoutTimeReset)
|
||||
addEventListener('visibilitychange', this.visibilitychangeListener)
|
||||
@ -192,24 +179,6 @@ export default {
|
||||
async toHome() {
|
||||
this.$store.dispatch('app/setChoicepart')
|
||||
this.$router.push('/')
|
||||
},
|
||||
getAlarm() {
|
||||
alarmInfoList({
|
||||
current: 1,
|
||||
size: 1000,
|
||||
alarmType: '',
|
||||
code: '',
|
||||
alarmGrade: ''
|
||||
}).then(response => {
|
||||
if (response.data.records) {
|
||||
this.alarmList = response.data.records
|
||||
} else {
|
||||
this.alarmList = []
|
||||
}
|
||||
})
|
||||
},
|
||||
toAlarm() {
|
||||
this.$router.push('/AlarmManagement/AlarmInfo')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -94,215 +94,102 @@ export const constantRoutes = [
|
||||
{
|
||||
path: '/',
|
||||
component: Layout,
|
||||
redirect: '/Ports/ports',
|
||||
redirect: '/ports',
|
||||
name: 'basicData',
|
||||
meta: { title: routerTitle.basicData?.[language] || routerTitle.basicData.en, icon: 'form', iconPart: 'basicData', affix: true, required: true, requireToken: true },
|
||||
children: [
|
||||
{
|
||||
path: '/Ports',
|
||||
component: () => import('@/views/basicData/index'),
|
||||
name: 'Ports',
|
||||
meta: { title: routerTitle.basicData.ports?.[language] || routerTitle.basicData.ports.en, icon: 'form', affix: true, required: true, requireToken: true },
|
||||
children: [
|
||||
{
|
||||
path: 'ports',
|
||||
component: () => import('@/views/basicData/Cache/cache'),
|
||||
name: 'ports',
|
||||
meta: { title: routerTitle.basicData.ports.ports?.[language] || routerTitle.basicData.ports.ports.en, icon: 'form', affix: true }
|
||||
},
|
||||
{
|
||||
path: 'area',
|
||||
component: () => import('@/views/basicData/Cache/area'),
|
||||
name: 'area',
|
||||
meta: { title: routerTitle.basicData.ports.area?.[language] || routerTitle.basicData.ports.area.en, icon: 'form', affix: true }
|
||||
},
|
||||
{
|
||||
path: 'shelf',
|
||||
component: () => import('@/views/basicData/Cache/shelf'),
|
||||
name: 'shelf',
|
||||
meta: { title: routerTitle.basicData.ports.shelf?.[language] || routerTitle.basicData.ports.shelf.en, icon: 'form', affix: true }
|
||||
}, {
|
||||
path: 'cacheAdd',
|
||||
component: () => import('@/views/basicData/Cache/components/cache-add'),
|
||||
name: 'cacheAdd',
|
||||
hidden: true,
|
||||
meta: { title: routerTitle.basicData.ports.cacheAdd?.[language] || routerTitle.basicData.ports.cacheAdd.en, icon: 'form', affix: true }
|
||||
}, {
|
||||
path: 'shelfAdd',
|
||||
component: () => import('@/views/basicData/Cache/components/shelf-add'),
|
||||
name: 'shelfAdd',
|
||||
hidden: true,
|
||||
meta: { title: routerTitle.basicData.ports.shelfAdd?.[language] || routerTitle.basicData.ports.shelfAdd.en, icon: 'form', affix: true }
|
||||
}, {
|
||||
path: 'locationAdd',
|
||||
component: () => import('@/views/basicData/Cache/components/location-add'),
|
||||
name: 'locationAdd',
|
||||
hidden: true,
|
||||
meta: { title: routerTitle.basicData.ports.locationAdd?.[language] || routerTitle.basicData.ports.locationAdd.en, icon: 'form', affix: true }
|
||||
}, {
|
||||
path: 'storageBox',
|
||||
component: () => import('@/views/basicData/Cache/storageBox'),
|
||||
name: 'storageBox',
|
||||
meta: { title: routerTitle.basicData.ports.storageBox?.[language] || routerTitle.basicData.ports.storageBox.en, icon: 'form', affix: true }
|
||||
}, {
|
||||
path: 'PositionDetailInfo',
|
||||
component: () => import('@/views/basicData/Cache/components/PositionDetailInfo'),
|
||||
name: 'PositionDetailInfo',
|
||||
hidden: true,
|
||||
meta: { title: routerTitle.basicData.ports.PositionDetailInfo?.[language] || routerTitle.basicData.ports.PositionDetailInfo.en, icon: 'form', affix: true }
|
||||
}
|
||||
]
|
||||
path: 'ports',
|
||||
component: () => import('@/views/basicData/Cache/cache'),
|
||||
name: 'ports',
|
||||
meta: { title: routerTitle.basicData.ports.ports?.[language] || routerTitle.basicData.ports.ports.en, icon: 'form', affix: true }
|
||||
},
|
||||
{
|
||||
path: '/Equipment',
|
||||
component: () => import('@/views/basicData/index'),
|
||||
name: 'Equipment',
|
||||
meta: { title: routerTitle.basicData.equipment?.[language] || routerTitle.basicData.equipment.en, icon: 'form', affix: true, required: true, requireToken: true },
|
||||
children: [
|
||||
{
|
||||
path: 'equipmentInfo',
|
||||
component: () =>
|
||||
path: 'area',
|
||||
component: () => import('@/views/basicData/Cache/area'),
|
||||
name: 'area',
|
||||
hidden: true,
|
||||
meta: { title: routerTitle.basicData.ports.area?.[language] || routerTitle.basicData.ports.area.en, icon: 'form', affix: true }
|
||||
},
|
||||
{
|
||||
path: 'shelf',
|
||||
component: () => import('@/views/basicData/Cache/shelf'),
|
||||
name: 'shelf',
|
||||
hidden: true,
|
||||
meta: { title: routerTitle.basicData.ports.shelf?.[language] || routerTitle.basicData.ports.shelf.en, icon: 'form', affix: true }
|
||||
}, {
|
||||
path: 'cacheAdd',
|
||||
component: () => import('@/views/basicData/Cache/components/cache-add'),
|
||||
name: 'cacheAdd',
|
||||
hidden: true,
|
||||
meta: { title: routerTitle.basicData.ports.cacheAdd?.[language] || routerTitle.basicData.ports.cacheAdd.en, icon: 'form', affix: true }
|
||||
}, {
|
||||
path: 'shelfAdd',
|
||||
component: () => import('@/views/basicData/Cache/components/shelf-add'),
|
||||
name: 'shelfAdd',
|
||||
hidden: true,
|
||||
meta: { title: routerTitle.basicData.ports.shelfAdd?.[language] || routerTitle.basicData.ports.shelfAdd.en, icon: 'form', affix: true }
|
||||
}, {
|
||||
path: 'locationAdd',
|
||||
component: () => import('@/views/basicData/Cache/components/location-add'),
|
||||
name: 'locationAdd',
|
||||
hidden: true,
|
||||
meta: { title: routerTitle.basicData.ports.locationAdd?.[language] || routerTitle.basicData.ports.locationAdd.en, icon: 'form', affix: true }
|
||||
}, {
|
||||
path: 'storageBox',
|
||||
component: () => import('@/views/basicData/Cache/storageBox'),
|
||||
name: 'storageBox',
|
||||
meta: { title: routerTitle.basicData.ports.storageBox?.[language] || routerTitle.basicData.ports.storageBox.en, icon: 'form', affix: true }
|
||||
}, {
|
||||
path: 'PositionDetailInfo',
|
||||
component: () => import('@/views/basicData/Cache/components/PositionDetailInfo'),
|
||||
name: 'PositionDetailInfo',
|
||||
hidden: true,
|
||||
meta: { title: routerTitle.basicData.ports.PositionDetailInfo?.[language] || routerTitle.basicData.ports.PositionDetailInfo.en, icon: 'form', affix: true }
|
||||
},
|
||||
{
|
||||
path: 'equipmentInfo',
|
||||
component: () =>
|
||||
import('@/views/basicData/Equipment/equipmentInfo'),
|
||||
name: 'equipmentInfo',
|
||||
meta: { title: routerTitle.basicData.equipment.equipmentInfo?.[language] || routerTitle.basicData.equipment.equipmentInfo.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
},
|
||||
{
|
||||
path: 'equipmentInfoAdd',
|
||||
component: () => import('@/views/basicData/Equipment/components/equipmentInfo-add'),
|
||||
name: 'equipmentInfoAdd',
|
||||
hidden: true,
|
||||
meta: { title: routerTitle.basicData.equipment.equipmentInfoAdd?.[language] || routerTitle.basicData.equipment.equipmentInfoAdd.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
},
|
||||
{
|
||||
path: 'equipmentType',
|
||||
component: () =>
|
||||
import('@/views/basicData/Equipment/equipmentType'),
|
||||
name: 'equipmentType',
|
||||
meta: { title: routerTitle.basicData.equipment.equipmentType?.[language] || routerTitle.basicData.equipment.equipmentType.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
},
|
||||
{
|
||||
path: 'EquipmentGroup',
|
||||
component: () =>
|
||||
import('@/views/basicData/Equipment/EquipmentGroup'),
|
||||
name: 'EquipmentGroup',
|
||||
meta: { title: routerTitle.basicData.equipment.EquipmentGroup?.[language] || routerTitle.basicData.equipment.EquipmentGroup.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
},
|
||||
{
|
||||
path: 'equipmentTypeAlarm',
|
||||
component: () =>
|
||||
import('@/views/basicData/Equipment/equipmentTypeAlarm'),
|
||||
name: 'equipmentTypeAlarm',
|
||||
hidden: true,
|
||||
meta: { title: routerTitle.basicData.equipment.equipmentTypeAlarm?.[language] || routerTitle.basicData.equipment.equipmentTypeAlarm.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
},
|
||||
{
|
||||
path: 'maintenanceType',
|
||||
component: () =>
|
||||
import('@/views/basicData/Equipment/maintenanceType'),
|
||||
name: 'maintenanceType',
|
||||
meta: { title: routerTitle.basicData.equipment.maintenanceType?.[language] || routerTitle.basicData.equipment.maintenanceType.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
},
|
||||
{
|
||||
path: 'maintenanceCycle',
|
||||
component: () =>
|
||||
import('@/views/basicData/Equipment/maintenanceCycle'),
|
||||
name: 'maintenanceCycle',
|
||||
meta: { title: routerTitle.basicData.equipment.maintenanceCycle?.[language] || routerTitle.basicData.equipment.maintenanceCycle.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
},
|
||||
{
|
||||
path: '/equipmentDetectInfo',
|
||||
component: () => import('@/views/basicData/index'),
|
||||
name: 'equipmentDetectInfo',
|
||||
meta: { title: routerTitle.basicData.equipment.equipmentDetectInfo?.[language] || routerTitle.basicData.equipment.equipmentDetectInfo.en, icon: 'form', affix: true, required: true, requireToken: true },
|
||||
children: [
|
||||
{
|
||||
path: 'equipmentDetectSystem',
|
||||
component: () =>
|
||||
import('@/views/basicData/Equipment/equipmentDetectSystem'),
|
||||
name: 'equipmentDetectSystem',
|
||||
meta: { title: routerTitle.basicData.equipment.equipmentDetectInfo.equipmentDetectSystem?.[language] || routerTitle.basicData.equipment.equipmentDetectInfo.equipmentDetectSystem.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
},
|
||||
{
|
||||
path: 'equipmentDetectArea',
|
||||
component: () =>
|
||||
import('@/views/basicData/Equipment/equipmentDetectArea'),
|
||||
name: 'equipmentDetectArea',
|
||||
meta: { title: routerTitle.basicData.equipment.equipmentDetectInfo.equipmentDetectArea?.[language] || routerTitle.basicData.equipment.equipmentDetectInfo.equipmentDetectArea.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
},
|
||||
{
|
||||
path: 'equipmentDetectAreaAdd',
|
||||
component: () =>
|
||||
import('@/views/basicData/Equipment/components/equipmentDetectArea-add'),
|
||||
name: 'equipmentDetectAreaAdd',
|
||||
hidden: true,
|
||||
meta: { title: routerTitle.basicData.equipment.equipmentDetectInfo.equipmentDetectArea?.[language] || routerTitle.basicData.equipment.equipmentDetectInfo.equipmentDetectArea.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
},
|
||||
{
|
||||
path: 'detectSystemSettings',
|
||||
component: () =>
|
||||
import('@/views/basicData/Equipment/detectSystemSettings'),
|
||||
name: 'detectSystemSettings',
|
||||
meta: { title: routerTitle.basicData.equipment.equipmentDetectInfo.detectSystemSettings?.[language] || routerTitle.basicData.equipment.equipmentDetectInfo.detectSystemSettings.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
},
|
||||
{
|
||||
path: 'detectSystemSettingsAdd',
|
||||
component: () =>
|
||||
import('@/views/basicData/Equipment/components/detectSystemSettings-add'),
|
||||
name: 'detectSystemSettingsAdd',
|
||||
hidden: true,
|
||||
meta: { title: routerTitle.basicData.equipment.equipmentDetectInfo.detectSystemSettings?.[language] || routerTitle.basicData.equipment.equipmentDetectInfo.detectSystemSettings.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
}
|
||||
]
|
||||
}
|
||||
// {
|
||||
// path: 'spareParts',
|
||||
// component: () => import('@/views/basicData/Equipment/spareParts'),
|
||||
// name: 'spareParts',
|
||||
// meta: { title: routerTitle.basicData.equipment.spareParts?.[language] || routerTitle.basicData.equipment.spareParts.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
// },
|
||||
// {
|
||||
// path: 'equipmentLink',
|
||||
// component: () =>
|
||||
// import('@/views/basicData/Equipment/equipmentLink'),
|
||||
// name: 'equipmentLink',
|
||||
// meta: { title: routerTitle.basicData.equipment.equipmentLink?.[language] || routerTitle.basicData.equipment.equipmentLink.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
// },
|
||||
// {
|
||||
// path: 'equipmentLinkAdd',
|
||||
// component: () => import('@/views/basicData/Equipment/components/equipmentLink-add'),
|
||||
// name: 'equipmentLinkAdd',
|
||||
// hidden: true,
|
||||
// meta: { title: routerTitle.basicData.equipment.equipmentLinkAdd?.[language] || routerTitle.basicData.equipment.equipmentInfoAdd.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
// }
|
||||
]
|
||||
name: 'equipmentInfo',
|
||||
meta: { title: routerTitle.basicData.equipment.equipmentInfo?.[language] || routerTitle.basicData.equipment.equipmentInfo.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
},
|
||||
{
|
||||
path: 'equipmentInfoAdd',
|
||||
component: () => import('@/views/basicData/Equipment/components/equipmentInfo-add'),
|
||||
name: 'equipmentInfoAdd',
|
||||
hidden: true,
|
||||
meta: { title: routerTitle.basicData.equipment.equipmentInfoAdd?.[language] || routerTitle.basicData.equipment.equipmentInfoAdd.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/art',
|
||||
path: '/Warehouse',
|
||||
component: Layout,
|
||||
redirect: '/art/list',
|
||||
name: 'ArtManager',
|
||||
meta: { title: routerTitle.technology?.[language] || routerTitle.technology.en, icon: 'form', iconPart: 'ArtManager', affix: true, required: true, requireToken: true },
|
||||
redirect: '/Warehouse/workOrderManage',
|
||||
name: 'Warehouse',
|
||||
meta: { title: routerTitle.Warehouse?.[language] || routerTitle.Warehouse.en, icon: 'form', iconPart: 'orderManage', affix: true, required: true, requireToken: true },
|
||||
children: [
|
||||
{
|
||||
path: 'list',
|
||||
component: () => import('@/views/art/list'),
|
||||
name: 'ArtList',
|
||||
meta: { title: routerTitle.technology.technologylist?.[language] || routerTitle.technology.technologylist.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
path: '/StorageBoxInfo',
|
||||
component: () =>
|
||||
import('@/views/basicData/Warehouse/StorageBoxInfo'),
|
||||
name: 'StorageBoxInfo',
|
||||
meta: { title: routerTitle.Warehouse.StorageBoxInfo?.[language] || routerTitle.Warehouse.StorageBoxInfo.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
},
|
||||
{
|
||||
path: 'process',
|
||||
component: () => import('@/views/art/process/list'),
|
||||
name: 'Process',
|
||||
meta: { title: routerTitle.technology.technologyprocess?.[language] || routerTitle.technology.technologyprocess.en, icon: 'form', affix: true, required: true, requireToken: true },
|
||||
hidden: true
|
||||
path: '/CurrentTask',
|
||||
component: () =>
|
||||
import('@/views/basicData/Warehouse/CurrentTask'),
|
||||
name: 'CurrentTask',
|
||||
meta: { title: routerTitle.Warehouse.CurrentTask?.[language] || routerTitle.Warehouse.CurrentTask.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
},
|
||||
{
|
||||
path: 'processList',
|
||||
component: () => import('@/views/art/processList'),
|
||||
name: 'Process',
|
||||
meta: { title: routerTitle.technology.processList?.[language] || routerTitle.technology.processList.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
path: '/HistoricalTask',
|
||||
component: () =>
|
||||
import('@/views/basicData/Warehouse/HistoricalTask'),
|
||||
name: 'HistoricalTask',
|
||||
meta: { title: routerTitle.Warehouse.HistoricalTask?.[language] || routerTitle.Warehouse.HistoricalTask.en, icon: 'form', affix: true, required: true, requireToken: true }
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@ -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'
|
||||
},
|
||||
|
@ -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
|
||||
})
|
||||
}
|
||||
}
|
||||
|
@ -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')]),
|
||||
|
@ -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
|
||||
|
7
src/views/basicData/Warehouse/CurrentTask.vue
Normal file
7
src/views/basicData/Warehouse/CurrentTask.vue
Normal file
@ -0,0 +1,7 @@
|
||||
<!--
|
||||
* @Author: zwq
|
||||
* @Date: 2022-01-12 15:35:11
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-01-12 15:35:11
|
||||
* @Description:
|
||||
-->
|
248
src/views/basicData/Warehouse/HistoricalTask.vue
Normal file
248
src/views/basicData/Warehouse/HistoricalTask.vue
Normal 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>
|
7
src/views/basicData/Warehouse/StorageBoxInfo.vue
Normal file
7
src/views/basicData/Warehouse/StorageBoxInfo.vue
Normal file
@ -0,0 +1,7 @@
|
||||
<!--
|
||||
* @Author: zwq
|
||||
* @Date: 2022-01-12 15:32:02
|
||||
* @LastEditors: zwq
|
||||
* @LastEditTime: 2022-01-12 15:32:03
|
||||
* @Description:
|
||||
-->
|
載入中…
新增問題並參考
Block a user