新增焊缝外观检测
This commit is contained in:
@@ -62,6 +62,24 @@
|
||||
failText="不准确" />
|
||||
</view>
|
||||
</view>
|
||||
<!-- 专项审核办理人:材料编码批次或材料数量不准确时必填 -->
|
||||
<view class="card__row" @click="handleShowReviewerSelect">
|
||||
<text class="card__label" :class="{ required: needSpecialReviewer }">专项审核办理人</text>
|
||||
<view class="card__value-wrap card__value-wrap--clickable">
|
||||
<text class="card__value" :class="{ 'card__value--placeholder': !specialReviewerName }">
|
||||
{{ specialReviewerName || '请选择' }}
|
||||
</text>
|
||||
<u-icon name="arrow-right" :size="24" color="#bbb" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 两侧主编码反馈 -->
|
||||
<view class="card__row card__row--stack">
|
||||
<text class="card__label">两侧主编码反馈</text>
|
||||
<view class="card__value-wrap">
|
||||
<textarea readonly class="remark-input" placeholder="请输入" :maxlength="200" auto-height />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -174,6 +192,10 @@
|
||||
<text class="btn-primary-gradient__text">提交结果</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 专项审核办理人选择 -->
|
||||
<nbd-select v-model="showReviewerPicker" :show-search="true" title="选择专项审核办理人" :list="reviewerList"
|
||||
label-key="BaseInfoName" value-key="BaseInfoId" @confirm="handleConfirmReviewer" />
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@@ -183,7 +205,7 @@ import { onLoad } from '@dcloudio/uni-app'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useUserStore, useMenuStore } from '@/store'
|
||||
|
||||
import { reqPreWeldJointByWeldJointId, reqSaveCuttingCheck, reqCuttingCheckByWeldJointId, reqGetAntiCorrosionCheck } from '@/api/hj'
|
||||
import { reqPreWeldJointByWeldJointId, reqSaveCuttingCheck, reqCuttingCheckByWeldJointId, reqGetAntiCorrosionCheck, reqGetSpecialReviewers } from '@/api/hj'
|
||||
|
||||
const cuttingFields = [
|
||||
{ label: '下料长度', key: 'CuttingLength' },
|
||||
@@ -191,6 +213,7 @@ const cuttingFields = [
|
||||
{ label: '坡口角度', key: 'GrooveAngle' },
|
||||
{ label: '材料编码批次', key: 'IsMaterialCodeBatchNoAccurate', type: 'tag', tagMatch: true, tagPassText: '准确', tagFailText: '不准确' },
|
||||
{ label: '材料数量', key: 'IsMaterialQuantityAccurate', type: 'tag', tagMatch: true, tagPassText: '准确', tagFailText: '不准确' },
|
||||
{ label: '专项审核办理人', key: 'SpecialReviewerName' },
|
||||
{ label: '检查人', key: 'CheckPersonName' },
|
||||
{ label: '检查时间', key: 'CheckTime' },
|
||||
{ label: '检查结果', key: 'CheckResult', type: 'tag', tagMatch: '合格' },
|
||||
@@ -231,11 +254,21 @@ const layingOffForm = ref({
|
||||
CheckResult: '合格',
|
||||
IsMaterialCodeBatchNoAccurate: '准确',
|
||||
IsMaterialQuantityAccurate: '准确',
|
||||
SpecialReviewerId: '',
|
||||
UnqualifiedReason: '',
|
||||
RectifyRequirement: '',
|
||||
Remark: ''
|
||||
})
|
||||
|
||||
const showReviewerPicker = ref(false)
|
||||
const reviewerList = ref([])
|
||||
const specialReviewerName = ref('')
|
||||
|
||||
// 材料编码批次或材料数量不准确时,专项审核办理人必填
|
||||
const needSpecialReviewer = computed(() =>
|
||||
layingOffForm.value.IsMaterialCodeBatchNoAccurate === '不准确' ||
|
||||
layingOffForm.value.IsMaterialQuantityAccurate === '不准确'
|
||||
)
|
||||
|
||||
// 照片组件引用
|
||||
const photoRef = ref(null)
|
||||
@@ -260,11 +293,40 @@ watch(() => layingOffForm.value.CheckResult, async (val) => {
|
||||
}
|
||||
})
|
||||
|
||||
const handleShowReviewerSelect = () => {
|
||||
const projectId = currentProject.value?.ProjectId || info.value?.ProjectId
|
||||
if (!projectId) {
|
||||
uni.showToast({ title: '缺少项目信息', icon: 'none' })
|
||||
return
|
||||
}
|
||||
reqGetSpecialReviewers(projectId).then(res => {
|
||||
reviewerList.value = Array.isArray(res.data) ? res.data : []
|
||||
showReviewerPicker.value = true
|
||||
})
|
||||
}
|
||||
|
||||
const handleConfirmReviewer = (item) => {
|
||||
if (!item) return
|
||||
layingOffForm.value.SpecialReviewerId = item.BaseInfoId || item.PersonId || ''
|
||||
specialReviewerName.value = item.BaseInfoName || item.PersonName || ''
|
||||
showReviewerPicker.value = false
|
||||
}
|
||||
|
||||
const validateSpecialReviewer = () => {
|
||||
if (!needSpecialReviewer.value) return true
|
||||
if (!layingOffForm.value.SpecialReviewerId) {
|
||||
uni.showToast({ title: '请选择专项审核办理人', icon: 'none' })
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
const handleSubmit = () => {
|
||||
if (!canEdit.value) {
|
||||
uni.showToast({ title: '当前岗位仅可查看', icon: 'none' })
|
||||
return
|
||||
}
|
||||
if (!validateSpecialReviewer()) return
|
||||
uni.showModal({
|
||||
title: '确认提交',
|
||||
content: '确定提交吗?',
|
||||
@@ -286,6 +348,7 @@ const handleSubmit = () => {
|
||||
GrooveAngle: layingOffForm.value.GrooveAngle, // 坡口角度
|
||||
IsMaterialCodeBatchNoAccurate: layingOffForm.value.IsMaterialCodeBatchNoAccurate === '准确', // 材料编码批次
|
||||
IsMaterialQuantityAccurate: layingOffForm.value.IsMaterialQuantityAccurate === '准确', // 材料数量
|
||||
SpecialReviewerId: layingOffForm.value.SpecialReviewerId || '', // 专项审核办理人
|
||||
CheckPerson: userInfo.value?.PersonId, // 检查人员
|
||||
CheckTime: uni.formatTime(new Date().getTime(), 'YYYY-MM-DD HH:mm'), // 检查时间
|
||||
CreateUser: userInfo.value?.PersonId, // 创建人员
|
||||
|
||||
Reference in New Issue
Block a user