|
@@ -4,171 +4,4 @@
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
import { nextTick, onActivated, ref } from 'vue'
|
|
import { nextTick, onActivated, ref } from 'vue'
|
|
-import { arrToId, formValidate, getArrValue } from 'js-fast-way'
|
|
|
|
-import { delMessage, reloadPage } from '~uti/tools'
|
|
|
|
-import roleApi from '~api/system/role'
|
|
|
|
-import mainApi from '~api/system/user'
|
|
|
|
-
|
|
|
|
-defineOptions({
|
|
|
|
- name: 'User',
|
|
|
|
-})
|
|
|
|
-
|
|
|
|
-//激活
|
|
|
|
-onActivated(() => {
|
|
|
|
- getTableData()
|
|
|
|
-})
|
|
|
|
-
|
|
|
|
-//搜索表单
|
|
|
|
-const searchForm = ref({ current: 1, size: 30, total: 0 })
|
|
|
|
-
|
|
|
|
-//搜索
|
|
|
|
-const searchClick = () => {
|
|
|
|
- searchForm.value.current = 1
|
|
|
|
- getTableData()
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-//分页
|
|
|
|
-const pageChange = ({ current, size }) => {
|
|
|
|
- searchForm.value.current = current
|
|
|
|
- searchForm.value.size = size
|
|
|
|
- getTableData()
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-//表格数据
|
|
|
|
-const tableRef = ref(null)
|
|
|
|
-const tableColumn = ref([
|
|
|
|
- { key: 'paramName', name: '参数名称' },
|
|
|
|
- { key: 'paramKey', name: '参数键名' },
|
|
|
|
- { key: 'paramValue', name: '参数键值' },
|
|
|
|
- { key: 'action', name: '操作', width: 100, align: 'center' },
|
|
|
|
-])
|
|
|
|
-
|
|
|
|
-//获取表格数据
|
|
|
|
-const tableLoading = ref(true)
|
|
|
|
-const tableData = ref([])
|
|
|
|
-const getTableData = async () => {
|
|
|
|
- tableData.value = []
|
|
|
|
- tableLoading.value = true
|
|
|
|
- const { error, code, data } = await mainApi.page({
|
|
|
|
- ...searchForm.value,
|
|
|
|
- total: null,
|
|
|
|
- })
|
|
|
|
- tableLoading.value = false
|
|
|
|
- if (!error && code === 200) {
|
|
|
|
- tableData.value = getArrValue(data['records'])
|
|
|
|
- searchForm.value.total = data['total']
|
|
|
|
- } else {
|
|
|
|
- tableData.value = []
|
|
|
|
- searchForm.value.total = 0
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-//表格被选择
|
|
|
|
-const tableCheckKeys = ref([])
|
|
|
|
-const tableCheckChange = (rows) => {
|
|
|
|
- tableCheckKeys.value = rows
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-//新增/修改 弹窗
|
|
|
|
-const isDialogShow = ref(false)
|
|
|
|
-const dialogTitle = ref('')
|
|
|
|
-
|
|
|
|
-//菜单表单
|
|
|
|
-const formRef = ref(null)
|
|
|
|
-const formModel = ref({})
|
|
|
|
-const formRules = {
|
|
|
|
- paramName: {
|
|
|
|
- required: true,
|
|
|
|
- trigger: 'blur',
|
|
|
|
- message: '请输入参数名称',
|
|
|
|
- },
|
|
|
|
- paramKey: {
|
|
|
|
- required: true,
|
|
|
|
- trigger: 'blur',
|
|
|
|
- message: '请输入参数键名',
|
|
|
|
- },
|
|
|
|
- paramValue: {
|
|
|
|
- required: true,
|
|
|
|
- trigger: 'blur',
|
|
|
|
- message: '请输入参数键值',
|
|
|
|
- },
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-//新增
|
|
|
|
-const addClick = () => {
|
|
|
|
- dialogTitle.value = '新增参数'
|
|
|
|
- formModel.value = {}
|
|
|
|
- //显示表单弹窗
|
|
|
|
- nextTick(() => {
|
|
|
|
- isDialogShow.value = true
|
|
|
|
- })
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-//修改菜单
|
|
|
|
-const editRowClick = (row) => {
|
|
|
|
- formModel.value = {}
|
|
|
|
- dialogTitle.value = '修改参数'
|
|
|
|
- formModel.value = { ...row }
|
|
|
|
- //显示表单弹窗
|
|
|
|
- nextTick(() => {
|
|
|
|
- isDialogShow.value = true
|
|
|
|
- })
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-//删除菜单
|
|
|
|
-const delRowClick = (row) => {
|
|
|
|
- delMessage(async () => {
|
|
|
|
- const { code, msg } = await mainApi.del(row.id)
|
|
|
|
- if (code === 200) {
|
|
|
|
- window.$message.success('删除成功')
|
|
|
|
- reloadPage()
|
|
|
|
- } else {
|
|
|
|
- window.$message.error(msg ?? '删除失败')
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-//批量删除菜单
|
|
|
|
-const delClick = () => {
|
|
|
|
- const rows = tableCheckKeys.value
|
|
|
|
- if (rows.length <= 0) {
|
|
|
|
- window.$message.warning('请选择要删除的菜单')
|
|
|
|
- return false
|
|
|
|
- }
|
|
|
|
- //确认删除菜单
|
|
|
|
- delMessage(async () => {
|
|
|
|
- const ids = arrToId(rows)
|
|
|
|
- const { code, msg } = await mainApi.del(ids)
|
|
|
|
- if (code === 200) {
|
|
|
|
- window.$message.success('删除成功')
|
|
|
|
- reloadPage()
|
|
|
|
- } else {
|
|
|
|
- window.$message.error(msg ?? '删除失败')
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-//提交表单
|
|
|
|
-const submitLoading = ref(false)
|
|
|
|
-const dialogSubmit = async () => {
|
|
|
|
- const formRes = await formValidate(formRef.value)
|
|
|
|
- if (!formRes) return false
|
|
|
|
- submitLoading.value = true
|
|
|
|
- //发起请求
|
|
|
|
- const { error, code, msg } = await mainApi.submit(formModel.value)
|
|
|
|
- submitLoading.value = false
|
|
|
|
- if (!error && code === 200) {
|
|
|
|
- window?.$message?.success('操作成功')
|
|
|
|
- reloadPage()
|
|
|
|
- } else {
|
|
|
|
- window?.$message?.error(msg ?? '操作失败')
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-//关闭弹窗
|
|
|
|
-const dialogClose = () => {
|
|
|
|
- isDialogShow.value = false
|
|
|
|
- submitLoading.value = false
|
|
|
|
- formModel.value = {}
|
|
|
|
-}
|
|
|
|
</script>
|
|
</script>
|