增加手机端pre-homo流程历史记录
This commit is contained in:
+4
-1
@@ -7,6 +7,7 @@ import com.jero.common.api.vo.Result;
|
|||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
import com.jero.modules.oss.entity.OSSFile;
|
import com.jero.modules.oss.entity.OSSFile;
|
||||||
import com.jero.modules.oss.service.IOSSFileService;
|
import com.jero.modules.oss.service.IOSSFileService;
|
||||||
|
import com.jero.modules.project.enums.CertificationFlowNodeEnum;
|
||||||
import com.jero.modules.project.enums.OperatorTypeEnum;
|
import com.jero.modules.project.enums.OperatorTypeEnum;
|
||||||
import com.jero.modules.project.enums.RequestSourceEnum;
|
import com.jero.modules.project.enums.RequestSourceEnum;
|
||||||
import com.jero.modules.project.enums.ReviewResultEnum;
|
import com.jero.modules.project.enums.ReviewResultEnum;
|
||||||
@@ -220,11 +221,13 @@ public class ProcessHistoryEOServiceImpl extends ServiceImpl<ProcessHistoryEOMap
|
|||||||
data.setName(DesignComplianceFlowNodeKeyEnum.getTextByValue(data.getTaskDefinitionKey(), cut));
|
data.setName(DesignComplianceFlowNodeKeyEnum.getTextByValue(data.getTaskDefinitionKey(), cut));
|
||||||
} else if (StringUtils.equals(flowType, FlowTypeEnum.YZFHXSCLC.getValue()) || StringUtils.equals(flowType, FlowTypeEnum.YZ_XGJFWLC.getValue())) {
|
} else if (StringUtils.equals(flowType, FlowTypeEnum.YZFHXSCLC.getValue()) || StringUtils.equals(flowType, FlowTypeEnum.YZ_XGJFWLC.getValue())) {
|
||||||
data.setName(VerifyComplianceFlowNodeKeyEnum.getTextByValue(data.getTaskDefinitionKey(), cut));
|
data.setName(VerifyComplianceFlowNodeKeyEnum.getTextByValue(data.getTaskDefinitionKey(), cut));
|
||||||
|
} else if (StringUtils.equals(flowType, FlowTypeEnum.CERTIFICATION_LC.getValue())) {
|
||||||
|
data.setName(CertificationFlowNodeEnum.getTextByValue(data.getTaskDefinitionKey(), cut));
|
||||||
} else if (StringUtils.isNotEmpty(data.getTaskDefinitionKey())) {
|
} else if (StringUtils.isNotEmpty(data.getTaskDefinitionKey())) {
|
||||||
data.setName(DesignComplianceNodeEnum.getTextByValue(data.getTaskDefinitionKey(), cut));
|
data.setName(DesignComplianceNodeEnum.getTextByValue(data.getTaskDefinitionKey(), cut));
|
||||||
}
|
}
|
||||||
} else if (StringUtils.isNotEmpty(data.getTaskDefinitionKey())) {
|
} else if (StringUtils.isNotEmpty(data.getTaskDefinitionKey())) {
|
||||||
data.setName(DesignComplianceNodeEnum.getTextByValue(data.getTaskDefinitionKey(), cut));
|
data.setName(CertificationFlowNodeEnum.getTextByValue(data.getTaskDefinitionKey(), cut));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(StringUtils.isNotEmpty(data.getApprovalFile())){
|
if(StringUtils.isNotEmpty(data.getApprovalFile())){
|
||||||
|
|||||||
@@ -11,12 +11,12 @@
|
|||||||
</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-has="'projectComment:list'"
|
<!-- v-has="'projectComment:list'"-->
|
||||||
@click="globalReplacementClick">
|
<!-- @click="globalReplacementClick">-->
|
||||||
<a-icon type="qrcode"/>
|
<!-- <a-icon type="qrcode"/>-->
|
||||||
{{ $t('globalReplacement') }}
|
<!-- {{ $t('globalReplacement') }}-->
|
||||||
</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'"-->
|
||||||
@@ -184,45 +184,45 @@
|
|||||||
<historicalVersionList ref="historicalVersionListRef"/>
|
<historicalVersionList ref="historicalVersionListRef"/>
|
||||||
<commentList ref="commentListRef"/>
|
<commentList ref="commentListRef"/>
|
||||||
<JLoading :loading="loading"></JLoading>
|
<JLoading :loading="loading"></JLoading>
|
||||||
<SelectedBy ref="SelectedByRef"
|
<!-- <SelectedBy ref="SelectedByRef"-->
|
||||||
:isSingleChoice="true"
|
<!-- :isSingleChoice="true"-->
|
||||||
:title="$t('PersonnelSelection')"
|
<!-- :title="$t('PersonnelSelection')"-->
|
||||||
@SelectedByForm="SelectedByForm"/>
|
<!-- @SelectedByForm="SelectedByForm"/>-->
|
||||||
<a-drawer
|
<!-- <a-drawer-->
|
||||||
:title="$t('globalReplacement')"
|
<!-- :title="$t('globalReplacement')"-->
|
||||||
:maskClosable="false"
|
<!-- :maskClosable="false"-->
|
||||||
:width="900"
|
<!-- :width="900"-->
|
||||||
placement="right"
|
<!-- placement="right"-->
|
||||||
:closable="true"
|
<!-- :closable="true"-->
|
||||||
@close="handleCancel"
|
<!-- @close="handleCancel"-->
|
||||||
:visible="selectVisible"
|
<!-- :visible="selectVisible"-->
|
||||||
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
<!-- style="height: 100%;overflow: auto;padding-bottom: 53px;">-->
|
||||||
<a-spin :spinning="submitLoading">
|
<!-- <a-spin :spinning="submitLoading">-->
|
||||||
<a-table
|
<!-- <a-table-->
|
||||||
ref="table"
|
<!-- ref="table"-->
|
||||||
:loading="selectLoading"
|
<!-- :loading="selectLoading"-->
|
||||||
:pagination="false"
|
<!-- :pagination="false"-->
|
||||||
:scroll="{x: '100%',y:'calc(100vh - 300px)'}"
|
<!-- :scroll="{x: '100%',y:'calc(100vh - 300px)'}"-->
|
||||||
rowKey="id"
|
<!-- rowKey="id"-->
|
||||||
:data-source="dataSource"
|
<!-- :data-source="dataSource"-->
|
||||||
:columns="columns"
|
<!-- :columns="columns"-->
|
||||||
>
|
<!-- >-->
|
||||||
<span slot="replacementPerson"
|
<!-- <span slot="replacementPerson"-->
|
||||||
slot-scope="text,record,index"
|
<!-- slot-scope="text,record,index"-->
|
||||||
:title="text">
|
<!-- :title="text">-->
|
||||||
<PersonnelSelection :query="{db_field_name:'newUserId',db_field_txt:$t('personLiable'),subscript:index}"
|
<!-- <PersonnelSelection :query="{db_field_name:'newUserId',db_field_txt:$t('personLiable'),subscript:index}"-->
|
||||||
:isSingleChoice="true"
|
<!-- :isSingleChoice="true"-->
|
||||||
:personneQuery="record"
|
<!-- :personneQuery="record"-->
|
||||||
@change="PersonnelSelectionChange"
|
<!-- @change="PersonnelSelectionChange"-->
|
||||||
v-model="record.newUserIdName"/>
|
<!-- v-model="record.newUserIdName"/>-->
|
||||||
</span>
|
<!-- </span>-->
|
||||||
</a-table>
|
<!-- </a-table>-->
|
||||||
</a-spin>
|
<!-- </a-spin>-->
|
||||||
<div class="drawer-bootom-button">
|
<!-- <div class="drawer-bootom-button">-->
|
||||||
<a-button @click="handleCancel" style="margin-right: 16px">{{ $t('cancel') }}</a-button>
|
<!-- <a-button @click="handleCancel" style="margin-right: 16px">{{ $t('cancel') }}</a-button>-->
|
||||||
<a-button @click="handleSubmit" type="primary" :loading="submitLoading">{{ $t('submit') }}</a-button>
|
<!-- <a-button @click="handleSubmit" type="primary" :loading="submitLoading">{{ $t('submit') }}</a-button>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</a-drawer>
|
<!-- </a-drawer>-->
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -79,6 +79,10 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
|
<div @click="globalReplacementClick" v-has="'projectRelatedPersonnel:globalReplacement'" class="operator-text">
|
||||||
|
<a-icon type="qrcode"/>
|
||||||
|
{{$t('globalReplacement')}}
|
||||||
|
</div>
|
||||||
<div @click="handleModule" v-has="'projectRelatedPersonnel:exportTemplate'" class="operator-text">
|
<div @click="handleModule" v-has="'projectRelatedPersonnel:exportTemplate'" class="operator-text">
|
||||||
<a-icon type="download"/>
|
<a-icon type="download"/>
|
||||||
{{$t('templateDownload')}}
|
{{$t('templateDownload')}}
|
||||||
@@ -269,12 +273,52 @@
|
|||||||
</a-spin>
|
</a-spin>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
<personBatting ref="personBattingRef" @personBattingTable="personBattingTable"/>
|
<personBatting ref="personBattingRef" @personBattingTable="personBattingTable"/>
|
||||||
|
<SelectedBy ref="SelectedByRef"
|
||||||
|
:isSingleChoice="true"
|
||||||
|
:title="$t('PersonnelSelection')"
|
||||||
|
@SelectedByForm="SelectedByForm"/>
|
||||||
|
<a-drawer
|
||||||
|
:title="$t('globalReplacement')"
|
||||||
|
:maskClosable="false"
|
||||||
|
:width="900"
|
||||||
|
placement="right"
|
||||||
|
:closable="true"
|
||||||
|
@close="selecthandleCancel"
|
||||||
|
:visible="selectVisible"
|
||||||
|
style="height: 100%;overflow: auto;padding-bottom: 53px;">
|
||||||
|
<a-spin :spinning="submitLoading">
|
||||||
|
<a-table
|
||||||
|
ref="table"
|
||||||
|
:loading="selectLoading"
|
||||||
|
:pagination="false"
|
||||||
|
:scroll="{x: '100%',y:'calc(100vh - 300px)'}"
|
||||||
|
rowKey="id"
|
||||||
|
:data-source="selectDataSource"
|
||||||
|
:columns="selectColumns"
|
||||||
|
>
|
||||||
|
<span slot="replacementPerson"
|
||||||
|
slot-scope="text,record,index"
|
||||||
|
:title="text">
|
||||||
|
<PersonnelSelection :query="{db_field_name:'newUserId',db_field_txt:$t('personLiable'),subscript:index}"
|
||||||
|
:isSingleChoice="true"
|
||||||
|
:personneQuery="record"
|
||||||
|
@change="PersonnelSelectionOneChange"
|
||||||
|
v-model="record.newUserIdName"/>
|
||||||
|
</span>
|
||||||
|
</a-table>
|
||||||
|
</a-spin>
|
||||||
|
<div class="drawer-bootom-button">
|
||||||
|
<a-button @click="selecthandleCancel" style="margin-right: 16px">{{ $t('cancel') }}</a-button>
|
||||||
|
<a-button @click="selecthandleSubmit" type="primary" :loading="submitLoading">{{ $t('submit') }}</a-button>
|
||||||
|
</div>
|
||||||
|
</a-drawer>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import PersonnelSelection from '@/components/PersonnelSelection/index'
|
import PersonnelSelection from '@/components/PersonnelSelection/index'
|
||||||
|
import SelectedBy from '@/components/SelectedBy/index'
|
||||||
import personBatting from './personBatting'
|
import personBatting from './personBatting'
|
||||||
import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
|
import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
|
||||||
import ImportFile from '@/components/ImportFile/index'
|
import ImportFile from '@/components/ImportFile/index'
|
||||||
@@ -286,7 +330,8 @@
|
|||||||
components: {
|
components: {
|
||||||
PersonnelSelection,
|
PersonnelSelection,
|
||||||
ImportFile,
|
ImportFile,
|
||||||
personBatting
|
personBatting,
|
||||||
|
SelectedBy
|
||||||
},
|
},
|
||||||
mixins: [ResizeHeader, ResizeColumnProvide],
|
mixins: [ResizeHeader, ResizeColumnProvide],
|
||||||
data() {
|
data() {
|
||||||
@@ -294,6 +339,9 @@
|
|||||||
toggleSearchStatus: false,
|
toggleSearchStatus: false,
|
||||||
visible: false,
|
visible: false,
|
||||||
queryParam: {},
|
queryParam: {},
|
||||||
|
selectVisible: false,
|
||||||
|
submitLoading: false,
|
||||||
|
selectLoading: false,
|
||||||
columnsAll: [
|
columnsAll: [
|
||||||
{
|
{
|
||||||
title: this.$t('statisticalNodes'),
|
title: this.$t('statisticalNodes'),
|
||||||
@@ -359,7 +407,41 @@
|
|||||||
scopedSlots: { customRender: 'operation' }
|
scopedSlots: { customRender: 'operation' }
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
selectColumns: [
|
||||||
|
{
|
||||||
|
title: this.$t('replacedPerson'),
|
||||||
|
align: 'left',
|
||||||
|
dataIndex: 'userName',
|
||||||
|
width: 180,
|
||||||
|
customRender: (value, row, index) => {
|
||||||
|
const obj = {
|
||||||
|
children: value,
|
||||||
|
attrs: {}
|
||||||
|
}
|
||||||
|
if (index === 0) {
|
||||||
|
obj.attrs.rowSpan = row.maxLength
|
||||||
|
} else {
|
||||||
|
obj.attrs.rowSpan = 0
|
||||||
|
}
|
||||||
|
return obj
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('areaOfResponsibility'),
|
||||||
|
align: 'left',
|
||||||
|
dataIndex: 'title',
|
||||||
|
width: 180
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: this.$t('replacementPerson'),
|
||||||
|
align: 'left',
|
||||||
|
dataIndex: 'replacementPerson',
|
||||||
|
width: 180,
|
||||||
|
scopedSlots: {customRender: 'replacementPerson'}
|
||||||
|
}
|
||||||
|
],
|
||||||
dataSource: [],
|
dataSource: [],
|
||||||
|
selectDataSource:[],
|
||||||
loading: false,
|
loading: false,
|
||||||
editVisible: false,
|
editVisible: false,
|
||||||
confirmLoading: false,
|
confirmLoading: false,
|
||||||
@@ -433,7 +515,9 @@
|
|||||||
},
|
},
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
dictOptionsValue: [],
|
dictOptionsValue: [],
|
||||||
administrators: false
|
administrators: false,
|
||||||
|
userIds:'',
|
||||||
|
userName:'',
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -465,6 +549,81 @@
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
PersonnelSelectionOneChange(value, id, index){
|
||||||
|
this.selectDataSource[index][value] = id
|
||||||
|
this.selectDataSource = [...this.selectDataSource]
|
||||||
|
},
|
||||||
|
selecthandleCancel(){
|
||||||
|
this.selectVisible = false
|
||||||
|
},
|
||||||
|
selecthandleSubmit(){
|
||||||
|
if (this.selectDataSource.length > 0) {
|
||||||
|
let replacementUserList = []
|
||||||
|
this.selectDataSource.forEach(res => {
|
||||||
|
replacementUserList.push({
|
||||||
|
dutyTerritory: res.value,
|
||||||
|
newUserId: res.newUserId || '',
|
||||||
|
newUserName: res.newUserIdName || ''
|
||||||
|
})
|
||||||
|
})
|
||||||
|
let query = {
|
||||||
|
userId: this.userIds,
|
||||||
|
projectLibraryId: this.$route.query.id,
|
||||||
|
userName: this.userName,
|
||||||
|
replacementUserList: replacementUserList
|
||||||
|
}
|
||||||
|
this.submitLoading = true
|
||||||
|
postAction('/project/projectLibraryBase/overallReplacementUser', query).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(this.$t('OperationSuccessful'))
|
||||||
|
this.submitLoading = false
|
||||||
|
this.selectVisible = false
|
||||||
|
this.selectDataSource = []
|
||||||
|
this.userName = ''
|
||||||
|
this.userIds = ''
|
||||||
|
this.getList()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
|
this.submitLoading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
this.$message.warning(this.$t('thereReplaceableData'))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
globalReplacementClick() {
|
||||||
|
this.$refs.SelectedByRef.getPush()
|
||||||
|
},
|
||||||
|
SelectedByForm(userIds, userName) {
|
||||||
|
this.userIds = userIds
|
||||||
|
this.userName = userName
|
||||||
|
this.selectVisible = true
|
||||||
|
this.$refs.SelectedByRef.visible = false
|
||||||
|
this.$refs.SelectedByRef.submitLoading = false
|
||||||
|
this.getUserAllDutyTerritoryList()
|
||||||
|
},
|
||||||
|
getUserAllDutyTerritoryList() {
|
||||||
|
let query = {
|
||||||
|
projectLibraryId: this.$route.query.id,
|
||||||
|
userName: this.userName,
|
||||||
|
userId: this.userIds
|
||||||
|
}
|
||||||
|
this.selectLoading = true
|
||||||
|
getAction('/project/projectLibraryBase/getUserAllDutyTerritoryList', query).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.selectDataSource = res.result || []
|
||||||
|
this.selectDataSource.forEach(val => {
|
||||||
|
val.newUserId = ''
|
||||||
|
val.userName = this.userName
|
||||||
|
val.maxLength = this.selectDataSource.length
|
||||||
|
})
|
||||||
|
this.selectLoading = false
|
||||||
|
} else {
|
||||||
|
this.selectDataSource = []
|
||||||
|
this.selectLoading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
personBattingTable() {
|
personBattingTable() {
|
||||||
this.selectedRowKeys = []
|
this.selectedRowKeys = []
|
||||||
this.getList()
|
this.getList()
|
||||||
|
|||||||
Reference in New Issue
Block a user