|
|
|
|
@ -19,8 +19,46 @@
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
|
|
|
|
|
<!-- 批量操作按钮 -->
|
|
|
|
|
<el-row :gutter="10" class="mb8">
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-button
|
|
|
|
|
type="primary"
|
|
|
|
|
plain
|
|
|
|
|
icon="el-icon-video-play"
|
|
|
|
|
size="mini"
|
|
|
|
|
:disabled="multiple"
|
|
|
|
|
@click="handleBatchStart"
|
|
|
|
|
v-hasPermi="['base:orderInfo:edit']"
|
|
|
|
|
>批量开始生产</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-button
|
|
|
|
|
type="warning"
|
|
|
|
|
plain
|
|
|
|
|
icon="el-icon-edit"
|
|
|
|
|
size="mini"
|
|
|
|
|
:disabled="multiple"
|
|
|
|
|
@click="handleBatchUpdateQty"
|
|
|
|
|
v-hasPermi="['base:orderInfo:edit']"
|
|
|
|
|
>批量更新数量</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
<el-col :span="1.5">
|
|
|
|
|
<el-button
|
|
|
|
|
type="success"
|
|
|
|
|
plain
|
|
|
|
|
icon="el-icon-check"
|
|
|
|
|
size="mini"
|
|
|
|
|
:disabled="multiple"
|
|
|
|
|
@click="handleBatchComplete"
|
|
|
|
|
v-hasPermi="['base:orderInfo:edit']"
|
|
|
|
|
>批量完工提报</el-button>
|
|
|
|
|
</el-col>
|
|
|
|
|
</el-row>
|
|
|
|
|
|
|
|
|
|
<!-- 工单列表 -->
|
|
|
|
|
<el-table v-loading="loading" :data="orderList" border>
|
|
|
|
|
<el-table v-loading="loading" :data="orderList" border @selection-change="handleSelectionChange">
|
|
|
|
|
<el-table-column type="selection" width="55" align="center" />
|
|
|
|
|
<el-table-column label="工单编号" prop="orderCode" width="150" />
|
|
|
|
|
<el-table-column label="物料名称" prop="materialName" show-overflow-tooltip />
|
|
|
|
|
<el-table-column label="计划数量" prop="orderAmount" width="100" align="center" />
|
|
|
|
|
@ -144,6 +182,60 @@
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
<!-- 批量开始生产对话框 -->
|
|
|
|
|
<el-dialog title="批量开始生产" :visible.sync="batchStartDialogVisible" width="400px" append-to-body>
|
|
|
|
|
<el-form :model="batchStartForm" label-width="100px">
|
|
|
|
|
<el-form-item label="操作员">
|
|
|
|
|
<el-input v-model="batchStartForm.operator" placeholder="请输入操作员" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<span style="color: #909399; font-size: 12px;">已选择 {{ selectedIds.length }} 条工单</span>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button @click="batchStartDialogVisible = false">取 消</el-button>
|
|
|
|
|
<el-button type="primary" @click="confirmBatchStart">确 定</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
<!-- 批量更新数量对话框 -->
|
|
|
|
|
<el-dialog title="批量更新完工数量" :visible.sync="batchUpdateQtyDialogVisible" width="400px" append-to-body>
|
|
|
|
|
<el-form :model="batchUpdateForm" label-width="100px">
|
|
|
|
|
<el-form-item label="完工数量">
|
|
|
|
|
<el-input-number v-model="batchUpdateForm.completeQty" :min="0" style="width: 100%" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="不良数量">
|
|
|
|
|
<el-input-number v-model="batchUpdateForm.defectQty" :min="0" style="width: 100%" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<span style="color: #909399; font-size: 12px;">已选择 {{ selectedIds.length }} 条工单</span>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button @click="batchUpdateQtyDialogVisible = false">取 消</el-button>
|
|
|
|
|
<el-button type="primary" @click="confirmBatchUpdateQty">确 定</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
<!-- 批量完工提报对话框 -->
|
|
|
|
|
<el-dialog title="批量完工提报" :visible.sync="batchCompleteDialogVisible" width="400px" append-to-body>
|
|
|
|
|
<el-form :model="batchCompleteForm" label-width="100px">
|
|
|
|
|
<el-form-item label="完工数量">
|
|
|
|
|
<el-input-number v-model="batchCompleteForm.completeQty" :min="0" style="width: 100%" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="不良数量">
|
|
|
|
|
<el-input-number v-model="batchCompleteForm.defectQty" :min="0" style="width: 100%" />
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item>
|
|
|
|
|
<span style="color: #909399; font-size: 12px;">已选择 {{ selectedIds.length }} 条工单</span>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
|
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
|
|
<el-button @click="batchCompleteDialogVisible = false">取 消</el-button>
|
|
|
|
|
<el-button type="success" @click="confirmBatchComplete">完工提报</el-button>
|
|
|
|
|
</div>
|
|
|
|
|
</el-dialog>
|
|
|
|
|
|
|
|
|
|
<!-- 工单详情对话框 -->
|
|
|
|
|
<el-dialog title="工单详情" :visible.sync="detailDialogVisible" width="600px" append-to-body>
|
|
|
|
|
<el-descriptions :column="2" border>
|
|
|
|
|
@ -171,7 +263,7 @@
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
import { listOrderInfo, startProduction, completeProduction, updateQuantity } from "@/api/base/orderInfo";
|
|
|
|
|
import { listOrderInfo, startProduction, completeProduction, updateQuantity, batchStartProduction, batchUpdateQuantity, batchCompleteProduction } from "@/api/base/orderInfo";
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
name: "OrderExecution",
|
|
|
|
|
@ -180,6 +272,8 @@ export default {
|
|
|
|
|
loading: false,
|
|
|
|
|
total: 0,
|
|
|
|
|
orderList: [],
|
|
|
|
|
selectedIds: [],
|
|
|
|
|
multiple: true,
|
|
|
|
|
queryParams: {
|
|
|
|
|
pageNum: 1,
|
|
|
|
|
pageSize: 10,
|
|
|
|
|
@ -190,6 +284,9 @@ export default {
|
|
|
|
|
updateQtyDialogVisible: false,
|
|
|
|
|
completeDialogVisible: false,
|
|
|
|
|
detailDialogVisible: false,
|
|
|
|
|
batchStartDialogVisible: false,
|
|
|
|
|
batchUpdateQtyDialogVisible: false,
|
|
|
|
|
batchCompleteDialogVisible: false,
|
|
|
|
|
startForm: {
|
|
|
|
|
orderCode: '',
|
|
|
|
|
materialName: '',
|
|
|
|
|
@ -207,6 +304,17 @@ export default {
|
|
|
|
|
completeQty: 0,
|
|
|
|
|
defectQty: 0
|
|
|
|
|
},
|
|
|
|
|
batchStartForm: {
|
|
|
|
|
operator: ''
|
|
|
|
|
},
|
|
|
|
|
batchUpdateForm: {
|
|
|
|
|
completeQty: 0,
|
|
|
|
|
defectQty: 0
|
|
|
|
|
},
|
|
|
|
|
batchCompleteForm: {
|
|
|
|
|
completeQty: 0,
|
|
|
|
|
defectQty: 0
|
|
|
|
|
},
|
|
|
|
|
detailOrder: {}
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
@ -307,6 +415,83 @@ export default {
|
|
|
|
|
handleDetail(row) {
|
|
|
|
|
this.detailOrder = row;
|
|
|
|
|
this.detailDialogVisible = true;
|
|
|
|
|
},
|
|
|
|
|
handleSelectionChange(selection) {
|
|
|
|
|
this.selectedIds = selection.map(item => item.objId);
|
|
|
|
|
this.multiple = !selection.length;
|
|
|
|
|
},
|
|
|
|
|
handleBatchStart() {
|
|
|
|
|
if (this.selectedIds.length === 0) {
|
|
|
|
|
this.$modal.msgWarning("请至少选择一条工单");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
this.batchStartForm = {
|
|
|
|
|
operator: this.$store.state.user.name || ''
|
|
|
|
|
};
|
|
|
|
|
this.batchStartDialogVisible = true;
|
|
|
|
|
},
|
|
|
|
|
confirmBatchStart() {
|
|
|
|
|
if (!this.batchStartForm.operator) {
|
|
|
|
|
this.$modal.msgWarning("请输入操作员");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
const data = {
|
|
|
|
|
objIds: this.selectedIds,
|
|
|
|
|
operator: this.batchStartForm.operator
|
|
|
|
|
};
|
|
|
|
|
batchStartProduction(data).then(response => {
|
|
|
|
|
this.$modal.msgSuccess("批量开始生产成功");
|
|
|
|
|
this.batchStartDialogVisible = false;
|
|
|
|
|
this.getList();
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
handleBatchUpdateQty() {
|
|
|
|
|
if (this.selectedIds.length === 0) {
|
|
|
|
|
this.$modal.msgWarning("请至少选择一条工单");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
this.batchUpdateForm = {
|
|
|
|
|
completeQty: 0,
|
|
|
|
|
defectQty: 0
|
|
|
|
|
};
|
|
|
|
|
this.batchUpdateQtyDialogVisible = true;
|
|
|
|
|
},
|
|
|
|
|
confirmBatchUpdateQty() {
|
|
|
|
|
const data = {
|
|
|
|
|
objIds: this.selectedIds,
|
|
|
|
|
completeQty: this.batchUpdateForm.completeQty,
|
|
|
|
|
defectQty: this.batchUpdateForm.defectQty
|
|
|
|
|
};
|
|
|
|
|
batchUpdateQuantity(data).then(response => {
|
|
|
|
|
this.$modal.msgSuccess("批量更新数量成功");
|
|
|
|
|
this.batchUpdateQtyDialogVisible = false;
|
|
|
|
|
this.getList();
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
handleBatchComplete() {
|
|
|
|
|
if (this.selectedIds.length === 0) {
|
|
|
|
|
this.$modal.msgWarning("请至少选择一条工单");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
this.batchCompleteForm = {
|
|
|
|
|
completeQty: 0,
|
|
|
|
|
defectQty: 0
|
|
|
|
|
};
|
|
|
|
|
this.batchCompleteDialogVisible = true;
|
|
|
|
|
},
|
|
|
|
|
confirmBatchComplete() {
|
|
|
|
|
this.$modal.confirm('确认批量完工提报?完工后工单状态将变为已完成').then(() => {
|
|
|
|
|
const data = {
|
|
|
|
|
objIds: this.selectedIds,
|
|
|
|
|
completeQty: this.batchCompleteForm.completeQty,
|
|
|
|
|
defectQty: this.batchCompleteForm.defectQty
|
|
|
|
|
};
|
|
|
|
|
batchCompleteProduction(data).then(response => {
|
|
|
|
|
this.$modal.msgSuccess("批量完工提报成功");
|
|
|
|
|
this.batchCompleteDialogVisible = false;
|
|
|
|
|
this.getList();
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|