Commit 1a4a6395 by liudx

联调企业详情、企业筛选接口

parent 9623b853
No preview for this file type
......@@ -17,6 +17,13 @@
box-sizing: border-box !important;
background-color: #F2F3F5;
}
@font-face {
font-family: "jiangcheng";
src: url("../src/assets/fontFamily/江城斜黑体900W.ttf") format("truetype");
font-weight: normal;
font-style: normal;
}
html,body,#app{
// height: 100%;
// min-height:980px;
......
@font-face {
font-family: 'jiangcheng';
src: url('./jiangcheng.ttf');
font-weight: normal;
font-style: normal;
}
\ No newline at end of file
@font-face {
font-family: "jiangcheng";
src: url("./江城斜黑体900W.ttf") format("truetype");
font-weight: normal;
font-style: normal;
}
......@@ -91,7 +91,7 @@ export default {
this.username = localStorage.getItem('login_name');
},
computed: {
...mapState(["username"]),
},
data() {
return {
......@@ -206,7 +206,9 @@ export default {
border-radius: 50%;
width: 60px;
height: 60px;
background-color: pink;
// background-color: pink;
background: url('../static/common/img-tx-big.svg') no-repeat;
background-size: 100% 100%;
.portrait_btn {
cursor: pointer !important;
......
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="120" height="120" viewBox="0 0 120 120"><defs><style>.a{fill:#6aa1ff;}.b{clip-path:url(#a);}.c{fill:#f04d4e;}.d{fill:#d84850;}.e{fill:#c7928e;}.f{fill:#333;}.g{fill:#fecccb;}.h{fill:#2b2b2b;}.i{fill:#b6d5d0;}</style><clipPath id="a"><circle class="a" cx="60" cy="60" r="60"/></clipPath></defs><g transform="translate(-1842 -13)"><circle class="a" cx="60" cy="60" r="60" transform="translate(1842 13)"/><g class="b" transform="translate(1842 13)"><g transform="translate(9.886 16.628)"><path class="c" d="M103.741,52.06V44.385c0-15.74-24.854-20.032-24.854-20.032H28.717s-25.2,4.293-25.2,20.032V52.06s-.058,5.788,8.053,5.984,42.292,0,42.292,0,34.007.2,42.118,0S103.741,52.06,103.741,52.06Z" transform="translate(-3.515 46.384)"/><path class="d" d="M62.608,24.021H53.976l-25.259.521s-25.2,4.345-25.2,18.365v6.836s-.058,5.156,8.053,5.33,8.169-.116,8.169-.116l24.68-18.771H62.608Z" transform="translate(-3.515 45.731)"/><path class="e" d="M15.428,19.139H45.554V37.678H15.428Z" transform="translate(19.912 36.13)"/><path class="f" d="M68.432,11.731s3.824,11.7-6.6,18.713V9.472Zm-57.818,0s-2.086,11.7,6.6,18.713V9.472l-6.6,2.259Z" transform="translate(10.011 17.12)"/><path class="g" d="M12.7,26.947V48.324s5.1,18.423,23.29,18.423S59.045,47.977,59.045,47.977V28.453S60.2.644,35.987.644,12.7,26.947,12.7,26.947Z" transform="translate(14.532 -0.239)"/><path class="g" d="M35.874,66.786c-17.96,0-23.174-18.423-23.174-18.423V26.985S11.541.625,35.874.625Z" transform="translate(14.529 -0.277)"/><path class="h" d="M30.493,15.976s3.882,15.468,39.8,15.468c0,0-.579-30.937-29.778-30.937S10.39,31.445,10.39,31.445a38.35,38.35,0,0,0,20.1-15.468Z" transform="translate(10.003 -0.508)"/><path class="i" d="M21.589,20.955,12.03,30.92,27.672,42.507l9.907-7.821Z" transform="translate(13.229 39.702)"/><path class="i" d="M36.281,20.955,45.84,30.92,30.256,42.507l-9.965-7.821Z" transform="translate(29.474 39.702)"/></g></g></g></svg>
\ No newline at end of file
import { get, post,put } from './request'
//专利搜索接口
export const patents = p => get('/api/patent/patents?keyword='+p.keyword+'&page='+p.page+'&size='+p.size);
//专利筛选接口
export const patentselect = p => post('/api/patent/patents',p);
//专利详情页面
export const patentDetail = p => get('/api/patent/patentDetail/'+p.id);
//导出word给后端传递base64
export const exportword = p => post('/api/patent/patentDetail/125',p);
// 企业搜索接口
export const enterpriseList = p => get('/api/enterprise/list?keyword='+p.keyword+'&page='+p.page+'&size='+p.size);
//企业国民经济行业接口
export const industryType = p => get('/api/common/industryType');
//企业筛选器接口
export const enterpriseSelect = p => post('/api/enterprise/list',p);
//企业详情
export const enterpriseDetail = p => get('/api/enterprise/detail/'+p.id);
......@@ -11,42 +11,42 @@
:labelStyle="{ background: '#F2F9FC' }"
>
<a-descriptions-item label="法定代表人"
>Cloud Database</a-descriptions-item
>{{ baseinfo.legal }}</a-descriptions-item
>
<a-descriptions-item label="经营状态">Prepaid</a-descriptions-item>
<a-descriptions-item label="成立日期">YES</a-descriptions-item>
<a-descriptions-item label="经营状态">{{ baseinfo.status }}</a-descriptions-item>
<a-descriptions-item label="成立日期">{{ baseinfo.build_date }}</a-descriptions-item>
<a-descriptions-item label="工商注册号"
>2018-04-24 18:00:00</a-descriptions-item
>{{ baseinfo.register_code }}</a-descriptions-item
>
<a-descriptions-item label="注册资本">$80.00</a-descriptions-item>
<a-descriptions-item label="实缴资本">授权日</a-descriptions-item>
<a-descriptions-item label="注册资本">{{ baseinfo.capital }}</a-descriptions-item>
<a-descriptions-item label="实缴资本">{{ baseinfo.actual_capital }}</a-descriptions-item>
<a-descriptions-item label="统一社会信用代码"
>授权日</a-descriptions-item
>{{ baseinfo.social_code }}</a-descriptions-item
>
<a-descriptions-item label="纳税人识别号"
>授权日</a-descriptions-item
>{{ baseinfo.tax_code }}</a-descriptions-item
>
<a-descriptions-item label="组织机构代码"
>授权日</a-descriptions-item
>{{ baseinfo.company_code }}</a-descriptions-item
>
<a-descriptions-item label="营业期限">授权日</a-descriptions-item>
<a-descriptions-item label="纳税人资质">授权日</a-descriptions-item>
<a-descriptions-item label="核准日期">授权日</a-descriptions-item>
<a-descriptions-item label="企业类型">授权日</a-descriptions-item>
<a-descriptions-item label="行业">授权日</a-descriptions-item>
<a-descriptions-item label="营业期限">{{ baseinfo.from_time }}-{{ baseinfo.to_time }}</a-descriptions-item>
<a-descriptions-item label="纳税人资质">{{ baseinfo.tax_qualification }}</a-descriptions-item>
<a-descriptions-item label="核准日期">{{ baseinfo.approval_date }}</a-descriptions-item>
<a-descriptions-item label="企业类型">{{ baseinfo.entype }}</a-descriptions-item>
<a-descriptions-item label="行业">{{ baseinfo.company_industry }}</a-descriptions-item>
<a-descriptions-item label="人员规模">人员规模</a-descriptions-item>
<a-descriptions-item label="参保人数">参保人数</a-descriptions-item>
<a-descriptions-item label="登记机关">登记机关</a-descriptions-item>
<a-descriptions-item label="曾用名">曾用名</a-descriptions-item>
<a-descriptions-item label="英文名">英文名</a-descriptions-item>
<a-descriptions-item label="人员规模">{{ baseinfo.staff_range }}</a-descriptions-item>
<a-descriptions-item label="参保人数">{{ baseinfo.bao_num }}</a-descriptions-item>
<a-descriptions-item label="登记机关">{{ baseinfo.register_org }}</a-descriptions-item>
<a-descriptions-item label="曾用名">{{ baseinfo.history_name?baseinfo.history_name:'无' }}</a-descriptions-item>
<a-descriptions-item label="英文名">{{ baseinfo.en_name }}</a-descriptions-item>
<a-descriptions-item label=""></a-descriptions-item>
<a-descriptions-item label=""></a-descriptions-item>
<a-descriptions-item label="注册地址" :span="3"
>注册地址
>{{ baseinfo.address }}
</a-descriptions-item>
<a-descriptions-item label="经营范围" :span="3"
>经营范围</a-descriptions-item
>{{ baseinfo.business_scope }}</a-descriptions-item
>
</a-descriptions>
</div>
......@@ -130,6 +130,9 @@
<script>
export default {
name: "companyProfile",
props:{
baseinfo:Object,
},
data() {
return {
activeKey_shareholder: "工商登记",
......
......@@ -110,28 +110,26 @@ export default {
this.$router.push({
path: "/company",
});
break;
case "首页":
this.$router.push({
path: "/home",
});
break;
case "专利":
this.$router.push({
path: "/patent",
});
break;
case "历史记录":
this.$router.push({
path: "/history",
});
break;
case "我的关注":
this.$router.push({
path: "/follow",
});
......@@ -144,26 +142,38 @@ export default {
let path = this.$route.path;
switch (path) {
case "/company" || "/companyDetails":
this.current = "企业";
localStorage.setItem('current','企业')
this.current =localStorage.getItem("current");
break;
case "/home":
this.current = "首页";
// this.current = "首页";
localStorage.setItem('current','首页')
this.current =localStorage.getItem("current");
break;
case "/patent" || "/patentDetails":
this.current = "专利";
// this.current = "专利";
localStorage.setItem('current','专利')
this.current =localStorage.getItem("current");
break;
case "/history":
this.current = "历史记录";
localStorage.setItem('current','历史记录')
this.current =localStorage.getItem("current");
break;
case "/follow":
this.current = "我的关注";
localStorage.setItem('current','我的关注')
this.current =localStorage.getItem("current");
break;
}
},
},
mounted() {},
mounted() {
this.current =localStorage.getItem("current");
},
created() {
this.username = this.$store.state.username;
},
};
</script>
......
......@@ -31,8 +31,8 @@
:model="formState"
name="normal_login"
class="login-form"
@finish="onFinish"
@finishFailed="onFinishFailed"
ref="form"
:rules="formRules"
>
<a-form-item
name="phone"
......@@ -161,9 +161,39 @@ export default {
password: "",
repassword: "",
},
formRules: {
phone: [
{ required: true, message: "请输入手机号!" },
{
pattern:
/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/,
message: "手机号格式不正确!",
validateTrigger: "onBlur",
},
],
repassword: [
{ required: true, message: "请输入密码!" },
{
validator: this.validateConfirmPassword,
message: "两次密码不匹配",
},
],
code: [{ required: true, message: "请输入验证码!" }],
password: [{ required: true, message: "请输入密码!" }],
},
};
},
methods: {
//验证两次密码
validateConfirmPassword(rule, value) {
return new Promise((resolve, reject) => {
if (value && value !== this.formState.newpwd) {
reject(new Error());
} else {
resolve();
}
});
},
//发送验证码
sendCode() {
if (this.formState.phone) {
......@@ -178,7 +208,10 @@ export default {
this.RemainingTime = TIME_COUNT;
this.isSend = true;
this.timer = setInterval(() => {
if (this.RemainingTime > 0 && this.RemainingTime <= TIME_COUNT) {
if (
this.RemainingTime > 0 &&
this.RemainingTime <= TIME_COUNT
) {
this.RemainingTime--;
} else {
this.isSend = false;
......@@ -197,22 +230,31 @@ export default {
},
//reset
reset() {
let param = AES_Encrypt(
JSON.stringify({
phone: this.formState.phone,
code: this.formState.code,
password: this.formState.password,
re_password: this.formState.repassword,
this.$refs.form
.validate()
.then((values) => {
let param = AES_Encrypt(
JSON.stringify({
phone: this.formState.phone,
code: this.formState.code,
password: this.formState.password,
re_password: this.formState.repassword,
})
);
changePassword({ param }).then((res) => {
// console.log(res)
if (res.code == 0) {
this.resetShow = true;
} else {
message.error(res.msg);
}
});
})
);
changePassword({ param }).then((res) => {
// console.log(res)
if (res.code == 0) {
this.resetShow = true;
} else {
message.error(res.msg);
}
});
.catch((err) => {
// console.log(err);
return false;
// 处理验证失败的情况
});
},
tologin() {
this.$router.push({
......
......@@ -8,12 +8,15 @@
<a-select-option value="专利">查专利</a-select-option>
</a-select>
</template>
<template #addonAfter>
<img
<template #addonAfter >
<div @click="onsearch">
<img
style="padding-right: 5px"
src="@/static/home/index/icon-search.png"
alt=""
/>搜索
</div>
</template>
</a-input>
</div>
......@@ -131,6 +134,7 @@ export default {
data() {
return {
zh_CN,
type:'',
value1: [],
value2: [],
keyword: "",
......@@ -188,9 +192,9 @@ export default {
components: {},
methods: {
//获取页面的表格
getList() {
getList(keyword) {
let params = {
keyword: this.$route.params.keyword || "",
keyword: keyword|| this.$route.query.keyword,
page: 1,
size: 10,
};
......@@ -205,6 +209,9 @@ export default {
}
});
},
onsearch(){
this.getList(this.keyword)
},
//改变页码
onChange(page) {
this.patentdata = [];
......@@ -246,7 +253,9 @@ export default {
},
//点击筛选
Filter() {
//搜索结果标签
this.filter = [];
//专利列表
this.patentdata = [];
let parma = {
page: 1,
......@@ -312,10 +321,19 @@ export default {
};
},
},
watch: {
type: function (newV, oldV) {
// console.log(newV)
if (newV == "企业") {
this.$router.push({
path: "/company",
});
}
},
},
created() {
this.getList();
this.keyword = this.$route.query.keyword;
this.getList(this.keyword);
this.type = "专利";
},
computed: {},
......
......@@ -7,49 +7,168 @@
</a-breadcrumb>
<!-- 安全设置-->
<div class="personal_set">
<a-form
:model="formState"
name="basic"
:label-col="{ span: 2 }"
:wrapper-col="{ span: 5 }"
autocomplete="off"
>
<a-form-item label="手机号" name="img" class="header_label">
<a-input v-model:value="formState.phone" />
</a-form-item>
<a-form-item label="验证码" name="code">
<a-input v-model:value="formState.code" />
</a-form-item>
<h2 class="title">安全设置</h2>
<a-form
:model="formState"
name="basic"
:label-col="{ span: 2 }"
:wrapper-col="{ span: 5 }"
autocomplete="off"
ref="form"
:rules="formRules"
>
<a-form-item label="手机号" name="phone">
<a-input v-model:value="formState.phone" placeholder="请输入手机号" />
</a-form-item>
<a-form-item label="验证码" name="code">
<a-input v-model:value="formState.code" placeholder="请输入验证码">
<template #suffix>
<span v-show="!isSend" class="code" @click="sendCode"
>获取验证码</span
>
<span v-show="isSend" class="code">
{{ RemainingTime }}
秒后重新获取
</span>
</template>
</a-input>
</a-form-item>
<a-form-item label="新密码" name="newpwd">
<a-input v-model:value="formState.newpwd" />
</a-form-item>
<a-form-item label="确认密码" name="renewpwd">
<a-input v-model:value="formState.renewpwd" />
</a-form-item>
<div class="save_btn">
<a-button type="primary" html-type="submit" @click="save">
保存
</a-button>
</div>
</a-form>
</div>
<a-form-item label="新密码" name="newpwd">
<a-input-password
v-model:value="formState.newpwd"
placeholder="请输入新密码"
/>
</a-form-item>
<a-form-item label="确认密码" name="renewpwd">
<a-input-password
v-model:value="formState.renewpwd"
placeholder="请再次输入新密码"
/>
</a-form-item>
<div class="save_btn">
<a-button type="primary" html-type="submit" @click="reset">
保存
</a-button>
</div>
</a-form>
</div>
</div>
</template>
<script>
import { AES_Encrypt, AES_Decrypt } from "@/utils/aes_util.js";
import { message } from "ant-design-vue";
import { changePassword, sendSms } from "@/utils/loginAPI";
export default {
name: "securitySetting",
data(){
return{
formState:{
phone:'',
code:'',
newpwd:'',
renewpwd:''
data() {
return {
isSend: "",
RemainingTime: 0,
formState: {
phone: "",
code: "",
newpwd: "",
renewpwd: "",
},
formRules: {
phone: [
{ required: true, message: "请输入手机号!" },
{
pattern:
/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/,
message: "手机号格式不正确!",
validateTrigger: "onBlur",
},
],
renewpwd: [
{ required: true, message: "请输入密码!" },
{
validator: this.validateConfirmPassword,
message: "两次密码不匹配",
},
],
code: [{ required: true, message: "请输入验证码!" }],
newpwd: [{ required: true, message: "请输入密码!" }],
},
};
},
methods: {
//验证两次密码
validateConfirmPassword(rule, value) {
return new Promise((resolve, reject) => {
if (value && value !== this.formState.newpwd) {
reject(new Error());
} else {
resolve();
}
});
},
//发送验证码
sendCode() {
if (this.phone) {
sendSms({ phone: this.phone }).then((res) => {
// console.log(res)
if (res.code == 0) {
this.isSend = true;
const TIME_COUNT = 60;
message.success(res.msg);
//获取验证码倒计时
if (!this.timer) {
this.RemainingTime = TIME_COUNT;
this.isSend = true;
this.timer = setInterval(() => {
if (
this.RemainingTime > 0 &&
this.RemainingTime <= TIME_COUNT
) {
this.RemainingTime--;
} else {
this.isSend = false;
clearInterval(this.timer);
this.timer = null;
}
}, 1000);
}
} else {
message.error(res.msg);
}
});
} else {
message.error("请先输入手机号");
}
}
}
},
//reset
reset() {
this.$refs.form
.validate()
.then((values) => {
let param = AES_Encrypt(
JSON.stringify({
phone: this.formState.phone,
code: this.formState.code,
password: this.formState.newpwd,
re_password: this.formState.renewpwd,
})
);
changePassword({ param }).then((res) => {
// console.log(res)
if (res.code == 0) {
this.resetShow = true;
} else {
message.error(res.msg);
}
});
})
.catch((err) => {
// console.log(err);
return false;
// 处理验证失败的情况
});
},
},
};
</script>
......@@ -70,11 +189,23 @@ export default {
height: calc(100% - 80px);
background-color: #fff;
padding: 40px 40px;
.title {
color: #1c1c28;
font-size: 18px;
font-family: Microsoft YaHei UI-Bold, Microsoft YaHei UI;
font-weight: bold;
margin-left: 4%;
line-height: 28px;
margin-bottom: 2%;
}
.code {
color: #3e7bfa;
cursor: pointer;
}
}
.save_btn {
padding-left: 150px;
padding-top: 20px;
}
padding-left: 150px;
padding-top: 20px;
}
}
</style>
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