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