diff --git a/src/api/mes/device-ledger.ts b/src/api/mes/device-ledger.ts new file mode 100644 index 00000000..6c71f1e7 --- /dev/null +++ b/src/api/mes/device-ledger.ts @@ -0,0 +1,47 @@ +import request from '@/config/axios' + +export interface CapacityReportVO { + id: number + deviceCode: string + deviceName: string + typeName: string + deviceStatus: number + ratedCapacity: number + reportCapacity: number + actualCapacity: number + workshopName: string +} + +export interface CapacityReportQuery { + pageNo: number + pageSize: number + deviceCode?: string + deviceName?: string + deviceType?: string + deviceStatus?: string + workshop?: string + ids?: string +} + +export const DeviceLedgerApi = { + /** + * 产能报表分页查询 + */ + getCapacityReportPage: async (params: CapacityReportQuery) => { + return await request.get({ url: '/mes/device-ledger/capacity-report/page', params }) + }, + + /** + * 产能报表导出 + */ + exportCapacityReport: async (params: { ids?: string }) => { + return await request.download({ url: '/mes/device-ledger/capacity-report/export-excel', params }) + }, + + /** + * 更新设备状态 + */ + updateDeviceLedger: async (data: { id: number; deviceStatus: number }) => { + return await request.put({ url: '/mes/device-ledger/update', data }) + } +} diff --git a/src/api/mes/plan/index.ts b/src/api/mes/plan/index.ts index 37d6a0dc..aa005db7 100644 --- a/src/api/mes/plan/index.ts +++ b/src/api/mes/plan/index.ts @@ -177,5 +177,9 @@ export const PlanApi = { getPlanPageByTask: async (params: any) => { return await request.get({ url: `/mes/plan/page-by-task`, params }) + }, + + getProductCapacityPage: async (params: any) => { + return await request.get({ url: `/mes/plan/product-capacity-page`, params }) } } diff --git a/src/locales/en.ts b/src/locales/en.ts index 9e8e2f79..62412256 100644 --- a/src/locales/en.ts +++ b/src/locales/en.ts @@ -1335,10 +1335,57 @@ export default { validatorDeviceCodeRequired: 'Code can not be empty', gjTitle: 'Select key components', bjTitle: 'Select spare parts', + normal: 'Normal', + stop: 'Stopped', + maintenance: 'Maintenance', + scrap: 'Scrap', + placeholderWorkshop: 'Please input workshop', + reportCapacity: 'Report Capacity', + actualCapacity: 'Actual Capacity', Detail: { invalidId: 'Invalid device ID' } }, + // Capacity Report + CapacityReport: { + deviceCode: 'Device Code', + deviceName: 'Device Name', + deviceType: 'Device Type', + deviceStatus: 'Device Status', + workshop: 'Workshop', + ratedCapacity: 'Rated Capacity (Planned Capacity)', + reportCapacity: 'Report Capacity', + reportCapacityTooltip: 'Default query for average of data from the last half year (excluding today)', + reportCapacityViewDetail: 'View Detail', + actualCapacity: 'Actual Capacity', + actualCapacityTooltip: 'Default query for average of data from the last half year (excluding today)', + placeholderDeviceCode: 'Please input device code', + placeholderDeviceName: 'Please input device name', + placeholderDeviceType: 'Please input device type', + placeholderDeviceStatus: 'Please select device status', + placeholderWorkshop: 'Please input workshop', + baogongTime: 'Capacity Statistics Time', + placeholderBaogongTimeStart: 'Start Time', + placeholderBaogongTimeEnd: 'End Time', + shortcutLastWeek: 'Last Week', + shortcutLastHalfYear: 'Last Half Year', + shortcutLastYear: 'Last Year', + dialogTitlePrefix: 'Report Capacity Detail - ', + dialogProductCode: 'Product Code', + dialogProductCodePlaceholder: 'Please input product code', + dialogProductName: 'Product Name', + dialogProductNamePlaceholder: 'Please input product name', + dialogBaogongTime: 'Report Time', + dialogBaogongTimeStart: 'Report Start Time', + dialogBaogongTimeEnd: 'Report End Time', + dialogTaskCode: 'Task Code', + dialogTaskCodePlaceholder: 'Please input task code', + dialogBaogongTotal: 'Report Total', + dialogAvgCapacity: 'Avg Report Capacity', + dialogSearchButtonText: 'Search', + dialogResetButtonText: 'Reset', + exportFilename: 'Capacity Report.xls' + }, // Critical Component EquipmentKeyItems: { code: 'Code', @@ -1803,6 +1850,8 @@ export default { addButtonText: 'Add', exportButtonText: 'Export', expandButtonText: 'Expand/Collapse', + collapseText: 'Collapse', + expandText: 'Expand', tableCodeColumn: 'Organization Code', tableNameColumn: 'Organization Name', tableSortColumn: 'Display Order', @@ -4301,6 +4350,8 @@ export default { searchButtonText: 'Search', resetButtonText: 'Reset', exportButtonText: 'Export', + collapseText: 'Collapse', + expandText: 'Expand', tableLineCodeColumn: 'Line Code', tableLineNameColumn: 'Line Name', @@ -4338,6 +4389,8 @@ export default { searchButtonText: 'Search', resetButtonText: 'Reset', exportButtonText: 'Export', + collapseText: 'Collapse', + expandText: 'Expand', tableLineCodeColumn: 'Line Code', tableLineNameColumn: 'Line Name', diff --git a/src/locales/zh-CN.ts b/src/locales/zh-CN.ts index c4c7f58c..c8c0f053 100644 --- a/src/locales/zh-CN.ts +++ b/src/locales/zh-CN.ts @@ -1325,10 +1325,57 @@ export default { validatorDeviceCodeRequired: '编码不能为空', gjTitle: '选择关键件', bjTitle: '选择备件', + normal: '正常', + stop: '停用', + maintenance: '维修', + scrap: '报废', + placeholderWorkshop: '请输入所属车间', + reportCapacity: '报工产能', + actualCapacity: '实际产能', Detail: { invalidId: '无效的设备ID' } }, + // 产能报表 + CapacityReport: { + deviceCode: '设备编码', + deviceName: '设备名称', + deviceType: '设备类型', + deviceStatus: '设备状态', + workshop: '所属车间', + ratedCapacity: '额定产能(计划产能)', + reportCapacity: '报工产能', + reportCapacityTooltip: '默认查询近半年的数据均值(不包含今日)', + reportCapacityViewDetail: '查看明细', + actualCapacity: '实际产能', + actualCapacityTooltip: '默认查询近半年的数据均值(不包含今日)', + placeholderDeviceCode: '请输入设备编码', + placeholderDeviceName: '请输入设备名称', + placeholderDeviceType: '请输入设备类型', + placeholderDeviceStatus: '请选择设备状态', + placeholderWorkshop: '请输入所属车间', + baogongTime: '产能统计时间', + placeholderBaogongTimeStart: '开始时间', + placeholderBaogongTimeEnd: '结束时间', + shortcutLastWeek: '近一周', + shortcutLastHalfYear: '近半年', + shortcutLastYear: '近一年', + dialogTitlePrefix: '报工产能明细 - ', + dialogProductCode: '产品编码', + dialogProductCodePlaceholder: '请输入产品编码', + dialogProductName: '产品名称', + dialogProductNamePlaceholder: '请输入产品名称', + dialogBaogongTime: '报工时间', + dialogBaogongTimeStart: '报工开始时间', + dialogBaogongTimeEnd: '报工结束时间', + dialogTaskCode: '任务编码', + dialogTaskCodePlaceholder: '请输入任务编码', + dialogBaogongTotal: '报工总数', + dialogAvgCapacity: '报工均值产能', + dialogSearchButtonText: '搜索', + dialogResetButtonText: '重置', + exportFilename: '产能报表.xls' + }, // 设备关键件 EquipmentKeyItems: { count: '数量', @@ -2632,6 +2679,8 @@ export default { addButtonText: '新增', exportButtonText: '导出', expandButtonText: '展开/折叠', + collapseText: '收起', + expandText: '展开', tableCodeColumn: '组织编码', tableNameColumn: '组织名称', tableSortColumn: '显示顺序', @@ -4137,6 +4186,8 @@ export default { searchButtonText: '搜索', resetButtonText: '重置', exportButtonText: '导出', + collapseText: '收起', + expandText: '展开', tableLineCodeColumn: '产线编码', tableLineNameColumn: '产线名称', @@ -4174,6 +4225,8 @@ export default { searchButtonText: '搜索', resetButtonText: '重置', exportButtonText: '导出', + collapseText: '收起', + expandText: '展开', tableLineCodeColumn: '产线编码', tableLineNameColumn: '产线名称', diff --git a/src/views/erp/autocode/AutocodeIndex.vue b/src/views/erp/autocode/AutocodeIndex.vue index 1154d1e6..b90f8ed7 100644 --- a/src/views/erp/autocode/AutocodeIndex.vue +++ b/src/views/erp/autocode/AutocodeIndex.vue @@ -1,83 +1,56 @@ - - + + - + - - + + @@ -125,42 +103,26 @@ - + - + @@ -200,6 +162,13 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) // 是否显示所有筛选框 +const filterCount = 5 // 筛选框数量(ruleCode、ruleName、ruleDesc、remark、isEnable) + +/** 切换筛选框展开/折叠 */ +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const getBarcodeTypeLabel = (value: any) => { const str = value === undefined || value === null ? '' : String(value) @@ -248,17 +217,17 @@ const handleDelete = async (id: number) => { message.success(t('common.delSuccess')) // 刷新列表 await getList() - } catch {} + } catch { } } /** 测试编码按钮操作 */ const handleTestCode = async (ruleCode: string) => { try { - + // 发起测试 const data = await AutocodeRuleApi.getTestCode(ruleCode) message.success(data) - - } catch {} + + } catch { } } /** 导出按钮操作 */ diff --git a/src/views/erp/component/in/index.vue b/src/views/erp/component/in/index.vue index 3ddeb7ee..39a1a982 100644 --- a/src/views/erp/component/in/index.vue +++ b/src/views/erp/component/in/index.vue @@ -52,7 +52,7 @@ /> - + - + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : t('FactoryModeling.FactoryStructure.expandText') }} + + {{ t('common.query') }} {{ t('common.reset') }} @@ -253,6 +259,11 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) +const filterCount = 5 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const productList = ref([]) // 产品列表 const warehouseList = ref([]) // 仓库列表 const supplierList = ref([]) // 供应商列表 diff --git a/src/views/erp/component/out/index.vue b/src/views/erp/component/out/index.vue index 93963310..e2da4546 100644 --- a/src/views/erp/component/out/index.vue +++ b/src/views/erp/component/out/index.vue @@ -45,7 +45,7 @@ class="!w-240px" /> - + - + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : t('FactoryModeling.FactoryStructure.expandText') }} + + {{ t('common.query') }} {{ t('common.reset') }} @@ -248,6 +254,11 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) +const filterCount = 5 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const productList = ref([]) // 产品列表 const warehouseList = ref([]) // 仓库列表 diff --git a/src/views/erp/component/record/index.vue b/src/views/erp/component/record/index.vue index 002fc2af..c75121f6 100644 --- a/src/views/erp/component/record/index.vue +++ b/src/views/erp/component/record/index.vue @@ -52,7 +52,7 @@ class="!w-240px" /> - + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : t('FactoryModeling.FactoryStructure.expandText') }} + + {{ t('common.query') }} {{ t('common.reset') }} @@ -173,6 +179,11 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) +const filterCount = 4 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const productList = ref([]) // 产品列表 const warehouseList = ref([]) // 仓库列表 diff --git a/src/views/erp/component/stock/index.vue b/src/views/erp/component/stock/index.vue index 6f9e39e3..f87c7eed 100644 --- a/src/views/erp/component/stock/index.vue +++ b/src/views/erp/component/stock/index.vue @@ -43,6 +43,12 @@ /> + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : t('FactoryModeling.FactoryStructure.expandText') }} + + {{ t('common.query') }} {{ t('common.reset') }} @@ -118,6 +124,11 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) +const filterCount = 2 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const productList = ref([]) // 产品列表 const warehouseList = ref([]) // 仓库列表 diff --git a/src/views/erp/stock/in/index.vue b/src/views/erp/stock/in/index.vue index bc2b0f3f..ed58dbb8 100644 --- a/src/views/erp/stock/in/index.vue +++ b/src/views/erp/stock/in/index.vue @@ -60,7 +60,7 @@ /> --> - + - + - + - + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : + t('FactoryModeling.FactoryStructure.expandText') }} + + {{ t('common.query') }} {{ t('common.reset') }} @@ -308,6 +315,11 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) +const filterCount = 7 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const productList = ref([]) // 产品列表 const warehouseList = ref([]) // 仓库列表 const supplierList = ref([]) // 供应商列表 diff --git a/src/views/erp/stock/out/index.vue b/src/views/erp/stock/out/index.vue index bfb0ee63..f11f485c 100644 --- a/src/views/erp/stock/out/index.vue +++ b/src/views/erp/stock/out/index.vue @@ -60,7 +60,7 @@ /> --> - + - + - + - + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : + t('FactoryModeling.FactoryStructure.expandText') }} + + {{ t('common.query') }} {{ t('common.reset') }} @@ -317,6 +324,11 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) +const filterCount = 7 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const productList = ref([]) // 产品列表 const warehouseList = ref([]) // 仓库列表 const customerList = ref([]) // 客户列表 diff --git a/src/views/erp/stock/record/index.vue b/src/views/erp/stock/record/index.vue index 704b615d..7bac3dc0 100644 --- a/src/views/erp/stock/record/index.vue +++ b/src/views/erp/stock/record/index.vue @@ -57,7 +57,7 @@ /> - + - + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : + t('FactoryModeling.FactoryStructure.expandText') }} + + {{ t('common.query') }} {{ t('common.reset') }} @@ -200,6 +207,11 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) +const filterCount = 5 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const productList = ref([]) // 产品列表 const warehouseList = ref([]) // 仓库列表 const categoryTabs = ref([]) diff --git a/src/views/erp/stock/warehouse/index.vue b/src/views/erp/stock/warehouse/index.vue index 2d740bb7..fe505046 100644 --- a/src/views/erp/stock/warehouse/index.vue +++ b/src/views/erp/stock/warehouse/index.vue @@ -33,6 +33,13 @@ /> + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : + t('FactoryModeling.FactoryStructure.expandText') }} + + {{ t('common.query') }} {{ t('common.reset') }} @@ -245,6 +252,11 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) +const filterCount = 2 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const detailDialogVisible = ref(false) // 详情弹窗的是否展示 const detailData = ref(null) // 详情的数据 const activeTab = ref('area') // 当前激活的tab diff --git a/src/views/erp/warehousearea/index.vue b/src/views/erp/warehousearea/index.vue index 1feed687..c612bdf8 100644 --- a/src/views/erp/warehousearea/index.vue +++ b/src/views/erp/warehousearea/index.vue @@ -40,7 +40,7 @@ class="!w-240px" /> - + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : + t('FactoryModeling.FactoryStructure.expandText') }} + + {{ t('common.query') }} {{ t('common.reset') }} @@ -149,6 +156,11 @@ const queryParams = reactive({ status: undefined }) const queryFormRef = ref() +const showAllFilters = ref(false) +const filterCount = 4 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const warehouseList = ref([]) const getWarehouseName = (warehouseId: number) => { diff --git a/src/views/erp/warehouselocation/index.vue b/src/views/erp/warehouselocation/index.vue index 9d92f67c..147ef28f 100644 --- a/src/views/erp/warehouselocation/index.vue +++ b/src/views/erp/warehouselocation/index.vue @@ -47,7 +47,7 @@ class="!w-240px" /> - + - + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : + t('FactoryModeling.FactoryStructure.expandText') }} + + {{ t('common.query') }} {{ t('common.reset') }} @@ -191,6 +198,11 @@ const queryParams = reactive({ status: undefined }) const queryFormRef = ref() +const showAllFilters = ref(false) +const filterCount = 5 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const warehouseList = ref([]) const areaList = ref([]) diff --git a/src/views/iot/historyData/index.vue b/src/views/iot/historyData/index.vue index 0f137ed8..884f270c 100644 --- a/src/views/iot/historyData/index.vue +++ b/src/views/iot/historyData/index.vue @@ -34,7 +34,7 @@ class="!w-240px" /> - + + + + + {{ showAllFilters ? t('DataCollection.HistoryData.collapseText') : t('DataCollection.HistoryData.expandText') }} + + @@ -151,6 +157,11 @@ const loading = ref(true) const list = ref([]) const total = ref(0) const exportLoading = ref(false) +const showAllFilters = ref(false) +const filterCount = 4 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const queryParams = reactive({ pageNo: 1, pageSize: 10, diff --git a/src/views/iot/realTimeMonitoring/index.vue b/src/views/iot/realTimeMonitoring/index.vue index 442da3bf..d5fb945b 100644 --- a/src/views/iot/realTimeMonitoring/index.vue +++ b/src/views/iot/realTimeMonitoring/index.vue @@ -34,7 +34,7 @@ class="!w-240px" /> - + + + + + {{ showAllFilters ? t('DataCollection.RealTimeMonitoring.collapseText') : t('DataCollection.RealTimeMonitoring.expandText') }} + + @@ -156,6 +162,11 @@ const loading = ref(true) const list = ref([]) const total = ref(0) const exportLoading = ref(false) +const showAllFilters = ref(false) +const filterCount = 4 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const queryParams = reactive({ pageNo: 1, pageSize: 10, diff --git a/src/views/mes/bom/index.vue b/src/views/mes/bom/index.vue index 8e3c1677..e09a0102 100644 --- a/src/views/mes/bom/index.vue +++ b/src/views/mes/bom/index.vue @@ -37,7 +37,7 @@ class="!w-240px" /> - + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : t('FactoryModeling.FactoryStructure.expandText') }} + + + {{ t('FactoryModeling.ProductBOM.searchButtonText') }} {{ t('FactoryModeling.ProductBOM.resetButtonText') }} @@ -178,6 +185,13 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) // 是否显示所有筛选框 +const filterCount = 4 // 筛选框数量(code、productId、remark、isEnable) + +/** 切换筛选框展开/折叠 */ +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} /** 查询列表 */ const getList = async () => { diff --git a/src/views/mes/capacityReport/ProductCapacityDialog.vue b/src/views/mes/capacityReport/ProductCapacityDialog.vue new file mode 100644 index 00000000..b21d25ee --- /dev/null +++ b/src/views/mes/capacityReport/ProductCapacityDialog.vue @@ -0,0 +1,174 @@ + + + diff --git a/src/views/mes/capacityReport/index.vue b/src/views/mes/capacityReport/index.vue new file mode 100644 index 00000000..eeeddd38 --- /dev/null +++ b/src/views/mes/capacityReport/index.vue @@ -0,0 +1,234 @@ + + + diff --git a/src/views/mes/criticalComponent/index.vue b/src/views/mes/criticalComponent/index.vue index 4464392c..e311b84d 100644 --- a/src/views/mes/criticalComponent/index.vue +++ b/src/views/mes/criticalComponent/index.vue @@ -11,24 +11,30 @@ v-model="queryParams.code" :placeholder="t('EquipmentManagement.EquipmentKeyItem v-model="queryParams.name" :placeholder="t('EquipmentManagement.EquipmentKeyItems.placeholderName')" clearable @keyup.enter="handleQuery" class="!w-240px" /> - + - + - + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : t('FactoryModeling.FactoryStructure.expandText') }} + + @@ -175,6 +181,11 @@ const queryParams = reactive({ const queryFormRef = ref() const selectedIds = ref([]) +const showAllFilters = ref(false) +const filterCount = 5 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const importDialogVisible = ref(false) const importLoading = ref(false) diff --git a/src/views/mes/dvrepair/index.vue b/src/views/mes/dvrepair/index.vue index 7c9a1dc3..4f3704ab 100644 --- a/src/views/mes/dvrepair/index.vue +++ b/src/views/mes/dvrepair/index.vue @@ -28,7 +28,7 @@ class="!w-240px" /> - + - + - + - + - + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : t('FactoryModeling.FactoryStructure.expandText') }} + + @@ -229,6 +235,11 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) +const filterCount = 8 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const statusOptions = [ { label: t('EquipmentManagement.DvRepair.statusPending'), value: '0' }, diff --git a/src/views/mes/energytype/index.vue b/src/views/mes/energytype/index.vue index 595dc799..79309cea 100644 --- a/src/views/mes/energytype/index.vue +++ b/src/views/mes/energytype/index.vue @@ -35,7 +35,7 @@ class="!w-240px" /> - + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : + t('FactoryModeling.FactoryStructure.expandText') }} + + @@ -192,6 +199,11 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) +const filterCount = 4 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const selectedIds = ref([]) const handleSelectionChange = (rows: EnergyTypeVO[]) => { diff --git a/src/views/mes/feedingrecord/index.vue b/src/views/mes/feedingrecord/index.vue index 459801d6..a386c518 100644 --- a/src/views/mes/feedingrecord/index.vue +++ b/src/views/mes/feedingrecord/index.vue @@ -40,7 +40,7 @@ class="!w-240px" /> - + - + + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : + t('FactoryModeling.FactoryStructure.expandText') }} + + + {{ t('ProductionPlan.FeedingRecord.buttonSearchText') }} {{ t('ProductionPlan.FeedingRecord.buttonResetText') }} @@ -214,6 +223,13 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) // 是否显示所有筛选框 +const filterCount = 4 // 筛选框数量 + +/** 切换筛选框展开/折叠 */ +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} /** 查询列表 */ const getList = async () => { diff --git a/src/views/mes/moldget/index.vue b/src/views/mes/moldget/index.vue index 663349ef..e5ab245b 100644 --- a/src/views/mes/moldget/index.vue +++ b/src/views/mes/moldget/index.vue @@ -61,7 +61,7 @@ /> --> - + - + - + - + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : t('FactoryModeling.FactoryStructure.expandText') }} + + {{ t('common.query') }} {{ t('common.reset') }} @@ -297,6 +303,11 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) +const filterCount = 7 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const productList = ref([]) // 产品列表 const warehouseList = ref([]) // 仓库列表 const customerList = ref([]) // 客户列表 diff --git a/src/views/mes/moldreturn/index.vue b/src/views/mes/moldreturn/index.vue index b434c5b8..77993fb8 100644 --- a/src/views/mes/moldreturn/index.vue +++ b/src/views/mes/moldreturn/index.vue @@ -60,7 +60,7 @@ /> --> - + - + - + - + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : t('FactoryModeling.FactoryStructure.expandText') }} + + {{ t('common.query') }} {{ t('common.reset') }} @@ -292,6 +298,11 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) +const filterCount = 7 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const productList = ref([]) // 产品列表 const warehouseList = ref([]) // 仓库列表 const customerList = ref([]) // 客户列表 diff --git a/src/views/mes/organization/index.vue b/src/views/mes/organization/index.vue index bc469728..ad633553 100644 --- a/src/views/mes/organization/index.vue +++ b/src/views/mes/organization/index.vue @@ -54,7 +54,7 @@ /> --> - + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : t('FactoryModeling.FactoryStructure.expandText') }} + + + {{ t('FactoryModeling.FactoryStructure.searchButtonText') }} {{ t('FactoryModeling.FactoryStructure.resetButtonText') }} @@ -219,6 +226,13 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) // 是否显示所有筛选框 +const filterCount = 4 // 筛选框数量(code、parentId、name、orgClass) + +/** 切换筛选框展开/折叠 */ +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} /** 查询列表 */ const getList = async () => { diff --git a/src/views/mes/plan/index.vue b/src/views/mes/plan/index.vue index 88d76c3e..31cc1d24 100644 --- a/src/views/mes/plan/index.vue +++ b/src/views/mes/plan/index.vue @@ -18,22 +18,31 @@ - + - + - + + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : + t('FactoryModeling.FactoryStructure.expandText') }} + + + {{ t('ProductionPlan.Plan.buttonSearchText') }} @@ -321,6 +330,14 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) // 是否显示所有筛选框 +const filterCount = 4 // 筛选框数量 + +/** 切换筛选框展开/折叠 */ +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} + const warehouseList = ref([]) // 仓库列表 const storeDialogVisible = ref(false) // 入库仓库选择弹窗 const storeWarehouseId = ref() // 选中的仓库ID diff --git a/src/views/mes/productionReport/index.vue b/src/views/mes/productionReport/index.vue index 04815c51..bd1c4016 100644 --- a/src/views/mes/productionReport/index.vue +++ b/src/views/mes/productionReport/index.vue @@ -41,7 +41,7 @@ class="!w-240px" /> - + - + + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : + t('FactoryModeling.FactoryStructure.expandText') }} + + + {{ t('ProductionReport.Index.buttonSearch') }} @@ -170,6 +179,13 @@ const queryParams = reactive({ }) const queryFormRef = ref() const exportLoading = ref(false) +const showAllFilters = ref(false) // 是否显示所有筛选框 +const filterCount = 4 // 筛选框数量 + +/** 切换筛选框展开/折叠 */ +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const activeStatusTab = ref('') diff --git a/src/views/mes/repairItems/index.vue b/src/views/mes/repairItems/index.vue index 28fd7406..0819d4a9 100644 --- a/src/views/mes/repairItems/index.vue +++ b/src/views/mes/repairItems/index.vue @@ -51,7 +51,7 @@ /> --> - + - + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : t('FactoryModeling.FactoryStructure.expandText') }} + + {{ t('common.query') }} {{ t('common.reset') }} @@ -183,6 +189,11 @@ const queryFormRef = ref() const tableRef = ref() const selectedIds = ref([]) const formRef = ref() +const showAllFilters = ref(false) +const filterCount = 5 +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} const deviceTypeOptions = ref<{ label: string; value: number }[]>([ { label: t('EquipmentManagement.RepairItems.deviceTypeDevice'), value: 1 }, diff --git a/src/views/mes/task/index.vue b/src/views/mes/task/index.vue index b9767fdb..9a2881be 100644 --- a/src/views/mes/task/index.vue +++ b/src/views/mes/task/index.vue @@ -42,7 +42,7 @@ /> - + - + + + + + + {{ showAllFilters ? t('FactoryModeling.FactoryStructure.collapseText') : + t('FactoryModeling.FactoryStructure.expandText') }} + + + {{ t('ProductionPlan.Task.buttonSearchText') }} {{ t('ProductionPlan.Task.buttonResetText') }} @@ -221,6 +230,13 @@ const queryParams = reactive({ }) const queryFormRef = ref() // 搜索的表单 const exportLoading = ref(false) // 导出的加载中 +const showAllFilters = ref(false) // 是否显示所有筛选框 +const filterCount = 4 // 筛选框数量 + +/** 切换筛选框展开/折叠 */ +const toggleFilters = () => { + showAllFilters.value = !showAllFilters.value +} /** 查询列表 */ const getList = async () => { diff --git a/src/views/mes/tasksummary/components/ScheduleGanttPanelEditable.vue b/src/views/mes/tasksummary/components/ScheduleGanttPanelEditable.vue index c86f9693..8a9bf268 100644 --- a/src/views/mes/tasksummary/components/ScheduleGanttPanelEditable.vue +++ b/src/views/mes/tasksummary/components/ScheduleGanttPanelEditable.vue @@ -9,8 +9,8 @@ {{ activePreviewDevice.deviceName }} {{ activePreviewDevice.deviceId }} - {{ getCapacityTypeLabel(activePreviewDevice.capacityType) }} - {{ activePreviewDevice.ratedCapacity ?? '-' }} + {{ getCapacityTypeLabel(activePreviewDevice.capacityType) }} + {{ activePreviewDevice.ratedCapacity ?? '-' }} {{ activePreviewDevice.dailyAverageValue ?? '-' }} {{ activePreviewDevice.dataCollectionCapacity ?? '-' }} {{ activePreviewDevice.plans?.length ?? 0 }} @@ -27,7 +27,7 @@
{{ t('GanttChart.GanttPanel.taskCodeColon') }}{{ plan.taskCode ?? '-' }}
{{ t('GanttChart.GanttPanel.planNumberColon') }}{{ plan.planNumber ?? '-' }}
-