chore: 完成多系统功能迭代与优化
1. 通用优化: - 统一系统标题为"库房客户端"/"MES产线控制",移除北自所前缀 - 调整内置账号密码为统一123456,优化密码校验逻辑 - 新增数据库自动创建逻辑,简化部署流程 - 修复日志时间格式配置,优化日志输出 - 新增纯数字密码安全提示 2. MES系统优化: - 新增日排产管理功能,支持增删改查与自动算料生成备料单 - 重构BOM模块,改为按产品编码维护而非工单维度 - 新增工艺参数模板配置与手动报工页面 - 新增产品类型自动编码功能 - 优化菜单结构,调整工单管理、扫码报工等页面名称与路由 - 新增删除日排产接口与权限保护 - 修复物料清单查询逻辑,适配新BOM结构 - 新增refreshToken支持,优化登录会话管理 3. WMS系统优化: - 新增基础数据维护页面,支持区域与物料档案管理 - 新增工单列表下拉接口,对接MES获取未完成工单优先展示 - 优化入库管理提示文案,替换英文提示为中文 - 修复精密件入库校验逻辑,优化错误提示 - 优化Excel导入功能,新增备注字段支持 - 优化登录页面与菜单文案,统一备料台账名称 - 新增自动打开浏览器功能,优化客户端启动体验 - 修复备料出库页面查询提示文案 - 新增WMS与MES对接配置,完善内部API调用逻辑 4. 其他优化: - 删除冗余的旧版静态资源文件,更新资源引用路径 - 新增帮助文档,完善基础数据模块说明 - 修复多处文案不统一、英文残留问题
This commit is contained in:
@@ -22,7 +22,7 @@ const submitting1 = ref(false)
|
||||
const lastInboundNo = ref('')
|
||||
const form1 = reactive({
|
||||
materialCode: '', batchNo: '', quantity: 1,
|
||||
zoneCode: '', productionDate: '', supplier: ''
|
||||
zoneCode: '', productionDate: '', supplier: '', remark: ''
|
||||
})
|
||||
const rules1 = {
|
||||
materialCode: [{ required: true, message: '请选择物料', trigger: 'change' }],
|
||||
@@ -45,6 +45,7 @@ async function submitBatch() {
|
||||
zoneCode: form1.zoneCode,
|
||||
productionDate: form1.productionDate,
|
||||
supplier: form1.supplier.trim(),
|
||||
remark: form1.remark.trim(),
|
||||
operator: getRealName()
|
||||
})
|
||||
lastInboundNo.value = data?.inboundNo || ''
|
||||
@@ -60,10 +61,13 @@ async function submitBatch() {
|
||||
const snInput = ref('')
|
||||
const submitting2 = ref(false)
|
||||
const snList = ref([])
|
||||
const form2 = reactive({ materialCode: '', zoneCode: '' })
|
||||
const form2 = reactive({ materialCode: '', zoneCode: '', remark: '' })
|
||||
|
||||
// 支持多种分隔符:中英文逗号、中英文句号、分号、顿号、空格、回车、制表符等
|
||||
const SN_SEP = /[,,.。;;、\s]+/
|
||||
|
||||
function addSnLines() {
|
||||
const lines = String(snInput.value).split(/\s+/)
|
||||
const lines = String(snInput.value).split(SN_SEP)
|
||||
for (let raw of lines) {
|
||||
const sn = raw.trim()
|
||||
if (!sn) continue
|
||||
@@ -93,6 +97,7 @@ async function submitSn() {
|
||||
materialCode: form2.materialCode,
|
||||
zoneCode: form2.zoneCode,
|
||||
snList: [...snList.value],
|
||||
remark: form2.remark.trim(),
|
||||
operator: getRealName()
|
||||
})
|
||||
ElMessage.success(`入库成功:入库单号 ${data?.inboundNo || ''},SN 共 ${snList.value.length} 条`)
|
||||
@@ -171,6 +176,9 @@ async function importExcel() {
|
||||
<el-form-item label="供应商">
|
||||
<el-input v-model="form1.supplier" placeholder="供应商名称" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="form1.remark" placeholder="备注(可空)" clearable />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" :loading="submitting1" @click="submitBatch">提交入库</el-button>
|
||||
</el-form-item>
|
||||
@@ -194,9 +202,16 @@ async function importExcel() {
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="扫码录入">
|
||||
<el-input v-model="snInput" type="textarea" :rows="4" autofocus
|
||||
placeholder="扫入或粘贴 SN 后按回车追加一行(支持一次多条,空白分隔)"
|
||||
@keydown.enter.prevent="addSnLines" />
|
||||
<div style="width:100%">
|
||||
<el-input v-model="snInput" type="textarea" :rows="4"
|
||||
placeholder="扫入或粘贴 SN,可用 逗号/分号/顿号/空格/回车 分隔,一次可录入多条" />
|
||||
<el-button type="primary" plain style="margin-top:6px" :disabled="!snInput.trim()"
|
||||
@click="addSnLines">录入到列表</el-button>
|
||||
<span style="margin-left:8px;color:#909399;font-size:12px">点【录入到列表】加入下方清单,回车只是换行</span>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="form2.remark" type="textarea" :rows="2" placeholder="本批 SN 的统一备注(可空)" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
@@ -219,7 +234,7 @@ async function importExcel() {
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="Excel 导入">
|
||||
<el-alert type="info" :closable="false" title="列头顺序(首行忽略):物料编码 | 批次号(可空自动生成) | 数量 | 生产日期 | 供应商 | 区域"
|
||||
<el-alert type="info" :closable="false" title="列头顺序(首行忽略):物料编码 | 批次号(可空自动生成) | 数量 | 生产日期 | 供应商 | 区域 | 备注"
|
||||
style="max-width:760px;margin-bottom:14px" />
|
||||
<el-upload ref="uploadRef" drag accept=".xlsx" :limit="1" :auto-upload="false"
|
||||
:on-change="onExcelChange" :on-exceed="onExceed">
|
||||
|
||||
Reference in New Issue
Block a user