|
@@ -18,7 +18,7 @@
|
|
|
已填{{ item.realFillRate ?? 0 }}%
|
|
|
</div> -->
|
|
|
<el-tooltip
|
|
|
- v-if="item.isSync === 1"
|
|
|
+ v-if="item.isSync === 1 && item.isBussShow !== 2"
|
|
|
class="box-item"
|
|
|
effect="light"
|
|
|
content="表单保存后更新"
|
|
@@ -30,7 +30,7 @@
|
|
|
>同</span>
|
|
|
</el-tooltip>
|
|
|
<el-tooltip
|
|
|
- v-if="item.dateIsComplete === 2 "
|
|
|
+ v-if="item.dateIsComplete === 2 && item.isBussShow !== 2"
|
|
|
class="box-item"
|
|
|
effect="light"
|
|
|
content="表单日期未完善"
|
|
@@ -684,20 +684,24 @@
|
|
|
<!-- 测量偏差 -->
|
|
|
<hc-new-dialog v-model="deviationShow" title="设置偏差范围" :loading="deviationLoading" @save="deviationSaveClick">
|
|
|
<el-form
|
|
|
+ ref="deviationForm"
|
|
|
:model="deviationModal"
|
|
|
label-width="auto"
|
|
|
size="large"
|
|
|
:inline="true"
|
|
|
+ :rules="rules"
|
|
|
>
|
|
|
<div style="display: flex; align-items: center;">
|
|
|
<el-form-item label=" " style="margin-right: 20px;">
|
|
|
<el-radio-group v-model="deviationModal.type" style="display: flex; flex-direction: column;">
|
|
|
- <el-radio value="Sponsor" style="margin-bottom: 8px;">高程偏差</el-radio>
|
|
|
- <el-radio value="Venue">平面偏差</el-radio>
|
|
|
+ <el-radio :value="1" style="margin-bottom: 8px;">高程偏差</el-radio>
|
|
|
+ <el-radio :value="2">平面偏差</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label=" ">
|
|
|
- <el-input v-model="deviationModal.customValue" block placeholder="请输入" />
|
|
|
+ <el-form-item label=" " :prop="deviationModal.type === 1 ? 'g8pcfw' : 'g10pcfw'">
|
|
|
+ <el-input v-if="deviationModal.type === 1" v-model="deviationModal.g8pcfw" block placeholder="请输入高程偏差" />
|
|
|
+ <el-input v-else v-model="deviationModal.g10pcfw" block placeholder="请输入平面高差" />
|
|
|
+ <div class="text-orange">格式要求:-n,n或者±n</div>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
</el-form>
|
|
@@ -745,6 +749,7 @@ import { HcDelMsg, HcUploadFileApi } from 'hc-vue3-ui'
|
|
|
import { toPdfPage } from '~uti/btn-auth'
|
|
|
import nodeBaseApi from '~api/data-fill/nodebaseinfo'
|
|
|
import thirdApi from '~api/tentative/detect/third'
|
|
|
+import { formValidate } from 'js-fast-way'
|
|
|
//参数
|
|
|
const props = defineProps({
|
|
|
datas: {
|
|
@@ -1154,6 +1159,7 @@ const handleMenuSelect = async ({ key }) => {
|
|
|
|
|
|
} else if (key === 'deviation') {
|
|
|
deviationShow.value = true
|
|
|
+ getDeviationData()
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -2284,9 +2290,70 @@ const pushCodeRef = ref(null)
|
|
|
//测量偏差
|
|
|
const deviationShow = ref(false)
|
|
|
const deviationLoading = ref(false)
|
|
|
-const deviationModal = ref({})
|
|
|
-const deviationSaveClick = ()=>{
|
|
|
+const deviationModal = ref({ type:1 })
|
|
|
+//获取偏差范围
|
|
|
+const getDeviationData = async () => {
|
|
|
+ const { pkeyId } = tableFormItemNode.value
|
|
|
+ const { error, code, msg, data } = await wbsApi.getDeviationRange(
|
|
|
+ { pKeyId: pkeyId },
|
|
|
+ )
|
|
|
+ if (!error && code === 200) {
|
|
|
+ // 从数组中找出k为"g8pcfw"和"g10pcfw"的对象,并提取v值
|
|
|
+ const g8pcfwObj = data.find(item => item.k === 'g8pcfw')
|
|
|
+ const g10pcfwObj = data.find(item => item.k === 'G10pcfw')
|
|
|
+
|
|
|
+ // 将找到的v值赋给deviationModal对应的属性
|
|
|
+ deviationModal.value.g8pcfw = g8pcfwObj ? g8pcfwObj.v : ''
|
|
|
+ deviationModal.value.g10pcfw = g10pcfwObj ? g10pcfwObj.v : ''
|
|
|
+ } else {
|
|
|
+ // 请求失败时清空这两个值
|
|
|
+ deviationModal.value.g8pcfw = ''
|
|
|
+ deviationModal.value.g10pcfw = ''
|
|
|
+ }
|
|
|
+}
|
|
|
+const validateDeviation = (rule, value, callback) => {
|
|
|
+ if (!value) {
|
|
|
+ callback(new Error('请输入偏差值')) // 空值提示
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 正则匹配:-n,n 或 ±n 格式
|
|
|
+ const isValid = /^(-?\d+,\d+|±\d+)$/.test(value)
|
|
|
+ if (!isValid) {
|
|
|
+ callback(new Error('格式错误!请输入 -n,n 或 ±n'))
|
|
|
+ } else {
|
|
|
+ callback() // 验证通过
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 表单规则
|
|
|
+const rules = {
|
|
|
+ g8pcfw: [{ validator: validateDeviation, trigger: 'blur' }], // 高程偏差验证
|
|
|
+ g10pcfw: [{ validator: validateDeviation, trigger: 'blur' }], // 平面偏差验证
|
|
|
+}
|
|
|
+const deviationForm = ref(null)
|
|
|
+const deviationSaveClick = async ()=>{
|
|
|
+ const validate = await formValidate(deviationForm.value, rules)
|
|
|
+ if (!validate) {
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ const { pkeyId } = tableFormItemNode.value
|
|
|
+ deviationLoading.value = true
|
|
|
+ const { error, code, msg, data } = await wbsApi.setDeviationRange(
|
|
|
+ {
|
|
|
+ g8pcfw: deviationModal.value.g8pcfw,
|
|
|
+ g10pcfw: deviationModal.value.g10pcfw,
|
|
|
+ pKeyId: pkeyId,
|
|
|
+
|
|
|
+ },
|
|
|
+ )
|
|
|
|
|
|
+ deviationLoading.value = false
|
|
|
+ if (!error && code === 200) {
|
|
|
+ window.$message?.success(msg || '操作成功')
|
|
|
+ deviationShow.value = false
|
|
|
+
|
|
|
+}
|
|
|
}
|
|
|
|
|
|
// 暴露出去
|