合并分支 'dev_third_stage' 到 'master'

Dev third stage

查看合并请求 laws-nio/laws-weilai!79
This commit is contained in:
肖文钰
2022-07-12 19:44:50 +08:00
23 changed files with 357 additions and 141 deletions
@@ -334,3 +334,28 @@ INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `create_by`, `create_ti
INSERT INTO `sys_category` (`id`, `pid`, `name`, `code`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `sys_dict_id`, `has_child`, `en_name`, `description`, `is_tag_dict`, `attribute_type`, `is_read_only`, `del_flag`, `item_value`, `sort_order`) VALUES ('1546745318161055745', '1546745025973256194', '评1+1', NULL, 'admin', '2022-07-12 14:36:36', NULL, NULL, 'A01', '1546744902203539458', NULL, 'P1+1', NULL, 1, NULL, NULL, 0, NULL, 1);
INSERT INTO `sys_dict` (`id`, `dict_name`, `dict_code`, `description`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `type`, `dict_en_name`, `is_tag_dict`, `is_read_only`, `attribute_type`, `order_num`) VALUES ('1546744902203539458', '评估方式', 'evaluation_method', '评估方式', 0, 'admin', '2022-07-12 14:34:56', NULL, NULL, NULL, NULL, 1, 0, '2', 1);
-- 参数项清单 修改字段长度 2022-07-12
ALTER TABLE `laws_weilai`.`params_info`
MODIFY COLUMN `description` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数说明' AFTER `duty_territory`;
ALTER TABLE `laws_weilai`.`cert_category_params_info`
MODIFY COLUMN `description` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数说明' AFTER `params_name`;
ALTER TABLE `laws_weilai`.`params_info_publish`
MODIFY COLUMN `description` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数说明' AFTER `duty_territory`;
ALTER TABLE `laws_weilai`.`cert_category_params_info_publish`
MODIFY COLUMN `description` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数说明' AFTER `params_name`;
ALTER TABLE `laws_weilai`.`params_collect_manifest`
MODIFY COLUMN `description` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数说明' AFTER `duty_territory`;
ALTER TABLE `laws_weilai`.`params_collect_manifest_history`
MODIFY COLUMN `description` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数说明' AFTER `params_batch`;
ALTER TABLE `laws_weilai`.`params_report_detail`
MODIFY COLUMN `description` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数说明' AFTER `duty_territory`;
ALTER TABLE `laws_weilai`.`report_cert_category_params_info`
MODIFY COLUMN `description` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '参数说明' AFTER `params_name`;
@@ -48,7 +48,9 @@
<if test="paramsCollectManifestEO.paramsManifestId !=null and paramsCollectManifestEO.paramsManifestId !=''">
AND params_manifest_id = #{paramsCollectManifestEO.paramsManifestId}
</if>
<if test="paramsCollectManifestEO.state !=null and paramsCollectManifestEO.state !=''">
AND state = #{paramsCollectManifestEO.state}
</if>
</if>
</where>
</sql>
@@ -1211,7 +1211,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
// 参数说明
String description = dto.getDescription();
resultMap = validateMustAndLength(description,"参数说明", "Description", IsMustEnum.NO.getValue(),"200",false,cut);
resultMap = validateMustAndLength(description,"参数说明", "Description", IsMustEnum.NO.getValue(),"1000",false,cut);
errorMsg += (String)resultMap.get("errorMsg");
countError += (int)resultMap.get("countError");
@@ -1405,7 +1405,7 @@ public class ParamsInfoEOServiceImpl extends ServiceImpl<ParamsInfoEOMapper, Par
countError += (int)resultMap.get("countError");
// 参数说明
String description = ccDto.getDescription();
resultMap = validateMustAndLength(description, "参数说明", "Description", IsMustEnum.NO.getValue(),"200", false, cut);
resultMap = validateMustAndLength(description, "参数说明", "Description", IsMustEnum.NO.getValue(),"1000", false, cut);
errorMsg += (String)resultMap.get("errorMsg");
countError += (int)resultMap.get("countError");
@@ -13,8 +13,9 @@ import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.transaction.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -27,7 +28,7 @@ import java.util.UUID;
* @Version: V1.0
*/
@Service
@Transactional
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
public class ParamsInfoPublishEOServiceImpl extends ServiceImpl<ParamsInfoPublishEOMapper, ParamsInfoPublishEO> implements IParamsInfoPublishEOService {
@Autowired
@@ -5757,11 +5757,13 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
//下拉选处理数据字典
for (Map record : records) {
Map<String, Object> record1 = (Map) record;
String technology_territory = (String)record1.get("technology_territory");
for (Map.Entry<String, Object> entry : record1.entrySet()) {
//下拉选处理数据字典
dictItem(sysDictItems, entry, cut, fieldList,null);
treeDictItem(categoryList, entry, treeFieldList, cut,null);
}
record1.put("technology_territory_id",technology_territory);
}
return infoPage;
}
@@ -77,7 +77,7 @@ public class LawsOpinionGatherEO implements Serializable {
private String technologyTerritory;
@TableField(exist = false)
/**技术领域展示字段*/
private String technologyTerritoryShow;
private String technologyTerritoryName;
/**收集结果*/
@Excel(name = "收集结果", width = 15)
@@ -156,8 +156,8 @@ public class LawsOpinionAssessmentResultEOServiceImpl extends ServiceImpl<LawsOp
@Override
public void exportXls(HttpServletResponse response, HttpServletRequest request, LawsOpinionAssessmentResultEO lawsOpinionAssessmentResultEO, Map<String,Object> params) {
Integer pageNo = (Integer) params.get("pageNo");
Integer pageSize = (Integer) params.get("pageSize");
Integer pageNo = Integer.parseInt(params.get("pageNo").toString());
Integer pageSize = Integer.parseInt(params.get("pageSize").toString());
String exportAll = (String)params.get("exportAll");
String ids = (String)params.get("ids");
String cut = (String)params.get("cut");
@@ -191,6 +191,8 @@ public class LawsOpinionAssessmentResultEOServiceImpl extends ServiceImpl<LawsOp
OutputStream os = null;
HSSFWorkbook workbook = new HSSFWorkbook();
String path = uploadpath + "/tempZip/evaluationResults/" + System.currentTimeMillis();
try {
response.setHeader("Content-Disposition",
"attachment; filename=" + fileName);
@@ -227,12 +229,13 @@ public class LawsOpinionAssessmentResultEOServiceImpl extends ServiceImpl<LawsOp
dataRow.createCell(5).setCellValue(submitTimeStr);
}
}
if ("excel".equals(exportType)) {
os = response.getOutputStream();
workbook.write(os);
os.flush();
}else {
String path = uploadpath + "/tempZip/evaluationResults";
File fileTemp = new File(path);
if (fileTemp.exists()) {
fileTemp.delete();
@@ -282,6 +285,7 @@ public class LawsOpinionAssessmentResultEOServiceImpl extends ServiceImpl<LawsOp
}
os.flush();
fis.close();
excelOS.close();
}
}catch (IOException ex){
@@ -292,9 +296,9 @@ public class LawsOpinionAssessmentResultEOServiceImpl extends ServiceImpl<LawsOp
}
}finally {
IOUtils.closeQuietly(os);
File file = new File(uploadpath + "/tempZip/evaluationResults");
File file = new File(path);
FileUtil.deleteContents(file);
File fileTemp = new File(uploadpath + "/tempZip/evaluationResults.zip");
File fileTemp = new File(path + ".zip");
FileUtil.deleteContents(fileTemp);
}
}
@@ -151,7 +151,7 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl<LawsOpinionGathe
}
if(StringUtils.isNotEmpty(lawsOpinionGather.getTechnologyTerritory())){
String technologyTerritoryShow = disposeTechnologyTerritory(technologyTerritoryList, lawsOpinionGather.getTechnologyTerritory(), cut);
lawsOpinionGather.setTechnologyTerritoryShow(technologyTerritoryShow);
lawsOpinionGather.setTechnologyTerritoryName(technologyTerritoryShow);
}
if(StringUtils.isNotEmpty(lawsOpinionGather.getOpinionArchiveId())){
List<OSSFile> opinionArchiveFileList = iOSSFileService.getFileInfosByConnectId(StringUtils.join(lawsOpinionGather.getOpinionArchiveId(), ","));
@@ -53,10 +53,12 @@ public class LawsTechnologyEvaluationEOController extends JeroController<LawsTec
public Result<?> queryPageList(LawsTechnologyEvaluationEO lawsTechnologyEvaluationEO,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
@RequestParam(name="cut", defaultValue="cn") String cut,
HttpServletRequest req) {
QueryWrapper<LawsTechnologyEvaluationEO> queryWrapper = QueryGenerator.initQueryWrapper(lawsTechnologyEvaluationEO, req.getParameterMap());
Page<LawsTechnologyEvaluationEO> page = new Page<LawsTechnologyEvaluationEO>(pageNo, pageSize);
IPage<LawsTechnologyEvaluationEO> pageList = lawsTechnologyEvaluationEOService.page(page, queryWrapper);
this.lawsTechnologyEvaluationEOService.disposeData(pageList.getRecords(),cut);
return Result.OK(pageList);
}
@@ -6,6 +6,7 @@ import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -82,16 +83,22 @@ public class LawsTechnologyEvaluationEO implements Serializable {
@Excel(name = "技术领域", width = 15)
@ApiModelProperty(value = "技术领域")
private String technologyTerritory;
@TableField(exist = false)
private String technologyTerritoryName;
/**评估方式*/
@Excel(name = "评估方式", width = 15)
@ApiModelProperty(value = "评估方式")
private String evaluationMethods;
@TableField(exist = false)
private String evaluationMethodsName;
/**流程状态*/
@Excel(name = "流程状态", width = 15)
@ApiModelProperty(value = "流程状态")
private String flowStatus;
@TableField(exist = false)
private String flowStatusName;
/**发起日期*/
@Excel(name = "发起日期", width = 15, format = "yyyy-MM-dd")
@@ -67,4 +67,11 @@ public interface ILawsTechnologyEvaluationEOService extends IService<LawsTechnol
* @return
*/
Result<?> processCall(JSONObject jsonObject);
/**
* 处理数据
* @param records
* @param cut
*/
void disposeData(List<LawsTechnologyEvaluationEO> records, String cut);
}
@@ -3,20 +3,26 @@ package com.jero.modules.lawsTechnologyEvaluation.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.jero.common.api.vo.Result;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.exception.JeroBootException;
import com.jero.modules.lawsOpinionGather.enums.GatherResultEnum;
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO;
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationFlowDetailEO;
import com.jero.modules.lawsTechnologyEvaluation.mapper.LawsTechnologyEvaluationEOMapper;
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationEOService;
import com.jero.modules.project.enums.OperatorTypeEnum;
import com.jero.modules.project.enums.RequestSourceEnum;
import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Date;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
@@ -28,6 +34,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@Service
public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechnologyEvaluationEOMapper, LawsTechnologyEvaluationEO> implements ILawsTechnologyEvaluationEOService {
@Autowired
private SysCategoryServiceImpl sysCategoryService;
/**
* 保存
*
@@ -122,4 +131,45 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
return new Result<>().success("调用成功!");
}
@Override
public void disposeData(List<LawsTechnologyEvaluationEO> datas, String cut) {
if(CollectionUtils.isNotEmpty(datas)){
List<SysCategory> categoryList = sysCategoryService.list();
for (LawsTechnologyEvaluationEO data : datas) {
if(StringUtils.isNotEmpty(data.getEvaluationMethods())){
List<String> evaluationMethodsList = Arrays.asList(data.getEvaluationMethods().split(","));
String name = getTreeName(cut, categoryList, evaluationMethodsList);
data.setEvaluationMethodsName(name);
}
if(StringUtils.isNotEmpty(data.getFlowStatus())){
data.setFlowStatusName(GatherResultEnum.getTextByValue(data.getFlowStatus(),cut));
}
if(StringUtils.isNotEmpty(data.getTechnologyTerritory())){
List<String> technologyTerritory = Arrays.asList(data.getTechnologyTerritory().split(","));
String name = getTreeName(cut, categoryList, technologyTerritory);
data.setTechnologyTerritoryName(name);
}
}
}
}
private String getTreeName(String cut, List<SysCategory> categoryList, List<String> technologyTerritoryList) {
StringBuilder sb = new StringBuilder();
for (String technologyTerritory : technologyTerritoryList) {
List<SysCategory> collect = categoryList.stream().filter(e -> technologyTerritory.equals(e.getId())).collect(Collectors.toList());
if(collect.size() != 0){
if (CutEnum.CN.getValue().equals(cut)) {
sb.append(collect.get(0).getName() + ",");
} else {
sb.append(collect.get(0).getEnName()+ ",");
}
}
}
String technologyTerritoryName = "";
if (StringUtils.isNotBlank(sb)) {
technologyTerritoryName = sb.substring(0, sb.length() - 1);
}
return technologyTerritoryName;
}
}
+1
View File
@@ -389,6 +389,7 @@ module.exports = {
whole: 'Whole',
DocumentLibrary: 'Document Library',
GeneralExportInformation:'General export information',
CustomizeExportInformation:'Customize export information',
DocumentComparisonLibrary: 'Document comparison Library',
weekly: 'Weekly',
SyncLibrary: 'Sync to doc. library',
+1
View File
@@ -394,6 +394,7 @@ module.exports = {
whole: '全部',
DocumentLibrary: '文档库',
GeneralExportInformation:'常规导出信息',
CustomizeExportInformation:'自定义导出信息',
DocumentComparisonLibrary: '文档对比库',
weekly: '周报',
SyncLibrary: '同步至文档库',
@@ -294,8 +294,15 @@
onClickSee(val) {
let _this = this
this.areaVisibleView = true
let url = ''
if (this.$route.query.it === undefined) {
url = `/jero-boot/params/config/getById?id=${val.db_field_name}`
} else {
// 历史版本
url = `/jero-boot/params/collectManifestHistory/getConfigById?id=${val.db_field_name}`
}
axios({
url: `/jero-boot/params/config/getById?id=${val.db_field_name}`,
url: url,
method: 'get',
transformRequest: [function(data) {
let ret = ''
@@ -312,8 +319,9 @@
.then((res) => {
console.log(res)
if (res.data.success) {
this.configDetail = res.data.result
this.configDetail = res.data.result || {}
} else {
this.configDetail = {}
_this.$message.warning(res.data.result)
}
})
@@ -501,12 +509,25 @@
getTableListReset() {
let params = {
paramsManifestId: this.$route.query.id,
userTypes: this.currentPersonRole
pageNo: this.pageNo,
pageSize: this.pageSize,
// userTypes: this.currentPersonRole
}
let url
this.loading = true
this.$emit('listReset', '')
// todo
getAction(this.url.tableList, params).then((res) => {
if (this.$route.query.it === undefined) {
// 页面跳转
url = this.url.tableList
params.paramsManifestId = this.$route.query.id
params.userTypes = this.currentPersonRole
} else {
// 历史版本
url = 'params/collectManifestHistory/list'
params.paramsManifestId = this.$route.query.it
}
getAction(url, params).then((res) => {
if (res.success) {
let tt = []
if (this.currentPersonRole !== 'dre') {
@@ -96,7 +96,7 @@
</div>
</a-modal>
<!-- 配置信息--->
<a-modal v-model="areaVisibleView" :title="$t('configurationInformation')" width='550px' :footer="null">
<a-modal v-model="areaVisibleView" :title="$t('configurationInformation')" width='550px' :footer="null" @cancel="hideModal">
<div class="content-text">
<div class="text-field">
<span class="text-field-left" :title="$t('configurationName')">{{$t('configurationName')}}:</span>
@@ -290,12 +290,16 @@
this.$emit('handlePreservation')
this.getTableList()
},
hideModal(){
this.areaVisibleView = false
},
// 查看配置详细信息
onClickSee(val) {
console.log(val)
let _this = this
this.areaVisibleView = true
axios({
url: `/jero-boot/params/config/getById?id=${val.db_field_name}`,
url: `/jero-boot/report/detail/getConfig?id=${val.db_field_name}`,
method: 'get',
transformRequest: [function(data) {
let ret = ''
@@ -260,9 +260,11 @@
this.selectedRowKeys = value
if (this.selectedRowKeys.length > 1) {
this.selectedRowKeys.shift()
record.shift()
}
this.selectedRowKeysRecord = record
this.selectedRowKeysRecord = record.filter(res=>{
return res.id == this.selectedRowKeys[0]
})
this.selectedRowKeysRecord = [...this.selectedRowKeysRecord]
},
clickButtonToUpload(item) {
this.$refs.uploadFile.perentHandleFunc()
@@ -6,14 +6,42 @@
:data-source="dataList"
:pagination="false"
:loading="loading">
<span slot="evaluationMethod" slot-scope="text,result">
<a-tree-select
tree-node-filter-prop="title"
v-model="result.evaluationMethods"
:maxTagCount="1"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
class="box-input"
style="width: 80%;"
:tree-data="gatherResultList"
tree-checkable
:placeholder="$t('PleaseSelect')+$t('evaluationMethod')"
/>
</span>
<span slot="Assessor" slot-scope="text,result">
<PersonnelSelection class="box-input"
:personneQuery="result"
:query="{db_field_name:'evaluatorIds',db_field_txt:$t('Assessor')}"
:isInput="true"
@change="PersonnelSelectionChange"
v-model="result.evaluatorIdsName"/>
</span>
<span slot="operation" slot-scope="text,result">
<a @click="deleteData(result)">{{$t('delete')}}</a>
</span>
</a-table>
</div>
</template>
<script>
import PersonnelSelection from '@/components/PersonnelSelection/index'
export default {
name: 'TermInformation',
components:{
PersonnelSelection
},
props:['gatherResultList'],
data() {
return {
columns: [
@@ -55,16 +83,28 @@
scopedSlots: { customRender: 'operation' }
}
],
dataList: [],
dataList: [{}],
loading: false
}
},
mounted() {
},
methods: {}
methods: {
deleteData() {
},
PersonnelSelectionChange(value, id) {
this.formInline[value] = id
this.formInline = { ...this.formInline }
},
}
}
</script>
<style scoped>
.box-input {
display: inline-block;
width: 70%;
height: 38px;
}
</style>
@@ -42,7 +42,7 @@
</div>
<div class="title-text-content"
:class="{'title-text-content-one':!isTrue}">
件大事发的科技示范和的空间是否和是科技示范的空间是多少
{{selectedRowKeysRecord[0] ? selectedRowKeysRecord[0].serialNumber :''}}
</div>
<div class="title-text-right" v-if="isTrue">
<span @click="standardDecompositionDocumentClick">
@@ -73,13 +73,14 @@
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('enclosure')">{{$t('enclosure')}}</span>
<span class="title-text-text"
:title="$t('uploadRelevantMaterials')">{{$t('uploadRelevantMaterials')}}</span>
</div>
<a-form-model-item class="itemModel" prop="accessory_id">
<a-button type="primary" class="button-text"
@click="clickButtonToUpload('accessory_id')">
{{ (formInline.accessory_id === 'null' || formInline.accessory_id === '' ||
formInline.accessory_id == null) ? $t('clickUpload') : $t('viewUploadedFiles')
@click="clickButtonToUpload('relatedDataFileId')">
{{ (formInline.relatedDataFileId === 'null' || formInline.relatedDataFileId === '' ||
formInline.relatedDataFileId == null) ? $t('clickUpload') : $t('viewUploadedFiles')
}}
</a-button>
</a-form-model-item>
@@ -94,7 +95,7 @@
</div>
<a-form-model-item class="itemModel" prop="taskExplain">
<a-textarea :placeholder="$t('pleaseEnter')+$t('processBackground')"
v-model="formInline.taskExplain"
v-model="formInline.processBackground"
:rows="4"/>
</a-form-model-item>
</div>
@@ -108,7 +109,7 @@
</div>
<a-form-model-item class="itemModel" prop="remarks">
<a-textarea :placeholder="$t('pleaseEnter')+$t('remarks')"
v-model="formInline.remarks"
v-model="formInline.remark"
:rows="4"/>
</a-form-model-item>
</div>
@@ -121,20 +122,18 @@
<span class="Required">*</span>
<span class="title-text-text" :title="$t('evaluationMethod')">{{$t('evaluationMethod')}}</span>
</div>
<a-form-model-item class="itemModel" prop="evaluatorIdsName">
<a-select :placeholder="$t('PleaseSelect')+$t('evaluationMethod')"
class="box-input"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
allowClear
v-model="formInline.gatherResult">
<a-select-option v-for="(item, key) in gatherResultList"
: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 class="itemModel" prop="gatherResult">
<a-tree-select
tree-node-filter-prop="title"
v-model="formInline.evaluationMethods"
:maxTagCount="1"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
class="box-input"
style="width: 100%"
:tree-data="gatherResultList"
tree-checkable
:placeholder="$t('PleaseSelect')+$t('evaluationMethod')"
/>
</a-form-model-item>
</div>
</a-col>
@@ -144,19 +143,19 @@
<span class="Required">*</span>
<span class="title-text-text" :title="$t('Assessor')">{{$t('Assessor')}}</span>
</div>
<a-form-model-item class="itemModel" prop="evaluatorIdsName">
<a-form-model-item class="itemModel" prop="evaluatorsName">
<PersonnelSelection class="box-input"
:personneQuery="formInline"
:query="{db_field_name:'evaluatorIds',db_field_txt:$t('Assessor')}"
:query="{db_field_name:'evaluators',db_field_txt:$t('Assessor')}"
:isInput="true"
@change="PersonnelSelectionChange"
v-model="formInline.evaluatorIdsName"/>
v-model="formInline.evaluatorsName"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
<TermInformation v-if="isTrue"/>
<TermInformation :gatherResultList="gatherResultList" v-if="isTrue"/>
<footerProcess
@submit="submit"
:isSubmit="true"
@@ -211,16 +210,7 @@
pageSize: 10,
pageNo: 1,
formInline: {},
gatherResultList: [
{
value: 'Underway',
name: this.$t('inProgress')
},
{
value: 'Completed',
name: this.$t('Finished')
}
],
gatherResultList: [],
rules: {
endTime: [
{
@@ -229,7 +219,7 @@
trigger: 'change'
}
],
evaluatorIdsName: [
evaluatorsName: [
{
required: true,
message: this.$t('Assessor') + this.$t('cannotEmpty'),
@@ -288,6 +278,7 @@
mounted() {
document.title = this.$t('regulatoryEngineer') + this.$t('initiatingProcess')
this.getList()
this.getEvaluationMethodTree()
if (this.$route.query.whetherTobring == '1') {
this.isTrue = true
} else {
@@ -306,6 +297,15 @@
},
methods: {
...mapGetters(['userInfo']),
getEvaluationMethodTree() {
getAction('/sys/category/getEvaluationMethodTree').then((res) => {
if (res.success) {
this.gatherResultList = res.result
} else {
this.gatherResultList = []
}
})
},
pageOnChange(page) {
this.pageNo = page
this.getList()
@@ -336,11 +336,21 @@
},
onSelectChange(value, record) {
this.selectedRowKeys = value
this.selectedRowKeysRecord = []
if (this.selectedRowKeys.length > 1) {
this.selectedRowKeys.shift()
record.shift()
}
this.selectedRowKeysRecord = record
let content = record.filter(res => {
return res.id == this.selectedRowKeys[0]
})
if (content && content.length > 0) {
this.selectedRowKeysRecord.push({
standId: content[0].id,
serialNumber: content[0].serial_number,
title: content[0].title,
technologyTerritory: content[0].technology_territory_id
})
}
},
standardDecompositionDocumentClick() {
if (this.selectedRowKeysRecord && this.selectedRowKeysRecord.length > 0) {
@@ -392,7 +402,7 @@
str[0] = str[8] = str[13] = str[18] = str[23] = '-'
return str.join('')
},
submit() {
submit(startTime) {
this.$refs.ruleForm.validate(valid => {
if (valid) {
if (this.selectedRowKeysRecord && this.selectedRowKeysRecord.length == 0) {
@@ -400,12 +410,20 @@
} else {
this.JLoading = true
let value = Object.assign(this.formInline, this.selectedRowKeysRecord[0])
value.standId = value.id
if (this.isTrue) {
value.evaluationType = 'Item evaluation'
} else {
value.evaluationType = 'Feedback evaluation'
}
value.startTime = startTime
value.flowStatus = 'Underway'
value.taskAffirmDueDate = value.endTime
delete value.id
value.id = this.getUUID()
value.currentUserName = this.userInfo().username
value.lawsTechnologyEvaluationId = this.getUUID()
value.regulationOwnerId = this.userInfo().id
Object.keys(value).forEach(res => {
if (value[res] && value[res] instanceof Array) {
value[res] = value[res].join(',')
}
if (value[res] && value[res] instanceof String) {
value[res] = value[res].replace(/\"/g, '“')
value[res] = value[res].replace(/\'/g, '')
@@ -418,14 +436,21 @@
},
startProcess(value) {
let query = {
type: 5,
msg: JSON.stringify(value).replace(/\"/g, '\'')
type: 6,
...value,
msg: JSON.stringify(value.evaluators).replace(/\"/g, '\'')
}
postAction('/workFlow/startProcess', query).then((res) => {
if (res.success) {
this.completeTask(value, res.result)
this.$message.success(this.$t('OperationSuccessful'))
this.JLoading = false
this.$router.push({
path: '/technologyAssessment'
})
// this.completeTask(value, res.result)
} else {
this.JLoading = false
this.$message.warning(this.$t('operationFailed'))
}
})
},
@@ -437,13 +462,10 @@
}
postAction('/workFlow/completeTask', query).then((res) => {
if (res.success) {
// setTimeout(() => {
// window.close()
// }, 1000)
this.$message.success(this.$t('OperationSuccessful'))
this.JLoading = false
this.$router.push({
path: '/collectionOfRegulatoryOpinions'
path: '/technologyAssessment'
})
} else {
this.JLoading = false
@@ -49,7 +49,7 @@
class="box-input"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
allowClear
v-model="queryParam.gatherResult">
v-model="queryParam.flowStatus">
<a-select-option v-for="(item, key) in gatherResultList"
:key="key"
:value="item.value">
@@ -160,7 +160,7 @@
return {
//url传参严格按照当前命名
url: {
list: '',
list: '/lawsTechnologyEvaluation/lawsTechnologyEvaluationEO/page',
getSysCategoryTree: '/sys/category/getSysCategoryTree'
},
visible: false,
@@ -228,14 +228,14 @@
align: 'center',
width: 170,
ellipsis: true,
dataIndex: 'evaluationMethod'
dataIndex: 'evaluationMethods'
},
{
title: this.$t('ProcessStatus'),
align: 'center',
width: 170,
ellipsis: true,
dataIndex: 'ProcessStatus'
dataIndex: 'flowStatus'
},
{
title: this.$t('dateOfInitiation'),
@@ -256,7 +256,7 @@
align: 'center',
ellipsis: true,
width: 170,
dataIndex: 'remarks'
dataIndex: 'remark'
},
{
title: this.$t('operation'),
@@ -333,13 +333,13 @@
this.$refs.ruleForm.validate(valid => {
if (valid) {
this.visible = false
// let newUrl = this.$router.resolve({
// path: '/evaluationInitiationProcess',
// query: this.formInline
// })
let newUrl = this.$router.resolve({
path: '/evaluationProcess'
path: '/evaluationInitiationProcess',
query: this.formInline
})
// let newUrl = this.$router.resolve({
// path: '/evaluationProcess'
// })
window.open(newUrl.href, '_blank')
}
})
@@ -17,6 +17,7 @@
<a-col :span="24">
<div class="box-title-text">
<div class="title-text" :title="$t('configure')">
<span class="Required">*</span>
<span>{{$t('configure')}}</span>
</div>
<a-form-model-item class="itemModel" prop="configIds">
@@ -41,14 +42,23 @@
<a-col :span="24">
<div class="box-title-text">
<div class="title-text" :title="$t('CustomTemplateName')">
<span class="Required">*</span>
<span>{{$t('CustomTemplateName')}}</span>
</div>
<a-form-model-item class="itemModel" prop="certCategory">
<j-dict-select-tag class="box-input" v-model="formInline.certCategory"
:placeholder="$t('PleaseSelect')+$t('CustomTemplateName')"
:type="'select'"
@input="certCategoryName"
:triggerChange="false" :dictCode="'cert_category'"/>
<a-form-model-item class="itemModel" prop="exportTemplateId">
<a-select v-model="formInline.exportTemplateId" class="box-input" :placeholder="$t('PleaseSelect')+$t('CustomTemplateName')">
<a-select-option
v-for="mode in exportTemplatetOptions"
:key="mode.value"
:value="mode.value">
{{ mode.label }}
</a-select-option>
</a-select>
<!-- <j-dict-select-tag class="box-input" v-model="formInline.exportTemplateId"-->
<!-- :placeholder="$t('PleaseSelect')+$t('CustomTemplateName')"-->
<!-- :type="'select'"-->
<!-- @input="certCategoryName"-->
<!-- :triggerChange="false" :dictCode="'cert_category'"/>-->
</a-form-model-item>
</div>
@@ -87,6 +97,7 @@ export default {
confirmLoading: false,
description:false,
dictOptions:[],
exportTemplatetOptions:[],
visible: false,
required:false,
disabled:false,
@@ -110,8 +121,8 @@ export default {
description:[
{ min:1, max: 200, message: this.$t('cantExeed')+'200'+this.$t('characters'), trigger: 'blur' },
],
status: [
{ required: true, message: this.$t('PleaseSelect')+this.$t('status'), trigger: 'change' },
exportTemplateId: [
{ required: true, message: this.$t('PleaseSelect')+this.$t('CustomTemplateName'), trigger: 'change' },
],
fileConnectId: [
{ required: true, message: this.$t('PleaseSelect')+this.$t('attachmentTemplate'), trigger: 'change' },
@@ -160,9 +171,9 @@ export default {
this.visible = true
this.title = this.$t('CustomExport')
this.formInline = {}
this.formInline.separator = ','
this.formInline = {...this.formInline}
this.getConfigure()
this.getexportTemplateId()
this.$nextTick(() => {
this.$refs['ruleForm'].clearValidate()
@@ -172,7 +183,7 @@ export default {
let pram = {
paramsManifestId: this.$route.query.id
}
getAction('report/detail/getConfigLabelList', pram).then((res) => {
getAction('report/detail/getConfigLabelListCustom', pram).then((res) => {
if (res.success) {
console.log(res.result)
this.dictOptions = res.result
@@ -181,6 +192,16 @@ export default {
}
})
},
getexportTemplateId(){
getAction('report/detail/getTemplateLabelList', {}).then((res) => {
if (res.success) {
console.log(res.result)
this.exportTemplatetOptions = res.result
} else {
// this.$refs.uploadFile.perentHandleFunc()
}
})
},
editModel(value) {
this.visible = true
this.title = '编辑'
@@ -213,17 +234,17 @@ export default {
let url = this.url.ConventionalExport
let Action = getAction
let query = JSON.parse(JSON.stringify(this.formInline))
Object.keys(query).forEach(res => {
if (query[res] && query[res] instanceof Array) {
query[res] = query[res].join(',')
}
})
if(this.contentListStart){
query.certCategoryName = this.contentListStart
}
// Object.keys(query).forEach(res => {
// if (query[res] && query[res] instanceof Array) {
// query[res] = query[res].join(',')
// }
// })
// if(this.contentListStart){
// query.certCategoryName = this.contentListStart
// }
query.paramsManifestId = this.$route.query.id
this.confirmLoading = true
downloadFile('report/detail/exportNormal', this.$t('GeneralExportInformation')+'.zip', query)
downloadFile('report/detail/exportCustom', this.$t('CustomizeExportInformation')+'.zip', query)
this.confirmLoading = false
}
})
@@ -1,4 +1,5 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper doc-detail">
<div class="Virtual-detail-header" style="top: 0">
@@ -225,6 +226,7 @@ export default {
mounted() {
// this.Getlist()
this.getTableList()
document.title = this.$t('ParameterViewPage')
},
methods:{
Getlist() {
@@ -60,24 +60,39 @@
</a-form-model-item>
</div>
</a-col>
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="Required">*</span>-->
<!-- <span class="title-text-text" :title="$t('NtechnicalField')">{{$t('NtechnicalField')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" prop="technologyTerritory">-->
<!-- <a-tree-select-->
<!-- tree-node-filter-prop="title"-->
<!-- v-model="formInline.technologyTerritory"-->
<!-- :maxTagCount="1"-->
<!-- class="box-input"-->
<!-- :getPopupContainer="triggerNode=> triggerNode.parentNode"-->
<!-- style="width: 100%"-->
<!-- :tree-data="CategoryTreeList"-->
<!-- tree-checkable-->
<!-- :placeholder="$t('PleaseSelect')+$t('NtechnicalField')"-->
<!-- />-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('NtechnicalField')">{{$t('NtechnicalField')}}</span>
<span class="title-text-text" :title="$t('NareaOfResponsibility')">{{$t('NareaOfResponsibility')}}</span>
</div>
<a-form-model-item class="itemModel" prop="technologyTerritory">
<a-tree-select
tree-node-filter-prop="title"
v-model="formInline.technologyTerritory"
:maxTagCount="1"
class="box-input"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
style="width: 100%"
:tree-data="CategoryTreeList"
tree-checkable
:placeholder="$t('PleaseSelect')+$t('NtechnicalField')"
/>
<a-form-model-item class="itemModel" prop="dutyTerritory">
<j-dict-select-tag class="box-input" v-model="formInline.dutyTerritory"
:disabled="disabled"
:placeholder="$t('PleaseSelect')+$t('NareaOfResponsibility')"
:type="'select'"
:triggerChange="false" :dictCode="'duty_territory'"/>
</a-form-model-item>
</div>
</a-col>
@@ -99,21 +114,7 @@
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('NareaOfResponsibility')">{{$t('NareaOfResponsibility')}}</span>
</div>
<a-form-model-item class="itemModel" prop="dutyTerritory">
<j-dict-select-tag class="box-input" v-model="formInline.dutyTerritory"
:disabled="disabled"
:placeholder="$t('PleaseSelect')+$t('NareaOfResponsibility')"
:type="'select'"
:triggerChange="false" :dictCode="'duty_territory'"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="24">
@@ -273,6 +274,7 @@
style='height: 95px; width: 100%'
:disabled="disabled"
type="textarea"
:maxLength="1000"
v-model="item.description"
:placeholder="$t('PleaseEnter')+$t('NParameterDescription')"/>
</a-form-model-item>
@@ -377,7 +379,7 @@ export default {
{ required: true, message: this.$t('PleaseSelect')+this.$t('areaOfResponsibility'), trigger: 'change' },
],
description: [
{ min:1, max: 200, message: this.$t('cantExeed')+'200'+this.$t('characters'), trigger: 'blur' },
{ min:1, max: 1000, message: this.$t('cantExeed')+'1000'+this.$t('characters'), trigger: 'blur' },
],
controlType: [
{ required: true, message: this.$t('pleaseSelect')+this.$t('controlType'), trigger: 'change' },
@@ -602,11 +604,11 @@ export default {
this.contentList = []
this.contentListed = []
this.visible = true
if(value.technologyTerritory.split(',').length === 1){
value.technologyTerritory = value.technologyTerritory
} else {
value.technologyTerritory = value.technologyTerritory.split(',')
}
// if(value.technologyTerritory.split(',').length === 1){
// value.technologyTerritory = value.technologyTerritory
// } else {
// value.technologyTerritory = value.technologyTerritory.split(',')
// }
this.formInline = value
this.title = this.$t('edit')
this.flag = 0
@@ -665,8 +667,8 @@ export default {
}
if(item.description !== undefined && item.description !== null){
// 参数说明的限制
if(item.description.length > 200){
this.$message.warning(this.$t('ParameterDescription')+this.$t('cantExeed')+'200'+this.$t('Characters'))
if(item.description.length > 1000){
this.$message.warning(this.$t('ParameterDescription')+this.$t('cantExeed')+'1000'+this.$t('Characters'))
falg = 0
return
}