Browse Source

2025-05-14

4、ECN执行完成后,执行时间没有写入
5、ECN会签页面添加一个会签时间
master
fengyuan_yang 8 months ago
parent
commit
62b6c5795d
  1. 354
      src/views/modules/changeManagement/changeRecord.vue
  2. 1
      src/views/modules/processManagement/processFlowInfo.vue

354
src/views/modules/changeManagement/changeRecord.vue

@ -746,6 +746,161 @@
</div> </div>
</el-tab-pane> </el-tab-pane>
<!-- TP&执行信息 -->
<el-tab-pane label="TP&执行信息" name="actionInformation">
<el-container>
<el-main style="padding: 1px">
<el-table
:data="currentChooseItemList2"
:height="secondHeight"
border
style="width: 100%">
<el-table-column
v-for="(item,index) in columnChooseItemList2" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed == ''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<el-table-column
prop="chooseValue"
header-align="center"
align="center"
min-width="60"
label="可选值">
</el-table-column>
<el-table-column
prop="itemRemark"
header-align="center"
align="center"
min-width="120"
label="备注">
</el-table-column>
</el-table>
</el-main>
<el-main style="padding: 2px;width:220px">
<el-form label-position="top" :model="currentExecutionInfoData">
<el-row :gutter="5">
<el-col :span="12">
<el-form-item label="原菲林编号">
<el-input disabled v-model="currentExecutionInfoData.originalFilmNo" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="新菲林编号">
<el-input disabled v-model="currentExecutionInfoData.newFilmNo" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="原啤刀编号">
<el-input disabled v-model="currentExecutionInfoData.originalDieCuttingRuleNo" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="新啤刀编号">
<el-input disabled v-model="currentExecutionInfoData.newDieCuttingRuleNo" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="原网板/印版编号">
<el-input disabled v-model="currentExecutionInfoData.originalStencilNo" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="新网板/印版编号">
<el-input disabled v-model="currentExecutionInfoData.newStencilNo" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="ECN执行日期">
<el-date-picker disabled style="width: 100%" v-model="currentExecutionInfoData.executionDate" type="date" value-format="yyyy-MM-dd" :editable=false></el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-main>
<el-main style="padding: 1px">
<el-table
:data="currentChooseItemList"
:height="secondHeight"
border
style="width: 100%">
<el-table-column
v-for="(item,index) in columnChooseItemList" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed == ''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<el-table-column
prop="executor"
header-align="center"
align="center"
min-width="130"
label="执行人">
</el-table-column>
<el-table-column
prop="itemRemark"
header-align="center"
align="center"
min-width="150"
label="备注">
</el-table-column>
</el-table>
</el-main>
</el-container>
</el-tab-pane>
<!-- TP&执行信息 -->
<el-tab-pane label="会签信息" name="countersignature">
<el-table
:data="currentChooseCSItemList"
:height="secondHeight"
border
style="width: 100%">
<el-table-column
v-for="(item,index) in columnCSChooseItemList" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed == ''?false:item.fixed"
:min-width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden">{{scope.row[item.columnProp]}}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
<el-table-column
prop="itemRemark"
header-align="center"
align="center"
min-width="200"
label="备注">
</el-table-column>
</el-table>
</el-tab-pane>
<!-- 附件信息页签 --> <!-- 附件信息页签 -->
<el-tab-pane label="附件信息" name="fileInformation"> <el-tab-pane label="附件信息" name="fileInformation">
<oss-components <oss-components
@ -2354,55 +2509,24 @@
columnImage: false, columnImage: false,
status: true, status: true,
fixed: '', fixed: '',
columnWidth: 200
columnWidth: 150
},
{
userId: this.$store.state.user.name,
functionId: 108002,
serialNumber: '108002Table7ExecuteDate',
tableId: '108002Table7',
tableName: '执行属性表',
columnProp: 'itemExecutionDate',
headerAlign: 'center',
align: 'center',
columnLabel: '会签时间',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 150
}, },
// {
// userId: this.$store.state.user.name,
// functionId: 108002,
// serialNumber: '108002Table7ExecuteFlag',
// tableId: '108002Table7',
// tableName: '',
// columnProp: 'executeFlag',
// headerAlign: 'center',
// align: 'center',
// columnLabel: '',
// columnHidden: false,
// columnImage: false,
// status: true,
// fixed: '',
// columnWidth: 80
// },
// {
// userId: this.$store.state.user.name,
// functionId: 108002,
// serialNumber: '108002Table7Executor',
// tableId: '108002Table7',
// tableName: '',
// columnProp: 'executor',
// headerAlign: 'center',
// align: 'center',
// columnLabel: '',
// columnHidden: false,
// columnImage: false,
// status: true,
// fixed: '',
// columnWidth: 100
// },{
// userId: this.$store.state.user.name,
// functionId: 108002,
// serialNumber: '108002Table7ExecuteDate',
// tableId: '108002Table7',
// tableName: '',
// columnProp: 'itemExecutionDate',
// headerAlign: 'center',
// align: 'center',
// columnLabel: '',
// columnHidden: false,
// columnImage: false,
// status: true,
// fixed: '',
// columnWidth: 150
// },
], ],
approvalColumnList: [ approvalColumnList: [
{ {
@ -2722,6 +2846,10 @@
// ======== ======== // ======== ========
currentRow: {}, currentRow: {},
currentCostImpactData: {}, currentCostImpactData: {},
currentExecutionInfoData: {},
currentChooseItemList: [],
currentChooseItemList2: [],
currentChooseCSItemList: [],
// ======== ======== // ======== ========
modalFlag: false, modalFlag: false,
modalDisableFlag: false, modalDisableFlag: false,
@ -3155,13 +3283,7 @@
}, },
// table // table
refreshChangeTab () {
if (this.activeName === 'inventoryCostImpact') {
} else if (this.activeName === 'actionInformation') {
}
},
refreshChangeTab () {},
// //
inventoryCostImpactSave () { inventoryCostImpactSave () {
@ -3268,6 +3390,10 @@
this.getChangeFileList() this.getChangeFileList()
} else if (this.activeTable === 'inventoryCostImpact') { } else if (this.activeTable === 'inventoryCostImpact') {
this.inventoryCostImpactSearch2() this.inventoryCostImpactSearch2()
} else if (this.activeTable === 'actionInformation') {
this.tpExecutionInfoSearch2()
} else if (this.activeTable === 'countersignature') {
this.countersignatureSearch2()
} else if (this.activeTable === 'approvalInformation') { } else if (this.activeTable === 'approvalInformation') {
this.getApprovalList() this.getApprovalList()
} }
@ -3538,25 +3664,35 @@
} }
} }
} }
if (this.plmChangeRequestDetailArr) {
if (this.plmChangeRequestDetailArr) { //
for (let i = 0; i < this.plmChangeRequestDetailArr.length; i++) { for (let i = 0; i < this.plmChangeRequestDetailArr.length; i++) {
if (!this.modalData[this.plmChangeRequestDetailArr[i].fieldId] && this.plmChangeRequestDetailArr[i].required === 'Y') {
//
let val = this.chooseDataList.every(item => {
const value = item[this.plmChangeRequestDetailArr[i].fieldId]
return value !== null && value !== ''
})
//
if (!val && this.plmChangeRequestDetailArr[i].required === 'Y') {
this.$message.warning(this.plmChangeRequestDetailArr[i].fieldName + '不能为空!') this.$message.warning(this.plmChangeRequestDetailArr[i].fieldName + '不能为空!')
return return
} }
} }
} }
if (this.plmChangeCostImpactArr) {
if (this.plmChangeCostImpactArr) { //
for (let i = 0; i < this.plmChangeCostImpactArr.length; i++) { for (let i = 0; i < this.plmChangeCostImpactArr.length; i++) {
if (!this.modalData[this.plmChangeCostImpactArr[i].fieldId] && this.plmChangeCostImpactArr[i].required === 'Y') {
if (!this.costImpactData[this.plmChangeCostImpactArr[i].fieldId] && this.plmChangeCostImpactArr[i].required === 'Y') {
this.$message.warning(this.plmChangeCostImpactArr[i].fieldName + '不能为空!') this.$message.warning(this.plmChangeCostImpactArr[i].fieldName + '不能为空!')
return return
} }
} }
} }
if (this.plmChangeFAItemArr) {
if (this.plmChangeFAItemArr) { //
for (let i = 0; i < this.plmChangeFAItemArr.length; i++) { for (let i = 0; i < this.plmChangeFAItemArr.length; i++) {
if (!this.modalData[this.plmChangeFAItemArr[i].fieldId] && this.plmChangeFAItemArr[i].required === 'Y') {
let val = this.chooseItemList2.every(item => {
const value = item[this.plmChangeFAItemArr[i].fieldId]
return value !== null && value !== ''
})
if (!val && this.plmChangeFAItemArr[i].required === 'Y') {
this.$message.warning(this.plmChangeFAItemArr[i].fieldName + '不能为空!') this.$message.warning(this.plmChangeFAItemArr[i].fieldName + '不能为空!')
return return
} }
@ -3564,29 +3700,36 @@
} }
if (this.plmChangeExecutionInfoArr) { if (this.plmChangeExecutionInfoArr) {
for (let i = 0; i < this.plmChangeExecutionInfoArr.length; i++) { for (let i = 0; i < this.plmChangeExecutionInfoArr.length; i++) {
if (!this.modalData[this.plmChangeExecutionInfoArr[i].fieldId] && this.plmChangeExecutionInfoArr[i].required === 'Y') {
if (!this.executionInfoData[this.plmChangeExecutionInfoArr[i].fieldId] && this.plmChangeExecutionInfoArr[i].required === 'Y') {
this.$message.warning(this.plmChangeExecutionInfoArr[i].fieldName + '不能为空!') this.$message.warning(this.plmChangeExecutionInfoArr[i].fieldName + '不能为空!')
return return
} }
} }
} }
if (this.plmChangeItemArr) {
if (this.plmChangeItemArr) { //
for (let i = 0; i < this.plmChangeItemArr.length; i++) { for (let i = 0; i < this.plmChangeItemArr.length; i++) {
if (!this.modalData[this.plmChangeItemArr[i].fieldId] && this.plmChangeItemArr[i].required === 'Y') {
let val = this.chooseItemList.every(item => {
const value = item[this.plmChangeItemArr[i].fieldId]
return value !== null && value !== ''
})
if (!val && this.plmChangeItemArr[i].required === 'Y') {
this.$message.warning(this.plmChangeItemArr[i].fieldName + '不能为空!') this.$message.warning(this.plmChangeItemArr[i].fieldName + '不能为空!')
return return
} }
} }
} }
if (this.plmChangeCountersignatureItemArr) {
if (this.plmChangeCountersignatureItemArr) { //
for (let i = 0; i < this.plmChangeCountersignatureItemArr.length; i++) { for (let i = 0; i < this.plmChangeCountersignatureItemArr.length; i++) {
if (!this.modalData[this.plmChangeCountersignatureItemArr[i].fieldId] && this.plmChangeCountersignatureItemArr[i].required === 'Y') {
let val = this.currentChooseCSItemList.every(item => {
const value = item[this.plmChangeCountersignatureItemArr[i].fieldId]
return value !== null && value !== ''
})
if (!val && this.plmChangeCountersignatureItemArr[i].required === 'Y') {
this.$message.warning(this.plmChangeCountersignatureItemArr[i].fieldName + '不能为空!') this.$message.warning(this.plmChangeCountersignatureItemArr[i].fieldName + '不能为空!')
return return
} }
} }
} }
if (this.chooseDataList.length === 0) { if (this.chooseDataList.length === 0) {
this.$message.warning('请添加需要变更的技术参数卡!') this.$message.warning('请添加需要变更的技术参数卡!')
return return
@ -3731,6 +3874,21 @@
}) })
}, },
tpExecutionInfoSearch2 () {
executionInfoSearch(this.currentRow).then(({data}) => {
if (data && data.code === 0) {
this.currentExecutionInfoData = data.rows.executionInfoData
this.currentExecutionInfoData.createBy = this.$store.state.user.name
this.currentChooseItemList = data.rows.chooseItemList
this.currentChooseItemList2 = data.rows.chooseItemList2
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
},
// //
countersignatureSearch () { countersignatureSearch () {
countersignatureSearch(this.modalData).then(({data}) => { countersignatureSearch(this.modalData).then(({data}) => {
@ -3744,6 +3902,18 @@
}) })
}, },
countersignatureSearch2 () {
countersignatureSearch(this.currentRow).then(({data}) => {
if (data && data.code === 0) {
this.currentChooseCSItemList = data.rows.chooseCSItemList
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
},
// //
deleteChooseDataModal (row) { deleteChooseDataModal (row) {
this.$confirm(`是否删除该技术参数卡的变更?`, '提示', { this.$confirm(`是否删除该技术参数卡的变更?`, '提示', {
@ -4057,7 +4227,7 @@
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
if (this.plmChangeRequestArr) {
if (this.plmChangeRequestArr) { //
for (let i = 0; i < this.plmChangeRequestArr.length; i++) { for (let i = 0; i < this.plmChangeRequestArr.length; i++) {
if (!this.modalData[this.plmChangeRequestArr[i].fieldId] && this.plmChangeRequestArr[i].required === 'Y') { if (!this.modalData[this.plmChangeRequestArr[i].fieldId] && this.plmChangeRequestArr[i].required === 'Y') {
this.$message.warning(this.plmChangeRequestArr[i].fieldName + '不能为空!') this.$message.warning(this.plmChangeRequestArr[i].fieldName + '不能为空!')
@ -4065,25 +4235,35 @@
} }
} }
} }
if (this.plmChangeRequestDetailArr) {
if (this.plmChangeRequestDetailArr) { //
for (let i = 0; i < this.plmChangeRequestDetailArr.length; i++) { for (let i = 0; i < this.plmChangeRequestDetailArr.length; i++) {
if (!this.modalData[this.plmChangeRequestDetailArr[i].fieldId] && this.plmChangeRequestDetailArr[i].required === 'Y') {
//
let val = this.chooseDataList.every(item => {
const value = item[this.plmChangeRequestDetailArr[i].fieldId]
return value !== null && value !== ''
})
//
if (!val && this.plmChangeRequestDetailArr[i].required === 'Y') {
this.$message.warning(this.plmChangeRequestDetailArr[i].fieldName + '不能为空!') this.$message.warning(this.plmChangeRequestDetailArr[i].fieldName + '不能为空!')
return return
} }
} }
} }
if (this.plmChangeCostImpactArr) {
if (this.plmChangeCostImpactArr) { //
for (let i = 0; i < this.plmChangeCostImpactArr.length; i++) { for (let i = 0; i < this.plmChangeCostImpactArr.length; i++) {
if (!this.modalData[this.plmChangeCostImpactArr[i].fieldId] && this.plmChangeCostImpactArr[i].required === 'Y') {
if (!this.costImpactData[this.plmChangeCostImpactArr[i].fieldId] && this.plmChangeCostImpactArr[i].required === 'Y') {
this.$message.warning(this.plmChangeCostImpactArr[i].fieldName + '不能为空!') this.$message.warning(this.plmChangeCostImpactArr[i].fieldName + '不能为空!')
return return
} }
} }
} }
if (this.plmChangeFAItemArr) {
if (this.plmChangeFAItemArr) { //
for (let i = 0; i < this.plmChangeFAItemArr.length; i++) { for (let i = 0; i < this.plmChangeFAItemArr.length; i++) {
if (!this.modalData[this.plmChangeFAItemArr[i].fieldId] && this.plmChangeFAItemArr[i].required === 'Y') {
let val = this.chooseItemList2.every(item => {
const value = item[this.plmChangeFAItemArr[i].fieldId]
return value !== null && value !== ''
})
if (!val && this.plmChangeFAItemArr[i].required === 'Y') {
this.$message.warning(this.plmChangeFAItemArr[i].fieldName + '不能为空!') this.$message.warning(this.plmChangeFAItemArr[i].fieldName + '不能为空!')
return return
} }
@ -4091,23 +4271,31 @@
} }
if (this.plmChangeExecutionInfoArr) { if (this.plmChangeExecutionInfoArr) {
for (let i = 0; i < this.plmChangeExecutionInfoArr.length; i++) { for (let i = 0; i < this.plmChangeExecutionInfoArr.length; i++) {
if (!this.modalData[this.plmChangeExecutionInfoArr[i].fieldId] && this.plmChangeExecutionInfoArr[i].required === 'Y') {
if (!this.executionInfoData[this.plmChangeExecutionInfoArr[i].fieldId] && this.plmChangeExecutionInfoArr[i].required === 'Y') {
this.$message.warning(this.plmChangeExecutionInfoArr[i].fieldName + '不能为空!') this.$message.warning(this.plmChangeExecutionInfoArr[i].fieldName + '不能为空!')
return return
} }
} }
} }
if (this.plmChangeItemArr) {
if (this.plmChangeItemArr) { //
for (let i = 0; i < this.plmChangeItemArr.length; i++) { for (let i = 0; i < this.plmChangeItemArr.length; i++) {
if (!this.modalData[this.plmChangeItemArr[i].fieldId] && this.plmChangeItemArr[i].required === 'Y') {
let val = this.chooseItemList.every(item => {
const value = item[this.plmChangeItemArr[i].fieldId]
return value !== null && value !== ''
})
if (!val && this.plmChangeItemArr[i].required === 'Y') {
this.$message.warning(this.plmChangeItemArr[i].fieldName + '不能为空!') this.$message.warning(this.plmChangeItemArr[i].fieldName + '不能为空!')
return return
} }
} }
} }
if (this.plmChangeCountersignatureItemArr) {
if (this.plmChangeCountersignatureItemArr) { //
for (let i = 0; i < this.plmChangeCountersignatureItemArr.length; i++) { for (let i = 0; i < this.plmChangeCountersignatureItemArr.length; i++) {
if (!this.modalData[this.plmChangeCountersignatureItemArr[i].fieldId] && this.plmChangeCountersignatureItemArr[i].required === 'Y') {
let val = this.currentChooseCSItemList.every(item => {
const value = item[this.plmChangeCountersignatureItemArr[i].fieldId]
return value !== null && value !== ''
})
if (!val && this.plmChangeCountersignatureItemArr[i].required === 'Y') {
this.$message.warning(this.plmChangeCountersignatureItemArr[i].fieldName + '不能为空!') this.$message.warning(this.plmChangeCountersignatureItemArr[i].fieldName + '不能为空!')
return return
} }
@ -4117,6 +4305,8 @@
this.$message.warning('请添加需要变更的技术参数卡!') this.$message.warning('请添加需要变更的技术参数卡!')
return return
} }
row.executeFlag = 'Y'
row.itemExecutionDate = new Date(+ new Date() + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '')
this.costImpactData.changeTotalCost = this.totalCost this.costImpactData.changeTotalCost = this.totalCost
this.executionInfoData.chooseItemList = this.chooseItemList this.executionInfoData.chooseItemList = this.chooseItemList
this.executionInfoData.chooseItemList2 = this.chooseItemList2 this.executionInfoData.chooseItemList2 = this.chooseItemList2
@ -4137,19 +4327,17 @@
this.$message({message: '操作成功', type: 'success'}) this.$message({message: '操作成功', type: 'success'})
this.submitModalFlag = false this.submitModalFlag = false
this.modalFlag = false this.modalFlag = false
row.executeFlag = 'Y'
row.itemExecutionDate = new Date(+ new Date() + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '')
} else { } else {
this.$alert(data.msg, '错误', { this.$alert(data.msg, '错误', {
confirmButtonText: '确定' confirmButtonText: '确定'
}) })
row.executeFlag = ''
row.itemExecutionDate = ''
} }
this.submitLoading = false this.submitLoading = false
}).catch(()=>{ }).catch(()=>{
this.submitLoading = false this.submitLoading = false
}) })
}) })
// row.executeFlag = 'Y' // row.executeFlag = 'Y'
// row.itemExecutionDate = new Date(+ new Date() + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '') // row.itemExecutionDate = new Date(+ new Date() + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '')

1
src/views/modules/processManagement/processFlowInfo.vue

@ -27,6 +27,7 @@
<el-option label="草稿" value="草稿"></el-option> <el-option label="草稿" value="草稿"></el-option>
<el-option label="审批中" value="审批中"></el-option> <el-option label="审批中" value="审批中"></el-option>
<el-option label="已完成" value="已完成"></el-option> <el-option label="已完成" value="已完成"></el-option>
<el-option label="已升版" value="已升版"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="' '"> <el-form-item :label="' '">

Loading…
Cancel
Save