Browse Source

青苗库名称

duy 1 year ago
parent
commit
6e5dec7270
3 changed files with 70 additions and 16 deletions
  1. 1 1
      src/api/modules/base/crops.js
  2. 67 13
      src/views/base/crops.vue
  3. 2 2
      src/views/base/policy.vue

+ 1 - 1
src/api/modules/base/crops.js

@@ -29,7 +29,7 @@ export default {
             return httpApi({
                 url: '/api/blade-land/cropsInfo/remove',
                 method: 'post',
-                params: form,
+                data: form,
             }, msg)
         },
 }

+ 67 - 13
src/views/base/crops.vue

@@ -29,12 +29,12 @@
                     <HcIcon name="add" />
                     <span>新增</span>
                 </el-button>
-                <el-button size="large" type="danger" hc-btn>
+                <el-button size="large" type="danger" hc-btn :disabled="tableCheckedKeys.length < 1" @click="batchClick">
                     <HcIcon name="delete-bin" />
                     <span>删除</span>
                 </el-button>
             </template>
-            <HcTable :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check @selection-change="tableSelectionChange">
+            <HcTable ref="tableListRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check @selection-change="tableSelectionChange">
                 <template #action="{ row, index }">
                     <el-button size="small" type="warning" @click="viewRowClick(row)">
                         查看
@@ -42,7 +42,7 @@
                     <el-button size="small" type="primary" @click="editRowClick(row)">
                         编辑
                     </el-button>
-                    <el-button size="small" type="danger">
+                    <el-button size="small" type="danger" @click="delClickRow(row)">
                         删除
                     </el-button>
                 </template>
@@ -90,7 +90,7 @@
                         <el-input v-model="row.agreementStand" />
                     </template>
                     <template #action="{ row, index }">
-                        <el-button size="small" type="danger">
+                        <el-button size="small" type="danger" @click="delChild(index)">
                             <HcIcon name="delete-bin" />
                             <span>删除</span>
                         </el-button>
@@ -104,17 +104,17 @@
             <HcCard>
                 <template #header>
                     <el-form inline :model="formModel" size="large" disabled>
-                        <el-form-item label="名称:" prop="key1">
-                            <el-input v-model="formModel.key1" />
+                        <el-form-item label="名称:" prop="name">
+                            <el-input v-model="formModel.name" />
                         </el-form-item>
                         <el-form-item label="补偿性质:">
-                            <el-select v-model="formModel.key2" block>
+                            <el-select v-model="formModel.compensationType" block>
                                 <el-option v-for="item in compensationType" :key="item.id" :label="item.dictValue" :value="item.dictKey" />
                             </el-select>
                         </el-form-item>
                     </el-form>
                 </template>
-                <HcTable :column="tableColumn1" :datas="tableData1" />
+                <HcTable :column="tableColumn2" :datas="tableData1" />
             </HcCard>
         </HcDialog>
     </HcPageLayout>
@@ -126,6 +126,7 @@ import cropsApi from '~api/base/crops.js'
 import { getDictInfo } from '~api/other'
 import { arrToId, formValidate, getArrValue, getObjValue } from 'js-fast-way'
 import { useAppStore } from '~src/store'
+import { delMessageV2 } from '~com/message/index.js'
 
 
 onMounted(()=>{
@@ -206,8 +207,13 @@ const getTableData = async () => {
 }
 
 //多选事件
+//多选
+const tableListRef = ref(null)
+const tableCheckedKeys = ref([])
 const tableSelectionChange = (rows) => {
-    console.log(rows)
+    tableCheckedKeys.value = rows.filter((item) => {
+        return (item ?? '') !== ''
+    })
 }
 
 //弹窗
@@ -226,15 +232,27 @@ const tableColumn1 = [
     { key: 'agreementStand', name: '两方协议补偿标准' },
     { key: 'action', name: '操作', width: '100', align: 'center' },
 ]
+//表格表单数据
+const tableColumn2 = [
+    { key: 'specificationName', name: '规格名称' },
+    { key: 'unitName', name: '单位名称' },
+    { key: 'governmentStand', name: '政府补偿标准' },
+    { key: 'agreementStand', name: '两方协议补偿标准' },
+   
+]
 const tableData1 = ref([
 ])
 
 //新增
 const addRowClick = () => {
     formModel.value = {}
+    tableData1.value = []
     rowModal.value = true
 }
-
+//删除
+const delChild = (index)=>{
+    tableData1.value.splice(index, 1)
+}
 //编辑
 const editRowClick = (row) => {
     getDetail(row.id)
@@ -247,7 +265,7 @@ const getDetail = async (id)=>{
     })
     if (!error && code === 200) {
         formModel.value = getObjValue(data)
-        tableData1.value = formModel.value.childrenList
+        tableData1.value = formModel.value.childrenList || []
     
     } else {
         formModel.value = {}
@@ -257,8 +275,6 @@ const getDetail = async (id)=>{
 const submitLoading = ref(false)
 //保存
 const rowModalSave = async () => {
-    console.log(formModel.value, 'value')
-    console.log(tableData1.value, 'tableData1')
     const res = await formValidate(formRef.value)
     if (res) {
         submitLoading.value = true
@@ -288,6 +304,7 @@ const rowModalClose = () => {
 const rowViewModal = ref(false)
 const viewRowClick = (row) => {
     rowViewModal.value = true
+    getDetail(row.id)
 }
 const rowViewModalClose = () => {
     rowViewModal.value = false
@@ -296,6 +313,43 @@ const rowViewModalClose = () => {
 const addChildRowClick = ()=>{
     tableData1.value.push({})
 }
+const batchClick = ()=>{
+    const rows = tableCheckedKeys.value
+    const ids = arrToId(rows).split(',')
+    delMessageV2(async (action, instance, done) => {
+        if (action === 'confirm') {
+            instance.confirmButtonLoading = true
+             removeRow(ids)
+            instance.confirmButtonLoading = false
+            done()
+        } else {
+            done()
+        }
+ })
+}
+const removeRow = async (id)=>{
+    const { error, code } = await cropsApi.remove( id, false)
+    //判断状态
+    if (!error && code === 200) {
+        window.$message?.success('删除成功')
+        getTableData()
+    } else {
+        window.$message?.error('删除失败')
+    }
+}
+//删除
+const delClickRow = (row)=>{
+    delMessageV2(async (action, instance, done) => {
+        if (action === 'confirm') {
+            instance.confirmButtonLoading = true
+             removeRow([row.id])
+            instance.confirmButtonLoading = false
+            done()
+        } else {
+            done()
+        }
+ })
+}
 </script>
 
 <style lang="scss" scoped>

+ 2 - 2
src/views/base/policy.vue

@@ -30,12 +30,12 @@
                 <HcIcon name="add" />
                 <span>新增</span>
             </el-button>
-            <el-button size="large" type="danger" hc-btn @click="batchClick">
+            <el-button size="large" type="danger" hc-btn :disabled="tableCheckedKeys.length < 1" @click="batchClick">
                 <HcIcon name="delete-bin" />
                 <span>删除</span>
             </el-button>
         </template>
-        <HcTable ref="tableListRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check :disabled="tableCheckedKeys.length < 1" @selection-change="tableSelectionChange">
+        <HcTable ref="tableListRef" :column="tableColumn" :datas="tableData" :loading="tableLoading" is-check @selection-change="tableSelectionChange">
             <template #action="{ row, index }">
                 <el-button size="small" type="warning" @click="previewPdf(row)">
                     查看附件