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

# Conflicts:
#	jero-boot/db/蔚来标准sql/dev_third_record.sql
This commit is contained in:
wangzhijiang
2022-08-04 14:29:24 +08:00
21 changed files with 596 additions and 31 deletions
@@ -506,6 +506,7 @@ INSERT INTO `laws_weilai`.`sys_permission`(`id`, `parent_id`, `name`, `url`, `co
INSERT INTO `laws_weilai`.`sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `menu_en`) VALUES ('1552484136976973825', '1539426795780005889', '新增', NULL, NULL, NULL, NULL, 2, 'report:exportTemplate:add', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2022-07-28 10:40:37', NULL, NULL, 0, 0, '1', 0, 'Add');
UPDATE `laws_weilai`.`sys_permission` SET `parent_id` = '1516964175944798210', `name` = '上报库管理', `url` = '/escalationlibrary', `component` = 'parameter/escalationlibrary/index', `component_name` = NULL, `redirect` = NULL, `menu_type` = 1, `perms` = 'params:report:page', `perms_type` = '1', `sort_no` = 3.00, `always_show` = 0, `icon` = NULL, `is_route` = 1, `is_leaf` = 0, `keep_alive` = 0, `hidden` = 0, `description` = NULL, `create_by` = 'admin', `create_time` = '2022-06-22 10:05:03', `update_by` = 'admin', `update_time` = '2022-07-28 10:52:00', `del_flag` = 0, `rule_flag` = 0, `status` = '1', `internal_or_external` = 0, `menu_en` = 'Escalation library management' WHERE `id` = '1539429224550457346';
UPDATE `laws_weilai`.`sys_permission` SET `parent_id` = '1516964175944798210', `name` = '参数导出模板管理', `url` = '/Parameterexport', `component` = 'parameter/parameterexport/index', `component_name` = NULL, `redirect` = NULL, `menu_type` = 1, `perms` = 'report:exportTemplate:page', `perms_type` = '1', `sort_no` = 2.00, `always_show` = 0, `icon` = NULL, `is_route` = 1, `is_leaf` = 0, `keep_alive` = 0, `hidden` = 0, `description` = NULL, `create_by` = 'admin', `create_time` = '2022-06-22 09:55:24', `update_by` = 'admin', `update_time` = '2022-07-28 10:40:02', `del_flag` = 0, `rule_flag` = 0, `status` = '1', `internal_or_external` = 0, `menu_en` = 'Parameter export template management' WHERE `id` = '1539426795780005889';
INSERT INTO `laws_weilai`.`sys_permission`(`id`, `parent_id`, `name`, `url`, `component`, `component_name`, `redirect`, `menu_type`, `perms`, `perms_type`, `sort_no`, `always_show`, `icon`, `is_route`, `is_leaf`, `keep_alive`, `hidden`, `description`, `create_by`, `create_time`, `update_by`, `update_time`, `del_flag`, `rule_flag`, `status`, `internal_or_external`, `menu_en`) VALUES ('1554745894282264577', '1552487412749369345', '保存', NULL, NULL, NULL, NULL, 2, 'report:detail:export:save', '1', 1.00, 0, NULL, 1, 1, 0, 0, NULL, 'admin', '2022-08-03 16:28:02', NULL, NULL, 0, 0, '1', 0, 'Save');
-- 角色表-增加对外报告管理员角色 2022-7-28 已同步生产环境
INSERT INTO `sys_role` VALUES ('1552536424587862017', '对外报告管理员', 'ExternalReportsManager', '对外报告文件夹列表的管理员', 'admin', '2022-7-28 14:08:23', NULL, NULL, NULL, NULL);
@@ -693,6 +694,11 @@ CREATE TABLE `laws_weilai`.`problem_knowledge_base_collect` (
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '问题知识库收藏表' ROW_FORMAT = Dynamic;
-- 参数清单 添加字段 2022-08-04
ALTER TABLE `laws_weilai`.`params_manifest`
ADD COLUMN `params_template_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数模板名称' AFTER `params_template_publish_version`;
ALTER TABLE `laws_weilai`.`params_manifest_history`
ADD COLUMN `params_template_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数模板名称' AFTER `source_params_manifest_id`;
-- 问题知识库-country_card-管理发布表 2022-08-04
CREATE TABLE `laws_weilai`.`country_card_manage_release` (
`id` varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
@@ -23,7 +23,6 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -173,15 +172,15 @@ public class ParamsCollectManifestEOController extends JeroController<ParamsColl
/**
* 批量删除
*
* @param ids
* @param paramsCollectManifestVO
* @return
*/
@AutoLog(value = "参数项收集清单-批量删除")
@ApiOperation(value="参数项收集清单-批量删除", notes="参数项收集清单-批量删除")
@PostMapping(value = "/deleteBatch")
// @RequiresPermissions("params:collectManifest:delete")
public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
boolean isSuccess = paramsCollectManifestEOService.deleteByIds(Arrays.asList(ids.split(",")));
public Result<?> deleteBatch(ParamsCollectManifestVO paramsCollectManifestVO) {
boolean isSuccess = paramsCollectManifestEOService.deleteBatch(paramsCollectManifestVO);
if (isSuccess) {
return Result.OK("批量删除成功!");
} else {
@@ -94,7 +94,7 @@ public class ParamsManifestEO implements Serializable {
@ApiModelProperty(value = "对应参数模板发布版本")
private Integer paramsTemplatePublishVersion;
@TableField(exist = false)
@ApiModelProperty(value = "参数模板名称")
private String paramsTemplateName;
@TableField(exist = false)
@@ -43,7 +43,7 @@
pm.project_id as project_id,
pm.params_template_id as params_template_id,
pm.params_template_publish_version as params_template_publish_version,
pt.params_template_name as params_template_name
if (pt.params_template_name is not null, pt.params_template_name, pm.params_template_name) as params_template_name
</sql>
<sql id="BaseQuerySql">
@@ -43,13 +43,22 @@ public interface IParamsCollectManifestEOService extends IService<ParamsCollectM
void deleteById(String id);
/**
* 批量删除
* 批量删除-参数清单页面级
*
* @param ids
* @return
*/
boolean deleteByIds(List<String> ids);
/**
* 批量删除-参数项收集页面级
*
* @param paramsCollectManifestVO
* @return
*/
boolean deleteBatch(ParamsCollectManifestVO paramsCollectManifestVO);
/**
* 通过id查询
*
@@ -87,4 +87,7 @@ public interface IParamsManifestEOService extends IService<ParamsManifestEO> {
List<Map<String, String>> labelListForProjectDetails(String projectId);
Map<String, Object> getStatisticsForProjectDetails(String paramsManifestId, String cut);
// 参数模板删除时,记录参数模板名称到清单
boolean setTemplateName(List<String> paramsTemplateIds);
}
@@ -235,7 +235,7 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
}
/**
* 批量删除
* 批量删除-参数清单页面级
*
* @param ids
* @return
@@ -247,6 +247,41 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
return removeByIds(ids);
}
/**
* 批量删除-参数项收集页面级
*
* @param paramsCollectManifestVO
* @return
*/
@Override
public boolean deleteBatch(ParamsCollectManifestVO paramsCollectManifestVO) {
List<String> ids = Arrays.asList(paramsCollectManifestVO.getIds().split(","));
String paramsManifestId = paramsCollectManifestVO.getParamsManifestId();
// 删除参数项
boolean isSuccess = removeByIds(ids);
// 关联删除配置数据
paramsConfigDataEOService.deleteByParamsCollectManifestIdList(ids);
// 判断清单收集状态
Map<String, Object> map = isCollectFinished(paramsManifestId);
Boolean finish = (Boolean) map.get("finish");
Date time = (Date) map.get("time");
if (finish) {
// 更新清单状态和完成时间
ParamsManifestEO updateParamsManifestEO = new ParamsManifestEO();
updateParamsManifestEO.setId(paramsManifestId);
updateParamsManifestEO.setState(ManifestStateEnum.FINISHED.getValue());
updateParamsManifestEO.setFinishTime(time);
boolean isSuccess2 = paramsManifestEOService.updateById(updateParamsManifestEO);
if (isSuccess2) {
webSocketServer.sendMessage();
}
}
return isSuccess;
}
/**
* 通过id查询
*
@@ -1901,6 +1936,18 @@ public class ParamsCollectManifestEOServiceImpl extends ServiceImpl<ParamsCollec
addReportDetailEO.setParamsManifestId(reportId);
addReportDetailEO.setSyncTime(syncTime);
addReportDetailEOList.add(addReportDetailEO);
// 添加配置数据
for (ParamsConfigEO configEO : paramsConfigEOList) {
ParamsReportConfigDataEO addReportConfigDataEO = new ParamsReportConfigDataEO();
addReportConfigDataEO.setId(UUID.randomUUID().toString().replace("-",""));
addReportConfigDataEO.setParamsConfigId(configIdMap.get(configEO.getId()));
addReportConfigDataEO.setParamsCollectManifestId(reportDetailId);
addReportConfigDataEO.setTextData(item.getTitleDefaultValue()); //标题默认值
addReportConfigDataEOList.add(addReportConfigDataEO);
}
}
}
@@ -705,6 +705,40 @@ public class ParamsManifestEOServiceImpl extends ServiceImpl<ParamsManifestEOMap
return result;
}
@Override
public boolean setTemplateName(List<String> paramsTemplateIds) {
List<ParamsManifestEO> updateManifestEOList = new ArrayList<>();
// 查询被删除模板信息
LambdaQueryWrapper<ParamsTemplateEO> paramsTemplateEOLambdaQueryWrapper = new LambdaQueryWrapper<>();
paramsTemplateEOLambdaQueryWrapper.in(ParamsTemplateEO::getId, paramsTemplateIds);
List<ParamsTemplateEO> paramsTemplateEOList = paramsTemplateEOService.list(paramsTemplateEOLambdaQueryWrapper);
List<String> paramsTemplateIdList = paramsTemplateEOList.stream().map(ParamsTemplateEO::getId).collect(Collectors.toList());
// 查询被删除模板的所有清单
LambdaQueryWrapper<ParamsManifestEO> paramsManifestEOLambdaQueryWrapper = new LambdaQueryWrapper<>();
paramsManifestEOLambdaQueryWrapper.in(ParamsManifestEO::getParamsTemplateId, paramsTemplateIdList);
List<ParamsManifestEO> paramsManifestEOList = list(paramsManifestEOLambdaQueryWrapper);
paramsTemplateEOList.forEach(templateEO-> {
// 查询使用该模板的所有清单
List<ParamsManifestEO> paramsManifestEOS = paramsManifestEOList.stream()
.filter(e-> templateEO.getId().equals(e.getParamsTemplateId()))
.collect(Collectors.toList());
paramsManifestEOS.forEach(manifestEO -> {
ParamsManifestEO updateManifestEO = new ParamsManifestEO();
updateManifestEO.setId(manifestEO.getId());
updateManifestEO.setParamsTemplateName(templateEO.getParamsTemplateName());
updateManifestEO.setFinishTime(manifestEO.getFinishTime());
updateManifestEOList.add(updateManifestEO);
});
});
return updateBatchById(updateManifestEOList);
}
private void getData(List<Map<String, Object>> data, double quantity, String percentage) {
Map<String, Object> map = new HashMap<>();
map.put("quantity", quantity);
@@ -423,8 +423,8 @@ public class ParamsReportDetailEOServiceImpl extends ServiceImpl<ParamsReportDet
configDataVO.setType(ConfigDataTypeEnum.TEXT.getValue());
configDataVO.setIsMust(paramsCollectManifestEO.getIsMust());
configDataVO.setIsLock(paramsConfigEO.getIsLock());
if (StringUtils.isNotEmpty(paramsCollectManifestEO.getTitleDefaultValue())) {
configDataVO.setDataValue(paramsCollectManifestEO.getTitleDefaultValue());
if (ObjectUtil.isNotEmpty(paramsConfigDataEO) && StringUtils.isNotEmpty(paramsConfigDataEO.getTextData())) {
configDataVO.setDataValue(paramsConfigDataEO.getTextData());
}
paramsConfigDataVOList.add(configDataVO);
@@ -1,5 +1,6 @@
package com.jero.modules.cert.report.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -14,6 +15,7 @@ import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Description: 上报库
@@ -132,18 +134,31 @@ public class ParamsReportEOServiceImpl extends ServiceImpl<ParamsReportEOMapper,
List<ParamsReportEO> updateEOList = new ArrayList<>();
List<ParamsManifestVO> paramsManifestEOList = paramsManifestEOMapper.listInfoAll(oldParamsManifestIdList);
List<String> paramsManifestIdList = paramsManifestEOList.stream().map(ParamsManifestVO::getId).collect(Collectors.toList());
List<Integer> paramsManifestVersionList = paramsManifestEOList.stream().map(ParamsManifestVO::getVersion).collect(Collectors.toList());
LambdaQueryWrapper<ParamsReportEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.in(ParamsReportEO::getOldParamsManifestId, paramsManifestIdList)
.in(ParamsReportEO::getVersion, paramsManifestVersionList);
List<ParamsReportEO> paramsReportEOList = list(queryWrapper);
paramsManifestEOList.forEach(paramsManifestVO -> {
LambdaQueryWrapper<ParamsReportEO> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ParamsReportEO::getOldParamsManifestId, paramsManifestVO.getId())
.eq(ParamsReportEO::getVersion, paramsManifestVO.getVersion());
ParamsReportEO paramsReportEO = getOne(queryWrapper);
ParamsReportEO updateEO = new ParamsReportEO();
updateEO.setId(paramsReportEO.getId());
updateEO.setTitle(paramsManifestVO.getTitle());
updateEO.setProjectName(paramsManifestVO.getProjectName());
List<ParamsReportEO> paramsReportEOS = paramsReportEOList.stream()
.filter(e-> paramsManifestVO.getId().equals(e.getOldParamsManifestId()) && paramsManifestVO.getVersion().equals(e.getVersion()))
.collect(Collectors.toList());
if (CollectionUtil.isNotEmpty(paramsReportEOS)) {
ParamsReportEO paramsReportEO = paramsReportEOS.get(0);
ParamsReportEO updateEO = new ParamsReportEO();
updateEO.setId(paramsReportEO.getId());
updateEO.setTitle(paramsManifestVO.getTitle());
updateEO.setProjectName(paramsManifestVO.getProjectName());
updateEOList.add(updateEO);
}
updateEOList.add(updateEO);
});
return updateBatchById(updateEOList);
@@ -2,6 +2,7 @@ package com.jero.modules.cert.template.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.cert.collect.service.IParamsManifestEOService;
import com.jero.modules.cert.template.entity.CertCategoryParamsInfoEO;
import com.jero.modules.cert.template.entity.ParamsInfoEO;
import com.jero.modules.cert.template.entity.ParamsTemplateEO;
@@ -16,10 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import java.util.*;
/**
* @Description: 参数模板表
@@ -37,6 +35,9 @@ public class ParamsTemplateEOServiceImpl extends ServiceImpl<ParamsTemplateEOMap
@Autowired
private ICertCategoryParamsInfoEOService certCategoryParamsInfoEOService;
@Autowired
private IParamsManifestEOService paramsManifestEOService;
/**
* 保存
*
@@ -79,6 +80,10 @@ public class ParamsTemplateEOServiceImpl extends ServiceImpl<ParamsTemplateEOMap
// 关联删除参数项
certCategoryParamsInfoEOService.deleteByParamsTemplateIds(id);
paramsInfoEOService.deleteByParamsTemplateIds(id);
// 收集清单 添加参数模板名称
paramsManifestEOService.setTemplateName(Arrays.asList(id));
return removeById(id);
}
@@ -93,6 +98,10 @@ public class ParamsTemplateEOServiceImpl extends ServiceImpl<ParamsTemplateEOMap
// 关联删除参数项
certCategoryParamsInfoEOService.deleteByParamsTemplateIds(StringUtils.join(ids, ","));
paramsInfoEOService.deleteByParamsTemplateIds(StringUtils.join(ids, ","));
// 收集清单 添加参数模板名称
paramsManifestEOService.setTemplateName(ids);
return removeByIds(ids);
}
+2
View File
@@ -1233,4 +1233,6 @@ module.exports = {
displayInformation:'Display information',
addComparison:'Add comparison',
showOrNot:'Show or not',
comparisonMarket:'Comparison Market',
share:'share',
}
+2
View File
@@ -1336,4 +1336,6 @@ module.exports = {
displayInformation:'展示信息',
addComparison:'添加对比',
showOrNot:'是否展示',
comparisonMarket:'对比市场',
share:'分享',
}
@@ -240,7 +240,7 @@ export default {
let postDate = {
paramsInfoPublishEOList: this.selectedRowKeysDate,
paramsManifestId: this.paramsManifest.id,
projectId: this.$route.query.id
projectId: this.$route.query.projectId
}
postAction(`params/collectManifest/add`, postDate).then(res => {
if (res.success) {
@@ -322,6 +322,8 @@
xs: { span: 24 },
sm: { span: 7 }
},
queryParamQuery:{},
queryParam:{},
querySdtList: [], // 工程接口人
Dateline: {},
getquerySdtId: '', // 当前工程接口人的id
@@ -331,6 +333,9 @@
},
mounted() {
this.getHeader()
eventBUs.$on('getTableList', search => {
this.queryParamQuery = search
})
},
watch: {
currentPersonRole: {
@@ -565,7 +570,9 @@
if (!(result.some(val => val.value == res.result.userType))) {
res.result.userType = result[0] ? result[0].value : ''
}
this.queryParam = {...this.queryParamQuery}
this.getTableList(res.result.userType)
} else {
this.getTableList(result[0].value)
}
@@ -650,6 +657,7 @@
},
getTableListReset() {
this.formInline = {}
this.queryParam = {}
let params = {
paramsManifestId: this.$route.query.id,
pageNo: this.pageNo,
@@ -735,7 +743,8 @@
userTypes: this.currentPersonRole || currentPersonRole,
paramsManifestId: paramsManifestid,
...this.formInline,
...currentPersonRole
...currentPersonRole,
...this.queryParam
}
this.loading = true
getAction(url, params).then((res) => {
@@ -96,17 +96,20 @@
</div>
</div>
<countryCardReleaseModel ref="countryCardReleaseModelRef"/>
<countryCardReleaseAdd ref="countryCardReleaseAddRef"/>
</div>
</template>
<script>
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
import countryCardReleaseModel from './countryCardReleaseModel'
import countryCardReleaseAdd from './countryCardReleaseAdd'
export default {
name: 'countryCardRelease',
components: {
countryCardReleaseModel
countryCardReleaseModel,
countryCardReleaseAdd
},
data() {
return {
@@ -193,7 +196,7 @@
this.selectedRowKeys = value
},
newlyAddedClick() {
this.$refs.countryCardReleaseAddRef.add()
},
templateMaintenanceClick() {
this.$refs.countryCardReleaseModelRef.getData()
@@ -221,7 +224,7 @@
}
},
edit() {
this.$refs.countryCardReleaseAddRef.edit()
},
subscribe() {
@@ -0,0 +1,230 @@
<template>
<div>
<a-drawer
:title="title"
:maskClosable="false"
:width="1000"
placement="right"
:closable="true"
@close="handleCancel"
:visible="visible"
style="height: 100%;overflow: auto;padding-bottom: 53px;">
<div style="margin-bottom: 60px">
<a-table
:columns="columns"
:scroll="{x: '100%',y:'calc(100vh - 300px)'}"
:data-source="dataList"
:pagination="false"
:loading="loading">
<span slot="content" slot-scope="text,record,index">
<a-input class="box-input"
v-if="false"
v-model="record.problemLabel"
:placeholder="$t('PleaseEnter')"/>
<a-select :placeholder="$t('PleaseSelect')"
style="width: 100%"
v-if="false"
v-model="record.projectNameId">
<a-select-option v-for="(item, key) in record.projectNameList"
:key="key"
:value="item.id">
<span style="display: inline-block;width: 100%" :title=" item.projectName ">
{{ item.projectName}}
</span>
</a-select-option>
</a-select>
<a-button type="primary" class="button-text"
@click="clickButtonToUpload('verifyDeliverableTemplate',index)">
{{ (record.verifyDeliverableTemplate === 'null' || record.verifyDeliverableTemplate === '' ||
record.verifyDeliverableTemplate == null) ? $t('clickUpload') : $t('viewUploadedFiles')
}}
</a-button>
</span>
</a-table>
<div class="page" v-if="dataList.length > 0">
<a-pagination
:show-total="total => $t('total')+`${total}`+$t('strip')"
show-quick-jumper
show-size-changer
:page-size.sync="pageSize"
:total="total"
:current="pageNo"
@change="onChange"
@showSizeChange="SizeChange"
/>
</div>
</div>
<div class="drawer-bootom-button">
<a-button @click="handleCancel" type="danger" style="margin-right: 16px">{{$t('cancel')}}</a-button>
<a-button @click="handleSubmit" type="primary" :loading="confirmLoading">{{$t('submit')}}</a-button>
</div>
</a-drawer>
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"/>
</div>
</template>
<script>
import { getAction, postAction, deleteAction } from '@/api/manage'
import uploadFile from '@/components/uploadFile/file'
export default {
name: 'countryCardReleaseAdd',
components: {
uploadFile
},
data() {
return {
url: {
list: '',
deleteOne: ''
},
title: '',
visible: false,
selectedRowKeys: [],
dataList: [{}],
loading: false,
pageNo: 1,
pageSize: 10,
total: 0,
confirmLoading: false,
index: '',
columns: [
{
title: this.$t('LabelName'),
dataIndex: 'LabelName',
align: 'center',
ellipsis: true
},
{
title: this.$t('describe'),
dataIndex: 'describe',
align: 'center',
ellipsis: true
},
{
title: this.$t('content'),
align: 'center',
fixed: 'right',
width: 180,
scopedSlots: { customRender: 'content' }
}
]
}
},
mounted() {
},
methods: {
add() {
this.visible = true
this.title = this.$t('newlyAdded')
},
edit() {
this.visible = true
this.title = this.$t('edit')
},
clickButtonToUpload(item, index) {
this.$refs.uploadFile.perentHandleFunc()
this.index = index
this.$refs.uploadFile.visible = true
this.uploadName = item
getAction('sys/common/getFileInfos', { id: this.dataList[this.index][this.uploadName] }).then((res) => {
if (res.success) {
this.$refs.uploadFile.perentHandleFunc(res.result)
} else {
this.$refs.uploadFile.perentHandleFunc()
}
})
},
/** 上传文件的回调 */
uploadSuccess(data) {
let attIdList = []
if (data && data.length > 0) {
data.map(item => {
attIdList.push(item.id || data.name)
})
}
/** 赋值给当前对应的表单文件 */
this.dataList[this.index][this.uploadName] = attIdList.join(',')
this.dataList = [...this.dataList]
},
handleCancel() {
this.visible = false
},
handleSubmit() {
},
onChange(page, pageSize) {
this.pageNo = page
this.replacePage()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.replacePage()
},
replacePage() {
let query = {
pageNo: this.pageNo,
pageSize: this.pageSize
}
this.loading = true
postAction(this.url.list, query).then((res) => {
if (res.success) {
this.dataList = res.result.records || []
this.total = res.result.total
this.loading = false
} else {
this.dataList = []
this.total = 0
this.loading = false
}
})
}
}
}
</script>
<style scoped>
.page {
text-align: right;
margin-top: 20px;
}
.drawer-bootom-button {
position: absolute;
bottom: 0;
width: 100%;
z-index: 100;
border-top: 1px solid #e8e8e8;
padding: 10px 16px;
text-align: right;
left: 0;
background: #fff;
border-radius: 0 0 2px 2px;
}
.box-title {
width: 100%;
text-align: right;
margin-bottom: 20px;
}
.operator-text {
cursor: pointer;
margin-right: 13px;
font-size: 14px;
font-weight: 400;
color: #040B29;
display: inline-block;
}
.button-text {
height: 38px;
width: 100%;
line-height: 38px;
background: #fff;
border: 1px #00B3BE solid;
color: #00B3BE;
}
</style>
@@ -70,17 +70,19 @@
</div>
</div>
<displayInformationModel ref="displayInformationModelRef"/>
<countryCardViewAdd ref="countryCardViewAddRef" @countryCardViewAddForm="countryCardViewAddForm"/>
</div>
</template>
<script>
import { getAction, postAction, downloadFile } from '@/api/manage'
import displayInformationModel from './displayInformationModel'
import countryCardViewAdd from './countryCardViewAdd'
export default {
name: 'countryCardView',
components: {
displayInformationModel
displayInformationModel,
countryCardViewAdd
},
data() {
return {}
@@ -92,6 +94,9 @@
this.$refs.displayInformationModelRef.getData()
},
newlyAddedClick() {
this.$refs.countryCardViewAddRef.add()
},
countryCardViewAddForm(){
}
}
@@ -0,0 +1,189 @@
<template>
<a-modal
:title="$t('addComparison')"
:width="700"
:height="500"
:visible="visible"
:confirm-loading="confirmLoading"
:maskClosable="false"
@ok="handleOk"
@cancel="handleCancel"
>
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text"
:title="$t('applicableMarket')">{{$t('applicableMarket')}}</span>
</div>
<a-form-model-item class="itemModel" prop="applicableMarket">
<a-input class="box-input"
v-model="formInline.applicableMarket"
:placeholder="$t('PleaseEnter')+$t('applicableMarket')"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24" v-for="(item,index) in formInline.dataList">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('comparisonMarket')+(index+1)">{{$t('comparisonMarket')+(index+1)}}</span>
</div>
<a-form-model-item class="itemModel" style="width: calc(100% - 220px)" prop="comparisonMarket">
<a-input class="box-input"
v-model="formInline.comparisonMarket"
:placeholder="$t('PleaseEnter')+$t('comparisonMarket')"/>
</a-form-model-item>
<a-icon class="icon-size"
style="margin-left: 8px"
@click="addData"
v-if="(formInline.dataList.length-1) == index"
type="plus-circle"/>
<a-icon class="icon-size"
@click="deleteData"
v-if="formInline.dataList.length > 1 && (formInline.dataList.length - 1) == index"
type="minus-circle"/>
</div>
</a-col>
</a-row>
</a-form-model>
</a-modal>
</template>
<script>
import { getAction, postAction, downloadFile } from '@/api/manage'
export default {
name: 'countryCardViewAd',
data() {
return {
visible: false,
confirmLoading: false,
formInline: {},
rules: {
personChargeName: [
{
required: true,
message: this.$t('personCharge') + this.$t('cannotEmpty'),
trigger: 'change'
},
{
max: 100,
message: this.$t('personCharge') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
trigger: 'change'
}
],
problemLabel: [
{
required: true,
message: this.$t('problemLabel') + this.$t('cannotEmpty'),
trigger: 'blur'
},
{
max: 100,
message: this.$t('problemLabel') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
trigger: 'blur'
}
]
},
title: ''
}
},
mounted() {
},
methods: {
add() {
this.visible = true
this.$nextTick(() => {
this.formInline = {}
this.formInline.dataList = [{
relatedSection: ''
}]
this.formInline = { ...this.formInline }
this.$refs.ruleForm.clearValidate()
})
},
PersonnelSelectionChange(value, id) {
this.formInline[value] = id
this.formInline = { ...this.formInline }
},
handleOk() {
this.$refs.ruleForm.validate(valid => {
if (valid) {
}
})
},
handleCancel() {
this.visible = false
},
addData() {
this.formInline.dataList.push({
relatedSection: ''
})
this.formInline = { ...this.formInline }
},
deleteData() {
this.formInline.dataList.pop()
this.formInline = { ...this.formInline }
}
}
}
</script>
<style scoped>
.box-title-text {
line-height: 1.4;
display: flex;
}
.title-text {
width: 84px;
text-align: right;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 42px;
line-height: 42px;
}
.box-input {
display: inline-block;
height: 38px;
width: 100%;
}
.itemModel {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
}
.title-text-text {
margin-top: 9px;
}
.formAdd {
margin-bottom: 40px;
}
.Required {
color: red;
margin-right: 4px;
}
.icon-size {
font-size: 18px;
margin-top: 14px;
margin-right: 4px;
}
</style>
@@ -18,7 +18,7 @@
</div>
<div @click="handleCompare" class="operator-text" v-has="'document:pullMessage'">
<a-icon type="rocket" :rotate="45"/>
{{$t('Push')}}
{{$t('share')}}
</div>
<div @click="handleModule" class="operator-text" v-has="'document:exportTemplate'">
<a-icon type="download"/>
@@ -424,6 +424,7 @@
<script>
import TableCollection from '@/components/tableCollection/index'
import { getAction, postAction } from '../../../api/manage'
import eventBUs from '../../../common/event'
import ParameterLibraryAdd from '@/components/ParameterLibraryAdd/index'
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
import SynchronousSubmissionLibrary from '@/components/SynchronousSubmissionLibrary/index'
@@ -854,6 +855,7 @@
}
this.queryParamQuery = sqp
this.$refs.CollectionTabel.getTableList(this.queryParamQuery)
eventBUs.$emit('getTableList',this.queryParamQuery)
},
// 认证工程师 批量删除 权限
// 仅仅状态为 待发起收集 工程接口人退回 变更 可以批量删除
@@ -1530,6 +1532,7 @@
},
searchReset() {
this.formInline = {}
this.queryParamQuery = {}
this.$refs.CollectionTabel.getTableListReset()
this.$refs.globalAdvancedQueryRef.handleReset()
// this.$refs.globalAdvancedQueryRef.emitCallback()