Преглед изворни кода

将指数管理的路径改为到企业版中

yanglzh пре 11 месеци
родитељ
комит
6df874c88c

+ 0 - 14
src/api/assess/index.ts

@@ -1,14 +0,0 @@
-import { get, post, del, put } from '/@/utils/request';
-import { getOtherServersOrigin } from '/@/utils/origin';
-
-const baseUrl = getOtherServersOrigin(import.meta.env.VITE_ASSESS_URL);
-
-export default {
-  getList: (params?: object) => get(baseUrl + '/setup', params),
-  setItem: (params?: object) => post(baseUrl + '/setup', params),
-  deleteItem: (params?: object) => del(baseUrl + '/setup', params),
-  getDataSourceInfo: (params?: object) => get(baseUrl + '/datasetup/target', params),
-  testDataSource: (params?: object) => post(baseUrl + '/datasetup/test', params),
-  addDataSourceInfo: (params?: object) => post(baseUrl + '/datasetup', params),
-  editataSourceInfo: (params?: object) => put(baseUrl + '/datasetup', params),
-}

+ 13 - 0
src/api/modules/index.ts

@@ -1,6 +1,10 @@
 import { get, post, del, put } from '/@/utils/request';
+import { getOtherServersOrigin } from '/@/utils/origin';
+
+const baseUrl = getOtherServersOrigin(import.meta.env.VITE_ASSESS_URL);
 
 export default {
+  // 租户管理
   tenant: {
     getAll: () => get('/tenant/getAll'),
     list: (params: object) => get('/tenant/list', params),
@@ -12,4 +16,13 @@ export default {
     addItem: (data: object) => post('/device/add', data),
     getFlowDataByDateRange: (data: object) => post('/sim/collect/flow_date', data),
   },
+  assess: {
+    getList: (params?: object) => get(baseUrl + '/setup', params),
+    setItem: (params?: object) => post(baseUrl + '/setup', params),
+    deleteItem: (params?: object) => del(baseUrl + '/setup', params),
+    getDataSourceInfo: (params?: object) => get(baseUrl + '/datasetup/target', params),
+    testDataSource: (params?: object) => post(baseUrl + '/datasetup/test', params),
+    addDataSourceInfo: (params?: object) => post(baseUrl + '/datasetup', params),
+    editataSourceInfo: (params?: object) => put(baseUrl + '/datasetup', params),
+  }
 }

+ 0 - 2
src/views/system/assess/totalIndex/component/addItem.vue → src/views/modules/assess/component/addItem.vue

@@ -61,8 +61,6 @@ import { ElMessageBox, ElMessage } from 'element-plus';
 import AddSign from './addSign.vue';
 import SetTask from './setTask.vue';
 
-
-
 // 定义接口来定义对象的类型
 interface DeptData {
 	deptName: string;

+ 0 - 0
src/views/system/assess/totalIndex/component/addSign.vue → src/views/modules/assess/component/addSign.vue


+ 2 - 2
src/views/system/assess/totalIndex/component/detailItem.vue → src/views/modules/assess/component/detailItem.vue

@@ -76,7 +76,7 @@
 <script lang="ts">
 import { reactive, toRefs, onMounted, defineComponent } from 'vue';
 
-import api from '/@/api/assess';
+import api from '/@/api/modules';
 
 // 定义接口来定义对象的类型
 interface RuleFormRow {
@@ -108,7 +108,7 @@ export default defineComponent({
     });
     // 打开弹窗
     const openDialog = (row: any) => {
-      api.getList({ itemcode: row.item_code }).then((res: any) => {
+      api.assess.getList({ itemcode: row.item_code }).then((res: any) => {
         state.ruleForm = res
         state.isShowDialog = true;
 

+ 3 - 3
src/views/system/assess/totalIndex/component/editItem.vue → src/views/modules/assess/component/editItem.vue

@@ -54,7 +54,7 @@ import AddSign from './addSign.vue';
 import SetTask from './setTask.vue';
 
 
-import api from '/@/api/assess';
+import api from '/@/api/modules';
 
 // 定义接口来定义对象的类型
 interface DeptData {
@@ -132,7 +132,7 @@ export default defineComponent({
 		// 打开弹窗
 		const openDialog = (row: any) => {
 			if (row) {
-				api.getList({ itemcode: row.item_code }).then((res: any) => {
+				api.assess.getList({ itemcode: row.item_code }).then((res: any) => {
 					state.ruleForm = res;
 					state.tableData.data = res.targets
 					state.isShowDialog = true;
@@ -164,7 +164,7 @@ export default defineComponent({
 				if (valid) {
 					state.ruleForm.targets = state.tableData.data
 
-					api.setItem(state.ruleForm).then((res: any) => {
+					api.assess.setItem(state.ruleForm).then((res: any) => {
 						ElMessage.success('提交成功');
 						emit('fetchList');
 						closeDialog(); // 关闭弹窗

+ 5 - 5
src/views/system/assess/totalIndex/component/setTask.vue → src/views/modules/assess/component/setTask.vue

@@ -152,7 +152,7 @@ import { reactive, toRefs, onMounted, defineComponent, ref } from 'vue';
 import type { FormInstance, FormRules } from 'element-plus';
 import { ElMessage } from 'element-plus';
 
-import api from '/@/api/assess';
+import api from '/@/api/modules';
 
 // 定义接口来定义对象的类型
 interface RuleFormRow {
@@ -216,7 +216,7 @@ export default defineComponent({
 		};
 		// 新增数据
 		const addDataSourceInfo = (params: any) => {
-			api.addDataSourceInfo(params).then(() => {
+			api.assess.addDataSourceInfo(params).then(() => {
 				ElMessage.success('数据提交成功');
 				closeDialog();
 				state.isShow = false
@@ -224,7 +224,7 @@ export default defineComponent({
 		};
 		// 编辑数据
 		const editataSourceInfo = (params: any) => {
-			api.editataSourceInfo(params).then((res: any) => {
+			api.assess.editataSourceInfo(params).then((res: any) => {
 				ElMessage.success('数据提交成功');
 				closeDialog();
 				state.isShow = false
@@ -243,7 +243,7 @@ export default defineComponent({
 				uri: state.ruleForm.uri,
 				object: state.ruleForm.object
 			}
-			api.testDataSource(params).then((res: any) => {
+			api.assess.testDataSource(params).then((res: any) => {
 				state.testRes = res
 			});
 		};
@@ -254,7 +254,7 @@ export default defineComponent({
 				target_name: row.name,
 			};
 			state.item_code = item_code;
-			api.getDataSourceInfo(params).then((res: any) => {
+			api.assess.getDataSourceInfo(params).then((res: any) => {
 				if (res) {
 					// 编辑
 					state.ruleForm = res;

+ 4 - 4
src/views/system/assess/totalIndex/index.vue → src/views/modules/assess/index.vue

@@ -43,7 +43,7 @@ import EditOrAddItem from './component/editItem.vue';
 
 import DetailItem from './component/detailItem.vue';
 
-import api from '/@/api/assess';
+import api from '/@/api/modules';
 
 // 定义接口来定义对象的类型
 interface TableDataRow {
@@ -111,10 +111,10 @@ export default defineComponent({
     };
     const fetchList = () => {
       state.tableData.loading = true
-      api.getList().then((res: any) => {
+      api.assess.getList().then((res: any) => {
         state.tableData.data = res;
         // state.tableData.total = res.total;
-      }).finally(()  => state.tableData.loading = false)
+      }).finally(() => state.tableData.loading = false)
     };
     // 打开新增用户弹窗
     const onOpenAddItem = () => {
@@ -136,7 +136,7 @@ export default defineComponent({
         type: 'warning',
       })
         .then(() => {
-          api.deleteItem({ itemcode: row.item_code }).then(() => {
+          api.assess.deleteItem({ itemcode: row.item_code }).then(() => {
             fetchList()
             ElMessage.success('删除成功');
           });

+ 0 - 227
src/views/system/assess/component/editAttr.vue

@@ -1,227 +0,0 @@
-<template>
-	<div class="system-edit-dic-container">
-		<el-dialog :title="(ruleForm.id !== 0 ? '修改' : '添加') + '属性定义'" v-model="isShowDialog" width="769px">
-			<el-form :model="ruleForm" ref="formRef" :rules="rules" label-width="120px">
-				<el-form-item label="属性定义标识" prop="key">
-					<el-input v-model="ruleForm.key" placeholder="请输入属性定义标识" />
-				</el-form-item>
-				<el-form-item label="属性定义名称" prop="name">
-					<el-input v-model.trim="ruleForm.name" placeholder="请输入属性定义名称" />
-				</el-form-item>
-
-				<el-form-item label="数据类型" prop="type">
-					<el-select v-model="valueType.type" placeholder="请选择数据类型" @change="seletChange">
-						<el-option-group v-for="group in typeData" :key="group.label" :label="group.label">
-							<el-option v-for="item in group.options" :key="item.type" :label="item.title" :value="item.type" />
-						</el-option-group>
-					</el-select>
-				</el-form-item>
-
-				<!--根据数据类型输出不同表单-->
-
-				<el-form-item label="精度" prop="maxLength1" v-if="type == 'float' || type == 'double'">
-					<el-input v-model="valueType.maxLength1" placeholder="请输入精度" />
-				</el-form-item>
-
-				<el-form-item label="单位" prop="maxLength" v-if="type == 'int' || type == 'long' || type == 'float' || type == 'double'">
-					<el-input v-model="valueType.maxLength" placeholder="请输入单位" />
-				</el-form-item>
-
-				<el-form-item label="最大长度" prop="maxLength" v-if="type == 'string'">
-					<el-input v-model="valueType.maxLength" placeholder="请输入最大长度" />
-				</el-form-item>
-
-				<el-form-item label="时间格式" prop="maxLength" v-if="type == 'date'">
-					<el-input v-model="valueType.maxLength" placeholder="请输入时间格式" />
-				</el-form-item>
-
-				<!--根据数据类型输出不同表单-->
-				<el-form-item label="是否只读" prop="accessMode">
-					<el-radio-group v-model="ruleForm.accessMode">
-						<el-radio label="1">只读</el-radio>
-						<el-radio label="0">读写</el-radio>
-					</el-radio-group>
-				</el-form-item>
-				<el-form-item label="属性定义描述	" prop="desc">
-					<el-input v-model="ruleForm.desc" type="textarea" placeholder="请输入属性定义描述"></el-input>
-				</el-form-item>
-			</el-form>
-			<template #footer>
-				<span class="dialog-footer">
-					<el-button @click="onCancel">取 消</el-button>
-					<el-button type="primary" @click="onSubmit">{{ ruleForm.id !== 0 ? '修 改' : '添 加' }}</el-button>
-				</span>
-			</template>
-		</el-dialog>
-	</div>
-</template>
-
-<script lang="ts">
-import { reactive, toRefs, defineComponent, ref, unref } from 'vue';
-import api from '/@/api/device';
-import { ElMessage } from 'element-plus';
-
-interface RuleFormState {
-	id: number;
-	name: string;
-	dictType: string;
-	status: number;
-	desc: string;
-}
-interface DicState {
-	isShowDialog: boolean;
-	ruleForm: RuleFormState;
-	typeData: RuleFormState[];
-	rules: {};
-}
-
-export default defineComponent({
-	name: 'deviceEditPro',
-	setup(prop, { emit }) {
-		const formRef = ref<HTMLElement | null>(null);
-
-		const state = reactive<DicState>({
-			isShowDialog: false,
-			typeData: [], //
-			type: '',
-			valueType: {
-				type: '',
-				maxLength: '',
-			},
-			ruleForm: {
-				name: '',
-				key: '',
-				transportProtocol: '',
-				accessMode: '1',
-				status: 1,
-				valueType: {
-					type: '',
-					maxLength: '',
-				},
-				desc: '',
-			},
-			rules: {
-				name: [{ required: true, message: '属性定义名称不能为空', trigger: 'blur' }],
-				key: [{ required: true, message: '属性定义标识不能为空', trigger: 'blur' }],
-				accessMode: [{ required: true, message: '请选择是否只读', trigger: 'blur' }],
-
-			},
-		});
-
-		// 打开弹窗
-		const openDialog = (row: RuleFormState | null) => {
-			resetForm();
-
-			api.product.getDataType({ status: -1 }).then((res: any) => {
-				const datat = Object.values(res.dataType);
-				datat.forEach((item, index) => {
-					if (index == 0) {
-						datat[index]['label'] = '基础类型';
-						datat[index]['options'] = item;
-					} else {
-						datat[index]['label'] = '扩展类型';
-						datat[index]['options'] = item;
-					}
-				});
-				state.typeData = datat || [];
-			});
-
-			if (row) {
-				// api.dict.getType(row.dictId).then((res:any)=>{
-				//   state.ruleForm = res.data.dictType
-				// }
-				state.ruleForm = row;
-			}
-			state.isShowDialog = true;
-		};
-		const resetForm = () => {
-			state.ruleForm = {
-				id: 0,
-				name: '',
-				dictType: '',
-				status: 1,
-				desc: '',
-			};
-		};
-
-		const seletChange = (val) => {
-			state.type = val;
-		};
-		// 关闭弹窗
-		const closeDialog = () => {
-			state.isShowDialog = false;
-		};
-		// 取消
-		const onCancel = () => {
-			closeDialog();
-		};
-		// 新增
-		const onSubmit = () => {
-			const formWrap = unref(formRef) as any;
-			if (!formWrap) return;
-			formWrap.validate((valid: boolean) => {
-				if (valid) {
-					if (state.ruleForm.id !== 0) {
-						//修改
-						api.product.edit(state.ruleForm).then(() => {
-							ElMessage.success('属性定义类型修改成功');
-							closeDialog(); // 关闭弹窗
-							emit('typeList');
-						});
-					} else {
-						//添加
-
-						state.ruleForm.valueType = state.valueType;
-						api.model.propertyadd(state.ruleForm).then(() => {
-							ElMessage.success('属性定义类型添加成功');
-							closeDialog(); // 关闭弹窗
-							emit('typeList');
-						});
-					}
-				}
-			});
-		};
-
-		return {
-			openDialog,
-			seletChange,
-			closeDialog,
-			onCancel,
-			onSubmit,
-			formRef,
-			...toRefs(state),
-		};
-	},
-});
-</script>
-
-<style scoped>
-.avatar-uploader .avatar {
-	width: 178px;
-	height: 178px;
-	display: block;
-}
-</style>
-
-<style scoped>
-.avatar-uploader .el-upload {
-	border: 1px dashed var(--el-border-color);
-	border-radius: 6px;
-	cursor: pointer;
-	position: relative;
-	overflow: hidden;
-	transition: var(--el-transition-duration-fast);
-}
-
-.avatar-uploader .el-upload:hover {
-	border-color: var(--el-color-primary);
-}
-
-.el-icon.avatar-uploader-icon {
-	font-size: 28px;
-	color: #8c939d;
-	width: 178px;
-	height: 178px;
-	text-align: center;
-}
-</style>

+ 0 - 234
src/views/system/assess/component/editEvent.vue

@@ -1,234 +0,0 @@
-<template>
-	<div class="system-edit-dic-container">
-		<el-dialog :title="(ruleForm.id !== 0 ? '修改' : '添加') + '事件定义'" v-model="isShowDialog" width="769px">
-			<el-form :model="ruleForm" ref="formRef" :rules="rules" label-width="120px">
-				<el-form-item label="事件定义标识" prop="key">
-					<el-input v-model="ruleForm.key" placeholder="请输入事件定义标识" />
-				</el-form-item>
-				<el-form-item label="事件定义名称" prop="name">
-					<el-input v-model="ruleForm.name" placeholder="请输入事件定义名称" />
-				</el-form-item>
-
-				<el-form-item label="事件级别" prop="level">
-					<el-radio-group v-model="ruleForm.level" model-value="0">
-						<el-radio label="0">普通</el-radio>
-
-						<el-radio label="1">警告</el-radio>
-						<el-radio label="2">紧急</el-radio>
-					</el-radio-group>
-				</el-form-item>
-
-				<el-form-item label="输出参数" prop="type">
-					<el-select v-model="valueType.type" placeholder="请选择输出参数" @change="seletChange">
-						<el-option-group v-for="group in typeData" :key="group.label" :label="group.label">
-							<el-option v-for="item in group.options" :key="item.type" :label="item.title" :value="item.type" />
-						</el-option-group>
-					</el-select>
-				</el-form-item>
-
-				<!--根据数据类型输出不同表单-->
-
-				<el-form-item label="精度" prop="maxLength1" v-if="type == 'float' || type == 'double'">
-					<el-input v-model="valueType.maxLength1" placeholder="请输入精度" />
-				</el-form-item>
-
-				<el-form-item label="单位" prop="maxLength" v-if="type == 'int' || type == 'long' || type == 'float' || type == 'double'">
-					<el-input v-model="valueType.maxLength" placeholder="请输入单位" />
-				</el-form-item>
-
-				<el-form-item label="最大长度" prop="maxLength" v-if="type == 'string'">
-					<el-input v-model="valueType.maxLength" placeholder="请输入最大长度" />
-				</el-form-item>
-
-				<el-form-item label="时间格式" prop="maxLength" v-if="type == 'date'">
-					<el-input v-model="valueType.maxLength" placeholder="请输入时间格式" />
-				</el-form-item>
-
-				<!--根据数据类型输出不同表单-->
-				<el-form-item label="事件定义描述	" prop="desc">
-					<el-input v-model="ruleForm.desc" type="textarea" placeholder="请输入事件定义描述"></el-input>
-				</el-form-item>
-			</el-form>
-			<template #footer>
-				<span class="dialog-footer">
-					<el-button @click="onCancel">取 消</el-button>
-					<el-button type="primary" @click="onSubmit">{{ ruleForm.id !== 0 ? '修 改' : '添 加' }}</el-button>
-				</span>
-			</template>
-		</el-dialog>
-	</div>
-</template>
-
-<script lang="ts">
-import { reactive, toRefs, defineComponent, ref, unref } from 'vue';
-import api from '/@/api/device';
-import { ElMessage } from 'element-plus';
-
-interface RuleFormState {
-	id: number;
-	name: string;
-	dictType: string;
-	status: number;
-	desc: string;
-}
-interface DicState {
-	isShowDialog: boolean;
-	ruleForm: RuleFormState;
-	typeData: RuleFormState[];
-	rules: {};
-}
-
-export default defineComponent({
-	name: 'deviceEditPro',
-	setup(prop, { emit }) {
-		const formRef = ref<HTMLElement | null>(null);
-
-		const state = reactive<DicState>({
-			isShowDialog: false,
-			typeData: [], //
-			type: '',
-			valueType: {
-				type: '',
-				maxLength: '',
-
-			},
-
-			ruleForm: {
-				name: '',
-				key: '',
-				transportProtocol: '',
-				accessMode: '0',
-				status: 1,
-				valueType: {
-					type: '',
-					maxLength: '',
-
-				},
-
-				desc: '',
-			},
-			rules: {
-				name: [{ required: true, message: '事件定义名称不能为空', trigger: 'blur' }],
-				key: [{ required: true, message: '事件定义标识不能为空', trigger: 'blur' }],
-				accessMode: [{ required: true, message: '请选择是否只读', trigger: 'blur' }],
-
-			},
-		});
-
-		// 打开弹窗
-		const openDialog = (row: RuleFormState | null) => {
-			resetForm();
-
-			api.product.getDataType({ status: -1 }).then((res: any) => {
-				const datat = Object.values(res.dataType);
-				datat.forEach((item, index) => {
-					if (index == 0) {
-						datat[index]['label'] = '基础类型';
-						datat[index]['options'] = item;
-					} else {
-						datat[index]['label'] = '扩展类型';
-						datat[index]['options'] = item;
-					}
-				});
-				state.typeData = datat || [];
-			});
-
-			if (row) {
-				// api.dict.getType(row.dictId).then((res:any)=>{
-				//   state.ruleForm = res.data.dictType
-				// }
-				state.ruleForm = row;
-			}
-			state.isShowDialog = true;
-		};
-		const resetForm = () => {
-			state.ruleForm = {
-				id: 0,
-				name: '',
-				dictType: '',
-				status: 1,
-				desc: '',
-			};
-		};
-
-		const seletChange = (val) => {
-			state.type = val;
-		};
-		// 关闭弹窗
-		const closeDialog = () => {
-			state.isShowDialog = false;
-		};
-		// 取消
-		const onCancel = () => {
-			closeDialog();
-		};
-		// 新增
-		const onSubmit = () => {
-			const formWrap = unref(formRef) as any;
-			if (!formWrap) return;
-			formWrap.validate((valid: boolean) => {
-				if (valid) {
-					if (state.ruleForm.id !== 0) {
-						//修改
-						api.product.edit(state.ruleForm).then(() => {
-							ElMessage.success('事件定义类型修改成功');
-							closeDialog(); // 关闭弹窗
-							emit('typeList');
-						});
-					} else {
-						//添加
-
-						state.ruleForm.valueType = state.valueType;
-						api.model.eventadd(state.ruleForm).then(() => {
-							ElMessage.success('事件定义类型添加成功');
-							closeDialog(); // 关闭弹窗
-							emit('typeList');
-						});
-					}
-				}
-			});
-		};
-
-		return {
-			openDialog,
-			seletChange,
-			closeDialog,
-			onCancel,
-			onSubmit,
-			formRef,
-			...toRefs(state),
-		};
-	},
-});
-</script>
-
-<style scoped>
-.avatar-uploader .avatar {
-	width: 178px;
-	height: 178px;
-	display: block;
-}
-</style>
-
-<style scoped>
-.avatar-uploader .el-upload {
-	border: 1px dashed var(--el-border-color);
-	border-radius: 6px;
-	cursor: pointer;
-	position: relative;
-	overflow: hidden;
-	transition: var(--el-transition-duration-fast);
-}
-
-.avatar-uploader .el-upload:hover {
-	border-color: var(--el-color-primary);
-}
-
-.el-icon.avatar-uploader-icon {
-	font-size: 28px;
-	color: #8c939d;
-	width: 178px;
-	height: 178px;
-	text-align: center;
-}
-</style>

+ 0 - 186
src/views/system/assess/component/editFun.vue

@@ -1,186 +0,0 @@
-<template>
-  <div class="system-edit-dic-container">
-    <el-dialog :title="(ruleForm.id !== 0 ? '修改' : '添加') + '功能定义'" v-model="isShowDialog" width="769px">
-      <el-form :model="ruleForm" ref="formRef" :rules="rules" label-width="120px">
-        <el-form-item label="功能定义标识" prop="key">
-          <el-input v-model="ruleForm.key" placeholder="请输入功能定义标识" />
-        </el-form-item>
-        <el-form-item label="功能定义名称" prop="name">
-          <el-input v-model="ruleForm.name" placeholder="请输入功能定义名称" />
-        </el-form-item>
-        <el-form-item label="数据类型" prop="valueType">
-          <el-select v-model="ruleForm.valueType" placeholder="请选择数据类型">
-            <el-option-group v-for="group in typeData" :key="group" :label="group">
-              <el-option v-for="item in group.options" :key="item.value" :label="item.label" :value="item.value" />
-            </el-option-group>
-          </el-select>
-        </el-form-item>
-
-        <el-form-item label="是否只读" prop="accessMode">
-          <el-radio-group v-model="ruleForm.accessMode">
-            <el-radio label="1">只读</el-radio>
-            <el-radio label="0">读写</el-radio>
-          </el-radio-group>
-        </el-form-item>
-        <el-form-item label="功能定义描述	" prop="desc">
-          <el-input v-model="ruleForm.desc" type="textarea" placeholder="请输入功能定义描述"></el-input>
-        </el-form-item>
-      </el-form>
-      <template #footer>
-        <span class="dialog-footer">
-          <el-button @click="onCancel">取 消</el-button>
-          <el-button type="primary" @click="onSubmit">{{ ruleForm.id !== 0 ? '修 改' : '添 加' }}</el-button>
-        </span>
-      </template>
-    </el-dialog>
-  </div>
-</template>
-
-<script lang="ts">
-import { reactive, toRefs, defineComponent, ref, unref } from 'vue';
-import api from '/@/api/device';
-import { ElMessage } from "element-plus";
-
-interface RuleFormState {
-  id: number;
-  name: string;
-  dictType: string;
-  status: number;
-  desc: string;
-}
-interface DicState {
-  isShowDialog: boolean;
-  ruleForm: RuleFormState;
-  typeData: RuleFormState[];
-  rules: {}
-}
-
-export default defineComponent({
-  name: 'deviceEditPro',
-  setup(prop, { emit }) {
-    const formRef = ref<HTMLElement | null>(null);
-
-    const state = reactive<DicState>({
-      isShowDialog: false,
-      typeData: [], //
-
-      ruleForm: {
-        id: 0,
-        name: '',
-        key: '',
-        transportProtocol: '',
-        accessMode: '1',
-        status: 1,
-        desc: ''
-      },
-      rules: {
-        name: [
-          { required: true, message: "功能定义名称不能为空", trigger: "blur" }
-        ],
-        key: [
-          { required: true, message: "功能定义标识不能为空", trigger: "blur" }
-        ],
-        accessMode: [{ required: true, message: '功能定义分类不能为空', trigger: 'blur' }],
-        deptId: [{ required: true, message: '所属组织不能为空', trigger: 'blur' }],
-        deviceType: [{ required: true, message: '设备类型不能为空', trigger: 'blur' }],
-      }
-    });
-
-    // 打开弹窗
-    const openDialog = (row: RuleFormState | null) => {
-      resetForm();
-
-      api.product.getDataType({ status: -1 }).then((res: any) => {
-        state.typeData = res.dataType || [];
-      });
-
-      if (row) {
-        state.ruleForm = row;
-      }
-      state.isShowDialog = true;
-    };
-    const resetForm = () => {
-      state.ruleForm = {
-        id: 0,
-        name: '',
-        dictType: '',
-        status: 1,
-        desc: ''
-      }
-    };
-    // 关闭弹窗
-    const closeDialog = () => {
-      state.isShowDialog = false;
-    };
-    // 取消
-    const onCancel = () => {
-      closeDialog();
-    };
-    // 新增
-    const onSubmit = () => {
-      const formWrap = unref(formRef) as any;
-      if (!formWrap) return;
-      formWrap.validate((valid: boolean) => {
-        if (valid) {
-          if (state.ruleForm.id !== 0) {
-            //修改
-            api.product.edit(state.ruleForm).then(() => {
-              ElMessage.success('功能定义类型修改成功');
-              closeDialog(); // 关闭弹窗
-              emit('typeList')
-            })
-          } else {
-            //添加
-            api.product.add(state.ruleForm).then(() => {
-              ElMessage.success('功能定义类型添加成功');
-              closeDialog(); // 关闭弹窗
-              emit('typeList')
-            })
-          }
-        }
-      });
-    };
-
-
-    return {
-      openDialog,
-      closeDialog,
-      onCancel,
-      onSubmit,
-      formRef,
-      ...toRefs(state),
-    };
-  },
-});
-</script>
-
-<style scoped>
-.avatar-uploader .avatar {
-  width: 178px;
-  height: 178px;
-  display: block;
-}
-</style>
-
-<style scoped>
-.avatar-uploader .el-upload {
-  border: 1px dashed var(--el-border-color);
-  border-radius: 6px;
-  cursor: pointer;
-  position: relative;
-  overflow: hidden;
-  transition: var(--el-transition-duration-fast);
-}
-
-.avatar-uploader .el-upload:hover {
-  border-color: var(--el-color-primary);
-}
-
-.el-icon.avatar-uploader-icon {
-  font-size: 28px;
-  color: #8c939d;
-  width: 178px;
-  height: 178px;
-  text-align: center;
-}
-</style>

+ 0 - 260
src/views/system/assess/component/editPro.vue

@@ -1,260 +0,0 @@
-<template>
-  <div class="system-edit-dic-container">
-    <el-dialog :title="(ruleForm.id !== 0 ? '修改' : '添加') + '产品'" v-model="isShowDialog" width="769px">
-      <el-form :model="ruleForm" ref="formRef" :rules="rules" label-width="90px">
-        <el-form-item label="产品标识" prop="key">
-          <el-input v-model="ruleForm.key" placeholder="请输入产品标识" />
-        </el-form-item>
-        <el-form-item label="产品名称" prop="name">
-          <el-input v-model="ruleForm.name" placeholder="请输入产品名称" />
-        </el-form-item>
-        <el-form-item label="产品图片" prop="imageUrl">
-
-          <uploadVue @set-img="handleAvatarSuccess"></uploadVue>
-
-        </el-form-item>
-
-        <el-form-item label="产品分类" prop="categoryId">
-          <el-cascader :options="cateData" :props="{ checkStrictly: true, emitPath: false, value: 'id', label: 'name' }" placeholder="请选择分类" clearable class="w100" v-model="ruleForm.categoryId">
-            <template #default="{ node, data }">
-              <span>{{ data.name }}</span>
-              <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
-            </template>
-          </el-cascader>
-        </el-form-item>
-
-        <el-form-item label="所属组织" prop="deptId">
-          <el-cascader :options="deptData" :props="{ checkStrictly: true, emitPath: false, value: 'deptId', label: 'deptName' }" placeholder="请选择所属组织" clearable class="w100" v-model="ruleForm.deptId">
-            <template #default="{ node, data }">
-              <span>{{ data.deptName }}</span>
-              <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
-            </template>
-          </el-cascader>
-        </el-form-item>
-
-
-        <el-form-item label="消息协议" prop="messageProtocol">
-
-
-          <el-select v-model="ruleForm.messageProtocol" placeholder="请选择消息协议">
-            <el-option v-for="item in messageData" :key="item.key" :label="item.name" :value="item.key" />
-          </el-select>
-        </el-form-item>
-
-        <el-form-item label="接入方式" prop="transportProtocol">
-
-
-          <el-select v-model="ruleForm.transportProtocol" placeholder="请选择接入方式">
-            <el-option v-for="item in tranData" :key="item.key" :label="item.name" :value="item.key" />
-          </el-select>
-        </el-form-item>
-
-
-        <el-form-item label="设备类型" prop="deviceType">
-          <el-radio-group v-model="ruleForm.deviceType" model-value="设备">
-            <el-radio label="设备">设备</el-radio>
-
-            <el-radio label="网关">网关</el-radio>
-          </el-radio-group>
-        </el-form-item>
-        <el-form-item label="产品描述	" prop="desc">
-          <el-input v-model="ruleForm.desc" type="textarea" placeholder="请输入产品描述"></el-input>
-        </el-form-item>
-      </el-form>
-      <template #footer>
-        <span class="dialog-footer">
-          <el-button @click="onCancel">取 消</el-button>
-          <el-button type="primary" @click="onSubmit">{{ ruleForm.id !== 0 ? '修 改' : '添 加' }}</el-button>
-        </span>
-      </template>
-    </el-dialog>
-  </div>
-</template>
-
-<script lang="ts">
-import { reactive, toRefs, defineComponent, ref, unref } from 'vue';
-import api from '/@/api/device';
-import uploadVue from '/@/components/upload/index.vue';
-import { ElMessage, UploadProps } from "element-plus";
-import getOrigin from '/@/utils/origin'
-
-interface RuleFormState {
-  id: number;
-  name: string;
-  dictType: string;
-  status: number;
-  desc: string;
-}
-interface DicState {
-  isShowDialog: boolean;
-  ruleForm: RuleFormState;
-  cateData: RuleFormState[];
-  deptData: RuleFormState[];
-  messageData: RuleFormState[];
-  tranData: RuleFormState[];
-  rules: {}
-}
-
-export default defineComponent({
-  name: 'deviceEditPro',
-  components: { uploadVue },
-  setup(prop, { emit }) {
-    const formRef = ref<HTMLElement | null>(null);
-    const baseURL: string | undefined | boolean = getOrigin()
-
-    const state = reactive<DicState>({
-      isShowDialog: false,
-      cateData: [], // 分类数据
-      deptData: [], //
-      messageData: [], //
-      tranData: [], //
-      imageUrl: "", //
-      singleImg: baseURL + "/product/icon/upload",
-
-      ruleForm: {
-        id: 0,
-        name: '',
-        categoryId: '',
-        deptId: '',
-        messageProtocol: '',
-        transportProtocol: '',
-        deviceType: '设备',
-        status: 1,
-        desc: ''
-      },
-      rules: {
-        name: [
-          { required: true, message: "产品名称不能为空", trigger: "blur" }
-        ],
-        key: [
-          { required: true, message: "产品标识不能为空", trigger: "blur" }
-        ],
-        parentId: [{ required: true, message: '产品分类不能为空', trigger: 'blur' }],
-        deptId: [{ required: true, message: '所属组织不能为空', trigger: 'blur' }],
-        messageProtocol: [{ required: true, message: '消息协议不能为空', trigger: 'blur' }],
-        transportProtocol: [{ required: true, message: '接入方式不能为空', trigger: 'blur' }],
-        deviceType: [{ required: true, message: '设备类型不能为空', trigger: 'blur' }],
-      }
-    });
-
-
-
-
-    const handleAvatarSuccess: UploadProps['onSuccess'] = (
-      response) => {
-
-      state.imageUrl = response
-      state.ruleForm.imageUrl = response
-    }
-
-
-    // 打开弹窗
-    const openDialog = (row: RuleFormState | null) => {
-      resetForm();
-      api.category.getList({ status: 1 }).then((res: any) => {
-        state.cateData = res.category || [];
-      });
-      api.dept.getList({ status: -1 }).then((res: any) => {
-        state.deptData = res || [];
-      });
-      api.product.message_protocol_list({ status: -1 }).then((res: any) => {
-        state.messageData = res.data || [];
-      });
-      api.product.trunsport_protocol_list({ status: -1 }).then((res: any) => {
-        state.tranData = res.data || [];
-      });
-      if (row) {
-        // api.dict.getType(row.dictId).then((res:any)=>{
-        //   state.ruleForm = res.data.dictType
-        // }
-
-        state.ruleForm = row;
-      }
-      state.isShowDialog = true;
-    };
-    const resetForm = () => {
-      state.ruleForm = {
-        id: 0,
-        name: '',
-        dictType: '',
-        status: 1,
-        desc: ''
-      }
-    };
-    // 关闭弹窗
-    const closeDialog = () => {
-      state.isShowDialog = false;
-    };
-    // 取消
-    const onCancel = () => {
-      closeDialog();
-    };
-    // 新增
-    const onSubmit = () => {
-      const formWrap = unref(formRef) as any;
-      if (!formWrap) return;
-      formWrap.validate((valid: boolean) => {
-        if (valid) {
-          if (state.ruleForm.id !== 0) {
-            //修改
-            api.product.edit(state.ruleForm).then(() => {
-              ElMessage.success('产品类型修改成功');
-              closeDialog(); // 关闭弹窗
-              emit('typeList')
-            })
-          } else {
-            //添加
-            api.product.add(state.ruleForm).then(() => {
-              ElMessage.success('产品类型添加成功');
-              closeDialog(); // 关闭弹窗
-              emit('typeList')
-            })
-          }
-        }
-      });
-    };
-
-
-    return {
-      openDialog,
-      handleAvatarSuccess,
-      closeDialog,
-      onCancel,
-      onSubmit,
-      formRef,
-      ...toRefs(state),
-    };
-  },
-});
-</script>
-
-<style scoped>
-.avatar-uploader .avatar {
-  width: 178px;
-  height: 178px;
-  display: block;
-}
-</style>
-
-<style scoped>
-.avatar-uploader .el-upload {
-  border: 1px dashed var(--el-border-color);
-  border-radius: 6px;
-  cursor: pointer;
-  position: relative;
-  overflow: hidden;
-  transition: var(--el-transition-duration-fast);
-}
-
-.avatar-uploader .el-upload:hover {
-  border-color: var(--el-color-primary);
-}
-
-.el-icon.avatar-uploader-icon {
-  font-size: 28px;
-  color: #8c939d;
-  width: 178px;
-  height: 178px;
-  text-align: center;
-}
-</style>

+ 0 - 228
src/views/system/assess/component/editTab.vue

@@ -1,228 +0,0 @@
-<template>
-	<div class="system-edit-dic-container">
-		<el-dialog :title="(ruleForm.id !== 0 ? '修改' : '添加') + '标签定义'" v-model="isShowDialog" width="769px">
-			<el-form :model="ruleForm" ref="formRef" :rules="rules" label-width="120px">
-				<el-form-item label="标签定义标识" prop="key">
-					<el-input v-model="ruleForm.key" placeholder="请输入标签定义标识" />
-				</el-form-item>
-				<el-form-item label="标签定义名称" prop="name">
-					<el-input v-model="ruleForm.name" placeholder="请输入标签定义名称" />
-				</el-form-item>
-
-				<el-form-item label="数据类型" prop="type">
-					<el-select v-model="valueType.type" placeholder="请选择数据类型" @change="seletChange">
-						<el-option-group v-for="group in typeData" :key="group.label" :label="group.label">
-							<el-option v-for="item in group.options" :key="item.type" :label="item.title" :value="item.type" />
-						</el-option-group>
-					</el-select>
-				</el-form-item>
-
-				<!--根据数据类型输出不同表单-->
-
-				<el-form-item label="精度" prop="maxLength1" v-if="type == 'float' || type == 'double'">
-					<el-input v-model="valueType.maxLength1" placeholder="请输入精度" />
-				</el-form-item>
-
-				<el-form-item label="单位" prop="maxLength" v-if="type == 'int' || type == 'long' || type == 'float' || type == 'double'">
-					<el-input v-model="valueType.maxLength" placeholder="请输入单位" />
-				</el-form-item>
-
-				<el-form-item label="最大长度" prop="maxLength" v-if="type == 'string'">
-					<el-input v-model="valueType.maxLength" placeholder="请输入最大长度" />
-				</el-form-item>
-
-				<el-form-item label="时间格式" prop="maxLength" v-if="type == 'date'">
-					<el-input v-model="valueType.maxLength" placeholder="请输入时间格式" />
-				</el-form-item>
-
-
-				<!--根据数据类型输出不同表单-->
-
-				<el-form-item label="是否只读" prop="accessMode">
-					<el-radio-group v-model="ruleForm.accessMode">
-						<el-radio label="1">只读</el-radio>
-						<el-radio label="0">读写</el-radio>
-					</el-radio-group>
-				</el-form-item>
-				<el-form-item label="标签定义描述	" prop="desc">
-					<el-input v-model="ruleForm.desc" type="textarea" placeholder="请输入标签定义描述"></el-input>
-				</el-form-item>
-			</el-form>
-			<template #footer>
-				<span class="dialog-footer">
-					<el-button @click="onCancel">取 消</el-button>
-					<el-button type="primary" @click="onSubmit">{{ ruleForm.id !== 0 ? '修 改' : '添 加' }}</el-button>
-				</span>
-			</template>
-		</el-dialog>
-	</div>
-</template>
-
-<script lang="ts">
-import { reactive, toRefs, defineComponent, ref, unref } from 'vue';
-import api from '/@/api/device';
-import { ElMessage } from 'element-plus';
-
-interface RuleFormState {
-	id: number;
-	name: string;
-	dictType: string;
-	status: number;
-	desc: string;
-}
-interface DicState {
-	isShowDialog: boolean;
-	ruleForm: RuleFormState;
-	typeData: RuleFormState[];
-	rules: {};
-}
-
-export default defineComponent({
-	name: 'deviceEditPro',
-	setup(prop, { emit }) {
-		const formRef = ref<HTMLElement | null>(null);
-
-		const state = reactive<DicState>({
-			isShowDialog: false,
-			typeData: [], //
-			type: '',
-			valueType: {
-				type: '',
-				maxLength: '',
-			},
-			ruleForm: {
-				name: '',
-				key: '',
-				transportProtocol: '',
-				accessMode: '1',
-				status: 1,
-				valueType: {
-					type: '',
-					maxLength: '',
-				},
-				desc: '',
-			},
-			rules: {
-				name: [{ required: true, message: '标签定义名称不能为空', trigger: 'blur' }],
-				key: [{ required: true, message: '标签定义标识不能为空', trigger: 'blur' }],
-				accessMode: [{ required: true, message: '请选择是否只读', trigger: 'blur' }],
-			},
-		});
-
-		// 打开弹窗
-		const openDialog = (row: RuleFormState | null) => {
-			resetForm();
-
-			api.product.getDataType({ status: -1 }).then((res: any) => {
-				const datat = Object.values(res.dataType);
-				datat.forEach((item, index) => {
-					if (index == 0) {
-						datat[index]['label'] = '基础类型';
-						datat[index]['options'] = item;
-					} else {
-						datat[index]['label'] = '扩展类型';
-						datat[index]['options'] = item;
-					}
-				});
-				state.typeData = datat || [];
-			});
-
-			if (row) {
-				// api.dict.getType(row.dictId).then((res:any)=>{
-				//   state.ruleForm = res.data.dictType
-				// }
-				state.ruleForm = row;
-			}
-			state.isShowDialog = true;
-		};
-		const resetForm = () => {
-			state.ruleForm = {
-				id: 0,
-				name: '',
-				dictType: '',
-				status: 1,
-				desc: '',
-			};
-		};
-
-		const seletChange = (val) => {
-			state.type = val;
-		};
-		// 关闭弹窗
-		const closeDialog = () => {
-			state.isShowDialog = false;
-		};
-		// 取消
-		const onCancel = () => {
-			closeDialog();
-		};
-		// 新增
-		const onSubmit = () => {
-			const formWrap = unref(formRef) as any;
-			if (!formWrap) return;
-			formWrap.validate((valid: boolean) => {
-				if (valid) {
-					if (state.ruleForm.id !== 0) {
-						//修改
-						api.product.edit(state.ruleForm).then(() => {
-							ElMessage.success('标签定义类型修改成功');
-							closeDialog(); // 关闭弹窗
-							emit('typeList');
-						});
-					} else {
-						//添加
-
-						state.ruleForm.valueType = state.valueType;
-						api.model.tagadd(state.ruleForm).then(() => {
-							ElMessage.success('标签定义类型添加成功');
-							closeDialog(); // 关闭弹窗
-							emit('typeList');
-						});
-					}
-				}
-			});
-		};
-
-		return {
-			openDialog,
-			seletChange,
-			closeDialog,
-			onCancel,
-			onSubmit,
-			formRef,
-			...toRefs(state),
-		};
-	},
-});
-</script>
-
-<style scoped>
-.avatar-uploader .avatar {
-	width: 178px;
-	height: 178px;
-	display: block;
-}
-</style>
-
-<style scoped>
-.avatar-uploader .el-upload {
-	border: 1px dashed var(--el-border-color);
-	border-radius: 6px;
-	cursor: pointer;
-	position: relative;
-	overflow: hidden;
-	transition: var(--el-transition-duration-fast);
-}
-
-.avatar-uploader .el-upload:hover {
-	border-color: var(--el-color-primary);
-}
-
-.el-icon.avatar-uploader-icon {
-	font-size: 28px;
-	color: #8c939d;
-	width: 178px;
-	height: 178px;
-	text-align: center;
-}
-</style>