手机端页面

This commit is contained in:
宋伟佳
2022-05-26 17:40:10 +08:00
parent 70cd152344
commit 6a79131ad1
13 changed files with 772 additions and 1 deletions
+2
View File
@@ -219,6 +219,8 @@ export default {
&& this.$route.name !== 'AdvancedSearchExternal' && this.$route.name !== 'LoginVerifyNoEncryption'
&& this.$route.name !== 'blankPage' && this.$route.name !== 'processedPage'
&& this.$route.name !== 'loginStandDetails' && this.$route.name !== 'error'
&& this.$route.name !== 'phoneHome'&& this.$route.name !== 'databaseSearch'
&& this.$route.name !== 'standDynamics' && this.$route.name !== 'domesticStand'
&& this.$route.name !== 'OtherStandardExternalDetails' && this.$route.name !== 'OtherStandardExternalDetails') {
this.isBoolean = true
} else {
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 924 B

+166
View File
@@ -0,0 +1,166 @@
<!--全库检索-->
<template>
<div id="database-search">
<div class="search-head">
<div class="head-title">
<span class="left-title" @click="back"> < </span>
<span class="right-title">全库搜索</span>
</div>
<van-search
v-model="searchKey"
show-action
placeholder="请输入搜索关键词"
@search="onSearch"
>
<template #action>
<div @click="onSearch">搜索</div>
</template>
</van-search>
</div>
<div v-if="loading">
<van-loading size="24px" color="#3170A8">加载中...</van-loading>
</div>
<div v-else-if="!loading && standList.length" class="card-content" v-for="item in standList" :key="item.id">
<div class="standTitle">
<div class="title">{{item.title}}</div>
</div>
<div class="standContent">
<div class="standState">标准类别:
<span v-if="item.indexType === 'stand'">国内标准</span>
<span v-if="item.indexType === 'FOREIGN'">海外标准</span>
<span v-if="item.indexType === 'bussstand'">企业标准</span>
</div>
<div class="standSubTime">发布日期: {{item.issue_time}} </div>
</div>
</div>
<div v-else-if="!loading && !standList.length">
<van-empty description="暂无数据" />
</div>
</div>
</template>
<script>
export default {
name: "databaseSearch",
data(){
return{
searchKey: '',
standList: [],
loading: true,
}
},
methods: {
onSearch(){
this.$http.post('search/searchCenter/searchSarBykey',{
selectIndex: 'fulltextserch',
selectValue: this.searchKey,
selectType: 'titleSearch',
page: 1,
pageSize: 20
},{
_this: this,
}, res => {
this.standList = res.data.list
console.log(this.standList);
this.loading = false
}, e => {
console.log(e)
})
},
//返回上一个页面
back(){
this.$router.push('/phoneHome')
},
},
mounted(){
this.searchKey = this.$route.query.searchKey
this.onSearch()
}
};
</script>
<style lang="less" scoped>
#database-search{
width: 100%;
height: 100%;
margin: 0;
padding: 0;
background: #F6F6F6;
.search-head{
width: 100%;
height: 100px;
background: #3170A8;
}
.head-title{
color: #FFFFFF;
line-height: 40px;
font-size: 18px;
.left-title{
margin-left: 10px;
}
.right-title{
float: right;
margin-right: 40%;
}
}
.van-search{
background: #3170A8;
padding: 10px 12px 0 12px;
}
.van-search__content{
background: #8DB2D0;
}
.van-search__action{
color: #FFFFFF;
}
.card-content{
.van-cell-group--inset{
margin: 10px 16px 0 16px;
}
.card-cell{
/deep/.van-cell::after{
display: none;
}
}
}
.card-content{
width: 95%;
height: auto;
margin: 10px;
background-color: #FFFFFF;
border-radius: 5px;
box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
.standTitle{
.title{
color: #333333;
font-weight: 600;
height: auto;
line-height: 20px;
padding: 5px 10px;
text-align: left;
border-bottom: 1px solid #cccccc;
}
}
.standContent{
color: #555555;
font-weight: 450;
margin-top: 5px;
.standState{
padding-left: 10px;
height: 35px;
line-height: 35px;
}
.standSubTime{
padding-left: 10px;
height: 35px;
line-height: 35px;
}
}
}
.van-loading {
position: absolute;
top: 52%;
left: 37%;
}
}
</style>
+212
View File
@@ -0,0 +1,212 @@
<!--国内标准法规库-->
<template>
<div id="domestic-stand">
<div class="search-head">
<div class="head-title">
<span class="left-title" @click="back"> < </span>
<span class="right-title">国内标准法规库</span>
</div>
<van-search
v-model="searchKey"
show-action
placeholder="请输入搜索关键词"
@search="onSearch"
>
<template #action>
<div @click="onSearch">搜索</div>
</template>
</van-search>
</div>
<div v-if="loading">
<van-loading size="24px" color="#3170A8">加载中...</van-loading>
</div>
<div v-else-if="!loading && standList.length" class="card-content" v-for="item in standList" :key="item.id">
<div class="standTitle">
<div class="title">{{item.standSortShow + '&nbsp&nbsp' + item.standNumber + '-' + item.standYear }}</div>
</div>
<div class="standContent">
<div class="standState">{{item.standName}}</div>
<div class="standSubTime">标准性质:
<!-- {{ natureMap[item.standNature] }}-->
<span v-if="natureMap[item.standNature] === '强制性' "
style="color: #F56C6C; padding-left: 5px;">
{{ natureMap[item.standNature] }}
</span>
<span v-if="natureMap[item.standNature] === '推荐性' "
style="color: #E57800; padding-left: 5px;">
{{ natureMap[item.standNature] }}
</span>
</div>
<div class="standSubTime">标准状态:
<span v-if="textStatusMap[item.textStatus] === '废止' || textStatusMap[item.textStatus] === '被代替'"
style="color: #F56C6C; padding-left: 5px;">
{{ textStatusMap[item.textStatus] }}
</span>
<span v-else-if="textStatusMap[item.textStatus] === '参考' || textStatusMap[item.textStatus] === '现行有效'"
style="color: #98E165; padding-left: 5px;">
{{ textStatusMap[item.textStatus] }}
</span>
<span v-else style=" padding-left: 5px;">
{{ textStatusMap[item.textStatus] }}
</span>
</div>
</div>
<div class="content-time">
<div style="margin-top: 10px">
<span style="padding: 20px;">发布日期 {{item.issueTime}}</span>
<span style="padding: 20px;">实施日期 {{item.putTime}}</span>
</div>
</div>
</div>
<div v-else-if="!loading && !standList.length">
<van-empty description="暂无数据" />
</div>
</div>
</template>
<script>
export default {
name: "domesticStand",
data(){
return{
searchKey: '',
loading: true,
standList: [],
standStateOptions: [], //存放文本状态
standNatureOptions: [],
textStatusMap: {},// 文本状态id与name对应
natureMap:{},
}
},
methods:{
onSearch(){
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage',{
page: 1,
pageSize: 20,
standType: 'INLAND'
},{
_this: this
},res=>{
if (res.ok){
this.standList = res.data.list
this.loading = false
}else {
this.$message.error(res.message)
}
},e=>{
})
},
//返回上一个页面
back(){
this.$router.push('/phoneHome')
},
//将文本状态的id和name相对应
setMap(data) {
data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label);
});
},
setNature(data) {
data.forEach(item => {
this.$set(this.natureMap, item.value, item.label);
});
}
},
mounted() {
this.onSearch()
//从数据库中查询下拉框数据
this.$http.get("sys/dictype/getDicTypeListCode", {}, {
_this: this
}, res => {
this.standStateOptions = res.data.WBZTCLASS; // 文本状态
this.standNatureOptions = res.data.SARPROPERTY // 标准性质
this.setMap(this.standStateOptions);
this.setNature(this.standNatureOptions)
});
}
};
</script>
<style lang="less" scoped>
#domestic-stand{
width: 100%;
height: 100%;
margin: 0;
padding: 0;
background: #F6F6F6;
.search-head{
width: 100%;
height: 100px;
background: #3170A8;
}
.head-title{
color: #FFFFFF;
line-height: 40px;
font-size: 18px;
.left-title{
margin-left: 10px;
}
.right-title{
float: right;
margin-right: 34%;
}
}
.van-search{
background: #3170A8;
padding: 10px 12px 0 12px;
}
.van-search__content{
background: #8DB2D0;
}
.van-search__action{
color: #FFFFFF;
}
.card-content{
width: 95%;
height: auto;
margin: 10px;
background-color: #FFFFFF;
border-radius: 5px;
box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
.standTitle{
.title{
color: #333333;
font-weight: 600;
height: auto;
line-height: 20px;
padding: 5px 10px;
text-align: left;
border-bottom: 1px solid #cccccc;
}
}
.standContent{
color: #333333;
font-weight: 500;
margin-top: 5px;
.standState{
height: auto;
padding-left: 10px;
line-height: 25px;
}
.standSubTime{
padding-left: 10px;
height: auto;
line-height: 25px;
}
}
.content-time{
width: 100%;
height: 35px;
margin-top: 5px;
border-top: 1px solid #cccccc;
}
}
.van-loading {
position: absolute;
top: 52%;
left: 37%;
}
}
</style>
+155
View File
@@ -0,0 +1,155 @@
<template>
<div id="phone-home">
<div class="search-top">
<div class="top-title">
</div>
<h3 class="home-title"> S R M S</h3>
<div style="border: 1px solid #FFFFFF; position:absolute; top: 15%; left: 49% ;width: 25px; "></div>
</div>
<div class="search-head">
<van-search
v-model="searchKey"
show-action
placeholder="请输入搜索关键词"
@search="onSearch"
>
<template #action>
<div @click="onSearch">搜索</div>
</template>
</van-search>
</div>
<div class="content">
<div class="content-top" style="margin-top: 10px">
<div class="content-box content-box1"></div>
<span class="content-span">国内标准法规</span>
</div>
<div class="content-top" style="margin-top: 10px">
<div class="content-box content-box2"></div>
<span class="content-span">海外标准法规</span>
</div>
<div class="content-top">
<div class="content-box content-box3"></div>
<span class="content-span">国内外政策</span>
</div>
<div class="content-top">
<div class="content-box content-box4"></div>
<span class="content-span">标准化动态</span>
</div>
</div>
</div>
</template>
<script>
export default {
name: "phoneHome",
data() {
return {
searchKey: "",
};
},
methods: {
onSearch() {
this.$router.push({
name: 'databaseSearch',
query: {
searchKey: this.searchKey
},
})
// this.$http.post('search/searchCenter/searchSarBykey',{
// selectIndex: 'fulltextserch',
// selectValue: this.searchKey,
// selectType: 'titleSearch',
// page: 1,
// pageSize: 20
// },{
// _this: this,
// }, res => {
// console.log(res.data);
// })
},
}
};
</script>
<style lang="less" scoped>
#phone-home {
width: 100%;
height: 100%;
background: #F6F6F6;
.van-search .van-cell {
padding: 10px;
}
.search-top{
height: 200px;
width: 100%;
background: url("../../assets/images/phone/homeTop.png");
background-size:100% 100%;
.top-title{
position: absolute;
top: 15px;
left: 15px;
width: 30%;
height: 5%;
background: url("../../assets/images/phone/phoneTitle.png") no-repeat;
background-size: 100% 100%;
}
.home-title{
color: #FFFFFF;
position: absolute;
top: 12%;
left: 25%
}
}
.search-head{
}
.content {
width: 100%;
display: flex;
flex-wrap: wrap;
background: #F6F6F6;
.content-top {
width: 47%;
height: 150px;
line-height: 230px;
text-align: center;
background: #FFFFFF;
margin: 4px;
border-radius: 5px;
box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
}
.content-box{
display: inline-block;
width: 50px;
height: 50px;
position: absolute;
background-size: 100% 100%;
}
.content-box{
top: 39%;
left: 20%;
background: url("../../assets/images/phone/domesticStand.png");
}
.content-box2{
top: 39%;
left: 65%;
background: url("../../assets/images/phone/overseasStand.png");
}
.content-box3{
top: 58%;
left: 20%;
background: url("../../assets/images/phone/policyStand.png");
}
.content-box4{
top: 58%;
left: 65%;
background: url("../../assets/images/phone/dynamicsStand.png");
}
.content-span{
color: #000000;
font-size: 16px;
font-weight: 500;
}
}
}
</style>
+212
View File
@@ -0,0 +1,212 @@
<!--全库检索-->
<template>
<div id="database-search">
<div class="search-head">
<div class="head-title">
<span class="left-title" @click="back"> < </span>
<span class="right-title">标准化动态</span>
</div>
<van-tabs active="active" @change="onChange">
<van-tab name="ZYBZFG" title="在研标准入库">
<div v-if="loading">
<van-loading size="24px" color="#3170A8">加载中...</van-loading>
</div>
<div v-else-if="!loading && standList.length" class="card-content" v-for="item in standList" :key="item.id">
<div class="standTitle">
<div class="title">{{ item.standardName }}</div>
</div>
<div class="standContent">
<div class="standState">标准状态:
<span style="color: #98E165; padding-left: 5px;">
{{ textStatusMap[item.textState] }}
</span></div>
<div class="standSubTime">发布日期:
<span style="padding-left: 5px;">
{{ item.releaseDate }}
</span>
</div>
</div>
</div>
<div v-else-if="!loading && !standList.length">
<van-empty description="暂无数据" />
</div>
</van-tab>
<van-tab name="GNWBZFG" title="标准法规入库">
<div v-if="loading">
<van-loading size="24px" color="#3170A8">加载中...</van-loading>
</div>
<div v-else-if="!loading && standList.length" class="card-content" v-for="item in standList" :key="item.id">
<div class="standTitle">
<div class="title">{{ item.standardName }}</div>
</div>
<div class="standContent">
<div class="standState">标准状态:
<span style="color: #98E165; padding-left: 5px;">
{{ textStatusMap[item.textState] }}
</span></div>
<div class="standSubTime">发布日期:
<span style="padding-left: 5px;">
{{ item.releaseDate }}
</span>
</div>
</div>
</div>
<div v-else-if="!loading && !standList.length">
<van-empty description="暂无数据" />
</div>
</van-tab>
</van-tabs>
</div>
</div>
</template>
<script>
export default {
name: "standDynamics",
data() {
return {
active: "",
messageType: "ZYBZFG",
standList: [],
standStateOptions: [], //存放文本状态
textStatusMap: {},// 文本状态id与name对应
loading: true
};
},
methods: {
//返回上一个页面
back() {
this.$router.push("/phoneHome");
},
onChange(name) {
this.messageType = name;
this.onDynamics();
},
onDynamics(){
this.loading = true
this.$http.get("/lawss/NewsFeed/getNewsFeed", {
messageType: this.messageType,
page: 1,
paeSize: 10
}, {
_this: this
}, res => {
this.standList = res.data;
this.loading = false;
}, e => {
console.log(e);
});
},
//将文本状态的id和name相对应
setMap(data) {
data.forEach(item => {
this.$set(this.textStatusMap, item.value, item.label);
});
}
},
mounted() {
this.onDynamics();
//从数据库中查询下拉框数据
this.$http.get("sys/dictype/getDicTypeListCode", {}, {
_this: this
}, res => {
this.standStateOptions = res.data.WBZTCLASS; // 文本状态
this.setMap(this.standStateOptions);
});
}
};
</script>
<style lang="less" scoped>
#database-search {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
background: #F6F6F6;
.search-head {
width: 100%;
height: 100px;
background: #3170A8;
}
.head-title {
color: #FFFFFF;
line-height: 40px;
font-size: 18px;
.left-title {
margin-left: 10px;
}
.right-title {
float: right;
margin-right: 40%;
}
}
.van-tabs {
margin-top: 17px;
}
.van-tab {
color: #3170A8;
}
/deep/ .van-tab--active {
color: #3170A8;
font-weight: 600;
}
/deep/ .van-tabs__line {
width: 50%;
background-color: #3170A8;
}
.card-content {
width: 95%;
height: auto;
margin: 10px;
background-color: #FFFFFF;
border-radius: 5px;
box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1);
.standTitle {
.title {
color: #333333;
font-weight: 600;
height: auto;
line-height: 20px;
padding: 5px 10px;
text-align: left;
border-bottom: 1px solid #cccccc;
}
}
.standContent {
color: #555555;
font-weight: 450;
margin-top: 5px;
.standState {
padding-left: 10px;
height: 35px;
line-height: 35px;
}
.standSubTime {
padding-left: 10px;
height: 35px;
line-height: 35px;
}
}
}
.van-loading {
position: absolute;
top: 350px;
left: 37%;
}
}
</style>
@@ -200,7 +200,7 @@
<a v-if="scope.row.standYear && textStatusMap[scope.row.textStatus] === '废止' || textStatusMap[scope.row.textStatus] === '被代替'" style="color: #F56C6C" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standSortShow
}} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else-if="scope.row.standYear && textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF" class="table-jump" @click="handlePreview(scope.row)">{{
<a v-else-if="textStatusMap[scope.row.textStatus] === '——' " style="color: #409EFF" class="table-jump" @click="handlePreview(scope.row)">{{
scope.row.standSortShow
}} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</a>
<a v-else-if="scope.row.standYear" style="color: #333333" class="table-jump" @click="handlePreview(scope.row)">{{
+24
View File
@@ -54,6 +54,30 @@ const routes = [
component: () =>
import('@/pages/login')
},
{
path: '/phoneHome',
name: 'phoneHome',
component: () =>
import('@/pages/phone/phoneHome')
},
{
path: '/databaseSearch',
name: 'databaseSearch',
component: () =>
import('@/pages/phone/databaseSearch')
},
{
path: '/standDynamics',
name: 'standDynamics',
component: () =>
import('@/pages/phone/standDynamics')
},
{
path: '/domesticStand',
name: 'domesticStand',
component: () =>
import('@/pages/phone/domesticStand')
},
{
path: '/loginVerify',
name: 'LoginVerify',