Browse Source

2024.9.8 产品文档收集优化

java8
yuejiayang 1 year ago
parent
commit
f62bc8a644
  1. 2
      src/api/eam/eamProject.js
  2. 2
      src/api/factory/site.js
  3. 7
      src/views/modules/eam/eamDocumentTypeDefinition.vue
  4. 230
      src/views/modules/eam/eamProjectInfo.vue
  5. 100
      src/views/modules/eam/eamProjectInfoForUploads.vue
  6. 259
      src/views/modules/eam/eamProjectPartInfo.vue

2
src/api/eam/eamProject.js

@ -13,6 +13,8 @@ export const eamProjectPartInfoSave= data => createAPI(`/pms/eamProject/eamProje
export const eamProjectPartInfoEdit= data => createAPI(`/pms/eamProject/eamProjectPartInfoEdit`,'post',data)
export const eamProjectPartInfoDelete= data => createAPI(`/pms/eamProject/eamProjectPartInfoDelete`,'post',data)
export const searchConfirmatorList= data => createAPI(`/pms/eamProject/searchConfirmatorList`,'post',data)
export const addConfirmatory= data => createAPI(`/pms/eamProject/addConfirmatory`,'post',data)
export const deleteConfirmatory= data => createAPI(`/pms/eamProject/deleteConfirmatory`,'post',data)
export const saveProductionValidationDocumentConfirmator= data => createAPI(`/pms/eamProject/saveProductionValidationDocumentConfirmator`,'post',data)
export const saveProductionValidationDocument= data => createAPI(`/pms/eamProject/saveProductionValidationDocument`,'post',data)
export const deleteConfirmatorInformation= data => createAPI(`/pms/eamProject/deleteConfirmatorInformation`,'post',data)

2
src/api/factory/site.js

@ -47,5 +47,7 @@ export const searchBusinessInfo5 = data => createAPI(`/site/searchBusinessInfo5`
export const searchBusinessInfo6 = data => createAPI(`/site/searchBusinessInfo6`,'post',data)
export const searchBusinessInfo7 = data => createAPI(`/site/searchBusinessInfo7`,'post',data)
export const getResponsibleDepartment = data => createAPI(`/site/getResponsibleDepartment`,'post',data)

7
src/views/modules/eam/eamDocumentTypeDefinition.vue

@ -693,7 +693,12 @@
this.modalData.site = this.$store.state.user.site
getResponsibleDepartment(this.modalData).then(({data}) => {
if (data.code === 0) {
this.responsibleDepartmentList = data.rows
data.rows.forEach((item) => {
// roleNoA
if (item.roleNo.startsWith('R')) {
this.responsibleDepartmentList.push(item)
}
})
}
})
},

230
src/views/modules/eam/eamProjectInfo.vue

@ -269,6 +269,10 @@
<span slot="label" style="" @click="MFGlag = true"><a herf="#">MFG</a></span>
<el-input v-model="modalData.cManufactureEngineerName" disabled style="width: 170px"></el-input>
</el-form-item>
<el-form-item label="文档工程师" prop="docEngineerName" :rules="rules.docEngineerName">
<span slot="label" style="" @click="docEngineerFlag = true"><a herf="#">文档工程师</a></span>
<el-input v-model="modalData.docEngineerName" disabled style="width: 110px"></el-input>
</el-form-item>
</el-form>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="saveData()">保存</el-button>
@ -651,6 +655,57 @@
</el-footer>
</el-dialog>
<!--文档工程师选择弹框-->
<el-dialog title="文档工程师" @close="closeDocEngineerInfoDialog" @open="openDocEngineerInfoDialog" :visible.sync="docEngineerFlag" width="559px" v-drag>
<el-form inline="inline" label-position="top" :model="searchBusinessData7" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="用户账号">
<el-input v-model="searchBusinessData7.username" clearable style="width: 110px"></el-input>
</el-form-item>
<el-form-item label="用户名">
<el-input v-model="searchBusinessData7.userDisplay" clearable style="width: 110px"></el-input>
</el-form-item>
<el-form-item label="是否在用">
<el-select filterable v-model="searchBusinessData7.active" style="width: 140px">
<el-option label="是" value="Y"></el-option>
<el-option label="否" value="N"></el-option>
</el-select>
</el-form-item>
<el-form-item label=" ">
<el-button type="primary" style="padding: 3px 12px" @click="searchBusinessInfoList7()">查询</el-button>
</el-form-item>
</el-form>
<el-table
:height="height + 110"
:data="businessDataList7"
stripe
highlight-current-row
border
@row-dblclick="docEngineerRowDblclick"
style="width: 100%;">
<el-table-column
prop="username"
header-align="center"
align="center"
label="用户账号">
</el-table-column>
<el-table-column
prop="userDisplay"
header-align="center"
align="center"
label="用户名">
</el-table-column>
<el-table-column
prop="active"
header-align="center"
align="center"
label="是否在用">
</el-table-column>
</el-table>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button @click="docEngineerFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
<el-tabs style="height:100%; margin-top: 0px; width: 100%;" v-model="activeName" class="customer-tab" type="border-card" @tab-click="tabClick">
<el-tab-pane label="项目物料" name="projectPart">
<el-table
@ -668,7 +723,7 @@
fixed="left"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" @click="updatePartModal(scope.row)">编辑</a>
<a type="text" size="small" v-if="scope.row.testPartNo !== 'P000000'" @click="updatePartModal(scope.row)">编辑</a>
<a type="text" size="small" @click="toMes(scope.row)">详情</a>
<a type="text" size="small" @click="deletePartModal(scope.row)">删除</a>
</template>
@ -728,6 +783,7 @@ import row from "element-ui/packages/row";
import 'moment/locale/zh-cn';
import {EventBus} from "../../../main";
import {queryCustomerList} from "../../../api/customer/customer";
import {searchBusinessInfo7} from "../../../api/factory/site";
/*打样记录組件*/
export default {
@ -793,6 +849,7 @@ import {queryCustomerList} from "../../../api/customer/customer";
businessDataList4: [],
businessDataList5: [],
businessDataList6: [],
businessDataList7: [],
dataList: [],
projectPartList: [],
// ======== ========
@ -809,6 +866,7 @@ import {queryCustomerList} from "../../../api/customer/customer";
IPQCFlag:false,
FQCFlag:false,
MFGlag:false,
docEngineerFlag:false,
newCustomerFlag:false,
modalData:{
flag:'',
@ -844,6 +902,8 @@ import {queryCustomerList} from "../../../api/customer/customer";
cQualityEngineer3Name:'',
cManufactureEngineer:'',
cManufactureEngineerName:'',
docEngineer:'',
docEngineerName:'',
engineer:'',
engineerName:'',
//projectCreationDate
@ -918,6 +978,15 @@ import {queryCustomerList} from "../../../api/customer/customer";
page: 1,
limit: 10,
},
searchBusinessData7:{
site: this.$store.state.user.site,
username: '',
roleDesc: '',
userDisplay: '',
active: '',
page: 1,
limit: 10,
},
activeName: 'projectPart',
//
columnList: [
@ -1210,6 +1279,24 @@ import {queryCustomerList} from "../../../api/customer/customer";
fixed: '',
columnWidth: 120,
},
{
userId: this.$store.state.user.name,
functionId: 101001014,
serialNumber: '101001014Table1DocEngineer',
tableId: "101001014Table1",
tableName: "项目信息表",
columnProp: 'docEngineerName',
headerAlign: "center",
align: "left",
columnLabel: '文档工程师',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120,
},
{
userId: this.$store.state.user.name,
functionId: 101001014,
@ -1574,6 +1661,24 @@ import {queryCustomerList} from "../../../api/customer/customer";
fixed: '',
columnWidth: 120,
},
{
userId: this.$store.state.user.name,
functionId: 101001014,
serialNumber: '101001014Table1DocEngineer',
tableId: "101001014Table1",
tableName: "项目信息表",
columnProp: 'docEngineerName',
headerAlign: "center",
align: "left",
columnLabel: '文档工程师',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120,
},
{
userId: this.$store.state.user.name,
functionId: 101001014,
@ -1822,6 +1927,20 @@ import {queryCustomerList} from "../../../api/customer/customer";
trigger: ['blur','change']
}
],
docEngineer:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
docEngineerName:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
projectManagerName:[
{
required: true,
@ -2256,14 +2375,18 @@ import {queryCustomerList} from "../../../api/customer/customer";
item.cQualityEngineer2Name = item.cQualityEngineer2.split('-')[1]
item.cQualityEngineer3Name = item.cQualityEngineer3.split('-')[1]
item.cManufactureEngineerName = item.cManufactureEngineer.split('-')[1]
if (item.docEngineer != null && item.docEngineer !== ''){
item.docEngineerName = item.docEngineer.split('-')[1]
}
})
console.log(this.totalPage)
//
if (this.totalPage > 0) {
//
this.$refs.mainTable.setCurrentRow(this.dataList[0])
// table
this.refreshCurrentTabTable()
this.projectPartClickRow(this.dataList[0])
this.projectPartClickRow(this.projectPartList[0])
}
}
})
@ -2330,6 +2453,8 @@ import {queryCustomerList} from "../../../api/customer/customer";
cQualityEngineer3Name:'',
cManufactureEngineer: '',
cManufactureEngineerName: '',
docEngineer: '',
docEngineerName: '',
projectCreationDate:new Date(),
createDate: '',
// active: 'Y',
@ -2371,12 +2496,16 @@ import {queryCustomerList} from "../../../api/customer/customer";
cQualityEngineer3Name: row.cQualityEngineer3.split('-')[1], //
cManufactureEngineer: row.cManufactureEngineer,
cManufactureEngineerName: row.cManufactureEngineer.split('-')[1], //
docEngineer: row.docEngineer,
projectCreationDate: row.projectCreationDate,
status: row.status,
// active: row.active,
createBy: this.$store.state.user.name,
updateBy: this.$store.state.user.name,
}
if (row.docEngineer != null && row.docEngineer !== ''){
this.modalData.docEngineerName= row.docEngineer.split('-')[1] //
}
this.modalDisableFlag = true
this.modalPartDisableFlag = false
this.modalFlag = true
@ -2474,6 +2603,10 @@ import {queryCustomerList} from "../../../api/customer/customer";
this.$message.warning('请输入MFG!')
return
}
if (this.modalData.docEngineer === '' || this.modalData.docEngineer == null) {
this.$message.warning('请输入文档工程师!')
return
}
// if (this.modalData.active === '' || this.modalData.active == null) {
// this.$message.warning('')
// return
@ -2501,6 +2634,7 @@ import {queryCustomerList} from "../../../api/customer/customer";
cQualityEngineer2: this.modalData.cQualityEngineer2,
cQualityEngineer3: this.modalData.cQualityEngineer3,
cManufactureEngineer: this.modalData.cManufactureEngineer,
docEngineer: this.modalData.docEngineer,
projectCreationDate: this.modalData.projectCreationDate,
createDate: this.modalData.createDate,
createBy: this.modalData.createBy,
@ -2569,6 +2703,7 @@ import {queryCustomerList} from "../../../api/customer/customer";
cQualityEngineer2: this.modalData.cQualityEngineer2,
cQualityEngineer3: this.modalData.cQualityEngineer3,
cManufactureEngineer: this.modalData.cManufactureEngineer,
docEngineer: this.modalData.docEngineer,
projectCreationDate: this.modalData.projectCreationDate,
createDate: this.modalData.createDate,
createBy: this.modalData.createBy,
@ -2618,6 +2753,38 @@ import {queryCustomerList} from "../../../api/customer/customer";
})
}
} else if (this.modalData.flag === '2'){
let inData = {
projectId : this.modalData.projectId,
projectNo: this.modalData.projectNo,
projectDesc: this.modalData.projectDesc,
projectCategory: this.modalData.projectCategory,
projectCloseDate: this.modalData.projectCloseDate,
needDate: this.modalData.needDate,
cProjectRegion: this.modalData.cProjectRegion,
projectManager: this.modalData.projectManager,
projectOwner: this.modalData.projectOwner,
engineer: this.modalData.engineer,
cQualityEngineer1: this.modalData.cQualityEngineer1,
cQualityEngineer2: this.modalData.cQualityEngineer2,
cQualityEngineer3: this.modalData.cQualityEngineer3,
cManufactureEngineer: this.modalData.cManufactureEngineer,
docEngineer: this.modalData.docEngineer,
projectCreationDate: this.modalData.projectCreationDate,
createDate: this.modalData.createDate,
createBy: this.modalData.createBy,
updateBy: this.modalData.updateBy,
site: this.modalData.site,
bu: this.modalData.bu,
customerNo: this.modalData.customerNo,
customerDesc: this.modalData.customerDesc,
status: this.modalData.status,
active: this.modalData.active,
closeDate : this.modalData.projectCloseDate,
buildDate : this.modalData.projectCreationDate,
priority: this.modalData.priority,
testPartNo: 'P000000',
partDesc: '无物料',
}
if (new Date(this.modalData.needDate).getTime() < new Date().getTime()) {
this.$confirm('预计完成日期小于当前日期,确定继续保存?', '提示', {
confirmButtonText: '确定',
@ -2626,6 +2793,16 @@ import {queryCustomerList} from "../../../api/customer/customer";
}).then(() => {
eamProjectInfoEdit(this.modalData).then(({data}) => {
if (data && data.code === '0') {
if (this.projectPartList.length !== 0 && this.projectPartList[0].testPartNo === 'P000000') {
inData.projectPartId = this.projectPartList[0].projectPartId
eamProjectPartInfoEdit(inData).then(({data}) => {
if (data && data.code !== 0) {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
}
this.getDataList()
this.modalFlag=false
EventBus.$emit('updateProjectPartInfo')
@ -2653,6 +2830,16 @@ import {queryCustomerList} from "../../../api/customer/customer";
else {
eamProjectInfoEdit(this.modalData).then(({data}) => {
if (data && data.code === '0') {
if (this.projectPartList.length !== 0 && this.projectPartList[0].testPartNo === 'P000000') {
inData.projectPartId = this.projectPartList[0].projectPartId
eamProjectPartInfoEdit(inData).then(({data}) => {
if (data && data.code !== 0) {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
}
this.getDataList()
this.modalFlag=false
EventBus.$emit('updateProjectPartInfo')
@ -2776,6 +2963,13 @@ import {queryCustomerList} from "../../../api/customer/customer";
}
})
},
searchBusinessInfoList7 () {
searchBusinessInfo7(this.searchBusinessData7).then(({data}) => {
if (data && data.code === 0){
this.businessDataList7 = data.rows;
}
})
},
//
openProjectManagerInfoDialog () {
//
@ -2806,6 +3000,11 @@ import {queryCustomerList} from "../../../api/customer/customer";
//
this.searchBusinessInfoList5();
},
//
openDocEngineerInfoDialog () {
//
this.searchBusinessInfoList7();
},
openEngineer6InfoDialog () {
//
this.searchBusinessInfoList6();
@ -2843,6 +3042,11 @@ import {queryCustomerList} from "../../../api/customer/customer";
this.businessDataList5 = []
this.MFGlag = false
},
//
closeDocEngineerInfoDialog () {
this.businessDataList7 = []
this.docEngineerFlag = false
},
projectManagerRowDblclick(row) {
if (row && row.username && row.userDisplay) {
this.modalData.projectManager = row.username + '-' + row.userDisplay;
@ -2882,6 +3086,11 @@ import {queryCustomerList} from "../../../api/customer/customer";
this.modalData.cManufactureEngineerName = this.modalData.cManufactureEngineer.split('-')[1] //
this.MFGlag = false
},
docEngineerRowDblclick (row) {
this.modalData.docEngineer = row.username + '-' + row.userDisplay
this.modalData.docEngineerName = this.modalData.docEngineer.split('-')[1] //
this.docEngineerFlag = false
},
closeClear () {
this.modalData.bu = ''
this.modalData.projectNo = ''
@ -2901,6 +3110,12 @@ import {queryCustomerList} from "../../../api/customer/customer";
this.modalData.cQualityEngineer1Name = ''
this.modalData.cQualityEngineer2 = ''
this.modalData.cQualityEngineer2Name = ''
this.modalData.cQualityEngineer3 = ''
this.modalData.cQualityEngineer3Name = ''
this.modalData.cManufactureEngineer = ''
this.modalData.cManufactureEngineerName = ''
this.modalData.docEngineer = ''
this.modalData.docEngineerName = ''
this.modalData.projectCreationDate = new Date()
},
@ -2926,6 +3141,9 @@ import {queryCustomerList} from "../../../api/customer/customer";
item.cQualityEngineer2Name = item.cQualityEngineer2.split('-')[1]
item.cQualityEngineer3Name = item.cQualityEngineer3.split('-')[1]
item.cManufactureEngineerName = item.cManufactureEngineer.split('-')[1]
if (item.docEngineer != null && item.docEngineer !== ''){
item.docEngineerName = item.docEngineer.split('-')[1]
}
})
}
})
@ -2962,12 +3180,16 @@ import {queryCustomerList} from "../../../api/customer/customer";
cQualityEngineer3Name: row.cQualityEngineer3.split('-')[1], //
cManufactureEngineer: row.cManufactureEngineer,
cManufactureEngineerName: row.cManufactureEngineer.split('-')[1], //
docEngineer: row.docEngineer,
projectCreationDate: row.projectCreationDate,
status: '草稿',
// active: row.active,
createBy: this.$store.state.user.name,
updateBy: this.$store.state.user.name,
}
if (row.docEngineer != null && row.docEngineer !== ''){
this.modalData.docEngineerName= row.docEngineer.split('-')[1] //
}
this.modalDisableFlag = true
this.modalPartDisableFlag = true
this.modalFlag = true
@ -3004,12 +3226,16 @@ import {queryCustomerList} from "../../../api/customer/customer";
cQualityEngineer3Name: row.cQualityEngineer3.split('-')[1], //
cManufactureEngineer: row.cManufactureEngineer,
cManufactureEngineerName: row.cManufactureEngineer.split('-')[1], //
docEngineer: row.docEngineer,
projectCreationDate: row.buildDate,
status: row.status,
// active: row.active,
createBy: this.$store.state.user.name,
updateBy: this.$store.state.user.name,
}
if (row.docEngineer != null && row.docEngineer !== ''){
this.modalData.docEngineerName= row.docEngineer.split('-')[1] //
}
this.modalDisableFlag = true
this.modalPartDisableFlag = true
this.modalFlag = true

100
src/views/modules/eam/eamProjectInfoForUploads.vue

@ -107,10 +107,11 @@
label="操作"
align="center"
fixed="left"
width="110">
width="150">
<template slot-scope="scope">
<a type="text" size="small" @click="toMes(scope.row)">项目信息</a>
<a type="text" size="small" @click="uploadFile(scope.row)">上传文件</a>
<a type="text" size="small" v-if="warnFlag" @click="warnSendMail(scope.row)">提醒</a>
</template>
</el-table-column>
</el-table>
@ -141,7 +142,7 @@ import {
searchProjectOverUploadsDocumentList,
searchConfirmProgressList, searchOverConfirmProgressList, getProofDocument, searchAllProjectUploadsDocumentList
} from "../../../api/eam/eamProofing";
import {searchConfirmProgressPusherList} from "../../../api/eam/eamProject";
import {searchConfirmProgressPusherList, warnSendMailHandle} from "../../../api/eam/eamProject";
import {getSiteAndBuByUserName} from "../../../api/qc/qc";
import {removeUserFavorite, saveUserFavorite, userFavoriteList} from "../../../api/userFavorite";
import {getTableDefaultListLanguage, getTableUserListLanguage} from "../../../api/table";
@ -165,6 +166,7 @@ export default {
uploadDialog:false,
isEditable: true,
isMassProductionStage: true,
warnFlag: false,
projectAllDocumentCurrentRow: {},
searchData: {
site: this.$store.state.user.site,
@ -1036,41 +1038,81 @@ export default {
}else {
searchAllProjectUploadsDocumentList(this.searchData).then(({data}) => {
if (data.code === 0) {
this.dataList = data.page.list
this.pageIndex = data.page.currPage
this.pageSize = data.page.pageSize
this.totalPage = data.page.totalCount
this.dataList.forEach((item) => {
item.projectManagerName = item.projectManager.split('-')[1]
item.projectOwnerName = item.projectOwner.split('-')[1]
item.engineerName = item.engineer.split('-')[1]
item.cQualityEngineer1Name = item.cQualityEngineer1.split('-')[1]
item.cQualityEngineer2Name = item.cQualityEngineer2.split('-')[1]
item.cQualityEngineer3Name = item.cQualityEngineer3.split('-')[1]
item.cManufactureEngineerName = item.cManufactureEngineer.split('-')[1]
let pjmList = []
// data.page.list
data.list.forEach((item) => {
if (!pjmList.includes(item.projectOwner.split('-')[0])) {
pjmList.push(item.projectOwner.split('-')[0])
}
})
for (let i = 0; i < this.dataList.length; i++) {
if (this.dataList[i].responsibleDepartment === 'R001') {
this.dataList[i].projectLeader = this.dataList[i].projectManager.split("-")[1]
} else if (this.dataList[i].responsibleDepartment === 'R002') {
this.dataList[i].projectLeader = this.dataList[i].projectOwner.split("-")[1]
} else if (this.dataList[i].responsibleDepartment === 'R004') {
this.dataList[i].projectLeader = this.dataList[i].engineer.split("-")[1]
} else if (this.dataList[i].responsibleDepartment === 'R005') {
this.dataList[i].projectLeader = this.dataList[i].cQualityEngineer1.split("-")[1]
} else if (this.dataList[i].responsibleDepartment === 'R007') {
this.dataList[i].projectLeader = this.dataList[i].cQualityEngineer2.split("-")[1]
} else if (this.dataList[i].responsibleDepartment === 'R008') {
this.dataList[i].projectLeader = this.dataList[i].cQualityEngineer3.split("-")[1]
} else if (this.dataList[i].responsibleDepartment === 'R009') {
this.dataList[i].projectLeader = this.dataList[i].cManufactureEngineer.split("-")[1]
console.log(pjmList)
console.log(this.$store.state.user.name)
if (pjmList.includes(this.$store.state.user.name)){
this.warnFlag = true
this.dataList = data.page.list
this.pageIndex = data.page.currPage
this.pageSize = data.page.pageSize
this.totalPage = data.page.totalCount
this.dataList.forEach((item) => {
item.projectManagerName = item.projectManager.split('-')[1]
item.projectOwnerName = item.projectOwner.split('-')[1]
item.engineerName = item.engineer.split('-')[1]
item.cQualityEngineer1Name = item.cQualityEngineer1.split('-')[1]
item.cQualityEngineer2Name = item.cQualityEngineer2.split('-')[1]
item.cQualityEngineer3Name = item.cQualityEngineer3.split('-')[1]
item.cManufactureEngineerName = item.cManufactureEngineer.split('-')[1]
})
for (let i = 0; i < this.dataList.length; i++) {
if (this.dataList[i].responsibleDepartment === 'R001') {
this.dataList[i].projectLeader = this.dataList[i].projectManager.split("-")[1]
} else if (this.dataList[i].responsibleDepartment === 'R002') {
this.dataList[i].projectLeader = this.dataList[i].projectOwner.split("-")[1]
} else if (this.dataList[i].responsibleDepartment === 'R004') {
this.dataList[i].projectLeader = this.dataList[i].engineer.split("-")[1]
} else if (this.dataList[i].responsibleDepartment === 'R005') {
this.dataList[i].projectLeader = this.dataList[i].cQualityEngineer1.split("-")[1]
} else if (this.dataList[i].responsibleDepartment === 'R007') {
this.dataList[i].projectLeader = this.dataList[i].cQualityEngineer2.split("-")[1]
} else if (this.dataList[i].responsibleDepartment === 'R008') {
this.dataList[i].projectLeader = this.dataList[i].cQualityEngineer3.split("-")[1]
} else if (this.dataList[i].responsibleDepartment === 'R009') {
this.dataList[i].projectLeader = this.dataList[i].cManufactureEngineer.split("-")[1]
}
}
} else {
this.$route.query.flag = '1'
}
}
})
}
},
warnSendMail(row) {
this.$confirm('确认发送提醒?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
warnSendMailHandle(row).then(({data}) => {
if (data && data.code === 0) {
this.$message({
message: '发送成功',
type: 'success'
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消发送'
});
});
},
//
sizeChangeHandle (val) {
this.pageSize = val

259
src/views/modules/eam/eamProjectPartInfo.vue

@ -262,6 +262,16 @@
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<el-table-column
header-align="center"
align="center"
width="80"
fixed="left"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" v-if="shouldShowDelete(scope.row)" @click="viewMassDocumentFile(scope.row)">查看附件</a>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="生产文档确认进度" name="productionDocumentsConfirmProgress">
@ -522,26 +532,97 @@
</el-table>
</el-tab-pane>
<el-tab-pane label="确认人员清单" name="confirmatory" style="width: 104%">
<el-table
:height="height + 105"
:data="projectAllDocumentConfirmatorList"
border
style="width: 100%;margin-top: -13px;margin-left: -14px !important;">
<el-table-column
prop="username"
header-align="center"
align="center"
min-width="60"
label="用户账号">
</el-table-column>
<el-table-column
prop="userDisplay"
header-align="center"
align="center"
min-width="80"
label="用户名">
</el-table-column>
</el-table>
<div style="font-size: 12px;margin-top: -15px">
<el-form :inline="true" label-position="top" :model="confirmatoryData">
<el-form-item :label="'用户账号'">
<el-input v-model="confirmatoryData.username" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="'用户名称'">
<el-input v-model="confirmatoryData.userDisplay" clearable style="width: 200px"></el-input>
</el-form-item>
<el-form-item :label="' '">
<el-button type="primary" @click="searchConfirmatorList()">查询</el-button>
</el-form-item>
</el-form>
</div>
<el-container style="margin-top: -5px;margin-left: -10px">
<el-main style="width: 400px; padding: 1px">
<span style="font-size: 12px" >可选人员</span>
<el-table
:height="height + 200"
:data="projectANotDocumentConfirmatorList"
border
ref="confirmatoryTable1"
@row-click="confirmatoryClickRow1"
@selection-change="selectionConfirmatory1"
highlight-current-row
style="width: 100%">
<el-table-column
type="selection"
header-align="center"
align="center"
:selectable="selectFlag"
width="50">
</el-table-column>
<el-table-column
prop="username"
header-align="center"
align="center"
min-width="80"
label="用户账号">
</el-table-column>
<el-table-column
prop="userDisplay"
header-align="center"
align="center"
min-width="120"
label="用户名称">
</el-table-column>
</el-table>
</el-main>
<el-main style="width: 111px;padding: 1px">
<div style="margin-top: 126px;margin-left: 7px">
<el-button type="primary" @click="addConfirmatory()">添加>></el-button>
</div>
<div style="margin-top: 15px;margin-left: 7px">
<el-button type="primary" @click="deleteConfirmatory()">删除<<</el-button>
</div>
</el-main>
<el-main style="width: 400px;padding: 1px;margin-left: -13px">
<span style="font-size: 12px" >确认人员</span>
<el-table
:height="height + 200"
:data="projectAllDocumentConfirmatorList"
border
ref="confirmatoryTable2"
@row-click="confirmatoryClickRow2"
@selection-change="selectionConfirmatory2"
highlight-current-row
style="width: 96%">
<el-table-column
type="selection"
header-align="center"
align="center"
:selectable="selectFlag"
width="50">
</el-table-column>
<el-table-column
prop="username"
header-align="center"
align="center"
min-width="80"
label="用户账号">
</el-table-column>
<el-table-column
prop="userDisplay"
header-align="center"
align="center"
min-width="120"
label="用户名称">
</el-table-column>
</el-table>
</el-main>
</el-container>
</el-tab-pane>
</el-tabs>
<div slot="footer" class="dialog-footer" style="margin-top: 6px">
@ -779,7 +860,7 @@ import {
confirmatorSendMailHandle,
eamProjectPartSearch,
eamProjectPartInfoEdit,
getFinalPartDesc
getFinalPartDesc, addConfirmatory, deleteConfirmatory
} from "../../../api/eam/eamProject";
import row from "element-ui/packages/row";
import moment from 'moment';
@ -903,7 +984,11 @@ import {EventBus} from "../../../main";
projectDocumentSelection: [],
projectAllDocumentList: [],
projectAllDocumentList1: [],
confirmatoryList: [],
projectAllDocumentConfirmatorList: [],
projectANotDocumentConfirmatorList: [],
confirmatorySelection1: [],
confirmatorySelection2: [],
proofDocumentListDefinition: [],
confirmProgressPusherList: [],
confirmProgressDocumentList: [],
@ -979,6 +1064,8 @@ import {EventBus} from "../../../main";
cQualityEngineer3Name:'',
cManufactureEngineer:'',
cManufactureEngineerName:'',
docEngineer:'',
docEngineerName:'',
engineer:'',
engineerName:'',
//projectCreationDate
@ -1073,6 +1160,10 @@ import {EventBus} from "../../../main";
page: 1,
limit: 1000
},
confirmatoryData:{
username: '',
userDisplay: ''
},
departmentList:[],
activeName: 'proofRecord',
activeName1: 'selectDocument',
@ -1409,6 +1500,24 @@ import {EventBus} from "../../../main";
fixed: '',
columnWidth: 120,
},
{
userId: this.$store.state.user.name,
functionId: 101001014,
serialNumber: '101001014Table1DocEngineer',
tableId: "101001014Table1",
tableName: "项目信息表",
columnProp: 'docEngineerName',
headerAlign: "center",
align: "left",
columnLabel: '文档工程师',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120,
},
{
userId: this.$store.state.user.name,
functionId: 101001014,
@ -2040,6 +2149,20 @@ import {EventBus} from "../../../main";
trigger: ['blur','change']
}
],
docEngineer:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
docEngineerName:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
projectManagerName:[
{
required: true,
@ -2384,6 +2507,9 @@ import {EventBus} from "../../../main";
item.cQualityEngineer2Name = item.cQualityEngineer2.split('-')[1]
item.cQualityEngineer3Name = item.cQualityEngineer3.split('-')[1]
item.cManufactureEngineerName = item.cManufactureEngineer.split('-')[1]
if (item.docEngineer != null && item.docEngineer !== ''){
item.docEngineerName = item.docEngineer.split('-')[1]
}
})
//
if (this.totalPage > 0) {
@ -2412,6 +2538,9 @@ import {EventBus} from "../../../main";
item.cQualityEngineer2Name = item.cQualityEngineer2.split('-')[1]
item.cQualityEngineer3Name = item.cQualityEngineer3.split('-')[1]
item.cManufactureEngineerName = item.cManufactureEngineer.split('-')[1]
if (item.docEngineer != null && item.docEngineer !== ''){
item.docEngineerName = item.docEngineer.split('-')[1]
}
})
//
if (this.totalPage > 0) {
@ -2527,12 +2656,16 @@ import {EventBus} from "../../../main";
cQualityEngineer3Name: row.cQualityEngineer3.split('-')[1], //
cManufactureEngineer: row.cManufactureEngineer,
cManufactureEngineerName: row.cManufactureEngineer.split('-')[1], //
docEngineer: row.docEngineer,
finalPartNo: row.finalPartNo,
finalPartDesc: row.finalPartDesc,
// active: row.active,
createBy: this.$store.state.user.name,
updateBy: this.$store.state.user.name,
}
if (row.docEngineer != null && row.docEngineer !== ''){
this.modalData.docEngineerName= row.docEngineer.split('-')[1] //
}
this.getFinalPartDesc()
this.formalPartNoFlag = true
},
@ -2558,6 +2691,7 @@ import {EventBus} from "../../../main";
cQualityEngineer2: row.cQualityEngineer2,
cQualityEngineer3: row.cQualityEngineer3,
cManufactureEngineer: row.cManufactureEngineer,
docEngineer: row.docEngineer,
proofingNo: '',
rrequiredDeliveryDate: '',
createDate: new Date(),
@ -2596,12 +2730,16 @@ import {EventBus} from "../../../main";
cQualityEngineer3Name: row.cQualityEngineer3.split('-')[1], //
cManufactureEngineer: row.cManufactureEngineer,
cManufactureEngineerName: row.cManufactureEngineer.split('-')[1], //
docEngineer: row.docEngineer,
buildDate: row.buildDate,
status: row.status,
// active: row.active,
createBy: this.$store.state.user.name,
updateBy: this.$store.state.user.name,
}
if (row.docEngineer != null && row.docEngineer !== ''){
this.modalData.docEngineerName= row.docEngineer.split('-')[1] //
}
if (row.projectOwner.split('-')[0] === this.$store.state.user.name) {
if (row.status === '草稿') {
this.modalData.status = '进行中'
@ -2713,6 +2851,7 @@ import {EventBus} from "../../../main";
cQualityEngineer2: this.proofingCurrentRow.cQualityEngineer2,
cQualityEngineer3: this.proofingCurrentRow.cQualityEngineer3,
cManufactureEngineer: this.proofingCurrentRow.cManufactureEngineer,
docEngineer: this.proofingCurrentRow.docEngineer,
// username:this.$store.state.user.name,
page: 1,
limit: 1000
@ -2841,6 +2980,11 @@ import {EventBus} from "../../../main";
})
}
},
selectFlag () {
return true
},
closeClear () {
this.modalData.bu = ''
this.modalData.projectNo = ''
@ -3032,6 +3176,10 @@ import {EventBus} from "../../../main";
this.projectOtherDocumentList[i].projectLeader = this.proofingCurrentRow.cQualityEngineer3.split("-")[1]
} else if(this.projectOtherDocumentList[i].responsibleDepartment === 'MFQ'){
this.projectOtherDocumentList[i].projectLeader = this.proofingCurrentRow.cManufactureEngineer.split("-")[1]
}else if(this.projectOtherDocumentList[i].responsibleDepartment === 'DocEngineer'){
if (this.proofingCurrentRow.docEngineer != null && this.proofingCurrentRow.docEngineer !== ''){
this.projectOtherDocumentList[i].projectLeader= this.proofingCurrentRow.docEngineer.split('-')[1] //
}
}
}
for (let i = 0; i < this.projectOtherDocumentList.length; i++) {
@ -3263,6 +3411,10 @@ import {EventBus} from "../../../main";
this.projectAllDocumentList[i].projectLeader = this.proofingCurrentRow.cQualityEngineer3.split("-")[1]
} else if(this.projectAllDocumentList[i].responsibleDepartment === 'MFQ'){
this.projectAllDocumentList[i].projectLeader = this.proofingCurrentRow.cManufactureEngineer.split("-")[1]
} else if(this.projectAllDocumentList[i].responsibleDepartment === 'DocEngineer'){
if (this.proofingCurrentRow.docEngineer != null && this.proofingCurrentRow.docEngineer !== ''){
this.projectAllDocumentList[i].projectLeader= this.proofingCurrentRow.docEngineer.split('-')[1] //
}
}
}
}
@ -3306,8 +3458,9 @@ import {EventBus} from "../../../main";
searchConfirmatorList() {
let inData = {
site: this.proofingCurrentRow.site,
username: this.$store.state.user.name,
buNo: this.proofingCurrentRow.buNo,
username: this.confirmatoryData.username,
userDisplay: this.confirmatoryData.userDisplay,
proofingNo: 'ALL',
projectId: this.proofingCurrentRow.projectId,
projectNo: this.proofingCurrentRow.projectNo,
@ -3322,6 +3475,65 @@ import {EventBus} from "../../../main";
searchConfirmatorList(inData).then(({data}) => {
if (data && data.code === 0){
this.projectAllDocumentConfirmatorList = data.page.list;
this.projectANotDocumentConfirmatorList = data.list;
}
})
},
//
confirmatoryClickRow1(row) {
this.$refs.confirmatoryTable1.toggleRowSelection(row);
},
//
confirmatoryClickRow2(row) {
this.$refs.confirmatoryTable2.toggleRowSelection(row);
},
selectionConfirmatory1(val) {
this.confirmatorySelection1 = val
},
selectionConfirmatory2(val) {
this.confirmatorySelection2 = val
},
addConfirmatory() {
if (this.confirmatorySelection1.length === 0) {
this.$message.warning('请选择可选用户!')
return
}
let inData = {
site: this.proofingCurrentRow.site,
buNo: this.proofingCurrentRow.buNo,
confirmatoryList: this.confirmatorySelection1,
createBy: this.$store.state.user.name
}
addConfirmatory(inData).then(({data}) => {
if (data && data.code === 0) {
this.searchConfirmatorList()
this.businessRoleSelections1 = []
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
},
deleteConfirmatory() {
if (this.confirmatorySelection2.length === 0) {
this.$message.warning('请选择已选用户!')
return
}
let inData = {
site: this.proofingCurrentRow.site,
buNo: this.proofingCurrentRow.buNo,
confirmatoryList: this.confirmatorySelection2,
createBy: this.$store.state.user.name
}
deleteConfirmatory(inData).then(({data}) => {
if (data && data.code === 0) {
this.searchConfirmatorList()
this.businessRoleSelections2 = []
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
},
@ -3968,6 +4180,9 @@ import {EventBus} from "../../../main";
})
},
closeProjectProductionValidationDocumentVisibleDialog() {
this.confirmatoryData = {};
this.projectAllDocumentConfirmatorList = [];
this.projectANotDocumentConfirmatorList = [];
this.projectProductionValidationDocumentVisible = false;
this.activeName1 = 'selectDocument';
},

Loading…
Cancel
Save