diff --git a/src/api/documentToolApi.js b/src/api/documentToolApi.js index cc82e685..ac3026eb 100644 --- a/src/api/documentToolApi.js +++ b/src/api/documentToolApi.js @@ -29,13 +29,11 @@ const deleteClauseTreeNode = (params) => getAction('/split/sarFileSplitMenu/dele // 文档拆分编辑-树节点下移 const moveUpOrDownClauseTreeNode = (params) => postAction('/split/sarFileSplitMenu/moveUpOrDown', params) // 文档拆分编辑-批量复制 -const batchCopyClause = (params) => getAction('/split/sarFileSplitItems/batchCopyItems', params) +const batchCopyClause = (params) => getAction('/laws/DocumentTool/documentSplit/copyBatchDocumentSplitDetail', params) // 文档拆分编辑-合并条款 const merageClause = (params) => postAction('/laws/DocumentTool/documentSplit/mergeDocumentSplitDetail', params) -// 文档拆分编辑-批量编辑-新增 -const addBatchEditClause = (params) => postAction('/split/sarFileSplitItems/addSplitItems', params) -// 文档拆分编辑-批量编辑-编辑 -const editBatchEditClause = (params) => postAction('/split/sarFileSplitItems/updateSplitItems', params) +// 文档拆分编辑-批量编辑 +const editBatchEditClause = (params) => postAction('/laws/DocumentTool/documentSplit/editBatchDocumentSplitDetail', params) // 文档拆分编辑-批量编辑-获取表单 const getFormForBatchEditClause = (params) => getAction('/split/sarFileSplitItems/getBatchSetForm', params) // 文档拆分编辑-批量编辑-获取表单内容 @@ -46,6 +44,8 @@ const getClauseTreeData = (params) => getAction('/split/sarFileSplitMenu/getSpli const addClauseTreeNode = (params) => postAction('/split/sarFileSplitMenu/addMenu', params) // 文档拆分-编辑-树节点编辑 const editClauseTreeNode = (params) => postAction('/split/sarFileSplitMenu/updateMenu', params) +// 文档拆分-编辑-复制 +const copyClause = (params) => getAction('/laws/DocumentTool/documentSplit/copyDocumentSplitDetail', params) // 文档对比-发布/撤回 const withdrawPublication = (params) => postAction('/compare/sarFileCompareInfo/changeState', params) @@ -77,7 +77,7 @@ export { releaseSplitStandard, changePermission, withdraw, - + // 文档拆分-详情 getDocSplitTableHeader, getDocSplitSearch, @@ -91,14 +91,14 @@ export { moveUpOrDownClauseTreeNode, batchCopyClause, merageClause, - addBatchEditClause, editBatchEditClause, getFormForBatchEditClause, getFormDataForBatchEditClause, getClauseTreeData, addClauseTreeNode, editClauseTreeNode, - + copyClause, + // 文档比对 withdrawPublication, getInitComparsionPageData, diff --git a/src/common/lang/en-us.js b/src/common/lang/en-us.js index b9b86edc..36351c02 100644 --- a/src/common/lang/en-us.js +++ b/src/common/lang/en-us.js @@ -415,6 +415,7 @@ module.exports = { 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', + longTermEffectiveness: 'Long-term effectiveness', selectFileType: 'Please select a file type', onlyWord: 'Only word files can be imported', diff --git a/src/common/lang/zh-cn.js b/src/common/lang/zh-cn.js index cdef71c2..f93a2b1c 100644 --- a/src/common/lang/zh-cn.js +++ b/src/common/lang/zh-cn.js @@ -418,7 +418,8 @@ module.exports = { formatRequirementContentFour: '4.文档中的表格,在导出excel中以链接的形式展示,点击链接跳转到指定的sheet页面', changePermissions: '更改权限', pleaseSelectUser: '请选择一个用户', - + longTermEffectiveness: '是否长期有效', + selectFileType: '请选择文件类型', onlyWord: '只能导入word文件', fileType: '文件类型', diff --git a/src/views/documentTool/documentSplit/DocumentSplitDetail.vue b/src/views/documentTool/documentSplit/DocumentSplitDetail.vue index 2e5a4f96..60654836 100644 --- a/src/views/documentTool/documentSplit/DocumentSplitDetail.vue +++ b/src/views/documentTool/documentSplit/DocumentSplitDetail.vue @@ -93,9 +93,8 @@ {{ $t('export') }} - {{ - $t('batchDelete') - }} + + {{ $t('batchDelete') }} - + {{ $t('docTool.split.batchCopy') }} - + {{ $t('docTool.split.batchEdit') }} @@ -129,6 +128,7 @@ :pagination="ipagination" :scroll="{x: '100%'}" :operation-list="operationList" + :loading="loading" @change="tableOnChange" @operationClick="operationClick"> @@ -153,16 +153,16 @@ - + - + - - + + + @sumber="modalFormOk"/> @@ -175,8 +175,6 @@ import SplitAddForm from './modules/SplitAddForm.vue' import SplitClauseDetail from './modules/SplitClauseDetail.vue' // 添加左侧树节点弹框 import SplitDetailNodeAdd from './modules/SplitDetailNodeAdd.vue' -// 批量设置弹框 -import SplitDetailBatchSetting from './modules/SplitDetailBatchSetting.vue' import { mapGetters } from 'vuex' import { ConfigurableTableMixin } from '../../../mixins/ConfigurableTableMixin.js' import { @@ -186,10 +184,13 @@ import { moveUpOrDownClauseTreeNode, batchCopyClause, merageClause, - getClauseTreeData + getClauseTreeData, + copyClause } from '../../../api/documentToolApi.js' import Search from '../../../components/customField/Search.vue' import { isHasPermission } from '../../../utils/hasPermission.js' +import SplitDetailBatchEditDrawer from './modules/SplitDetailBatchEditDrawer.vue' +import { postAction } from '../../../api/manage' export default { name: 'DocumentSplitDetail', @@ -199,8 +200,8 @@ export default { SplitAddForm, SplitClauseDetail, SplitDetailNodeAdd, - SplitDetailBatchSetting, - Search + Search, + SplitDetailBatchEditDrawer }, mixins: [ConfigurableTableMixin], data () { @@ -241,7 +242,7 @@ export default { // 复制 { text: this.$t('copy'), - clickEvent: 'handleEdit' + clickEvent: 'handleCopy' // has: 'split:sarFileSplitItems:update' }, // 删除 @@ -425,47 +426,49 @@ export default { } }) }, + handleCopy ({ id }) { + this.$confirm({ + title: this.$t('confirmReplication'), + content: '', + onOk: () => { + this.loading = true + copyClause({ id }).then(res => { + if (res.success) { + this.$message.success(res.message) + this.loadData() + } else { + this.$message.warning(res.message) + } + }).finally(() => { + this.loading = false + }) + } + }) + }, /** * 批量复制 */ - handleCopy () { + handleBatchCopy () { if (!this.selectedRowKeys || this.selectedRowKeys.length === 0) { this.$message.warning(this.$t('selectLeastOne')) return } - const ids = [] - const infoIds = [] - const menuIds = [] - this.selectedRows.forEach(item => { - ids.push(item.id) - infoIds.push(item.info_id) - menuIds.push(item.menu_id) + this.$confirm({ + title: this.$t('confirmReplication'), + content: '', + onOk: () => { + batchCopyClause({ ids: this.selectedRowKeys.join(',') }).then((res) => { + if (res.success) { + this.$message.success(this.$t('operationSuccessful')) + this.onClearSelected() + this.loadMenuData() + this.loadData() + } else { + this.$message.warning(this.$t('operationFailed')) + } + }) + } }) - const params = { - ids: ids.join(','), - infoIds: infoIds.join(','), - menuids: menuIds.join(',') - } - if (menuIds && menuIds.length > 0) { - this.$confirm({ - title: this.$t('confirmReplication'), - content: '', - onOk: () => { - batchCopyClause(params).then((res) => { - if (res.data.success) { - this.$message.success(this.$t('operationSuccessful')) - this.onClearSelected() - this.loadMenuData() - this.loadData() - } else { - this.$message.warning(this.$t('operationFailed')) - } - }) - } - }) - } else if (menuIds.length === 0) { - this.$message.warning(this.$t('pleaseSelectData')) - } }, // 新增 handleAdd () { @@ -504,31 +507,48 @@ export default { } }) }, - // 批量设置 - handleManage () { - const ids = this.selectedRowKeys.join(',') - if (this.selectedRowKeys && this.selectedRowKeys.length < 1) { + /** + * 批量编辑 + */ + handleBatchEdit () { + if (!this.selectedRowKeys || this.selectedRowKeys.length === 0) { this.$message.warning(this.$t('selectLeastOne')) - } else { - this.$refs.splitDetailBatchSetting.open(ids) + return } - }, - // 批量设置完成的回调 - batchSettingOk () { - this.onClearSelected() - this.loadData() - }, - // 保存成功 - sumber () { - this.loadData() - this.loadMenuData() + this.$refs.batchEditDrawer.open(this.selectedRowKeys.join(',')) }, onSearch () { this.loadMenuData() + }, + /** + * 删除 + * @param id + */ + handleDelete (id) { + if (!this.url.delete) { + this.$message.error('请设置url.delete属性!') + return + } + const that = this + this.$confirm({ + title: this.$t('confirmDeletion'), + content: this.$t('areYouSure'), + onOk: () => { + postAction(that.url.delete, { id: id }).then((res) => { + if (res.success) { + that.$message.success(res.message) + // 判断当前删除的数据是否是最后一页的最后一条数据,如果是的话页码减一 + if (that.ipagination.current > 1 && ((that.ipagination.current - 1) * that.ipagination.pageSize) + 1 === that.ipagination.total) { + that.ipagination.current -= 1 + } + that.loadData() + } else { + that.$message.warning(res.message) + } + }) + } + }) } - }, - beforeDestroy () { - window.removeEventListener('resize', {}, false) } } diff --git a/src/views/documentTool/documentSplit/modules/SplitAddForm.vue b/src/views/documentTool/documentSplit/modules/SplitAddForm.vue index 3d3a0217..33b938a2 100644 --- a/src/views/documentTool/documentSplit/modules/SplitAddForm.vue +++ b/src/views/documentTool/documentSplit/modules/SplitAddForm.vue @@ -14,16 +14,33 @@