维修修改

This commit is contained in:
zzyuan 2025-01-23 17:24:48 +08:00
parent 0013ca35a7
commit 4892bb2bb9
1 changed files with 75 additions and 200 deletions

View File

@ -334,12 +334,7 @@
<!-- ****************数量维修****************** --> <!-- ****************数量维修****************** -->
<!-- 数量维修 --> <!-- 数量维修 -->
<el-dialog <el-dialog title="数量维修" :visible.sync="openNum" width="1250px" append-to-body>
title="数量维修"
:visible.sync="openNum"
width="1250px"
append-to-body
>
<el-row :gutter="24" style="padding-bottom: 20px;border-bottom: 2px solid #dcdfe6;"> <el-row :gutter="24" style="padding-bottom: 20px;border-bottom: 2px solid #dcdfe6;">
<el-col :span="4"> <el-col :span="4">
<div style="font-weight: 600;"> <div style="font-weight: 600;">
@ -357,27 +352,17 @@
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<div class="dialog-content"> <div class="dialog-content">
<div class="left"> <div class="left">
<!-- 左侧内容 --> <!-- 左侧内容 -->
<el-form <el-form ref="formLeft" :model="formLeft" :rules="rulesLeft" label-width="80px">
ref="formLeft"
:model="formLeft"
:rules="rulesLeft"
label-width="80px"
>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="20"> <el-col :span="20">
<el-form-item label="内部维修数量" prop="repairNum" label-width="120px"> <el-form-item label="内部维修数量" prop="repairNum" label-width="120px">
<el-input <el-input v-model.number="formLeft.repairNum" placeholder="请输入内部维修数量"
v-model.number="formLeft.repairNum" maxlength="20" type="number" min="0"
placeholder="请输入内部维修数量" style="width: 220px" @input="waitRepairCount"/>
maxlength="20"
type="number"
min="0"
style="width: 220px"
@input="waitRepairCount"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -451,40 +436,20 @@
<div class="divider"></div> <div class="divider"></div>
<div class="middle"> <div class="middle">
<!-- 中间内容 --> <!-- 中间内容 -->
<el-form <el-form ref="formMiddle" :model="formMiddle" :rules="rulesMiddle" label-width="80px">
ref="formMiddle"
:model="formMiddle"
:rules="rulesMiddle"
label-width="80px"
>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="20"> <el-col :span="20">
<el-form-item label="返厂维修数量" prop="repairNum" label-width="120px"> <el-form-item label="返厂维修数量" prop="repairNum" label-width="120px">
<el-input <el-input v-model.number="formMiddle.repairNum" placeholder="请输入返厂维修数量" maxlength="20" type="number" min="0" style="width: 220px" @input="waitRepairCount"/>
v-model.number="formMiddle.repairNum"
placeholder="请输入返厂维修数量"
maxlength="20"
type="number"
min="0"
style="width: 220px"
@input="waitRepairCount"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="20"> <el-col :span="20">
<el-form-item label="物资厂家" prop="supplierId"> <el-form-item label="物资厂家" prop="supplierId">
<el-select <el-select v-model="formMiddle.supplierId"
v-model="formMiddle.supplierId" placeholder="物资厂家" clearable filterable style="width: 260px">
placeholder="物资厂家" <el-option v-for="item in supplierList"
clearable
filterable
style="width: 260px"
>
<el-option
v-for="item in supplierList"
:key="item.supplierId" :key="item.supplierId"
:label="item.supplier" :label="item.supplier"
:value="item.supplierId" :value="item.supplierId"
@ -493,36 +458,16 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div <div v-for="(item, index) in partItemsMiddle" :key="index" class="dynamic-item">
v-for="(item, index) in partItemsMiddle"
:key="index"
class="dynamic-item"
>
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="10"> <el-col :span="10">
<el-form-item label="配件名称" prop="partName" label-width="80px"> <el-form-item label="配件名称" prop="partName" label-width="80px">
<el-input <el-input v-model="item.partName" placeholder="请输入" maxlength="20" style="width: 90px"></el-input>
v-model="item.partName"
placeholder="请输入"
maxlength="20"
style="width: 90px"
>
</el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<el-form-item <el-form-item label="是否收费" prop="partType" label-width="70px">
label="是否收费" <el-select v-model="item.partType" placeholder="请选择" filterable clearable style="width: 80px">
prop="partType"
label-width="70px"
>
<el-select
v-model="item.partType"
placeholder="请选择"
filterable
clearable
style="width: 80px"
>
<el-option label="是" value="1"></el-option> <el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option> <el-option label="否" value="0"></el-option>
</el-select> </el-select>
@ -532,47 +477,20 @@
<el-row :gutter="24"> <el-row :gutter="24">
<el-col :span="9"> <el-col :span="9">
<el-form-item label="配件数量" prop="partNum" label-width="80px" > <el-form-item label="配件数量" prop="partNum" label-width="80px" >
<el-input <el-input v-model.number="item.partNum" placeholder="请输入配件数量"
v-model.number="item.partNum" maxlength="20" type="number" :min="0" style="width: 90px"></el-input>
placeholder="请输入配件数量"
maxlength="20"
type="number" :min="0"
style="width: 90px"
>
</el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item label="金额" prop="partPrice" label-width="70px"> <el-form-item label="金额" prop="partPrice" label-width="70px">
<el-input <el-input v-model.number="item.partPrice" placeholder="请输入金额"
v-model.number="item.partPrice" maxlength="20" type="number" :min="0" style="width: 95px">
placeholder="请输入"
maxlength="20" type="number" :min="0"
style="width: 95px"
>
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col <el-col :span="6" style="margin-top: 10px;display: flex;justify-content: center;align-items: center;">
:span="6" <i class="el-icon-plus" style="font-size: 20px; color: blue" @click="addPartItemMiddle"></i>
style=" <i class="el-icon-minus" style="font-size: 20px; color: red" v-if="index != 0" @click="removePartItemMiddle(index)"></i>
margin-top: 10px;
display: flex;
justify-content: center;
align-items: center;
"
>
<i
class="el-icon-plus"
style="font-size: 20px; color: blue"
@click="addPartItemMiddle"
></i>
<i
class="el-icon-minus"
style="font-size: 20px; color: red"
v-if="index != 0"
@click="removePartItemMiddle(index)"
></i>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
@ -582,37 +500,15 @@
<div class="divider"></div> <div class="divider"></div>
<div class="right"> <div class="right">
<!-- 右侧内容 --> <!-- 右侧内容 -->
<el-form <el-form :model="formRight" ref="formRight" size="small" :rules="rulesRight" :inline="true" label-width="80px">
:model="formRight"
ref="formRight"
size="small"
:rules="rulesRight"
:inline="true"
label-width="80px"
>
<el-col :span="20"> <el-col :span="20">
<el-form-item label="待报废数量" prop="scrapNum" label-width="100px"> <el-form-item label="待报废数量" prop="scrapNum" label-width="100px">
<el-input <el-input v-model.number="formRight.scrapNum" placeholder="请输入待报废数量" maxlength="20" type="number" style="width: 210px" min="0" @input="waitRepairCount"/>
v-model.number="formRight.scrapNum"
placeholder="请输入待报废数量"
maxlength="20"
type="number"
style="width: 210px"
min="0"
@input="waitRepairCount"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-form-item label="损坏原因" prop="scrapType"> <el-form-item label="损坏原因" prop="scrapType">
<el-select <el-select v-model="formRight.scrapType" placeholder="损坏原因" clearable filterable style="width: 240px">
v-model="formRight.scrapType" <el-option v-for="item in damageReasonList"
placeholder="损坏原因"
clearable
filterable
style="width: 240px"
>
<el-option
v-for="item in damageReasonList"
:key="item.id" :key="item.id"
:label="item.label" :label="item.label"
:value="item.id" :value="item.id"
@ -620,16 +516,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="报废原因" prop="scrapReason"> <el-form-item label="报废原因" prop="scrapReason">
<el-input <el-input v-model="formRight.scrapReason" placeholder="请输入报废原因" clearable maxlength="150" type="textarea" style="width: 240px" rows="4"></el-input>
v-model="formRight.scrapReason"
placeholder="请输入报废原因"
clearable
maxlength="150"
type="textarea"
style="width: 240px"
rows="4"
>
</el-input>
</el-form-item> </el-form-item>
<el-form-item label="照片"> <el-form-item label="照片">
<el-upload <el-upload
@ -652,21 +539,9 @@
</div> </div>
</div> </div>
<div <div style=" width: 100%; height: 50px; display: flex; justify-content: flex-end; align-items: center;">
style=" <el-button type="primary" size="mini" :disabled="flagSave" @click="saveNumAll">保存</el-button>
width: 100%; <el-button type="normal" size="mini" @click="saveCancelAll">取消</el-button>
height: 50px;
display: flex;
justify-content: flex-end;
align-items: center;
"
>
<el-button type="primary" size="mini" :disabled="flagSave" @click="saveNumAll"
>保存</el-button
>
<el-button type="normal" size="mini" @click="saveCancelAll"
>取消</el-button
>
</div> </div>
</el-dialog> </el-dialog>
@ -706,8 +581,8 @@ export default {
data() { data() {
return { return {
uploadKey: Date.now(), uploadKey: Date.now(),
partItems: [{ partNum: "", partType: "", partId:null, storageNum:"" }], partItems: [{ partNum: "", partType: "0", partId:null, storageNum:"" }],
partItemsMiddle: [{ partName: "", partNum: "", partPrice: "0", partType: "" }], partItemsMiddle: [{ partName: "", partNum: "", partPrice: "0", partType: "0" }],
// //
loading: false, loading: false,
// //
@ -1081,9 +956,9 @@ export default {
this.resetForm("formLeft"); this.resetForm("formLeft");
this.resetForm("formMiddle") this.resetForm("formMiddle")
this.resetForm("formRight") this.resetForm("formRight")
this.partItems = [{ partNum: "", partType: "", partId:null, storageNum:"" }], this.partItems = [{ partNum: "", partType: "0", partId:null, storageNum:"" }],
this.partItemsMiddle= [ this.partItemsMiddle= [
{ partName: "", partNum: "", partPrice: "0", partType: "" }, { partName: "", partNum: "", partPrice: "0", partType: "0" },
], ],
this.openNum = true; this.openNum = true;
}); });
@ -1605,7 +1480,7 @@ export default {
}, },
//--- //---
addPartItem() { addPartItem() {
this.partItems.push({ partNum: "", partType: "", partId:null, storageNum:"" }); this.partItems.push({ partNum: "", partType: "0", partId:null, storageNum:"" });
this.dividerHeight += 200; // 线 this.dividerHeight += 200; // 线
}, },
//--- //---
@ -1617,7 +1492,7 @@ export default {
}, },
//-- //--
addPartItemMiddle() { addPartItemMiddle() {
this.partItemsMiddle.push({ partTypeName: "", partNum: "", partType: "" }); this.partItemsMiddle.push({ partTypeName: "", partNum: "", partType: "0" });
this.dividerHeight += 200; // 线 this.dividerHeight += 200; // 线
}, },
//-- //--
@ -1820,8 +1695,8 @@ export default {
this.resetForm("formLeft"); this.resetForm("formLeft");
this.resetForm("formMiddle") this.resetForm("formMiddle")
this.resetForm("formRight") this.resetForm("formRight")
this.partItems = [{ partNum: "", partType: "", partId:null, storageNum:"" }], this.partItems = [{ partNum: "", partType: "0", partId:null, storageNum:"" }],
this.partItemsMiddle = [{ partName: "", partNum: "", partPrice: "0", partType: "" }], this.partItemsMiddle = [{ partName: "", partNum: "", partPrice: "0", partType: "0" }],
this.openNum=false; this.openNum=false;
}, },
// //
@ -1846,17 +1721,17 @@ export default {
}; };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep.el-table .fixed-width .el-button--mini { ::v-deep.el-table .fixed-width .el-button--mini {
width: 60px !important; width: 60px !important;
margin-bottom: 10px; margin-bottom: 10px;
} }
//css //css
::v-deep.disabled { ::v-deep.disabled {
.el-upload--picture-card { .el-upload--picture-card {
display: none; display: none;
} }
} }
.part-select { .part-select {
.el-cascader-panel .el-scrollbar .el-checkbox { .el-cascader-panel .el-scrollbar .el-checkbox {
display: none; display: none;
} }
@ -1864,27 +1739,27 @@ export default {
.el-cascader-panel .el-scrollbar:nth-child(3) .el-checkbox { .el-cascader-panel .el-scrollbar:nth-child(3) .el-checkbox {
display: block !important; display: block !important;
} }
} }
.dialog-content { .dialog-content {
height: 600px; height: 600px;
overflow-y: auto; overflow-y: auto;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: flex-start; align-items: flex-start;
} }
.left, .left,
.middle, .middle,
.right { .right {
flex: 1; flex: 1;
padding: 10px 0; padding: 10px 0;
} }
.divider { .divider {
width: 2px; width: 2px;
background-color: #dcdfe6; background-color: #dcdfe6;
height: 100%; height: 100%;
margin: 0 10px; margin: 0 10px;
flex-shrink: 0; /* 防止竖线在内容较少时缩小 */ flex-shrink: 0; /* 防止竖线在内容较少时缩小 */
} }
</style> </style>