Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
57442450f4
@ -1,5 +1,24 @@
|
||||
<template>
|
||||
<div class="execution">
|
||||
<input-select-dialog :modal-obj='customerCodeDialogObj' :modal-fetch-fun='customerCodeDialogFetchFun'
|
||||
:modal-show.sync="customerCodeDialogVisible"
|
||||
@inputDialogSelected="customerCodeSelected"></input-select-dialog>
|
||||
<input-select-dialog
|
||||
:modal-obj="operationDialogObj"
|
||||
:modal-fetch-fun="operationDialogFetchFun"
|
||||
:modal-show.sync="operationDialogVisible"
|
||||
@inputDialogSelected="operationSelected"
|
||||
></input-select-dialog>
|
||||
<input-select-dialog
|
||||
:modal-obj="fabNoDialogObj"
|
||||
:modal-fetch-fun="fabNoDialogFetchFun"
|
||||
:modal-show.sync="fabNoDialogVisible"
|
||||
@inputDialogSelected="fabNoSelected"
|
||||
></input-select-dialog>
|
||||
<input-select-dialog :modal-obj="labelTemplateDialogObj"
|
||||
:modal-fetch-fun='fetchLabelTemplateList'
|
||||
:modal-show.sync="labelTemplateDialogVisible"
|
||||
@inputDialogSelected="labelTemplateSelected"></input-select-dialog>
|
||||
<basic-container style="margin-top: -20px">
|
||||
<c-top-bar :offset="50">
|
||||
<el-button type="text" icon="el-icon-search" @click="doRetrieve()">检索</el-button>
|
||||
@ -14,6 +33,20 @@
|
||||
</c-top-bar>
|
||||
<el-form ref="formObj" :rules="rules" :model="formObj" label-width="100px">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工厂代码:" prop="fabNo">
|
||||
<el-input v-model="formObj.fabNo">
|
||||
<i slot="suffix" class="el-input__icon el-icon-search" @click.stop="showFabNoDialog()"></i>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="工序:" prop="operation">
|
||||
<el-input v-model="formObj.operation">
|
||||
<i slot="suffix" class="el-input__icon el-icon-search" @click.stop="showOperationDialog()"></i>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="客户编码:" prop="customerCode">
|
||||
<el-input v-model="formObj.customerCode">
|
||||
@ -29,7 +62,8 @@
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-table size="mini" :data="formObj.list" border style="width: 100%" ref="multipleTable" @selection-change="selectionChange" highlight-current-row>
|
||||
<el-table size="mini" :data="formObj.list" border style="width: 100%" ref="multipleTable"
|
||||
@selection-change="selectionChange" highlight-current-row :row-class-name="tableRowClassName">
|
||||
<el-table-column
|
||||
type="selection"
|
||||
align="center"
|
||||
@ -39,26 +73,34 @@
|
||||
</el-table-column>
|
||||
<el-table-column label="客户代码" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-input size="mini" v-model="scope.row.customerCode" :disabled="scope.row.editable"></el-input>
|
||||
<el-input size="mini" v-model="scope.row.customerCode" :disabled="!scope.row.editable" @change="setRowModified(scope.row)"></el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="fabNo" label="工厂代码" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-input v-model="scope.row.fabNo" :disabled="!scope.row.editable" @change="setRowModified(scope.row)">
|
||||
<i
|
||||
slot="suffix"
|
||||
class="el-input__icon el-icon-copy-document"
|
||||
@click.stop="showFabNoDialog(scope.row)"
|
||||
></i>
|
||||
</el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="operation" label="对应工序" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-select v-model="scope.row.operation" placeholder="JM" :disabled="scope.row.editable">
|
||||
<el-option key="JM" label="基膜" value="JM"/>
|
||||
<el-option key="DFQ" label="大分切" value="DFQ"/>
|
||||
<el-option key="TF" label="涂覆" value="TF"/>
|
||||
<el-option key="XFQ" label="小分切" value="XFQ"/>
|
||||
<el-option key="JL" label="浆料" value="JL"/>
|
||||
<el-option key="BZ" label="包装" value="BZ"/>
|
||||
<el-option key="FH" label="发货" value="FH"/>
|
||||
<el-option key="ZT" label="发货组托" value="ZT"/>
|
||||
</el-select>
|
||||
<el-input v-model="scope.row.operation" :disabled="!scope.row.editable" @change="setRowModified(scope.row)">
|
||||
<i
|
||||
slot="suffix"
|
||||
class="el-input__icon el-icon-copy-document"
|
||||
@click.stop="showOperationDialog(scope.row)"
|
||||
></i>
|
||||
</el-input>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="status" label="规则状态" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-select v-model="scope.row.status" placeholder="Y" :disabled="scope.row.editable">
|
||||
<el-select v-model="scope.row.status" placeholder="Y" @change="setRowModified(scope.row)">
|
||||
<el-option key="Y" label="Y" value="Y"/>
|
||||
<el-option key="N" label="N" value="N"/>
|
||||
</el-select>
|
||||
@ -75,35 +117,44 @@
|
||||
</el-form>
|
||||
</basic-container>
|
||||
|
||||
<input-select-dialog :modal-obj='customerCodeDialogObj' :modal-fetch-fun='customerCodeDialogFetchFun'
|
||||
:modal-show.sync="customerCodeDialogVisible"
|
||||
@inputDialogSelected="customerCodeSelected"></input-select-dialog>
|
||||
|
||||
<el-drawer
|
||||
title=""
|
||||
:visible.sync="drawer"
|
||||
:with-header="false"
|
||||
size="40%">
|
||||
<div style="height: 40px"></div>
|
||||
<el-button type="primary" @click="doAddPageConfig()">新增</el-button>
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<span style="text-align: center;display:block;">规则公式</span>
|
||||
<el-col :span="9">
|
||||
<span style="text-align: center;display:block;">标签类别</span>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-col :span="9">
|
||||
<span style="text-align: center;display:block;">标签模板</span>
|
||||
</el-col>
|
||||
<el-col :span="4">
|
||||
<span style="text-align: center;display:block;">打印次数</span>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row >
|
||||
<el-col :span="16">
|
||||
<el-row v-for="(pageItem, index) in printPageList" :key="index">
|
||||
<el-col :span="9">
|
||||
<div style="text-align: center;display:block;">
|
||||
<el-select v-model="rule1">
|
||||
<el-option v-for="item in templateCategoryList" :key="item.LABEL_CATEGORY_ID" :label="item.LABEL_CATEGORY_NAME" :value="item.LABEL_CATEGORY_ID"></el-option>
|
||||
<el-select v-model="pageItem.labelCategory" @change="handleLabelCategoryChange(pageItem)">
|
||||
<el-option v-for="item in templateCategoryList" :key="item.LABEL_CATEGORY_ID"
|
||||
:label="item.LABEL_CATEGORY_NAME" :value="item.LABEL_CATEGORY_ID"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-col :span="9">
|
||||
<div style="text-align: center;display:block;">
|
||||
<el-select v-model="printNumber1" placeholder="1">
|
||||
<el-input v-model="pageItem.templateCode" :readOnly="true">
|
||||
<i slot="suffix" class="el-input__icon el-icon-search"
|
||||
@click.stop="showLabelTemplateDialog(pageItem)"></i>
|
||||
</el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<div style="text-align: center;display:flex;">
|
||||
<el-select v-model="pageItem.printPages" placeholder="1">
|
||||
<el-option key="1" label="1" value="1"/>
|
||||
<el-option key="2" label="2" value="2"/>
|
||||
<el-option key="3" label="3" value="3"/>
|
||||
@ -115,44 +166,7 @@
|
||||
<el-option key="9" label="9" value="9"/>
|
||||
<el-option key="10" label="10" value="10"/>
|
||||
</el-select>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-divider></el-divider>
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<div style="text-align: center;display:block;">
|
||||
<el-select v-model="rule2">
|
||||
<el-option v-for="item in templateCategoryList" :key="item.LABEL_CATEGORY_ID" :label="item.LABEL_CATEGORY_NAME" :value="item.LABEL_CATEGORY_ID"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<div style="text-align: center;display:block;">
|
||||
<el-select v-model="printNumber2" placeholder="1">
|
||||
<el-option key="1" label="1" value="1"/>
|
||||
<el-option key="2" label="2" value="2"/>
|
||||
<el-option key="3" label="3" value="3"/>
|
||||
</el-select>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-divider></el-divider>
|
||||
<el-row>
|
||||
<el-col :span="16">
|
||||
<div style="text-align: center;display:block;">
|
||||
<el-select v-model="rule3">
|
||||
<el-option v-for="item in templateCategoryList" :key="item.LABEL_CATEGORY_ID" :label="item.LABEL_CATEGORY_NAME" :value="item.LABEL_CATEGORY_ID"></el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<div style="text-align: center;display:block;">
|
||||
<el-select v-model="printNumber3" placeholder="1">
|
||||
<el-option key="1" label="1" value="1"/>
|
||||
<el-option key="2" label="2" value="2"/>
|
||||
<el-option key="3" label="3" value="3"/>
|
||||
</el-select>
|
||||
<el-button @click="doDeleteItem(pageItem)">删除</el-button>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -166,229 +180,369 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {getObj,addObj,deleteObj,getTemplateCategoryList} from '@/api/mes/print/printRuleMaintenance'
|
||||
import {getStore} from '@/util/store'
|
||||
import {isBlank, trimString} from '@/util/string'
|
||||
import {showLoading, hideLoading} from '@/const/loading'
|
||||
import {removeTableSelected} from '@/util/table'
|
||||
import {mapGetters} from 'vuex'
|
||||
import {getObj, addObj, deleteObj, getTemplateCategoryList} from '@/api/mes/print/printRuleMaintenance'
|
||||
import {getStore} from '@/util/store'
|
||||
import {isBlank, trimString} from '@/util/string'
|
||||
import {showLoading, hideLoading} from '@/const/loading'
|
||||
import {removeTableSelected} from '@/util/table'
|
||||
import {mapGetters} from 'vuex'
|
||||
import {findOperationList as fetchOperationList} from "@/api/mes/prd/operation";
|
||||
import {fetchList as fetchFabList} from "@/api/mes/smd/fab-basis";
|
||||
import { copyJSON } from '@/util/util'
|
||||
import {fetchList as fetchLabelTemplateList} from "@/api/mes/print/print-label-template";
|
||||
import {getByCode as getLabelCategory} from "@/api/mes/print/labelCategory";
|
||||
|
||||
export default {
|
||||
name: 'printRuleMaintenance',
|
||||
data() {
|
||||
return {
|
||||
activeName: 'main',
|
||||
user: '',
|
||||
formObj: {},
|
||||
initData: {
|
||||
site: getStore({name: 'tenantId'}),
|
||||
customerCode: '',
|
||||
list: []
|
||||
},
|
||||
rules: {},
|
||||
multipleSelection: [],
|
||||
selectedIndex: 0,
|
||||
rule1: '',
|
||||
printNumber1:'',
|
||||
rule2: '',
|
||||
printNumber2:'',
|
||||
rule3: '',
|
||||
printNumber3:'',
|
||||
templateCategoryList: [],
|
||||
drawer:false,
|
||||
|
||||
customerCodeDialogVisible : false,
|
||||
customerCodeDialogObj: {
|
||||
"condition": "searchText",
|
||||
"page": false,
|
||||
tableColumn: [
|
||||
{prop: "customerCode", label: "客户代码"}
|
||||
]
|
||||
},
|
||||
customerCodeDialogFetchFun: getObj,
|
||||
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.formObj = Object.assign({}, this.initData)
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['permissions']),
|
||||
permissionList() {
|
||||
return {}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
showCustomerCodeDialog() {
|
||||
this.customerCodeDialogObj.queryParam = {"site": this.formObj.site};
|
||||
this.customerCodeDialogVisible = true;
|
||||
},
|
||||
customerCodeSelected(row) {
|
||||
let me = this;
|
||||
me.formObj.customerCode = row.customerCode;
|
||||
},
|
||||
|
||||
doRetrieve() {
|
||||
let me = this;
|
||||
var param = {"site":me.formObj.site};
|
||||
if(!isBlank(me.formObj.customerCode)){
|
||||
param.customerCode = me.formObj.customerCode;
|
||||
}
|
||||
this.$refs.multipleTable.clearSelection();
|
||||
getObj(param).then(respData => {
|
||||
if (respData.data.code !== 0) {
|
||||
return me.$message.error(respData.data.msg);
|
||||
}
|
||||
if(respData.data.data.length === 0){
|
||||
me.formObj.list = [];
|
||||
return me.$message.error("检索无数据");
|
||||
}
|
||||
for(var i =0;i<respData.data.data.length;i++){
|
||||
respData.data.data[i].seq = i+1;
|
||||
respData.data.data[i].editable = false;
|
||||
}
|
||||
me.formObj.list = respData.data.data;
|
||||
me.$message.success("查询成功");
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
doSaveAll() {
|
||||
let me = this;
|
||||
|
||||
if (me.formObj.list.length ===0 ){
|
||||
return me.$message.error("没有要保存的客户编码");
|
||||
}
|
||||
let param = [];
|
||||
for (let i = 0; i < me.formObj.list.length; i++) {
|
||||
if(me.formObj.list[i].customerCode===""){
|
||||
return me.$message.error("序号"+me.formObj.list[i].seq+"的客户编码不可为空");
|
||||
}
|
||||
if(i>0){
|
||||
for (var j = 0; j < i; j++) {
|
||||
if(me.formObj.list[i].customerCode===me.formObj.list[j].customerCode && me.formObj.list[i].operation===me.formObj.list[j].operation){
|
||||
return me.$message.error("第"+(j+1)+"行和第"+(i+1)+"行客户编码和对应工序重复");
|
||||
}
|
||||
}
|
||||
}
|
||||
if(me.formObj.list[i].rule1==="" && me.formObj.list[i].rule2==="" && me.formObj.list[i].rule3==="" && me.formObj.list[i].status==="Y"){
|
||||
return me.$message.error("客户编码"+me.formObj.list[i].customerCode+"没有维护一条以上的规则,规则状态不可为启用");
|
||||
}
|
||||
param.push({
|
||||
"handle":"PrintRuleBO:"+me.formObj.site+","+me.formObj.list[i].customerCode+","+me.formObj.list[i].operation,
|
||||
"site":me.formObj.site,
|
||||
"customerCode":me.formObj.list[i].customerCode,
|
||||
"operation":me.formObj.list[i].operation,
|
||||
"status":me.formObj.list[i].status,
|
||||
"rule1":me.formObj.list[i].rule1,
|
||||
"printNumber1":me.formObj.list[i].printNumber1,
|
||||
"rule2":me.formObj.list[i].rule2,
|
||||
"printNumber2":me.formObj.list[i].printNumber2,
|
||||
"rule3":me.formObj.list[i].rule3,
|
||||
"printNumber3":me.formObj.list[i].printNumber3,
|
||||
"createdUser":me.user
|
||||
})
|
||||
}
|
||||
addObj(param).then(respData => {
|
||||
if(respData.data.code !== 0){
|
||||
return me.$message.error(respData.data.msg);
|
||||
}
|
||||
me.doReset();
|
||||
me.$message.success("保存成功");
|
||||
}).catch(() => {
|
||||
});
|
||||
},
|
||||
doReset() {
|
||||
this.formObj = Object.assign({}, this.initData);
|
||||
this.formObj.list = [];
|
||||
this.$refs.multipleTable.clearSelection();
|
||||
},
|
||||
selectionChange(val) {
|
||||
this.multipleSelection = val;
|
||||
},
|
||||
doDelete() {
|
||||
let me = this;
|
||||
if(me.multipleSelection.length===0){
|
||||
return me.$message.warning("至少选中1行客户编码!");
|
||||
}
|
||||
let param = [];
|
||||
for (var m = 0; m < me.multipleSelection.length; m++) {
|
||||
param.push({"handle":"PrintRuleBO:"+me.formObj.site+","+me.multipleSelection[m].customerCode+","+me.multipleSelection[m].operation});
|
||||
}
|
||||
deleteObj(param).then(respData => {
|
||||
if(respData.data.code !== 0){
|
||||
return me.$message.error(respData.data.msg);
|
||||
}
|
||||
removeTableSelected(me.formObj.list, me.multipleSelection);
|
||||
for (let j = 0;j < me.formObj.list.length;j++) {
|
||||
me.formObj.list[j].seq=j+1;
|
||||
}
|
||||
this.$refs.multipleTable.clearSelection();
|
||||
me.$message.success("删除成功");
|
||||
}).catch(() => {
|
||||
});
|
||||
},
|
||||
addNew() {
|
||||
let me = this;
|
||||
let seq = me.formObj.list.length+1;
|
||||
me.formObj.list.push({
|
||||
seq: seq,
|
||||
customerCode:"",
|
||||
operation:"JM",
|
||||
status:"Y",
|
||||
rule1:"",
|
||||
printNumber1:"1",
|
||||
rule2:"",
|
||||
printNumber2:"1",
|
||||
rule3:"",
|
||||
printNumber3:"1",
|
||||
});
|
||||
},
|
||||
doEdit: function (row,index) {
|
||||
var me = this;
|
||||
|
||||
me.selectedIndex = index;
|
||||
getTemplateCategoryList(me.formObj.site).then(respData => {
|
||||
if(respData.data.code !== 0){
|
||||
return me.$message.error(respData.data.msg);
|
||||
}
|
||||
respData.data.data.splice(0, 0, {"LABEL_CATEGORY_ID":"","LABEL_CATEGORY_NAME":""});
|
||||
me.templateCategoryList = respData.data.data;
|
||||
me.rule1 = row.rule1===undefined?"":row.rule1===null?"":row.rule1;
|
||||
me.printNumber1 = row.printNumber1;
|
||||
me.rule2 = row.rule2===undefined?"":row.rule2===null?"":row.rule2;
|
||||
me.printNumber2 = row.printNumber2;
|
||||
me.rule3 = row.rule3===undefined?"":row.rule3===null?"":row.rule3;
|
||||
me.printNumber3 = row.printNumber3;
|
||||
me.drawer = true;
|
||||
}).catch(() => {
|
||||
});
|
||||
},
|
||||
doSave: function () {
|
||||
var me = this;
|
||||
|
||||
if(me.rule1==="" && me.rule2==="" && me.rule3===""){
|
||||
return me.$message.error("至少有一条规则不为空");
|
||||
}
|
||||
if(me.rule1!=="" && (me.rule1===me.rule2 || me.rule1===me.rule3)){
|
||||
return me.$message.error("规则公式重复");
|
||||
}
|
||||
if(me.rule2!=="" && me.rule2===me.rule3){
|
||||
return me.$message.error("规则公式重复");
|
||||
}
|
||||
me.formObj.list[me.selectedIndex].rule1 = me.rule1;
|
||||
me.formObj.list[me.selectedIndex].printNumber1 = me.printNumber1;
|
||||
me.formObj.list[me.selectedIndex].rule2 = me.rule2;
|
||||
me.formObj.list[me.selectedIndex].printNumber2 = me.printNumber2;
|
||||
me.formObj.list[me.selectedIndex].rule3 = me.rule3;
|
||||
me.formObj.list[me.selectedIndex].printNumber3 = me.printNumber3;
|
||||
me.drawer = false;
|
||||
me.$message.success("保存成功");
|
||||
},
|
||||
doCancel: function () {
|
||||
var me = this;
|
||||
|
||||
me.drawer = false;
|
||||
},
|
||||
}
|
||||
export default {
|
||||
name: 'printRuleMaintenance',
|
||||
data() {
|
||||
return {
|
||||
activeName: 'main',
|
||||
user: '',
|
||||
formObj: {},
|
||||
initData: {
|
||||
site: getStore({name: 'tenantId'}),
|
||||
customerCode: '',
|
||||
operation: '',
|
||||
fabNo: '',
|
||||
list: []
|
||||
},
|
||||
rules: {},
|
||||
multipleSelection: [],
|
||||
selectedIndex: 0,
|
||||
labelCategory: '',
|
||||
printPages: '',
|
||||
templateCategoryList: [],
|
||||
drawer: false,
|
||||
customerCodeDialogVisible: false,
|
||||
customerCodeDialogObj: {
|
||||
"condition": "searchText",
|
||||
"page": false,
|
||||
tableColumn: [
|
||||
{prop: "customerCode", label: "客户代码"}
|
||||
]
|
||||
},
|
||||
customerCodeDialogFetchFun: getObj,
|
||||
operationDialogObj: {
|
||||
condition: 'operation',
|
||||
tableColumn: [
|
||||
{prop: 'operation', label: 'mes.process', width: '200'},
|
||||
{prop: 'description', label: 'mes.description'},
|
||||
],
|
||||
title: 'mes.process',
|
||||
},
|
||||
operationDialogFetchFun: fetchOperationList,
|
||||
operationDialogVisible: false,
|
||||
fabNoDialogObj: {
|
||||
title: this.$t('mes.workshopCode'),
|
||||
condition: 'fabNo',
|
||||
tableColumn: [
|
||||
{prop: 'fabNo', label: this.$t('mes.workshopCode'), width: '200'},
|
||||
{prop: 'description', label: this.$t('crud.column.label.description')},
|
||||
],
|
||||
},
|
||||
fabNoDialogFetchFun: fetchFabList,
|
||||
fabNoDialogVisible: false,
|
||||
labelTemplateDialogObj: {
|
||||
condition: "searchText",
|
||||
tableColumn: [
|
||||
{prop: "templateCode", label: "模板编号"},
|
||||
{prop: "templateName", label: "模板名称"},
|
||||
]
|
||||
},
|
||||
fetchLabelTemplateList,
|
||||
labelTemplateDialogVisible: false,
|
||||
currentRow: null,
|
||||
printPageList: [],
|
||||
currentPrintPageData: {}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.formObj = Object.assign({}, this.initData)
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['permissions']),
|
||||
permissionList() {
|
||||
return {}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
tableRowClassName({row, rowIndex}) {
|
||||
if (row.modified) {
|
||||
return 'success-row';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
setRowModified(row) {
|
||||
row.modified = true;
|
||||
},
|
||||
//显示操作弹窗框
|
||||
showLabelTemplateDialog(pageItem) {
|
||||
this.labelTemplateDialogObj.queryParam = {"templateCategory": pageItem.labelCategory};
|
||||
this.currentPrintPageData = pageItem
|
||||
this.labelTemplateDialogVisible = true
|
||||
},
|
||||
labelTemplateSelected(row) {
|
||||
let me = this
|
||||
me.currentPrintPageData.templateCode = row.templateCode
|
||||
},
|
||||
handleLabelCategoryChange(pageItem) {
|
||||
pageItem.templateCode = ''
|
||||
},
|
||||
doAddPageConfig() {
|
||||
this.printPageList.push({
|
||||
labelCategory: '',
|
||||
templateCode: '',
|
||||
printPages: '1'
|
||||
});
|
||||
this.$forceUpdate();
|
||||
},
|
||||
doDeleteItem(item) {
|
||||
this.printPageList.splice(this.printPageList.indexOf(item), 1);
|
||||
},
|
||||
showCustomerCodeDialog() {
|
||||
this.customerCodeDialogObj.queryParam = {"site": this.formObj.site};
|
||||
this.customerCodeDialogVisible = true;
|
||||
},
|
||||
customerCodeSelected(row) {
|
||||
let me = this;
|
||||
me.formObj.customerCode = row.customerCode;
|
||||
},
|
||||
//显示操作弹窗框
|
||||
showOperationDialog(row) {
|
||||
this.operationDialogVisible = true
|
||||
this.setCurrentRow(row)
|
||||
},
|
||||
operationSelected(row) {
|
||||
let me = this
|
||||
if (me.currentRow) {
|
||||
me.currentRow.operation = row.operation
|
||||
me.setRowModified(me.currentRow)
|
||||
} else {
|
||||
me.formObj.operation = row.operation
|
||||
}
|
||||
},
|
||||
showFabNoDialog(row) {
|
||||
this.fabNoDialogVisible = true
|
||||
this.setCurrentRow(row)
|
||||
},
|
||||
setCurrentRow(row) {
|
||||
if (row) {
|
||||
this.currentRow = row
|
||||
} else {
|
||||
this.currentRow = null
|
||||
}
|
||||
},
|
||||
fabNoSelected(row) {
|
||||
let me = this
|
||||
if (me.currentRow) {
|
||||
me.currentRow.fabNo = row.fabNo
|
||||
me.setRowModified(me.currentRow)
|
||||
} else {
|
||||
me.formObj.fabNo = row.fabNo
|
||||
}
|
||||
},
|
||||
doRetrieve() {
|
||||
let me = this;
|
||||
var param = {"site": me.formObj.site};
|
||||
if (!isBlank(me.formObj.customerCode)) {
|
||||
param.customerCode = me.formObj.customerCode;
|
||||
}
|
||||
if (!isBlank(me.formObj.fabNo)) {
|
||||
param.fabNo = me.formObj.fabNo;
|
||||
}
|
||||
if (!isBlank(me.formObj.operation)) {
|
||||
param.operation = me.formObj.operation;
|
||||
}
|
||||
this.$refs.multipleTable.clearSelection();
|
||||
getObj(param).then(respData => {
|
||||
if (respData.data.code !== 0) {
|
||||
return me.$message.error(respData.data.msg);
|
||||
}
|
||||
if (respData.data.data.length === 0) {
|
||||
me.formObj.list = [];
|
||||
return me.$message.error("检索无数据");
|
||||
}
|
||||
for (let i = 0; i < respData.data.data.length; i++) {
|
||||
respData.data.data[i].seq = i + 1;
|
||||
respData.data.data[i].editable = false;
|
||||
}
|
||||
me.formObj.list = respData.data.data;
|
||||
me.$message.success("查询成功");
|
||||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
doSaveAll() {
|
||||
let me = this;
|
||||
|
||||
if (me.formObj.list.length === 0) {
|
||||
return me.$message.error("没有要保存的客户编码");
|
||||
}
|
||||
let param = [];
|
||||
for (let i = 0; i < me.formObj.list.length; i++) {
|
||||
let record = me.formObj.list[i];
|
||||
let customerCode = record.customerCode || "";
|
||||
let operation = record.operation || "";
|
||||
let fabNo = record.fabNo || "";
|
||||
let key = customerCode + operation + fabNo;
|
||||
if(isBlank(operation)) {
|
||||
return me.$message.error("第" + (i + 1) + "行工序不能为空");
|
||||
}
|
||||
if(isBlank(key)) {
|
||||
return me.$message.error("第" + (i + 1) + "行客户代码,工厂代码,工序不能同时为空");
|
||||
}
|
||||
if (i > 0) {
|
||||
for (let j = 0; j < i; j++) {
|
||||
let operationJ = me.formObj.list[j].operation || "";
|
||||
let fabNoJ = me.formObj.list[j].fabNo || "";
|
||||
let customerCodeJ = me.formObj.list[j].customerCode || "";
|
||||
let keyJ = customerCodeJ + operationJ + fabNoJ;
|
||||
if (key === keyJ) {
|
||||
return me.$message.error("第" + (j + 1) + "行和第" + (i + 1) + "行数据重复");
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((!record.printPageList || record.printPageList.length === 0) && record.status === "Y") {
|
||||
return me.$message.error("客户编码" + record.customerCode + "没有维护一条以上的规则,规则状态不可为启用");
|
||||
}
|
||||
let handle = "PrintRuleBO:" + me.formObj.site + "," + record.customerCode;
|
||||
if(!isBlank(fabNo)) {
|
||||
handle = handle + "," + fabNo
|
||||
}
|
||||
if(!isBlank(operation)) {
|
||||
handle = handle + "," + operation
|
||||
}
|
||||
if(record.modified) {
|
||||
param.push({
|
||||
"handle": handle,
|
||||
"site": me.formObj.site,
|
||||
"customerCode": customerCode,
|
||||
fabNo: fabNo,
|
||||
"operation": operation,
|
||||
"status": record.status,
|
||||
"createdUser": me.user,
|
||||
"printPageList": record.printPageList
|
||||
})
|
||||
}
|
||||
}
|
||||
if(param.length === 0) {
|
||||
return me.$message.error("没有要保存的数据");
|
||||
}
|
||||
addObj(param).then(respData => {
|
||||
if (respData.data.code !== 0) {
|
||||
return me.$message.error(respData.data.msg);
|
||||
}
|
||||
me.doReset();
|
||||
me.$message.success("保存成功");
|
||||
}).catch(() => {
|
||||
});
|
||||
},
|
||||
doReset() {
|
||||
this.formObj = Object.assign({}, this.initData);
|
||||
this.formObj.list = [];
|
||||
this.$refs.multipleTable.clearSelection();
|
||||
},
|
||||
selectionChange(val) {
|
||||
this.multipleSelection = val;
|
||||
},
|
||||
doDelete() {
|
||||
let me = this;
|
||||
if (me.multipleSelection.length === 0) {
|
||||
return me.$message.warning("至少选中1行客户编码!");
|
||||
}
|
||||
let param = [];
|
||||
for (var m = 0; m < me.multipleSelection.length; m++) {
|
||||
let record = me.multipleSelection[m];
|
||||
let handle = "PrintRuleBO:" + me.formObj.site + "," + record.customerCode;
|
||||
if(!isBlank(record.fabNo)) {
|
||||
handle = handle + "," + record.fabNo
|
||||
}
|
||||
if(!isBlank(record.operation)) {
|
||||
handle = handle + "," + record.operation
|
||||
}
|
||||
param.push({"handle": handle});
|
||||
}
|
||||
deleteObj(param).then(respData => {
|
||||
if (respData.data.code !== 0) {
|
||||
return me.$message.error(respData.data.msg);
|
||||
}
|
||||
removeTableSelected(me.formObj.list, me.multipleSelection);
|
||||
for (let j = 0; j < me.formObj.list.length; j++) {
|
||||
me.formObj.list[j].seq = j + 1;
|
||||
}
|
||||
this.$refs.multipleTable.clearSelection();
|
||||
me.$message.success("删除成功");
|
||||
}).catch(() => {
|
||||
});
|
||||
},
|
||||
addNew() {
|
||||
let me = this;
|
||||
let seq = me.formObj.list.length + 1;
|
||||
me.formObj.list.push({
|
||||
seq: seq,
|
||||
modified: true,
|
||||
customerCode: "",
|
||||
operation: "",
|
||||
status: "Y",
|
||||
labelCategory: "",
|
||||
fabNo: "",
|
||||
editable: true
|
||||
});
|
||||
},
|
||||
doEdit: function (row, index) {
|
||||
let me = this;
|
||||
if(!row.printPageList) {
|
||||
row.printPageList = []
|
||||
}
|
||||
me.printPageList = copyJSON(row.printPageList)
|
||||
me.currentRow = row;
|
||||
me.selectedIndex = index;
|
||||
getTemplateCategoryList(me.formObj.site).then(respData => {
|
||||
if (respData.data.code !== 0) {
|
||||
return me.$message.error(respData.data.msg);
|
||||
}
|
||||
me.templateCategoryList = respData.data.data;
|
||||
// row.printPageList = respData.data.data || [];
|
||||
// row.printPageList = [];
|
||||
me.drawer = true;
|
||||
}).catch(() => {
|
||||
});
|
||||
},
|
||||
doSave: function () {
|
||||
var me = this;
|
||||
if(me.printPageList == null || me.printPageList.length === 0) {
|
||||
return me.$message.error("请至少添加一条规则");
|
||||
}
|
||||
for(let i = 0; i < me.printPageList.length; i++) {
|
||||
let record = me.printPageList[i];
|
||||
if(isBlank(record.labelCategory) && isBlank(record.templateCode)) {
|
||||
return me.$message.error("第" + (i + 1) + "行标签类别和模板不能全部为空");
|
||||
}
|
||||
// 判断标签类别+模板是否重复
|
||||
for(let j = 0; j < me.printPageList.length; j++) {
|
||||
if(i !== j) {
|
||||
if(record.labelCategory === me.printPageList[j].labelCategory && record.templateCode === me.printPageList[j].templateCode) {
|
||||
return me.$message.error("第" + (i + 1) + "行标签类别+模板重复");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
me.currentRow.printPageList = me.printPageList;
|
||||
me.currentRow.modified = true;
|
||||
me.drawer = false;
|
||||
me.$message.success("保存成功");
|
||||
},
|
||||
doCancel: function () {
|
||||
var me = this;
|
||||
|
||||
me.drawer = false;
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
::v-deep .el-table .success-row {
|
||||
background: #f0f9eb;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@ -1,5 +1,11 @@
|
||||
<template>
|
||||
<div class="execution">
|
||||
<input-select-dialog
|
||||
:modal-obj="operationDialogObj"
|
||||
:modal-fetch-fun="operationDialogFetchFun"
|
||||
:modal-show.sync="operationDialogVisible"
|
||||
@inputDialogSelected="operationSelected"
|
||||
></input-select-dialog>
|
||||
<input-select-dialog :modal-obj="printerIdDialogObj" :modal-fetch-fun='printerIdDialogFetchFun' :modal-show.sync="printerIdDialogVisible" @inputDialogSelected="printerIdSelected"></input-select-dialog>
|
||||
<!-- 关联资源弹出框 -->
|
||||
<input-multiple-select-checkbox-dialog
|
||||
@ -28,17 +34,10 @@
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24"><hr class="el-hr" /></el-col>
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
<el-form-item label="工序类型:" prop="operationType">
|
||||
<el-select placeHolder="请选择" v-model="formObj.operationType">
|
||||
<el-option key="基膜-JM" label="基膜" value="基膜-JM"/>
|
||||
<el-option key="大分切-DFQ" label="大分切" value="大分切-DFQ"/>
|
||||
<el-option key="涂覆-TF" label="涂覆" value="涂覆-TF"/>
|
||||
<el-option key="小分切-XFQ" label="小分切" value="小分切-XFQ"/>
|
||||
<el-option key="浆料-JL" label="浆料" value="浆料-JL"/>
|
||||
<el-option key="包装-BZ" label="包装" value="包装-BZ"/>
|
||||
<el-option key="发货-FH" label="发货" value="发货-FH"/>
|
||||
<el-option key="发货组托-ZT" label="发货组托" value="发货组托-ZT"/>
|
||||
</el-select>
|
||||
<el-form-item label="工序:" prop="operation">
|
||||
<el-input v-model="formObj.operation">
|
||||
<i slot="suffix" class="el-input__icon el-icon-search" @click.stop="showOperationDialog()"></i>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12">
|
||||
@ -89,6 +88,7 @@
|
||||
import {
|
||||
mapGetters
|
||||
} from 'vuex'
|
||||
import {findOperationList as fetchOperationList} from "@/api/mes/prd/operation";
|
||||
|
||||
export default {
|
||||
name: "storage-bin_maintain",
|
||||
@ -106,7 +106,7 @@
|
||||
handle: "",
|
||||
site: "",
|
||||
printerId: "",
|
||||
operationType: "",
|
||||
operation: "",
|
||||
printScenario: "",
|
||||
locationDesc: "",
|
||||
resource: "",
|
||||
@ -123,7 +123,7 @@
|
||||
condition: "searchText",
|
||||
tableColumn: [
|
||||
{prop: "printerId", label: "打印机编码"},
|
||||
{prop: "operationType", label: "工序类型"},
|
||||
{prop: "operation", label: "工序类型"},
|
||||
{prop: "printScenario", label: "打印场景"},
|
||||
{prop: "locationDesc", label: "位置说明"},
|
||||
]
|
||||
@ -136,6 +136,16 @@
|
||||
{prop: "description", label: "描述"}
|
||||
]
|
||||
},
|
||||
operationDialogObj: {
|
||||
condition: 'operation',
|
||||
tableColumn: [
|
||||
{prop: 'operation', label: 'mes.process', width: '200'},
|
||||
{prop: 'description', label: 'mes.description'},
|
||||
],
|
||||
title: 'mes.process',
|
||||
},
|
||||
operationDialogFetchFun: fetchOperationList,
|
||||
operationDialogVisible: false,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@ -153,6 +163,14 @@
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
//显示操作弹窗框
|
||||
showOperationDialog(row) {
|
||||
this.operationDialogVisible = true
|
||||
},
|
||||
operationSelected(row) {
|
||||
let me = this
|
||||
me.formObj.operation = row.operation
|
||||
},
|
||||
//显示操作弹窗框
|
||||
showPrinterIdDialog() {
|
||||
this.printerIdDialogVisible = true
|
||||
|
||||
@ -417,7 +417,7 @@ export default {
|
||||
// 按分号分割工单字符串
|
||||
let shopOrderList = this.searchForm.shopOrder.split(";")
|
||||
operationOut({
|
||||
site: this.searchForm.site,
|
||||
site: this.site,
|
||||
operation: this.searchForm.operation,
|
||||
resrce: this.searchForm.resrce,
|
||||
operationList: this.operationList,
|
||||
|
||||
@ -495,7 +495,7 @@ export default {
|
||||
// 按分号分割工单字符串
|
||||
let shopOrderList = this.searchForm.shopOrder.split(";")
|
||||
operationOut({
|
||||
site: this.searchForm.site,
|
||||
site: this.site,
|
||||
operation: this.searchForm.operation,
|
||||
resrce: this.searchForm.resrce,
|
||||
rollType: this.searchForm.rollType,
|
||||
|
||||
Loading…
Reference in New Issue
Block a user