| | |
| | | { |
| | | "name" : "线缆上报", |
| | | "appid" : "__UNI__F64E0A4", |
| | | "description" : "", |
| | | "versionName" : "1.0.12", |
| | | "versionCode" : "100", |
| | | "transformPx" : false, |
| | | /* 5+App特有相关 */ |
| | | "app-plus" : { |
| | | "usingComponents" : true, |
| | | "nvueStyleCompiler" : "uni-app", |
| | | "compilerVersion" : 3, |
| | | "compatible" : { |
| | | "ignoreVersion" : true // true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持 |
| | | "name": "线缆上报", |
| | | "appid": "__UNI__F64E0A4", |
| | | "description": "", |
| | | "versionName": "1.0.15", |
| | | "versionCode": "100", |
| | | "transformPx": false, |
| | | /* 5+App特有相关 */ |
| | | "app-plus": { |
| | | "usingComponents": true, |
| | | "nvueStyleCompiler": "uni-app", |
| | | "compilerVersion": 3, |
| | | "compatible": { |
| | | "ignoreVersion": true // true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持 |
| | | }, |
| | | "splashscreen": { |
| | | "alwaysShowBeforeRender": true, |
| | | "waiting": true, |
| | | "autoclose": true, |
| | | "delay": 0 |
| | | }, |
| | | /* 模块配置 */ |
| | | "modules": {}, |
| | | /* 应用发布信息 */ |
| | | "distribute": { |
| | | /* android打包配置 */ |
| | | "android": { |
| | | "permissions": [ |
| | | "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>", |
| | | "<uses-permission android:name=\"android.permission.VIBRATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.READ_LOGS\"/>", |
| | | "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>", |
| | | "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>", |
| | | "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.CAMERA\"/>", |
| | | "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>", |
| | | "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>", |
| | | "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>", |
| | | "<uses-feature android:name=\"android.hardware.camera\"/>", |
| | | "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>", |
| | | "<uses-permission android:name=\"android.permission.RECEIVE_BOOT_COMPLETED\"/>" |
| | | ] |
| | | }, |
| | | /* ios打包配置 */ |
| | | "ios": { |
| | | "dSYMs": false |
| | | }, |
| | | /* SDK配置 */ |
| | | "sdkConfigs": {}, |
| | | "icons": { |
| | | "android": { |
| | | "hdpi": "unpackage/res/icons/72x72.png", |
| | | "xhdpi": "unpackage/res/icons/96x96.png", |
| | | "xxhdpi": "unpackage/res/icons/144x144.png", |
| | | "xxxhdpi": "unpackage/res/icons/192x192.png" |
| | | }, |
| | | "splashscreen" : { |
| | | "alwaysShowBeforeRender" : true, |
| | | "waiting" : true, |
| | | "autoclose" : true, |
| | | "delay" : 0 |
| | | }, |
| | | /* 模块配置 */ |
| | | "modules" : {}, |
| | | /* 应用发布信息 */ |
| | | "distribute" : { |
| | | /* android打包配置 */ |
| | | "android" : { |
| | | "permissions" : [ |
| | | "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>", |
| | | "<uses-permission android:name=\"android.permission.VIBRATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.READ_LOGS\"/>", |
| | | "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>", |
| | | "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>", |
| | | "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.CAMERA\"/>", |
| | | "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>", |
| | | "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>", |
| | | "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>", |
| | | "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>", |
| | | "<uses-feature android:name=\"android.hardware.camera\"/>", |
| | | "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>", |
| | | "<uses-permission android:name=\"android.permission.RECEIVE_BOOT_COMPLETED\"/>" |
| | | ] |
| | | }, |
| | | /* ios打包配置 */ |
| | | "ios" : { |
| | | "dSYMs" : false |
| | | }, |
| | | /* SDK配置 */ |
| | | "sdkConfigs" : {}, |
| | | "icons" : { |
| | | "android" : { |
| | | "hdpi" : "unpackage/res/icons/72x72.png", |
| | | "xhdpi" : "unpackage/res/icons/96x96.png", |
| | | "xxhdpi" : "unpackage/res/icons/144x144.png", |
| | | "xxxhdpi" : "unpackage/res/icons/192x192.png" |
| | | }, |
| | | "ios" : { |
| | | "appstore" : "unpackage/res/icons/1024x1024.png", |
| | | "ipad" : { |
| | | "app" : "unpackage/res/icons/76x76.png", |
| | | "app@2x" : "unpackage/res/icons/152x152.png", |
| | | "notification" : "unpackage/res/icons/20x20.png", |
| | | "notification@2x" : "unpackage/res/icons/40x40.png", |
| | | "proapp@2x" : "unpackage/res/icons/167x167.png", |
| | | "settings" : "unpackage/res/icons/29x29.png", |
| | | "settings@2x" : "unpackage/res/icons/58x58.png", |
| | | "spotlight" : "unpackage/res/icons/40x40.png", |
| | | "spotlight@2x" : "unpackage/res/icons/80x80.png" |
| | | }, |
| | | "iphone" : { |
| | | "app@2x" : "unpackage/res/icons/120x120.png", |
| | | "app@3x" : "unpackage/res/icons/180x180.png", |
| | | "notification@2x" : "unpackage/res/icons/40x40.png", |
| | | "notification@3x" : "unpackage/res/icons/60x60.png", |
| | | "settings@2x" : "unpackage/res/icons/58x58.png", |
| | | "settings@3x" : "unpackage/res/icons/87x87.png", |
| | | "spotlight@2x" : "unpackage/res/icons/80x80.png", |
| | | "spotlight@3x" : "unpackage/res/icons/120x120.png" |
| | | } |
| | | } |
| | | } |
| | | "ios": { |
| | | "appstore": "unpackage/res/icons/1024x1024.png", |
| | | "ipad": { |
| | | "app": "unpackage/res/icons/76x76.png", |
| | | "app@2x": "unpackage/res/icons/152x152.png", |
| | | "notification": "unpackage/res/icons/20x20.png", |
| | | "notification@2x": "unpackage/res/icons/40x40.png", |
| | | "proapp@2x": "unpackage/res/icons/167x167.png", |
| | | "settings": "unpackage/res/icons/29x29.png", |
| | | "settings@2x": "unpackage/res/icons/58x58.png", |
| | | "spotlight": "unpackage/res/icons/40x40.png", |
| | | "spotlight@2x": "unpackage/res/icons/80x80.png" |
| | | }, |
| | | "iphone": { |
| | | "app@2x": "unpackage/res/icons/120x120.png", |
| | | "app@3x": "unpackage/res/icons/180x180.png", |
| | | "notification@2x": "unpackage/res/icons/40x40.png", |
| | | "notification@3x": "unpackage/res/icons/60x60.png", |
| | | "settings@2x": "unpackage/res/icons/58x58.png", |
| | | "settings@3x": "unpackage/res/icons/87x87.png", |
| | | "spotlight@2x": "unpackage/res/icons/80x80.png", |
| | | "spotlight@3x": "unpackage/res/icons/120x120.png" |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | /* 快应用特有相关 */ |
| | | "quickapp": {}, |
| | | /* 小程序特有相关 */ |
| | | "mp-weixin": { |
| | | "appid": "", |
| | | "setting": { |
| | | "urlCheck": false |
| | | }, |
| | | /* 快应用特有相关 */ |
| | | "quickapp" : {}, |
| | | /* 小程序特有相关 */ |
| | | "mp-weixin" : { |
| | | "appid" : "", |
| | | "setting" : { |
| | | "urlCheck" : false |
| | | }, |
| | | "usingComponents" : true |
| | | }, |
| | | "mp-alipay" : { |
| | | "usingComponents" : true |
| | | }, |
| | | "mp-baidu" : { |
| | | "usingComponents" : true |
| | | }, |
| | | "mp-toutiao" : { |
| | | "usingComponents" : true |
| | | }, |
| | | "uniStatistics" : { |
| | | "enable" : false |
| | | }, |
| | | "vueVersion" : "3" |
| | | "usingComponents": true |
| | | }, |
| | | "mp-alipay": { |
| | | "usingComponents": true |
| | | }, |
| | | "mp-baidu": { |
| | | "usingComponents": true |
| | | }, |
| | | "mp-toutiao": { |
| | | "usingComponents": true |
| | | }, |
| | | "uniStatistics": { |
| | | "enable": false |
| | | }, |
| | | "vueVersion": "3" |
| | | } |
| | |
| | | <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> |
| | |
| | | inspectTwist: [], // 绞线工艺质量控制 |
| | | productAppearance: [] as string[], // 产品外观(改为数组存储选中值) |
| | | conclusion: "", // 结论(改为数组存储选中值) |
| | | sampleComplete: "", // 样品是否齐全 |
| | | isFully: "", // 样品是否齐全 |
| | | }); |
| | | |
| | | const twistDirectionOptions = [ |
| | |
| | | formData.twistedOuterDiameter = |
| | | recordData.value.structureInfo.structureRecordResult.twistedOuterDiameter || ""; |
| | | formData.structureFormula = structureResult.inspectStructure?.structureFormula || ""; |
| | | formData.sampleComplete = inspectionResult.sampleComplete || ""; |
| | | formData.isFully = inspectionResult.isFully || ""; |
| | | formData.conclusion = structureResult.conclusion || ""; |
| | | |
| | | // 初始化产品外观 |
| | |
| | | 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, |
| | | 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, |
| | | }); |
| | |
| | | </wd-row> |
| | | |
| | | <!-- 巡检结果 --> |
| | | <wd-row v-if="detailData.processInspectionResult?.isFully"> |
| | | <wd-row> |
| | | <view style="margin: 10rpx"> |
| | | <text class="title">{{ "巡检结果" }}</text> |
| | | </view> |
| | | <wd-col :span="24"> |
| | | <wd-form-item label="铝杆前、中、尾样品是否齐全" prop="isFully" required> |
| | | <wd-form-item |
| | | label="铝杆前、中、尾样品是否齐全" |
| | | prop="isFully" |
| | | required |
| | | label-width="420rpx" |
| | | > |
| | | <template v-if="isEdit"> |
| | | <wd-radio-group v-model="formData.isFully" inline class="conclusion-radio-group"> |
| | | <wd-radio |
| | |
| | | </wd-row> |
| | | |
| | | <!-- 附件模块 --> |
| | | <wd-row class="attachment-section" v-if="detailData.files && detailData.files.length > 0"> |
| | | <wd-row class="attachment-section"> |
| | | <view style="margin: 10rpx"> |
| | | <text class="title">{{ "附件" }}</text> |
| | | </view> |
| | |
| | | const res = await RoutingInspectionApi.drawPatrolCheckInspection({ |
| | | deviceUid: deviceUid.value, |
| | | id: paramsId.value, |
| | | result: { |
| | | inspectionResult: { |
| | | dia: formData.dia, |
| | | maxDia: formData.maxDia, |
| | | minDia: formData.minDia, |
| | |
| | | jointCondition: formData.jointCondition, |
| | | conclusion: formData.conclusion, |
| | | }, |
| | | inspectionResult: { isFully: formData.isFully }, |
| | | result: { isFully: formData.isFully }, |
| | | processInspectionAttachmentList: allFileIds, |
| | | }); |
| | | if (res.code === 200) { |
| | |
| | | |
| | | <!-- 附件列表 --> |
| | | <view class="attachment-list"> |
| | | <wd-status-tip v-if="attachmentList.length === 0" image="content" tip="暂无附件" /> |
| | | <wd-status-tip |
| | | v-if="attachmentList.length === 0" |
| | | image="content" |
| | | tip="暂无附件" |
| | | custom-class="status-tip-full" |
| | | /> |
| | | |
| | | <view v-for="(item, index) in attachmentList" :key="item.id || index" class="attachment-card"> |
| | | <view class="media-wrapper" @click="previewAttachment(item)"> |
| | |
| | | const addAttachment = () => { |
| | | // 显示选择文件类型的弹窗 |
| | | uni.showActionSheet({ |
| | | itemList: ["选择图片", "选择视频", "拍照", "录像"], |
| | | itemList: ["选择图片", /* "选择视频", */ "拍照" /* , "录像" */], |
| | | success: (res) => { |
| | | switch (res.tapIndex) { |
| | | case 0: // 选择图片 |
| | | chooseImages(); |
| | | break; |
| | | case 1: // 选择视频 |
| | | chooseVideos(); |
| | | break; |
| | | case 2: // 拍照 |
| | | // case 1: // 选择视频 |
| | | // chooseVideos(); |
| | | // break; |
| | | case 1: // 拍照 |
| | | takePhoto(); |
| | | break; |
| | | case 3: // 录像 |
| | | recordVideo(); |
| | | break; |
| | | // case 3: // 录像 |
| | | // recordVideo(); |
| | | // break; |
| | | } |
| | | }, |
| | | fail: (error) => { |
| | |
| | | grid-template-columns: repeat(3, 1fr); |
| | | gap: 8px; |
| | | |
| | | :deep(.status-tip-full) { |
| | | grid-column: 1 / -1; |
| | | width: 100%; |
| | | } |
| | | |
| | | .attachment-card { |
| | | width: 100%; |
| | | position: relative; |