cuilei
2025-05-08 6e3153f560b32a31caf930ba0338daf238d6bd6a
src/views/tms/modules/WarehouseForm.vue
@@ -25,7 +25,7 @@
          </a-col>
          <a-col :span="12">
            <a-form-model-item label="叶子节点标识" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="leafFlag">
              <a-radio-group v-model="model.leafFlag" placeholder="请选择是否叶子节点">
              <a-radio-group :disabled="leafDisableFlag" v-model="model.leafFlag" placeholder="请选择是否叶子节点">
                <a-radio :value="'2'">有子节点</a-radio>
                <a-radio :value="'1'">是叶子节点</a-radio>
              </a-radio-group>
@@ -66,6 +66,7 @@
    },
    data () {
      return {
        leafDisableFlag: false,
        model:{
         },
        labelCol: {
@@ -80,6 +81,7 @@
        validatorRules: {
           warehouseId: [
              { required: true, message: '请输入仓库编号!'},
              { validator: (rule, value, callback) => validateDuplicateValue('tms_warehouse', 'warehouse_id', value, this.model.id, callback)}
           ],
           warehouseName: [
              { required: true, message: '请输入仓库名称!'},
@@ -95,6 +97,7 @@
           ],
        },
        url: {
          list: "/tms/warehouse/list",
          add: "/tms/warehouse/add",
          edit: "/tms/warehouse/edit",
          queryById: "/tms/warehouse/queryById"
@@ -104,13 +107,24 @@
    computed: {
      formDisabled(){
        return this.disabled
      },
      }
    },
    created () {
       //备份model原始值
      this.modelDefault = JSON.parse(JSON.stringify(this.model));
    },
    methods: {
      async updateLeafDisableFlag() {
        const parentId = this.model.id;
        try {
          const res = await getAction(this.url.list, { parentId: parentId });
          if (res.success) {
            this.leafDisableFlag = res.result.total > 0;
          }
        } catch (e) {
          console.error(e);
        }
      },
      add (treeSelected) {
        this.modelDefault.parentId = treeSelected.key
        this.modelDefault.parentWarehouseId = treeSelected.entity.warehouseId
@@ -118,6 +132,10 @@
        this.edit(this.modelDefault);
      },
      edit (record) {
        if (record.parentId === '-1') {
          record.parentWarehouseId = '-1'
          record.parentWarehouseName = '航宇救生'
        }
        this.model = Object.assign({}, record);
        this.visible = true;
      },
@@ -137,7 +155,6 @@
              httpurl+=this.url.edit;
               method = 'put';
            }
            console.log(this.model)
            httpAction(httpurl,this.model,method).then((res)=>{
              if(res.success){
                that.$message.success(res.message);
@@ -152,6 +169,13 @@
        })
      },
    },
    watch: {
      'model.id': function(newVal) {
        if (newVal) {
          this.updateLeafDisableFlag()
        }
      }
    }
  }
</script>