Merge remote-tracking branch 'origin/dev_2nd_LCYH' into dev_2nd_LCYH

This commit is contained in:
wangzhijiang
2023-04-12 10:27:09 +08:00
9 changed files with 748 additions and 1070 deletions
+4
View File
@@ -1770,4 +1770,8 @@ module.exports = {
theCurrentlySelectedDataContainsReviewed:'The currently selected data contains reviewed data. Are you sure to return it?',
reviewTheReasonForReturn:'Review the reason for return',
reasonForTaskRejection:'Reason for task rejection',
theDeliveryProcessCannotBeEmpty:'The delivery type of the design compliance process cannot be empty',
theVerificationComplianceProcessCannotBeEmpty:'The delivery type of the verification compliance process cannot be empty',
deadlineForConfirmationDesignComplianceResponsibility:'Deadline for Confirmation of Design Compliance Responsibility',
deadlineForVerifyingComplianceResponsibilityConfirmation:'Deadline for verifying compliance responsibility confirmation',
}
+4 -1
View File
@@ -1872,5 +1872,8 @@ module.exports = {
theCurrentlySelectedDataContainsReviewed:'当前选择的数据中包含审查通过的数据确认退回吗',
reviewTheReasonForReturn:'审查退回原因',
reasonForTaskRejection:'任务拒绝原因',
theDeliveryProcessCannotBeEmpty:'设计符合性流程的交付物类型不能为空',
theVerificationComplianceProcessCannotBeEmpty:'验证符合性流程的交付物类型不能为空',
deadlineForConfirmationDesignComplianceResponsibility:'设计符合性责任确认截止日期',
deadlineForVerifyingComplianceResponsibilityConfirmation:'验证符合性责任确认截止日期',
}
@@ -1,37 +1,41 @@
<template>
<div class="tree-table">
<div class="tree-table-content">
<a-table
class="tree-table-con"
:components="drag(columns,'columns')"
:columns="columns"
:data-source="tabData"
rowKey="id"
:scroll="{x: 900}"
:pagination="false"
:loading="loading"
:rowClassName='setRowClassName'
:row-selection="{selectedRowKeys: selectedRowKeys,onChange: onSelectChange }"
>
<template slot="action" slot-scope="text, record">
<a class="action-edit" href="javascript:;" @click="actionEdit(record)" v-has="'bqnrzdpzsxbj'">{{$t('edit')}}</a>
<a class="action-delete" href="javascript:;" @click="onDelete(record)" v-has="'sys:category:logicDelete'">{{$t('delete')}}</a>
</template>
</a-table>
<div class="page" v-if="tabData.length > 0 && isPagination">
<a-pagination
:show-total="total => $t('total')+` ${total} `+$t('strip')"
show-quick-jumper
show-size-changer
:current="queryParams.pageNo"
:page-size.sync="queryParams.pageSize"
:total="total"
@change="onChangePage"
@showSizeChange="SizeChange"
/>
</div>
<div class="tree-table">
<div class="tree-table-content">
<a-table
class="tree-table-con"
:components="drag(columns,'columns')"
:columns="columns"
:data-source="tabData"
rowKey="id"
:scroll="{x: 900}"
:pagination="false"
:loading="loading"
:rowClassName='setRowClassName'
:row-selection="{selectedRowKeys: selectedRowKeys,onChange: onSelectChange }"
>
<template slot="action" slot-scope="text, record">
<a class="action-edit" href="javascript:;"
v-if="isEdit(record)"
@click="actionEdit(record)" v-has="'bqnrzdpzsxbj'">{{$t('edit')}}</a>
<a class="action-delete" href="javascript:;" @click="onDelete(record)"
v-if="isEdit(record)"
v-has="'sys:category:logicDelete'">{{$t('delete')}}</a>
</template>
</a-table>
<div class="page" v-if="tabData.length > 0 && isPagination">
<a-pagination
:show-total="total => $t('total')+` ${total} `+$t('strip')"
show-quick-jumper
show-size-changer
:current="queryParams.pageNo"
:page-size.sync="queryParams.pageSize"
:total="total"
@change="onChangePage"
@showSizeChange="SizeChange"
/>
</div>
</div>
</div>
</template>
<script>
@@ -40,20 +44,20 @@
export default {
name: 'treeTable',
props:{
tabletreeData:Array,
record:Object,
total:Number,
queryParams:Object,
props: {
tabletreeData: Array,
record: Object,
total: Number,
queryParams: Object,
isPagination: {
type: Boolean,
default: true
}
},
mixins:[ResizeHeader, ResizeColumnProvide],
data(){
return{
loading:false, //搜索条件
mixins: [ResizeHeader, ResizeColumnProvide],
data() {
return {
loading: false, //搜索条件
columns: [
{
title: this.$t('name'),
@@ -79,32 +83,38 @@
{
title: this.$t('operation'),
dataIndex: 'action',
scopedSlots: {customRender: 'action'},
scopedSlots: { customRender: 'action' },
width: 170
}
],
tabData:[],
selectedRowKeys:[],
selected:{}
tabData: [],
selectedRowKeys: [],
selected: {}
}
},
mounted() {
// this.loadData()
this.tabData=this.tabletreeData
this.tabData = this.tabletreeData
// console.log('total',this.total)
},
methods:{
loadData(){
this.loading=true
getAction(`sys/category/queryBySysDictId`,{
id:this.record.id,
isTagDict:1
}).then(res=>{
methods: {
isEdit(val) {
if (val.id == '1635545748968783874' || val.id == '1645667531513237506') {
return false
}
return true
},
loadData() {
this.loading = true
getAction(`sys/category/queryBySysDictId`, {
id: this.record.id,
isTagDict: 1
}).then(res => {
let treeData = [...res.result]
let data = this.toTree(treeData)
this.tabData=data
let parents=this.getParents(treeData)
this.loading=false
this.tabData = data
let parents = this.getParents(treeData)
this.loading = false
// console.log('treedata',data)
// this.dataFlag=true
})
@@ -114,81 +124,81 @@
toTree(config) {
// 删除 所有 children,以防止多次调用
config.forEach(function(item) {
delete item.children;
});
delete item.children
})
// 将数据存储为 以 id 为 KEY 的 map 索引数据列
let map = {};
let map = {}
config.forEach((item) => {
item.label = item.name;
item.key=item.id;
map[item.id] = item;
});
let val = [];
item.label = item.name
item.key = item.id
map[item.id] = item
})
let val = []
config.forEach((item) => {
// 以当前遍历项,的pid,去map对象中找到索引的id
let parent = map[item.pid];
let parent = map[item.pid]
// 如果找到索引,那么说明此项不在顶级当中,那么需要把此项添加到,他对应的父级中
if (parent) {
(parent.children || (parent.children = [])).push(item);
(parent.children || (parent.children = [])).push(item)
} else {
//如果没有在map中找到对应的索引ID,那么直接把 当前的item添加到 val结果集中,作为顶级
val.push(item);
val.push(item)
}
});
return val;
})
return val
},
//删除
onDelete(val){
onDelete(val) {
this.$confirm({
title: this.$t('ConfirmDelete'),
content: '',
onOk:
async () => {
// sys/category/delete
// sys/category/delete
// sys/category/logicDelete
getAction(`sys/category/logicDelete`, { id: val.id }).then((res) => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'));
if(this.tabData&&this.tabData.length==1){
this.queryParams.pageNo=1
this.$message.success(this.$t('OperationSuccessful'))
if (this.tabData && this.tabData.length == 1) {
this.queryParams.pageNo = 1
}
this.$emit('ok',this.queryParams)
}else{
this.$message.warning(this.$t('operationFailed'));
this.$emit('ok', this.queryParams)
} else {
this.$message.warning(this.$t('operationFailed'))
}
})
}
})
},
//编辑
actionEdit(val){
this.$emit('editDict',true,val)
actionEdit(val) {
this.$emit('editDict', true, val)
},
//点击页数
onChangePage(page,pageSize){
onChangePage(page, pageSize) {
this.queryParams.pageNo = page
this.$emit('ok',this.queryParams)
this.$emit('ok', this.queryParams)
// this.loadData()
},
//一页显示条数
SizeChange(page,pageSize){
SizeChange(page, pageSize) {
this.queryParams.pageSize = pageSize
this.$emit('ok',this.queryParams)
this.$emit('ok', this.queryParams)
// this.loadData()
},
//设置行属性
setRowClassName(record){
if(record.pid != 0){
setRowClassName(record) {
if (record.pid != 0) {
return 'rowStyle'
}
},
onSelectChange(keys){
this.selectedRowKeys=keys
console.log('rowss',this.selectedRowKeys)
this.$emit('selectedKeys',keys)
onSelectChange(keys) {
this.selectedRowKeys = keys
console.log('rowss', this.selectedRowKeys)
this.$emit('selectedKeys', keys)
// console.log('keys',keys,this.selectedRowKeys)
},
}
// onSelectAll(selected) {
// if (selected) {
// const tabData = this.tabData;
@@ -293,27 +303,29 @@
</script>
<style lang="less" scoped>
.tree-table{
.tree-table-content{
.tree-table-con{
.action-edit{
margin-right: 10px;
}
.action-delete{
color: red;
.tree-table {
.tree-table-content {
.tree-table-con {
.action-edit {
margin-right: 10px;
}
.action-delete {
color: red;
}
}
}
}
}
</style>
<style lang="less">
.rowStyle{
background-color:#fafafa;
.rowStyle {
background-color: #fafafa;
}
.tree-table{
.page{
.tree-table {
.page {
margin-top: 20px;
text-align: right;
}
@@ -11,13 +11,13 @@
</span>
</div>
<div class="Virtual-detail-text-right">
<!-- <div class="operator-text"-->
<!-- v-if="textTitle === $t('listOfRegulations')"-->
<!-- v-has="'projectComment:list'"-->
<!-- @click="commentClick">-->
<!-- <a-icon type="message"/>-->
<!-- {{$t('comment')}}-->
<!-- </div>-->
<!-- <div class="operator-text"-->
<!-- v-if="textTitle === $t('listOfRegulations')"-->
<!-- v-has="'projectComment:list'"-->
<!-- @click="commentClick">-->
<!-- <a-icon type="message"/>-->
<!-- {{$t('comment')}}-->
<!-- </div>-->
<div class="operator-text"
v-if="textTitle === $t('listOfRegulations')"
v-has="'projectComment:list'"
@@ -37,12 +37,32 @@
<a-icon type="clock-circle"/>
{{$t('historicalVersion')}}
</div>
<div class="operator-text"
v-if="(textTitle === $t('certificationList') || textTitle === $t('listOfRegulations')) && roleSwitchName"
@click="roleSwitchingClick">
<a-icon type="select"/>
{{roleSwitchName}}
</div>
<a-popconfirm overlayClassName="popconfirmDetails"
:visible="visible"
@visibleChange="handleVisibleChange"
placement="bottomRight">
<template slot="title" id="popconfirmDetails">
<div @click="roleSwitchingClick(item.roleCode)"
v-for="(item,index) in roleSwitchingList"
class="operator-text-title"
:class="{'operator-text-title-color':item.roleName == roleSwitchName ? true : false}"
:title="item.roleName">
{{ item.roleName }}
</div>
<JLoading :loading="JTextLoading"></JLoading>
</template>
<div class="operator-text" style="position: relative"
v-if="(textTitle === $t('certificationList') || textTitle === $t('listOfRegulations')) && roleSwitchName">
<a-icon type="select"/>
{{roleSwitchName}}
</div>
</a-popconfirm>
<!-- <div class="operator-text"-->
<!-- v-if="(textTitle === $t('certificationList') || textTitle === $t('listOfRegulations')) && roleSwitchName"-->
<!-- @click="roleSwitchingClick">-->
<!-- <a-icon type="select"/>-->
<!-- {{roleSwitchName}}-->
<!-- </div>-->
</div>
</div>
<div style="padding: 52px 0 0 0;background: #ffffff;height:100%">
@@ -135,6 +155,7 @@
<listOfRegulations v-else-if="textTitle === $t('listOfRegulations')"
ref="listOfRegulationsRef"
@getRoleSwitch="getRoleSwitch"
@getRoleSwitchingList="getRoleSwitchingList"
:areaOfResponsibilityList="areaOfResponsibilityList"/>
<TaskList :isDisplayNum="isDisplayNum" :areaOfResponsibility="areaOfResponsibility"
v-else-if="textTitle === $t('taskList')"/>
@@ -145,6 +166,7 @@
<certificationList ref="certificationListRef"
:isDisplayNum="isDisplayNum"
@getRoleSwitch="getRoleSwitch"
@getRoleSwitchingList="getRoleSwitchingList"
v-else-if="textTitle === $t('certificationList')"/>
</div>
</div>
@@ -191,6 +213,7 @@
textTitle: '',
isTrue: true,
loading: false,
JTextLoading: false,
isDisplay: true,
areaOfResponsibilityList: {},
url: {
@@ -210,7 +233,7 @@
'20': '工程接口人',
'21': '责任人',
'30': '工程接口人',
'31': '责任人',
'31': '责任人'
},
roleSwitchListEn: {
'0': 'R&H Studio',
@@ -224,11 +247,13 @@
'20': 'Interface person',
'21': 'Person liable',
'30': 'Engineering interface person',
'31': 'Person liable',
'31': 'Person liable'
},
areaOfResponsibility: {},
engineeringInterfacePerson: '',
roleSwitchName: ''
roleSwitchName: '',
roleSwitchingList: [],
visible: false
}
},
created() {
@@ -253,7 +278,7 @@
} else if (this.$route.query.type == '105') {
this.textColor(this.$t('TaskParameterCollection'))
this.textTitle = this.$t('TaskParameterCollection')
}else if (this.$route.query.type == '106') {
} else if (this.$route.query.type == '106') {
this.textColor(this.$t('certificationList'))
this.textTitle = this.$t('certificationList')
}
@@ -325,11 +350,11 @@
}
},
//待办中心跳转
todocenterClick(){
todocenterClick() {
this.$router.push({
path: '/projectRegulationTasks',
query: {
projectName:this.$route.query.projectName
projectName: this.$route.query.projectName
}
})
},
@@ -360,7 +385,6 @@
postAction('/project/projectRelatedPersonnel/page', query).then((res) => {
if (res.success) {
let dataSource = res.result || []
console.log(dataSource)
dataSource.forEach(res => {
if (res.engineeringInterfacePerson || res.certificationEngineer || res.lawEngineer) {
this.engineeringInterfacePerson += res.engineeringInterfacePerson + ',' + res.certificationEngineer + ',' + res.lawEngineer + ','
@@ -406,21 +430,30 @@
path: '/projectLibrary'
})
},
roleSwitchingClick() {
roleSwitchingClick(roleCode) {
this.JTextLoading = true
if (this.textTitle === this.$t('listOfRegulations')) {
this.$refs.listOfRegulationsRef.roleSwitchingClick()
this.$refs.listOfRegulationsRef.handleOkRoleSwitching(roleCode)
} else {
this.$refs.certificationListRef.roleSwitchingClick()
this.$refs.certificationListRef.handleOkRoleSwitching(roleCode)
}
},
getRoleSwitchingList(list) {
this.roleSwitchingList = list || []
this.roleSwitchingList = [...this.roleSwitchingList]
},
handleVisibleChange(visible) {
this.visible = visible
},
getRoleSwitch(value) {
console.log(value)
let long = localStorage.getItem('language') || 'zh-cn'
if (long == 'zh-cn'){
if (long == 'zh-cn') {
this.roleSwitchName = this.roleSwitchListCn[value]
}else{
} else {
this.roleSwitchName = this.roleSwitchListEn[value]
}
this.JTextLoading = false
this.visible = false
}
}
}
@@ -535,4 +568,35 @@
bottom: 20px;
transition: all 0.2s;
}
.operator-text-title {
cursor: pointer;
margin-right: 22px;
font-size: 14px;
font-weight: 400;
color: #040B29;
margin-bottom: 22px;
}
.operator-text-title:last-child {
margin-bottom: 0;
}
.operator-text-title-color {
color: #00B3BE;
}
</style>
<style>
.popconfirmDetails {
z-index: 999;
top: 42px !important;
}
.popconfirmDetails .ant-popover-buttons {
display: none !important;
}
.popconfirmDetails .anticon-exclamation-circle {
display: none !important;
}
</style>
@@ -19,23 +19,23 @@
<span class="title-text-text" :title="$t('regulationNo')">{{$t('regulationNo')}}</span>
</div>
<a-form-model-item class="itemModel" prop="serialNumber">
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('regulationNo')"-->
<!-- optionFilterProp="label"-->
<!-- v-if="!this.formInline.id"-->
<!-- @change="serialNumberChange"-->
<!-- :disabled="this.formInline.id?true:false"-->
<!-- showSearch-->
<!-- v-model="formInline.bussDocumentLibraryId">-->
<!-- <a-select-option v-for="(item, key) in projectNameList"-->
<!-- :label="item.serialNumber"-->
<!-- :key="key"-->
<!-- :value="item.standId">-->
<!-- <span style="display: inline-block;width: 100%"-->
<!-- :title=" item.serialNumber ">-->
<!-- {{ item.serialNumber}}-->
<!-- </span>-->
<!-- </a-select-option>-->
<!-- </a-select>-->
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('regulationNo')"-->
<!-- optionFilterProp="label"-->
<!-- v-if="!this.formInline.id"-->
<!-- @change="serialNumberChange"-->
<!-- :disabled="this.formInline.id?true:false"-->
<!-- showSearch-->
<!-- v-model="formInline.bussDocumentLibraryId">-->
<!-- <a-select-option v-for="(item, key) in projectNameList"-->
<!-- :label="item.serialNumber"-->
<!-- :key="key"-->
<!-- :value="item.standId">-->
<!-- <span style="display: inline-block;width: 100%"-->
<!-- :title=" item.serialNumber ">-->
<!-- {{ item.serialNumber}}-->
<!-- </span>-->
<!-- </a-select-option>-->
<!-- </a-select>-->
<a-input @click.native="serialNumberClick"
class="box-input"
v-if="!this.formInline.id"
@@ -206,12 +206,12 @@
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="Required" v-if="item.deliverableType != '1635545748968783874'">*</span>
<span class="title-text-text" :title="$t('engineeringInterfacePerson')">{{$t('engineeringInterfacePerson')}}</span>
</div>
<a-form-model-item class="itemModel"
:prop="'dataList.'+index+'.sdt'"
:rules="[{ required: true, message: $t('engineeringInterfacePerson') + $t('cannotEmpty'), trigger: 'change'},]"
:prop="item.deliverableType == '1635545748968783874'?'':'dataList.'+index+'.sdt'"
:rules="[{ required: item.deliverableType == '1635545748968783874'?false:true, message: $t('engineeringInterfacePerson') + $t('cannotEmpty'), trigger: 'change'},]"
>
<a-select :placeholder="$t('PleaseSelect')+$t('engineeringInterfacePerson')"
optionFilterProp="label"
@@ -235,12 +235,12 @@
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="Required" v-if="item.deliverableType != '1635545748968783874'">*</span>
<span class="title-text-text" :title="$t('closingDate')">{{$t('closingDate')}}</span>
</div>
<a-form-model-item class="itemModel"
:prop="'dataList.'+index+'.endTime'"
:rules="[{ required: true, message: $t('closingDate') + $t('cannotEmpty'), trigger: 'change'},]"
:prop="item.deliverableType == '1635545748968783874'?'':'dataList.'+index+'.endTime'"
:rules="[{ required: item.deliverableType == '1635545748968783874'?false:true, message: $t('closingDate') + $t('cannotEmpty'), trigger: 'change'},]"
>
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('closingDate')"
@@ -402,11 +402,13 @@
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="Required" v-if="formInline.deliverableType != '1635545748968783874'">*</span>
<span class="title-text-text" :title="$t('engineeringInterfacePerson')">{{$t('engineeringInterfacePerson')}}</span>
</div>
<a-form-model-item class="itemModel"
:prop="'sdt'"
:prop="formInline.deliverableType == '1635545748968783874'?'':'sdt'"
:rules="[{ required: formInline.deliverableType=='1635545748968783874'?false:true,
message: $t('engineeringInterfacePerson') + $t('cannotEmpty'), trigger: 'change'}]"
>
<a-select :placeholder="$t('PleaseSelect')+$t('engineeringInterfacePerson')"
optionFilterProp="label"
@@ -429,11 +431,13 @@
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="Required" v-if="formInline.deliverableType != '1635545748968783874'">*</span>
<span class="title-text-text" :title="$t('closingDate')">{{$t('closingDate')}}</span>
</div>
<a-form-model-item class="itemModel"
:prop="'endTime'"
:prop="formInline.deliverableType == '1635545748968783874'?'':'endTime'"
:rules="[{ required: formInline.deliverableType == '1635545748968783874'?false:true,
message: $t('closingDate') + $t('cannotEmpty'), trigger: 'change'}]"
>
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('closingDate')"
@@ -452,11 +456,13 @@
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="Required" v-if="formInline.deliverableType != '1635545748968783874'">*</span>
<span class="title-text-text" :title="$t('personLiable')">{{$t('personLiable')}}</span>
</div>
<a-form-model-item class="itemModel-multi"
:prop="'dutyPersonName'"
:prop="formInline.deliverableType == '1635545748968783874'?'':'dutyPersonName'"
:rules="[{ required: formInline.deliverableType=='1635545748968783874'?false:true,
message: $t('personLiable') + $t('cannotEmpty'), trigger: 'change'}]"
>
<PersonnelSelection
:query="{db_field_name:'dutyPerson',db_field_txt:$t('personLiable')}"
@@ -517,7 +523,7 @@
formInline: {},
confirmLoading: false,
visible: false,
personnelVisible:false,
personnelVisible: false,
yearNameDataList: [],
rules: {
serialNumber: [
@@ -566,27 +572,6 @@
trigger: 'change'
}
],
sdt: [
{
required: true,
message: this.$t('engineeringInterfacePerson') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
dutyPersonName: [
{
required: true,
message: this.$t('personLiable') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
endTime: [
{
required: true,
message: this.$t('closingDate') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
configItem: [
{ required: true, message: this.$t('configurationItem') + this.$t('cannotEmpty'), trigger: 'blur' },
{
@@ -616,14 +601,14 @@
},
methods: {
...mapGetters(['userInfo']),
serialNumberClick(){
serialNumberClick() {
this.$refs.addCodeNumber.add()
},
regulation(item,data) {
regulation(item, data) {
this.formInline.serialNumber = item
this.formInline.bussDocumentLibraryId = data
this.$nextTick(()=>{
this.formInline = {... this.formInline}
this.$nextTick(() => {
this.formInline = { ...this.formInline }
this.$refs.ruleForm.clearValidate('serialNumber')
})
},
@@ -855,12 +840,12 @@
this.formInline.dutyPersonName = res.result.engineeringInterfacePersonList[0].name
this.formInline.dutyPerson = res.result.engineeringInterfacePersonList[0].value
}
this.formInline = {...this.formInline}
this.formInline = { ...this.formInline }
} else if (this.engineeringInterfacePersonList.length == 0) {
this.formInline.sdt = undefined
}
this.personnelVisible = false
this.$nextTick(()=>{
this.$nextTick(() => {
this.personnelVisible = true
})
} else {
@@ -18,9 +18,9 @@
<span>{{ $t('areaOfResponsibility') }}</span>
</div>
<j-multi-select-tag class="box-input" v-model="queryParam.dutyTerritory"
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
:type="'select'"
:triggerChange="false" :dictCode="'duty_territory'"/>
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
:type="'select'"
:triggerChange="false" :dictCode="'duty_territory'"/>
</div>
</a-col>
<a-col :md="6" :sm="8">
@@ -116,7 +116,13 @@
<a-icon type="profile"/>
{{ $t('referenceDeliverables') }}
</div>
<!-- 添加配置-->
<div @click="addConfigurationClick"
v-if="roleSwitchingCode == 20 || roleSwitchingCode == 21"
class="operator-text">
<a-icon type="plus"/>
{{ $t('addConfiguration') }}
</div>
<a-popconfirm overlayClassName="popconfirm" placement="bottomRight">
<template slot="title" id="popconfirm">
<div>
@@ -127,7 +133,13 @@
<a-icon type="plus"/>
{{ $t('add') }}
</div>
<!-- 添加配置-->
<div @click="addConfigurationClick"
v-if="roleSwitchingCode == 0 || roleSwitchingCode == 2"
class="operator-text-title">
<a-icon type="plus"/>
{{ $t('addConfiguration') }}
</div>
<!-- 模板下载-->
<div @click="handleModule"
v-if="roleSwitchingCode == 0 || roleSwitchingCode == 2"
@@ -409,6 +421,8 @@
<SelectedBy ref="SelectedByRef" :isSingleChoice="true"
:title="$t('turnToDo')" @SelectedByForm="SelectedByForm"></SelectedBy>
<viewFileModel ref="viewFileModelRef"/>
<reasonForReturn ref="reasonForReturnRef" @reasonForReturnForm="reasonForReturnForm"/>
<addConfiguration ref="addConfigurationRef" @addConfigurationForm="transferListForm"/>
<JLoading :loading="JTextLoading">{{ $t('Submitting') }}</JLoading>
<!-- <a-modal-->
<!-- :title="listTitle"-->
@@ -445,40 +459,40 @@
<!-- </a-form-model>-->
<!-- </a-spin>-->
<!-- </a-modal>-->
<a-modal
:title="$t('roleSwitching')"
:width="500"
:visible="visibleRoleSwitching"
:confirm-loading="confirmLoadingRoleSwitching"
:maskClosable="false"
@ok="handleOkRoleSwitching"
@cancel="handleCancelRoleSwitching"
>
<a-form-model :model="formInlineRoleSwitching" class="formAdd" :rules="rulesRoleSwitching"
ref="ruleFormRoleSwitching">
<a-row :gutter="24">
<a-col :span="24">
<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>
</div>
<a-form-model-item class="itemModelComment" :prop="'roleSwitchingCode'">
<a-select allowClear :placeholder="$t('pleaseSelect')+$t('roleSwitching')"
v-model="formInlineRoleSwitching.roleSwitchingCode">
<!-- <a-select-option :value="null">{{$t('pleaseSelect')}}</a-select-option>-->
<a-select-option :value="item.roleCode" v-for="item in roleSwitchingList">
<span class="itemOption-index" :title="item.roleName">
{{ item.roleName }}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
</a-modal>
<!-- <a-modal-->
<!-- :title="$t('roleSwitching')"-->
<!-- :width="500"-->
<!-- :visible="visibleRoleSwitching"-->
<!-- :confirm-loading="confirmLoadingRoleSwitching"-->
<!-- :maskClosable="false"-->
<!-- @ok="handleOkRoleSwitching"-->
<!-- @cancel="handleCancelRoleSwitching"-->
<!-- >-->
<!-- <a-form-model :model="formInlineRoleSwitching" class="formAdd" :rules="rulesRoleSwitching"-->
<!-- ref="ruleFormRoleSwitching">-->
<!-- <a-row :gutter="24">-->
<!-- <a-col :span="24">-->
<!-- <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>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModelComment" :prop="'roleSwitchingCode'">-->
<!-- <a-select allowClear :placeholder="$t('pleaseSelect')+$t('roleSwitching')"-->
<!-- v-model="formInlineRoleSwitching.roleSwitchingCode">-->
<!-- &lt;!&ndash; <a-select-option :value="null">{{$t('pleaseSelect')}}</a-select-option>&ndash;&gt;-->
<!-- <a-select-option :value="item.roleCode" v-for="item in roleSwitchingList">-->
<!-- <span class="itemOption-index" :title="item.roleName">-->
<!-- {{ item.roleName }}-->
<!-- </span>-->
<!-- </a-select-option>-->
<!-- </a-select>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- </a-row>-->
<!-- </a-form-model>-->
<!-- </a-modal>-->
</a-card>
</template>
@@ -494,6 +508,8 @@
import modifyHistory from './components/modifyHistoryList'
import TaskListModel from '../TaskListModel'
import SelectedBy from '@/components/SelectedBy/index'
import reasonForReturn from './components/reasonForReturn'
import addConfiguration from './components/addConfiguration'
import referenceDeliverablesList from './components/referenceDeliverablesList'
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
@@ -516,7 +532,9 @@
TaskListModel,
referenceDeliverablesList,
SelectedBy,
viewFileModel
viewFileModel,
reasonForReturn,
addConfiguration
},
data() {
return {
@@ -818,6 +836,13 @@
},
methods: {
...mapGetters(['userInfo']),
addConfigurationClick() {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
this.$refs.addConfigurationRef.getData(JSON.parse(JSON.stringify(this.selectedRowKeys)))
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
},
getDeliverableTree() {
getAction('/sys/category/getCertificationDeliverableTree', {}).then((res) => {
if (res.success) {
@@ -919,7 +944,7 @@
...this.queryParamQuery,
...queryParam,
projectLibraryId: this.$route.query.id,
roleCode: this.formInlineRoleSwitching.roleSwitchingCode
roleCode: this.roleSwitchingCode
}
this.loading = true
getAction(this.url.list, query).then((res) => {
@@ -1358,6 +1383,7 @@
} else {
this.roleSwitchingList = []
}
this.$emit('getRoleSwitchingList', this.roleSwitchingList)
callback && callback()
})
},
@@ -1401,38 +1427,38 @@
this.formInlineRoleSwitching = { ...this.formInlineRoleSwitching }
})
},
handleOkRoleSwitching() {
this.$refs.ruleFormRoleSwitching.validate(valid => {
if (valid) {
let query = {
roleCode: this.formInlineRoleSwitching.roleSwitchingCode,
id: this.AndUserId,
projectLibraryId: this.$route.query.id,
modelType: 'Certification inventory'
}
this.confirmLoadingRoleSwitching = true
postAction(this.url.AndUserIdEdit, query).then((res) => {
if (res.success) {
this.isRoleSwitching = true
this.roleSwitchingCode = this.formInlineRoleSwitching.roleSwitchingCode
this.$message.success(this.$t('OperationSuccessful'))
this.visibleRoleSwitching = false
this.confirmLoadingRoleSwitching = false
this.selectedRowKeysList = []
this.selectedRowKeys = []
this.getList()
this.$emit('getRoleSwitch', this.roleSwitchingCode)
} else {
this.confirmLoadingRoleSwitching = false
this.$message.warning(this.$t('operationFailed'))
}
})
handleOkRoleSwitching(roleSwitchingCode) {
// this.$refs.ruleFormRoleSwitching.validate(valid => {
// if (valid) {
let query = {
roleCode: roleSwitchingCode,
id: this.AndUserId,
projectLibraryId: this.$route.query.id,
modelType: 'Certification inventory'
}
// this.confirmLoadingRoleSwitching = true
postAction(this.url.AndUserIdEdit, query).then((res) => {
if (res.success) {
// this.isRoleSwitching = true
this.roleSwitchingCode = roleSwitchingCode
this.$message.success(this.$t('OperationSuccessful'))
// this.visibleRoleSwitching = false
// this.confirmLoadingRoleSwitching = false
this.selectedRowKeysList = []
this.selectedRowKeys = []
this.getList()
this.$emit('getRoleSwitch', this.roleSwitchingCode)
} else {
this.confirmLoadingRoleSwitching = false
this.$message.warning(this.$t('operationFailed'))
}
})
// }
// })
},
handleCancelRoleSwitching() {
this.visibleRoleSwitching = false
},
// handleCancelRoleSwitching() {
// this.visibleRoleSwitching = false
// },
//保存
preservationClick(num) {
postAction(this.url.saveBatch, { 'dataList': this.dataSource }).then((res) => {
@@ -1620,10 +1646,14 @@
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
let ids = []
let notConditions = []
let NAId = []
for (let i = 0; i < this.selectedRowKeysList.length; i++) {
if (this.selectedRowKeysList[i].flowStatus == 'List to be checked' ||
this.selectedRowKeysList[i].flowStatus == 'Refusal of responsible person') {
if (this.selectedRowKeysList[i].dutyPerson && this.selectedRowKeysList[i].sdt) {
if (this.selectedRowKeysList[i].deliverableType == '1635545748968783874') {
NAId.push(this.selectedRowKeysList[i].id)
} else if (this.selectedRowKeysList[i].dutyPerson && this.selectedRowKeysList[i].deliverableType &&
this.selectedRowKeysList[i].sdt && this.selectedRowKeysList[i].endTime) {
ids.push(this.selectedRowKeysList[i].id)
} else {
notConditions.push(this.selectedRowKeysList[i].inspectionItem)
@@ -1636,8 +1666,8 @@
if (notConditions && notConditions.length > 0) {
data = this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyProcessReturned')
}
if (ids && ids.length > 0) {
this.submitTask(value, prompt, ids, notConditions, data)
if ((ids && ids.length > 0) || (NAId && NAId.length > 0)) {
this.submitTask(value, prompt, ids, notConditions, data, NAId)
} else {
this.failedMessage(data)
}
@@ -1692,7 +1722,11 @@
data = this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyDataStatusConfirmedSelected')
}
if (ids && ids.length > 0) {
this.submitTask(value, prompt, ids, notConditions, data)
if (value == 'zrrjjrw') {
this.$refs.reasonForReturnRef.getData(value, prompt, ids, notConditions, data, this.$t('reasonForTaskRejection'))
} else {
this.submitTask(value, prompt, ids, notConditions, data)
}
} else {
this.failedMessage(data)
}
@@ -1718,7 +1752,11 @@
data = this.$t('operationWithoutPermission') + ';' + this.$t('onlyDataWithTheCurrentCanBeManipulated') + ';' + this.$t('andProcessStatusIsTaskPendingConfirmation')
}
if (ids && ids.length > 0) {
this.submitTask(value, prompt, ids, notConditions, data)
if (value == 'zrrjjrw') {
this.$refs.reasonForReturnRef.getData(value, prompt, ids, notConditions, data, this.$t('reasonForTaskRejection'))
} else {
this.submitTask(value, prompt, ids, notConditions, data)
}
} else {
this.failedMessage(data)
}
@@ -1733,8 +1771,8 @@
if (this.selectedRowKeysList[i].valueType == 'text' || this.selectedRowKeysList[i].valueType == 'select' ||
this.selectedRowKeysList[i].valueType == 'file') {
if (!this.selectedRowKeysList[i].deliveryResult) {
this.$message.warning(this.$t('inspectionItems')+'"'+this.selectedRowKeysList[i].inspectionItem+'"'+this.$t('deliverablesFor')+this.$t('cannotEmpty'))
return
this.$message.warning(this.$t('inspectionItems') + '"' + this.selectedRowKeysList[i].inspectionItem + '"' + this.$t('deliverablesFor') + this.$t('cannotEmpty'))
return
}
}
}
@@ -1794,9 +1832,14 @@
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
let ids = []
let notConditions = []
let isTrue = false
let _this = this
for (let i = 0; i < this.selectedRowKeysList.length; i++) {
if (this.selectedRowKeysList[i].flowStatus == 'Results to be reviewed') {
ids.push(this.selectedRowKeysList[i].id)
} else if (this.selectedRowKeysList[i].flowStatus == 'Review and pass' && value == 'rzgcssc_th') {
ids.push(this.selectedRowKeysList[i].id)
isTrue = true
} else {
notConditions.push(this.selectedRowKeysList[i].inspectionItem)
}
@@ -1806,7 +1849,22 @@
data = this.$t('inspectionItems') + '"' + notConditions.join('、') + '"' + this.$t('conditionsNotMet') + ',' + this.$t('onlyDataStatusResultReviewedCanBeSelected')
}
if (ids && ids.length > 0) {
this.submitTask(value, prompt, ids, notConditions, data)
let text = ''
if (isTrue) {
text = this.$t('theCurrentlySelectedDataContainsReviewed')
} else {
text = prompt
}
if (value == 'rzgcssc_th') {
this.$confirm({
content: text,
onOk() {
_this.$refs.reasonForReturnRef.getData(value, text, ids, notConditions, data, _this.$t('reviewTheReasonForReturn'))
}
})
} else {
this.submitTask(value, text, ids, notConditions, data)
}
} else {
this.failedMessage(data)
}
@@ -1814,7 +1872,32 @@
this.$message.warning(this.$t('selectLeastOne'))
}
},
reasonForReturnForm(value, text, ids, notConditions, data) {
let _this = this
let query = {
'nodeKey': value,
'projectLibraryId': _this.$route.query.id,
'ids': ids.join(',')
}
postAction('/project/projectCertificationInventoryEO/submitTask', query).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.getList()
_this.selectedRowKeys = []
_this.selectedRowKeysList = []
_this.$refs.reasonForReturnRef.visible = false
_this.$refs.reasonForReturnRef.confirmLoading = false
if (notConditions && notConditions.length > 0) {
_this.failedMessage(data)
}
} else {
_this.$message.warning(res.message)
_this.$refs.reasonForReturnRef.confirmLoading = false
}
})
},
//提示语
failedMessage(data) {
let detailedWarningList = []
detailedWarningList.push(data)
@@ -1822,39 +1905,73 @@
content: ( < div > { detailedWarningList } < /div>)
})
},
//提示语
failedMessageOne(data) {
let detailedWarningList = data
this.$warning({
content: ( < div > { detailedWarningList } < /div>)
})
},
submitTask(value, prompt, ids, notConditions, data) {
//提交数据
submitTask(value, prompt, ids, notConditions, data, NAId) {
let _this = this
this.$confirm({
content: prompt,
onOk() {
let query = {
'nodeKey': value,
'projectLibraryId': _this.$route.query.id,
'ids': ids.join(',')
if (NAId && NAId.length > 0) {
this.NASubmitTask(NAId, ids, notConditions, data)
}
postAction('/project/projectCertificationInventoryEO/submitTask', query).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.getList()
_this.selectedRowKeys = []
_this.selectedRowKeysList = []
if (notConditions && notConditions.length > 0) {
_this.failedMessage(data)
}
} else {
_this.$message.warning(_this.$t('operationFailed'))
if (ids && ids.length > 0) {
let query = {
'nodeKey': value,
'projectLibraryId': _this.$route.query.id,
'ids': ids.join(',')
}
})
postAction('/project/projectCertificationInventoryEO/submitTask', query).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.getList()
_this.selectedRowKeys = []
_this.selectedRowKeysList = []
if (notConditions && notConditions.length > 0) {
_this.failedMessage(data)
}
} else {
_this.$message.warning(_this.$t('operationFailed'))
}
})
}
}
})
},
NASubmitTask(NAId, ids, notConditions, data) {
let _this = this
let query = {
'projectLibraryId': _this.$route.query.id,
'ids': NAId.join(',')
}
postAction('/project/projectCertificationInventoryEO/submitTask', query).then((res) => {
if (res.success) {
if (ids && ids.length > 0) {
} else {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.getList()
_this.selectedRowKeys = []
_this.selectedRowKeysList = []
if (notConditions && notConditions.length > 0) {
_this.failedMessage(data)
}
}
} else {
if (ids && ids.length > 0) {
} else {
_this.$message.warning(_this.$t('operationFailed'))
}
}
})
},
viewFileClick(item) {
this.$refs.viewFileModelRef.clickButtonToUpload(item)
},
@@ -63,89 +63,7 @@
</a-form-model-item>
</div>
</a-col>
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text" :title="'WVTA ID'">WVTA ID</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" prop="wvtaId">-->
<!-- <a-input class="box-input"-->
<!-- :disabled="false"-->
<!-- v-model="formInline.wvtaId"-->
<!-- :placeholder="$t('PleaseEnter')+'WVTA ID'"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
</a-row>
<!-- <a-row :gutter="24">-->
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text"-->
<!-- :title="$t('correspondingStandard')">{{$t('correspondingStandard')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" :prop="'correspondingStandard'">-->
<!-- <a-input class="box-input"-->
<!-- :disabled="true"-->
<!-- v-model="formInline.correspondingStandard"-->
<!-- :placeholder="$t('PleaseEnter')+$t('correspondingStandard')"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text"-->
<!-- :title="$t('implementationCategory')">{{$t('implementationCategory')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" prop="implementType">-->
<!-- <j-dict-select-tag class="box-input" v-model="formInline.implementType"-->
<!-- :disabled="formInline.roleCode == 0 || formInline.roleCode == 1 ? false : true"-->
<!-- @input="handleInput('implementType')"-->
<!-- :placeholder="$t('PleaseSelect')+$t('implementationCategory')"-->
<!-- :type="'select'"-->
<!-- :triggerChange="false" :dictCode="'implement_type'"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- </a-row>-->
<!-- <a-row :gutter="24">-->
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text"-->
<!-- :title="$t('vehicleInProductionDate')">{{$t('vehicleInProductionDate')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" :prop="'implementTime'">-->
<!-- <a-date-picker class="box-input"-->
<!-- :placeholder="$t('PleaseSelect')+$t('vehicleInProductionDate')"-->
<!-- :getCalendarContainer="(trigger) => trigger.parentNode"-->
<!-- @change="dateChange({db_field_name:'implementTime'})"-->
<!-- format="YYYY-MM-DD"-->
<!-- v-model="formInline.implementTime"-->
<!-- :disabled="formInline.roleCode == 0 || formInline.roleCode == 1 ? false : true"-->
<!-- style="width: 100%"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text" :title="$t('ImplementationDate')">{{$t('ImplementationDate')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel">-->
<!-- <a-date-picker class="box-input"-->
<!-- :getCalendarContainer="(trigger) => trigger.parentNode"-->
<!-- :placeholder="$t('PleaseSelect')+$t('ImplementationDate')"-->
<!-- @change="dateChange({db_field_name:'xin1Che1Xing2Shi2Shi1Ri4Qi1'})"-->
<!-- format="YYYY-MM-DD"-->
<!-- v-model="formInline.xin1Che1Xing2Shi2Shi1Ri4Qi1"-->
<!-- :disabled="formInline.roleCode == 0 || formInline.roleCode == 1 ? false : true"-->
<!-- style="width: 100%"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- </a-row>-->
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
@@ -221,30 +139,6 @@
</a-col>
</a-row>
<a-row :gutter="24">
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="Required" v-if="formInline.roleCodeIndex == 0">*</span>-->
<!-- <span class="title-text-text" :title="$t('certifiedEngineer')">{{$t('certifiedEngineer')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" :prop="'homologationEngineerId'">-->
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('certifiedEngineer')"-->
<!-- class="box-input"-->
<!-- allowClear-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
<!-- :disabled="formInline.roleCodeIndex == 0 ? false : true"-->
<!-- v-model="formInline.homologationEngineerId">-->
<!-- <a-select-option v-for="(item, key) in certificationEngineerList"-->
<!-- :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>-->
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
@@ -252,13 +146,6 @@
<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
@@ -276,25 +163,6 @@
</div>
</a-col>
</a-row>
<!-- <a-row :gutter="24">-->
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text"-->
<!-- :title="$t('zoneOfApplication')">{{$t('zoneOfApplication')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel-multi" prop="region">-->
<!-- &lt;!&ndash; <a-input class="box-input"&ndash;&gt;-->
<!-- &lt;!&ndash; :disabled="true"&ndash;&gt;-->
<!-- &lt;!&ndash; v-model="formInline.region_dictText"/>&ndash;&gt;-->
<!-- <j-multi-select-tag class="box-input" v-model="formInline.region"-->
<!-- :placeholder="$t('PleaseSelect')+$t('zoneOfApplication')"-->
<!-- :type="'select'"-->
<!-- :triggerChange="false" :dictCode="'region'"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- </a-row>-->
<a-row :gutter="24">
<a-col :span="24">
<div class="box-title-text">
@@ -318,10 +186,15 @@
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required"
v-if="!formInline.designDeliverableType.join(',').includes('1645667531513237506')">*</span>
<span class="title-text-text"
:title="$t('personLiable')">{{$t('personLiable')}}</span>
</div>
<a-form-model-item class="itemModel" prop="designDutyId">
<a-form-model-item class="itemModel-multi"
:prop="formInline.designDeliverableType.join(',').includes('1645667531513237506')?'':'designDutyIdName'"
:rules="[{ required: formInline.designDeliverableType.join(',').includes('1645667531513237506')?false:true,
message: $t('personLiable') + $t('cannotEmpty'), trigger: 'change'}]">
<PersonnelSelection :query="{db_field_name:'designDutyId',db_field_txt:$t('personLiable')}"
:isSingleChoice="true"
:personneQuery="formInline"
@@ -329,35 +202,21 @@
:disabled="isEdit(this.formInline)"
@change="PersonnelSelectionChange"
v-model="formInline.designDutyIdName"/>
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('personLiable')"-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
<!-- class="box-input"-->
<!-- allowClear-->
<!-- v-model="formInline.designDutyId">-->
<!-- <a-select-option v-for="(item, key) in designDutyList"-->
<!-- :key="key"-->
<!-- :value="item.value">-->
<!-- <span style="display: inline-block;width: 100%" :title=" item.name ">-->
<!-- {{ item.name }}-->
<!-- </span>-->
<!-- </a-select-option>-->
<!-- </a-select>-->
<!-- <j-dict-select-tag class="box-input" v-model="formInline.designDuty"-->
<!-- :disabled="formInline.roleCode == 0 ? false : true"-->
<!-- @input="handleInput('designDuty')"-->
<!-- :placeholder="$t('PleaseSelect')+$t('personLiable')"-->
<!-- :type="'select'"-->
<!-- :triggerChange="false" :dictCode="'ze2_ren4_ren2'"/>-->
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required"
v-if="!formInline.designDeliverableType.join(',').includes('1645667531513237506')">*</span>
<span class="title-text-text"
:title="$t('cutoffTime')">{{$t('cutoffTime')}}</span>
</div>
<a-form-model-item class="itemModel" :prop="'designDueDate'">
<a-form-model-item class="itemModel"
:prop="formInline.designDeliverableType.join(',').includes('1645667531513237506')?'':'designDueDate'"
:rules="[{ required: formInline.designDeliverableType.join(',').includes('1645667531513237506')?false:true,
message: $t('cutoffTime') + $t('cannotEmpty'), trigger: 'change'}]">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('cutoffTime')"
@change="dateChange({db_field_name:'designDueDate'})"
@@ -369,72 +228,22 @@
</a-form-model-item>
</div>
</a-col>
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text"-->
<!-- :title="$t('Sponsor')">{{$t('Sponsor')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" prop="designInitiatorId">-->
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('Sponsor')"-->
<!-- :disabled="formInline.roleCodeIndex == 0 ? false : true"-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
<!-- class="box-input"-->
<!-- allowClear-->
<!-- v-model="formInline.designInitiatorId">-->
<!-- <a-select-option v-for="(item, key) in designInitiatorList"-->
<!-- :key="key"-->
<!-- :value="item.value">-->
<!-- <span style="display: inline-block;width: 100%" :title=" item.name ">-->
<!-- {{ item.name }}-->
<!-- </span>-->
<!-- </a-select-option>-->
<!-- </a-select>-->
<!-- &lt;!&ndash; <j-dict-select-tag class="box-input" v-model="formInline.designInitiator"&ndash;&gt;-->
<!-- &lt;!&ndash; :disabled="formInline.roleCode == 0 ? false : true"&ndash;&gt;-->
<!-- &lt;!&ndash; @input="handleInput('designInitiator')"&ndash;&gt;-->
<!-- &lt;!&ndash; :placeholder="$t('PleaseSelect')+$t('Sponsor')"&ndash;&gt;-->
<!-- &lt;!&ndash; :type="'select'"&ndash;&gt;-->
<!-- &lt;!&ndash; :triggerChange="false" :dictCode="'fa1_qi3_ren2'"/>&ndash;&gt;-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
</a-row>
<!-- <a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||-->
<!-- (formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.homologationEngineerId &&-->
<!-- formInline.homologationEngineerId == userInfoQuery.id) ||-->
<!-- (formInline.roleCodeIndex == 4 && formInline.designInitiatorId == formInline.regulationOwnerId &&-->
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text"-->
<!-- :title="$t('cutoffTime')">{{$t('cutoffTime')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" :prop="'designDueDate'">-->
<!-- <a-date-picker class="box-input"-->
<!-- :placeholder="$t('PleaseSelect')+$t('cutoffTime')"-->
<!-- @change="dateChange({db_field_name:'designDueDate'})"-->
<!-- format="YYYY-MM-DD"-->
<!-- :getCalendarContainer="(trigger) => trigger.parentNode"-->
<!-- v-model="formInline.designDueDate"-->
<!-- style="width: 100%"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- </a-row>-->
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text"
:title="$t('typeOfDeliverables')">{{$t('typeOfDeliverables')}}</span>
</div>
<a-form-model-item class="itemModel" prop="typeOfDeliverables">
<a-form-model-item class="itemModel-multi" prop="designDeliverableType">
<a-tree-select
tree-node-filter-prop="title"
v-model="formInline.designDeliverableType"
:maxTagCount="1"
@change="designDeliverableTypeChange"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
class="box-input"
style="width: 100%"
@@ -443,11 +252,6 @@
tree-checkable
:placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"
/>
<!-- <j-dict-select-tag class="box-input" v-model="formInline.designDeliverableType"-->
<!-- @input="handleInput('designDeliverableType')"-->
<!-- :placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"-->
<!-- :type="'select'"-->
<!-- :triggerChange="false" :dictCode="'deliverable_template'"/>-->
</a-form-model-item>
</div>
</a-col>
@@ -485,171 +289,7 @@
</div>
</a-col>
</a-row>
<!-- <div class="header-text" v-if="formInline.roleCodeIndex == 0 ||-->
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&-->
<!-- formInline.homologationEngineerId == userInfoQuery.id) ||-->
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&-->
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
<!-- &nbsp;{{$t('PrehomoConfirmation')}}-->
<!-- </div>-->
<!-- <a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||-->
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&-->
<!-- formInline.homologationEngineerId == userInfoQuery.id) ||-->
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&-->
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text"-->
<!-- :title="$t('Sponsor')">{{$t('Sponsor')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" prop="prehomoInitiatorId">-->
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('Sponsor')"-->
<!-- :disabled="formInline.roleCodeIndex == 0 ? false : true"-->
<!-- class="box-input"-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
<!-- allowClear-->
<!-- v-model="formInline.prehomoInitiatorId">-->
<!-- <a-select-option v-for="(item, key) in prehomoInitiatorList"-->
<!-- :key="key"-->
<!-- :value="item.value">-->
<!-- <span style="display: inline-block;width: 100%" :title=" item.name ">-->
<!-- {{ item.name }}-->
<!-- </span>-->
<!-- </a-select-option>-->
<!-- </a-select>-->
<!-- &lt;!&ndash; <j-dict-select-tag class="box-input" v-model="formInline.prehomoInitiator"&ndash;&gt;-->
<!-- &lt;!&ndash; :disabled="formInline.roleCode == 0 ? false : true"&ndash;&gt;-->
<!-- &lt;!&ndash; @input="handleInput('prehomoInitiator')"&ndash;&gt;-->
<!-- &lt;!&ndash; :placeholder="$t('PleaseSelect')+$t('Sponsor')"&ndash;&gt;-->
<!-- &lt;!&ndash; :type="'select'"&ndash;&gt;-->
<!-- &lt;!&ndash; :triggerChange="false" :dictCode="'fa1_qi3_ren2'"/>&ndash;&gt;-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text"-->
<!-- :title="$t('personLiable')">{{$t('personLiable')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" prop="prehomoDutyId">-->
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('personLiable')"-->
<!-- class="box-input"-->
<!-- allowClear-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
<!-- v-model="formInline.prehomoDutyId">-->
<!-- <a-select-option v-for="(item, key) in prehomoDutyList"-->
<!-- :key="key"-->
<!-- :value="item.value">-->
<!-- <span style="display: inline-block;width: 100%" :title=" item.name ">-->
<!-- {{ item.name }}-->
<!-- </span>-->
<!-- </a-select-option>-->
<!-- </a-select>-->
<!-- &lt;!&ndash; <j-dict-select-tag class="box-input" v-model="formInline.prehomoDuty"&ndash;&gt;-->
<!-- &lt;!&ndash; :disabled="formInline.roleCode == 0 ? false : true"&ndash;&gt;-->
<!-- &lt;!&ndash; @input="handleInput('prehomoDuty')"&ndash;&gt;-->
<!-- &lt;!&ndash; :placeholder="$t('PleaseSelect')+$t('personLiable')"&ndash;&gt;-->
<!-- &lt;!&ndash; :type="'select'"&ndash;&gt;-->
<!-- &lt;!&ndash; :triggerChange="false" :dictCode="'ze2_ren4_ren2'"/>&ndash;&gt;-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- </a-row>-->
<!-- <a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||-->
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&-->
<!-- formInline.homologationEngineerId == userInfoQuery.id) ||-->
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&-->
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text"-->
<!-- :title="$t('cutoffTime')">{{$t('cutoffTime')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" :prop="'prehomoDueDate'">-->
<!-- <a-date-picker class="box-input"-->
<!-- :placeholder="$t('PleaseSelect')+$t('cutoffTime')"-->
<!-- @change="dateChange({db_field_name:'prehomoDueDate'})"-->
<!-- format="YYYY-MM-DD"-->
<!-- :getCalendarContainer="(trigger) => trigger.parentNode"-->
<!-- v-model="formInline.prehomoDueDate"-->
<!-- style="width: 100%"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- </a-row>-->
<!-- <a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||-->
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&-->
<!-- formInline.homologationEngineerId == userInfoQuery.id) ||-->
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&-->
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text"-->
<!-- :title="$t('typeOfDeliverables')">{{$t('typeOfDeliverables')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" prop="prehomoDeliverableType">-->
<!-- <a-tree-select-->
<!-- tree-node-filter-prop="title"-->
<!-- v-model="formInline.prehomoDeliverableType"-->
<!-- :maxTagCount="1"-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
<!-- class="box-input"-->
<!-- style="width: 100%"-->
<!-- :tree-data="DeliverableTreeList"-->
<!-- tree-checkable-->
<!-- :placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"-->
<!-- />-->
<!-- &lt;!&ndash; <j-dict-select-tag class="box-input" v-model="formInline.prehomoDeliverableType"&ndash;&gt;-->
<!-- &lt;!&ndash; :disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.prehomoDeliverableType ? true : false"&ndash;&gt;-->
<!-- &lt;!&ndash; @input="handleInput('prehomoDeliverableType')"&ndash;&gt;-->
<!-- &lt;!&ndash; :placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"&ndash;&gt;-->
<!-- &lt;!&ndash; :type="'select'"&ndash;&gt;-->
<!-- &lt;!&ndash; :triggerChange="false" :dictCode="'deliverable_template'"/>&ndash;&gt;-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text"-->
<!-- :title="$t('deliverableTemplate')">{{$t('deliverableTemplate')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" prop="prehomoDeliverableTemplate">-->
<!-- <a-button type="primary" class="button-text"-->
<!-- @click="clickButtonToUpload('prehomoDeliverableTemplate')">-->
<!-- {{ (formInline.prehomoDeliverableTemplate === 'null' || formInline.prehomoDeliverableTemplate === ''-->
<!-- ||-->
<!-- formInline.prehomoDeliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')-->
<!-- }}-->
<!-- </a-button>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- </a-row>-->
<!-- <a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||-->
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.homologationEngineerId &&-->
<!-- formInline.homologationEngineerId == userInfoQuery.id) ||-->
<!-- (formInline.roleCodeIndex == 4 && formInline.prehomoInitiatorId == formInline.regulationOwnerId &&-->
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
<!-- <a-col :span="24">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text"-->
<!-- :title="$t('descriptionDeliverables')">{{$t('descriptionDeliverables')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel-text" :prop="'prehomoRemark'">-->
<!-- <a-textarea-->
<!-- style="width: 100%"-->
<!-- :placeholder="$t('PleaseEnter')+$t('descriptionDeliverables')"-->
<!-- v-model="formInline.prehomoRemark" :rows="4"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- </a-row>-->
<div class="header-text">
&nbsp;{{$t('verificationAndConformityconfirmation')}}
</div>
@@ -657,10 +297,15 @@
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required"
v-if="!formInline.verifyDeliverableType.join(',').includes('1645667531513237506')">*</span>
<span class="title-text-text"
:title="$t('personLiable')">{{$t('personLiable')}}</span>
</div>
<a-form-model-item class="itemModel" prop="verifyDutyId">
<a-form-model-item class="itemModel-multi"
:prop="formInline.verifyDeliverableType.join(',').includes('1645667531513237506')?'':'verifyDutyIdName'"
:rules="[{ required: formInline.verifyDeliverableType.join(',').includes('1645667531513237506')?false:true,
message: $t('personLiable') + $t('cannotEmpty'), trigger: 'change'}]">
<PersonnelSelection :query="{db_field_name:'verifyDutyId',db_field_txt:$t('personLiable')}"
:isSingleChoice="true"
:personneQuery="formInline"
@@ -674,10 +319,15 @@
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required"
v-if="!formInline.verifyDeliverableType.join(',').includes('1645667531513237506')">*</span>
<span class="title-text-text"
:title="$t('cutoffTime')">{{$t('cutoffTime')}}</span>
</div>
<a-form-model-item class="itemModel" :prop="'verifyDueDate'">
<a-form-model-item class="itemModel"
:prop="formInline.verifyDeliverableType.join(',').includes('1645667531513237506')?'':'verifyDueDate'"
:rules="[{ required: formInline.verifyDeliverableType.join(',').includes('1645667531513237506')?false:true,
message: $t('cutoffTime') + $t('cannotEmpty'), trigger: 'change'}]">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('cutoffTime')"
@change="dateChange({db_field_name:'verifyDueDate'})"
@@ -689,52 +339,17 @@
</a-form-model-item>
</div>
</a-col>
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text"-->
<!-- :title="$t('Sponsor')">{{$t('Sponsor')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" prop="verifyInitiatorId">-->
<!-- <a-select :placeholder="$t('PleaseSelect')+$t('Sponsor')"-->
<!-- class="box-input"-->
<!-- allowClear-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
<!-- :disabled="formInline.roleCodeIndex == 0 ? false : true"-->
<!-- v-model="formInline.verifyInitiatorId">-->
<!-- <a-select-option v-for="(item, key) in verifyInitiatorList"-->
<!-- :key="key"-->
<!-- :value="item.value">-->
<!-- <span style="display: inline-block;width: 100%" :title=" item.name ">-->
<!-- {{ item.name }}-->
<!-- </span>-->
<!-- </a-select-option>-->
<!-- </a-select>-->
<!-- &lt;!&ndash; <j-dict-select-tag class="box-input" v-model="formInline.verifyInitiator"&ndash;&gt;-->
<!-- &lt;!&ndash; :disabled="formInline.roleCode == 0 ? false : true"&ndash;&gt;-->
<!-- &lt;!&ndash; @input="handleInput('verifyInitiator')"&ndash;&gt;-->
<!-- &lt;!&ndash; :placeholder="$t('PleaseSelect')+$t('Sponsor')"&ndash;&gt;-->
<!-- &lt;!&ndash; :type="'select'"&ndash;&gt;-->
<!-- &lt;!&ndash; :triggerChange="false" :dictCode="'fa1_qi3_ren2'"/>&ndash;&gt;-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
</a-row>
<!-- <a-row :gutter="24" v-if="formInline.roleCodeIndex == 0 ||-->
<!-- (formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.homologationEngineerId &&-->
<!-- formInline.homologationEngineerId == userInfoQuery.id) ||-->
<!-- (formInline.roleCodeIndex == 4 && formInline.verifyInitiatorId == formInline.regulationOwnerId &&-->
<!-- formInline.regulationOwnerId == userInfoQuery.id)">-->
<!-- -->
<!-- </a-row>-->
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text"
:title="$t('typeOfDeliverables')">{{$t('typeOfDeliverables')}}</span>
</div>
<a-form-model-item class="itemModel" prop="verifyDeliverableType">
<a-form-model-item class="itemModel-multi" prop="verifyDeliverableType">
<a-tree-select
tree-node-filter-prop="title"
v-model="formInline.verifyDeliverableType"
@@ -742,17 +357,12 @@
:getPopupContainer="triggerNode=> triggerNode.parentNode"
class="box-input"
style="width: 100%"
@change="verifyDeliverableTypeChange"
:disabled="isEditVerifi(this.formInline)"
:tree-data="DeliverableTreeList"
tree-checkable
:placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"
/>
<!-- <j-dict-select-tag class="box-input" v-model="formInline.verifyDeliverableType"-->
<!-- :disabled="formInline.taskAffirmStatus != 'Not started' && !formInline.verifyDeliverableType ? true : false"-->
<!-- @input="handleInput('verifyDeliverableType')"-->
<!-- :placeholder="$t('PleaseSelect')+$t('typeOfDeliverables')"-->
<!-- :type="'select'"-->
<!-- :triggerChange="false" :dictCode="'deliverable_template'"/>-->
</a-form-model-item>
</div>
</a-col>
@@ -913,9 +523,43 @@
return {
visible: false,
confirmLoading: false,
rules: {},
rejectCauseListOne: [],
rulesData: {
rules: {
attestationRank: [
{
required: true,
message: this.$t('certificationLevel') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
dutyTerritory: [
{
required: true,
message: this.$t('areaOfResponsibility') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
homologationEngineerId: [
{
required: true,
message: this.$t('certifiedEngineer') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
regulationOwnerId: [
{
required: true,
message: this.$t('regulatoryEngineer') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
engineeringInterfacePerson: [
{
required: true,
message: this.$t('engineeringInterfacePerson') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
subtitle: [
{
max: 300,
@@ -964,15 +608,31 @@
message: this.$t('descriptionDeliverables') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
trigger: 'blur'
}
]
],
designDeliverableType: [
{
required: true,
message: this.$t('typeOfDeliverables') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
verifyDeliverableType: [
{
required: true,
message: this.$t('typeOfDeliverables') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
},
formInline: {
verifyDeliverableType: [],
designDeliverableType: []
},
formInline: {},
regulatoryEngineerList: [],
engineeringInterfacePersonList: [],
certificationEngineerList: [],
designInitiatorList: [],
designDutyList: [],
prehomoInitiatorList: [],
verifyInitiatorList: [],
verifyDutyList: [],
prehomoDutyList: [],
@@ -981,11 +641,10 @@
designDutyIdDisabled: false,
prehomoInitiatorIdDisabled: false,
prehomoDutyIdDisabled: false,
verifyDutyIdDisabled: false,
verifyInitiatorIdDisabled: false,
DeliverableTreeList: [],
userInfoQuery: {},
rejectCauseList: []
rejectCauseList: [],
}
},
mounted() {
@@ -1047,11 +706,8 @@
this.formInline.engineeringInterfacePerson = undefined
this.formInline.homologationEngineerId = undefined
this.formInline.designInitiatorId = undefined
// this.formInline.designDutyId = undefined
this.formInline.prehomoInitiatorId = undefined
this.formInline.prehomoDutyId = undefined
this.formInline.verifyInitiatorId = undefined
// this.formInline.verifyDutyId = undefined
this.queryPersonByProject(event)
},
@@ -1078,104 +734,12 @@
}
})
},
getDis(val) {
if (val.taskAffirmStatus != 'Not started') {
this.designInitiatorDisabled = true
} else if (val.roleCode == 0) {
this.designInitiatorDisabled = false
} else {
this.designInitiatorDisabled = true
}
if (val.taskAffirmStatus != 'Not started') {
this.prehomoInitiatorIdDisabled = true
} else if (val.roleCode == 0) {
this.prehomoInitiatorIdDisabled = false
} else {
this.prehomoInitiatorIdDisabled = true
}
if (val.taskAffirmStatus != 'Not started') {
this.verifyDutyIdDisabled = true
} else if (val.roleCode == 0) {
this.verifyDutyIdDisabled = false
} else {
this.verifyDutyIdDisabled = true
}
},
getProject(row, res, callback) {
//设计符合性确认-发起人
// if (row.designInitiator == 1) {
// this.designInitiatorList = res.result.lawEngineerList || []
// } else if (row.designInitiator == 2) {
// this.designInitiatorList = res.result.certificationEngineerList || []
// } else if (row.designInitiator == 3) {
// this.designInitiatorList = res.result.engineeringInterfacePersonList || []
// } else if (row.designInitiator == 0) {
// this.designInitiatorList = res.result.studioPersonList || []
// } else if (!row.designInitiator || row.designInitiator == '') {
this.designInitiatorList = res.result.allPersonList || []
// }
//设计符合性确认-责任人
// if (row.designDuty == 1) {
// this.designDutyList = res.result.lawEngineerList || []
// } else if (row.designDuty == 2) {
// this.designDutyList = res.result.certificationEngineerList || []
// } else if (row.designDuty == 3) {
// this.designDutyList = res.result.engineeringInterfacePersonList || []
// } else if (row.designInitiator == 0) {
// this.designDutyList = res.result.studioPersonList || []
// } else if (!row.designDuty || row.designDuty == '') {
this.designDutyList = res.result.allPersonList || []
// }
//prehomo确认-发起人
// if (row.prehomoInitiator == 1) {
// this.prehomoInitiatorList = res.result.lawEngineerList || []
// } else if (row.prehomoInitiator == 2) {
// this.prehomoInitiatorList = res.result.certificationEngineerList || []
// } else if (row.prehomoInitiator == 3) {
// this.prehomoInitiatorList = res.result.engineeringInterfacePersonList || []
// } else if (row.designInitiator == 0) {
// this.prehomoInitiatorList = res.result.studioPersonList || []
// } else if (!row.prehomoInitiator || row.prehomoInitiator == '') {
this.prehomoInitiatorList = res.result.allPersonList || []
// }
//prehomo确认-责任人
// if (row.prehomoDuty == 1) {
// this.prehomoDutyList = res.result.lawEngineerList || []
// } else if (row.prehomoDuty == 2) {
// this.prehomoDutyList = res.result.certificationEngineerList || []
// } else if (row.prehomoDuty == 3) {
// this.prehomoDutyList = res.result.engineeringInterfacePersonList || []
// } else if (row.designInitiator == 0) {
// this.prehomoDutyList = res.result.studioPersonList || []
// } else if (!row.prehomoDuty || row.prehomoDuty == '') {
this.prehomoDutyList = res.result.allPersonList || []
// }
//验证符合性确认-发起人
// if (row.verifyInitiator == 1) {
// this.verifyInitiatorList = res.result.lawEngineerList || []
// } else if (row.verifyInitiator == 2) {
// this.verifyInitiatorList = res.result.certificationEngineerList || []
// } else if (row.verifyInitiator == 3) {
// this.verifyInitiatorList = res.result.engineeringInterfacePersonList || []
// } else if (row.designInitiator == 0) {
// this.verifyInitiatorList = res.result.studioPersonList || []
// } else if (!row.verifyInitiator || row.verifyInitiator == '') {
this.verifyInitiatorList = res.result.allPersonList || []
// }
//验证符合性确认-责任人
// if (row.verifyDuty == 1) {
// this.verifyDutyList = res.result.lawEngineerList || []
// } else if (row.verifyDuty == 2) {
// this.verifyDutyList = res.result.certificationEngineerList || []
// } else if (row.verifyDuty == 3) {
// this.verifyDutyList = res.result.engineeringInterfacePersonList || []
// } else if (row.designInitiator == 0) {
// this.verifyDutyList = res.result.studioPersonList || []
// } else if (!row.verifyDuty || row.verifyDuty == '') {
this.verifyDutyList = res.result.allPersonList || []
// }
callback()
},
getData(row, res) {
@@ -1183,21 +747,9 @@
if (!(this.designInitiatorList.some(val => val.value == row.designInitiatorId))) {
row.designInitiatorId = undefined
}
// if (!(this.designDutyList.some(val => val.value == row.designDutyId))) {
// row.designDutyId = undefined
// }
if (!(this.prehomoInitiatorList.some(val => val.value == row.prehomoInitiatorId))) {
row.prehomoInitiatorId = undefined
}
if (!(this.prehomoDutyList.some(val => val.value == row.prehomoDutyId))) {
row.prehomoDutyId = undefined
}
if (!(this.verifyInitiatorList.some(val => val.value == row.verifyInitiatorId))) {
row.verifyInitiatorId = undefined
}
// if (!(this.verifyDutyList.some(val => val.value == row.verifyDutyId))) {
// row.verifyDutyId = undefined
// }
if (!(this.regulatoryEngineerList.some(val => val.value == row.regulationOwnerId))) {
row.regulationOwnerId = undefined
}
@@ -1210,6 +762,9 @@
this.$nextTick(() => {
this.formInline = row
this.formInline = { ...this.formInline }
this.$nextTick(() => {
this.$refs.ruleForm.clearValidate()
})
})
},
editModel(item) {
@@ -1219,7 +774,6 @@
this.certificationEngineerList = []
this.designInitiatorList = []
this.designDutyList = []
this.prehomoInitiatorList = []
this.verifyInitiatorList = []
this.verifyDutyList = []
this.prehomoDutyList = []
@@ -1234,97 +788,10 @@
this.formInline = item
this.formInline = { ...this.formInline }
}
this.getDis(item)
this.$nextTick(() => {
this.rules = {}
this.$refs.ruleForm.clearValidate()
switch (item.roleCode) {
case '0':
this.studioLogic()
break
case '1':
this.statuteLogic()
break
case '2':
this.authenticationLogic()
break
case '3':
this.engineeringLogic()
break
case '4':
this.authenticationOrengineerLogic()
break
}
})
},
studioLogic() {
let rules = {
...this.rulesData,
attestationRank: [
{
required: true,
message: this.$t('certificationLevel') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
dutyTerritory: [
{
required: true,
message: this.$t('areaOfResponsibility') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
homologationEngineerId: [
{
required: true,
message: this.$t('certifiedEngineer') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
regulationOwnerId: [
{
required: true,
message: this.$t('regulatoryEngineer') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
engineeringInterfacePerson: [
{
required: true,
message: this.$t('engineeringInterfacePerson') + this.$t('cannotEmpty'),
trigger: 'change'
}
]
}
this.$set(this, 'rules', rules)
console.log(this.rules)
},
statuteLogic() {
let rules = { ...this.rulesData }
this.$set(this, 'rules', rules)
},
authenticationLogic() {
let rules = {
...this.rulesData,
attestationRank: [
{
required: true,
message: this.$t('certificationLevel') + this.$t('cannotEmpty'),
trigger: 'change'
}
]
}
this.$set(this, 'rules', rules)
},
engineeringLogic() {
let rules = { ...this.rulesData }
this.$set(this, 'rules', rules)
},
authenticationOrengineerLogic() {
let rules = { ...this.rulesData }
this.$set(this, 'rules', rules)
},
clickButtonToUpload(item) {
let isTrue = false
if (item == 'designDeliverableTemplate') {
@@ -1389,9 +856,6 @@
if (!formInline.prehomoInitiatorId) {
formInline.prehomoInitiatorId = ''
}
if (!formInline.prehomoDutyId) {
formInline.prehomoDutyId = ''
}
if (!formInline.verifyInitiatorId) {
formInline.verifyInitiatorId = ''
}
@@ -1423,6 +887,12 @@
PersonnelSelectionChange(value, id) {
this.formInline[value] = id
this.formInline = { ...this.formInline }
},
designDeliverableTypeChange() {
},
verifyDeliverableTypeChange() {
}
}
}
@@ -378,7 +378,7 @@
<fixedPlate @fixedPlateForm="addModelList" ref="fixedPlateRef"/>
<a-modal
:title="listTitle"
:width="500"
:width="timeName == '任务' ? 600:500"
:visible="visible"
:confirm-loading="confirmLoading"
:maskClosable="false"
@@ -387,7 +387,7 @@
>
<a-spin :spinning="confirmLoading">
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24">
<a-row :gutter="24" v-if="this.timeName == '清单'">
<a-col :span="24">
<div class="box-title-text-index">
<div class="title-text-index">
@@ -395,7 +395,7 @@
<span class="title-text-text"
:title="$t('TaskCutOffTime')">{{ $t('TaskCutOffTime') }}</span>
</div>
<a-form-model-item v-if="this.timeName == '清单'" class="itemModel" prop="inventoryAffirmDueDate">
<a-form-model-item class="itemModel" prop="inventoryAffirmDueDate">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('TaskCutOffTime')"
@change="dateChange({db_field_name:'inventoryAffirmDueDate'})"
@@ -405,14 +405,50 @@
v-model="formInline.inventoryAffirmDueDate"
style="width: 100%"/>
</a-form-model-item>
<a-form-model-item v-else-if="this.timeName == '任务'" class="itemModel" prop="taskAffirmDueDate">
</div>
</a-col>
</a-row>
<a-row :gutter="24" v-if="this.timeName == '任务'">
<a-col :span="24">
<div class="box-title-text-index">
<div class="title-text-index" style="width: 200px">
<span class="Required">*</span>
<span class="title-text-text"
:title="$t('deadlineForConfirmationDesignComplianceResponsibility')">
{{ $t('deadlineForConfirmationDesignComplianceResponsibility') }}
</span>
</div>
<a-form-model-item class="itemModel" style="width: calc(100% - 220px)" prop="designComplianceDueDate">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('TaskCutOffTime')"
@change="dateChange({db_field_name:'taskAffirmDueDate'})"
:placeholder="$t('PleaseSelect')+$t('deadlineForConfirmationDesignComplianceResponsibility')"
@change="dateChange({db_field_name:'designComplianceDueDate'})"
format="YYYY-MM-DD"
:disabledDate="disabledDate"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.taskAffirmDueDate"
v-model="formInline.designComplianceDueDate"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24" v-if="this.timeName == '任务'">
<a-col :span="24">
<div class="box-title-text-index">
<div class="title-text-index" style="width: 200px">
<span class="Required">*</span>
<span class="title-text-text"
:title="$t('deadlineForVerifyingComplianceResponsibilityConfirmation')">
{{ $t('deadlineForVerifyingComplianceResponsibilityConfirmation') }}
</span>
</div>
<a-form-model-item class="itemModel" style="width: calc(100% - 220px)" prop="deadlineDueDate">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('deadlineForVerifyingComplianceResponsibilityConfirmation')"
@change="dateChange({db_field_name:'deadlineDueDate'})"
format="YYYY-MM-DD"
:disabledDate="disabledDate"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.deadlineDueDate"
style="width: 100%"/>
</a-form-model-item>
</div>
@@ -450,40 +486,40 @@
</a-row>
</a-form-model>
</a-modal>
<a-modal
:title="$t('roleSwitching')"
:width="500"
:visible="visibleRoleSwitching"
:confirm-loading="confirmLoadingRoleSwitching"
:maskClosable="false"
@ok="handleOkRoleSwitching"
@cancel="handleCancelRoleSwitching"
>
<a-form-model :model="formInlineRoleSwitching" class="formAdd" :rules="rulesRoleSwitching"
ref="ruleFormRoleSwitching">
<a-row :gutter="24">
<a-col :span="24">
<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>
</div>
<a-form-model-item class="itemModelComment" :prop="'roleSwitchingCode'">
<a-select allowClear :placeholder="$t('pleaseSelect')+$t('roleSwitching')"
v-model="formInlineRoleSwitching.roleSwitchingCode">
<!-- <a-select-option :value="null">{{$t('pleaseSelect')}}</a-select-option>-->
<a-select-option :value="item.roleCode" v-for="item in roleSwitchingList">
<span class="itemOption-index" :title="item.roleName">
{{ item.roleName }}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
</a-modal>
<!-- <a-modal-->
<!-- :title="$t('roleSwitching')"-->
<!-- :width="500"-->
<!-- :visible="visibleRoleSwitching"-->
<!-- :confirm-loading="confirmLoadingRoleSwitching"-->
<!-- :maskClosable="false"-->
<!-- @ok="handleOkRoleSwitching"-->
<!-- @cancel="handleCancelRoleSwitching"-->
<!-- >-->
<!-- <a-form-model :model="formInlineRoleSwitching" class="formAdd" :rules="rulesRoleSwitching"-->
<!-- ref="ruleFormRoleSwitching">-->
<!-- <a-row :gutter="24">-->
<!-- <a-col :span="24">-->
<!-- <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>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModelComment" :prop="'roleSwitchingCode'">-->
<!-- <a-select allowClear :placeholder="$t('pleaseSelect')+$t('roleSwitching')"-->
<!-- v-model="formInlineRoleSwitching.roleSwitchingCode">-->
<!-- &lt;!&ndash; <a-select-option :value="null">{{$t('pleaseSelect')}}</a-select-option>&ndash;&gt;-->
<!-- <a-select-option :value="item.roleCode" v-for="item in roleSwitchingList">-->
<!-- <span class="itemOption-index" :title="item.roleName">-->
<!-- {{ item.roleName }}-->
<!-- </span>-->
<!-- </a-select-option>-->
<!-- </a-select>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- </a-row>-->
<!-- </a-form-model>-->
<!-- </a-modal>-->
<a-modal
:title="$t('question')"
:width="500"
@@ -745,7 +781,7 @@
align: 'left',
width: 180,
sorter: true,
ellipsis: true,
ellipsis: true
},
{
title: this.$t('deliverableTemplate'),
@@ -791,7 +827,7 @@
align: 'left',
width: 180,
sorter: true,
ellipsis: true,
ellipsis: true
},
{
title: this.$t('deliverableTemplate'),
@@ -865,13 +901,20 @@
trigger: 'change'
}
],
taskAffirmDueDate: [
designComplianceDueDate: [
{
required: true,
message: this.$t('TaskCutOffTime') + this.$t('cannotEmpty'),
message: this.$t('deadlineForConfirmationDesignComplianceResponsibility') + this.$t('cannotEmpty'),
trigger: 'change'
}
]
],
deadlineDueDate:[
{
required: true,
message: this.$t('deadlineForVerifyingComplianceResponsibilityConfirmation') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
},
queryParam: {},
fileTitle: '',
@@ -1354,7 +1397,8 @@
requestsNum: 0,
JTextLoading: false,
questionIdList: [],
questionWarning: []
questionWarning: [],
startProcessList: []
}
},
@@ -1419,10 +1463,10 @@
let regulatoryEngineer = {
value: 'regulationOwnerId',
text: this.$t('regulatoryEngineer'),
options:[],
options: []
}
if (res.result && res.result.length > 0){
res.result.forEach(val=>{
if (res.result && res.result.length > 0) {
res.result.forEach(val => {
regulatoryEngineer.options.push({
value: val.id,
key: val.id,
@@ -1528,6 +1572,7 @@
} else {
this.roleSwitchingList = []
}
this.$emit('getRoleSwitchingList', this.roleSwitchingList)
callback && callback()
})
},
@@ -1543,9 +1588,9 @@
getAction(this.url.AndUserId, query).then((res) => {
if (res.success) {
// this.isDisplay = true
if (this.$route.query.roleOpen){
if (this.$route.query.roleOpen) {
this.formInlineRoleSwitching.roleSwitchingCode = this.$route.query.roleOpen
}else{
} else {
this.formInlineRoleSwitching.roleSwitchingCode = res.result.roleCode
}
this.AndUserId = res.result.id
@@ -1948,38 +1993,38 @@
},
//切换角色的确认事件
handleOkRoleSwitching() {
this.$refs.ruleFormRoleSwitching.validate(valid => {
if (valid) {
let query = {
roleCode: this.formInlineRoleSwitching.roleSwitchingCode,
id: this.AndUserId,
projectLibraryId: this.$route.query.id,
modelType: 'Laws inventory'
}
this.confirmLoadingRoleSwitching = true
postAction(this.url.AndUserIdEdit, query).then((res) => {
if (res.success) {
this.roleSwitchingCode = this.formInlineRoleSwitching.roleSwitchingCode
this.$message.success(this.$t('OperationSuccessful'))
this.visibleRoleSwitching = false
this.confirmLoadingRoleSwitching = false
this.$emit('getRoleSwitch', this.formInlineRoleSwitching.roleSwitchingCode)
this.selectedRowKeys = []
this.getList()
} else {
this.confirmLoadingRoleSwitching = false
this.$message.warning(this.$t('operationFailed'))
}
})
handleOkRoleSwitching(roleSwitchingCode) {
// this.$refs.ruleFormRoleSwitching.validate(valid => {
// if (valid) {
let query = {
roleCode: roleSwitchingCode,
id: this.AndUserId,
projectLibraryId: this.$route.query.id,
modelType: 'Laws inventory'
}
// this.confirmLoadingRoleSwitching = true
postAction(this.url.AndUserIdEdit, query).then((res) => {
if (res.success) {
this.roleSwitchingCode = roleSwitchingCode
this.$message.success(this.$t('OperationSuccessful'))
// this.visibleRoleSwitching = false
// this.confirmLoadingRoleSwitching = false
this.$emit('getRoleSwitch', roleSwitchingCode)
this.selectedRowKeys = []
this.getList()
} else {
this.confirmLoadingRoleSwitching = false
this.$message.warning(this.$t('operationFailed'))
}
})
// }
// })
},
//切换角色的取消事件
handleCancelRoleSwitching() {
this.visibleRoleSwitching = false
},
// handleCancelRoleSwitching() {
// this.visibleRoleSwitching = false
// },
//打开切换角色的弹窗;并判断当前的角色在角色列表中是否存在;如不存在选择角色列表中的第一个
roleSwitchingClick() {
this.visibleRoleSwitching = true
@@ -2128,9 +2173,9 @@
this.orderByField = 'designDeliverableType'
} else if (sorter.columnKey == 'verifyDeliverableTypeName') {
this.orderByField = 'verifyDeliverableType'
}else if (sorter.columnKey == 'designDutyIdName') {
} else if (sorter.columnKey == 'designDutyIdName') {
this.orderByField = 'designDutyId'
}else if (sorter.columnKey == 'verifyDutyIdName') {
} else if (sorter.columnKey == 'verifyDutyIdName') {
this.orderByField = 'verifyDutyId'
} else {
this.orderByField = sorter.columnKey
@@ -2269,11 +2314,12 @@
} else {
this.columnsAll = this.column
}
let long = localStorage.getItem('language') || 'zh-cn'
this.columnsAll.push({
title: this.$t('operation'),
align: 'left',
fixed: 'right',
width: 260,
width: long == 'zh-cn' ? 180 : 246,
scopedSlots: { customRender: 'operation' }
})
this.columnsAll.forEach((item) => {
@@ -2413,6 +2459,11 @@
this.detailedSuccessList = []
this.detailedWarningList = []
})
}else{
this.confirmLoading = true
for (let i = 0; i < this.startProcessList.length; i++) {
this.startProcess(this.startProcessList[i].dataList, this.startProcessList[i].type, this.startProcessList[i].requestsNum)
}
}
}
})
@@ -2437,6 +2488,9 @@
this.confirmLoading = false
this.JTextLoading = false
this.getList()
if(this.detailedWarningList && this.detailedWarningList.length > 0){
this.promptInformation(this.detailedWarningList)
}
}
}).catch((error) => {
this.JTextLoading = false
@@ -2496,13 +2550,12 @@
} else {
this.detailedWarningList.push(
< div > { dataSource[i].serialNumber + this.$t('pleaseSelectTheDataverificationVerified') } < /div>)
this.dataWarningList.push(
< div > { dataSource[i].serialNumber + this.$t('pleaseSelectTheDataverificationVerified') } < /div>)
}
}
if (idList && idList.length > 0) {
if (num == 0) {
this.submitClick(this.rowKeysSuccessList, 1)
this.startProcessList = []
this.submitClick(this.rowKeysSuccessList)
} else {
this.visibleComment = true
this.formInlineComment = {}
@@ -2519,74 +2572,13 @@
},
submitClick(dataList, num) {
let content = []
let designList = []
let verifyList = []
let detailedWarningList = []
this.completeTaskList = []
this.detailedWarningList = this.dataWarningList || []
let _this = this
_this.$destroyAll()
if (num == 1) {
for (let i = 0; i < dataList.length; i++) {
if (!dataList[i].designDeliverableType && !dataList[i].designDutyId && !dataList[i].designDueDate) {
content.push(dataList[i])
continue
}
if (!dataList[i].verifyDeliverableType && !dataList[i].verifyDutyId && !dataList[i].verifyDueDate) {
content.push(dataList[i])
continue
}
}
}
if (content && content.length > 0) {
for (let i = 0; i < content.length; i++) {
if (!content[i].designDeliverableType) {
designList.push(content[i].serialNumber)
}
if (!content[i].verifyDeliverableType) {
verifyList.push(content[i].serialNumber)
}
}
if (designList.length > 0 || verifyList.length > 0) {
detailedWarningList.push(
< div > { this.$t('theDataYouSelectedContainsSkip') } < /div>)
}
if (designList.length > 0) {
detailedWarningList.push(
< div > { designList.join(',') + ' ' + this.$t('designComplianceProcessFor') } < /div>)
}
if (verifyList.length > 0) {
detailedWarningList.push(
< div > { verifyList.join(',') + ' ' + this.$t('validationComplianceProcessFor') } < /div>)
}
this.$confirm({
content: detailedWarningList,
class: 'confirmClass',
onOk() {
_this.submitClick(dataList, 2)
}
})
return
}
if (num == 1) {
this.$confirm({
content: _this.$t('confirmLaunchTask'),
onOk() {
_this.submitAdmin(dataList)
}
})
} else {
_this.submitAdmin(dataList)
}
},
submitAdmin(dataList) {
let _this = this
this.requestsNum = 0
this.JTextLoading = true
// this.JTextLoading = true
for (let i = 0; i < dataList.length; i++) {
if (dataList[i].designDeliverableType) {
if(dataList[i].designDeliverableType == '1645667531513237506'){
}else if (dataList[i].designDeliverableType) {
if (!dataList[i].designDutyId) {
_this.detailedWarningList.push(
< div > { dataList[i].serialNumber + _this.$t('thePersonResponsibleForDesignCannotBeBlank') } < /div>)
@@ -2595,21 +2587,34 @@
_this.detailedWarningList.push(
< div > { dataList[i].serialNumber + _this.$t('theDeadlineForTheDesignCannotBeEmpty') } < /div>)
}
} else {
_this.detailedWarningList.push(
< div > { dataList[i].serialNumber + _this.$t('theDeliveryProcessCannotBeEmpty') } < /div>)
}
if (dataList[i].verifyDeliverableType) {
if (dataList[i].verifyDeliverableType == '1645667531513237506'){
} else if (dataList[i].verifyDeliverableType) {
if (!dataList[i].verifyDueDate) {
_this.detailedWarningList.push(
< div > { dataList[i].serialNumber + _this.$t('thePersonResponsibleForVerifyingEmpty') } < /div>)
< div > { dataList[i].serialNumber + _this.$t('theDeadlineComplianceProcessCannotEmpty') } < /div>)
}
if (!dataList[i].verifyDutyId) {
_this.detailedWarningList.push(
< div > { dataList[i].serialNumber + _this.$t('thePersonResponsibleForVerifyingEmpty') } < /div>)
}
} else {
_this.detailedWarningList.push(
< div > { dataList[i].serialNumber + _this.$t('theVerificationComplianceProcessCannotBeEmpty') } < /div>)
}
if (dataList[i].designFlowStatus == 'List to be checked' || dataList[i].designFlowStatus == 'Duty Person Rejected') {
if (dataList[i].designDeliverableType && dataList[i].designDutyId && dataList[i].designDueDate) {
this.requestsNum++
_this.startProcess(dataList[i], 2, this.requestsNum)
this.startProcessList.push({
dataList: dataList[i],
type: 2,
requestsNum: this.requestsNum
})
// _this.startProcess(dataList[i], 2, this.requestsNum)
}
} else {
_this.detailedWarningList.push(
@@ -2618,21 +2623,27 @@
if (dataList[i].verifyFlowStatus == 'List to be checked' || dataList[i].verifyFlowStatus == 'Duty Person Rejected') {
if (dataList[i].verifyDeliverableType && dataList[i].verifyDutyId && dataList[i].verifyDueDate) {
this.requestsNum++
_this.startProcess(dataList[i], 4, this.requestsNum)
this.startProcessList.push({
dataList: dataList[i],
type: 4,
requestsNum: this.requestsNum
})
// _this.startProcess(dataList[i], 4, this.requestsNum)
}
} else {
_this.detailedWarningList.push(
< div > { dataList[i].serialNumber + _this.$t('pleaseSelectTheDataverificationVerified') } < /div>)
}
}
if (this.requestsNum == 0) {
if (_this.detailedWarningList && _this.detailedWarningList.length > 0) {
_this.promptInformation(_this.detailedWarningList)
} else {
this.$message.warning(_this.$t('theDataYouInitiate'))
}
this.JTextLoading = false
// this.JTextLoading = false
} else {
this.listTitle = this.$t('initiateTask')
this.timeName = '任务'
this.visible = true
}
},
handleOkComment() {
@@ -11,6 +11,9 @@
style="height: 100%;overflow: auto;margin-bottom: 436px;">
<JLoading :loading="loading">{{textLoading}}</JLoading>
<a-button style="float: right" @click="referenceDeliverablesClick"
v-if="this.queryData.isDisplay && (queryData.TaskKey == 'zrrtjjfw' || queryData.TaskKey == 'dezrrtjjfw')"
type="primary">{{$t('referenceDeliverables')}}</a-button>
<projectInformation
v-if="isDisplay"
:title="$t('basicInformation')"
@@ -55,7 +58,8 @@
/>
</div>
</a-drawer>
<referenceDeliverablesList ref="referenceDeliverablesListRef"
@referenceDeliverablesListForm="referenceDeliverablesListForm"/>
</div>
</template>
@@ -65,6 +69,7 @@
import footerProcess from '../../../processCenter/components/footerProcess'
import reviewedByThePersonInCharge from './reviewedByThePersonInCharge'
import circulationHistory from './circulationHistory'
import referenceDeliverablesList from './referenceDeliverablesList'
import { getAction, postAction, deleteAction, downloadFile, putAction } from '@/api/manage'
import { mapGetters } from 'vuex'
@@ -76,7 +81,8 @@
standardContent,
reviewedByThePersonInCharge,
footerProcess,
circulationHistory
circulationHistory,
referenceDeliverablesList
},
data() {
return {
@@ -152,6 +158,12 @@
...mapGetters(['userInfo']),
handleCancel() {
this.visible = false
},
referenceDeliverablesClick(){
this.$refs.referenceDeliverablesListRef.transferModel()
},
referenceDeliverablesListForm(){
},
confirm(operatorTime) {
this.$refs.reviewedByThePersonInChargeRef.submit((res) => {