瀏覽代碼

断面仪修改

duy 1 周之前
父節點
當前提交
d9cab9e233
共有 3 個文件被更改,包括 90 次插入23 次删除
  1. 8 0
      src/api/modules/cross/cross.js
  2. 49 16
      src/views/cross/cross-add.vue
  3. 33 7
      src/views/cross/section.vue

+ 8 - 0
src/api/modules/cross/cross.js

@@ -26,4 +26,12 @@ export default {
             data: form,
         })
     },
+    //查询测量人
+     async getListUserName(form) {
+        return HcApi({
+            url: '/api/blade-manager/profiler/getListUserName',
+            method: 'get',
+            params: form,
+        })
+    },
 }

+ 49 - 16
src/views/cross/cross-add.vue

@@ -27,12 +27,13 @@
                     </el-form-item>
                 </el-col>
                 <el-col :span="8">
-                    <el-form-item label="隧道时间" prop="date">
+                    <el-form-item label="测量时间" prop="date">
                         <el-date-picker
                             v-model="formData.date"
                             style="width: 100%;"
                             type="date"
                             placeholder="请选择"
+                            value-format="YYYY-MM-DD HH:mm:ss"
                         />
                     </el-form-item>
                 </el-col>
@@ -78,7 +79,15 @@
             <el-row v-for="(eleItem, eleIndex) in formData.sectionBeans" :key="eleIndex" :gutter="20">
                 <el-col :span="4">
                     <el-form-item label="方向" prop="direction">
-                        <ElInput v-model="eleItem.direction" placeholder="请输入" />
+                        <!-- <ElInput v-model="eleItem.direction" placeholder="请输入" /> -->
+                        <el-select 
+                            v-model="eleItem.direction" 
+                            size="small" 
+                            style="width: 100%"
+                        >
+                            <el-option label="顺时针" value="true" />
+                            <el-option label="逆时针" value="false" />
+                        </el-select>
                     </el-form-item>
                 </el-col>
                 <el-col :span="4">
@@ -135,9 +144,7 @@
                         size="small" 
                         style="width: 100%"
                     >
-                        <el-option label="超挖" value="超挖" />
-                        <el-option label="正常" value="正常" />
-                        <el-option label="欠挖" value="欠挖" />
+                        <el-option v-for="item in tasksStatus" :key="item.value" :label="item.label" :value="item.value" />
                     </el-select>
                 </template>
             </HcTable>
@@ -148,7 +155,7 @@
 <script setup>
 import { defineModel, onMounted, ref, watch } from 'vue'
 import { getObjValue } from 'js-fast-way'
-
+import { getDictionaryData } from '~uti/tools'
 import crossApi from '~api/cross/cross'
 
 const props = defineProps({
@@ -173,15 +180,37 @@ const editModal = defineModel('modelValue', {
 const editModalTitle = ref('编辑')
 
 watch(() => props.formDisabled, (val) => {
+   
   formDisabled.value = val
   editModalTitle.value = val ? '查看详情' : '编辑'
 })
 watch(() => props.rowId, (val) => {
   rowId.value = val
   if (val) {
+  
     getOneDetail(val)
   }
 })
+const tasksStatus = ref([
+   
+])
+const getTasksStatusOptions = async () => {
+    tasksStatus.value = await getDictionaryData('q_profiler_back_break', true)
+
+    tasksStatus.value.forEach(item => {
+        item.value = String(item.value) 
+
+    })
+    
+
+    
+}
+// 监听弹窗显示状态,每次打开时加载选项
+watch(editModal, (newVal) => {
+  if (newVal) { // 当弹窗被打开时
+    getTasksStatusOptions()
+  }
+})
 const getOneDetail = async (id)=>{
     confirmLoad.value = true
         const { error, code, data } = await crossApi.getOne({
@@ -252,18 +281,22 @@ const confirmLink = async () => {
     if (!valid) return
   }
 
+
   confirmLoad.value = true
+  
+  // 检查sectionBeans是否为[{}]
+  if (formData.value.sectionBeans && formData.value.sectionBeans.length === 1 && Object.keys(formData.value.sectionBeans[0]).length === 0) {
+    formData.value.sectionBeans = []
+  }
 
-        const { error, code, msg } = await crossApi.edit(formData.value)
-    //判断状态
-    confirmLoad.value = false
-    if (!error && code === 200) {
-    
-     window.$message.success('保存成功')
-     closeModal()
-     emit('save')
-        
-    } 
+  const { error, code, msg } = await crossApi.edit(formData.value)
+  //判断状态
+  confirmLoad.value = false
+  if (!error && code === 200) {
+    window.$message.success('保存成功')
+    closeModal()
+    emit('save')
+  }
 
 }
 </script>

+ 33 - 7
src/views/cross/section.vue

@@ -4,13 +4,13 @@
         <HcNewCard>
             <template #header>
                 <div class="w-32">
-                    <el-select v-model="searchForm.userName" clearable block placeholder="测量人">
-                        <el-option v-for="item in peopleType" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" />
+                    <el-select v-model="searchForm.userName" placeholder="测量人" clearable filterable block @change="getTableData">
+                        <el-option v-for="item in peopleType" :key="item" :label="item" :value="item" />
                     </el-select>
                 </div>
                 <div class="ml-3 w-42">
-                    <el-select v-model="searchForm.backBreak" clearable block placeholder="是否超欠挖 ">
-                        <el-option v-for="item in tasksStatus" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey" />
+                    <el-select v-model="searchForm.backBreak" clearable block placeholder="是否超欠挖 " @change="getTableData">
+                        <el-option v-for="item in tasksStatus" :key="item.value" :label="item.label" :value="item.value" />
                     </el-select>
                 </div>
                 <div class="ml-3 w-64">
@@ -18,6 +18,9 @@
                 </div>
             </template>
             <HcTable is-new :column="tableColumn" :datas="tableData">
+                <template #backBreak="{ row }">
+                    {{ tasksStatus.find(item => item.value == row.backBreak)?.label || row.backBreak }}
+                </template>
                 <template #action="{ row }">
                     <el-link type="primary" @click="viewSubmit(row)">查看详情</el-link>
                     <el-link type="warning" @click="changeRow(row)">编辑</el-link>
@@ -39,6 +42,7 @@ import crossApi from '~api/cross/cross'
 import { useAppStore } from '~src/store'
 import { getArrValue } from 'js-fast-way'
 import crossAdd from './cross-add.vue'
+import { getDictionaryData } from '~uti/tools'
 const useAppState = useAppStore()
 const projectId = ref(useAppState.getProjectId)
 const contractId = ref(useAppState.contractId)
@@ -63,13 +67,35 @@ const searchForm = ref({
 })
 onMounted(() => {
     getTableData()
+    getPeopleType()
+    getTasksStatusOptions()
    
 })
 const peopleType = ref([])
+const getPeopleType = async () => {
+     const { error, code, data } = await crossApi.getListUserName()
+    //判断状态
+ 
+    if (!error && code === 200) {
+        peopleType.value = getArrValue(data)
+       
+    } else {
+        peopleType.value = []
+ 
+    }
+}
+const getTasksStatusOptions = async () => {
+    tasksStatus.value = await getDictionaryData('q_profiler_back_break', true)
+    tasksStatus.value.forEach(item => {
+        item.value = String(item.value) 
+
+    })
+    
+
+    
+}
 const tasksStatus = ref([
-    { dictKey: '1', dictValue: '超挖' },
-    { dictKey: '2', dictValue: '正常' },
-     { dictKey: '2', dictValue: '欠挖' },
+   
 ])
 //日期时间被选择
 const betweenTime = ref(null)