[update] 表格拖拽换j-table
This commit is contained in:
@@ -56,7 +56,8 @@ export const ConfigurableTableMixin = {
|
|||||||
fixed: 'right',
|
fixed: 'right',
|
||||||
scopedSlots: { customRender: 'operation' }
|
scopedSlots: { customRender: 'operation' }
|
||||||
},
|
},
|
||||||
type: '' // 这个字段不知道什么含义
|
type: '', // 这个字段不知道什么含义
|
||||||
|
filters: {} // 固定的搜索条件
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
@@ -117,7 +118,7 @@ export const ConfigurableTableMixin = {
|
|||||||
customRender: 'detailClick'
|
customRender: 'detailClick'
|
||||||
}
|
}
|
||||||
} else if (item.urlClick === 'true') {
|
} else if (item.urlClick === 'true') {
|
||||||
this.columns[index].scopedSlots = {
|
item.scopedSlots = {
|
||||||
customRender: 'urlClick'
|
customRender: 'urlClick'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -159,6 +160,7 @@ export const ConfigurableTableMixin = {
|
|||||||
const pageNo = this.ipagination.current
|
const pageNo = this.ipagination.current
|
||||||
const pageSize = this.ipagination.pageSize
|
const pageSize = this.ipagination.pageSize
|
||||||
const params = {
|
const params = {
|
||||||
|
...this.filters,
|
||||||
...this.searchParams,
|
...this.searchParams,
|
||||||
orderBy: this.orderBy,
|
orderBy: this.orderBy,
|
||||||
orderByField: this.orderByField,
|
orderByField: this.orderByField,
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ export const JeroListMixin = {
|
|||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
pageSizeOptions: ['10', '20', '30'],
|
pageSizeOptions: ['10', '20', '30'],
|
||||||
showTotal: (total, range) => {
|
showTotal: (total, range) => {
|
||||||
return range[0] + '-' + range[1] + ' 共' + total + '条'
|
return range[0] + '-' + range[1] + ' ' + this.$t('total') + total + this.$t('strip')
|
||||||
},
|
},
|
||||||
showQuickJumper: true,
|
showQuickJumper: true,
|
||||||
showSizeChanger: true,
|
showSizeChanger: true,
|
||||||
@@ -165,7 +165,7 @@ export const JeroListMixin = {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (this.selectedRowKeys.length <= 0) {
|
if (this.selectedRowKeys.length <= 0) {
|
||||||
this.$message.warning('请选择一条记录!')
|
this.$message.warning(this.$t('selectARecord'))
|
||||||
} else {
|
} else {
|
||||||
let ids = ''
|
let ids = ''
|
||||||
for (let a = 0; a < this.selectedRowKeys.length; a++) {
|
for (let a = 0; a < this.selectedRowKeys.length; a++) {
|
||||||
@@ -173,8 +173,8 @@ export const JeroListMixin = {
|
|||||||
}
|
}
|
||||||
const that = this
|
const that = this
|
||||||
this.$confirm({
|
this.$confirm({
|
||||||
title: '确认删除',
|
title: this.$t('confirmBatchDeletion'),
|
||||||
content: '是否删除选中数据?',
|
content: this.$t('deleteAData'),
|
||||||
onOk: function () {
|
onOk: function () {
|
||||||
that.loading = true
|
that.loading = true
|
||||||
postAction(that.url.deleteBatch, { ids: ids }).then((res) => {
|
postAction(that.url.deleteBatch, { ids: ids }).then((res) => {
|
||||||
@@ -201,8 +201,8 @@ export const JeroListMixin = {
|
|||||||
}
|
}
|
||||||
const that = this
|
const that = this
|
||||||
this.$confirm({
|
this.$confirm({
|
||||||
title: '确认删除',
|
title: this.$t('confirmDeletion'),
|
||||||
content: '确定要删除此条数据吗?',
|
content: this.$t('areYouSure'),
|
||||||
onOk: function () {
|
onOk: function () {
|
||||||
postAction(that.url.delete, { id: id }).then((res) => {
|
postAction(that.url.delete, { id: id }).then((res) => {
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
@@ -264,7 +264,7 @@ export const JeroListMixin = {
|
|||||||
},
|
},
|
||||||
handleDetail: function (record) {
|
handleDetail: function (record) {
|
||||||
this.$refs.modalForm.edit(record)
|
this.$refs.modalForm.edit(record)
|
||||||
this.$refs.modalForm.title = '详情'
|
this.$refs.modalForm.title = this.$t('details')
|
||||||
this.$refs.modalForm.disableSubmit = true
|
this.$refs.modalForm.disableSubmit = true
|
||||||
},
|
},
|
||||||
/* 导出 */
|
/* 导出 */
|
||||||
|
|||||||
@@ -111,10 +111,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a-table
|
<j-table
|
||||||
ref="table"
|
ref="table"
|
||||||
size="middle"
|
size="middle"
|
||||||
:components="drag(columns,'columns')"
|
:can-drag="true"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
:pagination="ipagination"
|
:pagination="ipagination"
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
@@ -124,24 +124,24 @@
|
|||||||
:columns="columns"
|
:columns="columns"
|
||||||
@change="handleTableChange"
|
@change="handleTableChange"
|
||||||
>
|
>
|
||||||
<span slot="projectName" slot-scope="text" :title="text">
|
<template v-slot:projectName="{text}" :title="text">
|
||||||
{{ text }}
|
{{ text }}
|
||||||
</span>
|
</template>
|
||||||
<span slot="fileName" slot-scope="text" :title="text">
|
<template v-slot:fileName="{text}" :title="text">
|
||||||
{{ text }}
|
{{ text }}
|
||||||
</span>
|
</template>
|
||||||
<span slot="operation" slot-scope="text,record">
|
<template v-slot:operation="{text, record}">
|
||||||
<a class="text-operation"
|
<a class="text-operation"
|
||||||
v-has="'externalReport:download'"
|
v-has="'externalReport:download'"
|
||||||
@click="download(record)">{{$t('download')}}</a>
|
@click="download(record)">{{$t('download')}}</a>
|
||||||
<a class="text-operation"
|
<a class="text-operation"
|
||||||
v-has="'externalReport:edit'"
|
v-has="'externalReport:edit'"
|
||||||
@click="handleEdit(record)" v-if='authmanage'>{{$t('edit')}}</a>
|
@click="handleEdit(record)" v-if='authmanage'>{{$t('edit')}}</a>
|
||||||
<a class="text-operation"
|
<a class="text-operation"
|
||||||
v-has="'externalReport:delete'"
|
v-has="'externalReport:delete'"
|
||||||
@click="batchDel(record)" v-if='authmanage'>{{$t('delete')}}</a>
|
@click="batchDel(record)" v-if='authmanage'>{{$t('delete')}}</a>
|
||||||
</span>
|
</template>
|
||||||
</a-table>
|
</j-table>
|
||||||
</div>
|
</div>
|
||||||
<!-- 上传文件-->
|
<!-- 上传文件-->
|
||||||
<addModel ref="addModelRef" @addModelList="addModelList"/>
|
<addModel ref="addModelRef" @addModelList="addModelList"/>
|
||||||
@@ -154,21 +154,22 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import JTable from '@/components/jero/JTable'
|
||||||
// 上传文件弹框
|
// 上传文件弹框
|
||||||
import AddModel from './modules/AddModel'
|
import AddModel from './modules/AddModel'
|
||||||
// 添加节点弹框
|
// 添加节点弹框
|
||||||
import AddNodeModal from './modules/AddNodeModal'
|
import AddNodeModal from './modules/AddNodeModal'
|
||||||
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
|
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
|
||||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
|
||||||
import { JeroListMixin } from '@/mixins/JeroListMixin'
|
import { JeroListMixin } from '@/mixins/JeroListMixin'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DataCenter',
|
name: 'DataCenter',
|
||||||
components: {
|
components: {
|
||||||
|
JTable,
|
||||||
AddModel,
|
AddModel,
|
||||||
AddNodeModal
|
AddNodeModal
|
||||||
},
|
},
|
||||||
mixins: [ResizeHeader, ResizeColumnProvide, JeroListMixin],
|
mixins: [JeroListMixin],
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
labelCol: { span: 6 },
|
labelCol: { span: 6 },
|
||||||
@@ -462,10 +463,6 @@ export default {
|
|||||||
this.queryParam = {}
|
this.queryParam = {}
|
||||||
this.loadData()
|
this.loadData()
|
||||||
},
|
},
|
||||||
// 查看
|
|
||||||
handlelist () {
|
|
||||||
this.$refs.handleModelRef.addModel()
|
|
||||||
},
|
|
||||||
// 编辑
|
// 编辑
|
||||||
handleEdit (item) {
|
handleEdit (item) {
|
||||||
this.$refs.addModelRef.editModel(JSON.parse(JSON.stringify(item)))
|
this.$refs.addModelRef.editModel(JSON.parse(JSON.stringify(item)))
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
:scroll="{x: '100%'}"
|
:scroll="{x: '100%'}"
|
||||||
@change="tableOnChange">
|
@change="tableOnChange">
|
||||||
|
|
||||||
<tempalte slot="operation" slot-scope="{text, record}">
|
<template slot="operation" slot-scope="{text, record}">
|
||||||
<a v-for="(operation, index) in operationList" :key="index" @click="operationClick(operation,record)">
|
<a v-for="(operation, index) in operationList" :key="index" @click="operationClick(operation,record)">
|
||||||
<!-- v-has="operation.has"-->
|
<!-- v-has="operation.has"-->
|
||||||
<span v-if="operation.text === $t('docLibrary.cancelCollection')" class="text">
|
<span v-if="operation.text === $t('docLibrary.cancelCollection')" class="text">
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
{{ operation.text }}
|
{{ operation.text }}
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
</tempalte>
|
</template>
|
||||||
|
|
||||||
<!-- 详情-->
|
<!-- 详情-->
|
||||||
<template slot="detailClick" slot-scope="{text, record}">
|
<template slot="detailClick" slot-scope="{text, record}">
|
||||||
@@ -82,6 +82,7 @@
|
|||||||
ref="addFormRef"
|
ref="addFormRef"
|
||||||
:url="url"
|
:url="url"
|
||||||
:flag="'1'"
|
:flag="'1'"
|
||||||
|
@ok="libraryAddFormOk"
|
||||||
/>
|
/>
|
||||||
<libraryPush
|
<libraryPush
|
||||||
:url="url"
|
:url="url"
|
||||||
@@ -227,6 +228,7 @@ export default {
|
|||||||
this.$message.warning(this.$t('selectLeastOne'))
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
// 表格的操作按钮点击
|
||||||
operationClick (operation, record) {
|
operationClick (operation, record) {
|
||||||
if (this[operation.clickEvent]) {
|
if (this[operation.clickEvent]) {
|
||||||
this[operation.clickEvent](record)
|
this[operation.clickEvent](record)
|
||||||
@@ -497,6 +499,10 @@ export default {
|
|||||||
this.spinning = false
|
this.spinning = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
// 新增和编辑表单成功提交的回调
|
||||||
|
libraryAddFormOk () {
|
||||||
|
this.loadData()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -196,9 +196,9 @@ export default {
|
|||||||
this.confirmLoading = false
|
this.confirmLoading = false
|
||||||
this.$message.success(this.$t('operationSuccessful'))
|
this.$message.success(this.$t('operationSuccessful'))
|
||||||
if (this.formInline.id) {
|
if (this.formInline.id) {
|
||||||
this.$emit('searchGetData')
|
this.$emit('ok')
|
||||||
} else {
|
} else {
|
||||||
this.$emit('searchGetData')
|
this.$emit('ok')
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.confirmLoading = false
|
this.confirmLoading = false
|
||||||
|
|||||||
@@ -45,20 +45,20 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<a-table
|
<j-table
|
||||||
ref="table"
|
ref="table"
|
||||||
size="middle"
|
size="middle"
|
||||||
:components="drag(columns,'columns')"
|
:columns="columns"
|
||||||
|
:data-source="dataSource"
|
||||||
|
rowKey="id"
|
||||||
|
:can-drag="true"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
:pagination="ipagination"
|
:pagination="ipagination"
|
||||||
:scroll="{x: '100%',y:'calc(100vh - 280px)'}"
|
:scroll="{x: '100%',y:'calc(100vh - 280px)'}"
|
||||||
rowKey="id"
|
|
||||||
:data-source="dataSource"
|
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
:columns="columns"
|
@change="handleTableChange"
|
||||||
@change="tableOnChange"
|
|
||||||
>
|
>
|
||||||
<span slot="operation" slot-scope="text,record">
|
<template v-slot:operation="{text,record}">
|
||||||
<a class="text-operation" @click="comparisonResultsClick(record)">{{$t('docTool.comparison.comparisonResults')}}</a>
|
<a class="text-operation" @click="comparisonResultsClick(record)">{{$t('docTool.comparison.comparisonResults')}}</a>
|
||||||
<a class="text-operation"
|
<a class="text-operation"
|
||||||
v-if="record.createBy === userInfoQuery.username || administrators"
|
v-if="record.createBy === userInfoQuery.username || administrators"
|
||||||
@@ -71,28 +71,29 @@
|
|||||||
<a class="text-operation"
|
<a class="text-operation"
|
||||||
v-if="(record.createBy === userInfoQuery.username || administrators) && record.releaseState === 'draft'"
|
v-if="(record.createBy === userInfoQuery.username || administrators) && record.releaseState === 'draft'"
|
||||||
@click="deleteData(record)">{{$t('delete')}}</a>
|
@click="deleteData(record)">{{$t('delete')}}</a>
|
||||||
</span>
|
</template>
|
||||||
<span slot="serialNumberRight" :title="text" slot-scope="text,record">
|
<template v-slot:serialNumberRight="{text,record}">
|
||||||
<a @click="serialNumberRightClick(record)">{{text}}</a>
|
<a @click="serialNumberRightClick(record)" :title="text">{{text}}</a>
|
||||||
</span>
|
</template>
|
||||||
<span slot="serialNumberLeft" :title="text" slot-scope="text,record">
|
<template v-slot:serialNumberLeft="{text,record}">
|
||||||
<a @click="serialNumberLeftClick(record)">{{text}}</a>
|
<a @click="serialNumberLeftClick(record)" :title="text">{{text}}</a>
|
||||||
</span>
|
</template>
|
||||||
</a-table>
|
</j-table>
|
||||||
</div>
|
</div>
|
||||||
</a-card>
|
</a-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getAction, postAction, deleteAction } from '@/api/manage'
|
import { postAction, deleteAction } from '@/api/manage'
|
||||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
import JDictSelectTag from '../../components/dict/JDictSelectTag'
|
import JDictSelectTag from '@/components/dict/JDictSelectTag'
|
||||||
|
import JTable from '@/components/jero/JTable'
|
||||||
|
import { JeroListMixin } from '../../mixins/JeroListMixin'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DocumentComparison',
|
name: 'DocumentComparison',
|
||||||
mixins: [ResizeHeader, ResizeColumnProvide],
|
components: { JDictSelectTag, JTable },
|
||||||
components: { JDictSelectTag },
|
mixins: [JeroListMixin],
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
// url传参严格按照当前命名
|
// url传参严格按照当前命名
|
||||||
@@ -103,7 +104,7 @@ export default {
|
|||||||
loading: false,
|
loading: false,
|
||||||
dataSource: [],
|
dataSource: [],
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
selectedRows: [],
|
selectionRows: [],
|
||||||
downLoadFileUrl: window._CONFIG.domianPreviewURL + '/sys/common/download',
|
downLoadFileUrl: window._CONFIG.domianPreviewURL + '/sys/common/download',
|
||||||
downLoadImgUrl: window._CONFIG.domianWebImgURL + '/sys/common/download',
|
downLoadImgUrl: window._CONFIG.domianWebImgURL + '/sys/common/download',
|
||||||
/* 分页参数 */
|
/* 分页参数 */
|
||||||
@@ -213,50 +214,12 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
this.getList()
|
this.loadData(1)
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapGetters(['userInfo']),
|
...mapGetters(['userInfo']),
|
||||||
searchQuery () {
|
|
||||||
this.ipagination.current = 1
|
|
||||||
this.getList()
|
|
||||||
},
|
|
||||||
searchReset () {
|
|
||||||
this.queryParam = {}
|
|
||||||
this.ipagination.current = 1
|
|
||||||
this.getList()
|
|
||||||
},
|
|
||||||
tableOnChange (pagination) {
|
|
||||||
this.ipagination = pagination
|
|
||||||
this.getList()
|
|
||||||
},
|
|
||||||
getList () {
|
getList () {
|
||||||
this.dataSource = [{ id: 1, serialNumberLeft: '11' }]
|
this.dataSource = [{ id: 1, serialNumberLeft: '11' }]
|
||||||
// const queryParam = JSON.parse(JSON.stringify(this.queryParam))
|
|
||||||
// Object.keys(queryParam).forEach(val => {
|
|
||||||
// if (queryParam[val] instanceof Array) {
|
|
||||||
// queryParam[val] = queryParam[val].join(',')
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
// const query = {
|
|
||||||
// pageNo: this.ipagination.current,
|
|
||||||
// pageSize: this.ipagination.pageSize,
|
|
||||||
// ...queryParam
|
|
||||||
// }
|
|
||||||
// this.loading = true
|
|
||||||
// getAction(this.url.list, query).then((res) => {
|
|
||||||
// if (res.success) {
|
|
||||||
// if (res.result.current > 1 && res.result.records.length === 0) {
|
|
||||||
// this.ipagination.current = 1
|
|
||||||
// this.getList()
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
// this.dataSource = res.result.records || []
|
|
||||||
// this.ipagination.total = res.result.total
|
|
||||||
// }
|
|
||||||
// }).finally(() => {
|
|
||||||
// this.loading = false
|
|
||||||
// })
|
|
||||||
},
|
},
|
||||||
batchDelete () {
|
batchDelete () {
|
||||||
if (this.selectedRowKeys.length > 0) {
|
if (this.selectedRowKeys.length > 0) {
|
||||||
@@ -264,11 +227,11 @@ export default {
|
|||||||
content: this.$t('confirmBatchDeletion'),
|
content: this.$t('confirmBatchDeletion'),
|
||||||
onOk: () => {
|
onOk: () => {
|
||||||
const idList = []
|
const idList = []
|
||||||
const selectedRows = JSON.parse(JSON.stringify(this.selectedRows))
|
const selectionRows = JSON.parse(JSON.stringify(this.selectionRows))
|
||||||
for (let i = 0; i < selectedRows.length; i++) {
|
for (let i = 0; i < selectionRows.length; i++) {
|
||||||
if (selectedRows[i].createBy === this.userInfoQuery.username &&
|
if (selectionRows[i].createBy === this.userInfoQuery.username &&
|
||||||
selectedRows[i].releaseState === 'draft') {
|
selectionRows[i].releaseState === 'draft') {
|
||||||
idList.push(selectedRows[i].id)
|
idList.push(selectionRows[i].id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (idList.length > 0) {
|
if (idList.length > 0) {
|
||||||
@@ -290,10 +253,6 @@ export default {
|
|||||||
this.$message.warning(this.$t('selectLeastOne'))
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onSelectChange (value, record) {
|
|
||||||
this.selectedRowKeys = value
|
|
||||||
this.selectedRows = record
|
|
||||||
},
|
|
||||||
// 对比结果按钮点击
|
// 对比结果按钮点击
|
||||||
comparisonResultsClick (item) {
|
comparisonResultsClick (item) {
|
||||||
if (item.createBy === this.userInfoQuery.username && item.releaseState === 'draft') {
|
if (item.createBy === this.userInfoQuery.username && item.releaseState === 'draft') {
|
||||||
|
|||||||
@@ -21,17 +21,47 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="splitting-table">
|
<div class="splitting-table">
|
||||||
<table-data
|
<j-table
|
||||||
:url="url"
|
v-if="columns && columns.length > 0"
|
||||||
:flag="'3'"
|
:columns="columns"
|
||||||
:operationList="operationList"
|
:dataSource="dataSource"
|
||||||
showAction
|
:can-drag="true"
|
||||||
ref="tableData"
|
rowKey="id"
|
||||||
@onSelectChange="onSelectChange"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
@backDocument="backDocument"
|
:pagination="ipagination"
|
||||||
@deleteDetail="deleteDetail"
|
:scroll="{x: '100%'}"
|
||||||
@detailClick="detailClick"
|
@change="tableOnChange">
|
||||||
></table-data>
|
|
||||||
|
<template slot="operation" slot-scope="{text, record}">
|
||||||
|
<a v-for="(operation, index) in operationList" :key="index" @click="operationClick(operation,record)">
|
||||||
|
<!-- v-has="operation.has"-->
|
||||||
|
<span class="text">
|
||||||
|
{{ operation.text }}
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<!-- 详情-->
|
||||||
|
<template slot="detailClick" slot-scope="{text, record}">
|
||||||
|
<a-tooltip overlay-class-name="tooltip-style">
|
||||||
|
<template slot="title">{{ text || text === 0 ? text : global.emptyLine }}</template>
|
||||||
|
<a class="table-text textName" @click="detailClick(record)" v-if="text || text === 0">{{ text }}</a>
|
||||||
|
<div class="table-text" v-else>{{ global.emptyLine }}</div>
|
||||||
|
</a-tooltip>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</j-table>
|
||||||
|
<!-- <table-data-->
|
||||||
|
<!-- :url="url"-->
|
||||||
|
<!-- :flag="'3'"-->
|
||||||
|
<!-- :operationList="operationList"-->
|
||||||
|
<!-- showAction-->
|
||||||
|
<!-- ref="tableData"-->
|
||||||
|
<!-- @onSelectChange="onSelectChange"-->
|
||||||
|
<!-- @backDocument="backDocument"-->
|
||||||
|
<!-- @deleteDetail="deleteDetail"-->
|
||||||
|
<!-- @detailClick="detailClick"-->
|
||||||
|
<!-- ></table-data>-->
|
||||||
</div>
|
</div>
|
||||||
<split-text ref="splitText" @visible="splitTextVisible"></split-text>
|
<split-text ref="splitText" @visible="splitTextVisible"></split-text>
|
||||||
<import-result ref="importResult" @visible="importResultVisible"></import-result>
|
<import-result ref="importResult" @visible="importResultVisible"></import-result>
|
||||||
@@ -40,16 +70,18 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Search from '@/components/customField/Search'
|
import Search from '@/components/customField/Search'
|
||||||
import TableData from '@/components/customField/TableData'
|
import JTable from '@/components/jero/JTable'
|
||||||
// 拆分已入库文本弹框
|
// 拆分已入库文本弹框
|
||||||
import SplitText from './modules/SplitText'
|
import SplitText from './modules/SplitText'
|
||||||
// 导入拆分结果弹框
|
// 导入拆分结果弹框
|
||||||
import ImportResult from './modules/ImportResult'
|
import ImportResult from './modules/ImportResult'
|
||||||
import { httpAction, getAction } from '../../api/manage'
|
import { httpAction, getAction } from '@/api/manage'
|
||||||
|
import { ConfigurableTableMixin } from '@/mixins/ConfigurableTableMixin'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DocumentSplit',
|
name: 'DocumentSplit',
|
||||||
components: { Search, TableData, SplitText, ImportResult },
|
components: { Search, JTable, SplitText, ImportResult },
|
||||||
|
mixins: [ConfigurableTableMixin],
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
@@ -73,11 +105,13 @@ export default {
|
|||||||
url: {
|
url: {
|
||||||
tableHeader: 'split/sarFileSplitInfo/getHeader', // 表格头部字段
|
tableHeader: 'split/sarFileSplitInfo/getHeader', // 表格头部字段
|
||||||
searchList: 'split/sarFileSplitInfo/queryCondition', // 搜索字段
|
searchList: 'split/sarFileSplitInfo/queryCondition', // 搜索字段
|
||||||
tableList: 'split/sarFileSplitInfo/page', // 表格数据
|
list: 'split/sarFileSplitInfo/page', // 表格数据
|
||||||
deleteBatch: '', // 批量删除
|
deleteBatch: '', // 批量删除
|
||||||
deleteUrl: '',
|
deleteUrl: '',
|
||||||
backDocument: '' // 回传至文档库
|
backDocument: '' // 回传至文档库
|
||||||
}
|
},
|
||||||
|
showAction: true,
|
||||||
|
flag: '3'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -114,6 +148,11 @@ export default {
|
|||||||
this.$message.warning(this.$t('selectLeastOne'))
|
this.$message.warning(this.$t('selectLeastOne'))
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
operationClick (operation, record) {
|
||||||
|
if (this[operation.clickEvent]) {
|
||||||
|
this[operation.clickEvent](record)
|
||||||
|
}
|
||||||
|
},
|
||||||
// 表格操作列的删除
|
// 表格操作列的删除
|
||||||
deleteDetail (val) {
|
deleteDetail (val) {
|
||||||
this.$confirm({
|
this.$confirm({
|
||||||
|
|||||||
@@ -0,0 +1,127 @@
|
|||||||
|
<template>
|
||||||
|
<a-modal
|
||||||
|
:title="title"
|
||||||
|
:width="600"
|
||||||
|
:visible="visible"
|
||||||
|
:confirm-loading="confirmLoading"
|
||||||
|
:maskClosable="false"
|
||||||
|
@cancel="visible = false"
|
||||||
|
>
|
||||||
|
<template slot="footer">
|
||||||
|
<a-button key="back" @click="visible = false">
|
||||||
|
{{$t('cancel')}}
|
||||||
|
</a-button>
|
||||||
|
<a-button type="primary" :loading="confirmLoading" @click="fullTextCommentsSubmit">
|
||||||
|
{{$t('submit')}}
|
||||||
|
</a-button>
|
||||||
|
</template>
|
||||||
|
<a-form-model :model="formInlineText" class="formAdd" :rules="rulesText" ref="ruleFormText">
|
||||||
|
<div class="box-title-text" v-if="title === $t('docTool.comparison.fullTextComments')">
|
||||||
|
<div class="title-text" :title="$t('docTool.comparison.fullTextComments')">
|
||||||
|
<span class="title-text-text">{{$t('docTool.comparison.fullTextComments')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="item-model" style="width: calc(100% - 113px)" prop="comment">
|
||||||
|
<a-textarea :placeholder="$t('pleaseEnter') + $t('docTool.comparison.fullTextComments')"
|
||||||
|
v-model.trim="formInlineText.comment"
|
||||||
|
:maxLength="500"
|
||||||
|
:rows="4"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
<div class="box-title-text" v-if="title === $t('docTool.comparison.comparativeComments')">
|
||||||
|
<div class="title-text" :title="$t('docTool.comparison.comparativeComments')">
|
||||||
|
<span class="title-text-text">{{$t('docTool.comparison.comparativeComments')}}</span>
|
||||||
|
</div>
|
||||||
|
<a-form-model-item class="item-model" style="width: calc(100% - 113px)" prop="comment">
|
||||||
|
<a-textarea :placeholder="$t('pleaseEnter')+$t('docTool.comparison.comparativeComments')"
|
||||||
|
v-model.trim="formInlineText.comment"
|
||||||
|
:maxLength="500"
|
||||||
|
:rows="4"/>
|
||||||
|
</a-form-model-item>
|
||||||
|
</div>
|
||||||
|
</a-form-model>
|
||||||
|
</a-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { putAction } from '@/api/manage'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'ComparisonResultEditModal',
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
title: '',
|
||||||
|
visible: false,
|
||||||
|
confirmLoading: false,
|
||||||
|
formInlineText: {},
|
||||||
|
rulesText: {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
open (form) {
|
||||||
|
this.initData()
|
||||||
|
this.visible = true
|
||||||
|
this.formInlineText = Object.assign({}, form)
|
||||||
|
},
|
||||||
|
initData () {
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.ruleFormText.clearValidate()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 发表评论弹框的提交按钮点击
|
||||||
|
fullTextCommentsSubmit () {
|
||||||
|
this.$refs.ruleFormText.validate(valid => {
|
||||||
|
if (valid) {
|
||||||
|
if (this.title === this.$t('docTool.comparison.fullTextComments')) {
|
||||||
|
this.fullTextComments()
|
||||||
|
} else {
|
||||||
|
this.comparaComments()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 全文评论提交
|
||||||
|
fullTextComments () {
|
||||||
|
this.confirmLoading = true
|
||||||
|
const query = {
|
||||||
|
id: this.$route.query.id,
|
||||||
|
comments: this.formInlineText.comment
|
||||||
|
}
|
||||||
|
putAction('/compare/sarFileCompareInfo/editComments', query).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(this.$t('operationSuccessful'))
|
||||||
|
this.visible = false
|
||||||
|
this.$emit('ok')
|
||||||
|
} else {
|
||||||
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 发表评论提交
|
||||||
|
comparaComments () {
|
||||||
|
this.confirmLoading = true
|
||||||
|
const query = {
|
||||||
|
infoId: this.$route.query.id,
|
||||||
|
id: this.formInlineText.id,
|
||||||
|
comment: this.formInlineText.comment
|
||||||
|
}
|
||||||
|
putAction('/compare/sarFileCompareItemComment/edit', query).then((res) => {
|
||||||
|
if (res.success) {
|
||||||
|
this.$message.success(this.$t('operationSuccessful'))
|
||||||
|
this.visible = false
|
||||||
|
this.$emit('ok')
|
||||||
|
} else {
|
||||||
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
this.confirmLoading = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="less">
|
||||||
|
@import'~@assets/less/common.less';
|
||||||
|
</style>
|
||||||
@@ -141,48 +141,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a-modal
|
|
||||||
:title="title"
|
|
||||||
:width="600"
|
|
||||||
:visible="visible"
|
|
||||||
:confirm-loading="confirmLoading"
|
|
||||||
:maskClosable="false"
|
|
||||||
@cancel="visible = false"
|
|
||||||
>
|
|
||||||
<template slot="footer">
|
|
||||||
<a-button key="back" @click="visible = false">
|
|
||||||
{{$t('cancel')}}
|
|
||||||
</a-button>
|
|
||||||
<a-button type="primary" :loading="confirmLoading" @click="fullTextCommentsSubmit">
|
|
||||||
{{$t('submit')}}
|
|
||||||
</a-button>
|
|
||||||
</template>
|
|
||||||
<a-form-model :model="formInlineText" class="formAdd" :rules="rulesText" ref="ruleFormText">
|
|
||||||
<div class="box-title-text-remarks" v-if="title === $t('docTool.comparison.fullTextComments')">
|
|
||||||
<div class="title-text-remarks" :title="$t('docTool.comparison.fullTextComments')">
|
|
||||||
<span>{{$t('docTool.comparison.fullTextComments')}}</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="item-model" style="width: calc(100% - 113px)" prop="comment">
|
|
||||||
<a-textarea :placeholder="$t('pleaseEnter') + $t('docTool.comparison.fullTextComments')"
|
|
||||||
v-model.trim="formInlineText.comment"
|
|
||||||
:maxLength="500"
|
|
||||||
:rows="4"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
<div class="box-title-text-remarks" v-if="title === $t('docTool.comparison.comparativeComments')">
|
|
||||||
<div class="title-text-remarks" :title="$t('docTool.comparison.comparativeComments')">
|
|
||||||
<span>{{$t('docTool.comparison.comparativeComments')}}</span>
|
|
||||||
</div>
|
|
||||||
<a-form-model-item class="item-model" style="width: calc(100% - 113px)" prop="comment">
|
|
||||||
<a-textarea :placeholder="$t('pleaseEnter')+$t('docTool.comparison.comparativeComments')"
|
|
||||||
v-model.trim="formInlineText.comment"
|
|
||||||
:maxLength="500"
|
|
||||||
:rows="4"/>
|
|
||||||
</a-form-model-item>
|
|
||||||
</div>
|
|
||||||
</a-form-model>
|
|
||||||
</a-modal>
|
|
||||||
<commentList ref="commentListRef"/>
|
<commentList ref="commentListRef"/>
|
||||||
|
<comparison-result-edit-modal ref="comparisonResultEditModal" @ok="getData"></comparison-result-edit-modal>
|
||||||
<div id="images">
|
<div id="images">
|
||||||
<div class="image" v-viewer="{movable: false}">
|
<div class="image" v-viewer="{movable: false}">
|
||||||
<img v-show="image" :src="imageUrl">
|
<img v-show="image" :src="imageUrl">
|
||||||
@@ -192,15 +152,16 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getAction, downloadFile, deleteAction, putAction, getFileAccessHttpUrl } from '@/api/manage'
|
import { getAction, downloadFile, deleteAction, getFileAccessHttpUrl } from '@/api/manage'
|
||||||
import { previewPdf } from '@/utils/previewPdf'
|
import { previewPdf } from '@/utils/previewPdf'
|
||||||
import { Base64 } from 'js-base64'
|
import { Base64 } from 'js-base64'
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
import CommentList from './CommentList'
|
import CommentList from './CommentList'
|
||||||
|
import ComparisonResultEditModal from './ComparisonResultEditModal'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ComparisonResults',
|
name: 'ComparisonResults',
|
||||||
components: { CommentList },
|
components: { CommentList, ComparisonResultEditModal },
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false,
|
||||||
@@ -208,13 +169,8 @@ export default {
|
|||||||
isVarianceOne: false,
|
isVarianceOne: false,
|
||||||
isVarianceTwo: false,
|
isVarianceTwo: false,
|
||||||
isVarianceThe: false,
|
isVarianceThe: false,
|
||||||
confirmLoading: false,
|
|
||||||
downLoadFileUrl: window._CONFIG.domianPreviewURL + '/sys/common/download',
|
downLoadFileUrl: window._CONFIG.domianPreviewURL + '/sys/common/download',
|
||||||
downLoadImgUrl: window._CONFIG.domianWebImgURL + '/sys/common/download',
|
downLoadImgUrl: window._CONFIG.domianWebImgURL + '/sys/common/download',
|
||||||
visible: false,
|
|
||||||
formInlineText: {},
|
|
||||||
rulesText: {},
|
|
||||||
title: '',
|
|
||||||
indeterminate: false,
|
indeterminate: false,
|
||||||
checkAll: false,
|
checkAll: false,
|
||||||
isDisplay: false,
|
isDisplay: false,
|
||||||
@@ -367,76 +323,15 @@ export default {
|
|||||||
this.indeterminate = false
|
this.indeterminate = false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 发表评论弹框的提交按钮点击
|
|
||||||
fullTextCommentsSubmit () {
|
|
||||||
this.$refs.ruleFormText.validate(valid => {
|
|
||||||
if (valid) {
|
|
||||||
if (this.title === this.$t('docTool.comparison.fullTextComments')) {
|
|
||||||
this.fullTextComments()
|
|
||||||
} else {
|
|
||||||
this.comparaComments()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 全文评论提交
|
|
||||||
fullTextComments () {
|
|
||||||
this.confirmLoading = true
|
|
||||||
const query = {
|
|
||||||
id: this.$route.query.id,
|
|
||||||
comments: this.formInlineText.comment
|
|
||||||
}
|
|
||||||
putAction('/compare/sarFileCompareInfo/editComments', query).then((res) => {
|
|
||||||
if (res.success) {
|
|
||||||
this.$message.success(this.$t('operationSuccessful'))
|
|
||||||
this.visible = false
|
|
||||||
this.getData()
|
|
||||||
} else {
|
|
||||||
this.$message.warning(this.$t('operationFailed'))
|
|
||||||
}
|
|
||||||
}).finally(() => {
|
|
||||||
this.confirmLoading = false
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 发表评论提交
|
|
||||||
comparaComments () {
|
|
||||||
this.confirmLoading = true
|
|
||||||
const query = {
|
|
||||||
infoId: this.$route.query.id,
|
|
||||||
id: this.formInlineText.id,
|
|
||||||
comment: this.formInlineText.comment
|
|
||||||
}
|
|
||||||
putAction('/compare/sarFileCompareItemComment/edit', query).then((res) => {
|
|
||||||
if (res.success) {
|
|
||||||
this.$message.success(this.$t('operationSuccessful'))
|
|
||||||
this.visible = false
|
|
||||||
this.getData()
|
|
||||||
} else {
|
|
||||||
this.$message.warning(this.$t('operationFailed'))
|
|
||||||
}
|
|
||||||
}).finally(() => {
|
|
||||||
this.confirmLoading = false
|
|
||||||
})
|
|
||||||
},
|
|
||||||
// 全文评论编辑点击
|
// 全文评论编辑点击
|
||||||
fullTextEdit (item) {
|
fullTextEdit (item) {
|
||||||
this.visible = true
|
this.$refs.comparisonResultEditModal.title = this.$t('docTool.comparison.fullTextComments')
|
||||||
this.title = this.$t('docTool.comparison.fullTextComments')
|
this.$refs.comparisonResultEditModal.open({ comment: this.resultData.comments || '' })
|
||||||
this.formInlineText.comment = this.resultData.comments || ''
|
|
||||||
this.formInlineText = { ...this.formInlineText }
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.ruleFormText.clearValidate()
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
// 对比结果编辑按钮点击
|
// 对比结果编辑按钮点击
|
||||||
comparaEdit (item) {
|
comparaEdit (item) {
|
||||||
this.visible = true
|
this.$refs.comparisonResultEditModal.title = this.$t('docTool.comparison.comparativeComments')
|
||||||
this.title = this.$t('docTool.comparison.comparativeComments')
|
this.$refs.comparisonResultEditModal.open(item)
|
||||||
this.formInlineText = JSON.parse(JSON.stringify(item))
|
|
||||||
this.formInlineText = { ...this.formInlineText }
|
|
||||||
this.$nextTick(() => {
|
|
||||||
this.$refs.ruleFormText.clearValidate()
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
// 对比结果删除按钮点击
|
// 对比结果删除按钮点击
|
||||||
comparaDelete (val) {
|
comparaDelete (val) {
|
||||||
|
|||||||
@@ -33,10 +33,10 @@
|
|||||||
</span>
|
</span>
|
||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
<a-table
|
<j-table
|
||||||
ref="table"
|
ref="table"
|
||||||
size="middle"
|
size="middle"
|
||||||
:components="drag(columns,'columns')"
|
:can-drag="true"
|
||||||
:loading="loadingLeft"
|
:loading="loadingLeft"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
:scroll="{x: '100%',y:340}"
|
:scroll="{x: '100%',y:340}"
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
:columns="columns"
|
:columns="columns"
|
||||||
@change="tableChangeLeft"
|
@change="tableChangeLeft"
|
||||||
>
|
>
|
||||||
</a-table>
|
</j-table>
|
||||||
<div class="box-button-standard">
|
<div class="box-button-standard">
|
||||||
<span class="box-button-standard-left" :title="$t('docTool.comparison.selectedStandard')">
|
<span class="box-button-standard-left" :title="$t('docTool.comparison.selectedStandard')">
|
||||||
{{$t('docTool.comparison.selectedStandard')}}
|
{{$t('docTool.comparison.selectedStandard')}}
|
||||||
@@ -82,20 +82,20 @@
|
|||||||
</span>
|
</span>
|
||||||
</a-row>
|
</a-row>
|
||||||
</a-form>
|
</a-form>
|
||||||
<a-table
|
<j-table
|
||||||
ref="table"
|
ref="table"
|
||||||
size="middle"
|
size="middle"
|
||||||
:components="drag(columns,'columns')"
|
:can-drag="true"
|
||||||
:loading="loadingRight"
|
:loading="loadingRight"
|
||||||
:pagination="false"
|
:pagination="false"
|
||||||
:scroll="{x: '100%',y:340}"
|
:scroll="{x: '100%',y:340}"
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
:data-source="dataSourceRight"
|
:data-source="dataSourceRight"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeysRight, onChange: onSelectChangeRight, columnTitle:' ', type: 'radio'}"
|
:row-selection="{ selectedRowKeys: selectedRowKeysRight, onChange: onSelectChangeRight, columnTitle:' ', type: 'radio'}"
|
||||||
:columns="columns"
|
:columns="tableColumns"
|
||||||
@change="tableChangeRight"
|
@change="tableChangeRight"
|
||||||
>
|
>
|
||||||
</a-table>
|
</j-table>
|
||||||
<div class="box-button-standard">
|
<div class="box-button-standard">
|
||||||
<span class="box-button-standard-left" :title="$t('docTool.comparison.selectedStandard')">
|
<span class="box-button-standard-left" :title="$t('docTool.comparison.selectedStandard')">
|
||||||
{{$t('docTool.comparison.selectedStandard')}}
|
{{$t('docTool.comparison.selectedStandard')}}
|
||||||
@@ -139,15 +139,15 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getAction, postAction, downloadFile, getFileAccessHttpUrl } from '@/api/manage'
|
import JTable from '@/components/jero/JTable'
|
||||||
|
import { getAction, downloadFile, getFileAccessHttpUrl } from '@/api/manage'
|
||||||
import { previewPdf } from '@/utils/previewPdf'
|
import { previewPdf } from '@/utils/previewPdf'
|
||||||
import { Base64 } from 'js-base64'
|
import { Base64 } from 'js-base64'
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'InitiateComparison',
|
name: 'InitiateComparison',
|
||||||
mixins: [ResizeHeader, ResizeColumnProvide],
|
components: { JTable },
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
loading: false,
|
loading: false,
|
||||||
@@ -225,7 +225,7 @@ export default {
|
|||||||
width: 79
|
width: 79
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('TextStatus'),
|
title: this.$t('docTool.comparison.textStatus'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
dataIndex: 'fileType',
|
dataIndex: 'fileType',
|
||||||
@@ -239,7 +239,7 @@ export default {
|
|||||||
width: 79
|
width: 79
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
tablecolumns: [
|
tableColumns: [
|
||||||
{
|
{
|
||||||
title: this.$t('number'),
|
title: this.$t('number'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
@@ -263,7 +263,7 @@ export default {
|
|||||||
width: 79
|
width: 79
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: this.$t('TextStatus'),
|
title: this.$t('docTool.comparison.textStatus'),
|
||||||
align: 'left',
|
align: 'left',
|
||||||
ellipsis: true,
|
ellipsis: true,
|
||||||
dataIndex: 'fileType',
|
dataIndex: 'fileType',
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
<a-input class="box-input"
|
<a-input class="box-input"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
v-model="formInline[item.db_field_name]"
|
v-model="formInline[item.db_field_name]"
|
||||||
:placeholder="$t('PleaseEnter')+item.db_field_txt"/>
|
:placeholder="$t('pleaseEnter')+item.db_field_txt"/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
<div class="box-title-text" v-else-if="item.field_show_type === '2'">
|
<div class="box-title-text" v-else-if="item.field_show_type === '2'">
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="item-model" :prop="item.db_field_name">
|
<a-form-model-item class="item-model" :prop="item.db_field_name">
|
||||||
<a-input-number class="box-input"
|
<a-input-number class="box-input"
|
||||||
:placeholder="$t('PleaseEnter')+item.db_field_txt"
|
:placeholder="$t('pleaseEnter')+item.db_field_txt"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
:min="0"
|
:min="0"
|
||||||
v-model="formInline[item.db_field_name]" :max="99999999"/>
|
v-model="formInline[item.db_field_name]" :max="99999999"/>
|
||||||
@@ -52,7 +52,7 @@
|
|||||||
<j-dict-select-tag class="box-input" v-model="formInline[item.db_field_name]"
|
<j-dict-select-tag class="box-input" v-model="formInline[item.db_field_name]"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
@input="handleInput(item.db_field_name)"
|
@input="handleInput(item.db_field_name)"
|
||||||
:placeholder="$t('PleaseSelect')+item.db_field_txt"
|
:placeholder="$t('pleaseSelect')+item.db_field_txt"
|
||||||
:type="'select'"
|
:type="'select'"
|
||||||
:triggerChange="false" :dictCode="item.dict_field"/>
|
:triggerChange="false" :dictCode="item.dict_field"/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
<a-form-model-item class="item-model-multi" :prop="item.db_field_name">
|
<a-form-model-item class="item-model-multi" :prop="item.db_field_name">
|
||||||
<j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]"
|
<j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
:placeholder="$t('PleaseSelect')+item.db_field_txt"
|
:placeholder="$t('pleaseSelect')+item.db_field_txt"
|
||||||
:type="'select'"
|
:type="'select'"
|
||||||
:triggerChange="false" :dictCode="item.dict_field"/>
|
:triggerChange="false" :dictCode="item.dict_field"/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
@@ -117,7 +117,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<a-form-model-item class="item-model" :prop="item.db_field_name">
|
<a-form-model-item class="item-model" :prop="item.db_field_name">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
:placeholder="$t('PleaseEnter')+item.db_field_txt"
|
:placeholder="$t('pleaseEnter')+item.db_field_txt"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
v-model="formInline[item.db_field_name]" :rows="4"/>
|
v-model="formInline[item.db_field_name]" :rows="4"/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
@@ -144,7 +144,7 @@
|
|||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
class="box-input"
|
class="box-input"
|
||||||
@input="handleInput(item.db_field_name)"
|
@input="handleInput(item.db_field_name)"
|
||||||
:placeholder="$t('PleaseSelect')+item.db_field_txt"
|
:placeholder="$t('pleaseSelect')+item.db_field_txt"
|
||||||
:type="'radio'" :triggerChange="false" :dictCode="item.dict_field"/>
|
:type="'radio'" :triggerChange="false" :dictCode="item.dict_field"/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
</div>
|
</div>
|
||||||
@@ -162,7 +162,7 @@
|
|||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
:tree-data="item.tree"
|
:tree-data="item.tree"
|
||||||
tree-checkable
|
tree-checkable
|
||||||
:placeholder="$t('PleaseSelect')+item.db_field_txt"
|
:placeholder="$t('pleaseSelect')+item.db_field_txt"
|
||||||
@change="changeTree"
|
@change="changeTree"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
@@ -176,7 +176,7 @@
|
|||||||
<a-form-model-item class="item-model-multi" :prop="item.db_field_name">
|
<a-form-model-item class="item-model-multi" :prop="item.db_field_name">
|
||||||
<j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]"
|
<j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]"
|
||||||
:disabled="disabled"
|
:disabled="disabled"
|
||||||
:placeholder="$t('PleaseSelect')+item.db_field_txt"
|
:placeholder="$t('pleaseSelect')+item.db_field_txt"
|
||||||
:type="'checkbox'"
|
:type="'checkbox'"
|
||||||
:triggerChange="false" :dictCode="item.dict_field"/>
|
:triggerChange="false" :dictCode="item.dict_field"/>
|
||||||
</a-form-model-item>
|
</a-form-model-item>
|
||||||
@@ -253,14 +253,10 @@ export default {
|
|||||||
return {
|
return {
|
||||||
formTitle: '',
|
formTitle: '',
|
||||||
title: this.$t('newClause'),
|
title: this.$t('newClause'),
|
||||||
titlePreImg: '',
|
|
||||||
contentList: [],
|
contentList: [],
|
||||||
confirmLoading: false,
|
|
||||||
visible: false,
|
visible: false,
|
||||||
addIndex: '',
|
addIndex: '',
|
||||||
disabled: false,
|
disabled: false,
|
||||||
splitVisible: false,
|
|
||||||
itemSrc: '', // 预览图片
|
|
||||||
formInline: {},
|
formInline: {},
|
||||||
isFormInline: false,
|
isFormInline: false,
|
||||||
dataList: [],
|
dataList: [],
|
||||||
@@ -272,7 +268,6 @@ export default {
|
|||||||
token: Vue.ls.get(ACCESS_TOKEN),
|
token: Vue.ls.get(ACCESS_TOKEN),
|
||||||
submitFlag: false,
|
submitFlag: false,
|
||||||
deleteIds: [],
|
deleteIds: [],
|
||||||
numberFlag: false,
|
|
||||||
itemVal: {},
|
itemVal: {},
|
||||||
contentTrees: '',
|
contentTrees: '',
|
||||||
isTableEdit: false
|
isTableEdit: false
|
||||||
@@ -399,15 +394,10 @@ export default {
|
|||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.data.success) {
|
if (res.data.success) {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
this.$message.success(this.$t('OperationSuccessful'))
|
this.$message.success(this.$t('operationSuccessful'))
|
||||||
this.visible = false
|
this.visible = false
|
||||||
// this.$emit('closeVisible',false)
|
// this.$emit('closeVisible',false)
|
||||||
const queryParam = {
|
this.$emit('sumber')
|
||||||
menu_id: this.menuId,
|
|
||||||
info_id: this.infoId
|
|
||||||
|
|
||||||
}
|
|
||||||
this.$emit('sumber', queryParam)
|
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(this.$t('operationFailed'))
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
}
|
}
|
||||||
@@ -505,10 +495,6 @@ export default {
|
|||||||
this.formInline[this.uploadName] = attIdList.join(',')
|
this.formInline[this.uploadName] = attIdList.join(',')
|
||||||
this.formInline = { ...this.formInline }
|
this.formInline = { ...this.formInline }
|
||||||
},
|
},
|
||||||
// 关闭上传
|
|
||||||
closeHandle () {
|
|
||||||
this.splitVisible = false
|
|
||||||
},
|
|
||||||
handleInput (value) {
|
handleInput (value) {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.formInline = { ...this.formInline }
|
this.formInline = { ...this.formInline }
|
||||||
@@ -571,11 +557,11 @@ export default {
|
|||||||
this.$set(this, 'rules', rules)
|
this.$set(this, 'rules', rules)
|
||||||
// console.log('rules',this.rules)
|
// console.log('rules',this.rules)
|
||||||
this.isFormInline = true
|
this.isFormInline = true
|
||||||
this.confirmLoading = false
|
this.loading = false
|
||||||
// console.log('this.column',this.column)
|
// console.log('this.column',this.column)
|
||||||
},
|
},
|
||||||
getForm (callBack) {
|
getForm (callBack) {
|
||||||
this.confirmLoading = true
|
this.loading = true
|
||||||
const params = {
|
const params = {
|
||||||
flag: this.flag,
|
flag: this.flag,
|
||||||
type: this.type
|
type: this.type
|
||||||
|
|||||||
@@ -68,7 +68,7 @@
|
|||||||
<div class="div-right-wrapper">
|
<div class="div-right-wrapper">
|
||||||
<div class="right-search-header table-page-search-wrapper">
|
<div class="right-search-header table-page-search-wrapper">
|
||||||
<search :flag="'4'" :url="url" :infoId="$route.query.infoId"
|
<search :flag="'4'" :url="url" :infoId="$route.query.infoId"
|
||||||
:menuId="menuId" @resetSearch="resetSearch" @queryParams="queryParamsValues" />
|
:menuId="menuId" @reset="searchReset" @search="searchQuery" />
|
||||||
</div>
|
</div>
|
||||||
<div class="table-operator">
|
<div class="table-operator">
|
||||||
<div class="operator-text" @click="handleCopyManage">
|
<div class="operator-text" @click="handleCopyManage">
|
||||||
@@ -84,7 +84,7 @@
|
|||||||
{{ $t('add') }}
|
{{ $t('add') }}
|
||||||
</div>
|
</div>
|
||||||
<div class="operator-text upload-split"
|
<div class="operator-text upload-split"
|
||||||
v-if="$route.query.createBy === userData.username || administrators"
|
v-if="isCanOperate"
|
||||||
@click="handleImportManage" v-has="'split:sarFileSplitItems:import'">
|
@click="handleImportManage" v-has="'split:sarFileSplitItems:import'">
|
||||||
<a-icon type="import" :rotate="-90" v-if="uploadMenuId === undefined || uploadMenuId === ''" />
|
<a-icon type="import" :rotate="-90" v-if="uploadMenuId === undefined || uploadMenuId === ''" />
|
||||||
{{ (uploadMenuId === '' || uploadMenuId === undefined) ? $t('import') : '' }}
|
{{ (uploadMenuId === '' || uploadMenuId === undefined) ? $t('import') : '' }}
|
||||||
@@ -97,44 +97,65 @@
|
|||||||
{{ $t('export') }}
|
{{ $t('export') }}
|
||||||
</div>
|
</div>
|
||||||
<div class="operator-text" @click="handleDownManage"
|
<div class="operator-text" @click="handleDownManage"
|
||||||
v-if="$route.query.createBy === userData.username || administrators"
|
v-if="isCanOperate"
|
||||||
v-has="'split:sarFileSplitItems:template'">
|
v-has="'split:sarFileSplitItems:template'">
|
||||||
<a-icon type="download" />
|
<a-icon type="download" />
|
||||||
{{ $t('templateDownload') }}
|
{{ $t('templateDownload') }}
|
||||||
</div>
|
</div>
|
||||||
<div class="operator-text" @click="handleMergeManage"
|
<div class="operator-text" @click="handleMergeManage"
|
||||||
v-if="$route.query.createBy === userData.username || administrators"
|
v-if="isCanOperate"
|
||||||
v-has="'split:sarFileSplitItems:merge'">
|
v-has="'split:sarFileSplitItems:merge'">
|
||||||
<a-icon type="snippets" />
|
<a-icon type="snippets" />
|
||||||
{{ $t('docTool.split.mergerClause') }}
|
{{ $t('docTool.split.mergerClause') }}
|
||||||
</div>
|
</div>
|
||||||
<div class="operator-text" @click="handleManage"
|
<div class="operator-text" @click="handleManage"
|
||||||
v-if="$route.query.createBy === userData.username || administrators"
|
v-if="isCanOperate"
|
||||||
v-has="'split:sarFileSplitItems:set'">
|
v-has="'split:sarFileSplitItems:set'">
|
||||||
<a-icon type="setting" />
|
<a-icon type="setting" />
|
||||||
{{ $t('docTool.split.batchSetting') }}
|
{{ $t('docTool.split.batchSetting') }}
|
||||||
</div>
|
</div>
|
||||||
<div class="operator-text" @click="handleBatCancel"
|
<div class="operator-text" @click="handleBatCancel"
|
||||||
v-if="$route.query.createBy === userData.username || administrators"
|
v-if="isCanOperate"
|
||||||
v-has="'split:sarFileSplitItems:delete'">
|
v-has="'split:sarFileSplitItems:delete'">
|
||||||
<a-icon type="delete" />
|
<a-icon type="delete" />
|
||||||
{{ $t('batchDelete') }}
|
{{ $t('batchDelete') }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="split-detail-table">
|
<div class="split-detail-table">
|
||||||
<table-data
|
<j-table
|
||||||
ref="splitDetailTable"
|
v-if="columns && columns.length > 0"
|
||||||
:url="url"
|
:columns="columns"
|
||||||
:flag="'4'"
|
:dataSource="dataSource"
|
||||||
:operationList="operationList"
|
:can-drag="true"
|
||||||
:infoId="$route.query.infoId"
|
rowKey="id"
|
||||||
:menuId="menuId"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
:showAction="$route.query.createBy === userData.username || administrators ? true :false"
|
:pagination="ipagination"
|
||||||
@onSelectChange="onSelectChange"
|
:scroll="{x: '100%'}"
|
||||||
@deleteClick="deleteClick"
|
@change="tableOnChange">
|
||||||
@editClick="editClick"
|
|
||||||
@showContent="showContent"
|
<template slot="operation" slot-scope="{text, record}">
|
||||||
></table-data>
|
<a v-for="(operation, index) in operationList" :key="index" @click="operationClick(operation,record)">
|
||||||
|
<!-- v-has="operation.has"-->
|
||||||
|
<span class="text">
|
||||||
|
{{ operation.text }}
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<!-- 详情-->
|
||||||
|
<template slot="detailClick" slot-scope="{text, record}">
|
||||||
|
<a-tooltip overlay-class-name="tooltip-style">
|
||||||
|
<template slot="title">{{ text || text === 0 ? text : global.emptyLine }}</template>
|
||||||
|
<a class="table-text textName" @click="detailClick(record)" v-if="text || text === 0">{{ text }}</a>
|
||||||
|
<div class="table-text" v-else>{{ global.emptyLine }}</div>
|
||||||
|
</a-tooltip>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template slot="showContent" slot-scope="text, record">
|
||||||
|
<span class="content-show" @click="showContent(text,record)">{{record.iterms_conditions&&record.iterms_conditions!=='null'?record.iterms_conditions.replace(/<.*?>/ig, ' ') : ''}}</span>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</j-table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -154,7 +175,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Search from '@/components/customField/Search'
|
import Search from '@/components/customField/Search'
|
||||||
import TableData from '@/components/customField/TableData'
|
import JTable from '@/components/jero/JTable'
|
||||||
// 条款添加
|
// 条款添加
|
||||||
import SplitAddForm from './SplitAddForm'
|
import SplitAddForm from './SplitAddForm'
|
||||||
// 条款内容弹框
|
// 条款内容弹框
|
||||||
@@ -168,17 +189,19 @@ import { ACCESS_TOKEN } from '@/store/mutation-types'
|
|||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
import { postAction, getAction, downloadFile } from '@/api/manage'
|
import { postAction, getAction, downloadFile } from '@/api/manage'
|
||||||
import moment from 'moment'
|
import moment from 'moment'
|
||||||
|
import { ConfigurableTableMixin } from '../../../mixins/ConfigurableTableMixin'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'SplitDetail',
|
name: 'SplitDetail',
|
||||||
components: {
|
components: {
|
||||||
Search,
|
Search,
|
||||||
TableData,
|
JTable,
|
||||||
SplitAddForm,
|
SplitAddForm,
|
||||||
SplitClauseDetail,
|
SplitClauseDetail,
|
||||||
SplitDetailNodeAdd,
|
SplitDetailNodeAdd,
|
||||||
SplitDetailBatchSetting
|
SplitDetailBatchSetting
|
||||||
},
|
},
|
||||||
|
mixins: [ConfigurableTableMixin],
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
userData: {},
|
userData: {},
|
||||||
@@ -215,8 +238,8 @@ export default {
|
|||||||
],
|
],
|
||||||
url: {
|
url: {
|
||||||
tableHeader: 'split/sarFileSplitItems/getHeader', // 表格头部字段
|
tableHeader: 'split/sarFileSplitItems/getHeader', // 表格头部字段
|
||||||
searchList: 'split/sarFileSplitItems/queryCondition', // 搜索字段
|
getSearchList: 'split/sarFileSplitItems/queryCondition', // 搜索字段
|
||||||
tableList: 'split/sarFileSplitItems/getSplitItemsByPage', // 表格数据
|
list: 'split/sarFileSplitItems/getSplitItemsByPage', // 表格数据
|
||||||
getAddForm: 'split/sarFileSplitItems/getForm', // 表单的字段
|
getAddForm: 'split/sarFileSplitItems/getForm', // 表单的字段
|
||||||
getDocumentInfo: 'split/sarFileSplitItems/getSplitItemsById',
|
getDocumentInfo: 'split/sarFileSplitItems/getSplitItemsById',
|
||||||
importZipUrl: '/split/sarFileSplitItems/importSplitItems' // 导入
|
importZipUrl: '/split/sarFileSplitItems/importSplitItems' // 导入
|
||||||
@@ -228,7 +251,20 @@ export default {
|
|||||||
moveUpFlag: false,
|
moveUpFlag: false,
|
||||||
fullWidth: '',
|
fullWidth: '',
|
||||||
parameter: {},
|
parameter: {},
|
||||||
administrators: false
|
administrators: false,
|
||||||
|
showAction: this.isCanOperate,
|
||||||
|
flag: '4' // 查询要用到
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
isCanOperate () {
|
||||||
|
return !!(this.$route.query.createBy === this.userData.username || this.administrators)
|
||||||
|
},
|
||||||
|
filters () {
|
||||||
|
return {
|
||||||
|
menu_id: this.menuId,
|
||||||
|
info_id: this.infoId
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted () {
|
mounted () {
|
||||||
@@ -383,13 +419,9 @@ export default {
|
|||||||
this.menuId = selectedKeys[0]
|
this.menuId = selectedKeys[0]
|
||||||
this.uploadMenuId = selectedKeys[0]
|
this.uploadMenuId = selectedKeys[0]
|
||||||
this.selectedKeys = selectedKeys
|
this.selectedKeys = selectedKeys
|
||||||
const queryParam = {
|
|
||||||
menu_id: this.menuId,
|
|
||||||
info_id: this.infoId
|
|
||||||
}
|
|
||||||
this.parameter.info_id = this.infoId
|
this.parameter.info_id = this.infoId
|
||||||
this.parameter.menu_id = this.menuId
|
this.parameter.menu_id = this.menuId
|
||||||
this.$refs.splitDetailTable.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
this.loadData()
|
||||||
},
|
},
|
||||||
// 树形新增
|
// 树形新增
|
||||||
orgAdd () {
|
orgAdd () {
|
||||||
@@ -403,11 +435,7 @@ export default {
|
|||||||
nodeAddOk () {
|
nodeAddOk () {
|
||||||
this.expandedKeys.push(this.nodeItem.id)
|
this.expandedKeys.push(this.nodeItem.id)
|
||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
const queryParam = {
|
this.loadData()
|
||||||
menu_id: this.menuId,
|
|
||||||
info_id: this.infoId
|
|
||||||
}
|
|
||||||
this.$refs.splitDetailTable.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
|
||||||
},
|
},
|
||||||
// 修改节点完成后的回调
|
// 修改节点完成后的回调
|
||||||
nodeUpdateOk (expandId) {
|
nodeUpdateOk (expandId) {
|
||||||
@@ -424,11 +452,7 @@ export default {
|
|||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.$message.success(this.$t('operationSuccessful'))
|
this.$message.success(this.$t('operationSuccessful'))
|
||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
const queryParam = {
|
this.loadData()
|
||||||
menu_id: this.menuId,
|
|
||||||
info_id: this.infoId
|
|
||||||
}
|
|
||||||
this.$refs.splitDetailTable.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(this.$t('operationFailed'))
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
}
|
}
|
||||||
@@ -451,11 +475,7 @@ export default {
|
|||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.$message.success(this.$t('operationSuccessful'))
|
this.$message.success(this.$t('operationSuccessful'))
|
||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
const queryParam = {
|
this.loadData()
|
||||||
menu_id: this.menuId,
|
|
||||||
info_id: this.infoId
|
|
||||||
}
|
|
||||||
this.$refs.splitDetailTable.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(this.$t('operationFailed'))
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
}
|
}
|
||||||
@@ -476,12 +496,7 @@ export default {
|
|||||||
if (res.success) {
|
if (res.success) {
|
||||||
this.$message.success(this.$t('operationSuccessful'))
|
this.$message.success(this.$t('operationSuccessful'))
|
||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
const queryParam = {
|
this.loadData()
|
||||||
menu_id: this.menuId,
|
|
||||||
info_id: this.infoId
|
|
||||||
|
|
||||||
}
|
|
||||||
this.$refs.splitDetailTable.$emit('searchQuery', JSON.parse(JSON.stringify(queryParam)))
|
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(this.$t('operationFailed'))
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
}
|
}
|
||||||
@@ -490,6 +505,56 @@ export default {
|
|||||||
onContextMenuClick (treeKey, menuKey) {
|
onContextMenuClick (treeKey, menuKey) {
|
||||||
// console.log(`treeKey: ${treeKey}, menuKey: ${menuKey}`);
|
// console.log(`treeKey: ${treeKey}, menuKey: ${menuKey}`);
|
||||||
},
|
},
|
||||||
|
// 表格操作列按钮的点击
|
||||||
|
operationClick (operation, record) {
|
||||||
|
if (this[operation.clickEvent]) {
|
||||||
|
this[operation.clickEvent](record)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 处理表头数据
|
||||||
|
* @param columns
|
||||||
|
* @returns {*[]}
|
||||||
|
*/
|
||||||
|
dealColumns (columns) {
|
||||||
|
const tempColumns = []
|
||||||
|
columns.forEach(item => {
|
||||||
|
// 可点击项加入插槽
|
||||||
|
if (item.click === 'true') {
|
||||||
|
item.scopedSlots = {
|
||||||
|
customRender: 'detailClick'
|
||||||
|
}
|
||||||
|
} else if (item.urlClick === 'true') {
|
||||||
|
item.scopedSlots = {
|
||||||
|
customRender: 'urlClick'
|
||||||
|
}
|
||||||
|
} else if (item.db_field_name === 'iterms_conditions') {
|
||||||
|
// 拆分文档详情页的条款内容点击可预览
|
||||||
|
item.scopedSlots = {
|
||||||
|
customRender: 'showContent'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 是否可排序
|
||||||
|
item.sorter = item.sort === 'true'
|
||||||
|
item.width = 215
|
||||||
|
item.title = item.db_field_txt
|
||||||
|
item.dataIndex = item.db_field_name
|
||||||
|
item.align = 'left'
|
||||||
|
tempColumns.push(item)
|
||||||
|
})
|
||||||
|
if (this.showAction && this.operateColumn) {
|
||||||
|
let width = 0
|
||||||
|
if (this.operationList.length > 0) {
|
||||||
|
for (let i = 0; i < this.operationList.length; i++) {
|
||||||
|
width += this.getTextWith(this.operationList[i].text)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const operateColumn = JSON.parse(JSON.stringify(this.operateColumn))
|
||||||
|
operateColumn.width = width
|
||||||
|
tempColumns.push(operateColumn)
|
||||||
|
}
|
||||||
|
return tempColumns
|
||||||
|
},
|
||||||
// 清空按钮
|
// 清空按钮
|
||||||
resetSearch () {
|
resetSearch () {
|
||||||
this.menuId = ''
|
this.menuId = ''
|
||||||
@@ -520,13 +585,8 @@ export default {
|
|||||||
if (res.data.success) {
|
if (res.data.success) {
|
||||||
this.$message.success(this.$t('operationSuccessful'))
|
this.$message.success(this.$t('operationSuccessful'))
|
||||||
this.selectClear()
|
this.selectClear()
|
||||||
// this.loadData()
|
|
||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
const queryParam = {
|
this.loadData()
|
||||||
menu_id: this.menuId,
|
|
||||||
info_id: this.infoId
|
|
||||||
}
|
|
||||||
this.$refs.splitDetailTable.$emit('searchGetData', JSON.parse(JSON.stringify(queryParam)))
|
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(this.$t('operationFailed'))
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
}
|
}
|
||||||
@@ -569,13 +629,8 @@ export default {
|
|||||||
// 上传成功
|
// 上传成功
|
||||||
uploadSuccess (data, status) {
|
uploadSuccess (data, status) {
|
||||||
if (status === 'success') {
|
if (status === 'success') {
|
||||||
const queryParam = {
|
|
||||||
menu_id: this.menuId,
|
|
||||||
info_id: this.infoId
|
|
||||||
|
|
||||||
}
|
|
||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
this.$refs.splitDetailTable.$emit('searchGetData', JSON.parse(JSON.stringify(queryParam)))
|
this.loadData()
|
||||||
}
|
}
|
||||||
const attIdList = []
|
const attIdList = []
|
||||||
if (data && data.length > 0) {
|
if (data && data.length > 0) {
|
||||||
@@ -612,10 +667,8 @@ export default {
|
|||||||
downloadFile('split/sarFileSplitItems/exportSplitInfoZip', name, query, this.selectClear)
|
downloadFile('split/sarFileSplitItems/exportSplitInfoZip', name, query, this.selectClear)
|
||||||
},
|
},
|
||||||
selectClear () {
|
selectClear () {
|
||||||
this.$refs.splitDetailTabel.selectedRowKeys = []
|
|
||||||
this.selectedRowKeys = []
|
this.selectedRowKeys = []
|
||||||
this.selectedRows = []
|
this.selectedRows = []
|
||||||
this.selecIds = []
|
|
||||||
},
|
},
|
||||||
// 模板下载
|
// 模板下载
|
||||||
handleDownManage () {
|
handleDownManage () {
|
||||||
@@ -637,11 +690,7 @@ export default {
|
|||||||
this.$message.success(this.$t('operationSuccessful'))
|
this.$message.success(this.$t('operationSuccessful'))
|
||||||
this.selectClear()
|
this.selectClear()
|
||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
const queryParam = {
|
this.loadData()
|
||||||
menu_id: this.menuId,
|
|
||||||
info_id: this.infoId
|
|
||||||
}
|
|
||||||
this.$refs.splitDetailTable.$emit('searchGetData', JSON.parse(JSON.stringify(queryParam)))
|
|
||||||
this.selectedRowKeys = []
|
this.selectedRowKeys = []
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(this.$t('operationFailed'))
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
@@ -663,18 +712,14 @@ export default {
|
|||||||
// 批量设置完成的回调
|
// 批量设置完成的回调
|
||||||
batchSettingOk () {
|
batchSettingOk () {
|
||||||
this.selectClear()
|
this.selectClear()
|
||||||
const queryParam = {
|
this.loadData()
|
||||||
menu_id: this.menuId,
|
|
||||||
info_id: this.infoId
|
|
||||||
}
|
|
||||||
this.$refs.splitDetailTable.$emit('searchGetData', JSON.parse(JSON.stringify(queryParam)))
|
|
||||||
},
|
},
|
||||||
// 批量删除
|
// 批量删除
|
||||||
handleBatCancel () {
|
handleBatCancel () {
|
||||||
const params = {
|
const params = {
|
||||||
ids: this.selecIds.join(',')
|
ids: this.selectedRowKeys.join(',')
|
||||||
}
|
}
|
||||||
if (this.selecIds && this.selecIds.length > 0) {
|
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||||
this.$confirm({
|
this.$confirm({
|
||||||
title: this.$t('confirmBatchDeletion'),
|
title: this.$t('confirmBatchDeletion'),
|
||||||
content: '',
|
content: '',
|
||||||
@@ -683,13 +728,12 @@ export default {
|
|||||||
if (res.data.success) {
|
if (res.data.success) {
|
||||||
this.$message.success(this.$t('operationSuccessful'))
|
this.$message.success(this.$t('operationSuccessful'))
|
||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
const queryParam = {
|
this.filter = {
|
||||||
menu_id: this.menuId,
|
menu_id: this.menuId,
|
||||||
info_id: this.infoId
|
info_id: this.infoId
|
||||||
}
|
}
|
||||||
this.$refs.splitDetailTable.$emit('searchGetData', JSON.parse(JSON.stringify(queryParam)))
|
this.loadData()
|
||||||
this.selectClear()
|
this.selectClear()
|
||||||
// eventBUs.$emit('searchReset')
|
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(res.data.message)
|
this.$message.warning(res.data.message)
|
||||||
}
|
}
|
||||||
@@ -712,8 +756,8 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 保存成功
|
// 保存成功
|
||||||
sumber (queryParam) {
|
sumber () {
|
||||||
this.$refs.splitDetailTable.$emit('searchGetData', JSON.parse(JSON.stringify(queryParam)))
|
this.loadData()
|
||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
},
|
},
|
||||||
// 删除
|
// 删除
|
||||||
@@ -729,12 +773,7 @@ export default {
|
|||||||
if (res.data.success) {
|
if (res.data.success) {
|
||||||
this.$message.success(this.$t('operationSuccessful'))
|
this.$message.success(this.$t('operationSuccessful'))
|
||||||
this.loadMenuData()
|
this.loadMenuData()
|
||||||
const queryParam = {
|
this.loadData()
|
||||||
menu_id: this.menuId,
|
|
||||||
info_id: this.infoId
|
|
||||||
|
|
||||||
}
|
|
||||||
this.$refs.splitDetailTable.$emit('searchGetData', JSON.parse(JSON.stringify(queryParam)))
|
|
||||||
} else {
|
} else {
|
||||||
this.$message.warning(this.$t('operationFailed'))
|
this.$message.warning(this.$t('operationFailed'))
|
||||||
}
|
}
|
||||||
@@ -851,36 +890,6 @@ export default {
|
|||||||
<style scoped lang="less">
|
<style scoped lang="less">
|
||||||
@import '~@assets/less/common.less';
|
@import '~@assets/less/common.less';
|
||||||
|
|
||||||
/deep/ .ant-table-body {
|
|
||||||
overflow: hidden !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.add-menus {
|
|
||||||
.ant-modal-wrap {
|
|
||||||
.ant-modal-footer {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.show-setting {
|
|
||||||
.ant-modal {
|
|
||||||
min-width: 700px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-select-dropdown--multiple {
|
|
||||||
max-height: 39vh !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-modal-body {
|
|
||||||
overflow-y: visible !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ant-modal-footer {
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (min-width: 600px) and (max-width: 1600px) {
|
@media screen and (min-width: 600px) and (max-width: 1600px) {
|
||||||
.operator-text {
|
.operator-text {
|
||||||
margin-right: 20px !important;
|
margin-right: 20px !important;
|
||||||
|
|||||||
@@ -80,6 +80,22 @@ export default {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped lang="less">
|
||||||
|
.show-setting {
|
||||||
|
.ant-modal {
|
||||||
|
min-width: 700px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-select-dropdown--multiple {
|
||||||
|
max-height: 39vh !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-modal-body {
|
||||||
|
overflow-y: visible !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-modal-footer {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -154,6 +154,12 @@ export default {
|
|||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped lang="less">
|
||||||
|
.add-menus {
|
||||||
|
.ant-modal-wrap {
|
||||||
|
.ant-modal-footer {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
width="1100"
|
width="1100"
|
||||||
>
|
>
|
||||||
<div class="table-page-search-wrapper">
|
<div class="table-page-search-wrapper">
|
||||||
<search :url="url" flag="condition" :minLength="2"></search>
|
<search :url="url" flag="condition" :minLength="2" @search="searchQuery" @reset="searchReset"></search>
|
||||||
</div>
|
</div>
|
||||||
<div class="operator-select">
|
<div class="operator-select">
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
@@ -50,14 +50,17 @@
|
|||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
</div>
|
</div>
|
||||||
<table-data
|
<j-table
|
||||||
flag="header"
|
v-if="columns && columns.length > 0"
|
||||||
selectionType="radio"
|
:columns="columns"
|
||||||
:url="url"
|
:dataSource="dataSource"
|
||||||
:type="type"
|
:can-drag="true"
|
||||||
:operationList="operationList"
|
rowKey="id"
|
||||||
@onSelectChange="onSelectChange"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange, type: 'radio' }"
|
||||||
/>
|
:pagination="ipagination"
|
||||||
|
:scroll="{x: '100%'}"
|
||||||
|
@change="tableOnChange">
|
||||||
|
</j-table>
|
||||||
<div class="drawer-bootom-button">
|
<div class="drawer-bootom-button">
|
||||||
<a-button @click="cancelSplit" style='margin-right: 15px'>{{$t('cancel')}}</a-button>
|
<a-button @click="cancelSplit" style='margin-right: 15px'>{{$t('cancel')}}</a-button>
|
||||||
<a-button type="primary" :loading="loading" @click="submitSplit">{{$t('submit')}}</a-button>
|
<a-button type="primary" :loading="loading" @click="submitSplit">{{$t('submit')}}</a-button>
|
||||||
@@ -67,12 +70,14 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Search from '@/components/customField/Search'
|
import Search from '@/components/customField/Search'
|
||||||
import TableData from '@/components/customField/TableData'
|
import JTable from '@/components/jero/JTable'
|
||||||
import { httpAction } from '@/api/manage'
|
import { httpAction } from '@/api/manage'
|
||||||
|
import { ConfigurableTableMixin } from '../../../mixins/ConfigurableTableMixin'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'SplitText',
|
name: 'SplitText',
|
||||||
components: { Search, TableData },
|
components: { Search, JTable },
|
||||||
|
mixins: [ConfigurableTableMixin],
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
visible: false,
|
visible: false,
|
||||||
@@ -81,13 +86,15 @@ export default {
|
|||||||
selectedRowKeys: [],
|
selectedRowKeys: [],
|
||||||
selectedRows: [],
|
selectedRows: [],
|
||||||
url: {
|
url: {
|
||||||
tableHeader: 'document/bussDocumentLibraryEO/getHeaderOrConditionForSplitResult', // 表格头部字段
|
// tableHeader: 'document/bussDocumentLibraryEO/getHeaderOrConditionForSplitResult', // 表格头部字段
|
||||||
searchList: 'document/bussDocumentLibraryEO/getHeaderOrConditionForSplitResult', // 搜索字段
|
searchList: 'document/bussDocumentLibraryEO/getHeaderOrConditionForSplitResult', // 搜索字段
|
||||||
tableList: 'split/sarFileSplitInfo/splitFilePageInfo', // 表格数据
|
tableList: 'split/sarFileSplitInfo/splitFilePageInfo', // 表格数据
|
||||||
addSplit: ''
|
addSplit: ''
|
||||||
},
|
},
|
||||||
type: 'pdfdoc',
|
type: 'pdfdoc',
|
||||||
operationList: []
|
operationList: [],
|
||||||
|
showAction: false,
|
||||||
|
flag: 'header'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|||||||
@@ -27,8 +27,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a-table
|
<j-table
|
||||||
:components="drag(columns,'columns')"
|
:can-drag="true"
|
||||||
ref="table"
|
ref="table"
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
|
||||||
@@ -38,23 +38,24 @@
|
|||||||
:pagination="ipagination"
|
:pagination="ipagination"
|
||||||
:loading="loading"
|
:loading="loading"
|
||||||
@change="handleTableChange">
|
@change="handleTableChange">
|
||||||
<span slot="msgContent" slot-scope="text,scope">
|
<template v-slot:msgContent="{text, scope}">
|
||||||
<a :style="{'color':scope.readFlag == 0 ? 'red':'#00A0E9'}" :title="text" @click="msgContentClick(scope)">
|
<a :style="{'color':scope.readFlag == 0 ? 'red':'#00A0E9'}" :title="text" @click="msgContentClick(scope)">
|
||||||
{{text}}
|
{{text}}
|
||||||
</a>
|
</a>
|
||||||
</span>
|
</template>
|
||||||
</a-table>
|
</j-table>
|
||||||
</a-card>
|
</a-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import JTable from '@/components/jero/JTable'
|
||||||
import { getAction } from '@/api/manage'
|
import { getAction } from '@/api/manage'
|
||||||
import { JeroListMixin } from '@/mixins/JeroListMixin'
|
import { JeroListMixin } from '@/mixins/JeroListMixin'
|
||||||
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DocumentDynamics',
|
name: 'DocumentDynamics',
|
||||||
mixins: [JeroListMixin, ResizeHeader, ResizeColumnProvide],
|
components: { JTable },
|
||||||
|
mixins: [JeroListMixin],
|
||||||
data () {
|
data () {
|
||||||
return {
|
return {
|
||||||
queryParam: {},
|
queryParam: {},
|
||||||
|
|||||||
@@ -44,12 +44,12 @@
|
|||||||
{{ $t('personalCenter.collection.batchCancel') }}
|
{{ $t('personalCenter.collection.batchCancel') }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<a-table
|
<j-table
|
||||||
ref="table"
|
ref="table"
|
||||||
:bordered="true"
|
:bordered="true"
|
||||||
size="middle"
|
size="middle"
|
||||||
rowKey="id"
|
rowKey="id"
|
||||||
:components="drag(columns,'columns')"
|
:can-drag="true"
|
||||||
:columns="columns"
|
:columns="columns"
|
||||||
:dataSource="dataSource"
|
:dataSource="dataSource"
|
||||||
:pagination="ipagination"
|
:pagination="ipagination"
|
||||||
@@ -57,35 +57,36 @@
|
|||||||
:scroll="{x: '100%'}"
|
:scroll="{x: '100%'}"
|
||||||
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||||
@change="handleTableChange">
|
@change="handleTableChange">
|
||||||
<template slot="text" slot-scope="text">
|
<template v-slot:text="{text}">
|
||||||
<a-tooltip overlay-class-name="tooltip-style">
|
<a-tooltip overlay-class-name="tooltip-style">
|
||||||
<template slot="title">{{ text || text === 0 ? text : global.emptyLine }}</template>
|
<template slot="title">{{ text || text === 0 ? text : global.emptyLine }}</template>
|
||||||
<div class="table-text">{{ text || text === 0 ? text : global.emptyLine }}</div>
|
<div class="table-text">{{ text || text === 0 ? text : global.emptyLine }}</div>
|
||||||
</a-tooltip>
|
</a-tooltip>
|
||||||
</template>
|
</template>
|
||||||
<template slot="serialNumber" slot-scope="text, record">
|
<template v-slot:serialNumber="{text, record}">
|
||||||
<a class="table-del" @click="onDetail(record)">{{text}}</a>
|
<a class="table-del" @click="onDetail(record)">{{text}}</a>
|
||||||
</template>
|
</template>
|
||||||
<div slot="action" slot-scope="text, record">
|
<template v-slot:action="{text, record}">
|
||||||
<!--取消收藏-->
|
<!--取消收藏-->
|
||||||
<a class="table-del" @click="onCancel(record)">{{$t('personalCenter.collection.cancelCollection')}}</a>
|
<a class="table-del" @click="onCancel(record)">{{$t('personalCenter.collection.cancelCollection')}}</a>
|
||||||
</div>
|
</template>
|
||||||
</a-table>
|
</j-table>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import JTable from '@/components/jero/JTable'
|
||||||
import '@assets/less/common.less'
|
import '@assets/less/common.less'
|
||||||
import { ResizeColumnProvide, ResizeHeader } from '../../../../mixins/header'
|
|
||||||
import { SimpleListMixin } from '../../../../mixins/SimpleListMixin'
|
import { SimpleListMixin } from '../../../../mixins/SimpleListMixin'
|
||||||
import { deleteAction, postAction } from '../../../../api/manage'
|
import { deleteAction, postAction } from '../../../../api/manage'
|
||||||
import JDictSelectTag from '../../../../components/dict/JDictSelectTag'
|
import JDictSelectTag from '../../../../components/dict/JDictSelectTag'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'CollectionDocumentLibraryList',
|
name: 'CollectionDocumentLibraryList',
|
||||||
mixins: [SimpleListMixin, ResizeHeader, ResizeColumnProvide],
|
mixins: [SimpleListMixin],
|
||||||
components: {
|
components: {
|
||||||
|
JTable,
|
||||||
JDictSelectTag
|
JDictSelectTag
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
|
|||||||
Reference in New Issue
Block a user