|
@@ -1,75 +1,36 @@
|
|
|
<template>
|
|
|
<!-- 添加或修改项目信息对话框 -->
|
|
|
- <el-drawer
|
|
|
- v-model="visible"
|
|
|
- size="80%"
|
|
|
- direction="rtl"
|
|
|
- :close-on-press-escape="false"
|
|
|
- >
|
|
|
+ <el-drawer v-model="visible" size="80%" direction="rtl" :close-on-press-escape="false">
|
|
|
<div class="page-container form-container">
|
|
|
<div class="form-btns-container">
|
|
|
- <span class="title-label"
|
|
|
- ><el-icon>
|
|
|
+ <span class="title-label"><el-icon>
|
|
|
<Document />
|
|
|
</el-icon>
|
|
|
- 报工详情</span
|
|
|
- >
|
|
|
+ 报工详情</span>
|
|
|
<el-button icon="Close" @click="handleCancel">取 消 </el-button>
|
|
|
</div>
|
|
|
<!-- 主表 -->
|
|
|
- <el-form
|
|
|
- ref="dayworkItemRef"
|
|
|
- class="master-container"
|
|
|
- :model="form"
|
|
|
- :rules="rules"
|
|
|
- :show-message="true"
|
|
|
- >
|
|
|
+ <el-form ref="dayworkItemRef" class="master-container" :model="form" :rules="rules" :show-message="true">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="7">
|
|
|
<el-form-item label="开始时间:" prop="startTime">
|
|
|
- <el-date-picker
|
|
|
- v-model="form.startTime"
|
|
|
- :disabled="true"
|
|
|
- type="datetime"
|
|
|
- value-format="YYYY-MM-DD HH:mm:ss "
|
|
|
- :clearable="false"
|
|
|
- :editable="false"
|
|
|
- placeholder="请选择开始时间"
|
|
|
- @change="handleTotalTime"
|
|
|
- />
|
|
|
+ <el-date-picker v-model="form.startTime" :disabled="true" type="datetime"
|
|
|
+ value-format="YYYY-MM-DD HH:mm:ss " :clearable="false" :editable="false" placeholder="请选择开始时间"
|
|
|
+ @change="handleTotalTime" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="9">
|
|
|
- <el-form-item
|
|
|
- label="工序名称:"
|
|
|
- prop="processId"
|
|
|
- label-width="90px"
|
|
|
- >
|
|
|
- <el-select-v2
|
|
|
- v-model="form.processId"
|
|
|
- clearable
|
|
|
- :disabled="true"
|
|
|
- :options="processList"
|
|
|
- placeholder="请选择工序"
|
|
|
- style="width: 220px"
|
|
|
- />
|
|
|
+ <el-form-item label="工序名称:" prop="processId" label-width="90px">
|
|
|
+ <el-select-v2 v-model="form.processId" clearable :disabled="true" :options="processList"
|
|
|
+ placeholder="请选择工序" style="width: 220px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="生产状态:" prop="status" align="center">
|
|
|
- <el-select
|
|
|
- v-model="form.status"
|
|
|
- placeholder="请选择生产状态"
|
|
|
- :disabled="true"
|
|
|
- style="width: 220px"
|
|
|
- @change="handleChangeStatus"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="dict in dynamicOptions"
|
|
|
- :key="dict.value"
|
|
|
- :label="dict.label"
|
|
|
- :value="dict.value"
|
|
|
- ></el-option>
|
|
|
+ <el-select v-model="form.status" placeholder="请选择生产状态" :disabled="true" style="width: 220px"
|
|
|
+ @change="handleChangeStatus">
|
|
|
+ <el-option v-for="dict in dynamicOptions" :key="dict.value" :label="dict.label"
|
|
|
+ :value="dict.value"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -77,28 +38,15 @@
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="7">
|
|
|
<el-form-item label="结束时间:" prop="endTime">
|
|
|
- <el-date-picker
|
|
|
- v-model="form.endTime"
|
|
|
- :disabled="true"
|
|
|
- type="datetime"
|
|
|
- value-format="YYYY-MM-DD HH:mm:ss "
|
|
|
- :editable="false"
|
|
|
- :clearable="false"
|
|
|
- placeholder="请选择结束时间"
|
|
|
- @change="handleTotalTime"
|
|
|
- />
|
|
|
+ <el-date-picker v-model="form.endTime" :disabled="true" type="datetime"
|
|
|
+ value-format="YYYY-MM-DD HH:mm:ss " :editable="false" :clearable="false" placeholder="请选择结束时间"
|
|
|
+ @change="handleTotalTime" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="9">
|
|
|
<el-form-item label="操作者:" prop="nickName" label-width="82px">
|
|
|
- <el-input
|
|
|
- v-model.trim="form.nickName"
|
|
|
- placeholder="请输入操作者"
|
|
|
- :disabled="true"
|
|
|
- readonly
|
|
|
- :clearable="true"
|
|
|
- style="width: 220px; margin-left: 8px"
|
|
|
- >
|
|
|
+ <el-input v-model.trim="form.nickName" placeholder="请输入操作者" :disabled="true" readonly :clearable="true"
|
|
|
+ style="width: 220px; margin-left: 8px">
|
|
|
<template #append>
|
|
|
<el-button icon="Search" @click="handleSelectUserSingle" />
|
|
|
</template>
|
|
@@ -107,59 +55,27 @@
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="投产量:" prop="prodNum" label-width="82px">
|
|
|
- <el-input-number
|
|
|
- v-model.trim="form.prodNum"
|
|
|
- :disabled="true"
|
|
|
- :precision="0"
|
|
|
- controls-position="right"
|
|
|
- style="width: 220px"
|
|
|
- />
|
|
|
+ <el-input-number v-model.trim="form.prodNum" :disabled="true" :precision="0" controls-position="right"
|
|
|
+ style="width: 220px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="7">
|
|
|
- <el-form-item
|
|
|
- label="总工时:"
|
|
|
- prop="workingHoursTime"
|
|
|
- label-width="82px"
|
|
|
- >
|
|
|
- <el-input
|
|
|
- v-model.trim="workingHoursTime"
|
|
|
- :disabled="true"
|
|
|
- style="width: 220px; margin-left: 0px"
|
|
|
- />
|
|
|
+ <el-form-item label="总工时:" prop="workingHoursTime" label-width="82px">
|
|
|
+ <el-input v-model.trim="workingHoursTime" :disabled="true" style="width: 220px; margin-left: 0px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="9">
|
|
|
- <el-form-item
|
|
|
- label="合格数:"
|
|
|
- prop="qualifiedNum"
|
|
|
- label-width="90px"
|
|
|
- style="padding-right: 0px"
|
|
|
- >
|
|
|
- <el-input-number
|
|
|
- v-model.trim="form.qualifiedNum"
|
|
|
- :disabled="true"
|
|
|
- :precision="0"
|
|
|
- controls-position="right"
|
|
|
- style="width: 220px"
|
|
|
- />
|
|
|
+ <el-form-item label="合格数:" prop="qualifiedNum" label-width="90px" style="padding-right: 0px">
|
|
|
+ <el-input-number v-model.trim="form.qualifiedNum" :disabled="true" :precision="0"
|
|
|
+ controls-position="right" style="width: 220px" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<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-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>
|
|
@@ -171,87 +87,40 @@
|
|
|
</el-form>
|
|
|
<!-- 列表区 -->
|
|
|
<div class="el-table-container">
|
|
|
- <el-table
|
|
|
- ref="dayworkItemRejectTable"
|
|
|
- v-loading="loading"
|
|
|
- row-key="id"
|
|
|
- :data="form.groupRejectList"
|
|
|
- height="100%"
|
|
|
- >
|
|
|
+ <el-table ref="dayworkItemRejectTable" v-loading="loading" row-key="id" :data="form.groupRejectList"
|
|
|
+ height="100%">
|
|
|
<el-table-column type="index" label="行号" width="60" align="center">
|
|
|
<template #default="scope">
|
|
|
{{ scope.$index + 1 }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="type"
|
|
|
- label="分选检查类型"
|
|
|
- align="center"
|
|
|
- width="150px"
|
|
|
- >
|
|
|
+ <el-table-column prop="type" label="分选检查类型" align="center" width="150px">
|
|
|
<template #default="scope">
|
|
|
- <el-select
|
|
|
- v-model="scope.row.type"
|
|
|
- :disabled="true"
|
|
|
- placeholder="请选择分选检查类型"
|
|
|
- @change="(arg) => handleChangeType(scope.row, arg)"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="cause in sort_standard_type"
|
|
|
- :key="cause.value"
|
|
|
- :label="cause.label"
|
|
|
- :value="cause.value"
|
|
|
- ></el-option>
|
|
|
+ <el-select v-model="scope.row.type" :disabled="true" placeholder="请选择分选检查类型"
|
|
|
+ @change="(arg) => handleChangeType(scope.row, arg)">
|
|
|
+ <el-option v-for="cause in sort_standard_type" :key="cause.value" :label="cause.label"
|
|
|
+ :value="cause.value"></el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- prop="sortStandard"
|
|
|
- label="分选检查标准"
|
|
|
- align="center"
|
|
|
- width="300px"
|
|
|
- >
|
|
|
+ <el-table-column prop="sortStandard" label="分选检查标准" align="center" width="300px">
|
|
|
<template #default="scope">
|
|
|
- <el-select
|
|
|
- v-model="scope.row.sortStandard"
|
|
|
- :disabled="true"
|
|
|
- placeholder="请选择分选检查标准"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="cause in scope.row.standardList"
|
|
|
- :key="cause.value"
|
|
|
- :label="cause.label"
|
|
|
- :value="cause.value"
|
|
|
- ></el-option>
|
|
|
+ <el-select v-model="scope.row.sortStandard" :disabled="true" placeholder="请选择分选检查标准">
|
|
|
+ <el-option v-for="cause in scope.row.standardList" :key="cause.value" :label="cause.label"
|
|
|
+ :value="cause.value"></el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="reason" label="检查结果" align="center">
|
|
|
<template #default="scope">
|
|
|
- <el-input
|
|
|
- v-model.trim="scope.row.reason"
|
|
|
- placeholder="请输入检查结果"
|
|
|
- :disabled="true"
|
|
|
- :clearable="true"
|
|
|
- style="margin-left: 8px"
|
|
|
- />
|
|
|
+ <el-input v-model.trim="scope.row.reason" placeholder="请输入检查结果" :disabled="true" :clearable="true"
|
|
|
+ style="margin-left: 8px" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column
|
|
|
- label="废品数量"
|
|
|
- width="200px"
|
|
|
- prop="rejectNum"
|
|
|
- align="center"
|
|
|
- >
|
|
|
+ <el-table-column label="废品数量" width="200px" prop="rejectNum" align="center">
|
|
|
<template #default="scope">
|
|
|
- <el-input-number
|
|
|
- v-model.trim="scope.row.rejectNum"
|
|
|
- placeholder="废品数量"
|
|
|
- :disabled="true"
|
|
|
- :precision="0"
|
|
|
- :min="0"
|
|
|
- controls-position="right"
|
|
|
- />
|
|
|
+ <el-input-number v-model.trim="scope.row.rejectNum" placeholder="废品数量" :disabled="true" :precision="0"
|
|
|
+ :min="0" controls-position="right" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -277,6 +146,7 @@ const { daywork_status_edit } = proxy.useDict("daywork_status_edit");
|
|
|
const { daywork_status_first } = proxy.useDict("daywork_status_first");
|
|
|
const { daywork_status_second } = proxy.useDict("daywork_status_second");
|
|
|
const { sort_standard_type } = proxy.useDict("sort_standard_type");
|
|
|
+const { sort_report_up_limit } = proxy.useDict("sort_report_up_limit")
|
|
|
const detailInfo = ref({});
|
|
|
const loading = ref(false);
|
|
|
const processList = ref([]);
|
|
@@ -487,7 +357,7 @@ function close() {
|
|
|
visible.value = false;
|
|
|
}
|
|
|
|
|
|
-function handleSelectUserSingle() {}
|
|
|
+function handleSelectUserSingle() { }
|
|
|
|
|
|
/** 表单重置 */
|
|
|
function reset() {
|
|
@@ -552,11 +422,11 @@ const handleSave = () => {
|
|
|
flag = false;
|
|
|
proxy.$modal.msgError(
|
|
|
"第" +
|
|
|
- (i + 1) +
|
|
|
- "行分选检查标准与" +
|
|
|
- (reasonList.indexOf(form.value.groupRejectList[i].sortStandard) +
|
|
|
- 1) +
|
|
|
- "行相同"
|
|
|
+ (i + 1) +
|
|
|
+ "行分选检查标准与" +
|
|
|
+ (reasonList.indexOf(form.value.groupRejectList[i].sortStandard) +
|
|
|
+ 1) +
|
|
|
+ "行相同"
|
|
|
);
|
|
|
return;
|
|
|
}
|
|
@@ -619,10 +489,10 @@ const handleSave = () => {
|
|
|
proxy.$modal
|
|
|
.confirm(
|
|
|
"合格数为投产量" +
|
|
|
- percent +
|
|
|
- "%,超出投产量" +
|
|
|
- num +
|
|
|
- "。 是否继续保存!"
|
|
|
+ percent +
|
|
|
+ "%,超出投产量" +
|
|
|
+ num +
|
|
|
+ "。 是否继续保存!"
|
|
|
)
|
|
|
.then(function () {
|
|
|
updateDayworkItem();
|
|
@@ -637,8 +507,9 @@ const handleSave = () => {
|
|
|
if (form.value.qualifiedNum <= max) {
|
|
|
updateDayworkItem();
|
|
|
} else {
|
|
|
+ const upLimit = sort_report_up_limit.value[0].value
|
|
|
proxy.$modal.msgError(
|
|
|
- "合格数不能超过投产量的103%,最大合格数为" + max
|
|
|
+ `合格数不能超过投产量的${upLimit}%,最大合格数为` + max
|
|
|
);
|
|
|
}
|
|
|
}
|