Browse Source

2024.7.1 产品文档收集优化

java8
yuejiayang 2 years ago
parent
commit
b3f8e04de9
  1. 1
      src/api/eam/eamProject.js
  2. 2
      src/api/factory/site.js
  3. 358
      src/views/modules/eam/com_project_proof_record.vue
  4. 12
      src/views/modules/eam/eamBuDocumentListDefinition.vue
  5. 426
      src/views/modules/eam/eamProjectInfo.vue

1
src/api/eam/eamProject.js

@ -5,3 +5,4 @@ export const eamProjectInfoSave= data => createAPI(`/pms/eamProject/eamProjectIn
export const eamProjectInfoEdit= data => createAPI(`/pms/eamProject/eamProjectInfoEdit`,'post',data) export const eamProjectInfoEdit= data => createAPI(`/pms/eamProject/eamProjectInfoEdit`,'post',data)
export const eamProjectInfoDelete= data => createAPI(`/pms/eamProject/eamProjectInfoDelete`,'post',data) export const eamProjectInfoDelete= data => createAPI(`/pms/eamProject/eamProjectInfoDelete`,'post',data)
export const saveFormalPartNo= data => createAPI(`/pms/eamProject/saveFormalPartNo`,'post',data) export const saveFormalPartNo= data => createAPI(`/pms/eamProject/saveFormalPartNo`,'post',data)
export const getTestPartNo= data => createAPI(`/pms/eamProject/getTestPartNo`,'post',data)

2
src/api/factory/site.js

@ -44,3 +44,5 @@ export const searchBusinessInfo3 = data => createAPI(`/site/searchBusinessInfo3`
export const searchBusinessInfo4 = data => createAPI(`/site/searchBusinessInfo4`,'post',data) export const searchBusinessInfo4 = data => createAPI(`/site/searchBusinessInfo4`,'post',data)
export const searchBusinessInfo5 = data => createAPI(`/site/searchBusinessInfo5`,'post',data) export const searchBusinessInfo5 = data => createAPI(`/site/searchBusinessInfo5`,'post',data)
export const searchBusinessInfo6 = data => createAPI(`/site/searchBusinessInfo6`,'post',data)

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

@ -2,13 +2,13 @@
<div class="mod-config"> <div class="mod-config">
<div class="container"> <div class="container">
<el-row> <el-row>
<el-col class="left-section" :span="12" style="margin-top: 0;">
<el-col class="left-section" :span="12">
<p style="margin-top: 2px">打样记录</p> <p style="margin-top: 2px">打样记录</p>
<el-table <el-table
:data="dataList" :data="dataList"
border border
style="width: 100%;margin-top: -5px"
height="307"
style="width: 100%;"
:height="this.height - 30"
highlight-current-row highlight-current-row
ref="proofingTable" ref="proofingTable"
@row-click="proofDocumentClickRow" @row-click="proofDocumentClickRow"
@ -44,14 +44,14 @@
</el-table> </el-table>
</el-col> </el-col>
<el-col :span="12" class="right-section" > <el-col :span="12" class="right-section" >
<el-tabs style="font-size: 12px;min-height: 330px;margin-right: -22px" class="customer-tab" v-model="activeName" type="border-card" @tab-click="tabClick">
<el-tabs style="font-size: 12px;" class="customer-tab" v-model="activeName" type="border-card" @tab-click="tabClick">
<el-tab-pane label="打样文档" name="proofDocument"> <el-tab-pane label="打样文档" name="proofDocument">
<el-button type="primary" icon="el-icon-upload" style="margin-top: -5px" @click="uploadOtherDocument()">上传其他文档</el-button> <el-button type="primary" icon="el-icon-upload" style="margin-top: -5px" @click="uploadOtherDocument()">上传其他文档</el-button>
<el-table <el-table
:data="proofDocumentList" :data="proofDocumentList"
border border
style="width: 100%;margin-top: 5px;" style="width: 100%;margin-top: 5px;"
height="252"
:height="height - 80"
ref="proofDocumentTable" ref="proofDocumentTable"
@row-click="uploadDocumentClickRow" @row-click="uploadDocumentClickRow"
@current-change="changeCurrentRow1" @current-change="changeCurrentRow1"
@ -96,30 +96,32 @@
</el-col> </el-col>
</el-row> </el-row>
<el-dialog title="新增打样" :visible.sync="visible" v-drag width="35%" style="margin-top: 20vh" :close-on-click-modal="false">
<el-dialog title="新增打样" :visible.sync="visible" v-drag width="519px" style="margin-top: 20vh" :close-on-click-modal="false">
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;"> <el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="项目编码" prop="projectId" > <el-form-item label="项目编码" prop="projectId" >
<el-input v-model="modalData.projectId" readonly style="width: 110px;" class="red-text"></el-input> <el-input v-model="modalData.projectId" readonly style="width: 110px;" class="red-text"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目名称" prop="projectDesc" > <el-form-item label="项目名称" prop="projectDesc" >
<el-input v-model="modalData.projectDesc" readonly style="width: 170px;" class="red-text"></el-input>
<el-input v-model="modalData.projectDesc" readonly style="width: 234px;" class="red-text"></el-input>
</el-form-item>
<el-form-item label="BU" prop="bu" >
<el-input v-model="modalData.bu" readonly style="width: 110px;" class="red-text"></el-input>
</el-form-item> </el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="客户编码" prop="customerNo" > <el-form-item label="客户编码" prop="customerNo" >
<el-input v-model="modalData.customerNo" readonly style="width: 110px;" class="red-text"></el-input> <el-input v-model="modalData.customerNo" readonly style="width: 110px;" class="red-text"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="客户名称" prop="customerDesc" > <el-form-item label="客户名称" prop="customerDesc" >
<el-input v-model="modalData.customerDesc" readonly style="width: 170px;" class="red-text"></el-input>
<el-input v-model="modalData.customerDesc" readonly style="width: 234px;" class="red-text"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="项目料号" prop="testPartNo" :rules="rules.testPartNo" > <el-form-item label="项目料号" prop="testPartNo" :rules="rules.testPartNo" >
<el-input v-model="modalData.testPartNo" readonly style="width: 110px;" class="red-text"></el-input> <el-input v-model="modalData.testPartNo" readonly style="width: 110px;" class="red-text"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="料号描述" prop="partDesc" > <el-form-item label="料号描述" prop="partDesc" >
<el-input v-model="modalData.partDesc" readonly style="width: 295px;" class="red-text"></el-input>
</el-form-item>
<el-form-item label="BU" prop="bu" >
<el-input v-model="modalData.bu" readonly style="width: 110px;" class="red-text"></el-input>
<el-input v-model="modalData.partDesc" readonly style="width: 234px;" class="red-text"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;"> <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
@ -133,10 +135,35 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="项目阶段" prop="projectPhase" :rules="rules.projectPhase">
<el-select v-model="modalData.projectPhase" placeholder="请选择" clearable style="width: 110px">
<el-option
v-for = "i in projectPhaseList"
:key = "i.projectPhase"
:label = "i.projectPhase"
:value = "i.projectPhase">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="打样单号" prop="proofingNo" :rules="rules.proofingNo" > <el-form-item label="打样单号" prop="proofingNo" :rules="rules.proofingNo" >
<el-input v-model="modalData.proofingNo" style="width: 170px;"></el-input>
<el-input v-model="modalData.proofingNo" style="width: 110px;"></el-input>
</el-form-item>
<el-form-item label="数量" prop="proofingNumber" :rules="rules.proofingNo" >
<el-input v-model="modalData.proofingNumber" style="width: 110px"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="打样开始日期" prop="" :rules="rules.planStartDate" >
<el-date-picker
v-model="modalData.planStartDate"
type="date"
placeholder="选择日期"
style="width: 110px;"
>
</el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="打样日期" prop="" :rules="rules.proofingNo" >
<el-form-item label="预计完成日期" prop="" :rules="rules.requiredDeliveryDate" >
<el-date-picker <el-date-picker
v-model="modalData.requiredDeliveryDate" v-model="modalData.requiredDeliveryDate"
type="date" type="date"
@ -145,8 +172,14 @@
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="数量" prop="proofingNumber" :rules="rules.proofingNo" >
<el-input v-model="modalData.proofingNumber" style="width: 110px"></el-input>
<el-form-item label="实际完成日期" prop="" >
<el-date-picker
v-model="modalData.actualityDeliveryDate"
type="date"
placeholder="选择日期"
style="width: 110px;"
disabled>
</el-date-picker>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -225,30 +258,32 @@
</div> </div>
</el-dialog> </el-dialog>
<el-dialog title="打样记录编辑" :visible.sync="proofingRecordVisible" v-drag width="35%" style="margin-top: 20vh" :close-on-click-modal="false">
<el-dialog title="打样记录编辑" :visible.sync="proofingRecordVisible" v-drag width="519px" style="margin-top: 20vh" :close-on-click-modal="false">
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;"> <el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="项目编码" prop="projectId" > <el-form-item label="项目编码" prop="projectId" >
<el-input v-model="modalData.projectId" readonly style="width: 110px;" class="red-text"></el-input> <el-input v-model="modalData.projectId" readonly style="width: 110px;" class="red-text"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="项目名称" prop="projectDesc" > <el-form-item label="项目名称" prop="projectDesc" >
<el-input v-model="modalData.projectDesc" readonly style="width: 170px;" class="red-text"></el-input>
<el-input v-model="modalData.projectDesc" readonly style="width: 234px;" class="red-text"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="BU" prop="bu" >
<el-input v-model="modalData.bu" readonly style="width: 110px;" class="red-text"></el-input>
</el-form-item>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="客户编码" prop="customerNo" > <el-form-item label="客户编码" prop="customerNo" >
<el-input v-model="modalData.customerNo" readonly style="width: 110px;" class="red-text"></el-input> <el-input v-model="modalData.customerNo" readonly style="width: 110px;" class="red-text"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="客户名称" prop="customerDesc" > <el-form-item label="客户名称" prop="customerDesc" >
<el-input v-model="modalData.customerDesc" readonly style="width: 170px;" class="red-text"></el-input>
<el-input v-model="modalData.customerDesc" readonly style="width: 234px;" class="red-text"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" :model="modalData" style="margin-left: 7px;margin-top: -5px;">
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="项目料号" prop="testPartNo" :rules="rules.testPartNo" > <el-form-item label="项目料号" prop="testPartNo" :rules="rules.testPartNo" >
<el-input v-model="modalData.testPartNo" readonly style="width: 110px;" class="red-text"></el-input> <el-input v-model="modalData.testPartNo" readonly style="width: 110px;" class="red-text"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="料号描述" prop="partDesc" > <el-form-item label="料号描述" prop="partDesc" >
<el-input v-model="modalData.partDesc" readonly style="width: 295px;" class="red-text"></el-input>
</el-form-item>
<el-form-item label="BU" prop="bu" >
<el-input v-model="modalData.bu" readonly style="width: 110px;" class="red-text"></el-input>
<el-input v-model="modalData.partDesc" readonly style="width: 234px;" class="red-text"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;"> <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
@ -262,14 +297,51 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="打样单号" prop="proofingNo">
<el-input v-model="modalData.proofingNo" style="width: 170px;"></el-input>
<el-form-item label="项目阶段" prop="projectPhase" :rules="rules.projectPhase">
<el-select v-model="modalData.projectPhase" placeholder="请选择" clearable style="width: 110px">
<el-option
v-for = "i in projectPhaseList"
:key = "i.projectPhase"
:label = "i.projectPhase"
:value = "i.projectPhase">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="打样单号" prop="proofingNo" :rules="rules.proofingNo" >
<el-input v-model="modalData.proofingNo" style="width: 110px;"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="打样日期" prop="requiredDeliveryDate" >
<el-input v-model="modalData.requiredDeliveryDate" style="width: 110px;"></el-input>
<el-form-item label="数量" prop="proofingNumber" :rules="rules.proofingNo" >
<el-input v-model="modalData.proofingNumber" style="width: 110px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="数量" prop="proofingNumber" >
<el-input v-model="modalData.proofingNumber" style="width: 110px;"></el-input>
</el-form>
<el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="打样开始日期" prop="" :rules="rules.planStartDate" >
<el-date-picker
v-model="modalData.planStartDate"
type="date"
placeholder="选择日期"
style="width: 110px;"
>
</el-date-picker>
</el-form-item>
<el-form-item label="预计完成日期" prop="" :rules="rules.requiredDeliveryDate" >
<el-date-picker
v-model="modalData.requiredDeliveryDate"
type="date"
placeholder="选择日期"
style="width: 110px;"
>
</el-date-picker>
</el-form-item>
<el-form-item label="实际完成日期" prop="" >
<el-date-picker
v-model="modalData.actualityDeliveryDate"
type="date"
placeholder="选择日期"
style="width: 110px;"
>
</el-date-picker>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -278,8 +350,8 @@
</div> </div>
</el-dialog> </el-dialog>
<!-- 文档清单定义新增 -->
<el-dialog title="新增文档类型" @close="closeAddDocumentTypeFlag" @open="searchDocumentTypeList" :visible.sync="addDocumentTypeFlag" width="559px" v-drag>
<!-- 新增文档类型 -->
<el-dialog title="新增文档类型" @close="closeAddDocumentTypeFlag" @open="searchDocumentTypeList" :visible.sync="addDocumentTypeFlag" width="559px" v-drag :close-on-click-modal="false">
<el-form inline="inline" label-position="top" :model="searchDocumentTypeData" style="margin-left: 7px;margin-top: -5px;"> <el-form inline="inline" label-position="top" :model="searchDocumentTypeData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="文档类型ID"> <el-form-item label="文档类型ID">
<el-input v-model="searchDocumentTypeData.documentTypeId" clearable style="width: 110px"></el-input> <el-input v-model="searchDocumentTypeData.documentTypeId" clearable style="width: 110px"></el-input>
@ -353,8 +425,12 @@
import {proofingInformationSearch,proofingDocumentNEW,getExtraDocumentList,editProofingRecord,proofingInformationSave,getProofDocument,getDocumentList,deleteDocumentType,proofingDocumentSave} from "@/api/eam/eamProofing.js"; import {proofingInformationSearch,proofingDocumentNEW,getExtraDocumentList,editProofingRecord,proofingInformationSave,getProofDocument,getDocumentList,deleteDocumentType,proofingDocumentSave} from "@/api/eam/eamProofing.js";
import row from "element-ui/packages/row"; import row from "element-ui/packages/row";
import UploadFileList1 from "../common/uploadFileList1.vue"; import UploadFileList1 from "../common/uploadFileList1.vue";
import he from "element-ui/src/locale/lang/he";
export default { export default {
computed: { computed: {
he() {
return he
},
row() { row() {
return row return row
} }
@ -395,6 +471,7 @@
proofingRecordVisible: false, proofingRecordVisible: false,
addDocumentTypeFlag: false, addDocumentTypeFlag: false,
isEditable: false, isEditable: false,
height: 200,
currentRow:'', currentRow:'',
fileContentList:[], fileContentList:[],
proofDocumentList:[], proofDocumentList:[],
@ -422,6 +499,12 @@
{cProjectTypeDb: 'High Risk'}, {cProjectTypeDb: 'High Risk'},
], ],
projectPhaseList: [
{projectPhase: 'Prototype'},
{projectPhase: 'Alpha'},
{projectPhase: 'Beta'},
{projectPhase: 'Pre-launch'},
],
activeName: 'proofDocument', activeName: 'proofDocument',
modalData: { modalData: {
projectId: '', projectId: '',
@ -433,8 +516,11 @@
bu: '', bu: '',
buNo: '', buNo: '',
cProjectTypeDb: '', cProjectTypeDb: '',
projectPhase: '',
proofingNo: '', proofingNo: '',
planStartDate: '',
requiredDeliveryDate: '', requiredDeliveryDate: '',
actualityDeliveryDate: '',
proofingNumber: '', proofingNumber: '',
createDate: '', createDate: '',
createBy: '' createBy: ''
@ -478,17 +564,16 @@
updateBy: this.$store.state.user.name, updateBy: this.$store.state.user.name,
}, },
columnList: [ columnList: [
//requiredDeliveryDate
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 103001, functionId: 103001,
serialNumber: '103001Table1RequiredDeliveryDate', serialNumber: '103001Table1RequiredDeliveryDate',
tableId: '103001Table1', tableId: '103001Table1',
tableName: '打样记录表', tableName: '打样记录表',
columnProp: 'requiredDeliveryDate',
columnProp: 'planStartDate',
headerAlign: 'center', headerAlign: 'center',
align: 'center', align: 'center',
columnLabel: '打样日期',
columnLabel: '打样开始日期',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
@ -551,6 +636,62 @@
fixed: '', fixed: '',
columnWidth: 80, columnWidth: 80,
}, },
{
userId: this.$store.state.user.name,
functionId: 101001014,
serialNumber: '101001014Table1CProjectPhase',
tableId: "101001014Table1",
tableName: "项目信息表",
columnProp: 'projectPhase',
headerAlign: "center",
align: "left",
columnLabel: '项目阶段',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80,
},
//requiredDeliveryDate
{
userId: this.$store.state.user.name,
functionId: 103001,
serialNumber: '103001Table1RequiredDeliveryDate',
tableId: '103001Table1',
tableName: '打样记录表',
columnProp: 'requiredDeliveryDate',
headerAlign: 'center',
align: 'center',
columnLabel: '预计完成日期',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
//requiredDeliveryDate
{
userId: this.$store.state.user.name,
functionId: 103001,
serialNumber: '103001Table1ActualityDeliveryDate',
tableId: '103001Table1',
tableName: '打样记录表',
columnProp: 'actualityDeliveryDate',
headerAlign: 'center',
align: 'center',
columnLabel: '实际完成日期',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 80
},
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 103001, functionId: 103001,
@ -567,7 +708,7 @@
sortLv: 0, sortLv: 0,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 80
columnWidth: 120
}, },
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
@ -757,18 +898,55 @@
} }
], ],
rules: { rules: {
projectCategory: [
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
projectPhase: [
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
proofingNo: [ proofingNo: [
{ required: true, message: '请输入打样单号', trigger: 'blur' }
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
planStartDate: [
{
required: true,
message: ' ',
trigger: ['blur','change']
}
], ],
requiredDeliveryDate: [ requiredDeliveryDate: [
{ required: true, message: '请选择打样日期', trigger: 'blur' }
{
required: true,
message: ' ',
trigger: ['blur','change']
}
], ],
proofingNumber: [ proofingNumber: [
{ required: true, message: '请输入数量', trigger: 'blur' }
{
required: true,
message: ' ',
trigger: ['blur','change']
}
], ],
// //
cProjectTypeDb: [ cProjectTypeDb: [
{ required: true, message: '请选择项目分类', trigger: 'blur' }
{
required: true,
message: ' ',
trigger: ['blur','change']
}
] ]
}, },
// start // start
@ -822,13 +1000,56 @@
}); });
}, },
init1(inData1) { init1(inData1) {
inData1.planStartDate = new Date();
inData1.createDate = '';
this.visible = true this.visible = true
// //
this.modalData = JSON.parse(JSON.stringify(inData1)); this.modalData = JSON.parse(JSON.stringify(inData1));
this.searchProofData = JSON.parse(JSON.stringify(inData1)); this.searchProofData = JSON.parse(JSON.stringify(inData1));
}, },
newProofingRecord() { newProofingRecord() {
if (this.modalData.cProjectTypeDb === '' || this.modalData.cProjectTypeDb === null || this.modalData.cProjectTypeDb === undefined) {
this.$message({
message: '项目分类不能为空',
type: 'warning'
})
return
}
if (this.modalData.projectPhase === '' || this.modalData.projectPhase === null || this.modalData.projectPhase === undefined) {
this.$message({
message: '项目阶段不能为空',
type: 'warning'
})
return
}
if (this.modalData.proofingNo === '' || this.modalData.proofingNo === null || this.modalData.proofingNo === undefined) {
this.$message({
message: '打样单号不能为空',
type: 'warning'
})
return
}
if (this.modalData.proofingNumber === '' || this.modalData.proofingNumber === null || this.modalData.proofingNumber === undefined) {
this.$message({
message: '数量不能为空',
type: 'warning'
})
return
}
if (this.modalData.planStartDate === '' || this.modalData.planStartDate === null || this.modalData.planStartDate === undefined) {
this.$message({
message: '打样开始日期不能为空',
type: 'warning'
})
return
}
if (this.modalData.requiredDeliveryDate === '' || this.modalData.requiredDeliveryDate === null || this.modalData.requiredDeliveryDate === undefined) {
this.$message({
message: '预计完成日期不能为空',
type: 'warning'
})
return
}
proofingInformationSave(this.modalData).then(({data}) => { proofingInformationSave(this.modalData).then(({data}) => {
// //
if (data && data.code === 0) { if (data && data.code === 0) {
@ -836,6 +1057,7 @@
message: '新增成功', message: '新增成功',
type: 'success' type: 'success'
}) })
this.newProofingDocument()
this.visible = false this.visible = false
// //
this.getProofingInformation() this.getProofingInformation()
@ -847,7 +1069,6 @@
}) })
} }
}) })
this.newProofingDocument()
}, },
getProofingInformation() { getProofingInformation() {
let tempData = { let tempData = {
@ -958,7 +1179,9 @@
buNo: row.buNo, buNo: row.buNo,
site: row.site, site: row.site,
cProjectTypeDb: row.cProjectTypeDb, cProjectTypeDb: row.cProjectTypeDb,
projectPhase: row.projectPhase,
proofingNo: row.proofingNo, proofingNo: row.proofingNo,
planStartDate: row.planStartDate,
requiredDeliveryDate: row.requiredDeliveryDate, requiredDeliveryDate: row.requiredDeliveryDate,
proofingNumber: row.proofingNumber, proofingNumber: row.proofingNumber,
createDate: row.createDate, createDate: row.createDate,
@ -966,31 +1189,45 @@
} }
}, },
saveProofingRecord() { saveProofingRecord() {
if (this.modalData.proofingNo === '' || this.modalData.proofingNo === null || this.modalData.proofingNo === undefined) {
if (this.modalData.cProjectTypeDb === '' || this.modalData.cProjectTypeDb === null || this.modalData.cProjectTypeDb === undefined) {
this.$message({ this.$message({
message: '打样单号不能为空',
type: 'error'
message: '项目分类不能为空',
type: 'warning'
}) })
return return
} }
if (this.modalData.requiredDeliveryDate === '' || this.modalData.requiredDeliveryDate === null || this.modalData.requiredDeliveryDate === undefined) {
if (this.modalData.projectPhase === '' || this.modalData.projectPhase === null || this.modalData.projectPhase === undefined) {
this.$message({ this.$message({
message: '交付日期不能为空',
type: 'error'
message: '项目阶段不能为空',
type: 'warning'
})
return
}
if (this.modalData.proofingNo === '' || this.modalData.proofingNo === null || this.modalData.proofingNo === undefined) {
this.$message({
message: '打样单号不能为空',
type: 'warning'
}) })
return return
} }
if (this.modalData.proofingNumber === '' || this.modalData.proofingNumber === null || this.modalData.proofingNumber === undefined) { if (this.modalData.proofingNumber === '' || this.modalData.proofingNumber === null || this.modalData.proofingNumber === undefined) {
this.$message({ this.$message({
message: '数量不能为空', message: '数量不能为空',
type: 'error'
type: 'warning'
}) })
return return
} }
if (this.modalData.cProjectTypeDb === '' || this.modalData.cProjectTypeDb === null || this.modalData.cProjectTypeDb === undefined) {
if (this.modalData.planStartDate === '' || this.modalData.planStartDate === null || this.modalData.planStartDate === undefined) {
this.$message({ this.$message({
message: '项目分类不能为空',
type: 'error'
message: '打样开始日期不能为空',
type: 'warning'
})
return
}
if (this.modalData.requiredDeliveryDate === '' || this.modalData.requiredDeliveryDate === null || this.modalData.requiredDeliveryDate === undefined) {
this.$message({
message: '预计完成日期不能为空',
type: 'warning'
}) })
return return
} }
@ -1247,17 +1484,14 @@
display: flex; display: flex;
} }
.left-section {
/deep/ .left-section {
flex: 1; /* 左边部分占据剩余空间 */ flex: 1; /* 左边部分占据剩余空间 */
width: 860px;
margin-right: 15px; /* 右边与左边之间的间隔 */
}
.right-section {
width: 761px; /* 右边部分固定宽度 */
width: 50%;
margin-right: 10px; /* 右边与左边之间的间隔 */
} }
.upload-demo {
display: inline-block;
/deep/ .right-section {
width: 48%; /* 右边部分宽度占满剩余空间 */
margin-right: 5px;
} }
</style> </style>

12
src/views/modules/eam/eamBuDocumentListDefinition.vue

@ -38,7 +38,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="'文档类型ID'"> <el-form-item :label="'文档类型ID'">
<el-input v-model="searchData.documentTypeId" style="width: 120px"></el-input>
<span slot="label" style="" @click="getBaseList(1058)"><a herf="#">文档类型ID</a></span>
<el-input v-model="searchData.documentTypeId" style="width: 120px" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="'文档类型'"> <el-form-item :label="'文档类型'">
<el-input v-model="searchData.documentType" style="width: 120px"></el-input> <el-input v-model="searchData.documentType" style="width: 120px"></el-input>
@ -129,7 +130,7 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="项目阶段" prop="projectCategory" :rules="rules.projectPhase">
<el-form-item label="项目阶段" prop="projectPhase" :rules="rules.projectPhase">
<el-select v-model="modalData.projectPhase" placeholder="请选择" clearable style="width: 140px"> <el-select v-model="modalData.projectPhase" placeholder="请选择" clearable style="width: 140px">
<el-option <el-option
v-for = "i in projectPhaseList" v-for = "i in projectPhaseList"
@ -607,6 +608,10 @@
strVal = this.modalData.documentTypeId strVal = this.modalData.documentTypeId
this.$refs.baseList.init(val, strVal) this.$refs.baseList.init(val, strVal)
} }
if (val === 1058 ) {
strVal = this.searchData.documentTypeId
this.$refs.baseList.init(val, strVal)
}
}) })
}, },
@ -618,6 +623,9 @@
this.modalData.responsibleDepartment = val.responsible_department this.modalData.responsibleDepartment = val.responsible_department
this.modalData.estimatedCompletionDays = val.estimated_completion_days this.modalData.estimatedCompletionDays = val.estimated_completion_days
} }
if (this.tagNo === 1058) {
this.searchData.documentTypeId = val.document_type_id
}
}, },
// //

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

@ -57,11 +57,7 @@
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="选择日期"> placeholder="选择日期">
</el-date-picker> </el-date-picker>
</el-form-item>
<el-form-item style="margin-top: 23px;">
<laber style="margin-left: -9px;font-size: 19px">&#10142</laber>
</el-form-item>
<el-form-item :label="' '">
-
<el-date-picker <el-date-picker
style="width: 120px" style="width: 120px"
v-model="searchData.endDate" v-model="searchData.endDate"
@ -84,7 +80,7 @@
</el-form> </el-form>
<el-table <el-table
:height="height"
:height="height + 110"
:data="dataList" :data="dataList"
ref="mainTable" ref="mainTable"
highlight-current-row highlight-current-row
@ -132,7 +128,7 @@
layout="total, sizes, prev, pager, next, jumper"> layout="total, sizes, prev, pager, next, jumper">
</el-pagination> </el-pagination>
<el-dialog title="项目" :close-on-click-modal="false" @close="closeClear" v-drag :visible.sync="modalFlag" width="579px">
<el-dialog title="项目" :close-on-click-modal="false" @close="closeClear" v-drag :visible.sync="modalFlag" width="600px">
<!-- <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">--> <!-- <el-form :inline="true" label-position="top" :model="modalData" :rules="rules" style="margin-left: 7px;margin-top: -5px;">-->
<!-- <el-form-item label="是否在用" prop="active" :rules="rules.activeType">--> <!-- <el-form-item label="是否在用" prop="active" :rules="rules.activeType">-->
<!-- <el-select filterable v-model="modalData.active" style="width: 140px">--> <!-- <el-select filterable v-model="modalData.active" style="width: 140px">-->
@ -213,15 +209,15 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="项目料号" prop="testPartNo" :rules="rules.testPartNo" > <el-form-item label="项目料号" prop="testPartNo" :rules="rules.testPartNo" >
<el-input v-model="modalData.testPartNo" style="width: 110px"></el-input>
<el-input v-model="modalData.testPartNo" disabled style="width: 110px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="料号描述" prop="partDesc" :rules="rules.partDesc" > <el-form-item label="料号描述" prop="partDesc" :rules="rules.partDesc" >
<el-input v-model="modalData.partDesc" style="width: 170px"></el-input> <el-input v-model="modalData.partDesc" style="width: 170px"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="'结案日期:'">
<el-form-item :label="'预计完成日期:'">
<el-date-picker <el-date-picker
style="width: 110px" style="width: 110px"
v-model="modalData.projectCloseDate"
v-model="modalData.needDate"
type="date" type="date"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="选择日期"> placeholder="选择日期">
@ -244,25 +240,17 @@
<span slot="label" style="" @click="projectOwnerFlag = true"><a herf="#">PjM</a></span> <span slot="label" style="" @click="projectOwnerFlag = true"><a herf="#">PjM</a></span>
<el-input v-model="modalData.projectOwnerName" disabled style="width: 110px"></el-input> <el-input v-model="modalData.projectOwnerName" disabled style="width: 110px"></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item :label="'Build Date:'">-->
<!-- <el-date-picker-->
<!-- style="width: 110px"-->
<!-- v-model="modalData.cProjectBuildDate"-->
<!-- type="date"-->
<!-- value-format="yyyy-MM-dd"-->
<!-- placeholder="选择日期">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- <el-form-item prop="cQualityEngineer1" :rules="rules.cQualityEngineer1">-->
<!-- <el-input v-model="modalData.cQualityEngineer1" disabled style="width: 110px"></el-input>-->
<!-- </el-form-item>-->
<el-form-item label="IPQC-Lam/Pri/Etch/Slit" prop="cQualityEngineer1Name" :rules="rules.cQualityEngineer1Name">
<span slot="label" style="" @click="engineerFlag = true"><a herf="#">IPQC-Lam/Pri/Etch/Slit</a></span>
<el-input v-model="modalData.cQualityEngineer1Name" disabled style="width: 170px"></el-input>
<el-form-item label="Engineer" prop="engineerName" :rules="rules.engineerName">
<span slot="label" style="" @click="engineer6Flag = true"><a herf="#">Engineer</a></span>
<el-input v-model="modalData.engineerName" disabled style="width: 170px"></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item prop="cQualityEngineer2" :rules="rules.cQualityEngineer2">--> <!-- <el-form-item prop="cQualityEngineer2" :rules="rules.cQualityEngineer2">-->
<!-- <el-input v-model="modalData.cQualityEngineer2" disabled style="width: 110px"></el-input>--> <!-- <el-input v-model="modalData.cQualityEngineer2" disabled style="width: 110px"></el-input>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<el-form-item label="IPQC-Lam/Pri/Etch/Slit" prop="cQualityEngineer1Name" :rules="rules.cQualityEngineer1Name">
<span slot="label" style="" @click="engineerFlag = true"><a herf="#">IPQC-Lam/Pri/Etch/Slit</a></span>
<el-input v-model="modalData.cQualityEngineer1Name" disabled style="width: 110px"></el-input>
</el-form-item>
<el-form-item label="IPQC-Converting" prop="cQualityEngineer2Name" :rules="rules.cQualityEngineer2Name"> <el-form-item label="IPQC-Converting" prop="cQualityEngineer2Name" :rules="rules.cQualityEngineer2Name">
<span slot="label" style="" @click="IPQCFlag = true"><a herf="#">IPQC-Converting</a></span> <span slot="label" style="" @click="IPQCFlag = true"><a herf="#">IPQC-Converting</a></span>
<el-input v-model="modalData.cQualityEngineer2Name" disabled style="width: 110px"></el-input> <el-input v-model="modalData.cQualityEngineer2Name" disabled style="width: 110px"></el-input>
@ -273,7 +261,7 @@
</el-form-item> </el-form-item>
<el-form-item label="MFG" prop="cManufactureEngineerName" :rules="rules.cManufactureEngineerName"> <el-form-item label="MFG" prop="cManufactureEngineerName" :rules="rules.cManufactureEngineerName">
<span slot="label" style="" @click="MFGlag = true"><a herf="#">MFG</a></span> <span slot="label" style="" @click="MFGlag = true"><a herf="#">MFG</a></span>
<el-input v-model="modalData.cManufactureEngineerName" disabled style="width: 110px"></el-input>
<el-input v-model="modalData.cManufactureEngineerName" disabled style="width: 170px"></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-footer style="height:40px;margin-top: 10px;text-align:center"> <el-footer style="height:40px;margin-top: 10px;text-align:center">
@ -285,10 +273,10 @@
<!--项目经理选择弹框--> <!--项目经理选择弹框-->
<el-dialog title="PM/Sales" @close="closeProjectManagerInfoDialog" @open="openProjectManagerInfoDialog" :visible.sync="projectManagerFlag" width="559px" v-drag> <el-dialog title="PM/Sales" @close="closeProjectManagerInfoDialog" @open="openProjectManagerInfoDialog" :visible.sync="projectManagerFlag" width="559px" v-drag>
<el-form inline="inline" label-position="top" :model="searchBusinessData" style="margin-left: 7px;margin-top: -5px;"> <el-form inline="inline" label-position="top" :model="searchBusinessData" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="角色名称">
<el-input v-model="searchBusinessData.roleDesc" clearable style="width: 110px"></el-input>
<el-form-item label="用户账号">
<el-input v-model="searchBusinessData.username" clearable style="width: 110px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="角色姓名">
<el-form-item label="用户名">
<el-input v-model="searchBusinessData.userDisplay" clearable style="width: 110px"></el-input> <el-input v-model="searchBusinessData.userDisplay" clearable style="width: 110px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否在用"> <el-form-item label="是否在用">
@ -302,7 +290,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table
:height="height"
:height="height + 110"
:data="businessDataList" :data="businessDataList"
stripe stripe
highlight-current-row highlight-current-row
@ -315,16 +303,16 @@
width="55"> width="55">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="roleDesc"
prop="username"
header-align="center" header-align="center"
align="center" align="center"
label="角色名称">
label="用户账号">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="userDisplay" prop="userDisplay"
header-align="center" header-align="center"
align="center" align="center"
label="角色姓名">
label="用户名">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="active" prop="active"
@ -342,10 +330,10 @@
<!--PjM选择弹框--> <!--PjM选择弹框-->
<el-dialog title="PjM" @close="closeProjectOwnerInfoDialog" @open="openProjectOwnerInfoDialog" :visible.sync="projectOwnerFlag" width="559px" v-drag> <el-dialog title="PjM" @close="closeProjectOwnerInfoDialog" @open="openProjectOwnerInfoDialog" :visible.sync="projectOwnerFlag" width="559px" v-drag>
<el-form inline="inline" label-position="top" :model="searchBusinessData1" style="margin-left: 7px;margin-top: -5px;"> <el-form inline="inline" label-position="top" :model="searchBusinessData1" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="角色名称">
<el-input v-model="searchBusinessData1.roleDesc" clearable style="width: 110px"></el-input>
<el-form-item label="用户账号">
<el-input v-model="searchBusinessData1.username" clearable style="width: 110px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="角色姓名">
<el-form-item label="用户名">
<el-input v-model="searchBusinessData1.userDisplay" clearable style="width: 110px"></el-input> <el-input v-model="searchBusinessData1.userDisplay" clearable style="width: 110px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否在用"> <el-form-item label="是否在用">
@ -359,7 +347,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table
:height="height"
:height="height + 110"
:data="businessDataList1" :data="businessDataList1"
stripe stripe
highlight-current-row highlight-current-row
@ -372,16 +360,16 @@
width="55"> width="55">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="roleDesc"
prop="username"
header-align="center" header-align="center"
align="center" align="center"
label="角色名称">
label="用户账号">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="userDisplay" prop="userDisplay"
header-align="center" header-align="center"
align="center" align="center"
label="角色姓名">
label="用户名">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="active" prop="active"
@ -397,13 +385,72 @@
</el-footer> </el-footer>
</el-dialog> </el-dialog>
<!--工程师选择弹框-->
<el-dialog title="Engineer" @close="closeEngineer6InfoDialog" @open="openEngineer6InfoDialog" :visible.sync="engineer6Flag" width="559px" v-drag>
<el-form inline="inline" label-position="top" :model="searchBusinessData6" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="用户账号">
<el-input v-model="searchBusinessData6.username" clearable style="width: 110px"></el-input>
</el-form-item>
<el-form-item label="用户名">
<el-input v-model="searchBusinessData6.userDisplay" clearable style="width: 110px"></el-input>
</el-form-item>
<el-form-item label="是否在用">
<el-select filterable v-model="searchBusinessData6.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="searchBusinessInfoList6()">查询</el-button>
</el-form-item>
</el-form>
<el-table
:height="height + 110"
:data="businessDataList6"
stripe
highlight-current-row
border
@row-dblclick="engineer6RowDblclick"
@selection-change="selectionBusiness"
style="width: 100%;">
<el-table-column
type="selection"
width="55">
</el-table-column>
<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 type="primary" @click="saveSelectionInfo6()">确定</el-button>
<el-button type="primary" @click="engineer6Flag = false">关闭</el-button>
</el-footer>
</el-dialog>
<!--工程师选择弹框--> <!--工程师选择弹框-->
<el-dialog title="IPQC-Lam/Pri/Etch/Slit" @close="closeEngineerInfoDialog" @open="openEngineerInfoDialog" :visible.sync="engineerFlag" width="559px" v-drag> <el-dialog title="IPQC-Lam/Pri/Etch/Slit" @close="closeEngineerInfoDialog" @open="openEngineerInfoDialog" :visible.sync="engineerFlag" width="559px" v-drag>
<el-form inline="inline" label-position="top" :model="searchBusinessData2" style="margin-left: 7px;margin-top: -5px;"> <el-form inline="inline" label-position="top" :model="searchBusinessData2" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="角色名称">
<el-input v-model="searchBusinessData2.roleDesc" clearable style="width: 110px"></el-input>
<el-form-item label="用户账号">
<el-input v-model="searchBusinessData2.username" clearable style="width: 110px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="角色姓名">
<el-form-item label="用户名">
<el-input v-model="searchBusinessData2.userDisplay" clearable style="width: 110px"></el-input> <el-input v-model="searchBusinessData2.userDisplay" clearable style="width: 110px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否在用"> <el-form-item label="是否在用">
@ -417,7 +464,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table
:height="height"
:height="height + 110"
:data="businessDataList2" :data="businessDataList2"
stripe stripe
highlight-current-row highlight-current-row
@ -430,16 +477,16 @@
width="55"> width="55">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="roleDesc"
prop="username"
header-align="center" header-align="center"
align="center" align="center"
label="角色名称">
label="用户账号">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="userDisplay" prop="userDisplay"
header-align="center" header-align="center"
align="center" align="center"
label="角色姓名">
label="用户名">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="active" prop="active"
@ -459,10 +506,10 @@
<!--IPQC选择弹框--> <!--IPQC选择弹框-->
<el-dialog title="IPQC-Converting" @close="closeIPQCInfoDialog" @open="openIPQCInfoDialog" :visible.sync="IPQCFlag" width="559px" v-drag> <el-dialog title="IPQC-Converting" @close="closeIPQCInfoDialog" @open="openIPQCInfoDialog" :visible.sync="IPQCFlag" width="559px" v-drag>
<el-form inline="inline" label-position="top" :model="searchBusinessData3" style="margin-left: 7px;margin-top: -5px;"> <el-form inline="inline" label-position="top" :model="searchBusinessData3" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="角色名称">
<el-input v-model="searchBusinessData3.roleDesc" clearable style="width: 110px"></el-input>
<el-form-item label="用户账号">
<el-input v-model="searchBusinessData3.username" clearable style="width: 110px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="角色姓名">
<el-form-item label="用户名">
<el-input v-model="searchBusinessData3.userDisplay" clearable style="width: 110px"></el-input> <el-input v-model="searchBusinessData3.userDisplay" clearable style="width: 110px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否在用"> <el-form-item label="是否在用">
@ -476,7 +523,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table
:height="height"
:height="height + 110"
:data="businessDataList3" :data="businessDataList3"
stripe stripe
highlight-current-row highlight-current-row
@ -489,16 +536,16 @@
width="55"> width="55">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="roleDesc"
prop="username"
header-align="center" header-align="center"
align="center" align="center"
label="角色名称">
label="用户账号">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="userDisplay" prop="userDisplay"
header-align="center" header-align="center"
align="center" align="center"
label="角色姓名">
label="用户名">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="active" prop="active"
@ -516,10 +563,10 @@
<!--FQC选择弹框--> <!--FQC选择弹框-->
<el-dialog title="FQC" @close="closeFQCInfoDialog" @open="openFQCInfoDialog" :visible.sync="FQCFlag" width="559px" v-drag> <el-dialog title="FQC" @close="closeFQCInfoDialog" @open="openFQCInfoDialog" :visible.sync="FQCFlag" width="559px" v-drag>
<el-form inline="inline" label-position="top" :model="searchBusinessData4" style="margin-left: 7px;margin-top: -5px;"> <el-form inline="inline" label-position="top" :model="searchBusinessData4" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="角色名称">
<el-input v-model="searchBusinessData4.roleDesc" clearable style="width: 110px"></el-input>
<el-form-item label="用户账号">
<el-input v-model="searchBusinessData4.username" clearable style="width: 110px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="角色姓名">
<el-form-item label="用户名">
<el-input v-model="searchBusinessData4.userDisplay" clearable style="width: 110px"></el-input> <el-input v-model="searchBusinessData4.userDisplay" clearable style="width: 110px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否在用"> <el-form-item label="是否在用">
@ -533,7 +580,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table
:height="height"
:height="height + 110"
:data="businessDataList4" :data="businessDataList4"
stripe stripe
highlight-current-row highlight-current-row
@ -546,16 +593,16 @@
width="55"> width="55">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="roleDesc"
prop="username"
header-align="center" header-align="center"
align="center" align="center"
label="角色名称">
label="用户账号">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="userDisplay" prop="userDisplay"
header-align="center" header-align="center"
align="center" align="center"
label="角色姓名">
label="用户名">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="active" prop="active"
@ -573,10 +620,10 @@
<!--MFG选择弹框--> <!--MFG选择弹框-->
<el-dialog title="MFG" @close="closeMFGInfoDialog" @open="openMFGInfoDialog" :visible.sync="MFGlag" width="559px" v-drag> <el-dialog title="MFG" @close="closeMFGInfoDialog" @open="openMFGInfoDialog" :visible.sync="MFGlag" width="559px" v-drag>
<el-form inline="inline" label-position="top" :model="searchBusinessData5" style="margin-left: 7px;margin-top: -5px;"> <el-form inline="inline" label-position="top" :model="searchBusinessData5" style="margin-left: 7px;margin-top: -5px;">
<el-form-item label="角色名称">
<el-input v-model="searchBusinessData5.roleDesc" clearable style="width: 110px"></el-input>
<el-form-item label="用户账号">
<el-input v-model="searchBusinessData5.username" clearable style="width: 110px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="角色姓名">
<el-form-item label="用户名">
<el-input v-model="searchBusinessData5.userDisplay" clearable style="width: 110px"></el-input> <el-input v-model="searchBusinessData5.userDisplay" clearable style="width: 110px"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="是否在用"> <el-form-item label="是否在用">
@ -590,7 +637,7 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-table <el-table
:height="height"
:height="height + 110"
:data="businessDataList5" :data="businessDataList5"
stripe stripe
highlight-current-row highlight-current-row
@ -603,16 +650,16 @@
width="55"> width="55">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="roleDesc"
prop="username"
header-align="center" header-align="center"
align="center" align="center"
label="角色名称">
label="用户账号">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="userDisplay" prop="userDisplay"
header-align="center" header-align="center"
align="center" align="center"
label="角色姓名">
label="用户名">
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="active" prop="active"
@ -667,7 +714,7 @@
</el-footer> </el-footer>
</el-dialog> </el-dialog>
<el-tabs style="font-size: 12px;min-height: 330px" v-model="activeName" class="customer-tab" type="border-card" @tab-click="tabClick">
<el-tabs style="margin-top: 0px; width: 100%; height: 250px;" v-model="activeName" class="customer-tab" type="border-card" @tab-click="tabClick">
<el-tab-pane label="打样记录" name="proofRecord" style="margin-left: -10px"> <el-tab-pane label="打样记录" name="proofRecord" style="margin-left: -10px">
<proofRecord ref="proofRecord"></proofRecord> <proofRecord ref="proofRecord"></proofRecord>
</el-tab-pane> </el-tab-pane>
@ -692,7 +739,7 @@
<script> <script>
import {getSiteAndBuByUserName} from "@/api/eam/eam.js" import {getSiteAndBuByUserName} from "@/api/eam/eam.js"
import {searchBusinessInfo,searchBusinessInfo1,searchBusinessInfo2,searchBusinessInfo3,searchBusinessInfo4,searchBusinessInfo5} from "@/api/factory/site.js"
import {searchBusinessInfo,searchBusinessInfo1,searchBusinessInfo2,searchBusinessInfo3,searchBusinessInfo4,searchBusinessInfo5,searchBusinessInfo6} from "@/api/factory/site.js"
import Chooselist from '@/views/modules/common/Chooselist_eam' import Chooselist from '@/views/modules/common/Chooselist_eam'
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js' import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
import { import {
@ -700,7 +747,7 @@
getTableUserListLanguage, getTableUserListLanguage,
} from "@/api/table.js"; } from "@/api/table.js";
import proofRecord from "./com_project_proof_record"; import proofRecord from "./com_project_proof_record";
import {eamProjectInfoDelete, saveFormalPartNo,eamProjectInfoSearch, eamProjectInfoSave, eamProjectInfoEdit} from "@/api/eam/eamProject.js";
import {eamProjectInfoDelete, saveFormalPartNo,eamProjectInfoSearch, eamProjectInfoSave, eamProjectInfoEdit,getTestPartNo} from "@/api/eam/eamProject.js";
/*打样记录組件*/ /*打样记录組件*/
export default { export default {
@ -743,6 +790,7 @@
endDate:'', endDate:'',
projectCreationDate: new Date(), projectCreationDate: new Date(),
projectCloseDate:'', projectCloseDate:'',
needDate:'',
// active: 'Y', // active: 'Y',
page: 1, page: 1,
limit: 10, limit: 10,
@ -757,6 +805,7 @@
businessDataList3: [], businessDataList3: [],
businessDataList4: [], businessDataList4: [],
businessDataList5: [], businessDataList5: [],
businessDataList6: [],
dataList: [], dataList: [],
dataListSelections: [], dataListSelections: [],
// ======== ======== // ======== ========
@ -769,6 +818,7 @@
projectManagerFlag:false, projectManagerFlag:false,
projectOwnerFlag:false, projectOwnerFlag:false,
engineerFlag:false, engineerFlag:false,
engineer6Flag:false,
IPQCFlag:false, IPQCFlag:false,
FQCFlag:false, FQCFlag:false,
MFGlag:false, MFGlag:false,
@ -780,6 +830,7 @@
oriProjectId: '', oriProjectId: '',
projectDesc:'', projectDesc:'',
projectCloseDate:'', projectCloseDate:'',
needDate:'',
customerNo:'', customerNo:'',
finalCustomerId:'', finalCustomerId:'',
customerDesc:'', customerDesc:'',
@ -801,7 +852,10 @@
cQualityEngineer3Name:'', cQualityEngineer3Name:'',
cManufactureEngineer:'', cManufactureEngineer:'',
cManufactureEngineerName:'', cManufactureEngineerName:'',
projectCreationDate:'',
engineer:'',
engineerName:'',
//projectCreationDate
projectCreationDate: new Date(),
finalPartNo:'', finalPartNo:'',
finalPartDesc:'', finalPartDesc:'',
// active:'', // active:'',
@ -810,7 +864,7 @@
}, },
searchBusinessData:{ searchBusinessData:{
site: this.$store.state.user.site, site: this.$store.state.user.site,
username: this.$store.state.user.name,
username: '',
roleDesc: '', roleDesc: '',
userDisplay: '', userDisplay: '',
active: '', active: '',
@ -819,7 +873,7 @@
}, },
searchBusinessData1:{ searchBusinessData1:{
site: this.$store.state.user.site, site: this.$store.state.user.site,
username: this.$store.state.user.name,
username: '',
roleDesc: '', roleDesc: '',
userDisplay: '', userDisplay: '',
active: '', active: '',
@ -828,7 +882,7 @@
}, },
searchBusinessData2:{ searchBusinessData2:{
site: this.$store.state.user.site, site: this.$store.state.user.site,
username: this.$store.state.user.name,
username: '',
roleDesc: '', roleDesc: '',
userDisplay: '', userDisplay: '',
active: '', active: '',
@ -837,7 +891,7 @@
}, },
searchBusinessData3:{ searchBusinessData3:{
site: this.$store.state.user.site, site: this.$store.state.user.site,
username: this.$store.state.user.name,
username: '',
roleDesc: '', roleDesc: '',
userDisplay: '', userDisplay: '',
active: '', active: '',
@ -846,7 +900,7 @@
}, },
searchBusinessData4:{ searchBusinessData4:{
site: this.$store.state.user.site, site: this.$store.state.user.site,
username: this.$store.state.user.name,
username: '',
roleDesc: '', roleDesc: '',
userDisplay: '', userDisplay: '',
active: '', active: '',
@ -855,7 +909,16 @@
}, },
searchBusinessData5:{ searchBusinessData5:{
site: this.$store.state.user.site, site: this.$store.state.user.site,
username: this.$store.state.user.name,
username: '',
roleDesc: '',
userDisplay: '',
active: '',
page: 1,
limit: 10,
},
searchBusinessData6:{
site: this.$store.state.user.site,
username: '',
roleDesc: '', roleDesc: '',
userDisplay: '', userDisplay: '',
active: '', active: '',
@ -1071,6 +1134,24 @@
fixed: '', fixed: '',
columnWidth: 120, columnWidth: 120,
}, },
{
userId: this.$store.state.user.name,
functionId: 101001014,
serialNumber: '101001014Table1Engineer',
tableId: "101001014Table1",
tableName: "项目信息表",
columnProp: 'engineer',
headerAlign: "center",
align: "left",
columnLabel: 'Engineer',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120,
},
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 101001014, functionId: 101001014,
@ -1161,6 +1242,24 @@
fixed: '', fixed: '',
columnWidth: 120, columnWidth: 120,
}, },
{
userId: this.$store.state.user.name,
functionId: 101001014,
serialNumber: '101001014Table1NeedDate',
tableId: "101001014Table1",
tableName: "项目信息表",
columnProp: 'needDate',
headerAlign: "center",
align: "left",
columnLabel: '预计完成日期',
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120,
},
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 101001014, functionId: 101001014,
@ -1339,6 +1438,27 @@
trigger: ['blur','change'] 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:[ cQualityEngineer1:[
{ {
required: true, required: true,
@ -1360,6 +1480,13 @@
trigger: ['blur','change'] trigger: ['blur','change']
} }
], ],
engineerName:[
{
required: true,
message: ' ',
trigger: ['blur','change']
}
],
cQualityEngineer1Name:[ cQualityEngineer1Name:[
{ {
required: true, required: true,
@ -1450,11 +1577,26 @@
} }
], ],
cProjectRegionList: [ cProjectRegionList: [
{
cProjectRegion: 'Global',
},
{ {
cProjectRegion: 'APAC', cProjectRegion: 'APAC',
}, },
{ {
cProjectRegion: 'Global',
cProjectRegion: 'CHINA',
},
{
cProjectRegion: 'EU',
},
{
cProjectRegion: 'US',
},
{
cProjectRegion: 'Mexico',
},
{
cProjectRegion: 'Other',
}, },
], ],
priorityList: [ priorityList: [
@ -1525,7 +1667,7 @@
strVal = this.modalData.customerNo strVal = this.modalData.customerNo
this.$refs.baseList.init(val, strVal) this.$refs.baseList.init(val, strVal)
} }
if (val === 509 ) {
if (val === 301 ) {
strVal = this.modalData.projectManager strVal = this.modalData.projectManager
this.$refs.baseList.init(val, strVal) this.$refs.baseList.init(val, strVal)
} }
@ -1535,17 +1677,12 @@
/* 列表方法的回调 */ /* 列表方法的回调 */
getBaseData (val) { getBaseData (val) {
if (this.tagNo === 509) { if (this.tagNo === 509) {
//
this.modalData.customerNo = val.customer_no this.modalData.customerNo = val.customer_no
this.modalData.customerDesc = val.customer_desc this.modalData.customerDesc = val.customer_desc
//
} }
if (this.tagNo === 509) {
//
this.modalData.projectManager = val.user_display
this.modalData.projectManagerName = val.user_display
//
if (this.tagNo === 301) {
this.modalData.projectManager = val.project_manager
this.modalData.projectManagerName = val.project_manager
} }
}, },
@ -1671,6 +1808,7 @@
}, },
addModal () { addModal () {
//this.generateNextPartNo()
this.modalData = { this.modalData = {
flag: '1', flag: '1',
bu: this.userBuList[0].buNo, bu: this.userBuList[0].buNo,
@ -1683,11 +1821,14 @@
projectId: '', projectId: '',
projectDesc:'', projectDesc:'',
projectCloseDate:'', projectCloseDate:'',
needDate:'',
cProjectRegion: '', cProjectRegion: '',
projectManager:'', projectManager:'',
ProjectOwner:'', ProjectOwner:'',
ProjectOwnerName:'', ProjectOwnerName:'',
projectManagerName:'', projectManagerName:'',
engineer: '',
engineerName: '',
cQualityEngineer1:'', cQualityEngineer1:'',
cQualityEngineer1Name:'', cQualityEngineer1Name:'',
cQualityEngineer2:'', cQualityEngineer2:'',
@ -1696,14 +1837,50 @@
cQualityEngineer3Name:'', cQualityEngineer3Name:'',
cManufactureEngineer: '', cManufactureEngineer: '',
cManufactureEngineerName: '', cManufactureEngineerName: '',
projectCreationDate:'',
projectCreationDate:new Date(),
createDate: '',
// active: 'Y', // active: 'Y',
createBy: this.$store.state.user.name, createBy: this.$store.state.user.name,
updateBy: this.$store.state.user.name, updateBy: this.$store.state.user.name,
} }
this.generateNextPartNo().then(testPartNo => {
this.modalData.testPartNo = testPartNo; //
})
console.log('testPartNo',this.modalData.testPartNo)
this.modalDisableFlag = false this.modalDisableFlag = false
this.modalFlag = true this.modalFlag = true
}, },
generateNextPartNo() {
return new Promise((resolve, reject) => {
getTestPartNo().then(({ data }) => {
const stringData = String(data); //
if (stringData === 'null') {
resolve('P00001');
} else {
const lastPartNo = parseInt(stringData.substring(1));
const nextPartNo = lastPartNo + 1;
let testPartNo;
if (nextPartNo < 10) {
testPartNo = 'P0000' + nextPartNo;
} else if (nextPartNo < 100) {
testPartNo = 'P000' + nextPartNo;
} else if (nextPartNo < 1000) {
testPartNo = 'P00' + nextPartNo;
} else if (nextPartNo < 10000) {
testPartNo = 'P0' + nextPartNo;
} else {
testPartNo = 'P' + nextPartNo;
}
resolve(testPartNo);
}
}).catch(error => {
reject('Failed to fetch testPartNo: ' + error);
});
});
},
changeFormalPartNo (row) { changeFormalPartNo (row) {
this.modalData = { this.modalData = {
flag: '2', flag: '2',
@ -1717,11 +1894,14 @@
projectId: row.projectId, projectId: row.projectId,
projectDesc: row.projectDesc, projectDesc: row.projectDesc,
projectCloseDate: row.projectCloseDate, projectCloseDate: row.projectCloseDate,
needDate: row.needDate,
cProjectRegion: row.cProjectRegion, cProjectRegion: row.cProjectRegion,
projectManager: row.projectManager, projectManager: row.projectManager,
projectManagerName: row.projectManagerName, projectManagerName: row.projectManagerName,
projectOwner: row.projectOwner, projectOwner: row.projectOwner,
projectOwnerName: row.projectOwnerName, projectOwnerName: row.projectOwnerName,
engineer: row.engineer,
engineerName: row.engineerName,
cQualityEngineer1: row.cQualityEngineer1, cQualityEngineer1: row.cQualityEngineer1,
cQualityEngineer1Name: row.cQualityEngineer1Name, cQualityEngineer1Name: row.cQualityEngineer1Name,
cQualityEngineer2: row.cQualityEngineer2, cQualityEngineer2: row.cQualityEngineer2,
@ -1773,11 +1953,14 @@
projectDesc: row.projectDesc, projectDesc: row.projectDesc,
priority: row.priority, priority: row.priority,
projectCloseDate: row.projectCloseDate, projectCloseDate: row.projectCloseDate,
needDate: row.needDate,
cProjectRegion: row.cProjectRegion, cProjectRegion: row.cProjectRegion,
projectManager: row.projectManager, projectManager: row.projectManager,
projectManagerName: row.projectManager, projectManagerName: row.projectManager,
projectOwner: row.projectOwner, projectOwner: row.projectOwner,
projectOwnerName: row.projectOwner, projectOwnerName: row.projectOwner,
engineer: row.engineer,
engineerName: row.engineer,
cQualityEngineer1: row.cQualityEngineer1, cQualityEngineer1: row.cQualityEngineer1,
cQualityEngineer1Name: row.cQualityEngineer1, cQualityEngineer1Name: row.cQualityEngineer1,
cQualityEngineer2: row.cQualityEngineer2, cQualityEngineer2: row.cQualityEngineer2,
@ -1838,6 +2021,7 @@
this.modalData.cQualityEngineer2 = this.modalData.cQualityEngineer2Name this.modalData.cQualityEngineer2 = this.modalData.cQualityEngineer2Name
this.modalData.cQualityEngineer3 = this.modalData.cQualityEngineer3Name this.modalData.cQualityEngineer3 = this.modalData.cQualityEngineer3Name
this.modalData.cManufactureEngineer = this.modalData.cManufactureEngineerName this.modalData.cManufactureEngineer = this.modalData.cManufactureEngineerName
this.modalData.engineer = this.modalData.engineerName
this.modalData.oriProjectId = this.modalData.projectId this.modalData.oriProjectId = this.modalData.projectId
this.modalData.finalCustomerId = this.modalData.customerNo this.modalData.finalCustomerId = this.modalData.customerNo
if (this.modalData.projectId === '' || this.modalData.projectId == null) { if (this.modalData.projectId === '' || this.modalData.projectId == null) {
@ -1884,6 +2068,10 @@
this.$message.warning('请输入PjM!') this.$message.warning('请输入PjM!')
return return
} }
if (this.modalData.engineer === '' || this.modalData.engineer == null) {
this.$message.warning('请输入Engineer!')
return
}
if (this.modalData.cQualityEngineer1 === '' || this.modalData.cQualityEngineer1 == null) { if (this.modalData.cQualityEngineer1 === '' || this.modalData.cQualityEngineer1 == null) {
this.$message.warning('请输入IPQC-Lam/Pri/Etch/Slit!') this.$message.warning('请输入IPQC-Lam/Pri/Etch/Slit!')
return return
@ -1982,6 +2170,13 @@
} }
}) })
}, },
searchBusinessInfoList6 () {
searchBusinessInfo6(this.searchBusinessData6).then(({data}) => {
if (data && data.code === 0){
this.businessDataList6 = data.rows;
}
})
},
saveFormalPartNo (){ saveFormalPartNo (){
saveFormalPartNo(this.modalData).then(({data}) => { saveFormalPartNo(this.modalData).then(({data}) => {
if (data && data.code === '0') { if (data && data.code === '0') {
@ -2031,6 +2226,10 @@
// //
this.searchBusinessInfoList5(); this.searchBusinessInfoList5();
}, },
openEngineer6InfoDialog () {
//
this.searchBusinessInfoList6();
},
// //
closeProjectManagerInfoDialog () { closeProjectManagerInfoDialog () {
this.businessDataList = [] this.businessDataList = []
@ -2045,6 +2244,10 @@
this.businessDataList2 = [] this.businessDataList2 = []
this.engineerFlag = false this.engineerFlag = false
}, },
closeEngineer6InfoDialog () {
this.businessDataList6 = []
this.engineer6Flag = false
},
// //
closeIPQCInfoDialog () { closeIPQCInfoDialog () {
this.businessDataList3 = [] this.businessDataList3 = []
@ -2075,6 +2278,11 @@
this.modalData.cQualityEngineer1Name = row.userDisplay this.modalData.cQualityEngineer1Name = row.userDisplay
this.engineerFlag = false this.engineerFlag = false
}, },
engineer6RowDblclick (row) {
this.modalData.engineer = row.username
this.modalData.engineerName = row.userDisplay
this.engineer6Flag = false
},
IPQCRowDblclick (row) { IPQCRowDblclick (row) {
this.modalData.cQualityEngineer2 = row.username this.modalData.cQualityEngineer2 = row.username
this.modalData.cQualityEngineer2Name = row.userDisplay this.modalData.cQualityEngineer2Name = row.userDisplay
@ -2190,31 +2398,29 @@
this.modalData.cManufactureEngineerName = strName this.modalData.cManufactureEngineerName = strName
this.MFGlag = false this.MFGlag = false
}, },
saveSelectionInfo6 () {
let str = ''
let strName = ''
this.businessSelections.forEach((item, index) => {
if (index === this.businessSelections.length - 1) {
str += item.username
strName += item.userDisplay
} else {
str += item.username + ','
strName += item.userDisplay + ','
}
}
)
this.modalData.engineer = str
this.modalData.engineerName = strName
this.engineer6Flag = false
},
closeClear () { closeClear () {
// flag:'',
// bu: '',
// site: this.$store.state.user.site,
// projectId: '',
// oriProjectId: '',
// projectDesc:'',
// projectCloseDate:'',
// customerNo:'',
// finalCustomerId:'',
// customerDesc:'',
// projectCategory:'',
// testPartNo:'',
// partDesc:'',
// projectManager:'',
// projectManagerName:'',
// cQualityEngineer1:'',
// cQualityEngineer1Name:'',
// cQualityEngineer2:'',
// cQualityEngineer2Name:'',
// projectCreationDate:'',
this.modalData.bu = '' this.modalData.bu = ''
this.modalData.projectId = '' this.modalData.projectId = ''
this.modalData.projectDesc = '' this.modalData.projectDesc = ''
this.modalData.projectCloseDate = '' this.modalData.projectCloseDate = ''
this.modalData.needDate = ''
this.modalData.customerNo = '' this.modalData.customerNo = ''
this.modalData.customerDesc = '' this.modalData.customerDesc = ''
this.modalData.projectCategory = '' this.modalData.projectCategory = ''
@ -2222,6 +2428,8 @@
this.modalData.partDesc = '' this.modalData.partDesc = ''
this.modalData.projectManager = '' this.modalData.projectManager = ''
this.modalData.projectManagerName = '' this.modalData.projectManagerName = ''
this.modalData.engineer = ''
this.modalData.engineerName = ''
this.modalData.cQualityEngineer1 = '' this.modalData.cQualityEngineer1 = ''
this.modalData.cQualityEngineer1Name = '' this.modalData.cQualityEngineer1Name = ''
this.modalData.cQualityEngineer2 = '' this.modalData.cQualityEngineer2 = ''

Loading…
Cancel
Save