Browse Source

2025-06-23

技术参数卡 控制只读未生效
master
fengyuan_yang 10 months ago
parent
commit
9df35ce75b
  1. 2
      src/views/modules/part/bomManagement.vue
  2. 76
      src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_bom.vue
  3. 325
      src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_customerInformation.vue
  4. 7
      src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_demoSlot.vue
  5. 216
      src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_routing.vue
  6. 143
      src/views/modules/sampleManagement/technicalSpecificationDetail/com_tsd_basicInformation.vue
  7. 12
      src/views/modules/sampleManagement/technicalSpecificationList.vue

2
src/views/modules/part/bomManagement.vue

@ -2812,7 +2812,7 @@ export default {
}, },
activated() { activated() {
if (this.$route.params && this.$route.params.type && this.$route.params.type === 'quote'){
if (this.$route.params && this.$route.params.type && this.$route.params.type === 'quote') {
this.handleQueryBomByQuote(); this.handleQueryBomByQuote();
} else if (this.$route.params.partNo) { } else if (this.$route.params.partNo) {
this.searchData.plmPartNo = this.$route.params.partNo this.searchData.plmPartNo = this.$route.params.partNo

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

@ -4,16 +4,16 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="18"> <el-col :span="18">
<el-form-item label="物料编码/Part No."> <el-form-item label="物料编码/Part No.">
<el-input v-model="bomData.partNo" readonly style="width: 120px"></el-input>
<el-input v-model="bomData.partNo" disabled style="width: 120px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="BOM类型/BOM Type"> <el-form-item label="BOM类型/BOM Type">
<el-input v-model="bomData.bomType" readonly style="width: 120px"></el-input>
<el-input v-model="bomData.bomType" disabled style="width: 120px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="BOM版本/BOM Rev."> <el-form-item label="BOM版本/BOM Rev.">
<el-input v-model="bomData.engChgLevel" readonly style="width: 120px"></el-input>
<el-input v-model="bomData.engChgLevel" disabled style="width: 120px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="替代编码/Alternative No."> <el-form-item label="替代编码/Alternative No.">
<el-input v-model="bomData.alternativeNo" readonly style="width: 130px"></el-input>
<el-input v-model="bomData.alternativeNo" disabled style="width: 130px"></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item label="URL文件号/UL Product Model">--> <!-- <el-form-item label="URL文件号/UL Product Model">-->
<!-- <dict-data-select :site="searchData.site" v-if="searchData.site" v-model="bomData.urlFile" style="width: 240px" dict-type="bm_url_file"></dict-data-select>--> <!-- <dict-data-select :site="searchData.site" v-if="searchData.site" v-model="bomData.urlFile" style="width: 240px" dict-type="bm_url_file"></dict-data-select>-->
@ -23,10 +23,12 @@
<!-- <el-input v-model="bomData.urlFile" style="width: 103px"></el-input>--> <!-- <el-input v-model="bomData.urlFile" style="width: 103px"></el-input>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<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-form-item prop="urlFile" label="UL文件号/UL Product Model" v-if="ifDisableFlag || plmTechnicalSpecificationSheetFlag('urlFile') === 'N'">
<span slot="label">UL文件号/UL Product Model</span>
<el-input v-model="bomData.urlFile" disabled :class="{ 'input-error-border': urlFileChange && bomData.urlFile && bomData.urlFile.trim() !== '' }" style="width: 370px" />
</el-form-item>
<el-form-item prop="urlFile" label="UL文件号/UL Product Model" v-else>
<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" readonly :class="{ 'input-error-border': urlFileChange && bomData.urlFile && bomData.urlFile.trim() !== '' }" style="width: 370px" /> <el-input v-model="bomData.urlFile" readonly :class="{ 'input-error-border': urlFileChange && bomData.urlFile && bomData.urlFile.trim() !== '' }" style="width: 370px" />
</el-form-item> </el-form-item>
<el-form-item label=" "> <el-form-item label=" ">
@ -352,7 +354,20 @@
DictDataSelect, DictDataSelect,
Chooselist Chooselist
}, },
computed: {
plmTechnicalSpecificationSheetFlag () {
return (value) => {
if (!this.plmTechnicalSpecificationSheetArr) {
return 'N'
}
let arr = this.plmTechnicalSpecificationSheetArr.filter(a => a.fieldId === value)
if (arr.length > 0) {
return arr[0].updateFlag
}
return 'N'
}
},
},
data() { data() {
return { return {
pageIndex: 1, pageIndex: 1,
@ -626,7 +641,6 @@
status:'', status:'',
isReject:'', isReject:'',
}, },
spForm:{ spForm:{
sp:'', sp:'',
nodeName:'', nodeName:'',
@ -634,6 +648,7 @@
ifDisableFlag:false, ifDisableFlag:false,
rejectOpinion: '', rejectOpinion: '',
submitModalFlag: false, submitModalFlag: false,
plmTechnicalSpecificationSheetArr: [],
} }
}, },
mounted () { mounted () {
@ -659,20 +674,20 @@
/* 列表方法的回调 */ /* 列表方法的回调 */
getBaseData (val) { getBaseData (val) {
if (this.tagNo === 1013) { if (this.tagNo === 1013) {
if(this.tagNo1==1) {
if (this.tagNo1 === 1) {
this.dataForm.partType = val.Base_id this.dataForm.partType = val.Base_id
this.dataForm.partTypeDesc = val.Base_desc this.dataForm.partTypeDesc = val.Base_desc
} }
} }
}, },
choosePart(row){
this.dataForm.erpPartNo=row.erpPartNo
this.dataForm.familyId=row.familyId
this.dataForm.familyName=row.familyName
this.dataForm.partDesc=row.partDesc
this.dataForm.spec=row.spec
this.partModelFlag=false;
choosePart (row) {
this.dataForm.erpPartNo = row.erpPartNo
this.dataForm.familyId = row.familyId
this.dataForm.familyName = row.familyName
this.dataForm.partDesc = row.partDesc
this.dataForm.spec = row.spec
this.partModelFlag = false
}, },
// //
@ -807,18 +822,19 @@
} }
getNodeAuthority(tempData).then(({data}) => { getNodeAuthority(tempData).then(({data}) => {
if (data && data.code === 0) { if (data && data.code === 0) {
this.ifDisableFlag = true
let plmStepRoleBaseBm = data.rows.plm_stepRole_base_bm
let arr = plmStepRoleBaseBm.filter(a => a.fieldId === this.searchData.fieldId)
if (arr.length > 0) {
if (arr[0].updateFlag === 'N') {
this.ifDisableFlag = true
} else {
this.ifDisableFlag = false
}
} else {
this.ifDisableFlag = true
}
// this.ifDisableFlag = true
// let plmStepRoleBaseBm = data.rows.plm_stepRole_base_bm
// let arr = plmStepRoleBaseBm.filter(a => a.fieldId === this.searchData.fieldId)
// if (arr.length > 0) {
// if (arr[0].updateFlag === 'N') {
// this.ifDisableFlag = true
// } else {
// this.ifDisableFlag = false
// }
// } else {
// this.ifDisableFlag = true
// }
this.plmTechnicalSpecificationSheetArr = data.rows.plm_technical_specification_sheet
} }
}) })
} }

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

@ -28,22 +28,35 @@
</el-form> </el-form>
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;"> <el-form label-position="top" style="margin-top: 1px; margin-left: 0px;">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="6"><div class="grid-content bg-purple">
<el-form-item :label="'直接客户/Direct Customer'">
<el-input v-model="dataForm.customerId" disabled></el-input>
</el-form-item>
</div></el-col>
<el-col :span="6"><div class="grid-content bg-purple">
<el-form-item :label="'客户名称/Customer Name'">
<el-input v-model="dataForm.customerDesc" disabled></el-input>
</el-form-item>
</div></el-col>
<el-col :span="6"><div class="grid-content bg-purple">
<el-form-item :label="'终端客户/End Customer'">
<dict-data-select v-if="dataForm.site" v-model="dataForm.finalCustomerNo" :site="dataForm.site" clearable filterable dict-type="finalCustomer" :use-default-value="true" :disabled="ifDisableFlag"></dict-data-select>
<el-input v-else v-model="dataForm.finalCustomerNo" disabled></el-input>
</el-form-item>
</div></el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-form-item :label="'直接客户/Direct Customer'">
<el-input v-model="dataForm.customerId" disabled></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-form-item :label="'客户名称/Customer Name'">
<el-input v-model="dataForm.customerDesc" disabled></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-form-item :label="'终端客户/End Customer'">
<dict-data-select
v-if="dataForm.site"
v-model="dataForm.finalCustomerNo"
:site="dataForm.site"
clearable filterable
dict-type="finalCustomer"
:use-default-value="true"
:disabled="ifDisableFlag || plmStepRoleBaseBmFlag('finalCustomerNo') === 'N'">
</dict-data-select>
</el-form-item>
</div>
</el-col>
<!-- <el-col :span="6"><div class="grid-content bg-purple">--> <!-- <el-col :span="6"><div class="grid-content bg-purple">-->
<!-- <el-form-item :label="'客户名称'">--> <!-- <el-form-item :label="'客户名称'">-->
<!-- <el-input v-model="dataForm.finalCustomerDesc" disabled ></el-input>--> <!-- <el-input v-model="dataForm.finalCustomerDesc" disabled ></el-input>-->
@ -51,91 +64,113 @@
<!-- </div></el-col>--> <!-- </div></el-col>-->
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="6"><div class="grid-content bg-purple">
<el-form-item label="物料编码/Part No.">
<el-input v-model="dataForm.partNo" disabled style=""></el-input>
</el-form-item>
</div></el-col>
<el-col :span="12"><div class="grid-content bg-purple">
<el-form-item :label="'产品描述/Part Description'">
<el-input v-model="dataForm.partDesc" disabled style=""></el-input>
</el-form-item>
</div></el-col>
<el-col :span="6"><div class="grid-content bg-purple">
<el-form-item :label="'客户料号/Customer PartNo'">
<el-input v-model="dataForm.customerPartNo"></el-input>
</el-form-item>
</div></el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-form-item label="物料编码/Part No.">
<el-input v-model="dataForm.partNo" disabled></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="12">
<div class="grid-content bg-purple">
<el-form-item :label="'产品描述/Part Description'">
<el-input v-model="dataForm.partDesc" disabled></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-form-item :label="'客户料号/Customer PartNo'">
<el-input v-model="dataForm.customerPartNo" :disabled="ifDisableFlag || plmStepRoleBaseBmFlag('customerPartNo') === 'N'"></el-input>
</el-form-item>
</div>
</el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="6"><div class="grid-content bg-purple">
<el-form-item :label="'客户版本/Customer Rev.'">
<el-input v-model="dataForm.customerRevNo" :disabled="ifDisableFlag"></el-input>
</el-form-item>
</div></el-col>
<el-col :span="6"><div class="grid-content bg-purple">
<el-form-item :label="'图号/Drawing Number'">
<el-input v-model="dataForm.materialNumber" :disabled="ifDisableFlag"></el-input>
</el-form-item>
</div></el-col>
<el-col :span="6"><div class="grid-content bg-purple">
<el-form-item label="认证类型/Certificates Type">
<el-input v-model="dataForm.certification" :disabled="ifDisableFlag"></el-input>
</el-form-item>
</div></el-col>
<el-col :span="6"><div class="grid-content bg-purple">
<el-form-item label="材料或成品/Material Or Label">
<el-select v-model="dataForm.materialType" :disabled="ifDisableFlag">
<el-option label="Label" value="Label"></el-option>
<el-option label="Material" value="Material"></el-option>
</el-select>
</el-form-item>
</div></el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-form-item :label="'客户版本/Customer Rev.'">
<el-input v-model="dataForm.customerRevNo" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('customerRevNo') === 'N'"></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-form-item :label="'图号/Drawing Number'">
<el-input v-model="dataForm.materialNumber" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('materialNumber') === 'N'"></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-form-item label="认证类型/Certificates Type">
<el-input v-model="dataForm.certification" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('certification') === 'N'"></el-input>
</el-form-item>
</div>
</el-col>
<el-col :span="6">
<div class="grid-content bg-purple">
<el-form-item label="材料或成品/Material Or Label">
<el-select v-model="dataForm.materialType" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('materialType') === 'N'">
<el-option label="Label" value="Label"></el-option>
<el-option label="Material" value="Material"></el-option>
</el-select>
</el-form-item>
</div>
</el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="24"><div class="grid-content bg-purple">
<el-form-item :label="'客户应用/要求/Customer App./Req.'">
<el-input
type="textarea"
v-model="dataForm.customerRemark "
:rows="3"
resize='none'
maxlength="120"
show-word-limit
:disabled="ifDisableFlag"
style="height: 60px" >
</el-input>
</el-form-item>
</div></el-col>
<el-col :span="24">
<div class="grid-content bg-purple">
<el-form-item :label="'客户应用/要求/Customer App./Req.'">
<el-input
type="textarea"
v-model="dataForm.customerRemark"
:rows="3"
resize='none'
maxlength="120"
show-word-limit
:disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('customerRemark') === 'N'"
style="height: 60px">
</el-input>
</el-form-item>
</div>
</el-col>
</el-row> </el-row>
<el-row :gutter="20" style="margin-top: 60px"> <el-row :gutter="20" style="margin-top: 60px">
<el-col :span="24"><div class="grid-content bg-purple">
<el-form-item label="其他特殊要求/Other Requirements">
<el-input
type="textarea"
v-model="dataForm.projectRemark "
:rows="3"
resize='none'
maxlength="120"
show-word-limit
:disabled="ifDisableFlag"
style="height: 60px" >
</el-input>
</el-form-item>
</div></el-col>
<el-col :span="24">
<div class="grid-content bg-purple">
<el-form-item label="其他特殊要求/Other Requirements">
<el-input
type="textarea"
v-model="dataForm.projectRemark"
:rows="3"
resize='none'
maxlength="120"
show-word-limit
:disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('projectRemark') === 'N'"
style="height: 60px">
</el-input>
</el-form-item>
</div>
</el-col>
</el-row> </el-row>
<el-row :gutter="20" style="margin-top: 60px"> <el-row :gutter="20" style="margin-top: 60px">
<el-col :span="24"><div class="grid-content bg-purple">
<el-form-item >
<span slot="label" style="" @click="openNewPage(dataForm.pictureAddess)">
<a herf="#">附加客户图纸/Attach Customer Drawing(点击跳转)</a>
</span>
<el-input v-model="dataForm.pictureAddess" :disabled="ifDisableFlag" ></el-input>
</el-form-item>
</div></el-col>
<el-col :span="24">
<div class="grid-content bg-purple">
<el-form-item v-if="ifDisableFlag || plmTechnicalSpecificationSheetFlag('projectRemark') === 'N'">
<span slot="label">附加客户图纸/Attach Customer Drawing(点击跳转)</span>
<el-input v-model="dataForm.pictureAddess" disabled></el-input>
</el-form-item>
<el-form-item v-else>
<span slot="label" @click="openNewPage(dataForm.pictureAddess)"><a herf="#">附加客户图纸/Attach Customer Drawing(点击跳转)</a></span>
<el-input v-model="dataForm.pictureAddess"></el-input>
</el-form-item>
</div>
</el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="24"> <el-col :span="24">
@ -201,19 +236,22 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="24"><div class="grid-content bg-purple">
<el-form-item :label="'备注/Comments'">
<el-input
type="textarea"
v-model="dataForm.remark"
:rows="3"
resize='none'
maxlength="120"
show-word-limit
style="height: 60px" :disabled="ifDisableFlag">
</el-input>
</el-form-item>
</div></el-col>
<el-col :span="24">
<div class="grid-content bg-purple">
<el-form-item :label="'备注/Comments'">
<el-input
type="textarea"
v-model="dataForm.remark"
:rows="3"
resize='none'
maxlength="120"
show-word-limit
style="height: 60px"
:disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('remark') === 'N'">
</el-input>
</el-form-item>
</div>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
@ -233,7 +271,7 @@
<el-button type="primary" @click="submitModalFlag = false">取消</el-button> <el-button type="primary" @click="submitModalFlag = false">取消</el-button>
</el-footer> </el-footer>
</el-dialog> </el-dialog>
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
</div> </div>
</template> </template>
@ -258,26 +296,52 @@
DictDataSelect, DictDataSelect,
Chooselist Chooselist
}, },
computed: {
plmStepRoleBaseBmFlag () {
return (value) => {
if (!this.plmStepRoleBaseBmArr) {
return 'N'
}
let arr = this.plmStepRoleBaseBmArr.filter(a => a.fieldId === value)
if (arr.length > 0) {
return arr[0].updateFlag
}
return 'N'
}
},
plmTechnicalSpecificationSheetFlag () {
return (value) => {
if (!this.plmTechnicalSpecificationSheetArr) {
return 'N'
}
let arr = this.plmTechnicalSpecificationSheetArr.filter(a => a.fieldId === value)
if (arr.length > 0) {
return arr[0].updateFlag
}
return 'N'
}
},
},
data() { data() {
return { return {
searchData: { searchData: {
site: '', site: '',
username: this.$store.state.user.name, username: this.$store.state.user.name,
codeNo: '', codeNo: '',
buNo:'',
fieldId:'',
buNo: '',
fieldId: '',
}, },
superAdmin:false,
ifDisableFlag:false,
baseForm:{
status:'',
isReject:'',
superAdmin: false,
ifDisableFlag: false,
baseForm: {
status: '',
isReject: '',
}, },
spForm:{
sp:'',
nodeName:'',
spForm: {
sp: '',
nodeName: '',
}, },
dataForm:{
dataForm: {
materialType:'', materialType:'',
site: '', site: '',
codeNo:'', codeNo:'',
@ -316,7 +380,7 @@
}, },
rejectOpinion: '', rejectOpinion: '',
submitModalFlag: false, submitModalFlag: false,
ossColumns:[
ossColumns: [
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 5011, functionId: 5011,
@ -390,7 +454,9 @@
columnWidth: 140 columnWidth: 140
} }
], ],
submitLoading: false
submitLoading: false,
plmTechnicalSpecificationSheetArr: [],
plmStepRoleBaseBmArr: []
} }
}, },
methods: { methods: {
@ -448,15 +514,12 @@
getOADetailForBM(this.searchData).then(({data}) => { getOADetailForBM(this.searchData).then(({data}) => {
this.spForm.nodeName = data.row.nodeName this.spForm.nodeName = data.row.nodeName
this.spForm.sp = data.row.sp == null ? '' : data.row.sp this.spForm.sp = data.row.sp == null ? '' : data.row.sp
// console.log(''+this.spForm.sp)
// console.log(''+this.searchData.username)
// console.log(this.spForm.sp.includes(this.searchData.username))
}) })
searchBMcustomerInfo(this.searchData).then(({data}) => { searchBMcustomerInfo(this.searchData).then(({data}) => {
if (data.rows.length > 0) { if (data.rows.length > 0) {
this.dataForm = data.rows[0] this.dataForm = data.rows[0]
this.$message.success( '操作成功') this.$message.success( '操作成功')
}else {
} else {
this.dataForm.site = this.searchData.site this.dataForm.site = this.searchData.site
this.dataForm.codeNo = this.searchData.codeNo this.dataForm.codeNo = this.searchData.codeNo
} }
@ -503,8 +566,8 @@
// //
getNodeAuthority (row) { getNodeAuthority (row) {
getBMStatusDesc(this.searchData).then(({data}) => { getBMStatusDesc(this.searchData).then(({data}) => {
this.superAdmin=data.superAdmin
if(data.superAdmin){
this.superAdmin = data.superAdmin
if (data.superAdmin) {
this.ifDisableFlag = false this.ifDisableFlag = false
return false return false
} }
@ -512,7 +575,7 @@
this.ifDisableFlag = true this.ifDisableFlag = true
return false return false
} }
if(data.status === '审批中') {
if (data.status === '审批中') {
let tempData = { let tempData = {
site: row.site, site: row.site,
stepId: row.stepId, stepId: row.stepId,
@ -520,18 +583,8 @@
} }
getNodeAuthority(tempData).then(({data}) => { getNodeAuthority(tempData).then(({data}) => {
if (data && data.code === 0) { if (data && data.code === 0) {
this.ifDisableFlag = true
let plmStepRoleBaseBm = data.rows.plm_stepRole_base_bm
let arr = plmStepRoleBaseBm.filter(a => a.fieldId === this.searchData.fieldId)
if (arr.length > 0) {
if (arr[0].updateFlag === 'N') {
this.ifDisableFlag = true
} else {
this.ifDisableFlag = false
}
} else {
this.ifDisableFlag = true
}
this.plmStepRoleBaseBmArr = data.rows.plm_stepRole_base_bm
this.plmTechnicalSpecificationSheetArr = data.rows.plm_technical_specification_sheet
} }
}) })
} }

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

@ -266,8 +266,7 @@
message: '操作成功', message: '操作成功',
type: 'success', type: 'success',
duration: 1500, duration: 1500,
onClose: () => {
}
onClose: () => {}
}) })
this.$emit("closeModel") this.$emit("closeModel")
} else { } else {
@ -305,8 +304,8 @@
// //
getNodeAuthority (row) { getNodeAuthority (row) {
getBMStatusDesc(this.searchData).then(({data}) => { getBMStatusDesc(this.searchData).then(({data}) => {
this.superAdmin=data.superAdmin
if(data.superAdmin){
this.superAdmin = data.superAdmin
if (data.superAdmin) {
this.ifDisableFlag = false this.ifDisableFlag = false
return false return false
} }

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

@ -4,15 +4,25 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="18"> <el-col :span="18">
<el-form-item label="工艺/Process"> <el-form-item label="工艺/Process">
<dict-data-select :site="searchData.site" v-if="searchData.site" v-model="sheetData.process" :use-default-value="false" dict-type="bm_process" style="width: 120px"></dict-data-select>
<dict-data-select
v-if="searchData.site"
:site="searchData.site"
v-model="sheetData.process"
:use-default-value="false"
dict-type="bm_process"
style="width: 120px"
:disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('process') === 'N'">
</dict-data-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<span slot="label" @click="getBaseList(1)"><a herf="#">热转移打印人员/Technician</a></span>
<el-input v-model="sheetData.overPrintOperatorName" ref="overPrintOperatorName" placeholder="请选择人员" readonly style="width: 160px" ></el-input>
<span slot="label" v-if="ifDisableFlag || plmTechnicalSpecificationSheetFlag('overPrintOperator') === 'N'">热转移打印人员/Technician</span>
<span slot="label" v-else @click="getBaseList(1)"><a herf="#">热转移打印人员/Technician</a></span>
<el-input v-model="sheetData.overPrintOperatorName" ref="overPrintOperatorName" placeholder="请选择人员" readonly style="width: 160px"></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<span slot="label" @click="getBaseList(2)"><a herf="#">印刷人员/Technician</a></span>
<el-input v-model="sheetData.printOperatorName" ref="printOperatorName" placeholder="请选择人员" readonly style="width: 160px" ></el-input>
<span slot="label" v-if="ifDisableFlag || plmTechnicalSpecificationSheetFlag('printOperator') === 'N'">印刷人员/Technician</span>
<span slot="label" v-else @click="getBaseList(2)"><a herf="#">印刷人员/Technician</a></span>
<el-input v-model="sheetData.printOperatorName" ref="printOperatorName" placeholder="请选择人员" readonly style="width: 160px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label=" "> <el-form-item label=" ">
<el-button type="primary" @click="searchTable(true)">刷新</el-button> <el-button type="primary" @click="searchTable(true)">刷新</el-button>
@ -41,14 +51,14 @@
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;" v-if="searchData.buNo === 'RDC'">
<el-form label-position="top" style="margin-top: 1px" v-if="searchData.buNo === 'RDC'">
<el-row :gutter="20" > <el-row :gutter="20" >
<el-col :span="24"> <el-col :span="24">
<div class="grid-content bg-purple"> <div class="grid-content bg-purple">
<el-form-item :label="'过程及过程控制/Process and Production Control'"> <el-form-item :label="'过程及过程控制/Process and Production Control'">
<el-input <el-input
type="textarea" type="textarea"
v-model="dataForm.processDetail "
v-model="dataForm.processDetail"
:rows="3" :rows="3"
resize='none' resize='none'
maxlength="255" maxlength="255"
@ -208,78 +218,111 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;" v-if="searchData.buNo!='RDC'">
<el-form :inline="true" label-position="top" style="margin-top: 1px; margin-left: 0px;" >
<el-form label-position="top" style="margin-top: 1px" v-else>
<el-form :inline="true" label-position="top" style="margin-top: 1px; margin-left: 0px;">
<el-form-item label="物料信息/Material"> <el-form-item label="物料信息/Material">
<el-input v-model="routeData.partNo" readonly style="width: 120px"></el-input>
<el-input v-model="routeData.partNo" disabled style="width: 120px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="工艺路线类型/Routing Type"> <el-form-item label="工艺路线类型/Routing Type">
<el-input v-model="routeData.routingType" readonly style="width: 160px"></el-input>
<el-input v-model="routeData.routingType" disabled style="width: 160px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="工艺路线版本/Routing Rev."> <el-form-item label="工艺路线版本/Routing Rev.">
<el-input v-model="routeData.routingRevision" readonly style="width: 160px"></el-input>
<el-input v-model="routeData.routingRevision" disabled style="width: 160px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="替代编码/Alternative No."> <el-form-item label="替代编码/Alternative No.">
<el-input v-model="routeData.alternativeNo" readonly style="width: 140px"></el-input>
<el-input v-model="routeData.alternativeNo" disabled style="width: 140px"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" style="margin-top: 1px; margin-left: 0px;" > <el-form :inline="true" label-position="top" style="margin-top: 1px; margin-left: 0px;" >
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="18"> <el-col :span="18">
<el-form-item label="单双面印刷/Simplex/Duplex"> <el-form-item label="单双面印刷/Simplex/Duplex">
<dict-data-select :site="searchData.site" v-if="searchData.site" clearable v-model="sheetData.simplexDuplex" :use-default-value="false" dict-type="bm_simplex_duplex" style="width: 160px"></dict-data-select>
<dict-data-select
:site="searchData.site"
v-if="searchData.site"
clearable
v-model="sheetData.simplexDuplex"
:use-default-value="false"
dict-type="bm_simplex_duplex"
style="width: 160px"
:disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('simplexDuplex') === 'N'">
</dict-data-select>
</el-form-item> </el-form-item>
<el-form-item label="周长/Repeat"> <el-form-item label="周长/Repeat">
<dict-data-select :site="searchData.site" v-if="searchData.site" clearable v-model="sheetData.repeat" dict-type="bm_repeat" style="width: 120px"></dict-data-select>
<dict-data-select
:site="searchData.site"
v-if="searchData.site"
clearable
v-model="sheetData.repeat"
dict-type="bm_repeat"
style="width: 120px"
:disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('repeat') === 'N'">
</dict-data-select>
</el-form-item> </el-form-item>
<!-- <el-form-item label="标签尺寸/Label Size">--> <!-- <el-form-item label="标签尺寸/Label Size">-->
<!-- <el-input v-model="sheetData.labelSize" style="width: 120px" ></el-input>--> <!-- <el-input v-model="sheetData.labelSize" style="width: 120px" ></el-input>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item label="标签长度/Label Length"> <el-form-item label="标签长度/Label Length">
<el-input v-model="sheetData.labelLength" style="width: 120px" ></el-input>
<el-input v-model="sheetData.labelLength" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('labelLength') === 'N'" style="width: 120px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="标签宽度/Label Width"> <el-form-item label="标签宽度/Label Width">
<el-input v-model="sheetData.labelWidth" style="width: 120px" ></el-input>
<el-input v-model="sheetData.labelWidth" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('labelWidth') === 'N'" style="width: 120px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="横向跳距/HP"> <el-form-item label="横向跳距/HP">
<el-input v-model="sheetData.hp" style="width: 120px" ></el-input>
<el-input v-model="sheetData.hp" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('hp') === 'N'" style="width: 120px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="竖向跳距/VP"> <el-form-item label="竖向跳距/VP">
<el-input v-model="sheetData.vp" style="width: 120px" ></el-input>
<el-input v-model="sheetData.vp" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('vp') === 'N'" style="width: 120px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="横排数/Across"> <el-form-item label="横排数/Across">
<el-input v-model="sheetData.across" style="width: 120px" ></el-input>
<el-input v-model="sheetData.across" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('across') === 'N'" style="width: 120px"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<div style="width: 100%;"> <div style="width: 100%;">
<el-form :inline="true" label-position="top" style="margin-top: 1px; margin-left: 0px;" >
<el-form :inline="true" label-position="top" style="margin-top: 1px; margin-left: 0px;">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="竖排数/Down"> <el-form-item label="竖排数/Down">
<el-input v-model="sheetData.down" style="width: 120px" ></el-input>
<el-input v-model="sheetData.down" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('down') === 'N'" style="width: 120px" ></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item label="实际数目/Actual Number">--> <!-- <el-form-item label="实际数目/Actual Number">-->
<!-- <el-input v-model="sheetData.actualNumber" style="width: 160px"></el-input>--> <!-- <el-input v-model="sheetData.actualNumber" style="width: 160px"></el-input>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item label="印刷出纸方向/Feeding Direction"> <el-form-item label="印刷出纸方向/Feeding Direction">
<dict-data-select :site="searchData.site" v-if="searchData.site" clearable v-model="sheetData.printCopyPosition" dict-type="bm_print_copy_position" style="width: 170px"></dict-data-select>
<dict-data-select
:site="searchData.site"
v-if="searchData.site"
clearable
v-model="sheetData.printCopyPosition"
dict-type="bm_print_copy_position"
style="width: 170px"
:disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('printCopyPosition') === 'N'">
</dict-data-select>
</el-form-item> </el-form-item>
<el-form-item label="成品卷边宽度/FG Roll Width"> <el-form-item label="成品卷边宽度/FG Roll Width">
<el-input v-model="sheetData.goodsRollWidth" style="width: 160px"></el-input>
<el-input v-model="sheetData.goodsRollWidth" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('goodsRollWidth') === 'N'" style="width: 160px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="新刀具(是/否)/New Cutter(Y/N)"> <el-form-item label="新刀具(是/否)/New Cutter(Y/N)">
<dict-data-select :site="searchData.site" v-if="searchData.site" clearable v-model="sheetData.newCutter" dict-type="bm_new_cutter" style="width: 170px"></dict-data-select>
<dict-data-select
:site="searchData.site"
v-if="searchData.site"
clearable
v-model="sheetData.newCutter"
dict-type="bm_new_cutter"
style="width: 170px"
:disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('newCutter') === 'N'">
</dict-data-select>
</el-form-item> </el-form-item>
<el-form-item label="印刷刀模公差/P2C Tolerance"> <el-form-item label="印刷刀模公差/P2C Tolerance">
<el-input v-model="sheetData.p2cTolerance" style="width: 160px"></el-input>
<el-input v-model="sheetData.p2cTolerance" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('p2cTolerance') === 'N'" style="width: 160px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="尺寸公差/Dimension Tolerance"> <el-form-item label="尺寸公差/Dimension Tolerance">
<el-input v-model="sheetData.dimensionTolerance" style="width: 170px"></el-input>
<el-input v-model="sheetData.dimensionTolerance" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('dimensionTolerance') === 'N'" style="width: 170px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="修边公差(+/-)/Slitting Tolerance"> <el-form-item label="修边公差(+/-)/Slitting Tolerance">
<el-input v-model="sheetData.slittingTolerance" style="width: 170px"></el-input>
<el-input v-model="sheetData.slittingTolerance" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('slittingTolerance') === 'N'" style="width: 170px"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -669,27 +712,41 @@
printFlexo, printFlexo,
printIndigo, printIndigo,
}, },
computed: {
plmTechnicalSpecificationSheetFlag () {
return (value) => {
if (!this.plmTechnicalSpecificationSheetArr) {
return 'N'
}
let arr = this.plmTechnicalSpecificationSheetArr.filter(a => a.fieldId === value)
if (arr.length > 0) {
return arr[0].updateFlag
}
return 'N'
}
},
},
data() { data() {
return { return {
spForm:{
sp:'',
nodeName:'',
spForm: {
sp: '',
nodeName: '',
}, },
nowRoute:{},
nowRoute: {},
// //
selectedComponent: null, selectedComponent: null,
routeData:{
routeData: {
site: '', site: '',
partNo:'',
alternativeNo:'',
routingType:'',
routingRevision:'',
partNo: '',
alternativeNo: '',
routingType: '',
routingRevision: '',
}, },
componentKey:0,
routeFlag:false,
routeModelFlag:false,
height:200,
componentKey: 0,
routeFlag: false,
routeModelFlag: false,
height: 200,
searchData: { searchData: {
site: '', site: '',
username: this.$store.state.user.name, username: this.$store.state.user.name,
@ -1085,7 +1142,8 @@
tagNo1:'', tagNo1:'',
rejectOpinion: '', rejectOpinion: '',
submitModalFlag: false, submitModalFlag: false,
submitLoading: false
submitLoading: false,
plmTechnicalSpecificationSheetArr: []
} }
}, },
mounted () { mounted () {
@ -1096,9 +1154,6 @@
methods: { methods: {
// S // S
getBaseList (type) { getBaseList (type) {
if (this.ifDisableFlag) {
return false
}
this.tagNo1 = type this.tagNo1 = type
this.$nextTick(() => { this.$nextTick(() => {
let strVal = '' let strVal = ''
@ -1602,58 +1657,58 @@
break; break;
} }
}, },
searchDetailTable(){ searchDetailTable(){
searchRouteDetail(this.routeData).then(({data}) => { searchRouteDetail(this.routeData).then(({data}) => {
this.routeDetailList=data.rows; this.routeDetailList=data.rows;
}); });
}, },
changeRouteRev(){ changeRouteRev(){
this.searchDetailTable() this.searchDetailTable()
this.currentRoute=null this.currentRoute=null
this.modalFlag=true; this.modalFlag=true;
}, },
getRow(row){ getRow(row){
this.currentRoute=row this.currentRoute=row
}, },
updateBMProcess(){
updateBMProcess () {
updateBMProcess(this.sheetData).then(({data}) => { updateBMProcess(this.sheetData).then(({data}) => {
if (data && data.code === 0) { if (data && data.code === 0) {
this.$clearHighLight() this.$clearHighLight()
tsdBasicInformationSearch(this.searchData).then(({data}) => { tsdBasicInformationSearch(this.searchData).then(({data}) => {
if(data.row){
this.sheetData=data.row
}else {
if (data.row) {
this.sheetData = data.row
} }
});
})
this.$message.success('操作成功') this.$message.success('操作成功')
} else { } else {
this.$message.error(data.msg) this.$message.error(data.msg)
} }
}) })
}, },
updateBMRouteRev(){
if(this.currentRoute==null){
updateBMRouteRev () {
if (this.currentRoute == null) {
this.$alert('请点击选择Route版本!', '错误', { this.$alert('请点击选择Route版本!', '错误', {
confirmButtonText: '确定' confirmButtonText: '确定'
}) })
return false; return false;
} }
if(this.currentRoute.status!=='Buildable'){
if (this.currentRoute.status!=='Buildable') {
this.$alert('只有Buildable状态的可以保存!', '错误', { this.$alert('只有Buildable状态的可以保存!', '错误', {
confirmButtonText: '确定' confirmButtonText: '确定'
}) })
return false; return false;
} }
let inData={
site:this.routeData.site,
codeNo:this.searchData.codeNo,
routingType:this.currentRoute.routingType,
routingRevision:this.currentRoute.routingRevision,
routingAlternativeNo:this.currentRoute.alternativeNo
let inData = {
site: this.routeData.site,
codeNo: this.searchData.codeNo,
routingType: this.currentRoute.routingType,
routingRevision: this.currentRoute.routingRevision,
routingAlternativeNo: this.currentRoute.alternativeNo
} }
this.$confirm("更改工艺路线后,之前填写的工艺信息都将覆盖,是否继续?", '保存提示', { this.$confirm("更改工艺路线后,之前填写的工艺信息都将覆盖,是否继续?", '保存提示', {
confirmButtonText: '确定', confirmButtonText: '确定',
@ -1661,8 +1716,8 @@
}).then(() => { }).then(() => {
updateBMRouteRev(inData).then(({data}) => { updateBMRouteRev(inData).then(({data}) => {
if (data && data.code === 0) { if (data && data.code === 0) {
this.searchTable();
this.modalFlag = false;
this.searchTable()
this.modalFlag = false
this.$message.success('操作成功') this.$message.success('操作成功')
} else { } else {
this.$message.error(data.msg) this.$message.error(data.msg)
@ -1670,7 +1725,8 @@
}) })
}) })
}, },
jumpRoute(){
jumpRoute () {
if (this.routeData.routingRevision != null || this.routeData.routingRevision !== '') { if (this.routeData.routingRevision != null || this.routeData.routingRevision !== '') {
this.$message.error("route明细不存在") this.$message.error("route明细不存在")
} }
@ -1683,11 +1739,12 @@
localStorage.setItem('routeData', JSON.stringify(inData)) localStorage.setItem('routeData', JSON.stringify(inData))
window.open('#/part-routingManagement'); window.open('#/part-routingManagement');
}, },
// //
getNodeAuthority (row) { getNodeAuthority (row) {
getBMStatusDesc(this.searchData).then(({data}) => { getBMStatusDesc(this.searchData).then(({data}) => {
this.superAdmin=data.superAdmin
if(data.superAdmin){
this.superAdmin = data.superAdmin
if (data.superAdmin) {
this.ifDisableFlag = false this.ifDisableFlag = false
return false return false
} }
@ -1703,18 +1760,19 @@
} }
getNodeAuthority(tempData).then(({data}) => { getNodeAuthority(tempData).then(({data}) => {
if (data && data.code === 0) { if (data && data.code === 0) {
this.ifDisableFlag = true
let plmStepRoleBaseBm = data.rows.plm_stepRole_base_bm
let arr = plmStepRoleBaseBm.filter(a => a.fieldId === this.searchData.fieldId)
if (arr.length > 0) {
if (arr[0].updateFlag === 'N') {
this.ifDisableFlag = true
} else {
this.ifDisableFlag = false
}
} else {
this.ifDisableFlag = true
}
// this.ifDisableFlag = true
// let plmStepRoleBaseBm = data.rows.plm_stepRole_base_bm
// let arr = plmStepRoleBaseBm.filter(a => a.fieldId === this.searchData.fieldId)
// if (arr.length > 0) {
// if (arr[0].updateFlag === 'N') {
// this.ifDisableFlag = true
// } else {
// this.ifDisableFlag = false
// }
// } else {
// this.ifDisableFlag = true
// }
this.plmTechnicalSpecificationSheetArr = data.rows.plm_technical_specification_sheet
} }
}) })
} }

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

@ -94,7 +94,7 @@
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item label="生产状态/Production Stage"> <el-form-item label="生产状态/Production Stage">
<el-select v-model="dataForm.stage" style="width: 100%" :disabled="ifDisableFlag">
<el-select v-model="dataForm.stage" style="width: 100%" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('stage') === 'N'">
<el-option label="Sample" value="Sample"></el-option> <el-option label="Sample" value="Sample"></el-option>
<el-option label="Mass Production" value="Mass Production"></el-option> <el-option label="Mass Production" value="Mass Production"></el-option>
</el-select> </el-select>
@ -103,7 +103,7 @@
<el-col :span="3"> <el-col :span="3">
<div class="grid-content bg-purple"> <div class="grid-content bg-purple">
<el-form-item label="POD项目/POD (Y/N)"> <el-form-item label="POD项目/POD (Y/N)">
<el-select v-model="dataForm.pod" :disabled="ifDisableFlag">
<el-select v-model="dataForm.pod" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('pod') === 'N'">
<el-option label="Y" value="Y"></el-option> <el-option label="Y" value="Y"></el-option>
<el-option label="N" value="N"></el-option> <el-option label="N" value="N"></el-option>
</el-select> </el-select>
@ -118,33 +118,33 @@
<el-input @focus="jumpPage('A')" ref="jumpA" class="blue-input yzz2" v-model="dataForm.ecnUpgradeVersion" readonly></el-input> <el-input @focus="jumpPage('A')" ref="jumpA" class="blue-input yzz2" v-model="dataForm.ecnUpgradeVersion" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6">
<el-form-item label="变更管理文档链接/ECN Document Link">
<el-input v-model="dataForm.ecnAddress" disabled></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="6">-->
<!-- <el-form-item label="变更管理文档链接/ECN Document Link">-->
<!-- <el-input v-model="dataForm.ecnAddress" disabled></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="3"> <el-col :span="3">
<el-form-item label="样品申请号/Sample Application No."> <el-form-item label="样品申请号/Sample Application No.">
<el-input @focus="jumpPage('B')" ref="jumpB" class="blue-input" v-model="dataForm.proofingNo" readonly></el-input>
<el-input @focus="jumpPage('B')" ref="jumpB" class="blue-input yzz2" v-model="dataForm.proofingNo" readonly></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3"> <el-col :span="3">
<el-form-item label="生产工单/Shop Order"> <el-form-item label="生产工单/Shop Order">
<el-input v-model="dataForm.shopOrder" :disabled="ifDisableFlag"></el-input>
<el-input v-model="dataForm.shopOrder" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('shopOrder') === 'N'"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4">
<el-col :span="6">
<el-form-item v-if="dataForm.documentSource === 'Copy'" label="是否需要审批/Authorization Required"> <el-form-item v-if="dataForm.documentSource === 'Copy'" label="是否需要审批/Authorization Required">
<el-radio v-model="copyFlag" label="Yes" :disabled="ifDisableFlag"></el-radio>
<el-radio v-model="copyFlag" label="No" :disabled="ifDisableFlag"></el-radio>
<el-radio v-model="copyFlag" label="Yes" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('copyFlag') === 'N'"></el-radio>
<el-radio v-model="copyFlag" label="No" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('copyFlag') === 'N'"></el-radio>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!--2025-05-22海波要求添加--> <!--2025-05-22海波要求添加-->
<!--2025-05-22海波要求添加 默认值为YES/NO--> <!--2025-05-22海波要求添加 默认值为YES/NO-->
<el-col :span="4">
<el-col :span="6">
<el-form-item v-if="dataForm.ecnUpgradeVersion" label="ECN是否需要变更图纸/Artwork Required"> <el-form-item v-if="dataForm.ecnUpgradeVersion" label="ECN是否需要变更图纸/Artwork Required">
<el-radio v-model="ecnNeedChangeDrawing" label="Yes" :disabled="ifDisableFlag"></el-radio>
<el-radio v-model="ecnNeedChangeDrawing" label="No" :disabled="ifDisableFlag"></el-radio>
<el-radio v-model="ecnNeedChangeDrawing" label="Yes" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('ecnNeedChangeDrawing') === 'N'"></el-radio>
<el-radio v-model="ecnNeedChangeDrawing" label="No" :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('ecnNeedChangeDrawing') === 'N'"></el-radio>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -153,7 +153,8 @@
<el-col :span="6"> <el-col :span="6">
<div class="grid-content bg-purple"> <div class="grid-content bg-purple">
<el-form-item> <el-form-item>
<span slot="label" @click="getBaseList(4)"><a herf="#">客服人员/ CS</a></span>
<span v-if="ifDisableFlag || plmTechnicalSpecificationTeamArrFlag('csOperatorList') === 'N'" slot="label">客服人员/ CS</span>
<span v-else slot="label" @click="getBaseList(4)"><a herf="#">客服人员/ CS</a></span>
<el-input v-model="dataForm.csOperaterName" ref="csOperaterName" placeholder="请选择人员" readonly></el-input> <el-input v-model="dataForm.csOperaterName" ref="csOperaterName" placeholder="请选择人员" readonly></el-input>
</el-form-item> </el-form-item>
</div> </div>
@ -161,7 +162,8 @@
<el-col :span="6"> <el-col :span="6">
<div class="grid-content bg-purple"> <div class="grid-content bg-purple">
<el-form-item> <el-form-item>
<span slot="label" @click="getBaseList(7)"><a herf="#">工程人员/Engineer</a></span>
<span v-if="ifDisableFlag || plmTechnicalSpecificationTeamArrFlag('engineerList') === 'N'" slot="label">工程人员/Engineer</span>
<span v-else slot="label" @click="getBaseList(7)"><a herf="#">工程人员/Engineer</a></span>
<el-input v-model="dataForm.engineer" readonly placeholder="请选择人员"></el-input> <el-input v-model="dataForm.engineer" readonly placeholder="请选择人员"></el-input>
</el-form-item> </el-form-item>
</div> </div>
@ -169,7 +171,8 @@
<el-col :span="6"> <el-col :span="6">
<div class="grid-content bg-purple"> <div class="grid-content bg-purple">
<el-form-item> <el-form-item>
<span slot="label" @click="getBaseList(8)"><a herf="#">设计制图人员/Artwork</a></span>
<span v-if="ifDisableFlag || plmTechnicalSpecificationTeamArrFlag('technicianList') === 'N'" slot="label">设计制图人员/Artwork</span>
<span v-else slot="label" @click="getBaseList(8)"><a herf="#">设计制图人员/Artwork</a></span>
<el-input v-model="dataForm.technician" readonly placeholder="请选择人员"></el-input> <el-input v-model="dataForm.technician" readonly placeholder="请选择人员"></el-input>
</el-form-item> </el-form-item>
</div> </div>
@ -185,7 +188,8 @@
<el-col :span="6"> <el-col :span="6">
<div class="grid-content bg-purple"> <div class="grid-content bg-purple">
<el-form-item> <el-form-item>
<span slot="label" @click="handleMpOperator"><a>技术员/Technician</a></span>
<span v-if="ifDisableFlag || plmTechnicalSpecificationTeamArrFlag('mpOperatorList') === 'N'" slot="label">技术员/Technician</span>
<span v-else slot="label" @click="handleMpOperator"><a>技术员/Technician</a></span>
<el-input v-model="dataForm.mpOperatorName" @focus="handleMpOperator()" ref="mpOperatorName" placeholder="请选择人员" readonly></el-input> <el-input v-model="dataForm.mpOperatorName" @focus="handleMpOperator()" ref="mpOperatorName" placeholder="请选择人员" readonly></el-input>
</el-form-item> </el-form-item>
</div> </div>
@ -217,15 +221,19 @@
<el-col :span="6"> <el-col :span="6">
<div class="grid-content bg-purple"> <div class="grid-content bg-purple">
<el-form-item > <el-form-item >
<span slot="label" @click="getBaseList(9)"><a herf="#">计划人员/Planner</a></span>
<span v-if="ifDisableFlag || plmTechnicalSpecificationTeamArrFlag('planOperatorList') === 'N'" slot="label">计划人员/Planner</span>
<span v-else slot="label" @click="getBaseList(9)"><a herf="#">计划人员/Planner</a></span>
<el-input v-model="dataForm.planOperatorName" ref="planOperatorName" placeholder="请选择人员" readonly></el-input> <el-input v-model="dataForm.planOperatorName" ref="planOperatorName" placeholder="请选择人员" readonly></el-input>
</el-form-item> </el-form-item>
</div> </div>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="grid-content bg-purple"> <div class="grid-content bg-purple">
<el-form-item >
<!-- <span slot="label" @click="getBaseList(1)"><a herf="#">Select CQC</a></span>-->
<el-form-item v-if="ifDisableFlag || plmTechnicalSpecificationTeamArrFlag('cqcOperatorList') === 'N'">
<span slot="label">质检人员/CQC</span>
<el-input v-model="dataForm.cqcOperatorName" ref="cqcOperatorName" placeholder="请选择人员" readonly></el-input>
</el-form-item>
<el-form-item v-else>
<span slot="label" @click="handleCqcOperator"><a>质检人员/CQC</a></span> <span slot="label" @click="handleCqcOperator"><a>质检人员/CQC</a></span>
<el-input v-model="dataForm.cqcOperatorName" @focus="handleCqcOperator()" ref="cqcOperatorName" placeholder="请选择人员" readonly></el-input> <el-input v-model="dataForm.cqcOperatorName" @focus="handleCqcOperator()" ref="cqcOperatorName" placeholder="请选择人员" readonly></el-input>
</el-form-item> </el-form-item>
@ -233,20 +241,23 @@
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="grid-content bg-purple"> <div class="grid-content bg-purple">
<el-form-item >
<!-- <span slot="label" @click="getBaseList(2)"><a herf="#">Select FAI</a></span>-->
<el-form-item v-if="ifDisableFlag || plmTechnicalSpecificationTeamArrFlag('faiOperatorList') === 'N'">
<span slot="label">首件检测/FAI</span>
<el-input v-model="dataForm.faiOperatorName" ref="faiOperatorName" placeholder="请选择人员" readonly></el-input>
</el-form-item>
<el-form-item v-else>
<span slot="label" @click="handleFaiOperator"><a>首件检测/FAI</a></span> <span slot="label" @click="handleFaiOperator"><a>首件检测/FAI</a></span>
<el-input v-model="dataForm.faiOperatorName" @focus="handleFaiOperator()" ref="faiOperatorName" placeholder="请选择人员" readonly></el-input>
<el-input v-model="dataForm.faiOperatorName" @focus="handleFaiOperator()" ref="faiOperatorName" placeholder="请选择人员" readonly></el-input>
</el-form-item> </el-form-item>
</div> </div>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="grid-content bg-purple"> <div class="grid-content bg-purple">
<!-- <el-form-item >-->
<!-- <span slot="label" style="" @click="getBaseList(5)"><a herf="#">DCC人员</a></span>-->
<!-- <el-input v-model="dataForm.dccOperaterName" ref="dccOperaterName" placeholder="请选择人员" readonly style="" ></el-input>-->
<!-- </el-form-item>-->
<el-form-item >
<el-form-item v-if="ifDisableFlag || plmTechnicalSpecificationTeamArrFlag('dccList') === 'N'">
<span slot="label">文件管控专员/DCC</span>
<el-input v-model="dataForm.dcc" ref="dcc" readonly></el-input>
</el-form-item>
<el-form-item v-else>
<span slot="label" @click="dccChooseModal()"><a herf="#">文件管控专员/DCC</a></span> <span slot="label" @click="dccChooseModal()"><a herf="#">文件管控专员/DCC</a></span>
<el-input v-model="dataForm.dcc" ref="dcc" readonly @focus="dccChooseModal()"></el-input> <el-input v-model="dataForm.dcc" ref="dcc" readonly @focus="dccChooseModal()"></el-input>
</el-form-item> </el-form-item>
@ -258,7 +269,7 @@
<el-col :span="24"> <el-col :span="24">
<div class="grid-content bg-purple"> <div class="grid-content bg-purple">
<el-form-item label="备注区/Comments" class="auto-form"> <el-form-item label="备注区/Comments" class="auto-form">
<el-input type="textarea" v-model="dataForm.remarkPage" :rows="10" resize='none' :disabled="ifDisableFlag"></el-input>
<el-input type="textarea" v-model="dataForm.remarkPage" :rows="10" resize='none' :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('remarkPage') === 'N'"></el-input>
</el-form-item> </el-form-item>
</div> </div>
</el-col> </el-col>
@ -267,7 +278,7 @@
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="24"><div class="grid-content bg-purple"> <el-col :span="24"><div class="grid-content bg-purple">
<el-form-item label="关联料号/Related Part No." class="auto-form"> <el-form-item label="关联料号/Related Part No." class="auto-form">
<el-input type="textarea" v-model="dataForm.relevancePartNo" :rows="4" resize='none' :disabled="ifDisableFlag"></el-input>
<el-input type="textarea" v-model="dataForm.relevancePartNo" :rows="4" resize='none' :disabled="ifDisableFlag || plmTechnicalSpecificationSheetFlag('relevancePartNo') === 'N'"></el-input>
</el-form-item> </el-form-item>
</div></el-col> </div></el-col>
</el-row> </el-row>
@ -402,6 +413,32 @@
components: { components: {
ChooseUser ChooseUser
}, },
computed: {
plmTechnicalSpecificationSheetFlag () {
return (value) => {
if (!this.plmTechnicalSpecificationSheetArr) {
return 'N'
}
let arr = this.plmTechnicalSpecificationSheetArr.filter(a => a.fieldId === value)
if (arr.length > 0) {
return arr[0].updateFlag
}
return 'N'
}
},
plmTechnicalSpecificationTeamArrFlag () {
return (value) => {
if (!this.plmTechnicalSpecificationTeamArr) {
return 'N'
}
let arr = this.plmTechnicalSpecificationTeamArr.filter(a => a.fieldId === value)
if (arr.length > 0) {
return arr[0].updateFlag
}
return 'N'
}
},
},
data() { data() {
return { return {
quotationNo:'', quotationNo:'',
@ -524,9 +561,9 @@
// S // S
getBaseList (type) { getBaseList (type) {
if (this.ifDisableFlag) {
return false
}
// if (this.ifDisableFlag) {
// return false
// }
this.tagNo1 = type this.tagNo1 = type
this.$nextTick(() => { this.$nextTick(() => {
let strVal = '' let strVal = ''
@ -1036,20 +1073,20 @@
} }
getNodeAuthority(tempData).then(({data}) => { getNodeAuthority(tempData).then(({data}) => {
if (data && data.code === 0) { if (data && data.code === 0) {
this.ifDisableFlag = true
//this.ifDisableFlag = true
this.plmTechnicalSpecificationSheetArr = data.rows.plm_technical_specification_sheet this.plmTechnicalSpecificationSheetArr = data.rows.plm_technical_specification_sheet
this.plmTechnicalSpecificationTeamArr = data.rows.plm_technicalSpecification_team this.plmTechnicalSpecificationTeamArr = data.rows.plm_technicalSpecification_team
let plmStepRoleBaseBm = data.rows.plm_stepRole_base_bm
let arr = plmStepRoleBaseBm.filter(a => a.fieldId === 'basicInformation')
if (arr.length > 0) {
if (arr[0].updateFlag === 'N') {
this.ifDisableFlag = true
} else {
this.ifDisableFlag = false
}
} else {
this.ifDisableFlag = true
}
// let plmStepRoleBaseBm = data.rows.plm_stepRole_base_bm
// let arr = plmStepRoleBaseBm.filter(a => a.fieldId === 'basicInformation')
// if (arr.length > 0) {
// if (arr[0].updateFlag === 'N') {
// this.ifDisableFlag = true
// } else {
// this.ifDisableFlag = false
// }
// } else {
// this.ifDisableFlag = true
// }
} }
}) })
} }
@ -1239,9 +1276,6 @@
// Select Technical // Select Technical
handleMpOperator () { handleMpOperator () {
if (this.ifDisableFlag) {
return
}
this.mpVisible = true this.mpVisible = true
this.mpOperatorList = [] this.mpOperatorList = []
this.queryUserInfoByBM('R021').then(({data}) => { this.queryUserInfoByBM('R021').then(({data}) => {
@ -1257,9 +1291,6 @@
// Select CQC // Select CQC
handleCqcOperator () { handleCqcOperator () {
if (this.ifDisableFlag) {
return
}
this.cqcVisible = true this.cqcVisible = true
this.cqcOperatorList = [] this.cqcOperatorList = []
this.queryUserInfoByBM('R008').then(({data}) => { this.queryUserInfoByBM('R008').then(({data}) => {
@ -1275,9 +1306,6 @@
// Select FAI // Select FAI
handleFaiOperator () { handleFaiOperator () {
if (this.ifDisableFlag) {
return
}
this.faiVisible = true this.faiVisible = true
this.faiOperatorList = [] this.faiOperatorList = []
this.queryUserInfoByBM('R009').then(({data}) => { this.queryUserInfoByBM('R009').then(({data}) => {
@ -1293,9 +1321,6 @@
// Select DCC // Select DCC
dccChooseModal () { dccChooseModal () {
if (this.ifDisableFlag) {
return false
}
let inData = { let inData = {
site: this.dataForm.site, site: this.dataForm.site,
buNo: this.dataForm.buNo, buNo: this.dataForm.buNo,

12
src/views/modules/sampleManagement/technicalSpecificationList.vue

@ -189,11 +189,13 @@
</el-form-item> </el-form-item>
</div> </div>
</el-col> </el-col>
<el-col :span="12"><div class="grid-content bg-purple">
<el-form-item :label="'ECN文档链接'">
<el-input v-model="infoData.ecnAddress" readonly></el-input>
</el-form-item>
</div></el-col>
<!-- <el-col :span="12">-->
<!-- <div class="grid-content bg-purple">-->
<!-- <el-form-item :label="'ECN文档链接'">-->
<!-- <el-input v-model="infoData.ecnAddress" readonly></el-input>-->
<!-- </el-form-item>-->
<!-- </div>-->
<!-- </el-col>-->
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="6"> <el-col :span="6">

Loading…
Cancel
Save