Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
彭枝刚 2024-11-23 15:25:50 +08:00
commit 57442450f4
4 changed files with 474 additions and 302 deletions

View File

@ -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>

View File

@ -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

View File

@ -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,

View File

@ -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,