fix:工序页面完善

This commit is contained in:
shijing 2024-07-22 16:55:59 +08:00
parent d401e4b4dd
commit ee809aa571
11 changed files with 433 additions and 107 deletions

View File

@ -1,28 +1,57 @@
<template> <template>
<el-container> <el-container>
<el-header <el-header>
><el-segmented <el-segmented
v-model="values" v-model="values"
:options="options" :options="options"
size="default" size="default"
></el-segmented ></el-segmented>
></el-header> </el-header>
<el-main> <el-main id="elMain" class="nopadding">
<log v-if="values == '日志'">日志 </log> <!-- 日志 -->
<handover v-else-if="values == '交接记录'"> 交接记录</handover> <mlogs
<mio v-else>库存 </mio> v-if="values == '日志'"
:mgroupName="mgroupName"
style="height: 50%"
></mlogs>
<mtask
v-if="values == '日志'"
:mgroupName="mgroupName"
style="height: 50%"
></mtask>
<!-- 交接记录 -->
<handover
v-else-if="values == '交接记录'"
:mgroupName="mgroupName"
></handover>
<!-- 库存 -->
<inm v-else :mgroupName="mgroupName"></inm>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
<script> <script>
import inm from "./inm.vue";
import mlogs from "./mlogs.vue";
import mtask from "./mtask.vue";
import handover from "./handover.vue";
export default { export default {
components: { inm, mlogs, mtask, handover },
data() { data() {
return { return {
tableHieght: 200,
options: ["日志", "交接记录", "库存"], options: ["日志", "交接记录", "库存"],
values: "日志", values: "日志",
mgroupName: "超洗",
mgroupId: "",
}; };
}, },
created() {},
mounted() {
let that = this;
let height = document.getElementById("elMain").clintHeight / 2;
that.tableHieght = height;
},
methods: { methods: {
handleChange(value) { handleChange(value) {
this.value = value; this.value = value;

View File

@ -1,28 +1,57 @@
<template> <template>
<el-container> <el-container>
<el-header <el-header>
><el-segmented <el-segmented
v-model="values" v-model="values"
:options="options" :options="options"
size="default" size="default"
></el-segmented ></el-segmented>
></el-header> </el-header>
<el-main> <el-main id="elMain" class="nopadding">
<log v-if="values == '日志'">日志 </log> <!-- 日志 -->
<handover v-else-if="values == '交接记录'"> 交接记录</handover> <mlogs
<mio v-else>库存 </mio> v-if="values == '日志'"
:mgroupName="mgroupName"
style="height: 50%"
></mlogs>
<mtask
v-if="values == '日志'"
:mgroupName="mgroupName"
style="height: 50%"
></mtask>
<!-- 交接记录 -->
<handover
v-else-if="values == '交接记录'"
:mgroupName="mgroupName"
></handover>
<!-- 库存 -->
<inm v-else :mgroupName="mgroupName"></inm>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
<script> <script>
import inm from "./inm.vue";
import mlogs from "./mlogs.vue";
import mtask from "./mtask.vue";
import handover from "./handover.vue";
export default { export default {
components: { inm, mlogs, mtask, handover },
data() { data() {
return { return {
tableHieght: 200,
options: ["日志", "交接记录", "库存"], options: ["日志", "交接记录", "库存"],
values: "日志", values: "日志",
mgroupName: "倒角",
mgroupId: "",
}; };
}, },
created() {},
mounted() {
let that = this;
let height = document.getElementById("elMain").clintHeight / 2;
that.tableHieght = height;
},
methods: { methods: {
handleChange(value) { handleChange(value) {
this.value = value; this.value = value;

View File

@ -2,13 +2,27 @@
<el-container> <el-container>
<el-header> <el-header>
<div class="left-panel"> <div class="left-panel">
<el-header>
<el-segmented
v-model="values"
:options="options"
size="default"
></el-segmented>
</el-header>
<el-button <el-button
type="primary" type="primary"
icon="el-icon-plus" icon="el-icon-plus"
@click="table_add" @click="table_add(10)"
v-auth="'mgroup.create'" v-auth="'mgroup.create'"
>新增</el-button >新增</el-button
> >
<el-button
type="primary"
icon="el-icon-plus"
@click="table_add(20)"
v-auth="'mgroup.create'"
>返工</el-button
>
</div> </div>
<div class="right-panel"> <div class="right-panel">
<el-input <el-input
@ -25,7 +39,79 @@
</div> </div>
</el-header> </el-header>
<el-main class="nopadding"> <el-main class="nopadding">
<scTable ref="table" :apiObj="apiObj" row-key="id" :params="params"> <scTable
v-if="values == '交送'"
ref="table"
:apiObj="apiObj"
row-key="id"
:params="params_sender"
>
<el-table-column
label="#"
type="index"
width="50"
></el-table-column>
<el-table-column
label="物料"
prop="material_name"
min-width="120"
></el-table-column>
<el-table-column label="批次" prop="batch" min-width="100">
</el-table-column>
<el-table-column label="数量" prop="count"></el-table-column>
<el-table-column
label="交送人"
prop="send_user_name"
></el-table-column>
<el-table-column
label="接收人"
prop="recive_user_name"
></el-table-column>
<el-table-column
label="交接日期"
prop="send_date"
width="120"
></el-table-column>
<el-table-column
label="操作"
fixed="right"
align="center"
width="120"
>
<template #default="scope">
<el-button
link
size="small"
@click="table_edit(scope.row)"
v-auth="'mgroup.update'"
type="primary"
>编辑</el-button
>
<el-divider direction="vertical"></el-divider>
<el-popconfirm
title="确定删除吗?"
@confirm="table_del(scope.row, scope.$index)"
>
<template #reference>
<el-button
link
size="small"
v-auth="'mgroup.delete'"
type="danger"
>删除</el-button
>
</template>
</el-popconfirm>
</template>
</el-table-column>
</scTable>
<scTable
v-if="values == '接收'"
ref="table"
:apiObj="apiObj"
row-key="id"
:params="params_recive"
>
<el-table-column <el-table-column
label="#" label="#"
type="index" type="index"
@ -90,6 +176,7 @@
<save-dialog <save-dialog
v-if="dialog.save" v-if="dialog.save"
ref="saveDialog" ref="saveDialog"
:type="type"
:mgroupId="mgroupId" :mgroupId="mgroupId"
@success="handleSaveSuccess" @success="handleSaveSuccess"
@closed="dialog.save = false" @closed="dialog.save = false"
@ -112,14 +199,17 @@ export default {
data() { data() {
return { return {
apiObj: null, apiObj: null,
params: { cate: "photon" },
query: {}, query: {},
dialog: { dialog: {
save: false, save: false,
permission: false, permission: false,
}, },
params_sender: { send_mgroup: "" },
params_recive: { recive_mgroup: "" },
options: ["交送", "接收"],
tableData: [], tableData: [],
selection: [], selection: [],
values: "交送",
mtask: "", mtask: "",
mlogId: "", mlogId: "",
processId: "", processId: "",
@ -134,15 +224,16 @@ export default {
that.mgroupId = res[0].id; that.mgroupId = res[0].id;
that.processId = res[0].process; that.processId = res[0].process;
that.processCate = res[0].process_cate; that.processCate = res[0].process_cate;
that.params.send_mgroup = res[0].id; that.params_sender.send_mgroup = that.mgroupId;
that.params.recive_mgroup = res[0].id; that.params_recive.recive_mgroup = that.mgroupId;
that.apiObj = that.$API.wpm.handover.list; that.apiObj = that.$API.wpm.handover.list;
}); });
}, },
methods: { methods: {
// //
table_add() { table_add(type) {
this.dialog.save = true; this.dialog.save = true;
this.type = type;
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.saveDialog.open("add"); this.$refs.saveDialog.open("add");
}); });

View File

@ -129,6 +129,10 @@
export default { export default {
emits: ["success", "closed"], emits: ["success", "closed"],
props: { props: {
type: {
type: Number,
default: 10,
},
mgroupId: { mgroupId: {
type: String, type: String,
default: "", default: "",
@ -214,6 +218,7 @@ export default {
}; };
}, },
mounted() { mounted() {
this.form.type = this.type;
let materialObj = this.$TOOL.data.get("MATERIAL_OBJECT"); let materialObj = this.$TOOL.data.get("MATERIAL_OBJECT");
this.materialObj = materialObj; this.materialObj = materialObj;
let date = new Date(); let date = new Date();

View File

@ -1,28 +1,57 @@
<template> <template>
<el-container> <el-container>
<el-header <el-header>
><el-segmented <el-segmented
v-model="values" v-model="values"
:options="options" :options="options"
size="default" size="default"
></el-segmented ></el-segmented>
></el-header> </el-header>
<el-main> <el-main id="elMain" class="nopadding">
<log v-if="values == '日志'">日志 </log> <!-- 日志 -->
<handover v-else-if="values == '交接记录'"> 交接记录</handover> <mlogs
<mio v-else>库存 </mio> v-if="values == '日志'"
:mgroupName="mgroupName"
style="height: 50%"
></mlogs>
<mtask
v-if="values == '日志'"
:mgroupName="mgroupName"
style="height: 50%"
></mtask>
<!-- 交接记录 -->
<handover
v-else-if="values == '交接记录'"
:mgroupName="mgroupName"
></handover>
<!-- 库存 -->
<inm v-else :mgroupName="mgroupName"></inm>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
<script> <script>
import inm from "./inm.vue";
import mlogs from "./mlogs.vue";
import mtask from "./mtask.vue";
import handover from "./handover.vue";
export default { export default {
components: { inm, mlogs, mtask, handover },
data() { data() {
return { return {
tableHieght: 200,
options: ["日志", "交接记录", "库存"], options: ["日志", "交接记录", "库存"],
values: "日志", values: "日志",
mgroupName: "黑化",
mgroupId: "",
}; };
}, },
created() {},
mounted() {
let that = this;
let height = document.getElementById("elMain").clintHeight / 2;
that.tableHieght = height;
},
methods: { methods: {
handleChange(value) { handleChange(value) {
this.value = value; this.value = value;

View File

@ -1,28 +1,57 @@
<template> <template>
<el-container> <el-container>
<el-header <el-header>
><el-segmented <el-segmented
v-model="values" v-model="values"
:options="options" :options="options"
size="default" size="default"
></el-segmented ></el-segmented>
></el-header> </el-header>
<el-main> <el-main id="elMain" class="nopadding">
<log v-if="values == '日志'">日志 </log> <!-- 日志 -->
<handover v-else-if="values == '交接记录'"> 交接记录</handover> <mlogs
<mio v-else>库存 </mio> v-if="values == '日志'"
:mgroupName="mgroupName"
style="height: 50%"
></mlogs>
<mtask
v-if="values == '日志'"
:mgroupName="mgroupName"
style="height: 50%"
></mtask>
<!-- 交接记录 -->
<handover
v-else-if="values == '交接记录'"
:mgroupName="mgroupName"
></handover>
<!-- 库存 -->
<inm v-else :mgroupName="mgroupName"></inm>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
<script> <script>
import inm from "./inm.vue";
import mlogs from "./mlogs.vue";
import mtask from "./mtask.vue";
import handover from "./handover.vue";
export default { export default {
components: { inm, mlogs, mtask, handover },
data() { data() {
return { return {
tableHieght: 200,
options: ["日志", "交接记录", "库存"], options: ["日志", "交接记录", "库存"],
values: "日志", values: "日志",
mgroupName: "活化",
mgroupId: "",
}; };
}, },
created() {},
mounted() {
let that = this;
let height = document.getElementById("elMain").clintHeight / 2;
that.tableHieght = height;
},
methods: { methods: {
handleChange(value) { handleChange(value) {
this.value = value; this.value = value;

View File

@ -1,28 +1,57 @@
<template> <template>
<el-container> <el-container>
<el-header <el-header>
><el-segmented <el-segmented
v-model="values" v-model="values"
:options="options" :options="options"
size="default" size="default"
></el-segmented ></el-segmented>
></el-header> </el-header>
<el-main> <el-main id="elMain" class="nopadding">
<log v-if="values == '日志'">日志 </log> <!-- 日志 -->
<handover v-else-if="values == '交接记录'"> 交接记录</handover> <mlogs
<mio v-else>库存 </mio> v-if="values == '日志'"
:mgroupName="mgroupName"
style="height: 50%"
></mlogs>
<mtask
v-if="values == '日志'"
:mgroupName="mgroupName"
style="height: 50%"
></mtask>
<!-- 交接记录 -->
<handover
v-else-if="values == '交接记录'"
:mgroupName="mgroupName"
></handover>
<!-- 库存 -->
<inm v-else :mgroupName="mgroupName"></inm>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
<script> <script>
import inm from "./inm.vue";
import mlogs from "./mlogs.vue";
import mtask from "./mtask.vue";
import handover from "./handover.vue";
export default { export default {
components: { inm, mlogs, mtask, handover },
data() { data() {
return { return {
tableHieght: 200,
options: ["日志", "交接记录", "库存"], options: ["日志", "交接记录", "库存"],
values: "日志", values: "日志",
mgroupName: "减薄",
mgroupId: "",
}; };
}, },
created() {},
mounted() {
let that = this;
let height = document.getElementById("elMain").clintHeight / 2;
that.tableHieght = height;
},
methods: { methods: {
handleChange(value) { handleChange(value) {
this.value = value; this.value = value;

View File

@ -1,28 +1,57 @@
<template> <template>
<el-container> <el-container>
<el-header <el-header>
><el-segmented <el-segmented
v-model="values" v-model="values"
:options="options" :options="options"
size="default" size="default"
></el-segmented ></el-segmented>
></el-header> </el-header>
<el-main> <el-main id="elMain" class="nopadding">
<log v-if="values == '日志'">日志 </log> <!-- 日志 -->
<handover v-else-if="values == '交接记录'"> 交接记录</handover> <mlogs
<mio v-else>库存 </mio> v-if="values == '日志'"
:mgroupName="mgroupName"
style="height: 50%"
></mlogs>
<mtask
v-if="values == '日志'"
:mgroupName="mgroupName"
style="height: 50%"
></mtask>
<!-- 交接记录 -->
<handover
v-else-if="values == '交接记录'"
:mgroupName="mgroupName"
></handover>
<!-- 库存 -->
<inm v-else :mgroupName="mgroupName"></inm>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
<script> <script>
import inm from "./inm.vue";
import mlogs from "./mlogs.vue";
import mtask from "./mtask.vue";
import handover from "./handover.vue";
export default { export default {
components: { inm, mlogs, mtask, handover },
data() { data() {
return { return {
tableHieght: 200,
options: ["日志", "交接记录", "库存"], options: ["日志", "交接记录", "库存"],
values: "日志", values: "日志",
mgroupName: "精雕",
mgroupId: "",
}; };
}, },
created() {},
mounted() {
let that = this;
let height = document.getElementById("elMain").clintHeight / 2;
that.tableHieght = height;
},
methods: { methods: {
handleChange(value) { handleChange(value) {
this.value = value; this.value = value;

View File

@ -1,28 +1,57 @@
<template> <template>
<el-container> <el-container>
<el-header <el-header>
><el-segmented <el-segmented
v-model="values" v-model="values"
:options="options" :options="options"
size="default" size="default"
></el-segmented ></el-segmented>
></el-header> </el-header>
<el-main> <el-main id="elMain" class="nopadding">
<log v-if="values == '日志'">日志 </log> <!-- 日志 -->
<handover v-else-if="values == '交接记录'"> 交接记录</handover> <mlogs
<mio v-else>库存 </mio> v-if="values == '日志'"
:mgroupName="mgroupName"
style="height: 50%"
></mlogs>
<mtask
v-if="values == '日志'"
:mgroupName="mgroupName"
style="height: 50%"
></mtask>
<!-- 交接记录 -->
<handover
v-else-if="values == '交接记录'"
:mgroupName="mgroupName"
></handover>
<!-- 库存 -->
<inm v-else :mgroupName="mgroupName"></inm>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
<script> <script>
import inm from "./inm.vue";
import mlogs from "./mlogs.vue";
import mtask from "./mtask.vue";
import handover from "./handover.vue";
export default { export default {
components: { inm, mlogs, mtask, handover },
data() { data() {
return { return {
tableHieght: 200,
options: ["日志", "交接记录", "库存"], options: ["日志", "交接记录", "库存"],
values: "日志", values: "日志",
mgroupName: "磨抛",
mgroupId: "",
}; };
}, },
created() {},
mounted() {
let that = this;
let height = document.getElementById("elMain").clintHeight / 2;
that.tableHieght = height;
},
methods: { methods: {
handleChange(value) { handleChange(value) {
this.value = value; this.value = value;

View File

@ -10,7 +10,7 @@
<p class="lineStyle">批次号{{ batch }}</p> <p class="lineStyle">批次号{{ batch }}</p>
<p class="lineStyle">数量{{ count }}</p> <p class="lineStyle">数量{{ count }}</p>
</div> </div>
<el-button type="primary" @click="toGetPdf">打印 </el-button> <el-button type="primary" @click="toGetPdf1">打印 </el-button>
</div> </div>
</template> </template>
<script> <script>
@ -49,15 +49,20 @@ export default {
let title = "交接单"; let title = "交接单";
getPdf(title, download).then((res) => { getPdf(title, download).then((res) => {
console.log("res", res); console.log("res", res);
// that.dataURLtoFile(res, "pdf");
let obj = {}; // FormData
obj.file = res; let formData = new FormData();
obj.printer_name = "GP-3150TN"; formData.append("file", res, "document.pdf"); // FormData
http.post(`http://192.168.1.242:8080/print/`, obj, { formData.append("printer_name", "GP-3150TN"); //
headers: { "Content-Type": "multipart/form-data" },
}).then((res) => { // POST
console.log("postRes", res); http.post("http://localhost:8080/print/", formData)
}); .then((response) => {
console.log("postRes", response);
})
.catch((error) => {
console.error("postError", error);
});
}); });
}, 1000); }, 1000);
}); });
@ -76,34 +81,27 @@ export default {
}, },
toGetPdf1() { toGetPdf1() {
let exportDiv = document.getElementById("pdfDom"); // id let str = [
this.pdfDownLoader = new PdfLoader(exportDiv, "print"); // fileName -->, question-table -->class "SIZE 70 mm,90 mm",
this.pdfDownLoader.getPDF("0000"); "GAP 2 mm,0 mm",
console.log(this.pdfDownLoader); "CLS",
"WINTEXT 100,100,36,0,0,0,Simhei,光芯——交接单",
'BARCODE 100,200,"128",108,0,0,2,4,"' + this.batch + '"',
"WINTEXT 100,380,36,0,0,0,Simhei,物料:" + this.name,
"WINTEXT 100,460,36,0,0,0,Simhei,批次:" + this.batch,
"WINTEXT 100,540,36,0,0,0,Simhei,数量:" + this.count,
"PRINT 1",
];
let obj = {};
obj.print_commands = str;
http.post("http://localhost:8080/prints/", obj)
.then((response) => {
console.log("postRes", response);
})
.catch((error) => {
console.error("postError", error);
});
}, },
// async handlePrint() {
// let content = this.$refs.pdfContent;
// let canvas = await html2canvas(content);
// let imgData = canvas.toDataURL("image/png");
// let pdf = jsPDF("", "pt", "a4");
// let blob = new Blob([JSON.stringify(imgData, null, 2)], {
// type: "application/json",
// });
// // http://192.168.1.242:8000/print
// //POST form-data
// //{"file":"","printer_name":"GP-3150TN"}
// console.log("blob", blob);
// let obj = {};
// obj.file = blob;
// obj.printer_name = "GP-3150TN";
// http.post(`http://192.168.1.242:8000/print/`, obj).then((res) => {
// console.log(res);
// });
// // const blob = new Blob([response.data], { type: "application/pdf" });
// this.$PRINT("#myReport");
// },
}, },
}; };
</script> </script>

View File

@ -1,28 +1,57 @@
<template> <template>
<el-container> <el-container>
<el-header <el-header>
><el-segmented <el-segmented
v-model="values" v-model="values"
:options="options" :options="options"
size="default" size="default"
></el-segmented ></el-segmented>
></el-header> </el-header>
<el-main> <el-main id="elMain" class="nopadding">
<log v-if="values == '日志'">日志 </log> <!-- 日志 -->
<handover v-else-if="values == '交接记录'"> 交接记录</handover> <mlogs
<mio v-else>库存 </mio> v-if="values == '日志'"
:mgroupName="mgroupName"
style="height: 50%"
></mlogs>
<mtask
v-if="values == '日志'"
:mgroupName="mgroupName"
style="height: 50%"
></mtask>
<!-- 交接记录 -->
<handover
v-else-if="values == '交接记录'"
:mgroupName="mgroupName"
></handover>
<!-- 库存 -->
<inm v-else :mgroupName="mgroupName"></inm>
</el-main> </el-main>
</el-container> </el-container>
</template> </template>
<script> <script>
import inm from "./inm.vue";
import mlogs from "./mlogs.vue";
import mtask from "./mtask.vue";
import handover from "./handover.vue";
export default { export default {
components: { inm, mlogs, mtask, handover },
data() { data() {
return { return {
tableHieght: 200,
options: ["日志", "交接记录", "库存"], options: ["日志", "交接记录", "库存"],
values: "日志", values: "日志",
mgroupName: "烧结",
mgroupId: "",
}; };
}, },
created() {},
mounted() {
let that = this;
let height = document.getElementById("elMain").clintHeight / 2;
that.tableHieght = height;
},
methods: { methods: {
handleChange(value) { handleChange(value) {
this.value = value; this.value = value;