功能调整
This commit is contained in:
+117
-17
@@ -133,6 +133,26 @@
|
||||
<u-icon name="arrow-right" :size="24" color="#bbb" />
|
||||
</view>
|
||||
</view>
|
||||
<!-- 焊丝 -->
|
||||
<view class="card__row" @click="handleShowWireSelect">
|
||||
<text class="card__label">焊丝</text>
|
||||
<view class="card__value-wrap card__value-wrap--clickable">
|
||||
<text class="card__value" :class="{ 'card__value--placeholder': !wireDisplay }">
|
||||
{{ wireDisplay || '请选择' }}
|
||||
</text>
|
||||
<u-icon name="arrow-right" :size="24" color="#bbb" />
|
||||
</view>
|
||||
</view>
|
||||
<!-- 焊条 -->
|
||||
<view class="card__row" @click="handleShowRodSelect">
|
||||
<text class="card__label">焊条</text>
|
||||
<view class="card__value-wrap card__value-wrap--clickable">
|
||||
<text class="card__value" :class="{ 'card__value--placeholder': !rodDisplay }">
|
||||
{{ rodDisplay || '请选择' }}
|
||||
</text>
|
||||
<u-icon name="arrow-right" :size="24" color="#bbb" />
|
||||
</view>
|
||||
</view>
|
||||
<!-- 备注 -->
|
||||
<view class="card__row card__row--stack">
|
||||
<text class="card__label">备注</text>
|
||||
@@ -185,6 +205,14 @@
|
||||
<!-- 焊接方法选择弹窗 -->
|
||||
<nbd-select v-model="showWeldingMethodPicker" :show-search="true" title="选择焊接方法" :list="weldingMethodList"
|
||||
label-key="BaseInfoCode" value-key="BaseInfoId" @confirm="handleConfirmWeldingMethod" />
|
||||
|
||||
<!-- 焊丝选择弹窗 -->
|
||||
<nbd-select v-model="showWirePicker" :show-search="true" title="选择焊丝" :list="wireList"
|
||||
label-key="BaseInfoCode" value-key="BaseInfoId" @confirm="handleConfirmWire" />
|
||||
|
||||
<!-- 焊条选择弹窗 -->
|
||||
<nbd-select v-model="showRodPicker" :show-search="true" title="选择焊条" :list="rodList"
|
||||
label-key="BaseInfoCode" value-key="BaseInfoId" @confirm="handleConfirmRod" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -192,7 +220,7 @@
|
||||
import { ref, computed } from 'vue'
|
||||
import { onLoad } from '@dcloudio/uni-app'
|
||||
import { reqGetWeldJointByWeldJointId, reqSaveWeldingDailyByWeldJointId, reqGetManualPointSave, reqFitupCheckByWeldJointId } from '@/api/hj.js'
|
||||
import { reqWeldingLocation, reqGetWeldTypeList, reqGetWeldingMethodList } from '@/api/base.js'
|
||||
import { reqWeldingLocation, reqGetWeldTypeList, reqGetWeldingMethodList, reqGetWeldingConsumables } from '@/api/base.js'
|
||||
import { useUserStore, useMenuStore } from '@/store'
|
||||
|
||||
|
||||
@@ -211,9 +239,13 @@ const showLocationPicker = ref(false)
|
||||
const showTypePicker = ref(false)
|
||||
const showWeldTypePicker = ref(false)
|
||||
const showWeldingMethodPicker = ref(false)
|
||||
const showWirePicker = ref(false)
|
||||
const showRodPicker = ref(false)
|
||||
const locationList = ref([])
|
||||
const weldTypeList = ref([])
|
||||
const weldingMethodList = ref([])
|
||||
const wireList = ref([])
|
||||
const rodList = ref([])
|
||||
const welderTypeList = ref([
|
||||
{ BaseInfoName: '打底/盖面', BaseInfoCode: 0 },
|
||||
{ BaseInfoName: '打底', BaseInfoCode: 1 },
|
||||
@@ -227,16 +259,8 @@ const afterPhotoRef = ref(null)
|
||||
const weldJointId = ref('')
|
||||
const fitupList = ref([])
|
||||
const fitupFields = [
|
||||
{ label: '坡口类型名称', key: 'GrooveTypeName' },
|
||||
{ label: '坡口类型编码', key: 'GrooveTypeCode' },
|
||||
{ label: '坡口加工类型', key: 'GrooveProcessType' },
|
||||
{ label: '坡口角度', key: 'GrooveAngle' },
|
||||
{ label: '组对间隙', key: 'FitupGap' },
|
||||
{ label: '错边量', key: 'Misalignment' },
|
||||
{ label: '焊缝余高', key: 'WeldReinforcement' },
|
||||
{ label: '焊缝高度', key: 'WeldHeight' },
|
||||
{ label: '焊缝宽度', key: 'WeldWidth' },
|
||||
{ label: '表面缺陷', key: 'SurfaceDefect' },
|
||||
{ label: '检查人', key: 'CheckPersonName' },
|
||||
{ label: '检查时间', key: 'CheckTime' },
|
||||
{ label: '检查结果', key: 'CheckResult', type: 'tag', tagMatch: '合格' },
|
||||
@@ -294,6 +318,56 @@ const handleConfirmWeldingMethod = (item) => {
|
||||
showWeldingMethodPicker.value = false
|
||||
}
|
||||
|
||||
const CONSUMABLE_WIRE = 1
|
||||
const CONSUMABLE_ROD = 2
|
||||
|
||||
const pickConsumableId = (item) => item?.BaseInfoId || item?.Id || ''
|
||||
const pickConsumableCode = (item) => item?.BaseInfoCode || item?.Code || ''
|
||||
const pickConsumableName = (item) => item?.BaseInfoName || item?.Name || pickConsumableCode(item)
|
||||
|
||||
const normalizeConsumables = (list) => (Array.isArray(list) ? list : []).map((item) => ({
|
||||
...item,
|
||||
BaseInfoId: pickConsumableId(item),
|
||||
BaseInfoCode: pickConsumableCode(item),
|
||||
BaseInfoName: pickConsumableName(item),
|
||||
}))
|
||||
|
||||
const fetchConsumables = async (type) => {
|
||||
const res = await reqGetWeldingConsumables(type)
|
||||
return normalizeConsumables(res.data)
|
||||
}
|
||||
|
||||
const handleShowWireSelect = () => {
|
||||
fetchConsumables(CONSUMABLE_WIRE).then((list) => {
|
||||
wireList.value = list
|
||||
showWirePicker.value = true
|
||||
})
|
||||
}
|
||||
|
||||
const handleConfirmWire = (item) => {
|
||||
form.value.WeldingWire = item.BaseInfoId
|
||||
form.value.WeldingWireCode = item.BaseInfoCode
|
||||
form.value.WeldingWireName = item.BaseInfoName
|
||||
showWirePicker.value = false
|
||||
}
|
||||
|
||||
const handleShowRodSelect = () => {
|
||||
fetchConsumables(CONSUMABLE_ROD).then((list) => {
|
||||
rodList.value = list
|
||||
showRodPicker.value = true
|
||||
})
|
||||
}
|
||||
|
||||
const handleConfirmRod = (item) => {
|
||||
form.value.WeldingRod = item.BaseInfoId
|
||||
form.value.WeldingRodCode = item.BaseInfoCode
|
||||
form.value.WeldingRodName = item.BaseInfoName
|
||||
showRodPicker.value = false
|
||||
}
|
||||
|
||||
const wireDisplay = computed(() => form.value.WeldingWireCode || form.value.WeldingWireName || '')
|
||||
const rodDisplay = computed(() => form.value.WeldingRodCode || form.value.WeldingRodName || '')
|
||||
|
||||
// ===== 操作 =====
|
||||
const handlePoint = async () => {
|
||||
await reqGetManualPointSave(form.value.WeldJointId)
|
||||
@@ -329,7 +403,11 @@ const handleReport = () => {
|
||||
welderType: form.value.welderType,
|
||||
// 同步更新焊口焊缝类型 / 焊接方法
|
||||
WeldTypeId: form.value.WeldTypeId || '',
|
||||
WeldTypeCode: form.value.WeldTypeCode || '',
|
||||
WeldingMethodId: form.value.WeldingMethodId || '',
|
||||
WeldingMethodCode: form.value.WeldingMethodCode || '',
|
||||
WeldingWire: form.value.WeldingWire || '',
|
||||
WeldingRod: form.value.WeldingRod || '',
|
||||
PreWeldAttachUrl: preWeldAttachUrl.value || form.value.PreWeldAttachUrl || '',
|
||||
PostWeldAttachUrl: postWeldAttachUrl.value || form.value.PostWeldAttachUrl || ''
|
||||
})
|
||||
@@ -350,14 +428,16 @@ const handleMutualCheck = () => {
|
||||
const fillTypeMethodIds = async () => {
|
||||
const needWeldType = form.value.WeldTypeCode && !form.value.WeldTypeId
|
||||
const needMethod = form.value.WeldingMethodCode && !form.value.WeldingMethodId
|
||||
if (!needWeldType && !needMethod) return
|
||||
const needWire = (form.value.WeldingWireCode && !form.value.WeldingWire) || (form.value.WeldingWire && !form.value.WeldingWireCode)
|
||||
const needRod = (form.value.WeldingRodCode && !form.value.WeldingRod) || (form.value.WeldingRod && !form.value.WeldingRodCode)
|
||||
if (!needWeldType && !needMethod && !needWire && !needRod) return
|
||||
try {
|
||||
const tasks = []
|
||||
if (needWeldType) tasks.push(reqGetWeldTypeList())
|
||||
else tasks.push(Promise.resolve(null))
|
||||
if (needMethod) tasks.push(reqGetWeldingMethodList())
|
||||
else tasks.push(Promise.resolve(null))
|
||||
const [typeRes, methodRes] = await Promise.all(tasks)
|
||||
const [typeRes, methodRes, wireRes, rodRes] = await Promise.all([
|
||||
needWeldType ? reqGetWeldTypeList() : Promise.resolve(null),
|
||||
needMethod ? reqGetWeldingMethodList() : Promise.resolve(null),
|
||||
needWire ? fetchConsumables(CONSUMABLE_WIRE) : Promise.resolve(null),
|
||||
needRod ? fetchConsumables(CONSUMABLE_ROD) : Promise.resolve(null),
|
||||
])
|
||||
if (typeRes?.data) {
|
||||
const hit = typeRes.data.find(i => i.BaseInfoCode === form.value.WeldTypeCode)
|
||||
if (hit) {
|
||||
@@ -372,8 +452,28 @@ const fillTypeMethodIds = async () => {
|
||||
form.value.WeldingMethodName = hit.BaseInfoName
|
||||
}
|
||||
}
|
||||
if (wireRes) {
|
||||
const hit = wireRes.find(i =>
|
||||
i.BaseInfoId === form.value.WeldingWire || i.BaseInfoCode === form.value.WeldingWireCode
|
||||
)
|
||||
if (hit) {
|
||||
form.value.WeldingWire = hit.BaseInfoId
|
||||
form.value.WeldingWireCode = hit.BaseInfoCode
|
||||
form.value.WeldingWireName = hit.BaseInfoName
|
||||
}
|
||||
}
|
||||
if (rodRes) {
|
||||
const hit = rodRes.find(i =>
|
||||
i.BaseInfoId === form.value.WeldingRod || i.BaseInfoCode === form.value.WeldingRodCode
|
||||
)
|
||||
if (hit) {
|
||||
form.value.WeldingRod = hit.BaseInfoId
|
||||
form.value.WeldingRodCode = hit.BaseInfoCode
|
||||
form.value.WeldingRodName = hit.BaseInfoName
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('回填焊缝类型/焊接方法ID失败:', e)
|
||||
console.error('回填焊缝类型/焊接方法/焊材ID失败:', e)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user