xuxy
2024-07-03 d91c23a3dc8cb22c0a5b2bbb5a74c6aac37469b5
sub_pages/supplier/flower-manage/flower-add.vue
@@ -11,11 +11,19 @@
               <u-icon class="m-l-a" name="arrow-right"></u-icon>
            </view> -->
            <view class="m-l-a m-r-0 flex " :class="[!dto['category']?'desc-gray':'']">
               <uni-data-picker @change="(e)=>{PickCategory(dto,e)}" placeholder="" @search="updateSearch"
                  :localdata="columns_categorys_picker">
               <!--    <uni-data-picker ref="picker_category" @change="(e)=>{PickCategory(dto,e)}" placeholder=""
                  @search="updateSearch" :filter="true" :localdata="columns_categorys_picker">
                  {{dto.categoryStr||dto.category || '请选择'}}
               </uni-data-picker>
               <u-icon class="m-l-a" name="arrow-right"></u-icon>
               </uni-data-picker> -->
               <tree-filter ref="picker_category" @change="(e)=>{PickCategory(dto,e)}" placeholder=""
                  @search="updateSearch" :filter="true" :localdata="columns_categorys_picker"
                  selectConfirmTitle="">
                  <view class="flex">
                     <view>{{dto.categoryStr||dto.category || '请选择'}}</view>
                     <u-icon class="m-l-a" name="arrow-right"></u-icon>
                  </view>
               </tree-filter>
            </view>
         </view>
         <view class="form-item before-line">
@@ -191,14 +199,16 @@
            <view class="button-green" @click="closeParamPop">返回</view>
         </view>
      </uni-popup>
      <dying318picker :picker-list="columns_categorys" ref="picker_category" @confirm="confirmPickerCategory">
      </dying318picker>
      <!--       <dying318picker :picker-list="columns_categorys" ref="picker_category" @confirm="confirmPickerCategory">
      </dying318picker> -->
   </view>
</template>
<script>
   import environments from '@/environments'
   import dying318picker from '@/components/dying318-picker/Picker.vue'
   import treeFilter from '@/components/tree-filter/tree-filter.vue'
   import {
      mapState
@@ -308,16 +318,31 @@
            this.columns_categorys_picker = []
            this.mapCategoryTree(this.columns_categorys_picker, this.columns_categorys)
            console.log('change updateSearch', search, this.columns_categorys_picker)
            this.$refs.picker_category.selectedClear()
         },
         async PickCategory(item, e) {
            console.log('PickCategory', item, e)
            if (e.detail.value) {
               if (this.dto.category) {
                  await this.$message.confirm('修改分类将清空商品参数,确定修改吗')
               } {
                  var currentnode = this.columns_categorys_dict['@' + e.detail.value[e.detail.value.length - 1]
                     .value]
                  // console.log('currentnode',currentnode,this.columns_categorys_dict,'@'+e.detail.value[e.detail.value.length - 1].value)
               var currentnode = this.columns_categorys_dict['@' + e.detail.value[e.detail.value.length - 1]
                  .value]
               let tmpe = e
               if (this.dto.category && this.dto.category !== currentnode.id) {
                  this.$message.confirm('修改分类将清空商品参数,确定修改吗').then(async res => {
                     // console.log('currentnode',currentnode,this.columns_categorys_dict,'@'+e.detail.value[e.detail.value.length - 1].value)
                     this.dto.categoryStr = currentnode.name
                     this.dto.category = currentnode.id
                     this.dto.name = currentnode.name
                     this.dto.unit = currentnode.unit
                     this.dto.color = currentnode.color
                     //递归获取category的其他数据,用来做map?
                     this.$message.showLoading()
                     await this.refresh_category()
                     this.$message.hideLoading()
                  }).catch(e1 => {
                     console.log('this.$refs.picker_category', this.$refs.picker_category)
                     this.$refs.picker_category.onchange(tmpe.detail.value)
                  })
               } else {
                  this.dto.categoryStr = currentnode.name
                  this.dto.category = currentnode.id
                  this.dto.name = currentnode.name
@@ -334,7 +359,7 @@
            var has = true
            if (arr) {
               var hasTrue = false
               if(!this.columns_categorys_search){
               if (!this.columns_categorys_search) {
                  hasTrue = true
               }
               for (var item of arr) {
@@ -352,6 +377,7 @@
                  }
                  if (item.name == this.columns_categorys_search) {
                     has = true
                     hasTrue = true
                  }
                  this.columns_categorys_dict['@' + item.id] = item
                  if (item.children && item.children.length > 0) {
@@ -364,13 +390,28 @@
                  } else {
                     tmp.children = undefined
                  }
                  if (hasTrue || has) {
                     console.log('has ',tmp)
                  if (has) {
                     console.log('has ', tmp, hasTrue, has)
                     node.push(tmp)
                  } else {
                     console.log('not has ',tmp)
                  }
                  if (!has && hasTrue) {
                     //说明是这个节点有的,需要判断是否需要删除
                     if (!tmp.children || tmp.children.length == 0) {
                     } else {
                        console.log('has ', tmp, hasTrue, has)
                        node.push(tmp)
                     }
                  }
                  // if (hasTrue || has) {
                  //    node.push(tmp)
                  // } else {
                  //    console.log('not has ', tmp)
                  // }
               }
            }
@@ -568,7 +609,8 @@
         }
      },
      components: {
         dying318picker
         dying318picker,
         treeFilter
      }
   }
</script>