1、产品和设备结构树选择节点时可以连续点击相同节点且不会取消选中当前节点
2、产品结构树接口调整,产品结构树节点实体信息通过点击后调取接口获取(仍有bug,点击一次会出现多次重复请求)
| | |
| | | export default { |
| | | //-------------------------产品结构树------------------------------------------------ |
| | | // 获取产品结构树 |
| | | getProductStructureTreeApi: () => getAction('/nc/product/load/tree'), |
| | | getProductStructureTreeApi: () => getAction('/nc/product/getTree'), |
| | | // 获取产品结构树节点实体信息 |
| | | getProductStructureTreeNodeEntityApi:params=> getAction('/nc/product/getTreeById',params), |
| | | // 获取所有设备的列表 |
| | | getAllDeviceListApi: (type) => getAction('/nc/device/list/all'), |
| | | // 导入NC程序/文档 |
| | |
| | | handleTreeSelect(selectedKeys, { node }) { |
| | | let record = node.dataRef |
| | | this.currentSelected = Object.assign({}, record) |
| | | this.selectedKeys = selectedKeys |
| | | // 向右侧父级组件发送当前选中树节点信息 |
| | | this.$bus.$emit('sendDeviceTreeNodeInfo', this.currentSelected) |
| | | if (selectedKeys.length === 0) return |
| | | this.selectedKeys = selectedKeys |
| | | |
| | | }, |
| | | |
| | | /** |
| | |
| | | @ok="handleOk" |
| | | @cancel="handleCancel" |
| | | cancelText="关闭"> |
| | | <ProcessModalForm ref="realForm" @ok="submitCallback" :allDeviceList="allDeviceList"/> |
| | | <ProcessModalForm ref="realForm" @ok="submitCallback"/> |
| | | </j-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import dncApi from '@/api/dnc' |
| | | import ProcessModalForm from './ProcessModalForm.vue' |
| | | |
| | | export default { |
| | |
| | | title: '', |
| | | width: 700, |
| | | visible: false, |
| | | allDeviceList: [], |
| | | isAddNextLevel: false // 是否为添加下级,作为树节点是否展开的判断 |
| | | } |
| | | }, |
| | | watch: { |
| | | visible: { |
| | | handler(value) { |
| | | if (value) this.getAllDeviceListByApi() |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | this.$bus.$on('treeMenuItemMethodTrigger', this.triggerCorrespondingMethod) |
| | | }, |
| | | methods: { |
| | | getAllDeviceListByApi() { |
| | | dncApi.getAllDeviceListApi() |
| | | .then(res => { |
| | | if (res.success) this.allDeviceList = res.list |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * 点击部件创建部件下级工序 |
| | | */ |
| | |
| | | export default { |
| | | name: 'ProcessModalForm', |
| | | components: {}, |
| | | props: { |
| | | allDeviceList: { |
| | | type: Array |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | model: { |
| | |
| | | @ok="handleOk" |
| | | @cancel="handleCancel" |
| | | cancelText="关闭"> |
| | | <ProcessSpecVersionModalForm ref="realForm" @ok="submitCallback" :allDeviceList="allDeviceList"/> |
| | | <ProcessSpecVersionModalForm ref="realForm" @ok="submitCallback"/> |
| | | </j-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import dncApi from '@/api/dnc' |
| | | import ProcessSpecVersionModalForm from './ProcessSpecVersionModalForm.vue' |
| | | |
| | | export default { |
| | |
| | | title: '', |
| | | width: 500, |
| | | visible: false, |
| | | allDeviceList: [], |
| | | isAddNextLevel: false // 是否为添加下级,作为树节点是否展开的判断 |
| | | } |
| | | }, |
| | |
| | | handleOk() { |
| | | this.$refs.realForm.submitForm() |
| | | }, |
| | | |
| | | |
| | | // 创建零件下级工艺规程版本 |
| | | handlePartsAddRelative() { |
| | |
| | | <a-descriptions-item label="工步类型">{{currentLevelDetails.stepType}}</a-descriptions-item> |
| | | <a-descriptions-item label="加工设备型号">{{currentLevelDetails.processingEquipmentModel}}</a-descriptions-item> |
| | | <a-descriptions-item label="加工设备类型">{{currentLevelDetails.processingEquipmentOs}}</a-descriptions-item> |
| | | <a-descriptions-item label="加工设备编号">{{currentLevelDetails.deviceNo_dictText}}</a-descriptions-item> |
| | | <a-descriptions-item label="加工设备编号">{{currentLevelDetails.deviceNo}}</a-descriptions-item> |
| | | <a-descriptions-item label="工装编号">{{currentLevelDetails.assembleStep}}</a-descriptions-item> |
| | | <a-descriptions-item label="工装名称 " :span="2">{{currentLevelDetails.assembleName}}</a-descriptions-item> |
| | | <a-descriptions-item label="创建人">{{currentLevelDetails.createName}}</a-descriptions-item> |
| | |
| | | @ok="handleOk" |
| | | @cancel="handleCancel" |
| | | cancelText="关闭"> |
| | | <ProcessStepModalForm ref="realForm" @ok="submitCallback" :allDeviceList="allDeviceList"/> |
| | | <ProcessStepModalForm ref="realForm" @ok="submitCallback"/> |
| | | </j-modal> |
| | | </template> |
| | | |
| | | <script> |
| | | import dncApi from '@/api/dnc' |
| | | import ProcessStepModalForm from './ProcessStepModalForm.vue' |
| | | |
| | | export default { |
| | |
| | | type: Object |
| | | } |
| | | }, |
| | | watch: { |
| | | visible: { |
| | | handler(value) { |
| | | if (value) this.getAllDeviceListByApi() |
| | | } |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | title: '', |
| | | width: 700, |
| | | visible: false, |
| | | allDeviceList: [], |
| | | isAddNextLevel: false // 是否为添加下级,作为树节点是否展开的判断 |
| | | } |
| | | }, |
| | |
| | | this.$bus.$on('treeMenuItemMethodTrigger', this.triggerCorrespondingMethod) |
| | | }, |
| | | methods: { |
| | | getAllDeviceListByApi() { |
| | | dncApi.getAllDeviceListApi() |
| | | .then(res => { |
| | | if (res.success) this.allDeviceList = res.list |
| | | }) |
| | | }, |
| | | |
| | | /** |
| | | * 点击工序创建工序下级工步 |
| | | */ |
| | |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | |
| | | <a-row> |
| | | <a-col :span="12"> |
| | | <a-form-model-item label="工步类型"> |
| | |
| | | export default { |
| | | name: 'ProcessStepModalForm', |
| | | components: {}, |
| | | props: { |
| | | allDeviceList: { |
| | | type: Array |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | model: { |
| | |
| | | <template> |
| | | <div v-if="currentLevelInfo.type!==4"> |
| | | <a-tabs v-model="activeTabKey" v-if="Object.keys(currentLevelInfo).length>0" @change="handleTabChange"> |
| | | <a-tab-pane :key="1" tab="属性信息" v-if="currentLevelInfo.type===1"> |
| | | <a-tab-pane :key="1" tab="属性信息" v-if="+currentLevelInfo.type===1"> |
| | | <ProductInfo :currentLevelDetails="currentLevelInfo.entity" :size="containerSize"/> |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane :key="1" tab="属性信息" v-if="currentLevelInfo.type===2"> |
| | | <a-tab-pane :key="1" tab="属性信息" v-if="+currentLevelInfo.type===2"> |
| | | <ComponentInfo :currentLevelDetails="currentLevelInfo.entity" :size="containerSize"/> |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane :key="1" tab="零件属性" v-if="currentLevelInfo.type===3"> |
| | | <a-tab-pane :key="1" tab="零件属性" v-if="+currentLevelInfo.type===3"> |
| | | <PartInfo :currentLevelDetails="currentLevelInfo.entity" :size="containerSize"/> |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane :key="1" tab="工序属性" v-if="currentLevelInfo.type===5"> |
| | | <a-tab-pane :key="1" tab="工序属性" v-if="+currentLevelInfo.type===5"> |
| | | <ProcessInfo :currentLevelDetails="currentLevelInfo.entity" :size="containerSize"/> |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane :key="1" tab="工步属性" v-if="currentLevelInfo.type===6"> |
| | | <a-tab-pane :key="1" tab="工步属性" v-if="+currentLevelInfo.type===6"> |
| | | <ProcessStepInfo :currentLevelDetails="currentLevelInfo.entity" :size="containerSize"/> |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane :key="2" tab="刀具信息" v-if="currentLevelInfo.type===5||currentLevelInfo.type===6"> |
| | | <a-tab-pane :key="2" tab="刀具信息" v-if="+currentLevelInfo.type===5||+currentLevelInfo.type===6"> |
| | | <CutterInfo :currentLevelDetails="currentLevelInfo.entity" :size="containerSize"/> |
| | | </a-tab-pane> |
| | | |
| | |
| | | :size="containerSize"/> |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane :key="4" tab="使用设备" v-if="currentLevelInfo.attributionType===5"> |
| | | <a-tab-pane :key="4" tab="使用设备" v-if="+currentLevelInfo.attributionType===5"> |
| | | <UseDocumentEquipmentTableList ref="useDocumentEquipmentTableRef" :currentDocumentInfo="currentLevelInfo" |
| | | :size="containerSize"/> |
| | | </a-tab-pane> |
| | |
| | | import FilePreview from '../../../common/FilePreview' |
| | | import TableContextMenu from '../../../common/TableContextMenu' |
| | | import CutterInfo from '@views/dnc/base/modules/ProductStructure/Cutter/CutterInfo.vue' |
| | | import dncApi from '@/api/dnc' |
| | | |
| | | export default { |
| | | name: 'ProductStructureMainBottom', |
| | |
| | | * @param levelInfo 当前层级信息 |
| | | */ |
| | | receiveCurrentLevelInfo(levelInfo) { |
| | | this.currentLevelInfo = levelInfo |
| | | const { id, type } = levelInfo |
| | | dncApi.getProductStructureTreeNodeEntityApi({ id, type }) |
| | | .then(res => { |
| | | if (res.success) { |
| | | console.log('res-------------', res) |
| | | this.currentLevelInfo = Object.assign(levelInfo, { entity: res.result[0] }) |
| | | } |
| | | }) |
| | | this.activeTabKey = 1 |
| | | this.hasLoadedDataTabKeyArray = [] |
| | | }, |
| | |
| | | getTreeDataByApi() { |
| | | this.loading = true |
| | | this.cardLoading = true |
| | | dncApi.getProductStructureTreeApi().then(res => { |
| | | dncApi.getProductStructureTreeApi() |
| | | .then(res => { |
| | | if (res.success) { |
| | | console.log('res=================', res) |
| | | this.dataList = [] |
| | | this.allTreeKeys = [] |
| | | this.treeDataSource = res.list |
| | | this.treeDataSource = res.result |
| | | this.generateList(this.treeDataSource) |
| | | // this.expandedKeys = this.allTreeKeys |
| | | if (this.expandedKeys.length === 0) this.expandedKeys = this.beforeSearchExpandedKeys = [this.treeDataSource[0].id] |
| | |
| | | handleTreeSelect(selectedKeys, { node }) { |
| | | let record = node.dataRef |
| | | this.currentSelected = Object.assign({}, record) |
| | | this.selectedKeys = selectedKeys |
| | | // 向右侧父级组件发送当前选中树节点信息 |
| | | this.$bus.$emit('sendCurrentTreeNodeInfo', this.currentSelected) |
| | | if (selectedKeys.length === 0) return |
| | | this.selectedKeys = selectedKeys |
| | | }, |
| | | |
| | | /** |