Browse Source

plm字段权限

master
ruanqi 2 years ago
parent
commit
d5452bceeb
  1. 3
      src/api/sampleManagement/technicalSpecificationList.js
  2. 28
      src/views/modules/base/propertiesItem/bmPropertiesModel.vue
  3. 6
      src/views/modules/sampleManagement/com_technical-add-or-update.vue
  4. 24
      src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_demoSlot.vue
  5. 271
      src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_routing.vue
  6. 22
      src/views/modules/sampleManagement/technicalSpecificationDetail/technicalSpecificationDetail.vue

3
src/api/sampleManagement/technicalSpecificationList.js

@ -24,3 +24,6 @@ export const searchBMPropertiesValue= data => createAPI(`/technicalSpecification
export const saveBMPropertiesValue= data => createAPI(`/technicalSpecification/saveBMPropertiesValue`,'post',data)
export const refreshBMPageModal= data => createAPI(`/technicalSpecification/refreshBMPageModal`,'post',data)
export const getBMPageBase= data => createAPI(`/technicalSpecification/getBMPageBase`,'post',data)
export const saveBMRoute= data => createAPI(`/technicalSpecification/saveBMRoute`,'post',data)
export const searchBMRoute= data => createAPI(`/technicalSpecification/searchBMRoute`,'post',data)
export const deleteBMRoute= data => createAPI(`/technicalSpecification/deleteBMRoute`,'post',data)

28
src/views/modules/base/propertiesItem/bmPropertiesModel.vue

@ -7,6 +7,16 @@
<el-form-item :label="'BM模板名称'">
<el-input v-model="searchData.codeDesc" style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'BU编码'">
<el-input v-model="searchData.buNo" style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'是否启用'">
<el-select clearable v-model="searchData.active" style="width: 120px">
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
<el-option label="全部" value=""></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item :label="'在用'">-->
<!-- <el-select filterable v-model="searchData.active" style="width: 130px">-->
<!-- <el-option label="全部" value=""></el-option>-->
@ -345,6 +355,7 @@
site: this.$store.state.user.site,
codeNo: '',
codeDesc: '',
buNo:'',
active:'Y',
functionType:'',
page: 1,
@ -436,6 +447,23 @@
status: true,
fixed: '',
},
{
userId: this.$store.state.user.name,
functionId: 100003001,
serialNumber: '100003001TableActive',
tableId: "100003001Table",
tableName: "BM模板表",
columnProp: 'active',
headerAlign: "center",
align: "center",
columnLabel: '是否启用',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
},
],
detailModelFlag:false,

6
src/views/modules/sampleManagement/com_technical-add-or-update.vue

@ -59,12 +59,10 @@
</el-input>
</el-form-item>
</el-form>
<div style="margin-top: 60px">
<span slot="footer" class="dialog-footer" >
<el-form label-position="top" style="margin-top: 60px; margin-left: 0px;text-align:center">
<el-button type="primary" @click="dataFormSubmit()">{{'确定'}}</el-button>
<el-button type="primary" @click="visible = false">{{'关闭'}}</el-button>
</span>
</div>
</el-form>
</el-dialog>
<el-dialog
width="530px"

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

@ -1,7 +1,13 @@
<template>
<div class="mod-config">
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;" >
<el-form-item >
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 1px; margin-left: 0px;" >
<el-form-item :label="'技术参数卡编码'">
<el-input v-model="searchData.codeNo" readonly style="width: 150px" ></el-input>
</el-form-item>
<el-form-item :label="'模板编码'">
<el-input v-model="searchData.type" readonly style="width: 150px" ></el-input>
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" @click="refreshBMPageModal()" v-if="!ifDisableFlag">更新模板</el-button>
<el-button type="primary" @click="searchTable()" >刷新数据</el-button>
<el-button type="primary" @click="saveTable()" v-if="!ifDisableFlag">保存数据</el-button>
@ -16,16 +22,26 @@
prop="propertiesItemNo"
header-align="center"
align="left"
width="100"
width="150"
label="属性编码">
</el-table-column>
<el-table-column
prop="itemDesc"
header-align="center"
align="left"
width="120"
width="150"
label="属性名称">
</el-table-column>
<el-table-column
prop="valueTypeDb"
header-align="center"
align="center"
width="80"
label="数据类型">
<template slot-scope="scope">
{{scope.row.valueTypeDb=='N'?'数字':'文本'}}
</template>
</el-table-column>
<el-table-column
header-align="center"
align="left"

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

@ -1,6 +1,6 @@
<template>
<div class="mod-config">
<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; margin-left: 0px;" v-if="searchData.buNo=='RDC'">
<el-row :gutter="20" >
<el-col :span="24"><div class="grid-content bg-purple">
<el-form-item :label="'过程及过程控制/Process and Production Control'">
@ -141,10 +141,10 @@
</el-form-item>
</el-form>
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;" v-if="searchData.buNo==='DBE'">
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;" v-if="searchData.buNo!='RDC'">
<el-form-item >
<el-button type="primary" @click="searchTable()" >刷新</el-button>
<el-button type="primary" @click="newData()" v-if="!ifDisableFlag">新增</el-button>
<el-button type="primary" @click="newRoute()" v-if="!ifDisableFlag">新增</el-button>
</el-form-item>
<el-table
@ -165,152 +165,49 @@
</template>
</el-table-column>
<el-table-column
prop="familyName"
header-align="center"
align="left"
min-width="60"
label="材料分类">
</el-table-column>
<el-table-column
prop="erpPartNo"
header-align="center"
align="left"
min-width="60"
label="IFS料号">
</el-table-column>
<el-table-column
prop="partDesc"
header-align="center"
align="left"
min-width="120"
label="材料名称">
</el-table-column>
<el-table-column
prop="quantity"
prop="itemNo"
header-align="center"
align="left"
min-width="60"
label="数量">
</el-table-column>
<el-table-column
prop="spec"
header-align="center"
align="left"
min-width="120"
label="UL产品型号">
label="工序号">
</el-table-column>
<el-table-column
prop="remark"
prop="operationDesc"
header-align="center"
align="left"
min-width="180"
label="Remark">
min-width="200"
label="工序名称">
</el-table-column>
<!-- <el-table-column-->
<!-- prop="remark"-->
<!-- header-align="center"-->
<!-- align="left"-->
<!-- min-width="300"-->
<!-- label="备注">-->
<!-- </el-table-column>-->
</el-table>
</el-form>
<el-dialog title="BOM" :close-on-click-modal="false" v-drag :visible.sync="bomFlag" width="500px">
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item >
<span slot="label" style="" @click="erpPartModel()"><a herf="#">800料号</a></span>
<el-input v-model="dataForm.erpPartNo" :disabled="dataForm.addId==1" ></el-input>
</el-form-item>
<el-form-item :label="'物料分类'">
<el-input v-model="dataForm.familyName" disabled ></el-input>
</el-form-item>
<el-form-item :label="'物料名称'" >
<el-input v-model="dataForm.partDesc" disabled ></el-input>
</el-form-item>
</el-form>
<el-dialog title="工艺路线" :close-on-click-modal="false" v-drag :visible.sync="routeFlag" width="470px">
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="'数量'">
<el-input v-model="dataForm.quantity" type="number" :disabled="ifDisableFlag" ></el-input>
</el-form-item>
<el-form-item :label="'产品规格'">
<el-input v-model="dataForm.spec" disabled style="width:294px"></el-input>
<el-form-item :label="'工序编码'">
<el-input v-model="routingData.itemNo" type="number" onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')" ></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="'Remark'">
<el-input
type="textarea"
v-model="dataForm.remark "
:rows="3"
resize='none'
show-word-limit
:disabled="ifDisableFlag"
style="width:448px;height: 60px" >
</el-input>
<el-form-item :label="'工序名称'">
<el-input v-model="routingData.operationDesc" style="width: 440px" ></el-input>
</el-form-item>
</el-form>
<el-footer style="height:40px;margin-top: 60px;text-align:center">
<el-button type="primary" @click="bomSave()">保存</el-button>
<el-button type="primary" @click="bomFlag = false">取消</el-button>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="routeSave()">保存</el-button>
<el-button type="primary" @click="routeFlag = false">取消</el-button>
</el-footer>
</el-dialog>
<el-dialog title="800物料清单" :close-on-click-modal="false" v-drag :visible.sync="partModelFlag" width="500px">
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-form-item :label="'800料号'">
<el-input v-model="partSearchData.erpPartNo" style="width:100px" ></el-input>
</el-form-item>
<el-form-item :label="'物料分类'">
<el-input v-model="partSearchData.familyId" style="width:100px" ></el-input>
</el-form-item>
<el-form-item :label="'物料名称'" >
<el-input v-model="partSearchData.partDesc" style="width:150px" ></el-input>
<el-button type="primary" @click="searchPartData()">查询</el-button>
</el-form-item>
</el-form>
<el-table
:data="partList"
border
:height="300"
@row-dblclick="choosePart"
v-loading="false"
style="width: 100%;">
<el-table-column
prop="erpPartNo"
header-align="center"
align="left"
min-width="60"
label="IFS料号">
</el-table-column>
<el-table-column
prop="familyName"
header-align="center"
align="left"
min-width="60"
label="材料分类">
</el-table-column>
<el-table-column
prop="partDesc"
header-align="center"
align="left"
min-width="120"
label="材料名称">
</el-table-column>
<el-table-column
prop="spec"
header-align="center"
align="left"
min-width="120"
label="规格型号">
</el-table-column>
</el-table>
<span slot="footer" class="dialog-footer">
<div style="margin-top: 5px">
<el-button @click="partModelFlag = false" type="primary">取消</el-button>
</div>
</span>
</el-dialog>
<el-dialog
width="530px"
title="报价员"
title="审查工程师"
:close-on-click-modal="false"
:visible.sync="reviewEngineerFlag">
<el-transfer v-model="reviewEngineerList" class="rq" filterable :props="{
@ -326,7 +223,7 @@
</el-dialog>
<el-dialog
width="530px"
title="工程师"
title="PE工程师"
:close-on-click-modal="false"
:visible.sync="peEngineerFlag">
<el-transfer v-model="peEngineerList" class="rq" filterable :props="{
@ -342,7 +239,7 @@
</el-dialog>
<el-dialog
width="530px"
title="项目负责人"
title="选择CQE"
:close-on-click-modal="false"
:visible.sync="cqeFlag">
<el-transfer v-model="cqeList" class="rq" filterable :props="{
@ -363,13 +260,13 @@
<script>
import {
searchBMBom,
saveBMBom,
searchPartDataForSelect,
searchBMRoutingDetail,
deleteBMBom,
searchTechnicalSpecificationTeamStr,
searchBMRoutingDetail,
updateBMRoutingDetail,
saveBMRoute,
searchBMRoute,
deleteBMRoute
} from "@/api/sampleManagement/technicalSpecificationList.js"
import Chooselist from '@/views/modules/common/Chooselist'
import {
@ -382,8 +279,7 @@
data() {
return {
partModelFlag:false,
bomFlag:false,
routeFlag:false,
height:200,
searchData: {
site: '',
@ -392,12 +288,6 @@
buNo:'',
},
tableData:'',
partSearchData:{
site:'',
erpPartNo:'',
familyId:'',
partDesc:'',
},
partList:[],
ifDisableFlag:false,
dataForm:{
@ -428,6 +318,16 @@
reviewEngineerList:[],
peEngineerList:[],
cqeList:[],
//线
routingData:{
id:0,
site:'',
codeNo:'',
itemNo:'',
operationDesc:'',
remark:'',
username:'',
}
}
},
mounted () {
@ -459,83 +359,56 @@
}
}
},
searchPartData(){
searchPartDataForSelect(this.partSearchData).then(({data}) => {
this.partList = data.rows;
});
},
newData(){
this.dataForm={
addId:0,
site: this.searchData.site,
newRoute(){
let number=10;
for (let i = 0; i <this.tableData.length ; i++) {
if(number<=this.tableData[i].itemNo){
number=Number(this.tableData[i].itemNo)+10
}
}
this.routingData={
id:0,
site:this.searchData.site,
codeNo:this.searchData.codeNo,
erpPartNo:'',
familyId: '',
familyName:'',
partDesc:'',
quantity:'',
spec:'',
itemNo:number,
operationDesc:'',
remark:'',
username:this.$store.state.user.name,
username:this.$store.state.user.name
}
this.bomFlag=true;
this.routeFlag=true;
},
updateData(row){
this.dataForm={
addId:1,
site: row.site,
this.routingData={
id:row.id,
site:row.site,
codeNo:row.codeNo,
erpPartNo:row.erpPartNo,
familyId: row.familyId,
familyName:row.familyName,
partDesc:row.partDesc,
quantity:row.quantity,
spec:row.spec,
itemNo:row.itemNo,
operationDesc:row.operationDesc,
remark:row.remark,
username:this.$store.state.user.name,
}
this.bomFlag=true;
this.routeFlag=true;
},
bomSave(){
routeSave(){
this.$confirm("是否保存信息?", '保存提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
}).then(() => {
saveBMBom(this.dataForm).then(({data}) => {
saveBMRoute(this.routingData).then(({data}) => {
if (data && data.code === 0) {
this.searchTable();
this.bomFlag=false
this.routeFlag=false
this.$message.success( '操作成功')
} else {
this.$message.error(data.msg)
}
})
}).catch(() => {
return
})
},
erpPartModel(){
if(this.dataForm.addId==1){
return false
}
this.partSearchData={
site:this.searchData.site,
erpPartNo:'',
familyId:'',
partDesc:'',
}
this.searchPartData();
this.partModelFlag=true;
},
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;
},
//
init(inData) {
if(this.dataForm.codeNo!=null&&this.dataForm.codeNo!=''){
@ -548,7 +421,7 @@
},
searchTable(){
if(this.searchData.buNo!='DBE'){
if(this.searchData.buNo==='RDC'){
searchBMRoutingDetail(this.searchData).then(({data}) => {
if(data.rows.length>0){
this.dataForm=data.rows[0]
@ -584,22 +457,21 @@
})
}else {
searchBMBom(this.searchData).then(({data}) => {
searchBMRoute(this.searchData).then(({data}) => {
this.tableData = data.rows;
});
}
},
deleteData(row){
this.$confirm(`是否删除这条代理商信息?`, '提示', {
this.$confirm(`是否删除这条信息?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteBMBom(row).then(({data}) => {
deleteBMRoute(row).then(({data}) => {
if (data && data.code === 0) {
this.searchTable();
this.bomFlag=false
this.$message({
message: '操作成功',
type: 'success',
@ -668,6 +540,7 @@
this.dataForm.peEngineerList=JSON.parse(JSON.stringify(this.peEngineerList));
this.peEngineerFlag=false
},
cqeModal(){
if(this.ifDisableFlag){
return false

22
src/views/modules/sampleManagement/technicalSpecificationDetail/technicalSpecificationDetail.vue

@ -1,19 +1,19 @@
<template>
<div class="mod-config">
<el-tabs class="tabs" tab-position="left" style="height: 200px;" type="border-card" v-model="activeName" @tab-click="refreshCurrentTabTable">
<el-tab-pane label="基本信息" name="baseInfo" v-if="getPageIf('baseInfo')">
<el-tab-pane label="基本信息" name="baseInfo" >
<basicInformation ref="basicInformation" ></basicInformation>
</el-tab-pane>
<el-tab-pane label="客户信息" name="customerInfo" v-if="getPageIf('customerInfo')">
<el-tab-pane label="客户信息" name="customerInfo" >
<customerInfo ref="customerInfo" ></customerInfo>
</el-tab-pane>
<el-tab-pane label="包装信息" name="packageInfo" v-if="getPageIf('packageInfo')">
<el-tab-pane label="包装信息" name="packageInfo" v-if="dataForm.buNo!='RDC'">
<packageInfo ref="packageInfo"></packageInfo>
</el-tab-pane>
<el-tab-pane label="材料信息" name="bom" v-if="getPageIf('bom')">
<el-tab-pane label="材料信息" name="bom" v-if="dataForm.buNo!='RDC'&&dataForm.buNo!='SS'">
<bom ref="bom"></bom>
</el-tab-pane>
<el-tab-pane label="工艺信息" name="routing" v-if="getPageIf('routing')">
<el-tab-pane label="工艺信息" name="routing" v-if="">
<routing ref="routing"></routing>
</el-tab-pane>
<el-tab-pane label="产品技术要求" name="technicalRequirement" v-if="getPageIf('technicalRequirement')">
@ -25,9 +25,9 @@
<el-tab-pane label="PE确认信息" name="PEConfirm" v-if="getPageIf('PEConfirm')">
<PEConfirm ref="PEConfirm"></PEConfirm>
</el-tab-pane>
<el-tab-pane label="印前" name="prepress" v-if="getPageIf('prepress')">
<prepress ref="prepress"></prepress>
</el-tab-pane>
<!-- <el-tab-pane label="印前" name="prepress" v-if="getPageIf('prepress')">-->
<!-- <prepress ref="prepress"></prepress>-->
<!-- </el-tab-pane>-->
<el-tab-pane label="热转移打印" name="overprinting" v-if="getPageIf('overprinting')">
<overprinting ref="overprinting"></overprinting>
</el-tab-pane>
@ -46,7 +46,7 @@
<el-tab-pane label="FQC" name="fqc" v-if="getPageIf('fqc')">
<fqc ref="fqc"></fqc>
</el-tab-pane>
<el-tab-pane label="cqc" name="cqc" v-if="getPageIf('cqc')">
<el-tab-pane label="CQC" name="cqc" v-if="getPageIf('cqc')">
<cqc ref="cqc"></cqc>
</el-tab-pane>
<el-tab-pane label="品质文件" name="qualityDocument" v-if="getPageIf('qualityDocument')">
@ -61,10 +61,10 @@
<el-tab-pane label="报价专员确认信息" name="queteConfirm" v-if="getPageIf('queteConfirm')">
<queteConfirm ref="queteConfirm"></queteConfirm>
</el-tab-pane>
<el-tab-pane label="fai" name="fai" v-if="getPageIf('fai')">
<el-tab-pane label="FAI" name="fai" v-if="getPageIf('fai')">
<fai ref="fai"></fai>
</el-tab-pane>
<el-tab-pane label="cqe确认" name="cqeComfirm" v-if="getPageIf('cqeComfirm')">
<el-tab-pane label="CQE确认" name="cqeComfirm" v-if="getPageIf('cqeComfirm')">
<cqeComfirm ref="cqeComfirm"></cqeComfirm>
</el-tab-pane>
</el-tabs>

Loading…
Cancel
Save