creat:硬件列表
This commit is contained in:
1 parent
a0c7e31564
commit
c07351caea
6 files changed
+74
-35
No files matched your search
@@ -1,5 +1,13 @@
|
||||
import request from "/@/utils/request"
|
||||
|
||||
export function pageJoin(query?: Object) {
|
||||
return request({
|
||||
url: '/hard/hard-invoice/page-join',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchList(query?: Object) {
|
||||
return request({
|
||||
url: '/hard/hard-invoice/page',
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
import request from "/@/utils/request"
|
||||
|
||||
export function pageJoin(query?: Object) {
|
||||
return request({
|
||||
url: '/hard/hard-manager/page-join',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
export function fetchList(query?: Object) {
|
||||
return request({
|
||||
url: '/hard/hard-manager/page',
|
||||
|
||||
Whitespace-only changes.
@@ -1,28 +1,23 @@
|
||||
<template>
|
||||
<el-dialog :title="form.id ? '编辑' : '新增'" v-model="visible" :close-on-click-modal="false" draggable>
|
||||
<el-dialog :title="form.id ? '编辑' : '新增'" width="30%" v-model="visible" :close-on-click-modal="false" draggable>
|
||||
<el-form ref="dataFormRef" :model="form" :rules="dataRules" formDialogRef label-width="90px" v-loading="loading">
|
||||
<el-row :gutter="24">
|
||||
<el-col :span="12" class="mb20">
|
||||
<el-form-item label="商户id" prop="merchantId">
|
||||
<el-input v-model="form.merchantId" placeholder="请输入商户id" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="mb20">
|
||||
<el-form-item label="商家部门id" prop="deptId">
|
||||
<el-input v-model="form.deptId" placeholder="请输入商家部门id" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="mb20">
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="设备名" prop="name">
|
||||
<el-input v-model="form.name" placeholder="请输入设备名" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="mb20">
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="商户" prop="merchantId">
|
||||
<select-mch v-model="form.merchantId" placeholder="请选择商户" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="24" class="mb20">
|
||||
<el-form-item label="设备类型" prop="type">
|
||||
<el-input v-model="form.type" placeholder="请输入设备类型" />
|
||||
<dict-select v-model="form.type" dict-code="hard_type" clearable />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
@@ -61,6 +56,9 @@ const form = reactive({
|
||||
|
||||
// 定义校验规则
|
||||
const dataRules = ref({
|
||||
name: [{ required: true, message: '设备名不能为空', trigger: 'blur' }],
|
||||
merchantId: [{ required: true, message: '商户不能为空', trigger: 'change' }],
|
||||
type: [{ required: true, message: '设备类型不能为空', trigger: 'change' }],
|
||||
})
|
||||
|
||||
// 打开弹窗
|
||||
|
||||
@@ -20,24 +20,38 @@
|
||||
@sort-change="sortChangeHandle">
|
||||
<el-table-column type="selection" width="40" align="center" />
|
||||
<el-table-column type="index" label="#" width="40" />
|
||||
<el-table-column prop="merchantId" label="商户id" show-overflow-tooltip />
|
||||
<el-table-column prop="deptId" label="商家部门id" show-overflow-tooltip />
|
||||
<el-table-column prop="name" label="设备名" show-overflow-tooltip />
|
||||
<el-table-column prop="type" label="设备类型" show-overflow-tooltip />
|
||||
<el-table-column prop="mqClientId" label="mq连接id" show-overflow-tooltip />
|
||||
<el-table-column prop="uniqueCode" label="设备唯一编号" show-overflow-tooltip />
|
||||
<el-table-column prop="mainTopic" label="当前设备的topic" show-overflow-tooltip />
|
||||
<el-table-column prop="mqSocketAddress" label="mq地址" show-overflow-tooltip />
|
||||
<el-table-column prop="mqSocketPort" label="mq端口" show-overflow-tooltip />
|
||||
<el-table-column prop="mqUsername" label="mq用户名" show-overflow-tooltip />
|
||||
<el-table-column prop="mqPassword" label="mq密码" show-overflow-tooltip />
|
||||
<el-table-column prop="isTakeFood" label="是否为当前商户的取餐机器" show-overflow-tooltip />
|
||||
<el-table-column label="操作" width="150">
|
||||
<template #default="scope">
|
||||
<el-table-column prop="name" label="设备名" />
|
||||
<el-table-column prop="type" label="设备类型">
|
||||
<template #default="{ row }">
|
||||
<dict-tag :options="hard_type" :value="row.type" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="merchantName" label="商户" />
|
||||
<el-table-column prop="deptName" label="部门" />
|
||||
<el-table-column prop="uniqueCode" label="设备唯一编号" />
|
||||
<el-table-column prop="mainTopic" width="200" label="topic" />
|
||||
<el-table-column prop="isTakeFood" width="200" label="是否为当前商户的取餐机器">
|
||||
<template #default="{ row }">
|
||||
<el-switch v-if="row.type == 1" :loading="switchTakeFoodLoading" active-text="是" inactive-text="否"
|
||||
active-value="1" inactive-value="0" v-model="row.isTakeFood" @change="changeTakeFood($event, row)" />
|
||||
<div v-else>只有食堂需要设置</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" width="200" label="创建时间" />
|
||||
<el-table-column label="操作" fixed="right" width="400">
|
||||
<template #default="{ row }">
|
||||
<el-button icon="edit-pen" text type="primary" v-auth="'hard_hardManager_edit'"
|
||||
@click="formDialogRef.openDialog(scope.row.id)">编辑</el-button>
|
||||
@click="formDialogRef.openDialog(row.id)">编辑</el-button>
|
||||
<el-button link type="primary" @click="formDialogRef.openDialog(row.id)"
|
||||
v-hasPermi="['hardware:manager:update']">
|
||||
mq设置
|
||||
</el-button>
|
||||
<el-button link type="primary" @click="formDialogRef.openDialog(row.id)"
|
||||
v-hasPermi="['hardware:manager:update']">
|
||||
人脸sdk设置
|
||||
</el-button>
|
||||
<el-button icon="delete" text type="primary" v-auth="'hard_hardManager_del'"
|
||||
@click="handleDelete([scope.row.id])">删除</el-button>
|
||||
@click="handleDelete([row.id])">删除</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -52,16 +66,17 @@
|
||||
|
||||
<script setup lang="ts" name="systemHardManager">
|
||||
import { BasicTableProps, useTable } from "/@/hooks/table";
|
||||
import { fetchList, delObjs } from '/@/api/hard/hard-manager'
|
||||
import * as hardManageApi from '/@/api/hard/hard-manager'
|
||||
import { useMessage, useMessageBox } from "/@/hooks/message";
|
||||
import { useDict } from '/@/hooks/dict';
|
||||
|
||||
// 引入组件
|
||||
const FormDialog = defineAsyncComponent(() => import('./form.vue'));
|
||||
// 定义查询字典
|
||||
|
||||
const { hard_type } = useDict('hard_type')
|
||||
// 定义变量内容
|
||||
const formDialogRef = ref()
|
||||
const switchTakeFoodLoading = ref(false)
|
||||
// 搜索变量
|
||||
const queryRef = ref()
|
||||
const showSearch = ref(true)
|
||||
@@ -71,7 +86,7 @@ const multiple = ref(true)
|
||||
|
||||
const state: BasicTableProps = reactive<BasicTableProps>({
|
||||
queryForm: {},
|
||||
pageList: fetchList
|
||||
pageList: hardManageApi.pageJoin
|
||||
})
|
||||
|
||||
// table hook
|
||||
@@ -93,6 +108,16 @@ const resetQuery = () => {
|
||||
getDataList()
|
||||
}
|
||||
|
||||
const changeTakeFood = async (e: any, row: any) => {
|
||||
switchTakeFoodLoading.value = true
|
||||
try {
|
||||
await hardManageApi.putObj({ id: row.id, isTakeFood: e })
|
||||
getDataList()
|
||||
} finally {
|
||||
switchTakeFoodLoading.value = false
|
||||
}
|
||||
}
|
||||
|
||||
// 导出excel
|
||||
const exportExcel = () => {
|
||||
downBlobFile('/hard/hardManager/export', Object.assign(state.queryForm, { ids: selectObjs }), 'hardManager.xlsx')
|
||||
@@ -113,7 +138,7 @@ const handleDelete = async (ids: string[]) => {
|
||||
}
|
||||
|
||||
try {
|
||||
await delObjs(ids);
|
||||
await hardManageApi.delObjs(ids);
|
||||
getDataList();
|
||||
useMessage().success('删除成功');
|
||||
} catch (err: any) {
|
||||
|
||||
Whitespace-only changes.
Reference in new issue
Block a user