feat(生产管理): 在多个页面表格和筛选器中添加车间字段
- 在工单编辑、工单管理、生产成本、生产报工和生产订单页面的表格列中添加车间显示
- 在生产订单页面添加车间筛选下拉框并调整状态选择器宽度
- 在生产追溯页面添加车间信息展示
- 新增车间数据获取逻辑以支持筛选功能
| | |
| | | prop: "schedulingUserName", |
| | | minWidth: 100, |
| | | }, |
| | | { |
| | | label: "车间", |
| | | prop: "workshopName", |
| | | minWidth: 100, |
| | | }, |
| | | // { |
| | | // label: "合同号", |
| | | // prop: "salesContractNo", |
| | |
| | | <el-form-item label="状态:"> |
| | | <el-select v-model="searchForm.status" |
| | | placeholder="请选择" |
| | | style="width: 160px;" |
| | | style="width: 100px;" |
| | | @change="handleQuery"> |
| | | <el-option label="待开始" |
| | | value="1" /> |
| | |
| | | value="4" /> |
| | | <el-option label="已结束" |
| | | value="5" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="车间:"> |
| | | <el-select v-model="searchForm.workshopId" |
| | | placeholder="请选择车间" |
| | | clearable |
| | | filterable |
| | | @change="handleQuery" |
| | | style="width: 160px"> |
| | | <el-option v-for="item in workshopOptions" |
| | | :key="item.id" |
| | | :label="item.name" |
| | | :value="item.id" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | |
| | | import { ElMessageBox } from "element-plus"; |
| | | import dayjs from "dayjs"; |
| | | import { useRouter } from "vue-router"; |
| | | import { workshopPage } from "@/api/basicData/workshop.js"; |
| | | import { |
| | | productOrderListPage, |
| | | listProcessRoute, |
| | |
| | | const sourcePage = reactive({ |
| | | total: 0, |
| | | }); |
| | | const workshopOptions = ref([]); |
| | | |
| | | const processColumnWidth = computed(() => { |
| | | if (!tableData.value || tableData.value.length === 0) return "200px"; |
| | |
| | | width: 120, |
| | | }, |
| | | { |
| | | label: "车间名称", |
| | | label: "车间", |
| | | prop: "workshopName", |
| | | }, |
| | | { |
| | |
| | | productName: "", |
| | | model: "", |
| | | status: "", |
| | | workshopName: "" |
| | | }, |
| | | }); |
| | | const { searchForm } = toRefs(data); |
| | |
| | | return "red"; |
| | | } |
| | | }; |
| | | function parseWorkshopPagePayload(res) { |
| | | const payload = res?.data; |
| | | if (!payload) { |
| | | return { records: [], total: 0 }; |
| | | } |
| | | if (Array.isArray(payload)) { |
| | | return { records: payload, total: payload.length }; |
| | | } |
| | | const records = payload.records ?? payload.list ?? payload.rows ?? []; |
| | | const total = Number(payload.total ?? payload.totalCount ?? 0); |
| | | return { records: Array.isArray(records) ? records : [], total }; |
| | | } |
| | | const fetchWorkshopOptions = () => { |
| | | workshopPage({ |
| | | name: "", |
| | | principal: "", |
| | | contactPhone: "", |
| | | current: 1, |
| | | size: 999, |
| | | }).then(res => { |
| | | if (res.code === 200) { |
| | | const { records } = parseWorkshopPagePayload(res); |
| | | workshopOptions.value = records; |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | |
| | | // 绑定工艺路线弹框 |
| | | const bindRouteDialogVisible = ref(false); |
| | |
| | | productName: "", |
| | | model: "", |
| | | status: "", |
| | | workshopName: "", |
| | | }; |
| | | handleQuery(); |
| | | }; |
| | |
| | | |
| | | onMounted(() => { |
| | | getList(); |
| | | fetchWorkshopOptions(); |
| | | }); |
| | | </script> |
| | | |
| | |
| | | prop: "unit", |
| | | width: 120, |
| | | }, |
| | | |
| | | { |
| | | label: "创建时间", |
| | | prop: "createTime", |
| | | width: 120, |
| | | }, |
| | | { |
| | | label: "车间", |
| | | prop: "workshopName", |
| | | width: 120, |
| | | }, |
| | | { |
| | | dataType: "action", |
| | | label: "操作", |
| | | align: "center", |
| | |
| | | :status="rowData.productionOrderDto?.completionStatus >= 100 ? 'success' : ''" |
| | | style="width: 80%;" /> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="车间">{{rowData.productionOrderDto?.workshopName}}</el-descriptions-item> |
| | | |
| | | </el-descriptions> |
| | | </div> |
| | | <el-empty v-else |
| | |
| | | width: "180", |
| | | }, |
| | | { |
| | | label: "车间", |
| | | prop: "workshopName", |
| | | width: "180", |
| | | }, |
| | | { |
| | | label: "操作", |
| | | width: "200", |
| | | align: "center", |
| | |
| | | width: "140", |
| | | }, |
| | | { |
| | | label: "车间", |
| | | prop: "workshopName", |
| | | width: "140", |
| | | }, |
| | | { |
| | | label: "操作", |
| | | width: "260", |
| | | align: "center", |