feat&refactor: 完成多模块功能迭代与配置优化
本次提交覆盖多个业务模块的功能完善与体验优化:
1. **鉴权与配置调整**:
- 统一JWT滑动续签逻辑,简化Token存储,移除RefreshToken相关冗余代码
- 调整多项目配置文件中JWT过期时间为3600秒,统一会话闲置窗口
- 工位配置放开1~12限制,改为仅校验大于0
2. **术语统一替换**:全链路将"精密件"替换为"电气件",修正物料管理描述
3. **功能新增**:
- 新增工位类型、工艺路线与产线点位台账模块
- 添加工艺PDF预览面板、工位终端代理转发接口
- 新增操作日志按操作人列表筛选、工位登出日志记录
- 新增PLC移料指令与产线点位状态管理
4. **业务流程优化**:
- 调整BOM物料删除校验逻辑,优化工单备料计算
- 补充物料图号、检测单号等追溯字段
- 完善工艺流程图与工位绑定关系说明
- 优化前端页面文案与交互细节
5. **代码规范与维护**:
- 新增通用工具函数与前端静态资源
- 整理路由权限与中间件逻辑
- 修复部分接口与配置的不兼容问题
This commit is contained in:
@@ -115,7 +115,7 @@ const matDialog = ref(false)
|
||||
const mEditingId = ref(0)
|
||||
const mForm = reactive({
|
||||
code: '', name: '', shortName: '', spec: '', unit: '',
|
||||
manageMode: 1, templateCode: '', description: ''
|
||||
manageMode: 1, templateCode: '', description: '', drawingNo: ''
|
||||
})
|
||||
const mSaving = ref(false)
|
||||
|
||||
@@ -151,7 +151,7 @@ function resetMForm() {
|
||||
mEditingId.value = 0
|
||||
Object.assign(mForm, {
|
||||
code: '', name: '', shortName: '', spec: '', unit: '',
|
||||
manageMode: 1, templateCode: '', description: ''
|
||||
manageMode: 1, templateCode: '', description: '', drawingNo: ''
|
||||
})
|
||||
}
|
||||
|
||||
@@ -166,6 +166,7 @@ function openMatEdit(row) {
|
||||
code: row.code, name: row.name, shortName: row.shortName || '',
|
||||
spec: row.spec || '', unit: row.unit || '', manageMode: row.manageMode,
|
||||
templateCode: row.templateCode || '',
|
||||
drawingNo: row.drawingNo || '',
|
||||
description: row.description || ''
|
||||
})
|
||||
matDialog.value = true
|
||||
@@ -182,6 +183,7 @@ async function saveMaterial() {
|
||||
await request.post('/material/update', {
|
||||
id: mEditingId.value, name: mForm.name, shortName: mForm.shortName,
|
||||
spec: mForm.spec, unit: mForm.unit, description: mForm.description,
|
||||
drawingNo: mForm.drawingNo,
|
||||
manageMode: mForm.manageMode
|
||||
})
|
||||
ElMessage.success('物料修改成功')
|
||||
@@ -361,7 +363,7 @@ async function onMaterialFile(e) {
|
||||
<el-form-item label="类型">
|
||||
<el-select v-model="matFilter.manageMode" placeholder="全部" clearable style="width:120px" @change="searchMaterials">
|
||||
<el-option label="结构件(批次)" :value="1" />
|
||||
<el-option label="精密件(SN)" :value="2" />
|
||||
<el-option label="电气件(SN)" :value="2" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间">
|
||||
@@ -376,7 +378,7 @@ async function onMaterialFile(e) {
|
||||
<el-button type="success" @click="openMatCreate">新增物料</el-button>
|
||||
<el-button v-if="can('material:import')" type="warning" :loading="matImporting" @click="pickMaterialFile">导入</el-button>
|
||||
<el-button v-if="can('material:export')" :loading="matExporting" @click="exportMaterials">导出</el-button>
|
||||
<el-tooltip v-if="can('material:import')" content="Excel 模板(首行表头):物料编码 | 名称 | 简称 | 规格 | 单位 | 类型(结构件/精密件) | 说明">
|
||||
<el-tooltip v-if="can('material:import')" content="Excel 模板(首行表头):物料编码 | 名称 | 简称 | 规格 | 单位 | 类型(结构件/电气件) | 说明 | 图号(可选)">
|
||||
<el-link type="info" :underline="false" style="margin-left:4px">导入说明</el-link>
|
||||
</el-tooltip>
|
||||
<input ref="matFileRef" type="file" accept=".xlsx,.xls" style="display:none" @change="onMaterialFile" />
|
||||
@@ -391,8 +393,11 @@ async function onMaterialFile(e) {
|
||||
<template #default="{ row }">{{ row.spec || '-' }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="unit" label="单位" width="70" align="center">
|
||||
<template #default="{ row }">{{ row.unit || '-' }}</template>
|
||||
</el-table-column>
|
||||
<template #default="{ row }">{{ row.unit || '-' }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="drawingNo" label="图号" min-width="90" align="center">
|
||||
<template #default="{ row }">{{ row.drawingNo || '-' }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="品类" width="90" align="center">
|
||||
<template #default="{ row }">
|
||||
<el-tag :type="row.itemType === 3 ? 'success' : (row.itemType === 2 ? 'warning' : 'info')" size="small">
|
||||
@@ -403,7 +408,7 @@ async function onMaterialFile(e) {
|
||||
<el-table-column label="类型" width="140" align="center">
|
||||
<template #default="{ row }">
|
||||
<el-tag :type="row.manageMode === 2 ? 'warning' : 'info'" size="small">
|
||||
{{ row.manageMode === 2 ? '精密件(SN)' : '结构件(批次)' }}
|
||||
{{ row.manageMode === 2 ? '电气件(SN)' : '结构件(批次)' }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -439,12 +444,15 @@ async function onMaterialFile(e) {
|
||||
<el-input v-model="mForm.spec" placeholder="规格(可空)" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="单位">
|
||||
<el-input v-model="mForm.unit" placeholder="如 个/套" clearable />
|
||||
</el-form-item>
|
||||
<el-input v-model="mForm.unit" placeholder="如 个/套" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="图号">
|
||||
<el-input v-model="mForm.drawingNo" placeholder="图纸编号(可空)" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="类型">
|
||||
<el-select v-model="mForm.manageMode" placeholder="请选择" style="width:100%">
|
||||
<el-option :value="1" label="结构件(批次管理)" />
|
||||
<el-option :value="2" label="精密件(SN 管理)" />
|
||||
<el-option :value="2" label="电气件(SN 管理)" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="说明">
|
||||
|
||||
Reference in New Issue
Block a user