Merge remote-tracking branch 'origin/dev_20231201_feizhi' into dev_20231201_feizhi
This commit is contained in:
@@ -0,0 +1,146 @@
|
||||
<template>
|
||||
<PhoneScroll
|
||||
height="calc(100vh - 101px)"
|
||||
:data="list"
|
||||
:page="searchQuery.page"
|
||||
:pageSize="searchQuery.size"
|
||||
:total="total"
|
||||
:loading="loading"
|
||||
pullUpLoad
|
||||
pullDownRefresh
|
||||
:getDataHandler="getData">
|
||||
<div style="padding-top: 10px">
|
||||
<div class="card-content" v-for="item in list" :key="item.id" @click="jumpDetails(item)">
|
||||
<div class="standTitle">
|
||||
<div class="title">{{ item.cid }}</div>
|
||||
</div>
|
||||
|
||||
<div class="standContent">
|
||||
<div class="standState">{{ item.standardName }}</div>
|
||||
<div class="standState">
|
||||
标准/政策: <span style="color: #35720B; padding-left: 5px;">{{ item.category }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="timeFooter">
|
||||
<div style="width: 50%">开始日期: <span style="padding-left: 5px;">{{ convertTime(item.startTime) }}</span></div>
|
||||
<div style="width: 50%">结束日期: <span style="padding-left: 5px;">{{ convertTime(item.endTime) }}</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</PhoneScroll>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PhoneScroll from "@/components/hzwlComponents/phone/PhoneScroll";
|
||||
|
||||
export default {
|
||||
name: "SolicitOpinions",
|
||||
components: {
|
||||
PhoneScroll
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
searchQuery: {
|
||||
page: 1,
|
||||
size: 10,
|
||||
},
|
||||
total: 0,
|
||||
list: [],
|
||||
loading: false,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
convertTime (time) {
|
||||
return time !== '' ? this.$moment(time).format('YYYY-MM-DD') : '-'
|
||||
},
|
||||
getData (page) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const config = {
|
||||
_this: this,
|
||||
loading: 'loading'
|
||||
}
|
||||
if (page) {
|
||||
this.searchQuery.page = page
|
||||
}
|
||||
this.$http._getData("slrs/sar-public-idea/SelectAllPage", this.searchQuery, config).then(res => {
|
||||
if (res.ok) {
|
||||
this.total = res.data.total
|
||||
|
||||
if (this.searchQuery.page === 1) {
|
||||
this.list = res.data.records
|
||||
} else {
|
||||
this.list = [...this.list, ...res.data.records]
|
||||
}
|
||||
}
|
||||
}).finally(() => {
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
},
|
||||
jumpDetails () {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
.scroll-wrapper {
|
||||
height: calc(100vh - 131px);
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.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 {
|
||||
font-size: 3.4vw;
|
||||
color: #333333;
|
||||
font-weight: 600;
|
||||
height: auto;
|
||||
line-height: 20px;
|
||||
padding: 5px 10px;
|
||||
text-align: left;
|
||||
border-bottom: 1px solid #cccccc;
|
||||
}
|
||||
}
|
||||
|
||||
.standContent {
|
||||
font-size: 3.4vw;
|
||||
color: #555555;
|
||||
font-weight: 450;
|
||||
margin-top: 5px;
|
||||
|
||||
.standState {
|
||||
padding-left: 10px;
|
||||
//height: 35px;
|
||||
line-height: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
.timeFooter {
|
||||
font-size: 3.4vw;
|
||||
padding: 0 10px;
|
||||
height: 35px;
|
||||
line-height: 35px;
|
||||
border-top: 1px solid #cccccc;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
}
|
||||
.card-content:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -0,0 +1,189 @@
|
||||
<template>
|
||||
<PhoneScroll
|
||||
height="calc(100vh - 101px)"
|
||||
:data="list"
|
||||
:page="searchQuery.page"
|
||||
:pageSize="searchQuery.pageSize"
|
||||
:total="total"
|
||||
:loading="loading"
|
||||
pullUpLoad
|
||||
pullDownRefresh
|
||||
:getDataHandler="getData">
|
||||
<div style="padding-top: 10px">
|
||||
<div class="card-content" v-for="item in list" :key="item.id" @click="jumpDetails(item)">
|
||||
<div class="standTitle">
|
||||
<div class="title">{{ item.standard || '-' }}</div>
|
||||
</div>
|
||||
|
||||
<div class="standContent">
|
||||
<div class="standState">{{ item.standardName || '-' }}</div>
|
||||
<div class="standState">
|
||||
标准状态: <span style="color: #35720B; padding-left: 5px;">{{textStateMap[item.textState] || '-' }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="timeFooter">
|
||||
<div style="width: 50%">发布日期: <span style="padding-left: 5px;">{{ convertTime(item.releaseDate) }}</span></div>
|
||||
<div style="width: 50%">实施日期: <span style="padding-left: 5px;">{{ convertTime(item.renewTime) }}</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</PhoneScroll>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import PhoneScroll from "@/components/hzwlComponents/phone/PhoneScroll";
|
||||
|
||||
export default {
|
||||
name: "Standard",
|
||||
components: {
|
||||
PhoneScroll
|
||||
},
|
||||
props: {
|
||||
messageType: {
|
||||
type: String,
|
||||
default: 'ZYBZFG'
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
searchQuery: {
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
messageType: this.messageType
|
||||
},
|
||||
total: 0,
|
||||
list: [],
|
||||
loading: false,
|
||||
dict: {},
|
||||
textStateMap: {}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getDicTypeListCode()
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
convertTime (time) {
|
||||
return time !== '' ? this.$moment(time).format('YYYY-MM-DD') : '-'
|
||||
},
|
||||
getData (page) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const config = {
|
||||
_this: this,
|
||||
loading: 'loading'
|
||||
}
|
||||
if (page) {
|
||||
this.searchQuery.page = page
|
||||
}
|
||||
this.$http._getData("lawss/NewsFeed/getNewsFeed", this.searchQuery, config).then(res => {
|
||||
if (res.ok) {
|
||||
this.total = res.data.total
|
||||
|
||||
if (this.searchQuery.page === 1) {
|
||||
this.list = res.data.records
|
||||
} else {
|
||||
this.list = [...this.list, ...res.data.records]
|
||||
}
|
||||
}
|
||||
}).finally(() => {
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
},
|
||||
getDicTypeListCode () {
|
||||
this.$http._getData('sys/dictype/getDicTypeListCode').then(res => {
|
||||
this.dict = {...res.data}
|
||||
// WBZTCLASS 国内、国外 TEXTSTATUSBUSS 企业
|
||||
this.setMap([...this.dict.WBZTCLASS, ...this.dict.TEXTSTATUSBUSS], 'textStateMap')
|
||||
})
|
||||
},
|
||||
setMap(data, key) {
|
||||
data.forEach(item => {
|
||||
this.$set(this[key], item.value, item.label);
|
||||
});
|
||||
},
|
||||
jumpDetails(item) {
|
||||
let pageType = ''
|
||||
switch (item.resourceType) {
|
||||
case 'INLAND':
|
||||
pageType = 'INLAND_STAND'
|
||||
break
|
||||
case 'FOREIGN':
|
||||
pageType = 'FOREIGN_STAND'
|
||||
break
|
||||
case 'BUSINESS':
|
||||
pageType = 'BUSS'
|
||||
break
|
||||
}
|
||||
this.$router.push({
|
||||
name: "domesticDetails",
|
||||
query: {
|
||||
id: item.standardId,
|
||||
pageType
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style scoped lang="less">
|
||||
.root {
|
||||
height: 100%;
|
||||
}
|
||||
.scroll-wrapper {
|
||||
height: calc(100vh - 131px);
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.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 {
|
||||
font-size: 3.4vw;
|
||||
color: #333333;
|
||||
font-weight: 600;
|
||||
height: auto;
|
||||
line-height: 20px;
|
||||
padding: 5px 10px;
|
||||
text-align: left;
|
||||
border-bottom: 1px solid #cccccc;
|
||||
}
|
||||
}
|
||||
|
||||
.standContent {
|
||||
font-size: 3.4vw;
|
||||
color: #555555;
|
||||
font-weight: 450;
|
||||
margin-top: 5px;
|
||||
|
||||
.standState {
|
||||
padding-left: 10px;
|
||||
//height: 35px;
|
||||
line-height: 25px;
|
||||
}
|
||||
}
|
||||
|
||||
.timeFooter {
|
||||
font-size: 3.4vw;
|
||||
padding: 0 10px;
|
||||
height: 35px;
|
||||
line-height: 35px;
|
||||
border-top: 1px solid #cccccc;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
}
|
||||
.card-content:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
</style>
|
||||
@@ -6,36 +6,45 @@
|
||||
<span class="left-title" @click="back"> < </span>
|
||||
<span class="right-title">标准化动态</span>
|
||||
</div>
|
||||
<van-tabs v-model="active">
|
||||
<van-tab name="ZYBZFG" title="在研标准入库">
|
||||
<UnderResearchStandards></UnderResearchStandards>
|
||||
<van-tabs v-model="active" :ellipsis="false" swipeable>
|
||||
<van-tab name="UnderResearchStandards" title="在研标准入库">
|
||||
<Standard message-type="ZYBZFG"></Standard>
|
||||
</van-tab>
|
||||
<van-tab name="GNWBZFG" title="标准法规入库">
|
||||
<StandardRegulations></StandardRegulations>
|
||||
<van-tab name="Domestic" title="国内法规入库">
|
||||
<Standard message-type="GNBZFG"></Standard>
|
||||
</van-tab>
|
||||
<van-tab name="ZLZX" title="资料中心">
|
||||
<van-tab name="Abroad" title="国外法规入库">
|
||||
<Standard message-type="GWBZFG"></Standard>
|
||||
</van-tab>
|
||||
<van-tab name="DataCenter" title="资料中心">
|
||||
<DataCenter></DataCenter>
|
||||
</van-tab>
|
||||
<van-tab name="SolicitOpinions" title="标准征求意见">
|
||||
<SolicitOpinions></SolicitOpinions>
|
||||
</van-tab>
|
||||
<van-tab name="EnterpriseStandard" title="企业标准发布">
|
||||
<Standard message-type="QYBZFB"></Standard>
|
||||
</van-tab>
|
||||
</van-tabs>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import UnderResearchStandards from "./components/UnderResearchStandards";
|
||||
import StandardRegulations from "./components/StandardRegulations";
|
||||
import Standard from "./components/Standard";
|
||||
import SolicitOpinions from "./components/SolicitOpinions";
|
||||
import DataCenter from "./components/DataCenter";
|
||||
|
||||
export default {
|
||||
name: "standDynamics",
|
||||
components: {
|
||||
UnderResearchStandards,
|
||||
StandardRegulations,
|
||||
Standard,
|
||||
SolicitOpinions,
|
||||
DataCenter
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
active: "ZYBZFG",
|
||||
active: "UnderResearchStandards",
|
||||
isShow: true
|
||||
};
|
||||
},
|
||||
@@ -43,7 +52,7 @@ export default {
|
||||
next(vm => {
|
||||
if (from.name === 'phoneHome') {
|
||||
// 首页进入 重新加载
|
||||
vm.active = "ZYBZFG";
|
||||
vm.active = "UnderResearchStandards";
|
||||
vm.isShow = false
|
||||
vm.$nextTick(() => {
|
||||
vm.isShow = true
|
||||
|
||||
@@ -200,6 +200,15 @@
|
||||
</el-form-item>
|
||||
</el-card>
|
||||
</el-timeline-item>
|
||||
<TimeLineFormItem
|
||||
prop="csrUserNames"
|
||||
timestamp="抄送"
|
||||
title="标准法规工程师"
|
||||
multiple
|
||||
:id.sync="roleForm.csrUserIds"
|
||||
:name.sync="roleForm.csrUserNames"
|
||||
:disabled="disabledXX"
|
||||
/>
|
||||
</el-form>
|
||||
</el-timeline>
|
||||
</div>
|
||||
@@ -398,10 +407,12 @@ import ProcessFooter from "../../components/ProcessFooter";
|
||||
import ProcessTitle from "../../components/ProcessTitle";
|
||||
import { saveTaskFirst, queryTaskFirst, inboundLiaisonDetail, taskDel } from "api/process";
|
||||
import ReceiptDescription from '@/components/hzwlComponents/ReceiptDescription'
|
||||
import TimeLineFormItem from '@/components/hzwlComponents/TimeLineFormItem'
|
||||
|
||||
export default {
|
||||
name: "qbfzStep1",
|
||||
components:{
|
||||
TimeLineFormItem,
|
||||
ReceiptDescription,
|
||||
ProcessHeader,
|
||||
ProcessFooter,
|
||||
@@ -454,6 +465,8 @@ export default {
|
||||
approverName: '',
|
||||
examine: '',
|
||||
examineName: '',
|
||||
csrUserIds: '',
|
||||
csrUserNames: '',
|
||||
},
|
||||
//必填人员校验规则
|
||||
roleFormRules: {
|
||||
|
||||
Reference in New Issue
Block a user