fix:工厂管理前端文案改为供应商库,相关字段同步替换

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
caoqianming 2026-04-23 08:52:57 +08:00
parent d06cf5c270
commit 60157025f2
6 changed files with 15 additions and 15 deletions

View File

@ -11,7 +11,7 @@
router
>
<el-menu-item v-if="isAdmin" index="/users">用户管理</el-menu-item>
<el-menu-item index="/factories">工厂管理</el-menu-item>
<el-menu-item index="/factories">供应商库</el-menu-item>
<el-menu-item v-if="isAdmin" index="/dictionary">材料分类管理</el-menu-item>
<el-menu-item index="/materials">材料管理</el-menu-item>
<el-menu-item v-if="isAdmin" index="/screen/overview">数据大屏</el-menu-item>
@ -68,7 +68,7 @@ const { state, isAdmin, clearAuth } = useAuth()
const active = computed(() => route.path)
const titleMap = {
'/users': '用户管理',
'/factories': '工厂管理',
'/factories': '供应商库',
'/dictionary': '材料分类管理',
'/materials': '材料管理'
}

View File

@ -1,12 +1,12 @@
<template>
<div class="page">
<div class="page-title">
工厂详情
供应商详情
<el-button class="back-btn" plain size="small" @click="goBack">返回</el-button>
</div>
<div class="card detail-card" v-if="factory">
<el-descriptions :column="1" border class="detail-descriptions">
<el-descriptions-item label="工厂全称">{{ displayText(factory.factory_name) }}</el-descriptions-item>
<el-descriptions-item label="供应商全称">{{ displayText(factory.factory_name) }}</el-descriptions-item>
<el-descriptions-item label="品牌">{{ displayText(factory.brand) }}</el-descriptions-item>
<el-descriptions-item label="经销商">{{ displayText(factory.dealer_name) }}</el-descriptions-item>
<el-descriptions-item label="产品分类">{{ displayText(factory.product_category) }}</el-descriptions-item>

View File

@ -1,11 +1,11 @@
<template>
<div class="page">
<div class="page-title">工厂管理</div>
<div class="page-title">供应商库</div>
<div class="toolbar">
<el-button v-if="isAdmin" type="primary" @click="openCreate">新增工厂</el-button>
<el-button v-if="isAdmin" type="primary" @click="openCreate">新增供应商</el-button>
</div>
<el-table v-loading="tableLoading" :data="factories" border :max-height="560">
<el-table-column prop="factory_name" label="工厂全称" />
<el-table-column prop="factory_name" label="供应商全称" />
<el-table-column prop="brand" label="品牌" />
<el-table-column prop="dealer_name" label="经销商" />
<el-table-column label="用户账号">
@ -49,7 +49,7 @@
<el-form-item label="产品分类">
<el-input v-model="form.product_category" />
</el-form-item>
<el-form-item label="工厂全称" required>
<el-form-item label="供应商全称" required>
<el-input v-model="form.factory_name" />
</el-form-item>
<el-form-item label="品牌" required>
@ -150,7 +150,7 @@ const onRegionChange = (val) => {
const openCreate = () => {
resetForm()
isEdit.value = false
dialogTitle.value = '新增工厂'
dialogTitle.value = '新增供应商'
dialogVisible.value = true
}
@ -161,7 +161,7 @@ const openEdit = async (row) => {
const detail = await fetchFactoryDetail(row.id)
Object.assign(form, detail)
regionValue.value = [detail.province, detail.city, detail.district].filter(Boolean).map(regionLabel)
dialogTitle.value = '编辑工厂'
dialogTitle.value = '编辑供应商'
dialogVisible.value = true
}
@ -181,7 +181,7 @@ const onSubmit = async () => {
}
const onDelete = (row) => {
ElMessageBox.confirm(`确认删除工厂 ${row.factory_name} 吗?`, '提示', { type: 'warning' })
ElMessageBox.confirm(`确认删除供应商 ${row.factory_name} 吗?`, '提示', { type: 'warning' })
.then(async () => {
await deleteFactory(row.id)
ElMessage.success('删除成功')

View File

@ -27,7 +27,7 @@
<el-descriptions-item label="成本对比">{{ formatPercent(material.cost_compare) }}</el-descriptions-item>
<el-descriptions-item label="成本说明">{{ displayText(material.cost_desc) }}</el-descriptions-item>
<el-descriptions-item label="案例">{{ displayText(material.cases) }}</el-descriptions-item>
<el-descriptions-item label="所属工厂">{{ displayText(material.factory_name) }}</el-descriptions-item>
<el-descriptions-item label="所属供应商">{{ displayText(material.factory_name) }}</el-descriptions-item>
<el-descriptions-item label="质量等级">{{ formatStarLevel(material.quality_level) }}</el-descriptions-item>
<el-descriptions-item label="耐久等级">{{ formatStarLevel(material.durability_level) }}</el-descriptions-item>
<el-descriptions-item label="环保等级">{{ formatStarLevel(material.eco_level) }}</el-descriptions-item>

View File

@ -475,7 +475,7 @@ const handleImportExcel = async (options) => {
pagination.page = 1
await loadMaterials()
importDialogVisible.value = false
ElMessage.success(`导入完成:新增 ${result.created} 条,更新 ${result.updated} 条,跳过 ${result.skipped} 条,新建工厂 ${result.created_factory || 0}`)
ElMessage.success(`导入完成:新增 ${result.created} 条,更新 ${result.updated} 条,跳过 ${result.skipped} 条,新建供应商 ${result.created_factory || 0}`)
} catch (error) {
ElMessage.error(error.response?.data?.detail || '导入失败')
} finally {

View File

@ -11,7 +11,7 @@
{{ scope.row.role === 'admin' ? '管理员' : '普通账号' }}
</template>
</el-table-column>
<el-table-column prop="factory_name" label="所属工厂" />
<el-table-column prop="factory_name" label="所属供应商" />
<el-table-column prop="phone" label="手机" />
<el-table-column prop="email" label="邮箱" />
<el-table-column label="操作" width="240">
@ -54,7 +54,7 @@
<el-option label="普通账号" value="user" />
</el-select>
</el-form-item>
<el-form-item label="所属工厂" v-if="form.role === 'user'" required>
<el-form-item label="所属供应商" v-if="form.role === 'user'" required>
<el-select v-model="form.factory">
<el-option v-for="item in factories" :key="item.id" :label="item.factory_name" :value="item.id" />
</el-select>