征求意见的查看附件

This commit is contained in:
shenyanpei
2021-09-09 18:39:19 +08:00
parent 31a6fa4e4a
commit d42da3d955
3 changed files with 1276 additions and 1182 deletions
@@ -63,7 +63,9 @@
style="display: none;" style="display: none;"
></el-input> ></el-input>
<div style="display: flex;"> <div style="display: flex;">
<div class="table-jump" @click="updataFj(item)" style="margin-right: 15px;" v-for="(item, index) in form.fjList" :key="index">{{ item.fileName }}</div> <div class="table-jump" @click="updataFj(item)" style="margin-right: 15px;" v-for="(item, index) in form.fjList" :key="index">
{{ item.fileName }}
</div>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -194,7 +196,8 @@
</el-formItem> </el-formItem>
<el-formItem label="标准类别" prop="standSort" class="search-item"> <el-formItem label="标准类别" prop="standSort" class="search-item">
<el-select v-model="standCommonlySearch.standSort" placeholder="根据标准类别查找" clearable> <el-select v-model="standCommonlySearch.standSort" placeholder="根据标准类别查找" clearable>
<el-option v-for="opt in standSortOptions" :value="opt.value === undefined ? '' :opt.value" :key="opt.value" :label="opt.label">{{ opt.label }} <el-option v-for="opt in standSortOptions" :value="opt.value === undefined ? '' :opt.value" :key="opt.value" :label="opt.label">
{{ opt.label }}
</el-option> </el-option>
</el-select> </el-select>
</el-formItem> </el-formItem>
@@ -210,11 +213,13 @@
size="mini" size="mini"
class="common-button-primary" class="common-button-primary"
@click="sarStandCompareHisInfo">查询</el-button> @click="sarStandCompareHisInfo">查询
</el-button>
<el-button <el-button
class="common-button-default" class="common-button-default"
size="mini" size="mini"
@click="clearSearchStand">清空</el-button> @click="clearSearchStand">清空
</el-button>
</el-formItem> </el-formItem>
</el-form> </el-form>
</div> </div>
@@ -234,8 +239,12 @@
<el-table-column type="selection" width="55" align="center"/> <el-table-column type="selection" width="55" align="center"/>
<el-table-column label="标准号" align="center"> <el-table-column label="标准号" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.standYear" @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}</div> <div v-if="scope.row.standYear" @click="handlePreview(scope.row)" class="table-jump">
<div v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSortShow }} {{ scope.row.standNumber }}</div> {{ scope.row.standSortShow }} {{ scope.row.standNumber }}-{{ scope.row.standYear }}
</div>
<div v-else @click="handlePreview(scope.row)" class="table-jump">{{ scope.row.standSortShow }}
{{ scope.row.standNumber }}
</div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="cname" label="标准名称" align="center"> <el-table-column prop="cname" label="标准名称" align="center">
@@ -609,7 +618,8 @@
handleTabs(name) { handleTabs(name) {
this.active = name this.active = name
}, },
handleSave() {}, handleSave() {
},
handleSubmit() { handleSubmit() {
this.$refs['bzzqyjForm'].validate((valid) => { this.$refs['bzzqyjForm'].validate((valid) => {
if (valid) { if (valid) {
@@ -622,6 +632,8 @@
if (res.ok) { if (res.ok) {
var json = Object.assign(this.form, this.roleForm) var json = Object.assign(this.form, this.roleForm)
json.commentText = this.commentText json.commentText = this.commentText
json.filesId = this.roleForm.dockUserList
json.filesName = this.roleForm.dockUserListName
this.$http.post('lawss/activiti/completeTask', { this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json), json: JSON.stringify(json),
taskId: res.data, taskId: res.data,
@@ -653,20 +665,24 @@
<style lang="less" scoped> <style lang="less" scoped>
@import '~@/assets/styles/style'; @import '~@/assets/styles/style';
@import '~@/assets/styles/mixins'; @import '~@/assets/styles/mixins';
.bzzqyjStep1-1 { .bzzqyjStep1-1 {
.myForm { .myForm {
/deep/ .el-form-item__content { /deep/ .el-form-item__content {
line-height: 10px; line-height: 10px;
} }
} }
/deep/ .el-drawer__container { /deep/ .el-drawer__container {
.prc-content-border { .prc-content-border {
border: none; border: none;
padding: 0 20px 0; padding: 0 20px 0;
} }
} }
position: relative; position: relative;
height: 100%; height: 100%;
.headerTabs { .headerTabs {
height: 52px; height: 52px;
display: flex; display: flex;
@@ -674,6 +690,7 @@
position: absolute; position: absolute;
top: 0; top: 0;
right: 10px; right: 10px;
.headerTabsItem { .headerTabsItem {
border: 1px solid #c1c1c1; border: 1px solid #c1c1c1;
padding: 0 5px; padding: 0 5px;
@@ -681,12 +698,14 @@
line-height: 30px; line-height: 30px;
cursor: pointer; cursor: pointer;
} }
.active { .active {
border: 1px solid #E6A23C; border: 1px solid #E6A23C;
color: #fff; color: #fff;
background: #E6A23C; background: #E6A23C;
} }
} }
.content { .content {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@@ -694,33 +713,41 @@
height: calc(~'100% - 107px'); height: calc(~'100% - 107px');
overflow: auto; overflow: auto;
} }
.standardForComments { .standardForComments {
height: 100%; height: 100%;
background: #fff; background: #fff;
.el-divider--horizontal { .el-divider--horizontal {
display: block; display: block;
height: 1px; height: 1px;
width: 100%; width: 100%;
margin: 0; margin: 0;
} }
flex-direction: column; flex-direction: column;
.action-bar { .action-bar {
margin-bottom: 5px; margin-bottom: 5px;
padding: 0; padding: 0;
} }
.content { .content {
flex: auto; flex: auto;
overflow: hidden; overflow: hidden;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.table-wrap { .table-wrap {
flex: auto; flex: auto;
overflow: hidden; overflow: hidden;
position: relative; position: relative;
} }
} }
& > .pagination { & > .pagination {
position: static; position: static;
/deep/ .pagination-slot { /deep/ .pagination-slot {
padding: 0; padding: 0;
} }
@@ -334,6 +334,7 @@ export default {
standType: '', standType: '',
standId: '', standId: '',
fjList: [], fjList: [],
fjListName: '',
fjListId: '' fjListId: ''
}, },
formRules: { formRules: {
@@ -438,7 +439,11 @@ export default {
this.fzlistModel = true this.fzlistModel = true
}, },
handleSelection2 (data) { handleSelection2 (data) {
if(data.length > 5) {
this.$message.warning('最多选择5条附件')
} else {
this.addFjList = data this.addFjList = data
}
}, },
closeDrawer2 () { closeDrawer2 () {
this.fzlistModel = false this.fzlistModel = false
@@ -447,11 +452,14 @@ export default {
enterDrawer2 () { enterDrawer2 () {
this.fzlistModel = false this.fzlistModel = false
this.form.fjList = this.addFjList this.form.fjList = this.addFjList
let idList let idList = []
let nameList = []
this.addFjList.forEach(item => { this.addFjList.forEach(item => {
idList += item.id + ',' idList.push(item.id)
nameList.push(item.fileName)
}) })
this.form.fjListId = idList this.form.fjListName = nameList.join(',')
this.form.fjListId = idList.join(',')
}, },
// 点击查看 // 点击查看
handlePreview (item) { handlePreview (item) {
@@ -633,6 +641,8 @@ export default {
if (res.ok) { if (res.ok) {
var json = Object.assign(this.form, this.roleForm) var json = Object.assign(this.form, this.roleForm)
json.commentText = this.commentText json.commentText = this.commentText
json.filesId = this.addFjList
json.filesName = this.form.fjListName
this.$http.post('lawss/activiti/completeTask', { this.$http.post('lawss/activiti/completeTask', {
json: JSON.stringify(json), json: JSON.stringify(json),
taskId: res.data, taskId: res.data,
@@ -25,6 +25,19 @@
{{ this.$route.query.item.cname || '-' }} {{ this.$route.query.item.cname || '-' }}
</span> </span>
</p> </p>
<p class="transition-box-p">
<label class="transition-box-label">附件:</label>
<span class="file-box" v-if="fileInfoList.length > 0">
<span v-for="(file,item) in fileInfoList"
target="_blank"
class="transition-box-span table-jump"
@click="handleQueryPdf(file)"
:key="item">
{{ file.name }}
</span>
</span>
<span class="transition-box-span" v-else>-</span>
</p>
<p class="transition-box-p"> <p class="transition-box-p">
<label class="transition-box-label">上传时间:</label> <label class="transition-box-label">上传时间:</label>
<span class="transition-box-span">{{ this.$route.query.item.startTime || '-' }}</span> <span class="transition-box-span">{{ this.$route.query.item.startTime || '-' }}</span>
@@ -37,7 +50,9 @@
</div> </div>
</transition> </transition>
<div class="effect"> <div class="effect">
<el-button v-if="ideaKey" type="primary" class="common-button-primary" size="mini" @click="selectStandardPro('add')">添加</el-button> <el-button v-if="ideaKey" type="primary" class="common-button-primary" size="mini" @click="selectStandardPro('add')">
添加
</el-button>
<el-button type="primary" class="common-button-primary" size="mini" @click="exportAll">导出</el-button> <el-button type="primary" class="common-button-primary" size="mini" @click="exportAll">导出</el-button>
</div> </div>
<div class="container"> <div class="container">
@@ -103,8 +118,12 @@
<el-dropdown trigger="click" @command="handleCommand"> <el-dropdown trigger="click" @command="handleCommand">
<i class="iconfont">&#xe61e;</i> <i class="iconfont">&#xe61e;</i>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item v-if="scope.row.userId === $store.getters.userInfo.userId" :command="[scope.row, '编辑']">编辑</el-dropdown-item> <el-dropdown-item v-if="scope.row.userId === $store.getters.userInfo.userId" :command="[scope.row, '编辑']">
<el-dropdown-item v-if="scope.row.userId === $store.getters.userInfo.userId" :command="[scope.row, '删除']">删除</el-dropdown-item> 编辑
</el-dropdown-item>
<el-dropdown-item v-if="scope.row.userId === $store.getters.userInfo.userId" :command="[scope.row, '删除']">
删除
</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</div> </div>
@@ -144,7 +163,9 @@
</el-form> </el-form>
</div> </div>
<div class="demo-drawer-footer"> <div class="demo-drawer-footer">
<el-button :loading="isSubmit" size="mini" class="common-button-primary" icon="el-icon-check" type="primary" @click="saveUserInfo">提交</el-button> <el-button :loading="isSubmit" size="mini" class="common-button-primary" icon="el-icon-check" type="primary" @click="saveUserInfo">
提交
</el-button>
<el-button size="mini" class="common-button-default" icon="el-icon-close" @click="closeDrawer">取消</el-button> <el-button size="mini" class="common-button-default" icon="el-icon-close" @click="closeDrawer">取消</el-button>
</div> </div>
</div> </div>
@@ -158,6 +179,7 @@
name: 'consultationDetails', name: 'consultationDetails',
data() { data() {
return { return {
fileInfoList: [],
itemData: this.$route.query.item, itemData: this.$route.query.item,
id: '', // 选中id id: '', // 选中id
type: '', // 选中状态 type: '', // 选中状态
@@ -351,10 +373,23 @@
closeDrawer() { closeDrawer() {
this.isDialog = false this.isDialog = false
}, },
getFileInfo() {
JSON.parse(this.$route.query.item.files).forEach(item=>{
this.fileInfoList.push({
attId: item.attId,
id: item.id,
name: item.fileName
})
})
},
handleQueryPdf(file){
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + file.id))
}
}, },
mounted() { mounted() {
this.getList() this.getList()
this.getIdeaKey() this.getIdeaKey()
this.getFileInfo()
} }
} }
</script> </script>
@@ -362,25 +397,30 @@
<style lang="less" scoped> <style lang="less" scoped>
@import '~@/assets/styles/mixins'; @import '~@/assets/styles/mixins';
@import '~@/assets/styles/style'; @import '~@/assets/styles/style';
.consultationDetails { .consultationDetails {
height: 100%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.iconClass { .iconClass {
width: 18px; width: 18px;
height: 18px; height: 18px;
} }
.contentTitle { .contentTitle {
display: flex; display: flex;
align-items: center; align-items: center;
padding: 0 10px; padding: 0 10px;
height: 50px; height: 50px;
background: #ffffff; background: #ffffff;
.title { .title {
flex: 1; flex: 1;
font-weight: bold; font-weight: bold;
font-size: 20px; font-size: 20px;
margin-left: 15px; margin-left: 15px;
.el-icon-s-order { .el-icon-s-order {
font-size: 22px; font-size: 22px;
color: #4498F0; color: #4498F0;
@@ -388,34 +428,42 @@
} }
} }
} }
.transition-box { .transition-box {
padding: 0 10px; padding: 0 10px;
background: #ffffff; background: #ffffff;
font-size: 14px; font-size: 14px;
.transition-box-p { .transition-box-p {
line-height: 35px; line-height: 35px;
.transition-box-label { .transition-box-label {
display: inline-block; display: inline-block;
width: 100px; width: 100px;
vertical-align: top; vertical-align: top;
} }
.transition-box-span { .transition-box-span {
display: inline-block; display: inline-block;
width: calc(~'100% - 100px'); width: calc(~'100% - 100px');
} }
.file-box { .file-box {
display: inline-block; display: inline-block;
width: calc(~'100% - 100px'); width: calc(~'100% - 100px');
.transition-box-span { .transition-box-span {
display: inline; display: inline;
width: 100%; width: 100%;
cursor: pointer; cursor: pointer;
color: #4498f0; color: #4498f0;
} }
p { p {
& > a { & > a {
cursor: pointer; cursor: pointer;
} }
& > i { & > i {
display: inline-block; display: inline-block;
margin-left: 3px; margin-left: 3px;
@@ -427,9 +475,11 @@
vertical-align: sub; vertical-align: sub;
cursor: pointer; cursor: pointer;
} }
.icon-download { .icon-download {
background-image: url("~assets/images/shangqi/img/download.png"); background-image: url("~assets/images/shangqi/img/download.png");
} }
.icon-download2 { .icon-download2 {
background-image: url("~assets/images/shangqi/img/download2.png"); background-image: url("~assets/images/shangqi/img/download2.png");
} }
@@ -438,9 +488,11 @@
} }
} }
} }
.effect { .effect {
margin: 10px 10px 0 0; margin: 10px 10px 0 0;
} }
.container { .container {
height: calc(~'100% - 52px - 55px - 50px'); height: calc(~'100% - 52px - 55px - 50px');
flex: auto; flex: auto;
@@ -448,17 +500,20 @@
margin: 10px 0; margin: 10px 0;
flex-direction: column; flex-direction: column;
padding: 0; padding: 0;
.el-tabs { .el-tabs {
height: 100%; height: 100%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
flex: auto; flex: auto;
/deep/ .el-tabs__content { /deep/ .el-tabs__content {
//height: calc(~'100% - 55px'); //height: calc(~'100% - 55px');
overflow-y: auto; overflow-y: auto;
flex: auto; flex: auto;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
.el-tab-pane { .el-tab-pane {
height: 100%; height: 100%;
flex: auto; flex: auto;
@@ -468,10 +523,12 @@
} }
} }
} }
.add-demo { .add-demo {
.search-area { .search-area {
height: 100%; height: 100%;
} }
::v-deep .el-textarea__inner { ::v-deep .el-textarea__inner {
width: 1000px; width: 1000px;
} }