feat(customer): 优化客户档案开放海域功能中的领用人显示逻辑
- 实现领用人显示昵称功能,优先按用户ID映射,回退到登录名匹配
- 在数据获取时将usageUserName替换为对应的昵称显示
- 添加ensureUserList方法调用以确保用户列表加载
- 当用户列表加载失败时回退为接口返回值
- 隐藏销售单号和生产工单号等暂时不需要的字段
fix(quality): 隐藏质量管理系统中暂时不需要的搜索和表格列
- 在最终检验页面隐藏销售单号和生产工单号搜索条件
- 注
| | |
| | | page.size = obj.limit; |
| | | getList(); |
| | | }; |
| | | // 领用人显示昵称:优先按用户ID映射,回退到登录名匹配 |
| | | const resolveUsageUserName = row => { |
| | | const user = |
| | | row.usageUser != null |
| | | ? userList.value.find( |
| | | item => Number(item.userId) === Number(row.usageUser) |
| | | ) |
| | | : userList.value.find(item => item.userName === row.usageUserName); |
| | | return user?.nickName || row.usageUserName || ""; |
| | | }; |
| | | const getList = () => { |
| | | tableLoading.value = true; |
| | | const { total, ...queryPage } = page; |
| | | listCustomer({ ...searchForm.value, ...queryPage }).then(res => { |
| | | tableLoading.value = false; |
| | | tableData.value = res.data.records; |
| | | tableData.value = (res.data.records || []).map(row => ({ |
| | | ...row, |
| | | usageUserName: resolveUsageUserName(row), |
| | | })); |
| | | page.total = res.data.total; |
| | | }); |
| | | }; |
| | |
| | | return `${year}-${month}-${day}`; |
| | | } |
| | | |
| | | onMounted(() => { |
| | | onMounted(async () => { |
| | | try { |
| | | await ensureUserList(); |
| | | } catch (error) { |
| | | // 用户列表加载失败时仍展示数据,领用人回退为接口返回值 |
| | | } |
| | | getList(); |
| | | }); |
| | | </script> |
| | |
| | | @change="changeDaterange" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <el-col :span="4" v-if="false"> |
| | | <el-form-item label="销售单号" |
| | | prop="salesContractNo"> |
| | | <el-input v-model="searchForm.salesContractNo" |
| | |
| | | clearable /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="4"> |
| | | <el-col :span="4" v-if="false"> |
| | | <el-form-item label="生产工单号" |
| | | prop="workOrderNo"> |
| | | <el-input v-model="searchForm.workOrderNo" |
| | |
| | | prop: "checkTime", |
| | | width: 120, |
| | | }, |
| | | { |
| | | label: "销售单号", |
| | | prop: "salesContractNo", |
| | | width: 120, |
| | | }, |
| | | { |
| | | label: "生产工单号", |
| | | prop: "workOrderNo", |
| | | width: 120, |
| | | }, |
| | | // { |
| | | // label: "销售单号", |
| | | // prop: "salesContractNo", |
| | | // width: 120, |
| | | // }, |
| | | // { |
| | | // label: "生产工单号", |
| | | // prop: "workOrderNo", |
| | | // width: 120, |
| | | // }, |
| | | { |
| | | label: "检验员", |
| | | prop: "checkName", |
| | |
| | | placeholder="请选择" |
| | | clearable |
| | | @change="changeDaterange" /> |
| | | <span style="margin-left: 10px" |
| | | <span v-if="false" |
| | | style="margin-left: 10px" |
| | | class="search_title">生产工单号:</span> |
| | | <el-input v-model="searchForm.workOrderNo" |
| | | <el-input v-if="false" |
| | | v-model="searchForm.workOrderNo" |
| | | style="width: 240px" |
| | | placeholder="请输入生产工单号搜索" |
| | | @change="handleQuery" |
| | |
| | | prop: "checkTime", |
| | | width: 120, |
| | | }, |
| | | { |
| | | label: "生产工单号", |
| | | prop: "workOrderNo", |
| | | width: 120, |
| | | }, |
| | | // { |
| | | // label: "生产工单号", |
| | | // prop: "workOrderNo", |
| | | // width: 120, |
| | | // }, |
| | | { |
| | | label: "工序", |
| | | prop: "process", |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-if="false" |
| | | label="出库单号" |
| | | prop="outboundBatches" |
| | | show-overflow-tooltip |
| | |
| | | <el-descriptions-item v-if="false" label="快递单号" :span="2">{{ |
| | | detailRow.expressNumber || "--" |
| | | }}</el-descriptions-item> |
| | | <el-descriptions-item label="出库单号" :span="2">{{ |
| | | <el-descriptions-item v-if="false" label="出库单号" :span="2">{{ |
| | | detailRow.outboundBatches || "--" |
| | | }}</el-descriptions-item> |
| | | </el-descriptions> |