瀏覽代碼

待测样品

ZaiZai 1 年之前
父節點
當前提交
eaefbf6a58
共有 3 個文件被更改,包括 72 次插入33 次删除
  1. 0 7
      src/api/modules/other.js
  2. 16 8
      src/api/modules/tentative/acquisition/data.js
  3. 56 18
      src/views/tentative/acquisition/data.vue

+ 0 - 7
src/api/modules/other.js

@@ -65,13 +65,6 @@ export const getDictionaryBiz = (form, msg = true) => HcApi({
     params: form,
 }, msg)
 
-//业务字典
-export const getDictionaryBizTree = (form, msg = true) => HcApi({
-    url: '/api/blade-system/dict-biz/dictionary-tree',
-    method: 'get',
-    params: form,
-}, msg)
-
 
 //获取表单的下拉框测站点数据
 export const getDapSiteData = (form, msg = true) => HcApi({

+ 16 - 8
src/api/modules/tentative/acquisition/data.js

@@ -9,20 +9,28 @@ export default {
             params: form,
         }, msg)
     },
-    //删除在测样品
-    async sampleRemove(ids, msg = true) {
+    //获取设备数据
+    async dictionary(code, msg = true) {
         return HcApi({
-            url: '/api/blade-business/entrustinfo/sample_remove',
-            method: 'post',
-            params: { ids },
+            url: '/api/blade-system/dict-biz/dictionary-tree',
+            method: 'get',
+            params: { code },
         }, msg)
     },
-    //修改
-    async update(form, msg = true) {
+    //新增或修改
+    async submit(form, msg = true) {
         return HcApi({
-            url: '/api/blade-business/entrustinfo/update',
+            url: '/api/blade-system/dict-biz/submit',
             method: 'post',
             data: form,
         }, msg)
     },
+    //删除
+    async remove(ids, msg = true) {
+        return HcApi({
+            url: '/api/blade-system/dict/remove',
+            method: 'post',
+            params: { ids },
+        }, msg)
+    },
 }

+ 56 - 18
src/views/tentative/acquisition/data.vue

@@ -88,29 +88,29 @@
         <!-- 新增/编辑 -->
         <hc-new-dialog v-model="dataFormModal" :title="`${formModel.id ? '编辑' : '新增'}分类`" is-footer-center widths="25rem" @close="dataFormModalClose">
             <el-form ref="formRef" :model="formModel" :rules="formRules" label-position="top" label-width="auto" size="large">
-                <el-form-item label="上级设备:" prop="key1">
-                    <el-select v-model="formModel.key1" placeholder="父级" filterable block>
-                        <el-option label="测试" value="1" />
-                        <el-option label="测试" value="2" />
+                <el-form-item label="上级设备:" prop="parentId">
+                    <el-select v-model="formModel.parentId" placeholder="父级" filterable block>
+                        <el-option v-for="item in menuData" :key="item.id" :label="item.dictValue" :value="item.id" />
                     </el-select>
                 </el-form-item>
-                <el-form-item label="分类名称:" prop="key2">
-                    <el-input v-model="formModel.key2" />
+                <el-form-item label="分类名称:" prop="dictValue">
+                    <el-input v-model="formModel.dictValue" />
                 </el-form-item>
             </el-form>
             <template #footer>
                 <el-button @click="dataFormModalClose">取消</el-button>
-                <el-button hc-btn type="primary" @click="dataFormSave">确定</el-button>
+                <el-button hc-btn type="primary" :loading="saveLoading" @click="dataFormSave">确定</el-button>
             </template>
         </hc-new-dialog>
     </hc-body>
 </template>
 
 <script setup>
+import { HcDelMsg } from 'hc-vue3-ui'
 import { onActivated, ref } from 'vue'
 import { useAppStore } from '~src/store'
-import { getDictionaryBizTree, getErtractInfo } from '~api/other'
-import { getArrValue, getObjValue, isNullES } from 'js-fast-way'
+import { getErtractInfo } from '~api/other'
+import { formValidate, getArrValue } from 'js-fast-way'
 import mainApi from '~api/tentative/acquisition/data'
 
 //变量
@@ -163,7 +163,7 @@ const betweenTimeUpdate = ({ arr }) => {
 //分类数据
 const menuData = ref([])
 const getTestDataType = async () => {
-    const { data } = await getDictionaryBizTree({ code: 'test_data_type' })
+    const { data } = await mainApi.dictionary('test_data_type')
     menuData.value = getArrValue(data)
 }
 
@@ -293,8 +293,8 @@ const menuSelect = (parent, item) => {
 //右键菜单数据
 const contextMenuItemRef = ref(null)
 const menuItemData = ref([
-    { icon: 'edit-2', label: '修改', key: 'test-1' },
-    { icon: 'delete-bin-2', label: '删除', key: 'test-2' },
+    { icon: 'edit-2', label: '修改', key: 'edit' },
+    { icon: 'delete-bin-2', label: '删除', key: 'del' },
 ])
 
 //右键菜单
@@ -308,8 +308,23 @@ const itemsContextMenu = (event, parent, item) => {
 }
 
 //右键菜单被点击
-const handleMenuItemSelect = (item) => {
-    console.log('菜单被点击', item)
+const handleMenuItemSelect = ({ key }) => {
+    if (key === 'edit') {
+        formModel.value = menuItemsItemData.value
+        dataFormModal.value = true
+    } else if (key === 'del') {
+        HcDelMsg(async (resolve) => {
+            const { id } = menuItemsItemData.value
+            const { error, code, msg } = await mainApi.remove(id)
+            resolve()
+            if (!error && code === 200) {
+                window.$message.success('删除成功')
+                getTestDataType().then()
+            } else {
+                window.$message.error(msg ?? '删除失败')
+            }
+        })
+    }
 }
 
 //搜索
@@ -387,10 +402,15 @@ const tableSelection = (rows) => {
 const formRef = ref(null)
 const formModel = ref({})
 const formRules = {
-    key1: {
+    parentId: {
+        required: true,
+        trigger: 'blur',
+        message: '请先选择上级设备',
+    },
+    dictValue: {
         required: true,
         trigger: 'blur',
-        message: '请填写处理原因',
+        message: '请填写分类名称',
     },
 }
 
@@ -401,13 +421,31 @@ const addDataFormModal = () => {
 }
 
 //确定保存
-const dataFormSave = () => {
-    dataFormModalClose()
+const saveLoading = ref(false)
+const dataFormSave = async () => {
+    const isForm = await formValidate(formRef.value)
+    if (!isForm) return
+    const form = formModel.value
+    form.dictKey = form.dictValue
+    form.remark = form.dictValue
+    form.code = 'test_data_type'
+    form.sort = 0
+    const { error, code, msg } = await mainApi.submit(form)
+    saveLoading.value = false
+    if (!error && code === 200) {
+        window.$message.success('提交成功')
+        dataFormModalClose()
+        getTestDataType().then()
+    } else {
+        window.$message.error(msg || '操作失败')
+    }
 }
 
 //取消弹窗
 const dataFormModalClose = () => {
     dataFormModal.value = false
+    saveLoading.value = false
+    formModel.value = {}
 }
 </script>