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

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',
taskNodeMismatch:'Task Node Mismatch',
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',
controllername:'Controller name',
hardwaremanufacturer:'Hardware manufacturer',
+4
View File
@@ -1767,6 +1767,8 @@ module.exports = {
theDataYouSelectedContainsSkip:'您所勾选的数据中包含交付物类型为空的数据请确认是否跳过',
designComplianceProcessFor:'的设计符合性流程',
validationComplianceProcessFor:'的验证符合性流程',
designComplianceProcess:'设计符合性流程',
validationComplianceProcess:'验证符合性流程',
thePersonResponsibleForVerifyingEmpty:'验证符合性流程的责任人不能为空',
theDeadlineComplianceProcessCannotEmpty:'验证符合性流程的截止时间不能为空',
theDeadlineForTheDesignCannotBeEmpty:'设计符合性流程的截止时间不能为空',
@@ -1795,4 +1797,6 @@ module.exports = {
hardwaremanufacturer:'硬件生产企业',
softwareversion:'软件版本',
returntofill:'返回填写',
onlyDataInTheReminderProcessBanBeProcessed:'只能催办流程中的数据',
expeditionProcess:'催办流程',
}
@@ -100,13 +100,26 @@
:title="$t('engineeringInterfacePerson')">{{$t('engineeringInterfacePerson')}}</span>
</div>
<a-form-model-item class="itemModel" prop="designDutyId">
<PersonnelSelection
:query="{db_field_name:'engineeringInterfacePerson',db_field_txt:$t('engineeringInterfacePerson')}"
:isSingleChoice="true"
:personneQuery="formInline"
v-if="visible"
@change="PersonnelSelectionChange"
v-model="formInline.engineeringInterfacePersonName"/>
<a-select :placeholder="$t('PleaseSelect')+$t('engineeringInterfacePerson')"
class="box-input"
allowClear
:getPopupContainer="triggerNode=> triggerNode.parentNode"
v-model="formInline.engineeringInterfacePerson">
<a-select-option v-for="(item, key) in engineeringInterfacePersonList"
: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"-->
<!-- :disabled="formInline.roleCode == 0 ? false : true"-->
<!-- @input="handleInput('designDuty')"-->
@@ -347,7 +360,8 @@
rules: {},
ids: [],
code: '',
regulatoryEngineerList: []
regulatoryEngineerList: [],
engineeringInterfacePersonList:[],
}
},
mounted() {
@@ -355,6 +369,7 @@
methods: {
dutyTerritoryChange(event) {
this.formInline.regulationOwnerId = undefined
this.formInline.engineeringInterfacePerson = undefined
this.formInline = {...this.formInline}
this.queryPersonByProject(event)
},
@@ -366,6 +381,7 @@
getAction('/project/projectRelatedPersonnel/queryPersonByProjectId', query).then((res) => {
if (res.success) {
this.regulatoryEngineerList = res.result.lawEngineerList //法规工程师
this.engineeringInterfacePersonList = res.result.engineeringInterfacePersonList //工程接口人
}
})
},
@@ -375,6 +391,8 @@
},
edit(data, code) {
this.visible = true
this.regulatoryEngineerList = []
this.engineeringInterfacePersonList = []
this.getDeliverableTree()
this.code = code
this.$nextTick(() => {
@@ -252,26 +252,26 @@
<span class="title-text-text" :title="$t('engineeringInterfacePerson')">{{$t('engineeringInterfacePerson')}}</span>
</div>
<a-form-model-item class="itemModel" :prop="'engineeringInterfacePerson'">
<PersonnelSelection
:query="{db_field_name:'engineeringInterfacePerson',db_field_txt:$t('engineeringInterfacePerson')}"
:isSingleChoice="true"
:personneQuery="formInline"
v-if="visible"
@change="PersonnelSelectionChange"
v-model="formInline.engineeringInterfacePersonName"/>
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('engineeringInterfacePerson')"-->
<!-- class="box-input"-->
<!-- allowClear-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
<!-- v-model="formInline.engineeringInterfacePerson">-->
<!-- <a-select-option v-for="(item, key) in engineeringInterfacePersonList"-->
<!-- :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"/>-->
<a-select :placeholder="$t('PleaseSelect')+$t('engineeringInterfacePerson')"
class="box-input"
allowClear
:getPopupContainer="triggerNode=> triggerNode.parentNode"
v-model="formInline.engineeringInterfacePerson">
<a-select-option v-for="(item, key) in engineeringInterfacePersonList"
:key="key"
:value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.name ">
{{ item.name }}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</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') : ''
},
PersonnelSelectionChange(value, id) {
this.formInline[value + '_id'] = id
this.formInline[value] = id
this.formInline = { ...this.formInline }
}
}
@@ -472,15 +472,16 @@
<div class="box-title-text-index">
<div class="title-text-Comment">
<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>
<a-form-model-item class="itemModelComment" :prop="'roleSwitchingCode'">
<a-select allowClear :placeholder="$t('pleaseSelect')+$t('roleSwitching')"
v-model="formInlineRoleSwitching.question">
<!-- <a-select-option :value="null">{{$t('pleaseSelect')}}</a-select-option>-->
<a-select-option :value="item.roleCode" v-for="item in questionList">
<span class="itemOption-index" :title="item.roleName">
{{ item.roleName }}
<a-form-model-item class="itemModelComment" :prop="'questionStatus'">
<a-select allowClear
:placeholder="$t('pleaseSelect')+$t('expeditionProcess')"
mode="multiple"
v-model="formInlineQuestion.questionStatus">
<a-select-option :value="item.value" v-for="item in questionList">
<span class="itemOption-index" :title="item.name">
{{ item.name }}
</span>
</a-select-option>
</a-select>
@@ -547,6 +548,26 @@
visibleQuestion: false,
confirmLoadingQuestion: false,
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: '',
orderBy: '1',
orderByField: '',
@@ -1132,7 +1153,9 @@
dataWarningList: [],
completeTaskList: [],
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() {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
let isTrue
let content = []
let idList = []
this.questionIdList = []
let detailedWarningList = []
this.questionWarning = []
for (let i = 0; i < this.dataSource.length; i++) {
for (let j = 0; j < selectedRowKeys.length; j++) {
if (this.dataSource[i].id == selectedRowKeys[j]) {
@@ -1497,72 +1552,40 @@
}
}
for (let i = 0; i < content.length > 0; i++) {
if (this.roleSwitchingCode == '0') {
//为studio角色时在通过判断流程状态是否为清单待校核
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>
)
}
} else if (this.roleSwitchingCode == '1') {
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 (content[i].verifyFlowStatus == 'List to be checked' ||
content[i].designFlowStatus == 'List to be checked' ||
content[i].verifyFlowStatus == 'Task to be confirmed' ||
content[i].designFlowStatus == 'Task to be confirmed' ||
content[i].verifyFlowStatus == 'Results to be submitted' ||
content[i].designFlowStatus == 'Results to be submitted' ||
content[i].verifyFlowStatus == 'Results to be reviewed' ||
content[i].designFlowStatus == 'Results to be reviewed') {
this.questionIdList.push(content[i].id)
} else {
detailedWarningList.push(content[i].serialNumber)
}
}
if (idList && idList.length > 0) {
this.questionAction(idList, detailedWarningList)
if (detailedWarningList && detailedWarningList.length > 0) {
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 {
this.promptInformation(detailedWarningList)
this.promptInformation(this.questionWarning)
}
} else {
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() {
if (this.dataSource && this.dataSource.length > 0) {
@@ -1885,6 +1908,7 @@
}
})
},
getList() {
let roleCode = this.roleSwitchingCode
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
@@ -1940,6 +1964,7 @@
}
})
},
onCheckAllChange(e) {
this.checkedList = e.target.checked ? this.customizeList.map(item => item.field) : []
this.selectedValue = this.checkedList
@@ -1985,6 +2010,7 @@
}
})
},
getPersonnelList() {
this.getList()
},
@@ -2174,6 +2200,7 @@
this.$message.warning(this.$t('selectLeastOne'))
}
},
submitClick(dataList, num) {
let content = []
let designList = []
@@ -2236,6 +2263,7 @@
_this.submitAdmin(dataList)
}
},
submitAdmin(dataList) {
let _this = this
this.requestsNum = 0
@@ -2333,6 +2361,7 @@
postAction('/project/projectCommentEO/add', query).then((res) => {
})
},
rejectCauseAdd(rejectCause, ids) {
let rejectTime = moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
let query = {
@@ -2346,6 +2375,7 @@
})
},
handleCancelComment() {
this.visibleComment = false
},
@@ -2385,9 +2415,11 @@
}
})
},
customizeClick() {
this.$refs.customizeListRef.transferModel(this.columnsAll)
},
bringInRelevantPersonnelClick() {
let _this = this
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {