Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
@@ -151,6 +151,11 @@
|
||||
path: '/standInvolveProject',
|
||||
menuId: '8a9c87fe06244fb9d55e78fb281f625b'
|
||||
},
|
||||
{
|
||||
title: '问答库', // 把 标准涉及项目 这几个字 改成 标准合规评估结果
|
||||
path: '/standQA',
|
||||
menuId: ''
|
||||
},
|
||||
// {
|
||||
// title: '零部件编号申请',
|
||||
// path: '/partCodeApply',
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
border
|
||||
style="cursor:pointer;"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
|
||||
style="width: 100%">
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
@@ -24,20 +23,35 @@
|
||||
width="55">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standName"
|
||||
label="名称">
|
||||
label="标准编号">
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standName }}</span>
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standName"
|
||||
label="标准名称">
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standardName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="120"
|
||||
label="发布时间">
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.issueTime ? $moment(scope.row.issueTime).format('YYYY-MM-DD') : '' }}</span>
|
||||
<span>{{scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="more" v-if="!pageVerify" @click="togo">更多 ⋙</div>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
<pagination
|
||||
v-if="pageVerify"
|
||||
style="position: static;"
|
||||
:page="page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"></pagination>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -48,8 +62,13 @@ export default {
|
||||
mixins: [],
|
||||
data() {
|
||||
return {
|
||||
putTime: '',
|
||||
standardReleaseList: [], //标准发布数据
|
||||
loading: false,
|
||||
pageVerify: false,
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
putTime: '',
|
||||
standardReleaseList: [], //标准发布数据
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
@@ -60,13 +79,33 @@ export default {
|
||||
// this.addDate()
|
||||
},
|
||||
methods: {
|
||||
pageChange(page) {
|
||||
this.page = page
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
},
|
||||
// 分页每页显示数改变后方法
|
||||
pageSizeChange(pageSize) {
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
// 此处需要调用接口,修改个人配置
|
||||
},
|
||||
togo () {
|
||||
if(this.total && this.total > 10){
|
||||
this.pageVerify = true
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
}else {
|
||||
this.pageVerify = false
|
||||
}
|
||||
this.getAdvice()
|
||||
},
|
||||
// 点击查看
|
||||
handlePreview (item) {
|
||||
let routeUrl = this.$router.resolve({
|
||||
name: 'OtherStandardDetails',
|
||||
params: {
|
||||
id: item.id,
|
||||
pageType: item.standType + '_STAND'
|
||||
id: item.standardId,
|
||||
pageType: item.resourceType + '_STAND'
|
||||
}
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
@@ -77,18 +116,21 @@ export default {
|
||||
},
|
||||
//获取数据
|
||||
getAdvice() {
|
||||
let obj = {}
|
||||
obj.limit = 10
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/getStandInfoByList', obj, {
|
||||
_this: this
|
||||
}, res => {
|
||||
let arr = res.data
|
||||
arr.forEach(item => {
|
||||
if(item.standName !== ""){
|
||||
this.standardReleaseList.push(item)
|
||||
}
|
||||
})
|
||||
this.loading = true
|
||||
this.$http.get("/lawss/NewsFeed/getNewsFeed", {
|
||||
messageType: 'GNWBZFG',
|
||||
page: this.page,
|
||||
pageSize: this.pageSize
|
||||
}, {
|
||||
_this: this,loading: 'loading'
|
||||
}, res => {
|
||||
this.standardReleaseList = res.data.records
|
||||
this.total = res.data.total
|
||||
this.loading = false
|
||||
}, e => {
|
||||
this.loading = false
|
||||
this.standardReleaseList = []
|
||||
this.total = 0
|
||||
})
|
||||
},
|
||||
},
|
||||
@@ -103,6 +145,18 @@ export default {
|
||||
}
|
||||
/deep/.el-table td > .cell{
|
||||
font-size: 13px;
|
||||
}
|
||||
/deep/.more {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 2px;
|
||||
font-size: 12px;
|
||||
float: right;
|
||||
color: #4788c0;
|
||||
&:hover {
|
||||
color: #3a8ee6;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
width: 100%;
|
||||
.time-title {
|
||||
|
||||
@@ -0,0 +1,178 @@
|
||||
<!-- 企标发布 -->
|
||||
<template>
|
||||
<div class="release">
|
||||
<!-- <ul>-->
|
||||
<!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >-->
|
||||
<!-- <div style="height: 18px;">-->
|
||||
<!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>-->
|
||||
<!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="standardReleaseList"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
style="cursor:pointer;"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="55">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="标准编号">
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standName"
|
||||
label="标准名称">
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standardName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="120"
|
||||
label="发布时间">
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="more" v-if="!pageVerify" @click="togo">更多 ⋙</div>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
<pagination
|
||||
v-if="pageVerify"
|
||||
style="position: static;"
|
||||
:page="page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"></pagination>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'ReleaseBuss',
|
||||
components: {},
|
||||
mixins: [],
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
pageVerify: false,
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
putTime: '',
|
||||
standardReleaseList: [], //标准发布数据
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
mounted() {
|
||||
this.getDate()
|
||||
this.getAdvice()
|
||||
// this.addDate()
|
||||
},
|
||||
methods: {
|
||||
pageChange(page) {
|
||||
this.page = page
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
},
|
||||
// 分页每页显示数改变后方法
|
||||
pageSizeChange(pageSize) {
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
// 此处需要调用接口,修改个人配置
|
||||
},
|
||||
togo () {
|
||||
if(this.total && this.total > 10){
|
||||
this.pageVerify = true
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
}else {
|
||||
this.pageVerify = false
|
||||
}
|
||||
this.getAdvice()
|
||||
},
|
||||
// 点击查看
|
||||
handlePreview (item) {
|
||||
let routeUrl = this.$router.resolve({
|
||||
name: 'OtherBussStandardDetails',
|
||||
params: {
|
||||
id: item.standardId,
|
||||
pageType: 'BUSINESS_STAND'
|
||||
}
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
},
|
||||
//截取时间
|
||||
getDate (date) {
|
||||
return date != null ? date.substring(0, date.indexOf(' ')) : ''
|
||||
},
|
||||
//获取数据
|
||||
getAdvice() {
|
||||
this.loading = true
|
||||
this.$http.get("/lawss/NewsFeed/getNewsFeed", {
|
||||
messageType: 'QYBZFB',
|
||||
page: this.page,
|
||||
pageSize: this.pageSize
|
||||
}, {
|
||||
_this: this,loading: 'loading'
|
||||
}, res => {
|
||||
this.standardReleaseList = res.data.records
|
||||
this.total = res.data.total
|
||||
this.loading = false
|
||||
}, e => {
|
||||
this.loading = false
|
||||
this.standardReleaseList = []
|
||||
this.total = 0
|
||||
})
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.release {
|
||||
/deep/.el-table th > .cell {
|
||||
font-size: 15px;
|
||||
}
|
||||
/deep/.el-table td > .cell{
|
||||
font-size: 13px;
|
||||
}
|
||||
/deep/.more {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 2px;
|
||||
font-size: 12px;
|
||||
float: right;
|
||||
color: #4788c0;
|
||||
&:hover {
|
||||
color: #3a8ee6;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
width: 100%;
|
||||
.time-title {
|
||||
margin: 15px;
|
||||
.time {
|
||||
float: right;
|
||||
color:#333333;
|
||||
}
|
||||
a {
|
||||
color: #ffffff;
|
||||
&:hover {
|
||||
color: #e9c851;
|
||||
cursor:pointer;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,183 @@
|
||||
<!-- 企标发布 -->
|
||||
<template>
|
||||
<div class="release">
|
||||
<!-- <ul>-->
|
||||
<!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >-->
|
||||
<!-- <div style="height: 18px;">-->
|
||||
<!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>-->
|
||||
<!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="standardReleaseList"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
style="cursor:pointer;"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
|
||||
<el-table-column
|
||||
label="分类"
|
||||
align="center"
|
||||
width="80">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="问题描述">
|
||||
<template slot-scope="scope">
|
||||
<!-- <span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standName"
|
||||
label="提问人"
|
||||
width="100">
|
||||
<template slot-scope="scope">
|
||||
<!-- <span @click="handlePreview(scope.row)">{{ scope.row.standardName }}</span>-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="120"
|
||||
label="提问时间">
|
||||
<template slot-scope="scope">
|
||||
<!-- <span>{{scope.row.releaseDate ? $moment(scope.row.releaseDate).format('YYYY-MM-DD') : '' }}</span>-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="more" v-if="!pageVerify" @click="togo">更多 ⋙</div>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
<pagination
|
||||
v-if="pageVerify"
|
||||
style="position: static;"
|
||||
:page="page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"></pagination>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'ReleaseQA',
|
||||
components: {},
|
||||
mixins: [],
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
pageVerify: false,
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
putTime: '',
|
||||
standardReleaseList: [], //标准问答数据
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
mounted() {
|
||||
this.getDate()
|
||||
this.getAdvice()
|
||||
// this.addDate()
|
||||
},
|
||||
methods: {
|
||||
pageChange(page) {
|
||||
this.page = page
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
},
|
||||
// 分页每页显示数改变后方法
|
||||
pageSizeChange(pageSize) {
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
// 此处需要调用接口,修改个人配置
|
||||
},
|
||||
togo () {
|
||||
if(this.total && this.total > 10){
|
||||
this.pageVerify = true
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
}else {
|
||||
this.pageVerify = false
|
||||
}
|
||||
this.getAdvice()
|
||||
},
|
||||
// 点击查看
|
||||
handlePreview (item) {
|
||||
// let routeUrl = this.$router.resolve({
|
||||
// name: 'OtherBussStandardDetails',
|
||||
// params: {
|
||||
// id: item.standardId,
|
||||
// pageType: 'BUSINESS_STAND'
|
||||
// }
|
||||
// })
|
||||
// window.open(routeUrl.href, '_blank')
|
||||
},
|
||||
//截取时间
|
||||
getDate (date) {
|
||||
return date != null ? date.substring(0, date.indexOf(' ')) : ''
|
||||
},
|
||||
//获取数据
|
||||
getAdvice() {
|
||||
this.loading = true
|
||||
// 模拟加载
|
||||
const timer = setInterval(() => {
|
||||
this.loading = false
|
||||
}, 2000)
|
||||
console.log(timer)
|
||||
// this.$http.get("/lawss/NewsFeed/getNewsFeed", {
|
||||
// messageType: 'QYBZFB',
|
||||
// page: this.page,
|
||||
// pageSize: this.pageSize
|
||||
// }, {
|
||||
// _this: this,loading: 'loading'
|
||||
// }, res => {
|
||||
// this.standardReleaseList = res.data.records
|
||||
// this.total = res.data.total
|
||||
// this.loading = false
|
||||
// }, e => {
|
||||
// this.loading = false
|
||||
// this.standardReleaseList = []
|
||||
// this.total = 0
|
||||
// })
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.release {
|
||||
/deep/.el-table th > .cell {
|
||||
font-size: 15px;
|
||||
}
|
||||
/deep/.el-table td > .cell{
|
||||
font-size: 13px;
|
||||
}
|
||||
/deep/.more {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 2px;
|
||||
font-size: 12px;
|
||||
float: right;
|
||||
color: #4788c0;
|
||||
&:hover {
|
||||
color: #3a8ee6;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
width: 100%;
|
||||
.time-title {
|
||||
margin: 15px;
|
||||
.time {
|
||||
float: right;
|
||||
color:#333333;
|
||||
}
|
||||
a {
|
||||
color: #ffffff;
|
||||
&:hover {
|
||||
color: #e9c851;
|
||||
cursor:pointer;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,194 @@
|
||||
<!-- 标准发布 -->
|
||||
<template>
|
||||
<div class="release">
|
||||
<!-- <ul>-->
|
||||
<!-- <li v-for="item in standardReleaseList" :key="item.id" class="time-title" >-->
|
||||
<!-- <div style="height: 18px;">-->
|
||||
<!-- <a @click="handlePreview(item)" style="color: #333333" class="table-jump">{{ item.standName }}</a>-->
|
||||
<!-- <span class="time">{{item.issueTime ? $moment(item.issueTime).format('YYYY-MM-DD') : '' }}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- </li>-->
|
||||
<!-- </ul>-->
|
||||
<el-table
|
||||
ref="selection"
|
||||
:data="standardReleaseList"
|
||||
tooltip-effect="dark"
|
||||
border
|
||||
style="cursor:pointer;"
|
||||
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}">
|
||||
<el-table-column
|
||||
label="序号"
|
||||
type="index"
|
||||
align="center"
|
||||
width="55">
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standard"
|
||||
label="标准编号">
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standard }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
prop="standardName"
|
||||
label="标准名称">
|
||||
<template slot-scope="scope">
|
||||
<span @click="handlePreview(scope.row)">{{ scope.row.standardName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
width="120"
|
||||
label="文本状态">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ textStatusMap[scope.row.textState] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="more" v-if="!pageVerify" @click="togo">更多 ⋙</div>
|
||||
<loading :loading="loading">加载中...</loading>
|
||||
<pagination
|
||||
v-if="pageVerify"
|
||||
style="position: static;"
|
||||
:page="page"
|
||||
:total="total"
|
||||
@pageChange="pageChange"
|
||||
@pageSizeChange="pageSizeChange"></pagination>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'ReleaseUs',
|
||||
components: {},
|
||||
mixins: [],
|
||||
data() {
|
||||
return {
|
||||
loading: false,
|
||||
pageVerify: false,
|
||||
page: 1,
|
||||
pageSize: 10,
|
||||
total: 0,
|
||||
putTime: '',
|
||||
standardReleaseList: [], //标准发布数据
|
||||
textStatusMap: {} // 文本状态id与name对应
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
watch: {},
|
||||
mounted() {
|
||||
this.$http.get('sys/dictype/getDicTypeListCode', '', {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.data.WBZTCLASS !== undefined && res.data.WBZTCLASS !== null){
|
||||
this.setMap(res.data.WBZTCLASS) // 文本状态
|
||||
}
|
||||
}, e => {
|
||||
})
|
||||
this.getDate()
|
||||
this.getAdvice()
|
||||
// this.addDate()
|
||||
},
|
||||
methods: {
|
||||
pageChange(page) {
|
||||
this.page = page
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
},
|
||||
// 分页每页显示数改变后方法
|
||||
pageSizeChange(pageSize) {
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
this.getAdvice()
|
||||
// 此处需要调用接口,修改个人配置
|
||||
},
|
||||
togo () {
|
||||
if(this.total && this.total > 10){
|
||||
this.pageVerify = true
|
||||
this.pageSize = this.$store.getters.userInfo.configContent
|
||||
}else {
|
||||
this.pageVerify = false
|
||||
}
|
||||
this.getAdvice()
|
||||
},
|
||||
// 将文本状态的id与name对应
|
||||
setMap(data) {
|
||||
data.forEach(item => {
|
||||
this.$set(this.textStatusMap, item.value, item.label)
|
||||
})
|
||||
},
|
||||
// 点击查看
|
||||
handlePreview (item) {
|
||||
let routeUrl = this.$router.resolve({
|
||||
name: 'OtherStandardDetails',
|
||||
params: {
|
||||
id: item.standardId,
|
||||
pageType: item.resourceType + '_STAND'
|
||||
}
|
||||
})
|
||||
window.open(routeUrl.href, '_blank')
|
||||
},
|
||||
//截取时间
|
||||
getDate (date) {
|
||||
return date != null ? date.substring(0, date.indexOf(' ')) : ''
|
||||
},
|
||||
//获取数据
|
||||
getAdvice() {
|
||||
this.loading = true
|
||||
this.$http.get("/lawss/NewsFeed/getNewsFeed", {
|
||||
messageType: 'ZYBZFG',
|
||||
page: this.page,
|
||||
pageSize: this.pageSize
|
||||
}, {
|
||||
_this: this,loading: 'loading'
|
||||
}, res => {
|
||||
this.standardReleaseList = res.data.records
|
||||
this.total = res.data.total
|
||||
this.loading = false
|
||||
}, e => {
|
||||
this.loading = false
|
||||
this.standardReleaseList = []
|
||||
this.total = 0
|
||||
})
|
||||
},
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.release {
|
||||
/deep/.el-table th > .cell {
|
||||
font-size: 15px;
|
||||
}
|
||||
/deep/.el-table td > .cell{
|
||||
font-size: 13px;
|
||||
}
|
||||
/deep/.more {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 2px;
|
||||
font-size: 12px;
|
||||
float: right;
|
||||
color: #4788c0;
|
||||
&:hover {
|
||||
color: #3a8ee6;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
width: 100%;
|
||||
.time-title {
|
||||
margin: 15px;
|
||||
.time {
|
||||
float: right;
|
||||
color:#333333;
|
||||
}
|
||||
a {
|
||||
color: #ffffff;
|
||||
&:hover {
|
||||
color: #e9c851;
|
||||
cursor:pointer;
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -14,21 +14,6 @@
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
|
||||
<el-select
|
||||
v-model="checkStateType"
|
||||
class="search-group-itemType"
|
||||
placeholder="请选择"
|
||||
@change="checkStateTypeFunc"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in jumpPageType"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
|
||||
<div class="search-condition">
|
||||
<el-input
|
||||
@keyup.native.enter="search"
|
||||
@@ -37,7 +22,8 @@
|
||||
placeholder="请输入关键词"
|
||||
clearable
|
||||
></el-input>
|
||||
<el-button style="box-shadow:1px 1px 10px rgba(0,0,0,0.2);margin-left: 5px;font-size: 15px;" type="primary" @click="search">一般检索</el-button>
|
||||
<el-button style="box-shadow:1px 1px 5px rgba(0,0,0,0.2);margin-left: 5px;font-size: 15px;" type="primary" @click="search('titleSearch')">一般检索(标题)</el-button>
|
||||
<el-button style="box-shadow:1px 1px 50px rgba(0,0,0,0.2);margin-left: 5px;font-size: 15px;" type="primary" @click="search('allTextSearch')">一般检索(全文)</el-button>
|
||||
<el-button style="box-shadow:1px 1px 10px rgba(0,0,0,0.2);margin-left: 5px;font-size: 15px;" type="primary" @click="seniorSearch">高级检索</el-button>
|
||||
</div>
|
||||
</div>
|
||||
@@ -93,10 +79,10 @@ export default {
|
||||
computed: {},
|
||||
watch: {},
|
||||
methods: {
|
||||
checkStateTypeFunc(data){
|
||||
this.checkStateType = data
|
||||
this.$forceUpdate()
|
||||
},
|
||||
// checkStateTypeFunc(data){
|
||||
// this.checkStateType = data
|
||||
// this.$forceUpdate()
|
||||
// },
|
||||
checkStateFunc(data){
|
||||
if(data === 'All'){
|
||||
this.showType = true
|
||||
@@ -104,13 +90,13 @@ export default {
|
||||
this.showType = false
|
||||
}
|
||||
},
|
||||
search() {
|
||||
search(checkStateType) {
|
||||
this.$router.push({
|
||||
name: 'StandardSearch',
|
||||
params: {
|
||||
selectKey: this.checkState,
|
||||
searchValue: this.checkContent || undefined,
|
||||
allType: this.checkStateType,
|
||||
allType: checkStateType,
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
@@ -37,11 +37,7 @@
|
||||
label="结束时间">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div
|
||||
style="height: 20px;background-color: #fff;text-align: right;color: #4788c0; position: absolute; bottom: 5px; right: 5px">
|
||||
<span style="margin-right: 10px;cursor: pointer;font-size: 12px"
|
||||
@click="$router.push('standardForComments')">更多 ⋙</span>
|
||||
</div>
|
||||
<div class="more" @click="$router.push('standardForComments')">更多 ⋙</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -97,6 +93,18 @@ export default {
|
||||
|
||||
<style lang="less" scoped>
|
||||
.solicitopinions {
|
||||
/deep/.more {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
font-size: 12px;
|
||||
float: right;
|
||||
color: #4788c0;
|
||||
&:hover {
|
||||
color: #3a8ee6;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
/deep/.el-table__body-wrapper {
|
||||
max-height: calc(65vh - 101px);
|
||||
overflow-y: auto;
|
||||
|
||||
@@ -15,10 +15,22 @@
|
||||
<span slot="label"><i class="el-icon-s-order"></i> 标准征求意见</span>
|
||||
<solicitOpinions></solicitOpinions>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="release">
|
||||
<span slot="label"><i class="el-icon-s-promotion"></i> 标准发布</span>
|
||||
<el-tab-pane name="release" style="overflow-y: auto;height: 100%">
|
||||
<span slot="label"><i class="el-icon-s-promotion"></i> 国内外标准法规入库</span>
|
||||
<release></release>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="releaseUs" style="overflow-y: auto;height: 100%">
|
||||
<span slot="label"><i class="el-icon-s-operation"></i> 在研标准法规入库</span>
|
||||
<releaseUs></releaseUs>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="releaseBuss" style="overflow-y: auto;height: 100%">
|
||||
<span slot="label"><i class="el-icon-s-promotion"></i> 企业标准发布</span>
|
||||
<releaseBuss></releaseBuss>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane name="releaseQA" style="overflow-y: auto;height: 100%">
|
||||
<span slot="label"><i class="el-icon-chat-line-round"></i> 标准问答</span>
|
||||
<releaseQA></releaseQA>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
</div>
|
||||
@@ -37,6 +49,9 @@
|
||||
<script>
|
||||
import searchGroup from './components/searchGroup'
|
||||
import release from './components/release'
|
||||
import releaseUs from './components/releaseUs'
|
||||
import releaseBuss from './components/releaseBuss'
|
||||
import releaseQA from './components/releaseQA'
|
||||
import solicitOpinions from './components/solicitopinions'
|
||||
import navMenu from './components/navMenu'
|
||||
import todoList from './components/todoList'
|
||||
@@ -47,6 +62,9 @@ export default {
|
||||
searchGroup,
|
||||
solicitOpinions,
|
||||
release,
|
||||
releaseUs,
|
||||
releaseBuss,
|
||||
releaseQA,
|
||||
navMenu,
|
||||
todoList,
|
||||
Empennage,
|
||||
|
||||
@@ -0,0 +1,210 @@
|
||||
<!--我的回答-->
|
||||
<template>
|
||||
<div>
|
||||
<el-divider style="margin: 10px 0;"></el-divider>
|
||||
<div id="message-content">
|
||||
<el-form ref="form" :model="form" :rules="rules">
|
||||
<el-form-item prop="reply">
|
||||
<el-input
|
||||
type="textarea"
|
||||
:rows="2"
|
||||
placeholder="请输入回答内容"
|
||||
v-model="form.reply">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<div>
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="small"
|
||||
style="float: right;"
|
||||
@click="handleSubmit"
|
||||
>提交</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="small"
|
||||
style="float: right;margin-right: 10px;"
|
||||
@click="openUploadFileDialog"
|
||||
>上传文件</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="small"
|
||||
style="float: right;"
|
||||
@click="queArchive"
|
||||
>问题归档</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="small"
|
||||
style="float: right;margin-right: 10px;"
|
||||
@click="invitation"
|
||||
>邀请</el-button>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-dialog
|
||||
width='400px'
|
||||
:visible.sync="importModalshowflagtemp"
|
||||
title="上传文件"
|
||||
:footer-hide="true"
|
||||
append-to-body
|
||||
>
|
||||
<el-upload
|
||||
multiple
|
||||
drag
|
||||
:on-success="uploadSuccess"
|
||||
:before-upload="beforeUpload"
|
||||
:on-remove="removeOneFile"
|
||||
:action="actionPath"
|
||||
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
|
||||
name="file"
|
||||
:file-list="fileList"
|
||||
ref="importFileAboutStand">
|
||||
<i class="el-icon-upload"></i>
|
||||
<div class="el-upload__text">点击或拖拽上传文件</div>
|
||||
</el-upload>
|
||||
</el-dialog>
|
||||
<!-- 选择回答人-->
|
||||
<Role-tree
|
||||
is-title="选择回答人"
|
||||
:is-visible.sync="roleFlag"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></Role-tree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "answerItem",
|
||||
data(){
|
||||
return{
|
||||
roleFlag: false,
|
||||
nodeList: [],
|
||||
// 上传地址
|
||||
actionPath: 'api/att/attFile/uploadNew',
|
||||
importModalshowflagtemp: false,
|
||||
fileList: [],
|
||||
form:{
|
||||
reply: '',
|
||||
answerer: this.$store.getters.userInfo.userId,
|
||||
},
|
||||
rules: {
|
||||
reply: [
|
||||
{ required: true, message: '请输入回复内容', trigger: 'blur' },
|
||||
{ min: 1, max: 500, message: '长度在 1 到 500 个字符', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
//提交
|
||||
handleSubmit(){
|
||||
let asdId = sessionStorage.getItem('queId')
|
||||
this.form.fileList = this.fileList
|
||||
this.form.askId = asdId
|
||||
this.$http.postData('lawss/Reply/insertReply',{ ...this.form },{
|
||||
_this: this
|
||||
}, res => {
|
||||
|
||||
}, e => {
|
||||
|
||||
})
|
||||
},
|
||||
//上传文件
|
||||
openUploadFileDialog(){
|
||||
this.importModalshowflagtemp = true
|
||||
},
|
||||
//上传成功
|
||||
uploadSuccess(res,file,fileList){
|
||||
if(res.ok){
|
||||
this.fileList.push(res.data)
|
||||
this.$message.success('上传成功')
|
||||
}else{
|
||||
this.$message.warning(res.message)
|
||||
fileList.pop()
|
||||
}
|
||||
this.importModalshowflagtemp = false
|
||||
},
|
||||
//文件上传前
|
||||
beforeUpload(file){
|
||||
console.log(file);
|
||||
var filename = file.name;
|
||||
var index1 = filename.lastIndexOf('.')
|
||||
var index2 = filename.length
|
||||
var fileSuffix = filename.substring(index1, index2)
|
||||
//把后缀转大写
|
||||
if(fileSuffix){
|
||||
fileSuffix = fileSuffix.toUpperCase()
|
||||
}
|
||||
// 判断上传文件格式
|
||||
if (fileSuffix === ".PDF" || fileSuffix === ".DOC" || fileSuffix === ".DOCX" || fileSuffix === ".PPT"
|
||||
|| fileSuffix === ".PPTX" || fileSuffix === ".XLS" || fileSuffix === ".XLSX"
|
||||
|| fileSuffix === ".PNG" || fileSuffix === ".JPG" || fileSuffix === ".JPEG") {
|
||||
return true;
|
||||
} else {
|
||||
this.$message.error("文件" + file.name + "格式不正确,请上传pdf、doc、docx、ppt、pptx、xls、xlsx、png、jpg、jpeg等文件");
|
||||
return false;
|
||||
}
|
||||
// 判断文件上传大小
|
||||
if (file.size / 1024 / 1024 > 300) {
|
||||
this.$message.warning("文件" + file.name + "大小不能超过300M");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
//删除文件
|
||||
removeOneFile(){
|
||||
this.fileList.forEach((item,index) => {
|
||||
if(item.name === file.name || item.id === file.id){
|
||||
this.fileList.splice(index, 1)
|
||||
}
|
||||
})
|
||||
},
|
||||
checkedRole(data){
|
||||
let asdId = sessionStorage.getItem('queId')
|
||||
this.$http.postData('lawss/AskUser/insertAskUser',{
|
||||
asdId: asdId,
|
||||
usid: data[0].id,
|
||||
},{
|
||||
_this: this
|
||||
}, res => {
|
||||
if(res.ok){
|
||||
this.$message.success('邀请成功')
|
||||
}
|
||||
}, e => {
|
||||
|
||||
})
|
||||
},
|
||||
//问题归档
|
||||
queArchive(){
|
||||
let list = []
|
||||
let mergeList = JSON.parse(sessionStorage.getItem('mergeList'))
|
||||
for (let i = 0; i < mergeList.length; i++) {
|
||||
list.push(mergeList[i])
|
||||
}
|
||||
let listId = list.join(',')
|
||||
this.$http.post('lawss/Reply/updateReply', {
|
||||
id: listId,
|
||||
},{
|
||||
_this: this
|
||||
}, res => {
|
||||
}, e => {
|
||||
|
||||
})
|
||||
},
|
||||
//邀请
|
||||
invitation(){
|
||||
this.roleFlag = true
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
#message-content{
|
||||
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,80 @@
|
||||
<!--回答框-->
|
||||
<template>
|
||||
<div id="answer-item">
|
||||
<div>
|
||||
<div class="row">
|
||||
<div class="item">
|
||||
<div>回答:
|
||||
<span>{{answer. reply}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="item">
|
||||
<div style="cursor: pointer;">附件:
|
||||
<span style="color: #409EFF">{{answer.appendixName}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="float: right; margin-right: 10px">
|
||||
<div class="item">
|
||||
<div>{{answer.answerer}}
|
||||
<span>{{answer.replyTime}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<el-checkbox @change="answerChang" v-model="answer.checked">归档</el-checkbox>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="footer-box">-->
|
||||
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "questionItemInfo",
|
||||
props:['answer'],
|
||||
data(){
|
||||
return{
|
||||
checked: '',
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
answerChang(val){
|
||||
},
|
||||
},
|
||||
watch:{
|
||||
answer: {
|
||||
immediate: true,
|
||||
deep: true,
|
||||
handler(val) {
|
||||
this.answer = val
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
#answer-item{
|
||||
width: 100%;
|
||||
min-width: 130px;
|
||||
padding: 15px 5px;
|
||||
.row {
|
||||
line-height: 1.8;
|
||||
}
|
||||
.item {
|
||||
display: inline-block;
|
||||
}
|
||||
.footer-box{
|
||||
height: 200px;
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
border-top: 1px solid #cccccc;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,24 +1,22 @@
|
||||
<!--问题项的描述-->
|
||||
<!--问题的描述-->
|
||||
<template>
|
||||
<div id="questions-item">
|
||||
<div>
|
||||
<div class="row">
|
||||
<div class="item">
|
||||
<span>{{question.modifyTime}}</span>
|
||||
</div>
|
||||
<div class="item" style="padding-left: 10px;">
|
||||
<span>{{ resType }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-top: 10px">
|
||||
<div class="item">
|
||||
<span>{{question.resCode}}</span>
|
||||
<div>
|
||||
<div class="row">
|
||||
<div class="item">
|
||||
<div>提问:
|
||||
<span>{{question.problemDescription}}</span>
|
||||
</div>
|
||||
<div class="item" style="padding-left: 10px">
|
||||
<span>{{question.content}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="item">
|
||||
<div>{{userName}}
|
||||
<span>{{question.questionTime}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -27,26 +25,17 @@ export default {
|
||||
name: "questions-item",
|
||||
props: ['question'],
|
||||
computed: {
|
||||
resType() {
|
||||
const matcher = {
|
||||
INLAND_STAND: '国内标准',
|
||||
FOREIGN_STAND: '国外标准',
|
||||
FOREIGN_LAWS: '国内外政策',
|
||||
BUSINESS: '企业标准'
|
||||
}
|
||||
return matcher[this.question.resType]
|
||||
}
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
userName: this.$store.getters.userInfo.userName,
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
question: {
|
||||
immediate: true,
|
||||
deep: true,
|
||||
handler(val) {
|
||||
this.question = val
|
||||
handler(val){
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -56,10 +45,10 @@ export default {
|
||||
<style lang="less" scoped>
|
||||
#questions-item{
|
||||
width: 100%;
|
||||
min-width: 130px;
|
||||
padding:10px 0;
|
||||
|
||||
.row {
|
||||
line-height: 1.2;
|
||||
line-height: 1.8;
|
||||
}
|
||||
.item {
|
||||
display: inline-block;
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
<!--标准的描述-->
|
||||
<template>
|
||||
<div id="stand-item">
|
||||
<div>
|
||||
<div class="row">
|
||||
<div class="item">
|
||||
<span>{{stand.standardEncdoing}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="item">
|
||||
<span>{{stand.standardName}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "stand-item",
|
||||
props: ['stand'],
|
||||
computed: {
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
stand: {
|
||||
immediate: true,
|
||||
deep: true,
|
||||
handler(val) {
|
||||
this.stand = val
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
#stand-item{
|
||||
width: 100%;
|
||||
min-width: 130px;
|
||||
padding:10px 0;
|
||||
.row {
|
||||
line-height: 1.5;
|
||||
}
|
||||
.item {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -23,7 +23,9 @@
|
||||
</div>
|
||||
<div v-else-if="!loading && standList.length" class="card-content" v-for="item in standList" :key="item.id" @click="jumpDetails(item) ">
|
||||
<div class="standTitle">
|
||||
<div class="title">{{item.title}}</div>
|
||||
<div class="title">
|
||||
<span v-html="item.title"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="standContent">
|
||||
<div class="standState">标准类别:
|
||||
@@ -38,6 +40,12 @@
|
||||
<van-empty description="暂无数据" />
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="moreFlag" class="bottom-box">
|
||||
<div v-if="listFlag && !loading" class="list-box">没有更多数据了...</div>
|
||||
<div v-else-if="!listFlag && moreFlag" @click="moreList" >点击加载更多</div>
|
||||
<!-- <van-button v-else-if="!listFlag && moreFlag" @click="moreList" >加载新数据</van-button>-->
|
||||
<van-loading v-else size="24px" color="#3170A8">加载中...</van-loading>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -48,28 +56,48 @@ export default {
|
||||
return{
|
||||
scrolled: '',
|
||||
moreFlag: false,
|
||||
loadingFlag: false,
|
||||
searchKey: '',
|
||||
standList: [],
|
||||
loading: true,
|
||||
listFlag: false,
|
||||
page: 1,
|
||||
addFlag: 0,
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
scrolled:{
|
||||
handler(val){
|
||||
if(val === 0){
|
||||
console.log('滚动条消失');
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
scrool(){
|
||||
let scrolled = this.$refs.cardBox.scrollTop
|
||||
this.scrolled = this.$refs.cardBox.scrollTop
|
||||
// console.log(this.scrolled);
|
||||
//获得可视区的高度
|
||||
const windowHeight = this.$refs.cardBox.clientHeight
|
||||
//获取滚动条的总高度
|
||||
const scrollHeight = this.$refs.cardBox.scrollHeight
|
||||
let windowScrolled = scrolled + windowHeight
|
||||
this.scrolled = scrolled
|
||||
if(scrollHeight - windowScrolled < 600 ){
|
||||
//把距离顶部的距离加上可视区域的高度 等于或者大于滚动条的总高度就是到达底部
|
||||
let windowScrolled = this.scrolled + windowHeight
|
||||
if(scrollHeight - windowScrolled < 100 && this.scrolled !== 0){
|
||||
//把距离顶部的距离加上可视区域的高度
|
||||
this.moreFlag = true
|
||||
this.page++
|
||||
}else{
|
||||
this.moreFlag = false
|
||||
}
|
||||
},
|
||||
onSearch(){
|
||||
moreList(){
|
||||
this.moreFlag = false
|
||||
this.loadingFlag = true
|
||||
this.page++
|
||||
this.standSearch()
|
||||
},
|
||||
standSearch(){
|
||||
this.listFlag = false
|
||||
this.moreFlag = false
|
||||
this.$http.post('search/searchCenter/searchSarBykey',{
|
||||
selectIndex: 'fulltextserch',
|
||||
@@ -80,12 +108,36 @@ export default {
|
||||
},{
|
||||
_this: this,
|
||||
}, res => {
|
||||
if(this.standList.length){
|
||||
this.standList = this.standList.concat(res.data.list)
|
||||
if(res.data.list.length){
|
||||
if(this.standList.length){
|
||||
this.standList = this.standList.concat(res.data.list)
|
||||
}else{
|
||||
this.standList = res.data.list
|
||||
}
|
||||
this.loading = false
|
||||
}else{
|
||||
this.standList = res.data.list
|
||||
this.listFlag = true
|
||||
}
|
||||
console.log(this.standList);
|
||||
}, e => {
|
||||
console.log(e)
|
||||
})
|
||||
},
|
||||
//点击搜索触发事件
|
||||
onSearch(){
|
||||
this.moreFlag = false
|
||||
this.loading = true
|
||||
this.standList = []
|
||||
this.page = 1
|
||||
this.$http.post('search/searchCenter/searchSarBykey',{
|
||||
selectIndex: 'fulltextserch',
|
||||
selectValue: this.searchKey,
|
||||
selectType: 'titleSearch',
|
||||
page: this.page,
|
||||
pageSize: 20
|
||||
},{
|
||||
_this: this,
|
||||
}, res => {
|
||||
this.standList = res.data.list
|
||||
this.loading = false
|
||||
}, e => {
|
||||
console.log(e)
|
||||
@@ -107,7 +159,7 @@ export default {
|
||||
},
|
||||
mounted(){
|
||||
this.searchKey = this.$route.query.searchKey
|
||||
this.onSearch()
|
||||
this.standSearch()
|
||||
this.$refs.cardBox.addEventListener('scroll', this.scrool);
|
||||
},
|
||||
};
|
||||
@@ -205,5 +257,28 @@ export default {
|
||||
top: 40%;
|
||||
left: 37%;
|
||||
}
|
||||
.bottom-box{
|
||||
height: 40px;
|
||||
width: 91%;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
text-align: center;
|
||||
color: #3170A8;
|
||||
.list-box{
|
||||
color: #3170A8;
|
||||
text-align: center;
|
||||
}
|
||||
.van-loading {
|
||||
position: absolute;
|
||||
left: 37%;
|
||||
}
|
||||
}
|
||||
.card-content:last-child{
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
.van-button--normal{
|
||||
float: left;
|
||||
margin-left: 35%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -17,14 +17,15 @@
|
||||
</template>
|
||||
</van-search>
|
||||
</div>
|
||||
<div class="card-box">
|
||||
<div class="card-box" ref="cardBox" @scroll="scrool">
|
||||
<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 v-if="titleType === 'POLICY'" class="title">{{item.lawsNumber}}</div>
|
||||
<div v-else class="title">{{item.standSortShow + '  ' + item.standNumber + '-' + item.standYear }}</div>
|
||||
<div v-else-if="titleType !== 'POLICY' && item.standYear" class="title">{{item.standSort + '  ' + item.standNumber + '-' + item.standYear }}</div>
|
||||
<div v-else class="title">{{item.standSort + '  ' + item.standNumber }}</div>
|
||||
</div>
|
||||
<div class="standContent">
|
||||
<div class="standState">{{item.standName}}</div>
|
||||
@@ -63,14 +64,25 @@
|
||||
<span v-else style=" padding-left: 5px;">
|
||||
{{ textStatusMap[item.textStatus] }}
|
||||
</span>
|
||||
<!-- <span v-if="item.textStatusName === '废止' || item.textStatusName === '被代替'"-->
|
||||
<!-- style="color: #F56C6C; padding-left: 5px;">-->
|
||||
<!-- {{item.textStatusName}}-->
|
||||
<!-- </span>-->
|
||||
<!-- <span v-else-if="item.textStatusName === '参考' || item.textStatusName === '现行有效'"-->
|
||||
<!-- style="color: #98E165; padding-left: 5px;">-->
|
||||
<!-- {{item.textStatusName }}-->
|
||||
<!-- </span>-->
|
||||
<!-- <span v-else style=" padding-left: 5px;">-->
|
||||
<!-- {{ item.textStatusName }}-->
|
||||
<!-- </span>-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-time">
|
||||
<div style="margin-top: 10px">
|
||||
<span style="padding: 20px;">发布日期:
|
||||
{{ item.issueTime ? $moment(item.issueTime).format("YYYY-MM-DD") : "" }}</span>
|
||||
<span style="padding: 20px;" v-if="titleType === 'POLICY'">实施日期: {{item.XCXSSRQLAWS}}</span>
|
||||
<span style="padding: 20px;" v-else>实施日期: {{item.putTime}}</span>
|
||||
<span style="padding-left: 10px;min-width: 200px;">发布日期:
|
||||
{{ item.issueTime ? (item.issueTime !== '' ? $moment(item.issueTime).format("YYYY-MM-DD") : " ") : " " }}</span>
|
||||
<span style="padding-left: 15px;" v-if="titleType === 'POLICY'">实施日期: {{item.XCXSSRQLAWS}}</span>
|
||||
<span style="padding-left: 15px;" v-else>实施日期: {{item.SSRQ}}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -79,6 +91,11 @@
|
||||
<van-empty description="暂无数据" />
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="moreFlag" class="bottom-box">
|
||||
<div v-if="listFlag && !loading" class="list-box">没有更多数据了...</div>
|
||||
<div v-else-if="!listFlag && moreFlag" @click="moreList" >点击加载更多</div>
|
||||
<van-loading v-else size="24px" color="#3170A8">加载中...</van-loading>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -87,10 +104,15 @@ export default {
|
||||
name: "domesticStand",
|
||||
data(){
|
||||
return{
|
||||
scrolled: '',
|
||||
moreFlag: false,
|
||||
loadingFlag: false,
|
||||
listFlag: false,
|
||||
searchKey: '',
|
||||
titleType: '',
|
||||
titleName: '',
|
||||
loading: true,
|
||||
page: 1,
|
||||
standList: [],
|
||||
standStateOptions: [], //标准文本状态
|
||||
lawsTextStateOptions: [], //政策文本状态
|
||||
@@ -101,58 +123,145 @@ export default {
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
scrool(){
|
||||
this.scrolled = this.$refs.cardBox.scrollTop
|
||||
//获得可视区的高度
|
||||
const windowHeight = this.$refs.cardBox.clientHeight
|
||||
//获取滚动条的总高度
|
||||
const scrollHeight = this.$refs.cardBox.scrollHeight
|
||||
let windowScrolled = this.scrolled + windowHeight
|
||||
if(scrollHeight - windowScrolled < 100 && this.scrolled !== 0){
|
||||
//把距离顶部的距离加上可视区域的高度
|
||||
this.moreFlag = true
|
||||
}else{
|
||||
this.moreFlag = false
|
||||
}
|
||||
},
|
||||
moreList(){
|
||||
this.moreFlag = false
|
||||
this.loadingFlag = true
|
||||
this.page++
|
||||
this.standSearch()
|
||||
},
|
||||
onSearch(){
|
||||
this.moreFlag = false
|
||||
this.loading = true
|
||||
this.standList = []
|
||||
this.page = 1
|
||||
if(this.titleType === 'INLAND'){
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage',{
|
||||
page: 1,
|
||||
pageSize: 20,
|
||||
standType: 'INLAND'
|
||||
// this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage',{
|
||||
// page: this.page,
|
||||
// standNumber: this.searchKey,
|
||||
// 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=>{
|
||||
// })
|
||||
this.$http.post('search/searchCenter/searchSarBykey',{
|
||||
selectIndex: 'stand',
|
||||
selectValue: this.searchKey,
|
||||
selectType: 'titleSearch',
|
||||
standType: 'INLAND',
|
||||
page: this.page,
|
||||
pageSize: 20
|
||||
},{
|
||||
_this: this
|
||||
},res=>{
|
||||
_this: this,
|
||||
}, res => {
|
||||
if (res.ok){
|
||||
this.standList = res.data.list
|
||||
this.loading = false
|
||||
}else {
|
||||
this.$message.error(res.message)
|
||||
}
|
||||
},e=>{
|
||||
}, e => {
|
||||
console.log(e)
|
||||
})
|
||||
}else if(this.titleType === 'FOREIGN'){
|
||||
this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage',{
|
||||
page: 1,
|
||||
pageSize: 20,
|
||||
standType: 'FOREIGN'
|
||||
// this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage',{
|
||||
// page: 1,
|
||||
// pageSize: 20,
|
||||
// standNumber: this.searchKey,
|
||||
// standType: 'FOREIGN'
|
||||
// },{
|
||||
// _this: this
|
||||
// },res=>{
|
||||
// if (res.ok){
|
||||
// this.standList = res.data.list
|
||||
// this.loading = false
|
||||
// }else {
|
||||
// this.$message.error(res.message)
|
||||
// }
|
||||
// },e=>{
|
||||
// })
|
||||
this.$http.post('search/searchCenter/searchSarBykey',{
|
||||
selectIndex: 'stand',
|
||||
selectValue: this.searchKey,
|
||||
selectType: 'titleSearch',
|
||||
standType: 'FOREIGN',
|
||||
page: this.page,
|
||||
pageSize: 20
|
||||
},{
|
||||
_this: this
|
||||
},res=>{
|
||||
_this: this,
|
||||
}, res => {
|
||||
if (res.ok){
|
||||
this.standList = res.data.list
|
||||
this.loading = false
|
||||
}else {
|
||||
this.$message.error(res.message)
|
||||
}
|
||||
},e=>{
|
||||
}, e => {
|
||||
console.log(e)
|
||||
})
|
||||
|
||||
}else if(this.titleType === 'POLICY'){
|
||||
this.$http.get('lawss/sarLawsInfo/page',{
|
||||
page: 1,
|
||||
pageSize: 20,
|
||||
},{
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.ok){
|
||||
this.standList = res.data.list
|
||||
this.loading = false
|
||||
}else {
|
||||
this.$message.error(res.message)
|
||||
}
|
||||
}, e =>{
|
||||
console.log(e);
|
||||
})
|
||||
// this.$http.get('lawss/sarLawsInfo/page',{
|
||||
// page: 1,
|
||||
// pageSize: 20,
|
||||
// lawsNumber: this.searchKey,
|
||||
// },{
|
||||
// _this: this
|
||||
// }, res => {
|
||||
// if (res.ok){
|
||||
// this.standList = res.data.list
|
||||
// this.loading = false
|
||||
// }else {
|
||||
// this.$message.error(res.message)
|
||||
// }
|
||||
// }, e =>{
|
||||
// console.log(e);
|
||||
// })
|
||||
this.$http.post('search/searchCenter/searchSarBykey',{
|
||||
selectIndex: 'laws',
|
||||
selectValue: this.searchKey,
|
||||
selectType: 'titleSearch',
|
||||
type: 'laws',
|
||||
page: this.page,
|
||||
pageSize: 20
|
||||
},{
|
||||
_this: this,
|
||||
}, res => {
|
||||
if (res.ok){
|
||||
this.standList = res.data.list
|
||||
this.loading = false
|
||||
}else {
|
||||
this.$message.error(res.message)
|
||||
}
|
||||
}, e => {
|
||||
console.log(e)
|
||||
})
|
||||
|
||||
}else{
|
||||
this.$http.get("/lawss/NewsFeed/getNewsFeed", {
|
||||
messageType: 'ZYBZFG',
|
||||
standard: this.searchKey,
|
||||
page: 1,
|
||||
paeSize: 10
|
||||
}, {
|
||||
@@ -169,6 +278,198 @@ export default {
|
||||
});
|
||||
}
|
||||
},
|
||||
standSearch(){
|
||||
this.listFlag = false
|
||||
this.moreFlag = false
|
||||
if(this.titleType === 'INLAND'){
|
||||
// this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage',{
|
||||
// page: this.page,
|
||||
// pageSize: 20,
|
||||
// standNumber: this.searchKey,
|
||||
// standType: 'INLAND'
|
||||
// },{
|
||||
// _this: this
|
||||
// },res=>{
|
||||
// if (res.ok){
|
||||
// if(res.data.list.length){
|
||||
// if(this.standList.length){
|
||||
// this.standList = this.standList.concat(res.data.list)
|
||||
// }else{
|
||||
// this.standList = res.data.list
|
||||
// }
|
||||
// this.loading = false
|
||||
// }else{
|
||||
// this.listFlag = true
|
||||
// }
|
||||
// }else {
|
||||
// this.$message.error(res.message)
|
||||
// }
|
||||
// },e=>{
|
||||
// })
|
||||
this.$http.post('search/searchCenter/searchSarBykey',{
|
||||
selectIndex: 'stand',
|
||||
selectValue: this.searchKey,
|
||||
selectType: 'titleSearch',
|
||||
standType: 'INLAND',
|
||||
page: this.page,
|
||||
pageSize: 20
|
||||
},{
|
||||
_this: this,
|
||||
}, res => {
|
||||
if(res.ok){
|
||||
if(res.data.list.length){
|
||||
if(this.standList.length){
|
||||
this.standList = this.standList.concat(res.data.list)
|
||||
}else{
|
||||
this.standList = res.data.list
|
||||
}
|
||||
this.loading = false
|
||||
}else{
|
||||
this.loading = false
|
||||
this.listFlag = true
|
||||
}
|
||||
}else{
|
||||
this.$message.error(res.message)
|
||||
}
|
||||
}, e => {
|
||||
console.log(e)
|
||||
})
|
||||
|
||||
}else if(this.titleType === 'FOREIGN'){
|
||||
// this.$http.get('sarStandardsInfo/sar-standards-info/getSarStandardsInfoPage',{
|
||||
// page: 1,
|
||||
// pageSize: 20,
|
||||
// standNumber: this.searchKey,
|
||||
// standType: 'FOREIGN'
|
||||
// },{
|
||||
// _this: this
|
||||
// },res=>{
|
||||
// if (res.ok){
|
||||
// if(res.data.list.length){
|
||||
// if(this.standList.length){
|
||||
// this.standList = this.standList.concat(res.data.list)
|
||||
// }else{
|
||||
// this.standList = res.data.list
|
||||
// }
|
||||
// this.loading = false
|
||||
// }else{
|
||||
// this.listFlag = true
|
||||
// }
|
||||
// }else {
|
||||
// this.$message.error(res.message)
|
||||
// }
|
||||
// },e=>{
|
||||
// })
|
||||
this.$http.post('search/searchCenter/searchSarBykey',{
|
||||
selectIndex: 'stand',
|
||||
selectValue: this.searchKey,
|
||||
selectType: 'titleSearch',
|
||||
standType: 'FOREIGN',
|
||||
page: this.page,
|
||||
pageSize: 20
|
||||
},{
|
||||
_this: this,
|
||||
}, res => {
|
||||
if(res.ok){
|
||||
if(res.data.list.length){
|
||||
if(this.standList.length){
|
||||
this.standList = this.standList.concat(res.data.list)
|
||||
}else{
|
||||
this.standList = res.data.list
|
||||
}
|
||||
this.loading = false
|
||||
}else{
|
||||
this.loading = false
|
||||
this.listFlag = true
|
||||
}
|
||||
}else{
|
||||
this.$message.error(res.message)
|
||||
}
|
||||
}, e => {
|
||||
console.log(e)
|
||||
})
|
||||
}else if(this.titleType === 'POLICY'){
|
||||
// this.$http.get('lawss/sarLawsInfo/page',{
|
||||
// lawsNumber: this.searchKey,
|
||||
// page: 1,
|
||||
// pageSize: 20,
|
||||
// },{
|
||||
// _this: this
|
||||
// }, res => {
|
||||
// if (res.ok){
|
||||
// if(res.data.list.length){
|
||||
// if(this.standList.length){
|
||||
// this.standList = this.standList.concat(res.data.list)
|
||||
// }else{
|
||||
// this.standList = res.data.list
|
||||
// }
|
||||
// this.loading = false
|
||||
// }else{
|
||||
// this.listFlag = true
|
||||
// }
|
||||
// }else {
|
||||
// this.$message.error(res.message)
|
||||
// }
|
||||
// }, e =>{
|
||||
// console.log(e);
|
||||
// })
|
||||
this.$http.post('search/searchCenter/searchSarBykey',{
|
||||
selectIndex: 'laws',
|
||||
selectValue: this.searchKey,
|
||||
selectType: 'titleSearch',
|
||||
type: 'laws',
|
||||
page: this.page,
|
||||
pageSize: 20
|
||||
},{
|
||||
_this: this,
|
||||
}, res => {
|
||||
if(res.ok){
|
||||
if(res.data.list.length){
|
||||
if(this.standList.length){
|
||||
this.standList = this.standList.concat(res.data.list)
|
||||
}else{
|
||||
this.standList = res.data.list
|
||||
}
|
||||
this.loading = false
|
||||
}else{
|
||||
this.loading = false
|
||||
this.listFlag = true
|
||||
}
|
||||
}else{
|
||||
this.$message.error(res.message)
|
||||
}
|
||||
}, e => {
|
||||
console.log(e)
|
||||
})
|
||||
}else{
|
||||
this.$http.get("/lawss/NewsFeed/getNewsFeed", {
|
||||
messageType: 'ZYBZFG',
|
||||
standard: this.searchKey,
|
||||
page: 1,
|
||||
paeSize: 10
|
||||
}, {
|
||||
_this: this
|
||||
}, res => {
|
||||
if (res.ok){
|
||||
if(res.data.length){
|
||||
if(this.standList.length){
|
||||
this.standList = this.standList.concat(res.data)
|
||||
}else{
|
||||
this.standList = res.data
|
||||
}
|
||||
this.loading = false
|
||||
}else{
|
||||
this.loading = false
|
||||
this.listFlag = true
|
||||
}
|
||||
}else {
|
||||
this.$message.error(res.message)
|
||||
}
|
||||
}, e => {
|
||||
console.log(e);
|
||||
});
|
||||
}
|
||||
},
|
||||
//返回上一个页面
|
||||
back(){
|
||||
this.$router.push('/phoneHome')
|
||||
@@ -193,7 +494,8 @@ export default {
|
||||
mounted() {
|
||||
this.titleType = this.$route.query.standType
|
||||
this.titleName = this.titleType === 'INLAND' ? '国内标准法规库' : (this.titleType === 'FOREIGN' ? '海外标准法规库' : this.titleType === 'POLICY' ? '国内外政策库' : '标准化动态库' )
|
||||
this.onSearch()
|
||||
this.standSearch()
|
||||
this.$refs.cardBox.addEventListener('scroll', this.scrool);
|
||||
//从数据库中查询下拉框数据
|
||||
this.$http.get("sys/dictype/getDicTypeListCode", {}, {
|
||||
_this: this
|
||||
@@ -249,8 +551,9 @@ export default {
|
||||
color: #FFFFFF;
|
||||
}
|
||||
.card-box{
|
||||
height: 100%;
|
||||
height: 85%;
|
||||
position: relative;
|
||||
overflow-y: scroll;
|
||||
top: 100px;
|
||||
}
|
||||
.card-content{
|
||||
@@ -298,6 +601,25 @@ export default {
|
||||
top: 40%;
|
||||
left: 37%;
|
||||
}
|
||||
.bottom-box{
|
||||
height: 40px;
|
||||
width: 91%;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
text-align: center;
|
||||
color: #3170A8;
|
||||
.list-box{
|
||||
color: #3170A8;
|
||||
text-align: center;
|
||||
}
|
||||
.van-loading {
|
||||
position: absolute;
|
||||
left: 37%;
|
||||
}
|
||||
}
|
||||
.card-content:last-child{
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@@ -2298,6 +2298,7 @@
|
||||
// this.sarStandardsInfoEO.country = item.country.split(",");
|
||||
// }
|
||||
this.fileInfoHandle()
|
||||
this.isSubmit = true
|
||||
this.saveLoading = true
|
||||
let _formData = new FormData()
|
||||
_formData.append('id', this.bpnId || '')
|
||||
@@ -2313,10 +2314,12 @@
|
||||
commentText: this.formTongGuo.commentText
|
||||
}))
|
||||
saveTaskForPub(_formData).then(res => {
|
||||
this.isSubmit = false
|
||||
this.saveLoading = false
|
||||
this.$message.success('保存成功')
|
||||
this.bpnId = res.result
|
||||
}).catch(e => {
|
||||
this.isSubmit = false
|
||||
this.saveLoading = false
|
||||
})
|
||||
},
|
||||
|
||||
@@ -2339,6 +2339,7 @@
|
||||
// }
|
||||
this.fileInfoHandle()
|
||||
this.saveLoading = true
|
||||
this.isSubmit = true
|
||||
let _formData = new FormData()
|
||||
_formData.append('id', this.bpnId || '')
|
||||
_formData.append('createUser', this.$store.getters.userInfo.userId)
|
||||
@@ -2355,10 +2356,12 @@
|
||||
}))
|
||||
saveTaskForPub(_formData).then(res => {
|
||||
this.saveLoading = false
|
||||
this.isSubmit = false
|
||||
this.$message.success('保存成功')
|
||||
this.bpnId = res.result
|
||||
}).catch(e => {
|
||||
this.saveLoading = false
|
||||
this.isSubmit = false
|
||||
})
|
||||
},
|
||||
fileInfoHandle(){
|
||||
@@ -2475,6 +2478,7 @@
|
||||
this.$refs['formTongGuo'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.isSubmit = true
|
||||
this.saveLoading = true
|
||||
this.form.commentText = this.formTongGuo.commentText
|
||||
this.form.approvalOpinion = this.formTongGuo.approvalOpinion
|
||||
this.form.topId = this.pId
|
||||
@@ -2490,7 +2494,7 @@
|
||||
// this.$message.success(res.message)
|
||||
// 流程提交之后,应该流转至待办任务页面
|
||||
this.isSubmit = false
|
||||
this.submitLoading = false
|
||||
this.saveLoading = false
|
||||
this.$router.push({path:'/processCenter?tabsName=ProcessCenter'})
|
||||
// this.processCreateBuss(json)
|
||||
// if(this.formTongGuo.approvalOpinion === '1'){
|
||||
@@ -2502,6 +2506,8 @@
|
||||
// this.processCreateLaws(json)
|
||||
// }
|
||||
}else {
|
||||
this.isSubmit = false
|
||||
this.saveLoading = false
|
||||
this.$message.success(res.message)
|
||||
}
|
||||
})
|
||||
|
||||
@@ -2340,6 +2340,7 @@
|
||||
// this.sarStandardsInfoEO.country = item.country.split(",");
|
||||
// }
|
||||
this.fileInfoHandle()
|
||||
this.isSubmit = true
|
||||
this.saveLoading = true
|
||||
let _formData = new FormData()
|
||||
_formData.append('id', this.bpnId || '')
|
||||
@@ -2356,10 +2357,12 @@
|
||||
commentText: this.formTongGuo.commentText
|
||||
}))
|
||||
saveTaskForPub(_formData).then(res => {
|
||||
this.isSubmit = false
|
||||
this.saveLoading = false
|
||||
this.$message.success('保存成功')
|
||||
this.bpnId = res.result
|
||||
}).catch(e => {
|
||||
this.isSubmit = false
|
||||
this.saveLoading = false
|
||||
})
|
||||
},
|
||||
@@ -2479,6 +2482,7 @@
|
||||
this.$refs['formTongGuo'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.isSubmit = true
|
||||
this.saveLoading = true
|
||||
this.form.commentText = this.formTongGuo.commentText
|
||||
this.form.approvalOpinion = this.formTongGuo.approvalOpinion
|
||||
this.form.topId = this.pId
|
||||
@@ -2494,6 +2498,7 @@
|
||||
// this.$message.success(res.message)
|
||||
// 流程提交之后,应该流转至待办任务页面
|
||||
this.isSubmit = false
|
||||
this.saveLoading = false
|
||||
this.processCreateBuss(json)
|
||||
// if(this.formTongGuo.approvalOpinion === '1'){
|
||||
// this.$message.warning("驳回成功")
|
||||
@@ -2504,6 +2509,8 @@
|
||||
// this.processCreateLaws(json)
|
||||
// }
|
||||
}else {
|
||||
this.isSubmit = false
|
||||
this.saveLoading = false
|
||||
this.$message.success(res.message)
|
||||
}
|
||||
})
|
||||
|
||||
+1
-1
@@ -326,7 +326,7 @@
|
||||
<a v-if="scope.row.standStatusShow === '作废'" style="color: #F56C6C" @click="handlePreview(scope.row)" class="table-jump">{{
|
||||
scope.row.standCode
|
||||
}}</a>
|
||||
<a v-if="scope.row.standStatusShow === '参考'" style="color: #E6A23C" @click="handlePreview(scope.row)" class="table-jump">{{
|
||||
<a v-if="scope.row.standStatusShow === '参考'" style="color: #98E165" @click="handlePreview(scope.row)" class="table-jump">{{
|
||||
scope.row.standCode
|
||||
}}</a>
|
||||
<a v-if="scope.row.standStatusShow !== '作废' && scope.row.standStatusShow !== '参考'" style="color: #333333" @click="handlePreview(scope.row)" class="table-jump">{{
|
||||
|
||||
@@ -0,0 +1,190 @@
|
||||
<!--我的回答-->
|
||||
<template>
|
||||
<div>
|
||||
<el-divider style="margin: 10px 0;"></el-divider>
|
||||
<div id="message-content">
|
||||
<el-form ref="form" :model="form" :rules="rules">
|
||||
<el-form-item prop="textarea">
|
||||
<el-input
|
||||
type="textarea"
|
||||
:rows="2"
|
||||
placeholder="请输入回答内容"
|
||||
v-model="form.textarea">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<div>
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="small"
|
||||
style="float: right;"
|
||||
@click="handleSubmit"
|
||||
>提交</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="small"
|
||||
style="float: right;margin-right: 10px;"
|
||||
@click="openUploadFileDialog"
|
||||
>上传文件</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="small"
|
||||
style="float: right;"
|
||||
@click="queArchive"
|
||||
>问题归档</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
class="common-button-primary"
|
||||
size="small"
|
||||
style="float: right;margin-right: 10px;"
|
||||
@click="invitation"
|
||||
>邀请</el-button>
|
||||
</div>
|
||||
</el-form>
|
||||
</div>
|
||||
<el-dialog
|
||||
width='400px'
|
||||
:visible.sync="importModalshowflagtemp"
|
||||
title="上传文件"
|
||||
:footer-hide="true"
|
||||
append-to-body
|
||||
>
|
||||
<el-upload
|
||||
multiple
|
||||
drag
|
||||
:on-success="uploadSuccess"
|
||||
:before-upload="beforeUpload"
|
||||
:on-remove="removeOneFile"
|
||||
:action="actionPath"
|
||||
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
|
||||
name="file"
|
||||
:file-list="fileList"
|
||||
ref="importFileAboutStand">
|
||||
<i class="el-icon-upload"></i>
|
||||
<div class="el-upload__text">点击或拖拽上传文件</div>
|
||||
</el-upload>
|
||||
</el-dialog>
|
||||
<!-- 选择回答人-->
|
||||
<Role-tree
|
||||
is-title="选择回答人"
|
||||
:is-visible.sync="roleFlag"
|
||||
@checkedRole="checkedRole"
|
||||
:nodeList="nodeList"
|
||||
></Role-tree>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "answerItem",
|
||||
data(){
|
||||
return{
|
||||
roleFlag: false,
|
||||
nodeList: [],
|
||||
// 上传地址
|
||||
actionPath: 'api/att/attFile/uploadNew',
|
||||
importModalshowflagtemp: false,
|
||||
fileList: [],
|
||||
form:{
|
||||
textarea: '',
|
||||
invitationId: '',
|
||||
invitationName: '',
|
||||
},
|
||||
rules: {
|
||||
textarea: [
|
||||
{ required: true, message: '请输入回复内容', trigger: 'blur' },
|
||||
{ min: 1, max: 500, message: '长度在 1 到 500 个字符', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
//提交
|
||||
handleSubmit(){
|
||||
this.form.fileList = this.fileList
|
||||
console.log(this.form);
|
||||
},
|
||||
//上传文件
|
||||
openUploadFileDialog(){
|
||||
this.importModalshowflagtemp = true
|
||||
},
|
||||
//上传成功
|
||||
uploadSuccess(res,file,fileList){
|
||||
if(res.ok){
|
||||
this.fileList.push(res.data)
|
||||
this.$message.success('上传成功')
|
||||
}else{
|
||||
this.$message.warning(res.message)
|
||||
fileList.pop()
|
||||
}
|
||||
this.importModalshowflagtemp = false
|
||||
},
|
||||
//文件上传前
|
||||
beforeUpload(file){
|
||||
console.log(file);
|
||||
var filename = file.name;
|
||||
var index1 = filename.lastIndexOf('.')
|
||||
var index2 = filename.length
|
||||
var fileSuffix = filename.substring(index1, index2)
|
||||
//把后缀转大写
|
||||
if(fileSuffix){
|
||||
fileSuffix = fileSuffix.toUpperCase()
|
||||
}
|
||||
// 判断上传文件格式
|
||||
if (fileSuffix === ".PDF" || fileSuffix === ".DOC" || fileSuffix === ".DOCX" || fileSuffix === ".PPT"
|
||||
|| fileSuffix === ".PPTX" || fileSuffix === ".XLS" || fileSuffix === ".XLSX"
|
||||
|| fileSuffix === ".PNG" || fileSuffix === ".JPG" || fileSuffix === ".JPEG") {
|
||||
return true;
|
||||
} else {
|
||||
this.$message.error("文件" + file.name + "格式不正确,请上传pdf、doc、docx、ppt、pptx、xls、xlsx、png、jpg、jpeg等文件");
|
||||
return false;
|
||||
}
|
||||
// 判断文件上传大小
|
||||
if (file.size / 1024 / 1024 > 300) {
|
||||
this.$message.warning("文件" + file.name + "大小不能超过300M");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
//删除文件
|
||||
removeOneFile(){
|
||||
this.fileList.forEach((item,index) => {
|
||||
if(item.name === file.name || item.id === file.id){
|
||||
this.fileList.splice(index, 1)
|
||||
}
|
||||
})
|
||||
},
|
||||
checkedRole(data){
|
||||
let asdId = sessionStorage.getItem('queId')
|
||||
this.$http.postData('lawss/AskUser/insertAskUser',{
|
||||
asdId: asdId,
|
||||
usid: data[0].id,
|
||||
},{
|
||||
_this: this
|
||||
}, res => {
|
||||
if(res.ok){
|
||||
this.$message.success('邀请成功')
|
||||
}
|
||||
}, e => {
|
||||
|
||||
})
|
||||
},
|
||||
//问题归档
|
||||
queArchive(){
|
||||
|
||||
},
|
||||
//邀请
|
||||
invitation(){
|
||||
this.roleFlag = true
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
#message-content{
|
||||
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,76 @@
|
||||
<!--回答框-->
|
||||
<template>
|
||||
<div id="answer-item">
|
||||
<div>
|
||||
<div class="row">
|
||||
<div class="item">
|
||||
<div>回答:
|
||||
<span>{{answer. reply}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="item">
|
||||
<div>附件:
|
||||
<span style="color: #409EFF">{{answer.annex}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="float: right; margin-right: 10px">
|
||||
<div class="item">
|
||||
<div>{{answer.answerer}}
|
||||
<span>{{answer.replyTime}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div>-->
|
||||
<!-- <el-checkbox v-model="checked">归档</el-checkbox>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
<!-- <div class="footer-box">-->
|
||||
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "questionItemInfo",
|
||||
props:['answer'],
|
||||
data(){
|
||||
return{
|
||||
checked: true,
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
answer: {
|
||||
immediate: true,
|
||||
deep: true,
|
||||
handler(val) {
|
||||
this.answer = val
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
#answer-item{
|
||||
width: 100%;
|
||||
min-width: 130px;
|
||||
padding: 15px 5px;
|
||||
.row {
|
||||
line-height: 1.8;
|
||||
}
|
||||
.item {
|
||||
display: inline-block;
|
||||
}
|
||||
.footer-box{
|
||||
height: 200px;
|
||||
width: 100%;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
border-top: 1px solid #cccccc;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,57 @@
|
||||
<!--问题的描述-->
|
||||
<template>
|
||||
<div id="questions-item">
|
||||
<div>
|
||||
<div class="row">
|
||||
<div class="item">
|
||||
<div>提问:
|
||||
<span>{{question.problemDescription}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="item">
|
||||
<div>{{userName}}
|
||||
<span>{{question.questionTime}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "questions-item",
|
||||
props: ['question'],
|
||||
computed: {
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
userName: this.$store.getters.userInfo.userName,
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
question: {
|
||||
immediate: true,
|
||||
deep: true,
|
||||
handler(val){
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
#questions-item{
|
||||
width: 100%;
|
||||
min-width: 130px;
|
||||
padding:10px 0;
|
||||
.row {
|
||||
line-height: 1.8;
|
||||
}
|
||||
.item {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,53 @@
|
||||
<!--标准的描述-->
|
||||
<template>
|
||||
<div id="stand-item">
|
||||
<div>
|
||||
<div class="row">
|
||||
<div class="item">
|
||||
<span>{{stand.standardEncdoing}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="item">
|
||||
<span>{{stand.standardName}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "stand-item",
|
||||
props: ['stand'],
|
||||
computed: {
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
}
|
||||
},
|
||||
watch:{
|
||||
stand: {
|
||||
immediate: true,
|
||||
deep: true,
|
||||
handler(val) {
|
||||
this.stand = val
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
#stand-item{
|
||||
width: 100%;
|
||||
min-width: 130px;
|
||||
padding:10px 0;
|
||||
.row {
|
||||
line-height: 1.5;
|
||||
}
|
||||
.item {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2740,18 +2740,28 @@
|
||||
<style lang="less" scoped>
|
||||
@import '~@/assets/styles/mixins';
|
||||
@import '~@/assets/styles/style';
|
||||
/deep/ .yellowEsClass{
|
||||
background-color: #E6A23C !important;
|
||||
}
|
||||
|
||||
/deep/ .redEsClass{
|
||||
background-color: #F56C6C !important;
|
||||
}
|
||||
/deep/ .yellowClass{
|
||||
color: #E6A23C;
|
||||
color: #E6A23C !important;
|
||||
}
|
||||
|
||||
/deep/ .redClass{
|
||||
color: #F56C6C;
|
||||
color: #F56C6C !important;
|
||||
}
|
||||
/deep/ p{
|
||||
display: inline;
|
||||
}
|
||||
/deep/.highlight-Es-class {
|
||||
background-color: #3391ce !important;
|
||||
}
|
||||
/deep/.highlight-class {
|
||||
color: red !important;
|
||||
color: #3391ce !important;
|
||||
}
|
||||
/deep/.pagination{
|
||||
position: static !important;
|
||||
|
||||
@@ -3304,6 +3304,17 @@ const routes = [
|
||||
menuId: 'JURHS3LVP35US88ABULS'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/standQA',
|
||||
name: 'StandQA',
|
||||
component: () =>
|
||||
import('@/pages/regulatoryRepository/standQA'),
|
||||
meta: {
|
||||
requireAuth: true,
|
||||
title: '问答库', // 把 标准涉及项目 这几个字 改成 标准合规评估结果
|
||||
menuId: ''
|
||||
}
|
||||
},
|
||||
// 本地产品/项目库详情页
|
||||
{
|
||||
path: '/localProductDetail',
|
||||
|
||||
Reference in New Issue
Block a user