Commit 1319eb91 authored by tianhongyang's avatar tianhongyang

Merge branch 'V20230915' of http://192.168.60.201/root/dsk-operate-sys into V20230915

parents 4cd91f55 aa8f04f8
version: "3"
services:
dsk-operate-sys:
image: swr.cn-north-4.myhuaweicloud.com/dsk/java:8u111-jdk-alpine-creditreport
container_name: dsk-operate-sys
network_mode: host
restart: always
working_dir: /app
environment:
TZ: Asia/Shanghai
volumes:
- ./dsk-operate-sys:/app
- /etc/localtime:/etc/localtime
command: "java -jar dsk-operate-sys.jar"
nginx:
image: nginx:perl
container_name: nginx
restart: always
network_mode: host
working_dir: /app
environment:
TZ: Asia/Shanghai
volumes:
- /etc/localtime:/etc/localtime
- ./dsk-operate-ui/dist/:/www/szh/web/dist/
- ./dsk-operate-ui/operate.conf:/etc/nginx/conf.d/operate.conf
- ./dsk-operate-ui/log:/var/log/nginx
\ No newline at end of file
FROM anapsix/alpine-java:8_server-jre_unlimited
MAINTAINER Tanyang
RUN mkdir -p /ruoyi/server/logs \
/ruoyi/server/temp \
/ruoyi/skywalking/agent
WORKDIR /ruoyi/server
ENV SERVER_PORT=8080
EXPOSE ${SERVER_PORT}
ADD ./target/dsk-operate-sys.jar ./dsk-operate-sys.jar
ENTRYPOINT ["java", \
"-Djava.security.egd=file:/dev/./urandom", \
"-Dserver.port=${SERVER_PORT}", \
# 应用名称 如果想区分集群节点监控 改成不同的名称即可
# "-Dskywalking.agent.service_name=ruoyi-server", \
# "-javaagent:/ruoyi/skywalking/agent/skywalking-agent.jar", \
"-jar", "dsk-operate-sys.jar"]
......@@ -61,6 +61,11 @@
<artifactId>dsk-biz-api</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
......
......@@ -49,9 +49,12 @@ spring:
driverClassName: com.mysql.cj.jdbc.Driver
# jdbc 所有参数配置参考 https://lionli.blog.csdn.net/article/details/122018562
# rewriteBatchedStatements=true 批处理优化 大幅提升批量插入更新删除性能(对数据库有性能损耗 使用批量操作应考虑性能问题)
url: jdbc:mysql://192.168.0.79:3306/dsk_operate_sys?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: dev
password: 8AXjjCHZ666!
# url: jdbc:mysql://192.168.0.79:3306/dsk_operate_sys?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
# username: dev
# password: 8AXjjCHZ666!
url: jdbc:mysql://rds-szh.dsk.com/dos?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: dsk_api_szh
password: j1nxbVPF0QS*B57C
# 从库数据源
# slave:
# lazy: true
......@@ -101,13 +104,13 @@ spring:
--- # redis 单机配置(单机与集群只能开启一个另一个需要注释掉)
spring:
redis:
host: 192.168.0.79
host: redis-szh.dsk.com
# 端口,默认为6379
port: 6379
# 数据库索引
database: 6
# 密码
password: zfTFIJjaN#6xB83r
password: Xi8$r*@d7zn5FaP2
# 密码(如没有密码请注释掉)
# password:
# 连接超时时间
......
......@@ -107,7 +107,7 @@ sa-token:
# token名称 (同时也是cookie名称)
token-name: Authorization
# token有效期 设为一天 (必定过期) 单位: 秒
timeout: 18000
timeout: 28800
# 多端不同 token 有效期 可查看 LoginHelper.loginByDevice 方法自定义
# token最低活跃时间 (指定时间无操作就过期) 单位: 秒
active-timeout: 18000
......
......@@ -56,7 +56,8 @@ public class EconomicServiceImpl implements EconomicService {
if (ObjectUtil.isEmpty(dto.getYear())) {
dto.setYear(DateUtils.getYear() - 1);
}
Map<String, Object> map = dskOpenApiUtil.requestBody("/operate/economic/national/nationalPage", BeanUtil.beanToMap(dto, false, false));
Map<String, Object> map = dskOpenApiUtil.requestBody("/economic/national/nationalPage", BeanUtil.beanToMap(dto, false, false));
Integer code = MapUtils.getInteger(map, "code", 300);
if (!code.equals(HttpStatus.OK.value())) {
throw new RuntimeException();
......
server
{
listen 80;
server_name hwszh.jiansheku.com szh.jiansheku.com;
index index.php index.html index.htm default.php default.htm default.html;
error_page 500 502 503 504 /50x.html;
access_log /var/log/nginx/szh.jiansheku.com.access.log;
error_log /var/log/nginx/szh.jiansheku.com.error.log;
location / {
root /www/szh/web/dist/;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location /prod-api/ {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 后端服务地址
proxy_pass http://localhost:9098/;
}
location = /50x.html {
root html;
}
}
......@@ -54,8 +54,48 @@ function saveFixed(field, num=2){
return parseFloat(field.toFixed(num))
}
//移除字符串中指定标签
let removeTag = function(str, external, implant, row) { //str字符串, external外部引用方式的标签组[一个标签], implant嵌入引用的标签组[包含首尾标签], row行内标签组
let newHtml = str
if(external){
let externalArr = external.split(",")
for (let item of externalArr){
newHtml = newHtml.replace(new RegExp("<"+item+"([^>]+)>", "img"),"")
}
}
if(implant){
let implantArr = implant.split(",")
for (let item of implantArr){
newHtml = newHtml.replace(new RegExp("<"+item+"[^>]*>([\\S\\s]*?)<\/"+item+">", "img"),"")
}
}
if(row){
let rowArr = row.split(",")
for (let item of rowArr){
newHtml = newHtml.replace(new RegExp(""+item+"\\s*?=\\s*?(['`\"])[\\s\\S]*?\\1", "img"),"")
}
}
return newHtml
}
//替换字符串中指定标签
let checkTag = function(str, oldTag, newTag) { //str字符串, oldTag当前标签数组, newTag替换后的新标签数组
let newHtml = str
if(oldTag && newTag){
let oldArr = oldTag.split(",")
let newArr = newTag.split(",")
if(oldArr.length==newArr.length){
for (let i=0; i<oldArr.length; i++){
newHtml = newHtml.replace(new RegExp("<"+oldArr[i]+"\\b[^>]*>([\\S\\s]*?)<\\/"+oldArr[i]+">", "img"), "<"+newArr[i]+">$1</"+newArr[i]+">")
}
}
}
return newHtml
}
export {
encodeStr,
changePath,
saveFixed
saveFixed,
removeTag,
checkTag
}
......@@ -228,10 +228,12 @@ li {
.app-main {
background-color: #f5f5f5;
>div{
width: calc(100% - 48px);
}
}
.app-container {
width: 100%;
padding: 16px 24px;
margin: 16px 24px;
background-color: #f5f5f5;
box-sizing: border-box;
.el-input__inner {
......
......@@ -5,7 +5,7 @@
.miantitle{
color: #232323;
font-size: 12px;
margin: 12px 24px;
margin: 12px 0;
>span{
opacity: 0.4;
&:last-child{opacity:0.8}
......
<template>
<div @click = 'handleALL'>
<div @click = 'handleALL' class="app-container">
<div class="miantitle">
<span>客户管理</span>
<span> / 客户列表</span>
</div>
<div class="app-container">
<div>
<el-card class="box-card noborder min1370">
<div class="tables ">
<div class="empty" v-if="tableData.total==0 && !isSkeleton">
......
<template>
<div @click = 'handleALL'>
<div class="app-container">
<el-card class="box-card noborder">
<div class="tables">
<div class="empty" v-if="tableData.total==0&& !isSkeleton">
<img src="@/assets/images/project/empty.png">
<div class="p1">抱歉,没找到相关数据</div>
<div class="p2">建议调整关键词或筛选条件,重新搜索</div>
<div class="app-container" @click = 'handleALL'>
<el-card class="box-card noborder">
<div class="tables">
<div class="empty" v-if="tableData.total==0&& !isSkeleton">
<img src="@/assets/images/project/empty.png">
<div class="p1">抱歉,没找到相关数据</div>
<div class="p2">建议调整关键词或筛选条件,重新搜索</div>
</div>
<div class="table_search">
<div class="newSearch">
<el-input type="text" v-model="searchParam.companyName" clearable placeholder="输入企业名称查询" @change="clearname" >
<i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/sousuo.png" width="16px" @click="handleCurrentChange(1)"></i>
</el-input>
</div>
<div class="table_search">
<div class="newSearch">
<el-input type="text" v-model="searchParam.companyName" clearable placeholder="输入企业名称查询" @change="clearname" >
<i slot="prefix" class="el-input__icon"><img src="@/assets/images/project/sousuo.png" width="16px" @click="handleCurrentChange(1)"></i>
</el-input>
</div>
<div class="dc">
<div class="total">{{tableData.total}}</div>
</div>
<div class="dc">
<div class="total">{{tableData.total}}</div>
</div>
<skeleton v-if="isSkeleton"></skeleton>
<el-table v-if="!isSkeleton&&tableData.total > 0" class="fixed-table" v-horizontal-scroll="tableData.total > 10 ? 'hover' : 'false'" max-height="640"
:data="tableData.rows"
stripe border
style="width: 100%">
<el-table-column
prop="index"
label="序号"
fixed="left"
width="60">
<template slot-scope='scope'>
<span>{{ (searchParam.pageNum - 1) * searchParam.pageSize + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column
prop="date"
label="企业名称"
fixed="left"
width="316">
</div>
<skeleton v-if="isSkeleton"></skeleton>
<el-table v-if="!isSkeleton&&tableData.total > 0" class="fixed-table" v-horizontal-scroll="tableData.total > 10 ? 'hover' : 'false'" max-height="640"
:data="tableData.rows"
stripe border
style="width: 100%">
<el-table-column
prop="index"
label="序号"
fixed="left"
width="60">
<template slot-scope='scope'>
<span>{{ (searchParam.pageNum - 1) * searchParam.pageSize + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column
prop="date"
label="企业名称"
fixed="left"
width="316">
<template slot-scope="scope">
<div class="ps1">
<div class="wordprimary ps2" @click="toDetail(scope.row,'business')" v-html="scope.row.companyName"></div>
......@@ -48,159 +47,158 @@
</div>
</template>
</el-table-column>
<el-table-column
prop="cooperationProject"
label="合作项目"
width="90">
<template slot-scope="scope">
{{scope.row.cooperationProject || '--'}}
</template>
</el-table-column>
<el-table-column
prop="followProject"
label="跟进项目"
width="90">
<template slot-scope="scope">
{{scope.row.followProject || '--'}}
</template>
</el-table-column>
<el-table-column
prop="reserveProject"
label="储备项目"
width="90">
<template slot-scope="scope">
{{scope.row.reserveProject || '--'}}
</template>
</el-table-column>
<el-table-column
prop="legalPerson"
label="法定代表人"
width="110">
<template slot-scope="scope">
{{scope.row.legalPerson || '--'}}
</template>
</el-table-column>
<el-table-column
prop="registerAddress"
label="注册地区"
width="160">
<template slot-scope="scope">
{{scope.row.registerAddress || '--'}}
</template>
</el-table-column>
<el-table-column
prop="registerCapitalStr"
label="注册资本金(万元)"
width="160">
<template slot-scope="scope">
<span v-if="scope.row.registerCapital && scope.row.registerCapital>0">{{scope.row.registerCapital}}</span><span v-else>--</span>
</template>
</el-table-column>
<el-table-column
prop="creditLevel"
label="企业主体评级" width="100">
<template slot-scope="scope">
{{scope.row.creditLevel || '--'}}
</template>
</el-table-column>
<el-table-column
prop="isOn"
label="上市公司" width="76">
<template slot-scope="scope">
{{scope.row.isOn == 1?"是":"否"}}
</template>
</el-table-column>
<el-table-column
prop="isMajor"
label="局级大客户" width="88">
<template slot-scope="scope">
</el-table-column>
<el-table-column
prop="cooperationProject"
label="合作项目"
width="90">
<template slot-scope="scope">
{{scope.row.cooperationProject || '--'}}
</template>
</el-table-column>
<el-table-column
prop="followProject"
label="跟进项目"
width="90">
<template slot-scope="scope">
{{scope.row.followProject || '--'}}
</template>
</el-table-column>
<el-table-column
prop="reserveProject"
label="储备项目"
width="90">
<template slot-scope="scope">
{{scope.row.reserveProject || '--'}}
</template>
</el-table-column>
<el-table-column
prop="legalPerson"
label="法定代表人"
width="110">
<template slot-scope="scope">
{{scope.row.legalPerson || '--'}}
</template>
</el-table-column>
<el-table-column
prop="registerAddress"
label="注册地区"
width="160">
<template slot-scope="scope">
{{scope.row.registerAddress || '--'}}
</template>
</el-table-column>
<el-table-column
prop="registerCapitalStr"
label="注册资本金(万元)"
width="160">
<template slot-scope="scope">
<span v-if="scope.row.registerCapital && scope.row.registerCapital>0">{{scope.row.registerCapital}}</span><span v-else>--</span>
</template>
</el-table-column>
<el-table-column
prop="creditLevel"
label="企业主体评级" width="100">
<template slot-scope="scope">
{{scope.row.creditLevel || '--'}}
</template>
</el-table-column>
<el-table-column
prop="isOn"
label="上市公司" width="76">
<template slot-scope="scope">
{{scope.row.isOn == 1?"是":"否"}}
</template>
</el-table-column>
<el-table-column
prop="isMajor"
label="局级大客户" width="88">
<template slot-scope="scope">
<span v-if="scope.row.isMajor != null">
{{scope.row.isMajor == 1?"是":"否"}}
</span>
<span v-else>--</span>
</template>
</el-table-column>
<el-table-column
prop="customerLevel"
label="客户等级" width="76">
<template slot-scope="scope">
{{scope.row.customerLevel || '--'}}
</template>
</el-table-column>
<el-table-column
prop="companyNature"
label="客户性质" width="76">
<template slot-scope="scope">
{{scope.row.companyNature || '--'}}
</template>
</el-table-column>
<el-table-column
prop="companyLevel"
label="客户级别" width="76">
<template slot-scope="scope">
{{scope.row.companyLevel || '--'}}
</template>
</el-table-column>
<el-table-column
prop="address"
label="企业母公司" width="268">
<template slot-scope="scope">
<div class="">{{scope.row.superCompany || '--'}}</div>
</template>
</el-table-column>
<el-table-column :key="keys"
prop="mainBusiness"
label="主营业务" width="400">
<template slot-scope="scope">
<div v-if="scope.row.mainBusiness == null || scope.row.mainBusiness == ''">--</div>
<div v-if="scope.row.mainBusiness1">
<div class="box" v-if="scope.row.sq1==true">{{scope.row.mainBusiness1}}...<span @click="sq1(scope.row,false)">更多</span></div>
<div class="box" v-else>{{scope.row.mainBusiness}}<span @click="sq1(scope.row,true)">收起</span></div>
</div>
<div v-else>{{scope.row.mainBusiness}}</div>
</template>
</el-table-column>
<el-table-column
prop="companyAttribute" :key="keys+2"
label="发包属性" width="400">
<template slot-scope="scope">
<div v-if="scope.row.companyAttribute == null || scope.row.companyAttribute == ''">--</div>
<div v-if="scope.row.companyAttribute1">
<div class="box" v-if="scope.row.sq2==true">{{scope.row.companyAttribute1}}...<span @click="sq2(scope.row,false)">更多</span></div>
<div class="box" v-else>{{scope.row.companyAttribute}}<span @click="sq2(scope.row,true)">收起</span></div>
</div>
<div v-else>{{scope.row.companyAttribute}}</div>
</template>
</el-table-column>
<el-table-column
prop="followUser"
label="跟进人" width="110">
<template slot-scope="scope">
{{scope.row.followUser || '--'}}
</template>
</el-table-column>
</el-table>
<div class="bottems" v-if="tableData.total>searchParam.pageSize">
<el-pagination
background
:page-size="searchParam.pageSize"
:current-page="searchParam.pageNum"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="tableData.total">
</el-pagination>
</div>
<div class="delform" v-if="RLcompanyName">
<div class="words">再次认领将会恢复默认客户数据</div>
<div>
<div class="btnsmall btn_primary h28" @click="RL">确定</div>
<div class="btnsmall btn_cancel h28" @click="RLcompanyName = ''">取消</div>
</div>
<span v-else>--</span>
</template>
</el-table-column>
<el-table-column
prop="customerLevel"
label="客户等级" width="76">
<template slot-scope="scope">
{{scope.row.customerLevel || '--'}}
</template>
</el-table-column>
<el-table-column
prop="companyNature"
label="客户性质" width="76">
<template slot-scope="scope">
{{scope.row.companyNature || '--'}}
</template>
</el-table-column>
<el-table-column
prop="companyLevel"
label="客户级别" width="76">
<template slot-scope="scope">
{{scope.row.companyLevel || '--'}}
</template>
</el-table-column>
<el-table-column
prop="address"
label="企业母公司" width="268">
<template slot-scope="scope">
<div class="">{{scope.row.superCompany || '--'}}</div>
</template>
</el-table-column>
<el-table-column :key="keys"
prop="mainBusiness"
label="主营业务" width="400">
<template slot-scope="scope">
<div v-if="scope.row.mainBusiness == null || scope.row.mainBusiness == ''">--</div>
<div v-if="scope.row.mainBusiness1">
<div class="box" v-if="scope.row.sq1==true">{{scope.row.mainBusiness1}}...<span @click="sq1(scope.row,false)">更多</span></div>
<div class="box" v-else>{{scope.row.mainBusiness}}<span @click="sq1(scope.row,true)">收起</span></div>
</div>
<div v-else>{{scope.row.mainBusiness}}</div>
</template>
</el-table-column>
<el-table-column
prop="companyAttribute" :key="keys+2"
label="发包属性" width="400">
<template slot-scope="scope">
<div v-if="scope.row.companyAttribute == null || scope.row.companyAttribute == ''">--</div>
<div v-if="scope.row.companyAttribute1">
<div class="box" v-if="scope.row.sq2==true">{{scope.row.companyAttribute1}}...<span @click="sq2(scope.row,false)">更多</span></div>
<div class="box" v-else>{{scope.row.companyAttribute}}<span @click="sq2(scope.row,true)">收起</span></div>
</div>
<div v-else>{{scope.row.companyAttribute}}</div>
</template>
</el-table-column>
<el-table-column
prop="followUser"
label="跟进人" width="110">
<template slot-scope="scope">
{{scope.row.followUser || '--'}}
</template>
</el-table-column>
</el-table>
<div class="bottems" v-if="tableData.total>searchParam.pageSize">
<el-pagination
background
:page-size="searchParam.pageSize"
:current-page="searchParam.pageNum"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="tableData.total">
</el-pagination>
</div>
<div class="delform" v-if="RLcompanyName">
<div class="words">再次认领将会恢复默认客户数据</div>
<div>
<div class="btnsmall btn_primary h28" @click="RL">确定</div>
<div class="btnsmall btn_cancel h28" @click="RLcompanyName = ''">取消</div>
</div>
</div>
</el-card>
</div>
</div>
</el-card>
</div>
</template>
......
......@@ -32,7 +32,7 @@
}
},
created() {
if(window.location.host === 'http://szh.jiansheku.com' || window.location.host === 'szh.jiansheku.com'){
if(window.location.host === 'http://szh.jiansheku.com' || window.location.host === 'szh.jiansheku.com'|| window.location.host === 'hwszh.jiansheku.com'){
this.domain='https://plug.jiansheku.com'
}else {
this.domain='https://pre-plug.jiansheku.com'
......
......@@ -223,10 +223,10 @@ export default {
page:this.pageIndex,
}
if(this.queryParams.field){
params.field=this.queryParams.field
params.page.field=this.queryParams.field
}
if(this.queryParams.order){
params.order=this.queryParams.order
params.page.order=this.queryParams.order
}
params.aptitudeQueryDto={
filePlaceType:this.activeName === 'first' ? 3 : 2,
......
<template>
<div class="zhaobiao">
<p class="text_p">注:数据来源大司空建筑大数据平台,统计范围为全国公开的招标项目,未公开的不含在内</p>
<div class="zb-content content1">
<div class="flex-box query-box">
<div class="flex-box query-params">
......@@ -490,7 +489,7 @@ export default {
border-radius: 4px;
color: #0081FF;
}
.shangji{
.zhaobiao{
.zb-content{
background: #ffffff;
border-radius: 4px;
......
......@@ -39,7 +39,7 @@ export default {
if (window.location.host === 'http://szh.jiansheku.com' || window.location.host === 'szh.jiansheku.com') {
this.domain = 'https://plug.jiansheku.com';
} else {
this.domain = 'https://pre-plug.jiansheku.com';
this.domain='https://pre-plug.jiansheku.com'
// this.domain = 'http://192.168.60.104:3400';
}
this.gettokens();
......
<template>
<el-dialog
class="popups"
:visible.sync="dialogVisible"
width="464px">
<div class="poptitle">
<img src="@/assets/images/economies/icon.png">
<span>{{projectname}}</span>
</div>
<el-form class="popform" label-width="137px">
<el-form-item label="联系人姓名:" class="row">
<el-input type="text" v-model="queryParam.name" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="联系人性别:" class="row">
<el-radio-group v-model="queryParam.sex">
<el-radio label=1></el-radio>
<el-radio label=0></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="联系人角色:" class="row">
<el-input type="text" v-model="queryParam.role" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="关联企业:" class="row">
<el-input type="text" v-model="queryParam.office" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="联系人职位:" class="row">
<el-input type="text" v-model="queryParam.position" placeholder="请输入"></el-input>
</el-form-item>
<!--<el-form-item label="内部维护人:" class="row">-->
<!--<el-input type="text" v-model="queryParam.accendant" placeholder="请输入"></el-input>-->
<!--</el-form-item>-->
<el-form-item label="联系方式:" class="row">
<el-input type="text" v-model="queryParam.phone" placeholder="请输入"></el-input>
</el-form-item>
<div class="popbot">
<div class="btn btn_cancel h32" @click="cancel">返回</div>
<div class="btn btn_primary h32" @click="save">保存</div>
</div>
</el-form>
</el-dialog>
</template>
<script>
import {editLXR,addLXR} from '@/api/project/project'
export default {
name: 'addContacts'
}
</script>
<style scoped>
</style>
......@@ -23,7 +23,7 @@
</div>
<div class="sels">
<img src="@/assets/images/project/ico_2.png">
<el-input v-model="queryParam.target" placeholder="拜访对象" style="width: 100px;">
<el-input v-model="queryParam.target" placeholder="拜访对象" maxlength="500" style="width: 100px;">
</el-input>
</div>
<div class="wc">
......
......@@ -10,7 +10,7 @@
<span class="list-label list-label-zb" v-if="textList.tenderStage">
{{textList.tenderStage}}
</span>
<span class="list-label" v-if="textList.province||textList.city||textList.area">{{textList.province}}<template v-if="textList.city">-{{textList.city}}</template><template v-if="textList.area">-{{textList.area}}</template></span>
<span class="list-label list-label-zb" v-if="textList.businessType">
{{textList.businessType}}
......@@ -19,22 +19,22 @@
{{textList.industry}}
</span>
</div>
<div class="list-content">
<p class="list-content-text" v-if="textList.tenderee">
<span>招采单位:</span>
<router-link v-if="textList.tenderee" :to="textList.tendereeUipId?'/enterprise/' + encodeStr(textList.tendereeId) :'/company/' + encodeStr(textList.tendereeId) " tag="a" class="list-titel-a blue" v-html="textList.tenderee"></router-link>
<span v-else>--</span>
</p>
<p class="list-content-text" v-if="textList.agency">
<span>代理单位:</span>
<router-link v-if="textList.agency" :to="textList.agencyUipId?'/enterprise/' + encodeStr(textList.agencyId) :'/company/' + encodeStr(textList.agencyId) " tag="a" class="list-titel-a blue" v-html="textList.agency"></router-link>
<span v-else>--</span>
</p>
</div>
<div class="list-content" v-if="textList.projectAmount||textList.contact">
<p class="list-content-text" v-if="textList.projectAmount">
......@@ -47,7 +47,7 @@
<span >招采单位 {{textList.contact}}{{textList.contactTel}}</span>
</p>
</div>
<div class="list-content" v-if="textList.issueTime||textList.overTime||textList.dataSource">
<p class="list-content-text" v-if="textList.issueTime">
<span>发布时间:</span>
......@@ -66,7 +66,7 @@
<span >{{textList.dataSource||'--'}}</span>
</p>
</div>
</li>
</ul>
......@@ -82,20 +82,20 @@
</span>
</div>
<div class="main3-box" v-html="textList.content">
</div>
</div>
</div>
</template>
<script>
import "@/assets/styles/public.scss";
import api from '@/api/radar/radar.js';
import {encodeStr} from "@/assets/js/common.js"
import {encodeStr,removeTag,checkTag} from "@/assets/js/common.js"
export default {
name: 'TenderDetails',
......@@ -118,11 +118,13 @@
}).then(res => {
// console.log(res);
this.textList = res.data;
this.textList.content = removeTag(res.data.content, 'link,meta', 'script,style', 'href,target,style') //采集详情针对性处理
this.textList.content = checkTag(res.data.content, 'h1,a', 'b,span') //采集详情针对性处理
}).catch(error => {
});
},
}
}
......@@ -325,7 +327,7 @@
min-height: 400px;
border: 1px solid #D8D8D8;
padding: 16px;
overflow: hidden;
}
.list-content-img{
position: absolute;
......@@ -349,4 +351,4 @@
}
</style>
\ No newline at end of file
</style>
......@@ -34,8 +34,8 @@ module.exports = {
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
target: `http://47.104.91.229:9099/prod-api`,//测试
// target: `http://localhost:9099`,//测试
// target: `http://47.104.91.229:9099/prod-api`,//测试
target: `http://localhost`,//测试
// target: `http://122.9.160.122:9011`, //线上
// target: `http://192.168.0.165:9098`,//施
// target: `http://192.168.60.6:9098`,//谭
......
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