| | |
| | | <div style="display: flex"> |
| | | <a-input placeholder="输入关键字进行搜索" allowClear v-model="searchInput" |
| | | @change="handleSearchInputChange"/> |
| | | <a-dropdown :trigger="['click']" placement="bottomCenter" style="margin: 0 8px"> |
| | | <a-menu slot="overlay"> |
| | | <a-menu-item key="1" @click="expandedKeys = allTreeKeys">展开所有</a-menu-item> |
| | | <a-menu-item key="2" @click="expandedKeys = []">合并所有</a-menu-item> |
| | | </a-menu> |
| | | <a-button> |
| | | <a-icon type="bars"/> |
| | | </a-button> |
| | | </a-dropdown> |
| | | <a-button type="primary" @click="isExpandAllTreeNode=!isExpandAllTreeNode" style="margin: 0 8px"> |
| | | 展开/折叠 |
| | | </a-button> |
| | | </div> |
| | | |
| | | <!--产品结构树--> |
| | |
| | | import { getAction } from '@/api/manage' |
| | | import dncApi from '@/api/dnc' |
| | | import { JeecgListMixin } from '@/mixins/JeecgListMixin' |
| | | import ATextarea from 'ant-design-vue/es/input/TextArea' |
| | | |
| | | export default { |
| | | name: 'NcDocumentAssignModal', |
| | | components: { ATextarea }, |
| | | components: {}, |
| | | mixins: [JeecgListMixin], |
| | | props: { |
| | | currentDocumentInfo: { |
| | |
| | | checkedKeys: [], |
| | | expandedKeys: [], |
| | | autoExpandParent: true, |
| | | isExpandAllTreeNode: false, |
| | | url: { |
| | | list: '/nc/doc/find/list' |
| | | } |
| | |
| | | this.loadData() |
| | | this.getDocumentAssignDeviceTreeByApi() |
| | | } |
| | | } |
| | | }, |
| | | isExpandAllTreeNode: { |
| | | handler(value) { |
| | | if (value) this.expandedKeys = this.allTreeKeys |
| | | else this.expandedKeys = [] |
| | | } |
| | | } |
| | | }, |
| | |
| | | return false |
| | | } |
| | | const { attributionType, attributionId, param } = this.currentDocumentInfo |
| | | console.log('currentDocumentInfo', this.currentDocumentInfo) |
| | | params.attributionType = attributionType |
| | | params.attributionId = attributionId |
| | | params.docClassCode = param |
| | |
| | | }, |
| | | |
| | | handleAssignDocumentToDevice() { |
| | | const param = {} |
| | | console.log('table', this.selectedRowKeys) |
| | | const { checkedKeys, selectedRowKeys, dataList, $confirm, $notification, currentDocumentInfo, queryParam: { applyReason }, $set } = this |
| | | const { publishFileId, attributionId } = currentDocumentInfo |
| | | const paramsArray = [] |
| | | // 过滤分组Id仅放入设备Id |
| | | const treeCheckedDeviceKeys = [] |
| | | this.checkedKeys.forEach(checkedKey => { |
| | | const deviceId = this.dataList.find(item => item.key === checkedKey && item.type === 2) |
| | | checkedKeys.forEach(checkedKey => { |
| | | const deviceId = dataList.find(item => item.key === checkedKey && item.type === 2) |
| | | if (deviceId) treeCheckedDeviceKeys.push(deviceId.key) |
| | | }) |
| | | |
| | | console.log('treeCheckedDeviceKeys', treeCheckedDeviceKeys) |
| | | if (treeCheckedDeviceKeys.length === 0 || selectedRowKeys.length === 0) { |
| | | $notification.warning({ |
| | | message: '消息', |
| | | description: '请选择设备或文档' |
| | | }) |
| | | return |
| | | } |
| | | |
| | | $confirm({ |
| | | title: '提示', |
| | | content: `确认提交吗?`, |
| | | okText: '确认', |
| | | cancelText: '取消', |
| | | onOk: () => { |
| | | treeCheckedDeviceKeys.forEach(deviceId => { |
| | | selectedRowKeys.forEach(docId => { |
| | | paramsArray.push({ |
| | | docId, |
| | | deviceId, |
| | | fileId: publishFileId, |
| | | processId: attributionId, |
| | | applyReason |
| | | }) |
| | | }) |
| | | }) |
| | | |
| | | paramsArray.forEach(item => { |
| | | dncApi.assignDocumentToDeviceApi(item) |
| | | .then(res => { |
| | | if (res.success) { |
| | | this.$bus.$emit('reloadMainBottomTableData', 'useDocumentEquipment') |
| | | $notification.success({ |
| | | message: '消息', |
| | | description: res.message |
| | | }) |
| | | } else { |
| | | $notification.error({ |
| | | message: '消息', |
| | | description: res.message |
| | | }) |
| | | } |
| | | }) |
| | | .catch(err => { |
| | | $notification.error({ |
| | | message: '消息', |
| | | description: err.message |
| | | }) |
| | | }) |
| | | }) |
| | | console.log('paramsArray', paramsArray) |
| | | } |
| | | }) |
| | | // console.log('table', this.selectedRowKeys) |
| | | // console.log('treeCheckedDeviceKeys', treeCheckedDeviceKeys) |
| | | // console.log('currentDocumentInfo', this.currentDocumentInfo) |
| | | }, |
| | | |
| | | /* 输入查询内容变化时触发 */ |
| | |
| | | |
| | | } |
| | | |
| | | ::-webkit-scrollbar { |
| | | width: 8px; |
| | | } |
| | | </style> |