You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.6 KiB
75 lines
1.6 KiB
<script setup lang="ts">
|
|
import { delPhoto, photoList } from 'apis/home'
|
|
import Photo from 'components/home/Photo/index.vue'
|
|
import { ElMessageBox } from 'element-plus'
|
|
import { FtMessage } from 'libs/message'
|
|
import { ref, useTemplateRef } from 'vue'
|
|
|
|
const btnList = [
|
|
{
|
|
name: '查看照片',
|
|
type: 'primary',
|
|
serverUrl: 'edit',
|
|
serverCondition: 1,
|
|
},
|
|
{
|
|
name: '删除',
|
|
type: 'danger',
|
|
serverUrl: 'del',
|
|
serverCondition: 2,
|
|
},
|
|
]
|
|
const columns = [
|
|
{
|
|
type: 'selection',
|
|
},
|
|
{
|
|
title: '模式',
|
|
key: 'mode',
|
|
},
|
|
{
|
|
title: '矿石名称',
|
|
key: 'oreName',
|
|
},
|
|
{
|
|
title: '工艺名称',
|
|
key: 'craftsName',
|
|
},
|
|
{
|
|
title: '创建时间',
|
|
key: 'createTime',
|
|
},
|
|
]
|
|
|
|
const tableRef = useTemplateRef('tableRef')
|
|
|
|
const del = async (selectedRows: any) => {
|
|
const ids = selectedRows.map((item: any) => item.id)
|
|
await ElMessageBox.confirm('确定删除当前选中的行?', '消息', {
|
|
confirmButtonText: '确认',
|
|
cancelButtonText: '取消',
|
|
type: 'warning',
|
|
})
|
|
await delPhoto(ids)
|
|
FtMessage.success('删除成功')
|
|
tableRef.value?.initData()
|
|
}
|
|
|
|
const id = ref(0)
|
|
const photoVisible = ref(false)
|
|
const edit = (selectedRows: any) => {
|
|
id.value = selectedRows[0].id
|
|
photoVisible.value = true
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<div>
|
|
<FtTable ref="tableRef" has-header has-page :columns="columns" :btn-list="btnList" :get-data-fn="photoList" @edit="edit" @del="del" />
|
|
<Photo v-if="photoVisible" :id @cancel="photoVisible = false" />
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped lang="scss">
|
|
|
|
</style>
|