feat(钢卷异常管理): 新增上下板面和主缺陷字段并完善钢卷信息展示

在异常表单中增加上下板面选择器和主缺陷复选框
在多个页面表格中新增上下板面和主缺陷字段展示
在异常管理对话框和面板中增加钢卷详细信息展示
优化表单布局和部分字段标签描述
This commit is contained in:
砂糖
2026-04-07 11:06:09 +08:00
parent 38f980dbbf
commit ab9ab90ffa
6 changed files with 186 additions and 38 deletions

View File

@@ -11,7 +11,7 @@
<CoilList :coilList="coilList" @click="handleCoilClick" /> <CoilList :coilList="coilList" @click="handleCoilClick" />
</div> </div>
<pagination v-show="coilTotal > 0" :total="coilTotal" :page.sync="coilQuery.pageNum" <pagination v-show="coilTotal > 0" :total="coilTotal" :page.sync="coilQuery.pageNum"
:limit.sync="coilQuery.pageSize" @pagination="getCoilList" /> :limit.sync="coilQuery.pageSize" @pagination="getCoilList" />
</div> </div>
<!-- 左侧为有异常的钢卷列表 --> <!-- 左侧为有异常的钢卷列表 -->
<!-- <el-table :data="coilList" border stripe @row-click="handleCoilClick"> <!-- <el-table :data="coilList" border stripe @row-click="handleCoilClick">
@@ -46,25 +46,19 @@
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAddWithCoil">新增</el-button> <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAddWithCoil">新增</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table v-loading="loading" :data="coilAbnormalList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="coilAbnormalList" @selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" width="55" align="center" /> --> <!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column label="主键ID" align="center" prop="abnormalId" v-if="false" /> <el-table-column label="主键ID" align="center" prop="abnormalId" v-if="false" />
<!-- <el-table-column label="异常钢卷" align="center" prop="coilId">
<template slot-scope="scope">
<coil-no :coilId="scope.row.coilId">
{{ scope.row.coilNo }}
</coil-no>
</template>
</el-table-column> -->
<el-table-column label="位置" align="center" prop="position"> <el-table-column label="位置" align="center" prop="position">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.coil_abnormal_position" :value="scope.row.position" /> <dict-tag :options="dict.type.coil_abnormal_position" :value="scope.row.position" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="上下板面" align="center" prop="plateSurface"></el-table-column>
<el-table-column label="开始位置" align="center" prop="startPosition" /> <el-table-column label="开始位置" align="center" prop="startPosition" />
<el-table-column label="结束位置" align="center" prop="endPosition" /> <el-table-column label="结束位置" align="center" prop="endPosition" />
<el-table-column label="缺陷长度" align="center" prop="length" /> <el-table-column label="缺陷长度" align="center" prop="length" />
@@ -79,17 +73,12 @@
<dict-tag :options="dict.type.coil_abnormal_degree" :value="scope.row.degree" /> <dict-tag :options="dict.type.coil_abnormal_degree" :value="scope.row.degree" />
</template> </template>
</el-table-column> </el-table-column>
<!-- <el-table-column label="判级" align="center" prop="judgeLevel"> <el-table-column label="是否为主缺陷" prop="mainMark">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.coil_abnormal_level" :value="scope.row.judgeLevel" /> <el-tag v-if="scope.row.mainMark" type="success"></el-tag>
</template> <el-tag v-else type="danger"></el-tag>
</el-table-column> </template>
<el-table-column label="判级人" align="center" prop="judgeBy" /> </el-table-column>
<el-table-column label="判级时间" align="center" prop="judgeTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.judgeTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column> -->
<el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip /> <el-table-column label="备注" align="center" prop="remark" show-overflow-tooltip />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
@@ -318,7 +307,7 @@ export default {
if (valid) { if (valid) {
this.buttonLoading = true; this.buttonLoading = true;
if (this.form.abnormalId != null) { if (this.form.abnormalId != null) {
updateCoilAbnormal({...this.form, length: this.form.endPosition - this.form.startPosition}).then(response => { updateCoilAbnormal({ ...this.form, length: this.form.endPosition - this.form.startPosition }).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
this.getList(); this.getList();
@@ -326,7 +315,7 @@ export default {
this.buttonLoading = false; this.buttonLoading = false;
}); });
} else { } else {
addCoilAbnormal({...this.form, length: this.form.endPosition - this.form.startPosition}).then(response => { addCoilAbnormal({ ...this.form, length: this.form.endPosition - this.form.startPosition }).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.getList(); this.getList();

View File

@@ -53,11 +53,14 @@
</coil-no> </coil-no>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="上下板面" align="center" prop="plateSurface"></el-table-column>
<el-table-column label="位置" align="center" prop="position"> <el-table-column label="位置" align="center" prop="position">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.coil_abnormal_position" :value="scope.row.position" /> <dict-tag :options="dict.type.coil_abnormal_position" :value="scope.row.position" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="开始位置" align="center" prop="startPosition" /> <el-table-column label="开始位置" align="center" prop="startPosition" />
<el-table-column label="结束位置" align="center" prop="endPosition" /> <el-table-column label="结束位置" align="center" prop="endPosition" />
<el-table-column label="缺陷长度" align="center" prop="length" /> <el-table-column label="缺陷长度" align="center" prop="length" />
@@ -66,6 +69,12 @@
<dict-tag :options="dict.type.coil_abnormal_code" :value="scope.row.defectCode" /> <dict-tag :options="dict.type.coil_abnormal_code" :value="scope.row.defectCode" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="是否为主缺陷" prop="mainMark">
<template slot-scope="scope">
<el-tag v-if="scope.row.mainMark" type="success"></el-tag>
<el-tag v-else type="danger"></el-tag>
</template>
</el-table-column>
<el-table-column label="程度" align="center" prop="degree"> <el-table-column label="程度" align="center" prop="degree">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.coil_abnormal_degree" :value="scope.row.degree" /> <dict-tag :options="dict.type.coil_abnormal_degree" :value="scope.row.degree" />
@@ -167,8 +176,8 @@ export default {
'$route.query.coilId': { '$route.query.coilId': {
handler(newVal, oldVal) { handler(newVal, oldVal) {
// if (newVal !== oldVal) { // if (newVal !== oldVal) {
this.queryParams.coilId = newVal this.queryParams.coilId = newVal
this.handleQuery() this.handleQuery()
// } // }
}, },
immediate: true immediate: true
@@ -252,7 +261,7 @@ export default {
if (valid) { if (valid) {
this.buttonLoading = true; this.buttonLoading = true;
if (this.form.abnormalId != null) { if (this.form.abnormalId != null) {
updateCoilAbnormal({...this.form, length: this.form.endPosition - this.form.startPosition}).then(response => { updateCoilAbnormal({ ...this.form, length: this.form.endPosition - this.form.startPosition }).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
this.getList(); this.getList();
@@ -260,7 +269,7 @@ export default {
this.buttonLoading = false; this.buttonLoading = false;
}); });
} else { } else {
addCoilAbnormal({...this.form, length: this.form.endPosition - this.form.startPosition}).then(response => { addCoilAbnormal({ ...this.form, length: this.form.endPosition - this.form.startPosition }).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.getList(); this.getList();

View File

@@ -3,7 +3,17 @@
<el-form-item label="钢卷ID" prop="coilId" v-if="!formData.abnormalId && showCoilSelector"> <el-form-item label="钢卷ID" prop="coilId" v-if="!formData.abnormalId && showCoilSelector">
<coil-selector v-model="formData.coilId"></coil-selector> <coil-selector v-model="formData.coilId"></coil-selector>
</el-form-item> </el-form-item>
<el-form-item label="位置" prop="position"> <el-form-item label="上下版面" prop="plateSurface">
<el-radio-group v-model="formData.plateSurface">
<el-radio-button key="top" label="上">
上版面
</el-radio-button>
<el-radio-button key="bottom" label="下">
下版面
</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item label="断面位置" prop="position">
<el-radio-group v-model="formData.position"> <el-radio-group v-model="formData.position">
<el-radio-button v-for="dict in dict.type.coil_abnormal_position" :key="dict.value" :label="dict.value">{{ <el-radio-button v-for="dict in dict.type.coil_abnormal_position" :key="dict.value" :label="dict.value">{{
dict.label }}</el-radio-button> dict.label }}</el-radio-button>
@@ -12,7 +22,7 @@
<el-form-item> <el-form-item>
<el-alert title="异常位置为内圈算起" type="info" :closable="false" show-icon size="small" /> <el-alert title="异常位置为内圈算起" type="info" :closable="false" show-icon size="small" />
</el-form-item> </el-form-item>
<el-form-item label="异常位置" required> <el-form-item label="异常区间" required>
<div style="display: flex; align-items: center;"> <div style="display: flex; align-items: center;">
<el-form-item prop="startPosition"> <el-form-item prop="startPosition">
<el-input v-model="formData.startPosition" type="number" placeholder="请输入开始位置" /> <el-input v-model="formData.startPosition" type="number" placeholder="请输入开始位置" />
@@ -41,6 +51,10 @@
:value="dict.value"></el-option> :value="dict.value"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="主缺陷" prop="mainMark">
<!-- 0表示否1表示是 -->
<el-checkbox v-model="formData.mainMark" :true-label="1" :false-label="0">是否为主缺陷</el-checkbox>
</el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input type="textarea" v-model="formData.remark" placeholder="请输入备注" /> <el-input type="textarea" v-model="formData.remark" placeholder="请输入备注" />
</el-form-item> </el-form-item>
@@ -119,6 +133,8 @@ export default {
startPosition: undefined, startPosition: undefined,
endPosition: undefined, endPosition: undefined,
length: undefined, length: undefined,
mainMark: 0,
productionLine: undefined,
defectCode: undefined, defectCode: undefined,
degree: undefined, degree: undefined,
remark: undefined remark: undefined

View File

@@ -6,7 +6,14 @@
<el-table-column label="开始位置" prop="startPosition"></el-table-column> <el-table-column label="开始位置" prop="startPosition"></el-table-column>
<el-table-column label="结束位置" prop="endPosition"></el-table-column> <el-table-column label="结束位置" prop="endPosition"></el-table-column>
<el-table-column label="长度" prop="length"></el-table-column> <el-table-column label="长度" prop="length"></el-table-column>
<el-table-column label="缺陷位置" prop="position"></el-table-column> <el-table-column label="上下版面" prop="plateSurface"></el-table-column>
<el-table-column label="断面位置" prop="position"></el-table-column>
<el-table-column label="是否为主缺陷" prop="mainMark">
<template slot-scope="scope">
<el-tag v-if="scope.row.mainMark" type="success"></el-tag>
<el-tag v-else type="danger"></el-tag>
</template>
</el-table-column>
<el-table-column label="缺陷代码" prop="defectCode"> <el-table-column label="缺陷代码" prop="defectCode">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.coil_abnormal_code" :value="scope.row.defectCode" /> <dict-tag :options="dict.type.coil_abnormal_code" :value="scope.row.defectCode" />
@@ -21,11 +28,55 @@
<el-table-column label="备注" prop="remark"></el-table-column> <el-table-column label="备注" prop="remark"></el-table-column>
<el-table-column label="操作" width="120"> <el-table-column label="操作" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="danger" plain size="mini" :loading="buttonLoading" @click="handleDelete(scope.row)">删除</el-button> <el-button type="danger" plain size="mini" :loading="buttonLoading"
@click="handleDelete(scope.row)">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</div> </div>
<div class="exception-section">
<h4 class="section-title">钢卷信息</h4>
<el-descriptions :column="5">
<el-descriptions-item label="入场钢卷号">{{ coilInfo.enterCoilNo || '-' }}</el-descriptions-item>
<el-descriptions-item label="当前钢卷号">{{ coilInfo.currentCoilNo || '-' }}</el-descriptions-item>
<el-descriptions-item label="厂家原料卷号">{{ coilInfo.supplierCoilNo || '-' }}</el-descriptions-item>
<el-descriptions-item label="逻辑库位">{{ coilInfo.warehouseName || '-' }}</el-descriptions-item>
<el-descriptions-item label="实际库区">{{ coilInfo.actualWarehouseName || '-' }}</el-descriptions-item>
<el-descriptions-item label="班组">{{ coilInfo.team || '-' }}</el-descriptions-item>
<el-descriptions-item label="材料类型">{{ coilInfo.materialType || '-' }}</el-descriptions-item>
<el-descriptions-item label="产品/原料">{{ coilInfo.itemName || '-' }}</el-descriptions-item>
<el-descriptions-item label="规格">{{ coilInfo.specification || '-' }}</el-descriptions-item>
<el-descriptions-item label="材质">{{ coilInfo.material || '-' }}</el-descriptions-item>
<el-descriptions-item label="厂家">{{ coilInfo.manufacturer || '-' }}</el-descriptions-item>
<el-descriptions-item label="镀层质量">{{ coilInfo.zincLayer || '-' }}</el-descriptions-item>
<el-descriptions-item label="表面处理">{{ coilInfo.surfaceTreatmentDesc || '-'
}}</el-descriptions-item>
<el-descriptions-item label="质量状态">{{ coilInfo.qualityStatus || '-' }}</el-descriptions-item>
<el-descriptions-item label="切边要求">{{ coilInfo.trimmingRequirement || '-'
}}</el-descriptions-item>
<el-descriptions-item label="原料材质">{{ coilInfo.packingStatus || '-' }}</el-descriptions-item>
<el-descriptions-item label="包装要求">{{ coilInfo.packagingRequirement || '-'
}}</el-descriptions-item>
<el-descriptions-item label="实测厚度(m)">{{ coilInfo.actualThickness || '-' }}
m</el-descriptions-item>
<el-descriptions-item label="实测宽度(m)">{{ coilInfo.actualWidth || '-' }}
m</el-descriptions-item>
<el-descriptions-item label="长度">{{ coilInfo.length || '-' }}
m</el-descriptions-item>
<el-descriptions-item label="毛重">{{ coilInfo.grossWeight || '-' }} t</el-descriptions-item>
<el-descriptions-item label="净重">{{ coilInfo.netWeight || '-' }} t</el-descriptions-item>
<el-descriptions-item label="调制度">{{ coilInfo.temperGrade || '-' }}</el-descriptions-item>
<el-descriptions-item label="镀层种类">{{ coilInfo.coatingType || '-' }}</el-descriptions-item>
<el-descriptions-item label="钢卷表面处理">{{ coilInfo.coilSurfaceTreatment || '-' }}</el-descriptions-item>
<el-descriptions-item label="备注" :span="2">{{ coilInfo.remark || '-' }}</el-descriptions-item>
</el-descriptions>
</div>
<div class="exception-section"> <div class="exception-section">
<h4 class="section-title">新增异常</h4> <h4 class="section-title">新增异常</h4>
<div class="form-container"> <div class="form-container">
@@ -41,6 +92,7 @@
<script> <script>
import { addCoilAbnormal, listCoilAbnormal, delCoilAbnormal } from '@/api/wms/coilAbnormal' import { addCoilAbnormal, listCoilAbnormal, delCoilAbnormal } from '@/api/wms/coilAbnormal'
import { getMaterialCoil } from '@/api/wms/coil'
import AbnormalForm from './AbnormalForm' import AbnormalForm from './AbnormalForm'
export default { export default {
@@ -68,6 +120,7 @@ export default {
remark: null, remark: null,
productionLine: null productionLine: null
}, },
coilInfo: {},
abnormalList: [], abnormalList: [],
abnormalLoading: false, abnormalLoading: false,
buttonLoading: false, buttonLoading: false,
@@ -78,6 +131,7 @@ export default {
handler(newVal) { handler(newVal) {
this.exceptionForm.coilId = newVal this.exceptionForm.coilId = newVal
this.loadAbnormalList() this.loadAbnormalList()
this.loadCoilInfo()
}, },
immediate: true immediate: true
} }
@@ -149,6 +203,17 @@ export default {
this.buttonLoading = false this.buttonLoading = false
}) })
}) })
},
loadCoilInfo() {
if (!this.coilId) {
return
}
getMaterialCoil(this.coilId).then(response => {
this.coilInfo = response.data || {}
}).catch(error => {
console.error('查询钢卷信息失败:', error)
this.$message.error('查询钢卷信息失败: ' + (error.message || error))
})
} }
} }
} }

View File

@@ -34,12 +34,19 @@
</el-table-column> </el-table-column>
<el-table-column label="开始位置" align="center" prop="startPosition" /> <el-table-column label="开始位置" align="center" prop="startPosition" />
<el-table-column label="结束位置" align="center" prop="endPosition" /> <el-table-column label="结束位置" align="center" prop="endPosition" />
<el-table-column label="上下板面" align="center" prop="plateSurface"></el-table-column>
<el-table-column label="缺陷长度" align="center" prop="length" /> <el-table-column label="缺陷长度" align="center" prop="length" />
<el-table-column label="缺陷代码" align="center" prop="defectCode"> <el-table-column label="缺陷代码" align="center" prop="defectCode">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.coil_abnormal_code" :value="scope.row.defectCode" /> <dict-tag :options="dict.type.coil_abnormal_code" :value="scope.row.defectCode" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="是否为主缺陷" prop="mainMark">
<template slot-scope="scope">
<el-tag v-if="scope.row.mainMark" type="success"></el-tag>
<el-tag v-else type="danger"></el-tag>
</template>
</el-table-column>
<el-table-column label="程度" align="center" prop="degree"> <el-table-column label="程度" align="center" prop="degree">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.coil_abnormal_degree" :value="scope.row.degree" /> <dict-tag :options="dict.type.coil_abnormal_degree" :value="scope.row.degree" />
@@ -57,8 +64,53 @@
@pagination="getList" /> @pagination="getList" />
<!-- 添加或修改钢卷异常信息对话框 --> <!-- 添加或修改钢卷异常信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body>
<abnormal-form ref="abnormalForm" v-model="form" :show-coil-selector="false"></abnormal-form> <el-row>
<el-col :span="12" v-loading="coilLoading">
<el-descriptions :column="2">
<el-descriptions-item label="入场钢卷号">{{ coilInfo.enterCoilNo || '-' }}</el-descriptions-item>
<el-descriptions-item label="当前钢卷号">{{ coilInfo.currentCoilNo || '-' }}</el-descriptions-item>
<el-descriptions-item label="厂家原料卷号">{{ coilInfo.supplierCoilNo || '-' }}</el-descriptions-item>
<el-descriptions-item label="逻辑库位">{{ coilInfo.warehouseName || '-' }}</el-descriptions-item>
<el-descriptions-item label="实际库区">{{ coilInfo.actualWarehouseName || '-' }}</el-descriptions-item>
<el-descriptions-item label="班组">{{ coilInfo.team || '-' }}</el-descriptions-item>
<el-descriptions-item label="材料类型">{{ coilInfo.materialType || '-' }}</el-descriptions-item>
<el-descriptions-item label="产品/原料">{{ coilInfo.itemName || '-' }}</el-descriptions-item>
<el-descriptions-item label="规格">{{ coilInfo.specification || '-' }}</el-descriptions-item>
<el-descriptions-item label="材质">{{ coilInfo.material || '-' }}</el-descriptions-item>
<el-descriptions-item label="厂家">{{ coilInfo.manufacturer || '-' }}</el-descriptions-item>
<el-descriptions-item label="镀层质量">{{ coilInfo.zincLayer || '-' }}</el-descriptions-item>
<el-descriptions-item label="表面处理">{{ coilInfo.surfaceTreatmentDesc || '-'
}}</el-descriptions-item>
<el-descriptions-item label="质量状态">{{ coilInfo.qualityStatus || '-' }}</el-descriptions-item>
<el-descriptions-item label="切边要求">{{ coilInfo.trimmingRequirement || '-'
}}</el-descriptions-item>
<el-descriptions-item label="原料材质">{{ coilInfo.packingStatus || '-' }}</el-descriptions-item>
<el-descriptions-item label="包装要求">{{ coilInfo.packagingRequirement || '-'
}}</el-descriptions-item>
<el-descriptions-item label="实测厚度(m)">{{ coilInfo.actualThickness || '-' }}
m</el-descriptions-item>
<el-descriptions-item label="实测宽度(m)">{{ coilInfo.actualWidth || '-' }}
m</el-descriptions-item>
<el-descriptions-item label="长度">{{ coilInfo.length || '-' }}
m</el-descriptions-item>
<el-descriptions-item label="毛重">{{ coilInfo.grossWeight || '-' }} t</el-descriptions-item>
<el-descriptions-item label="净重">{{ coilInfo.netWeight || '-' }} t</el-descriptions-item>
<el-descriptions-item label="调制度">{{ coilInfo.temperGrade || '-' }}</el-descriptions-item>
<el-descriptions-item label="镀层种类">{{ coilInfo.coatingType || '-' }}</el-descriptions-item>
<el-descriptions-item label="钢卷表面处理">{{ coilInfo.coilSurfaceTreatment || '-' }}</el-descriptions-item>
<el-descriptions-item label="备注" :span="2">{{ coilInfo.remark || '-' }}</el-descriptions-item>
</el-descriptions>
</el-col>
<el-col :span="12">
<abnormal-form ref="abnormalForm" v-model="form" :show-coil-selector="false"></abnormal-form>
</el-col>
</el-row>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button> <el-button :loading="buttonLoading" type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button> <el-button @click="cancel"> </el-button>
@@ -69,6 +121,7 @@
<script> <script>
import { listCoilAbnormal, getCoilAbnormal, delCoilAbnormal, addCoilAbnormal, updateCoilAbnormal } from "@/api/wms/coilAbnormal"; import { listCoilAbnormal, getCoilAbnormal, delCoilAbnormal, addCoilAbnormal, updateCoilAbnormal } from "@/api/wms/coilAbnormal";
import { getMaterialCoil } from '@/api/wms/coil'
import AbnormalForm from '../components/AbnormalForm'; import AbnormalForm from '../components/AbnormalForm';
export default { export default {
@@ -114,6 +167,8 @@ export default {
// 表单参数 // 表单参数
form: {}, form: {},
judgeOpen: false, judgeOpen: false,
coilInfo: {},
coilLoading: false,
}; };
}, },
props: { props: {
@@ -132,6 +187,7 @@ export default {
} }
this.queryParams.coilId = newVal this.queryParams.coilId = newVal
this.handleQuery() this.handleQuery()
this.getCoilInfo()
}, },
immediate: true immediate: true
} }
@@ -146,6 +202,14 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
/** 查询钢卷信息 */
getCoilInfo() {
this.coilLoading = true
getMaterialCoil(this.coilId).then(response => {
this.coilInfo = response.data || {}
this.coilLoading = false
})
},
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false; this.open = false;
@@ -208,7 +272,7 @@ export default {
if (valid) { if (valid) {
this.buttonLoading = true; this.buttonLoading = true;
if (this.form.abnormalId != null) { if (this.form.abnormalId != null) {
updateCoilAbnormal({...this.form, length: this.form.endPosition - this.form.startPosition}).then(response => { updateCoilAbnormal({ ...this.form, length: this.form.endPosition - this.form.startPosition }).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("修改成功");
this.open = false; this.open = false;
this.getList(); this.getList();
@@ -216,7 +280,7 @@ export default {
this.buttonLoading = false; this.buttonLoading = false;
}); });
} else { } else {
addCoilAbnormal({...this.form, length: this.form.endPosition - this.form.startPosition}).then(response => { addCoilAbnormal({ ...this.form, length: this.form.endPosition - this.form.startPosition }).then(response => {
this.$modal.msgSuccess("新增成功"); this.$modal.msgSuccess("新增成功");
this.open = false; this.open = false;
this.getList(); this.getList();

View File

@@ -5,9 +5,7 @@
<el-input v-model="filterKeyword" placeholder="输入关键词筛选" clearable @input="handleFilterChange" <el-input v-model="filterKeyword" placeholder="输入关键词筛选" clearable @input="handleFilterChange"
style="width: 200px; margin-right: 10px" /> style="width: 200px; margin-right: 10px" />
<el-select v-model="filterColumn" placeholder="选择筛选字段" @change="handleFilterChange" <el-select v-model="filterColumn" placeholder="选择筛选字段" @change="handleFilterChange"
style="width: 200px; margin-right: 10px" style="width: 200px; margin-right: 10px" multiple collapse-tags>
multiple
collapse-tags>
<el-option v-for="column in columns" :key="column.prop" :label="column.title" :value="column.prop" /> <el-option v-for="column in columns" :key="column.prop" :label="column.title" :value="column.prop" />
</el-select> </el-select>
</div> </div>
@@ -62,17 +60,24 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-dialog title="钢卷异常信息" :visible.sync="abmornal.visible" width="50%"> <el-dialog title="钢卷异常信息" :visible.sync="abmornal.visible" width="60%">
<el-table :data="abmornal.data" style="width: 100%" v-loading="abmornal.loading"> <el-table :data="abmornal.data" style="width: 100%" v-loading="abmornal.loading">
<el-table-column label="开始位置" prop="startPosition"></el-table-column> <el-table-column label="开始位置" prop="startPosition"></el-table-column>
<el-table-column label="结束位置" prop="endPosition"></el-table-column> <el-table-column label="结束位置" prop="endPosition"></el-table-column>
<el-table-column label="长度" prop="length"></el-table-column> <el-table-column label="长度" prop="length"></el-table-column>
<el-table-column label="上下板面" align="center" prop="plateSurface"></el-table-column>
<el-table-column label="缺陷位置" prop="position"></el-table-column> <el-table-column label="缺陷位置" prop="position"></el-table-column>
<el-table-column label="缺陷代码" prop="defectCode"> <el-table-column label="缺陷代码" prop="defectCode">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.coil_abnormal_code" :value="scope.row.defectCode" /> <dict-tag :options="dict.type.coil_abnormal_code" :value="scope.row.defectCode" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="是否为主缺陷" prop="mainMark">
<template slot-scope="scope">
<el-tag v-if="scope.row.mainMark" type="success"></el-tag>
<el-tag v-else type="danger"></el-tag>
</template>
</el-table-column>
<el-table-column label="程度" prop="degree"> <el-table-column label="程度" prop="degree">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.coil_abnormal_degree" :value="scope.row.degree" /> <dict-tag :options="dict.type.coil_abnormal_degree" :value="scope.row.degree" />