update 征求意见
This commit is contained in:
@@ -0,0 +1,147 @@
|
|||||||
|
<template>
|
||||||
|
<internal-detail-page :title="$route.meta.title">
|
||||||
|
<template v-slot:titleRightCustom>
|
||||||
|
<a @click="handleToggle" style="margin-left: 8px">
|
||||||
|
{{ toggleStatus ? $t('putAway') : $t('open') }}
|
||||||
|
<a-icon :type="toggleStatus ? 'up' : 'down'" />
|
||||||
|
</a>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<div class="detail-page-part-form" v-show="toggleStatus">
|
||||||
|
<!--标准名称-->
|
||||||
|
<div class="detail-page-part-form-item">
|
||||||
|
<label>{{ $t('standardName') }}</label>
|
||||||
|
<span></span>
|
||||||
|
</div>
|
||||||
|
<!--附件-->
|
||||||
|
<div class="detail-page-part-form-item">
|
||||||
|
<label>{{ $t('businessSupport.questionAnswer.attach') }}</label>
|
||||||
|
<file-echo :operate-fixed-right="false" />
|
||||||
|
</div>
|
||||||
|
<!--流程稿件-->
|
||||||
|
<div class="detail-page-part-form-item">
|
||||||
|
<label>{{ $t('businessSupport.askForAdvice.processManuscript') }}</label>
|
||||||
|
<file-echo :operate-fixed-right="false" />
|
||||||
|
</div>
|
||||||
|
<!--上传日期-->
|
||||||
|
<div class="detail-page-part-form-item">
|
||||||
|
<label>{{ $t('businessSupport.askForAdvice.uploadDate') }}</label>
|
||||||
|
<span></span>
|
||||||
|
</div>
|
||||||
|
<!--征求意见周期-->
|
||||||
|
<div class="detail-page-part-form-item">
|
||||||
|
<label>{{ $t('businessSupport.askForAdvice.consultationCycle') }}</label>
|
||||||
|
<span></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="table-operator">
|
||||||
|
<!--导出-->
|
||||||
|
<a-button icon="upload"
|
||||||
|
type="primary"
|
||||||
|
ghost
|
||||||
|
@click="handleExportXls($t('businessSupport.askForAdvice.detailsOfComments'), 'zip')">
|
||||||
|
{{ $t('export') }}
|
||||||
|
</a-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<j-table
|
||||||
|
ref="table"
|
||||||
|
size="middle"
|
||||||
|
:columns="columns"
|
||||||
|
:data-source="dataSource"
|
||||||
|
rowKey="id"
|
||||||
|
:can-drag="true"
|
||||||
|
:loading="loading"
|
||||||
|
:pagination="ipagination"
|
||||||
|
:scroll="{x: '100%'}"
|
||||||
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
|
@change="handleTableChange">
|
||||||
|
</j-table>
|
||||||
|
</div>
|
||||||
|
</internal-detail-page>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import InternalDetailPage from '../../../components/InternalDetailPage'
|
||||||
|
import FileEcho from '../../../components/FileEcho'
|
||||||
|
import { downFile } from '../../../api/manage'
|
||||||
|
import JTable from '../../../components/jero/JTable'
|
||||||
|
import { JeroListMixin } from '../../../mixins/JeroListMixin'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'AskForAdviceDetail',
|
||||||
|
components: { JTable, FileEcho, InternalDetailPage },
|
||||||
|
mixins: [JeroListMixin],
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
toggleStatus: true,
|
||||||
|
detailData: {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleToggle () {
|
||||||
|
this.toggleStatus = !this.toggleStatus
|
||||||
|
},
|
||||||
|
handleExportXls (fileName, fileSuffix = '.xlsx') {
|
||||||
|
if (!fileName || typeof fileName !== 'string') {
|
||||||
|
fileName = '导出文件'
|
||||||
|
}
|
||||||
|
const param = this.getQueryParams()
|
||||||
|
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||||
|
param.selections = this.selectedRowKeys.join(',')
|
||||||
|
}
|
||||||
|
console.log('导出参数', param)
|
||||||
|
// 加一个大的提示
|
||||||
|
const modalLoading = this.$info({
|
||||||
|
title: '提示',
|
||||||
|
content: <span>正在导出,请稍候 <a-spin size="small" /></span>,
|
||||||
|
keyboard: false
|
||||||
|
})
|
||||||
|
// 把知道了这个按钮去掉
|
||||||
|
this.$nextTick(() => {
|
||||||
|
document.getElementsByClassName('ant-modal-confirm-btns')[0].style = 'display:none'
|
||||||
|
})
|
||||||
|
downFile('', param).then((data) => {
|
||||||
|
if (!data) {
|
||||||
|
this.$message.warning('文件下载失败')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (typeof window.navigator.msSaveBlob !== 'undefined') {
|
||||||
|
window.navigator.msSaveBlob(new Blob([data], { type: 'application/vnd.ms-excel' }), fileName + fileSuffix)
|
||||||
|
} else {
|
||||||
|
const url = window.URL.createObjectURL(new Blob([data], { type: 'application/vnd.ms-excel' }))
|
||||||
|
const link = document.createElement('a')
|
||||||
|
link.style.display = 'none'
|
||||||
|
link.href = url
|
||||||
|
link.setAttribute('download', fileName + fileSuffix)
|
||||||
|
document.body.appendChild(link)
|
||||||
|
link.click()
|
||||||
|
document.body.removeChild(link) // 下载完成移除元素
|
||||||
|
window.URL.revokeObjectURL(url) // 释放掉blob对象
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
// 销毁这个提示
|
||||||
|
modalLoading.destroy()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
@import '~@assets/less/common.less';
|
||||||
|
|
||||||
|
.detail-page-part-form {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.detail-page-part-form-item {
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
label {
|
||||||
|
width: 6.5rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
value-format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
||||||
style='margin-left: -1px'
|
style='margin-left: -1px'
|
||||||
v-model="queryParam.time"
|
v-model="queryParam.time"
|
||||||
:disabled="false"/>
|
:disabled="false" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
|
||||||
@@ -34,25 +34,77 @@
|
|||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<j-table
|
||||||
|
ref="table"
|
||||||
|
size="middle"
|
||||||
|
:columns="columns"
|
||||||
|
:data-source="dataSource"
|
||||||
|
rowKey="id"
|
||||||
|
:can-drag="true"
|
||||||
|
:loading="loading"
|
||||||
|
:pagination="ipagination"
|
||||||
|
:scroll="{x: '100%'}"
|
||||||
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
|
@change="handleTableChange">
|
||||||
|
|
||||||
|
<!--跳转详情-->
|
||||||
|
<template v-slot:detail="{text, record}">
|
||||||
|
<a-tooltip overlay-class-name="tooltip-style">
|
||||||
|
<template slot="title">{{ text || text === 0 ? text : global.emptyLine }}</template>
|
||||||
|
<div class="table-text can-click-table-text" v-if="text || text === 0" @click="toDetailPage(record)">{{ text }}</div>
|
||||||
|
<div v-else class="table-text">{{ global.emptyLine }}</div>
|
||||||
|
</a-tooltip>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</j-table>
|
||||||
|
</div>
|
||||||
</a-card>
|
</a-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { JeroListMixin } from '@/mixins/JeroListMixin'
|
import { JeroListMixin } from '@/mixins/JeroListMixin'
|
||||||
|
import JTable from '../../../components/jero/JTable'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'AskForAdviceList',
|
name: 'AskForAdviceList',
|
||||||
|
components: { JTable },
|
||||||
mixins: [JeroListMixin],
|
mixins: [JeroListMixin],
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
columns: [
|
||||||
|
// 标准名称/编号
|
||||||
|
{
|
||||||
|
title: this.$t('businessSupport.askForAdvice.standardNameNumber'),
|
||||||
|
width: 200,
|
||||||
|
dataIndex: 'listName',
|
||||||
|
scopedSlots: { customRender: 'detail' }
|
||||||
|
},
|
||||||
|
// 征求意见周期
|
||||||
|
{
|
||||||
|
title: this.$t('businessSupport.askForAdvice.consultationCycle'),
|
||||||
|
width: 200,
|
||||||
|
dataIndex: 'referenceStandard'
|
||||||
|
}
|
||||||
|
],
|
||||||
|
dataSource: [{ id: '1', listName: 'sdkjgfdjg' }],
|
||||||
url: {
|
url: {
|
||||||
list: ''
|
list: ''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
toDetailPage ({ id }) {
|
||||||
|
this.$router.push({
|
||||||
|
path: '/businessSupport/AskForAdviceDetail',
|
||||||
|
query: { id }
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
|
@import '~@assets/less/common.less';
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
@@ -28,19 +28,27 @@
|
|||||||
<label>{{ formItem.dbFieldTxt }}</label>
|
<label>{{ formItem.dbFieldTxt }}</label>
|
||||||
<!--文件需要显示预览-->
|
<!--文件需要显示预览-->
|
||||||
<span v-if="!fileField.includes(formItem.dbFieldName)">
|
<span v-if="!fileField.includes(formItem.dbFieldName)">
|
||||||
{{ detailData[needDictFieldList.includes(formItem.fieldShowType) ? formItem.dbFieldName + '_dictText' : formItem.dbFieldName] || global.emptyLine
|
{{
|
||||||
|
detailData[needDictFieldList.includes(formItem.fieldShowType) ? formItem.dbFieldName + '_dictText' : formItem.dbFieldName] || global.emptyLine
|
||||||
}}
|
}}
|
||||||
</span>
|
</span>
|
||||||
<div class="file-box" v-else>
|
<div class="file-box" v-else>
|
||||||
<template v-if="detailData[formItem.dbFieldName + 'List'] && detailData[formItem.dbFieldName + 'List'].length > 0">
|
<template v-if="detailData[formItem.dbFieldName + 'List'] && detailData[formItem.dbFieldName + 'List'].length > 0">
|
||||||
<div class="detail-page-process-manuscript-file" v-for="file in detailData[formItem.dbFieldName + 'List']" :key="file.id">
|
<div class="detail-page-process-manuscript-file"
|
||||||
|
v-for="file in detailData[formItem.dbFieldName + 'List']"
|
||||||
|
:key="file.id">
|
||||||
<div class="detail-page-process-manuscript-file-info">
|
<div class="detail-page-process-manuscript-file-info">
|
||||||
<a-icon type="link" />
|
<a-icon type="link" />
|
||||||
<div class="detail-page-process-manuscript-file-name" @click="handlePreview(file)">{{ file.fileName }}</div>
|
<div class="detail-page-process-manuscript-file-name" @click="handlePreview(file)">{{ file.fileName }}</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 下载-->
|
<!-- 下载-->
|
||||||
<a-button type="link" icon="download" v-has="btnPermission.download" class="file-btn" @click="handleDownload(file)">
|
<a-button type="link"
|
||||||
{{ $t('download')
|
icon="download"
|
||||||
|
v-has="btnPermission.download"
|
||||||
|
class="file-btn"
|
||||||
|
@click="handleDownload(file)">
|
||||||
|
{{
|
||||||
|
$t('download')
|
||||||
}}
|
}}
|
||||||
</a-button>
|
</a-button>
|
||||||
<!-- 无水印下载-->
|
<!-- 无水印下载-->
|
||||||
@@ -69,7 +77,9 @@
|
|||||||
{{ $t('standardRegulationLibrary.standardResolutionSheet') }}
|
{{ $t('standardRegulationLibrary.standardResolutionSheet') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="detail-page-process-manuscript-file" v-for="file in detailData[formItem.dbFieldName + 'List']" :key="file.id">
|
<div class="detail-page-process-manuscript-file"
|
||||||
|
v-for="file in detailData[formItem.dbFieldName + 'List']"
|
||||||
|
:key="file.id">
|
||||||
<div class="detail-page-process-manuscript-file-info">
|
<div class="detail-page-process-manuscript-file-info">
|
||||||
<a-icon type="link" />
|
<a-icon type="link" />
|
||||||
<div class="detail-page-process-manuscript-file-name" @click="handlePreview(file)">{{ file.fileName }}</div>
|
<div class="detail-page-process-manuscript-file-name" @click="handlePreview(file)">{{ file.fileName }}</div>
|
||||||
@@ -390,13 +400,17 @@ export default {
|
|||||||
window.open(url)
|
window.open(url)
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 单个文件的下载功能
|
* 无水印下载
|
||||||
* @param file
|
* @param file
|
||||||
*/
|
*/
|
||||||
handleDownload (file) {
|
handleDownload (file) {
|
||||||
// 下载文件
|
// 下载文件
|
||||||
downloadFile(`/sys/common/download/${file.id}`, file.fileName)
|
downloadFile(`/sys/common/download/${file.id}`, file.fileName)
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
|
* 有水印下载
|
||||||
|
* @param file
|
||||||
|
*/
|
||||||
handleWatermarkedDownload (file) {
|
handleWatermarkedDownload (file) {
|
||||||
downloadFile(`/laws/standard/common/downloadWithWaterMark/${file.id}`, file.fileName)
|
downloadFile(`/laws/standard/common/downloadWithWaterMark/${file.id}`, file.fileName)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user