合并分支 'dev_20230216' 到 'master'

Dev 20230216

查看合并请求 laws-foton-slrs/foton-laws-system-front!42
This commit is contained in:
高嵩
2023-04-09 18:11:42 +08:00
8 changed files with 466 additions and 44 deletions
@@ -0,0 +1,390 @@
<template>
<div style="height: 100%;">
<div style="height: 100%;display: flex;flex-direction: row">
<el-table
style="height: calc(100% - 56px)"
:data="itemInfoList"
height="100%"
border
:header-cell-style="{background: '#f8f8f9', color: '#515a6e'}"
@selection-change="standSelectChange"
ref="selection"
>
<el-table-column
type="selection"
width="55"
:resizable="false"
align="center">
</el-table-column>
<el-table-column
prop="itemsNum"
label="条款号"
width="150"
fixed="left"
:resizable="false"
align="center">
</el-table-column>
<el-table-column
prop="itemsName"
label="条款名称"
width="150"
fixed="left"
:resizable="false"
show-overflow-tooltip
align="center">
</el-table-column>
<el-table-column
prop="itermsConditions"
label="条款内容"
fixed="left"
:resizable="false"
align="center">
<template slot-scope="scope">
<div class="itemsText" @click="itemsTextDialog(scope.row.itemsNum, scope.row.itermsConditions)">{{ scope.row.itermsConditions ? scope.row.itermsConditions.replace(/<.*?>/ig, ' ') : '' }}</div>
</template>
</el-table-column>
</el-table>
<el-pagination
style="position:absolute;height: 56px;left: 0;bottom: 0;background: #ffffff;z-index: 999;"
@size-change="pageSizeChange"
@current-change="pageChange"
:current-page="itemsPage"
:page-sizes="[10, 20, 30, 50]"
:page-size="itemsPageSize"
layout="total, prev, pager, next, sizes, jumper"
:total="total">
</el-pagination>
</div>
<loading :loading="loading">数据加载中...</loading>
<!--内容简介-->
<el-dialog :visible.sync="itemsTextDialogs" title="内容简介" append-to-body :close-on-click-modal="false">
<div v-html="itemsText" class="itemsTextBox"></div>
<div slot="footer">
<el-button type="primary" size="large" @click="itemsTextDialogs = false">关闭</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
name: "ResolveTable",
data(){
return {
itemInfoList: [],
infoId: '8H94ZSWC2UQSANNG79CK',
total: 0,
itemsPage: 1,
itemsPageSize: this.$store.getters.userInfo.configContent,
selectedList:[],
selectedList1:[],
itemsEo: {
menuId: '',
infoId: '',
page: 1,
pageSize: this.$store.getters.userInfo.configContent
},
selectSarMenu: {},
infoForm: {
id: '',
standId: '',
standNumSplit: '', // 标准号/政策号
standNameSplit: '', // 标准名称/政策名称
fileType: '' // 文本状态
},
itemsTextDialogs:false,
itemsText: ""
}
},
mounted(){
this.findInfoId().then(res => {
if(res && res.data){
this.infoId = res.data.list[0].infoId
this.queryInfoByInfoId().then(res=>{
this.getSplitItemsByPage()
})
}
})
},
methods:{
getSplitItemsByPage (query) {
let itemsEoPage = this.itemsEo
itemsEoPage.infoId = this.infoId
itemsEoPage.page = this.itemsPage
itemsEoPage.pageSize = this.itemsPageSize
itemsEoPage.itemsName = query ? query.clauseName : undefined
this.$http.get('lawss/sarFileSplitItems/getSplitItemsByPage', itemsEoPage, {
_this: this,
loading: 'loading'
}, res => {
this.itemInfoList = res.data.list
this.total = res.data.count
}, e => {
})
},
findInfoId(){
return new Promise((resolve,reject)=>{
this.$http.get('SarStandItems/sar-stand-items/selectSarItemAndInterpretation', {
standId: this.$route.params.id
}, {
_this: this,
}, res => {
resolve(res)
})
})
},
queryInfoByInfoId() {
return new Promise((resolve,reject)=>{
this.$http.get('lawss/sarFileSplitInfo/getSarFileSplitInfoEOPage', {
id: this.infoId
}, {
_this: this,
}, res => {
if (res.ok) {
const info = res.data.list
if (info) {
const query = info[0]
this.infoForm = {
id: this.infoId,
standNumSplit: query.splitStatus=='0' ? query.showNumber : query.standNumSplit,
standNameSplit: query.splitStatus=='0' ? query.standName : query.standNameSplit,
fileType: query.fileType
}
resolve(res)
}
} else {
this.$message.warning(res.message)
}
})
})
},
itemsTextDialog (itemsNum, text) {
this.itemsTextDialogs = true
this.itemsText = '<p>' + itemsNum + '</p>' + text.replace(/''/g, '\'')
},
standSelectChange (data) {
this.selectedList = []
for (let i = 0; i < data.length; i++) {
this.selectedList.push(data[i].id)
}
},
// 分页点击后方法
pageChange (page) {
this.selectedAllList = []
this.itemsPage = page
this.getSplitItemsByPage()
},
// 分页每页显示数改变后方法
pageSizeChange (pageSize) {
this.selectedAllList = []
this.itemsPageSize = pageSize
this.getSplitItemsByPage()
},
// 导出事件
exportItemInfo () {
let exportName = this.infoForm.standNumSplit + this.infoForm.standNameSplit
if (this.selectedList != null && this.selectedList.length > 0) {
let ids = this.selectedList.join(',')
window.open('/api/lawss/sarFileSplitItems/exportSplitInfoZip?idList=' + ids + '&infoId=' + this.infoId + '&exportName=' + exportName)
} else {
this.$confirm('当前未选择条款信息,是否导出全部内容?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
confirmButtonClass: 'common-button-primary',
roundButton: false
}).then(() => {
window.open('/api/lawss/sarFileSplitItems/exportSplitInfoZip?ids=null&infoId=' + this.infoId + '&exportName=' + exportName)
}).catch(() => {})
}
},
// jurisdictionCheck() {
// return true
// },
// // 点击更多 事件
// handleCommand (command) {
// switch (command[1]) {
// case '复制':
// this.$confirm('确认复制该条款?', '提示', {
// confirmButtonText: '确定',
// cancelButtonText: '取消',
// type: 'warning',
// confirmButtonClass: 'common-button-primary',
// roundButton: false
// }).then(() => {
// this.$http.postData('lawss/sarFileSplitMenu/copyMenuNotChildren', command[0], {
// _this: this, loading: 'loading'
// }, res => {
// // this.selectMenu()
// this.getSplitItemsByPage()
// }, e => {
// })
// }).catch(() => {})
// break
// case '删除':
// this.selectedList = []
// this.selectedList.push(command[0].id)
// this.selectedList1.push(command[0].editFlag)
// this.judgebatchDeleteItem()
// break
// // case '内容简介':
// // this.clause(command[0])
// // break
// case '属性':
// this.attribute(command[2], command[0])
// break
// case '编辑':
// this.editLawsInfo(command[2], command[0])
// break
// }
// },
// // 点击表格 属性按钮事件
// attribute (index, row) {
// this.isSubmit = false
// this.standItemEO.id = row.id
// this.showItemInfoModal = true
// this.saveEditItemIndex = index
// this.standItemEO = JSON.parse(JSON.stringify(row))
// if (this.standItemEO.applyArctic && !(this.standItemEO.applyArctic instanceof Array)) {
// let a = this.standItemEO.applyArctic.split(',')
// this.standItemEO.applyArctic = a // 适用车型
// }
// if (this.standItemEO.newcarPutTime != null && this.standItemEO.newcarPutTime !== '') {
// this.standItemEO.newcarPutTime = this.standItemEO.newcarPutTime.replace(new RegExp(/-/gm), '/')
// this.standItemEO.newcarPutTime = new Date(this.standItemEO.newcarPutTime)
// }
// if (this.standItemEO.productPutTime != null && this.standItemEO.productPutTime !== '') {
// this.standItemEO.productPutTime = this.standItemEO.productPutTime.replace(new RegExp(/-/gm), '/')
// this.standItemEO.productPutTime = new Date(this.standItemEO.productPutTime)
// }
// if (this.standItemEO.paramsList == null || this.standItemEO.paramsList.length < 1) {
// let specialObj = {
// description: '',
// figure: ''
// }
// this.standItemEO.paramsList.push(specialObj)
// }
// this.standItemEO.ZRBM = this.standItemEO.responsibleUnit
// this.saveItemId = row.id
// this.showUpdateItemInfo()
// },
// // 点击表格 编辑按钮事件
// editLawsInfo (index, row) {
// this.isSubmit = false
// this.standItemEO.id = row.id
// this.modalItemaddShowflag = true
// this.saveEditItemIndex = index
// this.standItemEO = JSON.parse(JSON.stringify(row))
// if (this.standItemEO.applyArctic && !(this.standItemEO.applyArctic instanceof Array)) {
// let a = this.standItemEO.applyArctic.split(',')
// this.standItemEO.applyArctic = a // 适用车型
// }
// if (this.standItemEO.newcarPutTime != null && this.standItemEO.newcarPutTime !== '') {
// this.standItemEO.newcarPutTime = this.standItemEO.newcarPutTime.replace(new RegExp(/-/gm), '/')
// this.standItemEO.newcarPutTime = new Date(this.standItemEO.newcarPutTime)
// }
// if (this.standItemEO.productPutTime != null && this.standItemEO.productPutTime !== '') {
// this.standItemEO.productPutTime = this.standItemEO.productPutTime.replace(new RegExp(/-/gm), '/')
// this.standItemEO.productPutTime = new Date(this.standItemEO.productPutTime)
// }
// if (this.standItemEO.paramsList == null || this.standItemEO.paramsList.length < 1) {
// let specialObj = {
// description: '',
// figure: ''
// }
// this.standItemEO.paramsList.push(specialObj)
// }
// this.standItemEO.ZRBM = this.standItemEO.responsibleUnit
// this.saveItemId = row.id
// this.showUpdateItemInfo()
// },
// showUpdateItemInfo () {
// this.itemsContentList = []
// this.saveChooseAddType = ''
// this.saveAddIndex = 0
// this.saveDeleteItemIds = ''
// // this.editItemsContentModel = true
// this.$http.get('lawss/sarFileSplitItemsVal/getItemsValList', {
// itemId: this.saveItemId
// }, {
// _this: this
// }, res => {
// res.data.map(item => {
// item.itemContent = item.itemContent.replace(/''/g, '\'')
// })
// this.itemsContentList = res.data
// }, e => {
// })
// },
// // 批量删除
// judgebatchDeleteItem () {
// if (!this.jurisdictionCheck()) {
// return
// }
// if (this.selectedList != null && this.selectedList.length > 0) {
// this.$http.get('lawss/sarFileSplitItems/judgeContaintChilds', {
// ids: this.selectedList.join(',')
// }, {
// _this: this
// }, res => {
// this.batchDeleteItem()
// }, e => {
// })
// } else {
// this.$message.warning('请确认选择条款是否有子节点,若有,则此次删除将全部删除。')
// }
// },
// batchDeleteItem () {
// if (this.selectedList != null && this.selectedList.length > 0) {
// this.$confirm('请确认选择条款是否有子节点,若有,则此次删除将全部删除。', '提示', {
// confirmButtonText: '确定',
// cancelButtonText: '取消',
// type: 'warning',
// confirmButtonClass: 'common-button-primary',
// roundButton: false
// }).then(() => {
// this.itemsPage = 1
// this.itemsEo.page = 1
// this.loading = true
// this.deleteItemsModal = false
// this.$http.post('lawss/sarFileSplitItems/batchDeleteItems', {
// ids: this.selectedList.join(','),
// editFlag: this.selectedList1.join(','),
// }, {
// _this: this
// }, res => {
// this.getSplitItemsByPage()
// this.selectMenu()
// // 获取下一个节点
// let currentNode = this.$refs.domesticTree.getNextNode()
// let nodeId = ''
// // 如果这个节点为null, 本次删除了最后一个节点
// if (currentNode === null) {
// // 选中根节点
// this.$refs.domesticTree.selectRootNode()
// } else {
// nodeId = currentNode.id
// }
// this.selectSarMenu.id = nodeId
// this.loading = false
// }, e => {
// })
// }).catch(() => {})
// } else {
// this.$message.warning('请确认选择条款是否有子节点,若有,则此次删除将全部删除。')
// }
// },
}
}
</script>
<style scoped>
.itemsText {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
color: #409EFF;
cursor: pointer;
}
</style>
+9 -9
View File
@@ -2803,17 +2803,17 @@
const nowTime = new Date().getTime()
this.loadingText = true
if (editFileInfo.fileSuffix.toLowerCase() === 'pdf') {
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
//alert(navigator.userAgent);
this.getFileInfo(editFileInfo.id)
} else if (/(Android)/i.test(navigator.userAgent)) {
//alert(navigator.userAgent);
// if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
// //alert(navigator.userAgent);
// this.getFileInfo(editFileInfo.id)
// } else if (/(Android)/i.test(navigator.userAgent)) {
// //alert(navigator.userAgent);
// this.loadingText = false
// window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
// } else {
this.loadingText = false
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
} else {
this.loadingText = false
window.open('/static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id))
}
// }
// window.open('/#/phonePDF?fileId='+editFileInfo.id)
} else {
const nowTime = new Date().getTime()
@@ -141,8 +141,12 @@ export default {
* @date: 2020-11-25 15:47:12
* @auth: chenxiaoxi
*/
getPrcName(prcType) {
getPrcName(prcType, taskInfo) {
let prcName = "";
if(prcType === '25' && taskInfo === '技术标准起草'){
prcName = '企标制修订-技术标准'
return prcName
}
this.processTypeList.map(item => {
if (item.value === prcType) {
prcName = item.label;
@@ -134,7 +134,7 @@
<div class="prc-content-border" v-show="verifySarStandard">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="发布稿" prop="FBGBUSSName" class="add-form-item form-item-disabled">
<el-form-item label="发布稿" prop="FBGBUSSName" class="add-form-item form-item-disabled uploadBtnFormItem">
<el-input
disabled
style="display: none;"
@@ -220,7 +220,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="编制说明" prop="BZSMBUSSName" class="add-form-item form-item-disabled">
<el-form-item label="编制说明" prop="BZSMBUSSName" class="add-form-item form-item-disabled uploadBtnFormItem">
<el-input
disabled
style="display: none;"
@@ -640,7 +640,7 @@
<div class="prc-content-border" v-show="opinionsShow">
<el-row :gutter="24">
<el-col :span="12">
<el-form-item label="培训文件" prop="madelSubName" class="add-form-item form-item-disabled">
<el-form-item label="培训文件" prop="madelSubName" class="add-form-item form-item-disabled uploadBtnFormItem">
<el-input
disabled
style="display: none;"
@@ -661,7 +661,7 @@
type="primary"
class="common-button-primary"
size="mini"
style="margin-top: 6px; float: left;"
style="margin-top: 6px; float: right;"
@click="fileUpload('madelSub')">
<i class="el-icon-upload"></i>
</el-button>
@@ -1132,4 +1132,7 @@ export default {
/deep/ .fileClass{
line-height: 22px !important;
}
.uploadBtnFormItem /deep/ .el-form-item__error{
right: 45px !important;
}
</style>
@@ -1191,7 +1191,7 @@
_this: this
}, res => {
const obj = res.data
let standSn = obj.newStandSn + 1
let standSn = (obj.newStandSn / 1) + 1
this.form.standSn = standSn
this.form.standNumber = standSn
this.form.standNum = standSn
@@ -2992,7 +2992,7 @@
_this: this
}, res => {
const obj = res.data
let standSn = obj.newStandSn + 1
let standSn = (obj.newStandSn / 1) + 1
this.form.standSn = standSn
this.form.standNumber = standSn
this.form.standNum = standSn
@@ -893,6 +893,7 @@
import ProcessFooter from '../../components/ProcessFooter'
import ProcessTitle from '../../components/ProcessTitle'
import { onlyOfficeUrl,kkFileViewUrl } from '@/sysConfig'
import { processEditFile } from 'api/process'
import {saveTaskForPub,changeAssigneeNew,saveTaskFirst, queryTaskFirst, getBusStandFileByAttId,inboundLiaisonDetail} from "api/process";
import {getEvaluationIndex} from "api/businessApi";
import TreeSelect from '@/components/treeSelect/treeSelect.vue';
@@ -1443,10 +1444,10 @@
emitDataLoading(boo){
this.dataLoading = boo
},
previewShow(attId) {
previewShow(attId, label) {
this.iframeLoading = true
return new Promise((resolve, reject) => {
if(attId.indexOf('ATT_FILE') === 0){
if(attId.indexOf('ATT_FILE') === 0){
getBusStandFileByAttId({
attId
}).then(res => {
@@ -1469,28 +1470,52 @@
}).catch(e => {
})
}else{
axios({
url: 'api/lawss/activiti/selectOnlineFile',
method: 'get',
params: attId
}).then(res=>{
if(res){
const history = res;
const editFileInfo = res.data
if(editFileInfo.fileSuffix.toLowerCase() === 'pdg'){
this.iframeUrl = 'book://ssreader/e0?url='+editFileInfo.downLoadUrl
}else if(editFileInfo.fileSuffix.toLowerCase() === 'pdf'){
this.iframeUrl = './static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id)
}else {
const nowTime = new Date().getTime()
// window.open(onlyOfficeUrl+'/onlyOffice?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
this.iframeUrl = kkFileViewUrl+'/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl))+'&office.preview.type=pdf';
}
this.iframeLoading = false
this.$forceUpdate()
resolve(history)
}
}).catch(e=>{})
processEditFile({
id:attId
}).then(res => {
if(res){
const editFileInfo = res
const showName = label
const editFilePath = editFileInfo.editFilePath.split("/")
editFileInfo.filePath = editFilePath[0]+'/'+editFilePath[1]+'/'
editFileInfo.fileName = editFilePath[2]
if(editFileInfo.pid){
editFileInfo.pId = editFileInfo.pid
}
editFileInfo.fileSuffix = 'docx'
const nowTime = new Date().getTime()
this.iframeUrl = onlyOfficeUrl+'/onlyOffice?oldFileName=' + showName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName
this.iframeLoading = false
resolve(res)
}
}).catch(e => {
})
// return
// axios({
// url: 'api/lawss/activiti/selectOnlineFile',
// method: 'get',
// params: attId
// }).then(res=>{
// if(res){
// const history = res;
// const editFileInfo = res.data
// if(editFileInfo.fileSuffix.toLowerCase() === 'pdg'){
// this.iframeUrl = 'book://ssreader/e0?url='+editFileInfo.downLoadUrl
// }else if(editFileInfo.fileSuffix.toLowerCase() === 'pdf'){
// this.iframeUrl = './static/pdf/web/viewer.html?file=' + encodeURIComponent('/api/att/attFile/getFileInfo?fileId=' + editFileInfo.id)
// }else {
// const nowTime = new Date().getTime()
// // window.open(onlyOfficeUrl+'/onlyOffice?oldFileName=' + editFileInfo.oldFileName + '&fileType=' + editFileInfo.fileSuffix + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id + nowTime+'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName)
// this.iframeUrl = kkFileViewUrl+'/onlinePreview?url='+encodeURIComponent(Base64.encode(editFileInfo.downLoadUrl))+'&office.preview.type=pdf';
// // onlyOfficeUrl+'/editor?fileId='+editFileInfo.id+'&pid='+editFileInfo.pId+'&taskIds='+editFileInfo.taskId+'&editType='+editFileInfo.editType+'&oldFileName=' + showName + '&fileType=' + 'docx' + '&attId=' + editFileInfo.id + '&fileUrl=' + editFileInfo.downLoadUrl + '&key=' + editFileInfo.id +'&filePath='+editFileInfo.filePath+'&fileName='+editFileInfo.fileName+'&userId='+editFileInfo.userId+'&userName='+editFileInfo.userName
// }
// this.iframeLoading = false
// this.$forceUpdate()
// resolve(history)
// }
// }).catch(e=>{
// console.log(e);
// })
}
})
@@ -1498,7 +1523,7 @@
previewIframe(targetName, action){
let attId = targetName.name
this.iframeUrl = ""
this.previewShow(attId)
this.previewShow(attId, targetName.label)
},
showDrawerClose () {
this.showForm.modelNum = ""
@@ -1696,7 +1721,7 @@
// }
if(this.FBGBUSSFileList.length > 0){
this.editableTabsValue = this.FBGBUSSFileList[0].id
this.previewShow(this.FBGBUSSFileList[0].id)
this.previewShow(this.FBGBUSSFileList[0].id, this.FBGBUSSFileList[0].name)
}
this.showDrawer = true
this.showDrawerTitle = "新增征求意见"
@@ -87,7 +87,7 @@
width="180"
>
<template slot-scope="scope">
<span @click="dealWith(scope.row)" class="table-jump" v-btn-permission="'4219fdb5e33dbbc84d845af98c947e66'">{{ getPrcName(scope.row.prcType) }}</span>
<span @click="dealWith(scope.row)" class="table-jump" v-btn-permission="'4219fdb5e33dbbc84d845af98c947e66'">{{ getPrcName(scope.row.prcType,scope.row.taskInfo) }}</span>
</template>
</el-table-column>
<el-table-column
@@ -1227,7 +1227,7 @@
_this: this
}, res => {
if (res.ok) {
if (res.data === '操作成功') {
if (res.message === '操作成功') {
this.$message.success(tips + '成功')
this.getData()
if(this.DrawerType === 'add'){