feat(钢卷管理): 新增调制度和镀层种类字段

在钢卷管理的多个页面和组件中添加调制度(temperGrade)和镀层种类(coatingType)字段,包括表单输入、显示和查询功能。同时优化了部分页面布局和代码结构,移除了不再使用的质量状态枚举定义
This commit is contained in:
砂糖
2026-01-22 10:20:58 +08:00
parent a82c8ea825
commit 03d8ba1d2f
11 changed files with 237 additions and 95 deletions

View File

@@ -40,7 +40,8 @@
<div class="card-header">
<div class="header-left">
<el-tag type="info" size="small" class="coil-no-tag">{{ item.currentCoilNo }}</el-tag>
<el-tag type="info" size="small" class="coil-no-tag" :style="getBorderStyle(item)">{{ getTypeLabel(item) }}</el-tag>
<el-tag type="info" size="small" class="coil-no-tag" :style="getBorderStyle(item)">{{
getTypeLabel(item) }}</el-tag>
<span class="material-type">{{ item.materialType || '原料' }}</span>
<el-popover v-if="item.rawMaterial || item.product" placement="top" width="280" trigger="hover"
popper-class="material-params-popover">
@@ -130,6 +131,18 @@
<span class="param-label">净重</span>
<span class="param-value">{{ item.netWeight }}t</span>
</div>
<div class="param-row" v-if="item.length">
<span class="param-label">长度</span>
<span class="param-value">{{ item.length }}</span>
</div>
<div class="param-row" v-if="item.temperGrade">
<span class="param-label">调制度</span>
<span class="param-value">{{ item.temperGrade }}</span>
</div>
<div class="param-row" v-if="item.coatingType">
<span class="param-label">镀层种类</span>
<span class="param-value">{{ item.coatingType }}</span>
</div>
<div class="param-row" v-if="item.team">
<span class="param-label">班组</span>
<span class="param-value">{{ item.team }}</span>
@@ -180,8 +193,10 @@
<span class="info-value">{{ item.netWeight || '—' }}t</span>
</div>
</div>
<el-button v-if="item.dataType == 1 && item.status == 0" style="position: absolute; bottom: 10px; right: 10px;" type="success" icon="el-icon-refresh" size="mini" @click="handleRestoreMaterial(item)"
:loading="item.cancelling" class="action-btn">回滚</el-button>
<el-button v-if="item.dataType == 1 && item.status == 0"
style="position: absolute; bottom: 10px; right: 10px;" type="success" icon="el-icon-refresh"
size="mini" @click="handleRestoreMaterial(item)" :loading="item.cancelling"
class="action-btn">回滚</el-button>
</div>
<div class="card-footer" v-if="item.dataType != 10">
@@ -316,6 +331,12 @@
<el-form-item label="长度" prop="length">
<el-input v-model="form.length" placeholder="请输入长度" />
</el-form-item>
<el-form-item label="调制度" prop="temperGrade">
<el-input v-model="form.temperGrade" placeholder="请输入调制度" />
</el-form-item>
<el-form-item label="镀层种类" prop="coatingType">
<el-input v-model="form.coatingType" placeholder="请输入镀层种类" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>
@@ -574,21 +595,21 @@ export default {
console.log(row);
// 已发货
if (row.status == 1) {
return {border: '1.5px solid #007bff'}
return { border: '1.5px solid #007bff' }
}
// 历史钢卷
if (row.dataType == 0) {
return {border: '1.5px solid #6c757d'}
return { border: '1.5px solid #6c757d' }
}
// 当前钢卷
if (row.dataType == 1) {
return {border: '1.5px solid #28a745'}
return { border: '1.5px solid #28a745' }
}
// 还未入库的钢卷
if (row.dataType == 10) {
return {border: '1.5px solid #ffc107'}
return { border: '1.5px solid #ffc107' }
}
return {border: '1.5px solid #e4e7ed'}
return { border: '1.5px solid #e4e7ed' }
},
getTypeLabel(row) {
if (row.status == 1) {

View File

@@ -80,15 +80,6 @@
<el-form-item label="质量状态" prop="qualityStatus">
<el-select v-model="form.qualityStatus" placeholder="请选择质量状态" style="width: 100%"
:disabled="readonly">
<!-- <el-option label="A+" value="A+" />
<el-option label="A" value="A" />
<el-option label="A-" value="A-" />
<el-option label="B+" value="B+" />
<el-option label="B" value="B" />
<el-option label="B-" value="B-" />
<el-option label="C+" value="C+" />
<el-option label="C" value="C" />
<el-option label="C-" value="C-" /> -->
<el-option v-for="item in dict.type.coil_quality_status" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
@@ -132,6 +123,21 @@
<el-input v-model="form.netWeight" placeholder="请输入净重" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="长度" prop="length">
<el-input v-model="form.length" placeholder="请输入长度" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="调制度" prop="temperGrade">
<el-input v-model="form.temperGrade" placeholder="请输入调制度" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="镀层种类" prop="coatingType">
<el-input v-model="form.coatingType" placeholder="请输入镀层种类" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
@@ -144,8 +150,6 @@
<el-row>
<el-col :span="12">
<el-form-item label="质量状态" prop="qualityStatus">
<!-- <memo-input v-model="form.qualityStatus" placeholder="请输入质量状态" storageKey="qualityStatus">
</memo-input> -->
<el-select v-model="form.qualityStatus" placeholder="请选择质量状态" style="width: 100%">
<el-option v-for="item in dict.type.coil_quality_status" :key="item.value" :label="item.label"
:value="item.value" />

View File

@@ -78,15 +78,6 @@
<el-form-item label="质量状态" prop="qualityStatus">
<el-select v-model="form.qualityStatus" placeholder="请选择质量状态" style="width: 100%"
:disabled="readonly">
<!-- <el-option label="A+" value="A+" />
<el-option label="A" value="A" />
<el-option label="A-" value="A-" />
<el-option label="B+" value="B+" />
<el-option label="B" value="B" />
<el-option label="B-" value="B-" />
<el-option label="C+" value="C+" />
<el-option label="C" value="C" />
<el-option label="C-" value="C-" /> -->
<el-option v-for="item in dict.type.coil_quality_status" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</el-form-item>
@@ -129,6 +120,22 @@
<el-input v-model="form.netWeight" placeholder="请输入净重" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="长度" prop="length">
<el-input v-model="form.length" placeholder="请输入长度" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="调制度" prop="temperGrade">
<el-input v-model="form.temperGrade" placeholder="请输入调制度" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="镀层种类" prop="coatingType">
<el-input v-model="form.coatingType" placeholder="请输入镀层种类" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
@@ -171,41 +178,16 @@
</div>
<div class="params-list">
<div class="param-item" v-if="item.itemType === 'raw_material' && item.rawMaterial">
<div class="param-row" v-if="item.rawMaterial.rawMaterialCode">
<span class="param-label">编号</span>
<span class="param-value">{{ item.rawMaterial.rawMaterialCode }}</span>
</div>
<div class="param-row" v-if="item.rawMaterial.specification">
<span class="param-label">规格</span>
<span class="param-value">{{ item.rawMaterial.specification }}</span>
</div>
<div class="param-row" v-if="item.rawMaterial.thickness">
<span class="param-label">厚度</span>
<span class="param-value">{{ item.rawMaterial.thickness }}mm</span>
</div>
<div class="param-row" v-if="item.rawMaterial.width">
<span class="param-label">宽度</span>
<span class="param-value">{{ item.rawMaterial.width }}mm</span>
</div>
</div>
<div class="param-item" v-else-if="item.itemType === 'product' && item.product">
<div class="param-row" v-if="item.product.productCode">
<span class="param-label">编号</span>
<span class="param-value">{{ item.product.productCode }}</span>
</div>
<div class="param-row" v-if="item.product.specification">
<span class="param-label">规格</span>
<span class="param-value">{{ item.product.specification }}</span>
</div>
<div class="param-row" v-if="item.product.thickness">
<span class="param-label">厚度</span>
<span class="param-value">{{ item.product.thickness }}mm</span>
</div>
<div class="param-row" v-if="item.product.width">
<span class="param-label">宽度</span>
<span class="param-value">{{ item.product.width }}mm</span>
</div>
</div>
<div class="param-divider"></div>
<div class="param-item">
@@ -217,6 +199,18 @@
<span class="param-label">净重</span>
<span class="param-value">{{ item.netWeight }}t</span>
</div>
<div class="param-row" v-if="item.length">
<span class="param-label">长度</span>
<span class="param-value">{{ item.length }}mm</span>
</div>
<div class="param-row" v-if="item.temperGrade">
<span class="param-label">调制度</span>
<span class="param-value">{{ item.temperGrade }}</span>
</div>
<div class="param-row" v-if="item.coatingType">
<span class="param-label">镀层种类</span>
<span class="param-value">{{ item.coatingType }}</span>
</div>
<div class="param-row" v-if="item.team">
<span class="param-label">班组</span>
<span class="param-value">{{ item.team }}</span>

View File

@@ -117,6 +117,16 @@
<el-input v-model="form.length" placeholder="请输入长度" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="调制度" prop="temperGrade">
<el-input v-model="form.temperGrade" placeholder="请输入调制度" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="镀层种类" prop="coatingType">
<el-input v-model="form.coatingType" placeholder="请输入镀层种类" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />

View File

@@ -62,15 +62,6 @@
<el-col :span="24">
<el-form-item label="质量状态" prop="qualityStatus">
<el-select v-model="form.qualityStatus" placeholder="请选择质量状态" style="width: 100%">
<!-- <el-option label="A+" value="A+" />
<el-option label="A" value="A" />
<el-option label="A-" value="A-" />
<el-option label="B+" value="B+" />
<el-option label="B" value="B" />
<el-option label="B-" value="B-" />
<el-option label="C+" value="C+" />
<el-option label="C" value="C" />
<el-option label="C-" value="C-" /> -->
<el-option v-for="item in dict.type.coil_quality_status" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
@@ -112,6 +103,21 @@
<el-input v-model="form.netWeight" placeholder="请输入净重" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="长度" prop="length">
<el-input v-model="form.length" placeholder="请输入长度" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="调制度" prop="temperGrade">
<el-input v-model="form.temperGrade" placeholder="请输入调制度" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="镀层种类" prop="coatingType">
<el-input v-model="form.coatingType" placeholder="请输入镀层种类" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
@@ -201,8 +207,7 @@
@click="openReceiptModal(scope.row)" v-loading="buttonLoading">签收</el-button>
<el-button v-if="scope.row.actionStatus == 0 || scope.row.actionStatus == 1" type="danger"
@click="handleReject(scope.row)" v-loading="buttonLoading">拒签</el-button>
<el-button type="warning" v-loading="buttonLoading"
@click="handleDelete(scope.row)">删除</el-button>
<el-button type="warning" v-loading="buttonLoading" @click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
@@ -283,15 +288,6 @@
</el-form-item>
<el-form-item label="质量状态" prop="qualityStatus">
<el-select v-model="editCoil.form.qualityStatus" placeholder="请选择质量状态" style="width: 100%">
<!-- <el-option label="A+" value="A+" />
<el-option label="A" value="A" />
<el-option label="A-" value="A-" />
<el-option label="B+" value="B+" />
<el-option label="B" value="B" />
<el-option label="B-" value="B-" />
<el-option label="C+" value="C+" />
<el-option label="C" value="C" />
<el-option label="C-" value="C-" /> -->
<el-option v-for="item in dict.type.coil_quality_status" :key="item.value" :label="item.label"
:value="item.value" />
</el-select>
@@ -325,6 +321,12 @@
<el-form-item label="长度" prop="length">
<el-input v-model="editCoil.form.length" placeholder="请输入长度" />
</el-form-item>
<el-form-item label="调制度" prop="temperGrade">
<el-input v-model="editCoil.form.temperGrade" placeholder="请输入调制度" />
</el-form-item>
<el-form-item label="镀层种类" prop="coatingType">
<el-input v-model="editCoil.form.coatingType" placeholder="请输入镀层种类" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="editCoil.form.remark" placeholder="请输入备注" />
</el-form-item>
@@ -383,6 +385,9 @@ export default {
packingStatus: null,
packagingRequirement: null,
planId: null,
length: null,
temperGrade: null,
coatingType: null,
},
loading: false,
buttonLoading: false,
@@ -621,6 +626,9 @@ export default {
packingStatus: null,
packagingRequirement: null,
planId: this.form.planId,
length: null,
temperGrade: null,
coatingType: null,
}
this.getMaxCoilNoByPrefix()
this.getList()
@@ -630,7 +638,6 @@ export default {
}
})
},
// 打开收货弹窗
openReceiptModal(row) {
this.loading = true