Browse Source

2025.04.02 文档收集系统 优化

java8
jiayang yue 11 months ago
parent
commit
48b3316b98
  1. 1
      src/views/modules/eam/com_project_proof_record.vue
  2. 577
      src/views/modules/eam/eamProjectInfoForUploads.vue
  3. 28
      src/views/modules/eam/eamProjectPartInfo.vue

1
src/views/modules/eam/com_project_proof_record.vue

@ -231,7 +231,6 @@
</template>
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="100"

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

@ -205,14 +205,30 @@
</template>
</el-table-column>
<el-table-column
v-if="!this.authUpdate"
label="操作"
align="center"
fixed="left"
width="150">
<template slot-scope="scope">
<a type="text" size="small" @click="toMes(scope.row)">项目信息</a>
<a v-if="scope.row.uploadedFlag !== 'Y'" type="text" size="small" @click="uploadFile(scope.row)">上传文件</a>
<a type="text" size="small" v-if="warnFlag || scope.row.uploadedFlag !== 'Y'" @click="warnSendMail(scope.row)">提醒</a>
<a v-if="scope.row.uploadedFlag !== '已上传'" type="text" size="small" @click="uploadFile(scope.row)">上传文件</a>
<a type="primary" size="small" v-if="scope.row.uploadedFlag !== '已上传'"
@click="copyFile(scope.row)">复制</a>
</template>
</el-table-column>
<el-table-column
v-else
label="操作"
align="center"
fixed="left"
width="180">
<template slot-scope="scope">
<a type="text" size="small" @click="toMes(scope.row)">项目信息</a>
<a v-if="scope.row.uploadedFlag !== '已上传'" type="text" size="small" @click="uploadFile(scope.row)">上传文件</a>
<a type="primary" size="small" v-if="scope.row.uploadedFlag !== '已上传'"
@click="copyFile(scope.row)">复制</a>
<a type="text" size="small" v-if="scope.row.uploadedFlag !== '已上传'" @click="warnSendMail(scope.row)">提醒</a>
</template>
</el-table-column>
</el-table>
@ -233,6 +249,114 @@
:customer-no="projectAllDocumentCurrentRow.customerNo" :customer-desc="projectAllDocumentCurrentRow.customerDesc" :test-part-no="projectAllDocumentCurrentRow.testPartNo" :project-part-id="projectAllDocumentCurrentRow.projectPartId"
:part-desc="projectAllDocumentCurrentRow.partDesc" :column-file-content-array="columnFileContentArray" :proof-document-list="projectPartDocumentList"
path="/upload/test" :is-editable="isEditable" :is-mass-production-stage="isMassProductionStage"></upload-file-list-1>
<!-- 复制文件模态框 -->
<el-dialog title="复制" @close="closeCopyDocumentFileFlag" @open="searchCopyDocumentFileList"
:visible.sync="copyDialog" width="1168px" style="margin-top: -15px" v-drag
:close-on-click-modal="false" append-to-body>
<el-form inline="inline" label-position="top" :model="copyModalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="项目编码">
<el-input v-model="copyModalData.projectNo" readonly style="width: 101px"></el-input>
</el-form-item>
<el-form-item label="项目名称">
<el-input v-model="copyModalData.projectDesc" readonly style="width: 181px"></el-input>
</el-form-item>
<el-form-item label="物料编码">
<el-input v-model="copyModalData.testPartNo" readonly style="width: 101px"></el-input>
</el-form-item>
<el-form-item label="物料描述">
<el-input v-model="copyModalData.partDesc" readonly style="width: 181px"></el-input>
</el-form-item>
<el-form-item label="打样单号">
<el-input v-model="copyModalData.proofingNo" readonly style="width: 101px"></el-input>
</el-form-item>
</el-form>
<el-form inline="inline" label-position="top" :model="copyModalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="文档类型ID">
<el-input v-model="copyModalData.documentTypeId" readonly style="width: 101px"></el-input>
</el-form-item>
<el-form-item label="文档类型">
<el-input v-model="copyModalData.documentType" readonly style="width: 181px"></el-input>
</el-form-item>
<el-form-item label="结论" :rules="rules.conclusion" v-if="copyModalData.proofingNo !== '*'">
<el-select v-model="copyModalData.conclusion" placeholder="请选择" clearable style="width: 101px">
<el-option label = "合格" value = "合格"></el-option>
<el-option label = "不合格" value = "不合格"></el-option>
<el-option label = "让步接受" value = "让步接受"></el-option>
<el-option label = "N/A" value = "N/A"></el-option>
</el-select>
</el-form-item>
</el-form>
<el-table
:height="this.height - 200"
:data="copyDocumentList"
ref="copyDocumentTable"
stripe
border
@selection-change="selectionCopyDocument"
style="width: 100%;">
<el-table-column
type="selection"
align="center"
width="55">
</el-table-column>
<el-table-column
prop="testPartNo"
header-align="center"
align="left"
width="141"
label="物料编码">
</el-table-column>
<el-table-column
prop="partDesc"
header-align="center"
align="left"
width="191"
label="物料描述">
</el-table-column>
<el-table-column
prop="proofingNo"
header-align="center"
align="left"
label="打样单号">
</el-table-column>
<el-table-column
prop="documentTypeId"
header-align="center"
align="left"
label="文档类型ID">
</el-table-column>
<el-table-column
prop="documentType"
header-align="center"
align="left"
label="文档类型">
</el-table-column>
<el-table-column
prop="fileName"
header-align="center"
align="left"
width="191"
label="文档文件">
</el-table-column>
<el-table-column
prop="createDate"
header-align="center"
align="center"
label="上传时间">
</el-table-column>
<el-table-column
prop="createdBy"
header-align="center"
align="left"
label="上传人">
</el-table-column>
</el-table>
<el-footer style="height:40px;margin-top: 25px;text-align:center">
<el-button type="primary" @click="saveSelectionCopyDocumentType()">确定</el-button>
<el-button @click="copyDialog = false">关闭</el-button>
</el-footer>
</el-dialog>
</div>
</template>
@ -248,7 +372,7 @@ import {
searchAllConfirmProgressList,
queryProjectOverUploadsDocumentList,
queryProjectUploadsDocumentList,
queryAllProjectUploadsDocumentList
queryAllProjectUploadsDocumentList, deleteProofDocument, getCopyDocumentFileList, copyDocumentFileToDoc
} from "../../../api/eam/eamProofing";
import {searchConfirmProgressPusherList, warnSendMailHandle} from "../../../api/eam/eamProject";
import {getSiteAndBuByUserName} from "../../../api/qc/qc";
@ -287,6 +411,10 @@ export default {
exportFooter: [],
exportList:[],
folder: '',
authSearch: false,
authSave: false,
authUpdate: false,
authDelete: false,
dataList: [],
allDataList: [],
fileList: [],
@ -1194,9 +1322,356 @@ export default {
status: '正式量产',
}
],
rules:{
projectNo:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
projectDesc:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
customerNo:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
customerDesc:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
testPartNo:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
partDesc:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
projectManager:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
engineer:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
projectOwner:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
cProjectRegion:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
cQualityEngineer1:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
cQualityEngineer2:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
cQualityEngineer3:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
cQualityEngineer4:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
cQualityEngineer5:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
cQualityEngineer6:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
cManufactureEngineer:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
docEngineer:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
docEngineerName:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
projectManagerName:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
engineerName:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
cQualityEngineer1Name:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
cQualityEngineer2Name:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
cQualityEngineer3Name:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
cQualityEngineer4Name:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
cQualityEngineer5Name:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
cQualityEngineer6Name:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
cManufactureEngineerName:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
projectCategoryType:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
documentTypeIdType:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
documentTypeType:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
responsibleDepartmentType:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
estimatedCompletionDaysType:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
activeType:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
bu:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
finalPartNo:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
needDate:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
projectCreationDate:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
wantedConfirmDate:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
projectCategory: [
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
projectPhase: [
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
proofingNo: [
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
planStartDate: [
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
requiredDeliveryDate: [
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
proofingNumber: [
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
//
cProjectTypeDb: [
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
conclusion: [
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
},
copyModalData: {
site: this.$store.state.user.site,
username: this.$store.state.user.name,
projectId: '',
projectNo: '',
proofingId: '',
proofingNo: '',
documentTypeId: ''
},
copyDialog: false,
documentCopySelection: [],
copyDocumentList: [],
};
},
created() {
//
this.getButtonAuthData()
// site bu
this.getSiteAndBuByUserName()
//
@ -1228,7 +1703,7 @@ export default {
},
methods: {
handleColumnResize(newWidth, oldWidth, column, event){
let inData= this.columnList.filter(item => item.columnProp === column.property)[0]
let inData= this.columnProjectAllDocumentList.filter(item => item.columnProp === column.property)[0]
inData.columnWidth=newWidth
updateColumnSize(inData).then(({data}) => {
if (data.code === 0) {
@ -2418,6 +2893,100 @@ export default {
});
},
copyFile (row) {
this.copyModalData = {
...row,
projectNo: row.projectNo,
projectDesc: row.projectDesc,
projectPartId: row.projectPartId,
testPartNo: row.testPartNo,
partDesc: row.partDesc,
};
this.copyDialog = true
},
searchCopyDocumentFileList() {
getCopyDocumentFileList(this.copyModalData).then(({data}) => {
if (data && data.code === 0) {
this.copyDocumentList = data.list
} else {
this.copyDocumentList = []
}
})
},
saveSelectionCopyDocumentType() {
if (this.documentCopySelection.length === 0) {
this.$message({
message: '请选择文档',
type: 'error'
})
return
} else if (this.documentCopySelection.length > 1) {
this.$message({
message: '只能选择一个文档',
type: 'error'
})
return
}
if (this.copyModalData.proofingNo === '*'){
this.copyModalData.conclusion = 'N/A'
}
if (this.copyModalData.conclusion === '' || this.copyModalData.conclusion === null ||
this.copyModalData.conclusion === undefined) {
this.$message({
message: '结论不能为空',
type: 'warning'
})
return
}
const inData = {
site: this.$store.state.user.site,
ossId: this.documentCopySelection[0].ossId,
proofingId: this.copyModalData.proofingId,
projectId: this.copyModalData.projectId,
projectPartId: this.copyModalData.projectPartId,
documentDefinitionListId: this.copyModalData.documentDefinitionListId,
conclusion: this.copyModalData.conclusion,
createBy: this.$store.state.user.name,
}
copyDocumentFileToDoc(inData).then(({data}) => {
//
if (data && data.code === 0) {
this.$message({
message: '复制成功',
type: 'success'
})
this.getDataList()
this.closeCopyDocumentFileFlag()
} else {
this.$message({
message: '复制失败',
type: 'error'
})
}
})
},
closeCopyDocumentFileFlag() {
this.copyDialog = false
this.copyModalData = {}
this.copyDocumentList = []
},
selectionCopyDocument(selection) {
if (selection.length > 1) {
//
const lastRow = selection[selection.length - 1];
//
this.$refs.copyDocumentTable.clearSelection();
//
this.$refs.copyDocumentTable.toggleRowSelection(lastRow, true);
// data
this.documentCopySelection = [lastRow];
} else {
this.documentCopySelection = selection;
}
},
//
sizeChangeHandle (val) {
this.pageSize = val

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

@ -697,7 +697,6 @@
</template>
</el-table-column>
<el-table-column
fixed="right"
header-align="center"
align="center"
width="100"
@ -1367,9 +1366,9 @@
label="操作">
<template slot-scope="scope">
<a type="text" size="small" v-if="shouldShowDelete(scope.row) || scope.row.uploadedFlag === 'Y'" @click="viewMassDocumentFile(scope.row)">查看附件</a>
<a type="text" size="small" v-if="scope.row.uploadedFlag === 'N'" @click="uploadAllDocumentFile(scope.row)">上传文件</a>
<a type="primary" size="small" v-if="scope.row.documentDefinitionListId !== '-1' && scope.row.documentId === null"
@click="copyFile(scope.row)">复制</a>
<a type="text" size="small" v-if="scope.row.uploadedFlag === 'N'" @click="uploadAllDocumentFile(scope.row)">上传文件</a>
<a type="text" size="small" v-if="shouldShowDelete(scope.row) && scope.row.createdBy === $store.state.user.name"
@click="massProductionDocumentDelete(scope.row)">删除</a>
</template>
@ -1383,9 +1382,9 @@
label="操作">
<template slot-scope="scope">
<a type="text" size="small" v-if="shouldShowDelete(scope.row) || scope.row.uploadedFlag === 'Y'" @click="viewMassDocumentFile(scope.row)">查看附件</a>
<a type="text" size="small" v-if="scope.row.uploadedFlag === 'N'" @click="uploadAllDocumentFile(scope.row)">上传文件</a>
<a type="primary" size="small" v-if="scope.row.documentDefinitionListId !== '-1' && scope.row.documentId === null"
@click="copyFile(scope.row)">复制</a>
<a type="text" size="small" v-if="scope.row.uploadedFlag === 'N'" @click="uploadAllDocumentFile(scope.row)">上传文件</a>
<a type="text" size="small" v-if="shouldShowDelete(scope.row)" @click="massProductionDocumentDelete(scope.row)">删除</a>
</template>
</el-table-column>
@ -4050,8 +4049,6 @@ import {updateColumnSize} from "../../../api/table";
if (this.totalPage > 0) {
//
this.$refs.mainTable.setCurrentRow(this.dataList[this.dataListIndex])
// table
this.refreshCurrentTabTable()
this.proofingClickRow(this.dataList[this.dataListIndex])
this.dataListIndex = 0
}
@ -4252,8 +4249,6 @@ import {updateColumnSize} from "../../../api/table";
//
if (row) {
this.proofingCurrentRow = JSON.parse(JSON.stringify(row))
//
this.refreshCurrentTabTable()
}
},
//
@ -4465,7 +4460,7 @@ import {updateColumnSize} from "../../../api/table";
this.newProofingDocument(data.proofingId).then(() => {
this.visible = false
//
this.getRowProjectInfo()
this.refreshCurrentTabTable()
})
} else {
this.$alert(data.msg, '错误', {
@ -4738,6 +4733,7 @@ import {updateColumnSize} from "../../../api/table";
}
},
getRowProjectInfo(){
this.$nextTick(() => {
let inData = {
site: this.proofingCurrentRow.site,
projectId: this.proofingCurrentRow.projectId,
@ -4762,10 +4758,12 @@ import {updateColumnSize} from "../../../api/table";
page: 1,
limit: 1000
}
this.$refs.proofRecord.init(inData,this.authUpdate)
this.$refs.proofRecordModal.init(inData, this.authUpdate)
});
},
showProofDetailModal(row) {
this.activeModalTab = 'proofRecord'
//
this.proofingCurrentRow = row;
//
@ -6289,23 +6287,23 @@ import {updateColumnSize} from "../../../api/table";
this.refreshCurrentTabTable()
},
async refreshCurrentTabTable () {
if (this.activeName === 'proofRecord') {
if (this.activeModalTab === 'proofRecord') {
this.getRowProjectInfo();
}
if (this.activeName === 'massProductionStage' || this.activeModalTab === 'massProductionStage') {
if (this.activeModalTab === 'massProductionStage') {
this.getProjectOtherDocument();
}
if (this.activeName === 'allDocument' || this.activeModalTab === 'allDocument') {
if (this.activeModalTab === 'allDocument') {
this.getRowProjectInfo();
this.getProjectOtherDocument();
this.searchProjectAllDocumentList()
this.searchConfirmatorList()
}
if (this.activeName === 'productionDocumentsConfirmProgress' || this.activeModalTab === 'productionDocumentsConfirmProgress') {
if (this.activeModalTab === 'productionDocumentsConfirmProgress') {
this.getConfirmProgressDocumentList()
this.getConfirmProgressPusherList()
}
if ((this.activeName === 'massProductionBOM' || this.activeModalTab === 'massProductionBOM') && this.proofingCurrentRow.finalPartNo
if (this.activeModalTab === 'massProductionBOM' && this.proofingCurrentRow.finalPartNo
!== '' &&
this.proofingCurrentRow.finalPartNo !== null){
this.dataListLoading = true;
@ -6322,7 +6320,7 @@ import {updateColumnSize} from "../../../api/table";
} else {
this.projectPartBomList = []
}
if ((this.activeName === 'Routing' || this.activeModalTab === 'Routing') &&
if (this.activeModalTab === 'Routing' &&
this.proofingCurrentRow.finalPartNo !== '' &&
this.proofingCurrentRow.finalPartNo !== null){
this.dataListLoading = true;

Loading…
Cancel
Save