工艺测试问题修改

dev-scheduling
zhangdi 4 weeks ago
parent 56d1525361
commit 71bef1df67
  1. 8
      src/api/processManagement/basicProcesses.js
  2. 14
      src/views/processManagement/basicProcesses.vue
  3. 86
      src/views/processManagement/components/addBasicProcessesDialog.vue
  4. 90
      src/views/processManagement/components/inPlantMaintenance.vue
  5. 176
      src/views/processManagement/components/inPlantProcessHandle.vue
  6. 4
      src/views/processManagement/components/processMainte/dsPartBasicInfo.vue
  7. 3
      src/views/processManagement/inPlantProcess.vue

@ -22,6 +22,14 @@ export const add = row => {
}); });
}; };
export const update = row => {
return request({
url: '/blade-desk/bsProcessSet/update',
method: 'post',
data: row,
});
};
// 详情 // 详情
export const getDetail = id => { export const getDetail = id => {

@ -18,8 +18,8 @@
<el-button type="primary" @click="addFn">新增</el-button> <el-button type="primary" @click="addFn">新增</el-button>
</template> </template>
<template #menu="scope"> <template #menu="scope">
<!-- <el-button type="text" @click="editFn(scope.row)"> 编辑</el-button> -->
<el-button type="text" @click="detailsFn(scope.row)"> 详情</el-button> <el-button type="text" @click="detailsFn(scope.row)"> 详情</el-button>
<el-button type="text" @click="editFn(scope.row)"> 修改</el-button>
<!-- 是否展示 --> <!-- 是否展示 -->
<el-button type="text" v-if="scope.row.isSpecial == 1" @click="setCrew(scope.row)"> <el-button type="text" v-if="scope.row.isSpecial == 1" @click="setCrew(scope.row)">
设置班组</el-button 设置班组</el-button
@ -79,6 +79,7 @@
@closeDialog="closeDialog" @closeDialog="closeDialog"
:title="openTitle" :title="openTitle"
:id="rowId" :id="rowId"
:rowData="rowData"
></addBasicProcessesDialog> ></addBasicProcessesDialog>
<!-- 导入 --> <!-- 导入 -->
@ -143,7 +144,7 @@ export default {
editBtnIcon: ' ', editBtnIcon: ' ',
viewBtnText: '详情', viewBtnText: '详情',
// labelWidth: 120, // labelWidth: 120,
menuWidth: 140, menuWidth: 160,
dialogWidth: 840, dialogWidth: 840,
dialogClickModal: false, dialogClickModal: false,
searchEnter: true, searchEnter: true,
@ -335,6 +336,7 @@ export default {
isAddOpen: false, isAddOpen: false,
openTitle: '', openTitle: '',
rowId: '', rowId: '',
rowData:{}
}; };
}, },
@ -349,6 +351,14 @@ export default {
this.isAddOpen = true; this.isAddOpen = true;
this.openTitle = '新增'; this.openTitle = '新增';
}, },
//
editFn(row) {
this.isAddOpen = true;
this.openTitle = '修改';
row.isCheckout = row.isCheckout + '';
this.rowId = row.id;
},
closeDialog(isRefresh) { closeDialog(isRefresh) {
this.isAddOpen = false; this.isAddOpen = false;
this.isShowImport = false; this.isShowImport = false;

@ -1,11 +1,5 @@
<template> <template>
<el-dialog <el-dialog :title="title" append-to-body :modelValue="openShow" width="40%" @close="closeDialog">
:title="title"
append-to-body
:modelValue="openShow"
width="40%"
@close="closeDialog"
>
<el-form <el-form
:model="ruleForm" :model="ruleForm"
:rules="rules" :rules="rules"
@ -44,15 +38,15 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="检验工序:" prop="isCheckout"> <el-form-item label="检验工序:" prop="isCheckout">
<el-select v-model="ruleForm.isCheckout" placeholder="请选择" clearable filterable :disabled="disableFrom"> <el-select
<el-option v-model="ruleForm.isCheckout"
label="是" placeholder="请选择"
value="1"> clearable
</el-option> filterable
<el-option :disabled="disableFrom"
label="否" >
value="0"> <el-option label="是" value="1"> </el-option>
</el-option> <el-option label="否" value="0"> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -170,7 +164,7 @@
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import { add, getDetail } from "@/api/processManagement/basicProcesses"; import { add, getDetail, update } from '@/api/processManagement/basicProcesses';
export default { export default {
props: { props: {
showDialog: { showDialog: {
@ -183,11 +177,15 @@ export default {
}, },
title: { title: {
type: String, type: String,
default: "", default: '',
}, },
id: { id: {
type: String, type: String,
default: "", default: '',
},
rowData: {
type: Object,
default: () => ({}),
}, },
}, },
data() { data() {
@ -199,50 +197,68 @@ export default {
cycle: 0, cycle: 0,
}, },
rules: { rules: {
code: [{ required: true, message: "请输入", trigger: "blur" }], code: [{ required: true, message: '请输入', trigger: 'blur' }],
name: [{ required: true, message: "请输入", trigger: "blur" }], name: [{ required: true, message: '请输入', trigger: 'blur' }],
cycle: [{ required: true, message: "请输入", trigger: "blur" }], cycle: [{ required: true, message: '请输入', trigger: 'blur' }],
isCheckout: [{ required: true, message: "请选择", trigger: "change" }] isCheckout: [{ required: true, message: '请选择', trigger: 'change' }],
}, },
}; };
}, },
mounted() { mounted() {
this.openShow = this.showDialog; this.openShow = this.showDialog;
this.disableFrom = this.title == "新增" ? false : true; this.disableFrom = this.title == '详情' ? true : false;
if (this.title == "详情") { if (this.title == '详情' || this.title == '修改') {
getDetail(this.id).then((res) => { getDetail(this.id).then(res => {
this.ruleForm = res.data.data; this.ruleForm = res.data.data;
this.ruleForm.isCheckout = this.ruleForm.isCheckout == -1 ? '' : this.ruleForm.isCheckout+'' this.ruleForm.isCheckout =
this.ruleForm.isCheckout == -1 ? '' : this.ruleForm.isCheckout + '';
}); });
} }
}, },
methods: { methods: {
closeDialog() { closeDialog() {
this.openShow = false; this.openShow = false;
this.$emit("closeDialog"); this.$emit('closeDialog');
}, },
detailsInfo() {}, detailsInfo() {},
submit() { submit() {
this.$refs.ruleForm.validate((valid) => { this.$refs.ruleForm.validate(valid => {
if (valid) { if (valid) {
console.log(9999, this.ruleForm); console.log(9999, this.ruleForm);
if (this.title == '新增') {
add(this.ruleForm).then( add(this.ruleForm).then(
(res) => { res => {
//
this.$message({
type: 'success',
message: '操作成功!',
});
//
this.$emit('closeDialog', true);
},
error => {
// loading();
}
);
} else {
update(this.ruleForm).then(
res => {
// //
this.$message({ this.$message({
type: "success", type: 'success',
message: "操作成功!", message: '操作成功!',
}); });
// //
this.$emit("closeDialog", true); this.$emit('closeDialog', true);
}, },
(error) => { error => {
// loading(); // loading();
} }
); );
}
} else { } else {
console.log("error submit!!"); console.log('error submit!!');
return false; return false;
} }
}); });

@ -28,6 +28,11 @@
<template #menu="scope"> <template #menu="scope">
<el-button type="text" @click="handleEdit(scope.row)">修改 </el-button> <el-button type="text" @click="handleEdit(scope.row)">修改 </el-button>
</template> </template>
<template #fileUrls="scope">
<el-button v-if="scope.row.fileUrl != null&&scope.row.fileUrl != ''" type="text" @click="uploadUrl(scope.row)" >
下载</el-button
>
</template>
</avue-crud> </avue-crud>
<!-- 导入 --> <!-- 导入 -->
<basic-import <basic-import
@ -41,8 +46,14 @@
></basic-import> ></basic-import>
<!-- 新增 --> <!-- 新增 -->
<addinPlantMaintenanceDialog v-if="showAddDialog" :showDialog="showAddDialog" :moldAddMore="moldAddMore" @closeDialog="closeAddDialog" :itemData="itemData" :title="title"></addinPlantMaintenanceDialog> <addinPlantMaintenanceDialog
v-if="showAddDialog"
:showDialog="showAddDialog"
:moldAddMore="moldAddMore"
@closeDialog="closeAddDialog"
:itemData="itemData"
:title="title"
></addinPlantMaintenanceDialog>
</div> </div>
</template> </template>
<script> <script>
@ -58,7 +69,7 @@ import addinPlantMaintenanceDialog from './addinPlantMaintenanceDialog.vue';
export default { export default {
components: { components: {
basicImport, basicImport,
addinPlantMaintenanceDialog addinPlantMaintenanceDialog,
}, },
data() { data() {
return { return {
@ -159,10 +170,9 @@ export default {
value: 'id', value: 'id',
res: 'data.records', res: 'data.records',
}, },
change: (val) =>{ change: val => {
this.equipmentChange(val.item,'equipmentId') this.equipmentChange(val.item, 'equipmentId');
}, },
}, },
{ {
label: '产线', label: '产线',
@ -177,8 +187,6 @@ export default {
clearable: true, clearable: true,
addDisplay: false, addDisplay: false,
editDisplay: false, editDisplay: false,
}, },
{ {
label: '确认名称', label: '确认名称',
@ -278,6 +286,36 @@ export default {
}, },
], ],
}, },
{
label: '状态',
prop: 'syncStatu',
search: false,
sortable: true,
filter: true,
span: 12,
headerAlign: 'center',
align: 'left',
type: 'select',
dicData: [
{
label: '未同步',
value: '0',
},
{
label: '已同步',
value: '1',
},
],
},
{
label: '文件',
prop: 'fileUrls',
search: false,
sortable: true,
span: 12,
headerAlign: 'center',
align: 'left',
},
{ {
label: '备注', label: '备注',
prop: 'remarks', prop: 'remarks',
@ -299,33 +337,36 @@ export default {
query: {}, query: {},
loading: false, loading: false,
itemData: [], itemData: [],
title:'新增' title: '新增',
}; };
}, },
methods: { methods: {
uploadUrl(row) {
window.open(row.fileUrl);
},
handleEdit(row) { handleEdit(row) {
this.title = '修改' this.title = '修改';
this.showAddDialog = true this.showAddDialog = true;
this.moldAddMore = false this.moldAddMore = false;
row.proMan=row.proMan.toString() row.proMan = row.proMan.toString();
row.equipmentId=row.equipmentId.toString() row.equipmentId = row.equipmentId.toString();
this.itemData = [row] this.itemData = [row];
}, },
handleAdd() { handleAdd() {
this.title = '新增' this.title = '新增';
this.showAddDialog = true this.showAddDialog = true;
this.moldAddMore = true this.moldAddMore = true;
}, },
closeAddDialog() { closeAddDialog() {
this.showAddDialog = false this.showAddDialog = false;
this.isShowImport = false this.isShowImport = false;
this.onLoad(this.page,this.query) this.onLoad(this.page, this.query);
}, },
equipmentChange(val, type) { equipmentChange(val, type) {
console.log(val,'val') console.log(val, 'val');
if (val && type == 'equipmentId') { if (val && type == 'equipmentId') {
this.form.equipmentName = val.deviceName this.form.equipmentName = val.deviceName;
this.form.equipmentCode = val.deviceCode this.form.equipmentCode = val.deviceCode;
} }
}, },
// //
@ -409,7 +450,6 @@ export default {
// //
done(); done();
this.onLoad(this.page, this.query); this.onLoad(this.page, this.query);
}); });
}, },
// //

@ -1,56 +1,41 @@
<template> <template>
<el-dialog title="处理" append-to-body :modelValue="openShow" width="70%" @close="closeDialog"> <el-dialog title="处理" append-to-body :modelValue="openShow" width="35%" @close="closeDialog">
<!-- 单个 Form 包裹整个表格 --> <!-- 单个 Form 包裹整个表格 -->
<el-form ref="tableForm" :model="form" :rules="formRules" label-width="0px"> <avue-form
<el-form-item label="备注:" label-width="60px"> ref="form"
<el-input v-model="form.fillMemo" type="textarea" :rows="3" style="width:50%" /> :option="fileOption"
</el-form-item> v-model="fileForm"
<div style="margin-bottom: 12px" v-if="moldAddMore"> :upload-after="uploadAfter"
<el-button type="primary" @click="addTable">插入一行</el-button> :upload-exceed="uploadExceed"
<el-button type="danger" @click="delTable">删除选中行</el-button> :upload-delete="uploadDelete"
</div> >
<!-- 全局错误提示 --> </avue-form>
<div v-if="formError" class="error-message" style="color: #f56c6c; margin-bottom: 10px"> <!-- <el-form ref="tableForm" :model="form" :rules="formRules" label-width="0px">
{{ formError }} <el-form-item label="上传文件:" label-width="100px" prop="fileUrl">
</div> <el-upload
class="upload-demo"
<el-table :data="form.tableData" @select="selectChange" border> action="/api/blade-resource/oss/endpoint/put-file-attach"
<el-table-column type="selection" width="55"></el-table-column> :on-success="handleSuccess"
:on-remove="handleRemove"
<!-- 作业中心绑定数组字段 --> multiple
<el-table-column align="center" label="事项"> :limit="1"
<template #header> :on-exceed="handleExceed"
<span><i style="color: red">*</i>事项</span> :file-list="fileList"
</template> accept=".rar,.zip,.doc,.docx,.pdf,.jpg"
<template #default="scope">
<!-- prop 格式数组名[索引].字段名 -->
<el-form-item :prop="`tableData[${scope.$index}].matter`" :rules="formRules.matter">
<el-input
v-model="scope.row.matter"
placeholder="请输入"
style="width: 100%" style="width: 100%"
></el-input> >
<div>
<el-button type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">支持扩展名 .doc .docx .pdf .jpg</div>
</div>
</el-upload>
</el-form-item> </el-form-item>
</template> <el-form-item label="描述:" label-width="60px">
</el-table-column> <el-input v-model="form.fillMemo" type="textarea" :rows="3" style="width: 100%" />
<!-- 描述 -->
<el-table-column align="center" label="描述">
<template #header>
<span><i style="color: red">*</i>描述</span>
</template>
<template #default="scope">
<el-form-item :prop="`tableData[${scope.$index}].process`" :rules="formRules.process">
<el-input
v-model="scope.row.process"
placeholder="请输入"
style="width: 100%"
></el-input>
</el-form-item> </el-form-item>
</template>
</el-table-column>
</el-table> </el-form> -->
</el-form>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
@ -74,6 +59,7 @@ export default {
}, },
data() { data() {
return { return {
fileList: [], //
openShow: false, openShow: false,
wcData: [], wcData: [],
formError: '', // formError: '', //
@ -85,6 +71,7 @@ export default {
// //
formRules: { formRules: {
fileUrl: [{ required: true, message: '请上传文件', trigger: ['change', 'submit'] }],
// 1 // 1
tableData: [ tableData: [
{ {
@ -111,6 +98,42 @@ export default {
// preserveContent // preserveContent
process: [{ required: true, message: '请输入', trigger: ['blur', 'submit'] }], process: [{ required: true, message: '请输入', trigger: ['blur', 'submit'] }],
}, },
attachLink: '',
fileForm: {},
fileOption: {
submitBtn: false,
emptyBtn: false,
column: [
{
label: '资料上传',
prop: 'excelFile',
type: 'upload',
// drag: true,
loadText: '附件上传中,请稍等',
span: 24,
limit: 1,
fileSize: 10000,
propsHttp: {
res: "data",
},
tip: '不能上传 附件,且不超过 10M',
action: '/api/blade-resource/oss/endpoint/put-file-attach',
rules: [
{
required: true,
message: '请上传文件',
trigger: 'blur',
},
],
},
{
label: '描述:',
prop: 'fillMemo',
type: 'textarea',
span: 24,
},
],
},
}; };
}, },
mounted() { mounted() {
@ -123,6 +146,17 @@ export default {
} }
}, },
methods: { methods: {
uploadExceed(limit, files, fileList, column) {
this.$message.error('最多只能上传一个文件');
},
uploadAfter(res, done, loading, column) {
this.attachLink = res.link;
this.fileForm.excelFile = [res.link];
done();
},
uploadDelete(file, column) {
// this.fileForm.excelFile = [];
},
selectChange(list, row) { selectChange(list, row) {
row._select = !row._select; row._select = !row._select;
}, },
@ -152,51 +186,23 @@ export default {
// //
submitForm() { submitForm() {
this.formError = ''; console.log(this.fileForm, this.attachLink, 'fileForm');
this.$refs.form.validate((valid, done, msg) => {
// Form if (valid) {
this.$refs.tableForm.validate(async (isValid, invalidFields) => {
if (!isValid) {
//
this.formError = '存在未完善的字段,请检查表格中的红色提示';
this.$nextTick(() => {
//
const firstError = document.querySelector('.el-form-item.is-error');
if (firstError) {
firstError.scrollIntoView({ behavior: 'smooth', block: 'center' });
}
});
return;
}
//
const submitData = this.form.tableData.map(row => {
const { _select, ...validData } = row; //
return validData;
});
//
try {
let query = { let query = {
fillingDetailList: submitData,
tbId: this.rowData.id, tbId: this.rowData.id,
deleteIds: [], fileUrl: this.attachLink,
fillMemo: '', fillMemo: this.fileForm.fillMemo,
}; };
submitBatchData(query).then(res => { submitBatchData(query).then(res => {
this.$message.success('提交成功'); this.$message.success('提交成功');
this.closeDialog(); this.closeDialog();
this.$emit('submitSuccess', submitData); this.$emit('submitSuccess', submitData);
}); });
done();
// } else {
// this.$message.success(''); console.log('error submit!!');
// this.closeDialog(); return false;
// this.$emit('submitSuccess', submitData);
} catch (err) {
this.$message.error(err);
// console.error('', err);
} }
}); });
}, },

@ -107,7 +107,7 @@
<el-col :span="6"> <el-col :span="6">
<el-form-item label="镀层厚度2:" prop="plateThickness"> <el-form-item label="镀层厚度2:" prop="plateThickness">
<el-input v-model="formData.plateThickness" placeholder="请输入" /> <el-input v-model="formData.plateThicknessTwo" placeholder="请输入" />
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -932,6 +932,7 @@ export default {
if (this.formData.plateCode || this.formData.plateThickness) { if (this.formData.plateCode || this.formData.plateThickness) {
if (!this.formData.plateGoodsCode) { if (!this.formData.plateGoodsCode) {
isReturn = true; isReturn = true;
this.submitLoading = false
} }
} }
if (isReturn && this.notSinTer) { if (isReturn && this.notSinTer) {
@ -944,6 +945,7 @@ export default {
this.formData.tsbNum === null && this.formData.tsbNum === null &&
this.formData.tjtNum === null this.formData.tjtNum === null
) { ) {
this.submitLoading = false; this.submitLoading = false;
return this.$message.warning('一级路线包含涂色,请填写涂色数据'); return this.$message.warning('一级路线包含涂色,请填写涂色数据');
} }

@ -164,6 +164,9 @@ export default {
sortable: true, sortable: true,
filter: true, filter: true,
span: 12, span: 12,
type: 'date',
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
headerAlign: 'center', headerAlign: 'center',
align: 'center', align: 'center',
width: 150, width: 150,

Loading…
Cancel
Save