update 文档拆分
This commit is contained in:
@@ -2,7 +2,12 @@
|
|||||||
import { getAction, postAction } from './manage'
|
import { getAction, postAction } from './manage'
|
||||||
|
|
||||||
// 文档拆分-发布
|
// 文档拆分-发布
|
||||||
const releaseSplitStandard = (params) => postAction('', params)
|
const releaseSplitStandard = (params) => postAction('/split/sarFileSplitInfo/publish', params)
|
||||||
|
// 文档拆分-更改权限
|
||||||
|
const changePermission = (params) => postAction('/split/sarFileSplitInfo/updatePermissions', params)
|
||||||
|
// 文档拆分-撤回
|
||||||
|
const withdraw = (params) => postAction('', params)
|
||||||
|
|
||||||
// 文档拆分-拆分已入库文本-拆分
|
// 文档拆分-拆分已入库文本-拆分
|
||||||
const addDocSplit = (params) => postAction('/split/sarFileSplitInfo/add', params)
|
const addDocSplit = (params) => postAction('/split/sarFileSplitInfo/add', params)
|
||||||
// 文档拆分编辑-表头
|
// 文档拆分编辑-表头
|
||||||
@@ -66,6 +71,8 @@ const getCommentList = (params) => getAction('/compare/sarFileCompareResComment/
|
|||||||
export {
|
export {
|
||||||
// 文档拆分
|
// 文档拆分
|
||||||
releaseSplitStandard,
|
releaseSplitStandard,
|
||||||
|
changePermission,
|
||||||
|
withdraw,
|
||||||
|
|
||||||
// 文档拆分-详情
|
// 文档拆分-详情
|
||||||
getDocSplitTableHeader,
|
getDocSplitTableHeader,
|
||||||
|
|||||||
@@ -121,6 +121,7 @@ module.exports = {
|
|||||||
confirmRelease: 'Confirm Release?',
|
confirmRelease: 'Confirm Release?',
|
||||||
confirmReleaseContent: 'Confirm to publish the data?',
|
confirmReleaseContent: 'Confirm to publish the data?',
|
||||||
confirmWithdraw: 'Confirm to Withdraw?',
|
confirmWithdraw: 'Confirm to Withdraw?',
|
||||||
|
confirmWithdrawContent: 'Confirm the withdrawal of this data?',
|
||||||
doNotHavePermissionDeleteData: 'Do not have permission to delete this data',
|
doNotHavePermissionDeleteData: 'Do not have permission to delete this data',
|
||||||
noData: 'No Data',
|
noData: 'No Data',
|
||||||
dataLoading: 'Data loading...',
|
dataLoading: 'Data loading...',
|
||||||
@@ -406,6 +407,8 @@ module.exports = {
|
|||||||
formatRequirementContentTwo: '2.The images are in jpg, jpeg, png, gif format',
|
formatRequirementContentTwo: '2.The images are in jpg, jpeg, png, gif format',
|
||||||
formatRequirementContentThree: '3.The image in the document is displayed in the form of a link in the exported excel, click the link to jump to the specified local file',
|
formatRequirementContentThree: '3.The image in the document is displayed in the form of a link in the exported excel, click the link to jump to the specified local file',
|
||||||
formatRequirementContentFour: '4.The table in the document is displayed in the form of a link in the exported excel. Click the link to jump to the specified sheet page',
|
formatRequirementContentFour: '4.The table in the document is displayed in the form of a link in the exported excel. Click the link to jump to the specified sheet page',
|
||||||
|
changePermissions: 'Change permissions',
|
||||||
|
pleaseSelectUser: 'Please select a user',
|
||||||
|
|
||||||
selectFileType: 'Please select a file type',
|
selectFileType: 'Please select a file type',
|
||||||
onlyWord: 'Only word files can be imported',
|
onlyWord: 'Only word files can be imported',
|
||||||
|
|||||||
@@ -102,5 +102,11 @@ module.exports = {
|
|||||||
timeConsuming: '耗时',
|
timeConsuming: '耗时',
|
||||||
approvalOpinion: '审批意见',
|
approvalOpinion: '审批意见',
|
||||||
opinionContent: '意见内容'
|
opinionContent: '意见内容'
|
||||||
|
},
|
||||||
|
// 标准征求意见
|
||||||
|
standardConsultationProcess: {
|
||||||
|
standardText: '标准文本',
|
||||||
|
selectText: '选择文本',
|
||||||
|
selectionStandardFile: '选择标准文件'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -123,5 +123,11 @@ module.exports = {
|
|||||||
finishTime: '完成时间',
|
finishTime: '完成时间',
|
||||||
processState: '流程状态',
|
processState: '流程状态',
|
||||||
processTime: '流程耗时(小时)'
|
processTime: '流程耗时(小时)'
|
||||||
|
},
|
||||||
|
// 标准征求意见
|
||||||
|
standardConsultationProcess: {
|
||||||
|
standardText: '标准文本',
|
||||||
|
selectText: '选择文本',
|
||||||
|
selectionStandardFile: '选择标准文件'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -121,6 +121,7 @@ module.exports = {
|
|||||||
confirmRelease: '确认发布?',
|
confirmRelease: '确认发布?',
|
||||||
confirmReleaseContent: '确认发布该条数据?',
|
confirmReleaseContent: '确认发布该条数据?',
|
||||||
confirmWithdraw: '确认撤回?',
|
confirmWithdraw: '确认撤回?',
|
||||||
|
confirmWithdrawContent: '确认撤回该条数据?',
|
||||||
doNotHavePermissionDeleteData: '没有权限删除此数据',
|
doNotHavePermissionDeleteData: '没有权限删除此数据',
|
||||||
noData: '暂无数据',
|
noData: '暂无数据',
|
||||||
dataLoading: '数据加载中...',
|
dataLoading: '数据加载中...',
|
||||||
@@ -409,6 +410,8 @@ module.exports = {
|
|||||||
formatRequirementContentTwo: '2.图片为jpg、jpeg、png、gif格式',
|
formatRequirementContentTwo: '2.图片为jpg、jpeg、png、gif格式',
|
||||||
formatRequirementContentThree: '3.文档中的图片,在导出excel中以链接的形式展示,点击链接跳转到本地指定的文件',
|
formatRequirementContentThree: '3.文档中的图片,在导出excel中以链接的形式展示,点击链接跳转到本地指定的文件',
|
||||||
formatRequirementContentFour: '4.文档中的表格,在导出excel中以链接的形式展示,点击链接跳转到指定的sheet页面',
|
formatRequirementContentFour: '4.文档中的表格,在导出excel中以链接的形式展示,点击链接跳转到指定的sheet页面',
|
||||||
|
changePermissions: '更改权限',
|
||||||
|
pleaseSelectUser: '请选择一个用户',
|
||||||
|
|
||||||
selectFileType: '请选择文件类型',
|
selectFileType: '请选择文件类型',
|
||||||
onlyWord: '只能导入word文件',
|
onlyWord: '只能导入word文件',
|
||||||
|
|||||||
@@ -100,6 +100,12 @@ export default {
|
|||||||
default: () => {
|
default: () => {
|
||||||
return ''
|
return ''
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
// 是否校验必选
|
||||||
|
checkRequired: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@@ -297,6 +303,10 @@ export default {
|
|||||||
this.selectedRowKeys = this.selectedRowKeys.filter(item => item !== record.id)
|
this.selectedRowKeys = this.selectedRowKeys.filter(item => item !== record.id)
|
||||||
},
|
},
|
||||||
handleOk () {
|
handleOk () {
|
||||||
|
if (this.checkRequired && (!this.selectedRowKeys || this.selectedRowKeys.length === 0)) {
|
||||||
|
this.$message.warning(this.$t('docTool.split.pleaseSelectUser'))
|
||||||
|
return
|
||||||
|
}
|
||||||
this.$emit('change', this.selectedRowKeys.join(','))
|
this.$emit('change', this.selectedRowKeys.join(','))
|
||||||
this.$emit('nameChange', this.dataSourceRight.map(item => item.realname + '(' + item.username + ')').join(','))
|
this.$emit('nameChange', this.dataSourceRight.map(item => item.realname + '(' + item.username + ')').join(','))
|
||||||
this.close()
|
this.close()
|
||||||
|
|||||||
@@ -75,3 +75,9 @@ export const OperationType = {
|
|||||||
ENTRY: { text: '标准法规入库', value: '1' },
|
ENTRY: { text: '标准法规入库', value: '1' },
|
||||||
CHANGE: { text: '标准法规变更', value: '2' }
|
CHANGE: { text: '标准法规变更', value: '2' }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 文档拆分-拆分状态
|
||||||
|
export const SplitStatus = {
|
||||||
|
EDITING: { text: '编辑中', value: '1' },
|
||||||
|
RELEASED: { text: '已发布', value: '2' }
|
||||||
|
}
|
||||||
|
|||||||
@@ -56,7 +56,8 @@ export const ConfigurableTableMixin = {
|
|||||||
needFilterTableBtn: true, // 是否需要过滤没有权限的按钮
|
needFilterTableBtn: true, // 是否需要过滤没有权限的按钮
|
||||||
tokenHeader: { 'X-Access-Token': Vue.ls.get(ACCESS_TOKEN) },
|
tokenHeader: { 'X-Access-Token': Vue.ls.get(ACCESS_TOKEN) },
|
||||||
getTableHeaderFunc: null, // 获取表头的方法
|
getTableHeaderFunc: null, // 获取表头的方法
|
||||||
tableSlotField: [] // 表格需要使用插槽的字段,dbFieldName
|
tableSlotField: [], // 表格需要使用插槽的字段,dbFieldName
|
||||||
|
disabledMixinsCreate: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@@ -65,6 +66,9 @@ export const ConfigurableTableMixin = {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
|
if (this.disabledMixinsCreate) {
|
||||||
|
return
|
||||||
|
}
|
||||||
this.getTableHeader()
|
this.getTableHeader()
|
||||||
this.loadData()
|
this.loadData()
|
||||||
// 过滤没有权限的按钮
|
// 过滤没有权限的按钮
|
||||||
@@ -174,6 +178,7 @@ export const ConfigurableTableMixin = {
|
|||||||
const param = Object.assign({}, this.searchParams, this.isorter, this.filters)
|
const param = Object.assign({}, this.searchParams, this.isorter, this.filters)
|
||||||
param.pageNo = this.ipagination.current
|
param.pageNo = this.ipagination.current
|
||||||
param.pageSize = this.ipagination.pageSize
|
param.pageSize = this.ipagination.pageSize
|
||||||
|
console.log(param)
|
||||||
return filterObj(param)
|
return filterObj(param)
|
||||||
},
|
},
|
||||||
loadData (arg) {
|
loadData (arg) {
|
||||||
|
|||||||
@@ -42,12 +42,14 @@
|
|||||||
<!--拆分已入库文本-->
|
<!--拆分已入库文本-->
|
||||||
<a-button icon="plus" type="primary" @click="handleModule" v-has="'split:sarFileSplitInfo:splitFile'">{{ $t('docTool.split.splitText') }}
|
<a-button icon="plus" type="primary" @click="handleModule" v-has="'split:sarFileSplitInfo:splitFile'">{{ $t('docTool.split.splitText') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
<!--导入拆分结果-->
|
<!--TODO 导入拆分结果-->
|
||||||
<a-button icon="download" type="primary" ghost @click="handleExport" v-has="'split:sarFileSplitInfo:splitResult'">
|
<a-button icon="download" type="primary" ghost @click="handleExport" v-has="'split:sarFileSplitInfo:splitResult'">
|
||||||
{{ $t('docTool.split.importResults') }}
|
{{ $t('docTool.split.importResults') }}
|
||||||
</a-button>
|
</a-button>
|
||||||
<!--批量删除-->
|
<!--批量删除-->
|
||||||
<a-button type="primary" icon="delete" ghost @click="batchDel" v-has="'split:sarFileSplitInfo:deleteBatch'">{{ $t('batchDelete') }}</a-button>
|
<a-button type="primary" icon="delete" ghost @click="batchDel" v-has="'split:sarFileSplitInfo:deleteBatch'">{{ $t('batchDelete') }}</a-button>
|
||||||
|
<!--更改权限-->
|
||||||
|
<a-button type="primary" icon="sync" ghost @click="handleChangePermission">{{ $t('docTool.split.changePermissions') }}</a-button>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<j-table
|
<j-table
|
||||||
@@ -59,28 +61,9 @@
|
|||||||
:pagination="ipagination"
|
:pagination="ipagination"
|
||||||
:scroll="{x: '100%'}"
|
:scroll="{x: '100%'}"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
@change="handleTableChange">
|
:operation-list="operationList"
|
||||||
|
@change="handleTableChange"
|
||||||
<template v-slot:operation="{text, record}">
|
@operationClick="operationClick">
|
||||||
<a @click="operationClick(operationList[0],record)">{{ operationList[0].text }}</a>
|
|
||||||
<a-divider type="vertical" />
|
|
||||||
<a-dropdown placement="bottomCenter">
|
|
||||||
<a-icon type="more" class="operate-icon-btn operate-icon-more" />
|
|
||||||
<a-menu slot="overlay">
|
|
||||||
<a-menu-item v-for="(operation, index) in operationList.slice(operateMaxNum)" :key="index">
|
|
||||||
<a @click="operationClick(operation,record)">
|
|
||||||
<div class="operate-btn">
|
|
||||||
<!-- 编辑图标-->
|
|
||||||
<i class="iconfont icon-bianji operate-btn-icon" v-if="operation.text === $t('edit')" />
|
|
||||||
<!-- 删除图标-->
|
|
||||||
<i class="iconfont icon-shanchu_ operate-btn-icon" v-if="operation.text === $t('delete')" />
|
|
||||||
{{ operation.text }}
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</a-menu-item>
|
|
||||||
</a-menu>
|
|
||||||
</a-dropdown>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
</j-table>
|
</j-table>
|
||||||
</div>
|
</div>
|
||||||
@@ -89,6 +72,8 @@
|
|||||||
<split-text ref="splitText" @ok="modalFormOk" />
|
<split-text ref="splitText" @ok="modalFormOk" />
|
||||||
<!--导入拆分结果-->
|
<!--导入拆分结果-->
|
||||||
<import-split-result-modal ref="importResultModal" @ok="modalFormOk" />
|
<import-split-result-modal ref="importResultModal" @ok="modalFormOk" />
|
||||||
|
<!--更改权限-->
|
||||||
|
<user-select-modal ref="userSelectModal" check-required @change="continueChangePermission" />
|
||||||
</a-card>
|
</a-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -97,21 +82,39 @@ import '../../../assets/less/common.less'
|
|||||||
import JTable from '../../../components/jero/JTable.vue'
|
import JTable from '../../../components/jero/JTable.vue'
|
||||||
import SplitText from './modules/SplitText.vue'
|
import SplitText from './modules/SplitText.vue'
|
||||||
import { JeroListMixin } from '../../../mixins/JeroListMixin.js'
|
import { JeroListMixin } from '../../../mixins/JeroListMixin.js'
|
||||||
import { releaseSplitStandard } from '../../../api/documentToolApi.js'
|
import { releaseSplitStandard, changePermission, withdraw } from '../../../api/documentToolApi.js'
|
||||||
import ImportSplitResultModal from './modules/ImportSplitResultModal.vue'
|
import ImportSplitResultModal from './modules/ImportSplitResultModal.vue'
|
||||||
|
import UserSelectModal from '../../../components/selection/UserSelectModal.vue'
|
||||||
|
import { SplitStatus } from '../../../enums/commonEnums.js'
|
||||||
|
import { mapState } from 'vuex'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DocumentSplit',
|
name: 'DocumentSplit',
|
||||||
components: { JTable, SplitText, ImportSplitResultModal },
|
components: { JTable, SplitText, ImportSplitResultModal, UserSelectModal },
|
||||||
mixins: [JeroListMixin],
|
mixins: [JeroListMixin],
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
|
userInfo: this.$store.getters.userInfo,
|
||||||
operationList: [
|
operationList: [
|
||||||
// 发布
|
// 发布
|
||||||
{
|
{
|
||||||
text: this.$t('release'),
|
text: this.$t('release'),
|
||||||
clickEvent: 'handleRelease',
|
clickEvent: 'handleRelease',
|
||||||
has: 'split:sarFileSplitInfo:release'
|
has: 'split:sarFileSplitInfo:release',
|
||||||
|
show: (record) => {
|
||||||
|
// 创建人(更改权限更改的是这个字段)是当前登录人,且状态为编辑中可以发布
|
||||||
|
return record.createBy === this.userInfo.username && record.splitStatus === SplitStatus.EDITING.value
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 撤回
|
||||||
|
{
|
||||||
|
text: this.$t('withdraw'),
|
||||||
|
clickEvent: 'handleWithdraw',
|
||||||
|
has: 'split:sarFileSplitInfo:release',
|
||||||
|
show: (record) => {
|
||||||
|
// 创建人(更改权限更改的是这个字段)是当前登录人,且状态为已发布可以撤回
|
||||||
|
return record.createBy === this.userInfo.username && record.splitStatus === SplitStatus.RELEASED.value
|
||||||
|
}
|
||||||
},
|
},
|
||||||
// 查看
|
// 查看
|
||||||
{
|
{
|
||||||
@@ -123,25 +126,33 @@ export default {
|
|||||||
{
|
{
|
||||||
text: this.$t('edit'),
|
text: this.$t('edit'),
|
||||||
clickEvent: 'handleEdit',
|
clickEvent: 'handleEdit',
|
||||||
has: 'split:sarFileSplitItems:edit'
|
has: 'split:sarFileSplitItems:edit',
|
||||||
|
show: (record) => {
|
||||||
|
// 创建人(更改权限更改的是这个字段)是当前登录人,且状态为编辑中可以编辑
|
||||||
|
return record.createBy === this.userInfo.username && record.splitStatus === SplitStatus.EDITING.value
|
||||||
|
}
|
||||||
},
|
},
|
||||||
// 删除
|
// 删除
|
||||||
{
|
{
|
||||||
text: this.$t('delete'),
|
text: this.$t('delete'),
|
||||||
clickEvent: 'handleDelete',
|
clickEvent: 'handleDelete',
|
||||||
has: 'split:sarFileSplitInfo:delete'
|
has: 'split:sarFileSplitInfo:delete',
|
||||||
|
show: (record) => {
|
||||||
|
// 创建人(更改权限更改的是这个字段)是当前登录人,且状态为编辑中可以删除
|
||||||
|
return record.createBy === this.userInfo.username && record.splitStatus === SplitStatus.EDITING.value
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
columns: [
|
columns: [
|
||||||
// 标准号
|
// 标准号
|
||||||
{
|
{
|
||||||
dataIndex: 'standardNumber',
|
dataIndex: 'serialNumber',
|
||||||
title: this.$t('standardSelect.standardNumber'),
|
title: this.$t('standardSelect.standardNumber'),
|
||||||
width: 150
|
width: 150
|
||||||
},
|
},
|
||||||
// 标准名称
|
// 标准名称
|
||||||
{
|
{
|
||||||
dataIndex: 'standardName',
|
dataIndex: 'title',
|
||||||
title: this.$t('standardSelect.standardName'),
|
title: this.$t('standardSelect.standardName'),
|
||||||
width: 150
|
width: 150
|
||||||
},
|
},
|
||||||
@@ -155,17 +166,17 @@ export default {
|
|||||||
{
|
{
|
||||||
dataIndex: 'fileName',
|
dataIndex: 'fileName',
|
||||||
title: this.$t('fileName'),
|
title: this.$t('fileName'),
|
||||||
width: 150
|
width: 180
|
||||||
},
|
},
|
||||||
// 拆分状态
|
// 拆分状态
|
||||||
{
|
{
|
||||||
dataIndex: '5',
|
dataIndex: 'splitStatus_dictText',
|
||||||
title: this.$t('docTool.split.splitState'),
|
title: this.$t('docTool.split.splitState'),
|
||||||
width: 150
|
width: 150
|
||||||
},
|
},
|
||||||
// 编辑人
|
// 编辑人
|
||||||
{
|
{
|
||||||
dataIndex: '6',
|
dataIndex: 'author',
|
||||||
title: this.$t('docTool.split.editor'),
|
title: this.$t('docTool.split.editor'),
|
||||||
width: 150
|
width: 150
|
||||||
},
|
},
|
||||||
@@ -187,18 +198,15 @@ export default {
|
|||||||
title: this.$t('operation'),
|
title: this.$t('operation'),
|
||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
width: 150,
|
width: 150,
|
||||||
scopedSlots: { customRender: 'operation' }
|
scopedSlots: { customRender: 'action' }
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
url: {
|
url: {
|
||||||
list: '/split/sarFileSplitInfo/page', // 表格数据
|
list: '/split/sarFileSplitInfo/page', // 表格数据
|
||||||
deleteBatch: '', // 批量删除
|
deleteBatch: '/split/sarFileSplitInfo/deleteBatch', // 批量删除
|
||||||
deleteUrl: '',
|
deleteUrl: '/split/sarFileSplitInfo/delete',
|
||||||
backDocument: '' // 回传至文档库
|
backDocument: '' // 回传至文档库
|
||||||
},
|
}
|
||||||
dataSource: [
|
|
||||||
{ id: 1 }
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -232,6 +240,29 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
/**
|
||||||
|
* TODO 撤回
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
handleWithdraw ({ id }) {
|
||||||
|
this.$confirm({
|
||||||
|
title: this.$t('confirmWithdraw'),
|
||||||
|
content: this.$t('confirmWithdrawContent'),
|
||||||
|
onOk: () => {
|
||||||
|
this.loading = true
|
||||||
|
withdraw({ id }).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(res.message)
|
||||||
|
this.modalFormOk()
|
||||||
|
} else {
|
||||||
|
this.$message.warn(res.message)
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
// 编辑
|
// 编辑
|
||||||
handleEdit (record) {
|
handleEdit (record) {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
@@ -262,6 +293,33 @@ export default {
|
|||||||
if (num === 1) {
|
if (num === 1) {
|
||||||
this.$refs.tableData.$emit('searchGetData')
|
this.$refs.tableData.$emit('searchGetData')
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 更改权限
|
||||||
|
*/
|
||||||
|
handleChangePermission () {
|
||||||
|
if (!this.selectedRowKeys || this.selectedRowKeys.length === 0) {
|
||||||
|
this.$message.warning(this.$t('selectARecord'))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$refs.userSelectModal.open()
|
||||||
|
},
|
||||||
|
continueChangePermission (id) {
|
||||||
|
this.loading = true
|
||||||
|
const params = {
|
||||||
|
ids: this.selectedRowKeys.join(','),
|
||||||
|
createBy: id
|
||||||
|
}
|
||||||
|
changePermission(params).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(res.message)
|
||||||
|
this.modalFormOk()
|
||||||
|
} else {
|
||||||
|
this.$message.warning(res.message)
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -158,10 +158,11 @@
|
|||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template slot="showContent" slot-scope="text, record">
|
<!--条文内容-->
|
||||||
<span class="content-show"
|
<template slot="Item_content" slot-scope="{text, record}">
|
||||||
@click="showContent(text,record)">{{ record.iterms_conditions && record.iterms_conditions !== 'null' ? record.iterms_conditions.replace(/<.*?>/ig, ' ') : ''
|
<div class="table-text" @click="showContent(text,record)">
|
||||||
}}</span>
|
{{ text && text !== 'null' ? text.replace(/<.*?>/ig, ' ') : '' }}
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</j-table>
|
</j-table>
|
||||||
@@ -205,6 +206,7 @@ import {
|
|||||||
getClauseTreeData
|
getClauseTreeData
|
||||||
} from '../../../api/documentToolApi.js'
|
} from '../../../api/documentToolApi.js'
|
||||||
import Search from '../../../components/customField/Search.vue'
|
import Search from '../../../components/customField/Search.vue'
|
||||||
|
import { isHasPermission } from '../../../utils/hasPermission.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DocumentSplitDetail',
|
name: 'DocumentSplitDetail',
|
||||||
@@ -236,9 +238,9 @@ export default {
|
|||||||
fullWidth: '',
|
fullWidth: '',
|
||||||
parameter: {},
|
parameter: {},
|
||||||
administrators: false,
|
administrators: false,
|
||||||
showAction: this.isCanOperate,
|
showAction: false,
|
||||||
flag: '4', // 查询要用到
|
flag: '4', // 查询要用到
|
||||||
|
operateSlotName: 'action',
|
||||||
getQueryConditionFunc: getDocSplitSearch,
|
getQueryConditionFunc: getDocSplitSearch,
|
||||||
getTableHeaderFunc: getDocSplitTableHeader,
|
getTableHeaderFunc: getDocSplitTableHeader,
|
||||||
treeData: [],
|
treeData: [],
|
||||||
@@ -247,15 +249,23 @@ export default {
|
|||||||
mouseInNodeKey: null, // 鼠标悬浮的节点key值
|
mouseInNodeKey: null, // 鼠标悬浮的节点key值
|
||||||
// 操作栏
|
// 操作栏
|
||||||
operationList: [
|
operationList: [
|
||||||
|
// 编辑
|
||||||
{
|
{
|
||||||
text: this.$t('edit'),
|
text: this.$t('edit'),
|
||||||
clickEvent: 'handleEdit',
|
clickEvent: 'handleEdit'
|
||||||
has: 'split:sarFileSplitItems:update'
|
// has: 'split:sarFileSplitItems:update'
|
||||||
},
|
},
|
||||||
|
// 复制
|
||||||
|
{
|
||||||
|
text: this.$t('copy'),
|
||||||
|
clickEvent: 'handleEdit'
|
||||||
|
// has: 'split:sarFileSplitItems:update'
|
||||||
|
},
|
||||||
|
// 删除
|
||||||
{
|
{
|
||||||
text: this.$t('delete'),
|
text: this.$t('delete'),
|
||||||
clickEvent: 'handleDelete',
|
clickEvent: 'handleDelete'
|
||||||
has: 'split:sarFileSplitItems:delete'
|
// has: 'split:sarFileSplitItems:delete'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
url: {
|
url: {
|
||||||
@@ -265,26 +275,32 @@ export default {
|
|||||||
delete: '/split/sarFileSplitItems/batchDeleteItems', // 删除
|
delete: '/split/sarFileSplitItems/batchDeleteItems', // 删除
|
||||||
deleteBatch: '/split/sarFileSplitItems/batchDeleteItems', // 批量删除
|
deleteBatch: '/split/sarFileSplitItems/batchDeleteItems', // 批量删除
|
||||||
downTemplateUrl: '/split/sarFileSplitItems/exportTemplate' // 模板下载
|
downTemplateUrl: '/split/sarFileSplitItems/exportTemplate' // 模板下载
|
||||||
}
|
},
|
||||||
|
disabledMixinsCreate: true,
|
||||||
|
tableSlotField: ['Item_content']
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
isCanOperate () {
|
|
||||||
return !!(this.$route.query.createBy === this.userInfo.username || this.administrators)
|
|
||||||
},
|
|
||||||
// 页面标题是标准名称
|
// 页面标题是标准名称
|
||||||
pageTitle () {
|
pageTitle () {
|
||||||
return this.$route.query.standardName
|
return this.$route.query.standardName
|
||||||
},
|
},
|
||||||
...mapGetters(['userInfo'])
|
...mapGetters(['userInfo'])
|
||||||
},
|
},
|
||||||
created () {
|
mounted () {
|
||||||
|
this.operateColumn.scopedSlots.customRender = 'action'
|
||||||
|
this.showAction = this.$route.query.createBy === this.userInfo.username || this.administrators
|
||||||
|
this.infoId = this.$route.query.infoId
|
||||||
this.filters = {
|
this.filters = {
|
||||||
menu_id: this.menuId,
|
menu_id: this.menuId,
|
||||||
info_id: this.infoId
|
info_id: this.infoId
|
||||||
}
|
}
|
||||||
},
|
this.getTableHeader()
|
||||||
mounted () {
|
this.loadData()
|
||||||
|
// 过滤没有权限的按钮
|
||||||
|
if (this.needFilterTableBtn) {
|
||||||
|
this.operationList = this.operationList.filter(item => !item.has || isHasPermission(item.has))
|
||||||
|
}
|
||||||
this.administrators = false
|
this.administrators = false
|
||||||
if (this.userInfo.userRoleList && this.userInfo.userRoleList.length > 0) {
|
if (this.userInfo.userRoleList && this.userInfo.userRoleList.length > 0) {
|
||||||
this.userInfo.userRoleList.forEach(res => {
|
this.userInfo.userRoleList.forEach(res => {
|
||||||
@@ -340,7 +356,6 @@ export default {
|
|||||||
getClauseTreeData(params).then(res => {
|
getClauseTreeData(params).then(res => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.treeData = res.result || []
|
this.treeData = res.result || []
|
||||||
console.log(this.treeData)
|
|
||||||
}
|
}
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
<j-modal
|
<j-modal
|
||||||
:title="$t('docTool.split.clauseContent')"
|
:title="$t('docTool.split.clauseContent')"
|
||||||
:visible="contentVisible"
|
:visible="contentVisible"
|
||||||
|
:width="1000"
|
||||||
:confirm-loading="confirmLoading"
|
:confirm-loading="confirmLoading"
|
||||||
:footer="false"
|
:footer="false"
|
||||||
switchFullscreen
|
switchFullscreen
|
||||||
|
|||||||
@@ -164,7 +164,12 @@ export default {
|
|||||||
const nameSuffix = name[name.length - 1]
|
const nameSuffix = name[name.length - 1]
|
||||||
if (nameSuffix.toLowerCase() === 'doc' || nameSuffix.toLowerCase() === 'docx') {
|
if (nameSuffix.toLowerCase() === 'doc' || nameSuffix.toLowerCase() === 'docx') {
|
||||||
const params = {
|
const params = {
|
||||||
fileId: file.id
|
fileId: file.id,
|
||||||
|
standardId: file.standardId,
|
||||||
|
serialNumber: file.standardNumber,
|
||||||
|
title: file.standardName,
|
||||||
|
fileType: file.standardFileType,
|
||||||
|
fileName: file.fileName
|
||||||
}
|
}
|
||||||
this.loading = true
|
this.loading = true
|
||||||
addDocSplit(params).then(res => {
|
addDocSplit(params).then(res => {
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ export default {
|
|||||||
},
|
},
|
||||||
{ // 标准征求意见流程
|
{ // 标准征求意见流程
|
||||||
title: this.$t('workCenter.newProcess.annotateTheConsultationProcess'),
|
title: this.$t('workCenter.newProcess.annotateTheConsultationProcess'),
|
||||||
path: ''
|
path: '/workCenter/StandardConsultationProcess'
|
||||||
},
|
},
|
||||||
{ // 项目合规评估流程
|
{ // 项目合规评估流程
|
||||||
title: this.$t('workCenter.newProcess.projectComplianceAssessmentProcess'),
|
title: this.$t('workCenter.newProcess.projectComplianceAssessmentProcess'),
|
||||||
|
|||||||
@@ -0,0 +1,171 @@
|
|||||||
|
<template>
|
||||||
|
<internal-detail-page :content-padding="0" :title="pageTitle">
|
||||||
|
<!-- 标题右侧tab -->
|
||||||
|
<template v-slot:titleRightCustom>
|
||||||
|
<div class="table-operator-tab">
|
||||||
|
<!--基础信息-->
|
||||||
|
<a class="switch-item" :class="switchValue === 'base' ? 'table-operator-tab-active' : ''"
|
||||||
|
@click="switchChange('base')">{{ $t('workCenter.basicInformation') }}
|
||||||
|
</a>
|
||||||
|
<!--人员信息-->
|
||||||
|
<a class="switch-item" :class="switchValue === 'user' ? 'table-operator-tab-active' : ''"
|
||||||
|
@click="switchChange('user')">{{ $t('workCenter.personalInformation') }}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<!--基本信息-->
|
||||||
|
<div class="detail-page-scroll-content" v-show="switchValue === 'base'">
|
||||||
|
<!--流程信息-->
|
||||||
|
<div class="process-part-title">{{ $t('processInformation') }}</div>
|
||||||
|
<a-form :form="processInfoForm">
|
||||||
|
<a-row>
|
||||||
|
<a-col :span="12">
|
||||||
|
<!--流程名称-->
|
||||||
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('processName')">
|
||||||
|
<a-input :placeholder="$t('pleaseEnter') + $t('processName')"
|
||||||
|
@change="event => event.target.value = event.target.value.trim()"
|
||||||
|
:maxLength="50"
|
||||||
|
disabled
|
||||||
|
v-decorator="['nodeName']" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<!--截止日期-->
|
||||||
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('expirationDate')">
|
||||||
|
<a-date-picker class="box-input"
|
||||||
|
:placeholder="$t('pleaseSelect') + $t('expirationDate')"
|
||||||
|
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||||
|
format="YYYY-MM-DD"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
style="width: 100%" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
<!--流程说明-->
|
||||||
|
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('processExplain')">
|
||||||
|
<a-input :placeholder="$t('pleaseEnter') + $t('processExplain')"
|
||||||
|
@change="event => event.target.value = event.target.value.trim()"
|
||||||
|
:maxLength="500"
|
||||||
|
type="textarea"
|
||||||
|
v-decorator="['nodeName']" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-form>
|
||||||
|
|
||||||
|
<!--业务基本信息-->
|
||||||
|
<div class="process-part-title">{{ $t('basicServiceInformation') }}</div>
|
||||||
|
<a-form :form="basicServiceInfoForm">
|
||||||
|
<a-row>
|
||||||
|
<a-col :span="12">
|
||||||
|
<!--标准编号-->
|
||||||
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('standardNumber')">
|
||||||
|
<standard-selection v-decorator="['nodeName']" :placeholder="$t('pleaseSelect') + $t('standardNumber')" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<!--标准名称-->
|
||||||
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('standardName')">
|
||||||
|
<a-input :placeholder="$t('pleaseEnter') + $t('standardName')"
|
||||||
|
@change="event => event.target.value = event.target.value.trim()"
|
||||||
|
:maxLength="50"
|
||||||
|
disabled
|
||||||
|
v-decorator="['nodeName']" />
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="12">
|
||||||
|
<!--标准文本-->
|
||||||
|
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('workCenter.standardConsultationProcess.standardText')">
|
||||||
|
<div class="box-title-text">
|
||||||
|
<a-input class="box-input"
|
||||||
|
v-decorator="['nodeName']"
|
||||||
|
readonly
|
||||||
|
:placeholder="$t('pleaseSelect') + $t('workCenter.standardConsultationProcess.standardText')" />
|
||||||
|
<a-button type="primary" class="button-box" @click="chooseStandardText">
|
||||||
|
{{ this.$t('workCenter.standardConsultationProcess.selectText') }}
|
||||||
|
</a-button>
|
||||||
|
</div>
|
||||||
|
</a-form-item>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="detail-page-bottom-operate-box">
|
||||||
|
<!--转办 审批节点存在-->
|
||||||
|
<a-button type="primary" :loading="loading" ghost icon="arrow-up" @click="handleTurnTo">{{ $t('turnTo') }}</a-button>
|
||||||
|
<!--保存 发起节点、审批节点都存在-->
|
||||||
|
<a-button type="primary" :loading="loading" ghost @click="handleSave"><i class="iconfont icon-save" />{{ $t('preservation') }}</a-button>
|
||||||
|
<!--提交 发起节点存在-->
|
||||||
|
<a-button type="primary" :loading="loading" @click="handleSubmit" icon="upload">{{ $t('submit') }}</a-button>
|
||||||
|
<!--同意 审批节点存在-->
|
||||||
|
<a-button type="primary" :loading="loading" icon="check-circle" @click="handleSubmit">{{ $t('agree') }}</a-button>
|
||||||
|
<!--驳回 审批节点存在-->
|
||||||
|
<a-button type="primary" :loading="loading" icon="close-circle" @click="handleSubmit">{{ $t('reject') }}</a-button>
|
||||||
|
</div>
|
||||||
|
</internal-detail-page>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import InternalDetailPage from '../../../components/InternalDetailPage.vue'
|
||||||
|
import StandardSelection from '../../../components/selection/StandardSelection.vue'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'StandardConsultationProcess',
|
||||||
|
components: { InternalDetailPage, StandardSelection },
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
switchValue: 'base',
|
||||||
|
labelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 4 }
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 20 }
|
||||||
|
},
|
||||||
|
longLabelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 2 }
|
||||||
|
},
|
||||||
|
longWrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 22 }
|
||||||
|
},
|
||||||
|
// 流程信息表单
|
||||||
|
processInfoForm: this.$form.createForm(this),
|
||||||
|
// 业务基本信息表单
|
||||||
|
basicServiceInfoForm: this.$form.createForm(this)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
pageTitle () {
|
||||||
|
return `${this.$t('flowCenter')}${this.$route.meta.title}(法规工程师发起)`
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
switchChange (value) {
|
||||||
|
this.switchValue = value
|
||||||
|
},
|
||||||
|
chooseStandardText () {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
.box-title-text {
|
||||||
|
height: 40px;
|
||||||
|
line-height: 40px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.box-input {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-box {
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
<template>
|
||||||
|
<j-modal
|
||||||
|
:title="title"
|
||||||
|
:maskClosable="false"
|
||||||
|
:width="width"
|
||||||
|
:visible="visible"
|
||||||
|
:confirm-loading="confirmLoading"
|
||||||
|
switchFullscreen
|
||||||
|
@ok="handleOk"
|
||||||
|
@cancel="handleCancel">
|
||||||
|
</j-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'SelectStandardFileModal',
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
title: this.$t('workCenter.standardConsultationProcess.selectionStandardFile'),
|
||||||
|
width: false,
|
||||||
|
visible: false,
|
||||||
|
confirmLoading: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
|
||||||
|
</style>
|
||||||
Reference in New Issue
Block a user