Browse Source

2025-07-10

1、印前工序模版调整
     1、取消现有的字段,使用列表方式
         1.1   列表字段:看图(需要中英文)
     2、带出该物料对应版本、替代的刀具信息
         2.1   根据Routing中的工艺指导的类型是Plate No.带到印版编号/PlateNo
         2.2   根据版本+替代带出Routing Tools的工具编码、工具名称
         2.3   根据该工具属性编码为"Number across、Number down"的属性值
master
fengyuan_yang 6 months ago
parent
commit
d7547aeabd
  1. 12
      src/api/sampleManagement/technicalSpecificationList.js
  2. 2
      src/views/modules/demoComponents/orderProperties.vue
  3. 466
      src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_prepress.vue
  4. 11
      src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_printing.vue
  5. 75
      src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_routing.vue

12
src/api/sampleManagement/technicalSpecificationList.js

@ -147,3 +147,15 @@ export const getNodeList = data => createAPI("/technicalSpecification/node/list"
export const queryUrlFileList = data => createAPI("/technicalSpecification/urlFile/search",'post',data)
export const saveBMPrepressTool= data => createAPI(`/technicalSpecification/saveBMPrepressTool`,'post',data)
export const getBMToolSeqNo= data => createAPI(`/technicalSpecification/getBMToolSeqNo`,'post',data)
export const updateBMPrepressTool= data => createAPI(`/technicalSpecification/updateBMPrepressTool`,'post',data)
export const deleteBMPrepressTool= data => createAPI(`/technicalSpecification/deleteBMPrepressTool`,'post',data)
export const saveBMToolBatch= data => createAPI(`/technicalSpecification/saveBMToolBatch`,'post',data)

2
src/views/modules/demoComponents/orderProperties.vue

@ -143,7 +143,7 @@ export default {
},
data () {
return {
height: 320,
height: 270,
loading: false,
attributeDialog: true,
copyAttributeList: [],

466
src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_prepress.vue

@ -2,9 +2,9 @@
<div class="mod-config" v-highlight-container>
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;height: 230px" v-if="searchData.buNo==='Flexo'">
<el-row :gutter="20">
<el-col :span="24" style="height: 105px">
<el-col :span="24" style="height: 95px">
<div class="grid-content bg-purple">
<el-form-item :label="'印版编号/PlateNo'">
<el-form-item label="印版编号/PlateNo">
<!-- <el-input v-model="dataForm.plateNo" :disabled="ifDisableFlag"></el-input>-->
<el-input
type="textarea"
@ -12,65 +12,136 @@
:rows="3"
resize="none"
maxlength="120"
show-word-limit
:disabled="ifDisableFlag">
</el-input>
</el-form-item>
</div>
</el-col>
</el-row>
<!-- <el-row :gutter="20">-->
<!-- <el-col :span="12" style="height: 105px">-->
<!-- <div class="grid-content bg-purple">-->
<!-- <el-form-item :label="'刀模编号/CutterNumber'">-->
<!-- &lt;!&ndash; <el-input v-model="dataForm.cutterNumber" :disabled="ifDisableFlag"></el-input>&ndash;&gt;-->
<!-- <el-input-->
<!-- type="textarea"-->
<!-- v-model="dataForm.cutterNumber"-->
<!-- :rows="3"-->
<!-- resize="none"-->
<!-- maxlength="120"-->
<!-- show-word-limit-->
<!-- :disabled="ifDisableFlag"-->
<!-- >-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- <el-col :span="12" style="height: 105px">-->
<!-- <div class="grid-content bg-purple">-->
<!-- <el-form-item :label="'刀模排位/CutterLayout'" >-->
<!-- &lt;!&ndash; <el-input v-model="dataForm.cutterLayout" :disabled="ifDisableFlag"></el-input>&ndash;&gt;-->
<!-- <el-input-->
<!-- type="textarea"-->
<!-- v-model="dataForm.cutterLayout"-->
<!-- :rows="3"-->
<!-- resize="none"-->
<!-- maxlength="120"-->
<!-- show-word-limit-->
<!-- :disabled="ifDisableFlag"-->
<!-- >-->
<!-- </el-input>-->
<!-- </el-form-item>-->
<!-- </div>-->
<!-- </el-col>-->
<!-- </el-row>-->
<el-row :gutter="20">
<el-col :span="12" style="height: 105px">
<el-col :span="24" style="height: 95px">
<div class="grid-content bg-purple">
<el-form-item :label="'刀模编号/CutterNumber'">
<!-- <el-input v-model="dataForm.cutterNumber" :disabled="ifDisableFlag"></el-input>-->
<el-form-item :label="'材料准备阶段/Action'">
<!-- <el-input type="textarea" v-model="dataForm.action" :rows="3" resize='none' show-word-limit :disabled="ifDisableFlag"></el-input>-->
<el-input
type="textarea"
v-model="dataForm.cutterNumber"
v-model="dataForm.action"
:rows="3"
resize="none"
maxlength="120"
show-word-limit
:disabled="ifDisableFlag"
>
</el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="12" style="height: 105px">
<div class="grid-content bg-purple">
<el-form-item :label="'刀模排位/CutterLayout'" >
<!-- <el-input v-model="dataForm.cutterLayout" :disabled="ifDisableFlag"></el-input>-->
<el-input
type="textarea"
v-model="dataForm.cutterLayout"
:rows="3"
resize="none"
maxlength="120"
show-word-limit
:disabled="ifDisableFlag"
>
style="height: 60px">
</el-input>
</el-form-item>
</div>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="24" style="height: 105px">
<el-col :span="24" style="height: 300px">
<div class="grid-content bg-purple">
<el-form-item :label="'材料准备阶段/Action'">
<!-- <el-input type="textarea" v-model="dataForm.action" :rows="3" resize='none' show-word-limit :disabled="ifDisableFlag"></el-input>-->
<el-input
type="textarea"
v-model="dataForm.action"
:rows="3"
resize="none"
maxlength="120"
show-word-limit
:disabled="ifDisableFlag"
style="height: 60px">
</el-input>
<el-form-item>
<el-button type="primary" @click="searchTable()" >刷新</el-button>
<el-button type="primary" @click="newTool()" v-if="!ifDisableFlag">新增</el-button>
<el-button type="primary" @click="toolSaveBatch()" v-if="!ifDisableFlag">一键导入</el-button>
</el-form-item>
<el-table
:data="dataForm.toolList"
height="255px"
border
style="width:100%">
<el-table-column label="序号" header-align="center">
<el-table-column
prop="seqNo"
header-align="center"
align="left"
min-width="60"
label="No.">
</el-table-column>
</el-table-column>
<el-table-column label="工具编码" header-align="center">
<el-table-column
prop="toolId"
header-align="center"
align="left"
min-width="120"
label="Tool No.">
</el-table-column>
</el-table-column>
<el-table-column label="工具描述" header-align="center">
<el-table-column
prop="toolDesc"
header-align="center"
align="left"
min-width="200"
label="Tool Desc.">
</el-table-column>
</el-table-column>
<el-table-column label="横排数" header-align="center">
<el-table-column
prop="numberAcross"
header-align="center"
align="left"
min-width="100"
label="Across">
</el-table-column>
</el-table-column>
<el-table-column label="竖排数" header-align="center">
<el-table-column
prop="numberDown"
header-align="center"
align="left"
min-width="100"
label="Down">
</el-table-column>
</el-table-column>
<el-table-column
fixed="left"
header-align="center"
align="center"
width="100"
label="操作">
<template slot-scope="scope">
<el-link style="cursor: pointer" @click="updateTool(scope.row)">编辑</el-link>
<el-link style="cursor: pointer" @click="deleteTool(scope.row)">删除</el-link>
</template>
</el-table-column>
</el-table>
</div>
</el-col>
</el-row>
@ -251,6 +322,32 @@
</el-dialog>
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
<el-dialog append-to-body title="工具信息" :close-on-click-modal="false" v-drag :visible.sync="toolFlag" width="600px">
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="'序号/NO.'">
<el-input v-model="toolData.seqNo" style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'工具编码/Tool No.'">
<el-input v-model="toolData.toolId" style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'工具描述/Tool Desc.'">
<el-input v-model="toolData.toolDesc" style="width: 290px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="'横排数/Across'">
<el-input v-model="toolData.numberAcross" style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'竖排数/Down'">
<el-input v-model="toolData.numberDown" style="width: 120px"></el-input>
</el-form-item>
</el-form>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="toolSave">保存</el-button>
<el-button type="primary" @click="toolFlag = false">取消</el-button>
</el-footer>
</el-dialog>
</div>
</template>
@ -261,6 +358,11 @@
searchBMPrepressColor,
saveBMPrepressColor,
deleteBMPrepressColor,
saveBMPrepressTool,
getBMToolSeqNo,
updateBMPrepressTool,
deleteBMPrepressTool,
saveBMToolBatch
} from "@/api/sampleManagement/technicalSpecificationList.js"
import Chooselist from '@/views/modules/common/Chooselist'
export default {
@ -276,35 +378,51 @@
buNo:'',
ifDisableFlag:'',
},
ifDisableFlag:false,
dataForm:{
ifDisableFlag: false,
dataForm: {
site: '',
codeNo:'',
plateNo:'',
cutterNumber:'',
cutterLayout:'',
action:'',
feedback:'',
remark:'',
codeNo: '',
plateNo: '',
cutterNumber: '',
cutterLayout: '',
action: '',
feedback: '',
remark: '',
toolList: []
},
colorTable:[],
colorData:{
id:'',
colorTable: [],
colorData: {
id: '',
site: '',
codeNo:'',
order:'',
color:'',
meshModel:'',
meshSize:'',
angle:'',
coatingType:'',
filmNo:'',
stencilNo:'',
updateBy:'',
updateDate:'',
codeNo: '',
order: '',
color: '',
meshModel: '',
meshSize: '',
angle: '',
coatingType: '',
filmNo: '',
stencilNo: '',
updateBy: '',
updateDate: '',
},
colorFlag:false,
colorFlag: false,
toolData: {
flag: '',
site: '',
codeNo: '',
itemNo: '',
seqNo: '',
toolId: '',
toolDesc: '',
numberAcross: '',
numberDown: '',
createBy: '',
createDate: '',
updateBy: '',
updateDate: '',
},
toolFlag: false,
}
},
methods: {
@ -331,48 +449,147 @@
}
}
},
//
init(inData) {
if(this.dataForm.codeNo!=null&&this.dataForm.codeNo!=''){
init (inData) {
if(this.dataForm.codeNo) {
return false;
}
//
this.searchData = JSON.parse(JSON.stringify(inData));
this.searchData = JSON.parse(JSON.stringify(inData))
// if(this.searchData.ifDisableFlag){
// this.ifDisableFlag=true
// }
//
this.searchTable();
this.colorSearch();
this.searchTable()
this.colorSearch()
},
searchTable(){
searchTable () {
searchBMPrepressDetail(this.searchData).then(({data}) => {
if(data.rows.length>0){
this.dataForm = data.rows[0];
}else {
this.dataForm.site=this.searchData.site
this.dataForm.codeNo=this.searchData.codeNo
if (data && data.code === 0) {
this.dataForm = data.rows
} else {
this.dataForm.site = this.searchData.site
this.dataForm.codeNo = this.searchData.codeNo
this.dataForm.toolList = []
}
})
},
//
newTool () {
if (this.searchData.codeNo === '') {
this.$message.success('数据错误,请关闭页面重试!')
return false;
}
this.toolData = {
flag: '1',
site: this.searchData.site,
codeNo: this.searchData.codeNo,
itemNo: '',
seqNo: '',
toolId: '',
toolDesc: '',
numberAcross: '',
numberDown: '',
createBy: this.$store.state.user.name,
createDate: '',
updateBy: '',
updateDate: '',
}
//
getBMToolSeqNo(this.toolData).then(({data}) => {
if (data && data.code === 0) {
this.toolData.seqNo = data.seqNo
}
})
this.toolFlag = true
},
//
updateTool (row) {
this.toolData = {
...row,
flag: '2',
updateBy: this.$store.state.user.name,
}
this.toolFlag = true
},
//
toolSave () {
if (this.toolData.flag === '1') {
saveBMPrepressTool(this.toolData).then(({data}) => {
if (data && data.code === 0) {
this.searchTable()
this.toolFlag = false
this.$message.success( '操作成功')
} else {
this.$message.error(data.msg)
}
})
} else {
updateBMPrepressTool(this.toolData).then(({data}) => {
if (data && data.code === 0) {
this.searchTable()
this.toolFlag = false
this.$message.success( '操作成功')
} else {
this.$message.error(data.msg)
}
})
}
},
//
deleteTool (row) {
this.$confirm(`是否删除这条信息?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteBMPrepressTool(row).then(({data}) => {
if (data && data.code === 0) {
this.searchTable()
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
})
},
//
toolSaveBatch () {
this.$confirm("此操作将清空已填写的数据,是否继续?", '保存提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
}).then(() => {
let tempData = {
site: this.searchData.site,
codeNo: this.searchData.codeNo,
createBy: this.$store.state.user.name,
}
});
saveBMToolBatch(tempData).then(({data}) => {
if (data && data.code === 0) {
this.searchTable()
this.$message.success( '操作成功')
} else {
this.$message.error(data.msg)
}
})
})
},
saveData(){
// this.$confirm("", '', {
// confirmButtonText: '',
// cancelButtonText: '',
// }).then(() => {
// updateBMPrepressDetail(this.dataForm).then(({data}) => {
// if (data && data.code === 0) {
// this.$clearHighLight()
// this.$message.success( '')
// this.$emit("closeModel")
// } else {
// this.$message.error(data.msg)
// }
// })
// }).catch(() => {
// return
// })
saveData () {
updateBMPrepressDetail(this.dataForm).then(({data}) => {
if (data && data.code === 0) {
this.$clearHighLight()
@ -384,49 +601,51 @@
})
},
newColor(){
if(this.searchData.codeNo==''){
newColor () {
if (this.searchData.codeNo === '') {
this.$message.success('数据错误,请关闭页面重试!')
return false;
}
let number=1;
let number = 1;
for (let i = 0; i <this.colorTable.length ; i++) {
if(number<=this.colorTable[i].order){
number=Number(this.colorTable[i].order)+1
if (number <= this.colorTable[i].order) {
number = Number(this.colorTable[i].order) + 1
}
}
this.colorData={
id:0,
this.colorData = {
id: 0,
site: this.searchData.site,
codeNo:this.searchData.codeNo,
order:number,
color:'',
meshModel:'',
meshSize:'',
angle:'',
coatingType:'',
filmNo:'',
stencilNo:'',
updateBy:'',
updateDate:'',
codeNo: this.searchData.codeNo,
order: number,
color: '',
meshModel: '',
meshSize: '',
angle: '',
coatingType: '',
filmNo: '',
stencilNo: '',
updateBy: '',
updateDate: '',
}
this.colorFlag=true;
this.colorFlag = true
},
updateColor(row){
this.colorData=JSON.parse(JSON.stringify(row))
this.colorFlag=true;
updateColor (row) {
this.colorData = JSON.parse(JSON.stringify(row))
this.colorFlag = true
},
colorSearch(type){
colorSearch (type) {
searchBMPrepressColor(this.searchData).then(({data}) => {
this.$clearHighLight()
this.colorTable = data.rows
if(type){
if (type) {
this.$message.success( '操作成功')
}
});
})
},
colorSave(){
colorSave () {
this.$confirm("是否保存信息?", '保存提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@ -439,11 +658,10 @@
this.$message.error(data.msg)
}
})
}).catch(() => {
})
},
deleteColor(row){
deleteColor (row) {
this.$confirm(`是否删除这条信息?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@ -464,11 +682,9 @@
})
}
})
}).catch(() => {
})
},
},
}
</script>

11
src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_printing.vue

@ -3,11 +3,11 @@
<printing ref="printing"></printing>
<el-form label-position="top" style="margin-top: 5px; margin-left: 0px;">
<el-form-item >
<el-button type="primary" @click="colorSearch(true)" >刷新</el-button>
<el-button type="primary" @click="newColor()" v-if="!ifDisableFlag">新增</el-button>
<el-button type="primary" @click="colorSaveBatch()" v-if="!ifDisableFlag">一键导入</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="colorSearch(true)" >刷新</el-button>
<el-button type="primary" @click="newColor()" v-if="!ifDisableFlag">新增</el-button>
<el-button type="primary" @click="colorSaveBatch()" v-if="!ifDisableFlag">一键导入</el-button>
</el-form-item>
<el-table
height="400"
:data="colorTable"
@ -353,6 +353,7 @@
let tempData = {
site: this.searchData.site,
codeNo: this.searchData.codeNo,
createBy: this.$store.state.user.name,
}
saveBMPrintingColorBatch(tempData).then(({data}) => {
if (data && data.code === 0) {

75
src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_routing.vue

@ -1367,9 +1367,9 @@
}, 500);
},
getPrepress(){
let inData=JSON.parse(JSON.stringify(this.searchData))
inData.type='prepress'
getPrepress () {
let inData = JSON.parse(JSON.stringify(this.searchData))
inData.type = 'prepress'
this.$refs.prepress.init(inData)
},
@ -1379,15 +1379,15 @@
this.$refs.printing.init(inData)
},
getPrintOther(){
let inData=JSON.parse(JSON.stringify(this.searchData))
inData.type='printOther'
getPrintOther () {
let inData = JSON.parse(JSON.stringify(this.searchData))
inData.type = 'printOther'
this.$refs.printOther.init(inData)
},
getOverprinting(){
let inData=JSON.parse(JSON.stringify(this.searchData))
inData.type='overprinting'
getOverprinting () {
let inData = JSON.parse(JSON.stringify(this.searchData))
inData.type = 'overprinting'
this.$refs.overprinting.init(inData)
},
@ -1565,56 +1565,57 @@
return
})
},
chooseRoute(row){
this.nowRoute=JSON.parse(JSON.stringify(row));
chooseRoute (row) {
this.nowRoute = JSON.parse(JSON.stringify(row))
switch (row.itemType) {
case 'prepress':
this.selectedComponent='prepress';
let prepressData=JSON.parse(JSON.stringify(this.searchData))
this.selectedComponent = 'prepress'
let prepressData = JSON.parse(JSON.stringify(this.searchData))
prepressData.type='prepress'
prepressData.ifDisableFlag=true
this.$nextTick (()=>{this.$refs.routeRef.init(prepressData)});
prepressData.ifDisableFlag = true
this.$nextTick (()=>{this.$refs.routeRef.init(prepressData)})
break;
case 'printing':
this.selectedComponent='printing';
let printing=JSON.parse(JSON.stringify(this.searchData))
printing.type='printing'
printing.ifDisableFlag=true
this.selectedComponent = 'printing';
let printing = JSON.parse(JSON.stringify(this.searchData))
printing.type = 'printing'
printing.ifDisableFlag = true
this.$nextTick (()=>{this.$refs.routeRef.init(printing)});
break;
case 'printOther':
this.selectedComponent='printOther';
let printOther=JSON.parse(JSON.stringify(this.searchData))
printOther.type='printOther'
printOther.ifDisableFlag=true
this.selectedComponent = 'printOther';
let printOther = JSON.parse(JSON.stringify(this.searchData))
printOther.type = 'printOther'
printOther.ifDisableFlag = true
this.$nextTick (()=>{this.$refs.routeRef.init(printOther)});
break;
case 'overprinting':
this.selectedComponent='overprinting';
let overprinting=JSON.parse(JSON.stringify(this.searchData))
overprinting.type='overprinting'
overprinting.ifDisableFlag=true
let overprinting = JSON.parse(JSON.stringify(this.searchData))
overprinting.type = 'overprinting'
overprinting.ifDisableFlag = true
this.$nextTick (()=>{this.$refs.routeRef.init(overprinting)});
break;
case 'slitting':
this.selectedComponent='slitting';
this.selectedComponent = 'slitting';
let slitting=JSON.parse(JSON.stringify(this.searchData))
slitting.type='slitting'
slitting.ifDisableFlag=true
slitting.type = 'slitting'
slitting.ifDisableFlag = true
this.$nextTick (()=>{this.$refs.routeRef.init(slitting)});
break;
case 'lamTemperature':
this.selectedComponent='lamTemperature';
let lamTemperature=JSON.parse(JSON.stringify(this.searchData))
lamTemperature.type='lamTemperature'
lamTemperature.ifDisableFlag=true
this.selectedComponent = 'lamTemperature';
let lamTemperature = JSON.parse(JSON.stringify(this.searchData))
lamTemperature.type = 'lamTemperature'
lamTemperature.ifDisableFlag = true
this.$nextTick (()=>{this.$refs.routeRef.init(lamTemperature)});
break;
case 'cutting':
this.selectedComponent='cutting';
let cutting=JSON.parse(JSON.stringify(this.searchData))
cutting.type='cutting'
cutting.ifDisableFlag=true
this.selectedComponent = 'cutting';
let cutting = JSON.parse(JSON.stringify(this.searchData))
cutting.type = 'cutting'
cutting.ifDisableFlag = true
this.$nextTick (()=>{this.$refs.routeRef.init(cutting)});
break;
case 'InkMixing':

Loading…
Cancel
Save