瀏覽代碼

温度和密度

ZaiZai 2 年之前
父節點
當前提交
802455308a
共有 3 個文件被更改,包括 120 次插入31 次删除
  1. 28 0
      src/api/modules/tentative/parameter/density.js
  2. 4 2
      src/utils/tools.js
  3. 88 29
      src/views/tentative/parameter/density.vue

+ 28 - 0
src/api/modules/tentative/parameter/density.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/temperature-density/page',
+            method: 'get',
+            params: form
+        }, msg);
+    },
+    //温度及密度新增或修改
+    async submitForm(form, msg = true) {
+        return httpApi({
+            url: '/api/blade-manager/trial/param/temperature-density/submit',
+            method: 'post',
+            data: form
+        }, msg);
+    },
+    //温度及密度批量删除
+    async removeData(form, msg = true) {
+        return httpApi({
+            url: '/api/blade-manager/trial/param/temperature-density/remove',
+            method: 'post',
+            params: form
+        }, msg);
+    },
+}

+ 4 - 2
src/utils/tools.js

@@ -55,14 +55,16 @@ export const rowsToKey = (rows,key) => {
 }
 
 //删除提醒
-export const delMessage = async () => {
+export const delMessage = (cbk) => {
     window?.$messageBox?.alert('请谨慎考虑后,确认是否需要删除?', '删除提醒', {
         showCancelButton: true,
         confirmButtonText: '确认删除',
         cancelButtonText: '取消',
         type: 'warning',
         callback: (action) => {
-            return action === 'confirm';
+            if (action === 'confirm') {
+                cbk()
+            }
         }
     })
 }

+ 88 - 29
src/views/tentative/parameter/density.vue

@@ -9,13 +9,13 @@
                     </el-button>
                 </HcTooltip>
                 <HcTooltip keys="tentative_parameter_density_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_density_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>
@@ -30,11 +30,11 @@
         <!--新增/编辑-->
         <HcDialog :show="addEditFormModal" title="新增/编辑 温度信息" 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="温度" prop="key1">
-                    <el-input v-model="addEditFormModel.key1"/>
+                <el-form-item label="温度" prop="temperature">
+                    <el-input v-model="addEditFormModel.temperature"/>
                 </el-form-item>
-                <el-form-item label="水密度" prop="key22">
-                    <el-input v-model="addEditFormModel.key2"/>
+                <el-form-item label="水密度" prop="waterDensity">
+                    <el-input v-model="addEditFormModel.waterDensity"/>
                 </el-form-item>
             </el-form>
         </HcDialog>
@@ -43,8 +43,11 @@
 </template>
 
 <script setup>
-import {ref} from "vue";
+import {onMounted, ref} from "vue";
 import {useAppStore} from "~src/store";
+import dataApi from "~api/tentative/parameter/density"
+import {formValidate, getArrValue} from "vue-utils-plus"
+import {delMessage, rowsToId} from "~uti/tools";
 
 //初始变量
 const useAppState = useAppStore()
@@ -53,8 +56,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) => {
@@ -80,32 +90,50 @@ const pageChange = ({current, size}) => {
 //表格数据
 const tableRef = ref(null)
 const tableColumn = ref([
-    {key:'key1', name: '温度'},
-    {key:'key2', name: '密度'},
+    {key:'temperature', name: '温度'},
+    {key:'waterDensity', name: '密度'},
 ])
 
 //获取数据
 const tableLoading = ref(false)
 const tableData = ref([])
 const getTableData = async () => {
-
+    tableLoading.value = true
+    const { error, code, data } = await dataApi.queryPage({
+        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
@@ -115,33 +143,64 @@ const addEditFormModalClose = () => {
 const addEditFormRef = ref(null)
 const addEditFormModel = ref({})
 const addEditFormRules = {
-    key2: {
+    temperature: {
         required: true,
         trigger: 'blur',
-        message: "请输入"
+        message: "请输入温度"
+    },
+    waterDensity: {
+        required: true,
+        trigger: 'blur',
+        message: "请输入密度"
     },
 }
 
 //新增/编辑 保存
 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>