master
zhy521521 10 months ago
parent fc69c95f9b
commit 66fcf3d4d9

@ -1,2 +1,4 @@
# VUE_APP_PATH_PRE='http://192.168.0.188:8118' # VUE_APP_PATH_PRE='http://192.168.0.188:8118'
VUE_APP_PATH_PRE='http://121.41.91.94:12002' # VUE_APP_PATH_PRE='http://121.41.91.94:12002'
VUE_APP_PATH_PRE=http://47.96.254.142:8118

@ -1,2 +1,3 @@
# VUE_APP_PATH_PRE='http://192.168.0.188:8118' # VUE_APP_PATH_PRE='http://192.168.0.188:8118'
VUE_APP_PATH_PRE='http://121.41.91.94:12002' # VUE_APP_PATH_PRE='http://121.41.91.94:12002'
VUE_APP_PATH_PRE=http://47.96.254.142:8118

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

File diff suppressed because one or more lines are too long

@ -5,6 +5,9 @@
</template> </template>
<style lang="less"> <style lang="less">
p{
margin: 5px 0;
}
* { * {
box-sizing: border-box; box-sizing: border-box;
// user-select: none; // user-select: none;

@ -33,3 +33,10 @@ export function standardSystemQuery(params) {
}); });
} }
// //
export function getSchemeTop(params) {
return request({
url: "standard/system/getSchemeTop",
method: "post",
params,
});
}

@ -64,3 +64,4 @@ export function administrativeUnit(params) {
params, params,
}); });
} }

@ -57,3 +57,11 @@ export function industrialPlanPolicy(params) {
params, params,
}); });
} }
// 产业规划空间分布
export function industrialPlanSpaceDistribution(params) {
return request({
url: "/base/homePage/industrialPlanSpaceDistribution",
method: "post",
params,
});
}

@ -39,12 +39,20 @@ export function IoTDevices(params) {
params, params,
}); });
} }
// 物联网设备数量
export function IoTDevicesByArea(params) {
return request({
url: "/production/management/IoTDevicesByArea",
method: "post",
params,
});
}
// 农事建议 // 农事建议
export function agriculturalAdvice(params) { export function agriculturalAdvice(params) {
return request({ return request({
url: "/production/management/agriculturalAdvice", url: "/production/management/agriculturalAdvice",
method: "post", method: "post",
params, params,
}); });
} }

@ -89,8 +89,28 @@ export function majorEventsAgriculturalDevelopment(params) {
params, params,
}); });
} }
// 示范平台地图数据查找
export function demonstrationPlatform(params) {
return request({
url: "/standard/resourceOverview/demonstrationPlatform",
method: "post",
params,
});
}
//
export function typicalRegions(params) {
return request({
url: "/standard/resourceOverview/typicalRegions",
method: "post",
params,
});
}
//
export function naturalSeleniumRichLand(params) {
return request({
url: "/standard/resourceOverview/naturalSeleniumRichLand",
method: "post",
params,
});
}

@ -1,507 +0,0 @@
<template>
<div class="main">
<div class="title">镇海平安企业园区</div>
<div class="loginContainer">
<div class="loginBox">
<div class="topZS"></div>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="账号密码登录" name="first">
<el-form class="loginForm">
<el-form-item class="user">
<img src="../assets/login/password.png" />
<el-input
class="eInput"
v-model="ruleForm.username"
placeholder="请输入用户名"
/>
</el-form-item>
<br />
<el-form-item class="user">
<img src="../assets/login/user.png" />
<el-input
class="eInput"
type="password"
v-model="ruleForm.password"
autocomplete="off"
placeholder="请输入密码"
/>
</el-form-item>
<el-form-item class="userKey">
<div class="userKeybox">
<img src="../assets/login/code01.png" />
<el-input
class="keyInput"
v-model="ruleForm.checkcode"
placeholder="请输入验证码"
/>
</div>
<div ref="img" @click="getCode()" class="codeimgBox">
<img :src="pic" class="yanzheng" />
</div>
</el-form-item>
<el-form-item class="loginbtn">
<el-button @click="login"></el-button>
</el-form-item>
</el-form>
</el-tab-pane>
<el-tab-pane label="数字证书登录" name="second">
<div class="shuziZS_box">
<div class="keyBox">
<div class="keyText">请输入电子数字证书</div>
<div class="huanhang"></div>
<div class="keyIcon">
<img src="../assets/login/key.png" />
</div>
</div>
<div class="loginbtn">
<el-button>登录</el-button>
</div>
</div>
</el-tab-pane>
</el-tabs>
<div class="bottomZS"></div>
</div>
</div>
</div>
</template>
<script>
import { getCheckCode } from "@/utils/login";
export default {
data() {
return {
activeName: "first",
ruleForm: {},
pic: "",
};
},
created() {
this.getCode();
},
methods: {
getCode() {
let random = Math.random();
getCheckCode({ type: "math", s: random }).then((res) => {
// console.log(res.data);
this.pic = "data:image/gif;base64," + res.img;
this.ruleForm.uuid = res.uuid;
});
},
login() {
if (!this.ruleForm.username) {
this.$message.error("请输入用户名");
return;
}
if (!this.ruleForm.password) {
this.$message.error("请输入密码");
return;
}
if (!this.ruleForm.checkcode) {
this.$message.error("请输入验证码");
return;
}
const param = {
username: this.ruleForm.username,
password: this.ruleForm.password,
code: this.ruleForm.checkcode,
uuid: this.ruleForm.uuid,
};
this.$store
.dispatch("Login", param)
.then((res) => {
if (res.code === 200) {
sessionStorage.setItem("activeIndex", "1");
this.$router.push({
path: "/home/compositeIndex",
});
} else {
this.$message.error(res.msg);
return;
}
})
.catch(() => {
//this.$message.error(err.msg)
this.getCode();
});
},
handleClick() {},
},
};
</script>
<style lang="less" scoped>
.main {
width: 100vw;
height: 100vh;
background: url("~@/assets/login/loginback.png") no-repeat;
background-size: 100% 100%;
display: flex;
justify-content: center;
align-items: center;
position: relative;
.title {
position: absolute;
top: 20px;
left: 50%;
transform: translateX(-50%);
font-family: YouSheBiaoTiHei;
font-size: 46px;
color: #59ffda;
letter-spacing: 4.6px;
text-align: justify;
line-height: 57px;
text-shadow: 0 8px 8px rgba(0, 0, 0, 0.3);
font-weight: 400;
}
.loginContainer {
width: 95%;
height: 95%;
background: url("~@/assets/login/loginback02.png") no-repeat;
background-size: 100% 100%;
display: flex;
justify-content: center;
align-items: center;
.loginBox {
width: 790px;
height: 540px;
background: url("~@/assets/login/loginback03.png") no-repeat;
background-size: 100% 100%;
position: relative;
.topZS {
position: absolute;
width: 100%;
height: 30px;
top: 0;
left: 0;
background: url("~@/assets/login/loginback04.png") no-repeat;
background-size: 100% 100%;
}
.buttonBox {
width: 700px;
height: 74px;
background-image: linear-gradient(
90deg,
rgba(238, 238, 238, 0) 0%,
rgba(53, 206, 150, 0.4) 50%,
rgba(216, 216, 216, 0) 100%
);
}
.bottomZS {
position: absolute;
width: 100%;
height: 30px;
bottom: 0;
left: 0;
background: url("~@/assets/login/loginback04.png") no-repeat;
background-size: 100% 100%;
transform: rotateX(180deg);
}
/deep/.el-tabs {
width: 790px;
height: 540px;
padding: 30px 45px;
box-sizing: border-box;
.el-tabs__header {
width: 700px;
height: 72px;
background-image: linear-gradient(
90deg,
rgba(238, 238, 238, 0) 0%,
rgba(53, 206, 150, 0.4) 50%,
rgba(216, 216, 216, 0) 100%
);
.el-tabs__nav-wrap {
height: 72px;
border: 0;
.el-tabs__nav-scroll {
height: 72px;
.el-tabs__nav {
height: 72px;
width: 100%;
.el-tabs__active-bar {
background: #32ff9f;
width: 50% !important;
}
.el-tabs__item {
height: 72px;
width: 50%;
line-height: 72px;
text-align: center;
font-family: AlimamaShuHeiTi;
font-size: 30px;
color: #edfaff;
letter-spacing: 2.86px;
font-weight: 700;
}
.is-active {
color: #32ff9a;
}
}
}
}
.el-tabs__nav-wrap::after {
display: none;
}
}
.el-tabs__content {
width: 700px;
height: calc(100% - 87px);
.loginForm {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
flex-wrap: wrap;
}
.shuziZS_box {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
flex-wrap: wrap;
.keyBox {
width: 600px;
height: 182px;
background: rgba(8, 44, 47, 0.81);
border: 1px solid rgba(38, 170, 123, 1);
border-radius: 3px;
margin-top: 40px;
display: flex;
flex-wrap: wrap;
justify-content: center;
.keyText {
margin-top: 30px;
width: 100%;
height: 33px;
text-align: center;
line-height: 33px;
opacity: 0.8;
font-family: PingFangSC-Regular;
font-size: 24px;
color: #ffffff;
letter-spacing: 2px;
font-weight: 400;
}
.huanhang {
width: 100%;
height: 1px;
}
.keyIcon {
margin-top: -40px;
width: 50px;
height: 50px;
background: #f14141;
box-shadow: 0px 0px 8px 1px rgba(188, 37, 37, 0.76);
border-radius: 8px;
display: flex;
justify-content: center;
align-items: center;
img {
width: 17px;
height: 31px;
}
}
}
}
.user {
width: 600px;
height: 66px;
background: rgba(8, 44, 47, 0.81);
border: 1px solid rgba(38, 170, 123, 1);
border-radius: 3px;
display: flex;
margin-top: 15px;
.el-form-item__content {
display: flex !important;
align-items: center;
}
img {
margin-left: 10px;
width: 24px;
height: 26px;
}
.eInput {
display: inline-block;
width: 550px;
height: 66px;
background: rgba(0, 0, 0, 0);
color: #cfe9ff;
font-size: 19px;
padding-left: 10px;
border: 0;
letter-spacing: 1.65px;
font-weight: 400;
.el-input__inner {
height: 65px;
line-height: 65px;
background: rgba(0, 0, 0, 0);
border: 0;
color: #eeeeee;
}
}
.keyInput {
height: 65px;
width: 321px;
background-color: rgba(0, 0, 0, 0.05);
opacity: 0.5;
color: #cfe9ff;
font-size: 19px;
padding-left: 10px;
border: 0;
letter-spacing: 1.65px;
font-weight: 400;
}
}
.user:hover {
background: rgba(8, 44, 47, 0.81);
border: 1px solid rgba(79, 255, 141, 1);
border-radius: 3px;
}
.userKey {
width: 600px;
height: 66px;
display: flex;
margin-top: 15px;
.el-form-item__content {
display: flex !important;
align-items: center;
}
.userKeybox {
width: 475px;
height: 65px;
background: rgba(8, 44, 47, 0.81);
border: 1px solid rgba(38, 170, 123, 1);
border-radius: 3px;
display: flex;
align-items: center;
img {
margin-left: 10px;
width: 24px;
height: 26px;
}
.keyInput {
height: 65px;
width: 321px;
background-color: rgba(0, 0, 0, 0);
color: #cfe9ff;
font-size: 19px;
padding-left: 10px;
border: 0;
letter-spacing: 1.65px;
font-weight: 400;
.el-input__inner {
height: 65px;
line-height: 65px;
background: rgba(0, 0, 0, 0);
border: 0;
color: #eeeeee;
}
.keyInput {
height: 65px;
width: 321px;
background-color: rgba(0, 0, 0, 0.05);
opacity: 0.5;
color: #cfe9ff;
font-size: 19px;
padding-left: 10px;
border: 0;
letter-spacing: 1.65px;
font-weight: 400;
}
}
}
.userKeybox:hover {
background: rgba(8, 44, 47, 0.81);
border: 1px solid rgba(79, 255, 141, 1);
border-radius: 3px;
}
.codeimgBox {
width: 123px;
height: 66px;
.yanzheng {
width: 123px;
height: 66px;
background-image: linear-gradient(
90deg,
#0a2340 0%,
rgba(18, 64, 105, 0.04) 100%
);
border-image: linear-gradient(to right, #124169, #7bf3fc) 1 1;
}
}
}
.loginbtn {
width: 600px;
height: 66px;
margin-top: 15px;
background: url("~@/assets/login/loginbackbtn.png") no-repeat;
background-size: 100% 100%;
button {
width: 600px;
height: 66px;
border: 0;
font-size: 20px;
color: #edfaff;
letter-spacing: 6px;
font-weight: 500;
background-color: rgba(0, 0, 0, 0);
}
}
.loginbtn:hover {
background: url("~@/assets/login/loginbackbtn02.png") no-repeat;
background-size: 100% 100%;
}
}
}
}
}
}
</style>

@ -23,7 +23,7 @@
</div> </div>
<div class="return" v-if="routerInfo.name != 'homeGnny'"> <div class="return" v-if="routerInfo.name != 'homeGnny'">
<img src="../../../public/images/go-back.png" alt="" style="width: 100%;height: 100%;" <img src="../../../public/images/go-back.png" alt="" style="width: 100%;height: 100%;"
@click="$router.push({ name: 'homeGnny' })"> @click="returnHome">
</div> </div>
</div> </div>
</div> </div>
@ -64,12 +64,11 @@ export default {
this.time this.time
); );
}, },
// //
routerInfo() { routerInfo() {
return this.$store.state.app.routerInfo return this.$store.state.app.routerInfo
} },
}, },
created() { created() {
@ -94,9 +93,19 @@ export default {
this.userInfo = JSON.parse(localStorage.getItem('user')) this.userInfo = JSON.parse(localStorage.getItem('user'))
}, },
loginOut() { loginOut() {
this.$store.dispatch("FedLogOut") this.$alert('确定要退出系统吗?', '提示', {
this.$router.push({ name: 'login' }) confirmButtonText: '确定',
}).then(() => {
this.$store.dispatch("FedLogOut")
this.$router.push({ name: 'login' })
});
}, },
returnHome() {
this.$router.push({ name: 'homeGnny' })
this.$store.commit('SET_BG', '')
}
} }
} }
</script> </script>
@ -146,13 +155,16 @@ export default {
text-shadow: 0px 0px 11px #0043A1; text-shadow: 0px 0px 11px #0043A1;
display: flex; display: flex;
align-items: center; align-items: center;
img{
img {
width: 40px; width: 40px;
} }
.title{
.title {
margin-left: 10px; margin-left: 10px;
} }
.user{
.user {
font-size: 22px; font-size: 22px;
} }

@ -2,11 +2,15 @@ const app = {
// namespaced: true, // namespaced: true,
state: { state: {
routerInfo: {}, //路由信息 routerInfo: {}, //路由信息
bgName: "",
}, },
mutations: { mutations: {
SET_ROUTERINFO: (state, touterInfo) => { SET_ROUTERINFO: (state, touterInfo) => {
state.routerInfo = touterInfo; state.routerInfo = touterInfo;
}, },
SET_BG: (state, bgName) => {
state.bgName = bgName;
},
}, },
}; };

@ -12,6 +12,7 @@ const request = axios.create({
// baseURL: `http://${window.location.host}/zhapi`, // baseURL: `http://${window.location.host}/zhapi`,
// baseURL: 'http://172.18.113.50:8118/zhapi', // baseURL: 'http://172.18.113.50:8118/zhapi',
baseURL: "http://1.94.45.26:10010/gnny", baseURL: "http://1.94.45.26:10010/gnny",
// baseURL: 'http://47.96.254.142:8989/gnny', //正式环境
timeout: 50000, timeout: 50000,
headers: { "content-type": "application/json" }, headers: { "content-type": "application/json" },
}); });

@ -7,24 +7,24 @@
<titleCard>硒产业标准体系统计</titleCard> <titleCard>硒产业标准体系统计</titleCard>
<div class="top-item"> <div class="top-item">
<div class="item" v-for="item in topList" :key="item.id" <div class="item" v-for="item in topList" :key="item.id"
@click="ckickItem(item.parentId, item.schemeName)"> @click="ckickItem(item.id, item.schemeName)">
<div class="title"> <div class="title" :class="{ active: active == item.id }">
{{ item.schemeName }} {{ item.schemeName }}
</div> </div>
<div class="num"> <div class="num" :class="{ active: active == item.id }">
{{ item.orderNum }} {{ item.count }}
</div> </div>
</div> </div>
</div> </div>
<div class="bottom-item"> <div class="bottom-item">
<div class="item" v-for="item in bottomList" :key="item.id" <div class="item" v-for="item in bottomList" :key="item.id"
@click="ckickItem(item.parentId, item.schemeName)"> @click="ckickItem(item.id, item.schemeName)" :class="{ active: active == item.id }">
<div class="title"> <div class="title">
{{ item.schemeName }} {{ item.schemeName }}
</div> </div>
<div class="num"> <div class="num">
{{ item.orderNum }} {{ item.count }}
</div> </div>
</div> </div>
@ -32,34 +32,37 @@
</div> </div>
<!-- 标准统计 --> <!-- 标准统计 -->
<div class="bztj" v-if="sgowBox"> <div class="bztj" v-if="sgowBox" style="margin-top: 15vh;">
<titleCard>标准统计</titleCard> <titleCard>标准统计</titleCard>
<div class="bztj-card"> <div class="bztj-card">
<div class="gj" @click="clickBztj(hyList.value)"> <div class="gj" @click="clickBztj(countryList.fileType, 'gj')"
:class="{ active: active == 'gj' }">
<div class="title"> <div class="title">
{{ countryList.key }} {{ countryList.key }}
</div> </div>
<div class="num">{{ countryList.value }}</div> <div class="num">{{ countryList.value }}</div>
</div> </div>
<div class="hy" @click="clickBztj(hyList.value)"> <div class="hy" @click="clickBztj(hyList.fileType, 'hy')" :class="{ active: active == 'hy' }">
<div class="title"> <div class="title">
{{ hyList.key }} {{ hyList.key }}
</div> </div>
<div class="num">{{ hyList.value }}</div> <div class="num">{{ hyList.value }}</div>
</div> </div>
<div class="sj" @click="clickBztj(hyList.value)"> <div class="sj" @click="clickBztj(sjList.fileType, 'sj')" :class="{ active: active == 'sj' }">
<div class="title"> <div class="title">
{{ sjList.key }} {{ sjList.key }}
</div> </div>
<div class="num">{{ sjList.value }}</div> <div class="num">{{ sjList.value }}</div>
</div> </div>
<div class="dbz" @click="clickBztj(hyList.value)"> <div class="dbz" @click="clickBztj(dbzList.fileType, 'dbz')"
:class="{ active: active == 'dbz' }">
<div class="title"> <div class="title">
{{ dbzList.key }} {{ dbzList.key }}
</div> </div>
<div class="num">{{ dbzList.value }}</div> <div class="num">{{ dbzList.value }}</div>
</div> </div>
<div class="all" @click="clickBztj(hyList.value)"> <div class="all" @click="clickBztj(allList.fileType, 'all')"
:class="{ active: active == 'all' }">
<div class="title"> <div class="title">
{{ allList.key }} {{ allList.key }}
</div> </div>
@ -68,24 +71,15 @@
</div> </div>
</div> </div>
<!-- 本地标准 --> <!-- 本地标准 -->
<div class="bd">
<titleCard>本地标准</titleCard>
<div class="item" @click="clickBztj(hyList.value)">
<div class="title">
{{ bdList.key }}
</div>
<div class="num">
{{ bdList.value }}
</div>
</div>
</div>
</div> </div>
<div class="rightWrap"> <div class="rightWrap">
<div class="search-wrap" :class="{ flexs: showChart }"> <div class="search-wrap" :class="{ flexs: showChart }">
<img src="../../../public/images/go-back.png" alt="" class="imgs" v-show="!showChart" <img src="../../../public/images/go-back.png" alt="" class="imgs" v-show="!showChart"
@click="showChart = !showChart"> @click="showChart = !showChart">
<div> <div>
<el-input v-model="searchContent" placeholder="请输入搜索内容" @keyup.enter.native="enterKeyup"></el-input> <el-input v-model="searchContent" placeholder="请输入搜索内容"
@keyup.enter.native="enterKeyup"></el-input>
</div> </div>
</div> </div>
@ -121,7 +115,7 @@
</div> </div>
</template> </template>
<script> <script>
import { standardSystemStatistics, standardSystem, getSchemeTree, standardSystemQuery } from '../../api/bztx/index' import { standardSystemStatistics, standardSystem, getSchemeTree, standardSystemQuery, getSchemeTop } from '../../api/bztx/index'
export default { export default {
data() { data() {
return { return {
@ -133,7 +127,7 @@ export default {
hyList: {}, hyList: {},
sjList: {}, sjList: {},
dbzList: {}, dbzList: {},
allList:{}, allList: {},
bdList: {}, bdList: {},
option: { option: {
@ -261,8 +255,9 @@ export default {
fileSrc: '', fileSrc: '',
fileTitle: '', fileTitle: '',
schemeId: '', //id schemeId: '', //id
filetype: '', // fileType: '', //
myChart: null myChart: null,
active: null
} }
}, },
@ -283,8 +278,15 @@ export default {
if (res.code == 200) { if (res.code == 200) {
this.topList = res.data.slice(0, 2) this.topList = res.data.slice(0, 2)
this.bottomList = res.data.slice(2, 5) this.bottomList = res.data.slice(2, 5)
this.schemeId = res.data[0].parentId this.schemeId = res.data[0].id
Object.keys(res.data[0]).length && this.getSchemeTree(res.data[0].parentId, res.data[0].schemeName) this.active = res.data[0].id
// let params = {
// schemeName: ''
// }
// getSchemeTop(params).then(res => {
this.getSchemeTree(res.data[0].id)
// })
} }
}) })
}, },
@ -306,10 +308,10 @@ export default {
if (key == '待编制标准') { if (key == '待编制标准') {
this.dbzList = res.data.待编制标准 this.dbzList = res.data.待编制标准
} }
if(key == '总数'){ if (key == '总数') {
this.allList = { this.allList = {
key:key, key: key,
value:res.data[key] value: res.data[key]
} }
} }
if (key == '本地标准') { if (key == '本地标准') {
@ -322,8 +324,9 @@ export default {
}, },
// //
ckickItem(id, fatherData) { ckickItem(id, fatherData) {
this.active = id
this.schemeId = id this.schemeId = id
this.filetype = "" this.fileType = ""
this.showChart = true this.showChart = true
this.getSchemeTree(id, fatherData) this.getSchemeTree(id, fatherData)
}, },
@ -336,27 +339,32 @@ export default {
getSchemeTree(params).then(res => { getSchemeTree(params).then(res => {
if (res.code == 200) { if (res.code == 200) {
let nweDate = [], echartsData = [] let nweDate = [], echartsData = []
if (res.data.length) { let dataArray = [res.data]
nweDate = this.dealData(res.data) if (dataArray.length) {
nweDate = this.dealData(dataArray)
echartsData = [{ name: '硒产业标准体系统计', schemeId: id, children: [...nweDate] }] echartsData = [{ name: '硒产业标准体系统计', schemeId: id, children: [...nweDate] }]
} }
console.log('树状图数据', echartsData) console.log('树状图数据', nweDate, echartsData)
this.initEcharts(echartsData) this.$nextTick(() => {
this.initEcharts(echartsData)
})
} }
}) })
}, },
dealData(data) { dealData(data) {
console.log(4444, data)
var treeData = [] var treeData = []
data.forEach(item => { data.forEach(item => {
item.name = item.schemeName item.name = item.schemeName
item.schemeId = item.parentId item.schemeId = item.id
treeData.push({ ...item }) treeData.push({ ...item })
if (item.children) { if (item.children) {
console.log([item.children]) console.log([item.children])
this.dealData(item.children) this.dealData(item.children)
} }
}) })
console.log(4444, treeData)
return treeData return treeData
}, },
initEcharts(echartsData) { initEcharts(echartsData) {
@ -367,20 +375,35 @@ export default {
// //
let that = this let that = this
this.myChart.on('click', function (params) { this.myChart.on('click', function (params) {
console.log('查看文档', params)
// //
// if (params.data.children) {
// return
// }
this.schemeId = params.data.id
// params.data.name // params.data.name
that.getStandardSystemQuery(''); console.log('查看文档', params.data.id, this.schemeId)
let params1 = {
filename: '',
schemeId: params.data.id,
filetype: '',
}
standardSystemQuery(params1).then(res => {
if (res.code == 200) {
that.fileList = res.data
that.showChart = false
}
})
}); });
this.option && this.myChart.setOption(this.option); this.option && this.myChart.setOption(this.option);
}, },
// //
getStandardSystemQuery(filename) { getStandardSystemQuery(filename) {
console.log('搜索', filename) console.log('搜索', filename, this.schemeId)
let params = { let params = {
filename, filename,
schemeId: this.schemeId, schemeId: this.schemeId,
filetype: this.filetype, filetype: this.fileType,
} }
standardSystemQuery(params).then(res => { standardSystemQuery(params).then(res => {
if (res.code == 200) { if (res.code == 200) {
@ -394,17 +417,22 @@ export default {
this.showNewsDialog = true this.showNewsDialog = true
this.fileTitle = item.fileName this.fileTitle = item.fileName
this.fileSrc = process.env.VUE_APP_PATH_PRE + item.filePath this.fileSrc = process.env.VUE_APP_PATH_PRE + item.filePath
console.log(99999, process.env.VUE_APP_PATH_PRE,)
console.log(5555, this.fileSrc)
}, },
// //
enterKeyup() { enterKeyup() {
this.showChart = false this.showChart = false
this.getStandardSystemQuery(this.searchContent, '') this.schemeId = ""
this.active = null
this.getStandardSystemQuery(this.searchContent)
}, },
// //
clickBztj(value) { clickBztj(value, type) {
this.filetype = value this.fileType = value
// this.schemeId = "" this.active = type
this.getStandardSystemQuery() this.schemeId = ""
this.getStandardSystemQuery('')
console.log(value) console.log(value)
} }
@ -488,6 +516,8 @@ export default {
} }
.bottom-item { .bottom-item {
margin-top: 15px; margin-top: 15px;
} }
@ -566,7 +596,7 @@ export default {
.all { .all {
left: 150px; left: 150px;
top:5.978vh; top: 5.978vh;
} }
.all:hover { .all:hover {
@ -654,6 +684,7 @@ export default {
.contents { .contents {
width: 100%; width: 100%;
height: calc(100% - 3.261vh); height: calc(100% - 3.261vh);
overflow: scroll;
} }
.contents { .contents {
@ -734,4 +765,9 @@ export default {
} }
.active {
color: rgb(219, 175, 30) !important;
font-weight: 400;
}
</style> </style>

@ -1,13 +1,13 @@
<template> <template>
<div class="company-wrap"> <div class="company-wrap">
<titleCard>龙头企业 <titleCard>区域品牌
</titleCard> </titleCard>
<div class="company-content" v-if="companyList.length"> <div class="company-content" v-if="companyList.length">
<vue-seamless-scroll :data="companyList" :class-option="classOption"> <vue-seamless-scroll :data="companyList" :class-option="classOption">
<div class="item-wrap"> <div class="item-wrap">
<div class="company-item" v-for="(item, index) in companyList" :key="'company' + index"> <div class="company-item" v-for="(item, index) in companyList" :key="'company' + index">
<img :src="item.src" alt="" style="width: 100%;height: 100%;z-index: 10086;"> <img :src="item.src" alt="" style="width: 100%;height: 100%;z-index: 10086;">
<!-- <div class="item-content">{{ item.brandName }}</div> --> <div class="item-content">{{ item.brandName }}</div>
</div> </div>
</div> </div>
</vue-seamless-scroll> </vue-seamless-scroll>
@ -74,15 +74,15 @@ export default {
.company-item { .company-item {
display: inline-block; display: inline-block;
margin: 3px 5px; margin: 3px 5px;
width: 195px; width: 165px;
height: 13.13vh; height: 11.13vh;
border: 4px solid #2A70C6; border: 4px solid #2A70C6;
border-radius: 1px; border-radius: 1px;
} }
.item-content{ .item-content{
font-family: PingFangSC, PingFang SC; font-family: PingFangSC, PingFang SC;
text-align: center; text-align: center;
font-size: 16px; font-size: 14px;
font-weight: bold; font-weight: bold;
margin: 2px; margin: 2px;
} }

@ -3,7 +3,7 @@
<titleCard>产业专家</titleCard> <titleCard>产业专家</titleCard>
<div class="export-wrap"> <div class="export-wrap">
<vue-seamless-scroll :data="exportList" :class-option="classOption"> <vue-seamless-scroll :data="exportList" :class-option="classOption">
<div class="item" v-for="(item, index) in exportList" :key="'export' + index"> <div class="item" v-for="(item, index) in exportList" :key="'export' + index" @click="openPdf(item)">
<div class="name"> <div class="name">
{{ item.expertName }} {{ item.expertName }}
</div> </div>
@ -16,6 +16,10 @@
</div> </div>
</vue-seamless-scroll> </vue-seamless-scroll>
</div> </div>
<el-dialog title=" " :visible.sync="showNewsDialog" :append-to-body="false">
<embed :src="fileSrc" type="application/pdf" width="100%" height="720px"
style="position: relative;z-index: 1008;top: 20px;" />
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
@ -43,8 +47,9 @@ export default {
return { return {
// //
exportList: [ exportList: [
], ],
showNewsDialog: false,
fileSrc: ''
} }
}, },
created() { created() {
@ -53,6 +58,13 @@ export default {
this.exportList = res.data this.exportList = res.data
} }
}) })
},
methods: {
openPdf(item) {
console.log(process.env.VUE_APP_PATH_PRE + item.content)
this.showNewsDialog = true
this.fileSrc = process.env.VUE_APP_PATH_PRE + item.content
}
} }
} }
</script> </script>
@ -65,6 +77,7 @@ export default {
height: 35.608vh; height: 35.608vh;
overflow: scroll; overflow: scroll;
width: 100%; width: 100%;
.item { .item {
width: 100%; width: 100%;
height: 4.548vh; height: 4.548vh;
@ -93,6 +106,39 @@ export default {
} }
} }
.item:hover {
cursor: pointer;
}
}
/deep/ .el-dialog__title {
color: #fff;
font-size: 16px;
}
/deep/ .el-dialog__body {
padding: 0 20px 20px;
height: 69.565vh;
}
/deep/.el-dialog__wrapper {
// position: absolute !important;
margin: auto;
height: 86.956vh;
width: 60%;
background-image: url('../../../../public/images/vediobg.png');
background-size: 100% 100%;
}
/deep/ .el-dialog {
background: none;
height: 100%;
width: 100%;
margin: 0;
margin-top: 0 !important;
} }
} }
</style> </style>

@ -15,14 +15,13 @@
</vue-seamless-scroll> </vue-seamless-scroll>
</div> </div>
<el-dialog title="新闻报道" :visible.sync="showNewsDialog" :append-to-body="false"> <el-dialog title="新闻报道" :visible.sync="showNewsDialog" :append-to-body="false">
<div class="newContent"> <div class="newContent" v-html="itemContent.newsContent" style="height: 78vh;">
<h2>{{ itemContent.newsTitle }}</h2> <!-- <h2>{{ itemContent }}</h2> -->
<p class="time">发稿时间:{{ itemContent.newsTime }}&nbsp;&nbsp; <!-- <p class="time">发稿时间:{{ itemContent.newsTime }}&nbsp;&nbsp;
<!-- 作者:{{ itemContent.createBy }} -->
</p> </p>
<p class="content"> <p class="content">
{{ itemContent.newsContent }} {{ itemContent.newsContent }}
</p> </p> -->
</div> </div>

@ -1,6 +1,6 @@
<template> <template>
<div class="tongji-wrap"> <div class="tongji-wrap">
<titleCard>统计 <titleCard>重点单位统计
</titleCard> </titleCard>
<div class="tongji-wrap"> <div class="tongji-wrap">
<div class="tongji-item" v-for="(item, index) in tiList" :key="'tj' + index"> <div class="tongji-item" v-for="(item, index) in tiList" :key="'tj' + index">

@ -7,7 +7,8 @@
top: 15px;"> --> top: 15px;"> -->
<div class="space"> <div class="space">
<div class="space-content"> <div class="space-content">
<el-checkbox-group v-model="checkValueList"> <div class="title">图层</div>
<el-checkbox-group v-model="checkValueList" @change="changeTuCeng">
<el-row> <el-row>
<el-col> <el-col>
<div class="item"> <div class="item">
@ -31,7 +32,7 @@
</el-checkbox-group> </el-checkbox-group>
</div> </div>
</div> </div>
<div class="seaList"> <!-- <div class="seaList">
<div class="seal-content"> <div class="seal-content">
<div class="item item1"> <div class="item item1">
<div class="content"> <div class="content">
@ -67,7 +68,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div> -->
<div id="map"></div> <div id="map"></div>
<div class="leftInfo-wrap"> <div class="leftInfo-wrap">
<dsxh /> <dsxh />
@ -80,7 +81,11 @@
<exportor /> <exportor />
<!-- <hypt /> --> <!-- <hypt /> -->
</div> </div>
<div class="timeBottom"> <el-dialog title=" " :visible.sync="showMapDialog" :append-to-body="false">
<div v-html="dialogContent" style="height: 78vh;margin-top: 3vh;overflow: scroll;background-color: #fff;">
</div>
</el-dialog>
<!-- <div class="timeBottom">
<div class="left"> <div class="left">
<el-select v-model="year" placeholder="请选择" @change="changeTime"> <el-select v-model="year" placeholder="请选择" @change="changeTime">
<el-option v-for="item in optionsYear" :key="item.value" :label="item.name" :value="item.value"> <el-option v-for="item in optionsYear" :key="item.value" :label="item.name" :value="item.value">
@ -90,13 +95,13 @@
<div class="right"> <div class="right">
<span v-for="(item, index) in mohthList" :key="index" <span v-for="(item, index) in mohthList" :key="index"
:style="item == chooseMonth ? 'color:#fff' : 'color:#85BEFF'" @click="clickMonth(item)">{{ :style="item == chooseMonth ? 'color:#fff' : 'color:#85BEFF'" @click="clickMonth(item)">{{
item + '月' }}</span> item + '月' }}</span>
</div> </div>
</div> </div> -->
</div> </div>
</template> </template>
<script> <script>
import { salesData } from '../../api/cptj' import { salesData, administrativeUnit } from '../../api/cptj'
import nationWide from '../../utils/nationWide.js'; import nationWide from '../../utils/nationWide.js';
import dsxh from './components/dsxh.vue' import dsxh from './components/dsxh.vue'
import news from './components/news.vue' import news from './components/news.vue'
@ -117,7 +122,7 @@ export default {
}, },
data() { data() {
return { return {
checkValueList: [], checkValueList: ['产业基地'],
isreturn: false, // isreturn: false, //
mapChart: null, // mapChart: null, //
mapOption: null,// mapOption: null,//
@ -156,6 +161,11 @@ export default {
], ],
chooseMonth: '', chooseMonth: '',
year: '', year: '',
mapAllData: [],
mapData: [],
showMapDialog: false,
dialogContent: '',
} }
}, },
@ -176,8 +186,41 @@ export default {
}, },
mounted() { mounted() {
this.getMap() this.getMap()
this.administrativeUnit()
}, },
methods: { methods: {
changeTuCeng() {
// let chooseData = this.checkValueList.join()
// console.log(chooseData)
this.dealMap()
},
dealMap() {
this.mapData = []
console.log(this.checkValueList, this.mapAllData)
this.mapAllData.forEach(item => {
if (this.checkValueList.includes(item.companyTypeCn)) {
this.mapData.push({
content: item.companyIntroduce,
name: '单位名称:' + item.companyName,
coord: [item.longitude, item.latitude],
// symbol: 'image://' + require(`../../../public/images/${item.companyTypeCn == '' ? 'ghy' : item.companyTypeCn == '' ? 'ghb' : ''}.png`), // ,
symbolSize: [20, 20],
symbol: 'image://' + require('../../../public/images/ghy.png')
})
}
})
this.mapOption.series[0].markPoint.data = this.mapData
console.log(666, this.mapOption.series[0].markPoint.data)
this.mapChart.setOption(this.mapOption);
},
//
administrativeUnit() {
administrativeUnit().then(res => {
this.mapAllData = res.data
this.dealMap()
})
},
// //
clickMonth(chooseMonth) { clickMonth(chooseMonth) {
this.chooseMonth = chooseMonth this.chooseMonth = chooseMonth
@ -212,9 +255,6 @@ export default {
this.mdList.name = '线下门店', this.mdList.name = '线下门店',
this.mdList.num = res.data[key] this.mdList.num = res.data[key]
} }
} }
console.log(7777, this.dsList) console.log(7777, this.dsList)
} }
@ -260,6 +300,7 @@ export default {
min: 1, min: 1,
max: 5 max: 5
}, },
//
label: { label: {
normal: { normal: {
show: false, show: false,
@ -277,9 +318,10 @@ export default {
label: { label: {
// //
normal: { normal: {
show: false, show: true,
textStyle: { textStyle: {
color: "#fff", color: "#fff",
fontSize: 10,
}, },
}, },
// //
@ -305,25 +347,26 @@ export default {
areaColor: '#235CBF', areaColor: '#235CBF',
}, },
}, },
//
regions: this.splitList
}, },
{ {
map: "china", map: "china",
top: '10%',// top: '10%',//
z: 3,//cssz-index53 z: 3,//cssz-index53
regions: [ // regions: [
{ // , // { // ,
name: '南海诸岛', // name: '',
itemStyle: { // itemStyle: {
normal: { // normal: {
opacity: 0 // 0 // opacity: 0 // 0
} // }
}, // },
label: { // label: {
show: false // show: false
} // }
} // }
], // ],
itemStyle: { itemStyle: {
areaColor: '#0659B4',// areaColor: '#0659B4',//
borderColor: '#0CB4FF', borderColor: '#0CB4FF',
@ -339,7 +382,7 @@ export default {
areaColor: '#065CAE', areaColor: '#065CAE',
}, },
}, },
}, },
], ],
@ -374,25 +417,37 @@ export default {
// symbolOffset: [0, '-50%'] // // symbolOffset: [0, '-50%'] //
// symbolSize: [20, 40], // symbolSize: [20, 40],
// data: markPointData, data: [],
}, },
data: this.dataList, data: this.dataList,
} }
], ],
}; };
//
nationWide.cityList.map(value => {
if (value.code == JSON.parse(localStorage.getItem('user')).areaAuthCode + '00') {
console.log(111, value.code)
this.mapChart.clear();
this.mapOption.geo[0].map = 'Pmap';
this.mapOption.geo[1].map = 'Pmap';
this.$echarts.registerMap('Pmap', value.data)
this.mapChart.setOption(this.mapOption);
this.isreturn = true;
}
});
// option.geo.map // option.geo.map
this.$echarts.registerMap('china', nationWide.china); this.$echarts.registerMap('china', nationWide.china);
this.mapChart.setOption(this.mapOption); this.mapChart.setOption(this.mapOption);
//
// this.mapChart.on('click', params => { this.administrativeUnit()
// if (params.name == '') { //
// console.log(params) this.mapChart.on('click', params => {
// this.showNewsDialog = true console.log(params.data.content)
// var video = document.getElementById("myVideo"); this.showMapDialog = true
// video.play(); // this.dialogContent = params.data.content
// } })
// })
}, },
// //
format() { format() {
@ -401,10 +456,6 @@ export default {
}, },
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@ -413,31 +464,50 @@ export default {
position: relative; position: relative;
overflow: hidden; overflow: hidden;
.space { .space {
position: absolute; position: absolute;
width: 140px; width: 100px;
// border: 1px solid red; left: 1300px;
left: 1250px;
top: 150px; top: 150px;
z-index: 1800; z-index: 1800;
text-align: center;
box-sizing: border-box; box-sizing: border-box;
text-align: center;
.space-content { .space-content {
background-image: url('../../../public/images/dialog.png');
background-size: 100% 100%; background-size: 100% 100%;
opacity: 0.8;
.title {
color: #85BEFF;
padding: 4px 10px;
background-image: url('../../../public/images/tltop.png');
background-size: 100% 100%;
}
.item { .item {
height: 4.378vh; height: 3vh;
line-height: 4.378vh; line-height: 3vh;
// color: #00D8FF;
} }
} }
/deep/ .el-checkbox-group {
background-image: url('../../../public/images/tl-content.png');
background-size: 100% 100%;
padding: 0 10px;
font-size: 10px;
}
/deep/ .el-checkbox { /deep/ .el-checkbox {
color: rgb(0, 231, 140) color: rgb(255, 255, 255);
}
/deep/ .el-checkbox__label {
font-size: 14px;
}
/deep/ .el-checkbox__inner {
width: 14px;
background-color: transparent;
border: .5px solid #85BEFF;
} }
} }
@ -604,5 +674,34 @@ export default {
color: #85BEFF !important; color: #85BEFF !important;
} }
} }
/deep/ .el-dialog__title {
color: #fff;
font-size: 16px;
}
/deep/ .el-dialog__body {
padding: 0 20px 20px;
height: 80vh;
}
/deep/.el-dialog__wrapper {
// position: absolute !important;
margin: auto;
height: 87vh;
width: 60%;
background-image: url('../../../public/images/vediobg.png');
background-size: 100% 100%;
}
/deep/ .el-dialog {
background: none;
height: 100%;
width: 100%;
margin: 0;
margin-top: 0 !important;
}
} }
</style> </style>

@ -1,6 +1,6 @@
<template> <template>
<div class="cyfz-wrap"> <div class="cyfz-wrap">
<titleCard>年综合产值变化曲线</titleCard> <titleCard>富硒产品年综合产值</titleCard>
<div class="cyfz-zx"> <div class="cyfz-zx">
<div id="main" style="width: 100%;height: 100%;"></div> <div id="main" style="width: 100%;height: 100%;"></div>
</div> </div>
@ -36,7 +36,7 @@ export default {
fontSize: 12 fontSize: 12
}, },
grid: { grid: {
top: '2%', top: '4%',
left: '3%', left: '3%',
right: '4%', right: '4%',
bottom: '2%', bottom: '2%',

@ -54,8 +54,10 @@ export default {
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.fx { .fx {
.fx-wrap { .fx-wrap {
height: 16vh; height: 19vh;
overflow: scroll;
.item { .item {
display: flex; display: flex;
align-items: center; align-items: center;

@ -187,6 +187,7 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
height: 150px; height: 150px;
.chart-container { .chart-container {
height: 100%; height: 100%;
@ -226,7 +227,7 @@ export default {
white-space: nowrap; white-space: nowrap;
width: 50%; width: 50%;
height: 100%; height: 100%;
overflow: scroll;
.item { .item {
height: 100%; height: 100%;
display: flex; display: flex;

@ -17,10 +17,10 @@ export default {
axisLabel: { axisLabel: {
interval: 0, //0 interval: 0, //0
color: '#fff', color: '#fff',
rotate: 0, //01 rotate: 20, //01
align: 'center', align: 'center',
fontSize: 10, fontSize: 10,
lineHeight: 14, lineHeight: 28,
// textStyle: { // textStyle: {
// with: '30px', // with: '30px',
// wordBreak: 'break-all' // wordBreak: 'break-all'
@ -145,7 +145,7 @@ export default {
// border: 1px solid red; // border: 1px solid red;
.fx-z { .fx-z {
height: 12vh; height: 13vh;
} }
} }
</style> </style>

@ -86,7 +86,7 @@ export default {
font-size: 14px; font-size: 14px;
.sf-wrap { .sf-wrap {
height: 18.9vh; height: 15.9vh;
overflow: hidden; overflow: hidden;
.item { .item {

@ -4,7 +4,7 @@
<div class="zc-wrap"> <div class="zc-wrap">
<template v-if="showScroll"> <template v-if="showScroll">
<vue-seamless-scroll :data="sfList" :class-option="classOption"> <vue-seamless-scroll :data="sfList" :class-option="classOption">
<div class="item" v-for="(item, index) in sfList" :key="'sf' + index"> <div class="item" v-for="(item, index) in sfList" :key="'sf' + index" @click="openPdf(item)">
<div class="item-left"> <div class="item-left">
<img src="../../../../public/images/sf-title.png" alt=""> <img src="../../../../public/images/sf-title.png" alt="">
<span>{{ item.policyName }}</span> <span>{{ item.policyName }}</span>
@ -17,7 +17,7 @@
</template> </template>
<template v-else> <template v-else>
<template v-if="sfList.length == 1"> <template v-if="sfList.length == 1">
<div class="item" v-for="(item, index) in sfList" :key="'sf' + index"> <div class="item" v-for="(item, index) in sfList" :key="'sf' + index" @click="openPdf(item)">
<div class="item-left"> <div class="item-left">
<img src="../../../../public/images/sf-title.png" alt=""> <img src="../../../../public/images/sf-title.png" alt="">
<span>{{ item.policyName }}</span> <span>{{ item.policyName }}</span>
@ -35,6 +35,11 @@
</template> </template>
</div> </div>
<el-dialog title=" " :visible.sync="showNewsDialog" :append-to-body="false">
<embed :src="fileSrc" type="application/pdf" width="100%" height="720px"
style="position: relative;z-index: 1008;top: 15px;" />
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
@ -71,7 +76,10 @@ export default {
// time: '2023-05-20' // time: '2023-05-20'
// } // }
], ],
showScroll: false showScroll: false,
showNewsDialog: false,
fileSrc: '',
} }
}, },
computed: { computed: {
@ -89,6 +97,7 @@ export default {
}, },
}, },
created() { created() {
industrialPlanPolicy().then(res => { industrialPlanPolicy().then(res => {
this.sfList = [] this.sfList = []
if (res.code == 200) { if (res.code == 200) {
@ -98,16 +107,27 @@ export default {
} else { } else {
this.showScroll = false this.showScroll = false
} }
console.log(this.sfList) console.log(99999, this.sfList)
} }
}) })
}, },
methods: {
openPdf(item) {
if (item.content) {
console.log(item)
this.fileSrc = process.env.VUE_APP_PATH_PRE + item.content
this.showNewsDialog = true
}
},
}
} }
</script> </script>
<style></style> <style></style>
<style lang="less" scoped> <style lang="less" scoped>
.zczc-wrap { .zczc-wrap {
font-size: 14px; font-size: 14px;
.zc-wrap { .zc-wrap {
height: 18.9vh; height: 18.9vh;
overflow: hidden; overflow: hidden;
@ -128,6 +148,10 @@ export default {
margin-right: 5px; margin-right: 5px;
} }
} }
.item:hover {
cursor: pointer;
}
} }

@ -6,12 +6,26 @@
right: 20px; right: 20px;
top: 15px;"> --> top: 15px;"> -->
<div class="space"> <div class="space">
<!-- <div class="spaceFb"> <div class="space-content">
<el-checkbox-group v-model="checkValue"> <div class="title">富硒产业规划分布</div>
<el-checkbox label="示范基地"></el-checkbox> <el-checkbox-group v-model="checkValueList" @change="changeCheckbox">
<el-checkbox label="富硒地区"></el-checkbox> <el-row>
<el-col>
<div class="item">
<el-checkbox label="示范基地" value="1"></el-checkbox>
</div>
</el-col>
<el-col>
<div class="item">
<el-checkbox label="富硒地区" value="2"></el-checkbox>
</div>
</el-col>
</el-row>
</el-checkbox-group> </el-checkbox-group>
</div> --> </div>
</div> </div>
<div class="bg-map"> <div class="bg-map">
@ -28,10 +42,15 @@
<cyfz /> <cyfz />
<zczc /> <zczc />
</div> </div>
<el-dialog title=" " :visible.sync="showMapDialog" :append-to-body="false">
<div v-html="dialogContent" style="height: 78vh;margin-top: 2vh;overflow: scroll;background-color: #fff;">
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { industrialPlanSpaceDistribution } from '../../api/cygh'
import nationWide from '../../utils/nationWide.js'; import nationWide from '../../utils/nationWide.js';
import baseNew from './components/base' import baseNew from './components/base'
import fxcy from './components/fxcy.vue' import fxcy from './components/fxcy.vue'
@ -60,7 +79,33 @@ export default {
{ name: "西藏", value: [91.23, 29.5, 2333] }, { name: "西藏", value: [91.23, 29.5, 2333] },
{ name: "黑龙江", value: [128.03, 47.01, 1007] }, { name: "黑龙江", value: [128.03, 47.01, 1007] },
], ],
checkValueList: ['示范基地'],
mapsAllData: [],
mapData: [],
showMapDialog: false,
dialogContent: '',
mapDatas: {
data: [
{ name: '城区', deptId: '22', value: 1 },
{ name: '平定县', deptId: '19', value: 2 },
{ name: '郊区', deptId: '21', value: 3 },
{ name: '矿区', deptId: '43', value: 4 },
{ name: '盂县', deptId: '24', value: 5 },
// { name: '', deptId: '20', value: 6 },
// { name: '广', deptId: '23', value: 7 },
// { name: '', deptId: '', value: 8 }
]
},
splitList: [
{ name: '城区', itemStyle: { normal: { areaColor: '#FFDC63' } } },
{ name: '平定县', itemStyle: { normal: { areaColor: '#489EAA' } } },
{ name: '郊区', itemStyle: { normal: { areaColor: '#54E6AB' } } },
{ name: '矿区', itemStyle: { normal: { areaColor: '#489EFF' } } },
{ name: '盂县', itemStyle: { normal: { areaColor: '#FD9A9A' } } },
// { name: '', itemStyle: { normal: { areaColor: '#FD9A9A' } } },
// { name: '广', itemStyle: { normal: { areaColor: '#FFDC63' } } },
// { name: '', itemStyle: { normal: { areaColor: '#489EFF' } } }
]
} }
}, },
created() { created() {
@ -72,6 +117,7 @@ export default {
window.addEventListener("resize", () => { window.addEventListener("resize", () => {
this.mapChart.resize(); this.mapChart.resize();
}); });
}, },
methods: { methods: {
// rebackMap() { // // rebackMap() { //
@ -82,17 +128,77 @@ export default {
// this.mapChart.setOption(this.mapOption); // this.mapChart.setOption(this.mapOption);
// this.isreturn = false; // this.isreturn = false;
// }, // },
getMapAllData() {
industrialPlanSpaceDistribution().then(res => {
this.mapsAllData = res.data
//
this.mapsAllData.forEach(item => {
if (item.spaceType == 1) {
this.mapData.push({
content: item.content,
name: item.areaName,
coord: [item.cityName, item.cityCode],
symbol: 'image://' + require('../../../public/images/ghy.png'), //
symbolSize: [30, 30],
})
}
})
this.mapOption.series[0].markPoint.data = this.mapData
console.log(this.mapOption.series[0].markPoint.data)
this.mapChart.setOption(this.mapOption);
})
},
changeCheckbox() {
console.log(this.checkValueList)
this.mapData = []
if (this.checkValueList.length == 1) {
if (this.checkValueList[0] == '示范基地') {
this.mapsAllData.forEach(item => {
if (item.spaceType == 1) {
this.mapData.push({
content: item.content,
name: item.areaName,
coord: [item.cityName, item.cityCode],
symbol: 'image://' + require('../../../public/images/ghy.png'), //
symbolSize: [30, 30],
})
}
})
} else {
this.mapsAllData.forEach(item => {
if (item.spaceType == 2) {
this.mapData.push({
content: item.content,
name: item.areaName,
coord: [item.cityName, item.cityCode],
symbol: 'image://' + require('../../../public/images/ghb.png'), //
symbolSize: [30, 30],
})
}
})
}
} else if (this.checkValueList.length == 2) {
this.mapsAllData.forEach(item => {
this.mapData.push({
content: item.content,
name: item.areaName,
coord: [item.cityName, item.cityCode],
symbol: 'image://' + require(`../../../public/images/${item.spaceType == 1 ? 'ghy' : 'ghb'}.png`), //
symbolSize: [30, 30],
})
})
} else {
console.log('取消')
}
this.mapOption.series[0].markPoint.data = this.mapData
console.log(this.mapOption.series[0].markPoint.data)
this.mapChart.setOption(this.mapOption);
},
getMap() { // getMap() { //
if (!this.mapChart) { if (!this.mapChart) {
this.mapChart = this.$echarts.init(document.getElementById('map')); this.mapChart = this.$echarts.init(document.getElementById('map'));
} }
// var markPointData = [
// {
// name: "",
// coord: [90.738188, 30.383231],
// symbol: 'image://' + require('../../../public/images/sxt.png'), //
// symbolSize: [30, 30],
// }]
this.mapOption = { this.mapOption = {
// //
// backgroundColor: "#00264e", // backgroundColor: "#00264e",
@ -165,10 +271,11 @@ export default {
label: { label: {
show: false show: false
}, },
areaColor: '#235CBF', areaColor: 'none',
}, },
}, },
//
regions: this.splitList,
}, },
{ {
map: "china", map: "china",
@ -234,24 +341,24 @@ export default {
// data: [{ type: 'average' }], // data: [{ type: 'average' }],
// symbol: 'image://' + require('../../assets/images/blue.png'), // // symbol: 'image://' + require('../../assets/images/blue.png'), //
// symbolSize: [58, 38], // // symbolSize: [58, 38], //
// symbolOffset: [0, '-50%'] // // symbolOffset: [0, '-50%'], //
// symbolSize: [20, 40], // symbolSize: [20, 40],
// data: markPointData, data: [],
}, },
data: this.dataList, data: this.mapDatas.data,
} }
], ],
}; };
// option.geo.map // option.geo.map
this.$echarts.registerMap('china', nationWide.china); this.$echarts.registerMap('china', nationWide.china);
console.log('区域编码',JSON.parse(localStorage.getItem('user')).areaAuthCode.slice(0, 6)) console.log('区域编码', JSON.parse(localStorage.getItem('user')).areaAuthCode + '00')
this.mapChart.setOption(this.mapOption); this.mapChart.setOption(this.mapOption);
//
nationWide.cityList.map(value => { nationWide.cityList.map(value => {
if (value.code == JSON.parse(localStorage.getItem('user')).areaAuthCode + '00') {
if (value.code == JSON.parse(localStorage.getItem('user')).areaAuthCode.slice(0, 6)) { console.log(111, value.code)
console.log(111,value.code)
this.mapChart.clear(); this.mapChart.clear();
this.mapOption.geo[0].map = 'Pmap'; this.mapOption.geo[0].map = 'Pmap';
this.mapOption.geo[1].map = 'Pmap'; this.mapOption.geo[1].map = 'Pmap';
@ -261,28 +368,33 @@ export default {
} }
}); });
// //
// this.mapChart.on('click', params => { this.mapChart.on('click', params => {
// console.log(params) console.log(params.data.content)
// // this.showMapDialog = true
// let provinceName = params.name this.dialogContent = params.data.content
// // // //
// this.dataList.map(item => { // let provinceName = params.name
// if (item.name == provinceName) { // //
// this.mapOption.series[0].data = [item]; // this.dataList.map(item => {
// } // if (item.name == provinceName) {
// }) // this.mapOption.series[0].data = [item];
// // // }
// nationWide.cityList.map(value => { // })
// if (value.name.indexOf(provinceName) !== -1) { // //
// this.mapChart.clear(); // nationWide.cityList.map(value => {
// this.mapOption.geo[0].map = 'Pmap'; // if (value.name.indexOf(provinceName) !== -1) {
// this.mapOption.geo[1].map = 'Pmap'; // this.mapChart.clear();
// this.$echarts.registerMap('Pmap', value.data) // this.mapOption.geo[0].map = 'Pmap';
// this.mapChart.setOption(this.mapOption); // this.mapOption.geo[1].map = 'Pmap';
// this.isreturn = true; // this.$echarts.registerMap('Pmap', value.data)
// } // this.mapChart.setOption(this.mapOption);
// }); // this.isreturn = true;
// }) // }
// });
})
//
this.getMapAllData()
}, },
} }
@ -295,7 +407,52 @@ export default {
position: relative; position: relative;
overflow: auto; overflow: auto;
.space {} .space {
position: absolute;
width: 150px;
left: 1300px;
top: 20px;
z-index: 1800;
box-sizing: border-box;
text-align: left;
.space-content {
background-size: 100% 100%;
.title {
color: #85BEFF;
padding: 8px 10px;
background-image: url('../../../public/images/tltop.png');
background-size: 100% 100%;
}
.item {
padding: 8px 4px;
}
}
/deep/ .el-checkbox-group {
background-image: url('../../../public/images/tl-content.png');
background-size: 100% 100%;
padding: 0 10px;
font-size: 10px;
}
/deep/ .el-checkbox {
color: rgb(255, 255, 255);
}
/deep/ .el-checkbox__label {
font-size: 14px;
}
/deep/ .el-checkbox__inner {
width: 14px;
background-color: transparent;
border: .5px solid #85BEFF;
}
}
#map { #map {
width: 100%; width: 100%;
@ -326,5 +483,35 @@ export default {
.rightInfo-wrap { .rightInfo-wrap {
right: 10px; right: 10px;
} }
/deep/ .el-dialog__title {
color: #fff;
font-size: 16px;
}
/deep/ .el-dialog__body {
padding: 0 20px 20px;
height: 69.565vh;
}
/deep/.el-dialog__wrapper {
// position: absolute !important;
margin: auto;
height: 86.956vh;
width: 60%;
background-image: url('../../../public/images/vediobg.png');
background-size: 100% 100%;
}
/deep/ .el-dialog {
background: none;
height: 100%;
width: 100%;
margin: 0;
margin-top: 0 !important;
}
} }
</style> </style>

@ -240,10 +240,17 @@ export default {
}, },
hendleMenu(index, router) { hendleMenu(index, router) {
// //
console.log(JSON.parse(localStorage.getItem('roles'))[0] == 'admin') console.log()
if (index == 5) { if (index == 5) {
if (JSON.parse(localStorage.getItem('roles'))[0] == 'admin') { let permissionBoolean = JSON.parse(localStorage.getItem('roles')).includes(('admin')) || JSON.parse(localStorage.getItem('roles')).includes(('system'))
window.open('http://121.41.91.94:12527/') if (permissionBoolean) {
window.open('http://47.96.254.142:8899/') //
// window.open('http://121.41.91.94:12527/')
} else {
this.$alert('抱歉,您暂无访问权限!', '提示', {
confirmButtonText: '确定',
});
} }
} else { } else {
@ -420,5 +427,49 @@ export default {
} }
}
</style>
<style lang="less">
.el-message-box__wrapper {
z-index: 200000 !important;
}
.el-message-box__wrapper .el-message-box {
background-image: url('../../../public/images/dialog.png');
background-size: 100% 100%;
border: none;
}
.el-message-box__title {
font-family: YouSheBiaoTiHei;
font-size: 16px;
color: #BFDAF1;
}
.el-message-box__container {
font-family: YouSheBiaoTiHei;
font-size: 18px;
color: #BFDAF1;
}
.el-button--primary {
font-family: YouSheBiaoTiHei;
background-color: #17426f !important;
border-color: #4a84c2;
font-size: 14px;
padding: 6px 12px;
}
.el-button--primary:hover {
font-family: YouSheBiaoTiHei;
background-color: none;
background-color: #19427f;
border-color: #67a0dd;
font-size: 14px;
padding: 6px 12px;
} }
</style> </style>

@ -1,7 +1,6 @@
<template> <template>
<div class="layout-wrap"> <div class="layout-wrap" :class="{ layoutWrapCyBg: bgName == 'cy' }">
<div class="bgimg"> <div :class="{ cyImg: bgName == 'cy' }" class="bgimg">
</div> </div>
<div class="topContent"> <div class="topContent">
<topContent :showReturn='showReturn' /> <topContent :showReturn='showReturn' />
@ -13,6 +12,11 @@
</template> </template>
<script> <script>
export default { export default {
computed: {
bgName() {
return this.$store.state.app.bgName
}
},
data() { data() {
return { return {
showReturn: false showReturn: false
@ -27,7 +31,10 @@ export default {
height: 100vh; height: 100vh;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
.bgimg{ background-image: url('../../../public/images/map.png');
background-size: 100%;
.bgimg {
width: 50%; width: 50%;
height: 50%; height: 50%;
background-image: url('../../../public/images/tp.png'); background-image: url('../../../public/images/tp.png');
@ -37,13 +44,22 @@ export default {
left: 25%; left: 25%;
top: 30%; top: 30%;
} }
background-image: url('../../../public/images/map.png');
background-size: 100%;
//
.cyImg {
left: 10%;
}
.content { .content {
height: calc(100% - 7.8vh); height: calc(100% - 7.8vh);
overflow: auto; overflow: auto;
} }
}
.layoutWrapCyBg {
background-image: url('../../../public/images/map.png');
background-size: 100%;
background-position:-200px 0;
} }
</style> </style>

@ -1,6 +1,6 @@
<template> <template>
<div class="gdmj-wrap"> <div class="gdmj-wrap">
<titleCard>农业基地面积 <titleCard>农业基地面积<span slot="dw">单位:&nbsp;&nbsp;</span>
</titleCard> </titleCard>
<div class="gdmj-chart"> <div class="gdmj-chart">
<div id="gdmj" style="width: 100%;height: 100%;"></div> <div id="gdmj" style="width: 100%;height: 100%;"></div>

@ -2,8 +2,7 @@
<div class="nySuggest"> <div class="nySuggest">
<titleCard>农事建议 <titleCard>农事建议
</titleCard> </titleCard>
<div class="content"> <div class="content" v-html="nySuggest">
{{ nySuggest }}
</div> </div>
</div> </div>
</template> </template>

@ -8,7 +8,7 @@
</div> </div>
</template> </template>
<script> <script>
import { productOutput } from '../../../api/scgl' import { IoTDevicesByArea } from '../../../api/scgl'
export default { export default {
data() { data() {
return { return {
@ -18,16 +18,14 @@ export default {
} }
}, },
mounted() { mounted() {
productOutput().then(res => { IoTDevicesByArea().then(res => {
if (res.code == 200) { if (res.code == 200) {
// var xAxisData = res.data.map(item => { var xAxisData = []
// return item.productName var seriesData = []
// }) for (const key in res.data) {
// var seriesData = res.data.map(item => { xAxisData.push(key)
// return item.productQuantity seriesData.push(res.data[key])
// }) }
var xAxisData = ['旬阳县','镇坪县','紫阳县','汉阴县','石泉县','宁陕县']
var seriesData = [20,200,150,100,60,400]
this.$refs.wlwsbsl.option.grid.left = 8 + "%" this.$refs.wlwsbsl.option.grid.left = 8 + "%"
this.$refs.wlwsbsl.getInitEcharts(xAxisData, seriesData) this.$refs.wlwsbsl.getInitEcharts(xAxisData, seriesData)
} }

@ -58,12 +58,12 @@ export default {
{ {
name: 'FAST指挥农业物联网平台', name: 'FAST指挥农业物联网平台',
id: 1, id: 1,
url:'https://pt.dz-ai.com/#/login' url: 'https://pt.dz-ai.com/#/login'
}, },
{ {
name: '功能农业智慧溯源系统', name: '功能农业智慧溯源系统',
id: 2, id: 2,
url:'http://fc.idatasky.com/' url: 'http://fc.idatasky.com/'
} }
], ],
showNewsDialog: false, showNewsDialog: false,
@ -145,9 +145,10 @@ export default {
label: { label: {
// //
normal: { normal: {
show: false, show: true,
textStyle: { textStyle: {
color: "#fff", color: "#fff",
fontSize: 10,
}, },
}, },
// //
@ -166,7 +167,7 @@ export default {
shadowOffsetY: 4, shadowOffsetY: 4,
shadowBlur: 10, shadowBlur: 10,
emphasis: { emphasis: {
label: { label: {
show: false show: false
}, },
@ -202,7 +203,7 @@ export default {
shadowBlur: 10, shadowBlur: 10,
emphasis: { emphasis: {
label: { label: {
opacity:0 opacity: 0
}, },
areaColor: '#065CAE', areaColor: '#065CAE',
}, },
@ -249,6 +250,18 @@ export default {
], ],
}; };
//
nationWide.cityList.map(value => {
if (value.code == JSON.parse(localStorage.getItem('user')).areaAuthCode + '00') {
console.log(111, value.code)
this.mapChart.clear();
this.mapOption.geo[0].map = 'Pmap';
this.mapOption.geo[1].map = 'Pmap';
this.$echarts.registerMap('Pmap', value.data)
this.mapChart.setOption(this.mapOption);
this.isreturn = true;
}
});
// option.geo.map // option.geo.map
this.$echarts.registerMap('china', nationWide.china); this.$echarts.registerMap('china', nationWide.china);
this.mapChart.setOption(this.mapOption); this.mapChart.setOption(this.mapOption);
@ -269,7 +282,7 @@ export default {
video.currentTime = 0; // video.currentTime = 0; //
this.showNewsDialog = false this.showNewsDialog = false
}, },
openSystem(item){ openSystem(item) {
console.log(item) console.log(item)
window.open(item.url) window.open(item.url)
} }
@ -306,7 +319,7 @@ export default {
font-weight: 600; font-weight: 600;
position: relative; position: relative;
bottom: 2.261vh; bottom: 2.261vh;
margin: 0 30px; margin: 0 30px;
span { span {
display: inline-block; display: inline-block;

@ -13,14 +13,14 @@
</div> </div>
</div> </div>
<el-dialog title="中国功能农业发展大事件" :visible.sync="showNewsDialog" :append-to-body="false"> <el-dialog title="中国功能农业发展大事件" :visible.sync="showNewsDialog" :append-to-body="false">
<div class="newContent"> <div class="newContent" v-html="itemContent.eventContent">
<h2>{{ itemContent.eventTitle }}</h2> <!-- <h2>{{ itemContent.eventTitle }}</h2>
<p class="time">发稿时间:{{ itemContent.eventTime }}&nbsp;&nbsp; <p class="time">发稿时间:{{ itemContent.eventTime }}&nbsp;&nbsp;
<!-- 作者:{{ itemContent.createBy }} --> 作者:{{ itemContent.createBy }}
</p> </p>
<p class="content"> <p class="content">
{{ itemContent.eventContent }} {{ itemContent.eventContent }}
</p> </p> -->
</div> </div>
@ -156,4 +156,5 @@ export default {
margin-top: 0 !important; margin-top: 0 !important;
} }
}</style> }
</style>

@ -1,6 +1,6 @@
<template> <template>
<div class="fwfb-wrap"> <div class="fwfb-wrap">
<titleCard>{{ range }}发文省直辖市分布() <titleCard>{{ range == '全球' ? '全球功能农业领域发文主要来源国家/地区分布(篇)' : '中国功能农业领域发文主要来源省/直辖市分布(篇)'}}
</titleCard> </titleCard>
<div class="fwfb-chart"> <div class="fwfb-chart">
<div id="fwfb" style="width: 100%;height: 100%;"></div> <div id="fwfb" style="width: 100%;height: 100%;"></div>

@ -1,6 +1,6 @@
<template> <template>
<div class="zlsource-wrap"> <div class="zlsource-wrap">
<titleCard>{{range}}功能农业领域专利来源国家地区分布() <titleCard>{{ range == '全球' ? '全球功能农业领域专利主要来源国家/地区分布(项)' : '中国功能农业领域专利主要来源省/直辖市分布(项)' }}
</titleCard> </titleCard>
<div class="zlsource-chart"> <div class="zlsource-chart">
<div id="zlsource" style="width: 100%;height: 100%;"></div> <div id="zlsource" style="width: 100%;height: 100%;"></div>

@ -1,6 +1,6 @@
<template> <template>
<div class="zlyjfb-wrap"> <div class="zlyjfb-wrap">
<titleCard>{{ range }}功能农业领域专利研究分分布</titleCard> <titleCard>{{ range }}功能农业领域专利研究分分布</titleCard>
<div class="zlyjfb-zx"> <div class="zlyjfb-zx">
<div id="zlyjfb" style="width: 100%;height: 100%;"> <div id="zlyjfb" style="width: 100%;height: 100%;">
</div> </div>

@ -1,6 +1,6 @@
<template> <template>
<div class="zxfb-wrap"> <div class="zxfb-wrap">
<titleCard>{{ range }}功能农业TOP5省直辖市研究分支分布()</titleCard> <titleCard>{{ range == '全球' ? '全球功能农业领域 TOP5 国家/地区研究分支分布(篇)' : '中国功能农业 TOP5 省/直辖市研究分支分布(篇)'}}</titleCard>
<div class="zxfb-zx"> <div class="zxfb-zx">
<div id="zxfb" style="width: 100%;height: 100%;"> <div id="zxfb" style="width: 100%;height: 100%;">
</div> </div>

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save