Commit 644f110a authored by yht15023815643's avatar yht15023815643

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys...

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys into V20231129-中建一局二公司
parents a74c3b99 b12f74d0
......@@ -21,19 +21,19 @@ import javax.annotation.Resource;
*/
@RestController
@RequestMapping("fSupplierLimited")
public class FSupplierLimitedController {
public class SupplierLimitedController {
/**
* 服务对象
*/
@Resource
private FSupplierLimitedService fSupplierLimitedService;
private FSupplierLimitedService supplierLimitedService;
/**
* 获取涉诉限用禁用名单
*/
@GetMapping("/getSupplierLimitedList")
public TableDataInfo<SupplierLimitedSearchVo> getSupplierLimitedList(SupplierLimitedSearchBo searchBo, PageQuery pageQuery) {
return fSupplierLimitedService.querySupplierLimitedList(searchBo, pageQuery);
return supplierLimitedService.querySupplierLimitedList(searchBo, pageQuery);
}
/**
......@@ -41,7 +41,7 @@ public class FSupplierLimitedController {
*/
@GetMapping("/getSupplierUnlimitedList")
public TableDataInfo<SupplierUnlimitedSearchVo> getSupplierUnlimitedList(SupplierUnlimitedSearchBo searchBo, PageQuery pageQuery) {
return fSupplierLimitedService.querySupplierUnlimitedList(searchBo, pageQuery);
return supplierLimitedService.querySupplierUnlimitedList(searchBo, pageQuery);
}
}
......@@ -83,6 +83,10 @@ public class FSupplierLimitedServiceImpl extends ServiceImpl<FSupplierLimitedMap
//查不到则抛异常
//throw new ServiceException("未查询到该供应商Cid");
}
//关键字标红
if (StringUtils.isNotBlank(searchBo.getSupplierName())) {
searchVo.setFsuppliername(StringUtils.markInRed(searchVo.getFsuppliername(), searchBo.getSupplierName()));
}
}
return TableDataInfo.build(page);
}
......
......@@ -77,4 +77,17 @@ public class JskCompanyRelationTableV1DetailPageDto extends BasePage {
* 成员Id(常合作集团成员详情)
*/
private Integer memberId;
/**
* 集团名称(集团查看详情需传)
*/
private String combineName;
/**
* 成员名称(常合作集团成员详情传
*/
private String memberName;
}
......@@ -72,5 +72,10 @@ public class JskCompanyRelationTableV1Dto extends BasePage {
*/
private String combineId;
/**
* 集团名称(集团查看详情需传)
*/
private String combineName;
}
......@@ -71,12 +71,19 @@ public class EnterpriseService {
}
public R infoHeader(EnterpriseInfoHeaderBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
if (body.isVaildCid()) {
return R.ok();
}
Map<String, Object> companyMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/infoHeader", BeanUtil.beanToMap(body, false, false));
Integer companyCode = MapUtils.getInteger(companyMap, "code", 300);
if (200 != companyCode) return R.ok();
if (200 != companyCode) {
return R.ok();
}
Map companyData = MapUtils.getMap(companyMap, "data", null);
if (ObjectUtil.isEmpty(companyData)) {
return R.ok();
}
companyData.put("uipId", null);
companyData.put("claimStatus", 0);
companyData.put("bratingSubjectLevel", null);
......@@ -102,14 +109,20 @@ public class EnterpriseService {
}
public R statistic(EnterpriseStatisticBody body) throws Exception {
if (body.isVaildCid()) return R.ok();
if (body.isVaildCid()) {
return R.ok();
}
Map<String, Object> statisticMap = dskOpenApiUtil.requestBody("/api/jsk/enterprise/statistic", BeanUtil.beanToMap(body, false, false));
Integer statisticMapCode = MapUtils.getInteger(statisticMap, "code", 300);
if (200 != statisticMapCode) throw new RuntimeException();
if (200 != statisticMapCode) {
return R.ok();
}
Map statisticMapData = MapUtils.getMap(statisticMap, "data", null);
if (MapUtils.isEmpty(statisticMapData)) return R.ok();
if (MapUtils.isEmpty(statisticMapData)) {
return R.ok();
}
//内部合作
Map<String,Object> cooperation = iCustomerInfoService.cooperationStatistic(body.getCompanyName());
......@@ -122,7 +135,9 @@ public class EnterpriseService {
paramMap.put("cid", body.getCompanyId());
Map<String, Object> projectStatisticMap = dskOpenApiUtil.requestBody("/operate/enterpriseProject/statistic", paramMap);
Integer projectStatisticMapCode = MapUtils.getInteger(projectStatisticMap, "code", 300);
if (200 != projectStatisticMapCode) return R.ok(statisticMapData);
if (200 != projectStatisticMapCode) {
return R.ok(statisticMapData);
}
Map projectStatisticMapData = MapUtils.getMap(projectStatisticMap, "data", null);
......
import { Message } from "element-ui";
import { parseTime } from './ruoyi';
import { router } from "@/router";
/**
* 表格时间格式化
......@@ -924,5 +925,10 @@ export const detailSideBar = new Map([
["cooperationList", "cooperationRecord"],
// 内部合作 准入情况
["approveInfo", "accessCondition"],
])
]);
export const tableContainerFixed = (scrollBarContainer = "",) => {
}
<template>
<div class="consulting-agency-container">
<el-form :model="comProjectDetailInfo" :rules="rules" :inline-message="false" class="basic-engineering-information-inner">
<el-form :model="comProjectDetailInfo" :rules="rules" :show-message="false" class="basic-engineering-information-inner">
<!-- 基础信息 -->
<div class="project-basic-information">
<div class="info-module-title"><span>基础信息</span></div>
......@@ -14,15 +14,13 @@
<tr>
<td class="table-key">咨询机构名称</td>
<td>
<transition mode="out-in" name="edit-fade">
<div class="normal-value" v-if="!comIsModify">
{{comProjectDetailInfo.advisoryBody && comProjectDetailInfo.advisoryBody.advisoryBodyName ? comProjectDetailInfo.advisoryBody.advisoryBodyName : "-"}}
</div>
<el-form-item label="" v-if="comIsModify">
<el-input v-model="comProjectDetailInfo.advisoryBody.advisoryBodyName" clearable v-focus placeholder="请输入完整咨询机构名称"
@input="searchConsulting"></el-input>
</el-form-item>
</transition>
<div class="normal-value" v-if="!comIsModify">
{{comProjectDetailInfo.advisoryBody && comProjectDetailInfo.advisoryBody.advisoryBodyName ? comProjectDetailInfo.advisoryBody.advisoryBodyName : "-"}}
</div>
<el-form-item label="" v-if="comIsModify" prop="advisoryBody.advisoryBodyName">
<el-input v-model="comProjectDetailInfo.advisoryBody.advisoryBodyName" clearable v-focus placeholder="请输入完整咨询机构名称"
@input="searchConsulting"></el-input>
</el-form-item>
</td>
<td class="table-key">法人代表</td>
<td>
......@@ -54,17 +52,32 @@
<tr>
<td class="table-key">项目负责人</td>
<td>
{{comProjectDetailInfo.advisoryBodyProject && comProjectDetailInfo.advisoryBodyProject.projectLeader ? comProjectDetailInfo.advisoryBodyProject.projectLeader : "-"}}
<div class="normal-value" v-if="!comIsModify">
{{comProjectDetailInfo.advisoryBodyProject && comProjectDetailInfo.advisoryBodyProject.projectLeader ? comProjectDetailInfo.advisoryBodyProject.projectLeader : "-"}}
</div>
<el-form-item label="" v-if="comIsModify" prop="advisoryBodyProject.projectLeader">
<el-input v-model="comProjectDetailInfo.advisoryBodyProject.projectLeader" clearable placeholder="请输入项目负责人"></el-input>
</el-form-item>
</td>
<td class="table-key">项目负责人专业</td>
<td>
{{comProjectDetailInfo.advisoryBodyProject && comProjectDetailInfo.advisoryBodyProject.projectLeaderMajor ? comProjectDetailInfo.advisoryBodyProject.projectLeaderMajor : "-"}}
<div class="normal-value" v-if="!comIsModify">
{{comProjectDetailInfo.advisoryBodyProject && comProjectDetailInfo.advisoryBodyProject.projectLeaderMajor ? comProjectDetailInfo.advisoryBodyProject.projectLeaderMajor : "-"}}
</div>
<el-form-item label="" v-if="comIsModify" prop="advisoryBodyProject.projectLeaderMajor">
<el-input v-model="comProjectDetailInfo.advisoryBodyProject.projectLeaderMajor" clearable placeholder="请输入项目负责人专业"></el-input>
</el-form-item>
</td>
</tr>
<tr>
<td class="table-key">联系电话</td>
<td colspan="3">
{{comProjectDetailInfo.advisoryBodyProject && comProjectDetailInfo.advisoryBodyProject.projectLeaderPhone ? comProjectDetailInfo.advisoryBodyProject.projectLeaderPhone : "-"}}
<div class="normal-value" v-if="!comIsModify">
{{comProjectDetailInfo.advisoryBodyProject && comProjectDetailInfo.advisoryBodyProject.projectLeaderPhone ? comProjectDetailInfo.advisoryBodyProject.projectLeaderPhone : "-"}}
</div>
<el-form-item label="" v-if="comIsModify" prop="advisoryBodyProject.projectLeaderPhone">
<el-input v-model="comProjectDetailInfo.advisoryBodyProject.projectLeaderPhone" clearable placeholder="请输入项目负责人联系电话"></el-input>
</el-form-item>
</td>
</tr>
</table>
......@@ -82,17 +95,39 @@
<tr>
<td class="table-key">结算开始时间</td>
<td>
{{comProjectDetailInfo.advisoryBodyProject && comProjectDetailInfo.advisoryBodyProject.settleStartTime ? comProjectDetailInfo.advisoryBodyProject.settleStartTime : "-"}}
<div class="normal-value" v-if="!comIsModify">
{{comProjectDetailInfo.advisoryBodyProject && comProjectDetailInfo.advisoryBodyProject.settleStartTime ? comProjectDetailInfo.advisoryBodyProject.settleStartTime : "-"}}
</div>
<el-form-item label="" v-if="comIsModify" prop="advisoryBodyProject.settleStartTime">
<el-date-picker v-model="comProjectDetailInfo.advisoryBodyProject.settleStartTime" type="datetime" placeholder="选择结算开始时间"
:value-format="'yyyy-MM-dd HH:mm:ss'">
</el-date-picker>
</el-form-item>
</td>
<td class="table-key">结算完成时间</td>
<td>
{{comProjectDetailInfo.advisoryBodyProject && comProjectDetailInfo.advisoryBodyProject.settleFinishTime ? comProjectDetailInfo.advisoryBodyProject.settleFinishTime : "-"}}
<div class="normal-value" v-if="!comIsModify">
{{comProjectDetailInfo.advisoryBodyProject && comProjectDetailInfo.advisoryBodyProject.settleFinishTime ? comProjectDetailInfo.advisoryBodyProject.settleFinishTime : "-"}}
</div>
<el-form-item label="" v-if="comIsModify" prop="advisoryBodyProject.settleFinishTime">
<el-date-picker v-model="comProjectDetailInfo.advisoryBodyProject.settleFinishTime" type="datetime" placeholder="选择结算完成时间"
:value-format="'yyyy-MM-dd HH:mm:ss'">
</el-date-picker>
</el-form-item>
</td>
</tr>
<tr>
<td class="table-key">是否为终审单位</td>
<td colspan="3">
{{comProjectDetailInfo.advisoryBodyProject && statusCheck(comProjectDetailInfo.advisoryBodyProject.isFinalJudgeUnit) ? statusCheck(comProjectDetailInfo.advisoryBodyProject.isFinalJudgeUnit) : "-"}}
<div class="normal-value" v-if="!comIsModify">
{{comProjectDetailInfo.advisoryBodyProject && statusCheck(comProjectDetailInfo.advisoryBodyProject.isFinalJudgeUnit) ? statusCheck(comProjectDetailInfo.advisoryBodyProject.isFinalJudgeUnit) : "-"}}
</div>
<el-form-item label="" v-if="comIsModify" prop="advisoryBodyProject.isFinalJudgeUnit">
<el-radio-group v-model="comProjectDetailInfo.advisoryBodyProject.isFinalJudgeUnit">
<el-radio :label="0"></el-radio>
<el-radio :label="1"></el-radio>
</el-radio-group>
</el-form-item>
</td>
</tr>
</table>
......@@ -102,6 +137,7 @@
</template>
<script>
import { searchConsultingApi } from "@/api/consultingOrgManagement";
import { elementMessageSingleton } from "@/utils";
export default {
name: "consultingAgency",
props: {
......@@ -133,15 +169,26 @@ export default {
}
},
data() {
const phoneValidator = (rule, value, callback) => {
const phoneReg = /^1[3-9]\d{9}$/;
if (!value && !value?.toString()?.trim()) {
return callback(new Error(`请输入项目负责人联系电话`));
}
if (value && !phoneReg.test(value)) {
return callback(new Error(`请输入正确的手机号码`));
}
return callback();
};
return {
comIsModify: this.isModify,
comProjectDetailInfo: JSON.parse(JSON.stringify(this.projectDetailInfo)),
oldComProjectDetailInfo: JSON.parse(JSON.stringify(this.projectDetailInfo)),
rules: {
"advisoryBody.advisoryBodyName": [{ required: true, trigger: ["blur", "change"], message: "咨询机构名称不能为空" }],
"advisoryBodyProject.projectLeaderPhone": [{ required: true, trigger: ["blur", "change"], validator: phoneValidator }],
},
tableKeyWidth: 0,
searchTimer: null
searchTimer: null,
};
},
//可访问data属性
......@@ -196,13 +243,54 @@ export default {
async searchConsultingHandle(keywords) {
try {
const searchResult = await searchConsultingApi(keywords);
if (searchResult.code == 200) {
console.log(searchResult);
if (searchResult.code == 200 && searchResult.data) {
const _temp = JSON.parse(JSON.stringify(searchResult.data));
this.updateTemplate(_temp);
}
} catch (error) {
console.log(error);
}
},
updateTemplate(data) {
const updateMap = new Map([
["advisoryBody.advisoryBodyName", "advisoryBodyName"],
["advisoryBody.advisoryBodyCid", "advisoryBodyCid"],
["advisoryBody.businessScope", "businessScope"],
["isNewAdvisoryBody", "isNewAdvisoryBody"],
["corporatePerson", "corporatePerson"],
["regAddress", "regAddress"],
]);
this.setTemplateData(updateMap, data);
},
setTemplateData(mapData, data) {
/**
* @type {Map<string,string>}
*/
const _mapTemp = mapData;
// 寻找对应的赋值对象
for (const [key, value] of _mapTemp) {
const keys = key.split(".");
const len = keys.length;
if (len == 1) {
this.$set(this.comProjectDetailInfo, key, data[value]);
continue;
}
const currentObjectKey = keys[len - 2];
const currentKey = keys[len - 1];
const currentObject = this.findCurrent(this.comProjectDetailInfo, currentObjectKey);
this.$set(currentObject, currentKey, data[value]);
}
},
findCurrent(originData, key) {
for (const _key in originData) {
if (_key == key) {
return originData[_key];
}
if (Object.prototype.toString.call(originData[_key]) == "[object Object]") {
return this.findCurrent(originData[_key], key);
}
}
},
clearSearchTimer() {
clearTimeout(this.searchTimer);
this.searchTimer = null;
......@@ -280,6 +368,16 @@ export default {
margin-bottom: 0px;
z-index: 9;
&.is-error {
.el-form-item__content {
.el-input {
.el-input__inner {
border-color: #ff4949;
}
}
}
}
.el-form-item__content {
height: 100%;
font-size: 12px;
......@@ -306,6 +404,34 @@ export default {
border: 1px solid #0081ff;
}
}
.el-date-editor {
width: 100%;
.el-input__prefix {
display: none;
}
}
.el-radio-group {
display: flex;
align-items: center;
padding-left: 12px;
box-sizing: border-box;
.el-radio__input.is-checked .el-radio__inner {
border-color: #0081ff;
background: #0081ff;
}
.el-radio__input.is-checked + .el-radio__label {
color: #0081ff;
}
.el-radio__inner:hover {
border-color: #0081ff;
}
}
}
}
}
......
......@@ -56,7 +56,7 @@
v-else-if="!tableLoading" :maxHeight="true" @handle-current-change="handleCurrentChange">
<!-- 项目列表 -->
<template slot="projectName" slot-scope="{data,row}">
<div v-if="row.projectName" class="no-line-feed">{{row.projectName}}</div>
<div v-if="row.projectName" class="no-line-feed" v-html="row.projectName"></div>
<span v-else>-</span>
</template>
<template slot="projectLeader" slot-scope="{data,row}">
......
......@@ -25,7 +25,7 @@
<el-button type="primary" @click="editProjectDetail">编辑信息</el-button>
</div>
<div class="save-project-detail-container" v-if="currentList === 'consultingAgency' && isModify" :key="'save-project'">
<el-button type="primary" @click="editProjectDetail">保存</el-button>
<el-button type="primary" @click="saveProjectDetail">保存</el-button>
<el-button @click="cancelSave">取消</el-button>
</div>
</transition>
......@@ -92,19 +92,19 @@ export default {
methods: {
async init() {
try {
const advisoryBodyCid = this.$route.params?.advisoryBodyCid;
const advisoryBodyCid = this.$route.query?.advisoryBodyCid;
const projectKey = this.$route.query?.projectKey;
if (!advisoryBodyCid) return this.$message.error("缺少咨询机构ID");
// if (!advisoryBodyCid) return this.$message.error("缺少咨询机构ID");
if (!projectKey) return this.$message.error("缺少项目主键");
const detail = await getgetConsultingOrgProjectDetailApi({
advisoryBodyCid,
projectKey
});
if (detail.code == 200 && detail.data) {
this.projectDetailInfo = { ...this.pprojectDetailInfo, ...detail.data };
this.projectDetailInfo = { ...this.projectDetailInfo, ...detail.data };
}
} catch (error) {
console.log(error);
}
},
editProjectDetail() {
......
......@@ -337,8 +337,8 @@ export default {
},
// 查看项目详情
viewProjectDetail(row) {
if (!row?.advisoryBody?.advisoryBodyCid) return this.$message.warning("缺少咨询机构id");
this.$tab.openPage(row.projectName, `/consultingOrgManagement/projectDetail/${row.advisoryBody?.advisoryBodyCid}?projectKey=${row.projectKey}`);
// if (!row?.advisoryBody?.advisoryBodyCid) return this.$message.warning("缺少咨询机构id");
this.$tab.openPage(row.projectName, `/consultingOrgManagement/projectDetail?advisoryBodyCid=${row.advisoryBody?.advisoryBodyCid ? row.advisoryBody?.advisoryBodyCid : ""}&projectKey=${row.projectKey}`);
},
// 跳转到企业详情
viewEnterprise(row) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment