e hace 1 año
padre
commit
5cadf19b53

+ 54 - 0
day35/vue-admin-template-master/src/api/message.js

@@ -0,0 +1,54 @@
+import request from '@/utils/request'
+
+// 获取信息列表
+export function messageMain() {
+  return request({
+    url: '/showMessage',
+    method: 'get',
+  })
+}
+
+// 添加信息列表
+export function addMessage(data) {
+  return request({
+    url: '/insertAllMessage',
+    method: 'post',
+    data
+  })
+}
+
+// 删除等级列表
+export function delMessage(params) {
+  return request({
+    url: '/delOneMessage',
+    method: 'get',
+    params
+  })
+}
+
+// 信息修改
+export function updateMessage(data) {
+    return request({
+        url:"/updateMessage",
+        method:"post",
+        data
+    })
+}
+
+// 根据ID获取信息
+export function messageId(params) {
+    return request({
+      url: '/showOneMessage',
+      method: 'get',
+      params
+    })
+  }
+
+// 根据地址筛选信息
+export function searchMessage(data) {
+    return request({
+        url:"/searchaddressid",
+        method:"post",
+        data
+    })
+}

+ 1 - 0
day35/vue-admin-template-master/src/icons/svg/message.svg

@@ -0,0 +1 @@
+<svg t="1698459119321" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4053" width="200" height="200"><path d="M920.576 202.1376 253.952 202.1376c-44.1344 0-79.872 35.7376-79.872 79.872l0 53.248L36.6592 335.2576c-9.9328 0-17.92 8.0896-17.92 17.92s8.0896 17.92 17.92 17.92L174.08 371.0976l0 54.5792L75.3664 425.6768c-9.9328 0-17.92 8.0896-17.92 17.92 0 9.9328 8.0896 17.92 17.92 17.92L174.08 461.5168l0 313.6512c0 44.1344 35.7376 79.872 79.872 79.872l666.624 0c44.1344 0 79.872-35.7376 79.872-79.872L1000.448 282.0096C1000.448 237.8752 964.7104 202.1376 920.576 202.1376zM921.6 294.5024l-323.8912 329.728c-3.072 3.072-7.168 4.8128-11.5712 4.8128l0 0c-4.3008 0-8.4992-1.7408-11.5712-4.9152L252.928 294.8096c-6.2464-6.3488-6.144-16.5888 0.3072-22.8352 6.4512-6.2464 16.5888-6.144 22.8352 0.3072L586.1376 589.824l312.32-318.0544c6.2464-6.3488 16.4864-6.4512 22.8352-0.2048C927.6416 277.9136 927.744 288.1536 921.6 294.5024z" fill="#FF9000" p-id="4054"></path></svg>

+ 1 - 0
day35/vue-admin-template-master/src/icons/svg/message1.svg

@@ -0,0 +1 @@
+<svg t="1698459153679" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4205" width="200" height="200"><path d="M507.297959 862.040816c-52.244898 0-102.922449-9.404082-151.510204-27.689796l-116.506122 25.6c-24.032653 5.22449-46.497959 0-60.604082-14.628571-14.628571-14.628571-19.853061-36.571429-14.628571-60.604082l17.240816-77.844898c-43.363265-57.469388-66.35102-122.77551-66.35102-190.693877C114.938776 320.783673 291.004082 161.959184 507.297959 161.959184c107.62449 0 208.457143 36.04898 283.689796 101.877551C867.265306 330.710204 909.061224 420.04898 909.061224 516.179592c0 190.693878-180.244898 345.861224-401.763265 345.861224z" fill="#7BD4EF" p-id="4206"></path><path d="M512 581.485714c-38.138776 0-69.485714-31.346939-69.485714-69.485714s31.346939-69.485714 69.485714-69.485714 69.485714 31.346939 69.485714 69.485714-31.346939 69.485714-69.485714 69.485714zM710.530612 581.485714c-38.138776 0-69.485714-31.346939-69.485714-69.485714s31.346939-69.485714 69.485714-69.485714 69.485714 31.346939 69.485715 69.485714-31.346939 69.485714-69.485715 69.485714zM313.469388 581.485714c-38.138776 0-69.485714-31.346939-69.485715-69.485714s31.346939-69.485714 69.485715-69.485714 69.485714 31.346939 69.485714 69.485714-31.346939 69.485714-69.485714 69.485714z" fill="#278DCA" p-id="4207"></path></svg>

+ 1 - 0
day35/vue-admin-template-master/src/icons/svg/message2.svg

@@ -0,0 +1 @@
+<svg t="1698459183273" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5202" width="200" height="200"><path d="M456.533333 697.6h313.6c14.933333 0 27.733333 4.266667 38.4 12.8l57.6 44.8c14.933333 6.4 29.866667-2.133333 29.866667-19.2V341.333333c0-36.266667-27.733333-64-64-64H456.533333c-36.266667 0-64 27.733333-64 64v292.266667c0 34.133333 29.866667 64 64 64z" fill="#FCCA1E" p-id="5203"></path><path d="M678.4 725.333333H313.6c-17.066667 0-34.133333 6.4-49.066667 17.066667l-98.133333 83.2c-17.066667 8.533333-38.4-4.266667-38.4-23.466667V281.6c0-46.933333 38.4-85.333333 85.333333-85.333333h465.066667c46.933333 0 85.333333 38.4 85.333333 85.333333V640c0 46.933333-38.4 85.333333-85.333333 85.333333z" fill="#2953FF" p-id="5204"></path><path d="M260.266667 460.8m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="#FF354A" p-id="5205"></path><path d="M445.866667 460.8m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="#93A8FF" p-id="5206"></path><path d="M631.466667 460.8m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="#FF354A" p-id="5207"></path></svg>

+ 20 - 0
day35/vue-admin-template-master/src/router/index.js

@@ -130,6 +130,26 @@ export const constantRoutes = [
     ]
   },
 
+  {
+    path: '/message',
+    component: Layout,
+    name:"MessageMain",
+    meta: { title: 'MessageMain', icon: 'message' },
+    children: [
+      {
+        path: 'index',
+        name: 'messageList',
+        component: () => import('@/views/message/index'),
+        meta: { title: 'messageList', icon: 'message1' }
+      },
+      {
+        path: 'addMessage',
+        name: 'addMessage',
+        component: () => import('@/views/message/addMessage'),
+        meta: { title: 'addMessage', icon: 'message2' }
+      },
+    ]
+  },
   {
     path: '/nested',
     component: Layout,

+ 4 - 1
day35/vue-admin-template-master/src/views/location/addLocation.vue

@@ -80,7 +80,10 @@ export default {
               message: res.message,
               type: 'success'
             });
-            this.$router.push("/location/index");
+
+            this.$router.push({
+              name:"location",
+            });
             }
           }).catch(err=>{
             console.log(err,'失败')

+ 211 - 0
day35/vue-admin-template-master/src/views/message/addMessage.vue

@@ -0,0 +1,211 @@
+<template>
+  <div class="add-message">
+    <el-form
+      :model="ruleForm"
+      ref="ruleForm"
+      label-width="100px"
+      class="demo-ruleForm"
+      :rules="rules"
+    >
+      <el-form-item label="用户名称" prop="uname">
+        <el-input v-model="ruleForm.uname"></el-input>
+      </el-form-item>
+      <el-form-item label="地址ID" prop="addressid">
+        <el-select v-model="ruleForm.addressid" placeholder="请选择">
+          <el-option
+            v-for="item in ruleForm.options"
+            :key="item.addressid"
+            :label="item.addressname"
+            :value="item.addressid"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="等级ID" prop="levelid">
+        <el-select v-model="ruleForm.levelid" placeholder="请选择">
+          <el-option
+            v-for="item in ruleForm.options1"
+            :key="item.jrid"
+            :label="item.levelname"
+            :value="item.jrid"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="电话号码" prop="tel">
+        <el-input v-model="ruleForm.tel"></el-input>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" @click="submitForm('ruleForm')" v-if="open"
+          >提交</el-button
+        >
+        <el-button type="primary" @click="updateForm('ruleForm')" v-else
+          >修改</el-button
+        >
+        <el-button @click="resetForm('ruleForm')">重置</el-button>
+      </el-form-item>
+    </el-form>
+  </div>
+</template>
+
+<script>
+import { locationMain } from "@/api/location.js";
+import { addMessage, messageId, updateMessage } from "@/api/message.js";
+import { levelMain } from "@/api/level.js";
+export default {
+  name: "levelList",
+  data() {
+    return {
+      ruleForm: {
+        tel: "",
+        levelid: "",
+        addressid: "",
+        uname: "",
+        options: [],
+        option1: [],
+      },
+      open:true,
+      rules: {
+        uname: [
+          { required: true, message: "用户姓名不能为空", trigger: "blur" },
+        ],
+        tel: [{ required: true, message: "用户电话不能为空", trigger: "blur" }],
+        addressid: [
+          { required: true, message: "地址ID不能为空", trigger: "change" },
+        ],
+        levelid: [
+          { required: true, message: "等级ID不能为空", trigger: "change" },
+        ],
+      },
+    };
+  },
+  created() {
+    console.log(this.$route.params.id);
+    if (this.$route.params.id) {
+      // 通过ID查询信息
+      this.getList();
+      this.open = false;
+    }
+    // 地址ID
+    this.getAddress();
+    // 等级ID
+    this.getLevel();
+  },
+  methods: {
+    getList() {
+      messageId({
+        id: this.$route.params.id,
+      })
+        .then((res) => {
+          if (res.code == 101) {
+            this.ruleForm.uname = res.data[0].jrname;
+            this.ruleForm.tel = res.data[0].jrtel;
+            this.ruleForm.addressid = res.data[0].jraddressesid;
+            this.ruleForm.levelid = res.data[0].jrlevel;
+          }
+        })
+        .catch((err) => {
+          console.log(err);
+        });
+    },
+    getAddress() {
+      locationMain()
+        .then((res) => {
+          this.ruleForm.options = res.data;
+        })
+        .catch((err) => {
+          console.log(err);
+        });
+    },
+    getLevel() {
+      levelMain()
+        .then((res) => {
+          this.ruleForm.options1 = res.data;
+        })
+        .catch((err) => {
+          console.log(err);
+        });
+    },
+    submitForm(formName) {
+      console.log(this.ruleForm);
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          addMessage({
+            uname: this.ruleForm.uname,
+            tel: this.ruleForm.tel,
+            addressid: this.ruleForm.addressid,
+            levelid: this.ruleForm.levelid,
+          })
+            .then((res) => {
+              if (res.code == 101) {
+                this.$message({
+                  message: res.message,
+                  type: "success",
+                });
+
+                this.$router.push({
+                  name: "messageList",
+                });
+              }
+            })
+            .catch((err) => {
+              console.log(err, "失败");
+            });
+        } else {
+          console.log("error submit!!");
+          return false;
+        }
+      });
+    },
+    updateForm(formName) {
+      console.log(this.ruleForm);
+      this.$refs[formName].validate((valid) => {
+        if (valid) {
+          updateMessage({
+            uname: this.ruleForm.uname,
+            tel: this.ruleForm.tel,
+            addressid: this.ruleForm.addressid,
+            levelid: this.ruleForm.levelid,
+            id: this.$route.params.id
+          })
+            .then((res) => {
+              if (res.code == 101) {
+                this.$message({
+                  message: res.message,
+                  type: "success",
+                });
+
+                this.$router.push({
+                  name: "messageList",
+                });
+              }
+            })
+            .catch((err) => {
+              console.log(err, "失败");
+            });
+        } else {
+          console.log("error submit!!");
+          return false;
+        }
+      });
+    },
+    resetForm(formName) {
+      this.$refs[formName].resetFields();
+    },
+  },
+};
+</script>
+
+<style scoped lang="scss">
+.add-message {
+  width: 1000px;
+  margin: 200px auto 0;
+}
+// 深度样式穿透 v-deep => ::v-deep
+// ::v-deep .el-form-item__content {
+//   line-height: 100px;
+// }
+// .el-input {
+//   background: #00f;
+// }
+</style>

+ 183 - 0
day35/vue-admin-template-master/src/views/message/index.vue

@@ -0,0 +1,183 @@
+<template>
+  <div class="MessageList">
+    <div class="search">
+      <el-select v-model="value" placeholder="请选择">
+        <el-option
+          v-for="item in options"
+          :key="item.addressid"
+          :label="item.addressname"
+          :value="item.addressid"
+        >
+        </el-option>
+      </el-select>
+      <el-button type="primary" @click="searchMain" class="btn">搜索</el-button>
+      <el-button @click="resetForm">重置</el-button>
+    </div>
+    <div class="list">
+      <el-table :data="tableData" border style="width: 100%">
+        <el-table-column type="index" width="50"> </el-table-column>
+        <el-table-column prop="jrname" label="姓名" width="180">
+        </el-table-column>
+        <el-table-column prop="jrtel" label="电话号码" width="180">
+        </el-table-column>
+        <el-table-column prop="jrlevel" label="等级ID" width="180">
+        </el-table-column>
+        <el-table-column prop="levelname" label="等级名称"> </el-table-column>
+        <el-table-column prop="addressname" label="地址名称"> </el-table-column>
+        <el-table-column label="操作" width="200" fixed="right">
+          <template slot-scope="scope">
+            <el-button size="mini" @click="handleEdit(scope.row)"
+              >编辑</el-button
+            >
+            <el-button
+              size="mini"
+              type="danger"
+              @click="handleDelete(scope.row)"
+              >删除</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+  </div>
+</template>
+
+<script>
+import { locationMain } from "@/api/location.js";
+import { messageMain, delMessage, searchMessage } from "@/api/message.js";
+
+export default {
+  name: "location",
+  data() {
+    return {
+      tableData: [],
+      options: [],
+      value: "",
+    };
+  },
+  created() {
+    // 获取地址方法
+    this.getMain();
+    // 获取信息列表方法
+    this.getList();
+  },
+  methods: {
+    // 获取地址方法
+    getMain() {
+      locationMain()
+        .then((res) => {
+          this.options = res.data;
+        })
+        .catch((err) => {
+          console.log(err, "失败");
+        });
+    },
+    //获取信息列表方法
+    getList() {
+      messageMain()
+        .then((res) => {
+          console.log(res, "成功");
+          if (res.code == 101) {
+            this.tableData = res.data;
+          } else {
+            this.tableData = [];
+          }
+        })
+        .catch((err) => {
+          console.log(err, "失败");
+        });
+    },
+    // 删除
+    handleDelete(row) {
+         this.$confirm('是否删除当前信息', '确认删除', {
+          distinguishCancelAndClose: true,
+          confirmButtonText: '删除',
+          cancelButtonText: '取消'
+        })
+          .then(() => {
+      delMessage({
+        id: row.jrid,
+      })
+        .then((res) => {
+          console.log(res, "删除成功");
+          if (res.code == 101) {
+
+            this.$message({
+              message: res.message,
+              type: "success",
+            });
+            this.getList();
+            this.value = "";
+          }
+        })
+        .catch((err) => {
+          console.log(err, "删除失败");
+        });
+          })
+          .catch(action => {
+            this.$message({
+              type: 'info',
+              message: action === 'cancel'
+                ? '放弃删除并离开页面'
+                : '停留在当前页面'
+            })
+          });
+    },
+    // 查询地址
+    searchMain() {
+      var _addressName = "";
+      this.options.forEach((item) => {
+        if (item.addressid == this.value) {
+          _addressName = item.addressname;
+        }
+      });
+      console.log(_addressName);
+      searchMessage({
+        searchid: this.value,
+      })
+        .then((res) => {
+          if (res.code == 101) {
+            this.tableData = res.data.map((val) => {
+              console.log(val, "val");
+              val.addressname = _addressName;
+              val.levelname = "暂无内容";
+              return val;
+            });
+          } else {
+            this.tableData = [];
+          }
+        })
+        .catch((err) => {
+          console.log(err, "失败");
+        });
+    },
+    // 重置选择
+    resetForm() {
+      this.value = "";
+      this.getList();
+    },
+    // 修改
+    handleEdit(row) {
+      this.$router.push({
+        name: "addMessage",
+        params: {
+          id: row.jrid,
+        },
+      });
+    },
+  },
+};
+</script>
+
+<style scoped lang="scss">
+.MessageList {
+  width: 800px;
+  margin: 100px auto 0;
+}
+.list {
+  margin-top: 30px;
+}
+.btn {
+  margin-left: 20px;
+}
+</style>