Merge remote-tracking branch 'origin/0.8.X' into 0.8.X
This commit is contained in:
@@ -71,6 +71,9 @@ public class MesRollInfo extends BaseEntity {
|
||||
/** 厂家 */
|
||||
private String manufacturer;
|
||||
|
||||
/** 备注 */
|
||||
private String remark;
|
||||
|
||||
@TableLogic
|
||||
private Integer delFlag;
|
||||
}
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
<div slot="header" class="card-header">
|
||||
<span class="card-title"><i class="el-icon-s-order" /> 轧辊列表</span>
|
||||
<span class="card-count">{{ filteredRolls.length }}</span>
|
||||
<el-button size="mini" type="text" icon="el-icon-plus" style="margin-left:auto" @click="handleAddRoll">新增轧辊</el-button>
|
||||
</div>
|
||||
<div v-loading="rollLoading" class="roll-list">
|
||||
<div
|
||||
@@ -72,7 +73,7 @@
|
||||
</div>
|
||||
|
||||
<!-- 右侧:明细 & 磨削台账 -->
|
||||
<div class="detail-panel" v-loading="grindLoading">
|
||||
<div v-loading="grindLoading" class="detail-panel">
|
||||
<template v-if="!selectedRoll">
|
||||
<div class="grind-empty"><i class="el-icon-arrow-left" /> 请从左侧选择一个轧辊</div>
|
||||
</template>
|
||||
@@ -82,6 +83,8 @@
|
||||
<el-card shadow="never" class="detail-card" style="margin-bottom:10px">
|
||||
<div slot="header" class="card-header">
|
||||
<span class="card-title"><i class="el-icon-info" /> 轧辊明细</span>
|
||||
<el-button size="mini" type="text" icon="el-icon-edit" style="margin-left:auto" @click="handleEditRoll(selectedRoll)">修改</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-delete" style="color:#c5221f" @click="handleDelRoll(selectedRoll)">删除</el-button>
|
||||
</div>
|
||||
<div class="roll-header-grid">
|
||||
<div class="rh-item"><span class="rh-k">轧辊编号</span><span class="rh-v bold">{{ selectedRoll.rollNo }}</span></div>
|
||||
@@ -332,11 +335,108 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 轧辊新增/修改对话框 -->
|
||||
<el-dialog
|
||||
:title="rollFormTitle"
|
||||
:visible.sync="rollFormOpen"
|
||||
width="600px"
|
||||
append-to-body
|
||||
:close-on-click-modal="false"
|
||||
@close="resetRollForm"
|
||||
>
|
||||
<el-form ref="rollForm" :model="rollForm" :rules="rollFormRules" label-width="60px" size="small">
|
||||
<el-row :gutter="16">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所属产线" prop="lineId">
|
||||
<el-select v-model="rollForm.lineId" placeholder="请选择产线" style="width:100%" clearable>
|
||||
<el-option v-for="l in productionLines" :key="l.lineId" :label="l.lineName" :value="l.lineId" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="辊编号" prop="rollNo">
|
||||
<el-input v-model="rollForm.rollNo" placeholder="请输入轧辊编号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="16">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="辊型" prop="rollType">
|
||||
<el-select v-model="rollForm.rollType" placeholder="请选择辊型" style="width:100%">
|
||||
<el-option label="工作辊 WR" value="WR" />
|
||||
<el-option label="支撑辊 BR" value="BR" />
|
||||
<el-option label="中间辊 CR" value="CR" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="厂家" prop="manufacturer">
|
||||
<el-input v-model="rollForm.manufacturer" placeholder="请输入厂家" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="16">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="初始直径" prop="initialDia">
|
||||
<el-input v-model="rollForm.initialDia" type="number" style="width:100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="当前直径" prop="currentDia">
|
||||
<el-input v-model="rollForm.currentDia" type="number" style="width:100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="最小直径" prop="minDia">
|
||||
<el-input v-model="rollForm.minDia" type="number" style="width:100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="16">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="材质" prop="material">
|
||||
<el-input v-model="rollForm.material" placeholder="材质" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="粗糙度" prop="roughness">
|
||||
<el-input v-model="rollForm.roughness" type="number" style="width:100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="凸度" prop="crown">
|
||||
<el-input v-model="rollForm.crown" type="number" style="width:100%" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="16">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="制造日期" prop="manufactureDate">
|
||||
<el-date-picker
|
||||
v-model="rollForm.manufactureDate"
|
||||
type="date"
|
||||
value-format="yyyy-MM-dd"
|
||||
placeholder="请选择制造日期"
|
||||
style="width:100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="rollForm.remark" type="textarea" :rows="2" placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" size="small" @click="submitRollForm">确 定</el-button>
|
||||
<el-button size="small" @click="rollFormOpen = false">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listRollInfo, getRollInfo } from '@/api/mes/roll/rollInfo'
|
||||
import { listRollInfo, getRollInfo, addRollInfo, updateRollInfo, delRollInfo } from '@/api/mes/roll/rollInfo'
|
||||
import { listRollGrind, addRollGrind, updateRollGrind, delRollGrind, getMonthlyStats } from '@/api/mes/roll/rollGrind'
|
||||
import { listProductionLine } from '@/api/wms/productionLine'
|
||||
import rollLineMixin from '../rollLineMixin'
|
||||
@@ -368,7 +468,15 @@ export default {
|
||||
monthlyList: [],
|
||||
|
||||
editRow: null,
|
||||
grindSaving: false
|
||||
grindSaving: false,
|
||||
|
||||
rollFormOpen: false,
|
||||
rollFormTitle: '',
|
||||
rollForm: {},
|
||||
rollFormRules: {
|
||||
rollNo: [{ required: true, message: '轧辊编号不能为空', trigger: 'blur' }],
|
||||
rollType: [{ required: true, message: '请选择辊型', trigger: 'change' }]
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -567,6 +675,86 @@ export default {
|
||||
|
||||
statusLabel(s) {
|
||||
return { Online: '在线', Standby: '备用', Offline: '离线', Scrapped: '报废' }[s] || s
|
||||
},
|
||||
|
||||
// ── 轧辊 CRUD ──────────────────────────────────────
|
||||
handleAddRoll() {
|
||||
this.rollFormTitle = '新增轧辊'
|
||||
this.rollForm = {
|
||||
lineId: this.filterLineId || null,
|
||||
rollNo: undefined,
|
||||
rollType: this.filterType || undefined,
|
||||
manufacturer: this.filterManufacturer || '',
|
||||
initialDia: undefined,
|
||||
currentDia: undefined,
|
||||
minDia: undefined,
|
||||
material: '',
|
||||
roughness: undefined,
|
||||
crown: undefined,
|
||||
manufactureDate: '',
|
||||
remark: '',
|
||||
status: 'Offline'
|
||||
}
|
||||
this.rollFormOpen = true
|
||||
},
|
||||
handleEditRoll(row) {
|
||||
getRollInfo(row.rollId).then(res => {
|
||||
this.rollFormTitle = '修改轧辊'
|
||||
const data = res.data || {}
|
||||
this.rollForm = {
|
||||
rollId: data.rollId,
|
||||
lineId: data.lineId,
|
||||
rollNo: data.rollNo,
|
||||
rollType: data.rollType,
|
||||
manufacturer: data.manufacturer || '',
|
||||
initialDia: data.initialDia,
|
||||
currentDia: data.currentDia,
|
||||
minDia: data.minDia,
|
||||
material: data.material || '',
|
||||
roughness: data.roughness,
|
||||
crown: data.crown,
|
||||
manufactureDate: data.manufactureDate || '',
|
||||
remark: data.remark || '',
|
||||
status: data.status
|
||||
}
|
||||
this.rollFormOpen = true
|
||||
})
|
||||
},
|
||||
handleDelRoll(row) {
|
||||
this.$modal.confirm(`确认删除轧辊【${row.rollNo}】?此操作不可恢复。`).then(() => {
|
||||
return delRollInfo(row.rollId)
|
||||
}).then(() => {
|
||||
this.$modal.msgSuccess('删除成功')
|
||||
if (this.selectedRollId === row.rollId) {
|
||||
this.selectedRollId = null
|
||||
this.selectedRoll = null
|
||||
this.grindList = []
|
||||
}
|
||||
this.loadRolls()
|
||||
})
|
||||
},
|
||||
submitRollForm() {
|
||||
this.$refs.rollForm.validate(valid => {
|
||||
if (!valid) return
|
||||
const form = { ...this.rollForm }
|
||||
const numFields = ['initialDia', 'currentDia', 'minDia', 'roughness', 'crown']
|
||||
numFields.forEach(k => {
|
||||
if (form[k] != null) form[k] = Number(form[k])
|
||||
})
|
||||
const action = form.rollId ? updateRollInfo : addRollInfo
|
||||
action(form).then(() => {
|
||||
this.$modal.msgSuccess(form.rollId ? '修改成功' : '新增成功')
|
||||
this.rollFormOpen = false
|
||||
this.loadRolls()
|
||||
if (this.selectedRollId === form.rollId) {
|
||||
this.selectedRoll = { ...this.selectedRoll, ...form }
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
resetRollForm() {
|
||||
this.rollForm = {}
|
||||
this.$nextTick(() => { this.$refs.rollForm && this.$refs.rollForm.clearValidate() })
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -637,7 +825,7 @@ export default {
|
||||
|
||||
/* 左侧轧辊列表面板 */
|
||||
.roll-list-panel {
|
||||
width: 220px;
|
||||
width: 240px;
|
||||
flex-shrink: 0;
|
||||
height: calc(100vh - 140px);
|
||||
overflow-y: auto;
|
||||
|
||||
Reference in New Issue
Block a user