Spinner.vue 895 Bytes
<template>
	<div>
		<el-form-item
			label=" "
			:prop="'expTree.'+index+'.value'"
			:rules="[
				{ required: isRequired, message: node.label+'不能为空'},
				{ validator: contextValidate, trigger: 'blur' },
				{ validator: validNum, trigger: ['blur', 'change'] },
      ]"
		>
			<el-input-number :disabled="!node.enable" v-bind="{min:min,max:max}" v-model="node.value"></el-input-number>
		</el-form-item>
	</div>
</template>
<script>
export default {
  props: ["node", "length", "index", "contextValidate", "min", "max"],
  data() {
    return {};
  },
  mounted() {},
  computed: {
    isRequired() {
      return this.node.parent.mSta && this.node.status == "M";
    }
	},
	methods: {
		validNum (rule, value, callback) {
			if (this.isRequired && this.node.value == 0) {
				callback(new Error(this.node.label + '不能为空'))
			} else {
				callback()
			}
		}
	}
};
</script>