Browse Source

2025-06-17

流程干预和技术参数卡提交增加转圈
master
fengyuan_yang 7 months ago
parent
commit
7bbc86dabb
  1. 15
      src/views/modules/processManagement/processFlowInfo.vue
  2. 55
      src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_bom.vue
  3. 21
      src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_customerInformation.vue
  4. 17
      src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_demoSlot.vue
  5. 15
      src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_routing.vue
  6. 17
      src/views/modules/sampleManagement/technicalSpecificationDetail/com_tsd_basicInformation.vue

15
src/views/modules/processManagement/processFlowInfo.vue

@ -57,8 +57,8 @@
class="el-button el-button--primary el-button--medium">
{{ "导出" }}
</download-excel>
<el-button type="primary" @click="processIntervention()">节点更新</el-button>
<el-button type="primary" @click="processIntervention2()">流程干预</el-button>
<el-button type="primary" :loading="processLoading" @click="processIntervention()">节点更新</el-button>
<el-button type="primary" :loading="processLoading" @click="processIntervention2()">流程干预</el-button>
</el-form-item>
</el-form>
@ -390,6 +390,7 @@ export default {
columnWidth: 100
},
],
processLoading: false
}
},
@ -480,10 +481,12 @@ export default {
userId: this.$store.state.user.name,
informationList: this.processSelections
}
this.processLoading = true
processIntervention(tempData).then(({data}) => {
if (data && data.code === 0) {
this.getDataList()
this.processSelections = []
this.processLoading = false
this.$message({
message: '操作成功',
type: 'success',
@ -491,10 +494,13 @@ export default {
onClose: () => {}
})
} else {
this.processLoading = false
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
}).catch(()=>{
this.processLoading = false
})
})
},
@ -522,10 +528,12 @@ export default {
userId: this.$store.state.user.name,
informationList: this.processSelections
}
this.processLoading = true
processIntervention(tempData).then(({data}) => {
if (data && data.code === 0) {
this.getDataList()
this.processSelections = []
this.processLoading = false
this.$message({
message: '操作成功',
type: 'success',
@ -533,10 +541,13 @@ export default {
onClose: () => {}
})
} else {
this.processLoading = false
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
}).catch(()=>{
this.processLoading = false
})
})
},

55
src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_bom.vue

@ -1,6 +1,6 @@
<template>
<div class="mod-config" v-highlight-container>
<el-form :inline="true" label-position="top" :model="bomData" style="margin-top: 1px; margin-left: 0px;" >
<el-form :inline="true" label-position="top" :model="bomData" :rules="componentRules" style="margin-top: 1px; margin-left: 0px;" >
<el-row :gutter="20">
<el-col :span="18">
<el-form-item label="物料编码/Part No.">
@ -23,38 +23,38 @@
<!-- <el-input v-model="bomData.urlFile" style="width: 103px"></el-input>-->
<!-- </el-form-item>-->
<el-form-item
prop="urlFile"
label="UL文件号/UL Product Model"
>
<el-form-item prop="urlFile" label="UL文件号/UL Product Model">
<span slot="label">
<a href="javascript:void(0)" @click="queryUrlFile" style=" text-decoration: none;">UL文件号/UL Product Model</a>
</span>
<el-input v-model="bomData.urlFile" style="width: 370px" />
<el-input v-model="bomData.urlFile" :class="{ 'input-error-border': urlFileChange && bomData.urlFile && bomData.urlFile.trim() !== '' }" style="width: 370px" />
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" @click="searchTable(true)" >刷新</el-button>
<el-button type="primary" v-if="((!ifDisableFlag && spForm.sp.includes(searchData.username) && baseForm.status === 'spz') || baseForm.status === 'cg' || superAdmin)" @click="changeBomRev()">变更</el-button>
<el-button type="primary" @click="jumpBom()">跳转至BOM</el-button>
<el-button type="primary" v-if="(!ifDisableFlag && isAuth('103002:bmSave') && spForm.sp.includes(searchData.username) && baseForm.status === 'spz') || baseForm.status === 'cg' || superAdmin" @click="updateBMProcess()" >保存数据</el-button>
<el-button v-if="baseForm.status === 'spz' && ((!ifDisableFlag && spForm.sp.includes(searchData.username)) || (superAdmin))" type="primary" @click="agreeSubmit">同意</el-button>
<el-button type="primary" v-if="(!ifDisableFlag && isAuth('103002:bmSave') && spForm.sp.includes(searchData.username) && baseForm.status === 'spz') || baseForm.status === 'cg' || superAdmin" @click="updateBMProcess()">保存数据</el-button>
<el-button v-if="baseForm.status === 'spz' && ((!ifDisableFlag && spForm.sp.includes(searchData.username)) || (superAdmin))" type="primary" :loading="submitLoading" @click="agreeSubmit">同意</el-button>
<el-button v-if="baseForm.status === 'spz' && ((baseForm.isReject === 'Y' && !ifDisableFlag && spForm.sp.includes(searchData.username)) || (superAdmin))" type="primary" @click="submitDataModal">驳回</el-button>
<!-- <el-button type="primary" @click="newData()" v-if="!ifDisableFlag">新增</el-button>-->
</el-form-item>
</el-col>
<el-col :span="3"><div class="grid-content bg-purple">
<el-form-item label="当前节点/Status" style="width: 100%">
<el-input v-model="spForm.nodeName" disabled></el-input>
</el-form-item>
</div>
<el-col :span="3">
<div class="grid-content bg-purple">
<el-form-item label="当前节点/Status" style="width: 100%">
<el-input v-model="spForm.nodeName" disabled></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="3"><div class="grid-content bg-purple">
<el-form-item label="当前节点审批人/Authorizer" style="width: 100%">
<el-input v-model="spForm.sp" disabled></el-input>
</el-form-item>
</div>
<el-col :span="3">
<div class="grid-content bg-purple">
<el-form-item label="当前节点审批人/Authorizer" style="width: 100%">
<el-input v-model="spForm.sp" disabled></el-input>
</el-form-item>
</div>
</el-col>
</el-row>
<el-table
:data="bomList"
:height="height"
@ -381,6 +381,15 @@
engChgLevel:'',
urlFile: ''
},
componentRules:{
urlFile: [
{
required: true,
message: ' ',
trigger: 'blur'
}
],
},
currentRow:"",
bomList:[],
urlFileList:[],
@ -924,6 +933,16 @@
this.bomData.urlFile = row.dictLabel
this.urlFileFlag = false
},
validateUrlFile() {
const value = this.bomData.urlFile.trim();
this.urlFileInvalid = !value; //
},
},
watch: {
'bomData.urlFile'(newVal) {
this.urlFileChange = true
},
},
}
</script>

21
src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_customerInformation.vue

@ -6,7 +6,7 @@
<el-form-item label=" " style="width: 100%">
<el-button type="primary" @click="refresh()" >刷新数据</el-button>
<el-button type="primary" @click="saveData()" v-if="(!ifDisableFlag && isAuth('103002:bmSave') && spForm.sp.includes(searchData.username) && baseForm.status === 'spz') || baseForm.status === 'cg' || superAdmin">保存数据</el-button>
<el-button v-if="baseForm.status === 'spz' && ((!ifDisableFlag && spForm.sp.includes(searchData.username)) || (superAdmin))" type="primary" @click="agreeSubmit">同意</el-button>
<el-button v-if="baseForm.status === 'spz' && ((!ifDisableFlag && spForm.sp.includes(searchData.username)) || (superAdmin))" type="primary" @click="agreeSubmit" :loading="submitLoading">同意</el-button>
<el-button v-if="baseForm.status === 'spz' && ((baseForm.isReject === 'Y' && !ifDisableFlag && spForm.sp.includes(searchData.username)) || (superAdmin))" type="primary" @click="submitDataModal">驳回</el-button>
</el-form-item>
</el-col>
@ -216,6 +216,7 @@
<el-form label-position="top" style="margin-top: 60px; margin-left: 0px;text-align:center">
<!-- <el-button type="primary" @click="saveData()" v-if="!ifDisableFlag">保存</el-button>-->
</el-form>
<!-- 提交 -->
<el-dialog title="驳回" top="30vh" :close-on-click-modal="false" v-drag :visible.sync="submitModalFlag" width="500px">
<el-form :inline="true" label-position="top">
@ -224,7 +225,7 @@
</el-form-item>
</el-form>
<el-footer style="height:30px;margin-top: 50px;text-align:center">
<el-button type="primary" @click="rejectSubmit">确定</el-button>
<el-button type="primary" :loading="submitLoading" @click="rejectSubmit">确定</el-button>
<el-button type="primary" @click="submitModalFlag = false">取消</el-button>
</el-footer>
</el-dialog>
@ -311,7 +312,6 @@
},
rejectOpinion: '',
submitModalFlag: false,
ossColumns:[
{
userId: this.$store.state.user.name,
@ -386,6 +386,7 @@
columnWidth: 140
}
],
submitLoading: false
}
},
methods: {
@ -550,11 +551,13 @@
this.submitData(tempData)
})
},
//
submitDataModal () {
this.rejectOpinion = ''
this.submitModalFlag = true
},
//
rejectSubmit () {
this.$confirm(`是否确认驳回?`, '提示', {
@ -573,6 +576,7 @@
this.submitData(tempData)
})
},
openNewPage(url){
// window.open(this.$store.state.user.bmPicUrl +url);
let urlIn=url.replaceAll('\\','/')
@ -595,9 +599,10 @@
})
}
});
},
submitData (tempData) {
this.submitLoading = true
updateBMcustomerInfo(this.dataForm).then(({data}) => {
if (data && data.code === 0) {
submitChange(tempData).then(({data}) => {
@ -605,18 +610,24 @@
// this.searchTable()
window.location.reload();
this.submitModalFlag = false
this.submitLoading = false
this.$message({message: '操作成功', type: 'success'})
} else {
this.submitLoading = false
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
}).catch(()=>{
this.submitLoading = false
})
} else {
this.submitLoading = false
this.$message.error(data.msg)
}
}).catch(()=>{
this.submitLoading = false
})
},
},
}

17
src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_demoSlot.vue

@ -14,7 +14,7 @@
<el-button type="primary" @click="searchTable()">刷新数据</el-button>
<el-button type="primary" @click="saveTable()" v-if="(!ifDisableFlag && isAuth('103002:bmSave') && spForm.sp.includes(searchData.username) && baseForm.status === 'spz') || baseForm.status === 'cg' || superAdmin">保存数据</el-button>
<template v-if="defaultValue">
<el-button v-if="baseForm.status === 'spz' && ((!ifDisableFlag && spForm.sp.includes(searchData.username)) || (superAdmin))" type="primary" @click="agreeSubmit">同意</el-button>
<el-button v-if="baseForm.status === 'spz' && ((!ifDisableFlag && spForm.sp.includes(searchData.username)) || (superAdmin))" type="primary" :loading="submitLoading" @click="agreeSubmit">同意</el-button>
<el-button v-if="baseForm.status === 'spz' && (( baseForm.isReject === 'Y' && !ifDisableFlag && spForm.sp.includes(searchData.username)) || (superAdmin))" type="primary" @click="submitDataModal">驳回</el-button>
</template>
</el-form-item>
@ -113,7 +113,7 @@
</el-form-item>
</el-form>
<el-footer style="height:30px;margin-top: 50px;text-align:center">
<el-button type="primary" @click="rejectSubmit">确定</el-button>
<el-button type="primary" :loading="submitLoading" @click="rejectSubmit">确定</el-button>
<el-button type="primary" @click="submitModalFlag = false">取消</el-button>
</el-footer>
</el-dialog>
@ -172,6 +172,7 @@
},
rejectOpinion: '',
submitModalFlag: false,
submitLoading: false
}
},
mounted () {
@ -372,11 +373,13 @@
this.submitData(tempData)
})
},
//
submitDataModal () {
this.rejectOpinion = ''
this.submitModalFlag = true
},
//
rejectSubmit () {
this.$confirm(`是否确认驳回?`, '提示', {
@ -395,7 +398,9 @@
this.submitData(tempData)
})
},
submitData (tempData) {
this.submitLoading = true
saveBMPropertiesValue(this.tableData).then(({data}) => {
if (data && data.code === 0) {
submitChange(tempData).then(({data}) => {
@ -403,18 +408,24 @@
// this.searchTable()
window.location.reload();
this.submitModalFlag = false
this.submitLoading = false
this.$emit("closeModel")
} else {
this.submitLoading = false
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
}).catch(()=>{
this.submitLoading = false
})
} else {
this.submitLoading = false
this.$message.error(data.msg)
}
}).catch(()=>{
this.submitLoading = false
})
},
},
}

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

@ -21,7 +21,7 @@
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" @click="updateBMProcess()" v-if="(!ifDisableFlag && isAuth('103002:bmSave') && spForm.sp.includes(searchData.username) && baseForm.status === 'spz') || baseForm.status === 'cg' || superAdmin">保存数据</el-button>
<el-button v-if="baseForm.status === 'spz' && ((!ifDisableFlag && spForm.sp.includes(searchData.username)) || (superAdmin))" type="primary" @click="agreeSubmit">同意</el-button>
<el-button v-if="baseForm.status === 'spz' && ((!ifDisableFlag && spForm.sp.includes(searchData.username)) || (superAdmin))" type="primary" :loading="submitLoading" @click="agreeSubmit">同意</el-button>
<el-button v-if="baseForm.status === 'spz' && ((baseForm.isReject === 'Y' && !ifDisableFlag && spForm.sp.includes(searchData.username)) || (superAdmin))" type="primary" @click="submitDataModal">驳回</el-button>
</el-form-item>
</el-col>
@ -600,7 +600,7 @@
</el-form-item>
</el-form>
<el-footer style="height:30px;margin-top: 50px;text-align:center">
<el-button type="primary" @click="rejectSubmit">确定</el-button>
<el-button type="primary" :loading="submitLoading" @click="rejectSubmit">确定</el-button>
<el-button type="primary" @click="submitModalFlag = false">取消</el-button>
</el-footer>
</el-dialog>
@ -1085,6 +1085,7 @@
tagNo1:'',
rejectOpinion: '',
submitModalFlag: false,
submitLoading: false
}
},
mounted () {
@ -1766,14 +1767,15 @@
this.submitData(tempData)
})
},
async submitData (tempData) {
await updateBMProcess(this.sheetData).then(({data}) => {
await updateBMProcess(this.sheetData).then(({data}) => {
if (data && data.code === 0) {
tsdBasicInformationSearch(this.searchData).then(({data}) => {
if (data.row) {
this.sheetData = data.row
}
});
})
} else {
this.$message.error(data.msg)
return false
@ -1786,18 +1788,23 @@
return false
}
})
this.submitLoading = true
await submitChange(tempData).then(({data}) => {
if (data && data.code === 0) {
// this.searchTable();
// 2025-05-31
window.location.reload();
this.submitModalFlag = false
this.submitLoading = false
this.$message({message: '操作成功', type: 'success'})
} else {
this.submitLoading = false
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
}).catch(() => {
this.submitLoading = false
})
},

17
src/views/modules/sampleManagement/technicalSpecificationDetail/com_tsd_basicInformation.vue

@ -10,10 +10,10 @@
<el-button type="primary" @click="saveData()">保存数据 </el-button>
</template>
<template v-if="dataForm.status === 'spz' && ((!ifDisableFlag && spForm.sp.includes(searchData.username)) || (superAdmin))">
<el-button type="primary" @click="agreeSubmit">同意</el-button>
<el-button type="primary" :loading="submitLoading" @click="agreeSubmit">同意</el-button>
</template>
<template v-if="dataForm.status === 'spz' && ((dataForm.isReject === 'Y' && !ifDisableFlag && spForm.sp.includes(searchData.username)) || (superAdmin))">
<el-button type="primary" @click="submitDataModal">驳回</el-button>
<el-button type="primary" @click="submitDataModal">驳回</el-button>
</template>
<template v-if="dataForm.status === 'cg' && (!ifDisableFlag || (superAdmin))">
<el-button type="primary" @click="issueModal">下达</el-button>
@ -375,7 +375,7 @@
</el-form-item>
</el-form>
<el-footer style="height:30px;margin-top: 50px;text-align:center">
<el-button type="primary" @click="rejectSubmit">确定</el-button>
<el-button type="primary" :loading="submitLoading" @click="rejectSubmit">确定</el-button>
<el-button type="primary" @click="submitModalFlag = false">取消</el-button>
</el-footer>
</el-dialog>
@ -516,7 +516,8 @@
ecnNeedChangeDrawing: 'No',
plmTechnicalSpecificationSheetArr: [],
plmTechnicalSpecificationTeamArr: [],
copyFlag: 'No'
copyFlag: 'No',
submitLoading: false
}
},
methods: {
@ -1199,6 +1200,7 @@
}
}
}
this.submitLoading = true
updateBMBasicInformation(this.dataForm).then(({data}) => {
if (data && data.code === 0) {
submitChange(tempData).then(({data}) => {
@ -1206,16 +1208,23 @@
//this.searchTable()
window.location.reload();
this.submitModalFlag = false
this.submitLoading = false
this.$message({message: '操作成功', type: 'success'})
} else {
this.submitLoading = false
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
}).catch(()=>{
this.submitLoading = false
})
} else {
this.submitLoading = false
this.$message.error(data.msg)
}
}).catch(()=>{
this.submitLoading = false
})
},

Loading…
Cancel
Save