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

This commit is contained in:
zyx.net
2022-08-12 16:09:19 +08:00
14 changed files with 174 additions and 52 deletions
@@ -51,7 +51,7 @@ public class PPEmployee {
private String data_provider; // 第三方数据提供商 private String data_provider; // 第三方数据提供商
private String extension_attribute1; // O365标签 private String extension_attribute1; // O365标签
private String working_hour; // 工作制 private String working_hour; // 工作制
private String domain; // 账号所属域 private String domain; // 账号所属域 美国-amer
private String ad_failed; // 创建ad失败原账号 private String ad_failed; // 创建ad失败原账号
private String have_employees; // 是否有下属员工 private String have_employees; // 是否有下属员工
private String id; // id ----id private String id; // id ----id
@@ -227,7 +227,7 @@ public class SyncDataServiceImpl implements ISyncDataService{
JSONObject resultJsonEU = (JSONObject) myJsonEU.get("data"); JSONObject resultJsonEU = (JSONObject) myJsonEU.get("data");
//将第一页的账户信息转换为本地dto集合 //将第一页的账户信息转换为本地dto集合
List<JSONObject> userListEU = JSONObject.parseArray(resultJsonEU.get("list").toString(), JSONObject.class); List<JSONObject> userListEU = JSONObject.parseArray(resultJsonEU.get("list").toString(), JSONObject.class);
List<PPEmployee> currentPPEmployeeListEU = getPPEmployeeList(userListEU, "EN"); List<PPEmployee> currentPPEmployeeListEU = getPPEmployeeList(userListEU, "EU");
ppEmployeeList.addAll(currentPPEmployeeListEU); ppEmployeeList.addAll(currentPPEmployeeListEU);
//获取总记录数 //获取总记录数
@@ -246,7 +246,7 @@ public class SyncDataServiceImpl implements ISyncDataService{
log.debug("【欧洲】打印输出本次同步信息返回结果:"+myJsonEU.get("data").toString()); log.debug("【欧洲】打印输出本次同步信息返回结果:"+myJsonEU.get("data").toString());
resultJsonEU = (JSONObject) myJsonEU.get("data"); resultJsonEU = (JSONObject) myJsonEU.get("data");
userListEU = JSONObject.parseArray(resultJsonEU.get("list").toString(), JSONObject.class); userListEU = JSONObject.parseArray(resultJsonEU.get("list").toString(), JSONObject.class);
currentPPEmployeeListEU = getPPEmployeeList(userListEU, "EN"); currentPPEmployeeListEU = getPPEmployeeList(userListEU, "EU");
ppEmployeeList.addAll(currentPPEmployeeListEU); ppEmployeeList.addAll(currentPPEmployeeListEU);
} }
} }
@@ -213,6 +213,16 @@ public class FeishuServiceImpl implements IFeishuService {
contentSb.append("}"); contentSb.append("}");
contentSb.append("}"); contentSb.append("}");
} }
if (StrUtil.isNotEmpty(feishuMsgVo.getAssignee())){
contentSb.append(",");
contentSb.append("{");
contentSb.append("\"is_short\": false,");
contentSb.append("\"text\": {");
contentSb.append("\"content\": \"**Assignee:** " + feishuMsgVo.getAssignee() + "\",");
contentSb.append("\"tag\": \"lark_md\"");
contentSb.append("}");
contentSb.append("}");
}
if (StrUtil.isNotEmpty(feishuMsgVo.getDueDate())){ if (StrUtil.isNotEmpty(feishuMsgVo.getDueDate())){
contentSb.append(","); contentSb.append(",");
contentSb.append("{"); contentSb.append("{");
@@ -24,5 +24,7 @@ public class FeishuMsgVo {
private String url; //回调的网址 private String url; //回调的网址
private String assignee; //评估人 适用范围:责任人提交通知发起人(设计符合性,pre-homo符合性,验证符合性)
} }
@@ -2273,10 +2273,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
taskType = "Design Compliance Confirmation"; taskType = "Design Compliance Confirmation";
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
SysUser initiatorLarkInfo = this.sysUserMapper.selectOne( feishuMsgVo.setAssignee(sysUser.getUsername());
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId()) // SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
); // new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getDesignInitiatorId())
initiatorLark = initiatorLarkInfo.getUsername(); // );
// initiatorLark = initiatorLarkInfo.getUsername();
} else if(StringUtils.equals(msgType, MsgTypeEnum.PREHOMO_CHARGE_PERSON_SUBMIT_MSG.getValue())){ } else if(StringUtils.equals(msgType, MsgTypeEnum.PREHOMO_CHARGE_PERSON_SUBMIT_MSG.getValue())){
String prehomoInitiatorId = jsonObject.getString("prehomoInitiatorId"); //pre-Home发起人id String prehomoInitiatorId = jsonObject.getString("prehomoInitiatorId"); //pre-Home发起人id
userIdList.add(prehomoInitiatorId); userIdList.add(prehomoInitiatorId);
@@ -2291,10 +2292,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
taskType = "Pre-Homo Confirmation"; taskType = "Pre-Homo Confirmation";
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
SysUser initiatorLarkInfo = this.sysUserMapper.selectOne( feishuMsgVo.setAssignee(sysUser.getUsername());
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId()) // SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
); // new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getPrehomoInitiatorId())
initiatorLark = initiatorLarkInfo.getUsername(); // );
// initiatorLark = initiatorLarkInfo.getUsername();
} else if(StringUtils.equals(msgType, MsgTypeEnum.VERIFY_CHARGE_PERSON_SUBMIT_MSG.getValue())){ } else if(StringUtils.equals(msgType, MsgTypeEnum.VERIFY_CHARGE_PERSON_SUBMIT_MSG.getValue())){
String verifyInitiatorId = jsonObject.getString("verifyInitiatorId"); //验证符合性发起人id String verifyInitiatorId = jsonObject.getString("verifyInitiatorId"); //验证符合性发起人id
userIdList.add(verifyInitiatorId); userIdList.add(verifyInitiatorId);
@@ -2309,10 +2311,11 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
taskType = "Validation Compliance Confirmation"; taskType = "Validation Compliance Confirmation";
initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName(); initiator = MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName();
SysUser initiatorLarkInfo = this.sysUserMapper.selectOne( feishuMsgVo.setAssignee(sysUser.getUsername());
new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getVerifyInitiatorId()) // SysUser initiatorLarkInfo = this.sysUserMapper.selectOne(
); // new QueryWrapper<SysUser>().lambda().eq(SysUser::getId, projectLawsInventoryEO.getVerifyInitiatorId())
initiatorLark = initiatorLarkInfo.getUsername(); // );
// initiatorLark = initiatorLarkInfo.getUsername();
}else if(StringUtils.equals(msgType, MsgTypeEnum.DESIGN_INITIATOR_ACCEPTED_MSG.getValue())){ }else if(StringUtils.equals(msgType, MsgTypeEnum.DESIGN_INITIATOR_ACCEPTED_MSG.getValue())){
String designDutyId = jsonObject.getString("designDutyId"); //设计符合性责任人id String designDutyId = jsonObject.getString("designDutyId"); //设计符合性责任人id
userIdList.add(designDutyId); userIdList.add(designDutyId);
@@ -142,6 +142,10 @@ public class ExcelUtil {
if(ObjectUtil.isNull(cell)) { if(ObjectUtil.isNull(cell)) {
continue; continue;
} }
// 判断单元格类型,非文本单元格不处理
if(! (org.apache.poi.ss.usermodel.Cell.CELL_TYPE_STRING == cell.getCellType())) {
continue;
}
String cellValue = cell.getStringCellValue(); String cellValue = cell.getStringCellValue();
@@ -115,6 +115,7 @@
}, },
handleCancel() { handleCancel() {
this.visible = false this.visible = false
this.$emit('classificationMaintenanceModelForm')
}, },
onChange(page, pageSize) { onChange(page, pageSize) {
this.pageNo = page this.pageNo = page
@@ -47,6 +47,7 @@
<div class="page"> <div class="page">
<a-pagination <a-pagination
:show-total="total => $t('total')+` ${total} `+$t('strip')" :show-total="total => $t('total')+` ${total} `+$t('strip')"
:pageSizeOptions="['12','24','36','48','60']"
show-quick-jumper show-quick-jumper
show-size-changer show-size-changer
:page-size.sync="pageSize" :page-size.sync="pageSize"
@@ -70,7 +71,7 @@
queryParam: {}, queryParam: {},
conList: [], conList: [],
applyMarketList: [], applyMarketList: [],
pageSize: 10, pageSize: 12,
total: 0, total: 0,
pageNo: 1, pageNo: 1,
loading: false, loading: false,
@@ -298,10 +298,13 @@
} }
}) })
}, },
viewClick() { viewClick(row) {
let newUrl = this.$router.resolve({ let newUrl = this.$router.resolve({
path: '/countryCardView', path: '/countryCardView',
query: {} query: {
applyMarket: row.applyMarket,
id: row.id
}
}) })
window.open(newUrl.href, '_blank') window.open(newUrl.href, '_blank')
}, },
@@ -6,7 +6,7 @@
<span style="line-height: 66px;display: inline-block;float: left"> <span style="line-height: 66px;display: inline-block;float: left">
<a-icon type="arrow-left" style="margin-right: 6px;"/> <a-icon type="arrow-left" style="margin-right: 6px;"/>
</span> </span>
{{$t('See')}} {{header_text}}
</div> </div>
</div> </div>
<div style="padding-top: 68px;background: #fff"> <div style="padding-top: 68px;background: #fff">
@@ -26,7 +26,7 @@
<div style="width: 100%" v-for="(item1,index) in contentList" class="content-box-top"> <div style="width: 100%" v-for="(item1,index) in contentList" class="content-box-top">
<div v-for="(item2,index2) in item1.list" style="width: 340px;display: inline-block" <div v-for="(item2,index2) in item1.list" style="width: 340px;display: inline-block"
class="content-box-left"> class="content-box-left">
<div class="content-box-box-top" v-if="index == 0"> <div class="content-box-box-top" style="cursor: default" v-if="index == 0">
<img class="content-box-box-img" style="display: inline-block;width: auto" v-if="index2 == 0"> <img class="content-box-box-img" style="display: inline-block;width: auto" v-if="index2 == 0">
<img :src="item2.img" v-else class="content-box-box-img" alt=""> <img :src="item2.img" v-else class="content-box-box-img" alt="">
<span v-if="index2 == 0" class="content-box-box-text"></span> <span v-if="index2 == 0" class="content-box-box-text"></span>
@@ -36,15 +36,28 @@
</div> </div>
<div class="content-box-box" v-else> <div class="content-box-box" v-else>
<a v-if="index2 == 0 && item2.relevantUrl"
style="color: rgb(33, 201, 204)"
:class="{'content-box-box-text-admin':!item2.lableName || item2.lableName == 'null' || item2.lableName == 'undefined'? true : false}"
class="content-box-box-text content-box-box-text-index"
:href="item2.relevantUrl" target="_blank">{{item2.lableName}}</a>
<span style="color: #21c9cc" <span style="color: #21c9cc"
:class="{'content-box-box-text-admin':!item2.lableName || item2.lableName == 'null' || item2.lableName == 'undefined'? true : false}" :class="{'content-box-box-text-admin':!item2.lableName || item2.lableName == 'null' || item2.lableName == 'undefined'? true : false}"
class="content-box-box-text content-box-box-text-index" class="content-box-box-text content-box-box-text-index"
@click="viewFileClick(item2.lableName)" @click="viewFileClick(item2.lableName)"
v-if="item2.lableType == 7 && item2.lableName && index2 != 0"> v-else-if="item2.lableType == 7 && item2.lableName && index2 != 0">
{{$t('viewFile')}} {{$t('viewFile')}}
</span> </span>
<span class="content-box-box-text content-box-box-text-index"
v-else-if="item2.lableType != 7 && !item2.lableName && index2 != 0"
style="cursor: default"
:title="item2.lableName"
:class="{'content-box-box-text-admin':!item2.lableName || item2.lableName == 'null' || item2.lableName == 'undefined'? true : false}">
{{item2.lableName}}
</span>
<span class="content-box-box-text content-box-box-text-index" <span class="content-box-box-text content-box-box-text-index"
v-else v-else
style="cursor: default"
:title="item2.lableName" :title="item2.lableName"
:class="{'content-box-box-text-admin':!item2.lableName || item2.lableName == 'null' || item2.lableName == 'undefined'? true : false}"> :class="{'content-box-box-text-admin':!item2.lableName || item2.lableName == 'null' || item2.lableName == 'undefined'? true : false}">
{{item2.lableName}} {{item2.lableName}}
@@ -94,6 +107,7 @@
queryCountryList: [], queryCountryList: [],
countryCardViewList: [], countryCardViewList: [],
applyMarkets: '', applyMarkets: '',
header_text: '',
url: { url: {
list: '/problemKnowledgeBase/countryCardTempEO/list', list: '/problemKnowledgeBase/countryCardTempEO/list',
deleteOne: '' deleteOne: ''
@@ -138,6 +152,9 @@
this.displayList.forEach(val => { this.displayList.forEach(val => {
val.showOrNot = true val.showOrNot = true
}) })
this.$nextTick(() => {
this.$refs.displayInformationModelRef.dataListOne = JSON.parse(JSON.stringify(this.displayList))
})
this.consolidateData() this.consolidateData()
this.loading = false this.loading = false
} else { } else {
@@ -169,12 +186,14 @@
}) })
} }
if (content && content.length > 0) { if (content && content.length > 0) {
console.log(content)
content.forEach((res, index) => { content.forEach((res, index) => {
this.contentList[index + 1] = { name: res.lableName } this.contentList[index + 1] = { name: res.lableName }
this.contentList[index + 1].list = [] this.contentList[index + 1].list = []
this.contentList[index + 1].list.push({ this.contentList[index + 1].list.push({
lableName: res.lableName, lableName: res.lableName,
lableType: res.lableType lableType: res.lableType,
relevantUrl: res.relevantUrl
}) })
}) })
} }
@@ -215,6 +234,11 @@
this.clientWidth = 340 * (this.queryCountryList.length + 1) + 'px' this.clientWidth = 340 * (this.queryCountryList.length + 1) + 'px'
this.isTrue = true this.isTrue = true
}) })
let content = []
this.queryCountryList.forEach(val => {
content.push(val.applyMarket_dictText)
})
this.header_text = content.join('-')
callback && callback() callback && callback()
if (!callback) { if (!callback) {
this.consolidateData() this.consolidateData()
@@ -9,6 +9,27 @@
@close="handleCancel" @close="handleCancel"
:visible="visible" :visible="visible"
style="height: 100%;overflow: auto;padding-bottom: 53px;"> style="height: 100%;overflow: auto;padding-bottom: 53px;">
<div class="table-page-search-wrapper">
<a-form layout="inline" @keyup.enter.native="searchQuery">
<a-row :gutter="24">
<a-col :md="12" :sm="8" style="line-height: 48px">
<div class="box-title-text">
<div class="title-text" :title="$t('LabelName')">
<span>{{$t('LabelName')}}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('LabelName')"
v-model="queryParam.labelName"></a-input>
</div>
</a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
<a-col :md="6" :sm="24">
<a-button class="box-button" type="primary" @click="searchQuery">{{$t('query')}}</a-button>
<a-button class="box-button" style="margin-left: 8px" @click="searchReset">{{$t('reset')}}</a-button>
</a-col>
</span>
</a-row>
</a-form>
</div>
<div style="margin-bottom: 60px"> <div style="margin-bottom: 60px">
<a-table <a-table
v-if="this.visible" v-if="this.visible"
@@ -42,9 +63,11 @@
list: '/problemKnowledgeBase/countryCardTempEO/list', list: '/problemKnowledgeBase/countryCardTempEO/list',
deleteOne: '' deleteOne: ''
}, },
queryParam: {},
visible: false, visible: false,
selectedRowKeys: [], selectedRowKeys: [],
dataList: [], dataList: [],
dataListOne: [],
loading: false, loading: false,
confirmLoading: false, confirmLoading: false,
columns: [ columns: [
@@ -67,10 +90,24 @@
mounted() { mounted() {
}, },
methods: { methods: {
searchQuery() {
if (this.queryParam.labelName) {
this.dataList = this.dataList.filter(res => {
return res.lableName.includes(this.queryParam.labelName)
})
this.dataList = [...this.dataList]
}
},
searchReset() {
this.queryParam = {}
this.dataList = JSON.parse(JSON.stringify(this.dataListOne))
this.dataList = [...this.dataList]
},
getData(data) { getData(data) {
this.visible = true this.visible = true
this.$nextTick(() => { this.$nextTick(() => {
this.dataList = data this.queryParam = {}
this.dataList = JSON.parse(JSON.stringify(data))
this.dataList = [...this.dataList] this.dataList = [...this.dataList]
}) })
}, },
@@ -78,11 +115,16 @@
this.visible = false this.visible = false
}, },
handleSubmit() { handleSubmit() {
this.$emit('displayInformationModelForm', this.dataList) this.$emit('displayInformationModelForm', this.dataListOne)
this.visible = false this.visible = false
}, },
onCheckAllChange(index) { onCheckAllChange(index) {
this.dataList[index].showOrNot = !this.dataList[index].showOrNot this.dataList[index].showOrNot = !this.dataList[index].showOrNot
this.dataListOne.forEach(res => {
if (res.id == this.dataList[index].id) {
res.showOrNot = !res.showOrNot
}
})
} }
} }
} }
@@ -107,18 +149,41 @@
border-radius: 0 0 2px 2px; border-radius: 0 0 2px 2px;
} }
.box-title { .box-title-text {
width: 100%; line-height: 1.4;
text-align: right; display: flex;
margin-bottom: 20px; align-items: center;
margin-bottom: 10px;
} }
.operator-text { .title-text {
cursor: pointer; width: 20%;
margin-right: 13px; min-width: 110px;
font-size: 14px; color: #000F16;
font-weight: 400;
color: #040B29;
display: inline-block; display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
margin-top: 3px;
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.box-input {
display: inline-block;
width: 70%;
height: 38px;
margin-top: 2px;
}
.box-button {
height: 38px;
/*margin-top: 2px;*/
}
.text-operation {
margin-right: 8px;
} }
</style> </style>
@@ -59,7 +59,7 @@
<a-form-model-item class="itemModel" prop="title"> <a-form-model-item class="itemModel" prop="title">
<a-input class="box-input" <a-input class="box-input"
:disabled="disabled" :disabled="disabled"
v-model="formInline.title" v-model.trim="formInline.title"
:placeholder="$t('PleaseEnter')+$t('title')"/> :placeholder="$t('PleaseEnter')+$t('title')"/>
</a-form-model-item> </a-form-model-item>
</div> </div>
@@ -573,6 +573,7 @@
.box-button { .box-button {
height: 38px; height: 38px;
margin-top: 4px;
} }
.submit-button { .submit-button {
@@ -1,6 +1,7 @@
<template> <template>
<div class="box"> <div class="box">
<div class="search-detail-wrap"> <div class="search-detail-wrap">
<a-form layout="inline" @keyup.enter.native="onSearch">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text" :title="$t('searchContent')"> <div class="title-text" :title="$t('searchContent')">
<span>{{$t('searchContent')}}</span> <span>{{$t('searchContent')}}</span>
@@ -10,6 +11,7 @@
<a-button class="box-button" type="primary" @click="onSearch">{{$t('query')}}</a-button> <a-button class="box-button" type="primary" @click="onSearch">{{$t('query')}}</a-button>
<a-button class="box-button" style="margin-left: 8px" @click="ResetSearch">{{$t('reset')}}</a-button> <a-button class="box-button" style="margin-left: 8px" @click="ResetSearch">{{$t('reset')}}</a-button>
</div> </div>
</a-form>
</div> </div>
<div class="box-content"> <div class="box-content">
<div class="box-content-left"> <div class="box-content-left">
@@ -75,7 +77,8 @@
/> />
</div> </div>
<JLoading :loading="loading">{{$t('dataLoading')}}</JLoading> <JLoading :loading="loading">{{$t('dataLoading')}}</JLoading>
<classificationMaintenanceModel ref="classificationMaintenanceModelRef"/> <classificationMaintenanceModel @classificationMaintenanceModelForm="classificationMaintenanceModelForm"
ref="classificationMaintenanceModelRef"/>
</div> </div>
</template> </template>
@@ -120,6 +123,9 @@
} }
}) })
}, },
classificationMaintenanceModelForm(){
this.replacePage()
},
onSearch() { onSearch() {
this.pageNo = 1 this.pageNo = 1
this.getList() this.getList()
@@ -12,6 +12,7 @@
<div style="padding-top: 68px;background: #fff"> <div style="padding-top: 68px;background: #fff">
<div class="detail-content" style="padding: 30px"> <div class="detail-content" style="padding: 30px">
<div class="search-detail-wrap"> <div class="search-detail-wrap">
<a-form layout="inline" @keyup.enter.native="onSearch">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text" :title="$t('searchContent')"> <div class="title-text" :title="$t('searchContent')">
<span>{{$t('searchContent')}}</span> <span>{{$t('searchContent')}}</span>
@@ -21,6 +22,7 @@
<a-button class="box-button" type="primary" @click="onSearch">{{$t('query')}}</a-button> <a-button class="box-button" type="primary" @click="onSearch">{{$t('query')}}</a-button>
<a-button class="box-button" style="margin-left: 8px" @click="ResetSearch">{{$t('reset')}}</a-button> <a-button class="box-button" style="margin-left: 8px" @click="ResetSearch">{{$t('reset')}}</a-button>
</div> </div>
</a-form>
</div> </div>
<div v-if="conList.length > 0" style="height: calc(100vh - 240px);overflow:auto;"> <div v-if="conList.length > 0" style="height: calc(100vh - 240px);overflow:auto;">
<div v-for="(item,index) in conList" :key="item.id"> <div v-for="(item,index) in conList" :key="item.id">