add 标准拆解单(部分)

This commit is contained in:
赵霄
2023-09-08 18:04:32 +08:00
parent c7c1a9aa27
commit 3cd0745366
6 changed files with 222 additions and 49 deletions
@@ -0,0 +1,71 @@
<template>
<div class="sheet-box">
<!-- 标准目录-->
<div class="standard-catalogue part-common">
<div class="part-title">标准目录</div>
</div>
<!-- 标准内容-->
<div class="sheet-container part-ml part-common"></div>
<!-- 条文标签-->
<div class="clause-label part-ml part-common"></div>
<!-- 条文条文标签切换-->
<div class="clause-label-change part-ml part-common"></div>
</div>
</template>
<script>
export default {
name: 'StandardResolutionSheet'
}
</script>
<style scoped lang="less">
.sheet-box {
width: 100%;
height: 100%;
display: flex;
justify-content: space-between;
}
.part-ml {
margin-left: 16px;
}
.part-common {
border-radius: 8px;
background: #FFFFFF;
}
.standard-catalogue {
height: 100%;
width: 15%;
}
.sheet-container {
height: 100%;
flex: 1;
width: 0;
}
.clause-label {
width: 25%;
height: 100%;
}
.clause-label-change {
width: 6%;
height: 100%;
}
.part-title {
height: 56px;
background: rgba(213, 44, 38, 0.12);
border-radius: 8px 8px 0px 0px;
line-height: 56px;
padding: 0 24px;
font-size: 16px;
font-family: PingFang SC-Semibold, PingFang SC, sans-serif;
font-weight: 600;
color: #1D2129;
}
</style>
+3 -3
View File
@@ -94,6 +94,9 @@ export default {
.user-organ-wrap { .user-organ-wrap {
width: 100%; width: 100%;
position: relative; position: relative;
display: flex;
align-items: center;
height: 39.98px;
.user-input { .user-input {
resize: none; resize: none;
@@ -102,10 +105,7 @@ export default {
} }
.button-box { .button-box {
height: 38px;
margin-left: 5px; margin-left: 5px;
position: absolute;
top: 0;
} }
} }
</style> </style>
+1 -1
View File
@@ -54,7 +54,7 @@ export const ConfigurableTableMixin = {
}, },
mounted () { mounted () {
this.getTableHeader() this.getTableHeader()
this.loadData() // this.loadData()
// 过滤没有权限的按钮 // 过滤没有权限的按钮
// if (this.needFilterTableBtn) { // if (this.needFilterTableBtn) {
// this.operationList = this.operationList.filter(item => isHasPermission(item.has)) // this.operationList = this.operationList.filter(item => isHasPermission(item.has))
@@ -1,74 +1,88 @@
<template> <template>
<div class="detail-page"> <div class="detail-page">
<div class="detail-page-title">{{ pageTitle }}{{ $t('details') }}</div> <a-spin :spinning="loading">
<div class="detail-page-title">{{ pageTitle }}{{ $t('details') }}</div>
<div class="detail-page-part" v-for="(part, index) in partList" :key="part + index"> <div class="detail-page-part" v-for="(part, index) in partList" :key="part + index">
<div class="detail-page-part-title"> <div class="detail-page-part-title">
<span>{{ part }}</span> <span>{{ part }}</span>
<div class="detail-page-part-title-operate-box" v-if="index === 0"> <div class="detail-page-part-title-operate-box" v-if="index === 0">
<!-- 更新记录--> <!-- 更新记录-->
<a-button type="link" @click="handleOpenUpdateRecord"> <a-button type="link" @click="handleOpenUpdateRecord">
<i class="iconfont icon-root-list" /> <i class="iconfont icon-root-list" />
{{ $t('standardRegulationLibrary.updateRecord') }} {{ $t('standardRegulationLibrary.updateRecord') }}
</a-button> </a-button>
<!-- 提交问题--> <!-- 提交问题-->
<a-button type="link" @click="submitQuestion"> <a-button type="link" @click="submitQuestion">
<a-icon type="database" /> <a-icon type="database" />
{{ $t('standardRegulationLibrary.submitQuestion') }} {{ $t('standardRegulationLibrary.submitQuestion') }}
</a-button> </a-button>
<!-- 分享--> <!-- 分享-->
<a-button type="link"><i class="iconfont icon-root-list" />{{ $t('share') }}</a-button> <a-button type="link" @click="handleShare"><i class="iconfont icon-share-internal" />{{ $t('share') }}</a-button>
</div>
</div>
<div class="detail-page-part-form" v-if="index !== 3">
<div class="detail-page-part-form-item" v-for="formItem in form[part]" :key="formItem.id">
<label>{{ formItem.dbFieldTxt }}</label>
<span>{{ detailData[formItem.dbFieldName] }}</span>
</div>
</div>
<!-- 过程稿件特殊处理-->
<div class="detail-page-process-manuscript" v-if="index === 3">
<div class="detail-page-process-manuscript-item" v-for="formItem in form[part]" :key="formItem.id">
<div class="detail-page-process-manuscript-title">
<span>{{ formItem.dbFieldTxt }}</span>
<a-button type="primary" ghost icon="file-text">{{ $t('standardRegulationLibrary.standardResolutionSheet') }}</a-button>
</div> </div>
<div class="detail-page-process-manuscript-file" v-for="file in detailData[formItem.dbFieldName]" :key="file.id"> </div>
<div class="detail-page-process-manuscript-file-info"> <div class="detail-page-part-form" v-if="index !== 3">
<a-icon type="link" /> <div class="detail-page-part-form-item" v-for="formItem in form[part]" :key="formItem.id">
<div class="detail-page-process-manuscript-file-name">{{ file.fileName }}</div> <label>{{ formItem.dbFieldTxt }}</label>
</div> <span>{{ detailData[formItem.dbFieldName] }}</span>
<div class="detail-page-process-manuscript-file-operate"> </div>
<a-button type="link" icon="download">{{ $t('download') }}</a-button> </div>
<a-button type="link"> <!-- 过程稿件特殊处理-->
<i class="iconfont icon-water-drop-slash"></i> <div class="detail-page-process-manuscript" v-if="index === 3">
{{ $t('unwatermarkedDownload') }} <div class="detail-page-process-manuscript-item" v-for="formItem in form[part]" :key="formItem.id">
<div class="detail-page-process-manuscript-title">
<span>{{ formItem.dbFieldTxt }}</span>
<!-- 标准分解单-->
<a-button type="primary" ghost icon="file-text" @click="previewStandardResolutionSheet">
{{ $t('standardRegulationLibrary.standardResolutionSheet') }}
</a-button> </a-button>
</div> </div>
<div class="detail-page-process-manuscript-file" v-for="file in detailData[formItem.dbFieldName]" :key="file.id">
<div class="detail-page-process-manuscript-file-info">
<a-icon type="link" />
<div class="detail-page-process-manuscript-file-name">{{ file.fileName }}</div>
</div>
<div class="detail-page-process-manuscript-file-operate">
<!-- 下载-->
<a-button type="link" icon="download">{{ $t('download') }}</a-button>
<!-- 无水印下载-->
<a-button type="link">
<i class="iconfont icon-water-drop-slash"></i>
{{ $t('unwatermarkedDownload') }}
</a-button>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </a-spin>
<!-- 更新记录--> <!-- 更新记录-->
<upload-record-modal ref="uploadRecordModal" /> <upload-record-modal ref="uploadRecordModal" />
<!-- 提交问题--> <!-- 提交问题-->
<submit-question-modal ref="submitQuestionModal" /> <submit-question-modal ref="submitQuestionModal" />
<!-- 分享选人-->
<user-select-modal ref="userSelectModal" type="checkbox" @change="continueShare" />
<!-- 标准分解单-->
<standard-resolution-sheet-modal ref="standardResolutionSheetModal" />
</div> </div>
</template> </template>
<script> <script>
import '@assets/less/common.less' import '@assets/less/common.less'
import { TagsTypeEnums } from '../../../enums/commonEnums' import { TagsTypeEnums } from '../../../enums/commonEnums'
import { getDomesticStandardFormModal } from '../../../api/standardRegulationLibraryApi' import { getDomesticStandardFormModal, shareDomesticStandard } from '../../../api/standardRegulationLibraryApi'
import UploadRecordModal from './modules/UploadRecordModal.vue' import UploadRecordModal from './modules/UploadRecordModal.vue'
import SubmitQuestionModal from './modules/SubmitQuestionModal.vue' import SubmitQuestionModal from './modules/SubmitQuestionModal.vue'
import UserSelectModal from '../../../components/selection/UserSelectModal.vue'
import StandardResolutionSheetModal from './modules/StandardResolutionSheetModal.vue'
export default { export default {
name: 'StandardDetailPage', name: 'StandardDetailPage',
components: { UploadRecordModal, SubmitQuestionModal }, components: { UploadRecordModal, SubmitQuestionModal, UserSelectModal, StandardResolutionSheetModal },
data () { data () {
return { return {
loading: false,
partList: [], // 页面模块列表 partList: [], // 页面模块列表
form: {}, // 页面字段 form: {}, // 页面字段
detailData: { detailData: {
@@ -136,6 +150,38 @@ export default {
*/ */
submitQuestion () { submitQuestion () {
this.$refs.submitQuestionModal.open() this.$refs.submitQuestionModal.open()
},
/**
* 分享
*/
handleShare () {
this.$refs.userSelectModal.open()
},
/**
* 选择分享的人之后继续分享
* @param ids
*/
continueShare (ids) {
const params = {
id: this.$route.query.id, // 要分享的标准的id
userIds: ids // 分享给的用户的id
}
this.loading = true
shareDomesticStandard(params).then(res => {
if (res.success) {
this.$message.success(res.message)
} else {
this.$message.warn(res.message)
}
}).finally(() => {
this.loading = false
})
},
/**
* 查看标准分解单
*/
previewStandardResolutionSheet () {
this.$refs.standardResolutionSheetModal.open()
} }
} }
} }
@@ -0,0 +1,56 @@
<template>
<j-modal
:title="$t('standardRegulationLibrary.standardResolutionSheet')"
:maskClosable="false"
:width="width"
:visible="visible"
:confirm-loading="confirmLoading"
@cancel="handleCancel">
<a-spin :spinning="confirmLoading">
<div class="page-container">
<standard-resolution-sheet></standard-resolution-sheet>
</div>
</a-spin>
<template v-slot:footer>
<a-button @click="handleCancel">{{ $t('close') }}</a-button>
</template>
</j-modal>
</template>
<script>
import StandardResolutionSheet from '../../../../components/StandardResolutionSheet.vue'
export default {
name: 'StandardResolutionSheetModal',
components: { StandardResolutionSheet },
data () {
return {
width: '90%',
visible: false,
confirmLoading: false
}
},
methods: {
open () {
this.visible = true
},
handleCancel () {
this.visible = false
}
}
}
</script>
<style scoped lang="less">
.page-container {
min-height: 250px;
height: calc(100vh - 200px - 55px - 54px - 48px);
}
/deep/ .ant-modal-body {
background: #F0F2F4;
}
</style>
@@ -146,7 +146,7 @@ export default {
}, },
handleCancel () { handleCancel () {
this.close()
}, },
close () { close () {
this.visible = false this.visible = false