修改法规清单的流程状态弹框、批量设置、编辑

This commit is contained in:
范强强
2023-03-22 18:06:25 +08:00
parent 9734c8f8d6
commit fd4946a43a
5 changed files with 154 additions and 96 deletions
+4
View File
@@ -1690,6 +1690,10 @@ module.exports = {
taskTypeMismatch:'Task Type Mismatch', taskTypeMismatch:'Task Type Mismatch',
taskNodeMismatch:'Task Node Mismatch', taskNodeMismatch:'Task Node Mismatch',
ifNot:'If not, fill in "none" or "not involved"', ifNot:'If not, fill in "none" or "not involved"',
designComplianceProcess:'Design Compliance Process',
validationComplianceProcess:'Validation Compliance Process',
onlyDataInTheReminderProcessBanBeProcessed:'Only data in the reminder process can be processed',
expeditionProcess:'Expedition Process',
addfunction:'Add function', addfunction:'Add function',
controllername:'Controller name', controllername:'Controller name',
hardwaremanufacturer:'Hardware manufacturer', hardwaremanufacturer:'Hardware manufacturer',
+4
View File
@@ -1767,6 +1767,8 @@ module.exports = {
theDataYouSelectedContainsSkip:'您所勾选的数据中包含交付物类型为空的数据请确认是否跳过', theDataYouSelectedContainsSkip:'您所勾选的数据中包含交付物类型为空的数据请确认是否跳过',
designComplianceProcessFor:'的设计符合性流程', designComplianceProcessFor:'的设计符合性流程',
validationComplianceProcessFor:'的验证符合性流程', validationComplianceProcessFor:'的验证符合性流程',
designComplianceProcess:'设计符合性流程',
validationComplianceProcess:'验证符合性流程',
thePersonResponsibleForVerifyingEmpty:'验证符合性流程的责任人不能为空', thePersonResponsibleForVerifyingEmpty:'验证符合性流程的责任人不能为空',
theDeadlineComplianceProcessCannotEmpty:'验证符合性流程的截止时间不能为空', theDeadlineComplianceProcessCannotEmpty:'验证符合性流程的截止时间不能为空',
theDeadlineForTheDesignCannotBeEmpty:'设计符合性流程的截止时间不能为空', theDeadlineForTheDesignCannotBeEmpty:'设计符合性流程的截止时间不能为空',
@@ -1795,4 +1797,6 @@ module.exports = {
hardwaremanufacturer:'硬件生产企业', hardwaremanufacturer:'硬件生产企业',
softwareversion:'软件版本', softwareversion:'软件版本',
returntofill:'返回填写', returntofill:'返回填写',
onlyDataInTheReminderProcessBanBeProcessed:'只能催办流程中的数据',
expeditionProcess:'催办流程',
} }
@@ -100,13 +100,26 @@
:title="$t('engineeringInterfacePerson')">{{$t('engineeringInterfacePerson')}}</span> :title="$t('engineeringInterfacePerson')">{{$t('engineeringInterfacePerson')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="designDutyId"> <a-form-model-item class="itemModel" prop="designDutyId">
<PersonnelSelection <a-select :placeholder="$t('PleaseSelect')+$t('engineeringInterfacePerson')"
:query="{db_field_name:'engineeringInterfacePerson',db_field_txt:$t('engineeringInterfacePerson')}" class="box-input"
:isSingleChoice="true" allowClear
:personneQuery="formInline" :getPopupContainer="triggerNode=> triggerNode.parentNode"
v-if="visible" v-model="formInline.engineeringInterfacePerson">
@change="PersonnelSelectionChange" <a-select-option v-for="(item, key) in engineeringInterfacePersonList"
v-model="formInline.engineeringInterfacePersonName"/> :key="key"
:value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.name ">
{{ item.name }}
</span>
</a-select-option>
</a-select>
<!-- <PersonnelSelection-->
<!-- :query="{db_field_name:'engineeringInterfacePerson',db_field_txt:$t('engineeringInterfacePerson')}"-->
<!-- :isSingleChoice="true"-->
<!-- :personneQuery="formInline"-->
<!-- v-if="visible"-->
<!-- @change="PersonnelSelectionChange"-->
<!-- v-model="formInline.engineeringInterfacePersonName"/>-->
<!-- <j-dict-select-tag class="box-input" v-model="formInline.designDuty"--> <!-- <j-dict-select-tag class="box-input" v-model="formInline.designDuty"-->
<!-- :disabled="formInline.roleCode == 0 ? false : true"--> <!-- :disabled="formInline.roleCode == 0 ? false : true"-->
<!-- @input="handleInput('designDuty')"--> <!-- @input="handleInput('designDuty')"-->
@@ -347,7 +360,8 @@
rules: {}, rules: {},
ids: [], ids: [],
code: '', code: '',
regulatoryEngineerList: [] regulatoryEngineerList: [],
engineeringInterfacePersonList:[],
} }
}, },
mounted() { mounted() {
@@ -355,6 +369,7 @@
methods: { methods: {
dutyTerritoryChange(event) { dutyTerritoryChange(event) {
this.formInline.regulationOwnerId = undefined this.formInline.regulationOwnerId = undefined
this.formInline.engineeringInterfacePerson = undefined
this.formInline = {...this.formInline} this.formInline = {...this.formInline}
this.queryPersonByProject(event) this.queryPersonByProject(event)
}, },
@@ -366,6 +381,7 @@
getAction('/project/projectRelatedPersonnel/queryPersonByProjectId', query).then((res) => { getAction('/project/projectRelatedPersonnel/queryPersonByProjectId', query).then((res) => {
if (res.success) { if (res.success) {
this.regulatoryEngineerList = res.result.lawEngineerList //法规工程师 this.regulatoryEngineerList = res.result.lawEngineerList //法规工程师
this.engineeringInterfacePersonList = res.result.engineeringInterfacePersonList //工程接口人
} }
}) })
}, },
@@ -375,6 +391,8 @@
}, },
edit(data, code) { edit(data, code) {
this.visible = true this.visible = true
this.regulatoryEngineerList = []
this.engineeringInterfacePersonList = []
this.getDeliverableTree() this.getDeliverableTree()
this.code = code this.code = code
this.$nextTick(() => { this.$nextTick(() => {
@@ -252,26 +252,26 @@
<span class="title-text-text" :title="$t('engineeringInterfacePerson')">{{$t('engineeringInterfacePerson')}}</span> <span class="title-text-text" :title="$t('engineeringInterfacePerson')">{{$t('engineeringInterfacePerson')}}</span>
</div> </div>
<a-form-model-item class="itemModel" :prop="'engineeringInterfacePerson'"> <a-form-model-item class="itemModel" :prop="'engineeringInterfacePerson'">
<PersonnelSelection <!-- <PersonnelSelection-->
:query="{db_field_name:'engineeringInterfacePerson',db_field_txt:$t('engineeringInterfacePerson')}" <!-- :query="{db_field_name:'engineeringInterfacePerson',db_field_txt:$t('engineeringInterfacePerson')}"-->
:isSingleChoice="true" <!-- :isSingleChoice="true"-->
:personneQuery="formInline" <!-- :personneQuery="formInline"-->
v-if="visible" <!-- v-if="visible"-->
@change="PersonnelSelectionChange" <!-- @change="PersonnelSelectionChange"-->
v-model="formInline.engineeringInterfacePersonName"/> <!-- v-model="formInline.engineeringInterfacePersonName"/>-->
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('engineeringInterfacePerson')"--> <a-select :placeholder="$t('PleaseSelect')+$t('engineeringInterfacePerson')"
<!-- class="box-input"--> class="box-input"
<!-- allowClear--> allowClear
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"--> :getPopupContainer="triggerNode=> triggerNode.parentNode"
<!-- v-model="formInline.engineeringInterfacePerson">--> v-model="formInline.engineeringInterfacePerson">
<!-- <a-select-option v-for="(item, key) in engineeringInterfacePersonList"--> <a-select-option v-for="(item, key) in engineeringInterfacePersonList"
<!-- :key="key"--> :key="key"
<!-- :value="item.value">--> :value="item.value">
<!-- <span style="display: inline-block;width: 100%" :title=" item.name ">--> <span style="display: inline-block;width: 100%" :title=" item.name ">
<!-- {{ item.name }}--> {{ item.name }}
<!-- </span>--> </span>
<!-- </a-select-option>--> </a-select-option>
<!-- </a-select>--> </a-select>
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
@@ -1389,7 +1389,7 @@
this.formInline[item.db_field_name] = this.formInline[item.db_field_name] ? moment(this.formInline[item.db_field_name]).format('YYYY-MM-DD') : '' this.formInline[item.db_field_name] = this.formInline[item.db_field_name] ? moment(this.formInline[item.db_field_name]).format('YYYY-MM-DD') : ''
}, },
PersonnelSelectionChange(value, id) { PersonnelSelectionChange(value, id) {
this.formInline[value + '_id'] = id this.formInline[value] = id
this.formInline = { ...this.formInline } this.formInline = { ...this.formInline }
} }
} }
@@ -472,15 +472,16 @@
<div class="box-title-text-index"> <div class="box-title-text-index">
<div class="title-text-Comment"> <div class="title-text-Comment">
<span class="Required">*</span> <span class="Required">*</span>
<span class="title-text-text" :title="$t('roleSwitching')">{{ $t('roleSwitching') }}</span> <span class="title-text-text" :title="$t('expeditionProcess')">{{ $t('expeditionProcess') }}</span>
</div> </div>
<a-form-model-item class="itemModelComment" :prop="'roleSwitchingCode'"> <a-form-model-item class="itemModelComment" :prop="'questionStatus'">
<a-select allowClear :placeholder="$t('pleaseSelect')+$t('roleSwitching')" <a-select allowClear
v-model="formInlineRoleSwitching.question"> :placeholder="$t('pleaseSelect')+$t('expeditionProcess')"
<!-- <a-select-option :value="null">{{$t('pleaseSelect')}}</a-select-option>--> mode="multiple"
<a-select-option :value="item.roleCode" v-for="item in questionList"> v-model="formInlineQuestion.questionStatus">
<span class="itemOption-index" :title="item.roleName"> <a-select-option :value="item.value" v-for="item in questionList">
{{ item.roleName }} <span class="itemOption-index" :title="item.name">
{{ item.name }}
</span> </span>
</a-select-option> </a-select-option>
</a-select> </a-select>
@@ -547,6 +548,26 @@
visibleQuestion: false, visibleQuestion: false,
confirmLoadingQuestion: false, confirmLoadingQuestion: false,
roleSwitchingList: [], roleSwitchingList: [],
formInlineQuestion: {},
rulesRoleQuestion: {
questionStatus: [
{
required: true,
message: this.$t('expeditionProcess') + this.$t('cannotEmpty'),
trigger: 'change'
}
]
},
questionList: [
{
value: '1',
name: this.$t('designComplianceProcess')
},
{
value: '2',
name: this.$t('validationComplianceProcess')
}
],
listTitle: '', listTitle: '',
orderBy: '1', orderBy: '1',
orderByField: '', orderByField: '',
@@ -1132,7 +1153,9 @@
dataWarningList: [], dataWarningList: [],
completeTaskList: [], completeTaskList: [],
requestsNum: 0, requestsNum: 0,
JTextLoading: false JTextLoading: false,
questionIdList: [],
questionWarning: []
} }
}, },
@@ -1481,14 +1504,46 @@
}) })
}, },
handleOkQuestion() {
this.$refs.ruleFormQuestion.validate(valid => {
let formInlineQuestion = JSON.parse(JSON.stringify(this.formInlineQuestion))
if (formInlineQuestion.questionStatus && formInlineQuestion.questionStatus.length > 0) {
formInlineQuestion.questionStatus = formInlineQuestion.questionStatus.join(',')
}
let query = {
ids: this.questionIdList.join(','),
projectLibraryId: this.$route.query.id,
questionStatus: formInlineQuestion.questionStatus
}
this.confirmLoadingQuestion = true
postAction('project/projectLawsInventoryEO/expediting', query).then((res) => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.selectedRowKeys = []
this.getList()
this.visibleQuestion = false
this.confirmLoadingQuestion = false
if (this.questionWarning && this.questionWarning.length > 0) {
this.promptInformation(this.questionWarning)
}
} else {
this.$message.warning(this.$t('operationFailed'))
}
})
})
},
handleCancelQuestion() {
this.visibleQuestion = false
},
//催办 //催办
questionClick() { questionClick() {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) { if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys)) let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
let isTrue let isTrue
let content = [] let content = []
let idList = [] this.questionIdList = []
let detailedWarningList = [] let detailedWarningList = []
this.questionWarning = []
for (let i = 0; i < this.dataSource.length; i++) { for (let i = 0; i < this.dataSource.length; i++) {
for (let j = 0; j < selectedRowKeys.length; j++) { for (let j = 0; j < selectedRowKeys.length; j++) {
if (this.dataSource[i].id == selectedRowKeys[j]) { if (this.dataSource[i].id == selectedRowKeys[j]) {
@@ -1497,72 +1552,40 @@
} }
} }
for (let i = 0; i < content.length > 0; i++) { for (let i = 0; i < content.length > 0; i++) {
if (this.roleSwitchingCode == '0') { if (content[i].verifyFlowStatus == 'List to be checked' ||
//为studio角色时在通过判断流程状态是否为清单待校核 content[i].designFlowStatus == 'List to be checked' ||
if (content[i].verifyFlowStatus == 'List to be checked' || content[i].verifyFlowStatus == 'Task to be confirmed' ||
content[i].designFlowStatus == 'List to be checked') { content[i].designFlowStatus == 'Task to be confirmed' ||
idList.push(content[i].id) content[i].verifyFlowStatus == 'Results to be submitted' ||
} else { content[i].designFlowStatus == 'Results to be submitted' ||
detailedWarningList.push( content[i].verifyFlowStatus == 'Results to be reviewed' ||
< div > { content[i].serialNumber + this.$t('pleaseSelectTheDataverificationVerified') } < /div> content[i].designFlowStatus == 'Results to be reviewed') {
) this.questionIdList.push(content[i].id)
} } else {
} else if (this.roleSwitchingCode == '1') { detailedWarningList.push(content[i].serialNumber)
if (content[i].verifyFlowStatus == 'Task to be confirmed' ||
content[i].designFlowStatus == 'Task to be confirmed') {
idList.push(content[i].id)
} else {
detailedWarningList.push(
< div > { content[i].serialNumber + this.$t('pleaseSelectTheDataverificationVerified') } < /div>
)
}
} else if (this.roleSwitchingCode == '30') {
if (content[i].verifyFlowStatus == 'List to be checked' ||
content[i].designFlowStatus == 'List to be checked') {
idList.push(content[i].id)
} else {
detailedWarningList.push(
< div > { content[i].serialNumber + this.$t('pleaseSelectTheDataverificationVerified') } < /div>
)
}
} }
} }
if (idList && idList.length > 0) { if (detailedWarningList && detailedWarningList.length > 0) {
this.questionAction(idList, detailedWarningList) this.questionWarning.push(
< div > {
detailedWarningList
.join(',') + this.$t('conditionsNotMet') + this.$t('onlyDataInTheReminderProcessBanBeProcessed')
} < /div>)
}
if (this.questionIdList && this.questionIdList.length > 0) {
this.visibleQuestion = true
this.$nextTick(() => {
this.formInlineQuestion = {}
this.$refs.ruleFormQuestion.clearValidate()
})
} else { } else {
this.promptInformation(detailedWarningList) this.promptInformation(this.questionWarning)
} }
} else { } else {
this.$message.warning(this.$t('selectLeastOne')) this.$message.warning(this.$t('selectLeastOne'))
} }
}, },
//催办的接口
questionAction(selectedRowKeys, detailedWarningList) {
let _this = this
this.$confirm({
content: _this.$t('ConfirmQuestion'),
onOk() {
let query = {
ids: selectedRowKeys.join(','),
projectLibraryId: _this.$route.query.id
}
postAction('project/projectLawsInventoryEO/expediting', query).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.selectedRowKeys = []
_this.getList()
if (detailedWarningList && detailedWarningList.length > 0) {
_this.promptInformation(detailedWarningList)
}
} else {
_this.$message.warning(_this.$t('operationFailed'))
}
})
}
})
},
//定版 //定版
fixedPlateClick() { fixedPlateClick() {
if (this.dataSource && this.dataSource.length > 0) { if (this.dataSource && this.dataSource.length > 0) {
@@ -1885,6 +1908,7 @@
} }
}) })
}, },
getList() { getList() {
let roleCode = this.roleSwitchingCode let roleCode = this.roleSwitchingCode
let queryParam = JSON.parse(JSON.stringify(this.queryParam)) let queryParam = JSON.parse(JSON.stringify(this.queryParam))
@@ -1940,6 +1964,7 @@
} }
}) })
}, },
onCheckAllChange(e) { onCheckAllChange(e) {
this.checkedList = e.target.checked ? this.customizeList.map(item => item.field) : [] this.checkedList = e.target.checked ? this.customizeList.map(item => item.field) : []
this.selectedValue = this.checkedList this.selectedValue = this.checkedList
@@ -1985,6 +2010,7 @@
} }
}) })
}, },
getPersonnelList() { getPersonnelList() {
this.getList() this.getList()
}, },
@@ -2174,6 +2200,7 @@
this.$message.warning(this.$t('selectLeastOne')) this.$message.warning(this.$t('selectLeastOne'))
} }
}, },
submitClick(dataList, num) { submitClick(dataList, num) {
let content = [] let content = []
let designList = [] let designList = []
@@ -2236,6 +2263,7 @@
_this.submitAdmin(dataList) _this.submitAdmin(dataList)
} }
}, },
submitAdmin(dataList) { submitAdmin(dataList) {
let _this = this let _this = this
this.requestsNum = 0 this.requestsNum = 0
@@ -2333,6 +2361,7 @@
postAction('/project/projectCommentEO/add', query).then((res) => { postAction('/project/projectCommentEO/add', query).then((res) => {
}) })
}, },
rejectCauseAdd(rejectCause, ids) { rejectCauseAdd(rejectCause, ids) {
let rejectTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss') let rejectTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
let query = { let query = {
@@ -2346,6 +2375,7 @@
}) })
}, },
handleCancelComment() { handleCancelComment() {
this.visibleComment = false this.visibleComment = false
}, },
@@ -2385,9 +2415,11 @@
} }
}) })
}, },
customizeClick() { customizeClick() {
this.$refs.customizeListRef.transferModel(this.columnsAll) this.$refs.customizeListRef.transferModel(this.columnsAll)
}, },
bringInRelevantPersonnelClick() { bringInRelevantPersonnelClick() {
let _this = this let _this = this
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) { if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {