合并分支 'dev_third_stage' 到 'master'

Dev third stage

查看合并请求 laws-nio/laws-weilai!165
This commit is contained in:
高嵩
2022-09-06 19:48:48 +08:00
27 changed files with 345 additions and 110 deletions
@@ -1084,3 +1084,8 @@ COMMENT='清单确认-拒绝原因表'
ROW_FORMAT=DYNAMIC
;
-- 增加 中国台湾 国旗数据 2022-09-06
INSERT INTO `laws_weilai`.`country_national_flag` (`id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `country_name_cn`, `country_name_en`, `national_flag_id`, `national_flag_url`) VALUES ('28', NULL, NULL, NULL, NULL, NULL, '中国台湾', 'Tai Wan China', NULL, '/jero-boot/nationalFlag/TaiWanChina.png');
-- 增加 中国台湾 数据字典数据 2022-09-06
INSERT INTO `laws_weilai`.`sys_dict_item` (`id`, `dict_id`, `item_text`, `item_value`, `description`, `sort_order`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `is_tag_dict`, `is_read_only`, `attribute_type`, `del_flag`, `en_name`) VALUES ('1567085557701386242', '1493782108399820801', '中国台湾', '96d49ba5797d4791906ce2baee87d4bc', '中国台湾', 1, 1, 'admin', '2022-09-06 17:41:27', 'admin', '2022-09-06 17:41:35', 1, NULL, NULL, '0', 'Tai Wan China');
@@ -95,6 +95,7 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/sys/common/download/**", "anon");//文件预览
filterChainDefinitionMap.put("/sys/split/file/**", "anon");//图片预览
filterChainDefinitionMap.put("/generic/**", "anon");//pdf预览需要文件
filterChainDefinitionMap.put("/document/bussDocumentLibraryEO/updateES", "anon");//编辑ES数据
filterChainDefinitionMap.put("/", "anon");
filterChainDefinitionMap.put("/doc.html", "anon");
filterChainDefinitionMap.put("/**/*.js", "anon");
@@ -155,6 +156,7 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/lark/larkEventSubscriptionConfig", "anon"); //飞书调用接口,事件订阅配置。
filterChainDefinitionMap.put("/lark/larkCardMessageConfig", "anon"); //飞书调用接口,卡片消息配置。
filterChainDefinitionMap.put("/sys/user/querySysUserListByIdList", "anon"); // 工作流根据用户idList获取用户信息接口
filterChainDefinitionMap.put("/project/projectTaskInventoryConditionAssessmentEO/initConditionAssessment", "anon"); // 初始化项目当前状态数据接口
// 添加自己的过滤器并且取名为jwt
Map<String, Filter> filterMap = new HashMap<String, Filter>(1);
@@ -2250,7 +2250,12 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
try {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String issueTime = (String) map.get("issue_time");
String issueTime = "";
if(ObjectUtils.isNotEmpty(map.get("es_update_flag")) && ObjectUtils.isNotEmpty(map.get("issue_time"))){
map.put("issue_time",df.format(map.get("issue_time")));
}else{
issueTime = (String) map.get("issue_time");
}
Date issueTimeDate = null;
if(StringUtils.isNotBlank(issueTime)){
issueTimeDate = df.parse(issueTime);
@@ -2311,13 +2316,14 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
mapCopy(stringObjectMap, mapT);
dataListTemp.add(mapT);
}
//编辑ES(更新搜索中心的历史数据,不需要发消息)
if(ObjectUtils.isEmpty(map.get("es_update_flag"))){
//更新log
updateLog(map, dataList, fieldList, fieldDateList, fieldFileList, fieldPullList, cut);
//处理修改代替标准,发送通知
sendMessageUpdate(mapTemp, dataListTemp, fieldList, fieldDateList, fieldFileList, fieldPullList, cut);
}
//更新log
updateLog(map, dataList, fieldList, fieldDateList, fieldFileList, fieldPullList, cut);
//判断该条数据是否订阅
//处理修改代替标准,发送通知
sendMessageUpdate(mapTemp, dataListTemp, fieldList, fieldDateList, fieldFileList, fieldPullList, cut);
//树形数据字典
List<SysCategory> categoryList = sysCategoryService.list();
@@ -2360,8 +2366,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
if (ObjectUtils.isNotEmpty(value)) {
//处理修改人和修改时间
if ("update_by".equals(key)) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
value = sysUser.getUsername();
//编辑ES时不处理(修改搜索中心历史数据)
if(ObjectUtils.isEmpty(map.get("es_update_flag"))){
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
value = sysUser.getUsername();
}
}
List<OnlCgformField> fieldDate = fieldDateList.stream().filter(e -> entry.getKey().equals(e.getDbFieldName())).collect(Collectors.toList());
//处理时间类型
@@ -5737,11 +5746,17 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
String dbFieldName = onlCgformField.getDbFieldName();
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
String value = (String) entry.getValue();
if (dbFieldName.equals(key)) {
List<OSSFile> files = oSSFileAll.stream().filter(e -> StringUtils.isNotBlank(value) && value.equals(e.getConnectId())).collect(Collectors.toList());
if (files.size() != 0) {
result.addAll(files);
if(!"create_time".equals(key)
&& !"update_time".equals(key)
&& !"issue_time".equals(key)
&& !"implement_time".equals(key)
&& !"xin1_che1_xing2_shi2_shi1_ri4_qi1".equals(key)){
String value = (String) entry.getValue();
if (dbFieldName.equals(key)) {
List<OSSFile> files = oSSFileAll.stream().filter(e -> StringUtils.isNotBlank(value) && value.equals(e.getConnectId())).collect(Collectors.toList());
if (files.size() != 0) {
result.addAll(files);
}
}
}
}
@@ -195,4 +195,15 @@ public class ConditionAssessmentEOController extends JeroController<ConditionAss
public Result<?> addOrUpdateConditionAssessmentBatch(@RequestBody ConditionAssessmentVO conditionAssessmentVO) {
return conditionAssessmentEOService.addOrUpdateBatch(conditionAssessmentVO);
}
/**
* 初始化当前项目状态评估数据 (法规清单在项目状态评估表中没有的)
*/
@AutoLog(value = "任务清单-项目状态评估表-初始化当前项目状态评估数据")
@ApiOperation(value="任务清单-项目状态评估表-初始化当前项目状态评估数据", notes="任务清单-项目状态评估表-初始化当前项目状态评估数据")
@GetMapping(value = "/initConditionAssessment")
public Result<?> initConditionAssessment(@RequestParam Map<String,Object> params) {
this.conditionAssessmentEOService.initConditionAssessment(params);
return Result.OK("初始化数据成功!");
}
}
@@ -98,4 +98,10 @@ public interface IConditionAssessmentEOService extends IService<ConditionAssessm
* @param conditionAssessmentVO
*/
Result<?> addOrUpdateBatch(ConditionAssessmentVO conditionAssessmentVO);
/**
* 初始化项目当前状态数据
* @param params
*/
void initConditionAssessment(Map<String, Object> params);
}
@@ -5,14 +5,18 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.project.entity.ConditionAssessmentEO;
import com.jero.modules.project.entity.ProjectLawsInventoryEO;
import com.jero.modules.project.entity.ProjectTaskInventoryEO;
import com.jero.modules.project.enums.CurrentProjectStatusEnum;
import com.jero.modules.project.enums.ProjectRoleEnum;
import com.jero.modules.project.mapper.ConditionAssessmentEOMapper;
import com.jero.modules.project.service.IConditionAssessmentEOService;
import com.jero.modules.project.service.IProjectLawsInventoryEOService;
import com.jero.modules.project.vo.ConditionAssessmentVO;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
@@ -27,6 +31,9 @@ import java.util.stream.Collectors;
@Service
public class ConditionAssessmentEOServiceImpl extends ServiceImpl<ConditionAssessmentEOMapper,ConditionAssessmentEO> implements IConditionAssessmentEOService {
@Autowired
private IProjectLawsInventoryEOService projectLawsInventoryEOService;
/**
* 保存
*
@@ -317,4 +324,42 @@ public class ConditionAssessmentEOServiceImpl extends ServiceImpl<ConditionAsses
return Result.ok();
}
@Override
public void initConditionAssessment(Map<String, Object> params) {
String projectLibraryId = (String) params.get("projectLibraryId");
QueryWrapper<ProjectLawsInventoryEO> lawsInventoryQueryWrapper = new QueryWrapper<>();
if(StringUtils.isNotEmpty(projectLibraryId)){
//如果项目库id不为空,只处理这一个项目下的数据。
lawsInventoryQueryWrapper.lambda().eq(ProjectLawsInventoryEO::getProjectLibraryId,projectLibraryId);
}
List<ProjectLawsInventoryEO> lawsInventoryEOList = this.projectLawsInventoryEOService.list(lawsInventoryQueryWrapper);
if(CollectionUtils.isNotEmpty(lawsInventoryEOList)){
QueryWrapper<ConditionAssessmentEO> conditionAssessmentQueryWrapper = new QueryWrapper<>();
List<ConditionAssessmentEO> conditionAssessmentEOList = this.baseMapper.selectList(conditionAssessmentQueryWrapper);
//过滤出,没有项目当前状态数据的法规清单数据
lawsInventoryEOList = lawsInventoryEOList.stream().filter(lawsInventory -> {
boolean flag = true;
for (ConditionAssessmentEO conditionAssessmentEO : conditionAssessmentEOList) {
if(StringUtils.equals(lawsInventory.getId(),conditionAssessmentEO.getProjectLawsInventoryId())){
flag = false;
break;
}
}
return flag;
}).collect(Collectors.toList());
if(CollectionUtils.isNotEmpty(lawsInventoryEOList)){
for (ProjectLawsInventoryEO lawsInventory : lawsInventoryEOList) {
ConditionAssessmentEO conditionAssessmentEO = new ConditionAssessmentEO();
conditionAssessmentEO.setRoleCode(ProjectRoleEnum.REGULATI_AND_HOMOLOGATION_ENGINEER.getValue());
conditionAssessmentEO.setProjectLawsInventoryId(lawsInventory.getId());
conditionAssessmentEO.setConditionAssessment(CurrentProjectStatusEnum.BLUE.getValue());
this.addOrUpdate(conditionAssessmentEO);
}
}
}
}
}
@@ -1519,7 +1519,7 @@ public class DocumentSearchServiceImpl implements IDocumentSearchService {
list1.add("</text>");
mapTemp.put("pre_tags", list);
mapTemp.put("post_tags", list1);
mapTemp.put("fragment_size", 280);//高亮字段内容长度,去除html样式标签,统计字数,设置为200
mapTemp.put("fragment_size", 500);//高亮字段内容长度,去除html样式标签,统计字数,设置为200
mapTemp.put("number_of_fragments", 1);//高亮内容默认分为5段, 此处设置为一段
mapTemp.put("type", "plain");
mapHighlight.put(key, mapTemp);
Binary file not shown.

Before

Width:  |  Height:  |  Size: 153 KiB

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 129 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

After

Width:  |  Height:  |  Size: 25 KiB

+2
View File
@@ -1283,4 +1283,6 @@ module.exports = {
rejectReason:'Reject Reason',
collectionLegislativeComments:'Collection of Legislative Comments',
regulatoryAndTechnicalAssessment:'Regulatory and technical assessment',
listConfirmationRejectionReason:'List confirmation rejection reason',
taskConfirmationRejectionReason:'Task confirmation rejection reason'
}
+3 -2
View File
@@ -834,7 +834,7 @@ module.exports = {
feedbackMessage: '反馈意见',
result: '结果',
opinion: '意见',
operationNode: '操作节点',
OperationNode: '操作节点',
selectInquiry: '选择询问人',
sendBack: '退回',
taskConfirmationProcess: '任务确认流程',
@@ -1385,5 +1385,6 @@ module.exports = {
rejectReason:'拒绝原因',
collectionLegislativeComments:'法规意见收集',
regulatoryAndTechnicalAssessment:'法规技术评估',
listConfirmationRejectionReason:'清单确认驳回原因',
taskConfirmationRejectionReason:'任务确认驳回原因'
}
@@ -12,43 +12,6 @@
<div style="padding-top: 68px;background: #fff">
<div class="detail-content" style="padding: 24px">
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24">
<a-col :span="8">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('displayPermission')">{{$t('displayPermission')}}</span>
</div>
<a-form-model-item class="itemModel" prop="showPermissions">
<a-select :placeholder="$t('PleaseSelect')+$t('displayPermission')"
@change="showPermissionsChange"
v-model="formInline.showPermissions">
<a-select-option v-for="(item, key) in projectNameList"
:key="key"
:value="item.value">
<span class="selectText" :title=" item.name ">
{{ item.name}}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
<a-col :span="8" v-if="isDisplay">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('authorizedUser')">{{$t('authorizedUser')}}</span>
</div>
<a-form-model-item class="itemModel" prop="studioEngineerName">
<PersonnelSelection :query="{db_field_name:'studioEngineer',db_field_txt:$t('authorizedUser')}"
:personneQuery="formInline"
@change="PersonnelSelectionChange"
v-model="formInline.studioEngineerName"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="8">
<div class="box-title-text">
@@ -106,25 +69,55 @@
<a-col :span="8">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('standardNo')">{{$t('standardNo')}}</span>
<span class="Required">*</span>
<span class="title-text-text" :title="$t('displayPermission')">{{$t('displayPermission')}}</span>
</div>
<a-form-model-item class="itemModel" prop="standNumber">
<a-input class="box-input"
:title="formInline.standNumber"
:disabled="true"
v-model="formInline.standNumber"
:placeholder="$t('PleaseEnter')+$t('standardNo')"/>
<a-form-model-item class="itemModel" prop="showPermissions">
<a-select :placeholder="$t('PleaseSelect')+$t('displayPermission')"
@change="showPermissionsChange"
v-model="formInline.showPermissions">
<a-select-option v-for="(item, key) in projectNameList"
:key="key"
:value="item.value">
<span class="selectText" :title=" item.name ">
{{ item.name}}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
<a-col :span="8" v-if="isDisplay">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('authorizedUser')">{{$t('authorizedUser')}}</span>
</div>
<a-form-model-item class="itemModel" prop="studioEngineerName">
<PersonnelSelection :query="{db_field_name:'studioEngineer',db_field_txt:$t('authorizedUser')}"
:personneQuery="formInline"
@change="PersonnelSelectionChange"
v-model="formInline.studioEngineerName"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="8">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"></span>
<span class="title-text-text" :title="$t('standardNo')">{{$t('standardNo')}}</span>
</div>
<a-button class="box-button" type="primary" @click="bringInDocumentInformationClick">
{{$t('bringInDocumentInformation')}}
</a-button>
<a-form-model-item class="itemModel" prop="standNumber">
<a-input class="box-input-index"
:title="formInline.standNumber"
:disabled="true"
v-model="formInline.standNumber"
:placeholder="$t('PleaseEnter')+$t('standardNo')"/>
<a-button class="box-button-index"
:title="$t('bringInDocumentInformation')"
type="primary" @click="bringInDocumentInformationClick">
{{$t('bringInDocumentInformation')}}
</a-button>
</a-form-model-item>
</div>
</a-col>
</a-row>
@@ -584,6 +577,26 @@
margin-top: 4px;
}
.box-button-index {
height: 38px;
margin-top: 2px;
width: 120px;
overflow: hidden;
padding: 0 0;
float: right;
text-align: center;
}
::v-deep .box-button-index span {
display: inline-block;
width: 100px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin-top: 4px;
text-align: center;
}
.submit-button {
width: 100%;
margin-top: 20px;
@@ -612,4 +625,11 @@
overflow: hidden;
word-break: break-word;
}
.box-input-index {
width: calc(100% - 130px);
display: inline-block;
height: 38px;
margin-right: 10px;
}
</style>
@@ -18,6 +18,7 @@
<template v-for="tag in tagList">
<a-checkable-tag
:key="tag.id"
:title="tag.problemLabel"
:checked="selectedTags.indexOf(tag.id) > -1"
@change="checked => handleChange(tag.id, checked)"
>
@@ -45,7 +46,7 @@
<div style="margin-bottom: 10px;position: relative">
<!-- <a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>-->
<div class="text-text-right"
:class="{ 'null-input':item.checked }">
:class="{ 'null-input':index % 2 == 0 ? true : false}">
<div class="text-header" @click="titleClick(item)">
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5">
<template slot="title">
@@ -306,7 +307,7 @@
}
.text-text-right {
padding: 19px 0;
padding: 19px 20px;
box-sizing: border-box;
/*margin-left: 38px;*/
}
@@ -352,8 +353,15 @@
font-weight: 400;
color: #040B29;
opacity: 0.7;
white-space: pre-wrap;
word-wrap: break-word;
overflow: hidden;
display: -webkit-box;
text-overflow: ellipsis;
/*! autoprefixer: off */
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
/*! autoprefixer: on;*/
text-justify: inter-ideograph;
word-break: break-all;
}
.page {
@@ -367,18 +375,9 @@
line-height: 10;
}
::v-deep .ant-tag {
padding: 2px 4px;
background: #9B9DA9;
color: #fff !important;
}
::v-deep .ant-tag-checkable:not(.ant-tag-checkable-checked):hover {
color: #fff !important;
}
::v-deep .ant-tag-checkable-checked {
background: #21c9cc;
border: 1px #21c9cc solid;
color: #21c9cc;
}
::v-deep p {
@@ -394,11 +393,21 @@
}
.box-content-left .ant-tag-checkable {
padding: 3px 8px;
padding: 4px 10px;
display: inline-block;
box-sizing: border-box;
margin-bottom: 10px;
background: #fff;
border: 1px #d9d9d9 solid;
color: rgba(0, 0, 0, 0.65);
max-width: 150px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
word-break: break-all;
}
.box-content-left .ant-tag-checkable-checked {
color: #fff;
.box-content-left .ant-tag-checkable-checked{
border: 1px #21c9cc solid;
color: #21c9cc;
}
</style>
@@ -26,10 +26,10 @@
</div>
<div v-if="conList.length > 0" style="height: calc(100vh - 240px);overflow:auto;">
<div v-for="(item,index) in conList" :key="item.id">
<div style="margin-bottom: 10px;position: relative;overflow: hidden">
<div style="margin-bottom: 10px;position: relative;overflow: hidden"
:class="{ 'null-input':index % 2 == 0 ? true : false }">
<!-- <a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>-->
<div class="text-text-right"
:class="{ 'null-input':item.checked }">
<div class="text-text-right">
<div class="text-header" @click="titleClick(item)">
<a-tooltip placement="topLeft" :mouseEnterDelay="0.5">
<template slot="title">
@@ -270,7 +270,7 @@
}
.text-text-right {
padding: 19px 0;
padding: 19px 19px;
width: calc(100% - 180px);
box-sizing: border-box;
/*margin-left: 38px;*/
@@ -327,6 +327,15 @@
font-weight: 400;
color: #040B29;
opacity: 0.7;
overflow: hidden;
display: -webkit-box;
text-overflow: ellipsis;
/*! autoprefixer: off */
-webkit-box-orient: vertical;
-webkit-line-clamp: 4;
/*! autoprefixer: on;*/
text-justify: inter-ideograph;
word-break: break-all;
}
.page {
+9 -12
View File
@@ -291,10 +291,7 @@ export default {
userData: {},
wrapperCol: { span: 16 },
contentVisible: false, //条款内容弹框显示
queryParams: {
pageNo: 1,
pageSize: 10
},
queryParams: {},
pageSize: 10,
pageNo: 1,
disabled:false,
@@ -747,7 +744,7 @@ export default {
}
},
pageOnChange(page, pageSize) {
this.queryParams.pageNo = page
this.pageNo = page
this.loadData()
},
addModelList() {
@@ -761,6 +758,8 @@ export default {
//获取列表数据
loadData(item) {
this.queryParams.supFolder = this.menuId
this.queryParams.pageNo= this.pageNo
this.queryParams.pageSize= this.pageSize
let params = {
...this.queryParams,
...item,
@@ -785,10 +784,8 @@ export default {
},
//清空
searchReset() {
this.queryParams = {
pageNo: 1,
pageSize: 10
}
this.pageNo = 1
this.queryParams = {}
this.loadData()
},
//新增
@@ -942,13 +939,13 @@ export default {
},
//点击页数
onChangePage(page, pageSize) {
this.queryParams.pageNo = page
this.pageNo = page
this.loadData()
},
//一页显示条数
SizeChange(page, pageSize) {
this.queryParams.pageSize = pageSize
this.queryParams.pageNo = 1
this.pageSize = pageSize
this.pageNo = 1
this.loadData()
},
// 上传文件
@@ -189,8 +189,8 @@
rejectUserId:this.userInfo().id,
rejectTime:rejectTime,
rejectCause:rejectCause,
projectLawsInventoryId:ids.join(','),
rejectType:'0',
projectLawsInventoryId:ids,
rejectType:'1',
}
postAction('/project/projectLawsInventoryRejectCauseEO/add', query).then((res) => {
@@ -198,9 +198,9 @@
},
completeTask(value, handlingTime) {
let json = Object.assign(this.queryBy, { handlingTime: handlingTime }, value)
// if (json.flag == '1'){
// this.rejectCauseAdd(value.approvalOpinion,this.queryBy.id)
// }
if (json.flag == '1'){
this.rejectCauseAdd(value.approvalOpinion,this.queryBy.id)
}
Object.keys(json).forEach(res => {
if (json[res] && typeof json[res] == 'string') {
json[res] = json[res].replace(/\"/g, '“')
@@ -805,8 +805,9 @@
</a-col>
</a-row>
<div class="header-text" v-if="rejectCauseList && rejectCauseList.length > 0">
{{$t('reasonsForRejection')}}
{{$t('listConfirmationRejectionReason')}}
</div>
<div v-if="rejectCauseList && rejectCauseList.length > 0"
v-for="(item,index) in rejectCauseList">
<a-row :gutter="24">
@@ -847,6 +848,51 @@
</a-col>
</a-row>
</div>
<div class="header-text" v-if="rejectCauseListOne && rejectCauseListOne.length > 0">
{{$t('taskConfirmationRejectionReason')}}
</div>
<div v-if="rejectCauseListOne && rejectCauseListOne.length > 0"
v-for="(item,index) in rejectCauseListOne">
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('rejectedBy')">{{$t('rejectedBy')}}</span>
</div>
<div class="itemModel-reject">
{{item.createBy ? item.createBy : '--'}}
</div>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('rejectionTime')">{{$t('rejectionTime')}}</span>
</div>
<div class="itemModel-reject">
{{item.rejectTime ? item.rejectTime : '--'}}
</div>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('rejectReason')">{{$t('rejectReason')}}</span>
</div>
<div class="itemModel-reject">
{{item.rejectCause ? item.rejectCause : '--'}}
</div>
</div>
</a-col>
</a-row>
</div>
</a-form-model>
</a-spin>
<div class="drawer-bootom-button">
@@ -881,6 +927,7 @@
visible: false,
confirmLoading: false,
rules: {},
rejectCauseListOne: [],
rulesData: {
subtitle: [
{
@@ -966,9 +1013,20 @@
}
getAction('/project/projectLawsInventoryRejectCauseEO/list', query).then((res) => {
if (res.success) {
this.rejectCauseList = res.result
this.rejectCauseList = []
this.rejectCauseListOne = []
if (res.result && res.result.length > 0) {
res.result.forEach(val => {
if (val.rejectType == '0') {
this.rejectCauseList.push(val)
} else if (val.rejectType == '1') {
this.rejectCauseListOne.push(val)
}
})
}
} else {
this.rejectCauseList = []
this.rejectCauseListOne = []
}
})
},
@@ -434,7 +434,7 @@
</a-col>
</a-row>
<div class="header-text" v-if="rejectCauseList && rejectCauseList.length > 0">
{{$t('reasonsForRejection')}}
{{$t('listConfirmationRejectionReason')}}
</div>
<div v-if="rejectCauseList && rejectCauseList.length > 0"
v-for="(item,index) in rejectCauseList">
@@ -476,6 +476,49 @@
</a-col>
</a-row>
</div>
<div class="header-text" v-if="rejectCauseListOne && rejectCauseListOne.length > 0">
{{$t('taskConfirmationRejectionReason')}}
</div>
<div v-if="rejectCauseListOne && rejectCauseListOne.length > 0"
v-for="(item,index) in rejectCauseListOne">
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('rejectedBy')">{{$t('rejectedBy')}}</span>
</div>
<div class="itemModel">
{{item.createBy ? item.createBy : '--'}}
</div>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('rejectionTime')">{{$t('rejectionTime')}}</span>
</div>
<div class="itemModel">
{{item.rejectTime ? item.rejectTime : '--'}}
</div>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('rejectReason')">{{$t('rejectReason')}}</span>
</div>
<div class="itemModel">
{{item.rejectCause ? item.rejectCause : '--'}}
</div>
</div>
</a-col>
</a-row>
</div>
</a-form-model>
</a-spin>
<div class="drawer-bootom-button">
@@ -507,7 +550,8 @@
formInline: {},
disabled: false,
userInfoQuery: {},
rejectCauseList:[]
rejectCauseList:[],
rejectCauseListOne:[]
}
},
mounted() {
@@ -527,9 +571,20 @@
}
getAction('/project/projectLawsInventoryRejectCauseEO/list', query).then((res) => {
if (res.success) {
this.rejectCauseList = res.result
this.rejectCauseList = []
this.rejectCauseListOne = []
if (res.result && res.result.length > 0) {
res.result.forEach(val => {
if (val.rejectType == '0') {
this.rejectCauseList.push(val)
} else if (val.rejectType == '1') {
this.rejectCauseListOne.push(val)
}
})
}
} else {
this.rejectCauseList = []
this.rejectCauseListOne = []
}
})
},