Browse Source

2024-04-22

master
zelian_wu 2 years ago
parent
commit
6ac3212135
  1. 5
      src/api/proofing/proofingInformation.js
  2. 240
      src/views/modules/proofing/requestForProofing.vue
  3. 2
      src/views/modules/quotation/requestForQuote.vue
  4. 44
      src/views/modules/test/requestForTest.vue

5
src/api/proofing/proofingInformation.js

@ -18,6 +18,7 @@ export const proofingInformationSave = data => createAPI(`/plm/proofingInformati
* @returns {*}
*/
export const proofingInformationEdit = data => createAPI(`/plm/proofingInformation/proofingInformationEdit`,'post',data)
export const proofingInformationEditStatus = data => createAPI(`/plm/proofingInformation/proofingInformationEditStatus`,'post',data)
/**
* 打样信息删除
* @param data
@ -97,3 +98,7 @@ export const closeModalDeleteFile = data => createAPI(`/plm/proofingInformation/
*/
export const batchDeleteProofingFile = data => createAPI(`/plm/proofingInformation/batchDeleteProofingFile`,'post',data)
export const searchDelegateAccess = (data)=> createAPI(`/proofing/delegate/access/list`,'post',data)
export const searchDelegateAccessByUser = (data)=> createAPI(`/proofing/delegate/access/user/list`,'post',data)

240
src/views/modules/proofing/requestForProofing.vue

@ -11,7 +11,7 @@
<el-form-item :label="'客户名称'">
<el-input v-model="searchData.customerDesc" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'跟单员'">
<el-form-item :label="'CS'">
<el-input v-model="searchData.trackerName" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'项目料号'">
@ -49,7 +49,7 @@
<el-form-item :label="'项目名称'">
<el-input v-model="searchData.projectName" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'工程师'">
<el-form-item :label="'NPI工程师'">
<el-input v-model="searchData.engineerName" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'优先等级'">
@ -166,7 +166,7 @@
</el-pagination>
<!-- 打样模态框 -->
<el-dialog :title="modalData.title" @close="closeModalDiaLog" @open="getProjectPartList()" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" top="10vh" width="60%">
<el-dialog :title="modalData.title" @close="closeModalDiaLog" @open="getProjectPartList()" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" top="10vh" width="65%">
<el-form label-position="top" ref="modalForm" :model="modalData" :rules="rules">
<el-row :gutter="15">
<el-col :span="8">
@ -174,7 +174,7 @@
<el-col :span="10">
<el-form-item prop="customerNo" label="客户编码">
<span style="cursor: pointer" slot="label" v-if="modalData.flag === '1'" @click="getBaseList(102,1)"><a herf="#">客户编码</a></span>
<el-input :disabled="modalData.flag !== '1'" v-model="modalData.customerNo" :readonly="true"></el-input>
<el-input :disabled="modalData.flag !== '1'" v-model="modalData.customerNo" ></el-input>
</el-form-item>
</el-col>
<el-col :span="14">
@ -202,11 +202,7 @@
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item prop="trackerName">
<!-- <span style="cursor: pointer" slot="label" @click="getBaseList(103,1)"><a herf="#">跟单员</a></span>-->
<span style="cursor: pointer" slot="label" @click="getBaseList(2000)"><a herf="#">跟单员</a></span>
<el-input v-model="modalData.trackerName" readonly></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="15">
@ -242,10 +238,33 @@
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item prop="engineerName">
<!-- <span style="cursor: pointer" slot="label" @click="getBaseList(103,2)"><a herf="#">工程师</a></span>-->
<span style="cursor: pointer" slot="label" @click="getBaseList(2001)"><a herf="#">工程师</a></span>
<el-input v-model="modalData.engineerName" readonly></el-input>
<el-form-item>
<!-- <el-form-item prop="trackerName">-->
<!-- <span style="cursor: pointer" slot="label" @click="getBaseList(103,1)"><a herf="#">CS</a></span>-->
<span style="cursor: pointer" slot="label" @click="getBaseList(2051)"><a herf="#">CS</a></span>
<el-input v-model="modalData.trackerName" ></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item>
<!-- <el-form-item prop="engineerName">-->
<!-- <span style="cursor: pointer" slot="label" @click="getBaseList(103,2)"><a herf="#">NPI工程师</a></span>-->
<span style="cursor: pointer" slot="label" @click="getBaseList(2052)"><a herf="#">NPI工程师</a></span>
<el-input v-model="modalData.engineerName" ></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item>
<!-- <span style="cursor: pointer" slot="label" @click="getBaseList(103,2)"><a herf="#">Approver</a></span>-->
<span style="cursor: pointer" slot="label" @click="getBaseList(2053)"><a herf="#">Approver</a></span>
<el-input v-model="modalData.approverName" ></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item>
<!-- <span style="cursor: pointer" slot="label" @click="getBaseList(103,2)"><a herf="#">Approver</a></span>-->
<span style="cursor: pointer" slot="label" @click="delegateAccessVisible = true"><a herf="#">DelegateAccess</a></span>
<el-input v-model="delegateAccessName" readonly></el-input>
</el-form-item>
</el-col>
</el-row>
@ -923,6 +942,39 @@
<el-button type="primary" @click="contactModelFlag=false">关闭</el-button>
</el-footer>
</el-dialog>
<el-dialog title="人员选择" @open="openDelegateAccess" v-drag :visible.sync="delegateAccessVisible" width="40vw">
<el-form :inline="true" label-position="top" :model="proofingDelegateAccess">
<el-form-item label="编码">
<el-input v-model="proofingDelegateAccess.delegateAccess" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="名称">
<el-input v-model="proofingDelegateAccess.delegateAccessName" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" @click="searchDelegateAccessByUser()">查询</el-button>
</el-form-item>
</el-form>
<el-table v-if="delegateAccessVisible"
:height="300"
:data="baseDelegateAccessList"
@selection-change="handleSelectionChange"
@row-click="(row,column, event)=>handleTableClick(row,column, event,'delegateAccesstTable')"
ref="delegateAccesstTable"
border
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column label="编码" property="delegateAccess" align="left" header-align="center"/>
<el-table-column label="名称" property="delegateAccessName" align="left" header-align="center"/>
</el-table>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="delegateAccessVisible=false">关闭</el-button>
</el-footer>
</el-dialog>
<!-- 上传文件的modal -->
<proofingUploadFile ref="proofingUploadFile" @refreshPageTables="getFileContentData()" v-drag></proofingUploadFile>
@ -958,6 +1010,11 @@
import Chooselist from '@/views/modules/common/Chooselist'
import proofingUploadFile from "./proofing_upload_file"
import DictDataSelect from "../sys/dict-data-select.vue";
import {
proofingInformationEditStatus,
searchDelegateAccess,
searchDelegateAccessByUser
} from "../../../api/proofing/proofingInformation";
export default {
components: {
DictDataSelect,
@ -1004,8 +1061,26 @@
}
},
},
computed:{
delegateAccessName:{
get(){
return this.selectionDelegateAccess.map(item => item.delegateAccessName).join(';')
},
set(val){
}
}
},
data () {
return {
selectionDelegateAccess: [],
delegateAccessVisible:false,
baseDelegateAccessList: [],
proofingDelegateAccess:{
delegateAccess:'',
delegateAccessName:'',
},
activeName:'part',
//
exportData: [],
exportName: '设备分类' + this.dayjs().format('YYYYMMDDHHmmss'),
@ -1060,6 +1135,8 @@
partName: '',
engineer: '',
engineerName: '',
approver: '',
approverName: '',
priorityLevel: '一般',
proofingNumber: 1,
requiredDeliveryDate: '',
@ -1284,7 +1361,7 @@
columnProp: 'trackerName',
headerAlign: 'center',
align: 'center',
columnLabel: '跟单员',
columnLabel: 'CS',
columnHidden: false,
columnImage: false,
columnSortable: false,
@ -1302,7 +1379,25 @@
columnProp: 'engineerName',
headerAlign: 'center',
align: 'center',
columnLabel: '工程师',
columnLabel: 'NPI工程师',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 103001,
serialNumber: '103001Table1EngineerName',
tableId: '103001Table1',
tableName: '打样信息表',
columnProp: 'approverName',
headerAlign: 'center',
align: 'center',
columnLabel: 'Approver',
columnHidden: false,
columnImage: false,
columnSortable: false,
@ -1969,7 +2064,7 @@
})
},
created () {
this.getDataList()
this.getDataList();
},
methods: {
// ======== ========
@ -2157,6 +2252,7 @@
* 报价信息新增模态框
*/
addModal () {
this.searchDelegateAccessByUser();
this.modalDisableFlag = false
this.modalFlag = true
},
@ -2180,6 +2276,8 @@
partName: row.partName,
engineer: row.engineer,
engineerName: row.engineerName,
approver: row.approver,
approverName: row.approverName,
priorityLevel: row.priorityLevel,
proofingNumber: row.proofingNumber,
requiredDeliveryDate: row.requiredDeliveryDate,
@ -2204,6 +2302,7 @@
nextToDo: row.nextToDo,
updateBy: this.$store.state.user.name
}
this.searchDelegateAccessByUser();
this.modalDisableFlag = true
this.modalFlag = true
},
@ -2213,6 +2312,7 @@
* 获取项目物料列表
*/
getProjectPartList () {
this.searchDelegateAccess();
if (!this.modalData.projectId){
this.projectPartList = [];
return
@ -2267,6 +2367,8 @@
return
}
this.confirmProjectPart();
//
this.modalData.delegateAccessList = this.selectionDelegateAccess
if (this.modalData.flag === '1'){
this.saveProofing()
}else {
@ -2339,22 +2441,22 @@
this.$message.warning('请选择项目名称!')
return
}
if (this.modalData.engineer === '' || this.modalData.engineer == null) {
this.$message.warning('请选择工程师编码!')
return
}
if (this.modalData.engineerName === '' || this.modalData.engineerName == null) {
this.$message.warning('请选择工程师名称!')
return
}
// if (this.modalData.engineer === '' || this.modalData.engineer == null) {
// this.$message.warning('')
// return
// }
// if (this.modalData.engineerName === '' || this.modalData.engineerName == null) {
// this.$message.warning('')
// return
// }
if (!this.modalData.proofingNumber && this.modalData.proofingNumber > 0) {
this.$message.warning('请输入正确的打样数量!')
return
}
if (this.modalData.priorityLevel === '' || this.modalData.priorityLevel == null) {
this.$message.warning('请选择优先等级!')
return
}
// if (this.modalData.priorityLevel === '' || this.modalData.priorityLevel == null) {
// this.$message.warning('')
// return
// }
if (!this.modalData.requiredDeliveryDate) {
this.$message.warning('请输入要求交付日期!')
return
@ -2941,14 +3043,18 @@
strVal = this.modalData.projectId
}
}
if (val === 2000) {
if (val === 2051) {
strVal = this.modalData.trackerName
conSql = " and b.site = '" + this.$store.state.user.site + "'"
}
if (val === 2001) {
if (val === 2052) {
strVal = this.modalData.engineerName
conSql = " and b.site = '" + this.$store.state.user.site + "'"
}
if (val === 2053) {
strVal = this.modalData.approverName
conSql = " and b.site = '" + this.$store.state.user.site + "'"
}
this.$refs.baseList.init(val, strVal, conSql)
})
},
@ -2986,14 +3092,18 @@
this.getProjectPartList();
}
}
if (this.tagNo === 2000) {
if (this.tagNo === 2051) {
this.modalData.tracker = val.username
this.modalData.trackerName = val.user_display
}
if (this.tagNo === 2001) {
if (this.tagNo === 2052) {
this.modalData.engineer = val.username
this.modalData.engineerName = val.user_display
}
if (this.tagNo === 2053) {
this.modalData.approver = val.username
this.modalData.approverName = val.user_display
}
},
// ======== ========
@ -3038,6 +3148,8 @@
projectName: '',
tracker: '',
trackerName: '',
approver: '',
approverName: '',
testPartNo: '',
partName: '',
engineer: '',
@ -3065,7 +3177,12 @@
proofingResultStatus: 'B',
nextToDo: '',
createBy: this.$store.state.user.name
}
};
this.selectionDelegateAccess = [];
this.activeName = 'part'
Object.keys(this.proofingDelegateAccess).forEach(key => {
this.proofingDelegateAccess[key] = '';
})
},
checkSelectable(row,index){
if (this.modalData.flag === '1'){
@ -3112,7 +3229,7 @@
let params = JSON.parse(JSON.stringify(row))
params.proofingResultStatus = status;
params.proofingStatus = '下达';
proofingInformationEdit(params).then(({data}) => {
proofingInformationEditStatus(params).then(({data}) => {
if (data && data.code === 0) {
this.getDataList()
this.modalFlag = false
@ -3123,6 +3240,61 @@
})
}
})
},
searchDelegateAccessByUser(){
// ROO7
let params = {
...this.proofingDelegateAccess,
site:this.$store.state.user.site,
}
searchDelegateAccessByUser(params).then(({data})=>{
if (data && data.code === 0) {
this.baseDelegateAccessList = data.rows;
}else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.error(error)
})
},
handleSelectionChange(val){
//
this.selectionDelegateAccess = val;
},
handleTableClick(row,column, event,val){
//
this.$refs[val].toggleRowSelection(row);
},
openDelegateAccess(){
let rows = JSON.parse(JSON.stringify(this.selectionDelegateAccess))
if (rows && rows.length > 0){
this.$nextTick(()=>{
rows.forEach(item => {
let row = this.baseDelegateAccessList.find(row=>row.delegateAccess === item.delegateAccess);
this.$refs.delegateAccesstTable.toggleRowSelection(row);
})
})
}
},
searchDelegateAccess(){
let params = {
site:this.modalData.site,
proofingNo:this.modalData.proofingNo,
}
searchDelegateAccess(params).then(({data})=>{
if (data && data.code === 0){
this.selectionDelegateAccess = data.rows.map(item=>{
return {
delegateAccess:item.delegateAccess,
delegateAccessName:item.delegateAccessName,
}
})
}else {
this.$message.warning(data.msg)
}
}).catch((error)=>{
this.$message.error(error)
})
}
}
}

2
src/views/modules/quotation/requestForQuote.vue

@ -175,7 +175,7 @@
<!-- 询价模态框 -->
<el-dialog :title="modalData.title" v-drag @open="openSaveDataDialog" @close="closeSaveDataDialog"
:close-on-click-modal="false" top="10vh" :visible.sync="modalFlag" width="50%">
:close-on-click-modal="false" top="10vh" :visible.sync="modalFlag" width="65%">
<el-form label-position="top" ref="saveDataForm" :model="modalData" :rules="rules">
<el-row :gutter="10">
<el-col :span="12">

44
src/views/modules/test/requestForTest.vue

@ -8,7 +8,7 @@
<el-form-item :label="'客户名称'">
<el-input v-model="searchData.customerDesc" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'跟单员'">
<el-form-item :label="'Artwork'">
<el-input v-model="searchData.trackerName" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'项目料号'">
@ -46,7 +46,7 @@
<el-form-item :label="'项目名称'">
<el-input v-model="searchData.projectName" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'工程师'">
<el-form-item :label="'TP工程师'">
<el-input v-model="searchData.engineerName" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'优先等级'">
@ -260,27 +260,27 @@
</el-col>
<el-col :span="4">
<el-form-item prop="trackerName">
<!-- <span slot="label" @click="getBaseList(103,1)"><a herf="#">跟单员</a></span>-->
<span style="cursor: pointer" slot="label" @click="getBaseList(2000)"><a herf="#">跟单员</a></span>
<!-- <span slot="label" @click="getBaseList(103,1)"><a herf="#">Artwork</a></span>-->
<span style="cursor: pointer" slot="label" @click="getBaseList(2041)"><a herf="#">Artwork</a></span>
<el-input v-model="modalData.trackerName" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item prop="engineerName">
<!-- <span slot="label" @click="getBaseList(103,2)"><a herf="#">工程师</a></span>-->
<span slot="label" @click="getBaseList(2001)"><a herf="#">工程师</a></span>
<!-- <span slot="label" @click="getBaseList(103,2)"><a herf="#">TP工程师</a></span>-->
<span slot="label" @click="getBaseList(2042)"><a herf="#">TP工程师</a></span>
<el-input v-model="modalData.engineerName" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if="false">
<el-form-item label="设计师">
<span slot="label"><a herf="#" @click="getBaseList(2003)">设计师</a></span>
<el-col :span="4">
<el-form-item label="CQC">
<span slot="label"><a herf="#" @click="getBaseList(2043)">CQC</a></span>
<el-input v-model="modalData.artworkName"></el-input>
</el-form-item>
</el-col>
<el-col :span="4" v-if="false">
<el-form-item label="计划员">
<span slot="label"><a herf="#" @click="getBaseList(2004)">计划员</a></span>
<el-col :span="4">
<el-form-item label="FAI">
<span slot="label"><a herf="#" @click="getBaseList(2044)">FAI</a></span>
<el-input v-model="modalData.plannerName"></el-input>
</el-form-item>
</el-col>
@ -1453,7 +1453,7 @@
columnProp: 'trackerName',
headerAlign: 'center',
align: 'center',
columnLabel: '跟单员',
columnLabel: 'Artwork',
columnHidden: false,
columnImage: false,
columnSortable: false,
@ -1471,7 +1471,7 @@
columnProp: 'engineerName',
headerAlign: 'center',
align: 'center',
columnLabel: '工程师',
columnLabel: 'TP工程师',
columnHidden: false,
columnImage: false,
columnSortable: false,
@ -2995,19 +2995,19 @@
strVal = this.modalData.projectId
}
}
if (val === 2000) {
if (val === 2041) {
strVal = this.modalData.trackerName
conSql = " and b.site = '" + this.$store.state.user.site + "'"
}
if (val === 2001) {
if (val === 2042) {
strVal = this.modalData.engineerName
conSql = " and b.site = '" + this.$store.state.user.site + "'"
}
if (val === 2003) {
if (val === 2043) {
strVal = this.modalData.artworkName
conSql = " and b.site = '" + this.$store.state.user.site + "'"
}
if (val === 2004) {
if (val === 2044) {
strVal = this.modalData.plannerName
conSql = " and b.site = '" + this.$store.state.user.site + "'"
}
@ -3048,19 +3048,19 @@
this.getProjectPartList();
}
}
if (this.tagNo === 2000) {
if (this.tagNo === 2041) {
this.modalData.tracker = val.username
this.modalData.trackerName = val.user_display
}
if (this.tagNo === 2001) {
if (this.tagNo === 2042) {
this.modalData.engineer = val.username
this.modalData.engineerName = val.user_display
}
if (this.tagNo === 2003){
if (this.tagNo === 2043){
this.modalData.artwork = val.username;
this.modalData.artworkName = val.user_display;
}
if (this.tagNo === 2004){
if (this.tagNo === 2044){
this.modalData.planner = val.username;
this.modalData.plannerName = val.user_display;
}

Loading…
Cancel
Save