浏览代码

完成应用管理

yukai 2 年之前
父节点
当前提交
3ae2a12410
共有 3 个文件被更改,包括 36 次插入65 次删除
  1. 6 30
      src/api/application/index.ts
  2. 22 22
      src/views/system/application/edit.vue
  3. 8 13
      src/views/system/application/index.vue

+ 6 - 30
src/api/application/index.ts

@@ -1,34 +1,10 @@
 import { get, post, del, put, file } from '/@/utils/request';
-import getOrigin from '/@/utils/origin';
-const baseUrl = getOrigin(import.meta.env.VITE_SERVER_URL);
-
 export default {
-  manage: {
-    getList: (data: any) => get('/dev_ota_fireware/list', data),
-    del: (ids: number) => del('/dev_ota_fireware/delete', { ids }),
-    add: (data: any) => post('/dev_ota_fireware/add', data),
-    edit: (data: any) => post('/dev_ota_fireware/edit', data),
-    detail: (id: number) => get('/dev_ota_fireware/get', { id }),
+  getList: (data: any) => get('/system/application/list', data),
+  del: (ids: number) => del('/system/application/delete', { ids }),
+  add: (data: any) => post('/system/application/add', data),
+  edit: (data: any) => put('/system/application/edit', data),
+  detail: (id: number) => get('/system/application/get', { id }),
+  status: (data: object) => put('/system/application/status', data),
 
-  },
-  module: {
-    getSubList: () => get('/product/list'),
-    getList: (data: any) => get('/dev_ota_module/list', data),
-    del: (ids: number) => del('/dev_ota_module/delete', { ids }),
-    add: (data: any) => post('/dev_ota_module/add', data),
-    edit: (data: any) => post('/dev_ota_module/edit', data),
-  },
-  batch: {
-    getList: (data: any) => get('/dev_ota_strategy/list', data),
-    getDeviceList: (data: any) => get('/product/device/list', data),
-    del: (ids: number) => del('/dev_ota_strategy/delete', { ids }),
-    add: (data: any) => post('/dev_ota_strategy/add', data),
-    edit: (data: any) => post('/dev_ota_strategy/edit', data),
-  },
-  device: {
-    getList: (data: any) => get('/dev_ota_detail/list', data),
-    del: (ids: number) => del('/dev_ota_detail/delete', { ids }),
-    add: (data: any) => post('/dev_ota_detail/add', data),
-    edit: (data: any) => post('/dev_ota_detail/edit', data),
-  }
 } 

+ 22 - 22
src/views/system/application/edit.vue

@@ -2,25 +2,25 @@
 	<el-dialog class="api-edit" v-model="showDialog" :title="`${formData.id ? '编辑应用' : '新增应用'}`" width="600px"
 		:close-on-click-modal="false" :close-on-press-escape="false">
 		<el-form ref="formRef" :model="formData" :rules="ruleForm" label-width="80px">
-			<el-form-item label="应用标识" prop="appId">
+			<!-- <el-form-item label="应用标识" prop="appId">
 				<el-input v-model="formData.appId" placeholder="请输入应用标识" />
-			</el-form-item>
+			</el-form-item> -->
 			<el-form-item label="应用名称" prop="name">
 				<el-input v-model="formData.name" placeholder="请输入应用名称" />
 			</el-form-item>
 			<el-form-item label="应用图标" prop="icon">
 				<uploadVue :img="formData.icon" @set-img="handleAvatarSuccess"></uploadVue>
 			</el-form-item>
-			<el-form-item label="AK" prop="access_key">
-				<el-input v-model="formData.access_key" placeholder="请输入ak,应用接入认证" />
+			<el-form-item label="AK" prop="accessKey">
+				<el-input v-model="formData.accessKey" placeholder="请输入ak,应用接入认证" />
 			</el-form-item>
-			<el-form-item label="SK" prop="secure_key">
-				<el-input v-model="formData.secure_key" placeholder="请输入sk,应用接入认证" />
+			<el-form-item label="SK" prop="secureKey">
+				<el-input v-model="formData.secureKey" placeholder="请输入sk,应用接入认证" />
 			</el-form-item>
-			<el-form-item label="组织" prop="org_id">
+			<el-form-item label="组织" prop="orgId">
 				<el-cascader :options="deptData"
 					:props="{ checkStrictly: true, emitPath: false, value: 'deptId', label: 'deptName' }"
-					placeholder="请选择组织" clearable class="w100" v-model="formData.org_id
+					placeholder="请选择组织" clearable class="w100" v-model="formData.orgId
 						">
 					<template #default="{ node, data }">
 						<span>{{ data.deptName }}</span>
@@ -28,10 +28,10 @@
 					</template>
 				</el-cascader>
 			</el-form-item>
-			<el-form-item label="角色" prop="role_id">
+			<el-form-item label="角色" prop="roleId">
 				<el-cascader :options="roleData"
-					:props="{ checkStrictly: true, multiple: true, emitPath: false, value: 'id', label: 'name' }"
-					placeholder="请选择角色" clearable class="w100" v-model="formData.role_id">
+					:props="{ checkStrictly: true, emitPath: false, value: 'id', label: 'name' }"
+					placeholder="请选择角色" clearable class="w100" v-model="formData.roleId">
 					<template #default="{ node, data }">
 						<span>{{ data.name }}</span>
 						<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
@@ -81,12 +81,11 @@ const props = defineProps({
 const baseForm = {
 	id: undefined,
 	name: '',
-	appId: '',
 	icon: '',
-	access_key: '',
-	secure_key: '',
-	org_id: '',
-	role_id: '',
+	accessKey: '',
+	secureKey: '',
+	orgId: '',
+	roleId: '',
 	desc: '',
 	status: 1,
 };
@@ -95,16 +94,15 @@ const formData = reactive({
 });
 const ruleForm = {
 	name: [ruleRequired('应用名称不能为空')],
-	appId: [ruleRequired('应用标识不能为空')],
 	icon: [ruleRequired('应用图标不能为空')],
-	access_key: [ruleRequired('AK不能为空')],
-	secure_key: [ruleRequired('SK不能为空')],
-	org_id: [ruleRequired('组织不能为空')],
-	role_id: [ruleRequired('角色产品不能为空')],
+	accessKey: [ruleRequired('AK不能为空')],
+	secureKey: [ruleRequired('SK不能为空')],
+	orgId: [ruleRequired('组织不能为空')],
+	roleId: [ruleRequired('角色产品不能为空')],
 };
 const onSubmit = async () => {
 	await formRef.value.validate();
-	const theApi = formData.id ? api.module.edit : api.module.add;
+	const theApi = formData.id ? api.edit : api.add;
 	await theApi(formData);
 	ElMessage.success('操作成功');
 	resetForm();
@@ -124,6 +122,8 @@ const open = async (row: any) => {
 	showDialog.value = true;
 	nextTick(() => {
 		Object.assign(formData, { ...row });
+		console.log(formData);
+
 	});
 };
 

+ 8 - 13
src/views/system/application/index.vue

@@ -12,12 +12,6 @@
 						@keyup.enter.native="getList"
 					/>
 				</el-form-item>
-				<el-form-item label="应用状态" prop="status" style="width: 200px;">
-					<el-select v-model="params.status" placeholder="应用状态" clearable size="default" style="width: 240px">
-						<el-option label="启用" :value="1" />
-						<el-option label="禁用" :value="0" />
-					</el-select>
-				</el-form-item>
 				<el-form-item>
 					<el-button size="default" type="primary" class="ml10" @click="getList()">
 						<el-icon>
@@ -38,8 +32,8 @@
 		</div>
 		<el-table :data="tableData" style="width: 100%" row-key="id" v-loading="loading">
 			<el-table-column prop="id" label="ID" width="60" show-overflow-tooltip></el-table-column>
-			<el-table-column prop="name" label="应用标识" show-overflow-tooltip></el-table-column>
-			<el-table-column prop="nameAs" label="应用名称" show-overflow-tooltip></el-table-column>
+			<el-table-column prop="appId" label="应用标识" show-overflow-tooltip></el-table-column>
+			<el-table-column prop="name" label="应用名称" show-overflow-tooltip></el-table-column>
 			<el-table-column prop="status" label="应用状态" align="center">
 				<template #default="scope">
 					<el-tag size="small" type="success" v-if="scope.row.status == 1">启用</el-tag>
@@ -70,11 +64,12 @@ import { ref } from 'vue'
 import api from '/@/api/application'
 import user from '/@/api/system';
 import { useSearch } from '/@/hooks/useCommon'
+
 const queryRef = ref()
 const deptData = ref([])
 const roleData = ref([])
 const editFormRef = ref()
-const { params, tableData, getList, loading } = useSearch<any[]>(api.module.getList, 'Data', { keyWord: '' })
+const { params, tableData, getList, loading } = useSearch<any[]>(api.getList, 'Data', { keyWord: '' })
 getList()
 const initTableData = () => {
 	user.dept.getList({status:1}).then((res: any) => {
@@ -87,12 +82,12 @@ const initTableData = () => {
 initTableData();
 const onActionStatus = (item: any) => {
 	if (item.status == 0) {
-		api.manage.status({ id: item.id,status:1 }).then((res: any) => {
+		api.status({ id: item.id,status:1 }).then((res: any) => {
 			getList();
 			ElMessage.success(res.message || '操作成功');
 		});
 	} else {
-		api.manage.status({ id: item.id,status:0 }).then((res: any) => {
+		api.status({ id: item.id,status:0 }).then((res: any) => {
 			getList();
 			ElMessage.success(res.message || '操作成功');
 		});
@@ -107,12 +102,12 @@ const addOrEdit = async (row?: any) => {
 	}
 }
 const del = (row: any) => {
-	ElMessageBox.confirm(`此操作将删除模型:“${row.name}”,是否继续?`, '提示', {
+	ElMessageBox.confirm(`此操作将删除应用:“${row.name}”,是否继续?`, '提示', {
 		confirmButtonText: '确认',
 		cancelButtonText: '取消',
 		type: 'warning',
 	}).then(async () => {
-		await api.module.del(row.id)
+		await api.del(row.id)
 		ElMessage.success('删除成功')
 		getList()
 	})