feat:光芯
This commit is contained in:
parent
58c24851c6
commit
d401e4b4dd
|
@ -3,10 +3,10 @@ NODE_ENV = development
|
|||
|
||||
# 标题
|
||||
# VUE_APP_TITLE = '曲阳金隅安全智能管控平台'
|
||||
# VUE_APP_TITLE = '托克逊能源管理平台'
|
||||
VUE_APP_TITLE = '托克逊能源管理平台'
|
||||
# VUE_APP_TITLE = '中建材光子科技有限公司'
|
||||
VUE_APP_TITLE = '超低排放系统'
|
||||
VUE_APP_PJ = 'pf'
|
||||
# VUE_APP_TITLE = '超低排放系统'
|
||||
VUE_APP_PJ = 'gx'
|
||||
|
||||
# 接口地址
|
||||
#VUE_APP_API_BASEURL = http://1.203.161.103:2800/api
|
||||
|
@ -16,10 +16,10 @@ VUE_APP_PJ = 'pf'
|
|||
# VUE_APP_API_BASEURL = http://127.0.0.1:2226/api
|
||||
|
||||
#测试环境
|
||||
# VUE_APP_API_BASEURL = http://49.232.14.174:2226/api
|
||||
VUE_APP_API_BASEURL = http://127.0.0.1:2226/api
|
||||
# VUE_APP_BASEURL = http://49.232.14.174:2226
|
||||
VUE_APP_BASEURL = http://127.0.0.1:2226
|
||||
VUE_APP_API_BASEURL = http://49.232.14.174:2226/api
|
||||
# VUE_APP_API_BASEURL = http://127.0.0.1:2226/api
|
||||
VUE_APP_BASEURL = http://49.232.14.174:2226
|
||||
# VUE_APP_BASEURL = http://127.0.0.1:2226
|
||||
|
||||
# #光子
|
||||
# VUE_APP_API_BASEURL = http://49.232.14.174:2250/api
|
||||
|
|
|
@ -204,6 +204,15 @@ export default {
|
|||
);
|
||||
},
|
||||
},
|
||||
change: {
|
||||
name: "修改日志",
|
||||
req: async function (id, data) {
|
||||
return await http.post(
|
||||
`${config.API_URL}/wpm/mlog/${id}/change/`,
|
||||
data
|
||||
);
|
||||
},
|
||||
},
|
||||
},
|
||||
mlogb: {
|
||||
list: {
|
||||
|
@ -218,6 +227,15 @@ export default {
|
|||
return await http.post(`${config.API_URL}/wpm/mlogb/in/`, data);
|
||||
},
|
||||
},
|
||||
updateIn: {
|
||||
name: "更新",
|
||||
req: async function (id, data) {
|
||||
return await http.put(
|
||||
`${config.API_URL}/wpm/mlogb/in/${id}/`,
|
||||
data
|
||||
);
|
||||
},
|
||||
},
|
||||
delIn: {
|
||||
name: "删除",
|
||||
req: async function (id) {
|
||||
|
@ -226,6 +244,15 @@ export default {
|
|||
);
|
||||
},
|
||||
},
|
||||
updateOut: {
|
||||
name: "更新",
|
||||
req: async function (id, data) {
|
||||
return await http.put(
|
||||
`${config.API_URL}/wpm/mlogb/out/${id}/`,
|
||||
data
|
||||
);
|
||||
},
|
||||
},
|
||||
},
|
||||
handover: {
|
||||
list: {
|
||||
|
@ -339,4 +366,10 @@ export default {
|
|||
},
|
||||
},
|
||||
},
|
||||
prints: {
|
||||
name: "打印",
|
||||
req: async function (data) {
|
||||
return await http.post(`${config.API_URL}/print/`, data);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
@ -1089,7 +1089,7 @@ const routes = [
|
|||
meta: {
|
||||
title: "车间任务",
|
||||
icon: "el-icon-cellphone",
|
||||
perms: ["pm"],
|
||||
perms: ["pm_gx"],
|
||||
},
|
||||
component: "pm/utask",
|
||||
},
|
||||
|
@ -1221,16 +1221,26 @@ const routes = [
|
|||
title: "生产执行gx",
|
||||
icon: "el-icon-grid",
|
||||
type: "menu",
|
||||
perms: ["wpm"],
|
||||
perms: ["wpm_gx"],
|
||||
},
|
||||
children: [
|
||||
{
|
||||
name: "printTest",
|
||||
path: "/wpm_gx/print",
|
||||
meta: {
|
||||
title: "打印测试",
|
||||
icon: "el-icon-files",
|
||||
perms: ["wpm_gx"],
|
||||
},
|
||||
component: "wpm_gx/print",
|
||||
},
|
||||
{
|
||||
name: "qiepian",
|
||||
path: "/wpm_gx/qiepian",
|
||||
meta: {
|
||||
title: "切片",
|
||||
icon: "el-icon-files",
|
||||
perms: ["wpm"],
|
||||
perms: ["wpm_gx"],
|
||||
},
|
||||
component: "wpm_gx/qiepian",
|
||||
},
|
||||
|
@ -1240,7 +1250,7 @@ const routes = [
|
|||
meta: {
|
||||
title: "活化",
|
||||
icon: "el-icon-cellphone",
|
||||
perms: ["wpm"],
|
||||
perms: ["wpm_gx"],
|
||||
},
|
||||
component: "wpm_gx/huohua",
|
||||
},
|
||||
|
@ -1250,7 +1260,7 @@ const routes = [
|
|||
meta: {
|
||||
title: "黑化",
|
||||
icon: "el-icon-cellphone",
|
||||
perms: ["wpm"],
|
||||
perms: ["wpm_gx"],
|
||||
},
|
||||
component: "wpm_gx/heihua",
|
||||
},
|
||||
|
@ -1260,7 +1270,7 @@ const routes = [
|
|||
meta: {
|
||||
title: "烧结",
|
||||
icon: "el-icon-cellphone",
|
||||
perms: ["wpm"],
|
||||
perms: ["wpm_gx"],
|
||||
},
|
||||
component: "wpm_gx/shaojie",
|
||||
},
|
||||
|
@ -1270,7 +1280,7 @@ const routes = [
|
|||
meta: {
|
||||
title: "减薄",
|
||||
icon: "el-icon-cellphone",
|
||||
perms: ["wpm"],
|
||||
perms: ["wpm_gx"],
|
||||
},
|
||||
component: "wpm_gx/jianbo",
|
||||
},
|
||||
|
@ -1280,7 +1290,7 @@ const routes = [
|
|||
meta: {
|
||||
title: "精雕",
|
||||
icon: "el-icon-cellphone",
|
||||
perms: ["wpm"],
|
||||
perms: ["wpm_gx"],
|
||||
},
|
||||
component: "wpm_gx/jingdiao",
|
||||
},
|
||||
|
@ -1290,7 +1300,7 @@ const routes = [
|
|||
meta: {
|
||||
title: "磨抛",
|
||||
icon: "el-icon-cellphone",
|
||||
perms: ["wpm"],
|
||||
perms: ["wpm_gx"],
|
||||
},
|
||||
component: "wpm_gx/mopao",
|
||||
},
|
||||
|
@ -1300,7 +1310,7 @@ const routes = [
|
|||
meta: {
|
||||
title: "倒角",
|
||||
icon: "el-icon-cellphone",
|
||||
perms: ["wpm"],
|
||||
perms: ["wpm_gx"],
|
||||
},
|
||||
component: "wpm_gx/daojiao",
|
||||
},
|
||||
|
@ -1310,7 +1320,7 @@ const routes = [
|
|||
meta: {
|
||||
title: "超洗",
|
||||
icon: "el-icon-cellphone",
|
||||
perms: ["wpm"],
|
||||
perms: ["wpm_gx"],
|
||||
},
|
||||
component: "wpm_gx/chaoxi",
|
||||
},
|
||||
|
|
43
src/main.js
43
src/main.js
|
@ -1,20 +1,22 @@
|
|||
import { createApp } from 'vue'
|
||||
import ElementPlus from 'element-plus'
|
||||
import 'element-plus/dist/index.css'
|
||||
import 'element-plus/theme-chalk/display.css'
|
||||
import scui from './scui'
|
||||
import ehsui from './ehs'
|
||||
import i18n from './locales'
|
||||
import router from './router'
|
||||
import store from './store'
|
||||
import App from './App.vue'
|
||||
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
|
||||
import preventReClick from './utils/preventReClick'
|
||||
import Print from './utils/print2'
|
||||
import Xlsx from './utils/xlsx'
|
||||
import DataVVue3 from '@kjgl77/datav-vue3'
|
||||
import * as Cesium from 'cesium'
|
||||
import { createApp } from "vue";
|
||||
import ElementPlus from "element-plus";
|
||||
import "element-plus/dist/index.css";
|
||||
import "element-plus/theme-chalk/display.css";
|
||||
import scui from "./scui";
|
||||
import ehsui from "./ehs";
|
||||
import i18n from "./locales";
|
||||
import router from "./router";
|
||||
import store from "./store";
|
||||
import App from "./App.vue";
|
||||
import * as ElementPlusIconsVue from "@element-plus/icons-vue";
|
||||
import preventReClick from "./utils/preventReClick";
|
||||
import Print from "./utils/print2";
|
||||
import Xlsx from "./utils/xlsx";
|
||||
import jsBarCode from "./utils/jsBarCode";
|
||||
import DataVVue3 from "@kjgl77/datav-vue3";
|
||||
import htmlToPdf from "./utils/htmlToPdf";
|
||||
|
||||
import * as Cesium from "cesium";
|
||||
|
||||
const app = createApp(App);
|
||||
|
||||
|
@ -28,13 +30,14 @@ app.use(ehsui);
|
|||
app.use(preventReClick);
|
||||
app.use(Print);
|
||||
app.use(Xlsx);
|
||||
app.use(htmlToPdf);
|
||||
app.use(jsBarCode);
|
||||
app.use(DataVVue3);
|
||||
|
||||
|
||||
//挂载app
|
||||
app.mount('#app');
|
||||
app.mount("#app");
|
||||
for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
|
||||
app.component(key, component)
|
||||
app.component(key, component);
|
||||
}
|
||||
|
||||
const debounce = (fn, delay) => {
|
||||
|
@ -60,4 +63,4 @@ window.ResizeObserver = class ResizeObserver extends _ResizeObserver {
|
|||
callback = debounce(callback, 16);
|
||||
super(callback);
|
||||
}
|
||||
};
|
||||
};
|
||||
|
|
|
@ -0,0 +1,45 @@
|
|||
import html2Canvas from "html2canvas";
|
||||
import JsPDF from "jspdf";
|
||||
/**
|
||||
*
|
||||
* @param {*} reportName 下载时候的标题
|
||||
* @param {*} isDownload 是否下载默认为下载,传false不下载
|
||||
*/
|
||||
const getPdf = function (reportName, isDownload = true) {
|
||||
return new Promise((resolve, reject) => {
|
||||
var title = reportName;
|
||||
html2Canvas(document.querySelector("#pdfDom"), {
|
||||
allowTaint: true,
|
||||
useCORS: true,
|
||||
}).then((canvas) => {
|
||||
const contentWidth = canvas.width;
|
||||
const contentHeight = canvas.height;
|
||||
console.log("contentWidth", contentWidth);
|
||||
console.log("contentHeight", contentHeight);
|
||||
//页面偏移
|
||||
let position = 5;
|
||||
//a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高
|
||||
const imgWidth = contentWidth - 20;
|
||||
const imgHeight = contentHeight - 20;
|
||||
let pageData = canvas.toDataURL("image/jpeg", 1.0);
|
||||
let PDF = new JsPDF("p", "px", [210, 270]);
|
||||
|
||||
//有两个高度需要区分,一个是html页面的实际高度,和生成pdf的页面高度(841.89)
|
||||
//当内容未超过pdf一页显示的范围,无需分页
|
||||
PDF.addImage(pageData, "JPEG", 10, 10, imgWidth, imgHeight);
|
||||
PDF.save(title + ".pdf");
|
||||
if (isDownload) {
|
||||
PDF.save(title + ".pdf");
|
||||
}
|
||||
// 删除本地存储的base64字段
|
||||
var pdfData = PDF.output("datauristring"); //获取base64Pdf
|
||||
let blobData = new Blob([PDF], {
|
||||
type: "application/pdf",
|
||||
});
|
||||
console.log("blobData", blobData);
|
||||
resolve(blobData);
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
export default getPdf;
|
File diff suppressed because it is too large
Load Diff
|
@ -156,6 +156,11 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="绑定工序">
|
||||
<el-switch v-model="form.batch_bind" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-main>
|
||||
|
@ -174,6 +179,7 @@ const defaultForm = {
|
|||
process: null,
|
||||
sort: 1,
|
||||
out_rate: 100,
|
||||
batch_bind: true,
|
||||
is_autotask: true,
|
||||
is_count_utask: false,
|
||||
};
|
||||
|
|
|
@ -128,7 +128,7 @@
|
|||
v-if="dialog.save"
|
||||
ref="saveDialog"
|
||||
@success="handleSaveSuccess"
|
||||
@closed="dialog.save = false"
|
||||
@closed="saveClose"
|
||||
>
|
||||
</save-dialog>
|
||||
<show-dialog
|
||||
|
@ -219,7 +219,10 @@ export default {
|
|||
this.$refs.showDialog.open().setData(row);
|
||||
});
|
||||
},
|
||||
|
||||
saveClose() {
|
||||
this.$refs.table.refresh();
|
||||
this.dialog.save = false;
|
||||
},
|
||||
//权限设置
|
||||
permission() {
|
||||
this.dialog.permission = true;
|
||||
|
@ -229,7 +232,7 @@ export default {
|
|||
},
|
||||
//删除
|
||||
async table_del(row) {
|
||||
this.$API.rpm.rpj.delete
|
||||
this.$API.mtm.routepack.delete
|
||||
.req(row.id)
|
||||
.then((res) => {
|
||||
this.$message.success("删除成功");
|
||||
|
|
|
@ -311,10 +311,8 @@ export default {
|
|||
.then((res) => {
|
||||
that.tLoading = false;
|
||||
that.$message.success("提交成功");
|
||||
that.$router.push({
|
||||
name: "",
|
||||
query: {},
|
||||
});
|
||||
that.$emit("close");
|
||||
that.visible = false;
|
||||
})
|
||||
.catch((e) => {
|
||||
that.tLoading = false;
|
||||
|
|
|
@ -30,9 +30,9 @@
|
|||
:apiObj="apiObj"
|
||||
row-key="id"
|
||||
stripe
|
||||
id="myTable"
|
||||
:params="params"
|
||||
:query="query"
|
||||
id="myTable"
|
||||
>
|
||||
<el-table-column type="index" width="50" />
|
||||
<el-table-column
|
||||
|
@ -48,6 +48,9 @@
|
|||
show-overflow-tooltip
|
||||
min-width="100"
|
||||
>
|
||||
<template #default="scope">
|
||||
'{{ scope.row.batch }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="抽样数量" prop="count">
|
||||
</el-table-column>
|
||||
|
@ -77,6 +80,14 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="结石" prop="count_n_js">
|
||||
</el-table-column>
|
||||
<el-table-column label="杂质" prop="count_n_zz">
|
||||
</el-table-column>
|
||||
<el-table-column label="颜色青" prop="count_n_ysq">
|
||||
</el-table-column>
|
||||
<el-table-column label="划伤" prop="count_n_hs">
|
||||
</el-table-column>
|
||||
<el-table-column label="扁" prop="count_n_b">
|
||||
</el-table-column>
|
||||
<el-table-column label="其他" prop="count_n_qt">
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
|
@ -92,6 +103,11 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="检测人" prop="test_user_name">
|
||||
</el-table-column>
|
||||
<el-table-column label="物料id">
|
||||
<template #default="scope">
|
||||
'{{ scope.row.material }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
</el-main>
|
||||
</el-container>
|
||||
|
|
|
@ -25,62 +25,38 @@
|
|||
</div>
|
||||
</el-header>
|
||||
<el-main class="nopadding">
|
||||
<scTable
|
||||
ref="table"
|
||||
:apiObj="apiObj"
|
||||
row-key="id"
|
||||
hidePagination
|
||||
:params="params"
|
||||
>
|
||||
<scTable ref="table" :apiObj="apiObj" row-key="id" :params="params">
|
||||
<el-table-column
|
||||
label="#"
|
||||
type="index"
|
||||
width="50"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="工段名称"
|
||||
prop="name"
|
||||
min-width="100"
|
||||
label="物料"
|
||||
prop="material_name"
|
||||
min-width="120"
|
||||
></el-table-column>
|
||||
<el-table-column label="所在工序" prop="cate" min-width="100">
|
||||
<template #default="scope">
|
||||
<span
|
||||
>{{ scope.row.process_cate }} -
|
||||
{{ scope.row.process_name }}</span
|
||||
>
|
||||
</template>
|
||||
<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="belong_dept_name"
|
||||
min-width="150"
|
||||
label="交送人"
|
||||
prop="send_user_name"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="班次规则"
|
||||
prop="shift_rule"
|
||||
min-width="80"
|
||||
></el-table-column>
|
||||
<!-- <el-table-column label="能源监测" prop="need_enm" min-width="80">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.need_enm">是</span>
|
||||
<span v-else>否</span>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column
|
||||
label="排序"
|
||||
prop="sort"
|
||||
min-width="80"
|
||||
label="接收人"
|
||||
prop="recive_user_name"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="创建时间"
|
||||
prop="create_time"
|
||||
min-width="150"
|
||||
label="交接日期"
|
||||
prop="send_date"
|
||||
width="120"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
fixed="right"
|
||||
align="center"
|
||||
width="180"
|
||||
width="120"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
|
@ -114,21 +90,27 @@
|
|||
<save-dialog
|
||||
v-if="dialog.save"
|
||||
ref="saveDialog"
|
||||
:mgroupId="mgroupId"
|
||||
@success="handleSaveSuccess"
|
||||
@closed="dialog.save = false"
|
||||
>
|
||||
</save-dialog>
|
||||
</template>
|
||||
<script>
|
||||
import saveDialog from "./mlog_form.vue";
|
||||
import saveDialog from "./handover_form.vue";
|
||||
export default {
|
||||
name: "mgroup",
|
||||
props: {
|
||||
mgroupName: {
|
||||
type: String,
|
||||
default: "",
|
||||
},
|
||||
},
|
||||
name: "handover",
|
||||
components: {
|
||||
saveDialog,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// apiObj: this.$API.mtm.mgroup.list,
|
||||
apiObj: null,
|
||||
params: { cate: "photon" },
|
||||
query: {},
|
||||
|
@ -138,13 +120,25 @@ export default {
|
|||
},
|
||||
tableData: [],
|
||||
selection: [],
|
||||
cates_: {
|
||||
section: "工序",
|
||||
other: "其他",
|
||||
},
|
||||
mtask: "",
|
||||
mlogId: "",
|
||||
processId: "",
|
||||
processCate: "",
|
||||
};
|
||||
},
|
||||
mounted() {},
|
||||
mounted() {
|
||||
let that = this;
|
||||
that.$API.mtm.mgroup.list
|
||||
.req({ page: 0, search: that.mgroupName })
|
||||
.then((res) => {
|
||||
that.mgroupId = res[0].id;
|
||||
that.processId = res[0].process;
|
||||
that.processCate = res[0].process_cate;
|
||||
that.params.send_mgroup = res[0].id;
|
||||
that.params.recive_mgroup = res[0].id;
|
||||
that.apiObj = that.$API.wpm.handover.list;
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
//添加
|
||||
table_add() {
|
||||
|
|
|
@ -0,0 +1,328 @@
|
|||
<template>
|
||||
<el-dialog
|
||||
:title="titleMap[mode]"
|
||||
v-model="visible"
|
||||
width="1000px"
|
||||
:size="1000"
|
||||
destroy-on-close
|
||||
@closed="$emit('closed')"
|
||||
>
|
||||
<el-form
|
||||
ref="dialogForm"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
label-width="80px"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="交接物料" prop="wm">
|
||||
<el-select
|
||||
v-model="form.wm"
|
||||
placeholder="交接物料"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
@change="materialChange"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in materialOptions"
|
||||
:key="item.id"
|
||||
:label="item.batch"
|
||||
:value="item.id"
|
||||
>
|
||||
<span>{{ item.batch }}</span>
|
||||
<span v-if="item.notok_sign !== null"
|
||||
>-{{ item.notok_sign }}</span
|
||||
>
|
||||
<span>-[{{ item.count }}]</span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="交送日期" prop="send_date">
|
||||
<el-date-picker
|
||||
v-model="form.send_date"
|
||||
type="date"
|
||||
placeholder="选择时间"
|
||||
format="YYYY-MM-DD"
|
||||
value-format="YYYY-MM-DD"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="交接数量" width="100">
|
||||
<el-input-number
|
||||
v-model="form.count"
|
||||
controls-position="right"
|
||||
:min="0"
|
||||
step="1"
|
||||
:step-strictly="true"
|
||||
style="width: 100%"
|
||||
placeholder="交接数量"
|
||||
>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="交送人" prop="send_user">
|
||||
<el-select
|
||||
v-model="form.send_user"
|
||||
placeholder="交送人"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="接收工段" prop="recive_mgroup">
|
||||
<el-select
|
||||
v-model="form.recive_mgroup"
|
||||
placeholder="接收工段"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in mgroupOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="接收人" prop="recive_user">
|
||||
<el-select
|
||||
v-model="form.recive_user"
|
||||
placeholder="接收人"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList2"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-footer>
|
||||
<el-button type="primary" v-loading="isSaveing" @click="submit"
|
||||
>确定</el-button
|
||||
>
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
</el-footer>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
emits: ["success", "closed"],
|
||||
props: {
|
||||
mgroupId: {
|
||||
type: String,
|
||||
default: "",
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
yseorno: ["是", "否"],
|
||||
loading: false,
|
||||
mode: "add",
|
||||
titleMap: {
|
||||
add: "新增交接记录",
|
||||
edit: "编辑交接记录",
|
||||
show: "查看交接记录",
|
||||
},
|
||||
handle_user: [],
|
||||
form: {
|
||||
batch: "",
|
||||
count: 0, //送料数
|
||||
wm: "",
|
||||
send_date: "",
|
||||
send_user: "",
|
||||
send_mgroup: "",
|
||||
recive_user: "",
|
||||
recive_mgroup: "",
|
||||
},
|
||||
rules: {
|
||||
batch: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入批次号",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
wm: {
|
||||
required: true,
|
||||
message: "请选择物料",
|
||||
trigger: "blur",
|
||||
},
|
||||
send_date: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择送料日期",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
send_user: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择交送人",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
send_mgroup: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择交送工段",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
recive_user: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择接收人",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
recive_mgroup: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择接收工段",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
},
|
||||
userList: [],
|
||||
userList2: [],
|
||||
mgroupOptions: [],
|
||||
materialOptions: [],
|
||||
visible: false,
|
||||
isSaveing: false,
|
||||
setFiltersVisible: false,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
let materialObj = this.$TOOL.data.get("MATERIAL_OBJECT");
|
||||
this.materialObj = materialObj;
|
||||
let date = new Date();
|
||||
let year = date.getFullYear();
|
||||
let month = date.getMonth() + 1;
|
||||
let day = date.getDate();
|
||||
this.form.handle_date = year + "-" + month + "-" + day;
|
||||
this.form.send_mgroup = this.mgroupId;
|
||||
this.getMaterial();
|
||||
this.getUserList();
|
||||
this.getMgroupOptions();
|
||||
},
|
||||
methods: {
|
||||
//获取部门列表
|
||||
getMgroupOptions() {
|
||||
this.$API.mtm.mgroup.list
|
||||
.req({ page: 0, type__in: "dept" })
|
||||
.then((res) => {
|
||||
this.mgroupOptions = res;
|
||||
});
|
||||
},
|
||||
|
||||
//获取车间物料
|
||||
getMaterial() {
|
||||
let that = this;
|
||||
this.$API.wpm.wmaterial.list
|
||||
.req({ mgroup: that.mgroupId, page: 0 })
|
||||
.then((res) => {
|
||||
that.materialOptions = res;
|
||||
});
|
||||
},
|
||||
//获取切片工段人员和活化工段人员
|
||||
getUserList() {
|
||||
let that = this;
|
||||
this.$API.system.user.list
|
||||
.req({ mgroup__name: "切片", page: 0 })
|
||||
.then((res) => {
|
||||
that.userList2 = res;
|
||||
});
|
||||
this.$API.system.user.list
|
||||
.req({ mgroup__name: "活化", page: 0 })
|
||||
.then((res) => {
|
||||
that.userList = res;
|
||||
});
|
||||
},
|
||||
|
||||
//显示
|
||||
open(mode = "add") {
|
||||
this.mode = mode;
|
||||
this.visible = true;
|
||||
return this;
|
||||
},
|
||||
materialChange(val) {
|
||||
let data = this.materialOptions.filter((item) => {
|
||||
return item.id == val;
|
||||
});
|
||||
this.form.batch = data[0].batch;
|
||||
},
|
||||
//提交
|
||||
submit() {
|
||||
this.$refs.dialogForm.validate(async (valid) => {
|
||||
if (valid) {
|
||||
if (this.mode == "add") {
|
||||
this.$API.wpm.handover.create
|
||||
.req(this.form)
|
||||
.then((res) => {
|
||||
this.isSaveing = false;
|
||||
this.$emit("success", this.form, this.mode);
|
||||
this.visible = false;
|
||||
this.$message.success("操作成功");
|
||||
})
|
||||
.catch((err) => {
|
||||
//可以处理校验错误
|
||||
this.isSaveing = false;
|
||||
return err;
|
||||
});
|
||||
} else if (this.mode == "edit") {
|
||||
this.$API.wpm.handover.update
|
||||
.req(this.form.id, this.form)
|
||||
.then((res) => {
|
||||
this.isSaveing = false;
|
||||
this.$emit("success", this.form, this.mode);
|
||||
this.visible = false;
|
||||
this.$message.success("操作成功");
|
||||
})
|
||||
.catch((err) => {
|
||||
//可以处理校验错误
|
||||
this.isSaveing = false;
|
||||
return err;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
//表单注入数据
|
||||
setData(data) {
|
||||
Object.assign(this.form, data);
|
||||
},
|
||||
//设置过滤项
|
||||
setFilters(filters) {
|
||||
this.selectionFilters = filters;
|
||||
this.setFiltersVisible = true;
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style scoped>
|
||||
.formTitle {
|
||||
margin-bottom: 10px;
|
||||
font-weight: 600;
|
||||
}
|
||||
</style>
|
|
@ -1,5 +1,31 @@
|
|||
<template>
|
||||
<el-container>
|
||||
<el-header>
|
||||
<div class="left-panel">
|
||||
<el-button type="primary" @click="tomio" v-auth="'mio.do'"
|
||||
>领料</el-button
|
||||
>
|
||||
<el-button type="primary" @click="tomio" v-auth="'mio.do'"
|
||||
>入库</el-button
|
||||
>
|
||||
</div>
|
||||
<div class="right-panel">
|
||||
<!-- <el-button type="primary" @click="materialsChoses('wm')"
|
||||
>选择物料</el-button
|
||||
> -->
|
||||
<el-input
|
||||
style="margin-right: 5px"
|
||||
v-model="query.search"
|
||||
placeholder="名称"
|
||||
clearable
|
||||
></el-input>
|
||||
<el-button
|
||||
type="primary"
|
||||
icon="el-icon-search"
|
||||
@click="handleQuery"
|
||||
></el-button>
|
||||
</div>
|
||||
</el-header>
|
||||
<el-main class="nopadding">
|
||||
<scTable
|
||||
ref="table"
|
||||
|
@ -14,37 +40,23 @@
|
|||
width="50"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="工段名称"
|
||||
prop="name"
|
||||
label="物料名称"
|
||||
prop="material_name"
|
||||
min-width="100"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="批次号"
|
||||
prop="batch"
|
||||
min-width="100"
|
||||
></el-table-column>
|
||||
<el-table-column label="所在工序" prop="cate" min-width="100">
|
||||
<template #default="scope">
|
||||
<span
|
||||
>{{ scope.row.process_cate }} -
|
||||
{{ scope.row.process_name }}</span
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="所属部门"
|
||||
prop="belong_dept_name"
|
||||
min-width="150"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="班次规则"
|
||||
prop="shift_rule"
|
||||
min-width="80"
|
||||
></el-table-column>
|
||||
<!-- <el-table-column label="能源监测" prop="need_enm" min-width="80">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.need_enm">是</span>
|
||||
<span v-else>否</span>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column
|
||||
label="排序"
|
||||
prop="sort"
|
||||
label="数量"
|
||||
prop="count"
|
||||
min-width="80"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
|
@ -86,16 +98,35 @@
|
|||
</el-table-column>
|
||||
</scTable>
|
||||
</el-main>
|
||||
<el-dialog title="选择物料" v-model="materialsVisible" width="90%">
|
||||
<materials
|
||||
style="height: 500px"
|
||||
:materialType="materialType"
|
||||
ref="materialsChose"
|
||||
@choseChange="choseChange"
|
||||
></materials>
|
||||
</el-dialog>
|
||||
</el-container>
|
||||
</template>
|
||||
<script>
|
||||
import materials from "./../mtm/materials.vue";
|
||||
export default {
|
||||
name: "mgroup",
|
||||
props: {
|
||||
mgroupName: {
|
||||
type: String,
|
||||
default: "",
|
||||
},
|
||||
},
|
||||
components: {
|
||||
materials,
|
||||
},
|
||||
name: "wmaterial",
|
||||
data() {
|
||||
return {
|
||||
// apiObj: this.$API.mtm.mgroup.list,
|
||||
apiObj: null,
|
||||
params: { cate: "photon" },
|
||||
params: {
|
||||
mgroupx: "",
|
||||
},
|
||||
query: {},
|
||||
dialog: {
|
||||
save: false,
|
||||
|
@ -103,38 +134,36 @@ export default {
|
|||
},
|
||||
tableData: [],
|
||||
selection: [],
|
||||
cates_: {
|
||||
section: "工序",
|
||||
other: "其他",
|
||||
queryWm: {
|
||||
search: "",
|
||||
material: "",
|
||||
},
|
||||
materialType: "wm",
|
||||
visibleDrawer: false,
|
||||
};
|
||||
},
|
||||
mounted() {},
|
||||
mounted() {
|
||||
let that = this;
|
||||
that.$API.mtm.mgroup.list
|
||||
.req({ page: 0, search: that.mgroupName })
|
||||
.then((res) => {
|
||||
that.mgroupId = res[0].id;
|
||||
that.params.mgroupx = res[0].id;
|
||||
that.apiObj = that.$API.wpm.wmaterial.list;
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
//添加
|
||||
table_add() {
|
||||
this.dialog.save = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.saveDialog.open("add");
|
||||
});
|
||||
materialsChoses(str) {
|
||||
this.materialType = str;
|
||||
this.materialsVisible = true;
|
||||
},
|
||||
//编辑
|
||||
table_edit(row) {
|
||||
this.dialog.save = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.saveDialog.open("edit").setData(row);
|
||||
});
|
||||
choseChange(data) {
|
||||
this.queryWm.material = data;
|
||||
this.$refs.table_wm.queryData(this.queryWm);
|
||||
this.materialsVisible = false;
|
||||
},
|
||||
//删除
|
||||
async table_del(row) {
|
||||
var id = row.id;
|
||||
var res = await this.$API.mtm.mgroup.delete.req(id);
|
||||
if (res.err_msg) {
|
||||
this.$message.error(res.err_msg);
|
||||
} else {
|
||||
this.$refs.table.refresh();
|
||||
this.$message.success("删除成功");
|
||||
}
|
||||
tomio() {
|
||||
this.$router.push({ name: "halfgood_mio" });
|
||||
},
|
||||
//表格选择后回调事件
|
||||
selectionChange(selection) {
|
||||
|
@ -145,7 +174,6 @@ export default {
|
|||
this.$refs.table.queryData(this.query);
|
||||
},
|
||||
//本地更新数据
|
||||
//新增岗位后更新数据
|
||||
handleSaveSuccess(data, mode) {
|
||||
this.dialog.save = true;
|
||||
this.$refs.table.refresh();
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
@closed="$emit('closed')"
|
||||
>
|
||||
<div>
|
||||
<el-card style="width: 100%" header="基本信息" shadow="hover">
|
||||
<el-card style="width: 100%" header="基本信息" shadow="never">
|
||||
<el-descriptions>
|
||||
<el-descriptions-item label="工艺路线">{{
|
||||
mlogItem.material_out_name
|
||||
|
@ -34,47 +34,64 @@
|
|||
mlogItem.create_time
|
||||
}}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="mioSubmit"
|
||||
v-auth="'mio.submit'"
|
||||
v-if="mlogItem.state == 10"
|
||||
<div
|
||||
style="
|
||||
padding: 5px 10px;
|
||||
display: flex;
|
||||
justify-content: end;
|
||||
"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
v-if="mlogItem.submit_time == null"
|
||||
@click="mlogUpdate"
|
||||
v-auth="'mlog.update'"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
v-if="mlogItem.submit_time == null"
|
||||
:loading="isSaveing"
|
||||
@click="mlogSubmit"
|
||||
>提交</el-button
|
||||
>
|
||||
</div>
|
||||
</el-card>
|
||||
<el-card style="width: 100%" header="输入信息" shadow="hover">
|
||||
<el-card
|
||||
style="width: 100%; margin: 1vh 0"
|
||||
header="物料消耗"
|
||||
shadow="never"
|
||||
>
|
||||
<div>
|
||||
<el-button
|
||||
type="primary"
|
||||
v-if="mlogItem.submit_time == null"
|
||||
icon="el-icon-plus"
|
||||
@click="table_add"
|
||||
>新增</el-button
|
||||
>
|
||||
</div>
|
||||
<scTable
|
||||
ref="table"
|
||||
ref="tableIn"
|
||||
:apiObj="apiObj"
|
||||
row-key="id"
|
||||
stripe
|
||||
:params="params"
|
||||
:params="paramsIn"
|
||||
hidePagination
|
||||
hideDo
|
||||
>
|
||||
<el-table-column type="index" width="50" />
|
||||
<el-table-column
|
||||
label="物料"
|
||||
prop="material"
|
||||
prop="material_in_name"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template #default="scope"
|
||||
>{{ scope.row.material_name }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
></el-table-column>
|
||||
<el-table-column label="批次号" prop="batch">
|
||||
</el-table-column>
|
||||
<el-table-column label="领用数量" prop="count_use">
|
||||
</el-table-column>
|
||||
<el-table-column label="破碎数量" prop="count_break">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="创建时间"
|
||||
prop="create_time"
|
||||
|
@ -90,9 +107,17 @@
|
|||
<template #default="scope">
|
||||
<el-button
|
||||
link
|
||||
type="primary"
|
||||
@click="table_in_edit(scope.row)"
|
||||
:disabled="mlogItem.submit_time !== null"
|
||||
>
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
link
|
||||
:disabled="mlogItem.submit_time !== null"
|
||||
type="danger"
|
||||
@click="table_del(scope.row)"
|
||||
v-if="mlogItem.state == 10"
|
||||
@click="table_in_del(scope.row)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
|
@ -100,29 +125,24 @@
|
|||
</el-table-column>
|
||||
</scTable>
|
||||
</el-card>
|
||||
<el-card style="width: 100%" header="输出信息" shadow="hover">
|
||||
<el-card style="width: 100%" header="产出物料" shadow="never">
|
||||
<scTable
|
||||
ref="table"
|
||||
ref="tableOut"
|
||||
:apiObj="apiObj"
|
||||
row-key="id"
|
||||
stripe
|
||||
:params="params"
|
||||
:params="paramsOut"
|
||||
hidePagination
|
||||
hideDo
|
||||
>
|
||||
<el-table-column type="index" width="50" />
|
||||
<el-table-column
|
||||
label="物料"
|
||||
prop="material"
|
||||
label="产出物料"
|
||||
prop="material_out_name"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template #default="scope"
|
||||
>{{ scope.row.material_name }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
></el-table-column>
|
||||
<el-table-column label="批次号" prop="batch">
|
||||
</el-table-column>
|
||||
<el-table-column label="数量" prop="count">
|
||||
<el-table-column label="数量" prop="count_real">
|
||||
</el-table-column>
|
||||
<el-table-column label="不合格数量" prop="count_notok">
|
||||
</el-table-column>
|
||||
|
@ -142,7 +162,8 @@
|
|||
<el-button
|
||||
link
|
||||
type="primary"
|
||||
@click="table_check(scope.row)"
|
||||
:disabled="mlogItem.submit_time !== null"
|
||||
@click="table_out_check(scope.row)"
|
||||
>
|
||||
检验
|
||||
</el-button>
|
||||
|
@ -151,18 +172,13 @@
|
|||
link
|
||||
type="danger"
|
||||
@click="check_reSet(scope.row)"
|
||||
v-if="scope.row.test_date !== null"
|
||||
:disabled="
|
||||
mlogItem.submit_time !== null &&
|
||||
scope.row.test_date !== null
|
||||
"
|
||||
>
|
||||
撤回
|
||||
</el-button>
|
||||
<el-button
|
||||
link
|
||||
type="danger"
|
||||
@click="table_del(scope.row)"
|
||||
v-if="mlogItem.state == 10"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
|
@ -176,11 +192,66 @@
|
|||
@closed="dialog.save = false"
|
||||
>
|
||||
</save-dialog>
|
||||
<check-dialog
|
||||
v-if="dialog.check"
|
||||
ref="checkDialog"
|
||||
@success="handleCheckSuccess"
|
||||
@closed="dialog.check = false"
|
||||
>
|
||||
</check-dialog>
|
||||
<el-dialog v-model="saveInDialog" title="新增/编辑">
|
||||
<el-form
|
||||
:model="saveInForm"
|
||||
:rules="rules"
|
||||
label-width="100px"
|
||||
ref="saveInForm"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :span="23">
|
||||
<el-form-item label="领取数量" prop="count_use">
|
||||
<el-input-number
|
||||
v-model="saveInForm.count_use"
|
||||
:min="1"
|
||||
style="width: 100%"
|
||||
controls-position="right"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="23">
|
||||
<el-form-item label="破碎数量" prop="count_break">
|
||||
<el-input-number
|
||||
v-model="saveInForm.count_break"
|
||||
:min="0"
|
||||
style="width: 100%"
|
||||
controls-position="right"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
<el-button
|
||||
type="primary"
|
||||
:loading="isSaveing"
|
||||
@click="saveInSubmit()"
|
||||
>保 存</el-button
|
||||
>
|
||||
</template>
|
||||
</el-dialog>
|
||||
<edit-dialog
|
||||
v-if="dialog.edit"
|
||||
ref="editDialog"
|
||||
@success="handleEditSuccess"
|
||||
@closed="dialog.edit = false"
|
||||
>
|
||||
</edit-dialog>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</template>
|
||||
<script>
|
||||
import editDialog from "./mlog_form.vue";
|
||||
import saveDialog from "./mlogb_form.vue";
|
||||
import checkDialog from "./mlogb_check.vue";
|
||||
export default {
|
||||
props: {
|
||||
mlogId: {
|
||||
|
@ -189,7 +260,9 @@ export default {
|
|||
},
|
||||
},
|
||||
components: {
|
||||
editDialog,
|
||||
saveDialog,
|
||||
checkDialog,
|
||||
},
|
||||
emits: ["success", "closed"],
|
||||
data() {
|
||||
|
@ -199,23 +272,53 @@ export default {
|
|||
form: {},
|
||||
dialog: {
|
||||
save: false,
|
||||
edit: false,
|
||||
check: false,
|
||||
},
|
||||
apiObj: null,
|
||||
params: {
|
||||
paramsIn: {
|
||||
page: 0,
|
||||
mlog: "",
|
||||
material_in__isnull: 0,
|
||||
},
|
||||
paramsOut: {
|
||||
page: 0,
|
||||
mlog: "",
|
||||
material_out__isnull: 0,
|
||||
},
|
||||
mgroup: "",
|
||||
mlogItem: {},
|
||||
saveInForm: {
|
||||
count_use: 0,
|
||||
count_break: 0,
|
||||
},
|
||||
visible: false,
|
||||
isSaveing: false,
|
||||
options: [],
|
||||
saveInDialog: false,
|
||||
setFiltersVisible: false,
|
||||
rules: {
|
||||
count_use: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入领取数量",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
count_break: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入破碎数量",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.getMlogItem();
|
||||
this.params.mlog = this.mlogId;
|
||||
this.paramsIn.mlog = this.mlogId;
|
||||
this.paramsOut.mlog = this.mlogId;
|
||||
this.apiObj = this.$API.wpm.mlogb.list;
|
||||
},
|
||||
methods: {
|
||||
|
@ -235,41 +338,86 @@ export default {
|
|||
Object.assign(this.form, data);
|
||||
this.getRoute(data.id);
|
||||
},
|
||||
//编辑
|
||||
mlogUpdate() {
|
||||
this.dialog.edit = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.editDialog.open("edit").setData(this.mlogItem);
|
||||
});
|
||||
},
|
||||
// mlogUpdate(data) {
|
||||
// this.$refs.editDialog.open().setData(data);
|
||||
// },
|
||||
table_add() {
|
||||
this.dialog.save = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.saveDialog.open();
|
||||
});
|
||||
},
|
||||
table_del(row) {
|
||||
this.$confirm("确定删除吗?").then(() => {
|
||||
this.$API.wpm.mlogb.delIn.req(row.id).then((res) => {
|
||||
this.$message.success("操作成功");
|
||||
this.$refs.table.refresh();
|
||||
//自检
|
||||
table_in_edit(row) {
|
||||
this.saveInForm = row;
|
||||
this.saveInDialog = true;
|
||||
},
|
||||
//提交自检
|
||||
saveInSubmit() {
|
||||
let that = this;
|
||||
that.$refs.saveInForm.validate(async (valid) => {
|
||||
if (valid) {
|
||||
that.isSaveing = true;
|
||||
let obj = {};
|
||||
obj.count_use = that.saveInForm.count_use;
|
||||
obj.count_break = that.saveInForm.count_break;
|
||||
that.$API.wpm.mlogb.updateIn
|
||||
.req(that.saveInForm.id, obj)
|
||||
.then((res) => {
|
||||
that.isSaveing = false;
|
||||
that.$message.success("操作成功");
|
||||
that.saveInDialog = false;
|
||||
that.$refs.tableIn.refresh();
|
||||
that.$refs.tableOut.refresh();
|
||||
})
|
||||
.catch(() => {
|
||||
that.isSaveing = false;
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
table_in_del(row) {
|
||||
let that = this;
|
||||
that.$confirm("确定删除吗?").then(() => {
|
||||
that.$API.wpm.mlogb.delIn.req(row.id).then((res) => {
|
||||
that.$message.success("操作成功");
|
||||
that.$refs.tableIn.refresh();
|
||||
that.$refs.tableOut.refresh();
|
||||
//删除in记录后,out也要删除相应的记录
|
||||
});
|
||||
});
|
||||
},
|
||||
//表单提交方法
|
||||
submit() {
|
||||
let that = this;
|
||||
that.$refs.dialogForm.validate(async (valid) => {
|
||||
if (valid) {
|
||||
that.isSaveing = true;
|
||||
that.form.mgroup = that.mgroup;
|
||||
if (that.mode === "add") {
|
||||
that.$API.wpm.mlog.init.req(that.form).then((res) => {
|
||||
that.isSaveing = false;
|
||||
that.$emit("success");
|
||||
that.visible = false;
|
||||
that.$message.success("操作成功");
|
||||
});
|
||||
} else {
|
||||
}
|
||||
}
|
||||
table_out_check(row) {
|
||||
this.dialog.check = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.checkDialog.open(row);
|
||||
});
|
||||
},
|
||||
handleSaveSuccess() {},
|
||||
|
||||
//表单提交方法
|
||||
mlogSubmit() {
|
||||
let that = this;
|
||||
that.$API.wpm.mlog.submit.req(that.mlogItem.id).then((res) => {
|
||||
that.isSaveing = false;
|
||||
that.visible = false;
|
||||
that.$message.success("操作成功");
|
||||
});
|
||||
},
|
||||
handleSaveSuccess() {
|
||||
this.$refs.tableIn.refresh();
|
||||
this.$refs.tableOut.refresh();
|
||||
},
|
||||
handleCheckSuccess() {
|
||||
this.$refs.tableOut.refresh();
|
||||
},
|
||||
handleEditSuccess() {},
|
||||
//设置过滤项
|
||||
setFilters(filters) {
|
||||
this.selectionFilters = filters;
|
||||
|
|
|
@ -16,87 +16,129 @@
|
|||
label-width="80px"
|
||||
style="padding: 0 10px"
|
||||
>
|
||||
<el-form-item label="开始时间" prop="work_start_time">
|
||||
<el-date-picker
|
||||
v-model="form.work_start_time"
|
||||
type="datetime"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="间隔提醒">
|
||||
<el-input-number
|
||||
v-model="form.reminder_interval_list[0]"
|
||||
:min="1"
|
||||
style="width: 25%"
|
||||
controls-position="right"
|
||||
/>
|
||||
<el-input-number
|
||||
v-model="form.reminder_interval_list[1]"
|
||||
:min="1"
|
||||
style="width: 25%"
|
||||
controls-position="right"
|
||||
/>
|
||||
<el-input-number
|
||||
v-model="form.reminder_interval_list[2]"
|
||||
:min="1"
|
||||
style="width: 25%"
|
||||
controls-position="right"
|
||||
/>
|
||||
<el-input-number
|
||||
v-model="form.reminder_interval_list[3]"
|
||||
:min="1"
|
||||
style="width: 25%"
|
||||
controls-position="right"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="生产路线" prop="route">
|
||||
<el-select
|
||||
v-model="form.route"
|
||||
placeholder="生产路线"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in routeOptions"
|
||||
:key="item.id"
|
||||
:label="item.process_name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="生产设备">
|
||||
<el-select
|
||||
v-model="form.equipment"
|
||||
placeholder="生产设备"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="操作人">
|
||||
<el-select
|
||||
v-model="form.handle_user"
|
||||
placeholder="操作人"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="form.note" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-row>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item
|
||||
label="开始时间"
|
||||
prop="work_start_time"
|
||||
>
|
||||
<el-date-picker
|
||||
:disabled="mode == 'edit'"
|
||||
v-model="form.work_start_time"
|
||||
type="datetime"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="结束时间" prop="work_end_time">
|
||||
<el-date-picker
|
||||
v-model="form.work_end_time"
|
||||
type="datetime"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="间隔提醒">
|
||||
<el-input-number
|
||||
v-model="form.reminder_interval_list[0]"
|
||||
:min="1"
|
||||
:disabled="mode == 'edit'"
|
||||
style="width: 25%"
|
||||
controls-position="right"
|
||||
/>
|
||||
<el-input-number
|
||||
v-model="form.reminder_interval_list[1]"
|
||||
:min="1"
|
||||
:disabled="mode == 'edit'"
|
||||
style="width: 25%"
|
||||
controls-position="right"
|
||||
/>
|
||||
<el-input-number
|
||||
v-model="form.reminder_interval_list[2]"
|
||||
:min="1"
|
||||
:disabled="mode == 'edit'"
|
||||
style="width: 25%"
|
||||
controls-position="right"
|
||||
/>
|
||||
<el-input-number
|
||||
v-model="form.reminder_interval_list[3]"
|
||||
:min="1"
|
||||
:disabled="mode == 'edit'"
|
||||
style="width: 25%"
|
||||
controls-position="right"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="生产路线" prop="route">
|
||||
<el-select
|
||||
v-model="form.route"
|
||||
placeholder="生产路线"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
:disabled="mode == 'edit'"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in routeOptions"
|
||||
:key="item.id"
|
||||
:label="item.process_name"
|
||||
:value="item.id"
|
||||
>
|
||||
<span
|
||||
>{{ item.routepack_name }}-{{
|
||||
item.process_name
|
||||
}}</span
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="生产设备">
|
||||
<el-select
|
||||
v-model="form.equipment"
|
||||
placeholder="生产设备"
|
||||
clearable
|
||||
:disabled="mode == 'edit'"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in options"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="操作人">
|
||||
<el-select
|
||||
v-model="form.handle_user"
|
||||
placeholder="操作人"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="备注">
|
||||
<el-input
|
||||
v-model="form.note"
|
||||
clearable
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-main>
|
||||
<el-footer>
|
||||
|
@ -202,6 +244,7 @@ export default {
|
|||
},
|
||||
//表单注入数据
|
||||
setData(data) {
|
||||
console.log("data", data);
|
||||
Object.assign(this.form, data);
|
||||
this.getRoute(data.id);
|
||||
},
|
||||
|
@ -224,14 +267,18 @@ export default {
|
|||
that.$message.success("操作成功");
|
||||
});
|
||||
} else {
|
||||
// that.$API.mtm.mgroup.update
|
||||
// .req(that.form.id, that.form)
|
||||
// .then((res) => {
|
||||
// that.isSaveing = false;
|
||||
// that.$emit("success", that.form, that.mode);
|
||||
// that.visible = false;
|
||||
// that.$message.success("操作成功");
|
||||
// });
|
||||
let obj = {};
|
||||
obj.work_end_time = that.form.work_end_time;
|
||||
obj.handle_user = that.form.handle_user;
|
||||
obj.note = that.form.note;
|
||||
that.$API.wpm.mlog.change
|
||||
.req(that.form.id, that.form)
|
||||
.then((res) => {
|
||||
that.isSaveing = false;
|
||||
that.$emit("success");
|
||||
that.visible = false;
|
||||
that.$message.success("操作成功");
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
@ -0,0 +1,214 @@
|
|||
<template>
|
||||
<el-dialog
|
||||
title="过程检验"
|
||||
v-model="visible"
|
||||
:size="1000"
|
||||
destroy-on-close
|
||||
@closed="$emit('closed')"
|
||||
>
|
||||
<el-container v-loading="loading">
|
||||
<el-main style="padding: 0 20px 20px 20px">
|
||||
<el-form
|
||||
ref="dialogForm"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
label-position="right"
|
||||
label-width="100px"
|
||||
style="padding: 0 10px"
|
||||
>
|
||||
<el-row>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="批次号" prop="batch">
|
||||
<el-input
|
||||
v-model="form.batch"
|
||||
:disabled="batchDisabled"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="实际生产数">
|
||||
<el-input-number
|
||||
v-model="form.count_real"
|
||||
:min="0"
|
||||
class="width-100"
|
||||
controls-position="right"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="合格数量">
|
||||
<el-input-number
|
||||
v-model="form.count_ok"
|
||||
:min="0"
|
||||
class="width-100"
|
||||
controls-position="right"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="不合格数量">
|
||||
<el-input-number
|
||||
v-model="form.count_notok"
|
||||
:min="0"
|
||||
class="width-100"
|
||||
controls-position="right"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="划伤">
|
||||
<el-input-number
|
||||
v-model="form.count_n_hs"
|
||||
:min="0"
|
||||
class="width-100"
|
||||
controls-position="right"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="气泡">
|
||||
<el-input-number
|
||||
v-model="form.count_n_qp"
|
||||
:min="0"
|
||||
class="width-100"
|
||||
controls-position="right"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="水纹">
|
||||
<el-input-number
|
||||
v-model="form.count_n_swen"
|
||||
:min="0"
|
||||
class="width-100"
|
||||
controls-position="right"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="崩边">
|
||||
<el-input-number
|
||||
v-model="form.count_n_bb"
|
||||
:min="0"
|
||||
class="width-100"
|
||||
controls-position="right"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="雾面">
|
||||
<el-input-number
|
||||
v-model="form.count_n_wm"
|
||||
:min="0"
|
||||
class="width-100"
|
||||
controls-position="right"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="麻点">
|
||||
<el-input-number
|
||||
v-model="form.count_n_md"
|
||||
:min="0"
|
||||
class="width-100"
|
||||
controls-position="right"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="线痕">
|
||||
<el-input-number
|
||||
v-model="form.count_n_xh"
|
||||
:min="0"
|
||||
class="width-100"
|
||||
controls-position="right"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-main>
|
||||
<el-footer>
|
||||
<el-button type="primary" :loading="isSaveing" @click="submit"
|
||||
>保存</el-button
|
||||
>
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
</el-footer>
|
||||
</el-container>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
emits: ["success", "closed"],
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
//表单数据
|
||||
form: {},
|
||||
//验证规则
|
||||
rules: {
|
||||
batch: [
|
||||
{
|
||||
required: true,
|
||||
message: "请填写批次号",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
count_use: [
|
||||
{
|
||||
required: true,
|
||||
message: "请填写领用数量",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
},
|
||||
options: [],
|
||||
materialOptions: [],
|
||||
visible: false,
|
||||
isSaveing: false,
|
||||
batchDisabled: false,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
if (this.form.batch != null) {
|
||||
this.batchDisabled = true;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
open(data) {
|
||||
this.visible = true;
|
||||
Object.assign(this.form, data);
|
||||
console.log(this.form);
|
||||
},
|
||||
|
||||
//表单提交方法
|
||||
submit() {
|
||||
let that = this;
|
||||
that.$refs.dialogForm.validate(async (valid) => {
|
||||
if (valid) {
|
||||
that.isSaveing = true;
|
||||
that.form.mlog = that.mlog;
|
||||
that.$API.wpm.mlogb.updateOut
|
||||
.req(that.form.id, that.form)
|
||||
.then((res) => {
|
||||
that.isSaveing = false;
|
||||
that.$emit("success");
|
||||
that.visible = false;
|
||||
that.$message.success("操作成功");
|
||||
})
|
||||
.catch((err) => {
|
||||
that.isSaveing = false;
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.width-100 {
|
||||
width: 100%;
|
||||
}
|
||||
</style>
|
|
@ -33,8 +33,21 @@
|
|||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="批次号" prop="batch">
|
||||
<el-input v-model="form.batch" />
|
||||
<el-form-item label="批次号" prop="wm_in">
|
||||
<el-select
|
||||
v-model="form.wm_in"
|
||||
placeholder="交接物料"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in materialOptions"
|
||||
:key="item.id"
|
||||
:label="item.batch"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="领用数量">
|
||||
<el-input-number
|
||||
|
@ -43,9 +56,6 @@
|
|||
controls-position="right"
|
||||
/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="备注">
|
||||
<el-input v-model="form.note" clearable></el-input>
|
||||
</el-form-item> -->
|
||||
</el-form>
|
||||
</el-main>
|
||||
<el-footer>
|
||||
|
@ -84,12 +94,13 @@ export default {
|
|||
mode: "add",
|
||||
titleMap: {
|
||||
add: "新增",
|
||||
edit: "编辑",
|
||||
},
|
||||
//表单数据
|
||||
form: defaultForm,
|
||||
//验证规则
|
||||
rules: {
|
||||
batch: [
|
||||
wm_in: [
|
||||
{
|
||||
required: true,
|
||||
message: "请填写批次号",
|
||||
|
@ -105,6 +116,7 @@ export default {
|
|||
],
|
||||
},
|
||||
options: [],
|
||||
materialOptions: [],
|
||||
visible: false,
|
||||
isSaveing: false,
|
||||
setFiltersVisible: false,
|
||||
|
@ -112,6 +124,7 @@ export default {
|
|||
},
|
||||
mounted() {
|
||||
this.getMtask();
|
||||
this.getMaterial();
|
||||
},
|
||||
methods: {
|
||||
open() {
|
||||
|
@ -125,6 +138,15 @@ export default {
|
|||
that.options = res;
|
||||
});
|
||||
},
|
||||
//获取车间物料
|
||||
getMaterial() {
|
||||
let that = this;
|
||||
this.$API.wpm.wmaterial.list
|
||||
.req({ mgroupx: that.mgroup, page: 0 })
|
||||
.then((res) => {
|
||||
that.materialOptions = res;
|
||||
});
|
||||
},
|
||||
//表单提交方法
|
||||
submit() {
|
||||
let that = this;
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
row-key="id"
|
||||
:params="params"
|
||||
:query="params"
|
||||
@row-click="table_detail"
|
||||
>
|
||||
<el-table-column
|
||||
label="#"
|
||||
|
@ -69,6 +70,10 @@
|
|||
label="开始时间"
|
||||
prop="work_start_time"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="结束时间"
|
||||
prop="work_end_time"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="创建时间"
|
||||
prop="create_time"
|
||||
|
@ -80,6 +85,19 @@
|
|||
width="180"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
link
|
||||
size="small"
|
||||
v-auth="'mlog.update'"
|
||||
v-if="scope.row.submit_time == null"
|
||||
type="primary"
|
||||
@click.stop="table_edit(scope.row)"
|
||||
>编辑</el-button
|
||||
>
|
||||
<el-divider
|
||||
direction="vertical"
|
||||
v-if="scope.row.submit_time == null"
|
||||
></el-divider>
|
||||
<el-button
|
||||
link
|
||||
size="small"
|
||||
|
@ -88,29 +106,15 @@
|
|||
>详情</el-button
|
||||
>
|
||||
<el-divider direction="vertical"></el-divider>
|
||||
|
||||
<el-button
|
||||
link
|
||||
size="small"
|
||||
@click="table_edit(scope.row)"
|
||||
v-auth="'mgroup.update'"
|
||||
type="primary"
|
||||
>编辑</el-button
|
||||
v-auth="'mgroup.delete'"
|
||||
type="danger"
|
||||
@click.stop="table_del(scope.row, scope.$index)"
|
||||
>删除</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>
|
||||
|
@ -161,10 +165,6 @@ export default {
|
|||
},
|
||||
tableData: [],
|
||||
selection: [],
|
||||
cates_: {
|
||||
section: "工序",
|
||||
other: "其他",
|
||||
},
|
||||
mtask: "",
|
||||
mlogId: "",
|
||||
processId: "",
|
||||
|
@ -206,15 +206,20 @@ export default {
|
|||
});
|
||||
},
|
||||
//删除
|
||||
async table_del(row) {
|
||||
var id = row.id;
|
||||
var res = await this.$API.mtm.mgroup.delete.req(id);
|
||||
if (res.err_msg) {
|
||||
this.$message.error(res.err_msg);
|
||||
} else {
|
||||
this.$refs.table.refresh();
|
||||
this.$message.success("删除成功");
|
||||
}
|
||||
table_del(row) {
|
||||
this.$confirm(`确定删除吗?`, "提示", {
|
||||
type: "warning",
|
||||
}).then(() => {
|
||||
var id = row.id;
|
||||
this.$API.wpm.mlog.delete.req(id).then((res) => {
|
||||
if (res.err_msg) {
|
||||
this.$message.error(res.err_msg);
|
||||
} else {
|
||||
this.$refs.table.refresh();
|
||||
this.$message.success("删除成功");
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
//表格选择后回调事件
|
||||
selectionChange(selection) {
|
||||
|
|
|
@ -0,0 +1,132 @@
|
|||
<template>
|
||||
<div>
|
||||
<div id="pdfDom" class="container" ref="pdfContent">
|
||||
<div class="title">
|
||||
<span>光芯科技</span>
|
||||
<span>交接单</span>
|
||||
</div>
|
||||
<canvas id="barcode"></canvas>
|
||||
<p class="lineStyle">物料:{{ name }}</p>
|
||||
<p class="lineStyle">批次号:{{ batch }}</p>
|
||||
<p class="lineStyle">数量:{{ count }}</p>
|
||||
</div>
|
||||
<el-button type="primary" @click="toGetPdf">打印 </el-button>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import axios from "axios";
|
||||
import config from "@/config";
|
||||
import http from "@/utils/request";
|
||||
import getPdf from "@/utils/htmlToPdf";
|
||||
import PdfLoader from "@/utils/html2pdf";
|
||||
|
||||
import html2canvas from "html2canvas";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
name: "切片",
|
||||
batch: "2023-01-01",
|
||||
count: "1000",
|
||||
visible: false,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
var canvas = document.getElementById("barcode");
|
||||
var context = canvas.getContext("2d");
|
||||
context.clearRect(0, 0, 210, 270);
|
||||
JsBarcode("#barcode", "9780199532179", {
|
||||
format: "CODE128",
|
||||
displayValue: true,
|
||||
fontSize: 24,
|
||||
lineColor: "#000000",
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
toGetPdf(val = false, download = false) {
|
||||
let that = this;
|
||||
this.$nextTick(() => {
|
||||
setTimeout(() => {
|
||||
let title = "交接单";
|
||||
getPdf(title, download).then((res) => {
|
||||
console.log("res", res);
|
||||
// that.dataURLtoFile(res, "pdf");
|
||||
let obj = {};
|
||||
obj.file = res;
|
||||
obj.printer_name = "GP-3150TN";
|
||||
http.post(`http://192.168.1.242:8080/print/`, obj, {
|
||||
headers: { "Content-Type": "multipart/form-data" },
|
||||
}).then((res) => {
|
||||
console.log("postRes", res);
|
||||
});
|
||||
});
|
||||
}, 1000);
|
||||
});
|
||||
},
|
||||
/* 将base64转换为文件,接收2个参数,第一是base64,第二个是文件名字 最后返回文件对象 */
|
||||
dataURLtoFile(dataurl, filename) {
|
||||
var arr = dataurl.split(","),
|
||||
mime = arr[0].match(/:(.*?);/)[1],
|
||||
bstr = atob(arr[1]),
|
||||
n = bstr.length,
|
||||
u8arr = new Uint8Array(n);
|
||||
while (n--) {
|
||||
u8arr[n] = bstr.charCodeAt(n);
|
||||
}
|
||||
return new File([u8arr], filename, { type: mime });
|
||||
},
|
||||
|
||||
toGetPdf1() {
|
||||
let exportDiv = document.getElementById("pdfDom"); // 需要导出部分页面的id名
|
||||
this.pdfDownLoader = new PdfLoader(exportDiv, "print"); // fileName -->导出文件名, question-table -->防止被截断的class名
|
||||
this.pdfDownLoader.getPDF("0000");
|
||||
console.log(this.pdfDownLoader);
|
||||
},
|
||||
// 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>
|
||||
<style scoped>
|
||||
.container {
|
||||
width: 210px;
|
||||
height: 270px;
|
||||
padding: 10px 5px;
|
||||
border: 1px solid #dddddd;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
.title {
|
||||
/* display: flex;
|
||||
justify-content: space-between; */
|
||||
font-size: 18px;
|
||||
}
|
||||
#barcode {
|
||||
/* position: absolute; */
|
||||
width: 200px;
|
||||
height: 100px;
|
||||
}
|
||||
.lineStyle {
|
||||
font-size: 14px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
</style>
|
Loading…
Reference in New Issue