update 文档拆分

This commit is contained in:
赵霄
2023-10-16 18:06:35 +08:00
parent 95a9aa5e98
commit 2db880c6b7
10 changed files with 651 additions and 644 deletions
+10 -4
View File
@@ -17,13 +17,13 @@ const getDocSplitSearch = (params) => getAction('/clause/split/getQueryCondition
// 文档拆分编辑-表单字段 // 文档拆分编辑-表单字段
const getDocSplitEditForm = (params) => getAction('/clause/split/getFormModel', params) const getDocSplitEditForm = (params) => getAction('/clause/split/getFormModel', params)
// 文档拆分编辑-表单值 // 文档拆分编辑-表单值
const getDocSplitEditFormData = (params) => getAction('/split/sarFileSplitItems/getSplitItemsById', params) const getDocSplitEditFormData = (params) => getAction('/laws/DocumentTool/documentSplit/queryDocumentSplitDetailById', params)
// 文档拆分编辑-新增条款 // 文档拆分编辑-新增条款
const addClause = (params) => postAction('/split/sarFileSplitItems/addSplitItems', params) const addClause = (params) => postAction('/split/sarFileSplitItems/addSplitItems', params)
// 文档拆分编辑-编辑条款 // 文档拆分编辑-编辑条款
const editClause = (params) => postAction('/split/sarFileSplitItems/updateSplitItems', params) const editClause = (params) => postAction('/laws/DocumentTool/documentSplit/editDocumentSplitDetail', params)
// 文档拆分编辑-获取条款内容 // 文档拆分编辑-获取条款内容
const getEditClauseContent = (params) => getAction('/split/sarFileSplitItemsVal/getItemsValList', params) const getEditClauseContent = (params) => getAction('/laws/DocumentTool/documentSplit/queryItemsValList', params)
// 文档拆分编辑-删除树节点 // 文档拆分编辑-删除树节点
const deleteClauseTreeNode = (params) => getAction('/split/sarFileSplitMenu/deleteMenu', params) const deleteClauseTreeNode = (params) => getAction('/split/sarFileSplitMenu/deleteMenu', params)
// 文档拆分编辑-树节点下移 // 文档拆分编辑-树节点下移
@@ -31,7 +31,7 @@ const moveUpOrDownClauseTreeNode = (params) => postAction('/split/sarFileSplitMe
// 文档拆分编辑-批量复制 // 文档拆分编辑-批量复制
const batchCopyClause = (params) => getAction('/split/sarFileSplitItems/batchCopyItems', params) const batchCopyClause = (params) => getAction('/split/sarFileSplitItems/batchCopyItems', params)
// 文档拆分编辑-合并条款 // 文档拆分编辑-合并条款
const merageClause = (params) => getAction('/split/sarFileSplitItems/batchMergeItems', params) const merageClause = (params) => postAction('/laws/DocumentTool/documentSplit/mergeDocumentSplitDetail', params)
// 文档拆分编辑-批量编辑-新增 // 文档拆分编辑-批量编辑-新增
const addBatchEditClause = (params) => postAction('/split/sarFileSplitItems/addSplitItems', params) const addBatchEditClause = (params) => postAction('/split/sarFileSplitItems/addSplitItems', params)
// 文档拆分编辑-批量编辑-编辑 // 文档拆分编辑-批量编辑-编辑
@@ -42,6 +42,10 @@ const getFormForBatchEditClause = (params) => getAction('/split/sarFileSplitItem
const getFormDataForBatchEditClause = (params) => getAction('/split/sarFileSplitItems/batchSet', params) const getFormDataForBatchEditClause = (params) => getAction('/split/sarFileSplitItems/batchSet', params)
// 文档拆分编辑-获取左侧树数据 // 文档拆分编辑-获取左侧树数据
const getClauseTreeData = (params) => getAction('/split/sarFileSplitMenu/getSplitMenusByInfoId', params) const getClauseTreeData = (params) => getAction('/split/sarFileSplitMenu/getSplitMenusByInfoId', params)
// 文档拆分-编辑-树节点新增
const addClauseTreeNode = (params) => postAction('/split/sarFileSplitMenu/addMenu', params)
// 文档拆分-编辑-树节点编辑
const editClauseTreeNode = (params) => postAction('/split/sarFileSplitMenu/updateMenu', params)
// 文档对比-发布/撤回 // 文档对比-发布/撤回
const withdrawPublication = (params) => postAction('/compare/sarFileCompareInfo/changeState', params) const withdrawPublication = (params) => postAction('/compare/sarFileCompareInfo/changeState', params)
@@ -92,6 +96,8 @@ export {
getFormForBatchEditClause, getFormForBatchEditClause,
getFormDataForBatchEditClause, getFormDataForBatchEditClause,
getClauseTreeData, getClauseTreeData,
addClauseTreeNode,
editClauseTreeNode,
// 文档比对 // 文档比对
withdrawPublication, withdrawPublication,
@@ -1,6 +1,6 @@
<template> <template>
<a-modal <a-modal
v-model="visible" v-model="uploadVisible"
:maskClosable="false" :maskClosable="false"
:footer="[]" :footer="[]"
:title="title" :title="title"
@@ -41,7 +41,7 @@ export default {
], ],
data () { data () {
return { return {
visible: false, uploadVisible: false,
uploadAction: window._CONFIG.domianURL + '/split/sarFileSplitItems/upload', uploadAction: window._CONFIG.domianURL + '/split/sarFileSplitItems/upload',
downLoadFileUrl: window._CONFIG.domianPreviewURL + '/sys/common/static', downLoadFileUrl: window._CONFIG.domianPreviewURL + '/sys/common/static',
fileList: [], fileList: [],
@@ -58,7 +58,7 @@ export default {
}, },
methods: { methods: {
open () { open () {
this.visible = true this.uploadVisible = true
}, },
perentHandleFunc (data) { perentHandleFunc (data) {
this.myFileList = data this.myFileList = data
@@ -128,7 +128,7 @@ export default {
}) })
this.$emit('uploadSuccess', this.fileList, fileList) this.$emit('uploadSuccess', this.fileList, fileList)
if (this.uploadFileFlag === 0) { if (this.uploadFileFlag === 0) {
this.visible = false this.uploadVisible = false
} }
if (this.myFileList.length > 0) { if (this.myFileList.length > 0) {
this.$message.destroy() this.$message.destroy()
@@ -162,7 +162,7 @@ export default {
// console.log('file111111',this.fileList,fileList,file,this.uploadFileFlag) // console.log('file111111',this.fileList,fileList,file,this.uploadFileFlag)
this.$emit('uploadSuccess', file, this.fileList, fileList) this.$emit('uploadSuccess', file, this.fileList, fileList)
if (this.uploadFileFlag === 0) { if (this.uploadFileFlag === 0) {
this.visible = false this.uploadVisible = false
} }
// console.log('uplossss',this.fileList,fileList) // console.log('uplossss',this.fileList,fileList)
if (this.myFileList.length > 0) { if (this.myFileList.length > 0) {
@@ -187,7 +187,7 @@ export default {
this.previewImage = file.response.path this.previewImage = file.response.path
}, },
handlePreImgCancel () { handlePreImgCancel () {
this.visible = false this.uploadVisible = false
} }
} }
} }
+7
View File
@@ -96,3 +96,10 @@ export const SplitStatus = {
EDITING: { text: '编辑中', value: '1' }, EDITING: { text: '编辑中', value: '1' },
RELEASED: { text: '已发布', value: '2' } RELEASED: { text: '已发布', value: '2' }
} }
// 文档拆分-条款内容类型
export const TypeOfClauseItem = {
TEXT: { text: '文本', value: 'TEXT' },
TABLE: { text: '表格', value: 'TABLE' },
IMG: { text: '图片', value: 'IMG' }
}
@@ -158,7 +158,7 @@ export default {
}, },
// 文件状态 // 文件状态
{ {
dataIndex: 'fileType', dataIndex: 'fileType_dictText',
title: this.$t('docTool.split.fileStatus'), title: this.$t('docTool.split.fileStatus'),
width: 150 width: 150
}, },
@@ -202,9 +202,9 @@ export default {
} }
], ],
url: { url: {
list: '/split/sarFileSplitInfo/page', // 表格数据 list: '/laws/DocumentTool/documentSplit/queryByPage', // 表格数据
deleteBatch: '/split/sarFileSplitInfo/deleteBatch', // 批量删除 deleteBatch: '/laws/DocumentTool/documentSplit/deleteBatch', // 批量删除
deleteUrl: '/split/sarFileSplitInfo/delete', delete: '/laws/DocumentTool/documentSplit/delete',
backDocument: '' // 回传至文档库 backDocument: '' // 回传至文档库
} }
} }
@@ -3,7 +3,7 @@
<div class="page-left-right-layout"> <div class="page-left-right-layout">
<!--树部分--> <!--树部分-->
<div class="page-left-box"> <div class="page-left-box">
<a-input-search class="tree-search" v-model="searchValue" :placeholder="$t('nodeQuickLookup')" @search="onSearch" /> <a-input-search class="tree-search" v-model="searchValue" :placeholder="$t('nodeQuickLookup')" @search="onSearch"/>
<div class="page-tree-box page-tree-box-has-search"> <div class="page-tree-box page-tree-box-has-search">
<a-spin :spinning="loading"> <a-spin :spinning="loading">
<a-tree :show-line="true" :show-icon="true" :tree-data="treeData" :selected-keys="selectedKeys"> <a-tree :show-line="true" :show-icon="true" :tree-data="treeData" :selected-keys="selectedKeys">
@@ -12,7 +12,7 @@
@mouseenter="handleTreeMouseover(record.id)" @mouseenter="handleTreeMouseover(record.id)"
@mouseleave="handleTreeMouseout(record.id)" @mouseleave="handleTreeMouseout(record.id)"
@click="handleSelectTreeNode(record)"> @click="handleSelectTreeNode(record)">
<a-icon class="parent-node-icon" type="folder" v-if="record.dataRef.children && record.dataRef.children.length > 0" /> <a-icon class="parent-node-icon" type="folder" v-if="record.dataRef.children && record.dataRef.children.length > 0"/>
<a-tooltip> <a-tooltip>
<template #title> <template #title>
{{ record.name }}{{ record.itemName }} {{ record.name }}{{ record.itemName }}
@@ -24,21 +24,20 @@
<a-button icon="plus" <a-button icon="plus"
class="tree-operate-node-btn" class="tree-operate-node-btn"
@click.stop="orgAdd(record)" @click.stop="orgAdd(record)"
v-has="'split:sarFileSplitMenu:add'"> v-has="'split:sarFileSplitMenu:add'"></a-button>
</a-button>
<!--编辑--> <!--编辑-->
<a-button class="tree-operate-node-btn" <a-button class="tree-operate-node-btn"
@click.stop="orgEdit(record)" @click.stop="orgEdit(record)"
v-if="record.pid" v-if="record.pid"
v-has="'split:sarFileSplitMenu:update'"> v-has="'split:sarFileSplitMenu:update'">
<i class="iconfont icon-bianji" /> <i class="iconfont icon-bianji"/>
</a-button> </a-button>
<!--删除根节点不能删除--> <!--删除根节点不能删除-->
<a-button class="tree-operate-node-btn" <a-button class="tree-operate-node-btn"
v-if="record.pid" v-if="record.pid"
v-has="'split:sarFileSplitMenu:delete'" v-has="'split:sarFileSplitMenu:delete'"
@click.stop="orgDelete(record)"> @click.stop="orgDelete(record)">
<i class="iconfont icon-shanchu_" /> <i class="iconfont icon-shanchu_"/>
</a-button> </a-button>
<!--节点上移是否可以上移在树形数据中应该有字段标识--> <!--节点上移是否可以上移在树形数据中应该有字段标识-->
<a-button icon="up" <a-button icon="up"
@@ -55,26 +54,6 @@
v-has="'split:sarFileSplitMenu:moveDown'"> v-has="'split:sarFileSplitMenu:moveDown'">
</a-button> </a-button>
</div> </div>
<!--<template #overlay>-->
<!-- <a-menu v-if="$route.query.createBy === userInfo.username || administrators"-->
<!-- @click="({ key: menuKey }) => onContextMenuClick(treeKey, menuKey, record)">-->
<!-- <a-menu-item key="1" @click="orgAdd" v-has="'split:sarFileSplitMenu:add'">-->
<!-- {{ $t('newNode') }}-->
<!-- </a-menu-item>-->
<!-- <a-menu-item key="2" @click="orgEdit" v-has="'split:sarFileSplitMenu:update'">-->
<!-- {{ $t('modifyNode') }}-->
<!-- </a-menu-item>-->
<!-- <a-menu-item key="3" @click="orgDelete" v-if="deleteNode"-->
<!-- v-has="'split:sarFileSplitMenu:delete'">{{ $t('deleteNode') }}-->
<!-- </a-menu-item>-->
<!-- <a-menu-item key="4" @click="orgMoveUp" v-if="deleteNode && moveUpFlag"-->
<!-- v-has="'split:sarFileSplitMenu:moveUp'">{{ $t('moveUp') }}-->
<!-- </a-menu-item>-->
<!-- <a-menu-item key="5" @click="orgmoveDown" v-if="deleteNode && moveDownFlag"-->
<!-- v-has="'split:sarFileSplitMenu:moveDown'">{{ $t('moveDown') }}-->
<!-- </a-menu-item>-->
<!-- </a-menu>-->
<!--</template>-->
</div> </div>
</template> </template>
</a-tree> </a-tree>
@@ -89,12 +68,12 @@
:get-query-condition-func="getQueryConditionFunc" :get-query-condition-func="getQueryConditionFunc"
search-has="split:sarFileSplitItems:search" search-has="split:sarFileSplitItems:search"
@search="searchQuery" @search="searchQuery"
@reset="searchReset" /> @reset="searchReset"/>
</div> </div>
<!--操作按钮--> <!--操作按钮-->
<div class="table-operator"> <div class="table-operator">
<!--新增--> <!--新增-->
<a-button icon="plus" type="primary" @click="handleAdd" v-has="'split:sarFileSplitItems:add'">{{ $t('newlyAdded') }}</a-button> <!--<a-button icon="plus" type="primary" @click="handleAdd" v-has="'split:sarFileSplitItems:add'">{{ $t('newlyAdded') }}</a-button>-->
<!--导入--> <!--导入-->
<a-upload name="file" <a-upload name="file"
:showUploadList="false" :showUploadList="false"
@@ -114,7 +93,10 @@
{{ $t('export') }} {{ $t('export') }}
</a-button> </a-button>
<!--批量删除--> <!--批量删除-->
<a-button type="primary" icon="delete" ghost @click="batchDel" v-has="'split:sarFileSplitItems:delete'">{{ $t('batchDelete') }}</a-button> <a-button type="primary" icon="delete" ghost @click="batchDel" v-has="'split:sarFileSplitItems:delete'">{{
$t('batchDelete')
}}
</a-button>
<!--模板下载--> <!--模板下载-->
<a-button type="primary" <a-button type="primary"
icon="download" icon="download"
@@ -124,7 +106,7 @@
{{ $t('templateDownload') }} {{ $t('templateDownload') }}
</a-button> </a-button>
<!--批量复制--> <!--批量复制-->
<a-button type="primary" ghost @click="handleCopyManage" v-has="'split:sarFileSplitItems:copy'"> <a-button type="primary" ghost @click="handleCopy" v-has="'split:sarFileSplitItems:copy'">
{{ $t('docTool.split.batchCopy') }} {{ $t('docTool.split.batchCopy') }}
</a-button> </a-button>
<!--批量编辑--> <!--批量编辑-->
@@ -132,7 +114,7 @@
{{ $t('docTool.split.batchEdit') }} {{ $t('docTool.split.batchEdit') }}
</a-button> </a-button>
<!--合并条款--> <!--合并条款-->
<a-button type="primary" ghost @click="handleMergeManage" v-has="'split:sarFileSplitItems:merge'"> <a-button type="primary" ghost @click="handleMerge" v-has="'split:sarFileSplitItems:merge'">
{{ $t('docTool.split.mergerClause') }} {{ $t('docTool.split.mergerClause') }}
</a-button> </a-button>
</div> </div>
@@ -147,7 +129,8 @@
:pagination="ipagination" :pagination="ipagination"
:scroll="{x: '100%'}" :scroll="{x: '100%'}"
:operation-list="operationList" :operation-list="operationList"
@change="tableOnChange"> @change="tableOnChange"
@operationClick="operationClick">
<!-- 详情--> <!-- 详情-->
<template slot="detailClick" slot-scope="{text, record}"> <template slot="detailClick" slot-scope="{text, record}">
@@ -159,7 +142,7 @@
</template> </template>
<!--条文内容--> <!--条文内容-->
<template slot="Item_content" slot-scope="{text, record}"> <template slot="item_content" slot-scope="{text, record}">
<div class="table-text" @click="showContent(text,record)"> <div class="table-text" @click="showContent(text,record)">
{{ text && text !== 'null' ? text.replace(/<.*?>/ig, ' ') : '' }} {{ text && text !== 'null' ? text.replace(/<.*?>/ig, ' ') : '' }}
</div> </div>
@@ -171,15 +154,15 @@
</div> </div>
<!-- 条款详情 --> <!-- 条款详情 -->
<split-clause-detail ref="splitClauseDetail"></split-clause-detail> <split-clause-detail ref="splitClauseDetail"/>
<!-- 添加节点 --> <!-- 添加节点 -->
<split-detail-node-add ref="splitDetailNodeAdd" @ok="nodeAddOk" @update="nodeUpdateOk"></split-detail-node-add> <split-detail-node-add ref="splitDetailNodeAdd" @ok="nodeAddOk"/>
<!-- 批量设置弹框 --> <!-- 批量设置弹框 -->
<split-detail-batch-setting ref="splitDetailBatchSetting" @ok="batchSettingOk"></split-detail-batch-setting> <split-detail-batch-setting ref="splitDetailBatchSetting" @ok="batchSettingOk"/>
<!--条款添加--> <!--条款添加-->
<split-add-form ref="modalForm" :flag="'4'" <split-add-form ref="modalForm" :flag="'4'"
:url="url" :infoId="infoId" :menuId="menuId" :itemId="itemId" :url="url" :infoId="infoId" :menuId="menuId" :itemId="itemId"
@sumber="sumber"></split-add-form> @sumber="sumber"/>
</internal-detail-page> </internal-detail-page>
</template> </template>
@@ -269,15 +252,15 @@ export default {
} }
], ],
url: { url: {
list: '/split/sarFileSplitItems/getSplitItemsByPage', list: '/laws/DocumentTool/documentSplit/queryDocumentSplitDetail',
importUrl: '/split/sarFileSplitItems/importSplitItems', // 导入 importUrl: '/split/sarFileSplitItems/importSplitItems', // 导入
exportXlsUrl: '/split/sarFileSplitItems/exportSplitInfoZip', // 导出 exportXlsUrl: '/split/sarFileSplitItems/exportSplitInfoZip', // 导出
delete: '/split/sarFileSplitItems/batchDeleteItems', // 删除 delete: '/laws/DocumentTool/documentSplit/deleteDocumentSplitDetail', // 删除
deleteBatch: '/split/sarFileSplitItems/batchDeleteItems', // 批量删除 deleteBatch: '/laws/DocumentTool/documentSplit/deleteBatchDocumentSplitDetail', // 批量删除
downTemplateUrl: '/split/sarFileSplitItems/exportTemplate' // 模板下载 downTemplateUrl: '/split/sarFileSplitItems/exportTemplate' // 模板下载
}, },
disabledMixinsCreate: true, disabledMixinsCreate: true,
tableSlotField: ['Item_content'] tableSlotField: ['item_content']
} }
}, },
computed: { computed: {
@@ -375,15 +358,13 @@ export default {
this.$refs.splitDetailNodeAdd.edit(record.dataRef, this.infoId) this.$refs.splitDetailNodeAdd.edit(record.dataRef, this.infoId)
}, },
// 添加节点完成后的回调 // 添加节点完成后的回调
nodeAddOk () { nodeAddOk (expandId) {
if (expandId && expandId.length > 0) {
this.onExpand(expandId)
}
this.loadMenuData() this.loadMenuData()
this.loadData() this.loadData()
}, },
// 修改节点完成后的回调
nodeUpdateOk (expandId) {
this.onExpand(expandId)
this.loadMenuData()
},
// 树形删除 // 树形删除
orgDelete (record) { orgDelete (record) {
this.$confirm({ this.$confirm({
@@ -428,7 +409,7 @@ export default {
const query = { const query = {
moveFlag: 'down', moveFlag: 'down',
infoId: this.infoId, infoId: this.infoId,
SarFileSplitMenu: { sarFileSplitMenu: {
id: record.dataRef.id, id: record.dataRef.id,
pId: record.dataRef.pid, pId: record.dataRef.pid,
displaySeq: record.dataRef.displaySeq displaySeq: record.dataRef.displaySeq
@@ -444,11 +425,14 @@ export default {
} }
}) })
}, },
onContextMenuClick (treeKey, menuKey) { /**
// console.log(`treeKey: ${treeKey}, menuKey: ${menuKey}`); * 批量复制
}, */
// 复制按钮 handleCopy () {
handleCopyManage (record) { if (!this.selectedRowKeys || this.selectedRowKeys.length === 0) {
this.$message.warning(this.$t('selectLeastOne'))
return
}
const ids = [] const ids = []
const infoIds = [] const infoIds = []
const menuIds = [] const menuIds = []
@@ -485,42 +469,40 @@ export default {
}, },
// 新增 // 新增
handleAdd () { handleAdd () {
// console.log('this.menuId',this.menuId) if (!this.menuId) {
this.$message.warning(this.$t('docTool.split.selectDirectoryTerms'))
return
}
if (this.menuId) { if (this.menuId) {
this.formTitle = this.$t('add') this.formTitle = this.$t('add')
this.itemId = '' this.itemId = ''
this.addVisible = true this.$refs.modalForm.add()
this.$nextTick(() => {
this.$refs.modalForm.add()
})
} else {
this.$message.warning(this.$t('selectDirectoryTerms'))
} }
}, },
// 合并条款 // 合并条款
handleMergeManage () { handleMerge () {
if (this.selectedRowKeys && this.selectedRowKeys.length < 2) { if (this.selectedRowKeys && this.selectedRowKeys.length < 2) {
this.$message.warning(this.$t('leastTwo')) this.$message.warning(this.$t('leastTwo'))
} else { return
const ids = this.selectedRowKeys.join(',')
this.$confirm({
title: this.$t('docTool.split.mergeTerms'),
content: '',
onOk: () => {
merageClause({ ids: ids }).then(res => {
if (res.data.success) {
this.$message.success(this.$t('operationSuccessful'))
this.onClearSelected()
this.loadMenuData()
this.loadData()
this.selectedRowKeys = []
} else {
this.$message.warning(this.$t('operationFailed'))
}
})
}
})
} }
const ids = this.selectedRowKeys.join(',')
this.$confirm({
title: this.$t('docTool.split.mergeTerms'),
content: '',
onOk: () => {
merageClause({ ids: ids }).then(res => {
if (res.data.success) {
this.$message.success(this.$t('operationSuccessful'))
this.onClearSelected()
this.loadMenuData()
this.loadData()
this.selectedRowKeys = []
} else {
this.$message.warning(this.$t('operationFailed'))
}
})
}
})
}, },
// 批量设置 // 批量设置
handleManage () { handleManage () {
File diff suppressed because it is too large Load Diff
@@ -8,7 +8,7 @@
switchFullscreen switchFullscreen
@cancel="handleCancel" @cancel="handleCancel"
> >
<p v-html="contentValue"></p> <div class="clause-content" v-html="contentValue"></div>
</j-modal> </j-modal>
</template> </template>
@@ -35,5 +35,10 @@ export default {
</script> </script>
<style scoped> <style scoped>
.clause-content {
max-height: calc(100vh - 200px - 55px);
overflow: auto;
margin: 0 -24px;
padding: 0 24px;
}
</style> </style>
@@ -2,7 +2,7 @@
<j-modal <j-modal
:title="title" :title="title"
class="split-table-title" class="split-table-title"
:visible="visible" :visible="tableVisible"
switchFullscreen switchFullscreen
:confirm-loading="confirmLoading" :confirm-loading="confirmLoading"
@ok="handleOkTable" @ok="handleOkTable"
@@ -21,7 +21,7 @@ export default {
data () { data () {
return { return {
title: this.$t('docTool.split.table'), title: this.$t('docTool.split.table'),
visible: false, tableVisible: false,
confirmLoading: false, confirmLoading: false,
ueContent: '', ueContent: '',
// UE编辑器配置 // UE编辑器配置
@@ -123,7 +123,7 @@ export default {
methods: { methods: {
open (tableStr) { open (tableStr) {
console.log('$$$$$$$$$$$$', tableStr) console.log('$$$$$$$$$$$$', tableStr)
this.visible = true this.tableVisible = true
this.ueContent = tableStr this.ueContent = tableStr
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.ueditor.setContent(this.ueContent) this.$refs.ueditor.setContent(this.ueContent)
@@ -153,7 +153,7 @@ export default {
this.close() this.close()
}, },
close () { close () {
this.visible = false this.tableVisible = false
this.isTableEdit = false this.isTableEdit = false
this.ueContent = '' this.ueContent = ''
this.$nextTick(() => { this.$nextTick(() => {
@@ -6,22 +6,22 @@
:confirmLoading="confirmLoading" :confirmLoading="confirmLoading"
switchFullscreen switchFullscreen
@ok="handleOk" @ok="handleOk"
@cancel="handleCancel" @cancel="handleCancel">
>
<div class="title-wraper"> <div class="title-wraper">
<div class="title-top"> <div class="title-top">
<span class="title-flex title-text-flex" <span class="title-flex title-text-flex"
:class="{'title-flex-active':selected==='TEXT'}" :class="{'title-flex-active':selected===TypeOfClauseItem.TEXT.value}"
@click="selectTitle('TEXT')">{{ $t('docTool.split.text') }}</span> @click="selectTitle(TypeOfClauseItem.TEXT.value)">{{ $t('docTool.split.text') }}</span>
<span class="title-flex title-pic" <span class="title-flex title-pic"
:class="{'title-flex-active':selected==='IMG'}" :class="{'title-flex-active':selected===TypeOfClauseItem.IMG.value}"
@click="selectTitle('IMG')">{{ $t('docTool.split.picture') }}</span> @click="selectTitle(TypeOfClauseItem.IMG.value)">{{ $t('docTool.split.picture') }}</span>
<span class="title-flex title-table" <span class="title-flex title-table"
:class="{'title-flex-active':selected==='TABLE'}" :class="{'title-flex-active':selected===TypeOfClauseItem.TABLE.value}"
@click="selectTitle('TABLE')">{{ $t('docTool.split.table') }}</span> @click="selectTitle(TypeOfClauseItem.TABLE.value)">{{ $t('docTool.split.table') }}</span>
</div> </div>
<!-- 选择文本类型时需要填写个数 --> <!-- 选择文本类型时需要填写个数 -->
<div class="title-num" v-if="selected==='TEXT'"> <div class="title-num" v-if="selected===TypeOfClauseItem.TEXT.value">
<a-form> <a-form>
<a-form-model <a-form-model
class="number-content" class="number-content"
@@ -44,7 +44,7 @@
</a-form> </a-form>
</div> </div>
<!-- 选择表格时需要填写行列数 --> <!-- 选择表格时需要填写行列数 -->
<div class="title-num" v-if="selected==='TABLE'"> <div class="title-num" v-if="selected===TypeOfClauseItem.TABLE.value">
<a-form> <a-form>
<a-form-model <a-form-model
class="number-content" class="number-content"
@@ -97,13 +97,14 @@
import SplitAddClauseUploadImage from '../../../../components/splitUpload/SplitAddClauseUploadImage.vue' import SplitAddClauseUploadImage from '../../../../components/splitUpload/SplitAddClauseUploadImage.vue'
// 编辑表格的弹框 // 编辑表格的弹框
import SplitDetailAddTable from './SplitDetailAddTable.vue' import SplitDetailAddTable from './SplitDetailAddTable.vue'
import { TypeOfClauseItem } from '../../../../enums/commonEnums'
export default { export default {
name: 'SplitDetailAddTypeCheck', name: 'SplitDetailAddTypeCheck',
components: { SplitAddClauseUploadImage, SplitDetailAddTable }, components: { SplitAddClauseUploadImage, SplitDetailAddTable },
watch: { watch: {
selected (val) { selected (val) {
if (this.selected === 'TEXT') { if (this.selected === TypeOfClauseItem.TEXT.value) {
this.selectedNum = true this.selectedNum = true
} else { } else {
this.selectedNum = false this.selectedNum = false
@@ -112,9 +113,10 @@ export default {
}, },
data () { data () {
return { return {
TypeOfClauseItem,
visible: false, visible: false,
confirmLoading: false, confirmLoading: false,
selected: 'TEXT', selected: TypeOfClauseItem.TEXT.value,
selectedNum: true, selectedNum: true,
numberForm: {}, numberForm: {},
validatorRules: { validatorRules: {
@@ -146,39 +148,45 @@ export default {
}, },
selectTitle (val) { selectTitle (val) {
this.selected = val this.selected = val
if (val === 'TEXT') { if (val === TypeOfClauseItem.TEXT.value) {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.numberForm.clearValidate() this.$refs.numberForm && this.$refs.numberForm.clearValidate()
}) })
} else if (val === 'TABLE') { } else if (TypeOfClauseItem.TABLE.value) {
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.numberRowColForm.clearValidate() this.$refs.numberRowColForm && this.$refs.numberRowColForm.clearValidate()
}) })
} }
}, },
// 上传文件 // 上传文件
uploadSuccess (file, data, imgs) { uploadSuccess (file, data, imgs) {
this.$emit('addImageOk', file, data, imgs) this.$emit('ok', TypeOfClauseItem.IMG.value, { file, data, imgs })
this.visible = false
// this.$emit('addImageOk', file, data, imgs)
}, },
// 确定增加的类型 // 确定增加的类型
handleOk () { handleOk () {
if (this.confirmLoading) { if (this.confirmLoading) {
return return
} }
if (this.selected === 'TEXT') { // 文本类型 if (this.selected === TypeOfClauseItem.TEXT.value) { // 文本类型
this.$refs.numberForm.validate(valid => { this.$refs.numberForm.validate(valid => {
if (valid) { if (valid) {
this.confirmLoading = true this.confirmLoading = true
this.$emit('addTextOk', this.numberForm.textNumber) this.$emit('ok', TypeOfClauseItem.TEXT.value, this.numberForm.textNumber)
this.visible = false this.visible = false
this.confirmLoading = false this.confirmLoading = false
this.numberForm.textNumber = null this.numberForm.textNumber = null
} }
}) })
} else if (this.selected === 'IMG') { // 图片类型 return
}
if (this.selected === TypeOfClauseItem.IMG.value) { // 图片类型
this.$refs.uploadFile.open() this.$refs.uploadFile.open()
this.visible = false // this.visible = false
} else if (this.selected === 'TABLE') { // 表格类型 return
}
if (this.selected === TypeOfClauseItem.TABLE.value) { // 表格类型
this.$refs.numberRowColForm.validate(valid => { this.$refs.numberRowColForm.validate(valid => {
if (valid) { if (valid) {
if (this.rowColForm.rowCount > 0 && this.rowColForm.colCount > 0) { if (this.rowColForm.rowCount > 0 && this.rowColForm.colCount > 0) {
@@ -205,7 +213,7 @@ export default {
this.$refs.splitDetailAddTable.isTableEdit = false this.$refs.splitDetailAddTable.isTableEdit = false
this.$refs.splitDetailAddTable.open(tableStr) this.$refs.splitDetailAddTable.open(tableStr)
}) })
this.visible = false // this.visible = false
this.rowColForm = {} this.rowColForm = {}
} }
} }
@@ -217,7 +225,8 @@ export default {
}, },
// 添加表格的回调 // 添加表格的回调
tableAddOk (ueContent) { tableAddOk (ueContent) {
this.$emit('addTableOk', ueContent) this.$emit('ok', TypeOfClauseItem.TABLE.value, ueContent)
this.visible = false
}, },
// 正则替换小数点 // 正则替换小数点
limitNumber (value) { limitNumber (value) {
@@ -251,8 +260,8 @@ export default {
} }
.title-flex-active { .title-flex-active {
background: #00B3BE; background: @primary-color;
border-color: #00B3BE; border-color: @primary-color;
color: #FFFFFF; color: #FFFFFF;
} }
} }
@@ -6,22 +6,23 @@
:confirm-loading="confirmLoading" :confirm-loading="confirmLoading"
switchFullscreen switchFullscreen
@cancel="handleCancel" @cancel="handleCancel"
@ok="handleOk" @ok="handleOk">
>
<a-form-model <a-form-model
class="split-click-right-form" class="split-click-right-form"
ref="ruleForm" ref="ruleForm"
:model="form" :model="form"
:rules="rules" :rules="rules"
:label-col="labelCol" :label-col="labelCol"
:wrapper-col="wrapperCol" :wrapper-col="wrapperCol">
> <!--条款号-->
<a-form-model-item :label="$t('docTool.split.clauseNo')" prop="name"> <a-form-model-item :label="$t('docTool.split.clauseNo')" prop="name">
<a-input class="box-input" v-model="form.name" :placeholder="$t('pleaseEnter')+$t('docTool.split.clauseNo')" :maxLength="200" /> <a-input class="box-input" v-model="form.name" :placeholder="$t('pleaseEnter')+$t('docTool.split.clauseNo')" :maxLength="200" />
</a-form-model-item> </a-form-model-item>
<!--条款名称-->
<a-form-model-item :label="$t('docTool.split.clauseName')" prop="itemName"> <a-form-model-item :label="$t('docTool.split.clauseName')" prop="itemName">
<a-input class="box-input" v-model="form.itemName" :placeholder="$t('pleaseEnter')+$t('docTool.split.clauseName')" :maxLength="200" /> <a-input class="box-input" v-model="form.itemName" :placeholder="$t('pleaseEnter')+$t('docTool.split.clauseName')" :maxLength="200" />
</a-form-model-item> </a-form-model-item>
<!--序号-->
<a-form-model-item :label="$t('serialNumber')" prop="displaySeq"> <a-form-model-item :label="$t('serialNumber')" prop="displaySeq">
<a-input-number v-model="form.displaySeq" :min="1" :max="99999" <a-input-number v-model="form.displaySeq" :min="1" :max="99999"
class="box-input" class="box-input"
@@ -34,7 +35,8 @@
</template> </template>
<script> <script>
import { postAction, putAction } from '../../../../api/manage.js' import { addClauseTreeNode,editClauseTreeNode } from '../../../../api/documentToolApi'
export default { export default {
name: 'SplitDetailNodeAdd', name: 'SplitDetailNodeAdd',
data () { data () {
@@ -57,7 +59,6 @@ export default {
// { min: 1, max: 99999, message: this.$t('cantExeed') + '99999' + this.$t('characters'), trigger: 'blur' }, // { min: 1, max: 99999, message: this.$t('cantExeed') + '99999' + this.$t('characters'), trigger: 'blur' },
] ]
}, },
isEdit: false,
nodeItem: {}, nodeItem: {},
infoId: '' infoId: ''
} }
@@ -65,7 +66,6 @@ export default {
methods: { methods: {
add (nodeItem, infoId) { add (nodeItem, infoId) {
this.title = this.$t('add') this.title = this.$t('add')
this.isEdit = false
this.form = {} this.form = {}
this.visible = true this.visible = true
this.nodeItem = nodeItem this.nodeItem = nodeItem
@@ -73,7 +73,6 @@ export default {
}, },
edit (nodeItem, infoId) { edit (nodeItem, infoId) {
this.title = this.$t('edit') this.title = this.$t('edit')
this.isEdit = true
this.nodeItem = nodeItem this.nodeItem = nodeItem
this.form.id = nodeItem.id this.form.id = nodeItem.id
this.form.pid = nodeItem.pid this.form.pid = nodeItem.pid
@@ -91,55 +90,39 @@ export default {
if (this.confirmLoading) { if (this.confirmLoading) {
return return
} }
const expandId = [] this.$refs.ruleForm.validate(valid => {
expandId.push(this.form.pid) if (valid) {
if (!this.isEdit) { const expandId = []
this.$refs.ruleForm.validate(valid => { expandId.push(this.form.pid)
if (valid) { let submitFunc
this.confirmLoading = true const params = Object.assign({
const params = { infoId: this.infoId,
infoId: this.infoId, pid: this.nodeItem.id
pid: this.nodeItem.id, }, this.form)
...this.form if (this.form.id) {
} submitFunc = editClauseTreeNode
postAction(`split/sarFileSplitMenu/addMenu`, params).then(res => { } else {
if (res.success) { submitFunc = addClauseTreeNode
this.$message.success(this.$t('operationSuccessful')) }
// this.onExpand(expandId) this.confirmLoading = true
this.form = {} submitFunc(params).then(res => {
this.visible = false if (res.success) {
this.$message.success(res.message)
this.form = {}
this.visible = false
if (this.form.id) {
this.$emit('ok', expandId)
} else {
this.$emit('ok') this.$emit('ok')
} else {
this.$message.warning(this.$t('operationFailed'))
} }
}).finally(() => { } else {
this.confirmLoading = false this.$message.warning(res.message)
})
}
})
} else {
this.$refs.ruleForm.validate(valid => {
if (valid) {
this.confirmLoading = true
const params = {
info_id: this.infoId,
...this.form
} }
putAction(`split/sarFileSplitMenu/updateMenu`, params).then(res => { }).finally(() => {
if (res.success) { this.confirmLoading = false
this.$message.success(this.$t('operationSuccessful')) })
this.form = {} }
this.visible = false })
this.$emit('update', expandId)
} else {
this.$message.warning(this.$t('operationFailed'))
}
}).finally(() => {
this.confirmLoading = false
})
}
})
}
}, },
// 正则替换小数点 // 正则替换小数点
limitNumber (value) { limitNumber (value) {