From 10bc47a275dfd896ba4e72f073d9f901c5390597 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Wed, 22 Mar 2023 16:05:14 +0800
Subject: [PATCH] 模块不绑定设备编码,设备编码绑定模块
---
src/views/modules/modules.vue | 72 +++++++++++++++++++++++++----------
1 files changed, 51 insertions(+), 21 deletions(-)
diff --git a/src/views/modules/modules.vue b/src/views/modules/modules.vue
index cb1f783..adea983 100644
--- a/src/views/modules/modules.vue
+++ b/src/views/modules/modules.vue
@@ -1,6 +1,6 @@
<template>
<basic-container>
- <div v-if="!isFunction" class="avue-crud">
+ <div v-if="!isFunction && !isView" class="avue-crud">
<!--按钮-->
<el-row>
<div class="avue-crud__menu">
@@ -22,12 +22,12 @@
<!--卡片显示-->
<el-col :span="4" v-for="(o, index) in data" :key="o" :offset="index > 0 ? 1 : 0">
<el-card :body-style="{ padding: '0px' }">
- <img @click="setContent(o.id)" :src="o.background.length>0?o.background[0].value: '/img/bg/img-logo.png' "
+ <img @click="setContent(o)" :src="o.background.length>0?o.background[0].value: '/img/bg/img-logo.png' "
class="image">
<div style="padding: 14px;">
<span>{{ o.name }}</span>
<div class="bottom clearfix">
- <el-button type="text" class="button">预览</el-button>
+ <el-button type="text" class="button" @click="handleView(o)">预览</el-button>
<el-button type="text" class="button" @click="handleDelete(o.id)">删除</el-button>
<el-button type="text" class="button" @click="handleEdit(o)">编辑</el-button>
</div>
@@ -57,18 +57,49 @@
</div>
<!-- 功能详情-->
- <Function ref="func" v-if="isFunction" :modulesId="modulesId" @backModules="backModules"></Function>
+ <Function ref="func" v-if="isFunction" :modules="modules" @backModules="backModules"></Function>
+
+ <!--功能预览-->
+ <ModulesView v-if="isView" ref="modulesView" :modules="modules" @backModules="backModules"></ModulesView>
</basic-container>
</template>
<script>
-import {getList, getDetail, add, update, remove} from "@/api/modules/modules";
+import {getList, getDetail, add, update, remove,getAll} from "@/api/modules/modules";
import {mapGetters} from "vuex";
import Function from "@/views/modules/function";
+import ModulesView from "@/views/modules/modulesView";
export default {
- components: {Function},
+ components: {ModulesView, Function},
data() {
+ var validateName = (rule, value, callback) => {
+ if (value) {
+ let params = {
+ name:value
+ }
+ getAll(params).then(res => {
+ let data = res.data.data
+ if (this.form.id) {
+ if (data[0].id== this.form.id) {
+ callback();
+ } else if (data.length > 0) {
+ callback(new Error('该模块已存在'));
+ } else {
+ callback();
+ }
+ } else {
+ if (data.length > 0) {
+ callback(new Error('该模块已存在'));
+ } else {
+ callback();
+ }
+ }
+ })
+ } else {
+ callback(new Error('请输入模块名'));
+ }
+ };
return {
// 弹框标题
title: '',
@@ -112,8 +143,8 @@
span: 24,
rules: [{
required: true,
- message: "请输入模块名称",
- trigger: "blur"
+ trigger: "blur",
+ validator: validateName
}],
},
{
@@ -156,7 +187,8 @@
// 表单列表
data: [],
isFunction: false,
- modulesId: "",
+ isView:false,
+ modules: "",
}
},
mounted() {
@@ -227,14 +259,7 @@
this.fileList = this.form.background
});
},
- handleView(row) {
- this.title = '查看'
- this.view = true;
- this.box = true;
- getDetail(row.id).then(res => {
- this.form = res.data.data;
- });
- },
+
handleDelete(id) {
this.$confirm("确定将选择数据删除?", {
confirmButtonText: "确定",
@@ -302,14 +327,19 @@
});
},
//显示功能页
- setContent(id) {
- this.modulesId = id
+ setContent(data) {
+ this.modules = data
this.isFunction = !this.isFunction
},
//返回模块页
backModules() {
- this.isFunction = !this.isFunction
- }
+ this.isFunction = false
+ this.isView = false
+ },
+ handleView(data) {
+ this.modules = data
+ this.isView = !this.isView
+ },
}
};
</script>
--
Gitblit v1.9.3