[update] 联调企业标准部分接口
This commit is contained in:
@@ -1,57 +1,54 @@
|
||||
<template>
|
||||
<a-card :bordered="false" class="page-left-right-layout">
|
||||
<div class="page-left-box">
|
||||
<a-input-search v-model="treeInput" :placeholder="$t('pleaseEnterTreeSystem')"
|
||||
<a-input-search v-model="treeInput"
|
||||
class="tree-search"
|
||||
:placeholder="$t('pleaseEnterTreeSystem')"
|
||||
@search="handleTreeSearch" />
|
||||
<a-tree
|
||||
v-if="treeData.length > 0"
|
||||
:show-line="true"
|
||||
:show-icon="true"
|
||||
:tree-data="treeData"
|
||||
:selectedKeys="currentTreeNode"
|
||||
:default-expand-all="defaultExpandAll"
|
||||
@select="treeSelect">
|
||||
<a-icon type="folder" slot="folder" class="tree-icon" />
|
||||
|
||||
<template #custom="record">
|
||||
<div class="tree-operate-node" @mouseenter="handleTreeMouseover(record.key)" @mouseleave="handleTreeMouseout(record.key)">
|
||||
<!--<a-tooltip>-->
|
||||
<!-- <template #title>-->
|
||||
<!-- {{ record.title }}-->
|
||||
<!-- </template>-->
|
||||
<!-- <span v-if="record.title.indexOf(treeInput) > -1" class="tree-node-custom-title">-->
|
||||
<!-- {{ record.title.substr(0, record.title.indexOf(treeInput)) }}-->
|
||||
<!-- <span style="color: #f50">{{ treeInput }}</span>-->
|
||||
<!-- {{ record.title.substr(record.title.indexOf(treeInput) + treeInput.length) }}-->
|
||||
<!-- </span>-->
|
||||
<!-- <span v-else class="tree-node-custom-title">{{ record.title }}</span>-->
|
||||
<!--</a-tooltip>-->
|
||||
<a-tooltip>
|
||||
<template #title>
|
||||
{{ record.title }}
|
||||
</template>
|
||||
<span class="tree-node-custom-title">{{ record.title }}</span>
|
||||
</a-tooltip>
|
||||
<template v-if="record.key === mouseInNodeKey && record.nodeType !== StandardSystemTreeNodeType.NOT_OPERATE_NODE.value">
|
||||
<!-- 新增-->
|
||||
<a-button icon="plus" class="tree-operate-node-btn" v-has="'enterpriseStandard:tree:add'"
|
||||
@click="handleTreeAdd(record)"></a-button>
|
||||
<!-- 编辑-->
|
||||
<a-button v-if="record.nodeType !== StandardSystemTreeNodeType.ROOT_NODE.value"
|
||||
v-has="'enterpriseStandard:tree:edit'"
|
||||
class="tree-operate-node-btn" @click="handleTreeEdit(record)">
|
||||
<i class="iconfont icon-bianji" style="color: #D52C26"></i>
|
||||
</a-button>
|
||||
<!-- 删除-->
|
||||
<a-button v-if="record.nodeType !== StandardSystemTreeNodeType.ROOT_NODE.value"
|
||||
v-has="'enterpriseStandard:tree:delete'"
|
||||
class="tree-operate-node-btn" @click="handleTreeDelete(record.id)">
|
||||
<i class="iconfont icon-shanchu_" style="color: #D52C26"></i>
|
||||
</a-button>
|
||||
<div class="page-tree-box page-tree-box-has-search">
|
||||
<a-spin :spinning="treeLoading">
|
||||
<a-tree
|
||||
v-if="treeData.length > 0"
|
||||
:show-line="true"
|
||||
:show-icon="true"
|
||||
:tree-data="treeData"
|
||||
:selectedKeys="currentTreeNode"
|
||||
:default-expand-all="defaultExpandAll">
|
||||
<a-icon type="folder" slot="folder" class="tree-icon" />
|
||||
<a-icon type="file" slot="file" class="tree-icon" />
|
||||
<template #custom="record">
|
||||
<div class="tree-operate-node"
|
||||
@mouseenter="handleTreeMouseover(record.key)"
|
||||
@mouseleave="handleTreeMouseout(record.key)"
|
||||
@click="treeSelect(record)">
|
||||
<a-tooltip>
|
||||
<template #title>
|
||||
{{ record.title }}
|
||||
</template>
|
||||
<span class="tree-node-custom-title">{{ record.title }}</span>
|
||||
</a-tooltip>
|
||||
<template v-if="record.key === mouseInNodeKey && record.nodeType !== StandardSystemTreeNodeType.NOT_OPERATE_NODE.value">
|
||||
<!-- 新增-->
|
||||
<a-button icon="plus" class="tree-operate-node-btn" v-has="'enterpriseStandard:tree:add'"
|
||||
@click="handleTreeAdd(record)"></a-button>
|
||||
<!-- 编辑-->
|
||||
<a-button v-if="record.nodeType !== StandardSystemTreeNodeType.ROOT_NODE.value"
|
||||
v-has="'enterpriseStandard:tree:edit'"
|
||||
class="tree-operate-node-btn" @click="handleTreeEdit(record)">
|
||||
<i class="iconfont icon-bianji" style="color: #D52C26"></i>
|
||||
</a-button>
|
||||
<!-- 删除-->
|
||||
<a-button v-if="record.nodeType !== StandardSystemTreeNodeType.ROOT_NODE.value"
|
||||
v-has="'enterpriseStandard:tree:delete'"
|
||||
class="tree-operate-node-btn" @click="handleTreeDelete(record.id)">
|
||||
<i class="iconfont icon-shanchu_" style="color: #D52C26"></i>
|
||||
</a-button>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
</a-tree>
|
||||
</a-tree>
|
||||
</a-spin>
|
||||
</div>
|
||||
</div>
|
||||
<div class="page-right-box">
|
||||
<div class="table-page-search-wrapper">
|
||||
@@ -137,12 +134,14 @@
|
||||
</div>
|
||||
<!-- 新增、编辑弹框 -->
|
||||
<enterprise-standard-modal ref="modalForm" @ok="modalFormOk"></enterprise-standard-modal>
|
||||
<!-- 标准选择弹框 -->
|
||||
<standard-selection-modal ref="standardSelectionModal" @change="allocationStandardChange"></standard-selection-modal>
|
||||
<!-- 配置标准-标准选择弹框 -->
|
||||
<allocation-standard-drawer ref="allocationStandardDrawer" @ok="modalFormOk"></allocation-standard-drawer>
|
||||
<!-- 临时权限设置 -->
|
||||
<temporary-permission-set ref="temporaryPermissionSet" @ok="modalFormOk"></temporary-permission-set>
|
||||
<!-- 左侧树节点的新增和编辑 -->
|
||||
<tree-node-modal ref="treeNodeModal" @ok="treeNodeModalOk"></tree-node-modal>
|
||||
<!-- 分享需要选人 -->
|
||||
<user-select-modal ref="userSelectModal" @change="userSelectChange"></user-select-modal>
|
||||
</a-card>
|
||||
</template>
|
||||
|
||||
@@ -157,7 +156,6 @@ import {
|
||||
getTreeList,
|
||||
getEnterpriseStandardTableHeader,
|
||||
getEnterpriseStandardSearchForm,
|
||||
allocationStandard,
|
||||
shiftStandard,
|
||||
initChange,
|
||||
collectStandard,
|
||||
@@ -167,15 +165,16 @@ import {
|
||||
} from '@api/enterpriseStandardLibraryApi'
|
||||
// 添加、编辑弹框
|
||||
import EnterpriseStandardModal from './modules/EnterpriseStandardModal'
|
||||
// 选择标准组件
|
||||
import StandardSelectionModal from '@/components/selection/StandardSelectionModal'
|
||||
// 临时权限设置
|
||||
import TemporaryPermissionSet from './modules/TemporaryPermissionSet'
|
||||
import TreeNodeModal from './modules/TreeNodeModal'
|
||||
import UserSelectModal from '../../../components/selection/UserSelectModal'
|
||||
// 配置标准弹框
|
||||
import AllocationStandardDrawer from './modules/AllocationStandardDrawer'
|
||||
|
||||
export default {
|
||||
name: 'EnterpriseStandardList',
|
||||
components: { TreeNodeModal, TemporaryPermissionSet, StandardSelectionModal, EnterpriseStandardModal, JTable, Search },
|
||||
components: { AllocationStandardDrawer, UserSelectModal, TreeNodeModal, TemporaryPermissionSet, EnterpriseStandardModal, JTable, Search },
|
||||
mixins: [ConfigurableTableMixin],
|
||||
data () {
|
||||
return {
|
||||
@@ -183,8 +182,11 @@ export default {
|
||||
flag: '3',
|
||||
treeInput: '', // 左侧树搜索框内容
|
||||
treeData: [], // 左侧树数据
|
||||
treeLoading: false,
|
||||
collectionFlag: false,
|
||||
defaultExpandAll: false, // 左侧树默认展开所有
|
||||
currentTreeNode: null, // 当前选中的树节点
|
||||
currentTreeNode: null, // 当前选中的树节点key值
|
||||
currentTreeNodeCode: null, // 当前选中的树节点的code值
|
||||
mouseInNodeKey: null, // 鼠标悬浮的节点key值
|
||||
operationList: [
|
||||
{
|
||||
@@ -216,14 +218,15 @@ export default {
|
||||
// url传参严格按照当前命名
|
||||
url: {
|
||||
list: '/laws/standard/enterprise/getCommonPage', // 表格数据
|
||||
delete: '', // 删除
|
||||
deleteBatch: '', // 批量删除
|
||||
delete: '/laws/standard/enterprise/singleDelete', // 删除
|
||||
deleteBatch: '/laws/standard/enterprise/deleteByIdsAndModule', // 批量删除
|
||||
importUrl: '', // 导入
|
||||
exportXlsUrl: '', // 导出
|
||||
exportZipUrl: '', // 带文件导出
|
||||
downTemplateUrl: '' // 下载导入模板
|
||||
},
|
||||
showAction: true // 是否显示操作列
|
||||
showAction: true, // 是否显示操作列
|
||||
currentShare: {}
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
@@ -232,6 +235,7 @@ export default {
|
||||
methods: {
|
||||
// 获取左侧树数据
|
||||
initTreeData (params) {
|
||||
this.treeLoading = true
|
||||
getTreeList(params).then(res => {
|
||||
if (res.success) {
|
||||
this.treeData = this.dealTreeData(res.result)
|
||||
@@ -242,14 +246,19 @@ export default {
|
||||
this.$nextTick(() => {
|
||||
this.defaultExpandAll = true
|
||||
})
|
||||
this.treeLoading = false
|
||||
})
|
||||
},
|
||||
// 处理左侧树数据结构
|
||||
dealTreeData (treeData) {
|
||||
return treeData.map(item => {
|
||||
item.scopedSlots = { title: 'custom' }
|
||||
if (item.children && item.children.length > 0) {
|
||||
item.scopedSlots = { icon: 'folder', title: 'custom' }
|
||||
item.children = this.dealTreeData(item.children)
|
||||
} else if (item.nodeType === StandardSystemTreeNodeType.ROOT_NODE.value) {
|
||||
item.scopedSlots = { icon: 'folder', title: 'custom' }
|
||||
} else {
|
||||
item.scopedSlots = { icon: 'file', title: 'custom' }
|
||||
}
|
||||
return item
|
||||
})
|
||||
@@ -260,9 +269,10 @@ export default {
|
||||
this.initTreeData({ nodeName: this.treeInput })
|
||||
},
|
||||
// 左侧树点击选中
|
||||
treeSelect (selectedKeys) {
|
||||
this.currentTreeNode = selectedKeys
|
||||
this.searchParams.workingGroupId = selectedKeys[0]
|
||||
treeSelect (record) {
|
||||
this.currentTreeNode = [record.key]
|
||||
this.currentTreeNodeCode = [record.nodeCode]
|
||||
this.searchParams.nodeCode = record.nodeCode
|
||||
this.loadData()
|
||||
},
|
||||
// 左侧树点击新增
|
||||
@@ -316,8 +326,8 @@ export default {
|
||||
this.currentTreeNode = null
|
||||
this.searchParams = {}
|
||||
this.selectedRowKeys = []
|
||||
this.getData()
|
||||
this.getTableList()
|
||||
this.getTableHeader()
|
||||
this.loadData()
|
||||
},
|
||||
// 配置标准
|
||||
handleAllocationStandard () {
|
||||
@@ -327,25 +337,7 @@ export default {
|
||||
this.$message.warn(this.$t('enterpriseStandardLibrary.standard.pleaseSelectLeastOneNode'))
|
||||
return
|
||||
}
|
||||
this.$refs.standardSelectionModal.open()
|
||||
},
|
||||
// 配置标准确定
|
||||
allocationStandardChange (dbFieldName, standardIds) {
|
||||
this.loading = true
|
||||
const params = {
|
||||
nodeId: this.currentTreeNode[0],
|
||||
standardIds
|
||||
}
|
||||
allocationStandard(params).then(res => {
|
||||
if (res.success) {
|
||||
this.$message.success(res.message)
|
||||
this.modalFormOk()
|
||||
} else {
|
||||
this.$message.warn(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.loading = false
|
||||
})
|
||||
this.$refs.allocationStandardDrawer.open(this.currentTreeNodeCode[0])
|
||||
},
|
||||
// 移出标准
|
||||
handleShiftOutStandard () {
|
||||
@@ -361,7 +353,7 @@ export default {
|
||||
}
|
||||
this.loading = true
|
||||
const params = {
|
||||
nodeId: this.currentTreeNode[0],
|
||||
nodeCode: this.currentTreeNodeCode[0],
|
||||
ids: this.selectedRowKeys.join(',')
|
||||
}
|
||||
shiftStandard(params).then(res => {
|
||||
@@ -416,7 +408,11 @@ export default {
|
||||
},
|
||||
// 收藏
|
||||
handleCollection (record) {
|
||||
if (record.collectionFlag) {
|
||||
if (this.collectionFlag || this.loading) {
|
||||
return
|
||||
}
|
||||
this.collectionFlag = true
|
||||
if (!!record.collectionFlag) {
|
||||
const params = {}
|
||||
params.id = record.id
|
||||
// 说明已收藏,调取消收藏接口
|
||||
@@ -427,11 +423,15 @@ export default {
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.setTimeout(() => {
|
||||
this.collectionFlag = false
|
||||
}, 100)
|
||||
})
|
||||
} else {
|
||||
const params = {}
|
||||
params.standardId = record.id
|
||||
params.standardNumber = record.standard_no
|
||||
params.standardNumber = record.standard_number
|
||||
collectStandard(params).then(res => {
|
||||
if (res.success) {
|
||||
this.$message.success(res.message)
|
||||
@@ -439,13 +439,24 @@ export default {
|
||||
} else {
|
||||
this.$message.warning(res.message)
|
||||
}
|
||||
}).finally(() => {
|
||||
this.setTimeout(() => {
|
||||
this.collectionFlag = false
|
||||
}, 100)
|
||||
})
|
||||
}
|
||||
},
|
||||
// 分享
|
||||
handleShare (record) {
|
||||
this.currentShare = record
|
||||
this.$refs.userSelectModal.open()
|
||||
},
|
||||
// 分享选完人的回调
|
||||
userSelectChange (value) {
|
||||
const params = {}
|
||||
params.id = record.id
|
||||
params.standardId = this.currentShare.id
|
||||
params.standardNum = this.currentShare.standard_no
|
||||
params.recipientId = value
|
||||
shareStandard(params).then(res => {
|
||||
if (res.success) {
|
||||
this.$message.success(res.message)
|
||||
@@ -468,37 +479,11 @@ export default {
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
|
||||
.tree-icon {
|
||||
line-height: 24px;
|
||||
color: #1D2129;
|
||||
}
|
||||
|
||||
.tree-operate-node {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
align-items: center;
|
||||
|
||||
&-btn {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background: rgba(213, 44, 38, 0.08);
|
||||
border-radius: 2px 2px 2px 2px;
|
||||
border: none;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-left: 4px;
|
||||
padding: 0;
|
||||
|
||||
/deep/ .anticon {
|
||||
margin-top: 2px;
|
||||
color: #D52C26;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 13px;
|
||||
height: 13px;
|
||||
}
|
||||
}
|
||||
/deep/ .ant-tree li span.ant-tree-switcher.ant-tree-switcher-noop {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user