| | |
| | | :disabled="isViewMode" |
| | | /> |
| | | </wd-form-item> |
| | | <wd-form-item label="绞合外径(mm)" prop="twistedOuterDiameter" required> |
| | | <wd-form-item :label="getDiameterTypeLabel()" prop="twistedOuterDiameter" required> |
| | | <view style="display: flex; flex-direction: column; gap: 8px"> |
| | | <wd-select-picker |
| | | v-model="formData.diameterType" |
| | | :columns="diameterTypeColumns" |
| | | type="radio" |
| | | placeholder="请选择类型" |
| | | :clearable="false" |
| | | :disabled="isViewMode" |
| | | @change="handleDiameterTypeChange" |
| | | /> |
| | | <wd-input |
| | | v-model="formData.twistedOuterDiameter" |
| | | placeholder="请输入绞合外径" |
| | | :placeholder="`请输入${getDiameterTypeLabel()}`" |
| | | clearable |
| | | type="number" |
| | | :disabled="isViewMode" |
| | | /> |
| | | </view> |
| | | </wd-form-item> |
| | | </wd-col> |
| | | </wd-row> |
| | |
| | | })); |
| | | }); |
| | | |
| | | // 外径类型选项 |
| | | const diameterTypeColumns = [ |
| | | { label: "绞合外径(mm)", value: "绞合外径(mm)" }, |
| | | { label: "扇高/扇宽", value: "扇高/扇宽" }, |
| | | { label: "T形等效截面", value: "T形等效截面" }, |
| | | ]; |
| | | |
| | | // 获取外径类型标签 |
| | | const getDiameterTypeLabel = () => { |
| | | return props.formData.diameterType || "绞合外径(mm)"; |
| | | }; |
| | | |
| | | // 处理外径类型变化 |
| | | const handleDiameterTypeChange = () => { |
| | | // 类型变化时可以清空输入值或保留,根据需求决定 |
| | | // emit("update:formData", { |
| | | // ...props.formData, |
| | | // twistedOuterDiameter: "", |
| | | // }); |
| | | }; |
| | | |
| | | // 计算节径比 |
| | | const calculatePitchRatio = (pitch: string, dia: string) => { |
| | | if (!pitch || !dia) return "-"; |
| | |
| | | return { valid: false, message: "记录位置为必填项" }; |
| | | } |
| | | if (!props.formData.twistedOuterDiameter) { |
| | | return { valid: false, message: "绞合外径为必填项" }; |
| | | const label = getDiameterTypeLabel(); |
| | | return { valid: false, message: `${label}为必填项` }; |
| | | } |
| | | if (!props.formData.productAppearance || props.formData.productAppearance.length === 0) { |
| | | return { valid: false, message: "成品外观为必填项" }; |