Browse Source

2024-06-14 更新

master
fengyuan_yang 2 years ago
parent
commit
1a60076e21
  1. 419
      src/views/modules/changeManagement/changeRecord.vue
  2. 58
      src/views/modules/changeManagement/changeRequest.vue
  3. 5
      src/views/modules/processManagement/processBindingInfo.vue

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

@ -373,6 +373,7 @@
<el-tab-pane label="TP&执行信息" name="actionInformation">
<div style="height: 670px">
<el-button type="primary" @click="chooseFeasibilityAssessmentModel">选择评估信息</el-button>
<div class="rq">
<el-table
:data="chooseItemList2"
@ -457,7 +458,7 @@
<div style="text-align: center ;font-size: 11px">
<span> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- </span>
</div>
<!-- <el-button type="primary" @click="chooseModel">选择执行模板</el-button>-->
<el-button type="primary" @click="chooseModel">选择执行信息</el-button>
<div class="rq">
<el-table
:data="chooseItemList"
@ -522,6 +523,7 @@
<el-tab-pane label="会签信息" name="countersignature">
<div style="height: 670px">
<el-button type="primary" @click="chooseCSModel">选择会签信息</el-button>
<div class="rq">
<el-table
:data="chooseCSItemList"
@ -758,7 +760,7 @@
</el-footer>
</el-dialog>
<!-- 模板属性清单 -->
<!-- ECN模板属性清单 -->
<el-dialog title="属性清单" :close-on-click-modal="false" v-drag :visible.sync="chooseModelFlag" width="820px">
<div class="rq">
<el-form :inline="true" label-position="top" :model="chooseModelData">
@ -819,6 +821,128 @@
</el-footer>
</el-dialog>
<!-- ECN模板属性清单 -->
<el-dialog title="属性清单" :close-on-click-modal="false" v-drag :visible.sync="chooseModelFlag2" width="820px">
<div class="rq">
<el-form :inline="true" label-position="top" :model="chooseModelData2">
<el-form-item :label="'模板'">
<el-select v-model="chooseModelData2.codeNo" placeholder="请选择" style="width: 120px">
<el-option
v-for = "i in modelList2"
:key = "i.codeNo"
:label = "i.codeDesc"
:value = "i.codeNo">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="属性编码">
<el-input v-model="chooseModelData2.itemNo" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="属性名称">
<el-input v-model="chooseModelData2.itemDesc" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="' '">
<el-button type="primary" @click="searchItemList2">查询</el-button>
</el-form-item>
</el-form>
<el-table
:height="300"
:data="itemList2"
ref="itemTable2"
@row-click="itemClickRow2"
@selection-change="selectionItem2"
border
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
v-for="(item,index) in columnItemList2" :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>
</div>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="confirmItem2">确认</el-button>
<el-button type="primary" @click="chooseModelFlag2 = false">关闭</el-button>
</el-footer>
</el-dialog>
<!-- 会签模板属性清单 -->
<el-dialog title="属性清单" :close-on-click-modal="false" v-drag :visible.sync="chooseCSModelFlag" width="820px">
<div class="rq">
<el-form :inline="true" label-position="top" :model="chooseCSModelData">
<el-form-item :label="'模板'">
<el-select value="roleName" v-model="chooseCSModelData.codeNo" placeholder="请选择" style="width: 120px">
<el-option
v-for = "i in modelCSList"
:key = "i.codeNo"
:label = "i.codeDesc"
:value = "i.codeNo">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="属性编码">
<el-input v-model="chooseCSModelData.itemNo" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item label="属性名称">
<el-input v-model="chooseCSModelData.itemDesc" clearable style="width: 120px"></el-input>
</el-form-item>
<el-form-item :label="' '">
<el-button type="primary" @click="searchCSItemList()">查询</el-button>
</el-form-item>
</el-form>
<el-table
:height="300"
:data="itemCSList"
ref="itemCSTable"
@row-click="itemCSClickRow"
@selection-change="selectionCSItem"
border
style="width: 100%;">
<el-table-column
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column
v-for="(item,index) in columnCSItemList" :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>
</div>
<el-footer style="height:40px;margin-top: 20px;text-align:center">
<el-button type="primary" @click="confirmCSItem">确认</el-button>
<el-button type="primary" @click="chooseCSModelFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
<!-- 提交 -->
<el-dialog title="提交" top="30vh" :close-on-click-modal="false" v-drag :visible.sync="submitModalFlag" width="226px">
<el-form :inline="true" label-position="top">
@ -1139,6 +1263,20 @@
itemDesc: '',
codeNo: ''
},
chooseModelData2: {
site: this.$store.state.user.site,
functionType: 'ECN',
itemNo: '',
itemDesc: '',
codeNo: ''
},
chooseCSModelData: {
site: this.$store.state.user.site,
functionType: 'ECN',
itemNo: '',
itemDesc: '',
codeNo: ''
},
countersignatureData: {
site: this.$store.state.user.site,
changeNo: '',
@ -1156,7 +1294,11 @@
chooseDataList: [],
form: [],
modelList: [],
modelList2: [],
modelCSList: [],
itemList: [],
itemList2: [],
itemCSList: [],
chooseFileList: [],
// ======== ========
columnList: [
@ -1709,6 +1851,64 @@
columnWidth: 150
},
],
columnItemList2: [
{
columnProp: 'itemNo',
headerAlign: 'center',
align: 'center',
columnLabel: '属性编码',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 80
},
{
columnProp: 'itemDesc',
headerAlign: 'center',
align: 'center',
columnLabel: '属性名称',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 150
},
],
columnCSItemList: [
{
userId: this.$store.state.user.name,
functionId: 108001,
serialNumber: '108001Table5ItemNo',
tableId: '108001Table5',
tableName: '执行属性表',
columnProp: 'itemNo',
headerAlign: 'center',
align: 'center',
columnLabel: '属性编码',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 80
},
{
userId: this.$store.state.user.name,
functionId: 108001,
serialNumber: '108001Table5ItemDesc',
tableId: '108001Table5',
tableName: '执行属性表',
columnProp: 'itemDesc',
headerAlign: 'center',
align: 'center',
columnLabel: '属性名称',
columnHidden: false,
columnImage: false,
status: true,
fixed: '',
columnWidth: 150
},
],
columnCSChooseItemList: [
{
userId: this.$store.state.user.name,
@ -1931,6 +2131,8 @@
modalDisableFlag: false,
ecnTypeModalFlag: false,
chooseModelFlag: false,
chooseModelFlag2: false,
chooseCSModelFlag: false,
uploadDialog: false,
submitModalFlag: false
}
@ -1977,11 +2179,190 @@
created () {
this.getEcnModel()
this.getEcnModel2()
this.getEcnCSModel()
},
methods: {
// ECN
getEcnModel2 () {
let tempData = {
site: this.$store.state.user.site,
functionType: 'ECN',
codeNo: 'E002'
}
getEcnModel(tempData).then(({data}) => {
if (data.code === 0) {
this.modelList2 = data.rows
}
})
},
//
getEcnCSModel () {
let tempData = {
site: this.$store.state.user.site,
functionType: 'ECN',
codeNo: 'E003'
}
getEcnModel(tempData).then(({data}) => {
if (data.code === 0) {
this.modelCSList = data.rows
}
})
},
//
chooseFeasibilityAssessmentModel () {
this.chooseModelData2 = {
site: this.$store.state.user.site,
itemNo: '',
itemDesc: '',
functionType: 'ECN',
codeNo: this.modelList2.length > 0 ? this.modelList2[0].codeNo : ''
}
//
//this.$nextTick(() => this.$refs.itemTable2.clearSelection())
getItemList(this.chooseModelData2).then(({data}) => {
if (data && data.code === 0) {
this.itemList2 = data.rows
this.itemList2.forEach(val => {
//
if (this.chooseItemList2.map(val => val.itemNo).includes(val.itemNo)) {
this.$nextTick(() => this.$refs.itemTable2.toggleRowSelection(val, true))
}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
this.chooseModelFlag2 = true
},
//
chooseCSModel () {
this.chooseCSModelData = {
site: this.$store.state.user.site,
itemNo: '',
itemDesc: '',
functionType: 'ECN',
codeNo: this.modelCSList.length > 0 ? this.modelCSList[0].codeNo : ''
}
//
this.$nextTick(() => this.$refs.itemCSTable.clearSelection())
//
getItemList(this.chooseCSModelData).then(({data}) => {
if (data && data.code === 0) {
this.itemCSList = data.rows
this.itemCSList.forEach(val => {
//
if (this.chooseCSItemList.map(val => val.itemNo).includes(val.itemNo)) {
this.$nextTick(() => this.$refs.itemCSTable.toggleRowSelection(val, true))
}
})
} else {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定'
})
}
})
this.chooseCSModelFlag = true
},
//
confirmItem2 () {
if (this.itemSelections2.length === 0) {
this.$message.warning("请勾选属性!")
return
}
//
let temp = []
// ab
this.chooseItemList2.forEach(itemA => {
if (this.itemSelections2.some(itemB => itemB.itemNo === itemA.itemNo)) {
// aaa
temp.push(itemA)
}
})
// b
this.itemSelections2.forEach(itemB => {
if (!temp.some(itemR => itemR.itemNo === itemB.itemNo)) {
// b
temp.push(itemB)
}
})
this.chooseItemList2 = temp
this.chooseModelFlag2 = false
},
// CS
confirmCSItem () {
if (this.itemCSSelections.length === 0) {
this.$message.warning("请勾选属性!")
return
}
//
let temp = []
// ab
this.chooseCSItemList.forEach(itemA => {
if (this.itemCSSelections.some(itemB => itemB.itemNo === itemA.itemNo)) {
// aaa
temp.push(itemA)
}
})
// b
this.itemCSSelections.forEach(itemB => {
if (!temp.some(itemR => itemR.itemNo === itemB.itemNo)) {
// b
temp.push(itemB)
}
})
this.chooseCSItemList = temp
this.chooseCSModelFlag = false
},
//
searchItemList2 () {
getItemList(this.chooseModelData2).then(({data}) => {
if (data.code === 0) {
this.itemList2 = data.rows
}
})
},
// CS
searchCSItemList () {
getItemList(this.chooseCSModelData).then(({data}) => {
if (data.code === 0) {
this.itemCSList = data.rows
}
})
},
//
itemClickRow2 (row) {
this.$refs.itemTable2.toggleRowSelection(row)
},
//
itemCSClickRow (row) {
this.$refs.itemCSTable.toggleRowSelection(row)
},
//
selectionItem2 (val) {
this.itemSelections2 = val
},
// CS
selectionCSItem (val) {
this.itemCSSelections = val
},
//
async getNodeAuthority (row) {
let tempData = {
@ -1998,6 +2379,7 @@
this.plmChangeFAItemArr = data.rows.plm_change_FA_item
this.plmChangeExecutionInfoArr = data.rows.plm_change_execution_info
this.plmChangeItemArr = data.rows.plm_change_item
this.plmChangeCountersignatureItemArr = data.rows.plm_change_countersignature_item
}
})
},
@ -2523,6 +2905,14 @@
}
}
}
if (this.plmChangeCountersignatureItemArr) {
for (let i = 0; i < this.plmChangeCountersignatureItemArr.length; i++) {
if (!this.modalData[this.plmChangeCountersignatureItemArr[i].fieldId] && this.plmChangeCountersignatureItemArr[i].required === 'Y') {
this.$message.warning(this.plmChangeCountersignatureItemArr[i].fieldName + '不能为空!')
return
}
}
}
this.costImpactData.changeTotalCost = this.totalCost
this.executionInfoData.chooseItemList = this.chooseItemList
this.executionInfoData.chooseItemList2 = this.chooseItemList2
@ -2577,7 +2967,8 @@
getEcnModel () {
let tempData = {
site: this.$store.state.user.site,
functionType: 'ECN'
functionType: 'ECN',
codeNo: 'E001'
}
getEcnModel(tempData).then(({data}) => {
if (data.code === 0) {
@ -2884,10 +3275,10 @@
itemNo: '',
itemDesc: '',
functionType: 'ECN',
codeNo: this.chooseItemList.length > 0 ? this.chooseItemList[0].codeNo : this.modelList.length > 0 ? this.modelList[0].codeNo : ''
codeNo: this.modelList.length > 0 ? this.modelList[0].codeNo : ''
}
//
this.$nextTick(() => this.$refs.itemTable.clearSelection())
//this.$nextTick(() => this.$refs.itemTable.clearSelection())
//
getItemList(this.chooseModelData).then(({data}) => {
if (data && data.code === 0) {
@ -2932,7 +3323,23 @@
this.$message.warning("请勾选属性!")
return
}
this.chooseItemList = this.itemSelections
//
let temp = []
// ab
this.chooseItemList.forEach(itemA => {
if (this.itemSelections.some(itemB => itemB.itemNo === itemA.itemNo)) {
// aaa
temp.push(itemA)
}
})
// b
this.itemSelections.forEach(itemB => {
if (!temp.some(itemR => itemR.itemNo === itemB.itemNo)) {
// b
temp.push(itemB)
}
})
this.chooseItemList = temp
this.chooseModelFlag = false
},

58
src/views/modules/changeManagement/changeRequest.vue

@ -522,7 +522,7 @@
<el-tab-pane label="会签信息" name="countersignature">
<div style="height: 670px">
<el-button type="primary" @click="chooseCSModel">选择会签模板</el-button>
<el-button type="primary" @click="chooseCSModel">选择会签信息</el-button>
<div class="rq">
<el-table
:data="chooseCSItemList"
@ -2461,7 +2461,23 @@
this.$message.warning("请勾选属性!")
return
}
this.chooseItemList = this.itemSelections
//
let temp = []
// ab
this.chooseItemList.forEach(itemA => {
if (this.itemSelections.some(itemB => itemB.itemNo === itemA.itemNo)) {
// aaa
temp.push(itemA)
}
})
// b
this.itemSelections.forEach(itemB => {
if (!temp.some(itemR => itemR.itemNo === itemB.itemNo)) {
// b
temp.push(itemB)
}
})
this.chooseItemList = temp
this.chooseModelFlag = false
},
@ -2471,7 +2487,23 @@
this.$message.warning("请勾选属性!")
return
}
this.chooseItemList2 = this.itemSelections2
//
let temp = []
// ab
this.chooseItemList2.forEach(itemA => {
if (this.itemSelections2.some(itemB => itemB.itemNo === itemA.itemNo)) {
// aaa
temp.push(itemA)
}
})
// b
this.itemSelections2.forEach(itemB => {
if (!temp.some(itemR => itemR.itemNo === itemB.itemNo)) {
// b
temp.push(itemB)
}
})
this.chooseItemList2 = temp
this.chooseModelFlag2 = false
},
@ -2541,7 +2573,7 @@
codeNo: this.modelCSList.length > 0 ? this.modelCSList[0].codeNo : ''
}
//
this.$nextTick(() => this.$refs.itemCSTable.clearSelection())
// this.$nextTick(() => this.$refs.itemCSTable.clearSelection())
//
getItemList(this.chooseCSModelData).then(({data}) => {
if (data && data.code === 0) {
@ -2586,7 +2618,23 @@
this.$message.warning("请勾选属性!")
return
}
this.chooseCSItemList = this.itemCSSelections
//
let temp = []
// ab
this.chooseCSItemList.forEach(itemA => {
if (this.itemCSSelections.some(itemB => itemB.itemNo === itemA.itemNo)) {
// aaa
temp.push(itemA)
}
})
// b
this.itemCSSelections.forEach(itemB => {
if (!temp.some(itemR => itemR.itemNo === itemB.itemNo)) {
// b
temp.push(itemB)
}
})
this.chooseCSItemList = temp
this.chooseCSModelFlag = false
},

5
src/views/modules/processManagement/processBindingInfo.vue

@ -1191,7 +1191,10 @@
this.queryTableParam = {
tableType: 'plm_stepRole_base_bm',
passTable: [],
addTable: ['plm_technical_specification_sheet']
addTable: [
'plm_technical_specification_sheet',
'plm_technicalSpecification_team'
]
}
} else {
return

Loading…
Cancel
Save