| | |
| | | {{ formatValue(recordData.fixedInfo?.tensionSetting, "N/m") }} |
| | | </wd-form-item> |
| | | <!-- 绞制外径(可编辑) --> |
| | | <wd-form-item label="绞合外径" prop="twistedOuterDiameter" required> |
| | | <wd-form-item :label="getDiameterTypeLabel()" prop="twistedOuterDiameter" required> |
| | | <template v-if="isEdit"> |
| | | <wd-input |
| | | v-model="formData.twistedOuterDiameter" |
| | | placeholder="请输入绞合外径(mm)" |
| | | type="number" |
| | | /> |
| | | <view style="display: flex; flex-direction: column; gap: 8px"> |
| | | <wd-select-picker |
| | | v-model="formData.diameterType" |
| | | :columns="diameterTypeColumns" |
| | | type="radio" |
| | | placeholder="请选择类型" |
| | | :clearable="false" |
| | | @change="handleDiameterTypeChange" |
| | | /> |
| | | <wd-input |
| | | v-model="formData.twistedOuterDiameter" |
| | | :placeholder="`请输入${getDiameterTypeLabel()}`" |
| | | type="number" |
| | | /> |
| | | </view> |
| | | </template> |
| | | <template v-else> |
| | | {{ formatValue(formData.twistedOuterDiameter, "mm") }} |
| | |
| | | </wd-col> |
| | | </wd-row> |
| | | |
| | | <!-- 自检记录详情模块 --> |
| | | <!-- 工艺记录详情模块 --> |
| | | <wd-row> |
| | | <view style="margin: 10rpx"> |
| | | <text class="title">{{ "自检记录详情" }}</text> |
| | | <text class="title">{{ "工艺记录详情" }}</text> |
| | | </view> |
| | | <wd-col :span="24"> |
| | | <wd-form-item label="记录位置" prop="recordPosition"> |
| | |
| | | <text class="title">{{ "巡检结果" }}</text> |
| | | </view> |
| | | <wd-col :span="24"> |
| | | <wd-form-item label="样品是否齐全" prop="sampleComplete" required> |
| | | <wd-form-item label="样品是否齐全" prop="isFully" required> |
| | | <template v-if="isEdit"> |
| | | <wd-radio-group v-model="formData.sampleComplete" inline class="conclusion-radio-group"> |
| | | <wd-radio-group v-model="formData.isFully" inline class="conclusion-radio-group"> |
| | | <wd-radio |
| | | v-for="(opt, idx) in sampleCompleteOptions" |
| | | :key="idx" |
| | |
| | | </wd-radio-group> |
| | | </template> |
| | | <template v-else> |
| | | {{ formatValue(formData.sampleComplete) }} |
| | | {{ formatValue(formData.isFully) }} |
| | | </template> |
| | | </wd-form-item> |
| | | </wd-col> |
| | |
| | | |
| | | const formData = reactive({ |
| | | twistedOuterDiameter: "", // 绞制外径 |
| | | diameterType: "绞合外径(mm)", // 外径类型 |
| | | structureFormula: "", // 成品结构 |
| | | structureItems: [], // 结构标准值和实测 |
| | | inspectTwist: [], // 绞线工艺质量控制 |
| | | productAppearance: [] as string[], // 产品外观(改为数组存储选中值) |
| | | conclusion: "", // 结论(改为数组存储选中值) |
| | | sampleComplete: "", // 样品是否齐全 |
| | | isFully: "", // 样品是否齐全 |
| | | }); |
| | | |
| | | const twistDirectionOptions = [ |
| | |
| | | { label: "否", value: "否" }, |
| | | ]; |
| | | |
| | | // 外径类型选项 |
| | | const diameterTypeColumns = [ |
| | | { label: "绞合外径(mm)", value: "绞合外径(mm)" }, |
| | | { label: "扇高/扇宽", value: "扇高/扇宽" }, |
| | | { label: "T形等效截面", value: "T形等效截面" }, |
| | | ]; |
| | | |
| | | // 获取外径类型标签 |
| | | const getDiameterTypeLabel = () => { |
| | | return formData.diameterType || "绞合外径(mm)"; |
| | | }; |
| | | |
| | | // 处理外径类型变化 |
| | | const handleDiameterTypeChange = () => { |
| | | // 类型变化时可以清空输入值或保留,根据需求决定 |
| | | // formData.twistedOuterDiameter = ""; |
| | | }; |
| | | |
| | | const initFormData = () => { |
| | | const structureResult = recordData.value.structureInfo?.structureRecordResult || {}; |
| | | const inspectionResult = recordData.value.inspectionResult || {}; |
| | | |
| | | formData.twistedOuterDiameter = |
| | | recordData.value.structureInfo.structureRecordResult.twistedOuterDiameter || ""; |
| | | formData.diameterType = |
| | | recordData.value.structureInfo.structureRecordResult.diameterType || "绞合外径(mm)"; |
| | | formData.structureFormula = structureResult.inspectStructure?.structureFormula || ""; |
| | | formData.sampleComplete = inspectionResult.sampleComplete || ""; |
| | | formData.isFully = inspectionResult.isFully || ""; |
| | | formData.conclusion = structureResult.conclusion || ""; |
| | | |
| | | // 初始化产品外观 |
| | |
| | | const saveList = async () => { |
| | | // 1. 基础字段校验 |
| | | if (!formData.structureFormula) return uni.showToast({ title: "成品结构为必填项", icon: "none" }); |
| | | if (!formData.twistedOuterDiameter) |
| | | return uni.showToast({ title: "绞制外径为必填项", icon: "none" }); |
| | | if (!formData.twistedOuterDiameter) { |
| | | const label = getDiameterTypeLabel(); |
| | | return uni.showToast({ title: `${label}为必填项`, icon: "none" }); |
| | | } |
| | | if (!formData.productAppearance.length) |
| | | return uni.showToast({ title: "产品外观为必填项", icon: "none" }); |
| | | if (!formData.conclusion) return uni.showToast({ title: "结论为必填项", icon: "none" }); |
| | | if (!formData.sampleComplete) |
| | | return uni.showToast({ title: "样品是否齐全为必填项", icon: "none" }); |
| | | if (!formData.isFully) return uni.showToast({ title: "样品是否齐全为必填项", icon: "none" }); |
| | | // 2. 结构项循环校验 |
| | | for (const item of formData.structureItems) { |
| | | if (!item.structureValue) |
| | |
| | | const res = await RoutingInspectionApi.strandedPatrolCheckInspection({ |
| | | deviceUid: deviceUid.value, |
| | | id: paramsId.value, |
| | | result: { |
| | | inspectionResult: { |
| | | twistedOuterDiameter: formData.twistedOuterDiameter, |
| | | diameterType: formData.diameterType || "绞合外径(mm)", |
| | | structureFormula: formData.structureFormula, |
| | | structureItems: formData.structureItems, |
| | | inspectTwist: formData.inspectTwist, |
| | | productAppearance: formData.productAppearance, |
| | | conclusion: formData.conclusion, |
| | | sampleComplete: formData.sampleComplete, |
| | | isFully: formData.isFully, |
| | | }, |
| | | inspectionResult: { |
| | | sampleComplete: formData.sampleComplete, |
| | | result: { |
| | | isFully: formData.isFully, |
| | | }, |
| | | processInspectionAttachmentList: allFileIds, |
| | | }); |