Sfoglia il codice sorgente

服务提供商,消息模板,消息点全部完成

linan 5 anni fa
parent
commit
ff4b07ae05

+ 0 - 6
src/router/routes.js

@@ -3,7 +3,6 @@ import Home from '../views/Home/Home.vue'
 import DeviceType from '../views/deviceManagement/DeviceType.vue'
 import DeviceInfo from '../views/deviceManagement/DeviceInfo.vue'
 import SubDeviceAdmin from '../views/deviceManagement/SubDeviceAdmin.vue'
-import Ad from '../views/deviceManagement/Ad.vue'
 /* 区域管理 */
 import AreaInfo from '../views/areaManagement/AreaInfo.vue'
 /* 消息管理 */
@@ -50,11 +49,6 @@ export default [
 				component: SubDeviceAdmin
 			},
 			
-			{
-				path: '/home1_4',
-				name: 'home1_4',
-				component: Ad
-			},
 			// 区域管理
 			{
 				path: '/areaInfo',

+ 1 - 1
src/sdk/index.js

@@ -180,7 +180,7 @@ class SDK {
 				}
 				if (params.complete) params.complete(response.data)
 			} catch (e) {
-				console.log('截获错误---------', e)
+				// console.log('截获错误---------', e)
 			}
 		}
 		this.completeSDK(response, params)

+ 0 - 10
src/views/Home/mencCofig.js

@@ -16,16 +16,6 @@ export const menuData = [
                 optionName: '设备信息',
                 index: '1-2',
                 routerName: "deviceInfo"
-            },
-            {
-                optionName: '模板',
-                index: '1-3',
-                routerName: "ac"
-            },
-            {
-                optionName: '选项4',
-                index: '1-4',
-                routerName: "home1_4"
             }
         ]
     },

+ 6 - 1
src/views/deviceManagement/DeviceInfo.vue

@@ -95,6 +95,7 @@
                 <el-form-item label="配置信息:">
                     <el-input
                         type="textarea"
+                        autosize
                         :rows="2"
                         v-model="formData.meta"
                         placeholder="先用json做配置,后期可不同类型不同编辑框"
@@ -247,7 +248,11 @@ export default {
         // 编辑
         handleEdit(row) {
             console.log(row);
-            row.meta = JSON.stringify(row.meta);
+            // 判断是为了重复点击不会重复格式化
+            if(typeof row.meta == "object"){
+                row.meta = JSON.stringify(row.meta, null, 4);
+            }
+            
             if (this.formData.id) {
                 delete this.formData.id;
                 delete this.formData.name;

+ 1 - 1
src/views/deviceManagement/DeviceType.vue

@@ -35,7 +35,7 @@
                     <el-input v-model="formData.name" placeholder="请输入名称"></el-input>
                 </el-form-item>
                 <el-form-item label="配置数据:">
-                    <el-input type="textarea" v-model="formData.meta" placeholder="请输入内容,JSON格式"></el-input>
+                    <el-input type="textarea" v-model="formData.meta" autosize placeholder="请输入内容,JSON格式"></el-input>
                 </el-form-item>
             </el-form>
             <div slot="footer">

+ 2 - 1
src/views/messageManagement/MessagePoint.vue

@@ -150,7 +150,8 @@ export default {
                 success: res => {
                     console.log(res);
                     this.getMessagePoint();
-                    this.$message.success('添加消息点成功!')
+                    this.$message.success('保存消息点成功!')
+                    this.showDialog = false;
                 },
                 fail: err => {
                     console.log(err);

+ 169 - 8
src/views/messageManagement/MessageServicMer.vue

@@ -1,31 +1,192 @@
 <template>
     <div class="MessageServicMer">
-        <h1>MessageServicMer dddddddddddddddddddd</h1>
+        <el-button @click="add" type="primary" icon="el-icon-document-add">添加</el-button>
+        <el-table :data="tableData" border style="width: 80%">
+            <el-table-column prop="id" label="服务商id" width="180"></el-table-column>
+            <el-table-column prop="name" label="服务商名" width="120"></el-table-column>
+            <el-table-column label="发送方式" width="100">
+                <template slot-scope="scope">
+                    <span v-for="item in sendMethodList" :key="item.code">
+                        <el-tag
+                            size="small"
+                            type="warning"
+                            v-if="scope.row.methodCode == item.code"
+                        >{{item.description}}</el-tag>
+                    </span>
+                </template>
+            </el-table-column>
+            <el-table-column label="操作" width="150">
+                <template slot-scope="scope">
+                    <el-button @click="edit(scope.row)" type="text" size="small">编辑</el-button>
+                    <el-popconfirm title="是否删除此设备的信息?" @onConfirm="del(scope.row)">
+                        <el-button slot="reference" type="text" size="small">删除</el-button>
+                    </el-popconfirm>
+                </template>
+            </el-table-column>
+        </el-table>
+
+        <el-dialog :title="isAdd?'添加消息点':'编辑消息点'" :visible.sync="showDialog">
+            <el-row type="flex">
+                <el-col :span="18">
+                    <el-form ref="dyForm" :model="dyForm" :rules="rules" label-width="140px">
+                        <el-form-item label="服务商名:" prop="name">
+                            <el-input v-model="dyForm.name"></el-input>
+                        </el-form-item>
+                        <el-form-item label="服务商配置信息:" prop="info">
+                            <el-input
+                                v-model="dyForm.info"
+                                type="textarea"
+                                placeholder="请输入内容,JSON格式"
+                                autosize
+                            ></el-input>
+                        </el-form-item>
+                        <el-form-item label="发送方式">
+                            <el-select v-model="dyForm.methodCode" placeholder="请选择发送方式">
+                                <el-option
+                                    v-for="item in sendMethodList"
+                                    :label="item.description"
+                                    :value="item.code"
+                                    :key="item.code"
+                                ></el-option>
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item>
+                            <el-button @click="showDialog=false">取 消</el-button>
+                            <el-button type="primary" @click="submitForm('dyForm')">保 存</el-button>
+                        </el-form-item>
+                    </el-form>
+                </el-col>
+            </el-row>
+        </el-dialog>
     </div>
 </template>
 <script>
 import { mapActions } from "vuex";
+const rules = {
+    name: [{ required: true, message: "服务商名不能为空", trigger: "blur" }],
+    info: [
+        { required: true, message: "服务商配置信息不能为空", trigger: "blur" }
+    ]
+};
 
 export default {
     name: "MessageServicMer",
     data() {
-        return {};
+        return {
+            tableData: [],
+            showDialog: false,
+            dyForm: {
+                name: "",
+                info: "",
+                methodCode: ""
+            },
+            sendMethodList: "",
+            rules,
+            isAdd: true
+        };
     },
     created() {},
     mounted() {
-        this.getMessageServicMer()
+        this.getMessageServicMer();
+        this.getSendMethodList();
     },
     methods: {
         ...mapActions(["fetch"]),
-        // 获取服务商
-		getMessageServicMer() {
+        // 获取消息点
+        getMessageServicMer() {
             this.fetch({
                 api: "/message/provider/list",
                 method: "GET",
-                // data: {},
+                data: {},
+                success: res => {
+                    console.log(res);
+                    this.tableData = res;
+                },
+                fail: err => {
+                    console.log(err);
+                    if (err.errMsg) this.$message.error(err.errMsg);
+                    else this.$message.error("服务器发生异常");
+                }
+            });
+        },
+        // 获取发送方式
+        getSendMethodList() {
+            this.fetch({
+                api: "/message/method/list",
+                method: "GET",
+                data: {},
+                success: res => {
+                    this.sendMethodList = res;
+                    this.dyForm.methodCode = res[0].code;
+                },
+                fail: err => {
+                    console.log(err);
+                    if (err.errMsg) this.$message.error(err.errMsg);
+                    else this.$message.error("服务器发生异常");
+                }
+            });
+        },
+        add() {
+            this.isAdd = true;
+            this.showDialog = true;
+            this.dyForm = {
+                name: "",
+                info: "",
+                methodCode: this.sendMethodList[0].code
+            };
+        },
+        edit(row) {
+            this.isAdd = false;
+            this.showDialog = true;
+            this.dyForm = row;
+            // 判断是为了重复点击不会重复格式化
+            if (typeof row.info == "object") {
+                this.dyForm.info = JSON.stringify(row.info, null, 4);
+            }
+        },
+        del(row) {
+            this.fetch({
+                api: "/message/provider/delete",
+                method: "POST",
+                data: { id: row.id },
+                success: res => {
+                    console.log(res);
+                    this.getMessageServicMer();
+                    this.$message, success("删除成功!");
+                },
+                fail: err => {
+                    console.log(err);
+                    if (err.errMsg) this.$message.error(err.errMsg);
+                    else this.$message.error("服务器发生异常");
+                }
+            });
+        },
+        submitForm(formName) {
+            this.$refs[formName].validate(valid => {
+                if (valid) {
+                    this.isAdd
+                        ? this.reqSave("/message/provider/add")
+                        : this.reqSave("/message/provider/update");
+                } else {
+                    return false;
+                }
+            });
+        },
+        // 请求 保存 (添加 和 更新)
+        reqSave(api) {
+            if (typeof this.dyForm.info == "object") {
+                this.dyForm.info = JSON.stringify(this.dyForm.info);
+            }
+
+            this.fetch({
+                api,
+                method: "POST",
+                data: this.dyForm,
                 success: res => {
-                    console.log(res)
-                    // this.subDeviceList = res;
+                    console.log(res);
+                    this.getMessageServicMer();
+                    this.$message.success("保存服务商信息成功!");
+                    this.showDialog = false;
                 },
                 fail: err => {
                     console.log(err);

+ 25 - 25
src/views/messageManagement/MessageTemplate.vue

@@ -6,9 +6,12 @@
             <el-table-column prop="code" label="模板编码" width="120"></el-table-column>
             <el-table-column label="发送方式" width="100">
                 <template slot-scope="scope">
-                    <!-- <p>{{scope.row.description}}</p> -->
-                    <span v-for="item in sendMethod" :key="item.code">
-                        <el-tag size="small" type="warning" v-if="scope.row.methodCode == item.code" >{{item.description}}</el-tag>
+                    <span v-for="item in sendMethodList" :key="item.code">
+                        <el-tag
+                            size="small"
+                            type="warning"
+                            v-if="scope.row.methodCode == item.code"
+                        >{{item.description}}</el-tag>
                     </span>
                 </template>
             </el-table-column>
@@ -32,30 +35,27 @@
         <el-dialog :title="isAdd?'添加消息模板':'编辑消息模板'" :visible.sync="showDialog">
             <el-row type="flex">
                 <el-col :span="14">
-                    <el-form
-                        ref="dyForm"
-                        :model="dyForm"
-                        :rules="rules"
-                        label-width="100px"
-                        class="demo-dynamic"
-                    >
+                    <el-form ref="dyForm" :model="dyForm" :rules="rules" label-width="140px">
                         <el-form-item label="模板编码:" prop="code">
                             <el-input v-model="dyForm.code"></el-input>
                         </el-form-item>
                         <el-form-item label="模板描述:" prop="description">
-                            <el-input type="textarea" v-model="dyForm.description"></el-input>
+                            <el-input type="textarea" v-model="dyForm.description" autosize></el-input>
                         </el-form-item>
                         <el-form-item label="模板内容:">
-                            <el-input type="textarea" v-model="dyForm.content"></el-input>
+                            <el-input type="textarea" v-model="dyForm.content" autosize></el-input>
                         </el-form-item>
                         <el-form-item label="服务商模板编码:">
                             <el-input v-model="dyForm.providerTemplateCode"></el-input>
                         </el-form-item>
-                        <el-form-item label="发送方式" prop="region">
+                        <el-form-item label="发送方式">
                             <el-select v-model="dyForm.methodCode" placeholder="请选择发送方式">
-                                <el-option v-for="item in sendMethod"  :label="item.description" :value="item.code" :key="item.code"></el-option>
-
-                                <!-- <el-option label="区域二" value="beijing"></el-option> -->
+                                <el-option
+                                    v-for="item in sendMethodList"
+                                    :label="item.description"
+                                    :value="item.code"
+                                    :key="item.code"
+                                ></el-option>
                             </el-select>
                         </el-form-item>
                         <el-form-item>
@@ -90,14 +90,14 @@ export default {
                 providerTemplateCode: "",
                 methodCode: ""
             },
-            sendMethod: "",
+            sendMethodList: "",
             rules,
             isAdd: true
         };
     },
     mounted() {
         this.getMessageTemplate();
-        this.getSendMethod();
+        this.getSendMethodList();
     },
     methods: {
         ...mapActions(["fetch"]),
@@ -118,14 +118,14 @@ export default {
             });
         },
         // 获取发送方式
-        getSendMethod() {
+        getSendMethodList() {
             this.fetch({
                 api: "/message/method/list",
                 method: "GET",
                 data: {},
                 success: res => {
-                    this.sendMethod = res;
-                    this.dyForm.methodCode = res[0].code
+                    this.sendMethodList = res;
+                    this.dyForm.methodCode = res[0].code;
                 },
                 fail: err => {
                     console.log(err);
@@ -142,14 +142,14 @@ export default {
                 description: "",
                 content: "",
                 providerTemplateCode: "",
-                methodCode: this.sendMethod[0].code
-            }
+                methodCode: this.sendMethodList[0].code
+            };
         },
         edit(row) {
-            console.log(row)
+            console.log(row);
             this.isAdd = false;
             this.showDialog = true;
-            this.dyForm = row
+            this.dyForm = row;
         },
         del(row) {
             this.fetch({

+ 61 - 35
src/views/template/Aa.vue

@@ -1,16 +1,21 @@
 <template>
-    <div class="MessagePoint">
+    <div class="MessageServicMer">
         <el-button @click="add" type="primary" icon="el-icon-document-add">添加</el-button>
-        <el-table :data="tableData" border style="width: 60%">
-            <el-table-column prop="id" label="序号" width="120"></el-table-column>
-            <el-table-column prop="code" label="消息点编码" width="120" ></el-table-column>
-            <el-table-column label="消息点描述">
+        <el-table :data="tableData" border style="width: 80%">
+            <el-table-column prop="id" label="服务商id" width="180"></el-table-column>
+            <el-table-column prop="name" label="服务商名" width="120"></el-table-column>
+            <el-table-column label="发送方式" width="100">
                 <template slot-scope="scope">
-                    <p>{{scope.row.description}}</p>
+                    <span v-for="item in sendMethodList" :key="item.code">
+                        <el-tag
+                            size="small"
+                            type="warning"
+                            v-if="scope.row.methodCode == item.code"
+                        >{{item.description}}</el-tag>
+                    </span>
                 </template>
             </el-table-column>
-            <el-table-column prop="remark" label="备注" ></el-table-column>
-            <el-table-column fixed="right" label="操作" width="150">
+            <el-table-column label="操作" width="150">
                 <template slot-scope="scope">
                     <el-button @click="edit(scope.row)" type="text" size="small">编辑</el-button>
                     <el-popconfirm title="是否删除此设备的信息?" @onConfirm="del(scope.row)">
@@ -23,21 +28,22 @@
         <el-dialog :title="isAdd?'添加消息点':'编辑消息点'" :visible.sync="showDialog">
             <el-row type="flex">
                 <el-col :span="14">
-                    <el-form
-                        ref="dyForm"
-                        :model="dyForm"
-                        :rules="rules"
-                        label-width="100px"
-                        class="demo-dynamic"
-                    >
-                        <el-form-item label="消息点编码:" prop="code">
-                            <el-input v-model="dyForm.code"></el-input>
+                    <el-form ref="dyForm" :model="dyForm" :rules="rules" label-width="140px">
+                        <el-form-item label="服务商名:" prop="name">
+                            <el-input v-model="dyForm.name"></el-input>
                         </el-form-item>
-                        <el-form-item label="消息点描述:" prop="description">
-                            <el-input v-model="dyForm.description"></el-input>
+                        <el-form-item label="服务商配置信息:">
+                            <el-input v-model="dyForm.info" type="textarea"></el-input>
                         </el-form-item>
-                        <el-form-item label="备注:">
-                            <el-input type="textarea" v-model="dyForm.remark"></el-input>
+                        <el-form-item label="发送方式">
+                            <el-select v-model="dyForm.methodCode" placeholder="请选择发送方式">
+                                <el-option
+                                    v-for="item in sendMethodList"
+                                    :label="item.description"
+                                    :value="item.code"
+                                    :key="item.code"
+                                ></el-option>
+                            </el-select>
                         </el-form-item>
                         <el-form-item>
                             <el-button @click="showDialog=false">取 消</el-button>
@@ -59,36 +65,56 @@ const rules = {
 };
 
 export default {
-    name: "MessagePoint",
+    name: "MessageServicMer",
     data() {
         return {
             tableData: [],
             showDialog: false,
             dyForm: {
-                code: null,
-                description: "",
-                remark: ""
+                name: "",
+                info: "",
+                methodCode: ""
             },
+            sendMethodList: "",
             rules,
             isAdd: true
         };
     },
     created() {},
     mounted() {
-        this.getMessagePoint();
+        this.getMessageServicMer();
+        this.getSendMethodList();
     },
     methods: {
         ...mapActions(["fetch"]),
         // 获取消息点
-        getMessagePoint() {
+        getMessageServicMer() {
             this.fetch({
-                api: "/message/point/list",
+                api: "/message/provider/list",
                 method: "GET",
                 data: {},
                 success: res => {
                     console.log(res);
                     this.tableData = res;
-                    // this.subDeviceList = res;
+                },
+                fail: err => {
+                    console.log(err);
+                    if (err.errMsg) this.$message.error(err.errMsg);
+                    else this.$message.error("服务器发生异常");
+                }
+            });
+        },
+        // 获取发送方式
+        getSendMethodList() {
+            this.fetch({
+                api: "/message/method/list",
+                method: "GET",
+                data: {},
+                success: res => {
+                    this.sendMethodList = res;
+                    console.log("sssssssss")
+                    this.dyForm.methodCode = res[0].code;
+                    console.log(this.dyForm)
                 },
                 fail: err => {
                     console.log(err);
@@ -104,7 +130,7 @@ export default {
                 code: null,
                 description: "",
                 remark: ""
-            }
+            };
         },
         edit(row) {
             this.isAdd = false;
@@ -115,11 +141,11 @@ export default {
             this.fetch({
                 api: "/message/point/delete",
                 method: "POST",
-                data: {id:row.id},
+                data: { id: row.id },
                 success: res => {
                     console.log(res);
-                    this.getMessagePoint();
-                    this.$message,success("删除成功!")
+                    this.getMessageServicMer();
+                    this.$message, success("删除成功!");
                     // this.$message.success(res.msg);
                 },
                 fail: err => {
@@ -149,8 +175,8 @@ export default {
                 data: this.dyForm,
                 success: res => {
                     console.log(res);
-                    this.getMessagePoint();
-                    this.$message.success('添加消息点成功!')
+                    this.getMessageServicMer();
+                    this.$message.success("添加消息点成功!");
                 },
                 fail: err => {
                     console.log(err);