Compare commits
	
		
			4 Commits
		
	
	
		
			b5081ba279
			...
			90344983b3
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					90344983b3 | ||
| 
						 | 
					97997681a2 | ||
| 
						 | 
					82f44b5a62 | ||
| 28316462aa | 
@@ -2,6 +2,6 @@
 | 
			
		||||
ENV = 'production'
 | 
			
		||||
 | 
			
		||||
# base api
 | 
			
		||||
VUE_APP_BASE_API = ''
 | 
			
		||||
VUE_APP_BASE_API = '/api'
 | 
			
		||||
VUE_APP_REPORT_DESIGN_URL = '/ureport/designer'
 | 
			
		||||
VUE_APP_REPORT_VIEW_URL = '/ureport/preview'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										48
									
								
								src/api/basicData/Cache/processLocation.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								src/api/basicData/Cache/processLocation.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,48 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Descripttion:
 | 
			
		||||
 * @version:
 | 
			
		||||
 * @Author: fzq
 | 
			
		||||
 * @Date: 2022-03-06 18:13:49
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-06 18:29:43
 | 
			
		||||
 */
 | 
			
		||||
import request from '@/utils/request'
 | 
			
		||||
 | 
			
		||||
export function list(data) { // 获取工序库位信息列表
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/api/wms/processlocation/page',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function detail(id) { // 获取工序库位信息单条数据
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/api/wms/processlocation/getById',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: { id }
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
export function update(data) { // 更新工序库位信息单条数据
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/api/wms/processlocation/update',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function add(data) { // 手动绑定工序库位
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/api/wms/processlocation/add',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function locaDelete(id) { // 删除工序库位信息单条数据
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/api/wms/processlocation/delete',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data: { id }
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2020-12-29 16:00:14
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-03 20:09:43
 | 
			
		||||
 * @LastEditTime: 2022-03-05 10:22:28
 | 
			
		||||
 * @Description:
 | 
			
		||||
 */
 | 
			
		||||
import request from '@/utils/request'
 | 
			
		||||
@@ -10,7 +10,7 @@ import request from '@/utils/request'
 | 
			
		||||
export function equipmentInfoAttrList(data) { // 获取设备属性列表
 | 
			
		||||
  return request({
 | 
			
		||||
    // url: '/basic/equipment-attr/page',
 | 
			
		||||
    url: '/api/wms/equipment/page',
 | 
			
		||||
    url: '/api/wms/equipment/attr',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data
 | 
			
		||||
  })
 | 
			
		||||
 
 | 
			
		||||
@@ -1,19 +1,36 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: gtz
 | 
			
		||||
 * @Date: 2021-03-07 18:39:03
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2022-02-25 09:05:53
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-06 19:27:01
 | 
			
		||||
 * @Description: file content
 | 
			
		||||
 */
 | 
			
		||||
import request from '@/utils/request'
 | 
			
		||||
 | 
			
		||||
export function page(data) {
 | 
			
		||||
// 获取当前库存存储箱列表
 | 
			
		||||
export function list(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/api/report/report-sheet/page',
 | 
			
		||||
    url: '/api/report/report-storage-box/list',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 获取当前库存存储箱分页报表
 | 
			
		||||
export function page(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/api/report/report-storage-box/page',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 导出当前库存存储箱列表
 | 
			
		||||
export function download(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/api/report/report-storage-box/excel-download',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data,
 | 
			
		||||
    'responseType': 'arraybuffer'
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export function del(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
@@ -47,3 +64,44 @@ export function listCategory(data) {
 | 
			
		||||
    data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 获取当前存储箱对应基板列表
 | 
			
		||||
export function listSubstrate(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/api/report/report-substrate/list',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 删除基板信息
 | 
			
		||||
export function deleSubstrate(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/api/report/report-substrate/delete',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 获取当前存储箱对应基板分页报表
 | 
			
		||||
export function pageSubstrate(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/api/report/report-substrate/page',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 更新基板信息
 | 
			
		||||
export function updateSubstrate(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/api/report/report-substrate/update',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
// 导出当前存储箱对应基板列表
 | 
			
		||||
export function downloadSubstrate(data) {
 | 
			
		||||
  return request({
 | 
			
		||||
    url: '/api/report/report-substrate/excel-download',
 | 
			
		||||
    method: 'post',
 | 
			
		||||
    data
 | 
			
		||||
  })
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Date: 2020-12-14 09:07:03
 | 
			
		||||
 * @LastEditors: Please set LastEditors
 | 
			
		||||
 * @LastEditTime: 2021-07-22 09:12:23
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-05 11:13:00
 | 
			
		||||
 * @FilePath: \basic-admin\src\filters\index.js
 | 
			
		||||
 * @Description: 过滤器定义、多语言过滤器修改
 | 
			
		||||
 */
 | 
			
		||||
 
 | 
			
		||||
@@ -594,14 +594,14 @@ export default {
 | 
			
		||||
      },
 | 
			
		||||
      process: {
 | 
			
		||||
        zh: '工序信息',
 | 
			
		||||
        en: 'Process Info',
 | 
			
		||||
        en: 'ProcessLocation Info',
 | 
			
		||||
        processInfo: {
 | 
			
		||||
          zh: '工序信息',
 | 
			
		||||
          en: 'Process Info'
 | 
			
		||||
          zh: '工序库位信息',
 | 
			
		||||
          en: 'ProcessLocation Info'
 | 
			
		||||
        },
 | 
			
		||||
        processInfoAdd: {
 | 
			
		||||
          zh: '工序信息管理',
 | 
			
		||||
          en: 'Process Manage'
 | 
			
		||||
          zh: '工序库位信息管理',
 | 
			
		||||
          en: 'ProcessLocation Manage'
 | 
			
		||||
        }
 | 
			
		||||
      },
 | 
			
		||||
      equipment: {
 | 
			
		||||
@@ -940,6 +940,26 @@ export default {
 | 
			
		||||
    form: {
 | 
			
		||||
      zh: '报表管理',
 | 
			
		||||
      en: 'Report Form',
 | 
			
		||||
      currentInventory: {
 | 
			
		||||
        zh: '当前库存',
 | 
			
		||||
        en: 'Current Inventory'
 | 
			
		||||
      },
 | 
			
		||||
      currentEmptyBox: {
 | 
			
		||||
        zh: '当前仓库空箱信息',
 | 
			
		||||
        en: 'Current Empty Box'
 | 
			
		||||
      },
 | 
			
		||||
      currentSubstrate: {
 | 
			
		||||
        zh: '当前基板流转情况',
 | 
			
		||||
        en: 'Current Substrate'
 | 
			
		||||
      },
 | 
			
		||||
      viewSubstrate: {
 | 
			
		||||
        zh: '查看基板',
 | 
			
		||||
        en: 'View Substrate'
 | 
			
		||||
      },
 | 
			
		||||
      editSubstrate: {
 | 
			
		||||
        zh: '编辑基板',
 | 
			
		||||
        en: 'Edit Substrate'
 | 
			
		||||
      },
 | 
			
		||||
      report: {
 | 
			
		||||
        zh: '报表列表',
 | 
			
		||||
        en: 'Report List'
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@
 | 
			
		||||
 * @Date: 2021-03-04 16:13:51
 | 
			
		||||
<<<<<<< HEAD
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-03 19:52:51
 | 
			
		||||
 * @LastEditTime: 2022-03-06 18:40:17
 | 
			
		||||
=======
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2022-03-04 10:13:41
 | 
			
		||||
@@ -251,6 +251,14 @@ export default {
 | 
			
		||||
    manual: '手动',
 | 
			
		||||
    workOrderId: '工单名称'
 | 
			
		||||
  },
 | 
			
		||||
  processLocation: {
 | 
			
		||||
    sequence: '顺序',
 | 
			
		||||
    locationName: '库位名',
 | 
			
		||||
    isProcess: '是否为工序准备箱',
 | 
			
		||||
    locationId: '库位ID',
 | 
			
		||||
    workSequenId: '工序ID',
 | 
			
		||||
    equipmentMark: '设备标记'
 | 
			
		||||
  },
 | 
			
		||||
  productPool: {
 | 
			
		||||
    productName: '产品名称',
 | 
			
		||||
    productCode: '产品编码'
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
/*
 | 
			
		||||
 * @Author: gtz
 | 
			
		||||
 * @Date: 2021-04-22 19:48:46
 | 
			
		||||
 * @LastEditors: gtz
 | 
			
		||||
 * @LastEditTime: 2021-04-27 12:13:25
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-06 16:50:50
 | 
			
		||||
 * @Description: file content
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
@@ -11,7 +11,30 @@ export default {
 | 
			
		||||
    reportName: '报表名称',
 | 
			
		||||
    reportSort: '报表分类',
 | 
			
		||||
    createTime: '添加时间',
 | 
			
		||||
    operation: '操作'
 | 
			
		||||
    operation: '操作',
 | 
			
		||||
    storageBoxNumber: '存储箱号',
 | 
			
		||||
    queryFiltering: '查询过滤'
 | 
			
		||||
  },
 | 
			
		||||
  inventory: {
 | 
			
		||||
    code: '存储箱号',
 | 
			
		||||
    status: '存储箱状态',
 | 
			
		||||
    inprocessCode: '完成工序',
 | 
			
		||||
    nextprocessCode: '下一个工序',
 | 
			
		||||
    currentLocation: '当前库位',
 | 
			
		||||
    storeTime: '存放时间',
 | 
			
		||||
    orderName: '工单名',
 | 
			
		||||
    substrateDetails: '详情基板',
 | 
			
		||||
    viewSubstrates: '查看基板',
 | 
			
		||||
    manual: '使用流程',
 | 
			
		||||
    downl: '导出'
 | 
			
		||||
  },
 | 
			
		||||
  substrate: {
 | 
			
		||||
    substrateCode: '基板编码',
 | 
			
		||||
    location: '当前位置',
 | 
			
		||||
    storeTime: '入库时间',
 | 
			
		||||
    substrateStatus: '基板状态',
 | 
			
		||||
    editSubstrate: '编辑基板',
 | 
			
		||||
    interCode: '内部编码'
 | 
			
		||||
  },
 | 
			
		||||
  reportSort: {
 | 
			
		||||
    all: '全部'
 | 
			
		||||
 
 | 
			
		||||
@@ -185,6 +185,7 @@ export const constantRoutes = [
 | 
			
		||||
        path: '/Materials',
 | 
			
		||||
        component: () => import('@/views/basicData/index'),
 | 
			
		||||
        name: 'Materials',
 | 
			
		||||
        hidden: true,
 | 
			
		||||
        meta: { title: routerTitle.basicData.materials?.[language] || routerTitle.basicData.materials.en, icon: 'form', affix: true, required: true, requireToken: true },
 | 
			
		||||
        children: [
 | 
			
		||||
          {
 | 
			
		||||
@@ -323,45 +324,6 @@ export const constantRoutes = [
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    path: '/form',
 | 
			
		||||
    component: Layout,
 | 
			
		||||
    redirect: '/form',
 | 
			
		||||
    name: 'formManage',
 | 
			
		||||
    meta: { title: routerTitle.form?.[language] || routerTitle.form.en, icon: 'form', iconPart: 'formManage', affix: true, required: true, requireToken: true, unuse: false },
 | 
			
		||||
    children: [{
 | 
			
		||||
      path: 'report',
 | 
			
		||||
      component: () => import('@/views/report-manage/ReportSortChoise'),
 | 
			
		||||
      name: 'Report',
 | 
			
		||||
      meta: { title: routerTitle.form.report?.[language] || routerTitle.form.report.en, icon: 'form', affix: true, required: true, requireToken: true }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      path: 'report-sort-list',
 | 
			
		||||
      component: () => import('@/views/report-manage/Report'),
 | 
			
		||||
      name: 'ReportSortList',
 | 
			
		||||
      hidden: true,
 | 
			
		||||
      meta: { title: routerTitle.form.reportSortList?.[language] || routerTitle.form.reportSortList.en, icon: 'form', affix: true, required: true, requireToken: true }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      path: 'report-view',
 | 
			
		||||
      component: () => import('@/views/report-manage/ReportView'),
 | 
			
		||||
      name: 'ReportDesign',
 | 
			
		||||
      meta: { title: routerTitle.form.reportView?.[language] || routerTitle.form.reportView.en, icon: 'form', affix: true, required: true, requireToken: true },
 | 
			
		||||
      hidden: true
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      path: 'report-design',
 | 
			
		||||
      component: () => import('@/views/report-manage/ReportDesign'),
 | 
			
		||||
      name: 'ReportDesign',
 | 
			
		||||
      meta: { title: routerTitle.form.reportDesign?.[language] || routerTitle.form.reportDesign.en, icon: 'form', affix: true, required: true, requireToken: true }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      path: 'report-sort',
 | 
			
		||||
      component: () => import('@/views/report-manage/ReportSort/index'),
 | 
			
		||||
      name: 'ReportSort',
 | 
			
		||||
      meta: { title: routerTitle.form.reportSort?.[language] || routerTitle.form.reportSort.en, icon: 'form', affix: true, required: true, requireToken: true }
 | 
			
		||||
    }]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    path: '/interface',
 | 
			
		||||
    component: Layout,
 | 
			
		||||
@@ -434,36 +396,36 @@ export const constantRoutes = [
 | 
			
		||||
    name: 'formManage',
 | 
			
		||||
    meta: { title: routerTitle.form?.[language] || routerTitle.form.en, icon: 'form', iconPart: 'formManage', affix: true, required: true, requireToken: true, unuse: false },
 | 
			
		||||
    children: [{
 | 
			
		||||
      path: 'report',
 | 
			
		||||
      component: () => import('@/views/report-manage/ReportSortChoise'),
 | 
			
		||||
      name: 'Report',
 | 
			
		||||
      meta: { title: routerTitle.form.report?.[language] || routerTitle.form.report.en, icon: 'form', affix: true, required: true, requireToken: true }
 | 
			
		||||
      path: 'currentInventory',
 | 
			
		||||
      component: () => import('@/views/report-manage/CurrentInventory'),
 | 
			
		||||
      name: 'currentInventory',
 | 
			
		||||
      meta: { title: routerTitle.form.currentInventory?.[language] || routerTitle.form.currentInventory.en, icon: 'form', affix: true, required: true, requireToken: true }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      path: 'report-sort-list',
 | 
			
		||||
      component: () => import('@/views/report-manage/Report'),
 | 
			
		||||
      name: 'ReportSortList',
 | 
			
		||||
      path: 'currentEmptyBox',
 | 
			
		||||
      component: () => import('@/views/report-manage/CurrentEmptyBox'),
 | 
			
		||||
      name: 'currentEmptyBox',
 | 
			
		||||
      meta: { title: routerTitle.form.currentEmptyBox?.[language] || routerTitle.form.currentEmptyBox.en, icon: 'form', affix: true, required: true, requireToken: true }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      path: 'currentSubstrate',
 | 
			
		||||
      component: () => import('@/views/report-manage/CurrentSubstrate'),
 | 
			
		||||
      name: 'currentSubstrate',
 | 
			
		||||
      meta: { title: routerTitle.form.currentSubstrate?.[language] || routerTitle.form.currentSubstrate.en, icon: 'form', affix: true, required: true, requireToken: true }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      path: 'editSubstrate',
 | 
			
		||||
      component: () => import('@/views/report-manage/components/edit-substrate'),
 | 
			
		||||
      name: 'editSubstrate',
 | 
			
		||||
      hidden: true,
 | 
			
		||||
      meta: { title: routerTitle.form.reportSortList?.[language] || routerTitle.form.reportSortList.en, icon: 'form', affix: true, required: true, requireToken: true }
 | 
			
		||||
      meta: { title: routerTitle.form.editSubstrate?.[language] || routerTitle.form.editSubstrate.en, icon: 'form', affix: true, required: true, requireToken: true }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      path: 'report-view',
 | 
			
		||||
      component: () => import('@/views/report-manage/ReportView'),
 | 
			
		||||
      name: 'ReportDesign',
 | 
			
		||||
      meta: { title: routerTitle.form.reportView?.[language] || routerTitle.form.reportView.en, icon: 'form', affix: true, required: true, requireToken: true },
 | 
			
		||||
      hidden: true
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      path: 'report-design',
 | 
			
		||||
      component: () => import('@/views/report-manage/ReportDesign'),
 | 
			
		||||
      name: 'ReportDesign',
 | 
			
		||||
      meta: { title: routerTitle.form.reportDesign?.[language] || routerTitle.form.reportDesign.en, icon: 'form', affix: true, required: true, requireToken: true }
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      path: 'report-sort',
 | 
			
		||||
      component: () => import('@/views/report-manage/ReportSort/index'),
 | 
			
		||||
      name: 'ReportSort',
 | 
			
		||||
      meta: { title: routerTitle.form.reportSort?.[language] || routerTitle.form.reportSort.en, icon: 'form', affix: true, required: true, requireToken: true }
 | 
			
		||||
      path: 'viewSubstrate',
 | 
			
		||||
      component: () => import('@/views/report-manage/components/viewSubstrate'),
 | 
			
		||||
      name: 'viewSubstrate',
 | 
			
		||||
      hidden: true,
 | 
			
		||||
      meta: { title: routerTitle.form.viewSubstrate?.[language] || routerTitle.form.viewSubstrate.en, icon: 'form', affix: true, required: true, requireToken: true }
 | 
			
		||||
    }]
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
 
 | 
			
		||||
@@ -2,15 +2,22 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2020-12-29 15:41:11
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-03 19:37:48
 | 
			
		||||
 * @LastEditTime: 2022-03-04 19:08:00
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="app-container">
 | 
			
		||||
    <div style="margin:10px 50px">
 | 
			
		||||
    <!-- <div style="margin:10px 50px">
 | 
			
		||||
      <el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button>
 | 
			
		||||
      <el-button type="primary" @click="addNew()">{{ 'btn.add' | i18nFilter }}</el-button>
 | 
			
		||||
    </div>
 | 
			
		||||
    </div> -->
 | 
			
		||||
    <head-form
 | 
			
		||||
      :placeholder-name="placeholderName"
 | 
			
		||||
      :key-name="keyNameAdd"
 | 
			
		||||
      @getDataList="getList"
 | 
			
		||||
      @add="addNew"
 | 
			
		||||
    />
 | 
			
		||||
    <el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button>
 | 
			
		||||
    <base-table
 | 
			
		||||
      :page="listQuery.current"
 | 
			
		||||
      :limit="listQuery.size"
 | 
			
		||||
@@ -30,6 +37,7 @@
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>import i18n from '@/lang'
 | 
			
		||||
import HeadForm from '@/components/basicData/HeadForm'
 | 
			
		||||
import { locationList, locationDelete } from '@/api/basicData/Cache/location'
 | 
			
		||||
import locationAttrAdd from './locationAttr-add.vue'
 | 
			
		||||
import BaseTable from '@/components/BaseTable'
 | 
			
		||||
@@ -83,7 +91,7 @@ const tableProps = [
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'rowNum',
 | 
			
		||||
    prop: 'layers',
 | 
			
		||||
    label: i18n.t('module.basicData.cache.rowMark'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
@@ -106,7 +114,7 @@ const tableProps = [
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'Location',
 | 
			
		||||
  components: { BaseTable, MethodBtn, locationAttrAdd },
 | 
			
		||||
  components: { BaseTable, MethodBtn, locationAttrAdd, HeadForm },
 | 
			
		||||
  filters: {
 | 
			
		||||
    statusFilter(status) {
 | 
			
		||||
      const statusMap = {
 | 
			
		||||
@@ -120,6 +128,8 @@ export default {
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      addOrUpdateVisible: false,
 | 
			
		||||
      keyNameAdd: i18n.t('module.basicData.visual.keyword'),
 | 
			
		||||
      placeholderName: this.$t('module.basicData.cache.LocationName'),
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      trueWidth: 200,
 | 
			
		||||
      tableProps,
 | 
			
		||||
@@ -128,7 +138,8 @@ export default {
 | 
			
		||||
      listQuery: {
 | 
			
		||||
        current: 1,
 | 
			
		||||
        size: 990,
 | 
			
		||||
        shelfId: ''
 | 
			
		||||
        shelfId: '',
 | 
			
		||||
        id: ''
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
@@ -163,6 +174,8 @@ export default {
 | 
			
		||||
    getList(key) {
 | 
			
		||||
      this.listLoading = true
 | 
			
		||||
      this.listQuery.name = key
 | 
			
		||||
      // shelfId与查询参数id关联
 | 
			
		||||
      this.listQuery.id = this.listQuery.shelfId
 | 
			
		||||
      locationList(this.listQuery).then(response => {
 | 
			
		||||
        if (response.data.records) {
 | 
			
		||||
          this.list = response.data.records
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2020-12-29 16:37:56
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-03 19:42:43
 | 
			
		||||
 * @LastEditTime: 2022-03-04 18:59:53
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -26,6 +26,9 @@
 | 
			
		||||
      <el-form-item :label="$t('module.basicData.cache.columnMark')" prop="columns">
 | 
			
		||||
        <el-input v-model="dataForm.columns" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.columnMark')])" clearable />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item :label="$t('module.basicData.cache.locationType')" prop="locationType">
 | 
			
		||||
        <el-input v-model="dataForm.locationType" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.locationType')])" clearable />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item :label="$t('module.basicData.cache.status')" prop="status">
 | 
			
		||||
        <el-input v-model="dataForm.status" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.cache.status')])" clearable />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
@@ -119,7 +122,8 @@ export default {
 | 
			
		||||
            })
 | 
			
		||||
          } else {
 | 
			
		||||
            locationAdd(data).then(res => {
 | 
			
		||||
              // console.log(data)
 | 
			
		||||
              console.log(data)
 | 
			
		||||
              console.log(res)
 | 
			
		||||
              this.$message({
 | 
			
		||||
                message: this.$t('module.basicData.visual.success'),
 | 
			
		||||
                type: 'success',
 | 
			
		||||
 
 | 
			
		||||
@@ -2,17 +2,17 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2020-12-29 15:41:11
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-03 20:47:18
 | 
			
		||||
 * @LastEditTime: 2022-03-04 19:00:14
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="app-container">
 | 
			
		||||
    <head-form
 | 
			
		||||
    <!-- <head-form
 | 
			
		||||
      :placeholder-name="placeholderName"
 | 
			
		||||
      :key-name="keyName"
 | 
			
		||||
      @getDataList="getList"
 | 
			
		||||
      @add="addNew"
 | 
			
		||||
    />
 | 
			
		||||
    /> -->
 | 
			
		||||
    <base-table
 | 
			
		||||
      :page="listQuery.current"
 | 
			
		||||
      :limit="listQuery.size"
 | 
			
		||||
@@ -39,7 +39,7 @@
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>import i18n from '@/lang'
 | 
			
		||||
import HeadForm from '@/components/basicData/HeadForm'
 | 
			
		||||
// import HeadForm from '@/components/basicData/HeadForm'
 | 
			
		||||
import BaseTable from '@/components/BaseTable'
 | 
			
		||||
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
 | 
			
		||||
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
 | 
			
		||||
@@ -108,7 +108,7 @@ const tableProps = [
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'Area',
 | 
			
		||||
  components: { Pagination, BaseTable, MethodBtn, HeadForm, shelfAttrAdd },
 | 
			
		||||
  components: { Pagination, BaseTable, MethodBtn, shelfAttrAdd },
 | 
			
		||||
  filters: {
 | 
			
		||||
    statusFilter(status) {
 | 
			
		||||
      const statusMap = {
 | 
			
		||||
 
 | 
			
		||||
@@ -37,7 +37,7 @@
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
          <el-col :span="8">
 | 
			
		||||
            <el-form-item :label="$t('module.basicData.equipment.EquipmentType')" prop="equipmentType">
 | 
			
		||||
            <!-- <el-form-item :label="$t('module.basicData.equipment.EquipmentType')" prop="equipmentType">
 | 
			
		||||
              <el-select
 | 
			
		||||
                v-model="dataForm.equipmentType"
 | 
			
		||||
                :disabled="isdetail"
 | 
			
		||||
@@ -53,9 +53,25 @@
 | 
			
		||||
                  :disabled="item.disabled"
 | 
			
		||||
                />
 | 
			
		||||
              </el-select>
 | 
			
		||||
            </el-form-item> -->
 | 
			
		||||
            <el-form-item :label="$t('module.basicData.equipment.EquipmentType')" prop="equipmentType">
 | 
			
		||||
              <el-input v-model="dataForm.equipmentType" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.equipment.EquipmentType')])" clearable :style="{width: '100%'}" />
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-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-ddT00:00:00"
 | 
			
		||||
                :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.equipment.EquipmentGrouping')" prop="groupId">
 | 
			
		||||
              <el-select
 | 
			
		||||
                v-model="dataForm.groupId"
 | 
			
		||||
@@ -73,10 +89,10 @@
 | 
			
		||||
                />
 | 
			
		||||
              </el-select>
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
          </el-col> -->
 | 
			
		||||
        </el-row>
 | 
			
		||||
        <el-row>
 | 
			
		||||
          <el-col :span="8">
 | 
			
		||||
          <!-- <el-col :span="8">
 | 
			
		||||
            <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>
 | 
			
		||||
@@ -93,23 +109,10 @@
 | 
			
		||||
                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> -->
 | 
			
		||||
        </el-row>
 | 
			
		||||
        <el-row>
 | 
			
		||||
          <el-col :span="8">
 | 
			
		||||
          <!-- <el-col :span="8">
 | 
			
		||||
            <el-form-item :label="$t('module.basicData.visual.debugTime')" prop="debugTime">
 | 
			
		||||
              <el-date-picker
 | 
			
		||||
                v-model="dataForm.debugTime"
 | 
			
		||||
@@ -126,7 +129,7 @@
 | 
			
		||||
            <el-form-item :label="$t('module.basicData.equipment.DebugPeriod')" prop="debugPeriod">
 | 
			
		||||
              <el-input v-model="dataForm.debugPeriod" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.equipment.DebugPeriod')])" clearable :style="{width: '100%'}" />
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
          </el-col> -->
 | 
			
		||||
          <el-col :span="8">
 | 
			
		||||
            <el-form-item :label="$t('module.basicData.visual.Manufacturer')" prop="manufacturer">
 | 
			
		||||
              <el-input
 | 
			
		||||
@@ -138,9 +141,19 @@
 | 
			
		||||
              />
 | 
			
		||||
            </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>
 | 
			
		||||
          </el-col>
 | 
			
		||||
          <el-col :span="8">
 | 
			
		||||
            <el-form-item :label="$t('module.basicData.visual.Description')" prop="description">
 | 
			
		||||
              <el-input v-model="dataForm.description" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Description')])" clearable :style="{width: '100%'}" />
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
        </el-row>
 | 
			
		||||
        <el-row>
 | 
			
		||||
          <el-col :span="8">
 | 
			
		||||
          <!-- <el-col :span="8">
 | 
			
		||||
            <el-form-item :label="$t('module.basicData.equipment.intellectualProperty')" prop="intellectualProperty">
 | 
			
		||||
              <el-input
 | 
			
		||||
                v-model="dataForm.intellectualProperty"
 | 
			
		||||
@@ -162,20 +175,8 @@
 | 
			
		||||
                :style="{width: '100%'}"
 | 
			
		||||
              />
 | 
			
		||||
            </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>
 | 
			
		||||
          </el-col>
 | 
			
		||||
        </el-row>
 | 
			
		||||
        <el-row>
 | 
			
		||||
          <el-col :span="8">
 | 
			
		||||
            <el-form-item :label="$t('module.basicData.visual.Description')" prop="description">
 | 
			
		||||
              <el-input v-model="dataForm.description" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.Description')])" clearable :style="{width: '100%'}" />
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
          <el-col :span="8">
 | 
			
		||||
          </el-col> -->
 | 
			
		||||
          <!-- <el-col :span="8">
 | 
			
		||||
            <el-form-item :label="$t('module.basicData.equipment.plcVersion')" prop="plcVersion">
 | 
			
		||||
              <el-input v-model="dataForm.plcVersion" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.equipment.plcVersion')])" clearable :style="{width: '100%'}" />
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
@@ -184,9 +185,9 @@
 | 
			
		||||
            <el-form-item :label="$t('module.basicData.equipment.eapVersion')" prop="eapVersion">
 | 
			
		||||
              <el-input v-model="dataForm.eapVersion" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.equipment.eapVersion')])" clearable :style="{width: '100%'}" />
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
          </el-col> -->
 | 
			
		||||
        </el-row>
 | 
			
		||||
        <el-row>
 | 
			
		||||
        <!-- <el-row>
 | 
			
		||||
          <el-col :span="8">
 | 
			
		||||
            <el-form-item :label="$t('module.basicData.equipment.maintenanceCycle')" prop="maintenanceCycle">
 | 
			
		||||
              <el-input v-model="dataForm.maintenanceCycle" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.equipment.maintenanceCycle')])" clearable :style="{width: '100%'}" />
 | 
			
		||||
@@ -197,9 +198,9 @@
 | 
			
		||||
              <el-input v-model="dataForm.maintenanceTime" :disabled="isdetail" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.equipment.maintenanceTime')])" clearable :style="{width: '100%'}" />
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
        </el-row>
 | 
			
		||||
        </el-row> -->
 | 
			
		||||
        <el-row>
 | 
			
		||||
          <el-col :span="4">
 | 
			
		||||
          <!-- <el-col :span="4">
 | 
			
		||||
            <el-form-item :label="$t('module.basicData.equipment.E10Status')" prop="estatus">
 | 
			
		||||
              <el-switch
 | 
			
		||||
                v-model="dataForm.estatus"
 | 
			
		||||
@@ -248,11 +249,11 @@
 | 
			
		||||
                inactive-color="#AAAAAA"
 | 
			
		||||
              />
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
          </el-col>
 | 
			
		||||
          </el-col> -->
 | 
			
		||||
        </el-row>
 | 
			
		||||
        <el-row>
 | 
			
		||||
          <el-col :span="9">
 | 
			
		||||
            <el-form-item v-if="listQuery.equipmentId && !isdetail" :label="$t('module.basicData.equipment.equipmentImg')" prop="eImg">
 | 
			
		||||
            <!-- <el-form-item v-if="listQuery.equipmentId && !isdetail" :label="$t('module.basicData.equipment.equipmentImg')" prop="eImg">
 | 
			
		||||
              <el-upload
 | 
			
		||||
                ref="eImg"
 | 
			
		||||
                name="files"
 | 
			
		||||
@@ -265,7 +266,7 @@
 | 
			
		||||
              >
 | 
			
		||||
                <el-button size="small" type="primary" icon="el-icon-upload">{{ 'btn.upload' | i18nFilter }}</el-button>
 | 
			
		||||
              </el-upload>
 | 
			
		||||
            </el-form-item>
 | 
			
		||||
            </el-form-item> -->
 | 
			
		||||
            <el-form-item v-if="isdetail" :label="$t('module.basicData.equipment.equipmentImg')" prop="upInfo">
 | 
			
		||||
              <div v-for="item in imgList" :key="item.id">
 | 
			
		||||
                {{ item.fileName }} <el-button size="small" type="primary" icon="el-icon-upload" @click="downloadFile(item.fileId)">{{ 'btn.download' | i18nFilter }}</el-button>
 | 
			
		||||
@@ -332,9 +333,7 @@ import {
 | 
			
		||||
  equipmentInfoCode,
 | 
			
		||||
  equipmentInfoFileAdd
 | 
			
		||||
} from '@/api/basicData/Equipment/equipmentInfo'
 | 
			
		||||
import { equipmentGroupList } from '@/api/basicData/Equipment/equipmentGroup'
 | 
			
		||||
import { equipmentInfoAttrList, equipmentInfoAttrDelete } from '@/api/basicData/Equipment/equipmentInfoAttr'
 | 
			
		||||
import { equipmentTypeList } from '@/api/basicData/Equipment/equipmentType'
 | 
			
		||||
import BaseTable from '@/components/BaseTable'
 | 
			
		||||
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
 | 
			
		||||
import equipmentInfoAttrAdd from './equipmentInfoAttr-add'
 | 
			
		||||
@@ -364,15 +363,15 @@ const tableProps = [
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'attrValue',
 | 
			
		||||
    prop: 'attrContent',
 | 
			
		||||
    label: i18n.t('module.basicData.visual.AttributeValue'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'remark',
 | 
			
		||||
    label: i18n.t('module.basicData.visual.Remarks'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  }
 | 
			
		||||
  // {
 | 
			
		||||
  //   prop: 'remark',
 | 
			
		||||
  //   label: i18n.t('module.basicData.visual.Remarks'),
 | 
			
		||||
  //   align: 'center'
 | 
			
		||||
  // }
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
@@ -428,17 +427,17 @@ export default {
 | 
			
		||||
          required: true,
 | 
			
		||||
          message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.equipment.EquipmentType')]),
 | 
			
		||||
          trigger: 'change'
 | 
			
		||||
        }],
 | 
			
		||||
        maintenanceCycle: [{
 | 
			
		||||
          required: true,
 | 
			
		||||
          message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.equipment.maintenanceCycle')]),
 | 
			
		||||
          trigger: 'blur'
 | 
			
		||||
        }],
 | 
			
		||||
        maintenanceTime: [{
 | 
			
		||||
          required: true,
 | 
			
		||||
          message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.equipment.maintenanceTime')]),
 | 
			
		||||
          trigger: 'blur'
 | 
			
		||||
        }]
 | 
			
		||||
        // maintenanceCycle: [{
 | 
			
		||||
        //   required: true,
 | 
			
		||||
        //   message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.equipment.maintenanceCycle')]),
 | 
			
		||||
        //   trigger: 'blur'
 | 
			
		||||
        // }],
 | 
			
		||||
        // maintenanceTime: [{
 | 
			
		||||
        //   required: true,
 | 
			
		||||
        //   message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.equipment.maintenanceTime')]),
 | 
			
		||||
        //   trigger: 'blur'
 | 
			
		||||
        // }]
 | 
			
		||||
      },
 | 
			
		||||
      typeCode: {},
 | 
			
		||||
      eImgAction: uploadPath,
 | 
			
		||||
@@ -461,6 +460,7 @@ export default {
 | 
			
		||||
  created() {
 | 
			
		||||
    this.listQuery.equipmentId = this.$route.query.id
 | 
			
		||||
    this.init()
 | 
			
		||||
    this.getList()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    init() {
 | 
			
		||||
@@ -484,12 +484,12 @@ export default {
 | 
			
		||||
      //   })
 | 
			
		||||
      // }
 | 
			
		||||
      // this.list.splice(0, this.list.length)
 | 
			
		||||
      equipmentTypeList(this.listQuery).then(response => {
 | 
			
		||||
        this.equipmentTypeOption = response.data.records
 | 
			
		||||
      })
 | 
			
		||||
      equipmentGroupList(this.listQuery).then(response => {
 | 
			
		||||
        this.equipmentGroupOption = response.data.records
 | 
			
		||||
      })
 | 
			
		||||
      // equipmentTypeList(this.listQuery).then(response => {
 | 
			
		||||
      //   this.equipmentTypeOption = response.data.records
 | 
			
		||||
      // })
 | 
			
		||||
      // equipmentGroupList(this.listQuery).then(response => {
 | 
			
		||||
      //   this.equipmentGroupOption = response.data.records
 | 
			
		||||
      // })
 | 
			
		||||
      this.$nextTick(() => {
 | 
			
		||||
        this.$refs['dataForm'].resetFields()
 | 
			
		||||
        if (this.listQuery.equipmentId) {
 | 
			
		||||
@@ -514,7 +514,9 @@ export default {
 | 
			
		||||
    },
 | 
			
		||||
    getList() {
 | 
			
		||||
      this.listLoading = true
 | 
			
		||||
      console.log(this.listQuery)
 | 
			
		||||
      equipmentInfoAttrList(this.listQuery).then(response => {
 | 
			
		||||
        console.log(response)
 | 
			
		||||
        if (response.data.records) {
 | 
			
		||||
          this.list = response.data.records
 | 
			
		||||
        } else {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,8 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2020-12-29 16:37:56
 | 
			
		||||
 * @LastEditors: zwq
 | 
			
		||||
 * @LastEditTime: 2021-03-25 16:31:46
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-05 14:08:41
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
@@ -19,12 +19,12 @@
 | 
			
		||||
      <el-form-item :label="$t('module.basicData.visual.AttributeName')" prop="attrName">
 | 
			
		||||
        <el-input v-model="dataForm.attrName" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.AttributeName')])" clearable />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item :label="$t('module.basicData.visual.AttributeValue')" prop="attrValue">
 | 
			
		||||
        <el-input v-model="dataForm.attrValue" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.AttributeValue')])" clearable />
 | 
			
		||||
      <el-form-item :label="$t('module.basicData.visual.AttributeValue')" prop="attrContent">
 | 
			
		||||
        <el-input v-model="dataForm.attrContent" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.AttributeValue')])" clearable />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item :label="$t('module.basicData.visual.Remarks')" prop="remark">
 | 
			
		||||
      <!-- <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>
 | 
			
		||||
      </el-form-item> -->
 | 
			
		||||
    </el-form>
 | 
			
		||||
    <div class="drawer-footer">
 | 
			
		||||
      <el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button>
 | 
			
		||||
@@ -52,14 +52,14 @@ export default {
 | 
			
		||||
      dataForm: {
 | 
			
		||||
        id: 0,
 | 
			
		||||
        attrName: '',
 | 
			
		||||
        attrValue: '',
 | 
			
		||||
        attrContent: '',
 | 
			
		||||
        remark: ''
 | 
			
		||||
      },
 | 
			
		||||
      dataRule: {
 | 
			
		||||
        attrName: [
 | 
			
		||||
          { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.visual.AttributeName')]), trigger: 'blur' }
 | 
			
		||||
        ],
 | 
			
		||||
        attrValue: [
 | 
			
		||||
        attrContent: [
 | 
			
		||||
          { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.visual.AttributeValue')]), trigger: 'blur' }
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
@@ -74,6 +74,7 @@ export default {
 | 
			
		||||
        this.$refs['dataForm'].resetFields()
 | 
			
		||||
        if (this.dataForm.id) {
 | 
			
		||||
          equipmentInfoAttrDetail(this.dataForm.id).then(res => {
 | 
			
		||||
            console.log(res)
 | 
			
		||||
            this.dataForm = res.data
 | 
			
		||||
          })
 | 
			
		||||
        }
 | 
			
		||||
@@ -86,7 +87,7 @@ export default {
 | 
			
		||||
        if (valid) {
 | 
			
		||||
          const data = {
 | 
			
		||||
            'attrName': this.dataForm.attrName,
 | 
			
		||||
            'attrValue': this.dataForm.attrValue,
 | 
			
		||||
            'attrContent': this.dataForm.attrContent,
 | 
			
		||||
            'remark': this.dataForm.remark,
 | 
			
		||||
            'equipmentId': this.equipmentId,
 | 
			
		||||
            'id': this.dataForm.id
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,7 @@
 | 
			
		||||
 * @Author: zwq
 | 
			
		||||
 * @Date: 2020-12-29 15:41:11
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-03 20:28:43
 | 
			
		||||
 * @LastEditTime: 2022-03-05 11:01:57
 | 
			
		||||
 * @Description:
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,30 +1,34 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Descripttion:
 | 
			
		||||
 * @version:
 | 
			
		||||
 * @Author: fzq
 | 
			
		||||
 * @Date: 2022-03-04 11:12:42
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-06 19:17:36
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <el-dialog
 | 
			
		||||
    :title="!dataForm.id ? 'btn.add' : 'btn.edit' | i18nFilter"
 | 
			
		||||
    :title="!dataForm.locationId ? 'btn.add' : 'btn.edit' | i18nFilter"
 | 
			
		||||
    :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="storageBoxName">
 | 
			
		||||
        <el-input v-model="dataForm.storageBoxName" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.name')])" clearable />
 | 
			
		||||
    <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.storageBox.code')" prop="code">
 | 
			
		||||
        <el-input v-model="dataForm.code" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.storageBox.code')])" clearable />
 | 
			
		||||
      <el-form-item :label="$t('module.basicData.processLocation.workSequenId')" prop="workSequenId">
 | 
			
		||||
        <el-input v-model="dataForm.workSequenId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.workSequenId')])" clearable />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item :label="$t('module.basicData.visual.EnglishName')" prop="enName">
 | 
			
		||||
        <el-input v-model="dataForm.enName" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.visual.EnglishName')])" clearable />
 | 
			
		||||
      <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-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>
 | 
			
		||||
          <el-option
 | 
			
		||||
            v-for="item in options"
 | 
			
		||||
            :key="item.value"
 | 
			
		||||
            :label="item.label"
 | 
			
		||||
            :value="item.value"
 | 
			
		||||
          />
 | 
			
		||||
        </el-select>
 | 
			
		||||
      <el-form-item :label="$t('module.basicData.processLocation.locationId')" prop="locationId">
 | 
			
		||||
        <el-input v-model="dataForm.locationId" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.locationId')])" clearable />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <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 :label="$t('module.basicData.processLocation.isProcess')" prop="isProcess">
 | 
			
		||||
        <el-input v-model="dataForm.isProcess" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.isProcess')])" clearable />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item :label="$t('module.basicData.processLocation.equipmentMark')" prop="equipmentMark">
 | 
			
		||||
        <el-input v-model="dataForm.equipmentMark" :placeholder="$i18nForm(['placeholder.input', $t('module.basicData.processLocation.equipmentMark')])" clearable />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
    </el-form>
 | 
			
		||||
    <span slot="footer" class="dialog-footer">
 | 
			
		||||
@@ -35,7 +39,7 @@
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import { storageBoxDetail, storageBoxUpdate, storageBoxAdd, storageBoxCode } from '@/api/basicData/Cache/storageBox'
 | 
			
		||||
import { detail, update, add } from '@/api/basicData/Cache/processLocation'
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  data() {
 | 
			
		||||
@@ -43,56 +47,37 @@ export default {
 | 
			
		||||
      visible: false,
 | 
			
		||||
      dataForm: {
 | 
			
		||||
        id: 0,
 | 
			
		||||
        storageBoxName: '',
 | 
			
		||||
        code: '',
 | 
			
		||||
        status: 0,
 | 
			
		||||
        enName: '',
 | 
			
		||||
        note: ''
 | 
			
		||||
        sequence: '',
 | 
			
		||||
        locationName: '',
 | 
			
		||||
        isProcess: '',
 | 
			
		||||
        equipmentMark: ''
 | 
			
		||||
      },
 | 
			
		||||
      options: [
 | 
			
		||||
        {
 | 
			
		||||
          value: 0,
 | 
			
		||||
          label: '正常'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          value: 1,
 | 
			
		||||
          label: '维修中'
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
          value: 2,
 | 
			
		||||
          label: '报废'
 | 
			
		||||
        }
 | 
			
		||||
      ],
 | 
			
		||||
      dataRule: {
 | 
			
		||||
        storageBoxName: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.storageBox.name')]),
 | 
			
		||||
            trigger: 'blur' }
 | 
			
		||||
        ],
 | 
			
		||||
        code: [
 | 
			
		||||
          {
 | 
			
		||||
            required: true,
 | 
			
		||||
            message: this.$i18nForm(['placeholder.input', this.$t('module.basicData.storageBox.code')]),
 | 
			
		||||
            trigger: 'blur' }
 | 
			
		||||
        ]
 | 
			
		||||
      listQuery: {
 | 
			
		||||
        current: 1,
 | 
			
		||||
        size: 10,
 | 
			
		||||
        locationId: '',
 | 
			
		||||
        workSequenId: '',
 | 
			
		||||
        locationName: ''
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    init(id) {
 | 
			
		||||
      this.dataForm.id = id || ''
 | 
			
		||||
    init(LocationId) {
 | 
			
		||||
      this.listQuery.LocationId = LocationId || ''
 | 
			
		||||
      this.visible = true
 | 
			
		||||
      this.$nextTick(() => {
 | 
			
		||||
        this.$refs['dataForm'].resetFields()
 | 
			
		||||
        if (this.dataForm.id) {
 | 
			
		||||
          storageBoxDetail(this.dataForm.id).then(res => {
 | 
			
		||||
        if (this.listQuery.LocationId) {
 | 
			
		||||
          // list(this.listQuery).then(res =>{
 | 
			
		||||
          //   this.list = response.data.records
 | 
			
		||||
          // })
 | 
			
		||||
          detail(this.dataForm.id).then(res => {
 | 
			
		||||
            this.dataForm = res.data
 | 
			
		||||
          })
 | 
			
		||||
        } else {
 | 
			
		||||
          storageBoxCode().then(res => {
 | 
			
		||||
            this.dataForm.code = res.data
 | 
			
		||||
          })
 | 
			
		||||
          // storageBoxCode().then(res => {
 | 
			
		||||
          //   this.dataForm.code = res.data
 | 
			
		||||
          // })
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
@@ -103,7 +88,7 @@ export default {
 | 
			
		||||
          const data = this.dataForm
 | 
			
		||||
          data.id = this.dataForm.id
 | 
			
		||||
          if (this.dataForm.id) {
 | 
			
		||||
            storageBoxUpdate(data).then(res => {
 | 
			
		||||
            update(data).then(res => {
 | 
			
		||||
              this.$message({
 | 
			
		||||
                message: this.$t('module.basicData.visual.success'),
 | 
			
		||||
                type: 'success',
 | 
			
		||||
@@ -115,7 +100,7 @@ export default {
 | 
			
		||||
              })
 | 
			
		||||
            })
 | 
			
		||||
          } else {
 | 
			
		||||
            storageBoxAdd(data).then(res => {
 | 
			
		||||
            add(data).then(res => {
 | 
			
		||||
              this.$message({
 | 
			
		||||
                message: this.$t('module.basicData.visual.success'),
 | 
			
		||||
                type: 'success',
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,7 @@
 | 
			
		||||
 * @Author: fzq
 | 
			
		||||
 * @Date: 2022-03-03 09:51:25
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-03 10:06:26
 | 
			
		||||
 * @LastEditTime: 2022-03-06 19:15:25
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="app-container">
 | 
			
		||||
@@ -45,9 +45,8 @@ import BaseTable from '@/components/BaseTable'
 | 
			
		||||
import processInfoAdd from './components/processInfo-add'
 | 
			
		||||
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
 | 
			
		||||
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
 | 
			
		||||
import { storageBoxList, storageBoxDelete } from '@/api/basicData/Cache/storageBox'
 | 
			
		||||
import { list, locaDelete } from '@/api/basicData/Cache/processLocation'
 | 
			
		||||
import { timeFormatter } from '@/filters'
 | 
			
		||||
import basicData from '@/filters/basicData'
 | 
			
		||||
/**
 | 
			
		||||
 * 表格表头配置项 TypeScript接口注释
 | 
			
		||||
 * tableConfig<ConfigItem> = []
 | 
			
		||||
@@ -82,29 +81,33 @@ const tableProps = [
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'storageBoxName',
 | 
			
		||||
    label: i18n.t('module.basicData.storageBox.name'),
 | 
			
		||||
    prop: 'sequence',
 | 
			
		||||
    label: i18n.t('module.basicData.processLocation.sequence'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'code',
 | 
			
		||||
    label: i18n.t('module.basicData.storageBox.code'),
 | 
			
		||||
    prop: 'locationName',
 | 
			
		||||
    label: i18n.t('module.basicData.processLocation.locationName'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'enName',
 | 
			
		||||
    label: i18n.t('module.basicData.visual.EnglishName'),
 | 
			
		||||
    prop: 'isProcess',
 | 
			
		||||
    label: i18n.t('module.basicData.processLocation.isProcess'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'status',
 | 
			
		||||
    label: i18n.t('module.basicData.storageBox.status'),
 | 
			
		||||
    filter: basicData('storage'),
 | 
			
		||||
    prop: 'locationId',
 | 
			
		||||
    label: i18n.t('module.basicData.processLocation.locationId'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'note',
 | 
			
		||||
    label: i18n.t('module.basicData.storageBox.remark'),
 | 
			
		||||
    prop: 'workSequenId',
 | 
			
		||||
    label: i18n.t('module.basicData.processLocation.workSequenId'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'equipmentMark',
 | 
			
		||||
    label: i18n.t('module.basicData.processLocation.equipmentMark'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
@@ -126,7 +129,7 @@ export default {
 | 
			
		||||
    return {
 | 
			
		||||
      addOrUpdateVisible: false,
 | 
			
		||||
      keyName: i18n.t('module.basicData.visual.keyword'),
 | 
			
		||||
      placeholderName: this.$t('module.basicData.storageBox.name') + this.$t('module.basicData.visual.Or') + this.$t('module.basicData.storageBox.code'),
 | 
			
		||||
      placeholderName: i18n.t('module.basicData.processLocation.locationName'),
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      trueWidth: 200,
 | 
			
		||||
      tableProps,
 | 
			
		||||
@@ -136,7 +139,10 @@ export default {
 | 
			
		||||
      listLoading: true,
 | 
			
		||||
      listQuery: {
 | 
			
		||||
        current: 1,
 | 
			
		||||
        size: 10
 | 
			
		||||
        size: 10,
 | 
			
		||||
        locationId: '',
 | 
			
		||||
        workSequenId: '',
 | 
			
		||||
        locationName: ''
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
@@ -146,12 +152,13 @@ export default {
 | 
			
		||||
  methods: {
 | 
			
		||||
    handleClick(raw) {
 | 
			
		||||
      if (raw.type === 'delete') {
 | 
			
		||||
        this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.storageBoxName}]?`, this.$t('module.basicData.visual.Tips'), {
 | 
			
		||||
        this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.locationName}]?`, this.$t('module.basicData.visual.Tips'), {
 | 
			
		||||
          confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'),
 | 
			
		||||
          cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'),
 | 
			
		||||
          type: 'warning'
 | 
			
		||||
        }).then(() => {
 | 
			
		||||
          storageBoxDelete(raw.data.id).then(response => {
 | 
			
		||||
          console.log(raw.data)
 | 
			
		||||
          locaDelete(raw.data.id).then(response => {
 | 
			
		||||
            this.$message({
 | 
			
		||||
              message: this.$t('module.basicData.visual.success'),
 | 
			
		||||
              type: 'success',
 | 
			
		||||
@@ -163,21 +170,22 @@ export default {
 | 
			
		||||
          })
 | 
			
		||||
        }).catch(() => {})
 | 
			
		||||
      } else if (raw.type === 'edit') {
 | 
			
		||||
        this.addNew(raw.data.id)
 | 
			
		||||
        this.addNew(raw.data.locationId)
 | 
			
		||||
      } else {
 | 
			
		||||
        this.addNew(raw.data.id, true)
 | 
			
		||||
        this.addNew(raw.data.locationId, true)
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    getList(key) {
 | 
			
		||||
      this.listLoading = true
 | 
			
		||||
      this.listQuery.storageBoxName = key
 | 
			
		||||
      storageBoxList(this.listQuery).then(response => {
 | 
			
		||||
      this.listQuery.locationName = key
 | 
			
		||||
      list(this.listQuery).then(response => {
 | 
			
		||||
        if (response.data.records) {
 | 
			
		||||
          this.list = response.data.records
 | 
			
		||||
        } else {
 | 
			
		||||
          this.list.splice(0, this.list.length)
 | 
			
		||||
        }
 | 
			
		||||
        this.total = response.data.total
 | 
			
		||||
        console.log(response)
 | 
			
		||||
        this.listLoading = false
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										199
									
								
								src/views/report-manage/CurrentEmptyBox.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										199
									
								
								src/views/report-manage/CurrentEmptyBox.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,199 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Descripttion:
 | 
			
		||||
 * @version:
 | 
			
		||||
 * @Author: fzq
 | 
			
		||||
 * @Date: 2022-03-04 20:54:54
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-06 16:37:29
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="app-container">
 | 
			
		||||
    <head-form
 | 
			
		||||
      :placeholder-name="placeholderName"
 | 
			
		||||
      :key-name="keyName"
 | 
			
		||||
      :show-add="false"
 | 
			
		||||
      @getDataList="getList"
 | 
			
		||||
    />
 | 
			
		||||
    <base-table
 | 
			
		||||
      :page="listQuery.current"
 | 
			
		||||
      :limit="listQuery.size"
 | 
			
		||||
      :table-config="tableProps"
 | 
			
		||||
      :table-data="list"
 | 
			
		||||
      :is-loading="listLoading"
 | 
			
		||||
    >
 | 
			
		||||
      <!-- <method-btn
 | 
			
		||||
        slot="handleBtn"
 | 
			
		||||
        :width="trueWidth"
 | 
			
		||||
        :method-list="tableBtn"
 | 
			
		||||
        @clickBtn="handleClick"
 | 
			
		||||
      /> -->
 | 
			
		||||
    </base-table>
 | 
			
		||||
    <pagination
 | 
			
		||||
      v-show="total > 0"
 | 
			
		||||
      :total="total"
 | 
			
		||||
      :page.sync="listQuery.current"
 | 
			
		||||
      :limit.sync="listQuery.size"
 | 
			
		||||
      @pagination="getList()"
 | 
			
		||||
    />
 | 
			
		||||
    <!-- <storageBox-add v-if="addOrUpdateVisible" ref="addOrUpdate" :cache-id="listQuery.cacheId" @refreshDataList="getList" /> -->
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>import i18n from '@/lang'
 | 
			
		||||
import HeadForm from '@/components/basicData/HeadForm'
 | 
			
		||||
import BaseTable from '@/components/BaseTable'
 | 
			
		||||
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
 | 
			
		||||
import { list } from '@/api/report-manage/report'
 | 
			
		||||
/**
 | 
			
		||||
 * 表格表头配置项 TypeScript接口注释
 | 
			
		||||
 * tableConfig<ConfigItem> = []
 | 
			
		||||
 *
 | 
			
		||||
 * Interface ConfigItem = {
 | 
			
		||||
 *  prop: string,
 | 
			
		||||
 *  label: string,
 | 
			
		||||
 *  width: string,
 | 
			
		||||
 *  align: string,
 | 
			
		||||
 *  subcomponent: function,
 | 
			
		||||
 *  filter: function
 | 
			
		||||
 * }
 | 
			
		||||
 *
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: 'edit',
 | 
			
		||||
    btnName: 'btn.edit'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: 'delete',
 | 
			
		||||
    btnName: 'btn.delete'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'code',
 | 
			
		||||
    label: i18n.t('module.report.inventory.code'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'status',
 | 
			
		||||
    label: i18n.t('module.report.inventory.status'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'inprocessCode',
 | 
			
		||||
    label: i18n.t('module.report.inventory.inprocessCode'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'currentLocation',
 | 
			
		||||
    label: i18n.t('module.report.inventory.currentLocation'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'storeTime',
 | 
			
		||||
    label: i18n.t('module.report.inventory.storeTime'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'manual',
 | 
			
		||||
    label: i18n.t('module.report.inventory.manual'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'Inventory',
 | 
			
		||||
  components: { Pagination, BaseTable, HeadForm },
 | 
			
		||||
  filters: {
 | 
			
		||||
    statusFilter(status) {
 | 
			
		||||
      const statusMap = {
 | 
			
		||||
        published: 'success',
 | 
			
		||||
        draft: 'info',
 | 
			
		||||
        deleted: 'danger'
 | 
			
		||||
      }
 | 
			
		||||
      return statusMap[status]
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      addOrUpdateVisible: false,
 | 
			
		||||
      keyName: i18n.t('module.report.reportList.storageBoxNumber'),
 | 
			
		||||
      placeholderName: this.$t('module.report.reportList.queryFiltering'),
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      trueWidth: 200,
 | 
			
		||||
      tableProps,
 | 
			
		||||
      list: [],
 | 
			
		||||
      total: 0,
 | 
			
		||||
      listLoading: true,
 | 
			
		||||
      listQuery: {
 | 
			
		||||
        current: 1,
 | 
			
		||||
        size: 10
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  created() {
 | 
			
		||||
    this.getList()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    // handleClick(raw) {
 | 
			
		||||
    //   if (raw.type === 'delete') {
 | 
			
		||||
    //     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'
 | 
			
		||||
    //     }).then(() => {
 | 
			
		||||
    //       storageBoxDelete(raw.data.id).then(response => {
 | 
			
		||||
    //         this.$message({
 | 
			
		||||
    //           message: this.$t('module.basicData.visual.success'),
 | 
			
		||||
    //           type: 'success',
 | 
			
		||||
    //           duration: 1500,
 | 
			
		||||
    //           onClose: () => {
 | 
			
		||||
    //             this.getList()
 | 
			
		||||
    //           }
 | 
			
		||||
    //         })
 | 
			
		||||
    //       })
 | 
			
		||||
    //     }).catch(() => {})
 | 
			
		||||
    //   } else if (raw.type === 'edit') {
 | 
			
		||||
    //     this.addNew(raw.data.id)
 | 
			
		||||
    //   } else {
 | 
			
		||||
    //     this.addNew(raw.data.id, true)
 | 
			
		||||
    //   }
 | 
			
		||||
    // },
 | 
			
		||||
    getList(key) {
 | 
			
		||||
      this.listLoading = true
 | 
			
		||||
      this.listQuery.code = key
 | 
			
		||||
      console.log(this.listQuery)
 | 
			
		||||
      list(this.listQuery).then(response => {
 | 
			
		||||
        console.log(response)
 | 
			
		||||
        if (response.data) {
 | 
			
		||||
          this.list = response.data
 | 
			
		||||
        } else {
 | 
			
		||||
          this.list.splice(0, this.list.length)
 | 
			
		||||
        }
 | 
			
		||||
        // this.total = response.data.total
 | 
			
		||||
        this.listLoading = false
 | 
			
		||||
      })
 | 
			
		||||
    }
 | 
			
		||||
    // 新增 / 修改
 | 
			
		||||
    // addNew(id) {
 | 
			
		||||
    //   this.addOrUpdateVisible = true
 | 
			
		||||
    //   this.$nextTick(() => {
 | 
			
		||||
    //     this.$refs.addOrUpdate.init(id, true)
 | 
			
		||||
    //   })
 | 
			
		||||
    // }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style scoped>
 | 
			
		||||
.edit-input {
 | 
			
		||||
  padding-right: 100px;
 | 
			
		||||
}
 | 
			
		||||
.cancel-btn {
 | 
			
		||||
  position: absolute;
 | 
			
		||||
  right: 15px;
 | 
			
		||||
  top: 10px;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
							
								
								
									
										232
									
								
								src/views/report-manage/CurrentInventory.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										232
									
								
								src/views/report-manage/CurrentInventory.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,232 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Descripttion:
 | 
			
		||||
 * @version:
 | 
			
		||||
 * @Author: fzq
 | 
			
		||||
 * @Date: 2022-03-04 20:54:54
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-06 19:32:34
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="app-container">
 | 
			
		||||
    <head-form
 | 
			
		||||
      :placeholder-name="placeholderName"
 | 
			
		||||
      :key-name="keyName"
 | 
			
		||||
      :show-add="false"
 | 
			
		||||
      @getDataList="getList"
 | 
			
		||||
      @downl="downl"
 | 
			
		||||
    />
 | 
			
		||||
    <base-table
 | 
			
		||||
      :page="listQuery.current"
 | 
			
		||||
      :limit="listQuery.size"
 | 
			
		||||
      :table-config="tableProps"
 | 
			
		||||
      :table-data="list"
 | 
			
		||||
      :is-loading="listLoading"
 | 
			
		||||
    >
 | 
			
		||||
      <!-- <method-btn
 | 
			
		||||
        slot="handleBtn"
 | 
			
		||||
        :width="trueWidth"
 | 
			
		||||
        :method-list="tableBtn"
 | 
			
		||||
        @clickBtn="handleClick"
 | 
			
		||||
      /> -->
 | 
			
		||||
    </base-table>
 | 
			
		||||
    <pagination
 | 
			
		||||
      v-show="total > 0"
 | 
			
		||||
      :total="total"
 | 
			
		||||
      :page.sync="listQuery.current"
 | 
			
		||||
      :limit.sync="listQuery.size"
 | 
			
		||||
      @pagination="getList()"
 | 
			
		||||
    />
 | 
			
		||||
    <!-- <storageBox-add v-if="addOrUpdateVisible" ref="addOrUpdate" :cache-id="listQuery.cacheId" @refreshDataList="getList" /> -->
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>import i18n from '@/lang'
 | 
			
		||||
import HeadForm from './components/HeadForm'
 | 
			
		||||
import BaseTable from '@/components/BaseTable'
 | 
			
		||||
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
 | 
			
		||||
import { list, download } from '@/api/report-manage/report'
 | 
			
		||||
import substrateBtn from './components/substrateBtn.vue'
 | 
			
		||||
/**
 | 
			
		||||
 * 表格表头配置项 TypeScript接口注释
 | 
			
		||||
 * tableConfig<ConfigItem> = []
 | 
			
		||||
 *
 | 
			
		||||
 * Interface ConfigItem = {
 | 
			
		||||
 *  prop: string,
 | 
			
		||||
 *  label: string,
 | 
			
		||||
 *  width: string,
 | 
			
		||||
 *  align: string,
 | 
			
		||||
 *  subcomponent: function,
 | 
			
		||||
 *  filter: function
 | 
			
		||||
 * }
 | 
			
		||||
 *
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: 'edit',
 | 
			
		||||
    btnName: 'btn.edit'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: 'delete',
 | 
			
		||||
    btnName: 'btn.delete'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'code',
 | 
			
		||||
    label: i18n.t('module.report.inventory.code'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'status',
 | 
			
		||||
    label: i18n.t('module.report.inventory.status'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'inprocessCode',
 | 
			
		||||
    label: i18n.t('module.report.inventory.inprocessCode'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'nextprocessCode',
 | 
			
		||||
    label: i18n.t('module.report.inventory.nextprocessCode'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'currentLocation',
 | 
			
		||||
    label: i18n.t('module.report.inventory.currentLocation'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'storeTime',
 | 
			
		||||
    label: i18n.t('module.report.inventory.storeTime'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'orderName',
 | 
			
		||||
    label: i18n.t('module.report.inventory.orderName'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'substrateDetails',
 | 
			
		||||
    label: i18n.t('module.report.inventory.substrateDetails'),
 | 
			
		||||
    subcomponent: substrateBtn,
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'Inventory',
 | 
			
		||||
  components: { Pagination, BaseTable, HeadForm },
 | 
			
		||||
  filters: {
 | 
			
		||||
    statusFilter(status) {
 | 
			
		||||
      const statusMap = {
 | 
			
		||||
        published: 'success',
 | 
			
		||||
        draft: 'info',
 | 
			
		||||
        deleted: 'danger'
 | 
			
		||||
      }
 | 
			
		||||
      return statusMap[status]
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      addOrUpdateVisible: false,
 | 
			
		||||
      keyName: i18n.t('module.report.reportList.storageBoxNumber'),
 | 
			
		||||
      placeholderName: this.$t('module.report.reportList.queryFiltering'),
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      trueWidth: 200,
 | 
			
		||||
      tableProps,
 | 
			
		||||
      list: [],
 | 
			
		||||
      total: 0,
 | 
			
		||||
      listLoading: true,
 | 
			
		||||
      listQuery: {
 | 
			
		||||
        current: 1,
 | 
			
		||||
        size: 10,
 | 
			
		||||
        enabled: 1
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  created() {
 | 
			
		||||
    this.getList()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    // handleClick(raw) {
 | 
			
		||||
    //   if (raw.type === 'delete') {
 | 
			
		||||
    //     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'
 | 
			
		||||
    //     }).then(() => {
 | 
			
		||||
    //       storageBoxDelete(raw.data.id).then(response => {
 | 
			
		||||
    //         this.$message({
 | 
			
		||||
    //           message: this.$t('module.basicData.visual.success'),
 | 
			
		||||
    //           type: 'success',
 | 
			
		||||
    //           duration: 1500,
 | 
			
		||||
    //           onClose: () => {
 | 
			
		||||
    //             this.getList()
 | 
			
		||||
    //           }
 | 
			
		||||
    //         })
 | 
			
		||||
    //       })
 | 
			
		||||
    //     }).catch(() => {})
 | 
			
		||||
    //   } else if (raw.type === 'edit') {
 | 
			
		||||
    //     this.addNew(raw.data.id)
 | 
			
		||||
    //   } else {
 | 
			
		||||
    //     this.addNew(raw.data.id, true)
 | 
			
		||||
    //   }
 | 
			
		||||
    // },
 | 
			
		||||
    getList(key) {
 | 
			
		||||
      this.listLoading = true
 | 
			
		||||
      this.listQuery.code = key
 | 
			
		||||
      // console.log(this.listQuery)
 | 
			
		||||
      list(this.listQuery).then(response => {
 | 
			
		||||
        console.log(response)
 | 
			
		||||
        if (response.data) {
 | 
			
		||||
          this.list = response.data
 | 
			
		||||
        } else {
 | 
			
		||||
          this.list.splice(0, this.list.length)
 | 
			
		||||
        }
 | 
			
		||||
        // this.total = response.data.total
 | 
			
		||||
        this.listLoading = false
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    downl(key) {
 | 
			
		||||
      this.listLoading = true
 | 
			
		||||
      this.listQuery.code = key
 | 
			
		||||
      // console.log(this.listQuery)
 | 
			
		||||
      download(this.listQuery).then(res => {
 | 
			
		||||
        console.log(res)
 | 
			
		||||
        // const fileName = `${+new Date()}.xlsx`
 | 
			
		||||
        // const blob = new Blob([res], { type: 'application/vnd.ms-excel;charset=utf-8' })
 | 
			
		||||
        // if (navigator.msSaveBlob) {
 | 
			
		||||
        //   navigator.msSaveBlob(blob, fileName)
 | 
			
		||||
        // } else {
 | 
			
		||||
        //   const link = document.createElement('a')
 | 
			
		||||
        //   link.href = URL.createObjectURL(blob)
 | 
			
		||||
        //   link.download = fileName
 | 
			
		||||
        //   link.click()
 | 
			
		||||
        //   URL.revokeObjectURL(link.href)
 | 
			
		||||
        // }
 | 
			
		||||
      })
 | 
			
		||||
    }
 | 
			
		||||
    // 新增 / 修改
 | 
			
		||||
    // addNew(id) {
 | 
			
		||||
    //   this.addOrUpdateVisible = true
 | 
			
		||||
    //   this.$nextTick(() => {
 | 
			
		||||
    //     this.$refs.addOrUpdate.init(id, true)
 | 
			
		||||
    //   })
 | 
			
		||||
    // }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style scoped>
 | 
			
		||||
.edit-input {
 | 
			
		||||
  padding-right: 100px;
 | 
			
		||||
}
 | 
			
		||||
.cancel-btn {
 | 
			
		||||
  position: absolute;
 | 
			
		||||
  right: 15px;
 | 
			
		||||
  top: 10px;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
							
								
								
									
										203
									
								
								src/views/report-manage/CurrentSubstrate.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										203
									
								
								src/views/report-manage/CurrentSubstrate.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,203 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Descripttion:
 | 
			
		||||
 * @version:
 | 
			
		||||
 * @Author: fzq
 | 
			
		||||
 * @Date: 2022-03-04 20:54:54
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-04 21:09:41
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="app-container">
 | 
			
		||||
    <head-form
 | 
			
		||||
      :placeholder-name="placeholderName"
 | 
			
		||||
      :key-name="keyName"
 | 
			
		||||
      @getDataList="getList"
 | 
			
		||||
      @add="addNew"
 | 
			
		||||
    />
 | 
			
		||||
    <base-table
 | 
			
		||||
      :page="listQuery.current"
 | 
			
		||||
      :limit="listQuery.size"
 | 
			
		||||
      :table-config="tableProps"
 | 
			
		||||
      :table-data="list"
 | 
			
		||||
      :is-loading="listLoading"
 | 
			
		||||
    >
 | 
			
		||||
      <method-btn
 | 
			
		||||
        slot="handleBtn"
 | 
			
		||||
        :width="trueWidth"
 | 
			
		||||
        :method-list="tableBtn"
 | 
			
		||||
        @clickBtn="handleClick"
 | 
			
		||||
      />
 | 
			
		||||
    </base-table>
 | 
			
		||||
    <pagination
 | 
			
		||||
      v-show="total > 0"
 | 
			
		||||
      :total="total"
 | 
			
		||||
      :page.sync="listQuery.current"
 | 
			
		||||
      :limit.sync="listQuery.size"
 | 
			
		||||
      @pagination="getList()"
 | 
			
		||||
    />
 | 
			
		||||
    <!-- <storageBox-add v-if="addOrUpdateVisible" ref="addOrUpdate" :cache-id="listQuery.cacheId" @refreshDataList="getList" /> -->
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>import i18n from '@/lang'
 | 
			
		||||
import HeadForm from '@/components/basicData/HeadForm'
 | 
			
		||||
import BaseTable from '@/components/BaseTable'
 | 
			
		||||
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
 | 
			
		||||
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
 | 
			
		||||
import { storageBoxList, storageBoxDelete } from '@/api/basicData/Cache/storageBox'
 | 
			
		||||
import { timeFormatter } from '@/filters'
 | 
			
		||||
import basicData from '@/filters/basicData'
 | 
			
		||||
/**
 | 
			
		||||
 * 表格表头配置项 TypeScript接口注释
 | 
			
		||||
 * tableConfig<ConfigItem> = []
 | 
			
		||||
 *
 | 
			
		||||
 * Interface ConfigItem = {
 | 
			
		||||
 *  prop: string,
 | 
			
		||||
 *  label: string,
 | 
			
		||||
 *  width: string,
 | 
			
		||||
 *  align: string,
 | 
			
		||||
 *  subcomponent: function,
 | 
			
		||||
 *  filter: function
 | 
			
		||||
 * }
 | 
			
		||||
 *
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: 'edit',
 | 
			
		||||
    btnName: 'btn.edit'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: 'delete',
 | 
			
		||||
    btnName: 'btn.delete'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'createTime',
 | 
			
		||||
    label: i18n.t('module.basicData.factory.createTime'),
 | 
			
		||||
    filter: timeFormatter,
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'storageBoxName',
 | 
			
		||||
    label: i18n.t('module.basicData.storageBox.name'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'code',
 | 
			
		||||
    label: i18n.t('module.basicData.storageBox.code'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'enName',
 | 
			
		||||
    label: i18n.t('module.basicData.visual.EnglishName'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'status',
 | 
			
		||||
    label: i18n.t('module.basicData.storageBox.status'),
 | 
			
		||||
    filter: basicData('storage'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'note',
 | 
			
		||||
    label: i18n.t('module.basicData.storageBox.remark'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'Area',
 | 
			
		||||
  components: { Pagination, BaseTable, MethodBtn, HeadForm },
 | 
			
		||||
  filters: {
 | 
			
		||||
    statusFilter(status) {
 | 
			
		||||
      const statusMap = {
 | 
			
		||||
        published: 'success',
 | 
			
		||||
        draft: 'info',
 | 
			
		||||
        deleted: 'danger'
 | 
			
		||||
      }
 | 
			
		||||
      return statusMap[status]
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      addOrUpdateVisible: false,
 | 
			
		||||
      keyName: i18n.t('module.basicData.visual.keyword'),
 | 
			
		||||
      placeholderName: this.$t('module.basicData.storageBox.name') + this.$t('module.basicData.visual.Or') + this.$t('module.basicData.storageBox.code'),
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      trueWidth: 200,
 | 
			
		||||
      tableProps,
 | 
			
		||||
      list: [],
 | 
			
		||||
      areaList: [],
 | 
			
		||||
      total: 0,
 | 
			
		||||
      listLoading: true,
 | 
			
		||||
      listQuery: {
 | 
			
		||||
        current: 1,
 | 
			
		||||
        size: 10
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  created() {
 | 
			
		||||
    this.getList()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    handleClick(raw) {
 | 
			
		||||
      if (raw.type === 'delete') {
 | 
			
		||||
        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'
 | 
			
		||||
        }).then(() => {
 | 
			
		||||
          storageBoxDelete(raw.data.id).then(response => {
 | 
			
		||||
            this.$message({
 | 
			
		||||
              message: this.$t('module.basicData.visual.success'),
 | 
			
		||||
              type: 'success',
 | 
			
		||||
              duration: 1500,
 | 
			
		||||
              onClose: () => {
 | 
			
		||||
                this.getList()
 | 
			
		||||
              }
 | 
			
		||||
            })
 | 
			
		||||
          })
 | 
			
		||||
        }).catch(() => {})
 | 
			
		||||
      } else if (raw.type === 'edit') {
 | 
			
		||||
        this.addNew(raw.data.id)
 | 
			
		||||
      } else {
 | 
			
		||||
        this.addNew(raw.data.id, true)
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    getList(key) {
 | 
			
		||||
      this.listLoading = true
 | 
			
		||||
      this.listQuery.storageBoxName = key
 | 
			
		||||
      storageBoxList(this.listQuery).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
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    // 新增 / 修改
 | 
			
		||||
    addNew(id) {
 | 
			
		||||
      this.addOrUpdateVisible = true
 | 
			
		||||
      this.$nextTick(() => {
 | 
			
		||||
        this.$refs.addOrUpdate.init(id, true)
 | 
			
		||||
      })
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style scoped>
 | 
			
		||||
.edit-input {
 | 
			
		||||
  padding-right: 100px;
 | 
			
		||||
}
 | 
			
		||||
.cancel-btn {
 | 
			
		||||
  position: absolute;
 | 
			
		||||
  right: 15px;
 | 
			
		||||
  top: 10px;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
							
								
								
									
										67
									
								
								src/views/report-manage/components/HeadForm.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								src/views/report-manage/components/HeadForm.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,67 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Descripttion:
 | 
			
		||||
 * @version:
 | 
			
		||||
 * @Author: fzq
 | 
			
		||||
 * @Date: 2022-03-06 17:06:51
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-06 17:10:16
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <el-form :inline="true" @keyup.enter.native="getDataList()">
 | 
			
		||||
    <el-form-item :label="keyName">
 | 
			
		||||
      <el-input v-model="key" style="width:300px" :placeholder="placeholderName" clearable />
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
    <el-form-item>
 | 
			
		||||
      <el-button type="primary" @click="getDataList()">{{ 'btn.search' | i18nFilter }}</el-button>
 | 
			
		||||
      <el-button v-if="showAdd" type="primary" @click="add()">{{ 'btn.add' | i18nFilter }}</el-button>
 | 
			
		||||
      <el-button type="success" @click="downl()">{{ '导出' | i18nFilter }}</el-button>
 | 
			
		||||
    </el-form-item>
 | 
			
		||||
  </el-form>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import { string } from 'jszip/lib/support'
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  props: {
 | 
			
		||||
    keyName: {
 | 
			
		||||
      type: string,
 | 
			
		||||
      default: () => {
 | 
			
		||||
        return '关键字'
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    showAdd: {
 | 
			
		||||
      type: Boolean,
 | 
			
		||||
      default: () => {
 | 
			
		||||
        return true
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    placeholderName: {
 | 
			
		||||
      type: string,
 | 
			
		||||
      default: () => {
 | 
			
		||||
        return '请输入关键字'
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      key: ''
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    getDataList() {
 | 
			
		||||
      this.$emit('getDataList', this.key)
 | 
			
		||||
    },
 | 
			
		||||
    add() {
 | 
			
		||||
      this.$emit('add')
 | 
			
		||||
    },
 | 
			
		||||
    downl() {
 | 
			
		||||
      this.$emit('downl', this.key)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style>
 | 
			
		||||
 | 
			
		||||
</style>
 | 
			
		||||
							
								
								
									
										156
									
								
								src/views/report-manage/components/edit-substrate.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										156
									
								
								src/views/report-manage/components/edit-substrate.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,156 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Descripttion:
 | 
			
		||||
 * @version:
 | 
			
		||||
 * @Author: fzq
 | 
			
		||||
 * @Date: 2022-03-05 17:45:46
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-06 16:46:54
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <!-- <el-dialog
 | 
			
		||||
    :title="!dataForm.id ? 'btn.add' : 'btn.edit' | i18nFilter"
 | 
			
		||||
    :visible.sync="visible"
 | 
			
		||||
  > -->
 | 
			
		||||
  <el-dialog
 | 
			
		||||
    :title="'btn.edit' | i18nFilter"
 | 
			
		||||
    :visible.sync="visible"
 | 
			
		||||
  >
 | 
			
		||||
    <el-form ref="dataForm" :model="dataForm" :rules="dataRule" label-width="130px" @keyup.enter.native="dataFormSubmit()">
 | 
			
		||||
      <el-form-item :label="$t('module.report.substrate.substrateCode')" prop="substrateCode">
 | 
			
		||||
        <el-input v-model="dataForm.substrateCode" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.substrateCode')])" clearable />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item :label="$t('module.report.substrate.location')" prop="location">
 | 
			
		||||
        <el-input v-model="dataForm.location" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.location')])" clearable />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item :label="$t('module.report.substrate.storeTime')" prop="storeTime">
 | 
			
		||||
        <el-input v-model="dataForm.storeTime" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.storeTime')])" clearable />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item :label="$t('module.report.substrate.substrateStatus')" prop="substrateStatus">
 | 
			
		||||
        <el-input v-model="dataForm.substrateStatus" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.substrateStatus')])" clearable />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
      <el-form-item :label="$t('module.report.substrate.interCode')" prop="interCode">
 | 
			
		||||
        <el-input v-model="dataForm.interCode" :placeholder="$i18nForm(['placeholder.input', $t('module.report.substrate.interCode')])" clearable />
 | 
			
		||||
      </el-form-item>
 | 
			
		||||
    </el-form>
 | 
			
		||||
    <span slot="footer" class="dialog-footer">
 | 
			
		||||
      <el-button @click="visible = false">{{ 'btn.cancel' | i18nFilter }}</el-button>
 | 
			
		||||
      <el-button type="primary" @click="dataFormSubmit()">{{ 'btn.confirm' | i18nFilter }}</el-button>
 | 
			
		||||
    </span>
 | 
			
		||||
  </el-dialog>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import { updateSubstrate, listSubstrate } from '@/api/report-manage/report'
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  props: {
 | 
			
		||||
    id: {
 | 
			
		||||
      type: String,
 | 
			
		||||
      default: () => {
 | 
			
		||||
        return ''
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      visible: false,
 | 
			
		||||
      dataForm: {
 | 
			
		||||
        id: '',
 | 
			
		||||
        substrateCode: '',
 | 
			
		||||
        location: '',
 | 
			
		||||
        storeTime: '',
 | 
			
		||||
        substrateStatus: '',
 | 
			
		||||
        code: '',
 | 
			
		||||
        storageBoxId: '',
 | 
			
		||||
        storageCode: '',
 | 
			
		||||
        interCode: ''
 | 
			
		||||
      },
 | 
			
		||||
      list: {
 | 
			
		||||
        id: '',
 | 
			
		||||
        location: '',
 | 
			
		||||
        storeTime: '',
 | 
			
		||||
        substrateCode: '',
 | 
			
		||||
        substrateStatus: ''
 | 
			
		||||
      },
 | 
			
		||||
      dataRule: {
 | 
			
		||||
        substrateCode: [
 | 
			
		||||
          { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.report.substrate.substrateCode')]), trigger: 'blur' }
 | 
			
		||||
        ],
 | 
			
		||||
        code: [
 | 
			
		||||
          { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.report.substrate.substrateCode')]), trigger: 'blur' }
 | 
			
		||||
        ],
 | 
			
		||||
        interCode: [
 | 
			
		||||
          { required: true, message: this.$i18nForm(['placeholder.input', this.$t('module.report.substrate.substrateCode')]), trigger: 'blur' }
 | 
			
		||||
        ]
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  created() {
 | 
			
		||||
    this.init()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    // init(id) {
 | 
			
		||||
    //   // this.dataForm.id = id || ''
 | 
			
		||||
    //   this.dataForm.storageBoxId = this.$route.query.id
 | 
			
		||||
    //   this.dataForm.storageCode = this.$route.query.code
 | 
			
		||||
    //   this.visible = true
 | 
			
		||||
    //   this.$nextTick(() => {
 | 
			
		||||
    //     this.$refs['dataForm'].resetFields()
 | 
			
		||||
    //     // console.log(this.dataForm)
 | 
			
		||||
    //     listSubstrate(this.dataForm).then(res => {
 | 
			
		||||
    //       this.dataForm.id = res.data.id
 | 
			
		||||
    //       this.dataForm.location = res.data.location
 | 
			
		||||
    //       this.dataForm.storeTime = res.data.storeTime
 | 
			
		||||
    //       this.dataForm.substrateCode = res.data.substrateCode
 | 
			
		||||
    //       this.dataForm.substrateStatus = res.data.substrateStatus
 | 
			
		||||
    //       // console.log(this.dataForm)
 | 
			
		||||
    //     })
 | 
			
		||||
    //   })
 | 
			
		||||
    // },
 | 
			
		||||
    init(id) {
 | 
			
		||||
      // this.dataForm.id = id || ''
 | 
			
		||||
      this.dataForm.storageBoxId = this.$route.query.id
 | 
			
		||||
      this.dataForm.storageCode = this.$route.query.code
 | 
			
		||||
      this.visible = true
 | 
			
		||||
      listSubstrate(this.dataForm).then(res => {
 | 
			
		||||
        console.log(res.data[0])
 | 
			
		||||
        this.dataForm.id = res.data[0].id
 | 
			
		||||
        this.dataForm.location = res.data[0].location
 | 
			
		||||
        this.dataForm.storeTime = res.data[0].storeTime
 | 
			
		||||
        this.dataForm.substrateCode = res.data[0].substrateCode
 | 
			
		||||
        this.dataForm.substrateStatus = res.data[0].substrateStatus
 | 
			
		||||
        this.dataForm.interCode = res.data[0].interCode
 | 
			
		||||
        // console.log(this.dataForm)
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    // 表单提交
 | 
			
		||||
    dataFormSubmit() {
 | 
			
		||||
      this.$refs['dataForm'].validate((valid) => {
 | 
			
		||||
        if (valid) {
 | 
			
		||||
          const data = {
 | 
			
		||||
            'substrateStatus': this.dataForm.substrateStatus,
 | 
			
		||||
            'storeTime': this.dataForm.storeTime,
 | 
			
		||||
            'id': this.dataForm.id,
 | 
			
		||||
            'substrateCode': this.dataForm.substrateCode,
 | 
			
		||||
            'location': this.dataForm.location,
 | 
			
		||||
            'interCode': this.dataForm.interCode,
 | 
			
		||||
            'storageBoxId': this.dataForm.storageBoxId
 | 
			
		||||
          }
 | 
			
		||||
          console.log(data)
 | 
			
		||||
          updateSubstrate(data).then(res => {
 | 
			
		||||
            this.$message({
 | 
			
		||||
              message: this.$t('module.basicData.visual.success'),
 | 
			
		||||
              type: 'success',
 | 
			
		||||
              duration: 1500,
 | 
			
		||||
              onClose: () => {
 | 
			
		||||
                this.visible = false
 | 
			
		||||
                this.$emit('refreshDataList')
 | 
			
		||||
              }
 | 
			
		||||
            })
 | 
			
		||||
          })
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
							
								
								
									
										35
									
								
								src/views/report-manage/components/substrateBtn.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								src/views/report-manage/components/substrateBtn.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Descripttion:
 | 
			
		||||
 * @version:
 | 
			
		||||
 * @Author: fzq
 | 
			
		||||
 * @Date: 2022-03-05 14:35:07
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-05 16:44:43
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <span>
 | 
			
		||||
    <el-button type="text" size="small" @click="emitClick">{{ $t('module.report.inventory.viewSubstrates') }}</el-button>
 | 
			
		||||
  </span>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
export default {
 | 
			
		||||
  props: {
 | 
			
		||||
    injectData: {
 | 
			
		||||
      type: Object,
 | 
			
		||||
      default: () => ({})
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    emitClick() {
 | 
			
		||||
      this.$router.push({
 | 
			
		||||
        name: 'viewSubstrate',
 | 
			
		||||
        query: {
 | 
			
		||||
          id: this.injectData.id,
 | 
			
		||||
          code: this.injectData.code
 | 
			
		||||
        }
 | 
			
		||||
      })
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
							
								
								
									
										191
									
								
								src/views/report-manage/components/viewSubstrate.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										191
									
								
								src/views/report-manage/components/viewSubstrate.vue
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,191 @@
 | 
			
		||||
<!--
 | 
			
		||||
 * @Descripttion:
 | 
			
		||||
 * @version:
 | 
			
		||||
 * @Author: fzq
 | 
			
		||||
 * @Date: 2022-03-05 15:55:45
 | 
			
		||||
 * @LastEditors: fzq
 | 
			
		||||
 * @LastEditTime: 2022-03-05 19:44:47
 | 
			
		||||
-->
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="app-container">
 | 
			
		||||
    <!-- <div style="margin:10px 50px">
 | 
			
		||||
      <el-button type="success" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button>
 | 
			
		||||
      <el-button type="primary" @click="addNew()">{{ 'btn.add' | i18nFilter }}</el-button>
 | 
			
		||||
    </div> -->
 | 
			
		||||
    <div style="title">存储箱号:{{ num }}
 | 
			
		||||
      <el-button type="success" style="back" @click="goback()">{{ 'btn.back' | i18nFilter }}</el-button>
 | 
			
		||||
    </div>
 | 
			
		||||
    <base-table
 | 
			
		||||
      :page="listQuery.current"
 | 
			
		||||
      :limit="listQuery.size"
 | 
			
		||||
      :table-config="tableProps"
 | 
			
		||||
      :table-data="list"
 | 
			
		||||
      :is-loading="listLoading"
 | 
			
		||||
    >
 | 
			
		||||
      <method-btn
 | 
			
		||||
        slot="handleBtn"
 | 
			
		||||
        :width="trueWidth"
 | 
			
		||||
        :method-list="tableBtn"
 | 
			
		||||
        @clickBtn="handleClick"
 | 
			
		||||
      />
 | 
			
		||||
    </base-table>
 | 
			
		||||
    <edit-substrate v-if="addOrUpdateVisible" :id="listQuery.id" ref="addOrUpdate" @refreshDataList="getList" />
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>import i18n from '@/lang'
 | 
			
		||||
import { listSubstrate, deleSubstrate } from '@/api/report-manage/report'
 | 
			
		||||
import editSubstrate from './edit-substrate.vue'
 | 
			
		||||
import BaseTable from '@/components/BaseTable'
 | 
			
		||||
import MethodBtn from '@/components/BaseTable/subcomponents/MethodBtn'
 | 
			
		||||
/**
 | 
			
		||||
 * 表格表头配置项 TypeScript接口注释
 | 
			
		||||
 * tableConfig<ConfigItem> = []
 | 
			
		||||
 *
 | 
			
		||||
 * Interface ConfigItem = {
 | 
			
		||||
 *  prop: string,
 | 
			
		||||
 *  label: string,
 | 
			
		||||
 *  width: string,
 | 
			
		||||
 *  align: string,
 | 
			
		||||
 *  subcomponent: function,
 | 
			
		||||
 *  filter: function
 | 
			
		||||
 * }
 | 
			
		||||
 *
 | 
			
		||||
 *
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
const tableBtn = [
 | 
			
		||||
  {
 | 
			
		||||
    type: 'edit',
 | 
			
		||||
    btnName: 'btn.edit'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    type: 'delete',
 | 
			
		||||
    btnName: 'btn.delete'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
const tableProps = [
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'substrateCode',
 | 
			
		||||
    label: i18n.t('module.report.substrate.substrateCode'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'location',
 | 
			
		||||
    label: i18n.t('module.report.substrate.location'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'storeTime',
 | 
			
		||||
    label: i18n.t('module.report.substrate.storeTime'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  },
 | 
			
		||||
  {
 | 
			
		||||
    prop: 'substrateStatus',
 | 
			
		||||
    label: i18n.t('module.report.substrate.substrateStatus'),
 | 
			
		||||
    align: 'center'
 | 
			
		||||
  }
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'ViewSubstrate',
 | 
			
		||||
  components: { BaseTable, MethodBtn, editSubstrate },
 | 
			
		||||
  filters: {
 | 
			
		||||
    statusFilter(status) {
 | 
			
		||||
      const statusMap = {
 | 
			
		||||
        published: 'success',
 | 
			
		||||
        draft: 'info',
 | 
			
		||||
        deleted: 'danger'
 | 
			
		||||
      }
 | 
			
		||||
      return statusMap[status]
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      addOrUpdateVisible: false,
 | 
			
		||||
      num: '',
 | 
			
		||||
      tableBtn,
 | 
			
		||||
      trueWidth: 200,
 | 
			
		||||
      tableProps,
 | 
			
		||||
      list: [],
 | 
			
		||||
      listLoading: true,
 | 
			
		||||
      listQuery: {
 | 
			
		||||
        current: 1,
 | 
			
		||||
        size: 10,
 | 
			
		||||
        substrateCode: ''
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  created() {
 | 
			
		||||
    this.listQuery.substrateCode = this.$route.query.code
 | 
			
		||||
    this.getList()
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    handleClick(raw) {
 | 
			
		||||
      if (raw.type === 'delete') {
 | 
			
		||||
        this.$confirm(`${this.$t('module.basicData.visual.TipsBefore')}[${raw.data.substrateCode}]?`, this.$t('module.basicData.visual.Tips'), {
 | 
			
		||||
          confirmButtonText: this.$t('module.basicData.visual.confirmButtonText'),
 | 
			
		||||
          cancelButtonText: this.$t('module.basicData.visual.cancelButtonText'),
 | 
			
		||||
          type: 'warning'
 | 
			
		||||
        }).then(() => {
 | 
			
		||||
        //   console.log(raw.data)
 | 
			
		||||
          deleSubstrate(raw.data).then(response => {
 | 
			
		||||
            this.$message({
 | 
			
		||||
              message: this.$t('module.basicData.visual.success'),
 | 
			
		||||
              type: 'success',
 | 
			
		||||
              duration: 1500,
 | 
			
		||||
              onClose: () => {
 | 
			
		||||
                this.getList()
 | 
			
		||||
              }
 | 
			
		||||
            })
 | 
			
		||||
          })
 | 
			
		||||
        }).catch(() => {})
 | 
			
		||||
      } else {
 | 
			
		||||
        this.addNew(raw.data.id)
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    getList() {
 | 
			
		||||
      this.listLoading = true
 | 
			
		||||
      this.num = this.listQuery.substrateCode
 | 
			
		||||
      this.listQuery.code = this.$route.query.code
 | 
			
		||||
      console.log(this.listQuery)
 | 
			
		||||
      listSubstrate(this.listQuery).then(response => {
 | 
			
		||||
        if (response.data) {
 | 
			
		||||
          this.list = response.data
 | 
			
		||||
          console.log(this.list)
 | 
			
		||||
        } else {
 | 
			
		||||
          this.list.splice(0, this.list.length)
 | 
			
		||||
        }
 | 
			
		||||
        this.listLoading = false
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    // 新增 / 修改
 | 
			
		||||
    addNew(id) {
 | 
			
		||||
      this.addOrUpdateVisible = true
 | 
			
		||||
      this.$nextTick(() => {
 | 
			
		||||
        this.$refs.addOrUpdate.init(id)
 | 
			
		||||
      })
 | 
			
		||||
    },
 | 
			
		||||
    goback() {
 | 
			
		||||
      this.$router.go(-1)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style scoped>
 | 
			
		||||
.title {
 | 
			
		||||
  left: 150px;
 | 
			
		||||
}
 | 
			
		||||
.edit-input {
 | 
			
		||||
  padding-right: 100px;
 | 
			
		||||
}
 | 
			
		||||
.cancel-btn {
 | 
			
		||||
  position: absolute;
 | 
			
		||||
  right: 15px;
 | 
			
		||||
  top: 10px;
 | 
			
		||||
}
 | 
			
		||||
.back {
 | 
			
		||||
  right: 20px;
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
		Reference in New Issue
	
	Block a user