feat(钢卷异常): 重构钢卷异常表单组件并集成到各相关页面

新增AbnormalForm组件统一管理钢卷异常表单,减少代码重复
在合卷、分条、打字等页面添加异常信息管理功能
优化异常信息展示样式,支持添加、编辑和删除操作
This commit is contained in:
砂糖
2026-03-19 17:50:37 +08:00
parent f4518be3f4
commit 2c4f5b3e53
10 changed files with 1079 additions and 187 deletions

View File

@@ -98,62 +98,12 @@
<!-- 添加或修改钢卷异常信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="钢卷ID" prop="coilId" v-if="!form.abnormalId">
<coil-selector v-model="form.coilId"></coil-selector>
</el-form-item>
<el-form-item label="位置" prop="position">
<el-radio-group v-model="form.position">
<el-radio-button v-for="dict in dict.type.coil_abnormal_position" :key="dict.value" :label="dict.value">{{
dict.label }}</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="开始位置" prop="startPosition">
<el-input v-model="form.startPosition" prop="startPosition" />
</el-form-item>
<el-form-item label="结束位置" prop="endPosition">
<el-input v-model="form.endPosition" prop="endPosition" />
</el-form-item>
<!-- <el-form-item label="缺陷长度" prop="length">
<el-input v-model="form.length" placeholder="请输入缺陷长度" />
</el-form-item> -->
<el-form-item label="缺陷代码" prop="defectCode">
<el-radio-group v-model="form.defectCode">
<el-radio-button v-for="dict in dict.type.coil_abnormal_code" :key="dict.value" :label="dict.value">{{
dict.label }}</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="程度" prop="degree">
<el-radio-group v-model="form.degree">
<el-radio-button v-for="dict in dict.type.coil_abnormal_degree" :key="dict.value" :label="dict.value">{{
dict.label }}</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input type="textarea" v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
</el-form>
<abnormal-form ref="abnormalForm" v-model="form" :show-coil-selector="!$route.query.coilId"></abnormal-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 异常判级对话框 -->
<el-dialog :title="title" :visible.sync="judgeOpen" width="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="判级" prop="judgeLevel">
<el-radio-group v-model="form.judgeLevel">
<el-radio-button v-for="dict in dict.type.coil_abnormal_level" :key="dict.value" :label="dict.value">{{
dict.label }}</el-radio-button>
</el-radio-group>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitJudge"> </el-button>
<el-button @click="judgeOpen = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
@@ -161,13 +111,15 @@
import { listCoilAbnormal, getCoilAbnormal, delCoilAbnormal, addCoilAbnormal, updateCoilAbnormal, judgeAbnormalLevel } from "@/api/wms/coilAbnormal";
import CoilSelector from '@/components/CoilSelector'
import CoilNo from '@/components/KLPService/Renderer/CoilNo'
import AbnormalForm from './components/AbnormalForm'
export default {
name: "CoilAbnormal",
dicts: ['coil_abnormal_code', 'coil_abnormal_position', 'coil_abnormal_degree', 'coil_abnormal_level'],
components: {
CoilSelector,
CoilNo
CoilNo,
AbnormalForm
},
data() {
return {
@@ -205,9 +157,6 @@ export default {
},
// 表单参数
form: {},
// 表单校验
rules: {
},
judgeOpen: false,
};
},
@@ -259,7 +208,9 @@ export default {
updateTime: undefined,
updateBy: undefined
};
this.resetForm("form");
if (this.$refs.abnormalForm) {
this.$refs.abnormalForm.resetFields();
}
},
/** 搜索按钮操作 */
handleQuery() {
@@ -297,7 +248,7 @@ export default {
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
this.$refs["abnormalForm"].validate(valid => {
if (valid) {
this.buttonLoading = true;
if (this.form.abnormalId != null) {