diff --git a/src/api/wms/containerInitRecordDetail/index.ts b/src/api/wms/containerInitRecordDetail/index.ts
new file mode 100644
index 000000000..f998ec3bf
--- /dev/null
+++ b/src/api/wms/containerInitRecordDetail/index.ts
@@ -0,0 +1,55 @@
+import request from '@/config/axios'
+
+export interface ContainerInitRecordDetailVO {
+ id: number
+ containerNumber: string
+ type: string
+ capacity: number
+ status: string
+ ownerCode: string
+ masterId: number
+ number: string
+ siteId: string
+ remark: string
+}
+
+// 查询器具初始化记录子列表
+export const getContainerInitRecordDetailPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/container-init-record-detail/senior', data })
+ } else {
+ return await request.get({ url: `/wms/container-init-record-detail/page`, params })
+ }
+}
+
+// 查询器具初始化记录子详情
+export const getContainerInitRecordDetail = async (id: number) => {
+ return await request.get({ url: `/wms/container-init-record-detail/get?id=` + id })
+}
+
+// 新增器具初始化记录子
+export const createContainerInitRecordDetail = async (data: ContainerInitRecordDetailVO) => {
+ return await request.post({ url: `/wms/container-init-record-detail/create`, data })
+}
+
+// 修改器具初始化记录子
+export const updateContainerInitRecordDetail = async (data: ContainerInitRecordDetailVO) => {
+ return await request.put({ url: `/wms/container-init-record-detail/update`, data })
+}
+
+// 删除器具初始化记录子
+export const deleteContainerInitRecordDetail = async (id: number) => {
+ return await request.delete({ url: `/wms/container-init-record-detail/delete?id=` + id })
+}
+
+// 导出器具初始化记录子 Excel
+export const exportContainerInitRecordDetail = async (params) => {
+ return await request.download({ url: `/wms/container-init-record-detail/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/container-init-record-detail/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/api/wms/containerInitRecordMain/index.ts b/src/api/wms/containerInitRecordMain/index.ts
new file mode 100644
index 000000000..0c9c565f1
--- /dev/null
+++ b/src/api/wms/containerInitRecordMain/index.ts
@@ -0,0 +1,68 @@
+import request from '@/config/axios'
+
+export interface ContainerInitRecordMainVO {
+ id: number
+ number: string
+ fromWarehouseCode: string
+ toWarehouseCode: string
+ outTransactionType: string
+ inTransactionType: string
+ executeTime: Date
+ activeDate: Date
+ available: string
+ requestTime: Date
+ dueTime: Date
+ departmentCode: string
+ userGroupCode: string
+ interfaceType: string
+ businessType: string
+ remark: string
+ extraProperties: string
+ siteId: string
+ code: string
+ fromLocationTypes: string
+ toLocationTypes: string
+ fromAreaCodes: string
+ toAreaCodes: string
+}
+
+// 查询器具初始化记录主列表
+export const getContainerInitRecordMainPage = async (params) => {
+ if (params.isSearch) {
+ delete params.isSearch
+ const data = {...params}
+ return await request.post({ url: '/wms/container-init-record-main/senior', data })
+ } else {
+ return await request.get({ url: `/wms/container-init-record-main/page`, params })
+ }
+}
+
+// 查询器具初始化记录主详情
+export const getContainerInitRecordMain = async (id: number) => {
+ return await request.get({ url: `/wms/container-init-record-main/get?id=` + id })
+}
+
+// 新增器具初始化记录主
+export const createContainerInitRecordMain = async (data: ContainerInitRecordMainVO) => {
+ return await request.post({ url: `/wms/container-init-record-main/create`, data })
+}
+
+// 修改器具初始化记录主
+export const updateContainerInitRecordMain = async (data: ContainerInitRecordMainVO) => {
+ return await request.put({ url: `/wms/container-init-record-main/update`, data })
+}
+
+// 删除器具初始化记录主
+export const deleteContainerInitRecordMain = async (id: number) => {
+ return await request.delete({ url: `/wms/container-init-record-main/delete?id=` + id })
+}
+
+// 导出器具初始化记录主 Excel
+export const exportContainerInitRecordMain = async (params) => {
+ return await request.download({ url: `/wms/container-init-record-main/export-excel`, params })
+}
+
+// 下载用户导入模板
+export const importTemplate = () => {
+ return request.download({ url: '/wms/container-init-record-main/get-import-template' })
+}
\ No newline at end of file
diff --git a/src/api/wms/countRequestMain/index.ts b/src/api/wms/countRequestMain/index.ts
index 1205ae708..cf6c52242 100644
--- a/src/api/wms/countRequestMain/index.ts
+++ b/src/api/wms/countRequestMain/index.ts
@@ -105,4 +105,8 @@ export const superviseCount = async (data) => {
//生成盘点调整申请
export const generateCountadjustRequest = async (id) => {
return await request.put({ url: `/wms/count-request-main/generateCountadjustRequest?id=` + id })
+}
+//解冻
+export const thaw = async (id) => {
+ return await request.put({ url: `/wms/count-request-main/thaw?id=` + id })
}
\ No newline at end of file
diff --git a/src/components/BasicForm/src/BasicForm.vue b/src/components/BasicForm/src/BasicForm.vue
index 9497abdd2..a34f2ebe8 100644
--- a/src/components/BasicForm/src/BasicForm.vue
+++ b/src/components/BasicForm/src/BasicForm.vue
@@ -90,6 +90,7 @@
ref="tableFormRef"
@tableFormChange="tableFormChange"
@handleAddTable="handleAddTable"
+ @handleDeleteTable="handleDeleteTable"
/>
diff --git a/src/components/Detail/src/Detail.vue b/src/components/Detail/src/Detail.vue
index e9e337867..ef5164a6f 100644
--- a/src/components/Detail/src/Detail.vue
+++ b/src/components/Detail/src/Detail.vue
@@ -405,6 +405,12 @@ const openDetail = async (row: any, titleName: any, titleValue: any, tableName:
defaultButtons.defaultFilterBtn(null) // 筛选
]
}
+ //盘点调整申请筛选
+ if (props.fromeWhere == 'countadjustRequest') {
+ HeadButttondata.value = [
+ defaultButtons.defaultFilterBtn(null) // 筛选
+ ]
+ }
}
// 动态显示操作列按钮
diff --git a/src/components/TableFormCountPlan/src/TableFormCountPlan.vue b/src/components/TableFormCountPlan/src/TableFormCountPlan.vue
index b3f9827be..d46d46215 100644
--- a/src/components/TableFormCountPlan/src/TableFormCountPlan.vue
+++ b/src/components/TableFormCountPlan/src/TableFormCountPlan.vue
@@ -168,6 +168,10 @@ const tableFormChange = (field, val, row) => {
const handleAddTable = () => {
emit('handleAddTable')
}
+// 删除数据
+const handleDeleteTable = (row, index) => {
+ emit('handleDeleteTable', row, index)
+}
// setup 语法糖 抛出方法
defineExpose({
TableBaseComponents_Ref,
diff --git a/src/utils/dict.ts b/src/utils/dict.ts
index dae05597c..dabd5d41c 100644
--- a/src/utils/dict.ts
+++ b/src/utils/dict.ts
@@ -270,5 +270,6 @@ export enum DICT_TYPE {
TRANSFER_MODE = 'transfer_mode', // 运输方式
LABEL_TYPE = 'label_type', // 标签类型
LABEL_STATUS = 'label_status', // 标签状态
- BIND_TYPE = 'bind_type' // 器具绑定类型
+ BIND_TYPE = 'bind_type', // 器具绑定类型
+ CONTAINER_STATUS = 'container_status', // 容器状态
}
diff --git a/src/utils/disposition/defaultButtons.ts b/src/utils/disposition/defaultButtons.ts
index 86aea3df7..006205dc6 100644
--- a/src/utils/disposition/defaultButtons.ts
+++ b/src/utils/disposition/defaultButtons.ts
@@ -723,6 +723,18 @@ export function mainSuperviseCountBtn(option:any) {
hasPermi: ''
})
}
+// 主列表-解冻
+export function mainThawRequesttBtn(option:any) {
+ return __defaultBtnOption(option,{
+ label: '解冻',
+ name: 'mainThaw',
+ hide: false,
+ type: 'primary',
+ color: '',
+ link: true, // 文本展现按钮
+ hasPermi: ''
+ })
+}
// 默认按钮规则
function __defaultBtnOption(option:any,specific:any){
return {
diff --git a/src/views/Home/components/material.vue b/src/views/Home/components/material.vue
index fd8d5a2bf..5bae1d6bf 100644
--- a/src/views/Home/components/material.vue
+++ b/src/views/Home/components/material.vue
@@ -148,19 +148,63 @@
高低储预警
-
-
-
-
+
+
+
+
+
+
+
+
+ {{ formatter(scope.row.uom, DICT_TYPE.UOM) }}
+
+
+
+
+
+
+ {{ formatter(scope.row.inventoryStatus, DICT_TYPE.INVENTORY_STATUS) }}
+
+
+
+
+
+
+
+
+ {{ formatDate(scope.row.planDate) }}
+
+
+
+
+ {{ formatDate(scope.row.planDate) }}
+
+
+
+
+ {{ formatDate(scope.row.planDate) }}
+
+
+
+
+
+
+
+
+
+ {{ formatDate(scope.row.planDate) }}
+
+
@@ -169,55 +213,41 @@
import * as IndexApi from '@/api/home'
import { formatDate } from '@/utils/formatTime'
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
-const tableData = [
- {
- date: '2016-05-03',
- name: 'Tom',
- title: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- },
- {
- date: '2016-05-02',
- title: 'Tom',
- name: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- },
- {
- date: '2016-05-04',
- title: 'Tom',
- name: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- },
- {
- date: '2016-05-01',
- title: 'Tom',
- name: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- },
- {
- date: '2016-05-01',
- title: 'Tom',
- name: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- },
- {
- date: '2016-05-01',
- title: 'Tom',
- name: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- }
-]
+import { set } from 'lodash-es'
+import { EChartsOption } from 'echarts'
+import { barOptions } from '../echarts-data'
+const lineIndex = ref(0)
+
const materialData = ref()
// 获取原料管理员数据
const getMaterialData = async () => {
- IndexApi.getMaterialData().then((res) => {
+ await IndexApi.getMaterialData().then((res) => {
materialData.value = res
+ getJobCharts()
})
}
const formatter = (type, dict) => {
let str = getStrDictOptions(dict).filter((item) => type == item.value)[0].label
return str
}
+const barOptionsData = reactive(barOptions) as EChartsOption
+const getJobCharts = async () => {
+ set(
+ barOptionsData,
+ 'xAxis.data',
+ Object.keys( materialData.value.jobCount)
+ )
+ set(barOptionsData, 'legend.data', ['待处理任务'])
+ set(barOptionsData, 'series', [
+ {
+ name:'待处理任务',
+ data: Object.values( materialData.value.jobCount),
+ type: 'bar',
+ barMaxWidth:30
+ }
+ ])
+ lineIndex.value++
+}
onMounted(async () => {
await getMaterialData()
})
diff --git a/src/views/Home/components/produce.vue b/src/views/Home/components/produce.vue
index 8046930a2..3e8701807 100644
--- a/src/views/Home/components/produce.vue
+++ b/src/views/Home/components/produce.vue
@@ -156,11 +156,7 @@
@@ -169,55 +165,40 @@
import * as IndexApi from '@/api/home'
import { formatDate } from '@/utils/formatTime'
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
-const tableData = [
- {
- date: '2016-05-03',
- name: 'Tom',
- title: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- },
- {
- date: '2016-05-02',
- title: 'Tom',
- name: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- },
- {
- date: '2016-05-04',
- title: 'Tom',
- name: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- },
- {
- date: '2016-05-01',
- title: 'Tom',
- name: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- },
- {
- date: '2016-05-01',
- title: 'Tom',
- name: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- },
- {
- date: '2016-05-01',
- title: 'Tom',
- name: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- }
-]
+import { set } from 'lodash-es'
+import { EChartsOption } from 'echarts'
+import { barOptions } from '../echarts-data'
+const lineIndex = ref(0)
const produceData = ref()
// 获取生产管理员首页数据
const getProduceData = async () => {
IndexApi.getProduceData().then((res) => {
produceData.value = res
+ getJobCharts()
})
}
const formatter = (type, dict) => {
let str = getStrDictOptions(dict).filter((item) => type == item.value)[0].label
return str
}
+const barOptionsData = reactive(barOptions) as EChartsOption
+const getJobCharts = async () => {
+ set(
+ barOptionsData,
+ 'xAxis.data',
+ Object.keys( produceData.value.jobCount)
+ )
+ set(barOptionsData, 'legend.data', ['待处理任务'])
+ set(barOptionsData, 'series', [
+ {
+ name:'待处理任务',
+ data: Object.values( produceData.value.jobCount),
+ type: 'bar',
+ barMaxWidth:30
+ }
+ ])
+ lineIndex.value++
+}
onMounted(async () => {
await getProduceData()
})
diff --git a/src/views/Home/components/product.vue b/src/views/Home/components/product.vue
index 560e3a990..f1d7b4353 100644
--- a/src/views/Home/components/product.vue
+++ b/src/views/Home/components/product.vue
@@ -127,19 +127,63 @@
高低储预警
-
-
-
-
+
+
+
+
+
+
+
+
+ {{ formatter(scope.row.uom, DICT_TYPE.UOM) }}
+
+
+
+
+
+
+ {{ formatter(scope.row.inventoryStatus, DICT_TYPE.INVENTORY_STATUS) }}
+
+
+
+
+
+
+
+
+ {{ formatDate(scope.row.planDate) }}
+
+
+
+
+ {{ formatDate(scope.row.planDate) }}
+
+
+
+
+ {{ formatDate(scope.row.planDate) }}
+
+
+
+
+
+
+
+
+
+ {{ formatDate(scope.row.planDate) }}
+
+
@@ -148,55 +192,40 @@
import * as IndexApi from '@/api/home'
import { formatDate } from '@/utils/formatTime'
import { DICT_TYPE, getStrDictOptions } from '@/utils/dict'
-const tableData = [
- {
- date: '2016-05-03',
- name: 'Tom',
- title: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- },
- {
- date: '2016-05-02',
- title: 'Tom',
- name: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- },
- {
- date: '2016-05-04',
- title: 'Tom',
- name: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- },
- {
- date: '2016-05-01',
- title: 'Tom',
- name: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- },
- {
- date: '2016-05-01',
- title: 'Tom',
- name: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- },
- {
- date: '2016-05-01',
- title: 'Tom',
- name: 'Tom',
- text: 'No. 189, Grove St, Los Angeles'
- }
-]
+import { set } from 'lodash-es'
+import { EChartsOption } from 'echarts'
+import { barOptions } from '../echarts-data'
+const lineIndex = ref(0)
// 获取成品管理员首页首页数据
const productData = ref()
const getProductData = async () => {
IndexApi.getProductData().then((res) => {
productData.value = res
+ getJobCharts()
})
}
const formatter = (type, dict) => {
let str = getStrDictOptions(dict).filter((item) => type == item.value)[0].label
return str
}
+const barOptionsData = reactive(barOptions) as EChartsOption
+const getJobCharts = async () => {
+ set(
+ barOptionsData,
+ 'xAxis.data',
+ Object.keys( productData.value.jobCount)
+ )
+ set(barOptionsData, 'legend.data', ['待处理任务'])
+ set(barOptionsData, 'series', [
+ {
+ name:'待处理任务',
+ data: Object.values( productData.value.jobCount),
+ type: 'bar',
+ barMaxWidth:30
+ }
+ ])
+ lineIndex.value++
+}
onMounted(async () => {
await getProductData()
})
diff --git a/src/views/Home/echarts-data.ts b/src/views/Home/echarts-data.ts
index 9e6474d65..15c7b4afd 100644
--- a/src/views/Home/echarts-data.ts
+++ b/src/views/Home/echarts-data.ts
@@ -96,7 +96,7 @@ export const pieOptions: EChartsOption = {
export const barOptions: EChartsOption = {
title: {
- text: t('analysis.weeklyUserActivity'),
+ text: '',
left: 'center'
},
tooltip: {
@@ -112,15 +112,7 @@ export const barOptions: EChartsOption = {
},
xAxis: {
type: 'category',
- data: [
- t('analysis.monday'),
- t('analysis.tuesday'),
- t('analysis.wednesday'),
- t('analysis.thursday'),
- t('analysis.friday'),
- t('analysis.saturday'),
- t('analysis.sunday')
- ],
+ data: [],
axisTick: {
alignWithLabel: true
}
@@ -131,7 +123,7 @@ export const barOptions: EChartsOption = {
series: [
{
name: t('analysis.activeQuantity'),
- data: [13253, 34235, 26321, 12340, 24643, 1322, 1324],
+ data: [],
type: 'bar'
}
]
diff --git a/src/views/wms/countManage/count/countRequestMain/index.vue b/src/views/wms/countManage/count/countRequestMain/index.vue
index ef886c256..0cd37b1ba 100644
--- a/src/views/wms/countManage/count/countRequestMain/index.vue
+++ b/src/views/wms/countManage/count/countRequestMain/index.vue
@@ -312,7 +312,11 @@ const butttondata = (row) => {
defaultButtons.mainCountAdjustRequesttBtn({
hide: isShowGenerateMainButton(row, ['2']),
hasPermi: 'wms:count-request-main:generate'
- }) // 生成盘点调整
+ }), // 生成盘点调整
+ defaultButtons.mainThawRequesttBtn({
+ hide: isShowGenerateMainButton(row, ['3']),
+ hasPermi: 'wms:count-request-main:thaw'
+ }) // 解冻
]
}
@@ -419,6 +423,17 @@ const buttonTableClick = async (val, row) => {
.catch((err) => {
console.log(err)
})
+ } else if (val == 'mainThaw') {
+ // 解冻
+ await message.confirm('确认要解冻吗?')
+ CountRequestMainApi.thaw(row.id)
+ .then(() => {
+ message.success(t('解冻成功'))
+ getList()
+ })
+ .catch((err) => {
+ console.log(err)
+ })
} else if (val == 'edit') {
// 编辑
openForm('update', row)
diff --git a/src/views/wms/countManage/countadjust/countadjustRequestMain/countadjustRequestMain.data.ts b/src/views/wms/countManage/countadjust/countadjustRequestMain/countadjustRequestMain.data.ts
index 6072b3f32..493fd7d22 100644
--- a/src/views/wms/countManage/countadjust/countadjustRequestMain/countadjustRequestMain.data.ts
+++ b/src/views/wms/countManage/countadjust/countadjustRequestMain/countadjustRequestMain.data.ts
@@ -658,6 +658,7 @@ export const CountadjustRequestDetail = useCrudSchemas(reactive([
field: 'action',
isDetail: false,
isForm: false ,
+ isTable:false,
table: {
width: 150,
fixed: 'right'
diff --git a/src/views/wms/countManage/countadjust/countadjustRequestMain/index.vue b/src/views/wms/countManage/countadjust/countadjustRequestMain/index.vue
index f952089db..c1b1a6dd5 100644
--- a/src/views/wms/countManage/countadjust/countadjustRequestMain/index.vue
+++ b/src/views/wms/countManage/countadjust/countadjustRequestMain/index.vue
@@ -67,6 +67,7 @@
:apiUpdate="CountadjustRequestDetailApi.updateCountadjustRequestDetail"
:apiPage="CountadjustRequestDetailApi.getCountadjustRequestDetailPage"
:apiDelete="CountadjustRequestDetailApi.deleteCountadjustRequestDetail"
+ fromeWhere="countadjustRequest"
:Echo="Echo"
@searchTableSuccessDetail="searchTableSuccessDetail"
/>
diff --git a/src/views/wms/inventoryManage/containerinit/containerinitadd/containerMain.data.ts b/src/views/wms/inventoryManage/containerinit/containerinitadd/containerMain.data.ts
new file mode 100644
index 000000000..f395202ee
--- /dev/null
+++ b/src/views/wms/inventoryManage/containerinit/containerinitadd/containerMain.data.ts
@@ -0,0 +1,219 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import {Owner} from "@/views/wms/basicDataManage/orderManage/owner/owner.data";
+import * as OwnerApi from "@/api/wms/owner";
+import {Warehouse} from "@/views/wms/basicDataManage/factoryModeling/warehouse/warehouse.data";
+import * as WarehouseApi from "@/api/wms/warehouse";
+
+// 表单校验
+export const ContainerMainRules = reactive({
+ number: [
+ { required: true, message: '请输入号码', trigger: 'blur' }
+ ],
+ type: [
+ { required: true, message: '请选择类型', trigger: 'change' }
+ ],
+ status: [
+ { required: true, message: '请选择状态', trigger: 'change' }
+ ],
+ ownerCode: [
+ { required: true, message: '请选择货主代码', trigger: 'change' }
+ ],
+})
+
+export const ContainerMain = useCrudSchemas(reactive([
+ {
+ label: '号码',
+ field: 'number',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '类型',
+ field: 'type',
+ dictType: DICT_TYPE.CONTAINER_TYPE,
+ dictClass: 'string',
+ isTable: true,
+ isForm: true,
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '总容量',
+ field: 'capacity',
+ sort: 'custom',
+ form: {
+ component: 'InputNumber',
+ },
+ isSearch: true,
+ },
+ {
+ label: '状态',
+ field: 'status',
+ dictType: DICT_TYPE.CONTAINER_STATUS,
+ dictClass: 'string',
+ isTable: true,
+ isForm: true,
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '货主代码',
+ field: 'ownerCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ tableForm:{
+ isInpuFocusShow: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择货主代码',
+ searchField: 'code',
+ searchTitle: '货主信息',
+ searchAllSchemas: Owner.allSchemas,
+ searchPage: OwnerApi.getOwnerPage,
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ },
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择货主代码',
+ searchField: 'code',
+ searchTitle: '货主信息',
+ searchAllSchemas: Owner.allSchemas,
+ searchPage: OwnerApi.getOwnerPage,
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ }
+ }
+ },
+ {
+ label: '仓库代码',
+ field: 'warehouseCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ isSearch: true,
+ tableForm:{
+ isInpuFocusShow: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择仓库代码',
+ searchField: 'code',
+ searchTitle: '仓库信息',
+ searchAllSchemas: Warehouse.allSchemas,
+ searchPage: WarehouseApi.getWarehousePage,
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ },
+ form: {
+ // labelMessage: '信息提示说明!!!',
+ componentProps: {
+ isSearchList: true, // 开启查询弹窗
+ searchListPlaceholder: '请选择仓库代码', // 输入框占位文本
+ searchField: 'code', // 查询弹窗赋值字段
+ searchTitle: '仓库信息', // 查询弹窗标题
+ searchAllSchemas: Warehouse.allSchemas, // 查询弹窗所需类
+ searchPage: WarehouseApi.getWarehousePage, // 查询弹窗所需分页方法
+ searchCondition: [{
+ key: 'available',
+ value: 'TRUE',
+ isMainValue: false
+ }]
+ }
+ }
+ },
+]))
+
+
+/**
+ * @returns {Array} 器具子表
+ */
+export const ContainerDetail = useCrudSchemas(reactive([
+ {
+ label: '内容物类型',
+ field: 'containerContentType',
+ dictType: DICT_TYPE.CONTAINER_CONTENT_TYPE,
+ dictClass: 'string',
+ isTable: true,
+ isForm: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '内容物号',
+ field: 'contentNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '物料代码',
+ field: 'itemCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '批次',
+ field: 'batch',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '库存状态',
+ field: 'inventoryStatus',
+ dictType: DICT_TYPE.INVENTORY_STATUS,
+ dictClass: 'string',
+ isTable: true,
+ isForm: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '数量',
+ field: 'qty',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ form: {
+ component: 'InputNumber',
+ }
+ },
+ {
+ label: '计量单位',
+ field: 'uom',
+ dictType: DICT_TYPE.UOM,
+ dictClass: 'string',
+ isTable: true,
+ isForm: true,
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+]))
+
+// 表单校验
+export const ContainerDetailRules = reactive({
+ containerContentType: [
+ { required: true, message: '请选择内容物类型', trigger: 'change' }
+ ],
+})
diff --git a/src/views/wms/inventoryManage/containerinit/containerinitadd/index.vue b/src/views/wms/inventoryManage/containerinit/containerinitadd/index.vue
new file mode 100644
index 000000000..cc96b8cf1
--- /dev/null
+++ b/src/views/wms/inventoryManage/containerinit/containerinitadd/index.vue
@@ -0,0 +1,247 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/wms/inventoryManage/containerinit/containerinitrecord/containerInitRecordMain.data.ts b/src/views/wms/inventoryManage/containerinit/containerinitrecord/containerInitRecordMain.data.ts
new file mode 100644
index 000000000..def028e12
--- /dev/null
+++ b/src/views/wms/inventoryManage/containerinit/containerinitrecord/containerInitRecordMain.data.ts
@@ -0,0 +1,149 @@
+import type { CrudSchema } from '@/hooks/web/useCrudSchemas'
+import { dateFormatter } from '@/utils/formatTime'
+
+// 表单校验
+export const ContainerInitRecordMainRules = reactive({
+})
+
+export const ContainerInitRecordMain = useCrudSchemas(reactive([
+ {
+ label: '单据号',
+ field: 'number',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '仓库代码',
+ field: 'fromWarehouseCode',
+ sort: 'custom',
+ isSearch: true,
+ },
+ {
+ label: '部门',
+ field: 'departmentCode',
+ sort: 'custom',
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ isSearch: false,
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ table:{
+ show:false
+ }
+ },
+]))
+
+export const ContainerInitRecordDetail = useCrudSchemas(reactive([
+ {
+ label: '器具号',
+ field: 'containerNumber',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '类型',
+ field: 'type',
+ dictType: DICT_TYPE.CONTAINER_TYPE,
+ dictClass: 'string',
+ sort: 'custom',
+ form: {
+ component: 'SelectV2'
+ },
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '总容量',
+ field: 'capacity',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+
+ {
+ label: '状态',
+ field: 'status',
+ dictType: DICT_TYPE.CONTAINER_STATUS,
+ dictClass: 'string',
+ sort: 'custom',
+ form: {
+ component: 'Radio'
+ },
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '货主代码',
+ field: 'ownerCode',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '单据号',
+ field: 'number',
+ sort: 'custom',
+ table: {
+ width: 150
+ },
+ },
+ {
+ label: '创建时间',
+ field: 'createTime',
+ sort: 'custom',
+ formatter: dateFormatter,
+ table: {
+ width: 150
+ },
+ search: {
+ component: 'DatePicker',
+ componentProps: {
+ valueFormat: 'YYYY-MM-DD HH:mm:ss',
+ type: 'daterange',
+ defaultTime: [new Date('1 00:00:00'), new Date('1 23:59:59')]
+ }
+ },
+ isForm: false,
+ },
+ {
+ label: '备注',
+ field: 'remark',
+ sort: 'custom',
+ },
+ {
+ label: '操作',
+ field: 'action',
+ isForm: false,
+ table: {
+ width: 150,
+ fixed: 'right'
+ }
+ }
+]))
+
+// 表单校验
+export const ContainerInitRecordDetailRules = reactive({
+
+})
diff --git a/src/views/wms/inventoryManage/containerinit/containerinitrecord/index.vue b/src/views/wms/inventoryManage/containerinit/containerinitrecord/index.vue
new file mode 100644
index 000000000..a386987ca
--- /dev/null
+++ b/src/views/wms/inventoryManage/containerinit/containerinitrecord/index.vue
@@ -0,0 +1,286 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ row.number }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/index.vue b/src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/index.vue
index b3120aa1f..0b973e826 100644
--- a/src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/index.vue
+++ b/src/views/wms/issueManage/productionreturn/productionreturnRequestMainNo/index.vue
@@ -324,12 +324,12 @@ const buttonTableClick = async (val, row) => {
if(itemColumns.field == 'productionLineCodePackage') {
// itemColumns.tableForm.isInpuFocusShow = false
// itemColumns.tableForm.disabled = true
- ProductionreturnRequestDetailLabelRules.productionLineCodePackage[0].required = false
+ ProductionreturnRequestDetailNoLabelRules.productionLineCodePackage[0].required = false
}
if(itemColumns.field == 'supplierItemCode') {
itemColumns.tableForm.isInpuFocusShow = true
itemColumns.tableForm.disabled = false
- ProductionreturnRequestDetailLabelRules.supplierItemCode[0].required = true
+ ProductionreturnRequestDetailNoLabelRules.supplierItemCode[0].required = true
}
})
} else {
@@ -338,13 +338,13 @@ const buttonTableClick = async (val, row) => {
if(itemColumns.field == 'supplierItemCode') {
itemColumns.tableForm.isInpuFocusShow = false
itemColumns.tableForm.disabled = true
- ProductionreturnRequestDetailLabelRules.supplierItemCode[0].required = false
+ ProductionreturnRequestDetailNoLabelRules.supplierItemCode[0].required = false
}
if(itemColumns.field == 'productionLineCodePackage') {
item.productionLineCodePackage = item.productionLineCode
// itemColumns.tableForm.isInpuFocusShow = true
// itemColumns.tableForm.disabled = false
- ProductionreturnRequestDetailLabelRules.productionLineCodePackage[0].required = true
+ ProductionreturnRequestDetailNoLabelRules.productionLineCodePackage[0].required = true
}
})
}
diff --git a/src/views/wms/moveManage/inventorychange/inventorychangeRecordMain/index.vue b/src/views/wms/moveManage/inventorychange/inventorychangeRecordMain/index.vue
index b9d7286d0..ad3c7e2c7 100644
--- a/src/views/wms/moveManage/inventorychange/inventorychangeRecordMain/index.vue
+++ b/src/views/wms/moveManage/inventorychange/inventorychangeRecordMain/index.vue
@@ -139,7 +139,7 @@ const { getList, setSearchParams } = tableMethods
// 列表头部按钮
const HeadButttondata = [
defaultButtons.defaultExportBtn({hasPermi:'wms:inventorychange-record-main:export'}), // 导出
- defaultButtons.defaultFreshBtn({hasPermi:'wms:inventorychange-record-main:page'}), // 刷新
+ defaultButtons.defaultFreshBtn(null), // 刷新
defaultButtons.defaultFilterBtn(null), // 筛选
defaultButtons.defaultSetBtn(null), // 设置
// {
diff --git a/src/views/wms/moveManage/inventorychange/inventorychangeRequestMain/index.vue b/src/views/wms/moveManage/inventorychange/inventorychangeRequestMain/index.vue
index 52f69be97..577452352 100644
--- a/src/views/wms/moveManage/inventorychange/inventorychangeRequestMain/index.vue
+++ b/src/views/wms/moveManage/inventorychange/inventorychangeRequestMain/index.vue
@@ -108,15 +108,56 @@ const searchTableSuccess = (formField, searchField, val, formRef, type, row ) =>
// 明细查询页赋值
row[formField] = val[0][searchField]
row['fromPackingNumber'] = val[0]['packingNumber']
- row['itemCode'] = val[0]['itemCode']
+ row['toPackingNumber'] = val[0]['packingNumber']
row['fromBatch'] = val[0]['batch']
- row['locationCode'] = val[0]['locationCode']
+ row['toBatch'] = val[0]['batch']
row['fromInventoryStatus'] = val[0]['inventoryStatus']
+ row['toInventoryStatus'] = val[0]['inventoryStatus']
+ row['fromContainerNumber'] = val[0]['containerNumber']
+ row['toContainerNumber'] = val[0]['containerNumber']
+ row['fromQty'] = val[0]['qty']
+ row['toQty'] = val[0]['qty']
+ row['fromOwnerCode'] = val[0]['ownerCode']
+ row['toOwnerCode'] = val[0]['ownerCode']
+ row['fromAltBatch'] = val[0]['altBatch']
+ row['toAltBatch'] = val[0]['altBatch']
+ row['fromArriveDate'] = val[0]['arriveDate']
+ row['toArriveDate'] = val[0]['arriveDate']
+ row['fromProduceDate'] = val[0]['produceDate']
+ row['toProduceDate'] = val[0]['produceDate']
+ row['fromExpireDate'] = val[0]['expireDate']
+ row['toExpireDate'] = val[0]['expireDate']
+ row['itemCode'] = val[0]['itemCode']
+ row['locationCode'] = val[0]['locationCode']
+ row['uom'] = val[0]['uom']
+ } else {
+ const setV = {}
+ setV[formField] = val[0][searchField]
+ setV['fromPackingNumber'] = val[0]['packingNumber']
+ setV['toPackingNumber'] = val[0]['packingNumber']
+ setV['fromBatch'] = val[0]['batch']
+ setV['toBatch'] = val[0]['batch']
+ setV['fromInventoryStatus'] = val[0]['inventoryStatus']
+ setV['toInventoryStatus'] = val[0]['inventoryStatus']
+ setV['fromContainerNumber'] = val[0]['containerNumber']
+ setV['toContainerNumber'] = val[0]['containerNumber']
+ setV['fromQty'] = val[0]['qty']
+ setV['toQty'] = val[0]['qty']
+ setV['fromOwnerCode'] = val[0]['ownerCode']
+ setV['toOwnerCode'] = val[0]['ownerCode']
+ setV['fromAltBatch'] = val[0]['altBatch']
+ setV['toAltBatch'] = val[0]['altBatch']
+ setV['fromArriveDate'] = val[0]['arriveDate']
+ setV['toArriveDate'] = val[0]['arriveDate']
+ setV['fromProduceDate'] = val[0]['produceDate']
+ setV['toProduceDate'] = val[0]['produceDate']
+ setV['fromExpireDate'] = val[0]['expireDate']
+ setV['toExpireDate'] = val[0]['expireDate']
+ setV['itemCode'] = val[0]['itemCode']
+ setV['locationCode'] = val[0]['locationCode']
+ setV['uom'] = val[0]['uom']
+ formRef.setValues(setV)
}
- console.log(116, row)
- const setV = {}
- setV[formField] = val[0][searchField]
- formRef.setValues(setV)
})
}
// 查询页面返回——详情
@@ -182,7 +223,7 @@ const isShowMainButton = (row,val) => {
// 列表-操作按钮
const butttondata = (row) => {
return [
- defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['1','2','3','4','6']),hasPermi:'wms:inventorychange-request-main:close'}), // 关闭
+ defaultButtons.mainListCloseBtn({hide:isShowMainButton(row,['1','2','3','4']),hasPermi:'wms:inventorychange-request-main:close'}), // 关闭
defaultButtons.mainListReAddBtn({hide:isShowMainButton(row,['4','5']),hasPermi:'wms:inventorychange-request-main:reAdd'}), //重新添加
defaultButtons.mainListSubmitBtn({hide:isShowMainButton(row,['1']),hasPermi:'wms:inventorychange-request-main:submit'}), // 提交审批
defaultButtons.mainListTurnDownBtn({hide:isShowMainButton(row,['2']),hasPermi:'wms:inventorychange-request-main:refused'}), // 驳回
diff --git a/src/views/wms/moveManage/inventorychange/inventorychangeRequestMain/inventorychangeRequestMain.data.ts b/src/views/wms/moveManage/inventorychange/inventorychangeRequestMain/inventorychangeRequestMain.data.ts
index 3db76d9cf..9fb835b57 100644
--- a/src/views/wms/moveManage/inventorychange/inventorychangeRequestMain/inventorychangeRequestMain.data.ts
+++ b/src/views/wms/moveManage/inventorychange/inventorychangeRequestMain/inventorychangeRequestMain.data.ts
@@ -8,6 +8,9 @@ import { Balance } from '@/views/wms/inventoryManage/balance/balance.data'
import * as ItembasicApi from '@/api/wms/itembasic'
import { Itembasic } from '@/views/wms/basicDataManage/itemManage/itembasic/itembasic.data'
+import * as OwnerApi from '@/api/wms/owner'
+import { Owner } from '@/views/wms/basicDataManage/orderManage/owner/owner.data'
+
const { t } = useI18n() // 国际化
// 获取自动提交自动通过自动执行,跳过任务直接删生成记录的默认值
@@ -341,6 +344,43 @@ export const InventorychangeRequestDetail = useCrudSchemas(reactive
-
-
-
-
-
+
+
+
+