Răsfoiți Sursa

压实度参数

ZaiZai 2 ani în urmă
părinte
comite
defcbeb061

+ 28 - 0
src/api/modules/tentative/parameter/compactness.js

@@ -0,0 +1,28 @@
+import {httpApi} from "../../../request/httpApi";
+
+export default {
+    //压实度分页查询
+    async queryPage(form, msg = true) {
+        return httpApi({
+            url: '/api/blade-manager/trial/param/compaction/page',
+            method: 'get',
+            params: form
+        }, msg);
+    },
+    //压实度新增或修改
+    async submitForm(form, msg = true) {
+        return httpApi({
+            url: '/api/blade-manager/trial/param/compaction/submit',
+            method: 'post',
+            data: form
+        }, msg);
+    },
+    //压实度批量删除
+    async removeData(form, msg = true) {
+        return httpApi({
+            url: '/api/blade-manager/trial/param/compaction/remove',
+            method: 'post',
+            params: form
+        }, msg);
+    },
+}

+ 107 - 37
src/views/tentative/parameter/compactness.vue

@@ -9,13 +9,13 @@
                     </el-button>
                 </HcTooltip>
                 <HcTooltip keys="tentative_parameter_compactness_edit">
-                    <el-button hc-btn @click="editFormModalClick">
+                    <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" @click="editFormModalClick">
                         <HcIcon name="edit"/>
                         <span>编辑</span>
                     </el-button>
                 </HcTooltip>
                 <HcTooltip keys="tentative_parameter_compactness_del">
-                    <el-button hc-btn @click="delModalClick">
+                    <el-button hc-btn :disabled="tableCheckedKeys.length <= 0" @click="delModalClick">
                         <HcIcon name="delete-bin-2"/>
                         <span>删除</span>
                     </el-button>
@@ -28,19 +28,19 @@
         </HcCard>
 
         <!--新增/编辑-->
-        <HcDialog :show="addEditFormModal" title="新增/编辑 压实度参数" widths="30rem" :loading="addEditFormLoading" @close="addEditFormModalClose" @save="addEditFormClick">
+        <HcDialog :show="addEditFormModal" :title="`${addEditFormModel.id?'编辑':'新增'}压实度参数`" widths="30rem" :loading="addEditFormLoading" @close="addEditFormModalClose" @save="addEditFormClick">
             <el-form ref="addEditFormRef" :model="addEditFormModel" :rules="addEditFormRules" label-width="auto" size="large">
-                <el-form-item label="N值" prop="key1">
-                    <el-input v-model="addEditFormModel.key1"/>
+                <el-form-item label="N值" prop="valueN">
+                    <el-input v-model="addEditFormModel.valueN"/>
                 </el-form-item>
-                <el-form-item label="保证率99%" prop="key22">
-                    <el-input v-model="addEditFormModel.key2"/>
+                <el-form-item label="保证率99%" prop="assuranceRateNinetyNinePercent">
+                    <el-input v-model="addEditFormModel.assuranceRateNinetyNinePercent"/>
                 </el-form-item>
-                <el-form-item label="保证率95%" prop="key3">
-                    <el-input v-model="addEditFormModel.key3"/>
+                <el-form-item label="保证率95%" prop="assuranceRateNinetyFivePercent">
+                    <el-input v-model="addEditFormModel.assuranceRateNinetyFivePercent"/>
                 </el-form-item>
-                <el-form-item label="保证率90%" prop="key4">
-                    <el-input v-model="addEditFormModel.key4"/>
+                <el-form-item label="保证率90%" prop="assuranceRateNinetyPercent">
+                    <el-input v-model="addEditFormModel.assuranceRateNinetyPercent"/>
                 </el-form-item>
             </el-form>
         </HcDialog>
@@ -49,8 +49,11 @@
 </template>
 
 <script setup>
-import {ref} from "vue";
+import {onMounted, ref} from "vue";
 import {useAppStore} from "~src/store";
+import dataApi from "~api/tentative/parameter/compactness"
+import {formValidate, getArrValue} from "vue-utils-plus"
+import {delMessage, rowsToId} from "~uti/tools";
 
 //初始变量
 const useAppState = useAppStore()
@@ -59,8 +62,15 @@ const useAppState = useAppStore()
 const projectId = ref(useAppState.getProjectId);
 const contractId = ref(useAppState.getContractId);
 
+//渲染完成
+onMounted(() => {
+    getTableData()
+})
+
 //搜索表单
-const searchForm = ref({queryValue: null, current: 1, size: 20, total: 0})
+const searchForm = ref({
+    queryValue: null, current: 1, size: 20, total: 0
+})
 
 //回车搜索
 const keyUpEvent = (e) => {
@@ -86,34 +96,53 @@ const pageChange = ({current, size}) => {
 //表格数据
 const tableRef = ref(null)
 const tableColumn = ref([
-    {key:'key1', name: 'N值'},
-    {key:'key2', name: '保证率99%'},
-    {key:'key3', name: '保证率95%'},
-    {key:'key4', name: '保证率90%'},
+    {key:'valueN', name: 'N值'},
+    {key:'assuranceRateNinetyNinePercent', name: '保证率99%'},
+    {key:'assuranceRateNinetyFivePercent', name: '保证率95%'},
+    {key:'assuranceRateNinetyPercent', name: '保证率90%'},
 ])
+const tableData = ref([])
 
 //获取数据
 const tableLoading = ref(false)
-const tableData = ref([])
 const getTableData = async () => {
-
+    tableLoading.value = true
+    const { error, code, data } = await dataApi.queryPage({
+        ...searchForm.value,
+        projectId: projectId.value,
+        contractId: contractId.value
+    })
+    //处理数据
+    tableLoading.value = false
+    if (!error && code === 200) {
+        tableData.value = getArrValue(data['records'])
+        searchForm.value.total = data.total || 0
+    } else {
+        tableData.value = []
+        searchForm.value.total = 0
+    }
 }
 
 //多选
 const tableCheckedKeys = ref([]);
 const tableSelection = (rows) => {
-    tableCheckedKeys.value = rows.filter((item) => {
-        return (item??'') !== '';
-    })
+    tableCheckedKeys.value = rows
 }
 
 //新增/编辑 材料进场
 const addEditFormModal = ref(false)
 const addFormModalClick = () => {
+    addEditFormModel.value = {}
     addEditFormModal.value = true
 }
 const editFormModalClick = () => {
-    addEditFormModal.value = true
+    const keys = tableCheckedKeys.value
+    if (keys.length === 1) {
+        addEditFormModel.value = keys[0]
+        addEditFormModal.value = true
+    } else if (keys.length > 1) {
+        window?.$message?.warning('只能选择一条数据编辑')
+    }
 }
 const addEditFormModalClose = () => {
     addEditFormModal.value = false
@@ -123,33 +152,74 @@ const addEditFormModalClose = () => {
 const addEditFormRef = ref(null)
 const addEditFormModel = ref({})
 const addEditFormRules = {
-    key2: {
+    valueN: {
         required: true,
         trigger: 'blur',
-        message: "请输入"
+        message: "请输入N值"
+    },
+    assuranceRateNinetyNinePercent: {
+        required: true,
+        trigger: 'blur',
+        message: "请输入保证率99%"
+    },
+    assuranceRateNinetyFivePercent: {
+        required: true,
+        trigger: 'blur',
+        message: "请输入保证率95%"
+    },
+    assuranceRateNinetyPercent: {
+        required: true,
+        trigger: 'blur',
+        message: "请输入保证率90%"
     },
 }
 
 //新增/编辑 保存
 const addEditFormLoading = ref(false)
-const addEditFormClick = () => {
-
+const addEditFormClick = async () => {
+    const validate = await formValidate(addEditFormRef.value)
+    if (validate) {
+        //发起请求
+        const { error, code } = await dataApi.submitForm({
+            ...addEditFormModel.value,
+            projectId: projectId.value,
+            contractId: contractId.value
+        })
+        //处理数据
+        addEditFormLoading.value = false
+        if (!error && code === 200) {
+            window?.$message?.success('操作成功')
+            addEditFormModal.value = false
+            await getTableData()
+        }
+    }
 }
 
 //删除
 const delModalClick = () => {
-    window?.$messageBox?.alert('请谨慎考虑后,确认是否需要删除?', '删除提醒', {
-        showCancelButton: true,
-        confirmButtonText: '确认删除',
-        cancelButtonText: '取消',
-        type: 'warning',
-        callback: (action) => {
-            if (action === 'confirm') {
-                //removeContractTreeNode()
-            }
-        }
+    delMessage(() => {
+        tableRemoveData()
     })
 }
+
+//批量删除
+const tableRemoveData = async () => {
+    const rows = tableCheckedKeys.value
+    if (rows.length > 0 ) {
+        const ids = rowsToId(rows)
+        //删除请求
+        const { error, code } = await dataApi.removeData({
+            projectId: projectId.value,
+            contractId: contractId.value,
+            ids: ids,
+        })
+        //处理数据
+        if (!error && code === 200) {
+            window?.$message?.success('操作成功')
+            searchClick()
+        }
+    }
+}
 </script>
 
 <style lang="scss" scoped>