Merge branch 'master' of http://gitea.xxhhcty.xyz:8080/zcdsj/factory_web
This commit is contained in:
commit
cfc8529681
|
|
@ -13,37 +13,29 @@
|
|||
"@tinymce/tinymce-vue": "5.0.0",
|
||||
"animate.css": "^4.1.1",
|
||||
"axios": "1.3.4",
|
||||
"babylon": "^6.18.0",
|
||||
"babylonjs": "^6.46.0",
|
||||
"babylonjs-gui": "^6.46.0",
|
||||
"babylonjs-loaders": "^6.46.0",
|
||||
"cesium": "^1.126.0",
|
||||
"codemirror": "^5.65.17",
|
||||
"codemirror-editor-vue3": "^2.7.0",
|
||||
"compression-webpack-plugin": "^11.1.0",
|
||||
"copy-webpack-plugin": "^12.0.2",
|
||||
"core-js": "3.29.0",
|
||||
"cropperjs": "1.5.13",
|
||||
"crypto-browserify": "^3.12.0",
|
||||
"crypto-js": "4.1.1",
|
||||
"d3": "^7.6.1",
|
||||
"dagre": "^0.8.5",
|
||||
"dagre-d3": "^0.6.4",
|
||||
"dhtmlx-gantt": "^8.0.6",
|
||||
"echarts": "^5.5.1",
|
||||
"element-plus": "^2.8.4",
|
||||
"file-saver": "^2.0.5",
|
||||
"html2canvas": "^1.4.1",
|
||||
"json-editor-vue3": "^1.0.6",
|
||||
"jspdf": "^2.5.1",
|
||||
"moment": "^2.30.1",
|
||||
"node-polyfill-webpack-plugin": "^4.0.0",
|
||||
"nprogress": "0.2.0",
|
||||
"path": "^0.12.7",
|
||||
"print-js": "^1.6.0",
|
||||
"qrcodejs2": "0.0.2",
|
||||
"sortablejs": "1.15.0",
|
||||
"three": "^0.155.0",
|
||||
"tinymce": "6.3.2",
|
||||
"vue": "3.2.47",
|
||||
"vue-i18n": "9.2.2",
|
||||
|
|
|
|||
|
|
@ -161,8 +161,12 @@ export default {
|
|||
.el-calendar > .el-calendar__body {
|
||||
padding: 0 20px 20px;
|
||||
}
|
||||
|
||||
|
||||
.asyncColorSwitch .el-switch__label--right.is-active{
|
||||
color: #67c23a!important; /* 开启状态的文本颜色 */
|
||||
}
|
||||
.asyncColorSwitch .el-switch__label--left.is-active{
|
||||
color: #0052d9!important; /* 关闭状态的文本颜色 */
|
||||
}
|
||||
// .el-table thead.is-group th.el-table__cell.colorheader1{
|
||||
// background-color: rgb(255, 243, 202)!important;
|
||||
// }
|
||||
|
|
|
|||
|
|
@ -96,4 +96,10 @@ export default {
|
|||
},
|
||||
},
|
||||
},
|
||||
servertime: {
|
||||
name: "获取服务器时间",
|
||||
req: async function () {
|
||||
return await http.get(`${config.API_URL}/develop/server_time/`);
|
||||
},
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -60,6 +60,14 @@ export default {
|
|||
return await http.post(this.url, data);
|
||||
}
|
||||
},
|
||||
update: {
|
||||
name: "更新",
|
||||
req: async function(id, data){
|
||||
return await http.put(
|
||||
`${config.API_URL}/ofm/mroom/${id}/`,data
|
||||
);
|
||||
}
|
||||
},
|
||||
delete: {
|
||||
url: `${config.API_URL}/ofm/mroom/delete/`,
|
||||
name: "批量物理删除",
|
||||
|
|
|
|||
|
|
@ -22,6 +22,11 @@
|
|||
--el-color-primary-dark-9: #060f19;
|
||||
--el-border-radius-base: 2px;
|
||||
}
|
||||
|
||||
.el-collapse-item__content {
|
||||
padding-bottom: 1px;
|
||||
}
|
||||
|
||||
.el-tag {
|
||||
--el-tag-border-radius: 2px;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -224,6 +224,20 @@ export const actStateEnum = new EnumFactory({
|
|||
5: { text: '已关闭', type: 'info' },
|
||||
})
|
||||
|
||||
export const interveneTypeEnum = new EnumFactory({
|
||||
0: { text: '正常', type: 'primary' },
|
||||
1: { text: '转交', type: 'primary' },
|
||||
2: { text: '加签', type: 'info' },
|
||||
3: { text: '加签处理完成', type: 'primary' },
|
||||
4: { text: '接单', type: 'success' },
|
||||
5: { text: '评论', type: 'info' },
|
||||
6: { text: '删除', type: 'danger' },
|
||||
7: { text: '强制关闭', type: 'danger' },
|
||||
8: { text: '强制修改状态', type: 'danger' },
|
||||
10: { text: '撤回', type: 'danger' },
|
||||
11: { text: '抄送', type: 'info' },
|
||||
})
|
||||
|
||||
export const mCateEnum = new EnumFactory({
|
||||
'list': ['主要辅材','办公辅料','设备维护辅料','包装辅材','标识辅材','防护辅材','其他辅材','常规辅材','医护辅材','检测辅材','倒角辅材','减薄辅材','磨抛辅材','多线切辅材','精雕辅材','扫边辅材','黑化辅材']
|
||||
})
|
||||
|
|
@ -506,6 +506,7 @@ export default {
|
|||
configData5:{},
|
||||
scrollNum:0,
|
||||
scrollInterval:null,
|
||||
reloadInterval:null,
|
||||
//近七天日数组
|
||||
dayArr:[],
|
||||
visibals0: false,
|
||||
|
|
@ -525,6 +526,7 @@ export default {
|
|||
lineWidth:0,
|
||||
pieHeight:0,
|
||||
lineHeight:0,
|
||||
timeoutDuration : 86400000,
|
||||
setIntervals:null,
|
||||
};
|
||||
},
|
||||
|
|
@ -544,6 +546,38 @@ export default {
|
|||
this.timerTime = setInterval(() => {
|
||||
this.showTime();
|
||||
}, 1000);
|
||||
|
||||
|
||||
let lastActiveTime = new Date().getTime();
|
||||
let timer;
|
||||
// 重置最后活动时间并重启计时器
|
||||
function resetActiveTime() {
|
||||
console.log('用户活动');
|
||||
lastActiveTime = new Date().getTime();
|
||||
clearTimeout(timer);
|
||||
timer = setTimeout(checkIdleTime, that.timeoutDuration);
|
||||
}
|
||||
// 检查是否超时
|
||||
function checkIdleTime() {
|
||||
let currentTime = new Date().getTime();
|
||||
if (currentTime - lastActiveTime > that.timeoutDuration) {
|
||||
refreshPage();
|
||||
} else {
|
||||
resetActiveTime();
|
||||
}
|
||||
}
|
||||
// 刷新页面函数
|
||||
function refreshPage() {
|
||||
window.location.reload(true);
|
||||
}
|
||||
// 监听所有可能触发用户活动的行为并重置最后活动时间
|
||||
document.addEventListener('click', resetActiveTime);
|
||||
document.addEventListener('keypress', resetActiveTime);
|
||||
document.addEventListener('scroll', resetActiveTime);
|
||||
document.addEventListener('mousemove', resetActiveTime);
|
||||
that.reloadInterval = setInterval(() => {
|
||||
window.location.reload(true);
|
||||
},86400000)
|
||||
},
|
||||
methods: {
|
||||
//初始化视图
|
||||
|
|
@ -1026,9 +1060,11 @@ export default {
|
|||
clearInterval(that.timerTime);
|
||||
clearInterval(that.scrollInterval);
|
||||
clearInterval(that.setIntervals);
|
||||
clearInterval(that.reloadInterval);
|
||||
that.timerTime = null;
|
||||
that.scrollInterval = null;
|
||||
that.setIntervals = null;
|
||||
that.reloadInterval = null;
|
||||
},
|
||||
beforeDestoryed() {
|
||||
let that = this;
|
||||
|
|
@ -1036,9 +1072,11 @@ export default {
|
|||
clearInterval(that.timerTime);
|
||||
clearInterval(that.scrollInterval);
|
||||
clearInterval(that.setIntervals);
|
||||
clearInterval(that.reloadInterval);
|
||||
that.timerTime = null;
|
||||
that.scrollInterval = null;
|
||||
that.setIntervals = null;
|
||||
that.reloadInterval = null;
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -261,21 +261,16 @@
|
|||
<el-divider/>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="所属设备">
|
||||
<el-select
|
||||
<xtSelect
|
||||
:apiObj="apiObjEq"
|
||||
v-model="form.ep_belong"
|
||||
placeholder="所属设备"
|
||||
clearable
|
||||
filterable
|
||||
style="width: 100%"
|
||||
@clear="() => { form.ep_belong=null } "
|
||||
:label="form.ep_belong_name"
|
||||
placeholder="所属设备"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in epOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<el-table-column label="名称" prop="name"></el-table-column>
|
||||
<el-table-column label="位号" prop="number"></el-table-column>
|
||||
</xtSelect>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
|
|
@ -465,6 +460,7 @@ export default {
|
|||
mpointOptions: [],
|
||||
epOptions: [],
|
||||
materials: [],
|
||||
apiObjEq:this.$API.em.equipment.list,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
|
|
|
|||
|
|
@ -102,7 +102,6 @@
|
|||
import config from "@/config"
|
||||
import * as XLSX2 from "xlsx";
|
||||
import * as XLSX from "xlsx-style";
|
||||
import { fill } from "lodash";
|
||||
export default {
|
||||
name: "clock_record",
|
||||
components: {},
|
||||
|
|
|
|||
|
|
@ -34,7 +34,10 @@
|
|||
<span v-if="scope.row.material_&&scope.row.material_.number">{{ scope.row.material_.number }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="物料名称" prop="material_name">
|
||||
<el-table-column label="物料名称">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.material_&&scope.row.material_.name">{{ scope.row.material_.name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="货位号">
|
||||
<template #default="scope">
|
||||
|
|
|
|||
|
|
@ -63,8 +63,8 @@
|
|||
</el-table-column>
|
||||
<el-table-column width="140">
|
||||
<template #default="scope">
|
||||
<el-button type="primary" link v-if="project_code == 'gx'" @click="mbCheck(scope.row)">检验</el-button>
|
||||
<el-button type="success" link v-if="project_code == 'gx'" @click="mbCheckList(scope.row)">检验记录</el-button>
|
||||
<!-- <el-button type="primary" link v-if="project_code == 'gx'" @click="mbCheck(scope.row)">检验</el-button>
|
||||
<el-button type="success" link v-if="project_code == 'gx'" @click="mbCheckList(scope.row)">检验记录</el-button> -->
|
||||
<el-button type="text" @click="printMaterial(scope.row,'mb')">物料标签</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@
|
|||
<el-input
|
||||
v-if="form.type == 'pur_in'||form.type == 'other_in'"
|
||||
v-model="form.batch"
|
||||
clearable
|
||||
placeholder="手动输入批次号"
|
||||
:disabled="inputBatchDisable"
|
||||
/>
|
||||
|
|
@ -500,6 +501,9 @@ export default {
|
|||
} else {
|
||||
this.getBatchOptions();
|
||||
}
|
||||
if(that.project_code=='gx'&&that.type == 'pur_in'){
|
||||
that.form.batch = '无'
|
||||
}
|
||||
},
|
||||
getItem(options, id) {
|
||||
for (var i = 0; i < options.length; i++) {
|
||||
|
|
|
|||
|
|
@ -70,17 +70,10 @@
|
|||
min-width="80"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
v-if="baseCode!=='bxerp'"
|
||||
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"
|
||||
|
|
|
|||
|
|
@ -320,6 +320,7 @@ const defaultForm = {
|
|||
};
|
||||
export default {
|
||||
props: {
|
||||
count: { type: Number, default : 0 },
|
||||
routepack: { type: String, default: "" },
|
||||
},
|
||||
emits: ["success", "closed"],
|
||||
|
|
@ -455,8 +456,14 @@ export default {
|
|||
},
|
||||
//显示
|
||||
open(mode = "add") {
|
||||
this.mode = mode;
|
||||
this.visible = true;
|
||||
let that = this;
|
||||
that.mode = mode;
|
||||
that.visible = true;
|
||||
that.$nextTick(() => {
|
||||
if(that.count){
|
||||
that.form.sort = that.count+1;
|
||||
}
|
||||
})
|
||||
return this;
|
||||
},
|
||||
//表单注入数据
|
||||
|
|
|
|||
|
|
@ -1,59 +1,36 @@
|
|||
<template>
|
||||
<el-drawer
|
||||
title="查看"
|
||||
v-model="visible"
|
||||
:size="'90%'"
|
||||
destroy-on-close
|
||||
@closed="$emit('closed')"
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<el-container v-loading="loading">
|
||||
<el-header style="height: 80px;display: block;padding:0">
|
||||
<el-card shadow="hover">
|
||||
<el-descriptions :column="3" title="基本信息">
|
||||
<el-descriptions-item label="工艺名称:">{{
|
||||
form.name
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="物料名称:">{{
|
||||
form.material_name
|
||||
}}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
</el-header>
|
||||
<el-main id="degInnerMain">
|
||||
<el-container>
|
||||
<el-side style="width: 50%;overflow: scroll;">
|
||||
<div style="font-weight: 600;color: #303133;font-size: 16px;padding: 10px 0;position: fixed;">工艺路线流程图</div>
|
||||
<el-tabs
|
||||
v-if="tabsTitle.length>1"
|
||||
v-model="activeName"
|
||||
:tab-position="'left'"
|
||||
style="flex-direction: row;"
|
||||
@tab-click="tabshandleClick"
|
||||
>
|
||||
<el-tab-pane :label="item" v-for="item in tabsTitle" :key="item"></el-tab-pane>
|
||||
</el-tabs>
|
||||
<scDegra
|
||||
style="margin-top: 50px;"
|
||||
v-if="limitedWatch"
|
||||
ref="degraDialogs"
|
||||
:nodes="nodes"
|
||||
:edges="edges"
|
||||
:rankdir="'DL'"
|
||||
@closeDialog="limitedWatch = false"
|
||||
>
|
||||
</scDegra>
|
||||
</el-side>
|
||||
<el-main>
|
||||
<scTable
|
||||
ref="tables"
|
||||
:data="tableData"
|
||||
row-key="id"
|
||||
hidePagination
|
||||
hideDo
|
||||
stripe
|
||||
border
|
||||
>
|
||||
<el-container v-loading="loading">
|
||||
|
||||
<el-main class="nopadding" style="padding-right: 1px;">
|
||||
<el-container>
|
||||
<el-header style="height: 80px;display: block;padding:0">
|
||||
<el-card shadow="hover">
|
||||
<el-descriptions :column="3" title="基本信息">
|
||||
<el-descriptions-item label="工艺名称:">{{
|
||||
form.name
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="物料名称:">{{
|
||||
form.material_name
|
||||
}}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-card>
|
||||
</el-header>
|
||||
<el-main>
|
||||
<el-container>
|
||||
<el-aside style="width: 50%;overflow: scroll;">
|
||||
<div
|
||||
style="font-weight: 600;color: #303133;font-size: 16px;padding: 10px 0;position: fixed;">
|
||||
工艺路线流程图</div>
|
||||
<el-tabs v-if="tabsTitle.length > 1" v-model="activeName" :tab-position="'left'"
|
||||
style="flex-direction: row;" @tab-click="tabshandleClick">
|
||||
<el-tab-pane :label="item" v-for="item in tabsTitle" :key="item"></el-tab-pane>
|
||||
</el-tabs>
|
||||
<scDegra style="margin-top: 50px;" v-if="limitedWatch" ref="degraDialogs" :nodes="nodes"
|
||||
:edges="edges" :rankdir="'DL'" @closeDialog="limitedWatch = false">
|
||||
</scDegra>
|
||||
</el-aside>
|
||||
<el-main class="padding: 1px">
|
||||
<scTable ref="tables" :data="tableData" row-key="id" hidePagination hideDo stripe border>
|
||||
<el-table-column label="排序" prop="sort" width="50">
|
||||
</el-table-column>
|
||||
<el-table-column label="工序" prop="process_name">
|
||||
|
|
@ -73,25 +50,36 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="工时" prop="hour_work">
|
||||
</el-table-column>
|
||||
<el-table-column label="批次校验" v-if="project_code!=='bxerp'">
|
||||
<el-table-column label="批次校验" v-if="project_code !== 'bxerp'">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.batch_bind" type="success">是</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
</el-main>
|
||||
</el-container>
|
||||
</el-main>
|
||||
</el-container>
|
||||
</el-drawer>
|
||||
</el-main>
|
||||
</el-container>
|
||||
|
||||
</el-main>
|
||||
|
||||
|
||||
</el-container>
|
||||
</el-main>
|
||||
<el-aside width="20%" v-if="form.ticket">
|
||||
<ticketd :ticketId="form.ticket"></ticketd>
|
||||
</el-aside>
|
||||
</el-container>
|
||||
</template>
|
||||
<script>
|
||||
import ticketd from '@/views/wf/ticketd.vue'
|
||||
export default {
|
||||
emits: ["success", "closed"],
|
||||
components: { ticketd },
|
||||
props: {
|
||||
t_id: { type: String, default: null },
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
visible: false,
|
||||
isSaveing: false,
|
||||
state_: {
|
||||
10: "创建中",
|
||||
|
|
@ -99,24 +87,29 @@ export default {
|
|||
40: "进行中",
|
||||
50: "已完成",
|
||||
},
|
||||
tracking_:{
|
||||
10:"批次",
|
||||
20:"单个",
|
||||
tracking_: {
|
||||
10: "批次",
|
||||
20: "单个",
|
||||
},
|
||||
form: {},
|
||||
nodes:[],
|
||||
edges:[],
|
||||
tabsTitle:['总图'],
|
||||
tabsData:{},
|
||||
form: {
|
||||
ticket: null
|
||||
},
|
||||
nodes: [],
|
||||
edges: [],
|
||||
tabsTitle: ['总图'],
|
||||
tabsData: {},
|
||||
tableData: [],
|
||||
project_code: "",
|
||||
activeName:"总图",
|
||||
limitedWatch:false,
|
||||
activeName: "总图",
|
||||
limitedWatch: false,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
this.project_code = this.$TOOL.data.get("BASE_INFO").base.base_code;
|
||||
this.tableData = [];
|
||||
if (this.t_id) {
|
||||
this.getRoutePackDetail(this.t_id);
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//显示
|
||||
|
|
@ -132,13 +125,17 @@ export default {
|
|||
that.getDEGdatas(data.id);
|
||||
this.getTabsList(data.id);
|
||||
},
|
||||
getDEGdatas(id){
|
||||
async getRoutePackDetail(id) {
|
||||
let res = await this.$API.mtm.routepack.item.req(id);
|
||||
this.setData(res);
|
||||
},
|
||||
getDEGdatas(id) {
|
||||
let that = this;
|
||||
that.$API.mtm.routepack.dag.req(id).then((res) => {
|
||||
that.nodes = res.nodes;
|
||||
that.nodes = res.nodes;
|
||||
that.edges = res.edges;
|
||||
that.tabsData['总图'] = res;
|
||||
if(!that.limitedWatch){
|
||||
if (!that.limitedWatch) {
|
||||
that.limitedWatch = true;
|
||||
that.$nextTick(() => {
|
||||
that.$refs.degraDialogs.open();
|
||||
|
|
@ -146,17 +143,17 @@ export default {
|
|||
}
|
||||
})
|
||||
},
|
||||
getTabsList(id){
|
||||
getTabsList(id) {
|
||||
let that = this;
|
||||
that.$API.mtm.routepack.dags.req(id).then((res) => {
|
||||
let arr = [];
|
||||
for(let key in res){
|
||||
for (let key in res) {
|
||||
arr.push(key);
|
||||
}
|
||||
if(arr.length>1){
|
||||
for(let key in res){
|
||||
if (arr.length > 1) {
|
||||
for (let key in res) {
|
||||
that.tabsTitle.push(res[key].name);
|
||||
that.tabsData[res[key].name]=res[key];
|
||||
that.tabsData[res[key].name] = res[key];
|
||||
}
|
||||
}
|
||||
console.log(that.tabsData);
|
||||
|
|
@ -170,11 +167,11 @@ export default {
|
|||
this.tableData = res;
|
||||
});
|
||||
},
|
||||
tabshandleClick(val){
|
||||
tabshandleClick(val) {
|
||||
let that = this;
|
||||
let label = val.props.label;
|
||||
that.$nextTick(() => {
|
||||
that.nodes = that.tabsData[label].nodes;
|
||||
that.nodes = that.tabsData[label].nodes;
|
||||
that.edges = that.tabsData[label].edges;
|
||||
})
|
||||
},
|
||||
|
|
|
|||
|
|
@ -185,11 +185,17 @@
|
|||
@closed="saveClose"
|
||||
>
|
||||
</save-dialog>
|
||||
<show-dialog
|
||||
v-if="dialog.show"
|
||||
ref="showDialog"
|
||||
<el-drawer
|
||||
v-model="dialog.show"
|
||||
title="查看"
|
||||
:size="'90%'"
|
||||
destroy-on-close
|
||||
@closed="dialog.show = false"
|
||||
></show-dialog>
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<show-dialog ref="showDialog"></show-dialog>
|
||||
</el-drawer>
|
||||
|
||||
</template>
|
||||
<script>
|
||||
import saveDialog from "./routepack_form.vue";
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@
|
|||
<!--工序!-->
|
||||
<el-main class="nopadding" v-if="active === 1">
|
||||
<el-container>
|
||||
<el-side style="width: 50%;overflow: scroll;">
|
||||
<el-aside style="width: 50%;overflow: scroll;">
|
||||
<div style="font-weight: 600;color: #303133;font-size: 16px;padding: 10px 0;position: fixed;width: 30px;">工艺路线流程图</div>
|
||||
<scDegra
|
||||
style="margin-top: 50px;"
|
||||
|
|
@ -104,7 +104,7 @@
|
|||
:rankdir="'DL'"
|
||||
>
|
||||
</scDegra>
|
||||
</el-side>
|
||||
</el-aside>
|
||||
<el-main style="width: 50%;overflow: scroll;">
|
||||
<el-container>
|
||||
<el-header>
|
||||
|
|
@ -177,21 +177,15 @@
|
|||
</el-main>
|
||||
<el-footer v-if="active === 1" style="text-align: center">
|
||||
<el-button @click="handleLastStep" style="margin-right: 4px">上一步</el-button>
|
||||
<el-button
|
||||
v-for="item in initForm.transitions"
|
||||
:key="item.id"
|
||||
type="primary"
|
||||
:loading="isSaveing"
|
||||
:disabled="isSaveing"
|
||||
@click="submitTicketCreate(item.id)"
|
||||
style="margin-right: 4px"
|
||||
>{{ item.name }}</el-button>
|
||||
<ticketd_b_start :workflow_key="'routepack'" :title="form.name" :t_id="form.id" :ticketId="form.ticket"
|
||||
@success="$emit('closed')"></ticketd_b_start>
|
||||
<el-button @click="$emit('closed')" type="warning">退出</el-button>
|
||||
</el-footer>
|
||||
</el-container>
|
||||
<save-dialog
|
||||
v-if="dialog.save"
|
||||
ref="saveDialog"
|
||||
:count = "count"
|
||||
:routepack="routepack"
|
||||
@success="handleSaveSuccess"
|
||||
@closed="dialog.save = false"
|
||||
|
|
@ -200,9 +194,10 @@
|
|||
</template>
|
||||
<script>
|
||||
import saveDialog from "./route_form.vue";
|
||||
import ticketd_b_start from "@/views/wf/ticketd_b_start.vue";
|
||||
export default {
|
||||
name: "routepack_form",
|
||||
components: { saveDialog },
|
||||
components: { saveDialog, ticketd_b_start },
|
||||
data() {
|
||||
return {
|
||||
active: 0,
|
||||
|
|
@ -250,7 +245,7 @@ export default {
|
|||
mounted() {
|
||||
this.isSaveing = false;
|
||||
this.project_code = this.$TOOL.data.get("BASE_INFO").base.base_code;
|
||||
this.getInit();
|
||||
// this.getInit();
|
||||
// this.getMaterials();
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -296,6 +291,11 @@ export default {
|
|||
//组件点击下一步
|
||||
handleNextStep() {
|
||||
let that = this;
|
||||
// that.routepack = that.form.id;
|
||||
// that.query.routepack = that.form.id;
|
||||
// that.apiObj = that.$API.mtm.route.list;
|
||||
// that.active = 1;
|
||||
// that.getDEGdatas();
|
||||
let form = {};
|
||||
form.name = that.form.name;
|
||||
form.material = that.form.material;
|
||||
|
|
@ -338,6 +338,9 @@ export default {
|
|||
})
|
||||
},
|
||||
table_add() {
|
||||
let that = this;
|
||||
that.count = this.$refs.tables.total;
|
||||
console.log("count",that.count);
|
||||
this.dialog.save = true;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.saveDialog.open("add");
|
||||
|
|
@ -374,38 +377,6 @@ export default {
|
|||
return err;
|
||||
});
|
||||
},
|
||||
|
||||
//渲染工单提交按钮
|
||||
getInit() {
|
||||
let that = this;
|
||||
that.$API.wf.workflow.initkey.req("routepack").then((res) => {
|
||||
that.initForm = res;
|
||||
});
|
||||
},
|
||||
|
||||
//提交,创建工单
|
||||
submitTicketCreate(id) {
|
||||
let that = this;
|
||||
let ticket = {};
|
||||
that.isSaveing = true;
|
||||
ticket.title = that.form.name;
|
||||
ticket.workflow = that.initForm.workflow;
|
||||
ticket.ticket_data = {
|
||||
t_id: that.routepack,
|
||||
};
|
||||
ticket.transition = id;
|
||||
that.$API.wf.ticket.create
|
||||
.req(ticket)
|
||||
.then((res) => {
|
||||
that.tLoading = false;
|
||||
that.$message.success("提交成功");
|
||||
that.$emit("close");
|
||||
that.visible = false;
|
||||
})
|
||||
.catch((e) => {
|
||||
that.tLoading = false;
|
||||
});
|
||||
},
|
||||
//本地更新数据
|
||||
handleSaveSuccess() {
|
||||
console.log("handleSaveSuccess");
|
||||
|
|
|
|||
|
|
@ -93,55 +93,37 @@
|
|||
type="primary"
|
||||
:loading="isSaving"
|
||||
@click="submitHandle()"
|
||||
>保 存</el-button
|
||||
>
|
||||
>保 存</el-button>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import degraDialog from "../wf/degraD3.vue";
|
||||
export default {
|
||||
name: "index",
|
||||
// components: {
|
||||
// degraDialog
|
||||
// },
|
||||
name: "mroom",
|
||||
data() {
|
||||
return {
|
||||
workflowName:"",
|
||||
workFlowId:'',
|
||||
apiObj: this.$API.wf.workflow.list,
|
||||
selection: [],
|
||||
checkList: [],
|
||||
fileList: [],
|
||||
timeRange: [],
|
||||
lending_type: "",
|
||||
apiObj: this.$API.ofm.mroom.list,
|
||||
query: {},
|
||||
editId: null,
|
||||
isSaving: false,
|
||||
limitedVisible: false,
|
||||
limitedWatch: false,
|
||||
type: "add",
|
||||
titleMap: {
|
||||
add: "新增",
|
||||
edit: "编辑",
|
||||
show: "查看",
|
||||
},
|
||||
//表单数据
|
||||
addForm: {
|
||||
seal: [],
|
||||
seal_other: "",
|
||||
filename: "",
|
||||
contents: "",
|
||||
file_count: "",
|
||||
is_lending: "",
|
||||
contacts: "",
|
||||
lending_date: "",
|
||||
return_date: "",
|
||||
actual_return_date: "",
|
||||
reason: "",
|
||||
name: "",
|
||||
location: "",
|
||||
capacity: "",
|
||||
},
|
||||
rules: {
|
||||
name: [{ required: true, message: "请输入会议室名称", trigger: "blur" }],
|
||||
location: [{ required: true, message: "请输入地点", trigger: "blur" }],
|
||||
capacity: [{ required: true, message: "请输入容纳人数", trigger: "blur" }],
|
||||
},
|
||||
//验证规则
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -151,15 +133,12 @@ export default {
|
|||
this.limitedVisible = true;
|
||||
},
|
||||
handleCancel() {
|
||||
this.limitedVisible = false; // 关闭弹窗
|
||||
this.lending_type = ""; // 重置 lending_type
|
||||
// 如果需要,也可以重置整个表单:
|
||||
// this.addForm = { lending_type: "", ...其他字段... };
|
||||
},
|
||||
this.limitedVisible = false;
|
||||
},
|
||||
|
||||
submitHandle() {
|
||||
let that = this;
|
||||
this.$refs.addForm.validate((valid) => {
|
||||
that.$refs.addForm.validate((valid) => {
|
||||
if (valid) {
|
||||
that.isSaving = true;
|
||||
that.submit();
|
||||
|
|
@ -168,16 +147,14 @@ export default {
|
|||
},
|
||||
|
||||
async submit() {
|
||||
let that = this;
|
||||
let res = null;
|
||||
let that = this,res = null;
|
||||
console.log('that.type',that.type);
|
||||
console.log('that.addForm',that.addForm);
|
||||
try {
|
||||
if (that.type === "add") {
|
||||
res = await that.$API.ofm.mroom.create.req(that.addForm);
|
||||
} else {
|
||||
res = await that.$API.ofm.mroom.update.req(
|
||||
that.editId,
|
||||
that.addForm
|
||||
);
|
||||
res = await that.$API.ofm.mroom.update.req(that.addForm.id,that.addForm);
|
||||
}
|
||||
that.isSaving = false;
|
||||
that.limitedVisible = false;
|
||||
|
|
@ -186,77 +163,32 @@ export default {
|
|||
that.isSaving = false;
|
||||
}
|
||||
},
|
||||
fileUPSuccess(res) {
|
||||
let that = this;
|
||||
console.log('res',res);
|
||||
this.test_file = res.path;
|
||||
},
|
||||
mroomEidt(row) {
|
||||
this.type = "edit";
|
||||
this.editId = row.id;
|
||||
this.limitedVisible = true;
|
||||
this.addForm = Object.assign({}, row);
|
||||
}
|
||||
let that = this;
|
||||
that.type = "edit";
|
||||
that.editId = row.id;
|
||||
that.limitedVisible = true;
|
||||
that.addForm = Object.assign({}, row);
|
||||
},
|
||||
async mroomDel(row) {
|
||||
let that = this;
|
||||
var id = row.id;
|
||||
var res = await this.$API.ofm.mroom.delete.req(id);
|
||||
var res = await that.$API.ofm.mroom.delete.req(id);
|
||||
if (res.err_msg) {
|
||||
this.$message.error(res.err_msg);
|
||||
that.$message.error(res.err_msg);
|
||||
} else {
|
||||
this.$refs.table.refresh();
|
||||
this.$message.success("删除成功");
|
||||
that.$refs.table.refresh();
|
||||
that.$message.success("删除成功");
|
||||
}
|
||||
},
|
||||
|
||||
//搜索
|
||||
handleQuery() {
|
||||
this.$refs.table.queryData(this.query);
|
||||
},
|
||||
};
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<style scoped>
|
||||
.treeMain {
|
||||
height: 280px;
|
||||
overflow: auto;
|
||||
border: 1px solid #dcdfe6;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 10px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.2);
|
||||
background-color: #fefefe;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
border-radius: 5px;
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
.node rect {
|
||||
stroke: #606266;
|
||||
fill: #fff;
|
||||
}
|
||||
|
||||
.edgePath path {
|
||||
stroke: #606266;
|
||||
fill: #333;
|
||||
stroke-width: 1.5px;
|
||||
}
|
||||
|
||||
g.conditions > rect {
|
||||
fill: #00ffd0;
|
||||
stroke: #000;
|
||||
}
|
||||
|
||||
.el-icon-close {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.left-panel-group {
|
||||
display: flex;
|
||||
|
|
|
|||
|
|
@ -85,6 +85,11 @@
|
|||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="耗时(ms)"
|
||||
prop="response_ms"
|
||||
min-width="40"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="操作时间"
|
||||
prop="requested_at"
|
||||
|
|
|
|||
|
|
@ -352,6 +352,7 @@ export default {
|
|||
//mlog\handover
|
||||
params_mlog:{
|
||||
cbatch:'',
|
||||
ordering:'create_time',
|
||||
with_mlogb:'yes',
|
||||
query: " { id,material_out_name,mlogb_full,count_real,count_ok,is_fix,belong_dept_name,mgroup_name,handle_user_name,handle_date,reminder_interval_list,mstate_json,work_start_time,work_end_time,oinfo_json,submit_time,submit_user_name}"
|
||||
},
|
||||
|
|
@ -365,6 +366,7 @@ export default {
|
|||
item_mio__batch:'',
|
||||
},
|
||||
query:{
|
||||
ordering:'-update_time',
|
||||
batch:'',
|
||||
// material_start__type:30,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -28,8 +28,12 @@
|
|||
id="exportDiv"
|
||||
stripe
|
||||
>
|
||||
<!-- <el-table-column type="index" width="50" fixed="left"/> -->
|
||||
<el-table-column label="检测日期" fixed="left" prop="batch">
|
||||
<el-table-column label="单号" prop="batch" align="center" fixed="left">
|
||||
</el-table-column>
|
||||
<el-table-column label="检测日期" fixed="left" prop="batch" width="90">
|
||||
<template #default="scope">
|
||||
{{ scope.row.data.毛坯检测_日期 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="版型" prop="number" fixed="left">
|
||||
<template #default="scope">
|
||||
|
|
@ -165,8 +169,6 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="外形偏(0.5mm)" align="center" class-name="colorheader1">
|
||||
</el-table-column>
|
||||
<el-table-column label="单号" prop="batch" align="center" class-name="colorheader2">
|
||||
</el-table-column>
|
||||
<el-table-column label="备注" align="center" class-name="colorheader3">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data.毛坯检测_缺陷_备注 }}</span>
|
||||
|
|
@ -187,12 +189,8 @@ export default {
|
|||
querys:[[{field:"data__has_key",compare:"",value:"毛坯检测_日期"}]],
|
||||
},
|
||||
query:{
|
||||
name__contains:'',
|
||||
batch__contains:'',
|
||||
last_time__gte:'',
|
||||
last_time__lte:'',
|
||||
batch__contains:''
|
||||
},
|
||||
// apiObj: this.$API.wpm.wpr.query,
|
||||
apiObj: this.$API.wpm.batchstquery,
|
||||
options:[],
|
||||
tableData:[],
|
||||
|
|
@ -201,43 +199,17 @@ export default {
|
|||
methods: {
|
||||
handleQuery(){
|
||||
let that = this;
|
||||
let querys = [[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"毛坯检测_批次号"}]];
|
||||
let obj = {},obj1 = {},obj2 = {},obj3 = {};
|
||||
obj.field = 'data__毛坯检测_批次号';
|
||||
let querys = [[{field:"data__has_key",compare:"",value:"毛坯检测_日期"}]];
|
||||
let obj = {};
|
||||
obj.field = 'batch';
|
||||
obj.value = that.query.batch__contains;
|
||||
obj.compare = '';
|
||||
|
||||
obj1.field = 'last_time';
|
||||
obj1.value = that.query.last_time__gte;
|
||||
obj1.compare = 'gte';
|
||||
|
||||
obj2.field = 'last_time';
|
||||
obj2.value = that.query.last_time__lte;
|
||||
obj2.compare = 'lte';
|
||||
|
||||
obj3.field = 'data__毛坯检测_物料名';
|
||||
obj3.value = that.query.name__contains;
|
||||
obj3.compare = '';
|
||||
|
||||
if(that.query.batch__contains!==''&&that.query.batch__contains!==null){
|
||||
querys[0].push(obj);
|
||||
}
|
||||
if(that.query.last_time__gte!==''&&that.query.last_time__gte!==null){
|
||||
querys[0].push(obj1);
|
||||
}
|
||||
if(that.query.last_time__lte!==''&&that.query.last_time__lte!==null){
|
||||
querys[0].push(obj2);
|
||||
}
|
||||
if(that.query.name__contains!==''&&that.query.name__contains!==null){
|
||||
querys[0].push(obj3);
|
||||
}
|
||||
that.params.querys = querys;
|
||||
this.$refs.table.queryData(that.params);
|
||||
},
|
||||
getCountQt(data,type){
|
||||
let count_qt = 0,count = 0;
|
||||
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -37,31 +37,41 @@
|
|||
</el-table-column>
|
||||
<el-table-column label="扭转数" fixed="left">
|
||||
<template #default="scope">
|
||||
{{ scope.row.data.扭转检测_count_use }}
|
||||
{{ scope.row.data.扭后检测_count_use }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="扭后内质" align="center" class-name="colorheader1">
|
||||
<el-table-column label="合格" class-name="colorheader1">
|
||||
<el-table-column label="数量" class-name="colorheader1">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢2mm不合格']?scope.row.data.扭转检测_count_use-scope.row.data['扭转检测_缺陷_放大率¢2mm不合格']:scope.row.data.扭转检测_count_use }}</span>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_暗点不合格&&scope.row.data.扭后检测_含缺陷_暗点重">{{ scope.row.data.扭后检测_count_use - scope.row.data.扭后检测_含缺陷_暗点不合格 - scope.row.data.扭后检测_含缺陷_暗点重 }}</span>
|
||||
<span v-else>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_暗点重">{{ scope.row.data.扭后检测_count_use - scope.row.data.扭后检测_含缺陷_暗点重 }}</span>
|
||||
<span v-else-if="scope.row.data.扭后检测_含缺陷_暗点不合格">{{ scope.row.data.扭后检测_count_use - scope.row.data.扭后检测_含缺陷_暗点不合格 }}</span>
|
||||
<span v-else>{{ scope.row.data.扭后检测_count_use }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader1">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢2mm不合格_比例']?100-scope.row.data['扭转检测_缺陷_放大率¢2mm不合格_比例']:100 }}%</span>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_暗点不合格&&scope.row.data.扭后检测_含缺陷_暗点重">{{100- scope.row.data.扭后检测_含缺陷_暗点不合格_比例 - scope.row.data.扭后检测_含缺陷_暗点重_比例 }}%</span>
|
||||
<span v-else>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_暗点重">{{ 100 - scope.row.data.扭后检测_含缺陷_暗点重_比例 }}%</span>
|
||||
<span v-else-if="scope.row.data.扭后检测_含缺陷_暗点不合格">{{100- scope.row.data.扭后检测_含缺陷_暗点不合格_比例 }}%</span>
|
||||
<span v-else>100%</span>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="可加工" class-name="colorheader1">
|
||||
<el-table-column label="数量" class-name="colorheader1">
|
||||
<el-table-column label="数量" class-name="colorheader1">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢2mm不合格']?scope.row.data.扭转检测_count_use-scope.row.data['扭转检测_缺陷_放大率¢2mm不合格']:scope.row.data.扭转检测_count_use }}</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_暗点不合格?scope.row.data.扭后检测_含缺陷_暗点不合格:0 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader1">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢2mm不合格_比例']?100-scope.row.data['扭转检测_缺陷_放大率¢2mm不合格_比例']:100 }}%</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_暗点不合格?scope.row.data.扭后检测_含缺陷_暗点不合格_比例:0 }}%</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
|
|
@ -70,36 +80,46 @@
|
|||
<el-table-column label="无" class-name="colorheader2">
|
||||
<el-table-column label="数量" class-name="colorheader2">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']?scope.row.data.扭转检测_count_use-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']:scope.row.data.扭转检测_count_use }}</span>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_黑网轻&&scope.row.data.扭后检测_含缺陷_黑网重">{{ scope.row.data.扭后检测_count_use - scope.row.data.扭后检测_含缺陷_黑网轻 - scope.row.data.扭后检测_含缺陷_黑网重 }}</span>
|
||||
<span v-else>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_黑网轻">{{ scope.row.data.扭后检测_count_use - scope.row.data.扭后检测_含缺陷_黑网轻 }}</span>
|
||||
<span v-else-if="scope.row.data.扭后检测_含缺陷_黑网重">{{ scope.row.data.扭后检测_count_use - scope.row.data.扭后检测_含缺陷_黑网重 }}</span>
|
||||
<span v-else>{{ scope.row.data.扭后检测_count_use }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader2">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']?100-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']:100 }}%</span>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_黑网轻&&scope.row.data.扭后检测_含缺陷_黑网重">{{100- scope.row.data.扭后检测_含缺陷_黑网重_比例 - scope.row.data.扭后检测_含缺陷_黑网轻_比例 }}%</span>
|
||||
<span v-else>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_黑网轻">{{ 100 - scope.row.data.扭后检测_含缺陷_黑网轻_比例 }}%</span>
|
||||
<span v-else-if="scope.row.data.扭后检测_含缺陷_黑网重">{{100- scope.row.data.扭后检测_含缺陷_黑网重_比例 }}%</span>
|
||||
<span v-else>100%</span>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="轻" class-name="colorheader2">
|
||||
<el-table-column label="数量" class-name="colorheader2">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']?scope.row.data.扭转检测_count_use-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']:scope.row.data.扭转检测_count_use }}</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_黑网轻?scope.row.data.扭后检测_含缺陷_黑网轻:0 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader2">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']?100-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']:100 }}%</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_黑网轻_比例?scope.row.data.扭后检测_含缺陷_黑网轻_比例:0 }}%</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="重" class-name="colorheader2">
|
||||
<el-table-column label="数量" class-name="colorheader2">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']?scope.row.data.扭转检测_count_use-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']:scope.row.data.扭转检测_count_use }}</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_黑网重?scope.row.data.扭后检测_含缺陷_黑网重:0 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader2">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']?100-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']:100 }}%</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_黑网重_比例?scope.row.data.扭后检测_含缺陷_黑网重_比例:0 }}%</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
|
|
@ -108,36 +128,46 @@
|
|||
<el-table-column label="无" class-name="colorheader3">
|
||||
<el-table-column label="数量" class-name="colorheader3">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']?scope.row.data.扭转检测_count_use-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']:scope.row.data.扭转检测_count_use }}</span>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_白网轻&&scope.row.data.扭后检测_含缺陷_白网重">{{ scope.row.data.扭后检测_count_use - scope.row.data.扭后检测_含缺陷_白网轻 - scope.row.data.扭后检测_含缺陷_白网重 }}</span>
|
||||
<span v-else>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_白网轻">{{ scope.row.data.扭后检测_count_use - scope.row.data.扭后检测_含缺陷_白网轻 }}</span>
|
||||
<span v-else-if="scope.row.data.扭后检测_含缺陷_白网重">{{ scope.row.data.扭后检测_count_use - scope.row.data.扭后检测_含缺陷_白网重 }}</span>
|
||||
<span v-else>{{ scope.row.data.扭后检测_count_use }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader3">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']?100-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']:100 }}%</span>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_白网轻&&scope.row.data.扭后检测_含缺陷_白网重">{{100- scope.row.data.扭后检测_含缺陷_白网重_比例 - scope.row.data.扭后检测_含缺陷_白网轻_比例 }}%</span>
|
||||
<span v-else>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_白网轻">{{ 100 - scope.row.data.扭后检测_含缺陷_白网轻_比例 }}%</span>
|
||||
<span v-else-if="scope.row.data.扭后检测_含缺陷_白网重">{{100- scope.row.data.扭后检测_含缺陷_白网重_比例 }}%</span>
|
||||
<span v-else>100%</span>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="轻" class-name="colorheader3">
|
||||
<el-table-column label="数量" class-name="colorheader3">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']?scope.row.data.扭转检测_count_use-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']:scope.row.data.扭转检测_count_use }}</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_白网轻?scope.row.data.扭后检测_含缺陷_白网轻:0 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader3">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']?100-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']:100 }}%</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_白网轻_比例?scope.row.data.扭后检测_含缺陷_白网轻_比例:0 }}%</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="重" class-name="colorheader3">
|
||||
<el-table-column label="数量" class-name="colorheader3">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']?scope.row.data.扭转检测_count_use-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']:scope.row.data.扭转检测_count_use }}</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_白网重?scope.row.data.扭后检测_含缺陷_白网重:0 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader3">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']?100-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']:100 }}%</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_白网重_比例?scope.row.data.扭后检测_含缺陷_白网重_比例:0 }}%</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
|
|
@ -146,36 +176,46 @@
|
|||
<el-table-column label="无" class-name="colorheader4">
|
||||
<el-table-column label="数量" class-name="colorheader4">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']?scope.row.data.扭转检测_count_use-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']:scope.row.data.扭转检测_count_use }}</span>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_小网轻&&scope.row.data.扭后检测_含缺陷_小网重">{{ scope.row.data.扭后检测_count_use - scope.row.data.扭后检测_含缺陷_小网轻 - scope.row.data.扭后检测_含缺陷_小网重 }}</span>
|
||||
<span v-else>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_小网轻">{{ scope.row.data.扭后检测_count_use - scope.row.data.扭后检测_含缺陷_小网轻 }}</span>
|
||||
<span v-else-if="scope.row.data.扭后检测_含缺陷_小网重">{{ scope.row.data.扭后检测_count_use - scope.row.data.扭后检测_含缺陷_小网重 }}</span>
|
||||
<span v-else>{{ scope.row.data.扭后检测_count_use }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader4">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']?100-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']:100 }}%</span>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_小网轻&&scope.row.data.扭后检测_含缺陷_小网重">{{100- scope.row.data.扭后检测_含缺陷_小网重_比例 - scope.row.data.扭后检测_含缺陷_小网轻_比例 }}%</span>
|
||||
<span v-else>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_小网轻">{{ 100 - scope.row.data.扭后检测_含缺陷_小网轻_比例 }}%</span>
|
||||
<span v-else-if="scope.row.data.扭后检测_含缺陷_小网重">{{100- scope.row.data.扭后检测_含缺陷_小网重_比例 }}%</span>
|
||||
<span v-else>100%</span>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="轻" class-name="colorheader4">
|
||||
<el-table-column label="数量" class-name="colorheader4">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']?scope.row.data.扭转检测_count_use-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']:scope.row.data.扭转检测_count_use }}</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_小网轻?scope.row.data.扭后检测_含缺陷_小网轻:0 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader4">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']?100-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']:100 }}%</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_小网轻_比例?scope.row.data.扭后检测_含缺陷_小网轻_比例:0 }}%</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="重" class-name="colorheader4">
|
||||
<el-table-column label="数量" class-name="colorheader4">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']?scope.row.data.扭转检测_count_use-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']:scope.row.data.扭转检测_count_use }}</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_小网重?scope.row.data.扭后检测_含缺陷_小网重:0 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader4">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']?100-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']:100 }}%</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_小网重_比例?scope.row.data.扭后检测_含缺陷_小网重_比例:0 }}%</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
|
|
@ -183,42 +223,42 @@
|
|||
<el-table-column label="分辨率" align="center" class-name="colorheader5">
|
||||
<el-table-column label="测试数量" class-name="colorheader5">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data.扭转检测_count_ok }} </span>
|
||||
<span>{{ scope.row.data.扭后检测_count_use }} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="国内" class-name="colorheader5">
|
||||
<el-table-column label="数量" class-name="colorheader5">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']?scope.row.data.扭转检测_count_use-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']:scope.row.data.扭转检测_count_use }}</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_分辨率?scope.row.data.扭后检测_含缺陷_分辨率:0}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader5">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']?100-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']:100 }}%</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_分辨率?scope.row.data.扭后检测_含缺陷_分辨率_比例:0}}%</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="出口" class-name="colorheader5">
|
||||
<el-table-column label="数量" class-name="colorheader5">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']?scope.row.data.扭转检测_count_use-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']:scope.row.data.扭转检测_count_use }}</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_分辨率?scope.row.data.扭后检测_含缺陷_分辨率:0}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader5">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']?100-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']:100 }}%</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_分辨率?scope.row.data.扭后检测_含缺陷_分辨率_比例:0}}%</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="不合格" class-name="colorheader5">
|
||||
<el-table-column label="数量" class-name="colorheader5">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']?scope.row.data.扭转检测_count_use-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']:scope.row.data.扭转检测_count_use }}</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_分辨率?scope.row.data.扭后检测_含缺陷_分辨率:0}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader5">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']?100-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']:100 }}%</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_分辨率?scope.row.data.扭后检测_含缺陷_分辨率_比例:0}}%</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
|
|
@ -226,24 +266,24 @@
|
|||
<el-table-column label="加工数" align="center" class-name="colorheader6">
|
||||
<el-table-column label="数量" class-name="colorheader6">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data.扭转检测_count_ok }} </span>
|
||||
<span>{{ scope.row.data.扭后检测_count_ok }} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader6">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data.扭转检测_合格率 }}</span>
|
||||
<span>{{ scope.row.data.扭后检测_合格率 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="毛坯扭送" align="center" class-name="colorheader7">
|
||||
<el-table-column label="数量" class-name="colorheader7">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data.扭转检测_count_ok }} </span>
|
||||
<span>{{ scope.row.data.扭后检测_count_ok }} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="时间" class-name="colorheader7">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data.扭转检测_合格率 }}</span>
|
||||
<span>{{ scope.row.data.扭后检测_合格率 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
|
|
@ -252,73 +292,83 @@
|
|||
<el-table-column label="完好" class-name="colorheader1">
|
||||
<el-table-column label="数量" class-name="colorheader1">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']?scope.row.data.扭转检测_count_use-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']:scope.row.data.扭转检测_count_use }}</span>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_扭后炸纹&&scope.row.data.扭后检测_含缺陷_扭后炸废">{{ scope.row.data.扭后检测_count_use - scope.row.data.扭后检测_含缺陷_扭后炸纹 - scope.row.data.扭后检测_含缺陷_扭后炸废 }}</span>
|
||||
<span v-else>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_扭后炸纹">{{ scope.row.data.扭后检测_count_use - scope.row.data.扭后检测_含缺陷_扭后炸纹 }}</span>
|
||||
<span v-else-if="scope.row.data.扭后检测_含缺陷_扭后炸废">{{ scope.row.data.扭后检测_count_use - scope.row.data.扭后检测_含缺陷_扭后炸废 }}</span>
|
||||
<span v-else>{{ scope.row.data.扭后检测_count_use }}</span>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader1">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']?100-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']:100 }}%</span>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_扭后炸纹&&scope.row.data.扭后检测_含缺陷_扭后炸废">{{100- scope.row.data.扭后检测_含缺陷_扭后炸纹 - scope.row.data.扭后检测_含缺陷_扭后炸废 }}%</span>
|
||||
<span v-else>
|
||||
<span v-if="scope.row.data.扭后检测_含缺陷_扭后炸纹">{{ 100 - scope.row.data.扭后检测_含缺陷_扭后炸纹_比例 }}</span>
|
||||
<span v-else-if="scope.row.data.扭后检测_含缺陷_扭后炸废">{{100- scope.row.data.扭后检测_含缺陷_扭后炸废_比例 }}%</span>
|
||||
<span v-else>100%</span>
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="崩炸" class-name="colorheader1">
|
||||
<el-table-column label="数量" class-name="colorheader1">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']?scope.row.data.扭转检测_count_use-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']:scope.row.data.扭转检测_count_use }}</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_扭后炸纹?扭后检测_含缺陷_扭后炸纹:0 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader1">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']?100-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']:100 }}%</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_扭后炸纹?scope.row.data.扭后检测_含缺陷_扭后炸纹_比列:0 }}%</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="炸废" class-name="colorheader1">
|
||||
<el-table-column label="数量" class-name="colorheader1">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']?scope.row.data.扭转检测_count_use-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格']:scope.row.data.扭转检测_count_use }}</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_扭后炸废?扭后检测_含缺陷_扭后炸废:0 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="比例" class-name="colorheader1">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']?100-scope.row.data['扭转检测_缺陷_放大率¢16mm不合格_比例']:100 }}%</span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_扭后炸废?scope.row.data.扭后检测_含缺陷_扭后炸废_比列:0 }}%</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="扭转角" class-name="colorheader1">
|
||||
<!-- <el-table-column label="扭转角" class-name="colorheader1">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data.扭转检测_count_ok }} </span>
|
||||
<span>{{ scope.row.data.扭后检测_含缺陷_扭转角不合格 }} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="改直" class-name="colorheader1">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data.扭转检测_合格率 }}</span>
|
||||
<span>{{ scope.row.data.扭后检测_合格率 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="外圆大" class-name="colorheader1">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data.扭转检测_count_ok }} </span>
|
||||
<span>{{ scope.row.data.扭后检测_count_ok }} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="合计" class-name="colorheader1">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data.扭转检测_count_ok }} </span>
|
||||
<span>{{ scope.row.data.扭后检测_count_ok }} </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="合格率" class-name="colorheader1">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data.扭转检测_合格率 }}</span>
|
||||
<span>{{ scope.row.data.扭后检测_合格率 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column label="外形偏(0.5mm)" align="center" class-name="colorheader2">
|
||||
</el-table-column>
|
||||
<!-- <el-table-column label="外形偏(0.5mm)" align="center" class-name="colorheader2">
|
||||
</el-table-column> -->
|
||||
<el-table-column label="实验名称备注" prop="batch" align="center" class-name="colorheader3">
|
||||
</el-table-column>
|
||||
<el-table-column label="检测设备" align="center" class-name="colorheader4">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.data.扭转检测_缺陷_备注 }}</span>
|
||||
<span>{{ scope.row.data.扭后检测_缺陷_备注 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
|
|
@ -332,8 +382,8 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
params: {
|
||||
ordering:'-data__扭转检测_小日期',
|
||||
querys:[[{field:"data__has_key",compare:"",value:"扭转检测_日期"}]],
|
||||
ordering:'-data__扭后检测_小日期',
|
||||
querys:[[{field:"data__has_key",compare:"",value:"扭后检测_日期"}]],
|
||||
},
|
||||
query:{
|
||||
name__contains:'',
|
||||
|
|
@ -341,7 +391,6 @@ export default {
|
|||
last_time__gte:'',
|
||||
last_time__lte:'',
|
||||
},
|
||||
// apiObj: this.$API.wpm.wpr.query,
|
||||
apiObj: this.$API.wpm.batchstquery,
|
||||
options:[],
|
||||
tableData:[],
|
||||
|
|
@ -350,9 +399,9 @@ export default {
|
|||
methods: {
|
||||
handleQuery(){
|
||||
let that = this;
|
||||
let querys = [[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"扭转检测_批次号"}]];
|
||||
let querys = [[{field:"wm",value:0,compare:"isnull"},{field:"data__has_key",compare:"",value:"扭后检测_批次号"}]];
|
||||
let obj = {},obj1 = {},obj2 = {},obj3 = {};
|
||||
obj.field = 'data__扭转检测_批次号';
|
||||
obj.field = 'data__扭后检测_批次号';
|
||||
obj.value = that.query.batch__contains;
|
||||
obj.compare = '';
|
||||
|
||||
|
|
@ -364,7 +413,7 @@ export default {
|
|||
obj2.value = that.query.last_time__lte;
|
||||
obj2.compare = 'lte';
|
||||
|
||||
obj3.field = 'data__扭转检测_物料名';
|
||||
obj3.field = 'data__扭后检测_物料名';
|
||||
obj3.value = that.query.name__contains;
|
||||
obj3.compare = '';
|
||||
|
||||
|
|
|
|||
|
|
@ -97,7 +97,12 @@ export default {
|
|||
},
|
||||
handleQuery(){
|
||||
let that = this;
|
||||
that.getData();
|
||||
if(that.query.user_name==null||that.query.user_name==''){
|
||||
that.$message.error('请输入员工姓名');
|
||||
}else{
|
||||
that.getData();
|
||||
}
|
||||
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -100,7 +100,6 @@
|
|||
style="height: 100%;"
|
||||
:summary-method="getSummaries"
|
||||
show-summary
|
||||
|
||||
>
|
||||
<el-table-column label="批次号" prop="batch" min-width="240" fixed="left">
|
||||
<template #default="scope"><span>{{ scope.row.data.批次号 }}</span></template>
|
||||
|
|
@ -109,6 +108,9 @@
|
|||
<el-table-column label="日期" class-name="colorheader1" width="90">
|
||||
<template #default="scope"><span>{{ scope.row.data.尺寸检验_日期 }}</span></template>
|
||||
</el-table-column>
|
||||
<el-table-column label="班次" class-name="colorheader1" width="60">
|
||||
<template #default="scope"><span>{{ scope.row.data.尺寸检验_班次 }}</span></template>
|
||||
</el-table-column>
|
||||
<el-table-column label="检验人" class-name="colorheader1">
|
||||
<template #default="scope"><span>{{ scope.row.data.尺寸检验_操作人 }}</span></template>
|
||||
</el-table-column>
|
||||
|
|
@ -177,6 +179,9 @@
|
|||
<el-table-column label="日期" class-name="colorheader2" width="90">
|
||||
<template #default="scope"><span>{{ scope.row.data.外观检验_日期 }}</span></template>
|
||||
</el-table-column>
|
||||
<el-table-column label="班次" class-name="colorheader2" width="60">
|
||||
<template #default="scope"><span>{{ scope.row.data.外观检验_班次 }}</span></template>
|
||||
</el-table-column>
|
||||
<el-table-column label="检验人" class-name="colorheader2">
|
||||
<template #default="scope"><span>{{ scope.row.data.外观检验_操作人 }}</span></template>
|
||||
</el-table-column>
|
||||
|
|
@ -485,7 +490,7 @@ export default {
|
|||
}
|
||||
let propert = '';
|
||||
//尺寸检验
|
||||
if(index == 3&&column.label=='检验数'){
|
||||
if(index == 4&&column.label=='检验数'){
|
||||
propert = '尺寸检验_count_real';
|
||||
}else if(column.label=='黑圈内径'){
|
||||
propert = '尺寸检验_缺陷_黑圈内径';
|
||||
|
|
@ -499,13 +504,13 @@ export default {
|
|||
propert = '尺寸检验_缺陷_产品外径小';
|
||||
}else if(column.label=='产品外径大(返修)'){
|
||||
propert = '尺寸检验_缺陷_产品外径大(返修)';
|
||||
}else if(index == 14&&column.label=='黑圈缺口'){
|
||||
}else if(index == 15&&column.label=='黑圈缺口'){
|
||||
propert = '尺寸检验_缺陷_黑圈缺口';
|
||||
}else if(column.label=='外径发货片(B)'){
|
||||
propert = '尺寸检验_缺陷_外径发货片(B)';
|
||||
}else if(column.label=='前道崩'){
|
||||
propert = '尺寸检验_缺陷_前道崩';
|
||||
}else if(index==17&&column.label=='合格数'){
|
||||
}else if(index==18&&column.label=='合格数'){
|
||||
propert = '尺寸检验_count_ok_full';
|
||||
}else if(column.label=='准合格(B)'){
|
||||
propert = '尺寸检验_缺陷_准合格(B)';
|
||||
|
|
@ -513,83 +518,83 @@ export default {
|
|||
propert = '尺寸检验_缺陷_圆准(B)';
|
||||
}else if(column.label=='总合格数'){
|
||||
propert = '尺寸检验_count_ok';
|
||||
}else if(index == 25&&column.label=='检验数'){
|
||||
}else if(index == 27&&column.label=='检验数'){
|
||||
propert = '外观检验_count_real';
|
||||
}else if(index==26&&column.label=='合格数'){
|
||||
}else if(index==28&&column.label=='合格数'){
|
||||
propert = '外观检验_count_ok_full';
|
||||
}else if(index==28&&column.label=='划麻(返修)'){
|
||||
}else if(index==30&&column.label=='划麻(返修)'){
|
||||
propert = '外观检验_缺陷_划麻(返修)';
|
||||
}else if(index==30&&column.label=='脏(返修)'){
|
||||
}else if(index==32&&column.label=='脏(返修)'){
|
||||
propert = '外观检验_缺陷_脏(返修)';
|
||||
}else if(index==32&&column.label=='气泡'){
|
||||
}else if(index==34&&column.label=='气泡'){
|
||||
propert = '外观检验_缺陷_气泡';
|
||||
}else if(index==34&&column.label=='浅气泡(B)'){
|
||||
}else if(index==36&&column.label=='浅气泡(B)'){
|
||||
propert = '外观检验_缺陷_浅气泡(B)';
|
||||
}else if(index==35&&column.label=='黑圈变形'){
|
||||
}else if(index==37&&column.label=='黑圈变形'){
|
||||
propert = '外观检验_缺陷_黑圈变形';
|
||||
}else if(index==36&&column.label=='黑圈缺口'){
|
||||
}else if(index==38&&column.label=='黑圈缺口'){
|
||||
propert = '外观检验_缺陷_黑圈缺口';
|
||||
}else if(index==37&&column.label=='重水纹'){
|
||||
}else if(index==39&&column.label=='重水纹'){
|
||||
propert = '外观检验_缺陷_重水纹';
|
||||
}else if(index==38&&column.label=='浅水纹(B)'){
|
||||
}else if(index==40&&column.label=='浅水纹(B)'){
|
||||
propert = '外观检验_缺陷_浅水纹(B)';
|
||||
}else if(index==39&&column.label=='大崩'){
|
||||
}else if(index==41&&column.label=='大崩'){
|
||||
propert = '外观检验_缺陷_大崩';
|
||||
}else if(index==40&&column.label=='小崩边(B)'){
|
||||
}else if(index==42&&column.label=='小崩边(B)'){
|
||||
propert = '外观检验_缺陷_小崩边(B)';
|
||||
}else if(index==42&&column.label=='棕点'){
|
||||
}else if(index==44&&column.label=='棕点'){
|
||||
propert = '外观检验_缺陷_棕点';
|
||||
}else if(index==43&&column.label=='浅划麻(B)'){
|
||||
}else if(index==45&&column.label=='浅划麻(B)'){
|
||||
propert = '外观检验_缺陷_浅划麻(B)';
|
||||
}else if(index==44&&column.label=='双面划麻'){
|
||||
}else if(index==46&&column.label=='双面划麻'){
|
||||
propert = '外观检验_缺陷_双面划麻';
|
||||
}else if(index==45&&column.label=='倒角'){
|
||||
}else if(index==47&&column.label=='倒角'){
|
||||
propert = '外观检验_缺陷_倒角';
|
||||
}else if(index==46&&column.label=='棕圈'){
|
||||
}else if(index==48&&column.label=='棕圈'){
|
||||
propert = '外观检验_缺陷_棕圈';
|
||||
}else if(index==47&&column.label=='蓝圈'){
|
||||
}else if(index==49&&column.label=='蓝圈'){
|
||||
propert = '外观检验_缺陷_蓝圈';
|
||||
}else if(index==48&&column.label=='尺寸小'){
|
||||
}else if(index==50&&column.label=='尺寸小'){
|
||||
propert = '外观检验_缺陷_尺寸小';
|
||||
}else if(index==49&&column.label=='破损'){
|
||||
}else if(index==51&&column.label=='破损'){
|
||||
propert = '外观检验_缺陷_破损';
|
||||
}else if(index==50&&column.label=='发白'){
|
||||
}else if(index==52&&column.label=='发白'){
|
||||
propert = '外观检验_缺陷_发白';
|
||||
}else if(index==51&&column.label=='漏光'){
|
||||
}else if(index==53&&column.label=='漏光'){
|
||||
propert = '外观检验_缺陷_漏光';
|
||||
}else if(index == 54&&column.label=='返修数'){
|
||||
}else if(index == 56&&column.label=='返修数'){
|
||||
propert = '外观检验_返修_count_real';
|
||||
}else if(index==55&&column.label=='合格数'){
|
||||
}else if(index==57&&column.label=='合格数'){
|
||||
propert = '外观检验_返修_count_ok_full';
|
||||
}else if(index==56&&column.label=='黑圈变形'){
|
||||
}else if(index==58&&column.label=='黑圈变形'){
|
||||
propert = '外观检验_返修_缺陷_黑圈变形';
|
||||
}else if(index==57&&column.label=='气泡'){
|
||||
}else if(index==59&&column.label=='气泡'){
|
||||
propert = '外观检验_返修_缺陷_气泡';
|
||||
}else if(index==58&&column.label=='浅气泡(B)'){
|
||||
}else if(index==60&&column.label=='浅气泡(B)'){
|
||||
propert = '外观检验_返修_缺陷_浅气泡(B)';
|
||||
}else if(index==59&&column.label=='浅划麻(B)'){
|
||||
}else if(index==61&&column.label=='浅划麻(B)'){
|
||||
propert = '外观检验_返修_缺陷_浅划麻(B)';
|
||||
}else if(index==60&&column.label=='双面划麻'){
|
||||
}else if(index==62&&column.label=='双面划麻'){
|
||||
propert = '外观检验_返修_缺陷_双面划麻';
|
||||
}else if(index==61&&column.label=='浅水纹(B)'){
|
||||
}else if(index==63&&column.label=='浅水纹(B)'){
|
||||
propert = '外观检验_返修_缺陷_浅水纹(B)';
|
||||
}else if(index==62&&column.label=='重水纹'){
|
||||
}else if(index==64&&column.label=='重水纹'){
|
||||
propert = '外观检验_返修_缺陷_重水纹';
|
||||
}else if(index==63&&column.label=='大崩'){
|
||||
}else if(index==65&&column.label=='大崩'){
|
||||
propert = '外观检验_返修_缺陷_大崩';
|
||||
}else if(index==64&&column.label=='小崩边(B)'){
|
||||
}else if(index==66&&column.label=='小崩边(B)'){
|
||||
propert = '外观检验_返修_缺陷_小崩边(B)';
|
||||
}else if(index==65&&column.label=='倒角'){
|
||||
}else if(index==67&&column.label=='倒角'){
|
||||
propert = '外观检验_返修_缺陷_倒角';
|
||||
}else if(index==66&&column.label=='棕点'){
|
||||
}else if(index==68&&column.label=='棕点'){
|
||||
propert = '外观检验_返修_缺陷_棕点';
|
||||
}else if(index==67&&column.label=='漏光'){
|
||||
}else if(index==69&&column.label=='漏光'){
|
||||
propert = '外观检验_返修_缺陷_漏光';
|
||||
}else if(index==68&&column.label=='黑圈缺口'){
|
||||
}else if(index==70&&column.label=='黑圈缺口'){
|
||||
propert = '外观检验_返修_缺陷_黑圈缺口';
|
||||
}else if(index==69&&column.label=='破损'){
|
||||
}else if(index==71&&column.label=='破损'){
|
||||
propert = '外观检验_返修_缺陷_破损';
|
||||
}else if(index==70&&column.label=='尺寸小'){
|
||||
}else if(index==72&&column.label=='尺寸小'){
|
||||
propert = '外观检验_返修_缺陷_尺寸小';
|
||||
}else if(column.label=='外观总合格数'){
|
||||
propert = '外观检验_完全总合格数';
|
||||
|
|
@ -611,34 +616,34 @@ export default {
|
|||
}
|
||||
|
||||
}
|
||||
if(index==5||index==7||index==9||index==11||index==18||index==22){
|
||||
if(index==6||index==8||index==10||index==12||index==19||index==23){
|
||||
if(sums[index-1]){
|
||||
sums[index] = ((sums[index-1]/sums[3])*100).toFixed(4);
|
||||
sums[index] = ((sums[index-1]/sums[4])*100).toFixed(4);
|
||||
}
|
||||
}
|
||||
if(index==27||index==29||index==31||index==33||index==41){
|
||||
if(index==29||index==31||index==33||index==35||index==43){
|
||||
if(sums[index-1]){
|
||||
sums[index] = ((sums[index-1]/sums[25])*100).toFixed(4);
|
||||
}
|
||||
}
|
||||
if(index==71){
|
||||
let sum = 0;
|
||||
if(sums[26]){
|
||||
sum += sums[26];
|
||||
}
|
||||
if(sums[55]){
|
||||
sum += sums[55];
|
||||
}
|
||||
sums[index] = sum;
|
||||
}
|
||||
if(index==72){
|
||||
if(sums[71]&&sums[25]){
|
||||
sums[index] = ((sums[71]/sums[25])*100).toFixed(2);
|
||||
sums[index] = ((sums[index-1]/sums[27])*100).toFixed(4);
|
||||
}
|
||||
}
|
||||
if(index==73){
|
||||
if(sums[72]&&sums[22]){
|
||||
sums[index] = ((sums[72]*sums[22])/100).toFixed(2);
|
||||
let sum = 0;
|
||||
if(sums[28]){
|
||||
sum += sums[28];
|
||||
}
|
||||
if(sums[57]){
|
||||
sum += sums[57];
|
||||
}
|
||||
sums[index] = sum;
|
||||
}
|
||||
if(index==74){
|
||||
if(sums[73]&&sums[27]){
|
||||
sums[index] = ((sums[73]/sums[27])*100).toFixed(2);
|
||||
}
|
||||
}
|
||||
if(index==75){
|
||||
if(sums[74]&&sums[23]){
|
||||
sums[index] = ((sums[74]*sums[23])/100).toFixed(2);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -109,6 +109,9 @@
|
|||
<el-table-column label="日期" class-name="colorheader1" width="90">
|
||||
<template #default="scope"><span>{{ scope.row.data.尺寸检验_日期 }}</span></template>
|
||||
</el-table-column>
|
||||
<el-table-column label="班次" class-name="colorheader1" width="60">
|
||||
<template #default="scope"><span>{{ scope.row.data.尺寸检验_班次 }}</span></template>
|
||||
</el-table-column>
|
||||
<el-table-column label="检验数" class-name="colorheader1">
|
||||
<template #default="scope"><span>{{ scope.row.data.尺寸检验_count_real }}</span></template>
|
||||
</el-table-column>
|
||||
|
|
@ -174,6 +177,9 @@
|
|||
<el-table-column label="日期" class-name="colorheader2" width="90">
|
||||
<template #default="scope"><span>{{ scope.row.data.外观检验_日期 }}</span></template>
|
||||
</el-table-column>
|
||||
<el-table-column label="班次" class-name="colorheader2" width="60">
|
||||
<template #default="scope"><span>{{ scope.row.data.外观检验_班次 }}</span></template>
|
||||
</el-table-column>
|
||||
<el-table-column label="检验数" class-name="colorheader2">
|
||||
<template #default="scope"><span>{{ scope.row.data.外观检验_count_real }}</span></template>
|
||||
</el-table-column>
|
||||
|
|
@ -426,7 +432,7 @@ export default {
|
|||
}
|
||||
let propert = '';
|
||||
//尺寸检验
|
||||
if(index == 2&&column.label=='检验数'){
|
||||
if(index == 3&&column.label=='检验数'){
|
||||
propert = '尺寸检验_count_real';
|
||||
}else if(column.label=='黑圈内径'){
|
||||
propert = '尺寸检验_缺陷_黑圈内径';
|
||||
|
|
@ -446,7 +452,7 @@ export default {
|
|||
propert = '尺寸检验_缺陷_外径发货片(B)';
|
||||
}else if(column.label=='前道崩'){
|
||||
propert = '尺寸检验_缺陷_前道崩';
|
||||
}else if(index==16&&column.label=='合格数'){
|
||||
}else if(index==17&&column.label=='合格数'){
|
||||
propert = '尺寸检验_count_ok_full';
|
||||
}else if(column.label=='准合格(B)'){
|
||||
propert = '尺寸检验_缺陷_准合格(B)';
|
||||
|
|
@ -454,53 +460,53 @@ export default {
|
|||
propert = '尺寸检验_缺陷_圆准(B)';
|
||||
}else if(column.label=='总合格数'){
|
||||
propert = '尺寸检验_count_ok';
|
||||
}else if(index == 23&&column.label=='检验数'){
|
||||
}else if(index == 25&&column.label=='检验数'){
|
||||
propert = '外观检验_count_real';
|
||||
}else if(index==24&&column.label=='合格数'){
|
||||
}else if(index==26&&column.label=='合格数'){
|
||||
propert = '外观检验_count_ok_full';
|
||||
}else if(index==26&&column.label=='划麻(返修)'){
|
||||
}else if(index==28&&column.label=='划麻(返修)'){
|
||||
propert = '外观检验_缺陷_划麻(返修)';
|
||||
}else if(index==28&&column.label=='脏(返修)'){
|
||||
}else if(index==30&&column.label=='脏(返修)'){
|
||||
propert = '外观检验_缺陷_脏(返修)';
|
||||
}else if(index==30&&column.label=='气泡'){
|
||||
}else if(index==32&&column.label=='气泡'){
|
||||
propert = '外观检验_缺陷_气泡';
|
||||
}else if(index==32&&column.label=='浅气泡(B)'){
|
||||
}else if(index==34&&column.label=='浅气泡(B)'){
|
||||
propert = '外观检验_缺陷_浅气泡(B)';
|
||||
}else if(index==33&&column.label=='黑圈变形'){
|
||||
}else if(index==35&&column.label=='黑圈变形'){
|
||||
propert = '外观检验_缺陷_黑圈变形';
|
||||
}else if(index==34&&column.label=='黑圈缺口'){
|
||||
}else if(index==36&&column.label=='黑圈缺口'){
|
||||
propert = '外观检验_缺陷_黑圈缺口';
|
||||
}else if(index==35&&column.label=='重水纹'){
|
||||
}else if(index==37&&column.label=='重水纹'){
|
||||
propert = '外观检验_缺陷_重水纹';
|
||||
}else if(index==36&&column.label=='浅水纹(B)'){
|
||||
}else if(index==38&&column.label=='浅水纹(B)'){
|
||||
propert = '外观检验_缺陷_浅水纹(B)';
|
||||
}else if(index==37&&column.label=='大崩'){
|
||||
}else if(index==39&&column.label=='大崩'){
|
||||
propert = '外观检验_缺陷_大崩';
|
||||
}else if(index==38&&column.label=='小崩边(B)'){
|
||||
}else if(index==40&&column.label=='小崩边(B)'){
|
||||
propert = '外观检验_缺陷_小崩边(B)';
|
||||
}else if(index==40&&column.label=='棕点'){
|
||||
}else if(index==42&&column.label=='棕点'){
|
||||
propert = '外观检验_缺陷_棕点';
|
||||
}else if(index==41&&column.label=='浅划麻(B)'){
|
||||
}else if(index==43&&column.label=='浅划麻(B)'){
|
||||
propert = '外观检验_缺陷_浅划麻(B)';
|
||||
}else if(index==42&&column.label=='双面划麻'){
|
||||
}else if(index==44&&column.label=='双面划麻'){
|
||||
propert = '外观检验_缺陷_双面划麻';
|
||||
}else if(index==43&&column.label=='倒角'){
|
||||
}else if(index==45&&column.label=='倒角'){
|
||||
propert = '外观检验_缺陷_倒角';
|
||||
}else if(index==44&&column.label=='棕圈'){
|
||||
}else if(index==46&&column.label=='棕圈'){
|
||||
propert = '外观检验_缺陷_棕圈';
|
||||
}else if(index==45&&column.label=='蓝圈'){
|
||||
}else if(index==47&&column.label=='蓝圈'){
|
||||
propert = '外观检验_缺陷_蓝圈';
|
||||
}else if(index==46&&column.label=='尺寸小'){
|
||||
}else if(index==48&&column.label=='尺寸小'){
|
||||
propert = '外观检验_缺陷_尺寸小';
|
||||
}else if(index==47&&column.label=='破损'){
|
||||
}else if(index==49&&column.label=='破损'){
|
||||
propert = '外观检验_缺陷_破损';
|
||||
}else if(index==48&&column.label=='发白'){
|
||||
}else if(index==50&&column.label=='发白'){
|
||||
propert = '外观检验_缺陷_发白';
|
||||
}else if(index==49&&column.label=='漏光'){
|
||||
}else if(index==51&&column.label=='漏光'){
|
||||
propert = '外观检验_缺陷_漏光';
|
||||
}else if(index == 50&&column.label=='返修数'){
|
||||
}else if(index == 52&&column.label=='返修数'){
|
||||
propert = '外观检验_返修_count_real';
|
||||
}else if(index==51&&column.label=='合格数'){
|
||||
}else if(index==53&&column.label=='合格数'){
|
||||
propert = '外观检验_返修_count_ok_full';
|
||||
}else if(column.label=='外观总合格数'){
|
||||
propert = '外观检验_完全总合格数';
|
||||
|
|
@ -522,38 +528,38 @@ export default {
|
|||
}
|
||||
|
||||
}
|
||||
if(index==4||index==6||index==8||index==10||index==17||index==21){
|
||||
if(index==5||index==7||index==9||index==11||index==18||index==22){
|
||||
if(sums[index-1]){
|
||||
sums[index] = ((sums[index-1]/sums[2])*100).toFixed(4);
|
||||
sums[index] = ((sums[index-1]/sums[3])*100).toFixed(4);
|
||||
}else{
|
||||
sums[index] = null;
|
||||
}
|
||||
}
|
||||
if(index==25||index==27||index==29||index==31||index==39){
|
||||
if(index==27||index==29||index==31||index==33||index==41){
|
||||
if(sums[index-1]){
|
||||
sums[index] = ((sums[index-1]/sums[23])*100).toFixed(4);
|
||||
sums[index] = ((sums[index-1]/sums[25])*100).toFixed(4);
|
||||
}else{
|
||||
sums[index] = null;
|
||||
}
|
||||
}
|
||||
if(index==52){
|
||||
let sum = 0;
|
||||
if(sums[24]){
|
||||
sum += sums[24];
|
||||
}
|
||||
if(sums[51]){
|
||||
sum += sums[51];
|
||||
}
|
||||
sums[index] = sum;
|
||||
}
|
||||
if(index==53){
|
||||
if(sums[52]&&sums[23]){
|
||||
sums[index] = ((sums[52]/sums[23])*100).toFixed(2);
|
||||
}
|
||||
}
|
||||
if(index==54){
|
||||
if(sums[53]&&sums[21]){
|
||||
sums[index] = ((sums[53]*sums[21])/100).toFixed(2);
|
||||
let sum = 0;
|
||||
if(sums[25]){
|
||||
sum += sums[25];
|
||||
}
|
||||
if(sums[53]){
|
||||
sum += sums[53];
|
||||
}
|
||||
sums[index] = sum;
|
||||
}
|
||||
if(index==55){
|
||||
if(sums[54]&&sums[25]){
|
||||
sums[index] = ((sums[54]/sums[25])*100).toFixed(2);
|
||||
}
|
||||
}
|
||||
if(index==56){
|
||||
if(sums[55]&&sums[22]){
|
||||
sums[index] = ((sums[55]*sums[22])/100).toFixed(2);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,4 +1,47 @@
|
|||
<template>
|
||||
<el-header>
|
||||
<div class="left-panel">
|
||||
<el-select
|
||||
v-model="query.workflow"
|
||||
placeholder="审批流"
|
||||
@change="handleQuery"
|
||||
clearable
|
||||
style="margin-left: 2px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in wfOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<el-select
|
||||
v-model="query.script_run_last_result"
|
||||
placeholder="任务执行状态"
|
||||
@change="handleQuery"
|
||||
clearable
|
||||
style="margin-left: 2px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in rsOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<el-date-picker
|
||||
v-model="timeRange"
|
||||
type="datetimerange"
|
||||
range-separator="至"
|
||||
start-placeholder="创建时间始"
|
||||
end-placeholder="创建时间止"
|
||||
style="margin-left: 2px"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
@change="handleQuery"
|
||||
clearable
|
||||
/>
|
||||
</div>
|
||||
</el-header>
|
||||
<el-container>
|
||||
<el-main class="nopadding">
|
||||
<scTable
|
||||
|
|
@ -143,10 +186,34 @@ export default {
|
|||
floeLogs: [],
|
||||
ticketId: "",
|
||||
limitedFlowLogs: false,
|
||||
wfOptions: [],
|
||||
rsOptions: [
|
||||
{ value: true, label: "成功" },
|
||||
{ value: false, label: "失败" },
|
||||
],
|
||||
query: {},
|
||||
timeRange: [],
|
||||
};
|
||||
},
|
||||
mounted() {},
|
||||
mounted() {
|
||||
this.getWfOptions();
|
||||
},
|
||||
methods: {
|
||||
getWfOptions() {
|
||||
this.$API.wf.workflow.list.req({ page: 0 }).then((res) => {
|
||||
this.wfOptions = res;
|
||||
});
|
||||
},
|
||||
handleQuery() {
|
||||
if (this.timeRange) {
|
||||
this.query.start_create = this.timeRange[0];
|
||||
this.query.end_create = this.timeRange[1];
|
||||
} else {
|
||||
this.query.end_create = null;
|
||||
this.query.start_create = null;
|
||||
}
|
||||
this.$refs.table.queryData(this.query);
|
||||
},
|
||||
//处理
|
||||
handleDetail(row) {
|
||||
let cateType = row.workflow_.key;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,235 @@
|
|||
<template>
|
||||
<el-container>
|
||||
<el-header>
|
||||
<div class="left-panel">
|
||||
<el-segmented
|
||||
v-model="tvalue"
|
||||
:options="Object.keys(toptions)"
|
||||
size="default"
|
||||
@change="params.category = toptions[tvalue]; handleQuery()"
|
||||
></el-segmented>
|
||||
<el-select
|
||||
v-model="query.workflow"
|
||||
placeholder="审批流"
|
||||
@change="handleQuery"
|
||||
clearable
|
||||
style="margin-left: 2px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in wfOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<el-select
|
||||
v-model="query.script_run_last_result"
|
||||
placeholder="执行状态"
|
||||
@change="handleQuery"
|
||||
clearable
|
||||
style="margin-left: 2px; width:100px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in rsOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<el-date-picker
|
||||
v-model="timeRange"
|
||||
type="datetimerange"
|
||||
range-separator="至"
|
||||
start-placeholder="创建时间始"
|
||||
end-placeholder="创建时间止"
|
||||
style="margin-left: 2px"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
@change="handleQuery"
|
||||
clearable
|
||||
/>
|
||||
</div>
|
||||
</el-header>
|
||||
<el-main class="nopadding">
|
||||
<scTable
|
||||
ref="table"
|
||||
:apiObj="apiObj"
|
||||
:params="params"
|
||||
row-key="id"
|
||||
stripe
|
||||
highlightCurrentRow
|
||||
>
|
||||
<el-table-column
|
||||
label="流水号"
|
||||
prop="sn"
|
||||
width="180"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-link
|
||||
@click="handleShow(scope.row)" type="primary"
|
||||
>{{ scope.row.sn }}</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="工单标题"
|
||||
prop="title"
|
||||
min-width="180"
|
||||
:show-overflow-tooltip="true"
|
||||
></el-table-column>
|
||||
|
||||
<el-table-column label="工作流" prop="title" width="160">
|
||||
<template #default="scope">
|
||||
{{ scope.row.workflow_.name }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="所在节点" width="160">
|
||||
<template #default="scope">
|
||||
{{ scope.row.state_.name }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="进行状态" prop="sort" width="120">
|
||||
<template #default="scope">
|
||||
<el-tag :type="actStateEnum[scope.row.act_state]?.type">
|
||||
{{ actStateEnum[scope.row.act_state]?.text }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="可处理人" :show-overflow-tooltip="true" min-width="160">
|
||||
<template #default="scope">
|
||||
<span
|
||||
v-if="
|
||||
scope.row.participant_type == 2 ||
|
||||
scope.row.participant_type == 1
|
||||
"
|
||||
>
|
||||
<span
|
||||
v-for="item in scope.row.participant_"
|
||||
:key="item.id"
|
||||
>{{ item.name }}/</span
|
||||
>
|
||||
</span>
|
||||
<span v-else> 无 </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="创建时间"
|
||||
prop="create_time"
|
||||
width="150"
|
||||
></el-table-column>
|
||||
<el-table-column label="操作" fixed="right" align="center" width="80">
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
type="danger"
|
||||
size="small"
|
||||
@click="reStart(scope.row)"
|
||||
v-if="scope.row.script_run_last_result == false"
|
||||
>重试</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
</el-main>
|
||||
<el-drawer v-model="drawer" size="90%" :show-close="false">
|
||||
<template #header="{ close, titleId, titleClass }">
|
||||
<h4 :id="titleId" :class="titleClass">工单详情</h4>
|
||||
<el-button type="danger" @click="close">关闭</el-button>
|
||||
</template>
|
||||
<component :is="currentComponent" :ticketId="ticketId" :t_id="t_id" @closed="drawer = false"
|
||||
@success="()=>{drawer = false; $refs.table.refresh()}"></component>
|
||||
</el-drawer>
|
||||
</el-container>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { defineAsyncComponent, markRaw } from 'vue'; // 异步组件加载
|
||||
import { actStateEnum, interveneTypeEnum } from "@/utils/enum.js";
|
||||
export default {
|
||||
name: "myticket",
|
||||
data() {
|
||||
return {
|
||||
actStateEnum, interveneTypeEnum,
|
||||
drawer: false,
|
||||
tvalue: "待办",
|
||||
toptions: {
|
||||
"待办": "duty",
|
||||
"我的": "owner",
|
||||
"已处理": "worked",
|
||||
"抄送我": "cc"
|
||||
},
|
||||
query: {},
|
||||
timeRange: [],
|
||||
list: [],
|
||||
apiObj: null,
|
||||
params: { category: "duty" },
|
||||
act_states: {
|
||||
0: "草稿中",
|
||||
1: "进行中",
|
||||
2: "被退回",
|
||||
3: "被撤回",
|
||||
4: "已完成",
|
||||
5: "已关闭",
|
||||
},
|
||||
participant_: {
|
||||
0: "无处理人",
|
||||
1: "单人",
|
||||
2: "多人",
|
||||
},
|
||||
rsOptions: [
|
||||
{ value: true, label: "成功" },
|
||||
{ value: false, label: "失败" },
|
||||
],
|
||||
wfOptions: [],
|
||||
currentComponent: null,
|
||||
ticketId: null,
|
||||
t_id: null,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
let category = this.$route.query.category
|
||||
if (category) {
|
||||
this.tvalue = category == "duty" ? "待办" : category == "owner" ? "我的" : category == "worked" ? "已处理" : category == "cc" ? "抄送我" : "待办"
|
||||
this.params.category = category
|
||||
this.apiObj = this.$API.wf.ticket.list
|
||||
} else {
|
||||
this.tvalue = "待办"
|
||||
this.params.category = "duty"
|
||||
this.apiObj = this.$API.wf.ticket.list
|
||||
}
|
||||
this.getWfOptions();
|
||||
},
|
||||
methods: {
|
||||
getWfOptions() {
|
||||
this.$API.wf.workflow.list.req({ page: 0 }).then((res) => {
|
||||
this.wfOptions = res;
|
||||
});
|
||||
},
|
||||
reStart(row) {
|
||||
this.$API.wf.ticket.retryScript.req(row.id).then((res) => {
|
||||
this.$message.success("任务执行下发成功");
|
||||
row.script_run_last_result = true;
|
||||
});
|
||||
},
|
||||
handleQuery() {
|
||||
if (this.timeRange) {
|
||||
this.query.start_create = this.timeRange[0];
|
||||
this.query.end_create = this.timeRange[1];
|
||||
} else {
|
||||
this.query.end_create = null;
|
||||
this.query.start_create = null;
|
||||
}
|
||||
this.$refs.table.queryData(this.query);
|
||||
},
|
||||
handleShow(row) {
|
||||
this.drawer = true;
|
||||
this.ticketId = row.id;
|
||||
this.t_id = row.ticket_data.t_id;
|
||||
const viewPath = row.workflow_.view_path;
|
||||
// 动态 import
|
||||
this.currentComponent = markRaw(
|
||||
defineAsyncComponent(() => import(`@/views${viewPath}.vue`))
|
||||
);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped></style>
|
||||
|
|
@ -1,5 +1,48 @@
|
|||
<template>
|
||||
<el-container>
|
||||
<el-header>
|
||||
<div class="left-panel">
|
||||
<el-select
|
||||
v-model="query.workflow"
|
||||
placeholder="审批流"
|
||||
@change="handleQuery"
|
||||
clearable
|
||||
style="margin-left: 2px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in wfOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<el-select
|
||||
v-model="query.script_run_last_result"
|
||||
placeholder="任务执行状态"
|
||||
@change="handleQuery"
|
||||
clearable
|
||||
style="margin-left: 2px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in rsOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<el-date-picker
|
||||
v-model="timeRange"
|
||||
type="datetimerange"
|
||||
range-separator="至"
|
||||
start-placeholder="创建时间始"
|
||||
end-placeholder="创建时间止"
|
||||
style="margin-left: 2px"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
@change="handleQuery"
|
||||
clearable
|
||||
/>
|
||||
</div>
|
||||
</el-header>
|
||||
<el-main class="nopadding">
|
||||
<scTable
|
||||
ref="table"
|
||||
|
|
@ -154,10 +197,34 @@ export default {
|
|||
handleTitle: "撤回工单",
|
||||
ticketId: null,
|
||||
limitedRetreat: false,
|
||||
wfOptions: [],
|
||||
rsOptions: [
|
||||
{ value: true, label: "成功" },
|
||||
{ value: false, label: "失败" },
|
||||
],
|
||||
query: {},
|
||||
timeRange: [],
|
||||
};
|
||||
},
|
||||
mounted() {},
|
||||
mounted() {
|
||||
this.getWfOptions();
|
||||
},
|
||||
methods: {
|
||||
getWfOptions() {
|
||||
this.$API.wf.workflow.list.req({ page: 0 }).then((res) => {
|
||||
this.wfOptions = res;
|
||||
});
|
||||
},
|
||||
handleQuery() {
|
||||
if (this.timeRange) {
|
||||
this.query.start_create = this.timeRange[0];
|
||||
this.query.end_create = this.timeRange[1];
|
||||
} else {
|
||||
this.query.end_create = null;
|
||||
this.query.start_create = null;
|
||||
}
|
||||
this.$refs.table.queryData(this.query);
|
||||
},
|
||||
handleShow(row) {
|
||||
let cateType = row.workflow_.key;
|
||||
let projectId = null;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,183 @@
|
|||
<template>
|
||||
<el-collapse v-model="activeNames" style="padding-left: 2px; padding-right: 2px;">
|
||||
<el-collapse-item title="基本信息" name="1">
|
||||
<el-descriptions :column="1">
|
||||
<el-descriptions-item>
|
||||
<span style="color:darkblue;margin-right: 4px;">({{ ticketDetail.sn }})</span>{{ ticketDetail.title
|
||||
}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="当前:">
|
||||
<el-tag type="info" effect="plain">{{ ticketDetail.state_.name }}</el-tag>
|
||||
<el-tag :type="actStateEnum[ticketDetail.act_state]?.type" effect="plain">
|
||||
{{ actStateEnum[ticketDetail.act_state]?.text }}
|
||||
</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="可处理人:"
|
||||
v-if="ticketDetail.participant_type == 2 || ticketDetail.participant_type == 1">
|
||||
<span v-for="item in ticketDetail.participant_" :key="item.id">{{ item.name }}/</span>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</el-collapse-item>
|
||||
<el-collapse-item title="操作" name="2" v-if="actionShow">
|
||||
<el-input type="textarea" :rows="2" v-model="handleForm.suggestion" placeholder="处理意见" />
|
||||
<el-row>
|
||||
<el-col :xs="24" :md="12" style="padding: 1px">
|
||||
<el-button :loading="submitLoading" :disabled="submitLoading" v-for="item in transitions"
|
||||
:key="item.id" size="small" :type="item.attribute_type === 2 ? 'danger' : 'primary'
|
||||
" @click="handleTransition(item.id)">
|
||||
{{ item.name }}
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :xs="24" :md="12" style="text-align: right;padding: 1px">
|
||||
<el-button v-if="ticketDetail.state_.enable_retreat && isOwn" type="danger" size="small"
|
||||
@click="handleRetreat">撤回</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-collapse-item>
|
||||
<el-collapse-item title="审批历史" name="3">
|
||||
<div style="padding:1px"><el-timeline>
|
||||
<el-timeline-item v-for="item in ticketLog" :key="item.id" :timestamp="item.create_time"
|
||||
:color="getColor(item)">
|
||||
<div>
|
||||
<strong>{{ item.state_?.name || "未知状态" }}</strong>
|
||||
</div>
|
||||
<div>
|
||||
<span v-if="item.intervene_type != 0"><el-tag
|
||||
:type="interveneTypeEnum[item.intervene_type]?.type" effect="plain">
|
||||
{{ interveneTypeEnum[item.intervene_type]?.text }}
|
||||
</el-tag></span>
|
||||
<span v-if="item.transition_"
|
||||
:style="{ color: item.transition_.attribute_type === 1 ? '#67C23A' : '#F56C6C' }">
|
||||
{{ item.transition_.name }}
|
||||
</span>
|
||||
<span v-if="item.participant_">-{{ item.participant_.name }}</span>
|
||||
</div>
|
||||
<div v-if="item.suggestion">
|
||||
<el-tooltip v-if="item.suggestion.length > 20" class="box-item" effect="dark"
|
||||
:content="item.suggestion" placement="top">
|
||||
<span>{{ item.suggestion.slice(0, 20) + "..." }}</span>
|
||||
</el-tooltip>
|
||||
<span v-else>
|
||||
{{ item.suggestion }}
|
||||
</span>
|
||||
</div>
|
||||
</el-timeline-item>
|
||||
</el-timeline></div>
|
||||
|
||||
</el-collapse-item>
|
||||
</el-collapse>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref, defineProps, onMounted } from "vue";
|
||||
import { actStateEnum, interveneTypeEnum } from "@/utils/enum.js";
|
||||
import API from '@/api';
|
||||
import TOOL from "@/utils/tool.js";
|
||||
import { ElMessageBox } from 'element-plus'
|
||||
const props = defineProps({
|
||||
ticketId: { type: String, required: true, default: null },
|
||||
ticket_data: { type: Object, default: null },
|
||||
});
|
||||
const currentUser = ref(TOOL.data.get("USER_INFO").id)
|
||||
const actionShow = ref(false);
|
||||
const isOwn = ref(false);
|
||||
const activeNames = ref(['1', '3']);
|
||||
const ticketDetail = ref({
|
||||
state_: {}
|
||||
});
|
||||
const ticketLog = ref([]);
|
||||
const handleForm = ref({
|
||||
suggestion: ""
|
||||
})
|
||||
onMounted(() => {
|
||||
console.log(props)
|
||||
if (props.ticketId) {
|
||||
getTicketDetail();
|
||||
getTicketLog();
|
||||
}
|
||||
});
|
||||
const emit = defineEmits(['success']);
|
||||
const refreshTicket = async () => {
|
||||
actionShow.value = false
|
||||
isOwn.value = false
|
||||
transitions.value = []
|
||||
handleForm.value.suggestion = ''
|
||||
ticketLog.value = []
|
||||
activeNames.value = ['1', '3'] // 根据需要恢复初始展开项
|
||||
getTicketDetail()
|
||||
getTicketLog()
|
||||
emit('success')
|
||||
}
|
||||
|
||||
const getTicketDetail = () => {
|
||||
API.wf.ticket.ticketItem.req(props.ticketId).then(res => {
|
||||
ticketDetail.value = res;
|
||||
if (res.create_by === currentUser.value) {
|
||||
isOwn.value = true;
|
||||
actionShow.value = true;
|
||||
if (!activeNames.value.includes('2')) activeNames.value.push('2')
|
||||
}
|
||||
if (res.participant_type == 1 && res.participant === currentUser.value) {
|
||||
actionShow.value = true;
|
||||
if (!activeNames.value.includes('2')) activeNames.value.push('2')
|
||||
getTransitions();
|
||||
}
|
||||
if (res.participant_type == 2 && res.participant.includes(currentUser.value)) {
|
||||
actionShow.value = true;
|
||||
if (!activeNames.value.includes('2')) activeNames.value.push('2')
|
||||
getTransitions();
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
const getTransitions = () => {
|
||||
API.wf.ticket.ticketTransitions.req(props.ticketId).then(res => {
|
||||
transitions.value = res;
|
||||
});
|
||||
}
|
||||
|
||||
const getTicketLog = () => {
|
||||
API.wf.ticket.ticketFlowlogs.req(props.ticketId).then(res => {
|
||||
ticketLog.value = res;
|
||||
})
|
||||
}
|
||||
|
||||
function getColor(item) {
|
||||
if (item.transition_?.attribute_type === 1) return "#67C23A"; // 同意 绿色
|
||||
if (item.transition_?.attribute_type === 2) return "#F56C6C"; // 拒绝 红色
|
||||
return "#909399"; // 默认灰色
|
||||
}
|
||||
|
||||
const handleRetreat = () => {
|
||||
ElMessageBox.confirm("确认撤回吗?", "温馨提示", {
|
||||
confirmButtonText: "确认",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
}).then(() => {
|
||||
API.wf.ticket.ticketRetreat
|
||||
.req(props.ticketId, handleForm.value)
|
||||
.then((res) => {
|
||||
refreshTicket();
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
const submitLoading = ref(false);
|
||||
const transitions = ref([]);
|
||||
const handleTransition = (transitionId) => {
|
||||
let params = new Object();
|
||||
params.transition = transitionId;
|
||||
if (props.ticket_data) {
|
||||
params.ticket_data = props.ticket_data;
|
||||
} else {
|
||||
params.ticket_data = {};
|
||||
}
|
||||
params.suggestion = handleForm.value.suggestion;
|
||||
submitLoading.value = true;
|
||||
API.wf.ticket.ticketHandle.req(props.ticketId, params).then((res) => {
|
||||
submitLoading.value = false;
|
||||
refreshTicket();
|
||||
}).catch((e) => {
|
||||
submitLoading.value = false;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
<template>
|
||||
<el-button
|
||||
v-for="item in transitions"
|
||||
:key="item.id"
|
||||
type="primary"
|
||||
:loading="isSaveing"
|
||||
:disabled="isSaveing"
|
||||
@click="submit(item.id)"
|
||||
style="margin-right: 2px"
|
||||
>{{ item.name }}</el-button>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref, reactive, onMounted, defineEmits } from 'vue'
|
||||
import { ElMessage } from 'element-plus'
|
||||
import API from '@/api';
|
||||
|
||||
|
||||
const props = defineProps({
|
||||
workflow_key: {type: String, default: null, required: false},
|
||||
ticketId: {type: String, default: null, required: false},
|
||||
t_id: {type: String, default: null, required: true},
|
||||
title: {type: String, default: null, required: false},
|
||||
submit_b_func: {type: Function, default: null, required: false},
|
||||
ticket_data: {type: Object, default: null, required: false},
|
||||
})
|
||||
|
||||
const workflow = ref(null);
|
||||
const transitions = ref([]);
|
||||
onMounted(async () => {
|
||||
init()
|
||||
})
|
||||
const init = async () => {
|
||||
if (props.ticketId != null && props.ticketId != undefined) {
|
||||
API.wf.ticket.ticketTransitions.req(props.ticketId).then(res => {
|
||||
transitions.value = res;
|
||||
console.log("res", res)
|
||||
});
|
||||
}else if (props.workflow_key !=null && props.workflow_key != undefined) {
|
||||
let res = await API.wf.workflow.initkey.req(props.workflow_key);
|
||||
transitions.value = res.transitions;
|
||||
workflow.value = res.workflow
|
||||
}else{
|
||||
ElMessage.error("缺少workflow_key或ticketId");
|
||||
}
|
||||
}
|
||||
|
||||
const isSaveing = ref(false);
|
||||
|
||||
const emit = defineEmits(["success"]);
|
||||
const submit = async (transition_id) => {
|
||||
isSaveing.value = true;
|
||||
if (props.submit_b_func) {
|
||||
await props.submit_b_func();
|
||||
}
|
||||
if (props.ticketId != null && props.ticketId != undefined) {
|
||||
let params = new Object();
|
||||
params.transition = transition_id;
|
||||
if (props.ticket_data) {
|
||||
params.ticket_data = props.ticket_data;
|
||||
}else{
|
||||
params.ticket_data = {};
|
||||
}
|
||||
try{
|
||||
let res = await API.wf.ticket.ticketHandle.req(props.ticketId, params);
|
||||
isSaveing.value = false;
|
||||
ElMessage.success("提交成功");
|
||||
emit("success", props.ticketId)
|
||||
} catch (e) {
|
||||
isSaveing.value = false;
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
let ticket = {};
|
||||
ticket.title = props.title;
|
||||
ticket.workflow = workflow.value;
|
||||
if (props.t_id != null && props.t_id != undefined) {
|
||||
ticket.ticket_data = {
|
||||
t_id: props.t_id,
|
||||
};
|
||||
} else {
|
||||
ElMessage.error("缺少t_id");
|
||||
isSaveing.value = false;
|
||||
return;
|
||||
}
|
||||
|
||||
ticket.transition = transition_id;
|
||||
try {
|
||||
let res = await API.wf.ticket.create.req(ticket);
|
||||
isSaveing.value = false;
|
||||
ElMessage.success("提交成功");
|
||||
emit("success", res.id)
|
||||
} catch (e) {
|
||||
isSaveing.value = false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
<template>
|
||||
<el-container>
|
||||
<el-main class="nopadding">
|
||||
|
||||
</el-main>
|
||||
<el-aside width="30%">
|
||||
<ticketd :ticketId="props.ticketId"></ticketd>
|
||||
</el-aside>
|
||||
</el-container>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref, defineProps, onMounted} from "vue";
|
||||
import ticketd from './ticketd.vue'
|
||||
import API from '@/api'
|
||||
const props = defineProps({
|
||||
ticketId: { type: String, required: false, default: null }
|
||||
});
|
||||
onMounted(() => {
|
||||
|
||||
})
|
||||
</script>
|
||||
|
|
@ -1,5 +1,48 @@
|
|||
<template>
|
||||
<el-container>
|
||||
<el-header>
|
||||
<div class="left-panel">
|
||||
<el-select
|
||||
v-model="query.workflow"
|
||||
placeholder="审批流"
|
||||
@change="handleQuery"
|
||||
clearable
|
||||
style="margin-left: 2px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in wfOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<el-select
|
||||
v-model="query.script_run_last_result"
|
||||
placeholder="任务执行状态"
|
||||
@change="handleQuery"
|
||||
clearable
|
||||
style="margin-left: 2px"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in rsOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<el-date-picker
|
||||
v-model="timeRange"
|
||||
type="datetimerange"
|
||||
range-separator="至"
|
||||
start-placeholder="创建时间始"
|
||||
end-placeholder="创建时间止"
|
||||
style="margin-left: 2px"
|
||||
value-format="YYYY-MM-DD HH:mm:ss"
|
||||
@change="handleQuery"
|
||||
clearable
|
||||
/>
|
||||
</div>
|
||||
</el-header>
|
||||
<el-main class="nopadding">
|
||||
<scTable
|
||||
ref="table"
|
||||
|
|
@ -116,10 +159,34 @@ export default {
|
|||
1: "个人",
|
||||
2: "多人",
|
||||
},
|
||||
wfOptions: [],
|
||||
rsOptions: [
|
||||
{ value: true, label: "成功" },
|
||||
{ value: false, label: "失败" },
|
||||
],
|
||||
query: {},
|
||||
timeRange: [],
|
||||
};
|
||||
},
|
||||
mounted() {},
|
||||
mounted() {
|
||||
this.getWfOptions();
|
||||
},
|
||||
methods: {
|
||||
getWfOptions() {
|
||||
this.$API.wf.workflow.list.req({ page: 0 }).then((res) => {
|
||||
this.wfOptions = res;
|
||||
});
|
||||
},
|
||||
handleQuery() {
|
||||
if (this.timeRange) {
|
||||
this.query.start_create = this.timeRange[0];
|
||||
this.query.end_create = this.timeRange[1];
|
||||
} else {
|
||||
this.query.end_create = null;
|
||||
this.query.start_create = null;
|
||||
}
|
||||
this.$refs.table.queryData(this.query);
|
||||
},
|
||||
handleShow(row) {
|
||||
let cateType = row.workflow_.key;
|
||||
let projectId = null;
|
||||
|
|
|
|||
|
|
@ -28,18 +28,28 @@
|
|||
<el-main class="nopadding">
|
||||
<scTable ref="table" :apiObj="apiObj" row-key="id">
|
||||
<el-table-column label="#" type="index"></el-table-column>
|
||||
<el-table-column label="ID" prop="id" min-width="150"></el-table-column>
|
||||
<el-table-column label="ID" prop="id" width="160"></el-table-column>
|
||||
<el-table-column
|
||||
label="工作流名称"
|
||||
prop="name"
|
||||
min-width="200"
|
||||
width="220"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="标识"
|
||||
prop="key"
|
||||
min-width="100"
|
||||
width="160"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="流水前缀"
|
||||
prop="sn_prefix"
|
||||
width="80">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="页面路径"
|
||||
prop="view_path"
|
||||
min-width="150">
|
||||
</el-table-column>
|
||||
<!-- <el-table-column
|
||||
label="工单查看权限校验"
|
||||
prop="view_permission_check"
|
||||
min-width="120"
|
||||
|
|
@ -48,7 +58,7 @@
|
|||
<span v-if="scope.row.view_permission_check">是</span>
|
||||
<span v-else>否</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table-column> -->
|
||||
<el-table-column
|
||||
label="工作流描述"
|
||||
prop="description"
|
||||
|
|
@ -57,7 +67,7 @@
|
|||
<el-table-column
|
||||
label="创建时间"
|
||||
prop="create_time"
|
||||
min-width="150"
|
||||
width="140"
|
||||
></el-table-column>
|
||||
<el-table-column label="操作" fixed="right" align="center" width="250">
|
||||
<template #default="scope">
|
||||
|
|
@ -149,6 +159,9 @@
|
|||
:props="{ key: 'id', label: 'field_name' }"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="页面地址">
|
||||
<el-input v-model="addForm.view_path" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="标题模板">
|
||||
<el-input v-model="addForm.title_template" clearable></el-input>
|
||||
</el-form-item>
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@
|
|||
<div style="padding-left: 50px">
|
||||
<div v-if="props.row.new_batch&&props.row.new_batch!= null" style="font-size: 14px;">新批次号:{{ props.row.new_batch }}</div>
|
||||
<template v-for="item in props.row.handoverb" :key="item.id">
|
||||
<el-descriptions :column="3">
|
||||
<el-descriptions :column="3" style="margin-top: 10px;">
|
||||
<el-descriptions-item label="批次">
|
||||
{{item.batch}}
|
||||
</el-descriptions-item>
|
||||
|
|
@ -83,9 +83,7 @@
|
|||
{{item.defect_name}}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<!-- {{ item }} -->
|
||||
<!-- {{ item.handoverbw }} -->
|
||||
<div v-if="item.handoverbw&&item.handoverbw.length>0">
|
||||
<div v-if="item.handoverbw&&item.handoverbw.length>0" style="margin-top: -10px;">
|
||||
板段号:<span v-for="bwItem in item.handoverbw" :key="bwItem.id">{{ bwItem.number }}、</span>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -103,15 +101,6 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="数量" prop="count" min-width="80"></el-table-column>
|
||||
<!-- <el-table-column label="交接类别" prop="type" width="80">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.type == 10" type="success">正常</el-tag>
|
||||
<el-tag v-if="scope.row.type == 20" type="warning">返工</el-tag>
|
||||
<el-tag v-if="scope.row.type == 30" type="primary">检验</el-tag>
|
||||
<el-tag v-if="scope.row.type == 40" type="danger">报废</el-tag>
|
||||
<el-tag v-if="scope.row.type == 60" type="warning">退料</el-tag>
|
||||
</template>
|
||||
</el-table-column> -->
|
||||
<el-table-column label="交接类型" prop="type" min-width="80">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.type == 10&&scope.row.mtype == 10" type="success">正常</el-tag>
|
||||
|
|
@ -125,11 +114,7 @@
|
|||
<el-text v-if="scope.row.recive_mgroup == mgroupId" type="success">接收</el-text>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="交接工段" min-width="80">
|
||||
<template #default="scope">
|
||||
<el-text v-if="scope.row.send_mgroup == mgroupId">{{scope.row.send_mgroup_name}}</el-text>
|
||||
<el-text v-if="scope.row.recive_mgroup == mgroupId">{{scope.row.recive_mgroup_name}}</el-text>
|
||||
</template>
|
||||
<el-table-column label="接收工段" min-width="80" prop="recive_mgroup_name">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="交送人"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<el-dialog
|
||||
:title="titleMap[mode]"
|
||||
:title="titleMap[mode+type]"
|
||||
v-model="visible"
|
||||
width="1000px"
|
||||
:size="1000"
|
||||
|
|
@ -17,8 +17,10 @@
|
|||
<el-form-item label="交接物料">
|
||||
<el-button type="primary" @click="addMaterial" v-if="mode!=='show'">手动添加</el-button>
|
||||
<el-input ref="codeInput"
|
||||
id="wm_in"
|
||||
placeholder="扫描交接物料"
|
||||
v-model="wm_in" clearable
|
||||
v-model="wm_in" clearable
|
||||
:disabled="imputDisable"
|
||||
@change="formWminChange(wm_in)"
|
||||
style="width: 300px;margin-left: 10px;"
|
||||
></el-input>
|
||||
|
|
@ -189,7 +191,7 @@
|
|||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="更改批次">
|
||||
<el-switch v-model="change_batch"></el-switch>
|
||||
<el-switch v-model="change_batch" :disabled="type==50"></el-switch>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="type==50">
|
||||
|
|
@ -253,8 +255,14 @@ export default {
|
|||
loading: false,
|
||||
mode: "add",
|
||||
titleMap: {
|
||||
add: "新增交接记录",
|
||||
edit: "编辑交接记录",
|
||||
add10: "新增交接记录",
|
||||
add20: "新增返工记录",
|
||||
add40: "新增废品入库",
|
||||
add50: "新增改版记录",
|
||||
edit10: "编辑交接记录",
|
||||
edit20: "编辑返工记录",
|
||||
edit40: "编辑废品入库",
|
||||
edit50: "编辑改版记录",
|
||||
show: "查看交接记录",
|
||||
},
|
||||
lists:[],//交接数组
|
||||
|
|
@ -344,6 +352,7 @@ export default {
|
|||
bwVisible:false,
|
||||
scanVisible:false,
|
||||
isSaveing: false,
|
||||
imputDisable:false,
|
||||
change_batch:false,
|
||||
setFiltersVisible: false,
|
||||
};
|
||||
|
|
@ -351,6 +360,9 @@ export default {
|
|||
mounted() {
|
||||
let that = this;
|
||||
that.form.type = that.type;
|
||||
if(that.type==50){
|
||||
that.change_batch = true;
|
||||
}
|
||||
let materialObj = that.$TOOL.data.get("MATERIAL_OBJECT");
|
||||
that.materialObj = materialObj;
|
||||
that.form.handle_date =that.form.send_date =this.$TOOL.dateFormat2(new Date());
|
||||
|
|
@ -381,8 +393,6 @@ export default {
|
|||
}
|
||||
}else if(that.type==40){//废品入库
|
||||
that.getMaterialNotok();
|
||||
}else if(that.type==60){
|
||||
|
||||
}
|
||||
that.getMgroupOptions();
|
||||
},
|
||||
|
|
@ -576,7 +586,7 @@ export default {
|
|||
},
|
||||
clearSelect(){
|
||||
let that = this;
|
||||
that.totalCount = 0;
|
||||
that.totalCount = 0;
|
||||
that.form.handoverb = [];
|
||||
},
|
||||
materialChange() {
|
||||
|
|
@ -586,6 +596,7 @@ export default {
|
|||
data = that.materialOptions.filter((item) => {
|
||||
return that.selectItems.indexOf(item.id)>-1;
|
||||
});
|
||||
that.form.new_batch = data[0].batch+'g';
|
||||
let materialId = data[0].material;
|
||||
if(that.type==50){}else{
|
||||
let params = {
|
||||
|
|
@ -733,69 +744,74 @@ export default {
|
|||
let that = this;
|
||||
that.scanVisible = true;
|
||||
},
|
||||
formWminChange(data){
|
||||
async formWminChange(data){
|
||||
this.imputDisable = true;
|
||||
await this.getInputText(data);
|
||||
this.imputDisable = false;
|
||||
this.$refs.codeInput.focus();
|
||||
},
|
||||
async getInputText(data){
|
||||
if(data==''){
|
||||
return;
|
||||
}
|
||||
let that = this;
|
||||
that.wm_in = '';
|
||||
if(data.indexOf('#')>-1){
|
||||
let id = data.split('#')[1];
|
||||
this.$API.cm.labelmat.item.req(id).then((res) => {
|
||||
let arr = [];
|
||||
if(that.form.handoverb&&that.form.handoverb.length>0){
|
||||
that.form.handoverb.forEach((item) => {
|
||||
if(item.batch == res.batch&&item.state==res.state&&item.defect==res.defect){
|
||||
arr.push(item);
|
||||
}
|
||||
})
|
||||
}
|
||||
if(arr.length>0){
|
||||
that.wm_in = "";
|
||||
that.$message.error("该批次已存在")
|
||||
}else{
|
||||
let hasArr = [];
|
||||
that.materialOptions.forEach((item) => {
|
||||
if(item.batch == res.batch){
|
||||
hasArr.push(item);
|
||||
let params = {material: item.material,type: that.type};
|
||||
that.$API.wpm.handover.mgroups.req(params).then((res0) => {
|
||||
that.mgroupOptions = res0;
|
||||
if(res0.length==1){
|
||||
that.form.recive_mgroup = res0[0].id;
|
||||
that.getUserList2();
|
||||
}
|
||||
})
|
||||
let obj = {};
|
||||
obj.wm = item.id;
|
||||
obj.batch = item.batch;
|
||||
if(item.material_.process_name){
|
||||
obj.process = item.material_.process_name;
|
||||
}
|
||||
obj.count_cando = item.count_canhandover;
|
||||
obj.count = item.count_canhandover;
|
||||
obj.state = res.state;
|
||||
obj.defect = res.defect;
|
||||
obj.handoverbw = [];
|
||||
that.$API.wpm.wpr.list.req({wm:item.id,page:0}).then((res) => {
|
||||
let handoverbw = [];
|
||||
let list = res;
|
||||
list.forEach(item1=>{
|
||||
let obj1 = {};
|
||||
obj1.wpr = item1.id;
|
||||
obj1.number = item1.number;
|
||||
handoverbw.push(obj1);
|
||||
})
|
||||
obj.handoverbw = handoverbw;
|
||||
that.form.handoverb.push(obj);
|
||||
that.wm_in = "";
|
||||
})
|
||||
}
|
||||
})
|
||||
if(hasArr.length>0){}else{
|
||||
that.$message.error("该批次不存在")
|
||||
let res = await this.$API.cm.labelmat.item.req(id);
|
||||
let arr = [];
|
||||
if(that.form.handoverb&&that.form.handoverb.length>0){
|
||||
that.form.handoverb.forEach((item) => {
|
||||
if(item.batch == res.batch&&item.state==res.state&&item.defect==res.defect){
|
||||
arr.push(item);
|
||||
}
|
||||
})
|
||||
}
|
||||
if(arr.length>0){
|
||||
that.$message.error("该批次已存在")
|
||||
}else{
|
||||
let hasArr = [];
|
||||
that.materialOptions.forEach((item) => {
|
||||
if(item.batch == res.batch){
|
||||
that.form.new_batch = res.batch+'g';
|
||||
hasArr.push(item);
|
||||
let params = {material: item.material,type: that.type};
|
||||
that.$API.wpm.handover.mgroups.req(params).then((res0) => {
|
||||
that.mgroupOptions = res0;
|
||||
if(res0.length==1){
|
||||
that.form.recive_mgroup = res0[0].id;
|
||||
that.getUserList2();
|
||||
}
|
||||
})
|
||||
let obj = {};
|
||||
obj.wm = item.id;
|
||||
obj.batch = item.batch;
|
||||
if(item.material_.process_name){
|
||||
obj.process = item.material_.process_name;
|
||||
}
|
||||
obj.count_cando = item.count_canhandover;
|
||||
obj.count = item.count_canhandover;
|
||||
obj.state = res.state;
|
||||
obj.defect = res.defect;
|
||||
obj.handoverbw = [];
|
||||
that.$API.wpm.wpr.list.req({wm:item.id,page:0}).then((res) => {
|
||||
let handoverbw = [];
|
||||
let list = res;
|
||||
list.forEach(item1=>{
|
||||
let obj1 = {};
|
||||
obj1.wpr = item1.id;
|
||||
obj1.number = item1.number;
|
||||
handoverbw.push(obj1);
|
||||
})
|
||||
obj.handoverbw = handoverbw;
|
||||
that.form.handoverb.push(obj);
|
||||
})
|
||||
}
|
||||
})
|
||||
if(hasArr.length>0){}else{
|
||||
that.$message.error("该批次不存在")
|
||||
}
|
||||
})
|
||||
}
|
||||
}else{//wpr的number
|
||||
let arr = [];
|
||||
arr = that.materialOptions.filter((item) => {
|
||||
|
|
@ -809,9 +825,9 @@ export default {
|
|||
})
|
||||
}
|
||||
if(arr2.length>0){
|
||||
that.wm_in = "";
|
||||
that.$message.error("该批次已存在")
|
||||
}else{
|
||||
that.form.new_batch = arr[0].batch+'g';
|
||||
let params = {material: arr[0].material,type: that.type};
|
||||
that.$API.wpm.handover.mgroups.req(params).then((res0) => {
|
||||
that.mgroupOptions = res0;
|
||||
|
|
@ -825,80 +841,77 @@ export default {
|
|||
obj2.count_cando = arr[0].count_canhandover;
|
||||
obj2.count = arr[0].count_canhandover;
|
||||
that.form.handoverb.push(obj2);
|
||||
that.wm_in = "";
|
||||
}
|
||||
}else{//单件
|
||||
that.$API.wpm.wpr.list.req({number:data,page:0}).then((res) => {
|
||||
if(res.length>0){
|
||||
let indexs = 0,arr =[];
|
||||
if( that.form.handoverb&&that.form.handoverb.length>0){
|
||||
arr = that.form.handoverb.filter((item,index) => {
|
||||
let res = await that.$API.wpm.wpr.list.req({number:data,page:0});
|
||||
if(res.length>0){
|
||||
let indexs = 0,arr =[];
|
||||
if( that.form.handoverb&&that.form.handoverb.length>0){
|
||||
that.form.handoverb.forEach((item,index) => {
|
||||
if(item.wm == res[0].wm){
|
||||
indexs = index;
|
||||
return item.wm == res[0].wm;
|
||||
arr.push(item);
|
||||
}
|
||||
})
|
||||
}
|
||||
//handoverb里有这个物料批次
|
||||
if(arr.length>0){
|
||||
//判断是否有wpr,若无将wpr放进去
|
||||
if(that.form.handoverb[indexs].handoverbw&&that.form.handoverb[indexs].handoverbw.length>0){
|
||||
let arr1 = [];
|
||||
arr1 = that.form.handoverb[indexs].handoverbw.filter((item1) => {
|
||||
return item1.wpr == res[0].id;
|
||||
})
|
||||
}
|
||||
//handoverb里有这个物料批次
|
||||
if(arr.length>0){
|
||||
//判断是否有wpr,若无将wpr放进去
|
||||
if(that.form.handoverb[indexs].handoverbw&&that.form.handoverb[indexs].handoverbw.length>0){
|
||||
let arr1 = [];
|
||||
arr1 = that.form.handoverb[indexs].handoverbw.filter((item1) => {
|
||||
return item1.wpr == res[0].id;
|
||||
})
|
||||
if(arr1.length>0){
|
||||
that.wm_in = "";
|
||||
that.$message.error("该物料已存在");
|
||||
}else{
|
||||
let obj1 = {};
|
||||
obj1.wpr = res[0].id;
|
||||
obj1.number = res[0].number;
|
||||
that.form.handoverb[indexs].count+=1;
|
||||
that.form.handoverb[indexs].handoverbw.push(obj1);
|
||||
that.wm_in = "";
|
||||
}
|
||||
if(arr1.length>0){
|
||||
that.$message.error("该物料已存在");
|
||||
}else{
|
||||
that.form.handoverb[indexs].handoverbw = [];
|
||||
let obj1 = {};
|
||||
obj1.wpr = res[0].id;
|
||||
obj1.number = res[0].number;
|
||||
that.form.handoverb[indexs].count=1;
|
||||
that.form.handoverb[indexs].count+=1;
|
||||
that.form.handoverb[indexs].handoverbw.push(obj1);
|
||||
that.wm_in = "";
|
||||
}
|
||||
}else{//handoverb里没有有这个物料批次
|
||||
that.materialOptions.forEach((item) => {
|
||||
if(item.id == res[0].wm){
|
||||
let params = {material: item.material,type: that.type};
|
||||
that.$API.wpm.handover.mgroups.req(params).then((res1) => {
|
||||
that.mgroupOptions = res1;
|
||||
})
|
||||
let obj2 = {};
|
||||
obj2.wm = item.id;
|
||||
obj2.batch = item.batch;
|
||||
if(item.material_.process_name){
|
||||
obj2.process = item.material_.process_name;
|
||||
}
|
||||
obj2.count_cando = item.count_canhandover;
|
||||
obj2.handoverbw = [];
|
||||
obj2.count = 1;
|
||||
let obj3 = {};
|
||||
obj3.wpr = res[0].id;
|
||||
obj3.number = res[0].number;
|
||||
obj2.handoverbw.push(obj3);
|
||||
// that.form.handoverb = [];
|
||||
that.form.handoverb.push(obj2);
|
||||
}
|
||||
})
|
||||
that.wm_in = "";
|
||||
}else{
|
||||
that.form.handoverb[indexs].handoverbw = [];
|
||||
let obj1 = {};
|
||||
obj1.wpr = res[0].id;
|
||||
obj1.number = res[0].number;
|
||||
that.form.handoverb[indexs].count=1;
|
||||
that.form.handoverb[indexs].handoverbw.push(obj1);
|
||||
}
|
||||
}else{
|
||||
that.wm_in = "";
|
||||
that.$message.error("该批次不存在")
|
||||
}else{//handoverb里没有有这个物料批次
|
||||
that.materialOptions.forEach((item) => {
|
||||
if(item.id == res[0].wm){
|
||||
that.form.new_batch = item.batch+'g';
|
||||
let params = {material: item.material,type: that.type};
|
||||
that.$API.wpm.handover.mgroups.req(params).then((res1) => {
|
||||
that.mgroupOptions = res1;
|
||||
})
|
||||
let obj2 = {};
|
||||
obj2.wm = item.id;
|
||||
obj2.batch = item.batch;
|
||||
if(item.material_.process_name){
|
||||
obj2.process = item.material_.process_name;
|
||||
}
|
||||
obj2.count_cando = item.count_canhandover;
|
||||
obj2.handoverbw = [];
|
||||
obj2.count = 1;
|
||||
let obj3 = {};
|
||||
obj3.wpr = res[0].id;
|
||||
obj3.number = res[0].number;
|
||||
obj2.handoverbw.push(obj3);
|
||||
that.form.handoverb.push(obj2);
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}else{
|
||||
that.$message.error("该批次不存在")
|
||||
}
|
||||
}
|
||||
}
|
||||
this.countChange();
|
||||
setTimeout(() => {
|
||||
this.countChange();
|
||||
}, 500);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
|
|
|||
|
|
@ -7,6 +7,15 @@
|
|||
<el-button type="primary" v-auth="'handover.create'" @click="batchConcat()">合批</el-button>
|
||||
</div>
|
||||
<div class="right-panel">
|
||||
<el-switch
|
||||
v-model="showWprList"
|
||||
size="small"
|
||||
class="demo-type asyncColorSwitch"
|
||||
inactive-text="批次"
|
||||
active-text="板段"
|
||||
style="--el-switch-on-color: #67c23a; --el-switch-off-color: #0052d9"
|
||||
@change="showWprListChange"
|
||||
></el-switch>
|
||||
<el-select
|
||||
v-model="query.state"
|
||||
placeholder="物料状态"
|
||||
|
|
@ -36,6 +45,7 @@
|
|||
</el-header>
|
||||
<el-main class="nopadding">
|
||||
<scTable
|
||||
v-if="!showWprList"
|
||||
ref="table"
|
||||
:apiObj="apiObj"
|
||||
row-key="id"
|
||||
|
|
@ -54,7 +64,7 @@
|
|||
<el-table-column
|
||||
label="物料名称"
|
||||
prop="material_name"
|
||||
min-width="150"
|
||||
min-width="160"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.material_name }}
|
||||
|
|
@ -64,12 +74,12 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="物料已到工序"
|
||||
label="已完成工序"
|
||||
prop="material_name"
|
||||
min-width="100"
|
||||
min-width="70"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.material_name.split('|').at(-1) }}
|
||||
<span v-if="scope.row.material_">{{ scope.row.material_.process_name}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
|
@ -83,7 +93,8 @@
|
|||
min-width="150"
|
||||
>
|
||||
<template #default="scope">
|
||||
<span @click="rowClick(scope.row)" style="color:#0052d9;font-weight: 600;cursor: pointer;">{{scope.row.batch}}</span>
|
||||
<span v-if="route_code=='kaitaijiexiaopi'" @click="rowClick(scope.row)" style="color:#0052d9;font-weight: 600;cursor: pointer;">{{scope.row.batch}}</span>
|
||||
<span v-else>{{scope.row.batch}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
|
@ -129,7 +140,7 @@
|
|||
width="120"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-link :underline="false" @click="printMaterial(scope.row)" type="primary">物料标签</el-link>
|
||||
<el-link :underline="false" @click="printMaterial(scope.row,'wm')" type="primary">物料标签</el-link>
|
||||
<el-link :underline="false" v-if="scope.row.material_&&scope.row.material_.tracking==10&&scope.row.state!==20" @click="tableCheckList(scope.row)" type="primary">检验记录</el-link>
|
||||
<el-link
|
||||
v-if="scope.row.material_&&scope.row.material_.tracking==10&&scope.row.state!==20"
|
||||
|
|
@ -138,9 +149,76 @@
|
|||
type="primary"
|
||||
style="margin-left: 10px;"
|
||||
>检验</el-link>
|
||||
<el-link :underline="false" type="primary"
|
||||
<!-- <el-link :underline="false" type="primary"
|
||||
@click="handleWatch(scope.row)"
|
||||
>流程图</el-link>
|
||||
>流程图</el-link> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
<scTable
|
||||
ref="table"
|
||||
:apiObj="apiObj"
|
||||
row-key="id"
|
||||
:params="params"
|
||||
:query="query"
|
||||
v-if="showWprList"
|
||||
@selection-change="selectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="50"></el-table-column>
|
||||
<el-table-column label="状态" prop="state" width="80" >
|
||||
<template #default="scope">
|
||||
<el-tag :type="wmState[scope.row.state]?.type">
|
||||
{{wmState[scope.row.state]?.text}}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="物料名称"
|
||||
prop="material_name"
|
||||
min-width="120"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.material_name }}
|
||||
<span v-if="scope.row.material_origin != null">
|
||||
({{ scope.row.material_origin_name }})
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="物料编号" prop="number"></el-table-column>
|
||||
<el-table-column
|
||||
label="批次号"
|
||||
prop="wm_batch"
|
||||
min-width="150"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="已完成工序"
|
||||
prop="material_name"
|
||||
min-width="100"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.process_name }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="不合格标记" prop="wprdefect">
|
||||
<template #default="scope">
|
||||
<span v-for="item in scope.row.wprdefect" :key="item.id">
|
||||
{{ item.defect_name }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="创建时间"
|
||||
prop="create_time"
|
||||
width="150"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
fixed="right"
|
||||
align="center"
|
||||
width="120"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-link :underline="false" @click="printMaterial(scope.row,'wpr')" type="primary">物料标签</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
|
|
@ -272,7 +350,6 @@ export default {
|
|||
params: {
|
||||
tag : 'todo',
|
||||
mgroupx: "",
|
||||
belong_dept:''
|
||||
},
|
||||
wmtype:0,
|
||||
query: {
|
||||
|
|
@ -309,6 +386,7 @@ export default {
|
|||
wmMaterial:'',
|
||||
cate_type:'',
|
||||
materialType: "wm",
|
||||
showWprList: false,
|
||||
limitedWatch:false,
|
||||
materialsVisible:false,
|
||||
visibleDrawer: false,
|
||||
|
|
@ -331,6 +409,15 @@ export default {
|
|||
that.apiObj = that.$API.wpm.wmaterial.list;
|
||||
},
|
||||
methods: {
|
||||
showWprListChange(){
|
||||
let that = this;
|
||||
that.apiObj = null;
|
||||
if(that.showWprList){
|
||||
that.apiObj = that.$API.wpm.wpr.list;
|
||||
}else{
|
||||
that.apiObj = that.$API.wpm.wmaterial.list;
|
||||
}
|
||||
},
|
||||
handleWatch(row) {
|
||||
let that = this;
|
||||
that.$API.wpm.batchlog.dag.req({batch:row.batch}).then((res) => {
|
||||
|
|
@ -456,10 +543,11 @@ export default {
|
|||
});
|
||||
},
|
||||
//打印物料标签
|
||||
printMaterial(row){
|
||||
printMaterial(row,type){
|
||||
let that = this;
|
||||
if(that.printer_name!==''&&that.printer_name!==null&&that.printer_name!==undefined){
|
||||
let params = {};
|
||||
if(type=='wm'){
|
||||
let params = {};
|
||||
params.tid = row.id;
|
||||
let materialname = row.material_.name + '|' + row.material_.process_name;
|
||||
let specification = row.material_.specification;
|
||||
|
|
@ -516,6 +604,79 @@ export default {
|
|||
});
|
||||
})
|
||||
}
|
||||
|
||||
}else if(type=='wpr'){
|
||||
that.ofromBatch = row.wm_batch;
|
||||
that.ofromName = row.wm_material_ofrom_name;
|
||||
let params = {};
|
||||
let name = row.material_name.split('|')[0];
|
||||
if(that.route_code=='paiyicibang'||that.route_code=='kunbang'){
|
||||
console.log('that.route_code',that.route_code);
|
||||
console.log('that.ofromName',that.ofromName);
|
||||
that.$API.mtm.route.list.req({material_out:row.material,page:0}).then((res) => {
|
||||
let data = res[0].params_json;
|
||||
data.number = row.number;
|
||||
data.name=name;
|
||||
data.ofrom_name=that.ofromName;
|
||||
params.data = data;
|
||||
if(that.route_code=='paiyicibang'){
|
||||
params.label_template_name = '排一次棒单件打印模板';
|
||||
}else{
|
||||
params.label_template_name = '捆棒单件打印模板';
|
||||
}
|
||||
that.$API.cm.labeltemplate.commands.req(params).then((res) => {
|
||||
let obj = {};
|
||||
obj.printer_commands = res.commands;
|
||||
obj.printer_name = that.printer_name;
|
||||
that.$API.wpm.prints.req(obj).then((response) => {
|
||||
that.$message.success("打印成功");
|
||||
});
|
||||
});
|
||||
})
|
||||
}else{
|
||||
if(that.route_code=='paiban'||that.route_code=='zhuangmo'||that.route_code=='zlybcl'||that.route_code=='tuomoceliang'||
|
||||
that.route_code=='reyatuihuo'||that.route_code=='banduangunyuan'||that.route_code=='banduangunyuanhoudama'||that.route_code=='banduangunyuantuihuo'
|
||||
){
|
||||
let oinfo = [];
|
||||
for(let key in row.oinfo){
|
||||
oinfo.push(row.oinfo[key])
|
||||
}
|
||||
let data = {sigao:'',duibian:'',moban:'',hengya:'',istest:'否',number:row.number,name:name,ofrom_name:that.ofromName,ofrom_batch:that.ofromBatch};
|
||||
if(that.route_code=='zhuangmo'||that.route_code=='zlybcl'||that.route_code=='tuomoceliang'||that.route_code=='reyatuihuo'||that.route_code=='banduangunyuan'){
|
||||
params.label_template_name = '脱膜测量单件标签模板';
|
||||
}else{
|
||||
params.label_template_name = '排扳单件打印模板';
|
||||
}
|
||||
if(oinfo.length>0){
|
||||
oinfo.forEach((item)=>{
|
||||
if(item.name=="丝高"){
|
||||
data.sigao = item.val;
|
||||
}else if(item.name=="横压"){
|
||||
data.hengya = item.val;
|
||||
}else if(item.name=="对边"){
|
||||
data.duibian = item.val;
|
||||
}else if(item.name=="模具号"){
|
||||
data.moban = item.val;
|
||||
}else if(item.name=="实验板段"){
|
||||
data.istest = item.val?'是':'否';
|
||||
}
|
||||
})
|
||||
}
|
||||
params.data = data;
|
||||
}else{
|
||||
params.label_template_name = '单件打印模板';
|
||||
params.data = {number:row.number,name:name};
|
||||
}
|
||||
that.$API.cm.labeltemplate.commands.req(params).then((res) => {
|
||||
let obj = {};
|
||||
obj.printer_commands = res.commands;
|
||||
obj.printer_name = that.printer_name;
|
||||
that.$API.wpm.prints.req(obj).then((response) => {
|
||||
that.$message.success("打印成功");
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}else{
|
||||
that.$message.warning("请先设置打印机");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,15 @@
|
|||
<el-button type="primary" @click="tomio('do_in')" v-auth="'mio.doin'">入库</el-button>
|
||||
</div>
|
||||
<div class="right-panel">
|
||||
<el-switch
|
||||
v-model="showWprList"
|
||||
size="small"
|
||||
class="demo-type asyncColorSwitch"
|
||||
inactive-text="批次"
|
||||
active-text="板段"
|
||||
style="--el-switch-on-color: #67c23a; --el-switch-off-color: #0052d9"
|
||||
@change="showWprListChange"
|
||||
></el-switch>
|
||||
<el-select
|
||||
v-model="query.state"
|
||||
placeholder="物料状态"
|
||||
|
|
@ -51,6 +60,7 @@
|
|||
</el-header>
|
||||
<el-main class="nopadding">
|
||||
<scTable
|
||||
v-if="!showWprList"
|
||||
ref="table"
|
||||
:apiObj="apiObj"
|
||||
row-key="id"
|
||||
|
|
@ -59,7 +69,7 @@
|
|||
@selection-change="selectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="50"></el-table-column>
|
||||
<el-table-column label="状态" prop="state" width="100" >
|
||||
<el-table-column label="状态" prop="state" width="80" >
|
||||
<template #default="scope">
|
||||
<el-tag :type="wmState[scope.row.state]?.type">
|
||||
{{wmState[scope.row.state]?.text}}
|
||||
|
|
@ -69,7 +79,7 @@
|
|||
<el-table-column
|
||||
label="物料名称"
|
||||
prop="material_name"
|
||||
min-width="120"
|
||||
min-width="160"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.material_name }}
|
||||
|
|
@ -79,12 +89,12 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="物料已到工序"
|
||||
label="已完成工序"
|
||||
prop="material_name"
|
||||
min-width="100"
|
||||
min-width="70"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.material_name.split('|').at(-1) }}
|
||||
<span v-if="scope.row.material_">{{ scope.row.material_.process_name}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
|
@ -98,7 +108,8 @@
|
|||
min-width="150"
|
||||
>
|
||||
<template #default="scope">
|
||||
<span @click="rowClick(scope.row)" style="color:#0052d9;font-weight: 600;cursor: pointer;">{{scope.row.batch}}</span>
|
||||
<span v-if="route_code=='kaitaijiexiaopi'" @click="rowClick(scope.row)" style="color:#0052d9;font-weight: 600;cursor: pointer;">{{scope.row.batch}}</span>
|
||||
<span v-else>{{scope.row.batch}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
|
@ -153,9 +164,76 @@
|
|||
type="primary"
|
||||
style="margin-left: 10px;"
|
||||
>检验</el-link>
|
||||
<el-link :underline="false" type="primary"
|
||||
<!-- <el-link :underline="false" type="primary"
|
||||
@click="handleWatch(scope.row)"
|
||||
>流程图</el-link>
|
||||
>流程图</el-link> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
<scTable
|
||||
ref="table"
|
||||
:apiObj="apiObj"
|
||||
row-key="id"
|
||||
:params="params"
|
||||
:query="query"
|
||||
v-if="showWprList"
|
||||
@selection-change="selectionChange"
|
||||
>
|
||||
<el-table-column type="selection" width="50"></el-table-column>
|
||||
<el-table-column label="状态" prop="state" width="80" >
|
||||
<template #default="scope">
|
||||
<el-tag :type="wmState[scope.row.state]?.type">
|
||||
{{wmState[scope.row.state]?.text}}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="物料名称"
|
||||
prop="material_name"
|
||||
min-width="120"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.material_name }}
|
||||
<span v-if="scope.row.material_origin != null">
|
||||
({{ scope.row.material_origin_name }})
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="物料编号" prop="number"></el-table-column>
|
||||
<el-table-column
|
||||
label="批次号"
|
||||
prop="wm_batch"
|
||||
min-width="150"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="已完成工序"
|
||||
prop="material_name"
|
||||
min-width="100"
|
||||
>
|
||||
<template #default="scope">
|
||||
{{ scope.row.process_name }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="不合格标记" prop="wprdefect">
|
||||
<template #default="scope">
|
||||
<span v-for="item in scope.row.wprdefect" :key="item.id">
|
||||
{{ item.defect_name }}
|
||||
</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="创建时间"
|
||||
prop="create_time"
|
||||
width="150"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
fixed="right"
|
||||
align="center"
|
||||
width="120"
|
||||
>
|
||||
<template #default="scope">
|
||||
<el-link :underline="false" @click="printMaterial(scope.row,'wpr')" type="primary">物料标签</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</scTable>
|
||||
|
|
@ -286,7 +364,6 @@ export default {
|
|||
params: {
|
||||
tag : 'done',
|
||||
mgroupx: "",
|
||||
belong_dept:''
|
||||
},
|
||||
wmtype:0,
|
||||
query: {
|
||||
|
|
@ -325,6 +402,7 @@ export default {
|
|||
wmMaterial:'',
|
||||
cate_type:'',
|
||||
materialType: "wm",
|
||||
showWprList: false,
|
||||
showBatch: false,
|
||||
limitedWatch:false,
|
||||
materialsVisible:false,
|
||||
|
|
@ -356,6 +434,15 @@ export default {
|
|||
that.defectOptions = res;
|
||||
})
|
||||
},
|
||||
showWprListChange(){
|
||||
let that = this;
|
||||
that.apiObj = null;
|
||||
if(that.showWprList){
|
||||
that.apiObj = that.$API.wpm.wpr.list;
|
||||
}else{
|
||||
that.apiObj = that.$API.wpm.wmaterial.list;
|
||||
}
|
||||
},
|
||||
handleWatch(row) {
|
||||
let that = this;
|
||||
that.$API.wpm.batchlog.dag.req({batch:row.batch}).then((res) => {
|
||||
|
|
@ -491,7 +578,8 @@ export default {
|
|||
printMaterial(row,type){
|
||||
let that = this;
|
||||
if(that.printer_name!==''&&that.printer_name!==null&&that.printer_name!==undefined){
|
||||
let params = {};
|
||||
if(type=='wm'){
|
||||
let params = {};
|
||||
params.tid = row.id;
|
||||
let materialname = row.material_.name + '|' + row.material_.process_name;
|
||||
let specification = row.material_.specification;
|
||||
|
|
@ -562,6 +650,78 @@ export default {
|
|||
});
|
||||
})
|
||||
}
|
||||
}else if(type=='wpr'){
|
||||
that.ofromBatch = row.wm_batch;
|
||||
that.ofromName = row.wm_material_ofrom_name;
|
||||
let params = {};
|
||||
let name = row.material_name.split('|')[0];
|
||||
if(that.route_code=='paiyicibang'||that.route_code=='kunbang'){
|
||||
console.log('that.route_code',that.route_code);
|
||||
console.log('that.ofromName',that.ofromName);
|
||||
that.$API.mtm.route.list.req({material_out:row.material,page:0}).then((res) => {
|
||||
let data = res[0].params_json;
|
||||
data.number = row.number;
|
||||
data.name=name;
|
||||
data.ofrom_name=that.ofromName;
|
||||
params.data = data;
|
||||
if(that.route_code=='paiyicibang'){
|
||||
params.label_template_name = '排一次棒单件打印模板';
|
||||
}else{
|
||||
params.label_template_name = '捆棒单件打印模板';
|
||||
}
|
||||
that.$API.cm.labeltemplate.commands.req(params).then((res) => {
|
||||
let obj = {};
|
||||
obj.printer_commands = res.commands;
|
||||
obj.printer_name = that.printer_name;
|
||||
that.$API.wpm.prints.req(obj).then((response) => {
|
||||
that.$message.success("打印成功");
|
||||
});
|
||||
});
|
||||
})
|
||||
}else{
|
||||
if(that.route_code=='paiban'||that.route_code=='zhuangmo'||that.route_code=='zlybcl'||that.route_code=='tuomoceliang'||
|
||||
that.route_code=='reyatuihuo'||that.route_code=='banduangunyuan'||that.route_code=='banduangunyuanhoudama'||that.route_code=='banduangunyuantuihuo'
|
||||
){
|
||||
let oinfo = [];
|
||||
for(let key in row.oinfo){
|
||||
oinfo.push(row.oinfo[key])
|
||||
}
|
||||
let data = {sigao:'',duibian:'',moban:'',hengya:'',istest:'否',number:row.number,name:name,ofrom_name:that.ofromName,ofrom_batch:that.ofromBatch};
|
||||
if(that.route_code=='zhuangmo'||that.route_code=='zlybcl'||that.route_code=='tuomoceliang'||that.route_code=='reyatuihuo'||that.route_code=='banduangunyuan'){
|
||||
params.label_template_name = '脱膜测量单件标签模板';
|
||||
}else{
|
||||
params.label_template_name = '排扳单件打印模板';
|
||||
}
|
||||
if(oinfo.length>0){
|
||||
oinfo.forEach((item)=>{
|
||||
if(item.name=="丝高"){
|
||||
data.sigao = item.val;
|
||||
}else if(item.name=="横压"){
|
||||
data.hengya = item.val;
|
||||
}else if(item.name=="对边"){
|
||||
data.duibian = item.val;
|
||||
}else if(item.name=="模具号"){
|
||||
data.moban = item.val;
|
||||
}else if(item.name=="实验板段"){
|
||||
data.istest = item.val?'是':'否';
|
||||
}
|
||||
})
|
||||
}
|
||||
params.data = data;
|
||||
}else{
|
||||
params.label_template_name = '单件打印模板';
|
||||
params.data = {number:row.number,name:name};
|
||||
}
|
||||
that.$API.cm.labeltemplate.commands.req(params).then((res) => {
|
||||
let obj = {};
|
||||
obj.printer_commands = res.commands;
|
||||
obj.printer_name = that.printer_name;
|
||||
that.$API.wpm.prints.req(obj).then((response) => {
|
||||
that.$message.success("打印成功");
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}else{
|
||||
that.$message.warning("请先设置打印机");
|
||||
}
|
||||
|
|
@ -578,4 +738,5 @@ export default {
|
|||
},
|
||||
};
|
||||
</script>
|
||||
<style scoped></style>
|
||||
<style scoped>
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -1,12 +1,10 @@
|
|||
<!-- 日志详情 mlog信息以及mlogb -->
|
||||
<template>
|
||||
<el-drawer
|
||||
title="日志详情"
|
||||
v-model="visible"
|
||||
:size="'95%'"
|
||||
destroy-on-close
|
||||
@closed="$emit('closed')"
|
||||
>
|
||||
<el-drawer v-model="visible" :size="'95%'" :show-close="false">
|
||||
<template #header>
|
||||
<h4>日志详情</h4>
|
||||
<el-button type="danger" @click="closedPage()">关闭</el-button>
|
||||
</template>
|
||||
<div>
|
||||
<el-card style="width: 100%" header="基本信息" shadow="never">
|
||||
<el-descriptions>
|
||||
|
|
@ -19,35 +17,17 @@
|
|||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<el-descriptions>
|
||||
<el-descriptions-item label="工段名称">{{
|
||||
mlogItem.mgroup_name
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="生产设备" v-if="mlogItem.equipment_name!==null">{{
|
||||
mlogItem.equipment_name
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="部门/车间">{{
|
||||
mlogItem.belong_dept_name
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="处理人">{{
|
||||
mlogItem.handle_user_name
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="工段名称">{{mlogItem.mgroup_name}}</el-descriptions-item>
|
||||
<el-descriptions-item label="生产设备" v-if="mlogItem.equipment_name!==null">{{mlogItem.equipment_name}}</el-descriptions-item>
|
||||
<el-descriptions-item label="部门/车间">{{mlogItem.belong_dept_name}}</el-descriptions-item>
|
||||
<el-descriptions-item label="处理人">{{mlogItem.handle_user_name}}</el-descriptions-item>
|
||||
<template v-for="item in oinfo_json" :key="item">
|
||||
<el-descriptions-item :label="item.key" >
|
||||
{{item.value}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item :label="item.key" >{{item.value}}</el-descriptions-item>
|
||||
</template>
|
||||
<el-descriptions-item label="创建时间">{{
|
||||
mlogItem.create_time
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="操作日期">{{
|
||||
mlogItem.handle_date
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="开始时间">{{
|
||||
mlogItem.work_start_time
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="结束时间">{{
|
||||
mlogItem.work_end_time
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="创建时间">{{mlogItem.create_time}}</el-descriptions-item>
|
||||
<el-descriptions-item label="操作日期">{{mlogItem.handle_date}}</el-descriptions-item>
|
||||
<el-descriptions-item label="开始时间">{{mlogItem.work_start_time}}</el-descriptions-item>
|
||||
<el-descriptions-item label="结束时间">{{mlogItem.work_end_time}}</el-descriptions-item>
|
||||
<el-descriptions-item label="指导文件" v-if="route_file!==null">
|
||||
<el-button @click="showFile">查看</el-button>
|
||||
</el-descriptions-item>
|
||||
|
|
@ -218,7 +198,6 @@
|
|||
:apiObj="apiObj"
|
||||
row-key="id"
|
||||
stripe
|
||||
height="250px"
|
||||
:params="paramsIn"
|
||||
hidePagination
|
||||
>
|
||||
|
|
@ -370,7 +349,7 @@
|
|||
:wm = "wm"
|
||||
:dept="deptId"
|
||||
:mgroup="mgroup"
|
||||
:material_in="mlogItem.material_in"
|
||||
:cutCount="cutCount"
|
||||
:material_out="mlogItem.material_out"
|
||||
:mgroupName= "mlogItem.mgroup_name"
|
||||
:isSubmit="isSubmit"
|
||||
|
|
@ -502,6 +481,7 @@ export default {
|
|||
paramsIn: {
|
||||
page: 0,
|
||||
mlog: "",
|
||||
parent__isnull:true,
|
||||
with_children:'yes',
|
||||
material_in__isnull: 0,
|
||||
},
|
||||
|
|
@ -568,6 +548,7 @@ export default {
|
|||
},
|
||||
qct:null,
|
||||
defectlist:[],
|
||||
cutCount:0,
|
||||
batchNumber:'',
|
||||
hasRoute:false,
|
||||
isSubmit:false,
|
||||
|
|
@ -576,6 +557,8 @@ export default {
|
|||
},
|
||||
mounted() {
|
||||
let that = this;
|
||||
this.paramsIn.mlog = "";
|
||||
this.paramsOut.mlog = "";
|
||||
this.route_code = this.$route.path.split("/")[2];
|
||||
this.paramsIn.mlog = this.mlogId;
|
||||
this.paramsOut.mlog = this.mlogId;
|
||||
|
|
@ -595,13 +578,10 @@ export default {
|
|||
let that = this;
|
||||
that.$API.wpm.mlog.item.req(that.mlogId).then((res) => {
|
||||
that.mlogItem = res;
|
||||
that.checkTableShow = true;
|
||||
that.getcutCount(res.material_in);
|
||||
that.isSubmit = res.submit_time==null?false:true;
|
||||
if(that.processType=='10'&&that.mlogItem.material_out_&&that.mlogItem.material_out_.tracking==20){
|
||||
that.getMlogbw();
|
||||
if(that.mlogItem.qct!==null){
|
||||
that.getdefects(that.mlogItem.qct);
|
||||
}
|
||||
}
|
||||
if(res.route!==null){
|
||||
that.hasRoute = true;
|
||||
|
|
@ -623,6 +603,7 @@ export default {
|
|||
}
|
||||
that.materialIn = res.material_in;
|
||||
that.deptId = res.belong_dept;
|
||||
that.checkTableShow = true;
|
||||
that.apiObjWm = that.$API.wpm.wmaterial.list;
|
||||
that.$API.wpm.mlogb.list.req(that.paramsOut).then((res) => {
|
||||
that.tableData2 = res;
|
||||
|
|
@ -632,6 +613,15 @@ export default {
|
|||
})
|
||||
});
|
||||
},
|
||||
//获取指定工序的切分数量
|
||||
getcutCount(material_id){
|
||||
let that = this;
|
||||
that.$API.mtm.route.list.req({ nprocess_name: "板段滚圆", material_in_has:material_id, page: 0,query:'{div_number}' }).then((res) => {
|
||||
if(res.length>0){
|
||||
that.cutCount = res[0].div_number;
|
||||
}
|
||||
});
|
||||
},
|
||||
getPreocess(){
|
||||
let that = this;
|
||||
that.$API.mtm.process.list.req({page:0,parent:that.process}).then((res) => {
|
||||
|
|
@ -648,51 +638,51 @@ export default {
|
|||
that.shiftOtions = res;
|
||||
});
|
||||
},
|
||||
getdefects(qct){
|
||||
let that = this;
|
||||
if(qct!==''&&qct!==null){//输出
|
||||
that.$API.qm.qct.item.req(qct).then((res) => {
|
||||
that.qct_defects = [];
|
||||
that.testdefectss(res);
|
||||
})
|
||||
}else{
|
||||
that.$API.qm.qct.getQct.req({ material: that.mlogItem.material_out,type:'out',tag:'process' }).then((res) => {
|
||||
that.testdefectss(res);
|
||||
}).catch(()=>{
|
||||
// that.getList();
|
||||
})
|
||||
}
|
||||
},
|
||||
testdefectss(res){
|
||||
let that = this;
|
||||
res.qct_defects.forEach((item) => {
|
||||
that.addTemplate[item.defect_name] = false;
|
||||
let obj = Object.assign({}, item);
|
||||
that.qct_defects.push(obj);
|
||||
})
|
||||
that.qct_defects_origin = that.qct_defects;
|
||||
that.qct_testitems = [];
|
||||
res.qct_testitems.forEach((item2) => {
|
||||
if(item2.testitem_type!=='20'){
|
||||
let obj2 = Object.assign({}, item2);
|
||||
obj2.value = '';
|
||||
obj2.addto_wpr = item2.addto_wpr;
|
||||
if(item2.testitem_field_type=='input-number'||item2.testitem_field_type=='input-int'){
|
||||
obj2.value = null;
|
||||
that.addTemplate[item2.testitem_name] = null;
|
||||
}
|
||||
if(item2.testitem_field_type=='select-text'||item2.testitem_field_type=='selects-text'){
|
||||
let str = obj2.testitem_choices.replace(/'/g, '"');
|
||||
let arr = JSON.parse(str);
|
||||
obj2.testitem_choices = arr;
|
||||
that.addTemplate[item2.testitem_name] = null;
|
||||
}
|
||||
that.qct_testitems.push(obj2);
|
||||
}
|
||||
})
|
||||
that.qct_testitems_origin = that.qct_testitems;
|
||||
// that.getList();
|
||||
},
|
||||
// getdefects(qct){
|
||||
// let that = this;
|
||||
// if(qct!==''&&qct!==null){//输出
|
||||
// that.$API.qm.qct.item.req(qct).then((res) => {
|
||||
// that.qct_defects = [];
|
||||
// that.testdefectss(res);
|
||||
// })
|
||||
// }else{
|
||||
// that.$API.qm.qct.getQct.req({ material: that.mlogItem.material_out,type:'out',tag:'process' }).then((res) => {
|
||||
// that.testdefectss(res);
|
||||
// }).catch(()=>{
|
||||
// // that.getList();
|
||||
// })
|
||||
// }
|
||||
// },
|
||||
// testdefectss(res){
|
||||
// let that = this;
|
||||
// res.qct_defects.forEach((item) => {
|
||||
// that.addTemplate[item.defect_name] = false;
|
||||
// let obj = Object.assign({}, item);
|
||||
// that.qct_defects.push(obj);
|
||||
// })
|
||||
// that.qct_defects_origin = that.qct_defects;
|
||||
// that.qct_testitems = [];
|
||||
// res.qct_testitems.forEach((item2) => {
|
||||
// if(item2.testitem_type!=='20'){
|
||||
// let obj2 = Object.assign({}, item2);
|
||||
// obj2.value = '';
|
||||
// obj2.addto_wpr = item2.addto_wpr;
|
||||
// if(item2.testitem_field_type=='input-number'||item2.testitem_field_type=='input-int'){
|
||||
// obj2.value = null;
|
||||
// that.addTemplate[item2.testitem_name] = null;
|
||||
// }
|
||||
// if(item2.testitem_field_type=='select-text'||item2.testitem_field_type=='selects-text'){
|
||||
// let str = obj2.testitem_choices.replace(/'/g, '"');
|
||||
// let arr = JSON.parse(str);
|
||||
// obj2.testitem_choices = arr;
|
||||
// that.addTemplate[item2.testitem_name] = null;
|
||||
// }
|
||||
// that.qct_testitems.push(obj2);
|
||||
// }
|
||||
// })
|
||||
// that.qct_testitems_origin = that.qct_testitems;
|
||||
// // that.getList();
|
||||
// },
|
||||
//获取生产工序的mlogbw
|
||||
getMlogbw(){
|
||||
let that = this;
|
||||
|
|
@ -928,17 +918,16 @@ export default {
|
|||
that.$refs.checkDialogSingle.open(type,that.qct);
|
||||
});
|
||||
},
|
||||
|
||||
//表单提交方法
|
||||
mlogSubmit() {
|
||||
let that = this;
|
||||
if(that.mlogItem.work_end_time==''||that.mlogItem.work_end_time==null){
|
||||
that.mlogItem.handle_date = that.$TOOL.dateFormat2(new Date());
|
||||
}
|
||||
that.isSaveing = true;
|
||||
that.$API.wpm.mlog.submit.req(that.mlogItem.id).then((res) => {
|
||||
that.isSaveing = false;
|
||||
that.visible = false;
|
||||
that.$message.success("操作成功");
|
||||
}).catch(() => {
|
||||
that.isSaveing = false;
|
||||
});
|
||||
},
|
||||
table_muser_add(){
|
||||
|
|
@ -1051,6 +1040,11 @@ export default {
|
|||
});
|
||||
})
|
||||
},
|
||||
closedPage(){
|
||||
let that = this;
|
||||
that.visible = false;
|
||||
that.$emit('closed',that.isSubmit);
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-if="mlogtype!=='rework'">
|
||||
<el-form-item label="工艺路线">
|
||||
<el-form-item label="工艺路线" prop="route">
|
||||
<el-select
|
||||
v-model="form.route"
|
||||
placeholder="工艺路线"
|
||||
|
|
@ -80,6 +80,17 @@
|
|||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :md="12" :sm="12" :xs="24" v-if="route_code=='tuomoceliang'">
|
||||
<el-form-item label="切分数量">
|
||||
<el-input-number
|
||||
v-model="form.cutCount"
|
||||
:min="1"
|
||||
class="width-100"
|
||||
controls-position="right"
|
||||
>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
<el-col :md="12" :sm="12" :xs="24" v-for="item in testitems" :key="item.id">
|
||||
<el-form-item :label="item.name">
|
||||
<el-input-number
|
||||
|
|
@ -295,6 +306,7 @@ export default {
|
|||
{ id: 10, name: "自产" },
|
||||
{ id: 20, name: "外协" },
|
||||
],
|
||||
cutCount:0,
|
||||
mlogtype:"",
|
||||
route_code:"",
|
||||
visible: false,
|
||||
|
|
@ -302,17 +314,16 @@ export default {
|
|||
options: [],
|
||||
testitems:[],
|
||||
routeOptions: [],
|
||||
userOptions: [],
|
||||
mtaskOptions:[],
|
||||
supplierOptions: [],
|
||||
setFiltersVisible: false,
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
let that = this;
|
||||
this.route_code = this.$route.path.split("/")[2];
|
||||
this.form.work_start_time = this.$TOOL.dateFormat(new Date());
|
||||
this.getRoute();
|
||||
// this.getUser();
|
||||
this.getSupplier();
|
||||
this.getEquipment();
|
||||
this.getMtask();
|
||||
|
|
@ -332,20 +343,15 @@ export default {
|
|||
res.results.forEach((item) => {
|
||||
let obj = {};
|
||||
Object.assign(obj, item);
|
||||
obj.value = '';
|
||||
obj.value = null;
|
||||
that.testitems.push(obj);
|
||||
})
|
||||
});
|
||||
},
|
||||
//获取
|
||||
getUser() {
|
||||
this.$API.system.user.list.req({ depts: this.dept }).then((res) => {
|
||||
this.userOptions = res.results;
|
||||
});
|
||||
},
|
||||
//获取班组设备
|
||||
getEquipment() {
|
||||
let that = this;
|
||||
this.$API.em.equipment.list.req({ page: 0, type: 10,mgroup:that.mgroup}).then((res) => {
|
||||
this.$API.em.equipment.list.req({ page: 0, type: 10,belong_dept:that.dept}).then((res) => {
|
||||
res.forEach((item) => {
|
||||
let obj = {};
|
||||
Object.assign(obj, item);
|
||||
|
|
@ -357,11 +363,9 @@ export default {
|
|||
//获取任务
|
||||
getMtask() {
|
||||
let that = this;
|
||||
this.$API.pm.mtask.list
|
||||
.req({ page: 0, mgroup: that.mgroup, state: 20 })
|
||||
.then((res) => {
|
||||
that.mtaskOptions = res;
|
||||
});
|
||||
this.$API.pm.mtask.list.req({ page: 0, mgroup: that.mgroup, state: 20 }).then((res) => {
|
||||
that.mtaskOptions = res;
|
||||
});
|
||||
},
|
||||
getSupplier() {
|
||||
let that = this;
|
||||
|
|
@ -374,11 +378,9 @@ export default {
|
|||
},
|
||||
getRoute(id) {
|
||||
let that = this;
|
||||
that.$API.mtm.route.list
|
||||
.req({ process: that.process, page: 0, routepack__state: 30 })
|
||||
.then((res) => {
|
||||
that.routeOptions = res;
|
||||
});
|
||||
that.$API.mtm.route.list.req({ process: that.process, page: 0, routepack__state: 30 }).then((res) => {
|
||||
that.routeOptions = res;
|
||||
});
|
||||
},
|
||||
//显示
|
||||
open(mode = "add",type) {
|
||||
|
|
@ -400,7 +402,6 @@ export default {
|
|||
//表单注入数据
|
||||
setData(data) {
|
||||
let that = this;
|
||||
console.log("data", data);
|
||||
Object.assign(this.form, data);
|
||||
if(data.test_file!==null){
|
||||
this.form.test_file = data.test_file;
|
||||
|
|
@ -431,7 +432,6 @@ export default {
|
|||
},
|
||||
fileUPSuccess(res) {
|
||||
let that = this;
|
||||
console.log('res',res);
|
||||
this.test_file = res.path;
|
||||
},
|
||||
//表单提交方法
|
||||
|
|
|
|||
|
|
@ -137,7 +137,7 @@
|
|||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="12" :xs="24">
|
||||
<el-form-item label="工艺路线:">
|
||||
<el-form-item label="工艺路线:" prop="route">
|
||||
<el-select
|
||||
v-model="form.route"
|
||||
placeholder="工艺路线"
|
||||
|
|
@ -224,6 +224,13 @@ export default {
|
|||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
route: [
|
||||
{
|
||||
required: true,
|
||||
message: "请选择工艺路线",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
},
|
||||
wm_in: "",
|
||||
route_code:"",
|
||||
|
|
@ -249,14 +256,13 @@ export default {
|
|||
this.getRoute();
|
||||
this.getEquipment();
|
||||
this.gettestitem();
|
||||
if(that.route_code=='tuomoceliang'){
|
||||
//获取指定工序的切分数量
|
||||
}
|
||||
setTimeout(()=>{
|
||||
let inputDom = document.querySelectorAll('.inputWrap .el-input__wrapper .el-input__inner');
|
||||
console.log(inputDom);
|
||||
inputDom.forEach(function(input) {
|
||||
input.addEventListener("compositionstart", function() {
|
||||
// that.$confirm(`您的输入法为中文,请切换到英文输入法`, "提示", {
|
||||
// type: "warning",
|
||||
// }).then(() => {});
|
||||
that.$message.warning("您的输入法为中文,请切换到英文输入法");
|
||||
});
|
||||
});
|
||||
|
|
@ -270,10 +276,10 @@ export default {
|
|||
this.routeOriginOptions = res;
|
||||
});
|
||||
},
|
||||
//获取拉丝设备
|
||||
//获取班组设备
|
||||
getEquipment() {
|
||||
let that = this;
|
||||
this.$API.em.equipment.list.req({ page: 0, type: 10,mgroup:that.mgroup}).then((res) => {
|
||||
this.$API.em.equipment.list.req({ page: 0, type: 10,belong_dept:that.dept}).then((res) => {
|
||||
res.forEach((item) => {
|
||||
let obj = {};
|
||||
Object.assign(obj, item);
|
||||
|
|
@ -288,7 +294,7 @@ export default {
|
|||
res.results.forEach((item) => {
|
||||
let obj = {};
|
||||
Object.assign(obj, item);
|
||||
obj.value = '';
|
||||
obj.value = null;
|
||||
that.testitems.push(obj);
|
||||
})
|
||||
});
|
||||
|
|
@ -329,7 +335,6 @@ export default {
|
|||
//扫描后处理方法
|
||||
// 扫描后会有两种情况,一种是扫描物料,一种是扫描用户;物料扫描后需要判断
|
||||
formWminChange(code){
|
||||
console.log('code',code);
|
||||
let that = this,codeId='',arr=[];
|
||||
code = code.replace(/(^\s*)|(\s*$)/g, "");
|
||||
if(code.indexOf("#")>-1){
|
||||
|
|
@ -358,7 +363,7 @@ export default {
|
|||
that.form.wm_in = arr[0].id;
|
||||
that.form.count_use = arr[0].count_cando;
|
||||
that.wm_in = arr[0].batch;
|
||||
that.batchCountCando = Number(arr[0].count_cando);;
|
||||
that.batchCountCando = Number(arr[0].count_cando);
|
||||
that.materialTracking = arr[0].material_.tracking;
|
||||
if(that.routeOptions.length==0){
|
||||
that.routeOriginOptions.forEach((item)=>{
|
||||
|
|
|
|||
|
|
@ -546,7 +546,7 @@ export default {
|
|||
selectWprList:[],
|
||||
qct_defects_origin:[],
|
||||
selectWpr:[],
|
||||
tableHeight:500,
|
||||
tableHeight:null,
|
||||
apiObjPrint:this.$API.cm.labelmat.fromWm,
|
||||
printer_name:localStorage.getItem("printer_name")
|
||||
};
|
||||
|
|
@ -597,9 +597,7 @@ export default {
|
|||
}
|
||||
}
|
||||
that.visible = true;
|
||||
setTimeout(() => {
|
||||
that.tableHeight = document.getElementById('mlogbwMain').clientHeight-20;
|
||||
},500)
|
||||
that.tableHeight = document.getElementsByClassName('el-drawer__body')[0].clientHeight-40;
|
||||
},
|
||||
//获取输入的testItem
|
||||
gettestitem(){
|
||||
|
|
|
|||
|
|
@ -36,7 +36,8 @@
|
|||
<el-table-column prop="mlogb__batch" label="物料批次" fixed min-width="80px"></el-table-column>
|
||||
<el-table-column prop="number" label="物料编号" fixed min-width="80px">
|
||||
<template #default="scope">
|
||||
<span>{{ scope.row.number }}</span>
|
||||
<el-input v-if="route_code=='paiban'&&scope.row.isEdit" v-model="scope.row.number" placeholder="物料编号"></el-input>
|
||||
<span v-else>{{ scope.row.number }}</span>
|
||||
<span v-if="scope.row.wpr_number_out!==null&&scope.row.wpr_number_out!==undefined">——{{ scope.row.wpr_number_out }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -133,13 +134,13 @@
|
|||
<el-button
|
||||
v-if="!scope.row.isEdit"
|
||||
type="primary"
|
||||
@click="formTableEdit(scope.row)"
|
||||
@click="formTableEdit(scope.$index)"
|
||||
>编辑</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.isEdit&&!scope.row.id"
|
||||
type="danger"
|
||||
style="margin-left: 5px;"
|
||||
@click="formTableDelet(scope.row)"
|
||||
@click="formTableDelet(scope.row,scope.$index)"
|
||||
>删除</el-button>
|
||||
<el-button
|
||||
v-if="!scope.row.isEdit"
|
||||
|
|
@ -234,7 +235,6 @@
|
|||
<template #header>
|
||||
<el-checkbox
|
||||
v-model="checkAll"
|
||||
:indeterminate="indeterminate"
|
||||
@change="handleCheckAll"
|
||||
>全部</el-checkbox>
|
||||
</template>
|
||||
|
|
@ -359,6 +359,10 @@ export default {
|
|||
processType:{
|
||||
type:String,
|
||||
default:"",
|
||||
},
|
||||
cutCount:{
|
||||
type:Number,
|
||||
default:0,
|
||||
}
|
||||
},
|
||||
emits: ["success", "closed"],
|
||||
|
|
@ -373,7 +377,7 @@ export default {
|
|||
//表单数据
|
||||
form: {
|
||||
test_user:"",
|
||||
equipment:"",
|
||||
equipment:null,
|
||||
cd_req_addr:null,//请求数据接口地址
|
||||
equipment_name:"",
|
||||
testitemids : [],
|
||||
|
|
@ -383,6 +387,7 @@ export default {
|
|||
year:"",
|
||||
month:"",
|
||||
values:"",
|
||||
qctId: "",
|
||||
wprNumber:"",
|
||||
route_code:"",
|
||||
wprInputText:"",
|
||||
|
|
@ -411,6 +416,7 @@ export default {
|
|||
test_user:"",
|
||||
equipment:"",
|
||||
equipment_name:"",
|
||||
cd_req_addr:null,//请求数据接口地址
|
||||
testitemids : [],
|
||||
defectids : [],
|
||||
},
|
||||
|
|
@ -432,7 +438,6 @@ export default {
|
|||
watch: {},
|
||||
mounted() {
|
||||
let that = this;
|
||||
console.log('that.material_out',that.material_out)
|
||||
if(that.processType=='20'){
|
||||
that.canMultiple = true;
|
||||
}
|
||||
|
|
@ -440,6 +445,7 @@ export default {
|
|||
that.getdefects();
|
||||
}else if(that.material_out!==''&&that.material_out!==null){//输入
|
||||
that.$API.qm.qct.getQct.req({ material: that.material_out,type:'out',tag:'process' }).then((res) => {
|
||||
that.qctId = res.id;
|
||||
that.testdefectss(res);
|
||||
}).catch(()=>{
|
||||
that.getList();
|
||||
|
|
@ -450,7 +456,7 @@ export default {
|
|||
that.tableHeight = document.getElementById('mlogbwMain').clientHeight-20;
|
||||
},500)
|
||||
that.route_code = that.$route.path.split("/")[2];
|
||||
that.hideAdd = that.isSubmit;
|
||||
// that.hideAdd = that.isSubmit;
|
||||
that.currentDate = that.$TOOL.dateFormat2(new Date());
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -479,12 +485,10 @@ export default {
|
|||
}
|
||||
},
|
||||
selectChange(rows){
|
||||
console.log('rowsrows',rows)
|
||||
let that = this;
|
||||
that.selectWprList = rows;
|
||||
},
|
||||
selectAllChange(datas){
|
||||
console.log('datas',datas)
|
||||
let that = this;
|
||||
that.selectWprList = datas;
|
||||
},
|
||||
|
|
@ -526,6 +530,9 @@ export default {
|
|||
obj2.addto_wpr = item2.addto_wpr;
|
||||
if(item2.testitem_field_type=='input-number'||item2.testitem_field_type=='input-int'){
|
||||
obj2.value = null;
|
||||
if(item2.testitem_name == '切片数'){
|
||||
obj2.value = Number(that.cutCount);
|
||||
}
|
||||
that.addTemplate[item2.testitem_name] = null;
|
||||
}
|
||||
if(item2.testitem_field_type=='select-text'||item2.testitem_field_type=='selects-text'){
|
||||
|
|
@ -586,7 +593,11 @@ export default {
|
|||
obj[item1.defect_name] = false;
|
||||
})
|
||||
that.qct_testitems.forEach((item2) => {
|
||||
obj[item2.testitem_name] = null;
|
||||
if(item2.testitem_name == '切片数'){
|
||||
obj[item2.testitem_name] = Number(that.cutCount);
|
||||
}else{
|
||||
obj[item2.testitem_name] = null;
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
@ -598,6 +609,12 @@ export default {
|
|||
//添加
|
||||
formTableSave(row) {
|
||||
let that = this;
|
||||
let editIndex = 0;
|
||||
that.mlogbwlist.forEach((item,index) => {
|
||||
if(item.id==row.id){
|
||||
editIndex = index;
|
||||
}
|
||||
})
|
||||
let obj = {};
|
||||
obj.number = row.number;
|
||||
obj.mlogb = row.mlogb;
|
||||
|
|
@ -605,7 +622,7 @@ export default {
|
|||
obj.note = row.note;
|
||||
//qct不为空,有检验表
|
||||
if(that.qct!==''&&that.qct!==null){
|
||||
that.qct_defects_origin.forEach(item => {
|
||||
that.qct_defects.forEach(item => {
|
||||
if(item.rule_expression!==''&&item.rule_expression!==undefined&&item.rule_expression!==null){
|
||||
let str = item.rule_expression.replace(/`/g, '');
|
||||
str = str.replace(/\${(.*?)}/g, 'row.\$1')
|
||||
|
|
@ -645,7 +662,8 @@ export default {
|
|||
obj.id = row.id;
|
||||
that.$API.wpm.mlogbw.update.req(row.id,obj).then((res) => {
|
||||
that.$message.success("保存成功");
|
||||
that.getList();
|
||||
that.mlogbwlist[editIndex].isEdit = false;
|
||||
// that.getList();
|
||||
return res;
|
||||
}).catch((err) => {
|
||||
return err;
|
||||
|
|
@ -653,7 +671,8 @@ export default {
|
|||
}else{
|
||||
that.$API.wpm.mlogbw.create.req(obj).then((res) => {
|
||||
that.$message.success("添加成功");
|
||||
that.getList();
|
||||
that.mlogbwlist[editIndex].isEdit = false;
|
||||
// that.getList();
|
||||
return res;
|
||||
}).catch((err) => {
|
||||
return err;
|
||||
|
|
@ -667,32 +686,29 @@ export default {
|
|||
}
|
||||
});
|
||||
},
|
||||
formTableEdit(row) {
|
||||
formTableEdit(index) {
|
||||
let that = this;
|
||||
if(that.route_code=='niuzhuan'&&that.optionsEq.length==0){
|
||||
that.getEquipment4();
|
||||
that.mlogbwlist[index].isEdit = true;
|
||||
let date = new Date();
|
||||
if(that.mlogbwlist[index].work_start_time==''||that.mlogbwlist[index].work_start_time==null){
|
||||
that.mlogbwlist[index].work_start_time = that.$TOOL.dateFormat(date, 'yyyy-MM-dd hh:mm:ss');
|
||||
}
|
||||
if(that.setForm.cd_req_addr!==null&&that.setForm.cd_req_addr!==""&&that.setForm.cd_req_addr!==undefined){
|
||||
that.getEqData(index);
|
||||
}
|
||||
that.mlogbwlist.forEach((item, index) => {
|
||||
if (item.id == row.id) {
|
||||
that.mlogbwlist[index].isEdit = true;
|
||||
let date = new Date();
|
||||
if(that.mlogbwlist[index].work_start_time==''||that.mlogbwlist[index].work_start_time==null){
|
||||
that.mlogbwlist[index].work_start_time = that.$TOOL.dateFormat(date, 'yyyy-MM-dd hh:mm:ss');
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
formTableDelet(row){
|
||||
this.mlogbwlist.pop();
|
||||
},
|
||||
//删除
|
||||
formTableDel(id) {
|
||||
formTableDel(id,index) {
|
||||
let that = this;
|
||||
that.$confirm(`确定删除吗?`, "提示", {
|
||||
type: "warning",
|
||||
}).then(() => {
|
||||
that.$API.wpm.mlogbw.delete.req(id).then((res) => {
|
||||
that.getList();
|
||||
that.mlogbwlist.splice(index,1);
|
||||
that.$message.success("删除成功");
|
||||
}).catch((err) => {
|
||||
return err;
|
||||
|
|
@ -716,7 +732,7 @@ export default {
|
|||
defectCountSun(row){
|
||||
let that = this;
|
||||
let index = that.mlogbwlist.indexOf(row);
|
||||
that.qct_defects_origin.forEach(item => {
|
||||
that.qct_defects.forEach(item => {
|
||||
if(item.rule_expression!==''&&item.rule_expression!==undefined&&item.rule_expression!==null){
|
||||
let str = item.rule_expression.replace(/`/g, '');
|
||||
str = str.replace(/\${(.*?)}/g, 'row.\$1')
|
||||
|
|
@ -771,7 +787,7 @@ export default {
|
|||
that.equipmentOptions.forEach(item => {
|
||||
if(item.id == that.form.equipment){
|
||||
that.form.equipment_name = item.name;
|
||||
that.form.cd_req_addr=item.cd_req_addr;
|
||||
that.form.cd_req_addr = that.setForm.cd_req_addr = item.cd_req_addr;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
|
@ -831,11 +847,13 @@ export default {
|
|||
obj.test_date = that.handle_date!=null?that.handle_date:that.currentDate;
|
||||
if(that.form.defectids.length>0){
|
||||
obj.defects = that.form.defectids;
|
||||
that.setForm.defectids = that.form.defectids;
|
||||
}
|
||||
if(that.form.testitemids.length>0){
|
||||
obj.testitems = that.form.testitemids;
|
||||
that.setForm.testitemids = that.form.testitemids;
|
||||
}
|
||||
obj.qct = that.qct;
|
||||
obj.qct = that.qct!==null?that.qct:that.qctId;
|
||||
that.$API.wpm.mlogbw.start_test.req(obj).then((res) => {
|
||||
that.isSaveing = false;
|
||||
that.form = {};
|
||||
|
|
@ -881,7 +899,7 @@ export default {
|
|||
that.mlogbwlist.splice(index,1);
|
||||
that.wprInputText = "";
|
||||
that.mlogbwlist.unshift(obj);
|
||||
if(that.setForm.cd_req_addr!==null){
|
||||
if(that.setForm.cd_req_addr!==null&&that.setForm.cd_req_addr!==""&&that.setForm.cd_req_addr!==undefined){
|
||||
//执行cd_req_addr,获取检测设备的数据
|
||||
that.getEqData(0);
|
||||
}
|
||||
|
|
@ -897,6 +915,11 @@ export default {
|
|||
}
|
||||
})
|
||||
}).catch((err) => {
|
||||
console.log(err);
|
||||
this.$notify.error({
|
||||
title: '获取数据失败',
|
||||
message: err.data
|
||||
})
|
||||
return err;
|
||||
});
|
||||
},
|
||||
|
|
|
|||
|
|
@ -71,7 +71,9 @@
|
|||
label="预计工时"
|
||||
prop="hour_work"
|
||||
width="80"
|
||||
></el-table-column> -->
|
||||
></el-table-column>
|
||||
|
||||
-->
|
||||
<el-table-column label="批次号" min-width="100">
|
||||
<template #default="scope">
|
||||
<div v-if="scope.row.mlogb_full!==null">
|
||||
|
|
@ -81,16 +83,39 @@
|
|||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="棒号" min-width="80" v-if="route_code=='paiyicibang'">
|
||||
<template #default="scope">
|
||||
<div v-if="scope.row.mlogbw_number_list.length>0">
|
||||
<span v-for="item in scope.row.mlogbw_number_list" :key="item">
|
||||
<span >{{ item }}、</span>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="板段号" min-width="160" v-if="route_code=='paiban'||route_code=='zhuangmo'||route_code=='tuomoceliang'||route_code=='reyatuihuo'||route_code=='zlybcl'">
|
||||
<template #default="scope">
|
||||
<div v-if="scope.row.mlogbw_number_list.length>0">
|
||||
<span v-for="item in scope.row.mlogbw_number_list" :key="item">
|
||||
<span >{{ item }}、</span>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="原料棒号" min-width="100" v-if="route_code=='ladansi'">
|
||||
<template #default="scope">
|
||||
<div v-if="scope.row.mlogb_full!==null">
|
||||
<span v-for="item in scope.row.mlogb_full" :key="item.id">
|
||||
<span v-if="item.material_out!==null">{{ item.batch }}、</span>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
v-if="route_code=='ladansi'||route_code=='yicifusi'||route_code=='ercifusi'||route_code=='zlybcl'"
|
||||
label="生产设备"
|
||||
prop="equipment_name"
|
||||
min-width="130"
|
||||
></el-table-column>
|
||||
<el-table-column label="进度" prop="belong_dept_name" v-if="mgroup_name=='黑化'||mgroup_name=='退火'">
|
||||
<template #default="scope">
|
||||
<el-progress id="progressbwlq" :percentage="customMethod(scope.row,1)" :stroke-width="20" :color="customMethod(scope.row,2)" :text-inside="true"><span>{{customMethod(scope.row,3)}}</span></el-progress>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="部门/工段"
|
||||
prop="belong_dept_name"
|
||||
|
|
@ -104,22 +129,22 @@
|
|||
<span v-if="scope.row.oinfo_json_">{{scope.row.oinfo_json_.是否保温}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="温度" v-if="route_code=='zlybcl'">
|
||||
<el-table-column label="温度(℃)" v-if="route_code=='zlybcl'">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.oinfo_json_">{{scope.row.oinfo_json_.温度}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="压力" v-if="route_code=='zlybcl'">
|
||||
<el-table-column label="压力(mpa)" v-if="route_code=='zlybcl'">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.oinfo_json_">{{scope.row.oinfo_json_.压力}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="刻度" v-if="route_code=='zlybcl'">
|
||||
<el-table-column label="刻度(mm)" v-if="route_code=='zlybcl'">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.oinfo_json_">{{scope.row.oinfo_json_.刻度}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="压板用时" v-if="route_code=='zlybcl'">
|
||||
<el-table-column label="压板用时(分)" v-if="route_code=='zlybcl'">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.oinfo_json_">{{scope.row.oinfo_json_.压板用时}}</span>
|
||||
</template>
|
||||
|
|
@ -127,7 +152,6 @@
|
|||
<el-table-column
|
||||
label="处理人"
|
||||
prop="handle_user_name"
|
||||
width="80"
|
||||
></el-table-column>
|
||||
<el-table-column label="保温剩余时间" v-if="mgroup_name=='黑化'||mgroup_name=='退火'">
|
||||
<template #default="scope">
|
||||
|
|
@ -278,7 +302,7 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
apiObj: null,
|
||||
params: { mgroup: "" ,submit_time__isnull:true,with_mlogb:'yes',
|
||||
params: { mgroup: "" ,submit_time__isnull:true,with_mlogb:'yes',with_mlogbw:'out',
|
||||
query: " { id,is_fix,equipment, material_out_name, equipment_name, reminder_interval_list ,mstate_json,belong_dept_name, mgroup_name,handle_user_name,work_start_time,work_end_time,submit_time,oinfo_json,mlogb_full,submit_user_name}"
|
||||
},
|
||||
query: {submit_time__isnull:true},
|
||||
|
|
@ -350,9 +374,11 @@ export default {
|
|||
}
|
||||
}
|
||||
},
|
||||
detailClose() {
|
||||
detailClose(data) {
|
||||
this.dialog.detail = false;
|
||||
this.$refs.table.refresh();
|
||||
if(data){}else{
|
||||
this.$refs.table.refresh();
|
||||
}
|
||||
},
|
||||
table_monitor(row){
|
||||
let that= this;
|
||||
|
|
@ -514,7 +540,7 @@ export default {
|
|||
},
|
||||
handleSaveSuccess2(data) {
|
||||
console.log(data);
|
||||
this.dialog.save = true;
|
||||
this.dialog.save2 = false;
|
||||
this.$refs.table.refresh();
|
||||
this.mlogId = data;
|
||||
this.dialog.detail = true;
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
>
|
||||
<div id="tableWap" style="height: 100%;">
|
||||
<el-tabs v-model="activeName" @tab-change="handleClick">
|
||||
<el-tab-pane v-for="item in mpointList" :label="item.name" :name="item.name" :key="item.id" lazy>
|
||||
<el-tab-pane v-for="item in mpointList" :label="item.nickname" :name="item.nickname" :key="item.id" lazy>
|
||||
<scTable
|
||||
ref="table"
|
||||
:apiObj="apiObj"
|
||||
|
|
@ -103,7 +103,7 @@ export default {
|
|||
that.$API.enm.mpoint.list.req({ep_belong:that.equipmentId,page:0}).then((res) => {
|
||||
if(res.length>0){
|
||||
that.mpointList = res;
|
||||
that.activeName = res[0].name;
|
||||
that.activeName = res[0].nickname;
|
||||
that.params.mpoint = res[0].id;
|
||||
that.apiObj = that.$API.enm.mplogx;
|
||||
that.handleClick();
|
||||
|
|
@ -113,10 +113,9 @@ export default {
|
|||
})
|
||||
},
|
||||
handleClick(val){
|
||||
console.log('handleClick',val)
|
||||
let that = this;
|
||||
that.mpointList.forEach(item=>{
|
||||
if(item.name == that.activeName){
|
||||
if(item.nickname == that.activeName){
|
||||
that.query.mpoint = item.id;
|
||||
that.query.page = 1;
|
||||
that.option.title.text = that.activeName;
|
||||
|
|
@ -128,11 +127,22 @@ export default {
|
|||
params.timex__lte = that.endTime;
|
||||
params.page = 0;
|
||||
that.$API.enm.mplogx.req(params).then((res) => {
|
||||
let xAxisData = [],seriesData = [];
|
||||
res.forEach(item=>{
|
||||
that.option.xAxis.data.push(item.timex);
|
||||
xAxisData.unshift(item.timex);
|
||||
let value = Number(item.val_float).toFixed(3);
|
||||
that.option.series.data.push(value);
|
||||
seriesData.unshift(value);
|
||||
})
|
||||
function getMinValue(arr) {
|
||||
return Math.min.apply(null, arr);
|
||||
}
|
||||
if(that.activeName.indexOf("温度") != -1){
|
||||
let minNum = getMinValue(seriesData);
|
||||
console.log(minNum);
|
||||
that.option.yAxis.min = minNum;
|
||||
}
|
||||
that.option.xAxis.data = xAxisData;
|
||||
that.option.series.data = seriesData;
|
||||
})
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -136,6 +136,7 @@ export default {
|
|||
methods: {
|
||||
open(mode) {
|
||||
let that = this;
|
||||
that.wprList = [];
|
||||
this.mode = mode;
|
||||
this.params.wm = this.wm;
|
||||
this.visible = true;
|
||||
|
|
@ -288,7 +289,7 @@ export default {
|
|||
for(let key in row.oinfo){
|
||||
oinfo.push(row.oinfo[key])
|
||||
}
|
||||
let data = {sigao:'',duibian:'',moban:'',istest:'否',number:row.number,name:name,ofrom_name:that.ofromName,ofrom_batch:that.ofromBatch};
|
||||
let data = {sigao:'',duibian:'',moban:'',hengya:'',istest:'否',number:row.number,name:name,ofrom_name:that.ofromName,ofrom_batch:that.ofromBatch};
|
||||
if(that.route_code=='zhuangmo'||that.route_code=='zlybcl'||that.route_code=='tuomoceliang'||that.route_code=='reyatuihuo'||that.route_code=='banduangunyuan'){
|
||||
params.label_template_name = '脱膜测量单件标签模板';
|
||||
}else{
|
||||
|
|
@ -298,6 +299,8 @@ export default {
|
|||
oinfo.forEach((item)=>{
|
||||
if(item.name=="丝高"){
|
||||
data.sigao = item.val;
|
||||
}else if(item.name=="横压"){
|
||||
data.hengya = item.val;
|
||||
}else if(item.name=="对边"){
|
||||
data.duibian = item.val;
|
||||
}else if(item.name=="模具号"){
|
||||
|
|
|
|||
|
|
@ -251,8 +251,14 @@
|
|||
</scTable>
|
||||
</el-main>
|
||||
</el-container>
|
||||
<save-dialog
|
||||
v-if="dialog.save"
|
||||
<el-drawer
|
||||
v-model="dialog.save"
|
||||
:title="titleMap[mode]"
|
||||
:size="'90%'"
|
||||
destroy-on-close
|
||||
:close-on-click-modal="false"
|
||||
>
|
||||
<save-dialog
|
||||
ref="saveDialog"
|
||||
:type="type"
|
||||
:process = "processId"
|
||||
|
|
@ -261,8 +267,8 @@
|
|||
:mgroupId="mgroupId"
|
||||
@success="handleSaveSuccess"
|
||||
@closed="dialog.save = false"
|
||||
>
|
||||
</save-dialog>
|
||||
></save-dialog>
|
||||
</el-drawer>
|
||||
<el-dialog title="退料操作" v-model="backDialogVisible" style="width: 70%;">
|
||||
<el-row v-for="item in handoverbList" :key="item.id" style="padding: 10px 10px 0 20px;">
|
||||
<el-col style="display: flex;border-bottom: 1px dashed #eee;">
|
||||
|
|
@ -379,6 +385,12 @@ export default {
|
|||
},
|
||||
route_code: "",
|
||||
// setNameVisible: false,
|
||||
titleMap: {
|
||||
add: "新增交接记录",
|
||||
edit: "编辑交接记录",
|
||||
show: "查看交接记录",
|
||||
},
|
||||
mode: "add"
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
|
|
@ -410,6 +422,7 @@ export default {
|
|||
//添加
|
||||
table_add(type) {
|
||||
this.dialog.save = true;
|
||||
this.mode = "add";
|
||||
this.type = type;
|
||||
this.$nextTick(() => {
|
||||
this.$refs.saveDialog.open("add",'',10);
|
||||
|
|
@ -419,6 +432,7 @@ export default {
|
|||
let that = this;
|
||||
that.type = 10;
|
||||
that.codeText = codeText;
|
||||
that.mode = "add";
|
||||
that.dialog.save = true;
|
||||
that.$nextTick(() => {
|
||||
that.$refs.saveDialog.open("add",codeText,10);
|
||||
|
|
@ -429,6 +443,7 @@ export default {
|
|||
this.type = 20;
|
||||
that.codeText2 = codeText2;
|
||||
this.dialog.save = true;
|
||||
that.mode = "add";
|
||||
this.$nextTick(() => {
|
||||
this.$refs.saveDialog.open("add",codeText2,10);
|
||||
});
|
||||
|
|
@ -437,6 +452,7 @@ export default {
|
|||
table_edit(row) {
|
||||
this.type=row.type;
|
||||
this.dialog.save = true;
|
||||
this.mode = "edit";
|
||||
this.$nextTick(() => {
|
||||
this.$refs.saveDialog.open("edit").setData(row);
|
||||
});
|
||||
|
|
@ -444,6 +460,7 @@ export default {
|
|||
table_show(row){
|
||||
this.type=row.type;
|
||||
this.dialog.save = true;
|
||||
this.mode = "show";
|
||||
this.$nextTick(() => {
|
||||
this.$refs.saveDialog.open("show").setData(row);
|
||||
});
|
||||
|
|
@ -561,7 +578,7 @@ export default {
|
|||
//本地更新数据
|
||||
//新增岗位后更新数据
|
||||
handleSaveSuccess(data, mode) {
|
||||
this.dialog.save = true;
|
||||
this.dialog.save = false;
|
||||
this.$refs.table.refresh();
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -1,217 +1,218 @@
|
|||
<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-form-item label="交接物料">
|
||||
<el-button type="primary" @click="addMaterial" v-if="mode!=='show'">手动添加</el-button>
|
||||
<scScanner @scanResult="codeTextChange"></scScanner>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="0">
|
||||
<el-input
|
||||
ref="codeInput"
|
||||
v-model="codeText"
|
||||
clearable
|
||||
placeholder="物料批次"
|
||||
style="width: 200px;margin-left: 4px;"
|
||||
@keyup.enter="codeTextChange(codeText)"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="总计:">
|
||||
{{ totalCount }}
|
||||
</el-form-item>
|
||||
<el-form-item label="原始物料" v-if="mode!='add'&&form.mtype==20" style="margin-left: 20px;">
|
||||
<el-col >{{ form.batch }}</el-col>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row v-show="addShow">
|
||||
<el-col>
|
||||
<el-container>
|
||||
<el-main class="nopadding">
|
||||
<el-form
|
||||
ref="dialogForm"
|
||||
:model="form"
|
||||
:rules="rules"
|
||||
label-width="80px"
|
||||
>
|
||||
<el-row>
|
||||
<el-form-item label="交接物料">
|
||||
<xtSelect
|
||||
:apiObj="apiObjM"
|
||||
v-model="selectObjIds"
|
||||
v-model:obj="selectObjs"
|
||||
:labelField="'batch'"
|
||||
style="width: 100%;"
|
||||
:params = "paramsM"
|
||||
:multiple="true"
|
||||
@change="materialChange0"
|
||||
>
|
||||
<el-table-column label="物料" prop="full_name">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.state==20" style="color: red;border: 1px solid red;border-radius: 3px;">不合格</span>
|
||||
<span v-if="scope.row.state==30" style="color: orange;border: 1px solid orange;border-radius: 3px;">返工</span>
|
||||
<span>{{ scope.row.batch }}({{ scope.row.material_name }})</span>
|
||||
<span v-if="scope.row.defect_name !== null" style="color: orangered">{{ scope.row.defect_name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="可交接数量" prop="count_canhandover" width="110px"></el-table-column>
|
||||
</xtSelect>
|
||||
<el-button type="primary" @click="addMaterial" v-if="mode!=='show'">手动添加</el-button>
|
||||
<scScanner @scanResult="codeTextChange"></scScanner>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row v-for="(listItem,$index) in form.handoverb" :key="listItem">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="交接物料">
|
||||
<el-input v-model="listItem.label" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="总数量">
|
||||
<span>{{ listItem.count_cando }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="交接数量">
|
||||
<el-input-number
|
||||
v-model="listItem.count"
|
||||
controls-position="right"
|
||||
:min="0"
|
||||
step="1"
|
||||
:max="listItem.count_cando"
|
||||
:disabled="mode==='show'"
|
||||
:step-strictly="true"
|
||||
style="width: 100%"
|
||||
placeholder="交接数量"
|
||||
@change="countChange"
|
||||
>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="2" v-if="mode!=='show'">
|
||||
<el-button type="danger" icon="el-icon-delete" @click="delMaterial($index)"></el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<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" v-if="mtype!==30">
|
||||
<el-form-item label="交送人">
|
||||
<el-select
|
||||
v-model="form.send_user"
|
||||
placeholder="交送人"
|
||||
<el-form-item label-width="0">
|
||||
<el-input
|
||||
ref="codeInput"
|
||||
v-model="codeText"
|
||||
clearable
|
||||
filterable
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in userList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
placeholder="物料批次"
|
||||
style="width: 200px;margin-left: 4px;"
|
||||
@keyup.enter="codeTextChange(codeText)"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="总计:">
|
||||
{{ totalCount }}
|
||||
</el-form-item>
|
||||
<el-form-item label="原始物料" v-if="mode!='add'&&form.mtype==20" style="margin-left: 20px;">
|
||||
<el-col >{{ form.batch }}</el-col>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row v-show="addShow">
|
||||
<el-col>
|
||||
<el-form-item label="交接物料">
|
||||
<xtSelect
|
||||
:apiObj="apiObjM"
|
||||
v-model="selectObjIds"
|
||||
v-model:obj="selectObjs"
|
||||
:labelField="'batch'"
|
||||
style="width: 100%;"
|
||||
:params = "paramsM"
|
||||
:multiple="true"
|
||||
@change="materialChange0"
|
||||
>
|
||||
<el-table-column label="物料" prop="full_name">
|
||||
<template #default="scope">
|
||||
<span v-if="scope.row.state==20" style="color: red;border: 1px solid red;border-radius: 3px;">不合格</span>
|
||||
<span v-if="scope.row.state==30" style="color: orange;border: 1px solid orange;border-radius: 3px;">返工</span>
|
||||
<span>{{ scope.row.batch }}({{ scope.row.material_name }})</span>
|
||||
<span v-if="scope.row.defect_name !== null" style="color: orangered">{{ scope.row.defect_name }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="可交接数量" prop="count_canhandover" width="110px"></el-table-column>
|
||||
</xtSelect>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row v-for="(listItem,$index) in form.handoverb" :key="listItem">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="交接物料">
|
||||
<el-input v-model="listItem.label" disabled></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<el-form-item label="总数量">
|
||||
<span>{{ listItem.count_cando }}</span>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="交接数量">
|
||||
<el-input-number
|
||||
v-model="listItem.count"
|
||||
controls-position="right"
|
||||
:min="0"
|
||||
step="1"
|
||||
:max="listItem.count_cando"
|
||||
:disabled="mode==='show'"
|
||||
:step-strictly="true"
|
||||
style="width: 100%"
|
||||
placeholder="交接数量"
|
||||
@change="countChange"
|
||||
>
|
||||
</el-input-number>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="2" v-if="mode!=='show'">
|
||||
<el-button type="danger" icon="el-icon-delete" @click="delMaterial($index)"></el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<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-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="mtype!==30">
|
||||
<el-form-item label="接收工段" prop="recive_mgroup">
|
||||
<el-select
|
||||
v-model="form.recive_mgroup"
|
||||
placeholder="接收工段"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
:disabled="type==40||mode!=='add'"
|
||||
@change="getUserList2"
|
||||
>
|
||||
<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" v-if="mtype!==30">
|
||||
<el-form-item label="接收人">
|
||||
<el-select
|
||||
v-model="form.recive_user"
|
||||
placeholder="接收人"
|
||||
clearable
|
||||
filterable
|
||||
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-col :md="12" :sm="24" v-if="type==10">
|
||||
<el-form-item label="更改批次">
|
||||
<el-switch v-model="change_batch"></el-switch>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="处理备注">
|
||||
<el-input v-model="form.note" placeholder="处理备注"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="type==10&&change_batch">
|
||||
<el-form-item label="新批次号" prop="new_batch">
|
||||
<el-input v-model="form.new_batch" placeholder="新批次号"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="route_code=='tuihuo'">
|
||||
<el-form-item label="检验附件">
|
||||
<sc-upload-file
|
||||
v-model="fileList"
|
||||
:multiple="false"
|
||||
:limit="1"
|
||||
:accept="['.xlsx', '.xls']"
|
||||
@success = "fileUPSuccess"
|
||||
>
|
||||
<el-button type="primary" icon="el-icon-upload"> </el-button>
|
||||
</sc-upload-file>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-footer v-show="mode!=='show'">
|
||||
<template v-if="(route_code=='tuihuo'&&type==10&&mtype==10)||form.ticket!=null">
|
||||
<el-button
|
||||
v-for="item in transitions"
|
||||
:key="item.id"
|
||||
type="primary"
|
||||
:loading="isSaveing"
|
||||
:disabled="isSaveing"
|
||||
@click="submitTicketCreate(item.id)"
|
||||
style="margin-right: 4px"
|
||||
>{{ item.name }}</el-button>
|
||||
</template>
|
||||
<el-button v-else type="primary" v-loading="isSaveing" @click="submit">确定</el-button>
|
||||
<el-button @click="visible = false">取消</el-button>
|
||||
</el-footer>
|
||||
</el-dialog>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="mtype!==30">
|
||||
<el-form-item label="交送人">
|
||||
<el-select
|
||||
v-model="form.send_user"
|
||||
placeholder="交送人"
|
||||
clearable
|
||||
filterable
|
||||
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" v-if="mtype!==30">
|
||||
<el-form-item label="接收工段" prop="recive_mgroup">
|
||||
<el-select
|
||||
v-model="form.recive_mgroup"
|
||||
placeholder="接收工段"
|
||||
clearable
|
||||
style="width: 100%"
|
||||
:disabled="type==40||mode!=='add'"
|
||||
@change="getUserList2"
|
||||
>
|
||||
<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" v-if="mtype!==30">
|
||||
<el-form-item label="接收人">
|
||||
<el-select
|
||||
v-model="form.recive_user"
|
||||
placeholder="接收人"
|
||||
clearable
|
||||
filterable
|
||||
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-col :md="12" :sm="24" v-if="type==10&&mtype==30">
|
||||
<el-form-item label="更改批次">
|
||||
<el-switch v-model="change_batch"></el-switch>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24">
|
||||
<el-form-item label="处理备注">
|
||||
<el-input v-model="form.note" placeholder="处理备注"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="change_batch">
|
||||
<el-form-item label="新批次号" prop="new_batch">
|
||||
<el-input v-model="form.new_batch" placeholder="新批次号"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :md="12" :sm="24" v-if="route_code=='tuihuo'">
|
||||
<el-form-item label="检验附件">
|
||||
<sc-upload-file
|
||||
v-model="fileList"
|
||||
:multiple="false"
|
||||
:limit="1"
|
||||
:accept="['.xlsx', '.xls']"
|
||||
@success = "fileUPSuccess"
|
||||
>
|
||||
<el-button type="primary" icon="el-icon-upload"> </el-button>
|
||||
</sc-upload-file>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-footer v-show="mode!=='show'">
|
||||
<template v-if="(route_code=='tuihuo'&&type==10&&mtype==10)||form.ticket!=null">
|
||||
<ticketd_b_start :workflow_key="'backfire'" :title="'退火交接审批单'" :t_id="form.id" :ticketId="form.ticket"
|
||||
@success="()=>{$emit('success')} " :submit_b_func="submit_b_func" ref="ticketd_b_start"></ticketd_b_start>
|
||||
</template>
|
||||
<el-button v-else type="primary" v-loading="isSaveing" @click="submit">确定</el-button>
|
||||
<el-button @click="$emit('closed')">取消</el-button>
|
||||
</el-footer>
|
||||
</el-main>
|
||||
<el-aside width="20%" v-if="form.ticket">
|
||||
<ticketd :ticketId="form.ticket" @success="$emit('success')"></ticketd>
|
||||
</el-aside>
|
||||
</el-container>
|
||||
|
||||
</template>
|
||||
<script>
|
||||
import ticketd_b_start from "@/views/wf/ticketd_b_start.vue";
|
||||
import ticketd from '@/views/wf/ticketd.vue'
|
||||
export default {
|
||||
emits: ["success", "closed"],
|
||||
components: {
|
||||
ticketd_b_start, ticketd
|
||||
},
|
||||
props: {
|
||||
t_id: {
|
||||
type: String,
|
||||
default: null
|
||||
},
|
||||
type: {
|
||||
type: Number,
|
||||
default: 10,
|
||||
|
|
@ -245,12 +246,7 @@ export default {
|
|||
selectItems:[],
|
||||
yseorno: ["是", "否"],
|
||||
loading: false,
|
||||
mode: "add",
|
||||
titleMap: {
|
||||
add: "新增交接记录",
|
||||
edit: "编辑交接记录",
|
||||
show: "查看交接记录",
|
||||
},
|
||||
mode: "show",
|
||||
lists:[],//交接数组
|
||||
handle_user: [],
|
||||
form: {
|
||||
|
|
@ -327,10 +323,10 @@ export default {
|
|||
fileList:[],
|
||||
userList: [],
|
||||
userList2: [],
|
||||
handoverbIds:[],
|
||||
mgroupOptions: [],
|
||||
materialOptions: [],
|
||||
addShow: false,
|
||||
visible: false,
|
||||
scanVisible:false,
|
||||
isSaveing: false,
|
||||
setFiltersVisible: false,
|
||||
|
|
@ -379,25 +375,25 @@ export default {
|
|||
}else{
|
||||
that.getMgroupOptions();
|
||||
}
|
||||
if(that.route_code=='tuihuo'){
|
||||
that.getInit();
|
||||
}
|
||||
that.getTid();
|
||||
},
|
||||
methods: {
|
||||
//渲染工单提交按钮
|
||||
getInit() {
|
||||
let that = this;
|
||||
if(this.form.ticket!==null){
|
||||
this.$API.wf.ticket.ticketTransitions.req(this.form.ticket).then((res) => {
|
||||
that.transitions = res;
|
||||
})
|
||||
}else{
|
||||
that.$API.wf.workflow.initkey.req(" backfire").then((res) => {
|
||||
that.initForm = res;
|
||||
that.transitions = res.transitions;
|
||||
});
|
||||
getTid (){
|
||||
var that = this;
|
||||
if (that.t_id) {
|
||||
that.$API.wpm.handover.item.req(that.t_id).then(res=>{
|
||||
that.setData(res);
|
||||
if(res.ticket_.state_.type == 1 && res.create_by == that.$TOOL.data.get("USER_INFO").id ) {
|
||||
that.mode = "edit";
|
||||
}else{
|
||||
that.mode = "show";
|
||||
}
|
||||
that.$nextTick(()=>{
|
||||
that.$refs.ticketd_b_start.init();
|
||||
})
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
//获取工段列表
|
||||
getMgroupOptions() {
|
||||
|
|
@ -516,28 +512,34 @@ export default {
|
|||
if(mtype==30){//合批
|
||||
this.change_batch = true;
|
||||
}
|
||||
this.visible = true;
|
||||
return this;
|
||||
},
|
||||
//选中物料批次后,放入handoverb
|
||||
materialChange0(){
|
||||
let that = this;
|
||||
that.form.handoverb = [];
|
||||
// that.form.handoverb = [];
|
||||
// that.handoverbIds = [];
|
||||
that.totalCount = 0;
|
||||
that.selectObjs.forEach(item=>{
|
||||
let obj = {};
|
||||
obj.wm = item.id;
|
||||
obj.state = item.state;
|
||||
obj.batch = item.batch;
|
||||
obj.label = item.defect !== null?item.batch+'('+item.material_name+')'+item.defect_name:item.batch+'('+item.material_name+')';
|
||||
obj.count = item.count_canhandover;
|
||||
obj.defect = item.defect;
|
||||
obj.defect_name = item.defect_name;
|
||||
obj.count_cando = item.count_canhandover;
|
||||
obj.material = item.material;
|
||||
that.totalCount += Number(obj.count);
|
||||
that.form.handoverb.push(obj);
|
||||
that.getResaveMgroups(obj.material);
|
||||
if(that.handoverbIds.indexOf(item.id)==-1){
|
||||
that.handoverbIds.push(item.id);
|
||||
let obj = {};
|
||||
obj.wm = item.id;
|
||||
obj.state = item.state;
|
||||
obj.batch = item.batch;
|
||||
obj.label = item.defect !== null?item.batch+'('+item.material_name+')'+item.defect_name:item.batch+'('+item.material_name+')';
|
||||
obj.count = item.count_canhandover;
|
||||
obj.defect = item.defect;
|
||||
obj.defect_name = item.defect_name;
|
||||
obj.count_cando = item.count_canhandover;
|
||||
obj.material = item.material;
|
||||
that.form.handoverb.push(obj);
|
||||
that.getResaveMgroups(obj.material);
|
||||
}
|
||||
})
|
||||
setTimeout(function(){
|
||||
that.countChange();
|
||||
},500)
|
||||
},
|
||||
countChange(){
|
||||
let that = this;
|
||||
|
|
@ -552,62 +554,14 @@ export default {
|
|||
fileUPSuccess(res) {
|
||||
this.test_file = res.path;
|
||||
},
|
||||
//提交退火交接单信息,创建工单
|
||||
submitTicketCreate(id) {
|
||||
let that = this;
|
||||
that.isSaveing = true;
|
||||
that.form.oinfo_json = {};
|
||||
that.form.oinfo_json.test_file = that.test_file;
|
||||
async submit_b_func() {
|
||||
let that = this;
|
||||
if(that.mode == "add") {
|
||||
that.$API.wpm.handover.create.req(that.form).then((res) => {
|
||||
let ticket = {};
|
||||
ticket.title = '退火交接审批单';
|
||||
ticket.workflow = that.initForm.workflow;
|
||||
ticket.ticket_data = {t_id: res.id};
|
||||
ticket.transition = id;
|
||||
that.$API.wf.ticket.create.req(ticket).then((res) => {
|
||||
that.isSaveing = false;
|
||||
that.visible = false;
|
||||
that.$emit("success");
|
||||
that.$message.success("提交成功");
|
||||
}).catch((e) => {
|
||||
that.isSaveing = false;
|
||||
});
|
||||
}).catch((e) => {
|
||||
that.isSaveing = false;
|
||||
});
|
||||
} else if (that.mode == "edit") {
|
||||
that.$API.wpm.handover.update.req(that.form.id, that.form).then((res) => {
|
||||
if (that.form.ticket == null) {
|
||||
let ticket = {};
|
||||
ticket.title = '退火交接审批单';
|
||||
ticket.workflow = that.initForm.workflow;
|
||||
ticket.ticket_data = {t_id: res.id};
|
||||
ticket.transition = id;
|
||||
that.$API.wf.ticket.create.req(ticket).then((res) => {
|
||||
that.isSaveing = false;
|
||||
that.visible = false;
|
||||
that.$emit("success");
|
||||
that.$message.success("提交成功");
|
||||
}).catch((e) => {
|
||||
that.isSaveing = false;
|
||||
});
|
||||
} else {
|
||||
let data = {transition: id, ticket_data: {}}
|
||||
that.$API.wf.ticket.ticketHandle.req(that.form.ticket, data).then(res=>{
|
||||
that.isSaveing = false;
|
||||
that.visible = false;
|
||||
that.$emit("success");
|
||||
that.$message.success("提交成功");
|
||||
}).catch((e) => {
|
||||
that.isSaveing = false;
|
||||
})
|
||||
}
|
||||
}).catch((err) => {
|
||||
that.isSaveing = false;
|
||||
return err;
|
||||
});
|
||||
}
|
||||
let res = await that.$API.wpm.handover.create.req(that.form);
|
||||
that.form.id = res.id;
|
||||
} else if (that.mode == "edit") {
|
||||
await that.$API.wpm.handover.update.req(that.form.id, that.form);
|
||||
}
|
||||
},
|
||||
//提交
|
||||
submit() {
|
||||
|
|
@ -626,7 +580,6 @@ export default {
|
|||
that.$API.wpm.handover.createsubmit.req(that.form).then((res) => {
|
||||
that.isSaveing = false;
|
||||
that.$emit("success");
|
||||
that.visible = false;
|
||||
that.$message.success("操作成功");
|
||||
}).catch((err) => {
|
||||
that.isSaveing = false;
|
||||
|
|
@ -637,7 +590,6 @@ export default {
|
|||
that.$API.wpm.handover.create.req(that.form).then((res) => {
|
||||
that.isSaveing = false;
|
||||
that.$emit("success");
|
||||
that.visible = false;
|
||||
that.$message.success("操作成功");
|
||||
}).catch((err) => {
|
||||
that.isSaveing = false;
|
||||
|
|
@ -647,7 +599,6 @@ export default {
|
|||
that.$API.wpm.handover.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("操作成功");
|
||||
}).catch((err) => {
|
||||
that.isSaveing = false;
|
||||
|
|
|
|||
Loading…
Reference in New Issue