diff --git a/fe/PC/src/components/filterSelect/index.vue b/fe/PC/src/components/filterSelect/index.vue index a1d677a53..eb20aebf4 100644 --- a/fe/PC/src/components/filterSelect/index.vue +++ b/fe/PC/src/components/filterSelect/index.vue @@ -19,6 +19,7 @@ :loading-text="loadingText" @change="changeHandle(arguments)" :class="[selectItem.searchButton ? 'hasSearchButton' : '']" + :size="selectItem.size || 'normal'" > { + row.isCheck = type this.$refs.bomTree_Ref.toggleRowSelection(row,type); }); }, @@ -387,9 +388,10 @@ export default { }, // 递归:获取所有同级 findAllPeer(row,data){ - let _peerArr = []//同级 + let _peerArr = null//同级 if(!data){data = this.CreateFormData.details} for(let i = 0;i{ - this.toggleSelection(_allCheck,true) - _allCheck.forEach(item=>{item.isCheck = true}) + // 1、同级+父级同级(子集未选中)选中 + if(_allCheck){ this.toggleSelection(_allCheck,true) } + // 2、父级清空选中 this.toggleSelection([_parentRow],false) - _parentRow.isCheck = false - this.toggleSelection(_childrenArr,false) - _childrenArr.forEach(item=>{item.isCheck = false}) + // 3、子集清空 + if(_childrenArr){ this.toggleSelection(_childrenArr,false) } }) }else{ // 同级取消勾选 row.isCheck = false + console.log("取消勾选",selection, row) let _peerArr = this.findAllPeer(row)//同级arr let _parentRow = this.findParentRow(row)//父级row - let _parentPeerArr = _parentRow ? this.findAllPeer(_parentRow) : []//父级同级arr - let _parentPeerSonArr = []//父级同级的子集arr - _parentPeerArr.forEach(item=>{ - item.isCheck = false - _parentPeerSonArr = [..._parentPeerSonArr,...this.findChildren(item)] - }) - let _parentPeerShow = 0 + let _parentPeerArr = _parentRow ? this.findAllPeer(_parentRow) : []//父级同级arr // 判断父级的同级是否有选中 + let _parentPeerShow = 0 _parentPeerArr.forEach(item=>{if(item.isCheck){_parentPeerShow ++}}) - console.log(513,_parentRow) + // let _parentPeerSonArr = []//父级同级的子集arr + // if(_parentPeerArr){ + // _parentPeerArr.forEach(item=>{ + // if(this.findChildren(item)){ + // _parentPeerSonArr = [..._parentPeerSonArr,...this.findChildren(item)] + // } + // }) + // } + console.log("父节点",_parentRow) + console.log("父级同级",_parentPeerArr) + console.log("同级",_peerArr) // 取消时:依次为同级取消选中,父级选中(如果父级的同级有选中,且不是最外层),父级的同级的子集取消选中 this.$nextTick(()=>{ - this.toggleSelection(_peerArr,false) - _peerArr.forEach(item=>{item.isCheck = false}) + // 1、同级取消选中 + if(_peerArr){ this.toggleSelection(_peerArr,false) } + console.log(111,this.CreateFormData.details) + // 2、父级选中(如果父级的同级有选中,且不是最外层) if((_parentPeerShow > 0 || row.parentId == _parentRow.id) && _parentRow.id != _parentRow.parentId){ this.toggleSelection([_parentRow],true) - _parentRow.isCheck = true } - this.toggleSelection(_parentPeerSonArr,false) - _parentPeerSonArr.forEach(item=>{item.isCheck = false}) + // // 3、父级的同级的子集取消选中 + // if(_parentPeerSonArr){ + // this.toggleSelection(_parentPeerSonArr,false) + // } }) - console.log("取消勾选",selection, row) } }, // 获取最底层 @@ -550,10 +561,7 @@ export default { // 获取所有底层 this.selectData = this.getLastFloors(this.CreateFormData.details) this.$refs.bomTree_Ref.clearSelection(); - this.selectData.forEach(item=>{ - item.isCheck = true - this.$refs.bomTree_Ref.toggleRowSelection(item,true); - }) + this.toggleSelection(this.selectData,true) }else{ console.log("全不选",selection) this.$refs.bomTree_Ref.clearSelection(); @@ -592,6 +600,22 @@ export default { this.loading = false }) }, + getBomAllSelect(data){ + if(!data){ + data = this.CreateFormData.details + this.selectData = [] + } + data.forEach(item=>{ + if(item.isCheck){ + this.selectData.push(item) + } + if(item.children){ + this.getBomAllSelect(item.children) + } + }) + console.log(616,this.selectData) + return this.selectData + }, editFormClick (val) { // Moment(this.CreateFormData.arriveTime).format() // if (val[0] == 0) { @@ -625,6 +649,8 @@ export default { parent.PalletlFunction(this.active).then(res => { // 针对特殊环境 跳过步骤 直接到最后完成 this.loading = false + console.log(6666,this.CreateFormData.details) + console.log(6666222,this.getBomAllSelect()) parent.stepsSubmit().then(res => { this.pageStatus = 'success' this.active++ diff --git a/fe/PC/src/views/finishedProductManage/dismantle/StepsFormTree/index_1.vue b/fe/PC/src/views/finishedProductManage/dismantle/StepsFormTree/index_1.vue new file mode 100644 index 000000000..e1c6ad9a0 --- /dev/null +++ b/fe/PC/src/views/finishedProductManage/dismantle/StepsFormTree/index_1.vue @@ -0,0 +1,721 @@ + + + \ No newline at end of file diff --git a/fe/PC/src/views/finishedProductManage/dismantle/StepsFormTree/index_tree.vue b/fe/PC/src/views/finishedProductManage/dismantle/StepsFormTree/index_tree.vue new file mode 100644 index 000000000..b51983319 --- /dev/null +++ b/fe/PC/src/views/finishedProductManage/dismantle/StepsFormTree/index_tree.vue @@ -0,0 +1,549 @@ + + + \ No newline at end of file diff --git a/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob-1.vue b/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob-1.vue new file mode 100644 index 000000000..d249766ef --- /dev/null +++ b/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob-1.vue @@ -0,0 +1,513 @@ + + + \ No newline at end of file diff --git a/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob-tree.vue b/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob-tree.vue new file mode 100644 index 000000000..11371bd6a --- /dev/null +++ b/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob-tree.vue @@ -0,0 +1,515 @@ + + + \ No newline at end of file diff --git a/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue b/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue index c47cfbb4b..08d222a11 100644 --- a/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue +++ b/fe/PC/src/views/finishedProductManage/dismantle/customerDismantleJob.vue @@ -217,8 +217,6 @@ export default { }, // bom递归生成树状节点 buildTree(jsonArr){ - // console.log(220,this.getCycleColor(10,true,'1')) - // 存放的最终结果树数组 const result = []; const id = 'id'; @@ -233,15 +231,16 @@ export default { }); for (let j = 0; j < len; j++) { - const jsonArrItem = jsonArr[j]; - const hashItem = hash[jsonArrItem[parentId]]; - if (hashItem) { - // 如果当前项还没有children属性,则添加该属性并设置为空数组 - !hashItem[children] && (hashItem[children] = []); - hashItem[children].push(jsonArrItem); - } else { - result.push(jsonArrItem); - } + jsonArr[j].parent = jsonArr[j - 1] + const jsonArrItem = jsonArr[j]; + const hashItem = hash[jsonArrItem[parentId]]; + if (hashItem) { + // 如果当前项还没有children属性,则添加该属性并设置为空数组 + !hashItem[children] && (hashItem[children] = []); + hashItem[children].push(jsonArrItem); + } else { + result.push(jsonArrItem); + } } return result; }, @@ -375,49 +374,6 @@ export default { reject(); }) }, - // 自定义生成颜色方式 - getCycleColor(number,isCreate,alpha = 1,colors,append){ - // let _color_item = { - // r:parseInt(Math.random() * 255), - // g:parseInt(Math.random() * 255), - // b:parseInt(Math.random() * 255) - // } - // let _colors = colors || ['#3ca170','#5470c6', '#91cd77','#ef6567', '#f9c956','#75bedc','#529FDB','#FF8000','#88D36C','#FCC12B', - // '#D38C6C','#AB9DF3','#40C03A','#ED94F5','#6CBED3'] - let _colors = [ - {r:"1",g:"110",b:"244"}, - {r:"60",g:"161",b:"112"}, - {r:"84",g:"112",b:"198"}, - {r:"145",g:"205",b:"119"}, - {r:"239",g:"101",b:"103"}, - {r:"249",g:"201",b:"86"}, - {r:"117",g:"190",b:"220"}, - {r:"82",g:"159",b:"219"}, - {r:"255",g:"128",b:"0"}, - {r:"136",g:"211",b:"108"}, - {r:"252",g:"193",b:"43"}, - {r:"211",g:"140",b:"108"}, - {r:"171",g:"157",b:"243"}, - {r:"64",g:"192",b:"58"}, - {r:"237",g:"148",b:"245"}, - {r:"108",g:"190",b:"211"}, - ] - if(colors){_colors = append ? _colors.concat(colors) : colors} - let _all = [] - let _length = number ? Math.ceil(number/_colors.length) : 1 - for(let i = 0;i<_length;i++){ - _all= _all.concat(_colors) - } - if(isCreate){ - let _create = [] - _all.forEach(item=>{ - let _item = `rgba(${item.r},${item.g},${item.b},${alpha})` - _create.push(_item) - }) - _all = _create - } - return _all - }, stepsSubmit (val) { // 提交 return new Promise((resolve, reject) => { diff --git a/fe/PC/src/views/inventoryManage/Count/CountPlan-ms.vue b/fe/PC/src/views/inventoryManage/Count/CountPlan-ms.vue index 1d21304f8..cc021e6b7 100644 --- a/fe/PC/src/views/inventoryManage/Count/CountPlan-ms.vue +++ b/fe/PC/src/views/inventoryManage/Count/CountPlan-ms.vue @@ -219,7 +219,7 @@ export default { }, CreateForm: [ { type: "select", label: "盘点根据", prop: "countMethod", options: "countMethod", colSpan: 12 }, - { type: "select", label: "盘点类型", prop: "requestType", options: "requestType", colSpan: 12 }, + // { type: "select", label: "盘点类型", prop: "requestType", options: "requestType", colSpan: 12 }, // { type: "select", label: "盘点类型", prop: "type", options: "checkType", colSpan: 12 }, // { type: "dateTime", label: "开始时间", prop: "beginTime", colSpan: 12 }, // { type: "dateTime", label: "结束时间", prop: "endTime", colSpan: 12 }, @@ -231,7 +231,7 @@ export default { editRules: { cerateRule: { number: [{ required: true, trigger: ["blur", "change"], message: "不可为空" }], - requestType: [{ required: true, trigger: ["blur", "change"], message: "不可为空" }], + // requestType: [{ required: true, trigger: ["blur", "change"], message: "不可为空" }], inventoryMode: [{ required: true, trigger: ["blur", "change"], message: "不可为空" }], // type: [{ required: true, trigger: "change", message: "不可为空" }],//盘点类型 status: [{ required: true, trigger: "blur", message: "不可为空" }],