|
@@ -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>
|