|
@@ -73,42 +73,42 @@
|
|
|
controls-position="right" style="width: 220px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="8">
|
|
|
+ <!-- <el-col :span="8">
|
|
|
<el-form-item label="设备:" prop="equipmentDetailId" label-width="82px">
|
|
|
<el-select-v2 v-model="form.equipmentDetailId" :disabled="true" :options="equipmentList"
|
|
|
placeholder="请选择设备" style="width: 220px">
|
|
|
</el-select-v2>
|
|
|
</el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="7">
|
|
|
- <el-form-item label="周转类型" label-width="82px">
|
|
|
- <el-select v-model="form.turnoverType" :disabled="!editStatus" placeholder="请选择周转类型" style="width: 220px;"
|
|
|
- @change="turnoverTypeChangeHandler">
|
|
|
+ </el-col> -->
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="周转类型:" label-width="82px">
|
|
|
+ <el-select v-model="form.turnoverType" :disabled="!editStatus || !isLatest" placeholder="请选择周转类型"
|
|
|
+ style="width: 220px;" @change="turnoverTypeChangeHandler">
|
|
|
<el-option v-for="dict in daywork_turnover_type" :key="dict.value" :label="dict.label"
|
|
|
:value="dict.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="9">
|
|
|
- <el-form-item label="周转工段" label-width="90px">
|
|
|
- <el-select v-model="form.deptId" :disabled="!editStatus" placeholder="请选择周转工段" style="width: 220px;"
|
|
|
- @change="deptChangeHandler">
|
|
|
+ <el-col :span="7">
|
|
|
+ <el-form-item label="周转工段:" label-width="82px">
|
|
|
+ <el-select v-model="form.deptId" :disabled="!editStatus || !isLatest" placeholder="请选择周转工段"
|
|
|
+ style="width: 220px;" @change="deptChangeHandler">
|
|
|
<el-option v-for="dict in deptList" :key="dict.detpId" :label="dict.deptName" :value="dict.deptId" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="8" v-if="form.turnoverType == '1'">
|
|
|
- <el-form-item label="周转区" label-width="82px">
|
|
|
- <el-select v-model="placeIds" :disabled="!editStatus" multiple placeholder="请选择周转区" style="width: 220px;"
|
|
|
- @change="turnoverChangeHandler">
|
|
|
+ <el-col :span="9" v-if="form.turnoverType == '1'">
|
|
|
+ <el-form-item label="周转区:" label-width="90px">
|
|
|
+ <el-select v-model="placeIds" :disabled="!editStatus || !isLatest" multiple placeholder="请选择周转区"
|
|
|
+ style="width: 220px;" @change="turnoverChangeHandler">
|
|
|
<el-option v-for="dict in turnoverList" :key="dict.id" :label="dict.code" :value="dict.id" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="8" v-else>
|
|
|
- <el-form-item label="周转区" label-width="82px">
|
|
|
- <el-select v-model="form.turnoverId" :disabled="!editStatus" placeholder="请选择周转区" style="width: 220px;"
|
|
|
- @change="workshopTurnoverChangeHandler">
|
|
|
+ <el-col :span="9" v-else>
|
|
|
+ <el-form-item label="周转区:" label-width="90px">
|
|
|
+ <el-select v-model="form.turnoverId" :disabled="!editStatus || !isLatest" placeholder="请选择周转区"
|
|
|
+ style="width: 220px;" @change="workshopTurnoverChangeHandler">
|
|
|
<el-option v-for="dict in workShopTurnoverList" :key="dict.id" :label="dict.code" :value="dict.id" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -125,7 +125,7 @@ import {
|
|
|
getProcessList,
|
|
|
getDayworkItemRejectList,
|
|
|
getDayworkItemOriginalRejectList,
|
|
|
- updateDayworkItemInfoForNum,
|
|
|
+ updateDayworkItemInfoForTurnover,
|
|
|
getEquipmentInfo,
|
|
|
getIsFirstOrder,
|
|
|
getAllWorkShop
|
|
@@ -146,6 +146,7 @@ const loading = ref(false);
|
|
|
const processList = ref([]);
|
|
|
const lotId = ref(null);
|
|
|
const equipmentList = ref([]);
|
|
|
+const isLatest = ref(false)
|
|
|
const visible = ref(false);
|
|
|
const isFirst = ref(true); //是否为首序
|
|
|
const editStatus = ref(false);
|
|
@@ -195,19 +196,20 @@ const validateQualifiedNum = (rule, value, callback) => {
|
|
|
// }
|
|
|
};
|
|
|
const validateEndTime = (rule, value, callback) => {
|
|
|
- if (form.value.status > 1) {
|
|
|
- if (form.value.endTime == null) {
|
|
|
- callback(new Error("结束时间不能为空"));
|
|
|
- } else {
|
|
|
- callback();
|
|
|
- }
|
|
|
- } else {
|
|
|
- if (form.value.endTime != null) {
|
|
|
- callback(new Error("该状态结束时间应为空"));
|
|
|
- } else {
|
|
|
- callback();
|
|
|
- }
|
|
|
- }
|
|
|
+ // if (form.value.status > 1) {
|
|
|
+ // if (form.value.endTime == null) {
|
|
|
+ // callback(new Error("结束时间不能为空"));
|
|
|
+ // } else {
|
|
|
+ // callback();
|
|
|
+ // }
|
|
|
+ // } else {
|
|
|
+ // if (form.value.endTime != null) {
|
|
|
+ // callback(new Error("该状态结束时间应为空"));
|
|
|
+ // } else {
|
|
|
+ // callback();
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ callback()
|
|
|
};
|
|
|
const validateStartTime = (rule, value, callback) => {
|
|
|
if (form.value.status > 1) {
|
|
@@ -232,8 +234,9 @@ const getWorkShopInfo = () => {
|
|
|
const setTurnoverList = () => {
|
|
|
const fromDept = allDepts.some(e => e.deptId == form.value.fromDeptId) ? allDepts.filter(e => e.deptId == form.value.fromDeptId)[0] : null
|
|
|
form.value.workshopId = fromDept != null ? fromDept.workshopId : null
|
|
|
+ // console.log(form.value.deptId, allDepts.filter(e => e.deptId == form.value.deptId))
|
|
|
const targetDept = allDepts.some(e => e.deptId == form.value.deptId) ? allDepts.filter(e => e.deptId == form.value.deptId)[0] : null
|
|
|
- console.log(form.value.workshopId)
|
|
|
+
|
|
|
const fromWorkshop = allWorkshop.some(e => e.id == form.value.workshopId) ? allWorkshop.filter(e => e.id == form.value.workshopId)[0] : null
|
|
|
// 根据form信息放置周转区等数据
|
|
|
if (form.value.turnoverType == '1') {
|
|
@@ -334,6 +337,7 @@ const open = (row) => {
|
|
|
maxQuailifiedNum.value = row.maxQuailifiedNum;
|
|
|
form.value.workHoursTimestamp = 0;
|
|
|
form.value.prodNum = row.prodNum;
|
|
|
+ isLatest.value = row.isLatest
|
|
|
// technologicalProcessId: row.technologicalProcessId
|
|
|
getProcessList({
|
|
|
technologicalProcessId: row.technologicalProcessId,
|
|
@@ -359,26 +363,26 @@ const open = (row) => {
|
|
|
}
|
|
|
);
|
|
|
//查询能够选择的设备信息
|
|
|
- let productionPlanDetailId = parseInt(row.productionPlanDetailId);
|
|
|
- getEquipmentInfo({
|
|
|
- commonCode: row.userName,
|
|
|
- productionPlanDetailId: productionPlanDetailId,
|
|
|
- dayworkItemId: row.id,
|
|
|
- deptId: row.deptId,
|
|
|
- }).then((equipmentRef) => {
|
|
|
- if (equipmentRef.code == 200) {
|
|
|
- if (equipmentRef.rows.length > 0) {
|
|
|
- equipmentList.value = equipmentRef.rows;
|
|
|
- for (let i = 0; i < equipmentList.value.length; i++) {
|
|
|
- if (row.equipmentDetailCode == equipmentList.value[i].label) {
|
|
|
- form.value.equipmentDetailId = equipmentList.value[i].value;
|
|
|
- }
|
|
|
- }
|
|
|
- } else {
|
|
|
- equipmentList.value = [];
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
+ // let productionPlanDetailId = parseInt(row.productionPlanDetailId);
|
|
|
+ // getEquipmentInfo({
|
|
|
+ // commonCode: row.userName,
|
|
|
+ // productionPlanDetailId: productionPlanDetailId,
|
|
|
+ // dayworkItemId: row.id,
|
|
|
+ // deptId: row.deptId,
|
|
|
+ // }).then((equipmentRef) => {
|
|
|
+ // if (equipmentRef.code == 200) {
|
|
|
+ // if (equipmentRef.rows.length > 0) {
|
|
|
+ // equipmentList.value = equipmentRef.rows;
|
|
|
+ // for (let i = 0; i < equipmentList.value.length; i++) {
|
|
|
+ // if (row.equipmentDetailCode == equipmentList.value[i].label) {
|
|
|
+ // form.value.equipmentDetailId = equipmentList.value[i].value;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // } else {
|
|
|
+ // equipmentList.value = [];
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // });
|
|
|
loading.value = false;
|
|
|
visible.value = true;
|
|
|
getWorkShopInfo()
|
|
@@ -431,46 +435,8 @@ const handleSave = () => {
|
|
|
rejectAmount.value = 0;
|
|
|
var reasonList = [];
|
|
|
var flag = true;
|
|
|
- for (let i = 0; i < form.value.groupRejectList.length; i++) {
|
|
|
- rejectAmount.value += form.value.groupRejectList[i].rejectNum;
|
|
|
- if (form.value.groupRejectList[i].rejectNum <= 0) {
|
|
|
- flag = false;
|
|
|
- proxy.$modal.msgError("第" + (i + 1) + "废品数应大于0");
|
|
|
- return;
|
|
|
- }
|
|
|
- if (!form.value.groupRejectList[i].reason) {
|
|
|
- flag = false;
|
|
|
- proxy.$modal.msgError("第" + (i + 1) + "行废品原因不能为空");
|
|
|
-
|
|
|
- return;
|
|
|
- }
|
|
|
- if (reasonList.indexOf(form.value.groupRejectList[i].reason) >= 0) {
|
|
|
- flag = false;
|
|
|
- proxy.$modal.msgError(
|
|
|
- "第" +
|
|
|
- (i + 1) +
|
|
|
- "行废品原因与" +
|
|
|
- (reasonList.indexOf(form.value.groupRejectList[i].reason) + 1) +
|
|
|
- "行相同"
|
|
|
- );
|
|
|
- return;
|
|
|
- }
|
|
|
- reasonList.push(form.value.groupRejectList[i].reason);
|
|
|
- }
|
|
|
- if (rejectAmount.value > form.value.prodNum) {
|
|
|
- flag = false;
|
|
|
- proxy.$modal.msgError(
|
|
|
- "废品总数不能超过投产数,当前废品总数为" + rejectAmount.value
|
|
|
- );
|
|
|
- }
|
|
|
|
|
|
form.value.workingHours = form.value.workHoursTimestamp;
|
|
|
- //设备id和code
|
|
|
- for (let i = 0; i < equipmentList.value.length; i++) {
|
|
|
- if (form.value.equipmentDetailId == equipmentList.value[i].value) {
|
|
|
- form.value.equipmentDetailCode = equipmentList.value[i].label;
|
|
|
- }
|
|
|
- }
|
|
|
if (flag) {
|
|
|
if (form.value.groupRejectList.length > 0) {
|
|
|
form.value.groupRejectList.forEach(item => {
|
|
@@ -480,19 +446,9 @@ const handleSave = () => {
|
|
|
}
|
|
|
form.value.dayworkId = detailInfo.value.dayworkId;
|
|
|
//同工序的所有合格数
|
|
|
- form.value.temporaryProcessQualifiedNum =
|
|
|
- detailInfo.value.totalQuailifiedNum + form.value.qualifiedNum;
|
|
|
- //如果状态从工序已完成改成结束报工,传给后端一个标记,如果为true,则删除中间表对应的数据
|
|
|
- if (detailInfo.value.status == 3 && form.value.status == 2) {
|
|
|
- form.value.dayworkId = detailInfo.value.dayworkId;
|
|
|
- form.value.flag = true;
|
|
|
- }
|
|
|
- let data = form.value;
|
|
|
- data.lotId = lotId.value;
|
|
|
|
|
|
const max = maxQuailifiedNum.value;
|
|
|
- let sunm =
|
|
|
- detailInfo.value.totalQuailifiedNum + form.value.qualifiedNum; //计算总合格数
|
|
|
+ let sunm = form.value.qualifiedNum
|
|
|
let num = sunm - form.value.prodNum; //多出来的数量
|
|
|
let percent = (sunm / form.value.prodNum) * 100; //合格率
|
|
|
percent = Math.ceil(percent * 100) / 100; //只入不舍
|
|
@@ -537,7 +493,8 @@ const handleSave = () => {
|
|
|
|
|
|
//页面提交方法
|
|
|
function updateDayworkItem() {
|
|
|
- updateDayworkItemInfoForNum(form.value).then((res) => {
|
|
|
+ console.log(form.value)
|
|
|
+ updateDayworkItemInfoForTurnover(form.value).then((res) => {
|
|
|
if (res.code == 200) {
|
|
|
proxy.$modal.msgSuccess("保存成功!");
|
|
|
visible.value = false;
|
|
@@ -642,11 +599,13 @@ function deptChangeHandler() {
|
|
|
|
|
|
function workshopTurnoverChangeHandler() {
|
|
|
// 区间外周转周转区变更
|
|
|
+ const turnovers = workShopTurnoverList.value.filter(t => t.id == form.value.turnoverId)
|
|
|
+ form.value.turnoverArea = turnovers.map(e => e.code).join("、")
|
|
|
}
|
|
|
|
|
|
function turnoverChangeHandler() {
|
|
|
// 区间内周转周转区变更
|
|
|
- const places = turnoverList.filter(t => placeIds.value.some(e => e == t.id))
|
|
|
+ const places = turnoverList.value.filter(t => placeIds.value.some(e => e == t.id))
|
|
|
form.value.placeId = places.map(e => e.id).join('、')
|
|
|
form.value.place = places.map(e => e.code).join('、')
|
|
|
}
|