Commit 3f9c89be authored by 李驰骋's avatar 李驰骋

打样申请添加工序检验项、工装夹具关闻

parent 351e3a31
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
v-if="showFlag" v-if="showFlag"
:visible.sync="showFlag" :visible.sync="showFlag"
:modal="true" :modal="true"
width="80%" width="700"
center center
> >
<el-form <el-form
......
...@@ -359,7 +359,7 @@ export default { ...@@ -359,7 +359,7 @@ export default {
.then(() => { .then(() => {
this.loading = false; this.loading = false;
this.$modal.msgSuccess("提交成功!"); this.$modal.msgSuccess("提交成功!");
getFormInfo(); this.getFormInfo();
}) })
.catch(() => { .catch(() => {
this.loading = false; this.loading = false;
......
<template>
<div class="process-prod">
<!-- 设置检验项弹窗 -->
<el-dialog
:visible.sync="showProcessProd"
width="800px"
:before-close="beforeClose"
append-to-body
title="设置检验项"
>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新增</el-button
>
</el-col>
</el-row>
<el-table :data="tableData">
<el-table-column label="检测项编码" align="center" prop="indexCode" />
<el-table-column label="检测项名称" align="center" prop="indexName" />
<el-table-column label="检测项类型" align="center" prop="indexType">
<template slot-scope="scope">
<dict-tag :options="dict.type.mes_index_type" :value="scope.row.indexType"/>
</template>
</el-table-column>
<el-table-column label="检测工具" align="center" prop="qcTool" />
<el-table-column label="备注" prop="remark" align="center" />
<el-table-column label="操作" align="center" width="150">
<template slot-scope="{ row, $index }">
<el-button
type="text"
icon="el-icon-edit"
size="small"
@click="updateRow(row, $index)"
>修改</el-button
>
<el-button
type="text"
icon="el-icon-delete"
size="small"
@click="deleteRow($index)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<div slot="footer">
<el-button type="primary" size="small" @click="cancleConnect"
>关闭</el-button
>
</div>
</el-dialog>
<!-- 编辑检验项关联信息 -->
<el-dialog
:visible.sync="editConnectVisible"
width="800px"
title="编辑检验项关联信息"
>
<el-form ref="form" :model="form" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item label="检测项编码" prop="indexCode" >
<el-input v-model="form.indexCode" placeholder="请选择测项编码"
readonly>
<el-button
slot="append"
icon="el-icon-search"
@click="$refs['QcindexSelectRef'].showFlag = true"
></el-button>
</el-input>
<QcindexSelect ref="QcindexSelectRef" @onSelected="onQcindexSelect" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" :rows="3"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer">
<el-button type="primary" size="small" @click="addOrEditubmit"
>确认</el-button
>
<el-button size="small" @click="editConnectVisible = false"
>取消</el-button
>
</div>
</el-dialog>
</div>
</template>
<script>
import QcindexSelect from "@/components/qcindexSelect/single.vue";
export default {
props: {
process: {
type: Object,
default: () => ({}),
},
},
components: { QcindexSelect },
dicts: ['mes_index_type'],
data() {
return {
form: {
indexCode: "",
indexName: "",
indexType: "",
qcTool:"",
qcindexId:"",
remark: "",
},
currentRowIdx: undefined,
tableData: [],
selectedItemId: undefined,
selectedRows: null,
showFlag: false,
optType:null,
showProcessProd: false,
editConnectVisible: false,
};
},
computed: {
title() {
return "设置" + this.process.itemName + "检验项";
},
},
watch: {
process: {
handler(val) {
this.tableData = val.qcindexList;
},
deep: true,
},
},
methods: {
handleRowChange(row) {
if (row) {
this.selectedRows = row;
}
},
handleRowDbClick(row) {
if (row) {
this.selectedRows = row;
this.tableData.unshift(this.selectedRows);
this.showFlag = false;
}
},
/**新增按钮 */
handleAdd() {
this.resetForm();
this.optType='add';
this.editConnectVisible = true;
},
/**编辑 */
updateRow(row, idx) {
this.resetForm();
Object.assign(this.form, row);
this.currentRowIdx = idx;
this.optType='edit';
this.editConnectVisible = true;
},
/**新增 */
configmSelect() {
if (this.form.indexCode == null || this.form.indexCode == 0) {
return;
}
this.tableData.unshift({
...this.form,
processId: this.process.processId,
});
this.editConnectVisible = false;
},
/** 提交编辑关联信息 */
submitEditConnect() {
this.tableData.splice(this.currentRowIdx, 1, {
...this.form,
});
this.editConnectVisible = false;
},
addOrEditubmit(){
if(this.optType=='add'){
this.configmSelect();
}else{
this.submitEditConnect();
}
},
deleteRow(index) {
this.tableData.splice(index, 1);
},
cancleConnect() {
this.$emit("updateQcindex", this.tableData);
this.showProcessProd = false;
},
beforeClose(done) {
// 更新父组件的processItemList
this.$emit("updateQcindex", this.tableData);
done();
},
/**重置表单 */
resetForm() {
this.form = {
indexCode: "",
indexName: "",
indexType: "",
qcTool:"",
qcindexId:"",
remark: "",
};
},
onQcindexSelect(row){
if (row != undefined && row != null) {
this.form.indexCode = row.indexCode;
this.form.indexName = row.indexName;
this.form.qcTool = row.qcTool;
this.form.qcindexId = row.indexId;
}
}
},
};
</script>
<style>
.process-prod {
padding: 0 20px;
}
</style>
<template>
<div class="process-prod">
<!-- 设置工装量具弹窗 -->
<el-dialog
:visible.sync="showProcessProd"
width="800px"
:before-close="beforeClose"
append-to-body
title="设置工装量具"
>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
>新增</el-button
>
</el-col>
</el-row>
<el-table :data="tableData">
<el-table-column label="编号" align="center" prop="toolCode" >
</el-table-column>
<el-table-column label="名称" align="center" prop="toolName" :show-overflow-tooltip="true">
</el-table-column>
<el-table-column label="品牌" align="center" prop="brand" :show-overflow-tooltip="true"/>
<el-table-column label="型号" align="center" prop="spec" :show-overflow-tooltip="true"/>
<el-table-column label="类型" align="center" prop="toolTypeName" />
<el-table-column label="要求数量" align="center" prop="quantity" />
<el-table-column label="备注" prop="remark" align="center" />
<el-table-column label="操作" align="center" width="150">
<template slot-scope="{ row, $index }">
<el-button
type="text"
icon="el-icon-edit"
size="small"
@click="updateRow(row, $index)"
>修改</el-button
>
<el-button
type="text"
icon="el-icon-delete"
size="small"
@click="deleteRow($index)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<div slot="footer">
<el-button type="primary" size="small" @click="cancleConnect"
>关闭</el-button
>
</div>
</el-dialog>
<!-- 编辑工装量具关联信息 -->
<el-dialog
:visible.sync="editConnectVisible"
width="800px"
title="编辑工装量具关联信息"
>
<el-form ref="form" :model="form" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item label="工装量具编码" prop="toolCode" >
<el-input v-model="form.toolCode" placeholder="请选择测项编码"
readonly>
<el-button
slot="append"
icon="el-icon-search"
@click="$refs['TmToolSelectRef'].showFlag = true"
></el-button>
</el-input>
<TmToolSelect ref="TmToolSelectRef" @onSelected="onTmToolSelect" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="要求数量" prop="quantity">
<el-input
type="number"
v-model="form.quantity"
placeholder="请输入要求数量"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" :rows="3"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer">
<el-button type="primary" size="small" @click="addOrEditubmit"
>确认</el-button
>
<el-button size="small" @click="editConnectVisible = false"
>取消</el-button
>
</div>
</el-dialog>
</div>
</template>
<script>
import TmToolSelect from "@/components/TmTool/index.vue";
export default {
props: {
process: {
type: Object,
default: () => ({}),
},
},
components: { TmToolSelect },
dicts: ['mes_index_type'],
data() {
return {
form: {
toolCode: "",
toolName: "",
brand: "",
spec:"",
toolTypeName:"",
remark: "",
quantity: "",
toolId:"",
},
currentRowIdx: undefined,
tableData: [],
selectedItemId: undefined,
selectedRows: null,
showFlag: false,
optType:null,
showProcessProd: false,
editConnectVisible: false,
};
},
computed: {
title() {
return "设置" + this.process.itemName + "工装量具";
},
},
watch: {
process: {
handler(val) {
this.tableData = val.toolList;
},
deep: true,
},
},
methods: {
handleRowChange(row) {
if (row) {
this.selectedRows = row;
}
},
handleRowDbClick(row) {
if (row) {
this.selectedRows = row;
this.tableData.unshift(this.selectedRows);
this.showFlag = false;
}
},
/**新增按钮 */
handleAdd() {
this.resetForm();
this.optType='add';
this.editConnectVisible = true;
},
/**编辑 */
updateRow(row, idx) {
this.resetForm();
Object.assign(this.form, row);
this.currentRowIdx = idx;
this.optType='edit';
this.editConnectVisible = true;
},
/**新增 */
configmSelect() {
if (this.form.toolCode == null || this.form.toolCode == 0) {
return;
}
this.tableData.unshift({
...this.form,
processId: this.process.processId,
});
this.editConnectVisible = false;
},
/** 提交编辑关联信息 */
submitEditConnect() {
this.tableData.splice(this.currentRowIdx, 1, {
...this.form,
});
this.editConnectVisible = false;
},
addOrEditubmit(){
if(this.optType=='add'){
this.configmSelect();
}else{
this.submitEditConnect();
}
},
deleteRow(index) {
this.tableData.splice(index, 1);
},
cancleConnect() {
this.$emit("updateTool", this.tableData);
this.showProcessProd = false;
},
beforeClose(done) {
// 更新父组件的processItemList
this.$emit("updateTool", this.tableData);
done();
},
/**重置表单 */
resetForm() {
this.form = {
toolCode: "",
toolName: "",
brand: "",
spec:"",
toolTypeName:"",
toolId:"",
quantity: "",
remark: "",
};
},
onTmToolSelect(row){
if (row != undefined && row != null) {
this.form.toolCode = row.toolCode;
this.form.toolName = row.toolName;
this.form.brand = row.brand;
this.form.spec = row.spec;
this.form.toolTypeName = row.toolTypeName;
this.form.toolId = row.toolId;
}
}
},
};
</script>
<style>
.process-prod {
padding: 0 20px;
}
</style>
...@@ -26,12 +26,28 @@ ...@@ -26,12 +26,28 @@
> >
设置物料 设置物料
</el-button> </el-button>
<el-button
type="text"
icon="el-icon-edit"
size="small"
@click="openSetQrindex(row, $index)"
>
设置检验项
</el-button>
<el-button
type="text"
icon="el-icon-edit"
size="small"
@click="openSetTool(row, $index)"
>
设置工装量具
</el-button>
<el-button <el-button
type="text" type="text"
icon="el-icon-edit" icon="el-icon-edit"
size="small" size="small"
@click="updateRow(row, $index)" @click="updateRow(row, $index)"
>修改</el-button >修改</el-button
> >
</template> </template>
</el-table-column> </el-table-column>
...@@ -43,6 +59,15 @@ ...@@ -43,6 +59,15 @@
ref="ProcessProdRef" ref="ProcessProdRef"
@updateItem="updateItem" @updateItem="updateItem"
/> />
<ProcessQcindex
:process="currentRow"
ref="ProcessQcindexRef"
/>
<ProcessTool
:process="currentRow"
ref="ProcessToolRef"
/>
<el-dialog <el-dialog
v-dialogDrag v-dialogDrag
...@@ -99,99 +124,119 @@ ...@@ -99,99 +124,119 @@
</template> </template>
<script> <script>
import ItemBomSelect from "@/components/itemBomSelect/single.vue"; import ItemBomSelect from "@/components/itemBomSelect/single.vue";
import ProcessProd from "./ProcessProd.vue"; import ProcessProd from "./ProcessProd.vue";
import WorkstationSelect from "@/components/workstationSelect/simpletableSingle.vue"; import ProcessQcindex from "./ProcessQcindex.vue";
export default { import ProcessTool from "./ProcessTool.vue";
components: { ItemBomSelect, ProcessProd, WorkstationSelect }, import WorkstationSelect from "@/components/workstationSelect/simpletableSingle.vue";
inject: ["mode"], export default {
props: { components: { ItemBomSelect, ProcessProd, ProcessTool, ProcessQcindex ,WorkstationSelect },
bomList: { inject: ["mode"],
type: Array, props: {
default: () => [], bomList: {
}, type: Array,
}, default: () => [],
data() {
return {
/**弹窗状态 */
showFlag: false,
/**表格数据 */
tableData: [],
/**表单规则 */
rules: {},
/**表单初始化数据 */
form: {
stdWorkingTime: "",
workstationId: "",
workstationName: "",
}, },
currentRow: {},
currentRowIndex: undefined,
};
},
methods: {
setList(rows) {
this.tableData = rows.map((item) => {
item.processItemList = [];
return item;
});
},
/** 更新工序的物料信息 */
updateItem(items) {
this.tableData[this.currentRowIndex].processItemList = items;
},
openSetProd(row, idx) {
this.currentRow = row;
this.currentRowIndex = idx;
this.$refs["ProcessProdRef"].showProcessProd = true;
}, },
/**更新行 */ data() {
updateRow(row, idx) { return {
Object.assign(this.form, row); /**弹窗状态 */
this.currentRowIndex = idx; showFlag: false,
this.showFlag = true; /**表格数据 */
}, tableData: [],
/**表单提交 */ /**表单规则 */
submitForm() { rules: {},
this.$refs["form"].validate((valid) => { /**表单初始化数据 */
if (valid) { form: {
this.showFlag = false; stdWorkingTime: "",
this.tableData.splice(this.currentRowIndex, 1, { workstationId: "",
...this.currentRow, workstationName: "",
...this.form, },
}); currentRow: {},
} currentRowIndex: undefined,
});
},
getComData() {
return this.tableData;
},
/**重置表单 */
resetForm() {
this.form = {
stdWorkingTime: "",
workstationId: "",
workstationName: "",
}; };
}, },
/**重置组件状态 */ methods: {
resetState() { setList(rows) {
this.resetForm(); this.tableData = rows.map((item) => {
this.tableData = []; item.processItemList = [];
}, item.qcindexList = [];
// 查询工作站信息 item.toolList = [];
handleWorkstationSelect() { return item;
this.$refs.WorkstationSelect.showFlag = true; });
}, },
onWorkstationSelected(row) { /** 更新工序的物料信息 */
if (row != undefined && row != null) { updateItem(items) {
this.form.workstationId = row.workstationId; this.tableData[this.currentRowIndex].processItemList = items;
this.form.workstationName = row.workstationName; },
this.form.stdWorkingTime = row.stdWorkingTime; updateTool(items) {
} this.tableData[this.currentRowIndex].toolList = items;
},
updateQcindex(items) {
this.tableData[this.currentRowIndex].qcindexList = items;
},
openSetProd(row, idx) {
this.currentRow = row;
this.currentRowIndex = idx;
this.$refs["ProcessProdRef"].showProcessProd = true;
},
openSetQrindex(row, idx) {
this.currentRow = row;
this.currentRowIndex = idx;
this.$refs["ProcessQcindexRef"].showProcessProd = true;
},
openSetTool(row, idx) {
this.currentRow = row;
this.currentRowIndex = idx;
this.$refs["ProcessToolRef"].showProcessProd = true;
},
/**更新行 */
updateRow(row, idx) {
Object.assign(this.form, row);
this.currentRowIndex = idx;
this.showFlag = true;
},
/**表单提交 */
submitForm() {
this.$refs["form"].validate((valid) => {
if (valid) {
this.showFlag = false;
this.tableData.splice(this.currentRowIndex, 1, {
...this.currentRow,
...this.form,
});
}
});
},
getComData() {
return this.tableData;
},
/**重置表单 */
resetForm() {
this.form = {
stdWorkingTime: "",
workstationId: "",
workstationName: "",
};
},
/**重置组件状态 */
resetState() {
this.resetForm();
this.tableData = [];
},
// 查询工作站信息
handleWorkstationSelect() {
this.$refs.WorkstationSelect.showFlag = true;
},
onWorkstationSelected(row) {
if (row != undefined && row != null) {
this.form.workstationId = row.workstationId;
this.form.workstationName = row.workstationName;
this.form.stdWorkingTime = row.stdWorkingTime;
}
},
}, },
}, };
};
</script> </script>
<style></style> <style></style>
...@@ -103,7 +103,7 @@ ...@@ -103,7 +103,7 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> --> </el-col> -->
<el-col :span="6"> <el-col :span="6">
<el-form-item label="打样形式" prop="type"> <el-form-item label="打样形式" prop="type">
<el-select v-model="form.type" placeholder="请选择打样形式"> <el-select v-model="form.type" placeholder="请选择打样形式">
...@@ -116,7 +116,7 @@ ...@@ -116,7 +116,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :lg="6" :md="8" :sm="12" :xs="12"> <!-- <el-col :lg="6" :md="8" :sm="12" :xs="12">
<el-form-item label="分配方式" prop="modality"> <el-form-item label="分配方式" prop="modality">
<el-input <el-input
...@@ -363,6 +363,7 @@ export default { ...@@ -363,6 +363,7 @@ export default {
.then(() => { .then(() => {
this.loading = false; this.loading = false;
this.$modal.msgSuccess("提交成功!"); this.$modal.msgSuccess("提交成功!");
this.getFormInfo();
}) })
.catch(() => { .catch(() => {
this.loading = false; this.loading = false;
......
...@@ -176,7 +176,7 @@ ...@@ -176,7 +176,7 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total>0"
:total="total" :total="total"
...@@ -230,7 +230,7 @@ ...@@ -230,7 +230,7 @@
<el-switch v-model="autoGenFlag" <el-switch v-model="autoGenFlag"
active-color="#13ce66" active-color="#13ce66"
active-text="自动生成" active-text="自动生成"
@change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'"> @change="handleAutoGenChange(autoGenFlag)" v-if="optType != 'view'">
</el-switch> </el-switch>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -466,7 +466,7 @@ export default { ...@@ -466,7 +466,7 @@ export default {
this.reset(); this.reset();
const toolId = row.toolId || this.ids; const toolId = row.toolId || this.ids;
getTool(toolId).then(response => { getTool(toolId).then(response => {
this.form = response.data; this.form = response.data;
this.open = true; this.open = true;
this.title = "查看工装夹具信息"; this.title = "查看工装夹具信息";
this.optType = "view"; this.optType = "view";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment