From 3250e7729c2660a1f8951d35d1163b702efd9b4f Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期三, 04 一月 2023 14:01:28 +0800
Subject: [PATCH] fix:消息保存消息发送

---
 .history/src/api/operate/messageManagement_20230104134946.js                |   25 
 vue.config.js                                                               |    4 
 .history/src/views/operate/sms/smsIndex/index_20230104105114.vue            |  636 ++
 .history/src/views/operate/sms/smsIndex/index_20230104104607.vue            |  644 ++
 .history/src/views/intelligentPatrol/illegalSearch/index_20221229133119.vue |  440 +
 src/views/operate/message/myIndex/index.vue                                 |  147 
 .history/src/api/operate/messageManagement_20221130175043.js                |   21 
 .history/src/views/intelligentPatrol/illegalSearch/index_20230103161938.vue |  441 +
 .history/src/views/operate/message/myIndex/index_20230104114956.vue         |  604 ++
 .history/src/views/operate/sms/smsIndex/index_20230104105428.vue            |  631 ++
 src/api/operate/messageManagement.js                                        |    4 
 .history/src/views/operate/message/myIndex/index_20230104114351.vue         |  595 ++
 src/views/operate/message/myIndex/update/index.vue                          |   48 
 .history/src/views/operate/message/myIndex/update/index_20230104135855.vue  |  523 ++
 .history/src/views/operate/sms/smsIndex/index_20230104110238.vue            |  633 ++
 .history/src/views/operate/message/myIndex/index_20230104114551.vue         |  595 ++
 .history/src/views/operate/message/myIndex/index_20230104114724.vue         |  604 ++
 .history/src/views/intelligentPatrol/illegalSearch/index_20230103162024.vue |  441 +
 .history/src/views/operate/message/myIndex/update/index_20230104135024.vue  |  454 +
 .history/src/views/operate/message/myIndex/update/index_20230104135648.vue  |  522 ++
 .history/src/views/operate/sms/smsIndex/index_20230104111808.vue            |  634 ++
 .history/vue.config_20230104105558.js                                       |  130 
 .history/src/views/operate/message/myIndex/index_20230104115130.vue         |  604 ++
 src/views/operate/sms/smsIndex/index.vue                                    |   40 
 .history/src/views/operate/message/myIndex/index_20230104114841.vue         |  604 ++
 .history/src/views/operate/sms/smsIndex/index_20230104105347.vue            |  631 ++
 .history/src/views/operate/message/myIndex/update/index_20230104135738.vue  |  523 ++
 .history/src/views/operate/sms/smsIndex/index_20230104105237.vue            |  631 ++
 .history/src/views/operate/message/myIndex/index_20230104114615.vue         |  604 ++
 .history/src/views/operate/message/myIndex/update/index_20221229133119.vue  |  479 ++
 .history/src/views/operate/sms/smsIndex/index_20230104110359.vue            |  634 ++
 .history/src/views/operate/message/myIndex/index_20221229133119.vue         |  595 ++
 src/views/intelligentPatrol/illegalSearch/index.vue                         |    1 
 33 files changed, 14,026 insertions(+), 96 deletions(-)

diff --git a/.history/src/api/operate/messageManagement_20221130175043.js b/.history/src/api/operate/messageManagement_20221130175043.js
new file mode 100644
index 0000000..ab03b98
--- /dev/null
+++ b/.history/src/api/operate/messageManagement_20221130175043.js
@@ -0,0 +1,21 @@
+import http from "@/http";
+
+export function deleteMessage(params) {
+    return http.delete('/sccg/message/delete', params);
+}
+
+export function getMessageById(id) {
+    return http.get('/sccg/message/getMessage/' + id);
+}
+
+export function getMessageList(params) {
+    return http.get('/sccg/message/list', params);
+}
+
+export function sendMessage(params) {
+    return http.post('/sccg/message/sendMessage', params);
+}
+
+export function updateMessage(params) {
+    return http.post('/sccg/message/update', params);
+}
\ No newline at end of file
diff --git a/.history/src/api/operate/messageManagement_20230104134946.js b/.history/src/api/operate/messageManagement_20230104134946.js
new file mode 100644
index 0000000..c9a3fa0
--- /dev/null
+++ b/.history/src/api/operate/messageManagement_20230104134946.js
@@ -0,0 +1,25 @@
+import http from "@/http";
+
+export function deleteMessage(params) {
+    return http.delete('/sccg/message/delete', params);
+}
+
+export function getMessageById(id) {
+    return http.get('/sccg/message/getMessage/' + id);
+}
+
+export function getMessageList(params) {
+    return http.get('/sccg/message/list', params);
+}
+
+export function sendMessage(params) {
+    return http.post('/sccg/message/sendMessage', params);
+}
+
+export function saveMessage(params) {
+    return http.post('/sccg/message/saveMessage', params);
+}
+
+export function updateMessage(params) {
+    return http.post('/sccg/message/update', params);
+}
\ No newline at end of file
diff --git a/.history/src/views/intelligentPatrol/illegalSearch/index_20221229133119.vue b/.history/src/views/intelligentPatrol/illegalSearch/index_20221229133119.vue
new file mode 100644
index 0000000..6a94151
--- /dev/null
+++ b/.history/src/views/intelligentPatrol/illegalSearch/index_20221229133119.vue
@@ -0,0 +1,440 @@
+<template>
+  <div class="illegal-search">
+    <header>
+      <div class="headerContent">
+        <!-- 鏉′欢绛涢�� -->
+        <el-form ref="condition" :model="form" label-width="100px">
+          <el-form-item :label=item.label :key=item.id v-for="item in headerList" :prop="item.prop">
+            <el-input v-if="item.type === 'input'" v-model="form[item.prop]" :placeholder="item.placeholder"></el-input>
+            <el-cascader v-if="item.type === 'cascader'" :options="item.options"
+              :props="{ value: 'id', label: 'regionName' }" v-model="form[item.prop]"
+              :placeholder="item.placeholder"></el-cascader>
+            <el-select v-if="item.type === 'select'" v-model="form[item.prop]" :placeholder="item.placeholder">
+              <el-option v-for="option in item.options" :value="option.id" :key="option.id"
+                :label="option.name"></el-option>
+            </el-select>
+            <el-date-picker v-if="item.type === 'timepick'" type="datetimerange" v-model="form[item.prop]"
+              start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+          </el-form-item>
+        </el-form>
+      </div>
+    </header>
+    <main>
+      <div class="mainContent">
+        <!-- 鎸夐挳鍖哄煙 -->
+        <div class="main-btns">
+          <div class="main-btns-left">
+<!--            <el-button icon="el-icon-download">涓嬭浇鍥剧墖</el-button>-->
+            <el-button icon="el-icon-folder" @click="exportTableData">瀵煎嚭</el-button>
+          </div>
+          <div class="main-btns-right">
+            <el-button icon="el-icon-search" @click="searchTableData">鏌ヨ</el-button>
+            <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+          </div>
+        </div>
+        <!-- 鏁版嵁灞曠ず -->
+        <el-table ref="multipleTable"
+          :header-cell-style="{ 'font-weight': '650', 'line-height': '45px' }"
+          :data="tableData" style="width: 100%" :row-class-name="tableRowClassName">
+          <el-table-column type="selection" min-width="5">
+          </el-table-column>
+          <el-table-column prop="code" label="浜嬩欢缂栧彿" min-width="10">
+          </el-table-column>
+          <el-table-column prop="typeName" label="杩濊绫诲瀷" min-width="10">
+          </el-table-column>
+          <el-table-column prop="eventSource" label="浜嬩欢鏉ユ簮" min-width="10">
+          </el-table-column>
+          <el-table-column prop="gradeName" label="浜嬩欢绛夌骇" min-width="10">
+          </el-table-column>
+          <el-table-column prop="streetName" label="鎶ヨ鐐逛綅" min-width="10">
+          </el-table-column>
+          <el-table-column prop="site" label="鎵�灞炵粍缁�" min-width="10">
+          </el-table-column>
+          <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="12">
+          </el-table-column>
+          <el-table-column prop="continueTime" label="鎸佺画鏃堕棿" min-width="12">
+          </el-table-column>
+          <el-table-column prop="carNumber" label="杞︾墝鍙风爜" min-width="10">
+          </el-table-column>
+          <el-table-column prop="state" label="瀹℃牳鐘舵��" min-width="10">
+          </el-table-column>
+          <el-table-column prop="handlingOpinion" label="澶勭悊鎰忚" min-width="10">
+          </el-table-column>
+          <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+            <template slot-scope="scope">
+              <div class="operation">
+                <span @click="handleView(scope.row)">鏌ョ湅</span>
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <div class="tools">
+        <div class="funs">
+          <!-- <div class="funsItem">
+                            <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                                <el-option v-for="item in options" :key="item.value" :label="item.label"
+                                    :value="item.value" :disabled="item.disabled">
+                                </el-option>
+                            </el-select>
+                        </div> -->
+        </div>
+        <div class="pagination">
+          <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="totalNum"
+            :page-size="pageSize" @current-change="changeCurrentPage" @prev-click="handlePrev" @next-click="handleNext">
+          </el-pagination>
+        </div>
+      </div>
+    </main>
+    <footer>
+      <!-- 鏌ョ湅鍏蜂綋淇℃伅 -->
+      <el-dialog title="浜嬩欢璇︽儏" destroy-on-close :visible.sync="dialogView" width="45%" :before-close="handleClose">
+        <ViewInfo :info="info"></ViewInfo>
+      </el-dialog>
+    </footer>
+  </div>
+</template>
+
+<script>
+import helper from "@/utils/mydate.js";
+import ViewInfo from './viewInfo';
+import basecase from "@/api/operate/basecase";
+import department from "@/api/system/department";
+import { getVideoPoint } from "@/api/operate/storeManagement";
+
+export default {
+  components: {
+    ViewInfo
+  },
+
+  created() {
+    this.getTableData();
+
+    // 鑾峰彇缁勭粐鍒楄〃
+    department.getDepartmentList()
+      .then(res => {
+        this.headerList[0].options = res;
+      })
+      .catch(err => this.$message.error(err))
+
+    getVideoPoint({ current: 1, size: 100 })
+      .then(({ records }) => {
+        this.headerList[4].options = records;
+      })
+      .catch(err => this.$message.error(err))
+  },
+
+  data() {
+    return {
+      tableData: [],
+      dialogView: false,
+      info: null,
+      currentPage: 1,
+      pageSize: 10,
+      totalNum: null,
+      headerList: [
+        {
+          id: 1,
+          label: '鎵�灞炵粍缁�:',
+          value: '',
+          placeholder: '璇疯緭鍏ユ墍灞炵粍缁�',
+          prop: 'organization',
+          type: 'cascader',
+          options: []
+        },
+        {
+          id: 2,
+          label: '鎶ヨ鏃堕棿:',
+          value: '',
+          placeholder: '璇疯緭鍏ユ姤璀︽椂闂�',
+          prop: 'alarmTime',
+          type: 'timepick'
+        },
+        {
+          id: 3,
+          label: '杩濊绫诲瀷:',
+          value: '',
+          placeholder: '璇疯緭鍏ヨ繚瑙勭被鍨�',
+          prop: 'typeId',
+          type: 'input'
+        },
+        {
+          id: 4,
+          label: '浜嬩欢缂栧彿:',
+          value: '',
+          placeholder: '璇疯緭鍏ヤ簨浠剁紪鍙�',
+          prop: 'code',
+          type: 'input'
+        },
+        {
+          id: 5,
+          label: '鐩戞帶鐐瑰悕绉�:',
+          value: '',
+          placeholder: '璇疯緭鍏ョ洃鎺х偣鍚嶇О',
+          prop: 'videoPointId',
+          type: 'select',
+          options: []
+        },
+        {
+          id: 6,
+          label: '瀹℃牳鐘舵��:',
+          value: '',
+          placeholder: '璇疯緭鍏ュ鏍哥姸鎬�',
+          type: 'select',
+          options: [{ id: 7, name: '鏈鏍�' }, { id: 8, name: '宸茬粡瀹℃牳' }, { id: 9, name: '缁撴' }]
+        },
+        {
+          id: 7,
+          label: '杞︾墝鍙�:',
+          value: '',
+          placeholder: '璇疯緭鍏ヨ溅鐗屽彿',
+          prop: 'carNumber',
+          type: 'input'
+        },
+        {
+          id: 8,
+          label: '澶勭悊鎰忚:',
+          value: '',
+          placeholder: '璇疯緭鍏ヤ簨浠剁瓑绾�',
+          prop: 'handlingOpinion',
+          type: 'input'
+        },
+        {
+          id: 9,
+          label: '浜嬩欢绛夌骇:',
+          value: '',
+          placeholder: '璇疯緭鍏ヤ簨浠剁瓑绾�',
+          prop: 'gradeId',
+          type: 'input'
+        },
+      ],
+      form: {
+        gradeId: null,
+        alarmTime: null,
+        handlingOpinion: null,
+        streetId: null,
+        typeId: null,
+        code: null,
+        carNumber: null,
+        state: null,
+        videoPointId: null,
+        organization: null
+      }
+    }
+  },
+
+  methods: {
+    getTableData(params) {
+      basecase.getViolationList({ current: this.currentPage, pageSize: this.pageSize, ...params })
+        .then(({ records, total }) => {
+          this.tableData = records;
+          this.totalNum = total;
+        })
+        .catch(err => this.$message.error(err))
+    },
+
+    searchTableData() {
+      const { alarmTime, organization } = this.form;
+      const [startTime, endTime] = alarmTime ?? [null, null];
+      const [communityId, streetId] = organization ?? [null, null];
+      const params = Object.assign({}, this.form);
+      delete params.alarmTime;
+      delete params.organization;
+      this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+    },
+
+    changeTime({ createTime }) {
+      return helper(createTime);
+    },
+    // 璁剧疆琛ㄦ牸鏂戦┈绾�
+    tableRowClassName({ row, rowIndex }) {
+      if ((rowIndex + 1) % 2 === 0) {
+        return 'warning-row';
+      } else {
+        return 'success-row';
+      }
+    },
+    // 琛ㄥ崟閲嶇疆
+    handleReset() {
+      this.currentPage = 1;
+      this.$refs.condition.resetFields();
+      this.getTableData();
+    },
+    // 鍏抽棴寮圭獥
+    handleClose(done) {
+      done();
+    },
+    // 鎵撳紑寮圭獥
+    handleView(data) {
+      this.info = data
+      this.dialogView = true
+    },
+    // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+    changeCurrentPage(page) {
+      const { alarmTime, organization } = this.form;
+      const [startTime, endTime] = alarmTime ?? [null, null];
+      const [communityId, streetId] = organization ?? [null, null];
+      const params = Object.assign({}, this.form);
+      delete params.alarmTime;
+      delete params.organization;
+      this.currentPage = page;
+      this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+    },
+    // 涓婁竴椤电偣鍑讳簨浠�
+    handlePrev(page) {
+      const { alarmTime, organization } = this.form;
+      const [startTime, endTime] = alarmTime ?? [null, null];
+      const [communityId, streetId] = organization ?? [null, null];
+      const params = Object.assign({}, this.form);
+      delete params.alarmTime;
+      delete params.organization;
+      this.currentPage = page;
+      this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+    },
+    // 涓嬩竴椤电偣鍑讳簨浠�
+    handleNext(page) {
+      const { alarmTime, organization } = this.form;
+      const [startTime, endTime] = alarmTime ?? [null, null];
+      const [communityId, streetId] = organization ?? [null, null];
+      const params = Object.assign({}, this.form);
+      delete params.alarmTime;
+      delete params.organization;
+      this.currentPage = page;
+      this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+    },
+    exportTableData() {
+      basecase.exportViolationData({ current: 1 })
+          .then((res) => {
+            console.log(res)
+            this.$message.success('鎿嶄綔鎴愬姛');
+            // let res = basecase.exportUserOperationLogAjax({
+            //   startLogTime: transDate(this.searchQuery.date[0], "YYYY-MM-DD"),
+            //   endLogTime: transDate(this.searchQuery.date[1], "YYYY-MM-DD"),
+            //   systemName: this.searchQuery.systemName,
+            //   userName: this.searchQuery.user,
+            // }).then((res)=>{
+            //   console.log(res)
+            // });
+
+            let time = new Date()
+            let deathdate =time.toLocaleDateString()
+            const blob = new Blob([res.data], {
+              type: "application/vnd.ms-excel;charset=utf-8",
+            });
+            if (window.navigator.msSaveBlob) {
+              window.navigator.msSaveBlob(blob, deathdate+"杩濊鏁版嵁" + ".xlsx");
+            } else {
+              const url = window.URL.createObjectURL(blob);
+              const link = document.createElement("a");
+              link.style.display = "none";
+              link.href = url;
+              link.download = deathdate+"杩濊鏁版嵁" + ".xlsx";
+              document.body.appendChild(link);
+              link.click();
+              document.body.removeChild(link);
+            }
+          })
+          .catch(err => this.$message.error(err))
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+.illegal-search {
+  text-align: left;
+  margin: 10px 20px;
+  color: #4b9bb7;
+
+  header {
+    background-color: white;
+
+    .headerContent {
+      padding: 20px 40px;
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+
+      ::v-deep .el-form {
+        display: flex;
+        flex-wrap: wrap;
+        justify-content: space-between;
+
+        .el-form-item {
+          width: 30%;
+        }
+
+        .el-form-item__label {
+          color: #4b9bb7;
+        }
+      }
+    }
+  }
+
+  main {
+    background-color: #ffffff;
+    margin-top: 20px;
+    padding-bottom: 50px;
+
+    .mainTitle {
+      line-height: 60px;
+    }
+
+    .main-btns {
+      display: flex;
+      justify-content: space-between;
+      line-height: 60px;
+      padding: 0 20px;
+
+      .el-button {
+        background-color: #2f91ec;
+        border: 1px solid #17324c;
+        color: #ffffff;
+      }
+    }
+
+    .el-table {
+      // color: #4b9bb7;
+    }
+
+    .tools {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      padding: 0 20px;
+
+      .funs-sp {
+        border: 1px solid #17324c;
+      }
+
+      .funs {
+        display: flex;
+
+        .funsItem {
+          line-height: 28px;
+          display: flex;
+          align-items: center;
+          border-radius: 4px;
+          font-size: 12px;
+          margin-left: 10px;
+
+          .el-checkbox {
+            width: 80px;
+            padding: 0 10px;
+          }
+
+          &::v-deep .el-input__inner {
+            border: none;
+            // background-color: #09152f;
+          }
+        }
+      }
+    }
+  }
+}
+</style>
\ No newline at end of file
diff --git a/.history/src/views/intelligentPatrol/illegalSearch/index_20230103161938.vue b/.history/src/views/intelligentPatrol/illegalSearch/index_20230103161938.vue
new file mode 100644
index 0000000..46dd605
--- /dev/null
+++ b/.history/src/views/intelligentPatrol/illegalSearch/index_20230103161938.vue
@@ -0,0 +1,441 @@
+<template>
+  <div class="illegal-search">
+    <header>
+      <div class="headerContent">
+        <!-- 鏉′欢绛涢�� -->
+        <el-form ref="condition" :model="form" label-width="100px">
+          <el-form-item :label=item.label :key=item.id v-for="item in headerList" :prop="item.prop">
+            <el-input v-if="item.type === 'input'" v-model="form[item.prop]" :placeholder="item.placeholder"></el-input>
+            <el-cascader v-if="item.type === 'cascader'" :options="item.options"
+              :props="{ value: 'id', label: 'regionName' }" v-model="form[item.prop]"
+              :placeholder="item.placeholder"></el-cascader>
+            <el-select v-if="item.type === 'select'" v-model="form[item.prop]" :placeholder="item.placeholder">
+              <el-option v-for="option in item.options" :value="option.id" :key="option.id"
+                :label="option.name"></el-option>
+            </el-select>
+            <el-date-picker v-if="item.type === 'timepick'" type="datetimerange" v-model="form[item.prop]"
+              start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+          </el-form-item>
+        </el-form>
+      </div>
+    </header>
+    <main>
+      <div class="mainContent">
+        <!-- 鎸夐挳鍖哄煙 -->
+        <div class="main-btns">
+          <div class="main-btns-left">
+<!--            <el-button icon="el-icon-download">涓嬭浇鍥剧墖</el-button>-->
+            <el-button icon="el-icon-folder" @click="exportTableData">瀵煎嚭</el-button>
+          </div>
+          <div class="main-btns-right">
+            <el-button icon="el-icon-search" @click="searchTableData">鏌ヨ</el-button>
+            <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+          </div>
+        </div>
+        <!-- 鏁版嵁灞曠ず -->
+        <el-table ref="multipleTable"
+          :header-cell-style="{ 'font-weight': '650', 'line-height': '45px' }"
+          :data="tableData" style="width: 100%" :row-class-name="tableRowClassName">
+          <el-table-column type="selection" min-width="5">
+          </el-table-column>
+          <el-table-column prop="code" label="浜嬩欢缂栧彿" min-width="10">
+          </el-table-column>
+          <el-table-column prop="typeName" label="杩濊绫诲瀷" min-width="10">
+          </el-table-column>
+          <el-table-column prop="eventSource" label="浜嬩欢鏉ユ簮" min-width="10">
+          </el-table-column>
+          <el-table-column prop="gradeName" label="浜嬩欢绛夌骇" min-width="10">
+          </el-table-column>
+          <el-table-column prop="streetName" label="鎶ヨ鐐逛綅" min-width="10">
+          </el-table-column>
+          <el-table-column prop="site" label="鎵�灞炵粍缁�" min-width="10">
+          </el-table-column>
+          <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="12">
+          </el-table-column>
+          <el-table-column prop="continueTime" label="鎸佺画鏃堕棿" min-width="12">
+          </el-table-column>
+          <el-table-column prop="carNumber" label="杞︾墝鍙风爜" min-width="10">
+          </el-table-column>
+          <el-table-column prop="state" label="瀹℃牳鐘舵��" min-width="10">
+          </el-table-column>
+          <el-table-column prop="handlingOpinion" label="澶勭悊鎰忚" min-width="10">
+          </el-table-column>
+          <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+            <template slot-scope="scope">
+              <div class="operation">
+                <span @click="handleView(scope.row)">鏌ョ湅</span>
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <div class="tools">
+        <div class="funs">
+          <!-- <div class="funsItem">
+                            <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                                <el-option v-for="item in options" :key="item.value" :label="item.label"
+                                    :value="item.value" :disabled="item.disabled">
+                                </el-option>
+                            </el-select>
+                        </div> -->
+        </div>
+        <div class="pagination">
+          <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="totalNum"
+            :page-size="pageSize" @current-change="changeCurrentPage" @prev-click="handlePrev" @next-click="handleNext">
+          </el-pagination>
+        </div>
+      </div>
+    </main>
+    <footer>
+      <!-- 鏌ョ湅鍏蜂綋淇℃伅 -->
+      <el-dialog title="浜嬩欢璇︽儏" destroy-on-close :visible.sync="dialogView" width="45%" :before-close="handleClose">
+        <ViewInfo :info="info"></ViewInfo>
+      </el-dialog>
+    </footer>
+  </div>
+</template>
+
+<script>
+import helper from "@/utils/mydate.js";
+import ViewInfo from './viewInfo';
+import basecase from "@/api/operate/basecase";
+import department from "@/api/system/department";
+import { getVideoPoint } from "@/api/operate/storeManagement";
+
+export default {
+  components: {
+    ViewInfo
+  },
+
+  created() {
+    this.getTableData();
+
+    // 鑾峰彇缁勭粐鍒楄〃
+    department.getDepartmentList()
+      .then(res => {
+        this.headerList[0].options = res;
+      })
+      .catch(err => this.$message.error(err))
+
+    getVideoPoint({ current: 1, size: 100 })
+      .then(({ records }) => {
+        this.headerList[4].options = records;
+      })
+      .catch(err => this.$message.error(err))
+  },
+
+  data() {
+    return {
+      tableData: [],
+      dialogView: false,
+      info: null,
+      currentPage: 1,
+      pageSize: 10,
+      totalNum: null,
+      headerList: [
+        {
+          id: 1,
+          label: '鎵�灞炵粍缁�:',
+          value: '',
+          placeholder: '璇疯緭鍏ユ墍灞炵粍缁�',
+          prop: 'organization',
+          type: 'cascader',
+          options: []
+        },
+        {
+          id: 2,
+          label: '鎶ヨ鏃堕棿:',
+          value: '',
+          placeholder: '璇疯緭鍏ユ姤璀︽椂闂�',
+          prop: 'alarmTime',
+          type: 'timepick'
+        },
+        {
+          id: 3,
+          label: '杩濊绫诲瀷:',
+          value: '',
+          placeholder: '璇疯緭鍏ヨ繚瑙勭被鍨�',
+          prop: 'typeId',
+          type: 'input'
+        },
+        {
+          id: 4,
+          label: '浜嬩欢缂栧彿:',
+          value: '',
+          placeholder: '璇疯緭鍏ヤ簨浠剁紪鍙�',
+          prop: 'code',
+          type: 'input'
+        },
+        {
+          id: 5,
+          label: '鐩戞帶鐐瑰悕绉�:',
+          value: '',
+          placeholder: '璇疯緭鍏ョ洃鎺х偣鍚嶇О',
+          prop: 'videoPointId',
+          type: 'select',
+          options: []
+        },
+        {
+          id: 6,
+          label: '瀹℃牳鐘舵��:',
+          value: '',
+          placeholder: '璇疯緭鍏ュ鏍哥姸鎬�',
+          type: 'select',
+          prop: 'status',
+          options: [{ id: 7, name: '鏈鏍�' }, { id: 8, name: '宸茬粡瀹℃牳' }, { id: 9, name: '缁撴' }]
+        },
+        {
+          id: 7,
+          label: '杞︾墝鍙�:',
+          value: '',
+          placeholder: '璇疯緭鍏ヨ溅鐗屽彿',
+          prop: 'carNumber',
+          type: 'input'
+        },
+        {
+          id: 8,
+          label: '澶勭悊鎰忚:',
+          value: '',
+          placeholder: '璇疯緭鍏ヤ簨浠剁瓑绾�',
+          prop: 'handlingOpinion',
+          type: 'input'
+        },
+        {
+          id: 9,
+          label: '浜嬩欢绛夌骇:',
+          value: '',
+          placeholder: '璇疯緭鍏ヤ簨浠剁瓑绾�',
+          prop: 'gradeId',
+          type: 'input'
+        },
+      ],
+      form: {
+        gradeId: null,
+        alarmTime: null,
+        handlingOpinion: null,
+        streetId: null,
+        typeId: null,
+        code: null,
+        carNumber: null,
+        state: null,
+        videoPointId: null,
+        organization: null
+      }
+    }
+  },
+
+  methods: {
+    getTableData(params) {
+      basecase.getViolationList({ current: this.currentPage, pageSize: this.pageSize, ...params })
+        .then(({ records, total }) => {
+          this.tableData = records;
+          this.totalNum = total;
+        })
+        .catch(err => this.$message.error(err))
+    },
+
+    searchTableData() {
+      const { alarmTime, organization } = this.form;
+      const [startTime, endTime] = alarmTime ?? [null, null];
+      const [communityId, streetId] = organization ?? [null, null];
+      const params = Object.assign({}, this.form);
+      delete params.alarmTime;
+      delete params.organization;
+      this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+    },
+
+    changeTime({ createTime }) {
+      return helper(createTime);
+    },
+    // 璁剧疆琛ㄦ牸鏂戦┈绾�
+    tableRowClassName({ row, rowIndex }) {
+      if ((rowIndex + 1) % 2 === 0) {
+        return 'warning-row';
+      } else {
+        return 'success-row';
+      }
+    },
+    // 琛ㄥ崟閲嶇疆
+    handleReset() {
+      this.currentPage = 1;
+      this.$refs.condition.resetFields();
+      this.getTableData();
+    },
+    // 鍏抽棴寮圭獥
+    handleClose(done) {
+      done();
+    },
+    // 鎵撳紑寮圭獥
+    handleView(data) {
+      this.info = data
+      this.dialogView = true
+    },
+    // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+    changeCurrentPage(page) {
+      const { alarmTime, organization } = this.form;
+      const [startTime, endTime] = alarmTime ?? [null, null];
+      const [communityId, streetId] = organization ?? [null, null];
+      const params = Object.assign({}, this.form);
+      delete params.alarmTime;
+      delete params.organization;
+      this.currentPage = page;
+      this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+    },
+    // 涓婁竴椤电偣鍑讳簨浠�
+    handlePrev(page) {
+      const { alarmTime, organization } = this.form;
+      const [startTime, endTime] = alarmTime ?? [null, null];
+      const [communityId, streetId] = organization ?? [null, null];
+      const params = Object.assign({}, this.form);
+      delete params.alarmTime;
+      delete params.organization;
+      this.currentPage = page;
+      this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+    },
+    // 涓嬩竴椤电偣鍑讳簨浠�
+    handleNext(page) {
+      const { alarmTime, organization } = this.form;
+      const [startTime, endTime] = alarmTime ?? [null, null];
+      const [communityId, streetId] = organization ?? [null, null];
+      const params = Object.assign({}, this.form);
+      delete params.alarmTime;
+      delete params.organization;
+      this.currentPage = page;
+      this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+    },
+    exportTableData() {
+      basecase.exportViolationData({ current: 1 })
+          .then((res) => {
+            console.log(res)
+            this.$message.success('鎿嶄綔鎴愬姛');
+            // let res = basecase.exportUserOperationLogAjax({
+            //   startLogTime: transDate(this.searchQuery.date[0], "YYYY-MM-DD"),
+            //   endLogTime: transDate(this.searchQuery.date[1], "YYYY-MM-DD"),
+            //   systemName: this.searchQuery.systemName,
+            //   userName: this.searchQuery.user,
+            // }).then((res)=>{
+            //   console.log(res)
+            // });
+
+            let time = new Date()
+            let deathdate =time.toLocaleDateString()
+            const blob = new Blob([res.data], {
+              type: "application/vnd.ms-excel;charset=utf-8",
+            });
+            if (window.navigator.msSaveBlob) {
+              window.navigator.msSaveBlob(blob, deathdate+"杩濊鏁版嵁" + ".xlsx");
+            } else {
+              const url = window.URL.createObjectURL(blob);
+              const link = document.createElement("a");
+              link.style.display = "none";
+              link.href = url;
+              link.download = deathdate+"杩濊鏁版嵁" + ".xlsx";
+              document.body.appendChild(link);
+              link.click();
+              document.body.removeChild(link);
+            }
+          })
+          .catch(err => this.$message.error(err))
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+.illegal-search {
+  text-align: left;
+  margin: 10px 20px;
+  color: #4b9bb7;
+
+  header {
+    background-color: white;
+
+    .headerContent {
+      padding: 20px 40px;
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+
+      ::v-deep .el-form {
+        display: flex;
+        flex-wrap: wrap;
+        justify-content: space-between;
+
+        .el-form-item {
+          width: 30%;
+        }
+
+        .el-form-item__label {
+          color: #4b9bb7;
+        }
+      }
+    }
+  }
+
+  main {
+    background-color: #ffffff;
+    margin-top: 20px;
+    padding-bottom: 50px;
+
+    .mainTitle {
+      line-height: 60px;
+    }
+
+    .main-btns {
+      display: flex;
+      justify-content: space-between;
+      line-height: 60px;
+      padding: 0 20px;
+
+      .el-button {
+        background-color: #2f91ec;
+        border: 1px solid #17324c;
+        color: #ffffff;
+      }
+    }
+
+    .el-table {
+      // color: #4b9bb7;
+    }
+
+    .tools {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      padding: 0 20px;
+
+      .funs-sp {
+        border: 1px solid #17324c;
+      }
+
+      .funs {
+        display: flex;
+
+        .funsItem {
+          line-height: 28px;
+          display: flex;
+          align-items: center;
+          border-radius: 4px;
+          font-size: 12px;
+          margin-left: 10px;
+
+          .el-checkbox {
+            width: 80px;
+            padding: 0 10px;
+          }
+
+          &::v-deep .el-input__inner {
+            border: none;
+            // background-color: #09152f;
+          }
+        }
+      }
+    }
+  }
+}
+</style>
\ No newline at end of file
diff --git a/.history/src/views/intelligentPatrol/illegalSearch/index_20230103162024.vue b/.history/src/views/intelligentPatrol/illegalSearch/index_20230103162024.vue
new file mode 100644
index 0000000..5057ac6
--- /dev/null
+++ b/.history/src/views/intelligentPatrol/illegalSearch/index_20230103162024.vue
@@ -0,0 +1,441 @@
+<template>
+  <div class="illegal-search">
+    <header>
+      <div class="headerContent">
+        <!-- 鏉′欢绛涢�� -->
+        <el-form ref="condition" :model="form" label-width="100px">
+          <el-form-item :label=item.label :key=item.id v-for="item in headerList" :prop="item.prop">
+            <el-input v-if="item.type === 'input'" v-model="form[item.prop]" :placeholder="item.placeholder"></el-input>
+            <el-cascader v-if="item.type === 'cascader'" :options="item.options"
+              :props="{ value: 'id', label: 'regionName' }" v-model="form[item.prop]"
+              :placeholder="item.placeholder"></el-cascader>
+            <el-select v-if="item.type === 'select'" v-model="form[item.prop]" :placeholder="item.placeholder">
+              <el-option v-for="option in item.options" :value="option.id" :key="option.id"
+                :label="option.name"></el-option>
+            </el-select>
+            <el-date-picker v-if="item.type === 'timepick'" type="datetimerange" v-model="form[item.prop]"
+              start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+          </el-form-item>
+        </el-form>
+      </div>
+    </header>
+    <main>
+      <div class="mainContent">
+        <!-- 鎸夐挳鍖哄煙 -->
+        <div class="main-btns">
+          <div class="main-btns-left">
+<!--            <el-button icon="el-icon-download">涓嬭浇鍥剧墖</el-button>-->
+            <el-button icon="el-icon-folder" @click="exportTableData">瀵煎嚭</el-button>
+          </div>
+          <div class="main-btns-right">
+            <el-button icon="el-icon-search" @click="searchTableData">鏌ヨ</el-button>
+            <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+          </div>
+        </div>
+        <!-- 鏁版嵁灞曠ず -->
+        <el-table ref="multipleTable"
+          :header-cell-style="{ 'font-weight': '650', 'line-height': '45px' }"
+          :data="tableData" style="width: 100%" :row-class-name="tableRowClassName">
+          <el-table-column type="selection" min-width="5">
+          </el-table-column>
+          <el-table-column prop="code" label="浜嬩欢缂栧彿" min-width="10">
+          </el-table-column>
+          <el-table-column prop="typeName" label="杩濊绫诲瀷" min-width="10">
+          </el-table-column>
+          <el-table-column prop="eventSource" label="浜嬩欢鏉ユ簮" min-width="10">
+          </el-table-column>
+          <el-table-column prop="gradeName" label="浜嬩欢绛夌骇" min-width="10">
+          </el-table-column>
+          <el-table-column prop="streetName" label="鎶ヨ鐐逛綅" min-width="10">
+          </el-table-column>
+          <el-table-column prop="site" label="鎵�灞炵粍缁�" min-width="10">
+          </el-table-column>
+          <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="12">
+          </el-table-column>
+          <el-table-column prop="continueTime" label="鎸佺画鏃堕棿" min-width="12">
+          </el-table-column>
+          <el-table-column prop="carNumber" label="杞︾墝鍙风爜" min-width="10">
+          </el-table-column>
+          <el-table-column prop="state" label="瀹℃牳鐘舵��" min-width="10">
+          </el-table-column>
+          <el-table-column prop="handlingOpinion" label="澶勭悊鎰忚" min-width="10">
+          </el-table-column>
+          <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+            <template slot-scope="scope">
+              <div class="operation">
+                <span @click="handleView(scope.row)">鏌ョ湅</span>
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <div class="tools">
+        <div class="funs">
+          <!-- <div class="funsItem">
+                            <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                                <el-option v-for="item in options" :key="item.value" :label="item.label"
+                                    :value="item.value" :disabled="item.disabled">
+                                </el-option>
+                            </el-select>
+                        </div> -->
+        </div>
+        <div class="pagination">
+          <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="totalNum"
+            :page-size="pageSize" @current-change="changeCurrentPage" @prev-click="handlePrev" @next-click="handleNext">
+          </el-pagination>
+        </div>
+      </div>
+    </main>
+    <footer>
+      <!-- 鏌ョ湅鍏蜂綋淇℃伅 -->
+      <el-dialog title="浜嬩欢璇︽儏" destroy-on-close :visible.sync="dialogView" width="45%" :before-close="handleClose">
+        <ViewInfo :info="info"></ViewInfo>
+      </el-dialog>
+    </footer>
+  </div>
+</template>
+
+<script>
+import helper from "@/utils/mydate.js";
+import ViewInfo from './viewInfo';
+import basecase from "@/api/operate/basecase";
+import department from "@/api/system/department";
+import { getVideoPoint } from "@/api/operate/storeManagement";
+
+export default {
+  components: {
+    ViewInfo
+  },
+
+  created() {
+    this.getTableData();
+
+    // 鑾峰彇缁勭粐鍒楄〃
+    department.getDepartmentList()
+      .then(res => {
+        this.headerList[0].options = res;
+      })
+      .catch(err => this.$message.error(err))
+
+    getVideoPoint({ current: 1, size: 100 })
+      .then(({ records }) => {
+        this.headerList[4].options = records;
+      })
+      .catch(err => this.$message.error(err))
+  },
+
+  data() {
+    return {
+      tableData: [],
+      dialogView: false,
+      info: null,
+      currentPage: 1,
+      pageSize: 10,
+      totalNum: null,
+      headerList: [
+        {
+          id: 1,
+          label: '鎵�灞炵粍缁�:',
+          value: '',
+          placeholder: '璇疯緭鍏ユ墍灞炵粍缁�',
+          prop: 'organization',
+          type: 'cascader',
+          options: []
+        },
+        {
+          id: 2,
+          label: '鎶ヨ鏃堕棿:',
+          value: '',
+          placeholder: '璇疯緭鍏ユ姤璀︽椂闂�',
+          prop: 'alarmTime',
+          type: 'timepick'
+        },
+        {
+          id: 3,
+          label: '杩濊绫诲瀷:',
+          value: '',
+          placeholder: '璇疯緭鍏ヨ繚瑙勭被鍨�',
+          prop: 'typeId',
+          type: 'input'
+        },
+        {
+          id: 4,
+          label: '浜嬩欢缂栧彿:',
+          value: '',
+          placeholder: '璇疯緭鍏ヤ簨浠剁紪鍙�',
+          prop: 'code',
+          type: 'input'
+        },
+        {
+          id: 5,
+          label: '鐩戞帶鐐瑰悕绉�:',
+          value: '',
+          placeholder: '璇疯緭鍏ョ洃鎺х偣鍚嶇О',
+          prop: 'videoPointId',
+          type: 'select',
+          options: []
+        },
+        {
+          id: 6,
+          label: '瀹℃牳鐘舵��:',
+          value: '',
+          placeholder: '璇疯緭鍏ュ鏍哥姸鎬�',
+          type: 'select',
+          prop: 'state',
+          options: [{ id: 7, name: '鏈鏍�' }, { id: 8, name: '宸茬粡瀹℃牳' }, { id: 9, name: '缁撴' }]
+        },
+        {
+          id: 7,
+          label: '杞︾墝鍙�:',
+          value: '',
+          placeholder: '璇疯緭鍏ヨ溅鐗屽彿',
+          prop: 'carNumber',
+          type: 'input'
+        },
+        {
+          id: 8,
+          label: '澶勭悊鎰忚:',
+          value: '',
+          placeholder: '璇疯緭鍏ヤ簨浠剁瓑绾�',
+          prop: 'handlingOpinion',
+          type: 'input'
+        },
+        {
+          id: 9,
+          label: '浜嬩欢绛夌骇:',
+          value: '',
+          placeholder: '璇疯緭鍏ヤ簨浠剁瓑绾�',
+          prop: 'gradeId',
+          type: 'input'
+        },
+      ],
+      form: {
+        gradeId: null,
+        alarmTime: null,
+        handlingOpinion: null,
+        streetId: null,
+        typeId: null,
+        code: null,
+        carNumber: null,
+        state: null,
+        videoPointId: null,
+        organization: null
+      }
+    }
+  },
+
+  methods: {
+    getTableData(params) {
+      basecase.getViolationList({ current: this.currentPage, pageSize: this.pageSize, ...params })
+        .then(({ records, total }) => {
+          this.tableData = records;
+          this.totalNum = total;
+        })
+        .catch(err => this.$message.error(err))
+    },
+
+    searchTableData() {
+      const { alarmTime, organization } = this.form;
+      const [startTime, endTime] = alarmTime ?? [null, null];
+      const [communityId, streetId] = organization ?? [null, null];
+      const params = Object.assign({}, this.form);
+      delete params.alarmTime;
+      delete params.organization;
+      this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+    },
+
+    changeTime({ createTime }) {
+      return helper(createTime);
+    },
+    // 璁剧疆琛ㄦ牸鏂戦┈绾�
+    tableRowClassName({ row, rowIndex }) {
+      if ((rowIndex + 1) % 2 === 0) {
+        return 'warning-row';
+      } else {
+        return 'success-row';
+      }
+    },
+    // 琛ㄥ崟閲嶇疆
+    handleReset() {
+      this.currentPage = 1;
+      this.$refs.condition.resetFields();
+      this.getTableData();
+    },
+    // 鍏抽棴寮圭獥
+    handleClose(done) {
+      done();
+    },
+    // 鎵撳紑寮圭獥
+    handleView(data) {
+      this.info = data
+      this.dialogView = true
+    },
+    // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+    changeCurrentPage(page) {
+      const { alarmTime, organization } = this.form;
+      const [startTime, endTime] = alarmTime ?? [null, null];
+      const [communityId, streetId] = organization ?? [null, null];
+      const params = Object.assign({}, this.form);
+      delete params.alarmTime;
+      delete params.organization;
+      this.currentPage = page;
+      this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+    },
+    // 涓婁竴椤电偣鍑讳簨浠�
+    handlePrev(page) {
+      const { alarmTime, organization } = this.form;
+      const [startTime, endTime] = alarmTime ?? [null, null];
+      const [communityId, streetId] = organization ?? [null, null];
+      const params = Object.assign({}, this.form);
+      delete params.alarmTime;
+      delete params.organization;
+      this.currentPage = page;
+      this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+    },
+    // 涓嬩竴椤电偣鍑讳簨浠�
+    handleNext(page) {
+      const { alarmTime, organization } = this.form;
+      const [startTime, endTime] = alarmTime ?? [null, null];
+      const [communityId, streetId] = organization ?? [null, null];
+      const params = Object.assign({}, this.form);
+      delete params.alarmTime;
+      delete params.organization;
+      this.currentPage = page;
+      this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+    },
+    exportTableData() {
+      basecase.exportViolationData({ current: 1 })
+          .then((res) => {
+            console.log(res)
+            this.$message.success('鎿嶄綔鎴愬姛');
+            // let res = basecase.exportUserOperationLogAjax({
+            //   startLogTime: transDate(this.searchQuery.date[0], "YYYY-MM-DD"),
+            //   endLogTime: transDate(this.searchQuery.date[1], "YYYY-MM-DD"),
+            //   systemName: this.searchQuery.systemName,
+            //   userName: this.searchQuery.user,
+            // }).then((res)=>{
+            //   console.log(res)
+            // });
+
+            let time = new Date()
+            let deathdate =time.toLocaleDateString()
+            const blob = new Blob([res.data], {
+              type: "application/vnd.ms-excel;charset=utf-8",
+            });
+            if (window.navigator.msSaveBlob) {
+              window.navigator.msSaveBlob(blob, deathdate+"杩濊鏁版嵁" + ".xlsx");
+            } else {
+              const url = window.URL.createObjectURL(blob);
+              const link = document.createElement("a");
+              link.style.display = "none";
+              link.href = url;
+              link.download = deathdate+"杩濊鏁版嵁" + ".xlsx";
+              document.body.appendChild(link);
+              link.click();
+              document.body.removeChild(link);
+            }
+          })
+          .catch(err => this.$message.error(err))
+    }
+  }
+}
+</script>
+<style lang="scss" scoped>
+.illegal-search {
+  text-align: left;
+  margin: 10px 20px;
+  color: #4b9bb7;
+
+  header {
+    background-color: white;
+
+    .headerContent {
+      padding: 20px 40px;
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+
+      ::v-deep .el-form {
+        display: flex;
+        flex-wrap: wrap;
+        justify-content: space-between;
+
+        .el-form-item {
+          width: 30%;
+        }
+
+        .el-form-item__label {
+          color: #4b9bb7;
+        }
+      }
+    }
+  }
+
+  main {
+    background-color: #ffffff;
+    margin-top: 20px;
+    padding-bottom: 50px;
+
+    .mainTitle {
+      line-height: 60px;
+    }
+
+    .main-btns {
+      display: flex;
+      justify-content: space-between;
+      line-height: 60px;
+      padding: 0 20px;
+
+      .el-button {
+        background-color: #2f91ec;
+        border: 1px solid #17324c;
+        color: #ffffff;
+      }
+    }
+
+    .el-table {
+      // color: #4b9bb7;
+    }
+
+    .tools {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      padding: 0 20px;
+
+      .funs-sp {
+        border: 1px solid #17324c;
+      }
+
+      .funs {
+        display: flex;
+
+        .funsItem {
+          line-height: 28px;
+          display: flex;
+          align-items: center;
+          border-radius: 4px;
+          font-size: 12px;
+          margin-left: 10px;
+
+          .el-checkbox {
+            width: 80px;
+            padding: 0 10px;
+          }
+
+          &::v-deep .el-input__inner {
+            border: none;
+            // background-color: #09152f;
+          }
+        }
+      }
+    }
+  }
+}
+</style>
\ No newline at end of file
diff --git a/.history/src/views/operate/message/myIndex/index_20221229133119.vue b/.history/src/views/operate/message/myIndex/index_20221229133119.vue
new file mode 100644
index 0000000..87b011c
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/index_20221229133119.vue
@@ -0,0 +1,595 @@
+<template>
+    <div class="userList">
+        <header>
+            <div class="header-nav">
+                <span class="nav-left">鏁版嵁绛涢��</span>
+            </div>
+            <div class="header-content">
+                <div class="search">
+                    <span>杈撳叆鏌ヨ:</span>
+                    <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+                </div>
+                <div class="search">
+                    <span>娑堟伅鐘舵��:</span>
+                    <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鐘舵��">
+                        <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="search">
+                    <span>娑堟伅鍒嗙被:</span>
+                    <el-select v-model="messageType" placeholder="璇烽�夋嫨娑堟伅鍒嗙被">
+                        <el-option v-for="item in typeList" :key="item.id" :label="item.columnName" :value="item.id">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="search">
+                  <span>鍒涘缓鏃堕棿:</span>
+                  <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+                </div>
+                <div class="find">
+                    <el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
+                    <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+                </div>
+            </div>
+        </header>
+        <main>
+            <div class="mainContent">
+                <div class="main-nav">
+                    <span>鏁版嵁鍒楄〃</span>
+                    <el-button class="button-addition" type="primary" icon="el-icon-plus" @click="handleOpera(null, 'create')">娣诲姞</el-button>
+                </div>
+                <!-- 鏁版嵁灞曠ず -->
+                <el-table ref="multipleTable"
+                    :header-cell-style="{background:'white','font-weight':'650','line-height':'45px'}"
+                    :data="tableData" style="width: 100%" :row-class-name="tableRowClassName"
+                    @selection-change="tableChange">
+                    <el-table-column type="selection" min-width="5">
+                    </el-table-column>
+                    <el-table-column label="ID" min-width="5">
+                        <template slot-scope="scope">{{ scope.row.id }}</template>
+                    </el-table-column>
+                    <el-table-column prop="head" label="鏍囬" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="createUser" label="鍙戝竷浜哄憳" min-width="15">
+                    </el-table-column>
+                    <el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+                        <template v-if="scope.row.status" slot-scope="scope">
+                            {{scope.row.status === 0 ? '鏈彂甯�' :'宸插彂甯�'}}
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+                        <template slot-scope="scope">
+                            <div class="operation">
+                                <el-link icon="el-icon-view" :underline="false" @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+                                <el-link icon="el-icon-edit" class="leftPx" :underline="false" @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+                                <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+                                    @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+                            </div>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <!-- 鏂板缓娑堟伅 -->
+                <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle" :visible.sync="isShowDialog" width="80%">
+                    <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType" :myDataRow="tableRowData"></my-edit>
+                </el-dialog>
+                <!-- tools -->
+                <div class="tools">
+                    <div class="funs">
+                        <div class="funsItem funs-sp">
+                            <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+                        </div>
+                        <div class="funsItem funs-sp">
+                            <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                                <el-option v-for="item in options" :key="item.value" :label="item.label"
+                                    :value="item.value">
+                                </el-option>
+                            </el-select>
+                        </div>
+                    </div>
+                    <div class="pagination">
+                        <el-pagination background :current-page="currentPage" layout="prev, pager, next"
+                            :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage">
+                        </el-pagination>
+                    </div>
+                </div>
+            </div>
+        </main>
+    </div>
+</template>
+<script>
+import MyView from './myview'
+import MyEdit from './update'
+import { deleteMessage, getMessageById, getMessageList } from "@/api/operate/messageManagement";
+
+export default {
+    components: { MyView, MyEdit },
+    computed: {
+      getDialogTitle() {
+        if (this.dialogType === 'create') {
+          return '鍒涘缓';
+        }
+
+        if (this.dialogType === 'update') {
+          return '鏇存柊';
+        }
+
+        if (this.dialogType === 'view') {
+          return '鏌ョ湅';
+        }
+      }
+    },
+    data() {
+        return {
+            tableData: [],
+            tableRowData: null,
+            isShowMoreParams: false,
+            context: null,
+            isShowDialog: false,
+            dialogType: false,
+            totalNum: null,
+            pageSize: 10,
+            currentPage: 1,
+            all: false,
+            unsame: false,
+            myIdx: 0,
+            preMyIdx: 0,
+            datetime: null,
+            options: [
+                {
+                    value: 0,
+                    label: '鎵归噺鎿嶄綔',
+                    disabled: true,
+                },
+                // {
+                //     value: 1,
+                //     label: '鎵归噺鍚敤',
+                // },
+                // {
+                //     value: 2,
+                //     label: '鎵归噺绂佺敤',
+                // },
+                {
+                    value: 3,
+                    label: '鎵归噺鍒犻櫎',
+                }
+            ],
+            tempList: [],
+            messageStatus: 2,
+            messageType: '00',
+            statusList: [
+                {
+                    label: '鍏ㄩ儴',
+                    value: 2,
+                },
+                {
+                    label: '鏈彂甯�',
+                    value: 0,
+                },
+                {
+                    label: '宸插彂甯�',
+                    value: 1,
+                }
+            ],
+            typeList: [
+                {
+                    id:'00',
+                    columnName:'鍏ㄩ儴',
+                },
+                {
+                    id:'01',
+                    columnName:'绔欏唴淇�',
+                },
+                {
+                    id:'03',
+                    columnName:'閭欢',
+                },
+                {
+                    id:'02',
+                    columnName:'鐭俊',
+                }
+            ]
+        }
+    },
+    created() {
+      this.getMessageList();
+    },
+
+    methods: {
+        // 鏌ヨ
+        handleSearch(){
+            this.getMessageList();
+        },
+
+        // 閲嶇疆
+        handleReset(){
+          this.messageStatus = 2;
+          this.messageType = '00';
+          this.context = '';
+          this.getMessageList();
+        },
+
+        // 鏌ョ湅
+        handleOpera(data, type){
+            this.tableRowData = data;
+            this.dialogType = type;
+            this.isShowDialog = true;
+        },
+
+        // 鍒犻櫎淇℃伅
+        handleDelete(idarr) {
+            this.$confirm('纭鍒犻櫎?')
+                .then(() => {
+                  deleteMessage({ ids: idarr.join(',') })
+                      .then(() => {
+                        this.getMessageList();
+                        this.$message.success('鎿嶄綔鎴愬姛');
+                      })
+                      .catch(err => { this.$message({ type: 'error', message: err }) });
+                })
+        },
+
+        // 鑾峰彇娑堟伅鏁版嵁
+        getMessageList() {
+          const messageParam = {
+            current: this.currentPage,
+            pageSize: this.pageSize,
+            channelCode: this.messageType === '00' ? null : this.messageType,
+            status: this.messageStatus === 2 ? null : this.messageStatus,
+            head: this.context,
+            startTime: this.datetime ? this.datetime[0] : null,
+            endTime: this.datetime ? this.datetime[1] : null
+          }
+
+          getMessageList(messageParam)
+              .then(({ records, total ,size}) => {
+                this.tableData = records;
+                this.totalNum = total;
+                this.pageSize=size;
+              })
+              .catch(err => {
+                this.$message({ type: 'error', message: err });
+              });
+        },
+
+        // 鎵归噺涓嬫媺妗嗘搷浣�
+        async selectChange(list) {
+            if (this.tempList.length !== 0) {
+                this.preMyIdx = list;
+                if (list === 3) {
+                    await this.handleDelete(this.tempList);
+                } else if (list === 2) {
+                    await this.mulUpdateStatus(this.tempList, 0);
+                } else {
+                    await this.mulUpdateStatus(this.tempList, 1);
+                }
+                this.myIdx = 0;
+            } else {
+                this.myIdx = this.preMyIdx;
+                this.$message({
+                    type: 'warning',
+                    message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁',
+                })
+            }
+        },
+
+        // 鎵归噺鎿嶄綔
+        mulUpdateStatus(idArr, flag) {
+            this.$confirm(flag === 1 ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?" : '鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?')
+                .then(_ => {
+                    this.$axios({
+                        method: 'post',
+                        url: 'sccg/role/updateStatusBatch?ids=' + idArr + '&status=' + flag,
+                    })
+                        .then(res => {
+                            if (res.code === 200) {
+                                this.$message({
+                                    type: 'success',
+                                    message: '鏇存敼鐢ㄦ埛鐘舵�佹垚鍔�',
+                                })
+                                this.getUserList();
+                            } else {
+                                this.$message({
+                                    type: 'error',
+                                    message: res.message
+                                })
+                            }
+                        })
+                })
+                .catch(err => {  })
+        },
+
+        // 琛ㄦ牸鐩戝惉
+        tableChange(list) {
+            this.tempList = [];
+            list.forEach(item => {
+                this.tempList.push(item.id);
+            })
+            this.all = list.length === this.tableData.length;
+        },
+        // 鍏ㄩ��
+        selectAll() {
+            this.$refs.multipleTable.toggleAllSelection();
+        },
+
+        // 鍙嶉��
+        disSame(list) {
+            list.forEach(row => {
+                this.$refs.multipleTable.toggleRowSelection(row)
+            })
+        },
+
+        // 璁剧疆琛ㄦ牸鏂戦┈绾�
+        tableRowClassName({ row, rowIndex }) {
+            if ((rowIndex + 1) % 2 === 0) {
+                return 'warning-row';
+            } else {
+                return 'success-row';
+            }
+        },
+
+        // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+        changeCurrentPage(page) {
+            this.currentPage = page;
+            this.getMessageList();
+        },
+
+        // 鑷畾涔夊叧闂脊绐�
+        closeDialog() {
+          this.isShowDialog = false;
+          this.getMessageList();
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+    text-align: left;
+    margin: 10px 20px;
+    color: #606266;
+
+    header {
+        background-color: white;
+
+        .header-nav {
+            line-height: 40px;
+            padding: 0 30px;
+            display: flex;
+            justify-content: space-between;
+            font-weight: 650;
+        }
+
+        .header-content {
+            padding: 0 40px;
+            display: flex;
+            line-height: 100px;
+            justify-content: space-between;
+            align-items: center;
+
+            .search {
+                display: flex;
+                justify-content: space-between;
+                align-items: center;
+                span {
+                    flex: 1;
+                }
+                .el-input {
+                    flex: 2;
+                    color: #1d3f57;
+                    &::v-deep .el-input__inner {
+                        //background-color: #09152f;
+                        //border: 1px solid #17324c;
+                    }
+                }
+
+            }
+
+            .findBtn {
+                line-height: 100px;
+                margin-left: 15px;
+                display: flex;
+                align-items: center;
+                margin-top: -2px;
+
+                .el-button {
+                    padding: 12px 25px;
+                    border-radius: 20px;
+                }
+            }
+        }
+    }
+
+    main {
+        background-color: white;
+        margin-top: 20px;
+        padding-bottom: 50px;
+
+        .el-link {
+            color: #4b9bb7;
+        }
+
+        .leftPx {
+            margin-left: 10px;
+        }
+
+        .mainTitle {
+            line-height: 60px;
+        }
+
+        .main-nav {
+            line-height: 40px;
+            display: flex;
+            padding: 10px;
+            justify-content: space-between;
+        }
+
+        .tools {
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            padding: 0 20px;
+
+            .funs {
+                display: flex;
+
+                .funs-sp {
+                    border: 1px solid #17324c;
+                }
+
+                .funsItem {
+                    line-height: 28px;
+                    display: flex;
+                    align-items: center;
+
+                    border-radius: 4px;
+                    font-size: 12px;
+                    margin-left: 10px;
+
+                    .el-checkbox {
+                        width: 80px;
+                        padding: 0 10px;
+                    }
+
+                    .el-select {
+                        width: 120px;
+                    }
+
+                    &::v-deep .el-input__inner {
+                        border: none;
+                        //background-color: #09152f;
+                    }
+
+                    &:hover {
+                        border: 1px solid #4b9bb7;
+                    }
+
+                    &:hover .el-checkbox {
+                        color: #4b9bb7;
+                    }
+                }
+
+            }
+
+            .pagination {
+                margin-top: 50px;
+                display: flex;
+                line-height: 50px;
+                justify-content: center;
+
+                //.el-pagination {
+                //
+                //    &::v-deep li,
+                //    &::v-deep .btn-prev,
+                //    &::v-deep .btn-next {
+                //        background-color: #071f39;
+                //        color: #4b9bb7;
+                //    }
+                //
+                //    &::v-deep .active {
+                //        background-color: #409eff;
+                //        color: #fff;
+                //    }
+                //}
+            }
+        }
+
+        .el-table {
+            // color: #606266;
+            // font-size: 10px;
+
+            &::v-deep .el-table__empty-block {
+                //background-color: #09152f;
+            }
+
+            &::v-deep .el-table__empty-block {
+                color: #4b9bb7;
+            }
+
+            .operation {
+                display: flex;
+
+                .line {
+                    padding: 0 5px;
+                }
+
+                span:hover {
+                    cursor: pointer;
+                }
+            }
+        }
+
+        .el-table::v-deep .warning-row {
+            //background: #06122c;
+        }
+
+        .el-table::v-deep .success-row {
+            //background: #071f39;
+        }
+
+        &::v-deep .switchStyle .el-switch__label {
+            position: absolute;
+            display: none;
+            color: #fff;
+        }
+
+        &::v-deep .el-switch__core {
+            background-color: rgba(166, 166, 166, 1);
+        }
+
+        &::v-deep .switchStyle .el-switch__label--left {
+            z-index: 9;
+            left: 20px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label--right {
+            z-index: 9;
+            left: 4px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label.is-active {
+            display: block;
+        }
+
+        &::v-deep .switchStyle.el-switch .el-switch__core,
+        &::v-deep .el-switch .el-switch__label {
+            width: 50px !important;
+        }
+    }
+
+    &::v-deep .el-dialog__header,
+    &::v-deep .el-dialog__body {
+        //background-color: #06122c;
+    }
+
+    &::v-deep .el-dialog__header {
+        display: flex;
+        align-items: center;
+        background-color: #fff;
+        padding: 20px;
+        line-height: 60px;
+    }
+
+    &::v-deep .el-dialog__title {
+        color: #606266;
+    }
+
+    &::v-deep .el-dialog__close {
+        width: 20px;
+        height: 20px;
+    }
+
+    &::v-deep .el-dialog__body {
+        padding: 0;
+    }
+  :deep(.el-range-input) {
+    //background-color: #09152f;
+  }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/index_20230104114351.vue b/.history/src/views/operate/message/myIndex/index_20230104114351.vue
new file mode 100644
index 0000000..05097ed
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/index_20230104114351.vue
@@ -0,0 +1,595 @@
+<template>
+    <div class="userList">
+        <header>
+            <div class="header-nav">
+                <span class="nav-left">鏁版嵁绛涢��</span>
+            </div>
+            <div class="header-content">
+                <div class="search">
+                    <span>杈撳叆鏌ヨ:</span>
+                    <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+                </div>
+                <div class="search">
+                    <span>娑堟伅鐘舵��:</span>
+                    <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鐘舵��">
+                        <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="search">
+                    <span>娑堟伅鍒嗙被:</span>
+                    <el-select v-model="messageType" placeholder="璇烽�夋嫨娑堟伅鍒嗙被">
+                        <el-option v-for="item in typeList" :key="item.id" :label="item.columnName" :value="item.id">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="search">
+                  <span>鍒涘缓鏃堕棿:</span>
+                  <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+                </div>
+                <div class="find">
+                    <el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
+                    <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+                </div>
+            </div>
+        </header>
+        <main>
+            <div class="mainContent">
+                <div class="main-nav">
+                    <span>鏁版嵁鍒楄〃</span>
+                    <el-button class="button-addition" type="primary" icon="el-icon-plus" @click="handleOpera(null, 'create')">娣诲姞</el-button>
+                </div>
+                <!-- 鏁版嵁灞曠ず -->
+                <el-table ref="multipleTable"
+                    :header-cell-style="{background:'white','font-weight':'650','line-height':'45px'}"
+                    :data="tableData" style="width: 100%" :row-class-name="tableRowClassName"
+                    @selection-change="tableChange">
+                    <el-table-column type="selection" min-width="5">
+                    </el-table-column>
+                    <el-table-column label="ID" min-width="5">
+                        <template slot-scope="scope">{{ scope.row.id }}</template>
+                    </el-table-column>
+                    <el-table-column prop="head" label="鏍囬" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15">
+                    </el-table-column>
+                    <el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+                        <template v-if="scope.row.status" slot-scope="scope">
+                            {{scope.row.status === 0 ? '鏈彂甯�' :'宸插彂甯�'}}
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+                        <template slot-scope="scope">
+                            <div class="operation">
+                                <el-link icon="el-icon-view" :underline="false" @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+                                <el-link icon="el-icon-edit" class="leftPx" :underline="false" @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+                                <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+                                    @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+                            </div>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <!-- 鏂板缓娑堟伅 -->
+                <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle" :visible.sync="isShowDialog" width="80%">
+                    <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType" :myDataRow="tableRowData"></my-edit>
+                </el-dialog>
+                <!-- tools -->
+                <div class="tools">
+                    <div class="funs">
+                        <div class="funsItem funs-sp">
+                            <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+                        </div>
+                        <div class="funsItem funs-sp">
+                            <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                                <el-option v-for="item in options" :key="item.value" :label="item.label"
+                                    :value="item.value">
+                                </el-option>
+                            </el-select>
+                        </div>
+                    </div>
+                    <div class="pagination">
+                        <el-pagination background :current-page="currentPage" layout="prev, pager, next"
+                            :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage">
+                        </el-pagination>
+                    </div>
+                </div>
+            </div>
+        </main>
+    </div>
+</template>
+<script>
+import MyView from './myview'
+import MyEdit from './update'
+import { deleteMessage, getMessageById, getMessageList } from "@/api/operate/messageManagement";
+
+export default {
+    components: { MyView, MyEdit },
+    computed: {
+      getDialogTitle() {
+        if (this.dialogType === 'create') {
+          return '鍒涘缓';
+        }
+
+        if (this.dialogType === 'update') {
+          return '鏇存柊';
+        }
+
+        if (this.dialogType === 'view') {
+          return '鏌ョ湅';
+        }
+      }
+    },
+    data() {
+        return {
+            tableData: [],
+            tableRowData: null,
+            isShowMoreParams: false,
+            context: null,
+            isShowDialog: false,
+            dialogType: false,
+            totalNum: null,
+            pageSize: 10,
+            currentPage: 1,
+            all: false,
+            unsame: false,
+            myIdx: 0,
+            preMyIdx: 0,
+            datetime: null,
+            options: [
+                {
+                    value: 0,
+                    label: '鎵归噺鎿嶄綔',
+                    disabled: true,
+                },
+                // {
+                //     value: 1,
+                //     label: '鎵归噺鍚敤',
+                // },
+                // {
+                //     value: 2,
+                //     label: '鎵归噺绂佺敤',
+                // },
+                {
+                    value: 3,
+                    label: '鎵归噺鍒犻櫎',
+                }
+            ],
+            tempList: [],
+            messageStatus: 2,
+            messageType: '00',
+            statusList: [
+                {
+                    label: '鍏ㄩ儴',
+                    value: 2,
+                },
+                {
+                    label: '鏈彂甯�',
+                    value: 0,
+                },
+                {
+                    label: '宸插彂甯�',
+                    value: 1,
+                }
+            ],
+            typeList: [
+                {
+                    id:'00',
+                    columnName:'鍏ㄩ儴',
+                },
+                {
+                    id:'01',
+                    columnName:'绔欏唴淇�',
+                },
+                {
+                    id:'03',
+                    columnName:'閭欢',
+                },
+                {
+                    id:'02',
+                    columnName:'鐭俊',
+                }
+            ]
+        }
+    },
+    created() {
+      this.getMessageList();
+    },
+
+    methods: {
+        // 鏌ヨ
+        handleSearch(){
+            this.getMessageList();
+        },
+
+        // 閲嶇疆
+        handleReset(){
+          this.messageStatus = 2;
+          this.messageType = '00';
+          this.context = '';
+          this.getMessageList();
+        },
+
+        // 鏌ョ湅
+        handleOpera(data, type){
+            this.tableRowData = data;
+            this.dialogType = type;
+            this.isShowDialog = true;
+        },
+
+        // 鍒犻櫎淇℃伅
+        handleDelete(idarr) {
+            this.$confirm('纭鍒犻櫎?')
+                .then(() => {
+                  deleteMessage({ ids: idarr.join(',') })
+                      .then(() => {
+                        this.getMessageList();
+                        this.$message.success('鎿嶄綔鎴愬姛');
+                      })
+                      .catch(err => { this.$message({ type: 'error', message: err }) });
+                })
+        },
+
+        // 鑾峰彇娑堟伅鏁版嵁
+        getMessageList() {
+          const messageParam = {
+            current: this.currentPage,
+            pageSize: this.pageSize,
+            channelCode: this.messageType === '00' ? null : this.messageType,
+            status: this.messageStatus === 2 ? null : this.messageStatus,
+            head: this.context,
+            startTime: this.datetime ? this.datetime[0] : null,
+            endTime: this.datetime ? this.datetime[1] : null
+          }
+
+          getMessageList(messageParam)
+              .then(({ records, total ,size}) => {
+                this.tableData = records;
+                this.totalNum = total;
+                this.pageSize=size;
+              })
+              .catch(err => {
+                this.$message({ type: 'error', message: err });
+              });
+        },
+
+        // 鎵归噺涓嬫媺妗嗘搷浣�
+        async selectChange(list) {
+            if (this.tempList.length !== 0) {
+                this.preMyIdx = list;
+                if (list === 3) {
+                    await this.handleDelete(this.tempList);
+                } else if (list === 2) {
+                    await this.mulUpdateStatus(this.tempList, 0);
+                } else {
+                    await this.mulUpdateStatus(this.tempList, 1);
+                }
+                this.myIdx = 0;
+            } else {
+                this.myIdx = this.preMyIdx;
+                this.$message({
+                    type: 'warning',
+                    message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁',
+                })
+            }
+        },
+
+        // 鎵归噺鎿嶄綔
+        mulUpdateStatus(idArr, flag) {
+            this.$confirm(flag === 1 ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?" : '鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?')
+                .then(_ => {
+                    this.$axios({
+                        method: 'post',
+                        url: 'sccg/role/updateStatusBatch?ids=' + idArr + '&status=' + flag,
+                    })
+                        .then(res => {
+                            if (res.code === 200) {
+                                this.$message({
+                                    type: 'success',
+                                    message: '鏇存敼鐢ㄦ埛鐘舵�佹垚鍔�',
+                                })
+                                this.getUserList();
+                            } else {
+                                this.$message({
+                                    type: 'error',
+                                    message: res.message
+                                })
+                            }
+                        })
+                })
+                .catch(err => {  })
+        },
+
+        // 琛ㄦ牸鐩戝惉
+        tableChange(list) {
+            this.tempList = [];
+            list.forEach(item => {
+                this.tempList.push(item.id);
+            })
+            this.all = list.length === this.tableData.length;
+        },
+        // 鍏ㄩ��
+        selectAll() {
+            this.$refs.multipleTable.toggleAllSelection();
+        },
+
+        // 鍙嶉��
+        disSame(list) {
+            list.forEach(row => {
+                this.$refs.multipleTable.toggleRowSelection(row)
+            })
+        },
+
+        // 璁剧疆琛ㄦ牸鏂戦┈绾�
+        tableRowClassName({ row, rowIndex }) {
+            if ((rowIndex + 1) % 2 === 0) {
+                return 'warning-row';
+            } else {
+                return 'success-row';
+            }
+        },
+
+        // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+        changeCurrentPage(page) {
+            this.currentPage = page;
+            this.getMessageList();
+        },
+
+        // 鑷畾涔夊叧闂脊绐�
+        closeDialog() {
+          this.isShowDialog = false;
+          this.getMessageList();
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+    text-align: left;
+    margin: 10px 20px;
+    color: #606266;
+
+    header {
+        background-color: white;
+
+        .header-nav {
+            line-height: 40px;
+            padding: 0 30px;
+            display: flex;
+            justify-content: space-between;
+            font-weight: 650;
+        }
+
+        .header-content {
+            padding: 0 40px;
+            display: flex;
+            line-height: 100px;
+            justify-content: space-between;
+            align-items: center;
+
+            .search {
+                display: flex;
+                justify-content: space-between;
+                align-items: center;
+                span {
+                    flex: 1;
+                }
+                .el-input {
+                    flex: 2;
+                    color: #1d3f57;
+                    &::v-deep .el-input__inner {
+                        //background-color: #09152f;
+                        //border: 1px solid #17324c;
+                    }
+                }
+
+            }
+
+            .findBtn {
+                line-height: 100px;
+                margin-left: 15px;
+                display: flex;
+                align-items: center;
+                margin-top: -2px;
+
+                .el-button {
+                    padding: 12px 25px;
+                    border-radius: 20px;
+                }
+            }
+        }
+    }
+
+    main {
+        background-color: white;
+        margin-top: 20px;
+        padding-bottom: 50px;
+
+        .el-link {
+            color: #4b9bb7;
+        }
+
+        .leftPx {
+            margin-left: 10px;
+        }
+
+        .mainTitle {
+            line-height: 60px;
+        }
+
+        .main-nav {
+            line-height: 40px;
+            display: flex;
+            padding: 10px;
+            justify-content: space-between;
+        }
+
+        .tools {
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            padding: 0 20px;
+
+            .funs {
+                display: flex;
+
+                .funs-sp {
+                    border: 1px solid #17324c;
+                }
+
+                .funsItem {
+                    line-height: 28px;
+                    display: flex;
+                    align-items: center;
+
+                    border-radius: 4px;
+                    font-size: 12px;
+                    margin-left: 10px;
+
+                    .el-checkbox {
+                        width: 80px;
+                        padding: 0 10px;
+                    }
+
+                    .el-select {
+                        width: 120px;
+                    }
+
+                    &::v-deep .el-input__inner {
+                        border: none;
+                        //background-color: #09152f;
+                    }
+
+                    &:hover {
+                        border: 1px solid #4b9bb7;
+                    }
+
+                    &:hover .el-checkbox {
+                        color: #4b9bb7;
+                    }
+                }
+
+            }
+
+            .pagination {
+                margin-top: 50px;
+                display: flex;
+                line-height: 50px;
+                justify-content: center;
+
+                //.el-pagination {
+                //
+                //    &::v-deep li,
+                //    &::v-deep .btn-prev,
+                //    &::v-deep .btn-next {
+                //        background-color: #071f39;
+                //        color: #4b9bb7;
+                //    }
+                //
+                //    &::v-deep .active {
+                //        background-color: #409eff;
+                //        color: #fff;
+                //    }
+                //}
+            }
+        }
+
+        .el-table {
+            // color: #606266;
+            // font-size: 10px;
+
+            &::v-deep .el-table__empty-block {
+                //background-color: #09152f;
+            }
+
+            &::v-deep .el-table__empty-block {
+                color: #4b9bb7;
+            }
+
+            .operation {
+                display: flex;
+
+                .line {
+                    padding: 0 5px;
+                }
+
+                span:hover {
+                    cursor: pointer;
+                }
+            }
+        }
+
+        .el-table::v-deep .warning-row {
+            //background: #06122c;
+        }
+
+        .el-table::v-deep .success-row {
+            //background: #071f39;
+        }
+
+        &::v-deep .switchStyle .el-switch__label {
+            position: absolute;
+            display: none;
+            color: #fff;
+        }
+
+        &::v-deep .el-switch__core {
+            background-color: rgba(166, 166, 166, 1);
+        }
+
+        &::v-deep .switchStyle .el-switch__label--left {
+            z-index: 9;
+            left: 20px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label--right {
+            z-index: 9;
+            left: 4px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label.is-active {
+            display: block;
+        }
+
+        &::v-deep .switchStyle.el-switch .el-switch__core,
+        &::v-deep .el-switch .el-switch__label {
+            width: 50px !important;
+        }
+    }
+
+    &::v-deep .el-dialog__header,
+    &::v-deep .el-dialog__body {
+        //background-color: #06122c;
+    }
+
+    &::v-deep .el-dialog__header {
+        display: flex;
+        align-items: center;
+        background-color: #fff;
+        padding: 20px;
+        line-height: 60px;
+    }
+
+    &::v-deep .el-dialog__title {
+        color: #606266;
+    }
+
+    &::v-deep .el-dialog__close {
+        width: 20px;
+        height: 20px;
+    }
+
+    &::v-deep .el-dialog__body {
+        padding: 0;
+    }
+  :deep(.el-range-input) {
+    //background-color: #09152f;
+  }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/index_20230104114551.vue b/.history/src/views/operate/message/myIndex/index_20230104114551.vue
new file mode 100644
index 0000000..140c0ee
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/index_20230104114551.vue
@@ -0,0 +1,595 @@
+<template>
+    <div class="userList">
+        <header>
+            <div class="header-nav">
+                <span class="nav-left">鏁版嵁绛涢��</span>
+            </div>
+            <div class="header-content">
+                <div class="search">
+                    <span>杈撳叆鏌ヨ:</span>
+                    <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+                </div>
+                <div class="search">
+                    <span>娑堟伅鐘舵��:</span>
+                    <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鐘舵��">
+                        <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="search">
+                    <span>娑堟伅鍒嗙被:</span>
+                    <el-select v-model="messageType" placeholder="璇烽�夋嫨娑堟伅鍒嗙被">
+                        <el-option v-for="item in typeList" :key="item.id" :label="item.columnName" :value="item.id">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="search">
+                  <span>鍒涘缓鏃堕棿:</span>
+                  <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+                </div>
+                <div class="find">
+                    <el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
+                    <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+                </div>
+            </div>
+        </header>
+        <main>
+            <div class="mainContent">
+                <div class="main-nav">
+                    <span>鏁版嵁鍒楄〃</span>
+                    <el-button class="button-addition" type="primary" icon="el-icon-plus" @click="handleOpera(null, 'create')">娣诲姞</el-button>
+                </div>
+                <!-- 鏁版嵁灞曠ず -->
+                <el-table ref="multipleTable"
+                    :header-cell-style="{background:'white','font-weight':'650','line-height':'45px'}"
+                    :data="tableData" style="width: 100%" :row-class-name="tableRowClassName"
+                    @selection-change="tableChange">
+                    <el-table-column type="selection" min-width="5">
+                    </el-table-column>
+                    <el-table-column label="ID" min-width="5">
+                        <template slot-scope="scope">{{ scope.row.id }}</template>
+                    </el-table-column>
+                    <el-table-column prop="head" label="鏍囬" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15">
+                    </el-table-column>
+                    <el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+                        <!-- <template v-if="scope.row.status" slot-scope="scope">
+                            {{scope.row.status === 0 ? '鏈彂甯�' :'宸插彂甯�'}}
+                        </template> -->
+                    </el-table-column>
+                    <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+                        <template slot-scope="scope">
+                            <div class="operation">
+                                <el-link icon="el-icon-view" :underline="false" @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+                                <el-link icon="el-icon-edit" class="leftPx" :underline="false" @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+                                <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+                                    @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+                            </div>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <!-- 鏂板缓娑堟伅 -->
+                <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle" :visible.sync="isShowDialog" width="80%">
+                    <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType" :myDataRow="tableRowData"></my-edit>
+                </el-dialog>
+                <!-- tools -->
+                <div class="tools">
+                    <div class="funs">
+                        <div class="funsItem funs-sp">
+                            <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+                        </div>
+                        <div class="funsItem funs-sp">
+                            <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                                <el-option v-for="item in options" :key="item.value" :label="item.label"
+                                    :value="item.value">
+                                </el-option>
+                            </el-select>
+                        </div>
+                    </div>
+                    <div class="pagination">
+                        <el-pagination background :current-page="currentPage" layout="prev, pager, next"
+                            :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage">
+                        </el-pagination>
+                    </div>
+                </div>
+            </div>
+        </main>
+    </div>
+</template>
+<script>
+import MyView from './myview'
+import MyEdit from './update'
+import { deleteMessage, getMessageById, getMessageList } from "@/api/operate/messageManagement";
+
+export default {
+    components: { MyView, MyEdit },
+    computed: {
+      getDialogTitle() {
+        if (this.dialogType === 'create') {
+          return '鍒涘缓';
+        }
+
+        if (this.dialogType === 'update') {
+          return '鏇存柊';
+        }
+
+        if (this.dialogType === 'view') {
+          return '鏌ョ湅';
+        }
+      }
+    },
+    data() {
+        return {
+            tableData: [],
+            tableRowData: null,
+            isShowMoreParams: false,
+            context: null,
+            isShowDialog: false,
+            dialogType: false,
+            totalNum: null,
+            pageSize: 10,
+            currentPage: 1,
+            all: false,
+            unsame: false,
+            myIdx: 0,
+            preMyIdx: 0,
+            datetime: null,
+            options: [
+                {
+                    value: 0,
+                    label: '鎵归噺鎿嶄綔',
+                    disabled: true,
+                },
+                // {
+                //     value: 1,
+                //     label: '鎵归噺鍚敤',
+                // },
+                // {
+                //     value: 2,
+                //     label: '鎵归噺绂佺敤',
+                // },
+                {
+                    value: 3,
+                    label: '鎵归噺鍒犻櫎',
+                }
+            ],
+            tempList: [],
+            messageStatus: 2,
+            messageType: '00',
+            statusList: [
+                {
+                    label: '鍏ㄩ儴',
+                    value: 2,
+                },
+                {
+                    label: '鏈彂甯�',
+                    value: 0,
+                },
+                {
+                    label: '宸插彂甯�',
+                    value: 1,
+                }
+            ],
+            typeList: [
+                {
+                    id:'00',
+                    columnName:'鍏ㄩ儴',
+                },
+                {
+                    id:'01',
+                    columnName:'绔欏唴淇�',
+                },
+                {
+                    id:'03',
+                    columnName:'閭欢',
+                },
+                {
+                    id:'02',
+                    columnName:'鐭俊',
+                }
+            ]
+        }
+    },
+    created() {
+      this.getMessageList();
+    },
+
+    methods: {
+        // 鏌ヨ
+        handleSearch(){
+            this.getMessageList();
+        },
+
+        // 閲嶇疆
+        handleReset(){
+          this.messageStatus = 2;
+          this.messageType = '00';
+          this.context = '';
+          this.getMessageList();
+        },
+
+        // 鏌ョ湅
+        handleOpera(data, type){
+            this.tableRowData = data;
+            this.dialogType = type;
+            this.isShowDialog = true;
+        },
+
+        // 鍒犻櫎淇℃伅
+        handleDelete(idarr) {
+            this.$confirm('纭鍒犻櫎?')
+                .then(() => {
+                  deleteMessage({ ids: idarr.join(',') })
+                      .then(() => {
+                        this.getMessageList();
+                        this.$message.success('鎿嶄綔鎴愬姛');
+                      })
+                      .catch(err => { this.$message({ type: 'error', message: err }) });
+                })
+        },
+
+        // 鑾峰彇娑堟伅鏁版嵁
+        getMessageList() {
+          const messageParam = {
+            current: this.currentPage,
+            pageSize: this.pageSize,
+            channelCode: this.messageType === '00' ? null : this.messageType,
+            status: this.messageStatus === 2 ? null : this.messageStatus,
+            head: this.context,
+            startTime: this.datetime ? this.datetime[0] : null,
+            endTime: this.datetime ? this.datetime[1] : null
+          }
+
+          getMessageList(messageParam)
+              .then(({ records, total ,size}) => {
+                this.tableData = records;
+                this.totalNum = total;
+                this.pageSize=size;
+              })
+              .catch(err => {
+                this.$message({ type: 'error', message: err });
+              });
+        },
+
+        // 鎵归噺涓嬫媺妗嗘搷浣�
+        async selectChange(list) {
+            if (this.tempList.length !== 0) {
+                this.preMyIdx = list;
+                if (list === 3) {
+                    await this.handleDelete(this.tempList);
+                } else if (list === 2) {
+                    await this.mulUpdateStatus(this.tempList, 0);
+                } else {
+                    await this.mulUpdateStatus(this.tempList, 1);
+                }
+                this.myIdx = 0;
+            } else {
+                this.myIdx = this.preMyIdx;
+                this.$message({
+                    type: 'warning',
+                    message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁',
+                })
+            }
+        },
+
+        // 鎵归噺鎿嶄綔
+        mulUpdateStatus(idArr, flag) {
+            this.$confirm(flag === 1 ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?" : '鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?')
+                .then(_ => {
+                    this.$axios({
+                        method: 'post',
+                        url: 'sccg/role/updateStatusBatch?ids=' + idArr + '&status=' + flag,
+                    })
+                        .then(res => {
+                            if (res.code === 200) {
+                                this.$message({
+                                    type: 'success',
+                                    message: '鏇存敼鐢ㄦ埛鐘舵�佹垚鍔�',
+                                })
+                                this.getUserList();
+                            } else {
+                                this.$message({
+                                    type: 'error',
+                                    message: res.message
+                                })
+                            }
+                        })
+                })
+                .catch(err => {  })
+        },
+
+        // 琛ㄦ牸鐩戝惉
+        tableChange(list) {
+            this.tempList = [];
+            list.forEach(item => {
+                this.tempList.push(item.id);
+            })
+            this.all = list.length === this.tableData.length;
+        },
+        // 鍏ㄩ��
+        selectAll() {
+            this.$refs.multipleTable.toggleAllSelection();
+        },
+
+        // 鍙嶉��
+        disSame(list) {
+            list.forEach(row => {
+                this.$refs.multipleTable.toggleRowSelection(row)
+            })
+        },
+
+        // 璁剧疆琛ㄦ牸鏂戦┈绾�
+        tableRowClassName({ row, rowIndex }) {
+            if ((rowIndex + 1) % 2 === 0) {
+                return 'warning-row';
+            } else {
+                return 'success-row';
+            }
+        },
+
+        // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+        changeCurrentPage(page) {
+            this.currentPage = page;
+            this.getMessageList();
+        },
+
+        // 鑷畾涔夊叧闂脊绐�
+        closeDialog() {
+          this.isShowDialog = false;
+          this.getMessageList();
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+    text-align: left;
+    margin: 10px 20px;
+    color: #606266;
+
+    header {
+        background-color: white;
+
+        .header-nav {
+            line-height: 40px;
+            padding: 0 30px;
+            display: flex;
+            justify-content: space-between;
+            font-weight: 650;
+        }
+
+        .header-content {
+            padding: 0 40px;
+            display: flex;
+            line-height: 100px;
+            justify-content: space-between;
+            align-items: center;
+
+            .search {
+                display: flex;
+                justify-content: space-between;
+                align-items: center;
+                span {
+                    flex: 1;
+                }
+                .el-input {
+                    flex: 2;
+                    color: #1d3f57;
+                    &::v-deep .el-input__inner {
+                        //background-color: #09152f;
+                        //border: 1px solid #17324c;
+                    }
+                }
+
+            }
+
+            .findBtn {
+                line-height: 100px;
+                margin-left: 15px;
+                display: flex;
+                align-items: center;
+                margin-top: -2px;
+
+                .el-button {
+                    padding: 12px 25px;
+                    border-radius: 20px;
+                }
+            }
+        }
+    }
+
+    main {
+        background-color: white;
+        margin-top: 20px;
+        padding-bottom: 50px;
+
+        .el-link {
+            color: #4b9bb7;
+        }
+
+        .leftPx {
+            margin-left: 10px;
+        }
+
+        .mainTitle {
+            line-height: 60px;
+        }
+
+        .main-nav {
+            line-height: 40px;
+            display: flex;
+            padding: 10px;
+            justify-content: space-between;
+        }
+
+        .tools {
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            padding: 0 20px;
+
+            .funs {
+                display: flex;
+
+                .funs-sp {
+                    border: 1px solid #17324c;
+                }
+
+                .funsItem {
+                    line-height: 28px;
+                    display: flex;
+                    align-items: center;
+
+                    border-radius: 4px;
+                    font-size: 12px;
+                    margin-left: 10px;
+
+                    .el-checkbox {
+                        width: 80px;
+                        padding: 0 10px;
+                    }
+
+                    .el-select {
+                        width: 120px;
+                    }
+
+                    &::v-deep .el-input__inner {
+                        border: none;
+                        //background-color: #09152f;
+                    }
+
+                    &:hover {
+                        border: 1px solid #4b9bb7;
+                    }
+
+                    &:hover .el-checkbox {
+                        color: #4b9bb7;
+                    }
+                }
+
+            }
+
+            .pagination {
+                margin-top: 50px;
+                display: flex;
+                line-height: 50px;
+                justify-content: center;
+
+                //.el-pagination {
+                //
+                //    &::v-deep li,
+                //    &::v-deep .btn-prev,
+                //    &::v-deep .btn-next {
+                //        background-color: #071f39;
+                //        color: #4b9bb7;
+                //    }
+                //
+                //    &::v-deep .active {
+                //        background-color: #409eff;
+                //        color: #fff;
+                //    }
+                //}
+            }
+        }
+
+        .el-table {
+            // color: #606266;
+            // font-size: 10px;
+
+            &::v-deep .el-table__empty-block {
+                //background-color: #09152f;
+            }
+
+            &::v-deep .el-table__empty-block {
+                color: #4b9bb7;
+            }
+
+            .operation {
+                display: flex;
+
+                .line {
+                    padding: 0 5px;
+                }
+
+                span:hover {
+                    cursor: pointer;
+                }
+            }
+        }
+
+        .el-table::v-deep .warning-row {
+            //background: #06122c;
+        }
+
+        .el-table::v-deep .success-row {
+            //background: #071f39;
+        }
+
+        &::v-deep .switchStyle .el-switch__label {
+            position: absolute;
+            display: none;
+            color: #fff;
+        }
+
+        &::v-deep .el-switch__core {
+            background-color: rgba(166, 166, 166, 1);
+        }
+
+        &::v-deep .switchStyle .el-switch__label--left {
+            z-index: 9;
+            left: 20px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label--right {
+            z-index: 9;
+            left: 4px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label.is-active {
+            display: block;
+        }
+
+        &::v-deep .switchStyle.el-switch .el-switch__core,
+        &::v-deep .el-switch .el-switch__label {
+            width: 50px !important;
+        }
+    }
+
+    &::v-deep .el-dialog__header,
+    &::v-deep .el-dialog__body {
+        //background-color: #06122c;
+    }
+
+    &::v-deep .el-dialog__header {
+        display: flex;
+        align-items: center;
+        background-color: #fff;
+        padding: 20px;
+        line-height: 60px;
+    }
+
+    &::v-deep .el-dialog__title {
+        color: #606266;
+    }
+
+    &::v-deep .el-dialog__close {
+        width: 20px;
+        height: 20px;
+    }
+
+    &::v-deep .el-dialog__body {
+        padding: 0;
+    }
+  :deep(.el-range-input) {
+    //background-color: #09152f;
+  }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/index_20230104114615.vue b/.history/src/views/operate/message/myIndex/index_20230104114615.vue
new file mode 100644
index 0000000..9d1cd63
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/index_20230104114615.vue
@@ -0,0 +1,604 @@
+<template>
+    <div class="userList">
+        <header>
+            <div class="header-nav">
+                <span class="nav-left">鏁版嵁绛涢��</span>
+            </div>
+            <div class="header-content">
+                <div class="search">
+                    <span>杈撳叆鏌ヨ:</span>
+                    <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+                </div>
+                <div class="search">
+                    <span>娑堟伅鐘舵��:</span>
+                    <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鐘舵��">
+                        <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="search">
+                    <span>娑堟伅鍒嗙被:</span>
+                    <el-select v-model="messageType" placeholder="璇烽�夋嫨娑堟伅鍒嗙被">
+                        <el-option v-for="item in typeList" :key="item.id" :label="item.columnName" :value="item.id">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="search">
+                    <span>鍒涘缓鏃堕棿:</span>
+                    <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime"
+                        value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+                </div>
+                <div class="find">
+                    <el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
+                    <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+                </div>
+            </div>
+        </header>
+        <main>
+            <div class="mainContent">
+                <div class="main-nav">
+                    <span>鏁版嵁鍒楄〃</span>
+                    <el-button class="button-addition" type="primary" icon="el-icon-plus"
+                        @click="handleOpera(null, 'create')">娣诲姞</el-button>
+                </div>
+                <!-- 鏁版嵁灞曠ず -->
+                <el-table ref="multipleTable"
+                    :header-cell-style="{ background: 'white', 'font-weight': '650', 'line-height': '45px' }" :data="tableData"
+                    style="width: 100%" :row-class-name="tableRowClassName" @selection-change="tableChange">
+                    <el-table-column type="selection" min-width="5">
+                    </el-table-column>
+                    <el-table-column label="ID" min-width="5">
+                        <template slot-scope="scope">{{ scope.row.id }}</template>
+                    </el-table-column>
+                    <el-table-column prop="head" label="鏍囬" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15">
+                    </el-table-column>
+                    <el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+                        <template v-if="scope.row.status" slot-scope="scope">
+                            {{ scope.row.status == 0 ? '鏈彂甯�' : '宸插彂甯�' }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+                        <template slot-scope="scope">
+                            <div class="operation">
+                                <el-link icon="el-icon-view" :underline="false"
+                                    @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+                                <el-link icon="el-icon-edit" class="leftPx" :underline="false"
+                                    @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+                                <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+                                    @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+                            </div>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <!-- 鏂板缓娑堟伅 -->
+                <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle"
+                    :visible.sync="isShowDialog" width="80%">
+                    <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType"
+                        :myDataRow="tableRowData"></my-edit>
+                </el-dialog>
+                <!-- tools -->
+                <div class="tools">
+                    <div class="funs">
+                        <div class="funsItem funs-sp">
+                            <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+                        </div>
+                        <div class="funsItem funs-sp">
+                            <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                                <el-option v-for="item in options" :key="item.value" :label="item.label"
+                                    :value="item.value">
+                                </el-option>
+                            </el-select>
+                        </div>
+                    </div>
+                    <div class="pagination">
+                        <el-pagination background :current-page="currentPage" layout="prev, pager, next"
+                            :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage">
+                        </el-pagination>
+                    </div>
+                </div>
+            </div>
+        </main>
+    </div>
+</template>
+<script>
+import MyView from './myview'
+import MyEdit from './update'
+import { deleteMessage, getMessageById, getMessageList } from "@/api/operate/messageManagement";
+
+export default {
+    components: { MyView, MyEdit },
+    computed: {
+        getDialogTitle() {
+            if (this.dialogType === 'create') {
+                return '鍒涘缓';
+            }
+
+            if (this.dialogType === 'update') {
+                return '鏇存柊';
+            }
+
+            if (this.dialogType === 'view') {
+                return '鏌ョ湅';
+            }
+        }
+    },
+    data() {
+        return {
+            tableData: [],
+            tableRowData: null,
+            isShowMoreParams: false,
+            context: null,
+            isShowDialog: false,
+            dialogType: false,
+            totalNum: null,
+            pageSize: 10,
+            currentPage: 1,
+            all: false,
+            unsame: false,
+            myIdx: 0,
+            preMyIdx: 0,
+            datetime: null,
+            options: [
+                {
+                    value: 0,
+                    label: '鎵归噺鎿嶄綔',
+                    disabled: true,
+                },
+                // {
+                //     value: 1,
+                //     label: '鎵归噺鍚敤',
+                // },
+                // {
+                //     value: 2,
+                //     label: '鎵归噺绂佺敤',
+                // },
+                {
+                    value: 3,
+                    label: '鎵归噺鍒犻櫎',
+                }
+            ],
+            tempList: [],
+            messageStatus: 2,
+            messageType: '00',
+            statusList: [
+                {
+                    label: '鍏ㄩ儴',
+                    value: 2,
+                },
+                {
+                    label: '鏈彂甯�',
+                    value: 0,
+                },
+                {
+                    label: '宸插彂甯�',
+                    value: 1,
+                }
+            ],
+            typeList: [
+                {
+                    id: '00',
+                    columnName: '鍏ㄩ儴',
+                },
+                {
+                    id: '01',
+                    columnName: '绔欏唴淇�',
+                },
+                {
+                    id: '03',
+                    columnName: '閭欢',
+                },
+                {
+                    id: '02',
+                    columnName: '鐭俊',
+                }
+            ]
+        }
+    },
+    created() {
+        this.getMessageList();
+    },
+
+    methods: {
+        // 鏌ヨ
+        handleSearch() {
+            this.getMessageList();
+        },
+
+        // 閲嶇疆
+        handleReset() {
+            this.messageStatus = 2;
+            this.messageType = '00';
+            this.context = '';
+            this.getMessageList();
+        },
+
+        // 鏌ョ湅
+        handleOpera(data, type) {
+            this.tableRowData = data;
+            this.dialogType = type;
+            this.isShowDialog = true;
+        },
+
+        // 鍒犻櫎淇℃伅
+        handleDelete(idarr) {
+            this.$confirm('纭鍒犻櫎?')
+                .then(() => {
+                    deleteMessage({ ids: idarr.join(',') })
+                        .then(() => {
+                            this.getMessageList();
+                            this.$message.success('鎿嶄綔鎴愬姛');
+                        })
+                        .catch(err => { this.$message({ type: 'error', message: err }) });
+                })
+        },
+
+        // 鑾峰彇娑堟伅鏁版嵁
+        getMessageList() {
+            const messageParam = {
+                current: this.currentPage,
+                pageSize: this.pageSize,
+                channelCode: this.messageType === '00' ? null : this.messageType,
+                status: this.messageStatus === 2 ? null : this.messageStatus,
+                head: this.context,
+                startTime: this.datetime ? this.datetime[0] : null,
+                endTime: this.datetime ? this.datetime[1] : null
+            }
+
+            getMessageList(messageParam)
+                .then(({ records, total, size }) => {
+                    this.tableData = records;
+                    this.totalNum = total;
+                    this.pageSize = size;
+                })
+                .catch(err => {
+                    this.$message({ type: 'error', message: err });
+                });
+        },
+
+        // 鎵归噺涓嬫媺妗嗘搷浣�
+        async selectChange(list) {
+            if (this.tempList.length !== 0) {
+                this.preMyIdx = list;
+                if (list === 3) {
+                    await this.handleDelete(this.tempList);
+                } else if (list === 2) {
+                    await this.mulUpdateStatus(this.tempList, 0);
+                } else {
+                    await this.mulUpdateStatus(this.tempList, 1);
+                }
+                this.myIdx = 0;
+            } else {
+                this.myIdx = this.preMyIdx;
+                this.$message({
+                    type: 'warning',
+                    message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁',
+                })
+            }
+        },
+
+        // 鎵归噺鎿嶄綔
+        mulUpdateStatus(idArr, flag) {
+            this.$confirm(flag === 1 ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?" : '鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?')
+                .then(_ => {
+                    this.$axios({
+                        method: 'post',
+                        url: 'sccg/role/updateStatusBatch?ids=' + idArr + '&status=' + flag,
+                    })
+                        .then(res => {
+                            if (res.code === 200) {
+                                this.$message({
+                                    type: 'success',
+                                    message: '鏇存敼鐢ㄦ埛鐘舵�佹垚鍔�',
+                                })
+                                this.getUserList();
+                            } else {
+                                this.$message({
+                                    type: 'error',
+                                    message: res.message
+                                })
+                            }
+                        })
+                })
+                .catch(err => { })
+        },
+
+        // 琛ㄦ牸鐩戝惉
+        tableChange(list) {
+            this.tempList = [];
+            list.forEach(item => {
+                this.tempList.push(item.id);
+            })
+            this.all = list.length === this.tableData.length;
+        },
+        // 鍏ㄩ��
+        selectAll() {
+            this.$refs.multipleTable.toggleAllSelection();
+        },
+
+        // 鍙嶉��
+        disSame(list) {
+            list.forEach(row => {
+                this.$refs.multipleTable.toggleRowSelection(row)
+            })
+        },
+
+        // 璁剧疆琛ㄦ牸鏂戦┈绾�
+        tableRowClassName({ row, rowIndex }) {
+            if ((rowIndex + 1) % 2 === 0) {
+                return 'warning-row';
+            } else {
+                return 'success-row';
+            }
+        },
+
+        // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+        changeCurrentPage(page) {
+            this.currentPage = page;
+            this.getMessageList();
+        },
+
+        // 鑷畾涔夊叧闂脊绐�
+        closeDialog() {
+            this.isShowDialog = false;
+            this.getMessageList();
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+    text-align: left;
+    margin: 10px 20px;
+    color: #606266;
+
+    header {
+        background-color: white;
+
+        .header-nav {
+            line-height: 40px;
+            padding: 0 30px;
+            display: flex;
+            justify-content: space-between;
+            font-weight: 650;
+        }
+
+        .header-content {
+            padding: 0 40px;
+            display: flex;
+            line-height: 100px;
+            justify-content: space-between;
+            align-items: center;
+
+            .search {
+                display: flex;
+                justify-content: space-between;
+                align-items: center;
+
+                span {
+                    flex: 1;
+                }
+
+                .el-input {
+                    flex: 2;
+                    color: #1d3f57;
+
+                    &::v-deep .el-input__inner {
+                        //background-color: #09152f;
+                        //border: 1px solid #17324c;
+                    }
+                }
+
+            }
+
+            .findBtn {
+                line-height: 100px;
+                margin-left: 15px;
+                display: flex;
+                align-items: center;
+                margin-top: -2px;
+
+                .el-button {
+                    padding: 12px 25px;
+                    border-radius: 20px;
+                }
+            }
+        }
+    }
+
+    main {
+        background-color: white;
+        margin-top: 20px;
+        padding-bottom: 50px;
+
+        .el-link {
+            color: #4b9bb7;
+        }
+
+        .leftPx {
+            margin-left: 10px;
+        }
+
+        .mainTitle {
+            line-height: 60px;
+        }
+
+        .main-nav {
+            line-height: 40px;
+            display: flex;
+            padding: 10px;
+            justify-content: space-between;
+        }
+
+        .tools {
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            padding: 0 20px;
+
+            .funs {
+                display: flex;
+
+                .funs-sp {
+                    border: 1px solid #17324c;
+                }
+
+                .funsItem {
+                    line-height: 28px;
+                    display: flex;
+                    align-items: center;
+
+                    border-radius: 4px;
+                    font-size: 12px;
+                    margin-left: 10px;
+
+                    .el-checkbox {
+                        width: 80px;
+                        padding: 0 10px;
+                    }
+
+                    .el-select {
+                        width: 120px;
+                    }
+
+                    &::v-deep .el-input__inner {
+                        border: none;
+                        //background-color: #09152f;
+                    }
+
+                    &:hover {
+                        border: 1px solid #4b9bb7;
+                    }
+
+                    &:hover .el-checkbox {
+                        color: #4b9bb7;
+                    }
+                }
+
+            }
+
+            .pagination {
+                margin-top: 50px;
+                display: flex;
+                line-height: 50px;
+                justify-content: center;
+
+                //.el-pagination {
+                //
+                //    &::v-deep li,
+                //    &::v-deep .btn-prev,
+                //    &::v-deep .btn-next {
+                //        background-color: #071f39;
+                //        color: #4b9bb7;
+                //    }
+                //
+                //    &::v-deep .active {
+                //        background-color: #409eff;
+                //        color: #fff;
+                //    }
+                //}
+            }
+        }
+
+        .el-table {
+            // color: #606266;
+            // font-size: 10px;
+
+            &::v-deep .el-table__empty-block {
+                //background-color: #09152f;
+            }
+
+            &::v-deep .el-table__empty-block {
+                color: #4b9bb7;
+            }
+
+            .operation {
+                display: flex;
+
+                .line {
+                    padding: 0 5px;
+                }
+
+                span:hover {
+                    cursor: pointer;
+                }
+            }
+        }
+
+        .el-table::v-deep .warning-row {
+            //background: #06122c;
+        }
+
+        .el-table::v-deep .success-row {
+            //background: #071f39;
+        }
+
+        &::v-deep .switchStyle .el-switch__label {
+            position: absolute;
+            display: none;
+            color: #fff;
+        }
+
+        &::v-deep .el-switch__core {
+            background-color: rgba(166, 166, 166, 1);
+        }
+
+        &::v-deep .switchStyle .el-switch__label--left {
+            z-index: 9;
+            left: 20px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label--right {
+            z-index: 9;
+            left: 4px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label.is-active {
+            display: block;
+        }
+
+        &::v-deep .switchStyle.el-switch .el-switch__core,
+        &::v-deep .el-switch .el-switch__label {
+            width: 50px !important;
+        }
+    }
+
+    &::v-deep .el-dialog__header,
+    &::v-deep .el-dialog__body {
+        //background-color: #06122c;
+    }
+
+    &::v-deep .el-dialog__header {
+        display: flex;
+        align-items: center;
+        background-color: #fff;
+        padding: 20px;
+        line-height: 60px;
+    }
+
+    &::v-deep .el-dialog__title {
+        color: #606266;
+    }
+
+    &::v-deep .el-dialog__close {
+        width: 20px;
+        height: 20px;
+    }
+
+    &::v-deep .el-dialog__body {
+        padding: 0;
+    }
+
+    :deep(.el-range-input) {
+        //background-color: #09152f;
+    }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/index_20230104114724.vue b/.history/src/views/operate/message/myIndex/index_20230104114724.vue
new file mode 100644
index 0000000..bda4ba2
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/index_20230104114724.vue
@@ -0,0 +1,604 @@
+<template>
+    <div class="userList">
+        <header>
+            <div class="header-nav">
+                <span class="nav-left">鏁版嵁绛涢��</span>
+            </div>
+            <div class="header-content">
+                <div class="search">
+                    <span>杈撳叆鏌ヨ:</span>
+                    <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+                </div>
+                <div class="search">
+                    <span>娑堟伅鐘舵��:</span>
+                    <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鐘舵��">
+                        <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="search">
+                    <span>娑堟伅鍒嗙被:</span>
+                    <el-select v-model="messageType" placeholder="璇烽�夋嫨娑堟伅鍒嗙被">
+                        <el-option v-for="item in typeList" :key="item.id" :label="item.columnName" :value="item.id">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="search">
+                    <span>鍒涘缓鏃堕棿:</span>
+                    <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime"
+                        value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+                </div>
+                <div class="find">
+                    <el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
+                    <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+                </div>
+            </div>
+        </header>
+        <main>
+            <div class="mainContent">
+                <div class="main-nav">
+                    <span>鏁版嵁鍒楄〃</span>
+                    <el-button class="button-addition" type="primary" icon="el-icon-plus"
+                        @click="handleOpera(null, 'create')">娣诲姞</el-button>
+                </div>
+                <!-- 鏁版嵁灞曠ず -->
+                <el-table ref="multipleTable"
+                    :header-cell-style="{ background: 'white', 'font-weight': '650', 'line-height': '45px' }" :data="tableData"
+                    style="width: 100%" :row-class-name="tableRowClassName" @selection-change="tableChange">
+                    <el-table-column type="selection" min-width="5">
+                    </el-table-column>
+                    <el-table-column label="ID" min-width="5">
+                        <template slot-scope="scope">{{ scope.row.id }}</template>
+                    </el-table-column>
+                    <el-table-column prop="head" label="鏍囬" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15">
+                    </el-table-column>
+                    <el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+                        <!-- <template v-if="scope.row.status" slot-scope="scope">
+                            {{ scope.row.status == 0 ? '鏈彂甯�' : '宸插彂甯�' }}
+                        </template> -->
+                    </el-table-column>
+                    <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+                        <template slot-scope="scope">
+                            <div class="operation">
+                                <el-link icon="el-icon-view" :underline="false"
+                                    @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+                                <el-link icon="el-icon-edit" class="leftPx" :underline="false"
+                                    @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+                                <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+                                    @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+                            </div>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <!-- 鏂板缓娑堟伅 -->
+                <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle"
+                    :visible.sync="isShowDialog" width="80%">
+                    <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType"
+                        :myDataRow="tableRowData"></my-edit>
+                </el-dialog>
+                <!-- tools -->
+                <div class="tools">
+                    <div class="funs">
+                        <div class="funsItem funs-sp">
+                            <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+                        </div>
+                        <div class="funsItem funs-sp">
+                            <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                                <el-option v-for="item in options" :key="item.value" :label="item.label"
+                                    :value="item.value">
+                                </el-option>
+                            </el-select>
+                        </div>
+                    </div>
+                    <div class="pagination">
+                        <el-pagination background :current-page="currentPage" layout="prev, pager, next"
+                            :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage">
+                        </el-pagination>
+                    </div>
+                </div>
+            </div>
+        </main>
+    </div>
+</template>
+<script>
+import MyView from './myview'
+import MyEdit from './update'
+import { deleteMessage, getMessageById, getMessageList } from "@/api/operate/messageManagement";
+
+export default {
+    components: { MyView, MyEdit },
+    computed: {
+        getDialogTitle() {
+            if (this.dialogType === 'create') {
+                return '鍒涘缓';
+            }
+
+            if (this.dialogType === 'update') {
+                return '鏇存柊';
+            }
+
+            if (this.dialogType === 'view') {
+                return '鏌ョ湅';
+            }
+        }
+    },
+    data() {
+        return {
+            tableData: [],
+            tableRowData: null,
+            isShowMoreParams: false,
+            context: null,
+            isShowDialog: false,
+            dialogType: false,
+            totalNum: null,
+            pageSize: 10,
+            currentPage: 1,
+            all: false,
+            unsame: false,
+            myIdx: 0,
+            preMyIdx: 0,
+            datetime: null,
+            options: [
+                {
+                    value: 0,
+                    label: '鎵归噺鎿嶄綔',
+                    disabled: true,
+                },
+                // {
+                //     value: 1,
+                //     label: '鎵归噺鍚敤',
+                // },
+                // {
+                //     value: 2,
+                //     label: '鎵归噺绂佺敤',
+                // },
+                {
+                    value: 3,
+                    label: '鎵归噺鍒犻櫎',
+                }
+            ],
+            tempList: [],
+            messageStatus: 2,
+            messageType: '00',
+            statusList: [
+                {
+                    label: '鍏ㄩ儴',
+                    value: 2,
+                },
+                {
+                    label: '鏈彂甯�',
+                    value: 0,
+                },
+                {
+                    label: '宸插彂甯�',
+                    value: 1,
+                }
+            ],
+            typeList: [
+                {
+                    id: '00',
+                    columnName: '鍏ㄩ儴',
+                },
+                {
+                    id: '01',
+                    columnName: '绔欏唴淇�',
+                },
+                {
+                    id: '03',
+                    columnName: '閭欢',
+                },
+                {
+                    id: '02',
+                    columnName: '鐭俊',
+                }
+            ]
+        }
+    },
+    created() {
+        this.getMessageList();
+    },
+
+    methods: {
+        // 鏌ヨ
+        handleSearch() {
+            this.getMessageList();
+        },
+
+        // 閲嶇疆
+        handleReset() {
+            this.messageStatus = 2;
+            this.messageType = '00';
+            this.context = '';
+            this.getMessageList();
+        },
+
+        // 鏌ョ湅
+        handleOpera(data, type) {
+            this.tableRowData = data;
+            this.dialogType = type;
+            this.isShowDialog = true;
+        },
+
+        // 鍒犻櫎淇℃伅
+        handleDelete(idarr) {
+            this.$confirm('纭鍒犻櫎?')
+                .then(() => {
+                    deleteMessage({ ids: idarr.join(',') })
+                        .then(() => {
+                            this.getMessageList();
+                            this.$message.success('鎿嶄綔鎴愬姛');
+                        })
+                        .catch(err => { this.$message({ type: 'error', message: err }) });
+                })
+        },
+
+        // 鑾峰彇娑堟伅鏁版嵁
+        getMessageList() {
+            const messageParam = {
+                current: this.currentPage,
+                pageSize: this.pageSize,
+                channelCode: this.messageType === '00' ? null : this.messageType,
+                status: this.messageStatus === 2 ? null : this.messageStatus,
+                head: this.context,
+                startTime: this.datetime ? this.datetime[0] : null,
+                endTime: this.datetime ? this.datetime[1] : null
+            }
+
+            getMessageList(messageParam)
+                .then(({ records, total, size }) => {
+                    this.tableData = records;
+                    this.totalNum = total;
+                    this.pageSize = size;
+                })
+                .catch(err => {
+                    this.$message({ type: 'error', message: err });
+                });
+        },
+
+        // 鎵归噺涓嬫媺妗嗘搷浣�
+        async selectChange(list) {
+            if (this.tempList.length !== 0) {
+                this.preMyIdx = list;
+                if (list === 3) {
+                    await this.handleDelete(this.tempList);
+                } else if (list === 2) {
+                    await this.mulUpdateStatus(this.tempList, 0);
+                } else {
+                    await this.mulUpdateStatus(this.tempList, 1);
+                }
+                this.myIdx = 0;
+            } else {
+                this.myIdx = this.preMyIdx;
+                this.$message({
+                    type: 'warning',
+                    message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁',
+                })
+            }
+        },
+
+        // 鎵归噺鎿嶄綔
+        mulUpdateStatus(idArr, flag) {
+            this.$confirm(flag === 1 ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?" : '鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?')
+                .then(_ => {
+                    this.$axios({
+                        method: 'post',
+                        url: 'sccg/role/updateStatusBatch?ids=' + idArr + '&status=' + flag,
+                    })
+                        .then(res => {
+                            if (res.code === 200) {
+                                this.$message({
+                                    type: 'success',
+                                    message: '鏇存敼鐢ㄦ埛鐘舵�佹垚鍔�',
+                                })
+                                this.getUserList();
+                            } else {
+                                this.$message({
+                                    type: 'error',
+                                    message: res.message
+                                })
+                            }
+                        })
+                })
+                .catch(err => { })
+        },
+
+        // 琛ㄦ牸鐩戝惉
+        tableChange(list) {
+            this.tempList = [];
+            list.forEach(item => {
+                this.tempList.push(item.id);
+            })
+            this.all = list.length === this.tableData.length;
+        },
+        // 鍏ㄩ��
+        selectAll() {
+            this.$refs.multipleTable.toggleAllSelection();
+        },
+
+        // 鍙嶉��
+        disSame(list) {
+            list.forEach(row => {
+                this.$refs.multipleTable.toggleRowSelection(row)
+            })
+        },
+
+        // 璁剧疆琛ㄦ牸鏂戦┈绾�
+        tableRowClassName({ row, rowIndex }) {
+            if ((rowIndex + 1) % 2 === 0) {
+                return 'warning-row';
+            } else {
+                return 'success-row';
+            }
+        },
+
+        // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+        changeCurrentPage(page) {
+            this.currentPage = page;
+            this.getMessageList();
+        },
+
+        // 鑷畾涔夊叧闂脊绐�
+        closeDialog() {
+            this.isShowDialog = false;
+            this.getMessageList();
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+    text-align: left;
+    margin: 10px 20px;
+    color: #606266;
+
+    header {
+        background-color: white;
+
+        .header-nav {
+            line-height: 40px;
+            padding: 0 30px;
+            display: flex;
+            justify-content: space-between;
+            font-weight: 650;
+        }
+
+        .header-content {
+            padding: 0 40px;
+            display: flex;
+            line-height: 100px;
+            justify-content: space-between;
+            align-items: center;
+
+            .search {
+                display: flex;
+                justify-content: space-between;
+                align-items: center;
+
+                span {
+                    flex: 1;
+                }
+
+                .el-input {
+                    flex: 2;
+                    color: #1d3f57;
+
+                    &::v-deep .el-input__inner {
+                        //background-color: #09152f;
+                        //border: 1px solid #17324c;
+                    }
+                }
+
+            }
+
+            .findBtn {
+                line-height: 100px;
+                margin-left: 15px;
+                display: flex;
+                align-items: center;
+                margin-top: -2px;
+
+                .el-button {
+                    padding: 12px 25px;
+                    border-radius: 20px;
+                }
+            }
+        }
+    }
+
+    main {
+        background-color: white;
+        margin-top: 20px;
+        padding-bottom: 50px;
+
+        .el-link {
+            color: #4b9bb7;
+        }
+
+        .leftPx {
+            margin-left: 10px;
+        }
+
+        .mainTitle {
+            line-height: 60px;
+        }
+
+        .main-nav {
+            line-height: 40px;
+            display: flex;
+            padding: 10px;
+            justify-content: space-between;
+        }
+
+        .tools {
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            padding: 0 20px;
+
+            .funs {
+                display: flex;
+
+                .funs-sp {
+                    border: 1px solid #17324c;
+                }
+
+                .funsItem {
+                    line-height: 28px;
+                    display: flex;
+                    align-items: center;
+
+                    border-radius: 4px;
+                    font-size: 12px;
+                    margin-left: 10px;
+
+                    .el-checkbox {
+                        width: 80px;
+                        padding: 0 10px;
+                    }
+
+                    .el-select {
+                        width: 120px;
+                    }
+
+                    &::v-deep .el-input__inner {
+                        border: none;
+                        //background-color: #09152f;
+                    }
+
+                    &:hover {
+                        border: 1px solid #4b9bb7;
+                    }
+
+                    &:hover .el-checkbox {
+                        color: #4b9bb7;
+                    }
+                }
+
+            }
+
+            .pagination {
+                margin-top: 50px;
+                display: flex;
+                line-height: 50px;
+                justify-content: center;
+
+                //.el-pagination {
+                //
+                //    &::v-deep li,
+                //    &::v-deep .btn-prev,
+                //    &::v-deep .btn-next {
+                //        background-color: #071f39;
+                //        color: #4b9bb7;
+                //    }
+                //
+                //    &::v-deep .active {
+                //        background-color: #409eff;
+                //        color: #fff;
+                //    }
+                //}
+            }
+        }
+
+        .el-table {
+            // color: #606266;
+            // font-size: 10px;
+
+            &::v-deep .el-table__empty-block {
+                //background-color: #09152f;
+            }
+
+            &::v-deep .el-table__empty-block {
+                color: #4b9bb7;
+            }
+
+            .operation {
+                display: flex;
+
+                .line {
+                    padding: 0 5px;
+                }
+
+                span:hover {
+                    cursor: pointer;
+                }
+            }
+        }
+
+        .el-table::v-deep .warning-row {
+            //background: #06122c;
+        }
+
+        .el-table::v-deep .success-row {
+            //background: #071f39;
+        }
+
+        &::v-deep .switchStyle .el-switch__label {
+            position: absolute;
+            display: none;
+            color: #fff;
+        }
+
+        &::v-deep .el-switch__core {
+            background-color: rgba(166, 166, 166, 1);
+        }
+
+        &::v-deep .switchStyle .el-switch__label--left {
+            z-index: 9;
+            left: 20px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label--right {
+            z-index: 9;
+            left: 4px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label.is-active {
+            display: block;
+        }
+
+        &::v-deep .switchStyle.el-switch .el-switch__core,
+        &::v-deep .el-switch .el-switch__label {
+            width: 50px !important;
+        }
+    }
+
+    &::v-deep .el-dialog__header,
+    &::v-deep .el-dialog__body {
+        //background-color: #06122c;
+    }
+
+    &::v-deep .el-dialog__header {
+        display: flex;
+        align-items: center;
+        background-color: #fff;
+        padding: 20px;
+        line-height: 60px;
+    }
+
+    &::v-deep .el-dialog__title {
+        color: #606266;
+    }
+
+    &::v-deep .el-dialog__close {
+        width: 20px;
+        height: 20px;
+    }
+
+    &::v-deep .el-dialog__body {
+        padding: 0;
+    }
+
+    :deep(.el-range-input) {
+        //background-color: #09152f;
+    }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/index_20230104114841.vue b/.history/src/views/operate/message/myIndex/index_20230104114841.vue
new file mode 100644
index 0000000..c75a669
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/index_20230104114841.vue
@@ -0,0 +1,604 @@
+<template>
+    <div class="userList">
+        <header>
+            <div class="header-nav">
+                <span class="nav-left">鏁版嵁绛涢��</span>
+            </div>
+            <div class="header-content">
+                <div class="search">
+                    <span>杈撳叆鏌ヨ:</span>
+                    <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+                </div>
+                <div class="search">
+                    <span>娑堟伅鐘舵��:</span>
+                    <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鐘舵��">
+                        <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="search">
+                    <span>娑堟伅鍒嗙被:</span>
+                    <el-select v-model="messageType" placeholder="璇烽�夋嫨娑堟伅鍒嗙被">
+                        <el-option v-for="item in typeList" :key="item.id" :label="item.columnName" :value="item.id">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="search">
+                    <span>鍒涘缓鏃堕棿:</span>
+                    <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime"
+                        value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+                </div>
+                <div class="find">
+                    <el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
+                    <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+                </div>
+            </div>
+        </header>
+        <main>
+            <div class="mainContent">
+                <div class="main-nav">
+                    <span>鏁版嵁鍒楄〃</span>
+                    <el-button class="button-addition" type="primary" icon="el-icon-plus"
+                        @click="handleOpera(null, 'create')">娣诲姞</el-button>
+                </div>
+                <!-- 鏁版嵁灞曠ず -->
+                <el-table ref="multipleTable"
+                    :header-cell-style="{ background: 'white', 'font-weight': '650', 'line-height': '45px' }" :data="tableData"
+                    style="width: 100%" :row-class-name="tableRowClassName" @selection-change="tableChange">
+                    <el-table-column type="selection" min-width="5">
+                    </el-table-column>
+                    <el-table-column label="ID" min-width="5">
+                        <template slot-scope="scope">{{ scope.row.id }}</template>
+                    </el-table-column>
+                    <el-table-column prop="head" label="鏍囬" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15">
+                    </el-table-column>
+                    <el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+                        <template v-if="scope.row.status" slot-scope="scope">
+                            {{ scope.row.status == 1 ? '鏈彂甯�' : '宸插彂甯�' }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+                        <template slot-scope="scope">
+                            <div class="operation">
+                                <el-link icon="el-icon-view" :underline="false"
+                                    @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+                                <el-link icon="el-icon-edit" class="leftPx" :underline="false"
+                                    @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+                                <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+                                    @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+                            </div>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <!-- 鏂板缓娑堟伅 -->
+                <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle"
+                    :visible.sync="isShowDialog" width="80%">
+                    <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType"
+                        :myDataRow="tableRowData"></my-edit>
+                </el-dialog>
+                <!-- tools -->
+                <div class="tools">
+                    <div class="funs">
+                        <div class="funsItem funs-sp">
+                            <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+                        </div>
+                        <div class="funsItem funs-sp">
+                            <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                                <el-option v-for="item in options" :key="item.value" :label="item.label"
+                                    :value="item.value">
+                                </el-option>
+                            </el-select>
+                        </div>
+                    </div>
+                    <div class="pagination">
+                        <el-pagination background :current-page="currentPage" layout="prev, pager, next"
+                            :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage">
+                        </el-pagination>
+                    </div>
+                </div>
+            </div>
+        </main>
+    </div>
+</template>
+<script>
+import MyView from './myview'
+import MyEdit from './update'
+import { deleteMessage, getMessageById, getMessageList } from "@/api/operate/messageManagement";
+
+export default {
+    components: { MyView, MyEdit },
+    computed: {
+        getDialogTitle() {
+            if (this.dialogType === 'create') {
+                return '鍒涘缓';
+            }
+
+            if (this.dialogType === 'update') {
+                return '鏇存柊';
+            }
+
+            if (this.dialogType === 'view') {
+                return '鏌ョ湅';
+            }
+        }
+    },
+    data() {
+        return {
+            tableData: [],
+            tableRowData: null,
+            isShowMoreParams: false,
+            context: null,
+            isShowDialog: false,
+            dialogType: false,
+            totalNum: null,
+            pageSize: 10,
+            currentPage: 1,
+            all: false,
+            unsame: false,
+            myIdx: 0,
+            preMyIdx: 0,
+            datetime: null,
+            options: [
+                {
+                    value: 0,
+                    label: '鎵归噺鎿嶄綔',
+                    disabled: true,
+                },
+                // {
+                //     value: 1,
+                //     label: '鎵归噺鍚敤',
+                // },
+                // {
+                //     value: 2,
+                //     label: '鎵归噺绂佺敤',
+                // },
+                {
+                    value: 3,
+                    label: '鎵归噺鍒犻櫎',
+                }
+            ],
+            tempList: [],
+            messageStatus: 2,
+            messageType: '00',
+            statusList: [
+                {
+                    label: '鍏ㄩ儴',
+                    value: 2,
+                },
+                {
+                    label: '鏈彂甯�',
+                    value: 0,
+                },
+                {
+                    label: '宸插彂甯�',
+                    value: 1,
+                }
+            ],
+            typeList: [
+                {
+                    id: '00',
+                    columnName: '鍏ㄩ儴',
+                },
+                {
+                    id: '01',
+                    columnName: '绔欏唴淇�',
+                },
+                {
+                    id: '03',
+                    columnName: '閭欢',
+                },
+                {
+                    id: '02',
+                    columnName: '鐭俊',
+                }
+            ]
+        }
+    },
+    created() {
+        this.getMessageList();
+    },
+
+    methods: {
+        // 鏌ヨ
+        handleSearch() {
+            this.getMessageList();
+        },
+
+        // 閲嶇疆
+        handleReset() {
+            this.messageStatus = 2;
+            this.messageType = '00';
+            this.context = '';
+            this.getMessageList();
+        },
+
+        // 鏌ョ湅
+        handleOpera(data, type) {
+            this.tableRowData = data;
+            this.dialogType = type;
+            this.isShowDialog = true;
+        },
+
+        // 鍒犻櫎淇℃伅
+        handleDelete(idarr) {
+            this.$confirm('纭鍒犻櫎?')
+                .then(() => {
+                    deleteMessage({ ids: idarr.join(',') })
+                        .then(() => {
+                            this.getMessageList();
+                            this.$message.success('鎿嶄綔鎴愬姛');
+                        })
+                        .catch(err => { this.$message({ type: 'error', message: err }) });
+                })
+        },
+
+        // 鑾峰彇娑堟伅鏁版嵁
+        getMessageList() {
+            const messageParam = {
+                current: this.currentPage,
+                pageSize: this.pageSize,
+                channelCode: this.messageType === '00' ? null : this.messageType,
+                status: this.messageStatus === 2 ? null : this.messageStatus,
+                head: this.context,
+                startTime: this.datetime ? this.datetime[0] : null,
+                endTime: this.datetime ? this.datetime[1] : null
+            }
+
+            getMessageList(messageParam)
+                .then(({ records, total, size }) => {
+                    this.tableData = records;
+                    this.totalNum = total;
+                    this.pageSize = size;
+                })
+                .catch(err => {
+                    this.$message({ type: 'error', message: err });
+                });
+        },
+
+        // 鎵归噺涓嬫媺妗嗘搷浣�
+        async selectChange(list) {
+            if (this.tempList.length !== 0) {
+                this.preMyIdx = list;
+                if (list === 3) {
+                    await this.handleDelete(this.tempList);
+                } else if (list === 2) {
+                    await this.mulUpdateStatus(this.tempList, 0);
+                } else {
+                    await this.mulUpdateStatus(this.tempList, 1);
+                }
+                this.myIdx = 0;
+            } else {
+                this.myIdx = this.preMyIdx;
+                this.$message({
+                    type: 'warning',
+                    message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁',
+                })
+            }
+        },
+
+        // 鎵归噺鎿嶄綔
+        mulUpdateStatus(idArr, flag) {
+            this.$confirm(flag === 1 ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?" : '鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?')
+                .then(_ => {
+                    this.$axios({
+                        method: 'post',
+                        url: 'sccg/role/updateStatusBatch?ids=' + idArr + '&status=' + flag,
+                    })
+                        .then(res => {
+                            if (res.code === 200) {
+                                this.$message({
+                                    type: 'success',
+                                    message: '鏇存敼鐢ㄦ埛鐘舵�佹垚鍔�',
+                                })
+                                this.getUserList();
+                            } else {
+                                this.$message({
+                                    type: 'error',
+                                    message: res.message
+                                })
+                            }
+                        })
+                })
+                .catch(err => { })
+        },
+
+        // 琛ㄦ牸鐩戝惉
+        tableChange(list) {
+            this.tempList = [];
+            list.forEach(item => {
+                this.tempList.push(item.id);
+            })
+            this.all = list.length === this.tableData.length;
+        },
+        // 鍏ㄩ��
+        selectAll() {
+            this.$refs.multipleTable.toggleAllSelection();
+        },
+
+        // 鍙嶉��
+        disSame(list) {
+            list.forEach(row => {
+                this.$refs.multipleTable.toggleRowSelection(row)
+            })
+        },
+
+        // 璁剧疆琛ㄦ牸鏂戦┈绾�
+        tableRowClassName({ row, rowIndex }) {
+            if ((rowIndex + 1) % 2 === 0) {
+                return 'warning-row';
+            } else {
+                return 'success-row';
+            }
+        },
+
+        // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+        changeCurrentPage(page) {
+            this.currentPage = page;
+            this.getMessageList();
+        },
+
+        // 鑷畾涔夊叧闂脊绐�
+        closeDialog() {
+            this.isShowDialog = false;
+            this.getMessageList();
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+    text-align: left;
+    margin: 10px 20px;
+    color: #606266;
+
+    header {
+        background-color: white;
+
+        .header-nav {
+            line-height: 40px;
+            padding: 0 30px;
+            display: flex;
+            justify-content: space-between;
+            font-weight: 650;
+        }
+
+        .header-content {
+            padding: 0 40px;
+            display: flex;
+            line-height: 100px;
+            justify-content: space-between;
+            align-items: center;
+
+            .search {
+                display: flex;
+                justify-content: space-between;
+                align-items: center;
+
+                span {
+                    flex: 1;
+                }
+
+                .el-input {
+                    flex: 2;
+                    color: #1d3f57;
+
+                    &::v-deep .el-input__inner {
+                        //background-color: #09152f;
+                        //border: 1px solid #17324c;
+                    }
+                }
+
+            }
+
+            .findBtn {
+                line-height: 100px;
+                margin-left: 15px;
+                display: flex;
+                align-items: center;
+                margin-top: -2px;
+
+                .el-button {
+                    padding: 12px 25px;
+                    border-radius: 20px;
+                }
+            }
+        }
+    }
+
+    main {
+        background-color: white;
+        margin-top: 20px;
+        padding-bottom: 50px;
+
+        .el-link {
+            color: #4b9bb7;
+        }
+
+        .leftPx {
+            margin-left: 10px;
+        }
+
+        .mainTitle {
+            line-height: 60px;
+        }
+
+        .main-nav {
+            line-height: 40px;
+            display: flex;
+            padding: 10px;
+            justify-content: space-between;
+        }
+
+        .tools {
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            padding: 0 20px;
+
+            .funs {
+                display: flex;
+
+                .funs-sp {
+                    border: 1px solid #17324c;
+                }
+
+                .funsItem {
+                    line-height: 28px;
+                    display: flex;
+                    align-items: center;
+
+                    border-radius: 4px;
+                    font-size: 12px;
+                    margin-left: 10px;
+
+                    .el-checkbox {
+                        width: 80px;
+                        padding: 0 10px;
+                    }
+
+                    .el-select {
+                        width: 120px;
+                    }
+
+                    &::v-deep .el-input__inner {
+                        border: none;
+                        //background-color: #09152f;
+                    }
+
+                    &:hover {
+                        border: 1px solid #4b9bb7;
+                    }
+
+                    &:hover .el-checkbox {
+                        color: #4b9bb7;
+                    }
+                }
+
+            }
+
+            .pagination {
+                margin-top: 50px;
+                display: flex;
+                line-height: 50px;
+                justify-content: center;
+
+                //.el-pagination {
+                //
+                //    &::v-deep li,
+                //    &::v-deep .btn-prev,
+                //    &::v-deep .btn-next {
+                //        background-color: #071f39;
+                //        color: #4b9bb7;
+                //    }
+                //
+                //    &::v-deep .active {
+                //        background-color: #409eff;
+                //        color: #fff;
+                //    }
+                //}
+            }
+        }
+
+        .el-table {
+            // color: #606266;
+            // font-size: 10px;
+
+            &::v-deep .el-table__empty-block {
+                //background-color: #09152f;
+            }
+
+            &::v-deep .el-table__empty-block {
+                color: #4b9bb7;
+            }
+
+            .operation {
+                display: flex;
+
+                .line {
+                    padding: 0 5px;
+                }
+
+                span:hover {
+                    cursor: pointer;
+                }
+            }
+        }
+
+        .el-table::v-deep .warning-row {
+            //background: #06122c;
+        }
+
+        .el-table::v-deep .success-row {
+            //background: #071f39;
+        }
+
+        &::v-deep .switchStyle .el-switch__label {
+            position: absolute;
+            display: none;
+            color: #fff;
+        }
+
+        &::v-deep .el-switch__core {
+            background-color: rgba(166, 166, 166, 1);
+        }
+
+        &::v-deep .switchStyle .el-switch__label--left {
+            z-index: 9;
+            left: 20px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label--right {
+            z-index: 9;
+            left: 4px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label.is-active {
+            display: block;
+        }
+
+        &::v-deep .switchStyle.el-switch .el-switch__core,
+        &::v-deep .el-switch .el-switch__label {
+            width: 50px !important;
+        }
+    }
+
+    &::v-deep .el-dialog__header,
+    &::v-deep .el-dialog__body {
+        //background-color: #06122c;
+    }
+
+    &::v-deep .el-dialog__header {
+        display: flex;
+        align-items: center;
+        background-color: #fff;
+        padding: 20px;
+        line-height: 60px;
+    }
+
+    &::v-deep .el-dialog__title {
+        color: #606266;
+    }
+
+    &::v-deep .el-dialog__close {
+        width: 20px;
+        height: 20px;
+    }
+
+    &::v-deep .el-dialog__body {
+        padding: 0;
+    }
+
+    :deep(.el-range-input) {
+        //background-color: #09152f;
+    }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/index_20230104114956.vue b/.history/src/views/operate/message/myIndex/index_20230104114956.vue
new file mode 100644
index 0000000..9d1cd63
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/index_20230104114956.vue
@@ -0,0 +1,604 @@
+<template>
+    <div class="userList">
+        <header>
+            <div class="header-nav">
+                <span class="nav-left">鏁版嵁绛涢��</span>
+            </div>
+            <div class="header-content">
+                <div class="search">
+                    <span>杈撳叆鏌ヨ:</span>
+                    <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+                </div>
+                <div class="search">
+                    <span>娑堟伅鐘舵��:</span>
+                    <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鐘舵��">
+                        <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="search">
+                    <span>娑堟伅鍒嗙被:</span>
+                    <el-select v-model="messageType" placeholder="璇烽�夋嫨娑堟伅鍒嗙被">
+                        <el-option v-for="item in typeList" :key="item.id" :label="item.columnName" :value="item.id">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="search">
+                    <span>鍒涘缓鏃堕棿:</span>
+                    <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime"
+                        value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+                </div>
+                <div class="find">
+                    <el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
+                    <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+                </div>
+            </div>
+        </header>
+        <main>
+            <div class="mainContent">
+                <div class="main-nav">
+                    <span>鏁版嵁鍒楄〃</span>
+                    <el-button class="button-addition" type="primary" icon="el-icon-plus"
+                        @click="handleOpera(null, 'create')">娣诲姞</el-button>
+                </div>
+                <!-- 鏁版嵁灞曠ず -->
+                <el-table ref="multipleTable"
+                    :header-cell-style="{ background: 'white', 'font-weight': '650', 'line-height': '45px' }" :data="tableData"
+                    style="width: 100%" :row-class-name="tableRowClassName" @selection-change="tableChange">
+                    <el-table-column type="selection" min-width="5">
+                    </el-table-column>
+                    <el-table-column label="ID" min-width="5">
+                        <template slot-scope="scope">{{ scope.row.id }}</template>
+                    </el-table-column>
+                    <el-table-column prop="head" label="鏍囬" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15">
+                    </el-table-column>
+                    <el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+                        <template v-if="scope.row.status" slot-scope="scope">
+                            {{ scope.row.status == 0 ? '鏈彂甯�' : '宸插彂甯�' }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+                        <template slot-scope="scope">
+                            <div class="operation">
+                                <el-link icon="el-icon-view" :underline="false"
+                                    @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+                                <el-link icon="el-icon-edit" class="leftPx" :underline="false"
+                                    @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+                                <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+                                    @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+                            </div>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <!-- 鏂板缓娑堟伅 -->
+                <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle"
+                    :visible.sync="isShowDialog" width="80%">
+                    <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType"
+                        :myDataRow="tableRowData"></my-edit>
+                </el-dialog>
+                <!-- tools -->
+                <div class="tools">
+                    <div class="funs">
+                        <div class="funsItem funs-sp">
+                            <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+                        </div>
+                        <div class="funsItem funs-sp">
+                            <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                                <el-option v-for="item in options" :key="item.value" :label="item.label"
+                                    :value="item.value">
+                                </el-option>
+                            </el-select>
+                        </div>
+                    </div>
+                    <div class="pagination">
+                        <el-pagination background :current-page="currentPage" layout="prev, pager, next"
+                            :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage">
+                        </el-pagination>
+                    </div>
+                </div>
+            </div>
+        </main>
+    </div>
+</template>
+<script>
+import MyView from './myview'
+import MyEdit from './update'
+import { deleteMessage, getMessageById, getMessageList } from "@/api/operate/messageManagement";
+
+export default {
+    components: { MyView, MyEdit },
+    computed: {
+        getDialogTitle() {
+            if (this.dialogType === 'create') {
+                return '鍒涘缓';
+            }
+
+            if (this.dialogType === 'update') {
+                return '鏇存柊';
+            }
+
+            if (this.dialogType === 'view') {
+                return '鏌ョ湅';
+            }
+        }
+    },
+    data() {
+        return {
+            tableData: [],
+            tableRowData: null,
+            isShowMoreParams: false,
+            context: null,
+            isShowDialog: false,
+            dialogType: false,
+            totalNum: null,
+            pageSize: 10,
+            currentPage: 1,
+            all: false,
+            unsame: false,
+            myIdx: 0,
+            preMyIdx: 0,
+            datetime: null,
+            options: [
+                {
+                    value: 0,
+                    label: '鎵归噺鎿嶄綔',
+                    disabled: true,
+                },
+                // {
+                //     value: 1,
+                //     label: '鎵归噺鍚敤',
+                // },
+                // {
+                //     value: 2,
+                //     label: '鎵归噺绂佺敤',
+                // },
+                {
+                    value: 3,
+                    label: '鎵归噺鍒犻櫎',
+                }
+            ],
+            tempList: [],
+            messageStatus: 2,
+            messageType: '00',
+            statusList: [
+                {
+                    label: '鍏ㄩ儴',
+                    value: 2,
+                },
+                {
+                    label: '鏈彂甯�',
+                    value: 0,
+                },
+                {
+                    label: '宸插彂甯�',
+                    value: 1,
+                }
+            ],
+            typeList: [
+                {
+                    id: '00',
+                    columnName: '鍏ㄩ儴',
+                },
+                {
+                    id: '01',
+                    columnName: '绔欏唴淇�',
+                },
+                {
+                    id: '03',
+                    columnName: '閭欢',
+                },
+                {
+                    id: '02',
+                    columnName: '鐭俊',
+                }
+            ]
+        }
+    },
+    created() {
+        this.getMessageList();
+    },
+
+    methods: {
+        // 鏌ヨ
+        handleSearch() {
+            this.getMessageList();
+        },
+
+        // 閲嶇疆
+        handleReset() {
+            this.messageStatus = 2;
+            this.messageType = '00';
+            this.context = '';
+            this.getMessageList();
+        },
+
+        // 鏌ョ湅
+        handleOpera(data, type) {
+            this.tableRowData = data;
+            this.dialogType = type;
+            this.isShowDialog = true;
+        },
+
+        // 鍒犻櫎淇℃伅
+        handleDelete(idarr) {
+            this.$confirm('纭鍒犻櫎?')
+                .then(() => {
+                    deleteMessage({ ids: idarr.join(',') })
+                        .then(() => {
+                            this.getMessageList();
+                            this.$message.success('鎿嶄綔鎴愬姛');
+                        })
+                        .catch(err => { this.$message({ type: 'error', message: err }) });
+                })
+        },
+
+        // 鑾峰彇娑堟伅鏁版嵁
+        getMessageList() {
+            const messageParam = {
+                current: this.currentPage,
+                pageSize: this.pageSize,
+                channelCode: this.messageType === '00' ? null : this.messageType,
+                status: this.messageStatus === 2 ? null : this.messageStatus,
+                head: this.context,
+                startTime: this.datetime ? this.datetime[0] : null,
+                endTime: this.datetime ? this.datetime[1] : null
+            }
+
+            getMessageList(messageParam)
+                .then(({ records, total, size }) => {
+                    this.tableData = records;
+                    this.totalNum = total;
+                    this.pageSize = size;
+                })
+                .catch(err => {
+                    this.$message({ type: 'error', message: err });
+                });
+        },
+
+        // 鎵归噺涓嬫媺妗嗘搷浣�
+        async selectChange(list) {
+            if (this.tempList.length !== 0) {
+                this.preMyIdx = list;
+                if (list === 3) {
+                    await this.handleDelete(this.tempList);
+                } else if (list === 2) {
+                    await this.mulUpdateStatus(this.tempList, 0);
+                } else {
+                    await this.mulUpdateStatus(this.tempList, 1);
+                }
+                this.myIdx = 0;
+            } else {
+                this.myIdx = this.preMyIdx;
+                this.$message({
+                    type: 'warning',
+                    message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁',
+                })
+            }
+        },
+
+        // 鎵归噺鎿嶄綔
+        mulUpdateStatus(idArr, flag) {
+            this.$confirm(flag === 1 ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?" : '鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?')
+                .then(_ => {
+                    this.$axios({
+                        method: 'post',
+                        url: 'sccg/role/updateStatusBatch?ids=' + idArr + '&status=' + flag,
+                    })
+                        .then(res => {
+                            if (res.code === 200) {
+                                this.$message({
+                                    type: 'success',
+                                    message: '鏇存敼鐢ㄦ埛鐘舵�佹垚鍔�',
+                                })
+                                this.getUserList();
+                            } else {
+                                this.$message({
+                                    type: 'error',
+                                    message: res.message
+                                })
+                            }
+                        })
+                })
+                .catch(err => { })
+        },
+
+        // 琛ㄦ牸鐩戝惉
+        tableChange(list) {
+            this.tempList = [];
+            list.forEach(item => {
+                this.tempList.push(item.id);
+            })
+            this.all = list.length === this.tableData.length;
+        },
+        // 鍏ㄩ��
+        selectAll() {
+            this.$refs.multipleTable.toggleAllSelection();
+        },
+
+        // 鍙嶉��
+        disSame(list) {
+            list.forEach(row => {
+                this.$refs.multipleTable.toggleRowSelection(row)
+            })
+        },
+
+        // 璁剧疆琛ㄦ牸鏂戦┈绾�
+        tableRowClassName({ row, rowIndex }) {
+            if ((rowIndex + 1) % 2 === 0) {
+                return 'warning-row';
+            } else {
+                return 'success-row';
+            }
+        },
+
+        // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+        changeCurrentPage(page) {
+            this.currentPage = page;
+            this.getMessageList();
+        },
+
+        // 鑷畾涔夊叧闂脊绐�
+        closeDialog() {
+            this.isShowDialog = false;
+            this.getMessageList();
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+    text-align: left;
+    margin: 10px 20px;
+    color: #606266;
+
+    header {
+        background-color: white;
+
+        .header-nav {
+            line-height: 40px;
+            padding: 0 30px;
+            display: flex;
+            justify-content: space-between;
+            font-weight: 650;
+        }
+
+        .header-content {
+            padding: 0 40px;
+            display: flex;
+            line-height: 100px;
+            justify-content: space-between;
+            align-items: center;
+
+            .search {
+                display: flex;
+                justify-content: space-between;
+                align-items: center;
+
+                span {
+                    flex: 1;
+                }
+
+                .el-input {
+                    flex: 2;
+                    color: #1d3f57;
+
+                    &::v-deep .el-input__inner {
+                        //background-color: #09152f;
+                        //border: 1px solid #17324c;
+                    }
+                }
+
+            }
+
+            .findBtn {
+                line-height: 100px;
+                margin-left: 15px;
+                display: flex;
+                align-items: center;
+                margin-top: -2px;
+
+                .el-button {
+                    padding: 12px 25px;
+                    border-radius: 20px;
+                }
+            }
+        }
+    }
+
+    main {
+        background-color: white;
+        margin-top: 20px;
+        padding-bottom: 50px;
+
+        .el-link {
+            color: #4b9bb7;
+        }
+
+        .leftPx {
+            margin-left: 10px;
+        }
+
+        .mainTitle {
+            line-height: 60px;
+        }
+
+        .main-nav {
+            line-height: 40px;
+            display: flex;
+            padding: 10px;
+            justify-content: space-between;
+        }
+
+        .tools {
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            padding: 0 20px;
+
+            .funs {
+                display: flex;
+
+                .funs-sp {
+                    border: 1px solid #17324c;
+                }
+
+                .funsItem {
+                    line-height: 28px;
+                    display: flex;
+                    align-items: center;
+
+                    border-radius: 4px;
+                    font-size: 12px;
+                    margin-left: 10px;
+
+                    .el-checkbox {
+                        width: 80px;
+                        padding: 0 10px;
+                    }
+
+                    .el-select {
+                        width: 120px;
+                    }
+
+                    &::v-deep .el-input__inner {
+                        border: none;
+                        //background-color: #09152f;
+                    }
+
+                    &:hover {
+                        border: 1px solid #4b9bb7;
+                    }
+
+                    &:hover .el-checkbox {
+                        color: #4b9bb7;
+                    }
+                }
+
+            }
+
+            .pagination {
+                margin-top: 50px;
+                display: flex;
+                line-height: 50px;
+                justify-content: center;
+
+                //.el-pagination {
+                //
+                //    &::v-deep li,
+                //    &::v-deep .btn-prev,
+                //    &::v-deep .btn-next {
+                //        background-color: #071f39;
+                //        color: #4b9bb7;
+                //    }
+                //
+                //    &::v-deep .active {
+                //        background-color: #409eff;
+                //        color: #fff;
+                //    }
+                //}
+            }
+        }
+
+        .el-table {
+            // color: #606266;
+            // font-size: 10px;
+
+            &::v-deep .el-table__empty-block {
+                //background-color: #09152f;
+            }
+
+            &::v-deep .el-table__empty-block {
+                color: #4b9bb7;
+            }
+
+            .operation {
+                display: flex;
+
+                .line {
+                    padding: 0 5px;
+                }
+
+                span:hover {
+                    cursor: pointer;
+                }
+            }
+        }
+
+        .el-table::v-deep .warning-row {
+            //background: #06122c;
+        }
+
+        .el-table::v-deep .success-row {
+            //background: #071f39;
+        }
+
+        &::v-deep .switchStyle .el-switch__label {
+            position: absolute;
+            display: none;
+            color: #fff;
+        }
+
+        &::v-deep .el-switch__core {
+            background-color: rgba(166, 166, 166, 1);
+        }
+
+        &::v-deep .switchStyle .el-switch__label--left {
+            z-index: 9;
+            left: 20px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label--right {
+            z-index: 9;
+            left: 4px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label.is-active {
+            display: block;
+        }
+
+        &::v-deep .switchStyle.el-switch .el-switch__core,
+        &::v-deep .el-switch .el-switch__label {
+            width: 50px !important;
+        }
+    }
+
+    &::v-deep .el-dialog__header,
+    &::v-deep .el-dialog__body {
+        //background-color: #06122c;
+    }
+
+    &::v-deep .el-dialog__header {
+        display: flex;
+        align-items: center;
+        background-color: #fff;
+        padding: 20px;
+        line-height: 60px;
+    }
+
+    &::v-deep .el-dialog__title {
+        color: #606266;
+    }
+
+    &::v-deep .el-dialog__close {
+        width: 20px;
+        height: 20px;
+    }
+
+    &::v-deep .el-dialog__body {
+        padding: 0;
+    }
+
+    :deep(.el-range-input) {
+        //background-color: #09152f;
+    }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/index_20230104115130.vue b/.history/src/views/operate/message/myIndex/index_20230104115130.vue
new file mode 100644
index 0000000..d74344d
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/index_20230104115130.vue
@@ -0,0 +1,604 @@
+<template>
+    <div class="userList">
+        <header>
+            <div class="header-nav">
+                <span class="nav-left">鏁版嵁绛涢��</span>
+            </div>
+            <div class="header-content">
+                <div class="search">
+                    <span>杈撳叆鏌ヨ:</span>
+                    <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+                </div>
+                <div class="search">
+                    <span>娑堟伅鐘舵��:</span>
+                    <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鐘舵��">
+                        <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="search">
+                    <span>娑堟伅鍒嗙被:</span>
+                    <el-select v-model="messageType" placeholder="璇烽�夋嫨娑堟伅鍒嗙被">
+                        <el-option v-for="item in typeList" :key="item.id" :label="item.columnName" :value="item.id">
+                        </el-option>
+                    </el-select>
+                </div>
+                <div class="search">
+                    <span>鍒涘缓鏃堕棿:</span>
+                    <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime"
+                        value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+                </div>
+                <div class="find">
+                    <el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
+                    <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+                </div>
+            </div>
+        </header>
+        <main>
+            <div class="mainContent">
+                <div class="main-nav">
+                    <span>鏁版嵁鍒楄〃</span>
+                    <el-button class="button-addition" type="primary" icon="el-icon-plus"
+                        @click="handleOpera(null, 'create')">娣诲姞</el-button>
+                </div>
+                <!-- 鏁版嵁灞曠ず -->
+                <el-table ref="multipleTable"
+                    :header-cell-style="{ background: 'white', 'font-weight': '650', 'line-height': '45px' }" :data="tableData"
+                    style="width: 100%" :row-class-name="tableRowClassName" @selection-change="tableChange">
+                    <el-table-column type="selection" min-width="5">
+                    </el-table-column>
+                    <el-table-column label="ID" min-width="5">
+                        <template slot-scope="scope">{{ scope.row.id }}</template>
+                    </el-table-column>
+                    <el-table-column prop="head" label="鏍囬" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15">
+                    </el-table-column>
+                    <el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+                        <template slot-scope="scope">
+                            {{ scope.row.status == 0 ? '鏈彂甯�' : '宸插彂甯�' }}
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+                        <template slot-scope="scope">
+                            <div class="operation">
+                                <el-link icon="el-icon-view" :underline="false"
+                                    @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+                                <el-link icon="el-icon-edit" class="leftPx" :underline="false"
+                                    @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+                                <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+                                    @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+                            </div>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <!-- 鏂板缓娑堟伅 -->
+                <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle"
+                    :visible.sync="isShowDialog" width="80%">
+                    <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType"
+                        :myDataRow="tableRowData"></my-edit>
+                </el-dialog>
+                <!-- tools -->
+                <div class="tools">
+                    <div class="funs">
+                        <div class="funsItem funs-sp">
+                            <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+                        </div>
+                        <div class="funsItem funs-sp">
+                            <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                                <el-option v-for="item in options" :key="item.value" :label="item.label"
+                                    :value="item.value">
+                                </el-option>
+                            </el-select>
+                        </div>
+                    </div>
+                    <div class="pagination">
+                        <el-pagination background :current-page="currentPage" layout="prev, pager, next"
+                            :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage">
+                        </el-pagination>
+                    </div>
+                </div>
+            </div>
+        </main>
+    </div>
+</template>
+<script>
+import MyView from './myview'
+import MyEdit from './update'
+import { deleteMessage, getMessageById, getMessageList } from "@/api/operate/messageManagement";
+
+export default {
+    components: { MyView, MyEdit },
+    computed: {
+        getDialogTitle() {
+            if (this.dialogType === 'create') {
+                return '鍒涘缓';
+            }
+
+            if (this.dialogType === 'update') {
+                return '鏇存柊';
+            }
+
+            if (this.dialogType === 'view') {
+                return '鏌ョ湅';
+            }
+        }
+    },
+    data() {
+        return {
+            tableData: [],
+            tableRowData: null,
+            isShowMoreParams: false,
+            context: null,
+            isShowDialog: false,
+            dialogType: false,
+            totalNum: null,
+            pageSize: 10,
+            currentPage: 1,
+            all: false,
+            unsame: false,
+            myIdx: 0,
+            preMyIdx: 0,
+            datetime: null,
+            options: [
+                {
+                    value: 0,
+                    label: '鎵归噺鎿嶄綔',
+                    disabled: true,
+                },
+                // {
+                //     value: 1,
+                //     label: '鎵归噺鍚敤',
+                // },
+                // {
+                //     value: 2,
+                //     label: '鎵归噺绂佺敤',
+                // },
+                {
+                    value: 3,
+                    label: '鎵归噺鍒犻櫎',
+                }
+            ],
+            tempList: [],
+            messageStatus: 2,
+            messageType: '00',
+            statusList: [
+                {
+                    label: '鍏ㄩ儴',
+                    value: 2,
+                },
+                {
+                    label: '鏈彂甯�',
+                    value: 0,
+                },
+                {
+                    label: '宸插彂甯�',
+                    value: 1,
+                }
+            ],
+            typeList: [
+                {
+                    id: '00',
+                    columnName: '鍏ㄩ儴',
+                },
+                {
+                    id: '01',
+                    columnName: '绔欏唴淇�',
+                },
+                {
+                    id: '03',
+                    columnName: '閭欢',
+                },
+                {
+                    id: '02',
+                    columnName: '鐭俊',
+                }
+            ]
+        }
+    },
+    created() {
+        this.getMessageList();
+    },
+
+    methods: {
+        // 鏌ヨ
+        handleSearch() {
+            this.getMessageList();
+        },
+
+        // 閲嶇疆
+        handleReset() {
+            this.messageStatus = 2;
+            this.messageType = '00';
+            this.context = '';
+            this.getMessageList();
+        },
+
+        // 鏌ョ湅
+        handleOpera(data, type) {
+            this.tableRowData = data;
+            this.dialogType = type;
+            this.isShowDialog = true;
+        },
+
+        // 鍒犻櫎淇℃伅
+        handleDelete(idarr) {
+            this.$confirm('纭鍒犻櫎?')
+                .then(() => {
+                    deleteMessage({ ids: idarr.join(',') })
+                        .then(() => {
+                            this.getMessageList();
+                            this.$message.success('鎿嶄綔鎴愬姛');
+                        })
+                        .catch(err => { this.$message({ type: 'error', message: err }) });
+                })
+        },
+
+        // 鑾峰彇娑堟伅鏁版嵁
+        getMessageList() {
+            const messageParam = {
+                current: this.currentPage,
+                pageSize: this.pageSize,
+                channelCode: this.messageType === '00' ? null : this.messageType,
+                status: this.messageStatus === 2 ? null : this.messageStatus,
+                head: this.context,
+                startTime: this.datetime ? this.datetime[0] : null,
+                endTime: this.datetime ? this.datetime[1] : null
+            }
+
+            getMessageList(messageParam)
+                .then(({ records, total, size }) => {
+                    this.tableData = records;
+                    this.totalNum = total;
+                    this.pageSize = size;
+                })
+                .catch(err => {
+                    this.$message({ type: 'error', message: err });
+                });
+        },
+
+        // 鎵归噺涓嬫媺妗嗘搷浣�
+        async selectChange(list) {
+            if (this.tempList.length !== 0) {
+                this.preMyIdx = list;
+                if (list === 3) {
+                    await this.handleDelete(this.tempList);
+                } else if (list === 2) {
+                    await this.mulUpdateStatus(this.tempList, 0);
+                } else {
+                    await this.mulUpdateStatus(this.tempList, 1);
+                }
+                this.myIdx = 0;
+            } else {
+                this.myIdx = this.preMyIdx;
+                this.$message({
+                    type: 'warning',
+                    message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁',
+                })
+            }
+        },
+
+        // 鎵归噺鎿嶄綔
+        mulUpdateStatus(idArr, flag) {
+            this.$confirm(flag === 1 ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?" : '鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?')
+                .then(_ => {
+                    this.$axios({
+                        method: 'post',
+                        url: 'sccg/role/updateStatusBatch?ids=' + idArr + '&status=' + flag,
+                    })
+                        .then(res => {
+                            if (res.code === 200) {
+                                this.$message({
+                                    type: 'success',
+                                    message: '鏇存敼鐢ㄦ埛鐘舵�佹垚鍔�',
+                                })
+                                this.getUserList();
+                            } else {
+                                this.$message({
+                                    type: 'error',
+                                    message: res.message
+                                })
+                            }
+                        })
+                })
+                .catch(err => { })
+        },
+
+        // 琛ㄦ牸鐩戝惉
+        tableChange(list) {
+            this.tempList = [];
+            list.forEach(item => {
+                this.tempList.push(item.id);
+            })
+            this.all = list.length === this.tableData.length;
+        },
+        // 鍏ㄩ��
+        selectAll() {
+            this.$refs.multipleTable.toggleAllSelection();
+        },
+
+        // 鍙嶉��
+        disSame(list) {
+            list.forEach(row => {
+                this.$refs.multipleTable.toggleRowSelection(row)
+            })
+        },
+
+        // 璁剧疆琛ㄦ牸鏂戦┈绾�
+        tableRowClassName({ row, rowIndex }) {
+            if ((rowIndex + 1) % 2 === 0) {
+                return 'warning-row';
+            } else {
+                return 'success-row';
+            }
+        },
+
+        // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+        changeCurrentPage(page) {
+            this.currentPage = page;
+            this.getMessageList();
+        },
+
+        // 鑷畾涔夊叧闂脊绐�
+        closeDialog() {
+            this.isShowDialog = false;
+            this.getMessageList();
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+    text-align: left;
+    margin: 10px 20px;
+    color: #606266;
+
+    header {
+        background-color: white;
+
+        .header-nav {
+            line-height: 40px;
+            padding: 0 30px;
+            display: flex;
+            justify-content: space-between;
+            font-weight: 650;
+        }
+
+        .header-content {
+            padding: 0 40px;
+            display: flex;
+            line-height: 100px;
+            justify-content: space-between;
+            align-items: center;
+
+            .search {
+                display: flex;
+                justify-content: space-between;
+                align-items: center;
+
+                span {
+                    flex: 1;
+                }
+
+                .el-input {
+                    flex: 2;
+                    color: #1d3f57;
+
+                    &::v-deep .el-input__inner {
+                        //background-color: #09152f;
+                        //border: 1px solid #17324c;
+                    }
+                }
+
+            }
+
+            .findBtn {
+                line-height: 100px;
+                margin-left: 15px;
+                display: flex;
+                align-items: center;
+                margin-top: -2px;
+
+                .el-button {
+                    padding: 12px 25px;
+                    border-radius: 20px;
+                }
+            }
+        }
+    }
+
+    main {
+        background-color: white;
+        margin-top: 20px;
+        padding-bottom: 50px;
+
+        .el-link {
+            color: #4b9bb7;
+        }
+
+        .leftPx {
+            margin-left: 10px;
+        }
+
+        .mainTitle {
+            line-height: 60px;
+        }
+
+        .main-nav {
+            line-height: 40px;
+            display: flex;
+            padding: 10px;
+            justify-content: space-between;
+        }
+
+        .tools {
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            padding: 0 20px;
+
+            .funs {
+                display: flex;
+
+                .funs-sp {
+                    border: 1px solid #17324c;
+                }
+
+                .funsItem {
+                    line-height: 28px;
+                    display: flex;
+                    align-items: center;
+
+                    border-radius: 4px;
+                    font-size: 12px;
+                    margin-left: 10px;
+
+                    .el-checkbox {
+                        width: 80px;
+                        padding: 0 10px;
+                    }
+
+                    .el-select {
+                        width: 120px;
+                    }
+
+                    &::v-deep .el-input__inner {
+                        border: none;
+                        //background-color: #09152f;
+                    }
+
+                    &:hover {
+                        border: 1px solid #4b9bb7;
+                    }
+
+                    &:hover .el-checkbox {
+                        color: #4b9bb7;
+                    }
+                }
+
+            }
+
+            .pagination {
+                margin-top: 50px;
+                display: flex;
+                line-height: 50px;
+                justify-content: center;
+
+                //.el-pagination {
+                //
+                //    &::v-deep li,
+                //    &::v-deep .btn-prev,
+                //    &::v-deep .btn-next {
+                //        background-color: #071f39;
+                //        color: #4b9bb7;
+                //    }
+                //
+                //    &::v-deep .active {
+                //        background-color: #409eff;
+                //        color: #fff;
+                //    }
+                //}
+            }
+        }
+
+        .el-table {
+            // color: #606266;
+            // font-size: 10px;
+
+            &::v-deep .el-table__empty-block {
+                //background-color: #09152f;
+            }
+
+            &::v-deep .el-table__empty-block {
+                color: #4b9bb7;
+            }
+
+            .operation {
+                display: flex;
+
+                .line {
+                    padding: 0 5px;
+                }
+
+                span:hover {
+                    cursor: pointer;
+                }
+            }
+        }
+
+        .el-table::v-deep .warning-row {
+            //background: #06122c;
+        }
+
+        .el-table::v-deep .success-row {
+            //background: #071f39;
+        }
+
+        &::v-deep .switchStyle .el-switch__label {
+            position: absolute;
+            display: none;
+            color: #fff;
+        }
+
+        &::v-deep .el-switch__core {
+            background-color: rgba(166, 166, 166, 1);
+        }
+
+        &::v-deep .switchStyle .el-switch__label--left {
+            z-index: 9;
+            left: 20px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label--right {
+            z-index: 9;
+            left: 4px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label.is-active {
+            display: block;
+        }
+
+        &::v-deep .switchStyle.el-switch .el-switch__core,
+        &::v-deep .el-switch .el-switch__label {
+            width: 50px !important;
+        }
+    }
+
+    &::v-deep .el-dialog__header,
+    &::v-deep .el-dialog__body {
+        //background-color: #06122c;
+    }
+
+    &::v-deep .el-dialog__header {
+        display: flex;
+        align-items: center;
+        background-color: #fff;
+        padding: 20px;
+        line-height: 60px;
+    }
+
+    &::v-deep .el-dialog__title {
+        color: #606266;
+    }
+
+    &::v-deep .el-dialog__close {
+        width: 20px;
+        height: 20px;
+    }
+
+    &::v-deep .el-dialog__body {
+        padding: 0;
+    }
+
+    :deep(.el-range-input) {
+        //background-color: #09152f;
+    }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/update/index_20221229133119.vue b/.history/src/views/operate/message/myIndex/update/index_20221229133119.vue
new file mode 100644
index 0000000..68d0f04
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/update/index_20221229133119.vue
@@ -0,0 +1,479 @@
+<template>
+  <div class="createUser">
+    <main>
+      <div class="mainContent">
+        <el-form
+          ref="user"
+          label-width="140px"
+          autoComplete="on"
+          :model="role"
+          :rules="createRoleRules"
+          label-position="right"
+          :disabled="type === 'view'"
+        >
+          <!-- 鎻愰啋鏂瑰紡 -->
+          <el-form-item class="optionItem" label="鎻愰啋鏂瑰紡:" prop="channelCode" >
+            <el-radio-group v-model="role.channelCode">
+              <el-radio label="01">绔欏唴淇�</el-radio>
+              <el-radio label="03">閭欢</el-radio>
+            </el-radio-group>
+            <span class="message-tip">(鐭俊鍙敤鏁�: 1000鏉�)</span>
+          </el-form-item>
+          <!-- 娑堟伅鏍忕洰 -->
+          <el-form-item
+            v-if="role.channelCode === '01'"
+            class="optionItem"
+            label="娑堟伅鏍忕洰:"
+            prop="messageType"
+          >
+            <div class="message-item">
+              <div class="message-item__left">
+                <el-select
+                  v-model="role.messageType"
+                  placeholder="璇烽�夋嫨娑堟伅鏍忕洰"
+                >
+                  <el-option
+                    v-for="item in colList"
+                    :key="item.id"
+                    :label="item.columnName"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </div>
+              <span class="message-add" @click="dialogCreate = true">
+                娣诲姞鏍忕洰</span
+              >
+            </div>
+          </el-form-item>
+          <!-- 娑堟伅鏍囬 -->
+          <el-form-item class="optionItems" label="娑堟伅鏍囬:" prop="head">
+            <div class="message-item__left">
+              <el-input
+                v-model="role.head"
+                placeholder="璇烽�夋嫨娑堟伅鏍囬"
+              ></el-input>
+            </div>
+          </el-form-item>
+          <!-- 鎺ユ敹瀵硅薄 -->
+          <el-form-item class="optionItem" label="鎺ユ敹瀵硅薄:" prop="targetTo">
+            <div class="message-item__left">
+              <el-select v-model="role.targetTo" placeholder="璇烽�夋嫨鎺ユ敹瀵硅薄">
+                <el-option :value="role.targetTo">
+                  <el-tree
+                    ref="tree"
+                    :data="departList"
+                    :props="defaultProps"
+                    show-checkbox
+                    @check="handleCheck"
+                    default-expand-all
+                    :default-checked-keys="checkedList"
+                    node-key="id"
+                  >
+                  </el-tree>
+                </el-option>
+              </el-select>
+            </div>
+          </el-form-item>
+          <!-- 娑堟伅鍐呭 -->
+          <el-form-item class="optionItem" label="娑堟伅鍐呭:" prop="body">
+            <MyEditor ref="edit"></MyEditor>
+          </el-form-item>
+          <el-form-item>
+            <div class="optionBtn">
+              <el-button
+                type="primary"
+                @click.native.prevent="handleSubmit(0)"
+                class="btn save"
+                v-if="type !== 'view'"
+                >淇濆瓨
+              </el-button>
+              <el-button
+                type="primary"
+                @click.native.prevent="handleSubmit(1)"
+                class="btn submit"
+                v-if="type !== 'view'"
+                >鍙戝竷
+              </el-button>
+              <el-button
+                type="primary"
+                @click.native.prevent="handleView"
+                class="btn submit"
+                v-if="type !== 'view'"
+                >棰勮
+              </el-button>
+              <el-button class="btn cancel" @click.native.prevent="handleReset" v-if="type !== 'view'"
+                >閲嶇疆</el-button
+              >
+            </div>
+          </el-form-item>
+        </el-form>
+        <!-- 鏂板鏍忕洰 -->
+        <el-dialog
+          title="娣诲姞鏍忕洰"
+          :visible.sync="dialogCreate"
+          v-if="dialogCreate"
+          width="60%"
+          :before-close="handleConfirmClose"
+          append-to-body
+        >
+          <MyColumnAdd @closeDialog="closeDialog"></MyColumnAdd>
+        </el-dialog>
+        <!-- 棰勮娑堟伅 -->
+        <el-dialog
+          title="娑堟伅棰勮"
+          :visible.sync="dialogView"
+          v-if="dialogView"
+          width="60%"
+          :before-close="handleConfirmClose"
+          append-to-body
+        >
+          <MyColView :info="info" @closeDialog="closeDialog"></MyColView>
+        </el-dialog>
+      </div>
+    </main>
+  </div>
+</template>
+<script>
+import MyEditor from "@/components/edit";
+import MyColumnAdd from "@/views/operate/message/mycontrol/createUser";
+import MyColView from "../messageView";
+import { sendMessage, updateMessage, getMessageById } from "@/api/operate/messageManagement";
+
+export default {
+  components: { MyEditor, MyColumnAdd, MyColView },
+  props: ["type", "myDataRow"],
+  data() {
+    const validateEditor = (rule, value, callback) => {
+      if (value) {
+        callback();
+      } else {
+        callback(new Error('璇疯緭鍏�'));
+      }
+    };
+    return {
+      role: {
+        messageType: null,
+        head: "",
+        targetTo: "",
+        body: "",
+        channelCode: null,
+      },
+      createRoleRules: {
+        messageType: [
+          {
+            required: true,
+            trigger: ["blur", "change"],
+            message: "璇疯緭鍏ユ秷鎭爮鐩�",
+          },
+        ],
+        head: [{ required: true, trigger: "blur", message: "璇烽�夋嫨娑堟伅鏍囬" }],
+        targetTo: [
+          { required: true, trigger: "blur", message: "璇烽�夋嫨鎺ュ彈瀵硅薄" },
+        ],
+        body: [
+          {
+            required: true,
+            validator: validateEditor
+          },
+        ],
+      },
+      colList: [],
+      departList: [],
+      typeList: [],
+      dialogCreate: false,
+      dialogView: false,
+      defaultProps: {
+        children: "children",
+        label: "departName",
+      },
+      checkedList: [],
+      tempNameArr: [],
+      info: {},
+      sendUser: "",
+    };
+  },
+  created() {
+    this.getColumnList();
+    this.getDepartList();
+    this.getLoginUserInfo();
+    if (this.type !== "create" && this.myDataRow) {
+      getMessageById(this.myDataRow.id)
+          .then(res => {
+            this.role = res;
+            if (res.targetTo) {
+              this.checkedList = res.targetTo.split(',');
+              this.role.targetTo = `${this.checkedList.length}浜篳;
+            }
+          })
+          .catch(err => this.$message.error(`${err}`))
+    }
+  },
+  mounted() {
+    if (this.type !== 'create') {
+      this.$refs.edit.editor.txt.append(this.myDataRow.body);
+    }
+
+  },
+  methods: {
+    // 鍏抽棴寮圭獥
+    handleConfirmClose(done) {
+      this.$confirm("纭鍏抽棴?").then((_) => {
+        done();
+      });
+    },
+
+    // 鑾峰彇鏍忕洰
+    async getColumnList() {
+      await this.$axios({
+        method: "get",
+        url: "sccg/message_column/getShowColumn",
+      }).then((res) => {
+        this.colList = res.data;
+      });
+    },
+    // 鍏抽棴寮圭獥
+    closeDialog({ flag, index }) {
+      this.dialogCreate = flag;
+      if (index === 1) {
+        // 閲嶆柊璁剧疆鏍忕洰
+        this.getColumnList();
+      }
+    },
+    getType(){
+      return this.type;
+    },
+    // 鑾峰彇閮ㄩ棬鏍�
+    async getDepartList() {
+      await this.$axios({
+        method: "get",
+        url: "sccg/depart/tree",
+      }).then((res) => {
+        res.data.forEach((item) => {
+          this.departList.push(this.setChildren(item));
+        });
+      });
+    },
+
+    // 閫掑綊children
+    setChildren(obj) {
+      if (obj.children !== null) {
+        if (obj.children.length !== 0) {
+          obj.children.forEach((item) => {
+            return this.setChildren(item);
+          });
+        }
+      } else {
+        if (obj.userInfoDTOS.length !== 0) {
+          obj.children = [];
+          obj.userInfoDTOS.forEach((item) => {
+            obj.children.push({ id: item.userId, departName: item.username });
+          });
+        }
+      }
+      return obj;
+    },
+
+    // 閫変腑id
+    handleCheck(data, node) {
+      const checkedNodes = node.checkedNodes.filter(item => !item.children);
+      this.checkedList = checkedNodes.map(item => item.id);
+      this.tempNameArr = checkedNodes.map(item => item.departName);
+      this.role.targetTo = this.checkedList.length ? this.checkedList.length + "浜�" : null;
+    },
+
+    // 鏂板缓/淇濆瓨娑堟伅(1:鏂板缓,0淇濆瓨娑堟伅)
+    handleSubmit(mystatus) {
+      this.role.body = this.$refs.edit.editor.txt.html();
+      this.$refs.user.validate((valid) => {
+        if (valid) {
+          const { body, head, messageType, channelCode } = this.role;
+          const params = {
+            body,
+            head,
+            messageType,
+            channelCode: `${channelCode}`,
+            sendTime: new Date(),
+            targetTo: this.checkedList.join(","),
+            status: mystatus,
+          };
+          if (this.role.channelCode === '03') {
+            delete params.messageType;
+          }
+          if (this.type === "create") {
+            sendMessage(params)
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
+                })
+              );
+          } else {
+            updateMessage({ id: this.myDataRow.id, ...params })
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
+                })
+              );
+          }
+        } else {
+          this.$message.error({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+        }
+      });
+    },
+
+    // 閲嶇疆琛ㄥ崟
+    handleReset() {
+      this.$refs.edit.editor.txt.clear();
+      this.$refs.user.resetFields();
+    },
+
+    // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛淇℃伅
+    getLoginUserInfo() {
+      const name = sessionStorage.getItem("name");
+      this.$axios({
+        method: "get",
+        url: "sccg/admin/info?name=" + name,
+      }).then((res) => {
+        this.role.targetFrom = res.data.userId;
+        this.sendUser = res.data.username;
+      });
+    },
+
+    // 娑堟伅棰勮
+    handleView() {
+      this.role.body = this.$refs.edit.editor.txt.html();
+      this.$refs.user.validate((valid) => {
+        if (valid) {
+          const { body, head, channelCode } = this.role;
+          this.dialogView = true;
+          this.info = {
+            body,
+            head,
+            channelCode:
+              channelCode === "01"
+                ? "绔欏唴淇�"
+                : channelCode === "03"
+                ? "閭欢"
+                : "鐭俊",
+            messageType: this.role.messageType,
+            targetTo: this.tempNameArr,
+            targetFrom: this.sendUser
+          };
+        } else {
+          this.$message({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+        }
+      });
+    }
+  },
+};
+</script>
+<style lang="scss" scoped>
+.createUser {
+  border-radius: 1px;
+  background-color: white;
+
+  main {
+    text-align: left;
+    padding: 0 55px;
+    background-color: white;
+
+    .mainContent {
+      display: flex;
+      justify-content: center;
+      padding-top: 50px;
+      &:deep(.el-dialog__title) {
+        //color: #4b9bb7;
+      }
+      &::v-deep .el-form-item__label {
+        //color: #4b9bb7;
+      }
+
+      &::v-deep .el-input__inner {
+        width: 400px;
+        //background-color: #09152f;
+        //border: 1px solid #17324c;
+      }
+
+      .message-item__left {
+        width: 400px;
+      }
+
+      .message-add {
+        &:hover {
+          cursor: pointer;
+        }
+      }
+
+      .el-form-item__content :deep(.el-select) {
+        width: 400px;
+      }
+
+      :deep(.el-input) {
+        width: 400px;
+      }
+
+      .message-item {
+        display: flex;
+
+        span {
+          margin-left: 20px;
+          color: #606266;
+        }
+      }
+
+      .message-tip {
+        margin-left: 20px;
+      }
+
+      :deep(.el-input--suffix) {
+        width: 400px;
+      }
+
+      // &::v-deep .el-textarea__inner {
+      //   //background-color: #09152f;
+      //   //border: 1px solid #17324c;
+      // }
+
+      .el-form-item__content {
+        width: 400px;
+
+        .el-select {
+          width: 100%;
+        }
+      }
+
+      .optionHandleSp {
+        display: flex;
+
+        .areaNumber,
+        .moreNumber {
+          flex: 1;
+        }
+
+        .telNumber {
+          flex: 2;
+        }
+      }
+
+      .optionBtn {
+        display: flex;
+        margin-top: 20px;
+
+        .btn {
+          padding: 12px 50px;
+        }
+      }
+    }
+  }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/update/index_20230104135024.vue b/.history/src/views/operate/message/myIndex/update/index_20230104135024.vue
new file mode 100644
index 0000000..84d962a
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/update/index_20230104135024.vue
@@ -0,0 +1,454 @@
+<template>
+  <div class="createUser">
+    <main>
+      <div class="mainContent">
+        <el-form ref="user" label-width="140px" autoComplete="on" :model="role" :rules="createRoleRules"
+          label-position="right" :disabled="type === 'view'">
+          <!-- 鎻愰啋鏂瑰紡 -->
+          <el-form-item class="optionItem" label="鎻愰啋鏂瑰紡:" prop="channelCode">
+            <el-radio-group v-model="role.channelCode">
+              <el-radio label="01">绔欏唴淇�</el-radio>
+              <el-radio label="03">閭欢</el-radio>
+            </el-radio-group>
+            <span class="message-tip">(鐭俊鍙敤鏁�: 1000鏉�)</span>
+          </el-form-item>
+          <!-- 娑堟伅鏍忕洰 -->
+          <el-form-item v-if="role.channelCode === '01'" class="optionItem" label="娑堟伅鏍忕洰:" prop="messageType">
+            <div class="message-item">
+              <div class="message-item__left">
+                <el-select v-model="role.messageType" placeholder="璇烽�夋嫨娑堟伅鏍忕洰">
+                  <el-option v-for="item in colList" :key="item.id" :label="item.columnName" :value="item.id">
+                  </el-option>
+                </el-select>
+              </div>
+              <span class="message-add" @click="dialogCreate = true">
+                娣诲姞鏍忕洰</span>
+            </div>
+          </el-form-item>
+          <!-- 娑堟伅鏍囬 -->
+          <el-form-item class="optionItems" label="娑堟伅鏍囬:" prop="head">
+            <div class="message-item__left">
+              <el-input v-model="role.head" placeholder="璇烽�夋嫨娑堟伅鏍囬"></el-input>
+            </div>
+          </el-form-item>
+          <!-- 鎺ユ敹瀵硅薄 -->
+          <el-form-item class="optionItem" label="鎺ユ敹瀵硅薄:" prop="targetTo">
+            <div class="message-item__left">
+              <el-select v-model="role.targetTo" placeholder="璇烽�夋嫨鎺ユ敹瀵硅薄">
+                <el-option :value="role.targetTo">
+                  <el-tree ref="tree" :data="departList" :props="defaultProps" show-checkbox @check="handleCheck"
+                    default-expand-all :default-checked-keys="checkedList" node-key="id">
+                  </el-tree>
+                </el-option>
+              </el-select>
+            </div>
+          </el-form-item>
+          <!-- 娑堟伅鍐呭 -->
+          <el-form-item class="optionItem" label="娑堟伅鍐呭:" prop="body">
+            <MyEditor ref="edit"></MyEditor>
+          </el-form-item>
+          <el-form-item>
+            <div class="optionBtn">
+              <el-button type="primary" @click.native.prevent="handleSubmit(0)" class="btn save"
+                v-if="type !== 'view'">淇濆瓨
+              </el-button>
+              <el-button type="primary" @click.native.prevent="handleSubmit(1)" class="btn submit"
+                v-if="type !== 'view'">鍙戝竷
+              </el-button>
+              <el-button type="primary" @click.native.prevent="handleView" class="btn submit" v-if="type !== 'view'">棰勮
+              </el-button>
+              <el-button class="btn cancel" @click.native.prevent="handleReset" v-if="type !== 'view'">閲嶇疆</el-button>
+            </div>
+          </el-form-item>
+        </el-form>
+        <!-- 鏂板鏍忕洰 -->
+        <el-dialog title="娣诲姞鏍忕洰" :visible.sync="dialogCreate" v-if="dialogCreate" width="60%"
+          :before-close="handleConfirmClose" append-to-body>
+          <MyColumnAdd @closeDialog="closeDialog"></MyColumnAdd>
+        </el-dialog>
+        <!-- 棰勮娑堟伅 -->
+        <el-dialog title="娑堟伅棰勮" :visible.sync="dialogView" v-if="dialogView" width="60%"
+          :before-close="handleConfirmClose" append-to-body>
+          <MyColView :info="info" @closeDialog="closeDialog"></MyColView>
+        </el-dialog>
+      </div>
+    </main>
+  </div>
+</template>
+<script>
+import MyEditor from "@/components/edit";
+import MyColumnAdd from "@/views/operate/message/mycontrol/createUser";
+import MyColView from "../messageView";
+import { sendMessage, updateMessage, getMessageById ,saveMessage } from "@/api/operate/messageManagement";
+
+export default {
+  components: { MyEditor, MyColumnAdd, MyColView },
+  props: ["type", "myDataRow"],
+  data() {
+    const validateEditor = (rule, value, callback) => {
+      if (value) {
+        callback();
+      } else {
+        callback(new Error('璇疯緭鍏�'));
+      }
+    };
+    return {
+      role: {
+        messageType: null,
+        head: "",
+        targetTo: "",
+        body: "",
+        channelCode: null,
+      },
+      createRoleRules: {
+        messageType: [
+          {
+            required: true,
+            trigger: ["blur", "change"],
+            message: "璇疯緭鍏ユ秷鎭爮鐩�",
+          },
+        ],
+        head: [{ required: true, trigger: "blur", message: "璇烽�夋嫨娑堟伅鏍囬" }],
+        targetTo: [
+          { required: true, trigger: "blur", message: "璇烽�夋嫨鎺ュ彈瀵硅薄" },
+        ],
+        body: [
+          {
+            required: true,
+            validator: validateEditor
+          },
+        ],
+      },
+      colList: [],
+      departList: [],
+      typeList: [],
+      dialogCreate: false,
+      dialogView: false,
+      defaultProps: {
+        children: "children",
+        label: "departName",
+      },
+      checkedList: [],
+      tempNameArr: [],
+      info: {},
+      sendUser: "",
+    };
+  },
+  created() {
+    this.getColumnList();
+    this.getDepartList();
+    this.getLoginUserInfo();
+    if (this.type !== "create" && this.myDataRow) {
+      getMessageById(this.myDataRow.id)
+        .then(res => {
+          this.role = res;
+          if (res.targetTo) {
+            this.checkedList = res.targetTo.split(',');
+            this.role.targetTo = `${this.checkedList.length}浜篳;
+          }
+        })
+        .catch(err => this.$message.error(`${err}`))
+    }
+  },
+  mounted() {
+    if (this.type !== 'create') {
+      this.$refs.edit.editor.txt.append(this.myDataRow.body);
+    }
+
+  },
+  methods: {
+    // 鍏抽棴寮圭獥
+    handleConfirmClose(done) {
+      this.$confirm("纭鍏抽棴?").then((_) => {
+        done();
+      });
+    },
+
+    // 鑾峰彇鏍忕洰
+    async getColumnList() {
+      await this.$axios({
+        method: "get",
+        url: "sccg/message_column/getShowColumn",
+      }).then((res) => {
+        this.colList = res.data;
+      });
+    },
+    // 鍏抽棴寮圭獥
+    closeDialog({ flag, index }) {
+      this.dialogCreate = flag;
+      if (index === 1) {
+        // 閲嶆柊璁剧疆鏍忕洰
+        this.getColumnList();
+      }
+    },
+    getType() {
+      return this.type;
+    },
+    // 鑾峰彇閮ㄩ棬鏍�
+    async getDepartList() {
+      await this.$axios({
+        method: "get",
+        url: "sccg/depart/tree",
+      }).then((res) => {
+        res.data.forEach((item) => {
+          this.departList.push(this.setChildren(item));
+        });
+      });
+    },
+
+    // 閫掑綊children
+    setChildren(obj) {
+      if (obj.children !== null) {
+        if (obj.children.length !== 0) {
+          obj.children.forEach((item) => {
+            return this.setChildren(item);
+          });
+        }
+      } else {
+        if (obj.userInfoDTOS.length !== 0) {
+          obj.children = [];
+          obj.userInfoDTOS.forEach((item) => {
+            obj.children.push({ id: item.userId, departName: item.username });
+          });
+        }
+      }
+      return obj;
+    },
+
+    // 閫変腑id
+    handleCheck(data, node) {
+      const checkedNodes = node.checkedNodes.filter(item => !item.children);
+      this.checkedList = checkedNodes.map(item => item.id);
+      this.tempNameArr = checkedNodes.map(item => item.departName);
+      this.role.targetTo = this.checkedList.length ? this.checkedList.length + "浜�" : null;
+    },
+
+    // 鏂板缓/淇濆瓨娑堟伅(1:鏂板缓,0淇濆瓨娑堟伅)
+    handleSubmit(mystatus) {
+      this.role.body = this.$refs.edit.editor.txt.html();
+      this.$refs.user.validate((valid) => {
+        if (valid) {
+          if (mystatus == 0) {
+            const { body, head, messageType, channelCode } = this.role;
+            const params = {
+              body,
+              head,
+              messageType,
+              channelCode: `${channelCode}`,
+              sendTime: new Date(),
+              targetTo: this.checkedList.join(","),
+              status: mystatus,
+            };
+            if (this.role.channelCode === '03') {
+              delete params.messageType;
+            }
+            if (this.type === "create") {
+              sendMessage(params)
+                .then(() => {
+                  this.$emit("closeMyDialog");
+                  this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+                })
+                .catch((err) =>
+                  this.$message({
+                    type: "error",
+                    message: err.data || err.message,
+                  })
+                );
+            }
+          }
+          if (mystatus == 1) {
+            const { body, head, messageType, channelCode } = this.role;
+            const params = {
+              body,
+              head,
+              messageType,
+              channelCode: `${channelCode}`,
+              sendTime: new Date(),
+              targetTo: this.checkedList.join(","),
+              status: mystatus,
+            };
+            if (this.role.channelCode === '03') {
+              delete params.messageType;
+            }
+            if (this.type === "create") {
+              saveMessage(params)
+                .then(() => {
+                  this.$emit("closeMyDialog");
+                  this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+                })
+                .catch((err) =>
+                  this.$message({
+                    type: "error",
+                    message: err.data || err.message,
+                  })
+                );
+            }
+          }
+        } else {
+        updateMessage({ id: this.myDataRow.id, ...params
+      })
+              .then(() => {
+        this.$emit("closeMyDialog");
+        this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+      })
+      .catch((err) =>
+        this.$message({
+          type: "error",
+          message: err.data || err.message,
+        })
+      );
+  }
+} else {
+  this.$message.error({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+}
+      });
+    },
+
+// 閲嶇疆琛ㄥ崟
+handleReset() {
+  this.$refs.edit.editor.txt.clear();
+  this.$refs.user.resetFields();
+},
+
+// 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛淇℃伅
+getLoginUserInfo() {
+  const name = sessionStorage.getItem("name");
+  this.$axios({
+    method: "get",
+    url: "sccg/admin/info?name=" + name,
+  }).then((res) => {
+    this.role.targetFrom = res.data.userId;
+    this.sendUser = res.data.username;
+  });
+},
+
+// 娑堟伅棰勮
+handleView() {
+  this.role.body = this.$refs.edit.editor.txt.html();
+  this.$refs.user.validate((valid) => {
+    if (valid) {
+      const { body, head, channelCode } = this.role;
+      this.dialogView = true;
+      this.info = {
+        body,
+        head,
+        channelCode:
+          channelCode === "01"
+            ? "绔欏唴淇�"
+            : channelCode === "03"
+              ? "閭欢"
+              : "鐭俊",
+        messageType: this.role.messageType,
+        targetTo: this.tempNameArr,
+        targetFrom: this.sendUser
+      };
+    } else {
+      this.$message({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+    }
+  });
+}
+  },
+};
+</script>
+<style lang="scss" scoped>
+.createUser {
+  border-radius: 1px;
+  background-color: white;
+
+  main {
+    text-align: left;
+    padding: 0 55px;
+    background-color: white;
+
+    .mainContent {
+      display: flex;
+      justify-content: center;
+      padding-top: 50px;
+
+      &:deep(.el-dialog__title) {
+        //color: #4b9bb7;
+      }
+
+      &::v-deep .el-form-item__label {
+        //color: #4b9bb7;
+      }
+
+      &::v-deep .el-input__inner {
+        width: 400px;
+        //background-color: #09152f;
+        //border: 1px solid #17324c;
+      }
+
+      .message-item__left {
+        width: 400px;
+      }
+
+      .message-add {
+        &:hover {
+          cursor: pointer;
+        }
+      }
+
+      .el-form-item__content :deep(.el-select) {
+        width: 400px;
+      }
+
+      :deep(.el-input) {
+        width: 400px;
+      }
+
+      .message-item {
+        display: flex;
+
+        span {
+          margin-left: 20px;
+          color: #606266;
+        }
+      }
+
+      .message-tip {
+        margin-left: 20px;
+      }
+
+      :deep(.el-input--suffix) {
+        width: 400px;
+      }
+
+      // &::v-deep .el-textarea__inner {
+      //   //background-color: #09152f;
+      //   //border: 1px solid #17324c;
+      // }
+
+      .el-form-item__content {
+        width: 400px;
+
+        .el-select {
+          width: 100%;
+        }
+      }
+
+      .optionHandleSp {
+        display: flex;
+
+        .areaNumber,
+        .moreNumber {
+          flex: 1;
+        }
+
+        .telNumber {
+          flex: 2;
+        }
+      }
+
+      .optionBtn {
+        display: flex;
+        margin-top: 20px;
+
+        .btn {
+          padding: 12px 50px;
+        }
+      }
+    }
+  }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/update/index_20230104135648.vue b/.history/src/views/operate/message/myIndex/update/index_20230104135648.vue
new file mode 100644
index 0000000..f64f5ee
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/update/index_20230104135648.vue
@@ -0,0 +1,522 @@
+<template>
+  <div class="createUser">
+    <main>
+      <div class="mainContent">
+        <el-form
+          ref="user"
+          label-width="140px"
+          autoComplete="on"
+          :model="role"
+          :rules="createRoleRules"
+          label-position="right"
+          :disabled="type === 'view'"
+        >
+          <!-- 鎻愰啋鏂瑰紡 -->
+          <el-form-item class="optionItem" label="鎻愰啋鏂瑰紡:" prop="channelCode" >
+            <el-radio-group v-model="role.channelCode">
+              <el-radio label="01">绔欏唴淇�</el-radio>
+              <el-radio label="03">閭欢</el-radio>
+            </el-radio-group>
+            <span class="message-tip">(鐭俊鍙敤鏁�: 1000鏉�)</span>
+          </el-form-item>
+          <!-- 娑堟伅鏍忕洰 -->
+          <el-form-item
+            v-if="role.channelCode === '01'"
+            class="optionItem"
+            label="娑堟伅鏍忕洰:"
+            prop="messageType"
+          >
+            <div class="message-item">
+              <div class="message-item__left">
+                <el-select
+                  v-model="role.messageType"
+                  placeholder="璇烽�夋嫨娑堟伅鏍忕洰"
+                >
+                  <el-option
+                    v-for="item in colList"
+                    :key="item.id"
+                    :label="item.columnName"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </div>
+              <span class="message-add" @click="dialogCreate = true">
+                娣诲姞鏍忕洰</span
+              >
+            </div>
+          </el-form-item>
+          <!-- 娑堟伅鏍囬 -->
+          <el-form-item class="optionItems" label="娑堟伅鏍囬:" prop="head">
+            <div class="message-item__left">
+              <el-input
+                v-model="role.head"
+                placeholder="璇烽�夋嫨娑堟伅鏍囬"
+              ></el-input>
+            </div>
+          </el-form-item>
+          <!-- 鎺ユ敹瀵硅薄 -->
+          <el-form-item class="optionItem" label="鎺ユ敹瀵硅薄:" prop="targetTo">
+            <div class="message-item__left">
+              <el-select v-model="role.targetTo" placeholder="璇烽�夋嫨鎺ユ敹瀵硅薄">
+                <el-option :value="role.targetTo">
+                  <el-tree
+                    ref="tree"
+                    :data="departList"
+                    :props="defaultProps"
+                    show-checkbox
+                    @check="handleCheck"
+                    default-expand-all
+                    :default-checked-keys="checkedList"
+                    node-key="id"
+                  >
+                  </el-tree>
+                </el-option>
+              </el-select>
+            </div>
+          </el-form-item>
+          <!-- 娑堟伅鍐呭 -->
+          <el-form-item class="optionItem" label="娑堟伅鍐呭:" prop="body">
+            <MyEditor ref="edit"></MyEditor>
+          </el-form-item>
+          <el-form-item>
+            <div class="optionBtn">
+              <el-button
+                type="primary"
+                @click.native.prevent="handleSubmit(0)"
+                class="btn save"
+                v-if="type !== 'view'"
+                >淇濆瓨
+              </el-button>
+              <el-button
+                type="primary"
+                @click.native.prevent="handleSubmit(1)"
+                class="btn submit"
+                v-if="type !== 'view'"
+                >鍙戝竷
+              </el-button>
+              <el-button
+                type="primary"
+                @click.native.prevent="handleView"
+                class="btn submit"
+                v-if="type !== 'view'"
+                >棰勮
+              </el-button>
+              <el-button class="btn cancel" @click.native.prevent="handleReset" v-if="type !== 'view'"
+                >閲嶇疆</el-button
+              >
+            </div>
+          </el-form-item>
+        </el-form>
+        <!-- 鏂板鏍忕洰 -->
+        <el-dialog
+          title="娣诲姞鏍忕洰"
+          :visible.sync="dialogCreate"
+          v-if="dialogCreate"
+          width="60%"
+          :before-close="handleConfirmClose"
+          append-to-body
+        >
+          <MyColumnAdd @closeDialog="closeDialog"></MyColumnAdd>
+        </el-dialog>
+        <!-- 棰勮娑堟伅 -->
+        <el-dialog
+          title="娑堟伅棰勮"
+          :visible.sync="dialogView"
+          v-if="dialogView"
+          width="60%"
+          :before-close="handleConfirmClose"
+          append-to-body
+        >
+          <MyColView :info="info" @closeDialog="closeDialog"></MyColView>
+        </el-dialog>
+      </div>
+    </main>
+  </div>
+</template>
+<script>
+import MyEditor from "@/components/edit";
+import MyColumnAdd from "@/views/operate/message/mycontrol/createUser";
+import MyColView from "../messageView";
+import { sendMessage, updateMessage, getMessageById } from "@/api/operate/messageManagement";
+
+export default {
+  components: { MyEditor, MyColumnAdd, MyColView },
+  props: ["type", "myDataRow"],
+  data() {
+    const validateEditor = (rule, value, callback) => {
+      if (value) {
+        callback();
+      } else {
+        callback(new Error('璇疯緭鍏�'));
+      }
+    };
+    return {
+      role: {
+        messageType: null,
+        head: "",
+        targetTo: "",
+        body: "",
+        channelCode: null,
+      },
+      createRoleRules: {
+        messageType: [
+          {
+            required: true,
+            trigger: ["blur", "change"],
+            message: "璇疯緭鍏ユ秷鎭爮鐩�",
+          },
+        ],
+        head: [{ required: true, trigger: "blur", message: "璇烽�夋嫨娑堟伅鏍囬" }],
+        targetTo: [
+          { required: true, trigger: "blur", message: "璇烽�夋嫨鎺ュ彈瀵硅薄" },
+        ],
+        body: [
+          {
+            required: true,
+            validator: validateEditor
+          },
+        ],
+      },
+      colList: [],
+      departList: [],
+      typeList: [],
+      dialogCreate: false,
+      dialogView: false,
+      defaultProps: {
+        children: "children",
+        label: "departName",
+      },
+      checkedList: [],
+      tempNameArr: [],
+      info: {},
+      sendUser: "",
+    };
+  },
+  created() {
+    this.getColumnList();
+    this.getDepartList();
+    this.getLoginUserInfo();
+    if (this.type !== "create" && this.myDataRow) {
+      getMessageById(this.myDataRow.id)
+          .then(res => {
+            this.role = res;
+            if (res.targetTo) {
+              this.checkedList = res.targetTo.split(',');
+              this.role.targetTo = `${this.checkedList.length}浜篳;
+            }
+          })
+          .catch(err => this.$message.error(`${err}`))
+    }
+  },
+  mounted() {
+    if (this.type !== 'create') {
+      this.$refs.edit.editor.txt.append(this.myDataRow.body);
+    }
+
+  },
+  methods: {
+    // 鍏抽棴寮圭獥
+    handleConfirmClose(done) {
+      this.$confirm("纭鍏抽棴?").then((_) => {
+        done();
+      });
+    },
+
+    // 鑾峰彇鏍忕洰
+    async getColumnList() {
+      await this.$axios({
+        method: "get",
+        url: "sccg/message_column/getShowColumn",
+      }).then((res) => {
+        this.colList = res.data;
+      });
+    },
+    // 鍏抽棴寮圭獥
+    closeDialog({ flag, index }) {
+      this.dialogCreate = flag;
+      if (index === 1) {
+        // 閲嶆柊璁剧疆鏍忕洰
+        this.getColumnList();
+      }
+    },
+    getType(){
+      return this.type;
+    },
+    // 鑾峰彇閮ㄩ棬鏍�
+    async getDepartList() {
+      await this.$axios({
+        method: "get",
+        url: "sccg/depart/tree",
+      }).then((res) => {
+        res.data.forEach((item) => {
+          this.departList.push(this.setChildren(item));
+        });
+      });
+    },
+
+    // 閫掑綊children
+    setChildren(obj) {
+      if (obj.children !== null) {
+        if (obj.children.length !== 0) {
+          obj.children.forEach((item) => {
+            return this.setChildren(item);
+          });
+        }
+      } else {
+        if (obj.userInfoDTOS.length !== 0) {
+          obj.children = [];
+          obj.userInfoDTOS.forEach((item) => {
+            obj.children.push({ id: item.userId, departName: item.username });
+          });
+        }
+      }
+      return obj;
+    },
+
+    // 閫変腑id
+    handleCheck(data, node) {
+      const checkedNodes = node.checkedNodes.filter(item => !item.children);
+      this.checkedList = checkedNodes.map(item => item.id);
+      this.tempNameArr = checkedNodes.map(item => item.departName);
+      this.role.targetTo = this.checkedList.length ? this.checkedList.length + "浜�" : null;
+    },
+
+    // 鏂板缓/淇濆瓨娑堟伅(1:鏂板缓,0淇濆瓨娑堟伅)
+    handleSubmit(mystatus) {
+      this.role.body = this.$refs.edit.editor.txt.html();
+      this.$refs.user.validate((valid) => {
+        if (valid) {
+          if(mystatus==1){
+            const { body, head, messageType, channelCode } = this.role;
+          const params = {
+            body,
+            head,
+            messageType,
+            channelCode: `${channelCode}`,
+            sendTime: new Date(),
+            targetTo: this.checkedList.join(","),
+            status: mystatus,
+          };
+          if (this.role.channelCode === '03') {
+            delete params.messageType;
+          }
+          if (this.type === "create") {
+            sendMessage(params)
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
+                })
+              );
+          } else {
+            updateMessage({ id: this.myDataRow.id, ...params })
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
+                })
+              );
+          }
+          }
+          if(mystatus==0){ 
+            const { body, head, messageType, channelCode } = this.role;
+          const params = {
+            body,
+            head,
+            messageType,
+            channelCode: `${channelCode}`,
+            sendTime: new Date(),
+            targetTo: this.checkedList.join(","),
+            status: mystatus,
+          };
+          if (this.role.channelCode === '03') {
+            delete params.messageType;
+          }
+          if (this.type === "create") {
+            saveMessage(params)
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
+                })
+              );
+          } else {
+            updateMessage({ id: this.myDataRow.id, ...params })
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
+                })
+              );
+          }
+          }
+        
+        } else {
+          this.$message.error({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+        }
+      });
+    },
+
+    // 閲嶇疆琛ㄥ崟
+    handleReset() {
+      this.$refs.edit.editor.txt.clear();
+      this.$refs.user.resetFields();
+    },
+
+    // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛淇℃伅
+    getLoginUserInfo() {
+      const name = sessionStorage.getItem("name");
+      this.$axios({
+        method: "get",
+        url: "sccg/admin/info?name=" + name,
+      }).then((res) => {
+        this.role.targetFrom = res.data.userId;
+        this.sendUser = res.data.username;
+      });
+    },
+
+    // 娑堟伅棰勮
+    handleView() {
+      this.role.body = this.$refs.edit.editor.txt.html();
+      this.$refs.user.validate((valid) => {
+        if (valid) {
+          const { body, head, channelCode } = this.role;
+          this.dialogView = true;
+          this.info = {
+            body,
+            head,
+            channelCode:
+              channelCode === "01"
+                ? "绔欏唴淇�"
+                : channelCode === "03"
+                ? "閭欢"
+                : "鐭俊",
+            messageType: this.role.messageType,
+            targetTo: this.tempNameArr,
+            targetFrom: this.sendUser
+          };
+        } else {
+          this.$message({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+        }
+      });
+    }
+  },
+};
+</script>
+<style lang="scss" scoped>
+.createUser {
+  border-radius: 1px;
+  background-color: white;
+
+  main {
+    text-align: left;
+    padding: 0 55px;
+    background-color: white;
+
+    .mainContent {
+      display: flex;
+      justify-content: center;
+      padding-top: 50px;
+      &:deep(.el-dialog__title) {
+        //color: #4b9bb7;
+      }
+      &::v-deep .el-form-item__label {
+        //color: #4b9bb7;
+      }
+
+      &::v-deep .el-input__inner {
+        width: 400px;
+        //background-color: #09152f;
+        //border: 1px solid #17324c;
+      }
+
+      .message-item__left {
+        width: 400px;
+      }
+
+      .message-add {
+        &:hover {
+          cursor: pointer;
+        }
+      }
+
+      .el-form-item__content :deep(.el-select) {
+        width: 400px;
+      }
+
+      :deep(.el-input) {
+        width: 400px;
+      }
+
+      .message-item {
+        display: flex;
+
+        span {
+          margin-left: 20px;
+          color: #606266;
+        }
+      }
+
+      .message-tip {
+        margin-left: 20px;
+      }
+
+      :deep(.el-input--suffix) {
+        width: 400px;
+      }
+
+      // &::v-deep .el-textarea__inner {
+      //   //background-color: #09152f;
+      //   //border: 1px solid #17324c;
+      // }
+
+      .el-form-item__content {
+        width: 400px;
+
+        .el-select {
+          width: 100%;
+        }
+      }
+
+      .optionHandleSp {
+        display: flex;
+
+        .areaNumber,
+        .moreNumber {
+          flex: 1;
+        }
+
+        .telNumber {
+          flex: 2;
+        }
+      }
+
+      .optionBtn {
+        display: flex;
+        margin-top: 20px;
+
+        .btn {
+          padding: 12px 50px;
+        }
+      }
+    }
+  }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/update/index_20230104135738.vue b/.history/src/views/operate/message/myIndex/update/index_20230104135738.vue
new file mode 100644
index 0000000..49db483
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/update/index_20230104135738.vue
@@ -0,0 +1,523 @@
+<template>
+  <div class="createUser">
+    <main>
+      <div class="mainContent">
+        <el-form
+          ref="user"
+          label-width="140px"
+          autoComplete="on"
+          :model="role"
+          :rules="createRoleRules"
+          label-position="right"
+          :disabled="type === 'view'"
+        >
+          <!-- 鎻愰啋鏂瑰紡 -->
+          <el-form-item class="optionItem" label="鎻愰啋鏂瑰紡:" prop="channelCode" >
+            <el-radio-group v-model="role.channelCode">
+              <el-radio label="01">绔欏唴淇�</el-radio>
+              <el-radio label="03">閭欢</el-radio>
+            </el-radio-group>
+            <span class="message-tip">(鐭俊鍙敤鏁�: 1000鏉�)</span>
+          </el-form-item>
+          <!-- 娑堟伅鏍忕洰 -->
+          <el-form-item
+            v-if="role.channelCode === '01'"
+            class="optionItem"
+            label="娑堟伅鏍忕洰:"
+            prop="messageType"
+          >
+            <div class="message-item">
+              <div class="message-item__left">
+                <el-select
+                  v-model="role.messageType"
+                  placeholder="璇烽�夋嫨娑堟伅鏍忕洰"
+                >
+                  <el-option
+                    v-for="item in colList"
+                    :key="item.id"
+                    :label="item.columnName"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </div>
+              <span class="message-add" @click="dialogCreate = true">
+                娣诲姞鏍忕洰</span
+              >
+            </div>
+          </el-form-item>
+          <!-- 娑堟伅鏍囬 -->
+          <el-form-item class="optionItems" label="娑堟伅鏍囬:" prop="head">
+            <div class="message-item__left">
+              <el-input
+                v-model="role.head"
+                placeholder="璇烽�夋嫨娑堟伅鏍囬"
+              ></el-input>
+            </div>
+          </el-form-item>
+          <!-- 鎺ユ敹瀵硅薄 -->
+          <el-form-item class="optionItem" label="鎺ユ敹瀵硅薄:" prop="targetTo">
+            <div class="message-item__left">
+              <el-select v-model="role.targetTo" placeholder="璇烽�夋嫨鎺ユ敹瀵硅薄">
+                <el-option :value="role.targetTo">
+                  <el-tree
+                    ref="tree"
+                    :data="departList"
+                    :props="defaultProps"
+                    show-checkbox
+                    @check="handleCheck"
+                    default-expand-all
+                    :default-checked-keys="checkedList"
+                    node-key="id"
+                  >
+                  </el-tree>
+                </el-option>
+              </el-select>
+            </div>
+          </el-form-item>
+          <!-- 娑堟伅鍐呭 -->
+          <el-form-item class="optionItem" label="娑堟伅鍐呭:" prop="body">
+            <MyEditor ref="edit"></MyEditor>
+          </el-form-item>
+          <el-form-item>
+            <div class="optionBtn">
+              <el-button
+                type="primary"
+                @click.native.prevent="handleSubmit(0)"
+                class="btn save"
+                v-if="type !== 'view'"
+                >淇濆瓨
+              </el-button>
+              <el-button
+                type="primary"
+                @click.native.prevent="handleSubmit(1)"
+                class="btn submit"
+                v-if="type !== 'view'"
+                >鍙戝竷
+              </el-button>
+              <el-button
+                type="primary"
+                @click.native.prevent="handleView"
+                class="btn submit"
+                v-if="type !== 'view'"
+                >棰勮
+              </el-button>
+              <el-button class="btn cancel" @click.native.prevent="handleReset" v-if="type !== 'view'"
+                >閲嶇疆</el-button
+              >
+            </div>
+          </el-form-item>
+        </el-form>
+        <!-- 鏂板鏍忕洰 -->
+        <el-dialog
+          title="娣诲姞鏍忕洰"
+          :visible.sync="dialogCreate"
+          v-if="dialogCreate"
+          width="60%"
+          :before-close="handleConfirmClose"
+          append-to-body
+        >
+          <MyColumnAdd @closeDialog="closeDialog"></MyColumnAdd>
+        </el-dialog>
+        <!-- 棰勮娑堟伅 -->
+        <el-dialog
+          title="娑堟伅棰勮"
+          :visible.sync="dialogView"
+          v-if="dialogView"
+          width="60%"
+          :before-close="handleConfirmClose"
+          append-to-body
+        >
+          <MyColView :info="info" @closeDialog="closeDialog"></MyColView>
+        </el-dialog>
+      </div>
+    </main>
+  </div>
+</template>
+<script>
+import MyEditor from "@/components/edit";
+import MyColumnAdd from "@/views/operate/message/mycontrol/createUser";
+import MyColView from "../messageView";
+import { sendMessage, updateMessage, getMessageById } from "@/api/operate/messageManagement";
+
+export default {
+  components: { MyEditor, MyColumnAdd, MyColView },
+  props: ["type", "myDataRow"],
+  data() {
+    const validateEditor = (rule, value, callback) => {
+      if (value) {
+        callback();
+      } else {
+        callback(new Error('璇疯緭鍏�'));
+      }
+    };
+    return {
+      role: {
+        messageType: null,
+        head: "",
+        targetTo: "",
+        body: "",
+        channelCode: null,
+      },
+      createRoleRules: {
+        messageType: [
+          {
+            required: true,
+            trigger: ["blur", "change"],
+            message: "璇疯緭鍏ユ秷鎭爮鐩�",
+          },
+        ],
+        head: [{ required: true, trigger: "blur", message: "璇烽�夋嫨娑堟伅鏍囬" }],
+        targetTo: [
+          { required: true, trigger: "blur", message: "璇烽�夋嫨鎺ュ彈瀵硅薄" },
+        ],
+        body: [
+          {
+            required: true,
+            validator: validateEditor
+          },
+        ],
+      },
+      colList: [],
+      departList: [],
+      typeList: [],
+      dialogCreate: false,
+      dialogView: false,
+      defaultProps: {
+        children: "children",
+        label: "departName",
+      },
+      checkedList: [],
+      tempNameArr: [],
+      info: {},
+      sendUser: "",
+    };
+  },
+  created() {
+    this.getColumnList();
+    this.getDepartList();
+    this.getLoginUserInfo();
+    if (this.type !== "create" && this.myDataRow) {
+      getMessageById(this.myDataRow.id)
+          .then(res => {
+            this.role = res;
+            if (res.targetTo) {
+              this.checkedList = res.targetTo.split(',');
+              this.role.targetTo = `${this.checkedList.length}浜篳;
+            }
+          })
+          .catch(err => this.$message.error(`${err}`))
+    }
+  },
+  mounted() {
+    if (this.type !== 'create') {
+      this.$refs.edit.editor.txt.append(this.myDataRow.body);
+    }
+
+  },
+  methods: {
+    // 鍏抽棴寮圭獥
+    handleConfirmClose(done) {
+      this.$confirm("纭鍏抽棴?").then((_) => {
+        done();
+      });
+    },
+
+    // 鑾峰彇鏍忕洰
+    async getColumnList() {
+      await this.$axios({
+        method: "get",
+        url: "sccg/message_column/getShowColumn",
+      }).then((res) => {
+        this.colList = res.data;
+      });
+    },
+    // 鍏抽棴寮圭獥
+    closeDialog({ flag, index }) {
+      this.dialogCreate = flag;
+      if (index === 1) {
+        // 閲嶆柊璁剧疆鏍忕洰
+        this.getColumnList();
+      }
+    },
+    getType(){
+      return this.type;
+    },
+    // 鑾峰彇閮ㄩ棬鏍�
+    async getDepartList() {
+      await this.$axios({
+        method: "get",
+        url: "sccg/depart/tree",
+      }).then((res) => {
+        res.data.forEach((item) => {
+          this.departList.push(this.setChildren(item));
+        });
+      });
+    },
+
+    // 閫掑綊children
+    setChildren(obj) {
+      if (obj.children !== null) {
+        if (obj.children.length !== 0) {
+          obj.children.forEach((item) => {
+            return this.setChildren(item);
+          });
+        }
+      } else {
+        if (obj.userInfoDTOS.length !== 0) {
+          obj.children = [];
+          obj.userInfoDTOS.forEach((item) => {
+            obj.children.push({ id: item.userId, departName: item.username });
+          });
+        }
+      }
+      return obj;
+    },
+
+    // 閫変腑id
+    handleCheck(data, node) {
+      const checkedNodes = node.checkedNodes.filter(item => !item.children);
+      this.checkedList = checkedNodes.map(item => item.id);
+      this.tempNameArr = checkedNodes.map(item => item.departName);
+      this.role.targetTo = this.checkedList.length ? this.checkedList.length + "浜�" : null;
+    },
+
+    // 鏂板缓/淇濆瓨娑堟伅(1:鏂板缓,0淇濆瓨娑堟伅)
+    handleSubmit(mystatus) {
+      debugger;
+      this.role.body = this.$refs.edit.editor.txt.html();
+      this.$refs.user.validate((valid) => {
+        if (valid) {
+          if(mystatus==1){
+            const { body, head, messageType, channelCode } = this.role;
+          const params = {
+            body,
+            head,
+            messageType,
+            channelCode: `${channelCode}`,
+            sendTime: new Date(),
+            targetTo: this.checkedList.join(","),
+            status: mystatus,
+          };
+          if (this.role.channelCode === '03') {
+            delete params.messageType;
+          }
+          if (this.type === "create") {
+            sendMessage(params)
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
+                })
+              );
+          } else {
+            updateMessage({ id: this.myDataRow.id, ...params })
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
+                })
+              );
+          }
+          }
+          if(mystatus==0){ 
+            const { body, head, messageType, channelCode } = this.role;
+          const params = {
+            body,
+            head,
+            messageType,
+            channelCode: `${channelCode}`,
+            sendTime: new Date(),
+            targetTo: this.checkedList.join(","),
+            status: mystatus,
+          };
+          if (this.role.channelCode === '03') {
+            delete params.messageType;
+          }
+          if (this.type === "create") {
+            saveMessage(params)
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
+                })
+              );
+          } else {
+            updateMessage({ id: this.myDataRow.id, ...params })
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
+                })
+              );
+          }
+          }
+        
+        } else {
+          this.$message.error({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+        }
+      });
+    },
+
+    // 閲嶇疆琛ㄥ崟
+    handleReset() {
+      this.$refs.edit.editor.txt.clear();
+      this.$refs.user.resetFields();
+    },
+
+    // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛淇℃伅
+    getLoginUserInfo() {
+      const name = sessionStorage.getItem("name");
+      this.$axios({
+        method: "get",
+        url: "sccg/admin/info?name=" + name,
+      }).then((res) => {
+        this.role.targetFrom = res.data.userId;
+        this.sendUser = res.data.username;
+      });
+    },
+
+    // 娑堟伅棰勮
+    handleView() {
+      this.role.body = this.$refs.edit.editor.txt.html();
+      this.$refs.user.validate((valid) => {
+        if (valid) {
+          const { body, head, channelCode } = this.role;
+          this.dialogView = true;
+          this.info = {
+            body,
+            head,
+            channelCode:
+              channelCode === "01"
+                ? "绔欏唴淇�"
+                : channelCode === "03"
+                ? "閭欢"
+                : "鐭俊",
+            messageType: this.role.messageType,
+            targetTo: this.tempNameArr,
+            targetFrom: this.sendUser
+          };
+        } else {
+          this.$message({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+        }
+      });
+    }
+  },
+};
+</script>
+<style lang="scss" scoped>
+.createUser {
+  border-radius: 1px;
+  background-color: white;
+
+  main {
+    text-align: left;
+    padding: 0 55px;
+    background-color: white;
+
+    .mainContent {
+      display: flex;
+      justify-content: center;
+      padding-top: 50px;
+      &:deep(.el-dialog__title) {
+        //color: #4b9bb7;
+      }
+      &::v-deep .el-form-item__label {
+        //color: #4b9bb7;
+      }
+
+      &::v-deep .el-input__inner {
+        width: 400px;
+        //background-color: #09152f;
+        //border: 1px solid #17324c;
+      }
+
+      .message-item__left {
+        width: 400px;
+      }
+
+      .message-add {
+        &:hover {
+          cursor: pointer;
+        }
+      }
+
+      .el-form-item__content :deep(.el-select) {
+        width: 400px;
+      }
+
+      :deep(.el-input) {
+        width: 400px;
+      }
+
+      .message-item {
+        display: flex;
+
+        span {
+          margin-left: 20px;
+          color: #606266;
+        }
+      }
+
+      .message-tip {
+        margin-left: 20px;
+      }
+
+      :deep(.el-input--suffix) {
+        width: 400px;
+      }
+
+      // &::v-deep .el-textarea__inner {
+      //   //background-color: #09152f;
+      //   //border: 1px solid #17324c;
+      // }
+
+      .el-form-item__content {
+        width: 400px;
+
+        .el-select {
+          width: 100%;
+        }
+      }
+
+      .optionHandleSp {
+        display: flex;
+
+        .areaNumber,
+        .moreNumber {
+          flex: 1;
+        }
+
+        .telNumber {
+          flex: 2;
+        }
+      }
+
+      .optionBtn {
+        display: flex;
+        margin-top: 20px;
+
+        .btn {
+          padding: 12px 50px;
+        }
+      }
+    }
+  }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/update/index_20230104135855.vue b/.history/src/views/operate/message/myIndex/update/index_20230104135855.vue
new file mode 100644
index 0000000..8bdd313
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/update/index_20230104135855.vue
@@ -0,0 +1,523 @@
+<template>
+  <div class="createUser">
+    <main>
+      <div class="mainContent">
+        <el-form
+          ref="user"
+          label-width="140px"
+          autoComplete="on"
+          :model="role"
+          :rules="createRoleRules"
+          label-position="right"
+          :disabled="type === 'view'"
+        >
+          <!-- 鎻愰啋鏂瑰紡 -->
+          <el-form-item class="optionItem" label="鎻愰啋鏂瑰紡:" prop="channelCode" >
+            <el-radio-group v-model="role.channelCode">
+              <el-radio label="01">绔欏唴淇�</el-radio>
+              <el-radio label="03">閭欢</el-radio>
+            </el-radio-group>
+            <span class="message-tip">(鐭俊鍙敤鏁�: 1000鏉�)</span>
+          </el-form-item>
+          <!-- 娑堟伅鏍忕洰 -->
+          <el-form-item
+            v-if="role.channelCode === '01'"
+            class="optionItem"
+            label="娑堟伅鏍忕洰:"
+            prop="messageType"
+          >
+            <div class="message-item">
+              <div class="message-item__left">
+                <el-select
+                  v-model="role.messageType"
+                  placeholder="璇烽�夋嫨娑堟伅鏍忕洰"
+                >
+                  <el-option
+                    v-for="item in colList"
+                    :key="item.id"
+                    :label="item.columnName"
+                    :value="item.id"
+                  >
+                  </el-option>
+                </el-select>
+              </div>
+              <span class="message-add" @click="dialogCreate = true">
+                娣诲姞鏍忕洰</span
+              >
+            </div>
+          </el-form-item>
+          <!-- 娑堟伅鏍囬 -->
+          <el-form-item class="optionItems" label="娑堟伅鏍囬:" prop="head">
+            <div class="message-item__left">
+              <el-input
+                v-model="role.head"
+                placeholder="璇烽�夋嫨娑堟伅鏍囬"
+              ></el-input>
+            </div>
+          </el-form-item>
+          <!-- 鎺ユ敹瀵硅薄 -->
+          <el-form-item class="optionItem" label="鎺ユ敹瀵硅薄:" prop="targetTo">
+            <div class="message-item__left">
+              <el-select v-model="role.targetTo" placeholder="璇烽�夋嫨鎺ユ敹瀵硅薄">
+                <el-option :value="role.targetTo">
+                  <el-tree
+                    ref="tree"
+                    :data="departList"
+                    :props="defaultProps"
+                    show-checkbox
+                    @check="handleCheck"
+                    default-expand-all
+                    :default-checked-keys="checkedList"
+                    node-key="id"
+                  >
+                  </el-tree>
+                </el-option>
+              </el-select>
+            </div>
+          </el-form-item>
+          <!-- 娑堟伅鍐呭 -->
+          <el-form-item class="optionItem" label="娑堟伅鍐呭:" prop="body">
+            <MyEditor ref="edit"></MyEditor>
+          </el-form-item>
+          <el-form-item>
+            <div class="optionBtn">
+              <el-button
+                type="primary"
+                @click.native.prevent="handleSubmit(0)"
+                class="btn save"
+                v-if="type !== 'view'"
+                >淇濆瓨
+              </el-button>
+              <el-button
+                type="primary"
+                @click.native.prevent="handleSubmit(1)"
+                class="btn submit"
+                v-if="type !== 'view'"
+                >鍙戝竷
+              </el-button>
+              <el-button
+                type="primary"
+                @click.native.prevent="handleView"
+                class="btn submit"
+                v-if="type !== 'view'"
+                >棰勮
+              </el-button>
+              <el-button class="btn cancel" @click.native.prevent="handleReset" v-if="type !== 'view'"
+                >閲嶇疆</el-button
+              >
+            </div>
+          </el-form-item>
+        </el-form>
+        <!-- 鏂板鏍忕洰 -->
+        <el-dialog
+          title="娣诲姞鏍忕洰"
+          :visible.sync="dialogCreate"
+          v-if="dialogCreate"
+          width="60%"
+          :before-close="handleConfirmClose"
+          append-to-body
+        >
+          <MyColumnAdd @closeDialog="closeDialog"></MyColumnAdd>
+        </el-dialog>
+        <!-- 棰勮娑堟伅 -->
+        <el-dialog
+          title="娑堟伅棰勮"
+          :visible.sync="dialogView"
+          v-if="dialogView"
+          width="60%"
+          :before-close="handleConfirmClose"
+          append-to-body
+        >
+          <MyColView :info="info" @closeDialog="closeDialog"></MyColView>
+        </el-dialog>
+      </div>
+    </main>
+  </div>
+</template>
+<script>
+import MyEditor from "@/components/edit";
+import MyColumnAdd from "@/views/operate/message/mycontrol/createUser";
+import MyColView from "../messageView";
+import { sendMessage, updateMessage, getMessageById,saveMessage } from "@/api/operate/messageManagement";
+
+export default {
+  components: { MyEditor, MyColumnAdd, MyColView },
+  props: ["type", "myDataRow"],
+  data() {
+    const validateEditor = (rule, value, callback) => {
+      if (value) {
+        callback();
+      } else {
+        callback(new Error('璇疯緭鍏�'));
+      }
+    };
+    return {
+      role: {
+        messageType: null,
+        head: "",
+        targetTo: "",
+        body: "",
+        channelCode: null,
+      },
+      createRoleRules: {
+        messageType: [
+          {
+            required: true,
+            trigger: ["blur", "change"],
+            message: "璇疯緭鍏ユ秷鎭爮鐩�",
+          },
+        ],
+        head: [{ required: true, trigger: "blur", message: "璇烽�夋嫨娑堟伅鏍囬" }],
+        targetTo: [
+          { required: true, trigger: "blur", message: "璇烽�夋嫨鎺ュ彈瀵硅薄" },
+        ],
+        body: [
+          {
+            required: true,
+            validator: validateEditor
+          },
+        ],
+      },
+      colList: [],
+      departList: [],
+      typeList: [],
+      dialogCreate: false,
+      dialogView: false,
+      defaultProps: {
+        children: "children",
+        label: "departName",
+      },
+      checkedList: [],
+      tempNameArr: [],
+      info: {},
+      sendUser: "",
+    };
+  },
+  created() {
+    this.getColumnList();
+    this.getDepartList();
+    this.getLoginUserInfo();
+    if (this.type !== "create" && this.myDataRow) {
+      getMessageById(this.myDataRow.id)
+          .then(res => {
+            this.role = res;
+            if (res.targetTo) {
+              this.checkedList = res.targetTo.split(',');
+              this.role.targetTo = `${this.checkedList.length}浜篳;
+            }
+          })
+          .catch(err => this.$message.error(`${err}`))
+    }
+  },
+  mounted() {
+    if (this.type !== 'create') {
+      this.$refs.edit.editor.txt.append(this.myDataRow.body);
+    }
+
+  },
+  methods: {
+    // 鍏抽棴寮圭獥
+    handleConfirmClose(done) {
+      this.$confirm("纭鍏抽棴?").then((_) => {
+        done();
+      });
+    },
+
+    // 鑾峰彇鏍忕洰
+    async getColumnList() {
+      await this.$axios({
+        method: "get",
+        url: "sccg/message_column/getShowColumn",
+      }).then((res) => {
+        this.colList = res.data;
+      });
+    },
+    // 鍏抽棴寮圭獥
+    closeDialog({ flag, index }) {
+      this.dialogCreate = flag;
+      if (index === 1) {
+        // 閲嶆柊璁剧疆鏍忕洰
+        this.getColumnList();
+      }
+    },
+    getType(){
+      return this.type;
+    },
+    // 鑾峰彇閮ㄩ棬鏍�
+    async getDepartList() {
+      await this.$axios({
+        method: "get",
+        url: "sccg/depart/tree",
+      }).then((res) => {
+        res.data.forEach((item) => {
+          this.departList.push(this.setChildren(item));
+        });
+      });
+    },
+
+    // 閫掑綊children
+    setChildren(obj) {
+      if (obj.children !== null) {
+        if (obj.children.length !== 0) {
+          obj.children.forEach((item) => {
+            return this.setChildren(item);
+          });
+        }
+      } else {
+        if (obj.userInfoDTOS.length !== 0) {
+          obj.children = [];
+          obj.userInfoDTOS.forEach((item) => {
+            obj.children.push({ id: item.userId, departName: item.username });
+          });
+        }
+      }
+      return obj;
+    },
+
+    // 閫変腑id
+    handleCheck(data, node) {
+      const checkedNodes = node.checkedNodes.filter(item => !item.children);
+      this.checkedList = checkedNodes.map(item => item.id);
+      this.tempNameArr = checkedNodes.map(item => item.departName);
+      this.role.targetTo = this.checkedList.length ? this.checkedList.length + "浜�" : null;
+    },
+
+    // 鏂板缓/淇濆瓨娑堟伅(1:鏂板缓,0淇濆瓨娑堟伅)
+    handleSubmit(mystatus) {
+      debugger;
+      this.role.body = this.$refs.edit.editor.txt.html();
+      this.$refs.user.validate((valid) => {
+        if (valid) {
+          if(mystatus==1){
+            const { body, head, messageType, channelCode } = this.role;
+          const params = {
+            body,
+            head,
+            messageType,
+            channelCode: `${channelCode}`,
+            sendTime: new Date(),
+            targetTo: this.checkedList.join(","),
+            status: mystatus,
+          };
+          if (this.role.channelCode === '03') {
+            delete params.messageType;
+          }
+          if (this.type === "create") {
+            sendMessage(params)
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
+                })
+              );
+          } else {
+            updateMessage({ id: this.myDataRow.id, ...params })
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
+                })
+              );
+          }
+          }
+          if(mystatus==0){ 
+            const { body, head, messageType, channelCode } = this.role;
+          const params = {
+            body,
+            head,
+            messageType,
+            channelCode: `${channelCode}`,
+            sendTime: new Date(),
+            targetTo: this.checkedList.join(","),
+            status: mystatus,
+          };
+          if (this.role.channelCode === '03') {
+            delete params.messageType;
+          }
+          if (this.type === "create") {
+            saveMessage(params)
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
+                })
+              );
+          } else {
+            updateMessage({ id: this.myDataRow.id, ...params })
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
+                })
+              );
+          }
+          }
+        
+        } else {
+          this.$message.error({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+        }
+      });
+    },
+
+    // 閲嶇疆琛ㄥ崟
+    handleReset() {
+      this.$refs.edit.editor.txt.clear();
+      this.$refs.user.resetFields();
+    },
+
+    // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛淇℃伅
+    getLoginUserInfo() {
+      const name = sessionStorage.getItem("name");
+      this.$axios({
+        method: "get",
+        url: "sccg/admin/info?name=" + name,
+      }).then((res) => {
+        this.role.targetFrom = res.data.userId;
+        this.sendUser = res.data.username;
+      });
+    },
+
+    // 娑堟伅棰勮
+    handleView() {
+      this.role.body = this.$refs.edit.editor.txt.html();
+      this.$refs.user.validate((valid) => {
+        if (valid) {
+          const { body, head, channelCode } = this.role;
+          this.dialogView = true;
+          this.info = {
+            body,
+            head,
+            channelCode:
+              channelCode === "01"
+                ? "绔欏唴淇�"
+                : channelCode === "03"
+                ? "閭欢"
+                : "鐭俊",
+            messageType: this.role.messageType,
+            targetTo: this.tempNameArr,
+            targetFrom: this.sendUser
+          };
+        } else {
+          this.$message({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+        }
+      });
+    }
+  },
+};
+</script>
+<style lang="scss" scoped>
+.createUser {
+  border-radius: 1px;
+  background-color: white;
+
+  main {
+    text-align: left;
+    padding: 0 55px;
+    background-color: white;
+
+    .mainContent {
+      display: flex;
+      justify-content: center;
+      padding-top: 50px;
+      &:deep(.el-dialog__title) {
+        //color: #4b9bb7;
+      }
+      &::v-deep .el-form-item__label {
+        //color: #4b9bb7;
+      }
+
+      &::v-deep .el-input__inner {
+        width: 400px;
+        //background-color: #09152f;
+        //border: 1px solid #17324c;
+      }
+
+      .message-item__left {
+        width: 400px;
+      }
+
+      .message-add {
+        &:hover {
+          cursor: pointer;
+        }
+      }
+
+      .el-form-item__content :deep(.el-select) {
+        width: 400px;
+      }
+
+      :deep(.el-input) {
+        width: 400px;
+      }
+
+      .message-item {
+        display: flex;
+
+        span {
+          margin-left: 20px;
+          color: #606266;
+        }
+      }
+
+      .message-tip {
+        margin-left: 20px;
+      }
+
+      :deep(.el-input--suffix) {
+        width: 400px;
+      }
+
+      // &::v-deep .el-textarea__inner {
+      //   //background-color: #09152f;
+      //   //border: 1px solid #17324c;
+      // }
+
+      .el-form-item__content {
+        width: 400px;
+
+        .el-select {
+          width: 100%;
+        }
+      }
+
+      .optionHandleSp {
+        display: flex;
+
+        .areaNumber,
+        .moreNumber {
+          flex: 1;
+        }
+
+        .telNumber {
+          flex: 2;
+        }
+      }
+
+      .optionBtn {
+        display: flex;
+        margin-top: 20px;
+
+        .btn {
+          padding: 12px 50px;
+        }
+      }
+    }
+  }
+}
+</style>
diff --git a/.history/src/views/operate/sms/smsIndex/index_20230104104607.vue b/.history/src/views/operate/sms/smsIndex/index_20230104104607.vue
new file mode 100644
index 0000000..a57d77a
--- /dev/null
+++ b/.history/src/views/operate/sms/smsIndex/index_20230104104607.vue
@@ -0,0 +1,644 @@
+<template>
+  <div class="userList">
+    <header>
+      <div class="header-nav">
+        <span class="nav-left">鏁版嵁绛涢��</span>
+      </div>
+      <div class="header-content">
+        <div class="search">
+          <span>杈撳叆鏌ヨ:</span>
+          <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+        </div>
+        <div class="message-status">
+          <span>鐭俊鍥炴墽:</span>
+          <el-select v-model="messageStatus" placeholder="璇烽�夋嫨">
+            <el-option
+                v-for="item in statusList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.label"
+            >
+            </el-option>
+          </el-select>
+        </div>
+        <div class="find">
+          <el-button type="primary" icon="el-icon-search" @click="getTableData"
+          >鏌ヨ
+          </el-button
+          >
+          <el-button icon="el-icon-delete-solid" @click="handleReset"
+          >閲嶇疆
+          </el-button
+          >
+        </div>
+      </div>
+    </header>
+    <main>
+      <div class="mainContent">
+        <div class="main-nav">
+          <span>鏁版嵁鍒楄〃</span>
+          <el-button
+              class="button-addition"
+              type="primary"
+              icon="el-icon-plus"
+              @click="isShowDialog = true"
+          >娣诲姞
+          </el-button
+          >
+        </div>
+        <!-- 鏁版嵁灞曠ず -->
+        <el-table
+            ref="multipleTable"
+            :header-cell-style="{
+            // background: '#06122c',
+            'font-size': '12px',
+            color: '#606266',
+            'font-weight': '650',
+            'line-height': '45px',
+          }"
+            :data="tableData"
+            style="width: 100%"
+            :row-class-name="tableRowClassName"
+            @selection-change="tableChange"
+        >
+          <el-table-column type="selection" min-width="5"></el-table-column>
+          <el-table-column label="ID" min-width="5" prop="id">
+            <template slot-scope="scope">{{ scope.row.id }}</template>
+          </el-table-column>
+          <el-table-column prop="head" label="鏍囬" min-width="10">
+          </el-table-column>
+          <el-table-column prop="createTime" label="鍙戦�佹椂闂�" min-width="10">
+          </el-table-column>
+          <el-table-column prop="targetFrom" label="鍙戦�佽处鍙�" min-width="15">
+          </el-table-column>
+          <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+            <template slot-scope="scope">
+              <span>{{
+                  statusList.find((item) => item.value === scope.row.status).label
+                }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+            <template slot-scope="scope">
+              <div class="operation">
+                <el-link
+                    class="leftPx"
+                    icon="el-icon-delete-solid"
+                    :underline="false"
+                    @click="handleDelete([scope.row.id])"
+                >鍒犻櫎
+                </el-link
+                >
+                <el-link
+                    icon="el-icon-edit"
+                    class="leftPx"
+                    :underline="false"
+                    @click="resend(scope.row)"
+                >閲嶆柊鍙戦��
+                </el-link
+                >
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+        <!-- 鏂板缓娑堟伅 -->
+        <el-dialog
+            title="鏂板缓娑堟伅"
+            :destroy-on-close="true"
+            :key="dialogType"
+            :visible.sync="isShowDialog"
+            width="80%"
+            :before-close="handleConfirmClose"
+        >
+          <MyCreate @closeMyDialog="closeDialog" :type="dialogType"></MyCreate>
+        </el-dialog>
+        <div class="tools">
+          <div class="funs">
+            <div class="funsItem funs-sp">
+              <el-checkbox v-model="all" @change="selectAll()"
+              >鍏ㄩ��
+              </el-checkbox
+              >
+            </div>
+            <div class="funsItem funs-sp">
+              <el-checkbox v-model="unsame" @change="disSame(tableData)"
+              >鍙嶉��
+              </el-checkbox
+              >
+            </div>
+            <div class="funsItem">
+              <el-select
+                  v-model="myIdx"
+                  placeholder="鎵归噺鎿嶄綔"
+                  @change="selectChange"
+              >
+                <el-option
+                    v-for="item in options"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </div>
+          </div>
+          <div class="pagination">
+            <el-pagination
+                background
+                :current-page="currentPage"
+                layout="prev, pager, next"
+                :total="totalNum"
+                :page-size="pageSize"
+                @current-change="changeCurrentPage"
+            >
+            </el-pagination>
+          </div>
+        </div>
+      </div>
+    </main>
+  </div>
+</template>
+<script>
+import helper from "@/utils/mydate";
+import MyCreate from "./createSms";
+import {
+  getMessageList,
+  deleteMessage,
+  sendMessage,
+} from "@/api/operate/messageManagement";
+
+export default {
+  components: {
+    MyCreate,
+  },
+  data() {
+    return {
+      tableData: [],
+      context: null,
+      isShowDialog: false,
+      totalNum: null,
+      pageSize: 10,
+      currentPage: 1,
+      all: false,
+      unsame: false,
+      myIdx: 0,
+      preMyIdx: 0,
+      options: [
+        {
+          value: 0,
+          label: "鎵归噺鎿嶄綔",
+          disabled: true,
+        },
+        {
+          value: 1,
+          label: "鎵归噺鍚敤",
+        },
+        {
+          value: 2,
+          label: "鎵归噺绂佺敤",
+        },
+        {
+          value: 3,
+          label: "鎵归噺鍒犻櫎",
+        },
+      ],
+      tempList: [],
+      messageStatus: "鍏ㄩ儴",
+      messageKind: "00",
+      statusList: [
+      {
+          label: "鍙戦�佸け璐�",
+          value: 3,
+        },
+        {
+          label: "鍙戦�佹垚鍔�",
+          value: 2,
+        },
+        {
+          label: "宸插彂甯�",
+          value: 1,
+        },
+        {
+          label: "鏈彂甯�",
+          value: 0,
+        },
+      ],
+      kindList: [
+        {
+          id: "00",
+          columnName: "鍏ㄩ儴",
+        },
+        {
+          id: "01",
+          columnName: "绔欏唴淇�",
+        },
+        {
+          id: "02",
+          columnName: "閭欢",
+        },
+        {
+          id: "03",
+          columnName: "鐭俊",
+        },
+      ],
+      dialogType: "",
+    };
+  },
+  created() {
+    this.getTableData();
+  },
+  methods: {
+    // 閲嶇疆
+    handleReset() {
+      this.context = null;
+      this.currentPage = 1;
+      this.messageStatus = "鍏ㄩ儴";
+      this.getTableData();
+    },
+    // 鍒犻櫎淇℃伅
+    handleDelete(ids) {
+      this.$confirm("纭鍒犻櫎?").then(() => {
+        deleteMessage({ids: ids.join(",")})
+            .then(() => {
+              this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+              this.getTableData();
+            })
+            .catch((err) => this.$message({type: "error", message: err}));
+      });
+    },
+
+    getTableData() {
+      const respondResult =
+          this.messageStatus === "鍏ㄩ儴" ? null : this.messageStatus;
+      getMessageList({
+        channelCode: "02",
+        current: this.currentPage,
+        respondResult,
+        pageSize: this.pageSize,
+        head: this.context,
+      })
+          .then(({records, total}) => {
+            this.tableData = records;
+            this.totalNum = total;
+          })
+          .catch((err) => {
+            this.$message({type: "error", message: err});
+          });
+    },
+
+    resend(data) {
+      if (data.status === 1) {
+        return;
+      }
+      sendMessage(data)
+          .then(() => {
+            this.$message.success("鎿嶄綔鎴愬姛");
+            this.getTableData();
+          })
+          .catch((err) => this.$message.error(`${err}`));
+    },
+
+    // 鎵归噺涓嬫媺妗嗘搷浣�
+    async selectChange(list) {
+      if (this.tempList.length !== 0) {
+        this.preMyIdx = list;
+        if (list === 3) {
+          await this.handleDelete(this.tempList);
+        } else if (list === 2) {
+          await this.mulUpdateStatus(this.tempList, 0);
+        } else {
+          await this.mulUpdateStatus(this.tempList, 1);
+        }
+        this.myIdx = 0;
+      } else {
+        this.myIdx = this.preMyIdx;
+        this.$message({
+          type: "warning",
+          message: "鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁",
+        });
+      }
+    },
+    // 鎵归噺鎿嶄綔
+    mulUpdateStatus(idArr, flag) {
+      this.$confirm(
+          flag === 1
+              ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?"
+              : "鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?"
+      )
+          .then((_) => {
+            this.$axios({
+              method: "post",
+              url: "sccg/role/updateStatusBatch?ids=" + idArr + "&status=" + flag,
+            })
+                .then(() => {
+                  this.getTableData();
+                  this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+                })
+                .catch((err) => {
+                  this.$message({type: "error", message: err});
+                });
+          })
+          .catch((err) => {
+          });
+    },
+    // 琛ㄦ牸鐩戝惉
+    tableChange(list) {
+      this.tempList = [];
+      list.forEach((item) => {
+        this.tempList.push(item.id);
+      });
+      this.all = list.length === this.tableData.length;
+    },
+    // 淇敼鏃堕棿鏍煎紡
+    changeTime({updateTime}) {
+      return helper(updateTime);
+    },
+    // 鍏ㄩ��
+    selectAll() {
+      this.$refs.multipleTable.toggleAllSelection();
+    },
+    // 鍙嶉��
+    disSame(list) {
+      list.forEach((row) => {
+        this.$refs.multipleTable.toggleRowSelection(row);
+      });
+    },
+    // 璁剧疆琛ㄦ牸鏂戦┈绾�
+    tableRowClassName({row, rowIndex}) {
+      if ((rowIndex + 1) % 2 === 0) {
+        return "warning-row";
+      } else {
+        return "success-row";
+      }
+    },
+    // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+    changeCurrentPage(page) {
+      this.currentPage = page;
+      this.getTableData();
+    },
+    // 纭鍏抽棴寮圭獥
+    handleConfirmClose(done) {
+      this.$confirm("纭鍏抽棴?").then(() => {
+        done();
+      });
+    },
+    // 鑷畾涔夊叧闂脊绐�
+    closeDialog() {
+      this.isShowDialog = false;
+      this.getTableData();
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.userList {
+  text-align: left;
+  margin: 10px 20px;
+  color: #606266;
+
+  header {
+    background-color: white;
+
+    .header-nav {
+      line-height: 40px;
+      padding: 0 30px;
+      display: flex;
+      justify-content: space-between;
+      font-weight: 650;
+    }
+
+    .header-content {
+      padding: 0 40px;
+      display: flex;
+      line-height: 100px;
+      // justify-content: space-between;
+      align-items: center;
+
+      span {
+        min-width: 120px;
+        padding-left: 15px;
+      }
+
+      .search,
+      .message-status,
+      .message-kind {
+        display: flex;
+        justify-content: flex-start;
+
+        span {
+          flex: 1;
+        }
+
+        .el-input {
+          flex: 2;
+          color: #606266;
+
+          //&::v-deep .el-input__inner {
+          //  background-color: #09152f;
+          //  border: 1px solid #17324c;
+          //}
+        }
+      }
+
+      .find {
+        margin-left: 15px;
+      }
+
+      .findBtn {
+        line-height: 100px;
+        margin-left: 15px;
+        display: flex;
+        align-items: center;
+        margin-top: -2px;
+
+        .el-button {
+          padding: 12px 25px;
+          border-radius: 20px;
+        }
+      }
+    }
+  }
+
+  main {
+    background-color: white;
+    margin-top: 20px;
+    padding-bottom: 50px;
+
+    .el-link {
+      color: #4b9bb7;
+    }
+
+    .leftPx {
+      margin-left: 10px;
+    }
+
+    .mainTitle {
+      line-height: 60px;
+    }
+
+    .main-nav {
+      line-height: 40px;
+      display: flex;
+      padding: 10px;
+      justify-content: space-between;
+    }
+
+    .tools {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      padding: 0 20px;
+
+      .funs {
+        display: flex;
+
+        .funs-sp {
+          border: 1px solid #17324c;
+        }
+
+        .funsItem {
+          line-height: 28px;
+          display: flex;
+          align-items: center;
+
+          border-radius: 4px;
+          font-size: 12px;
+          margin-left: 10px;
+
+          .el-checkbox {
+            width: 80px;
+            padding: 0 10px;
+          }
+
+          .el-select {
+            width: 120px;
+          }
+
+          //&::v-deep .el-input__inner {
+          //  border: none;
+          //  background-color: #09152f;
+          //}
+
+          &:hover {
+            border: 1px solid #4b9bb7;
+          }
+
+          &:hover .el-checkbox {
+            color: #4b9bb7;
+          }
+        }
+      }
+
+      .pagination {
+        margin-top: 50px;
+        display: flex;
+        line-height: 50px;
+        justify-content: center;
+
+        //.el-pagination {
+        //  &::v-deep li,
+        //  &::v-deep .btn-prev,
+        //  &::v-deep .btn-next {
+        //    background-color: #071f39;
+        //    color: #4b9bb7;
+        //  }
+        //
+        //  &::v-deep .active {
+        //    background-color: #409eff;
+        //    color: #fff;
+        //  }
+        //}
+      }
+    }
+
+    .el-table {
+      // color: #606266;
+      // font-size: 10px;
+
+      //&::v-deep .el-table__empty-block {
+      //  background-color: #09152f;
+      //}
+      //
+      //&::v-deep .el-table__empty-block {
+      //  color: #4b9bb7;
+      //}
+
+      .operation {
+        display: flex;
+
+        .line {
+          padding: 0 5px;
+        }
+
+        span:hover {
+          cursor: pointer;
+        }
+      }
+    }
+
+    //.el-table::v-deep .warning-row {
+    //  background: #06122c;
+    //}
+    //
+    //.el-table::v-deep .success-row {
+    //  background: #071f39;
+    //}
+
+    //&::v-deep .switchStyle .el-switch__label {
+    //  position: absolute;
+    //  display: none;
+    //  color: #fff;
+    //}
+    //
+    //&::v-deep .el-switch__core {
+    //  background-color: rgba(166, 166, 166, 1);
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label--left {
+    //  z-index: 9;
+    //  left: 20px;
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label--right {
+    //  z-index: 9;
+    //  left: 4px;
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label.is-active {
+    //  display: block;
+    //}
+    //
+    //&::v-deep .switchStyle.el-switch .el-switch__core,
+    //&::v-deep .el-switch .el-switch__label {
+    //  width: 50px !important;
+    //}
+  }
+
+  //&::v-deep .el-dialog__header,
+  //&::v-deep .el-dialog__body {
+  //  background-color: #06122c;
+  //}
+  //
+  //&::v-deep .el-dialog__header {
+  //  display: flex;
+  //  align-items: center;
+  //  background-color: #fff;
+  //  padding: 20px;
+  //  line-height: 60px;
+  //}
+  //
+  //&::v-deep .el-dialog__title {
+  //  color: #4b9bb7;
+  //}
+  //
+  //&::v-deep .el-dialog__close {
+  //  width: 20px;
+  //  height: 20px;
+  //  // color: #fff;
+  //}
+  //
+  //&::v-deep .el-dialog__body {
+  //  padding: 0;
+  //}
+}
+</style>
diff --git a/.history/src/views/operate/sms/smsIndex/index_20230104105114.vue b/.history/src/views/operate/sms/smsIndex/index_20230104105114.vue
new file mode 100644
index 0000000..4c73561
--- /dev/null
+++ b/.history/src/views/operate/sms/smsIndex/index_20230104105114.vue
@@ -0,0 +1,636 @@
+<template>
+  <div class="userList">
+    <header>
+      <div class="header-nav">
+        <span class="nav-left">鏁版嵁绛涢��</span>
+      </div>
+      <div class="header-content">
+        <div class="search">
+          <span>杈撳叆鏌ヨ:</span>
+          <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+        </div>
+        <div class="message-status">
+          <span>鐭俊鍥炴墽:</span>
+          <el-select v-model="messageStatus" placeholder="璇烽�夋嫨">
+            <el-option
+                v-for="item in statusList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.label"
+            >
+            </el-option>
+          </el-select>
+        </div>
+        <div class="find">
+          <el-button type="primary" icon="el-icon-search" @click="getTableData"
+          >鏌ヨ
+          </el-button
+          >
+          <el-button icon="el-icon-delete-solid" @click="handleReset"
+          >閲嶇疆
+          </el-button
+          >
+        </div>
+      </div>
+    </header>
+    <main>
+      <div class="mainContent">
+        <div class="main-nav">
+          <span>鏁版嵁鍒楄〃</span>
+          <el-button
+              class="button-addition"
+              type="primary"
+              icon="el-icon-plus"
+              @click="isShowDialog = true"
+          >娣诲姞
+          </el-button
+          >
+        </div>
+        <!-- 鏁版嵁灞曠ず -->
+        <el-table
+            ref="multipleTable"
+            :header-cell-style="{
+            // background: '#06122c',
+            'font-size': '12px',
+            color: '#606266',
+            'font-weight': '650',
+            'line-height': '45px',
+          }"
+            :data="tableData"
+            style="width: 100%"
+            :row-class-name="tableRowClassName"
+            @selection-change="tableChange"
+        >
+          <el-table-column type="selection" min-width="5"></el-table-column>
+          <el-table-column label="ID" min-width="5" prop="id">
+            <template slot-scope="scope">{{ scope.row.id }}</template>
+          </el-table-column>
+          <el-table-column prop="head" label="鏍囬" min-width="10">
+          </el-table-column>
+          <el-table-column prop="createTime" label="鍙戦�佹椂闂�" min-width="10">
+          </el-table-column>
+          <el-table-column prop="targetFrom" label="鍙戦�佽处鍙�" min-width="15">
+          </el-table-column>
+          <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+            <template slot-scope="scope">
+              <span>{{
+                  statusList.find((item) => item.value === scope.row.status).label
+                }}</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+            <template slot-scope="scope">
+              <div class="operation">
+                <el-link
+                    class="leftPx"
+                    icon="el-icon-delete-solid"
+                    :underline="false"
+                    @click="handleDelete([scope.row.id])"
+                >鍒犻櫎
+                </el-link
+                >
+                <el-link
+                    icon="el-icon-edit"
+                    class="leftPx"
+                    :underline="false"
+                    @click="resend(scope.row)"
+                >閲嶆柊鍙戦��
+                </el-link
+                >
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+        <!-- 鏂板缓娑堟伅 -->
+        <el-dialog
+            title="鏂板缓娑堟伅"
+            :destroy-on-close="true"
+            :key="dialogType"
+            :visible.sync="isShowDialog"
+            width="80%"
+            :before-close="handleConfirmClose"
+        >
+          <MyCreate @closeMyDialog="closeDialog" :type="dialogType"></MyCreate>
+        </el-dialog>
+        <div class="tools">
+          <div class="funs">
+            <div class="funsItem funs-sp">
+              <el-checkbox v-model="all" @change="selectAll()"
+              >鍏ㄩ��
+              </el-checkbox
+              >
+            </div>
+            <div class="funsItem funs-sp">
+              <el-checkbox v-model="unsame" @change="disSame(tableData)"
+              >鍙嶉��
+              </el-checkbox
+              >
+            </div>
+            <div class="funsItem">
+              <el-select
+                  v-model="myIdx"
+                  placeholder="鎵归噺鎿嶄綔"
+                  @change="selectChange"
+              >
+                <el-option
+                    v-for="item in options"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </div>
+          </div>
+          <div class="pagination">
+            <el-pagination
+                background
+                :current-page="currentPage"
+                layout="prev, pager, next"
+                :total="totalNum"
+                :page-size="pageSize"
+                @current-change="changeCurrentPage"
+            >
+            </el-pagination>
+          </div>
+        </div>
+      </div>
+    </main>
+  </div>
+</template>
+<script>
+import helper from "@/utils/mydate";
+import MyCreate from "./createSms";
+import {
+  getMessageList,
+  deleteMessage,
+  sendMessage,
+} from "@/api/operate/messageManagement";
+
+export default {
+  components: {
+    MyCreate,
+  },
+  data() {
+    return {
+      tableData: [],
+      context: null,
+      isShowDialog: false,
+      totalNum: null,
+      pageSize: 10,
+      currentPage: 1,
+      all: false,
+      unsame: false,
+      myIdx: 0,
+      preMyIdx: 0,
+      options: [
+        {
+          value: 0,
+          label: "鎵归噺鎿嶄綔",
+          disabled: true,
+        },
+        {
+          value: 1,
+          label: "鎵归噺鍚敤",
+        },
+        {
+          value: 2,
+          label: "鎵归噺绂佺敤",
+        },
+        {
+          value: 3,
+          label: "鎵归噺鍒犻櫎",
+        },
+      ],
+      tempList: [],
+      messageStatus: "鍏ㄩ儴",
+      messageKind: "00",
+      statusList: [
+      {
+          label: "鍙戦�佸け璐�",
+          value: 3,
+        },
+        {
+          label: "鍙戦�佹垚鍔�",
+          value: 2,
+        }
+      ],
+      kindList: [
+        {
+          id: "00",
+          columnName: "鍏ㄩ儴",
+        },
+        {
+          id: "01",
+          columnName: "绔欏唴淇�",
+        },
+        {
+          id: "02",
+          columnName: "閭欢",
+        },
+        {
+          id: "03",
+          columnName: "鐭俊",
+        },
+      ],
+      dialogType: "",
+    };
+  },
+  created() {
+    this.getTableData();
+  },
+  methods: {
+    // 閲嶇疆
+    handleReset() {
+      this.context = null;
+      this.currentPage = 1;
+      this.messageStatus = "鍏ㄩ儴";
+      this.getTableData();
+    },
+    // 鍒犻櫎淇℃伅
+    handleDelete(ids) {
+      this.$confirm("纭鍒犻櫎?").then(() => {
+        deleteMessage({ids: ids.join(",")})
+            .then(() => {
+              this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+              this.getTableData();
+            })
+            .catch((err) => this.$message({type: "error", message: err}));
+      });
+    },
+
+    getTableData() {
+      const respondResult =
+          this.messageStatus === "鍏ㄩ儴" ? null : this.messageStatus;
+      getMessageList({
+        channelCode: "02",
+        current: this.currentPage,
+        respondResult,
+        pageSize: this.pageSize,
+        head: this.context,
+      })
+          .then(({records, total}) => {
+            this.tableData = records;
+            this.totalNum = total;
+          })
+          .catch((err) => {
+            this.$message({type: "error", message: err});
+          });
+    },
+
+    resend(data) {
+      if (data.status === 1) {
+        return;
+      }
+      sendMessage(data)
+          .then(() => {
+            this.$message.success("鎿嶄綔鎴愬姛");
+            this.getTableData();
+          })
+          .catch((err) => this.$message.error(`${err}`));
+    },
+
+    // 鎵归噺涓嬫媺妗嗘搷浣�
+    async selectChange(list) {
+      if (this.tempList.length !== 0) {
+        this.preMyIdx = list;
+        if (list === 3) {
+          await this.handleDelete(this.tempList);
+        } else if (list === 2) {
+          await this.mulUpdateStatus(this.tempList, 0);
+        } else {
+          await this.mulUpdateStatus(this.tempList, 1);
+        }
+        this.myIdx = 0;
+      } else {
+        this.myIdx = this.preMyIdx;
+        this.$message({
+          type: "warning",
+          message: "鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁",
+        });
+      }
+    },
+    // 鎵归噺鎿嶄綔
+    mulUpdateStatus(idArr, flag) {
+      this.$confirm(
+          flag === 1
+              ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?"
+              : "鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?"
+      )
+          .then((_) => {
+            this.$axios({
+              method: "post",
+              url: "sccg/role/updateStatusBatch?ids=" + idArr + "&status=" + flag,
+            })
+                .then(() => {
+                  this.getTableData();
+                  this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+                })
+                .catch((err) => {
+                  this.$message({type: "error", message: err});
+                });
+          })
+          .catch((err) => {
+          });
+    },
+    // 琛ㄦ牸鐩戝惉
+    tableChange(list) {
+      this.tempList = [];
+      list.forEach((item) => {
+        this.tempList.push(item.id);
+      });
+      this.all = list.length === this.tableData.length;
+    },
+    // 淇敼鏃堕棿鏍煎紡
+    changeTime({updateTime}) {
+      return helper(updateTime);
+    },
+    // 鍏ㄩ��
+    selectAll() {
+      this.$refs.multipleTable.toggleAllSelection();
+    },
+    // 鍙嶉��
+    disSame(list) {
+      list.forEach((row) => {
+        this.$refs.multipleTable.toggleRowSelection(row);
+      });
+    },
+    // 璁剧疆琛ㄦ牸鏂戦┈绾�
+    tableRowClassName({row, rowIndex}) {
+      if ((rowIndex + 1) % 2 === 0) {
+        return "warning-row";
+      } else {
+        return "success-row";
+      }
+    },
+    // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+    changeCurrentPage(page) {
+      this.currentPage = page;
+      this.getTableData();
+    },
+    // 纭鍏抽棴寮圭獥
+    handleConfirmClose(done) {
+      this.$confirm("纭鍏抽棴?").then(() => {
+        done();
+      });
+    },
+    // 鑷畾涔夊叧闂脊绐�
+    closeDialog() {
+      this.isShowDialog = false;
+      this.getTableData();
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.userList {
+  text-align: left;
+  margin: 10px 20px;
+  color: #606266;
+
+  header {
+    background-color: white;
+
+    .header-nav {
+      line-height: 40px;
+      padding: 0 30px;
+      display: flex;
+      justify-content: space-between;
+      font-weight: 650;
+    }
+
+    .header-content {
+      padding: 0 40px;
+      display: flex;
+      line-height: 100px;
+      // justify-content: space-between;
+      align-items: center;
+
+      span {
+        min-width: 120px;
+        padding-left: 15px;
+      }
+
+      .search,
+      .message-status,
+      .message-kind {
+        display: flex;
+        justify-content: flex-start;
+
+        span {
+          flex: 1;
+        }
+
+        .el-input {
+          flex: 2;
+          color: #606266;
+
+          //&::v-deep .el-input__inner {
+          //  background-color: #09152f;
+          //  border: 1px solid #17324c;
+          //}
+        }
+      }
+
+      .find {
+        margin-left: 15px;
+      }
+
+      .findBtn {
+        line-height: 100px;
+        margin-left: 15px;
+        display: flex;
+        align-items: center;
+        margin-top: -2px;
+
+        .el-button {
+          padding: 12px 25px;
+          border-radius: 20px;
+        }
+      }
+    }
+  }
+
+  main {
+    background-color: white;
+    margin-top: 20px;
+    padding-bottom: 50px;
+
+    .el-link {
+      color: #4b9bb7;
+    }
+
+    .leftPx {
+      margin-left: 10px;
+    }
+
+    .mainTitle {
+      line-height: 60px;
+    }
+
+    .main-nav {
+      line-height: 40px;
+      display: flex;
+      padding: 10px;
+      justify-content: space-between;
+    }
+
+    .tools {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      padding: 0 20px;
+
+      .funs {
+        display: flex;
+
+        .funs-sp {
+          border: 1px solid #17324c;
+        }
+
+        .funsItem {
+          line-height: 28px;
+          display: flex;
+          align-items: center;
+
+          border-radius: 4px;
+          font-size: 12px;
+          margin-left: 10px;
+
+          .el-checkbox {
+            width: 80px;
+            padding: 0 10px;
+          }
+
+          .el-select {
+            width: 120px;
+          }
+
+          //&::v-deep .el-input__inner {
+          //  border: none;
+          //  background-color: #09152f;
+          //}
+
+          &:hover {
+            border: 1px solid #4b9bb7;
+          }
+
+          &:hover .el-checkbox {
+            color: #4b9bb7;
+          }
+        }
+      }
+
+      .pagination {
+        margin-top: 50px;
+        display: flex;
+        line-height: 50px;
+        justify-content: center;
+
+        //.el-pagination {
+        //  &::v-deep li,
+        //  &::v-deep .btn-prev,
+        //  &::v-deep .btn-next {
+        //    background-color: #071f39;
+        //    color: #4b9bb7;
+        //  }
+        //
+        //  &::v-deep .active {
+        //    background-color: #409eff;
+        //    color: #fff;
+        //  }
+        //}
+      }
+    }
+
+    .el-table {
+      // color: #606266;
+      // font-size: 10px;
+
+      //&::v-deep .el-table__empty-block {
+      //  background-color: #09152f;
+      //}
+      //
+      //&::v-deep .el-table__empty-block {
+      //  color: #4b9bb7;
+      //}
+
+      .operation {
+        display: flex;
+
+        .line {
+          padding: 0 5px;
+        }
+
+        span:hover {
+          cursor: pointer;
+        }
+      }
+    }
+
+    //.el-table::v-deep .warning-row {
+    //  background: #06122c;
+    //}
+    //
+    //.el-table::v-deep .success-row {
+    //  background: #071f39;
+    //}
+
+    //&::v-deep .switchStyle .el-switch__label {
+    //  position: absolute;
+    //  display: none;
+    //  color: #fff;
+    //}
+    //
+    //&::v-deep .el-switch__core {
+    //  background-color: rgba(166, 166, 166, 1);
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label--left {
+    //  z-index: 9;
+    //  left: 20px;
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label--right {
+    //  z-index: 9;
+    //  left: 4px;
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label.is-active {
+    //  display: block;
+    //}
+    //
+    //&::v-deep .switchStyle.el-switch .el-switch__core,
+    //&::v-deep .el-switch .el-switch__label {
+    //  width: 50px !important;
+    //}
+  }
+
+  //&::v-deep .el-dialog__header,
+  //&::v-deep .el-dialog__body {
+  //  background-color: #06122c;
+  //}
+  //
+  //&::v-deep .el-dialog__header {
+  //  display: flex;
+  //  align-items: center;
+  //  background-color: #fff;
+  //  padding: 20px;
+  //  line-height: 60px;
+  //}
+  //
+  //&::v-deep .el-dialog__title {
+  //  color: #4b9bb7;
+  //}
+  //
+  //&::v-deep .el-dialog__close {
+  //  width: 20px;
+  //  height: 20px;
+  //  // color: #fff;
+  //}
+  //
+  //&::v-deep .el-dialog__body {
+  //  padding: 0;
+  //}
+}
+</style>
diff --git a/.history/src/views/operate/sms/smsIndex/index_20230104105237.vue b/.history/src/views/operate/sms/smsIndex/index_20230104105237.vue
new file mode 100644
index 0000000..4e241b7
--- /dev/null
+++ b/.history/src/views/operate/sms/smsIndex/index_20230104105237.vue
@@ -0,0 +1,631 @@
+<template>
+  <div class="userList">
+    <header>
+      <div class="header-nav">
+        <span class="nav-left">鏁版嵁绛涢��</span>
+      </div>
+      <div class="header-content">
+        <div class="search">
+          <span>杈撳叆鏌ヨ:</span>
+          <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+        </div>
+        <div class="message-status">
+          <span>鐭俊鍥炴墽:</span>
+          <el-select v-model="messageStatus" placeholder="璇烽�夋嫨">
+            <el-option
+                v-for="item in statusList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.label"
+            >
+            </el-option>
+          </el-select>
+        </div>
+        <div class="find">
+          <el-button type="primary" icon="el-icon-search" @click="getTableData"
+          >鏌ヨ
+          </el-button
+          >
+          <el-button icon="el-icon-delete-solid" @click="handleReset"
+          >閲嶇疆
+          </el-button
+          >
+        </div>
+      </div>
+    </header>
+    <main>
+      <div class="mainContent">
+        <div class="main-nav">
+          <span>鏁版嵁鍒楄〃</span>
+          <el-button
+              class="button-addition"
+              type="primary"
+              icon="el-icon-plus"
+              @click="isShowDialog = true"
+          >娣诲姞
+          </el-button
+          >
+        </div>
+        <!-- 鏁版嵁灞曠ず -->
+        <el-table
+            ref="multipleTable"
+            :header-cell-style="{
+            // background: '#06122c',
+            'font-size': '12px',
+            color: '#606266',
+            'font-weight': '650',
+            'line-height': '45px',
+          }"
+            :data="tableData"
+            style="width: 100%"
+            :row-class-name="tableRowClassName"
+            @selection-change="tableChange"
+        >
+          <el-table-column type="selection" min-width="5"></el-table-column>
+          <el-table-column label="ID" min-width="5" prop="id">
+            <template slot-scope="scope">{{ scope.row.id }}</template>
+          </el-table-column>
+          <el-table-column prop="head" label="鏍囬" min-width="10">
+          </el-table-column>
+          <el-table-column prop="createTime" label="鍙戦�佹椂闂�" min-width="10">
+          </el-table-column>
+          <el-table-column prop="targetFrom" label="鍙戦�佽处鍙�" min-width="15">
+          </el-table-column>
+          <el-table-column prop="respondResult" label="鐭俊鍥炴墽" min-width="5">
+          </el-table-column>
+          <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+            <template slot-scope="scope">
+              <div class="operation">
+                <el-link
+                    class="leftPx"
+                    icon="el-icon-delete-solid"
+                    :underline="false"
+                    @click="handleDelete([scope.row.id])"
+                >鍒犻櫎
+                </el-link
+                >
+                <el-link
+                    icon="el-icon-edit"
+                    class="leftPx"
+                    :underline="false"
+                    @click="resend(scope.row)"
+                >閲嶆柊鍙戦��
+                </el-link
+                >
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+        <!-- 鏂板缓娑堟伅 -->
+        <el-dialog
+            title="鏂板缓娑堟伅"
+            :destroy-on-close="true"
+            :key="dialogType"
+            :visible.sync="isShowDialog"
+            width="80%"
+            :before-close="handleConfirmClose"
+        >
+          <MyCreate @closeMyDialog="closeDialog" :type="dialogType"></MyCreate>
+        </el-dialog>
+        <div class="tools">
+          <div class="funs">
+            <div class="funsItem funs-sp">
+              <el-checkbox v-model="all" @change="selectAll()"
+              >鍏ㄩ��
+              </el-checkbox
+              >
+            </div>
+            <div class="funsItem funs-sp">
+              <el-checkbox v-model="unsame" @change="disSame(tableData)"
+              >鍙嶉��
+              </el-checkbox
+              >
+            </div>
+            <div class="funsItem">
+              <el-select
+                  v-model="myIdx"
+                  placeholder="鎵归噺鎿嶄綔"
+                  @change="selectChange"
+              >
+                <el-option
+                    v-for="item in options"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </div>
+          </div>
+          <div class="pagination">
+            <el-pagination
+                background
+                :current-page="currentPage"
+                layout="prev, pager, next"
+                :total="totalNum"
+                :page-size="pageSize"
+                @current-change="changeCurrentPage"
+            >
+            </el-pagination>
+          </div>
+        </div>
+      </div>
+    </main>
+  </div>
+</template>
+<script>
+import helper from "@/utils/mydate";
+import MyCreate from "./createSms";
+import {
+  getMessageList,
+  deleteMessage,
+  sendMessage,
+} from "@/api/operate/messageManagement";
+
+export default {
+  components: {
+    MyCreate,
+  },
+  data() {
+    return {
+      tableData: [],
+      context: null,
+      isShowDialog: false,
+      totalNum: null,
+      pageSize: 10,
+      currentPage: 1,
+      all: false,
+      unsame: false,
+      myIdx: 0,
+      preMyIdx: 0,
+      options: [
+        {
+          value: 0,
+          label: "鎵归噺鎿嶄綔",
+          disabled: true,
+        },
+        {
+          value: 1,
+          label: "鎵归噺鍚敤",
+        },
+        {
+          value: 2,
+          label: "鎵归噺绂佺敤",
+        },
+        {
+          value: 3,
+          label: "鎵归噺鍒犻櫎",
+        },
+      ],
+      tempList: [],
+      messageStatus: "鍏ㄩ儴",
+      messageKind: "00",
+      statusList: [
+      {
+          label: "鍙戦�佸け璐�",
+          value: 3,
+        },
+        {
+          label: "鍙戦�佹垚鍔�",
+          value: 2,
+        }
+      ],
+      kindList: [
+        {
+          id: "00",
+          columnName: "鍏ㄩ儴",
+        },
+        {
+          id: "01",
+          columnName: "绔欏唴淇�",
+        },
+        {
+          id: "02",
+          columnName: "閭欢",
+        },
+        {
+          id: "03",
+          columnName: "鐭俊",
+        },
+      ],
+      dialogType: "",
+    };
+  },
+  created() {
+    this.getTableData();
+  },
+  methods: {
+    // 閲嶇疆
+    handleReset() {
+      this.context = null;
+      this.currentPage = 1;
+      this.messageStatus = "鍏ㄩ儴";
+      this.getTableData();
+    },
+    // 鍒犻櫎淇℃伅
+    handleDelete(ids) {
+      this.$confirm("纭鍒犻櫎?").then(() => {
+        deleteMessage({ids: ids.join(",")})
+            .then(() => {
+              this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+              this.getTableData();
+            })
+            .catch((err) => this.$message({type: "error", message: err}));
+      });
+    },
+
+    getTableData() {
+      const respondResult =
+          this.messageStatus === "鍏ㄩ儴" ? null : this.messageStatus;
+      getMessageList({
+        channelCode: "02",
+        current: this.currentPage,
+        respondResult,
+        pageSize: this.pageSize,
+        head: this.context,
+      })
+          .then(({records, total}) => {
+            this.tableData = records;
+            this.totalNum = total;
+          })
+          .catch((err) => {
+            this.$message({type: "error", message: err});
+          });
+    },
+
+    resend(data) {
+      if (data.status === 1) {
+        return;
+      }
+      sendMessage(data)
+          .then(() => {
+            this.$message.success("鎿嶄綔鎴愬姛");
+            this.getTableData();
+          })
+          .catch((err) => this.$message.error(`${err}`));
+    },
+
+    // 鎵归噺涓嬫媺妗嗘搷浣�
+    async selectChange(list) {
+      if (this.tempList.length !== 0) {
+        this.preMyIdx = list;
+        if (list === 3) {
+          await this.handleDelete(this.tempList);
+        } else if (list === 2) {
+          await this.mulUpdateStatus(this.tempList, 0);
+        } else {
+          await this.mulUpdateStatus(this.tempList, 1);
+        }
+        this.myIdx = 0;
+      } else {
+        this.myIdx = this.preMyIdx;
+        this.$message({
+          type: "warning",
+          message: "鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁",
+        });
+      }
+    },
+    // 鎵归噺鎿嶄綔
+    mulUpdateStatus(idArr, flag) {
+      this.$confirm(
+          flag === 1
+              ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?"
+              : "鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?"
+      )
+          .then((_) => {
+            this.$axios({
+              method: "post",
+              url: "sccg/role/updateStatusBatch?ids=" + idArr + "&status=" + flag,
+            })
+                .then(() => {
+                  this.getTableData();
+                  this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+                })
+                .catch((err) => {
+                  this.$message({type: "error", message: err});
+                });
+          })
+          .catch((err) => {
+          });
+    },
+    // 琛ㄦ牸鐩戝惉
+    tableChange(list) {
+      this.tempList = [];
+      list.forEach((item) => {
+        this.tempList.push(item.id);
+      });
+      this.all = list.length === this.tableData.length;
+    },
+    // 淇敼鏃堕棿鏍煎紡
+    changeTime({updateTime}) {
+      return helper(updateTime);
+    },
+    // 鍏ㄩ��
+    selectAll() {
+      this.$refs.multipleTable.toggleAllSelection();
+    },
+    // 鍙嶉��
+    disSame(list) {
+      list.forEach((row) => {
+        this.$refs.multipleTable.toggleRowSelection(row);
+      });
+    },
+    // 璁剧疆琛ㄦ牸鏂戦┈绾�
+    tableRowClassName({row, rowIndex}) {
+      if ((rowIndex + 1) % 2 === 0) {
+        return "warning-row";
+      } else {
+        return "success-row";
+      }
+    },
+    // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+    changeCurrentPage(page) {
+      this.currentPage = page;
+      this.getTableData();
+    },
+    // 纭鍏抽棴寮圭獥
+    handleConfirmClose(done) {
+      this.$confirm("纭鍏抽棴?").then(() => {
+        done();
+      });
+    },
+    // 鑷畾涔夊叧闂脊绐�
+    closeDialog() {
+      this.isShowDialog = false;
+      this.getTableData();
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.userList {
+  text-align: left;
+  margin: 10px 20px;
+  color: #606266;
+
+  header {
+    background-color: white;
+
+    .header-nav {
+      line-height: 40px;
+      padding: 0 30px;
+      display: flex;
+      justify-content: space-between;
+      font-weight: 650;
+    }
+
+    .header-content {
+      padding: 0 40px;
+      display: flex;
+      line-height: 100px;
+      // justify-content: space-between;
+      align-items: center;
+
+      span {
+        min-width: 120px;
+        padding-left: 15px;
+      }
+
+      .search,
+      .message-status,
+      .message-kind {
+        display: flex;
+        justify-content: flex-start;
+
+        span {
+          flex: 1;
+        }
+
+        .el-input {
+          flex: 2;
+          color: #606266;
+
+          //&::v-deep .el-input__inner {
+          //  background-color: #09152f;
+          //  border: 1px solid #17324c;
+          //}
+        }
+      }
+
+      .find {
+        margin-left: 15px;
+      }
+
+      .findBtn {
+        line-height: 100px;
+        margin-left: 15px;
+        display: flex;
+        align-items: center;
+        margin-top: -2px;
+
+        .el-button {
+          padding: 12px 25px;
+          border-radius: 20px;
+        }
+      }
+    }
+  }
+
+  main {
+    background-color: white;
+    margin-top: 20px;
+    padding-bottom: 50px;
+
+    .el-link {
+      color: #4b9bb7;
+    }
+
+    .leftPx {
+      margin-left: 10px;
+    }
+
+    .mainTitle {
+      line-height: 60px;
+    }
+
+    .main-nav {
+      line-height: 40px;
+      display: flex;
+      padding: 10px;
+      justify-content: space-between;
+    }
+
+    .tools {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      padding: 0 20px;
+
+      .funs {
+        display: flex;
+
+        .funs-sp {
+          border: 1px solid #17324c;
+        }
+
+        .funsItem {
+          line-height: 28px;
+          display: flex;
+          align-items: center;
+
+          border-radius: 4px;
+          font-size: 12px;
+          margin-left: 10px;
+
+          .el-checkbox {
+            width: 80px;
+            padding: 0 10px;
+          }
+
+          .el-select {
+            width: 120px;
+          }
+
+          //&::v-deep .el-input__inner {
+          //  border: none;
+          //  background-color: #09152f;
+          //}
+
+          &:hover {
+            border: 1px solid #4b9bb7;
+          }
+
+          &:hover .el-checkbox {
+            color: #4b9bb7;
+          }
+        }
+      }
+
+      .pagination {
+        margin-top: 50px;
+        display: flex;
+        line-height: 50px;
+        justify-content: center;
+
+        //.el-pagination {
+        //  &::v-deep li,
+        //  &::v-deep .btn-prev,
+        //  &::v-deep .btn-next {
+        //    background-color: #071f39;
+        //    color: #4b9bb7;
+        //  }
+        //
+        //  &::v-deep .active {
+        //    background-color: #409eff;
+        //    color: #fff;
+        //  }
+        //}
+      }
+    }
+
+    .el-table {
+      // color: #606266;
+      // font-size: 10px;
+
+      //&::v-deep .el-table__empty-block {
+      //  background-color: #09152f;
+      //}
+      //
+      //&::v-deep .el-table__empty-block {
+      //  color: #4b9bb7;
+      //}
+
+      .operation {
+        display: flex;
+
+        .line {
+          padding: 0 5px;
+        }
+
+        span:hover {
+          cursor: pointer;
+        }
+      }
+    }
+
+    //.el-table::v-deep .warning-row {
+    //  background: #06122c;
+    //}
+    //
+    //.el-table::v-deep .success-row {
+    //  background: #071f39;
+    //}
+
+    //&::v-deep .switchStyle .el-switch__label {
+    //  position: absolute;
+    //  display: none;
+    //  color: #fff;
+    //}
+    //
+    //&::v-deep .el-switch__core {
+    //  background-color: rgba(166, 166, 166, 1);
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label--left {
+    //  z-index: 9;
+    //  left: 20px;
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label--right {
+    //  z-index: 9;
+    //  left: 4px;
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label.is-active {
+    //  display: block;
+    //}
+    //
+    //&::v-deep .switchStyle.el-switch .el-switch__core,
+    //&::v-deep .el-switch .el-switch__label {
+    //  width: 50px !important;
+    //}
+  }
+
+  //&::v-deep .el-dialog__header,
+  //&::v-deep .el-dialog__body {
+  //  background-color: #06122c;
+  //}
+  //
+  //&::v-deep .el-dialog__header {
+  //  display: flex;
+  //  align-items: center;
+  //  background-color: #fff;
+  //  padding: 20px;
+  //  line-height: 60px;
+  //}
+  //
+  //&::v-deep .el-dialog__title {
+  //  color: #4b9bb7;
+  //}
+  //
+  //&::v-deep .el-dialog__close {
+  //  width: 20px;
+  //  height: 20px;
+  //  // color: #fff;
+  //}
+  //
+  //&::v-deep .el-dialog__body {
+  //  padding: 0;
+  //}
+}
+</style>
diff --git a/.history/src/views/operate/sms/smsIndex/index_20230104105347.vue b/.history/src/views/operate/sms/smsIndex/index_20230104105347.vue
new file mode 100644
index 0000000..ec42d5d
--- /dev/null
+++ b/.history/src/views/operate/sms/smsIndex/index_20230104105347.vue
@@ -0,0 +1,631 @@
+<template>
+  <div class="userList">
+    <header>
+      <div class="header-nav">
+        <span class="nav-left">鏁版嵁绛涢��</span>
+      </div>
+      <div class="header-content">
+        <div class="search">
+          <span>杈撳叆鏌ヨ:</span>
+          <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+        </div>
+        <div class="message-status">
+          <span>鐭俊鍥炴墽:</span>
+          <el-select v-model="messageStatus" placeholder="璇烽�夋嫨">
+            <el-option
+                v-for="item in statusList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.label"
+            >
+            </el-option>
+          </el-select>
+        </div>
+        <div class="find">
+          <el-button type="primary" icon="el-icon-search" @click="getTableData"
+          >鏌ヨ
+          </el-button
+          >
+          <el-button icon="el-icon-delete-solid" @click="handleReset"
+          >閲嶇疆
+          </el-button
+          >
+        </div>
+      </div>
+    </header>
+    <main>
+      <div class="mainContent">
+        <div class="main-nav">
+          <span>鏁版嵁鍒楄〃</span>
+          <el-button
+              class="button-addition"
+              type="primary"
+              icon="el-icon-plus"
+              @click="isShowDialog = true"
+          >娣诲姞
+          </el-button
+          >
+        </div>
+        <!-- 鏁版嵁灞曠ず -->
+        <el-table
+            ref="multipleTable"
+            :header-cell-style="{
+            // background: '#06122c',
+            'font-size': '12px',
+            color: '#606266',
+            'font-weight': '650',
+            'line-height': '45px',
+          }"
+            :data="tableData"
+            style="width: 100%"
+            :row-class-name="tableRowClassName"
+            @selection-change="tableChange"
+        >
+          <el-table-column type="selection" min-width="5"></el-table-column>
+          <el-table-column label="ID" min-width="5" prop="id">
+            <template slot-scope="scope">{{ scope.row.id }}</template>
+          </el-table-column>
+          <el-table-column prop="head" label="鏍囬" min-width="10">
+          </el-table-column>
+          <el-table-column prop="createTime" label="鍙戦�佹椂闂�" min-width="10">
+          </el-table-column>
+          <el-table-column prop="createUser" label="鍙戦�佽处鍙�" min-width="15">
+          </el-table-column>
+          <el-table-column prop="respondResult" label="鐭俊鍥炴墽" min-width="5">
+          </el-table-column>
+          <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+            <template slot-scope="scope">
+              <div class="operation">
+                <el-link
+                    class="leftPx"
+                    icon="el-icon-delete-solid"
+                    :underline="false"
+                    @click="handleDelete([scope.row.id])"
+                >鍒犻櫎
+                </el-link
+                >
+                <el-link
+                    icon="el-icon-edit"
+                    class="leftPx"
+                    :underline="false"
+                    @click="resend(scope.row)"
+                >閲嶆柊鍙戦��
+                </el-link
+                >
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+        <!-- 鏂板缓娑堟伅 -->
+        <el-dialog
+            title="鏂板缓娑堟伅"
+            :destroy-on-close="true"
+            :key="dialogType"
+            :visible.sync="isShowDialog"
+            width="80%"
+            :before-close="handleConfirmClose"
+        >
+          <MyCreate @closeMyDialog="closeDialog" :type="dialogType"></MyCreate>
+        </el-dialog>
+        <div class="tools">
+          <div class="funs">
+            <div class="funsItem funs-sp">
+              <el-checkbox v-model="all" @change="selectAll()"
+              >鍏ㄩ��
+              </el-checkbox
+              >
+            </div>
+            <div class="funsItem funs-sp">
+              <el-checkbox v-model="unsame" @change="disSame(tableData)"
+              >鍙嶉��
+              </el-checkbox
+              >
+            </div>
+            <div class="funsItem">
+              <el-select
+                  v-model="myIdx"
+                  placeholder="鎵归噺鎿嶄綔"
+                  @change="selectChange"
+              >
+                <el-option
+                    v-for="item in options"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </div>
+          </div>
+          <div class="pagination">
+            <el-pagination
+                background
+                :current-page="currentPage"
+                layout="prev, pager, next"
+                :total="totalNum"
+                :page-size="pageSize"
+                @current-change="changeCurrentPage"
+            >
+            </el-pagination>
+          </div>
+        </div>
+      </div>
+    </main>
+  </div>
+</template>
+<script>
+import helper from "@/utils/mydate";
+import MyCreate from "./createSms";
+import {
+  getMessageList,
+  deleteMessage,
+  sendMessage,
+} from "@/api/operate/messageManagement";
+
+export default {
+  components: {
+    MyCreate,
+  },
+  data() {
+    return {
+      tableData: [],
+      context: null,
+      isShowDialog: false,
+      totalNum: null,
+      pageSize: 10,
+      currentPage: 1,
+      all: false,
+      unsame: false,
+      myIdx: 0,
+      preMyIdx: 0,
+      options: [
+        {
+          value: 0,
+          label: "鎵归噺鎿嶄綔",
+          disabled: true,
+        },
+        {
+          value: 1,
+          label: "鎵归噺鍚敤",
+        },
+        {
+          value: 2,
+          label: "鎵归噺绂佺敤",
+        },
+        {
+          value: 3,
+          label: "鎵归噺鍒犻櫎",
+        },
+      ],
+      tempList: [],
+      messageStatus: "鍏ㄩ儴",
+      messageKind: "00",
+      statusList: [
+      {
+          label: "鍙戦�佸け璐�",
+          value: 3,
+        },
+        {
+          label: "鍙戦�佹垚鍔�",
+          value: 2,
+        }
+      ],
+      kindList: [
+        {
+          id: "00",
+          columnName: "鍏ㄩ儴",
+        },
+        {
+          id: "01",
+          columnName: "绔欏唴淇�",
+        },
+        {
+          id: "02",
+          columnName: "閭欢",
+        },
+        {
+          id: "03",
+          columnName: "鐭俊",
+        },
+      ],
+      dialogType: "",
+    };
+  },
+  created() {
+    this.getTableData();
+  },
+  methods: {
+    // 閲嶇疆
+    handleReset() {
+      this.context = null;
+      this.currentPage = 1;
+      this.messageStatus = "鍏ㄩ儴";
+      this.getTableData();
+    },
+    // 鍒犻櫎淇℃伅
+    handleDelete(ids) {
+      this.$confirm("纭鍒犻櫎?").then(() => {
+        deleteMessage({ids: ids.join(",")})
+            .then(() => {
+              this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+              this.getTableData();
+            })
+            .catch((err) => this.$message({type: "error", message: err}));
+      });
+    },
+
+    getTableData() {
+      const respondResult =
+          this.messageStatus === "鍏ㄩ儴" ? null : this.messageStatus;
+      getMessageList({
+        channelCode: "02",
+        current: this.currentPage,
+        respondResult,
+        pageSize: this.pageSize,
+        head: this.context,
+      })
+          .then(({records, total}) => {
+            this.tableData = records;
+            this.totalNum = total;
+          })
+          .catch((err) => {
+            this.$message({type: "error", message: err});
+          });
+    },
+
+    resend(data) {
+      if (data.status === 1) {
+        return;
+      }
+      sendMessage(data)
+          .then(() => {
+            this.$message.success("鎿嶄綔鎴愬姛");
+            this.getTableData();
+          })
+          .catch((err) => this.$message.error(`${err}`));
+    },
+
+    // 鎵归噺涓嬫媺妗嗘搷浣�
+    async selectChange(list) {
+      if (this.tempList.length !== 0) {
+        this.preMyIdx = list;
+        if (list === 3) {
+          await this.handleDelete(this.tempList);
+        } else if (list === 2) {
+          await this.mulUpdateStatus(this.tempList, 0);
+        } else {
+          await this.mulUpdateStatus(this.tempList, 1);
+        }
+        this.myIdx = 0;
+      } else {
+        this.myIdx = this.preMyIdx;
+        this.$message({
+          type: "warning",
+          message: "鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁",
+        });
+      }
+    },
+    // 鎵归噺鎿嶄綔
+    mulUpdateStatus(idArr, flag) {
+      this.$confirm(
+          flag === 1
+              ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?"
+              : "鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?"
+      )
+          .then((_) => {
+            this.$axios({
+              method: "post",
+              url: "sccg/role/updateStatusBatch?ids=" + idArr + "&status=" + flag,
+            })
+                .then(() => {
+                  this.getTableData();
+                  this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+                })
+                .catch((err) => {
+                  this.$message({type: "error", message: err});
+                });
+          })
+          .catch((err) => {
+          });
+    },
+    // 琛ㄦ牸鐩戝惉
+    tableChange(list) {
+      this.tempList = [];
+      list.forEach((item) => {
+        this.tempList.push(item.id);
+      });
+      this.all = list.length === this.tableData.length;
+    },
+    // 淇敼鏃堕棿鏍煎紡
+    changeTime({updateTime}) {
+      return helper(updateTime);
+    },
+    // 鍏ㄩ��
+    selectAll() {
+      this.$refs.multipleTable.toggleAllSelection();
+    },
+    // 鍙嶉��
+    disSame(list) {
+      list.forEach((row) => {
+        this.$refs.multipleTable.toggleRowSelection(row);
+      });
+    },
+    // 璁剧疆琛ㄦ牸鏂戦┈绾�
+    tableRowClassName({row, rowIndex}) {
+      if ((rowIndex + 1) % 2 === 0) {
+        return "warning-row";
+      } else {
+        return "success-row";
+      }
+    },
+    // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+    changeCurrentPage(page) {
+      this.currentPage = page;
+      this.getTableData();
+    },
+    // 纭鍏抽棴寮圭獥
+    handleConfirmClose(done) {
+      this.$confirm("纭鍏抽棴?").then(() => {
+        done();
+      });
+    },
+    // 鑷畾涔夊叧闂脊绐�
+    closeDialog() {
+      this.isShowDialog = false;
+      this.getTableData();
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.userList {
+  text-align: left;
+  margin: 10px 20px;
+  color: #606266;
+
+  header {
+    background-color: white;
+
+    .header-nav {
+      line-height: 40px;
+      padding: 0 30px;
+      display: flex;
+      justify-content: space-between;
+      font-weight: 650;
+    }
+
+    .header-content {
+      padding: 0 40px;
+      display: flex;
+      line-height: 100px;
+      // justify-content: space-between;
+      align-items: center;
+
+      span {
+        min-width: 120px;
+        padding-left: 15px;
+      }
+
+      .search,
+      .message-status,
+      .message-kind {
+        display: flex;
+        justify-content: flex-start;
+
+        span {
+          flex: 1;
+        }
+
+        .el-input {
+          flex: 2;
+          color: #606266;
+
+          //&::v-deep .el-input__inner {
+          //  background-color: #09152f;
+          //  border: 1px solid #17324c;
+          //}
+        }
+      }
+
+      .find {
+        margin-left: 15px;
+      }
+
+      .findBtn {
+        line-height: 100px;
+        margin-left: 15px;
+        display: flex;
+        align-items: center;
+        margin-top: -2px;
+
+        .el-button {
+          padding: 12px 25px;
+          border-radius: 20px;
+        }
+      }
+    }
+  }
+
+  main {
+    background-color: white;
+    margin-top: 20px;
+    padding-bottom: 50px;
+
+    .el-link {
+      color: #4b9bb7;
+    }
+
+    .leftPx {
+      margin-left: 10px;
+    }
+
+    .mainTitle {
+      line-height: 60px;
+    }
+
+    .main-nav {
+      line-height: 40px;
+      display: flex;
+      padding: 10px;
+      justify-content: space-between;
+    }
+
+    .tools {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      padding: 0 20px;
+
+      .funs {
+        display: flex;
+
+        .funs-sp {
+          border: 1px solid #17324c;
+        }
+
+        .funsItem {
+          line-height: 28px;
+          display: flex;
+          align-items: center;
+
+          border-radius: 4px;
+          font-size: 12px;
+          margin-left: 10px;
+
+          .el-checkbox {
+            width: 80px;
+            padding: 0 10px;
+          }
+
+          .el-select {
+            width: 120px;
+          }
+
+          //&::v-deep .el-input__inner {
+          //  border: none;
+          //  background-color: #09152f;
+          //}
+
+          &:hover {
+            border: 1px solid #4b9bb7;
+          }
+
+          &:hover .el-checkbox {
+            color: #4b9bb7;
+          }
+        }
+      }
+
+      .pagination {
+        margin-top: 50px;
+        display: flex;
+        line-height: 50px;
+        justify-content: center;
+
+        //.el-pagination {
+        //  &::v-deep li,
+        //  &::v-deep .btn-prev,
+        //  &::v-deep .btn-next {
+        //    background-color: #071f39;
+        //    color: #4b9bb7;
+        //  }
+        //
+        //  &::v-deep .active {
+        //    background-color: #409eff;
+        //    color: #fff;
+        //  }
+        //}
+      }
+    }
+
+    .el-table {
+      // color: #606266;
+      // font-size: 10px;
+
+      //&::v-deep .el-table__empty-block {
+      //  background-color: #09152f;
+      //}
+      //
+      //&::v-deep .el-table__empty-block {
+      //  color: #4b9bb7;
+      //}
+
+      .operation {
+        display: flex;
+
+        .line {
+          padding: 0 5px;
+        }
+
+        span:hover {
+          cursor: pointer;
+        }
+      }
+    }
+
+    //.el-table::v-deep .warning-row {
+    //  background: #06122c;
+    //}
+    //
+    //.el-table::v-deep .success-row {
+    //  background: #071f39;
+    //}
+
+    //&::v-deep .switchStyle .el-switch__label {
+    //  position: absolute;
+    //  display: none;
+    //  color: #fff;
+    //}
+    //
+    //&::v-deep .el-switch__core {
+    //  background-color: rgba(166, 166, 166, 1);
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label--left {
+    //  z-index: 9;
+    //  left: 20px;
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label--right {
+    //  z-index: 9;
+    //  left: 4px;
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label.is-active {
+    //  display: block;
+    //}
+    //
+    //&::v-deep .switchStyle.el-switch .el-switch__core,
+    //&::v-deep .el-switch .el-switch__label {
+    //  width: 50px !important;
+    //}
+  }
+
+  //&::v-deep .el-dialog__header,
+  //&::v-deep .el-dialog__body {
+  //  background-color: #06122c;
+  //}
+  //
+  //&::v-deep .el-dialog__header {
+  //  display: flex;
+  //  align-items: center;
+  //  background-color: #fff;
+  //  padding: 20px;
+  //  line-height: 60px;
+  //}
+  //
+  //&::v-deep .el-dialog__title {
+  //  color: #4b9bb7;
+  //}
+  //
+  //&::v-deep .el-dialog__close {
+  //  width: 20px;
+  //  height: 20px;
+  //  // color: #fff;
+  //}
+  //
+  //&::v-deep .el-dialog__body {
+  //  padding: 0;
+  //}
+}
+</style>
diff --git a/.history/src/views/operate/sms/smsIndex/index_20230104105428.vue b/.history/src/views/operate/sms/smsIndex/index_20230104105428.vue
new file mode 100644
index 0000000..4566bd1
--- /dev/null
+++ b/.history/src/views/operate/sms/smsIndex/index_20230104105428.vue
@@ -0,0 +1,631 @@
+<template>
+  <div class="userList">
+    <header>
+      <div class="header-nav">
+        <span class="nav-left">鏁版嵁绛涢��</span>
+      </div>
+      <div class="header-content">
+        <div class="search">
+          <span>杈撳叆鏌ヨ:</span>
+          <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+        </div>
+        <div class="message-status">
+          <span>鐭俊鍥炴墽:</span>
+          <el-select v-model="messageStatus" placeholder="璇烽�夋嫨">
+            <el-option
+                v-for="item in statusList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.label"
+            >
+            </el-option>
+          </el-select>
+        </div>
+        <div class="find">
+          <el-button type="primary" icon="el-icon-search" @click="getTableData"
+          >鏌ヨ
+          </el-button
+          >
+          <el-button icon="el-icon-delete-solid" @click="handleReset"
+          >閲嶇疆
+          </el-button
+          >
+        </div>
+      </div>
+    </header>
+    <main>
+      <div class="mainContent">
+        <div class="main-nav">
+          <span>鏁版嵁鍒楄〃</span>
+          <el-button
+              class="button-addition"
+              type="primary"
+              icon="el-icon-plus"
+              @click="isShowDialog = true"
+          >娣诲姞
+          </el-button
+          >
+        </div>
+        <!-- 鏁版嵁灞曠ず -->
+        <el-table
+            ref="multipleTable"
+            :header-cell-style="{
+            // background: '#06122c',
+            'font-size': '12px',
+            color: '#606266',
+            'font-weight': '650',
+            'line-height': '45px',
+          }"
+            :data="tableData"
+            style="width: 100%"
+            :row-class-name="tableRowClassName"
+            @selection-change="tableChange"
+        >
+          <el-table-column type="selection" min-width="5"></el-table-column>
+          <el-table-column label="ID" min-width="5" prop="id">
+            <template slot-scope="scope">{{ scope.row.id }}</template>
+          </el-table-column>
+          <el-table-column prop="head" label="鏍囬" min-width="10">
+          </el-table-column>
+          <el-table-column prop="createTime" label="鍙戦�佹椂闂�" min-width="10">
+          </el-table-column>
+          <el-table-column prop="createUser" label="鍙戦�佽处鍙�" min-width="15">
+          </el-table-column>
+          <el-table-column prop="respondResult" label="鐭俊鍥炴墽" min-width="5">
+          </el-table-column>
+          <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+            <template slot-scope="scope">
+              <div class="operation">
+                <el-link
+                    class="leftPx"
+                    icon="el-icon-delete-solid"
+                    :underline="false"
+                    @click="handleDelete([scope.row.id])"
+                >鍒犻櫎
+                </el-link
+                >
+                <el-link
+                    icon="el-icon-edit"
+                    class="leftPx"
+                    :underline="false"
+                    @click="resend(scope.row)"
+                >閲嶆柊鍙戦��
+                </el-link
+                >
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+        <!-- 鏂板缓娑堟伅 -->
+        <el-dialog
+            title="鏂板缓娑堟伅"
+            :destroy-on-close="true"
+            :key="dialogType"
+            :visible.sync="isShowDialog"
+            width="80%"
+            :before-close="handleConfirmClose"
+        >
+          <MyCreate @closeMyDialog="closeDialog" :type="dialogType"></MyCreate>
+        </el-dialog>
+        <div class="tools">
+          <div class="funs">
+            <div class="funsItem funs-sp">
+              <el-checkbox v-model="all" @change="selectAll()"
+              >鍏ㄩ��
+              </el-checkbox
+              >
+            </div>
+            <div class="funsItem funs-sp">
+              <el-checkbox v-model="unsame" @change="disSame(tableData)"
+              >鍙嶉��
+              </el-checkbox
+              >
+            </div>
+            <div class="funsItem">
+              <el-select
+                  v-model="myIdx"
+                  placeholder="鎵归噺鎿嶄綔"
+                  @change="selectChange"
+              >
+                <el-option
+                    v-for="item in options"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </div>
+          </div>
+          <div class="pagination">
+            <el-pagination
+                background
+                :current-page="currentPage"
+                layout="prev, pager, next"
+                :total="totalNum"
+                :page-size="pageSize"
+                @current-change="changeCurrentPage"
+            >
+            </el-pagination>
+          </div>
+        </div>
+      </div>
+    </main>
+  </div>
+</template>
+<script>
+import helper from "@/utils/mydate";
+import MyCreate from "./createSms";
+import {
+  getMessageList,
+  deleteMessage,
+  sendMessage,
+} from "@/api/operate/messageManagement";
+
+export default {
+  components: {
+    MyCreate,
+  },
+  data() {
+    return {
+      tableData: [],
+      context: null,
+      isShowDialog: false,
+      totalNum: null,
+      pageSize: 10,
+      currentPage: 1,
+      all: false,
+      unsame: false,
+      myIdx: 0,
+      preMyIdx: 0,
+      options: [
+        {
+          value: 0,
+          label: "鎵归噺鎿嶄綔",
+          disabled: true,
+        },
+        // {
+        //   value: 1,
+        //   label: "鎵归噺鍚敤",
+        // },
+        // {
+        //   value: 2,
+        //   label: "鎵归噺绂佺敤",
+        // },
+        {
+          value: 3,
+          label: "鎵归噺鍒犻櫎",
+        },
+      ],
+      tempList: [],
+      messageStatus: "鍏ㄩ儴",
+      messageKind: "00",
+      statusList: [
+      {
+          label: "鍙戦�佸け璐�",
+          value: 3,
+        },
+        {
+          label: "鍙戦�佹垚鍔�",
+          value: 2,
+        }
+      ],
+      kindList: [
+        {
+          id: "00",
+          columnName: "鍏ㄩ儴",
+        },
+        {
+          id: "01",
+          columnName: "绔欏唴淇�",
+        },
+        {
+          id: "02",
+          columnName: "閭欢",
+        },
+        {
+          id: "03",
+          columnName: "鐭俊",
+        },
+      ],
+      dialogType: "",
+    };
+  },
+  created() {
+    this.getTableData();
+  },
+  methods: {
+    // 閲嶇疆
+    handleReset() {
+      this.context = null;
+      this.currentPage = 1;
+      this.messageStatus = "鍏ㄩ儴";
+      this.getTableData();
+    },
+    // 鍒犻櫎淇℃伅
+    handleDelete(ids) {
+      this.$confirm("纭鍒犻櫎?").then(() => {
+        deleteMessage({ids: ids.join(",")})
+            .then(() => {
+              this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+              this.getTableData();
+            })
+            .catch((err) => this.$message({type: "error", message: err}));
+      });
+    },
+
+    getTableData() {
+      const respondResult =
+          this.messageStatus === "鍏ㄩ儴" ? null : this.messageStatus;
+      getMessageList({
+        channelCode: "02",
+        current: this.currentPage,
+        respondResult,
+        pageSize: this.pageSize,
+        head: this.context,
+      })
+          .then(({records, total}) => {
+            this.tableData = records;
+            this.totalNum = total;
+          })
+          .catch((err) => {
+            this.$message({type: "error", message: err});
+          });
+    },
+
+    resend(data) {
+      if (data.status === 1) {
+        return;
+      }
+      sendMessage(data)
+          .then(() => {
+            this.$message.success("鎿嶄綔鎴愬姛");
+            this.getTableData();
+          })
+          .catch((err) => this.$message.error(`${err}`));
+    },
+
+    // 鎵归噺涓嬫媺妗嗘搷浣�
+    async selectChange(list) {
+      if (this.tempList.length !== 0) {
+        this.preMyIdx = list;
+        if (list === 3) {
+          await this.handleDelete(this.tempList);
+        } else if (list === 2) {
+          await this.mulUpdateStatus(this.tempList, 0);
+        } else {
+          await this.mulUpdateStatus(this.tempList, 1);
+        }
+        this.myIdx = 0;
+      } else {
+        this.myIdx = this.preMyIdx;
+        this.$message({
+          type: "warning",
+          message: "鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁",
+        });
+      }
+    },
+    // 鎵归噺鎿嶄綔
+    mulUpdateStatus(idArr, flag) {
+      this.$confirm(
+          flag === 1
+              ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?"
+              : "鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?"
+      )
+          .then((_) => {
+            this.$axios({
+              method: "post",
+              url: "sccg/role/updateStatusBatch?ids=" + idArr + "&status=" + flag,
+            })
+                .then(() => {
+                  this.getTableData();
+                  this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+                })
+                .catch((err) => {
+                  this.$message({type: "error", message: err});
+                });
+          })
+          .catch((err) => {
+          });
+    },
+    // 琛ㄦ牸鐩戝惉
+    tableChange(list) {
+      this.tempList = [];
+      list.forEach((item) => {
+        this.tempList.push(item.id);
+      });
+      this.all = list.length === this.tableData.length;
+    },
+    // 淇敼鏃堕棿鏍煎紡
+    changeTime({updateTime}) {
+      return helper(updateTime);
+    },
+    // 鍏ㄩ��
+    selectAll() {
+      this.$refs.multipleTable.toggleAllSelection();
+    },
+    // 鍙嶉��
+    disSame(list) {
+      list.forEach((row) => {
+        this.$refs.multipleTable.toggleRowSelection(row);
+      });
+    },
+    // 璁剧疆琛ㄦ牸鏂戦┈绾�
+    tableRowClassName({row, rowIndex}) {
+      if ((rowIndex + 1) % 2 === 0) {
+        return "warning-row";
+      } else {
+        return "success-row";
+      }
+    },
+    // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+    changeCurrentPage(page) {
+      this.currentPage = page;
+      this.getTableData();
+    },
+    // 纭鍏抽棴寮圭獥
+    handleConfirmClose(done) {
+      this.$confirm("纭鍏抽棴?").then(() => {
+        done();
+      });
+    },
+    // 鑷畾涔夊叧闂脊绐�
+    closeDialog() {
+      this.isShowDialog = false;
+      this.getTableData();
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.userList {
+  text-align: left;
+  margin: 10px 20px;
+  color: #606266;
+
+  header {
+    background-color: white;
+
+    .header-nav {
+      line-height: 40px;
+      padding: 0 30px;
+      display: flex;
+      justify-content: space-between;
+      font-weight: 650;
+    }
+
+    .header-content {
+      padding: 0 40px;
+      display: flex;
+      line-height: 100px;
+      // justify-content: space-between;
+      align-items: center;
+
+      span {
+        min-width: 120px;
+        padding-left: 15px;
+      }
+
+      .search,
+      .message-status,
+      .message-kind {
+        display: flex;
+        justify-content: flex-start;
+
+        span {
+          flex: 1;
+        }
+
+        .el-input {
+          flex: 2;
+          color: #606266;
+
+          //&::v-deep .el-input__inner {
+          //  background-color: #09152f;
+          //  border: 1px solid #17324c;
+          //}
+        }
+      }
+
+      .find {
+        margin-left: 15px;
+      }
+
+      .findBtn {
+        line-height: 100px;
+        margin-left: 15px;
+        display: flex;
+        align-items: center;
+        margin-top: -2px;
+
+        .el-button {
+          padding: 12px 25px;
+          border-radius: 20px;
+        }
+      }
+    }
+  }
+
+  main {
+    background-color: white;
+    margin-top: 20px;
+    padding-bottom: 50px;
+
+    .el-link {
+      color: #4b9bb7;
+    }
+
+    .leftPx {
+      margin-left: 10px;
+    }
+
+    .mainTitle {
+      line-height: 60px;
+    }
+
+    .main-nav {
+      line-height: 40px;
+      display: flex;
+      padding: 10px;
+      justify-content: space-between;
+    }
+
+    .tools {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      padding: 0 20px;
+
+      .funs {
+        display: flex;
+
+        .funs-sp {
+          border: 1px solid #17324c;
+        }
+
+        .funsItem {
+          line-height: 28px;
+          display: flex;
+          align-items: center;
+
+          border-radius: 4px;
+          font-size: 12px;
+          margin-left: 10px;
+
+          .el-checkbox {
+            width: 80px;
+            padding: 0 10px;
+          }
+
+          .el-select {
+            width: 120px;
+          }
+
+          //&::v-deep .el-input__inner {
+          //  border: none;
+          //  background-color: #09152f;
+          //}
+
+          &:hover {
+            border: 1px solid #4b9bb7;
+          }
+
+          &:hover .el-checkbox {
+            color: #4b9bb7;
+          }
+        }
+      }
+
+      .pagination {
+        margin-top: 50px;
+        display: flex;
+        line-height: 50px;
+        justify-content: center;
+
+        //.el-pagination {
+        //  &::v-deep li,
+        //  &::v-deep .btn-prev,
+        //  &::v-deep .btn-next {
+        //    background-color: #071f39;
+        //    color: #4b9bb7;
+        //  }
+        //
+        //  &::v-deep .active {
+        //    background-color: #409eff;
+        //    color: #fff;
+        //  }
+        //}
+      }
+    }
+
+    .el-table {
+      // color: #606266;
+      // font-size: 10px;
+
+      //&::v-deep .el-table__empty-block {
+      //  background-color: #09152f;
+      //}
+      //
+      //&::v-deep .el-table__empty-block {
+      //  color: #4b9bb7;
+      //}
+
+      .operation {
+        display: flex;
+
+        .line {
+          padding: 0 5px;
+        }
+
+        span:hover {
+          cursor: pointer;
+        }
+      }
+    }
+
+    //.el-table::v-deep .warning-row {
+    //  background: #06122c;
+    //}
+    //
+    //.el-table::v-deep .success-row {
+    //  background: #071f39;
+    //}
+
+    //&::v-deep .switchStyle .el-switch__label {
+    //  position: absolute;
+    //  display: none;
+    //  color: #fff;
+    //}
+    //
+    //&::v-deep .el-switch__core {
+    //  background-color: rgba(166, 166, 166, 1);
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label--left {
+    //  z-index: 9;
+    //  left: 20px;
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label--right {
+    //  z-index: 9;
+    //  left: 4px;
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label.is-active {
+    //  display: block;
+    //}
+    //
+    //&::v-deep .switchStyle.el-switch .el-switch__core,
+    //&::v-deep .el-switch .el-switch__label {
+    //  width: 50px !important;
+    //}
+  }
+
+  //&::v-deep .el-dialog__header,
+  //&::v-deep .el-dialog__body {
+  //  background-color: #06122c;
+  //}
+  //
+  //&::v-deep .el-dialog__header {
+  //  display: flex;
+  //  align-items: center;
+  //  background-color: #fff;
+  //  padding: 20px;
+  //  line-height: 60px;
+  //}
+  //
+  //&::v-deep .el-dialog__title {
+  //  color: #4b9bb7;
+  //}
+  //
+  //&::v-deep .el-dialog__close {
+  //  width: 20px;
+  //  height: 20px;
+  //  // color: #fff;
+  //}
+  //
+  //&::v-deep .el-dialog__body {
+  //  padding: 0;
+  //}
+}
+</style>
diff --git a/.history/src/views/operate/sms/smsIndex/index_20230104110238.vue b/.history/src/views/operate/sms/smsIndex/index_20230104110238.vue
new file mode 100644
index 0000000..c3c9330
--- /dev/null
+++ b/.history/src/views/operate/sms/smsIndex/index_20230104110238.vue
@@ -0,0 +1,633 @@
+<template>
+  <div class="userList">
+    <header>
+      <div class="header-nav">
+        <span class="nav-left">鏁版嵁绛涢��</span>
+      </div>
+      <div class="header-content">
+        <div class="search">
+          <span>杈撳叆鏌ヨ:</span>
+          <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+        </div>
+        <div class="message-status">
+          <span>鐭俊鍥炴墽:</span>
+          <el-select v-model="messageStatus" placeholder="璇烽�夋嫨">
+            <el-option
+                v-for="item in statusList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.label"
+            >
+            </el-option>
+          </el-select>
+        </div>
+        <div class="find">
+          <el-button type="primary" icon="el-icon-search" @click="getTableData"
+          >鏌ヨ
+          </el-button
+          >
+          <el-button icon="el-icon-delete-solid" @click="handleReset"
+          >閲嶇疆
+          </el-button
+          >
+        </div>
+      </div>
+    </header>
+    <main>
+      <div class="mainContent">
+        <div class="main-nav">
+          <span>鏁版嵁鍒楄〃</span>
+          <el-button
+              class="button-addition"
+              type="primary"
+              icon="el-icon-plus"
+              @click="isShowDialog = true"
+          >娣诲姞
+          </el-button
+          >
+        </div>
+        <!-- 鏁版嵁灞曠ず -->
+        <el-table
+            ref="multipleTable"
+            :header-cell-style="{
+            // background: '#06122c',
+            'font-size': '12px',
+            color: '#606266',
+            'font-weight': '650',
+            'line-height': '45px',
+          }"
+            :data="tableData"
+            style="width: 100%"
+            :row-class-name="tableRowClassName"
+            @selection-change="tableChange"
+        >
+          <el-table-column type="selection" min-width="5"></el-table-column>
+          <el-table-column label="ID" min-width="5" prop="id">
+            <template slot-scope="scope">{{ scope.row.id }}</template>
+          </el-table-column>
+          <el-table-column prop="head" label="鏍囬" min-width="10">
+          </el-table-column>
+          <el-table-column prop="createTime" label="鍙戦�佹椂闂�" min-width="10">
+          </el-table-column>
+          <el-table-column prop="createUser" label="鍙戦�佽处鍙�" min-width="15">
+          </el-table-column>
+          <el-table-column prop="respondResult" label="鐭俊鍥炴墽" min-width="5">
+          </el-table-column>
+          <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+            <template slot-scope="scope">
+              <div class="operation">
+                <el-link
+                    class="leftPx"
+                    icon="el-icon-delete-solid"
+                    :underline="false"
+                    @click="handleDelete([scope.row.id])"
+                >鍒犻櫎
+                </el-link
+                >
+                <el-link
+                    icon="el-icon-edit"
+                    class="leftPx"
+                    :underline="false"
+                    @click="resend(scope.row)"
+                >閲嶆柊鍙戦��
+                </el-link
+                >
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+        <!-- 鏂板缓娑堟伅 -->
+        <el-dialog
+            title="鏂板缓娑堟伅"
+            :destroy-on-close="true"
+            :key="dialogType"
+            :visible.sync="isShowDialog"
+            width="80%"
+            :before-close="handleConfirmClose"
+        >
+          <MyCreate @closeMyDialog="closeDialog" :type="dialogType"></MyCreate>
+        </el-dialog>
+        <div class="tools">
+          <div class="funs">
+            <div class="funsItem funs-sp">
+              <el-checkbox v-model="all" @change="selectAll()"
+              >鍏ㄩ��
+              </el-checkbox
+              >
+            </div>
+            <div class="funsItem funs-sp">
+              <el-checkbox v-model="unsame" @change="disSame(tableData)"
+              >鍙嶉��
+              </el-checkbox
+              >
+            </div>
+            <div class="funsItem">
+              <el-select
+                  v-model="myIdx"
+                  placeholder="鎵归噺鎿嶄綔"
+                  @change="selectChange"
+              >
+                <el-option
+                    v-for="item in options"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </div>
+          </div>
+          <div class="pagination">
+            <el-pagination
+                background
+                :current-page="currentPage"
+                layout="prev, pager, next"
+                :total="totalNum"
+                :page-size="pageSize"
+                @current-change="changeCurrentPage"
+            >
+            </el-pagination>
+          </div>
+        </div>
+      </div>
+    </main>
+  </div>
+</template>
+<script>
+import helper from "@/utils/mydate";
+import MyCreate from "./createSms";
+import {
+  getMessageList,
+  deleteMessage,
+  sendMessage,
+} from "@/api/operate/messageManagement";
+
+export default {
+  components: {
+    MyCreate,
+  },
+  data() {
+    return {
+      tableData: [],
+      context: null,
+      isShowDialog: false,
+      totalNum: null,
+      pageSize: 10,
+      currentPage: 1,
+      all: false,
+      unsame: false,
+      myIdx: 0,
+      preMyIdx: 0,
+      options: [
+        {
+          value: 0,
+          label: "鎵归噺鎿嶄綔",
+          disabled: true,
+        },
+        // {
+        //   value: 1,
+        //   label: "鎵归噺鍚敤",
+        // },
+        // {
+        //   value: 2,
+        //   label: "鎵归噺绂佺敤",
+        // },
+        {
+          value: 3,
+          label: "鎵归噺鍒犻櫎",
+        },
+      ],
+      tempList: [],
+      messageStatus: "鍏ㄩ儴",
+      messageKind: "00",
+      statusList: [
+      {
+          label: "鍙戦�佸け璐�",
+          value: 3,
+        },
+        {
+          label: "鍙戦�佹垚鍔�",
+          value: 2,
+        }
+      ],
+      kindList: [
+        {
+          id: "00",
+          columnName: "鍏ㄩ儴",
+        },
+        {
+          id: "01",
+          columnName: "绔欏唴淇�",
+        },
+        {
+          id: "02",
+          columnName: "閭欢",
+        },
+        {
+          id: "03",
+          columnName: "鐭俊",
+        },
+      ],
+      dialogType: "",
+    };
+  },
+  created() {
+    this.getTableData();
+  },
+  methods: {
+    // 閲嶇疆
+    handleReset() {
+      this.context = null;
+      this.currentPage = 1;
+      this.messageStatus = "鍏ㄩ儴";
+      this.getTableData();
+    },
+    // 鍒犻櫎淇℃伅
+    handleDelete(ids) {
+      this.$confirm("纭鍒犻櫎?").then(() => {
+        deleteMessage({ids: ids.join(",")})
+            .then(() => {
+              this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+              this.getTableData();
+            })
+            .catch((err) => this.$message({type: "error", message: err}));
+      });
+    },
+
+    getTableData() {
+      const respondResult =
+          this.messageStatus === "鍏ㄩ儴" ? null : this.messageStatus;
+      getMessageList({
+        channelCode: "02",
+        current: this.currentPage,
+        respondResult,
+        pageSize: this.pageSize,
+        head: this.context,
+      })
+          .then(({records, total}) => {
+            this.tableData = records;
+            this.totalNum = total;
+          })
+          .catch((err) => {
+            this.$message({type: "error", message: err});
+          });
+    },
+
+    resend(data) {
+      if (data.status === 2) {
+        return;
+      }
+      data.createTime='',
+      data.sendTime='',
+      sendMessage(data)
+          .then(() => {
+            this.$message.success("鎿嶄綔鎴愬姛");
+            this.getTableData();
+          })
+          .catch((err) => this.$message.error(`${err}`));
+    },
+
+    // 鎵归噺涓嬫媺妗嗘搷浣�
+    async selectChange(list) {
+      if (this.tempList.length !== 0) {
+        this.preMyIdx = list;
+        if (list === 3) {
+          await this.handleDelete(this.tempList);
+        } else if (list === 2) {
+          await this.mulUpdateStatus(this.tempList, 0);
+        } else {
+          await this.mulUpdateStatus(this.tempList, 1);
+        }
+        this.myIdx = 0;
+      } else {
+        this.myIdx = this.preMyIdx;
+        this.$message({
+          type: "warning",
+          message: "鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁",
+        });
+      }
+    },
+    // 鎵归噺鎿嶄綔
+    mulUpdateStatus(idArr, flag) {
+      this.$confirm(
+          flag === 1
+              ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?"
+              : "鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?"
+      )
+          .then((_) => {
+            this.$axios({
+              method: "post",
+              url: "sccg/role/updateStatusBatch?ids=" + idArr + "&status=" + flag,
+            })
+                .then(() => {
+                  this.getTableData();
+                  this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+                })
+                .catch((err) => {
+                  this.$message({type: "error", message: err});
+                });
+          })
+          .catch((err) => {
+          });
+    },
+    // 琛ㄦ牸鐩戝惉
+    tableChange(list) {
+      this.tempList = [];
+      list.forEach((item) => {
+        this.tempList.push(item.id);
+      });
+      this.all = list.length === this.tableData.length;
+    },
+    // 淇敼鏃堕棿鏍煎紡
+    changeTime({updateTime}) {
+      return helper(updateTime);
+    },
+    // 鍏ㄩ��
+    selectAll() {
+      this.$refs.multipleTable.toggleAllSelection();
+    },
+    // 鍙嶉��
+    disSame(list) {
+      list.forEach((row) => {
+        this.$refs.multipleTable.toggleRowSelection(row);
+      });
+    },
+    // 璁剧疆琛ㄦ牸鏂戦┈绾�
+    tableRowClassName({row, rowIndex}) {
+      if ((rowIndex + 1) % 2 === 0) {
+        return "warning-row";
+      } else {
+        return "success-row";
+      }
+    },
+    // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+    changeCurrentPage(page) {
+      this.currentPage = page;
+      this.getTableData();
+    },
+    // 纭鍏抽棴寮圭獥
+    handleConfirmClose(done) {
+      this.$confirm("纭鍏抽棴?").then(() => {
+        done();
+      });
+    },
+    // 鑷畾涔夊叧闂脊绐�
+    closeDialog() {
+      this.isShowDialog = false;
+      this.getTableData();
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.userList {
+  text-align: left;
+  margin: 10px 20px;
+  color: #606266;
+
+  header {
+    background-color: white;
+
+    .header-nav {
+      line-height: 40px;
+      padding: 0 30px;
+      display: flex;
+      justify-content: space-between;
+      font-weight: 650;
+    }
+
+    .header-content {
+      padding: 0 40px;
+      display: flex;
+      line-height: 100px;
+      // justify-content: space-between;
+      align-items: center;
+
+      span {
+        min-width: 120px;
+        padding-left: 15px;
+      }
+
+      .search,
+      .message-status,
+      .message-kind {
+        display: flex;
+        justify-content: flex-start;
+
+        span {
+          flex: 1;
+        }
+
+        .el-input {
+          flex: 2;
+          color: #606266;
+
+          //&::v-deep .el-input__inner {
+          //  background-color: #09152f;
+          //  border: 1px solid #17324c;
+          //}
+        }
+      }
+
+      .find {
+        margin-left: 15px;
+      }
+
+      .findBtn {
+        line-height: 100px;
+        margin-left: 15px;
+        display: flex;
+        align-items: center;
+        margin-top: -2px;
+
+        .el-button {
+          padding: 12px 25px;
+          border-radius: 20px;
+        }
+      }
+    }
+  }
+
+  main {
+    background-color: white;
+    margin-top: 20px;
+    padding-bottom: 50px;
+
+    .el-link {
+      color: #4b9bb7;
+    }
+
+    .leftPx {
+      margin-left: 10px;
+    }
+
+    .mainTitle {
+      line-height: 60px;
+    }
+
+    .main-nav {
+      line-height: 40px;
+      display: flex;
+      padding: 10px;
+      justify-content: space-between;
+    }
+
+    .tools {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      padding: 0 20px;
+
+      .funs {
+        display: flex;
+
+        .funs-sp {
+          border: 1px solid #17324c;
+        }
+
+        .funsItem {
+          line-height: 28px;
+          display: flex;
+          align-items: center;
+
+          border-radius: 4px;
+          font-size: 12px;
+          margin-left: 10px;
+
+          .el-checkbox {
+            width: 80px;
+            padding: 0 10px;
+          }
+
+          .el-select {
+            width: 120px;
+          }
+
+          //&::v-deep .el-input__inner {
+          //  border: none;
+          //  background-color: #09152f;
+          //}
+
+          &:hover {
+            border: 1px solid #4b9bb7;
+          }
+
+          &:hover .el-checkbox {
+            color: #4b9bb7;
+          }
+        }
+      }
+
+      .pagination {
+        margin-top: 50px;
+        display: flex;
+        line-height: 50px;
+        justify-content: center;
+
+        //.el-pagination {
+        //  &::v-deep li,
+        //  &::v-deep .btn-prev,
+        //  &::v-deep .btn-next {
+        //    background-color: #071f39;
+        //    color: #4b9bb7;
+        //  }
+        //
+        //  &::v-deep .active {
+        //    background-color: #409eff;
+        //    color: #fff;
+        //  }
+        //}
+      }
+    }
+
+    .el-table {
+      // color: #606266;
+      // font-size: 10px;
+
+      //&::v-deep .el-table__empty-block {
+      //  background-color: #09152f;
+      //}
+      //
+      //&::v-deep .el-table__empty-block {
+      //  color: #4b9bb7;
+      //}
+
+      .operation {
+        display: flex;
+
+        .line {
+          padding: 0 5px;
+        }
+
+        span:hover {
+          cursor: pointer;
+        }
+      }
+    }
+
+    //.el-table::v-deep .warning-row {
+    //  background: #06122c;
+    //}
+    //
+    //.el-table::v-deep .success-row {
+    //  background: #071f39;
+    //}
+
+    //&::v-deep .switchStyle .el-switch__label {
+    //  position: absolute;
+    //  display: none;
+    //  color: #fff;
+    //}
+    //
+    //&::v-deep .el-switch__core {
+    //  background-color: rgba(166, 166, 166, 1);
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label--left {
+    //  z-index: 9;
+    //  left: 20px;
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label--right {
+    //  z-index: 9;
+    //  left: 4px;
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label.is-active {
+    //  display: block;
+    //}
+    //
+    //&::v-deep .switchStyle.el-switch .el-switch__core,
+    //&::v-deep .el-switch .el-switch__label {
+    //  width: 50px !important;
+    //}
+  }
+
+  //&::v-deep .el-dialog__header,
+  //&::v-deep .el-dialog__body {
+  //  background-color: #06122c;
+  //}
+  //
+  //&::v-deep .el-dialog__header {
+  //  display: flex;
+  //  align-items: center;
+  //  background-color: #fff;
+  //  padding: 20px;
+  //  line-height: 60px;
+  //}
+  //
+  //&::v-deep .el-dialog__title {
+  //  color: #4b9bb7;
+  //}
+  //
+  //&::v-deep .el-dialog__close {
+  //  width: 20px;
+  //  height: 20px;
+  //  // color: #fff;
+  //}
+  //
+  //&::v-deep .el-dialog__body {
+  //  padding: 0;
+  //}
+}
+</style>
diff --git a/.history/src/views/operate/sms/smsIndex/index_20230104110359.vue b/.history/src/views/operate/sms/smsIndex/index_20230104110359.vue
new file mode 100644
index 0000000..28c4d71
--- /dev/null
+++ b/.history/src/views/operate/sms/smsIndex/index_20230104110359.vue
@@ -0,0 +1,634 @@
+<template>
+  <div class="userList">
+    <header>
+      <div class="header-nav">
+        <span class="nav-left">鏁版嵁绛涢��</span>
+      </div>
+      <div class="header-content">
+        <div class="search">
+          <span>杈撳叆鏌ヨ:</span>
+          <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+        </div>
+        <div class="message-status">
+          <span>鐭俊鍥炴墽:</span>
+          <el-select v-model="messageStatus" placeholder="璇烽�夋嫨">
+            <el-option
+                v-for="item in statusList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.label"
+            >
+            </el-option>
+          </el-select>
+        </div>
+        <div class="find">
+          <el-button type="primary" icon="el-icon-search" @click="getTableData"
+          >鏌ヨ
+          </el-button
+          >
+          <el-button icon="el-icon-delete-solid" @click="handleReset"
+          >閲嶇疆
+          </el-button
+          >
+        </div>
+      </div>
+    </header>
+    <main>
+      <div class="mainContent">
+        <div class="main-nav">
+          <span>鏁版嵁鍒楄〃</span>
+          <el-button
+              class="button-addition"
+              type="primary"
+              icon="el-icon-plus"
+              @click="isShowDialog = true"
+          >娣诲姞
+          </el-button
+          >
+        </div>
+        <!-- 鏁版嵁灞曠ず -->
+        <el-table
+            ref="multipleTable"
+            :header-cell-style="{
+            // background: '#06122c',
+            'font-size': '12px',
+            color: '#606266',
+            'font-weight': '650',
+            'line-height': '45px',
+          }"
+            :data="tableData"
+            style="width: 100%"
+            :row-class-name="tableRowClassName"
+            @selection-change="tableChange"
+        >
+          <el-table-column type="selection" min-width="5"></el-table-column>
+          <el-table-column label="ID" min-width="5" prop="id">
+            <template slot-scope="scope">{{ scope.row.id }}</template>
+          </el-table-column>
+          <el-table-column prop="head" label="鏍囬" min-width="10">
+          </el-table-column>
+          <el-table-column prop="createTime" label="鍙戦�佹椂闂�" min-width="10">
+          </el-table-column>
+          <el-table-column prop="createUser" label="鍙戦�佽处鍙�" min-width="15">
+          </el-table-column>
+          <el-table-column prop="respondResult" label="鐭俊鍥炴墽" min-width="5">
+          </el-table-column>
+          <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+            <template slot-scope="scope">
+              <div class="operation">
+                <el-link
+                    class="leftPx"
+                    icon="el-icon-delete-solid"
+                    :underline="false"
+                    @click="handleDelete([scope.row.id])"
+                >鍒犻櫎
+                </el-link
+                >
+                <el-link
+                    icon="el-icon-edit"
+                    class="leftPx"
+                    :underline="false"
+                    @click="resend(scope.row)"
+                >閲嶆柊鍙戦��
+                </el-link
+                >
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+        <!-- 鏂板缓娑堟伅 -->
+        <el-dialog
+            title="鏂板缓娑堟伅"
+            :destroy-on-close="true"
+            :key="dialogType"
+            :visible.sync="isShowDialog"
+            width="80%"
+            :before-close="handleConfirmClose"
+        >
+          <MyCreate @closeMyDialog="closeDialog" :type="dialogType"></MyCreate>
+        </el-dialog>
+        <div class="tools">
+          <div class="funs">
+            <div class="funsItem funs-sp">
+              <el-checkbox v-model="all" @change="selectAll()"
+              >鍏ㄩ��
+              </el-checkbox
+              >
+            </div>
+            <div class="funsItem funs-sp">
+              <el-checkbox v-model="unsame" @change="disSame(tableData)"
+              >鍙嶉��
+              </el-checkbox
+              >
+            </div>
+            <div class="funsItem">
+              <el-select
+                  v-model="myIdx"
+                  placeholder="鎵归噺鎿嶄綔"
+                  @change="selectChange"
+              >
+                <el-option
+                    v-for="item in options"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </div>
+          </div>
+          <div class="pagination">
+            <el-pagination
+                background
+                :current-page="currentPage"
+                layout="prev, pager, next"
+                :total="totalNum"
+                :page-size="pageSize"
+                @current-change="changeCurrentPage"
+            >
+            </el-pagination>
+          </div>
+        </div>
+      </div>
+    </main>
+  </div>
+</template>
+<script>
+import helper from "@/utils/mydate";
+import MyCreate from "./createSms";
+import {
+  getMessageList,
+  deleteMessage,
+  sendMessage,
+} from "@/api/operate/messageManagement";
+
+export default {
+  components: {
+    MyCreate,
+  },
+  data() {
+    return {
+      tableData: [],
+      context: null,
+      isShowDialog: false,
+      totalNum: null,
+      pageSize: 10,
+      currentPage: 1,
+      all: false,
+      unsame: false,
+      myIdx: 0,
+      preMyIdx: 0,
+      options: [
+        {
+          value: 0,
+          label: "鎵归噺鎿嶄綔",
+          disabled: true,
+        },
+        // {
+        //   value: 1,
+        //   label: "鎵归噺鍚敤",
+        // },
+        // {
+        //   value: 2,
+        //   label: "鎵归噺绂佺敤",
+        // },
+        {
+          value: 3,
+          label: "鎵归噺鍒犻櫎",
+        },
+      ],
+      tempList: [],
+      messageStatus: "鍏ㄩ儴",
+      messageKind: "00",
+      statusList: [
+      {
+          label: "鍙戦�佸け璐�",
+          value: 3,
+        },
+        {
+          label: "鍙戦�佹垚鍔�",
+          value: 2,
+        }
+      ],
+      kindList: [
+        {
+          id: "00",
+          columnName: "鍏ㄩ儴",
+        },
+        {
+          id: "01",
+          columnName: "绔欏唴淇�",
+        },
+        {
+          id: "02",
+          columnName: "閭欢",
+        },
+        {
+          id: "03",
+          columnName: "鐭俊",
+        },
+      ],
+      dialogType: "",
+    };
+  },
+  created() {
+    this.getTableData();
+  },
+  methods: {
+    // 閲嶇疆
+    handleReset() {
+      this.context = null;
+      this.currentPage = 1;
+      this.messageStatus = "鍏ㄩ儴";
+      this.getTableData();
+    },
+    // 鍒犻櫎淇℃伅
+    handleDelete(ids) {
+      this.$confirm("纭鍒犻櫎?").then(() => {
+        deleteMessage({ids: ids.join(",")})
+            .then(() => {
+              this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+              this.getTableData();
+            })
+            .catch((err) => this.$message({type: "error", message: err}));
+      });
+    },
+
+    getTableData() {
+      const respondResult =
+          this.messageStatus === "鍏ㄩ儴" ? null : this.messageStatus;
+      getMessageList({
+        channelCode: "02",
+        current: this.currentPage,
+        respondResult,
+        pageSize: this.pageSize,
+        head: this.context,
+      })
+          .then(({records, total}) => {
+            this.tableData = records;
+            this.totalNum = total;
+          })
+          .catch((err) => {
+            this.$message({type: "error", message: err});
+          });
+    },
+
+    resend(data) {
+      if (data.status === 2) {
+        return;
+      }
+      data.createTime='',
+      data.sendTime='',
+      data.createUser=null,
+      sendMessage(data)
+          .then(() => {
+            this.$message.success("鎿嶄綔鎴愬姛");
+            this.getTableData();
+          })
+          .catch((err) => this.$message.error(`${err}`));
+    },
+
+    // 鎵归噺涓嬫媺妗嗘搷浣�
+    async selectChange(list) {
+      if (this.tempList.length !== 0) {
+        this.preMyIdx = list;
+        if (list === 3) {
+          await this.handleDelete(this.tempList);
+        } else if (list === 2) {
+          await this.mulUpdateStatus(this.tempList, 0);
+        } else {
+          await this.mulUpdateStatus(this.tempList, 1);
+        }
+        this.myIdx = 0;
+      } else {
+        this.myIdx = this.preMyIdx;
+        this.$message({
+          type: "warning",
+          message: "鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁",
+        });
+      }
+    },
+    // 鎵归噺鎿嶄綔
+    mulUpdateStatus(idArr, flag) {
+      this.$confirm(
+          flag === 1
+              ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?"
+              : "鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?"
+      )
+          .then((_) => {
+            this.$axios({
+              method: "post",
+              url: "sccg/role/updateStatusBatch?ids=" + idArr + "&status=" + flag,
+            })
+                .then(() => {
+                  this.getTableData();
+                  this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+                })
+                .catch((err) => {
+                  this.$message({type: "error", message: err});
+                });
+          })
+          .catch((err) => {
+          });
+    },
+    // 琛ㄦ牸鐩戝惉
+    tableChange(list) {
+      this.tempList = [];
+      list.forEach((item) => {
+        this.tempList.push(item.id);
+      });
+      this.all = list.length === this.tableData.length;
+    },
+    // 淇敼鏃堕棿鏍煎紡
+    changeTime({updateTime}) {
+      return helper(updateTime);
+    },
+    // 鍏ㄩ��
+    selectAll() {
+      this.$refs.multipleTable.toggleAllSelection();
+    },
+    // 鍙嶉��
+    disSame(list) {
+      list.forEach((row) => {
+        this.$refs.multipleTable.toggleRowSelection(row);
+      });
+    },
+    // 璁剧疆琛ㄦ牸鏂戦┈绾�
+    tableRowClassName({row, rowIndex}) {
+      if ((rowIndex + 1) % 2 === 0) {
+        return "warning-row";
+      } else {
+        return "success-row";
+      }
+    },
+    // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+    changeCurrentPage(page) {
+      this.currentPage = page;
+      this.getTableData();
+    },
+    // 纭鍏抽棴寮圭獥
+    handleConfirmClose(done) {
+      this.$confirm("纭鍏抽棴?").then(() => {
+        done();
+      });
+    },
+    // 鑷畾涔夊叧闂脊绐�
+    closeDialog() {
+      this.isShowDialog = false;
+      this.getTableData();
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.userList {
+  text-align: left;
+  margin: 10px 20px;
+  color: #606266;
+
+  header {
+    background-color: white;
+
+    .header-nav {
+      line-height: 40px;
+      padding: 0 30px;
+      display: flex;
+      justify-content: space-between;
+      font-weight: 650;
+    }
+
+    .header-content {
+      padding: 0 40px;
+      display: flex;
+      line-height: 100px;
+      // justify-content: space-between;
+      align-items: center;
+
+      span {
+        min-width: 120px;
+        padding-left: 15px;
+      }
+
+      .search,
+      .message-status,
+      .message-kind {
+        display: flex;
+        justify-content: flex-start;
+
+        span {
+          flex: 1;
+        }
+
+        .el-input {
+          flex: 2;
+          color: #606266;
+
+          //&::v-deep .el-input__inner {
+          //  background-color: #09152f;
+          //  border: 1px solid #17324c;
+          //}
+        }
+      }
+
+      .find {
+        margin-left: 15px;
+      }
+
+      .findBtn {
+        line-height: 100px;
+        margin-left: 15px;
+        display: flex;
+        align-items: center;
+        margin-top: -2px;
+
+        .el-button {
+          padding: 12px 25px;
+          border-radius: 20px;
+        }
+      }
+    }
+  }
+
+  main {
+    background-color: white;
+    margin-top: 20px;
+    padding-bottom: 50px;
+
+    .el-link {
+      color: #4b9bb7;
+    }
+
+    .leftPx {
+      margin-left: 10px;
+    }
+
+    .mainTitle {
+      line-height: 60px;
+    }
+
+    .main-nav {
+      line-height: 40px;
+      display: flex;
+      padding: 10px;
+      justify-content: space-between;
+    }
+
+    .tools {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      padding: 0 20px;
+
+      .funs {
+        display: flex;
+
+        .funs-sp {
+          border: 1px solid #17324c;
+        }
+
+        .funsItem {
+          line-height: 28px;
+          display: flex;
+          align-items: center;
+
+          border-radius: 4px;
+          font-size: 12px;
+          margin-left: 10px;
+
+          .el-checkbox {
+            width: 80px;
+            padding: 0 10px;
+          }
+
+          .el-select {
+            width: 120px;
+          }
+
+          //&::v-deep .el-input__inner {
+          //  border: none;
+          //  background-color: #09152f;
+          //}
+
+          &:hover {
+            border: 1px solid #4b9bb7;
+          }
+
+          &:hover .el-checkbox {
+            color: #4b9bb7;
+          }
+        }
+      }
+
+      .pagination {
+        margin-top: 50px;
+        display: flex;
+        line-height: 50px;
+        justify-content: center;
+
+        //.el-pagination {
+        //  &::v-deep li,
+        //  &::v-deep .btn-prev,
+        //  &::v-deep .btn-next {
+        //    background-color: #071f39;
+        //    color: #4b9bb7;
+        //  }
+        //
+        //  &::v-deep .active {
+        //    background-color: #409eff;
+        //    color: #fff;
+        //  }
+        //}
+      }
+    }
+
+    .el-table {
+      // color: #606266;
+      // font-size: 10px;
+
+      //&::v-deep .el-table__empty-block {
+      //  background-color: #09152f;
+      //}
+      //
+      //&::v-deep .el-table__empty-block {
+      //  color: #4b9bb7;
+      //}
+
+      .operation {
+        display: flex;
+
+        .line {
+          padding: 0 5px;
+        }
+
+        span:hover {
+          cursor: pointer;
+        }
+      }
+    }
+
+    //.el-table::v-deep .warning-row {
+    //  background: #06122c;
+    //}
+    //
+    //.el-table::v-deep .success-row {
+    //  background: #071f39;
+    //}
+
+    //&::v-deep .switchStyle .el-switch__label {
+    //  position: absolute;
+    //  display: none;
+    //  color: #fff;
+    //}
+    //
+    //&::v-deep .el-switch__core {
+    //  background-color: rgba(166, 166, 166, 1);
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label--left {
+    //  z-index: 9;
+    //  left: 20px;
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label--right {
+    //  z-index: 9;
+    //  left: 4px;
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label.is-active {
+    //  display: block;
+    //}
+    //
+    //&::v-deep .switchStyle.el-switch .el-switch__core,
+    //&::v-deep .el-switch .el-switch__label {
+    //  width: 50px !important;
+    //}
+  }
+
+  //&::v-deep .el-dialog__header,
+  //&::v-deep .el-dialog__body {
+  //  background-color: #06122c;
+  //}
+  //
+  //&::v-deep .el-dialog__header {
+  //  display: flex;
+  //  align-items: center;
+  //  background-color: #fff;
+  //  padding: 20px;
+  //  line-height: 60px;
+  //}
+  //
+  //&::v-deep .el-dialog__title {
+  //  color: #4b9bb7;
+  //}
+  //
+  //&::v-deep .el-dialog__close {
+  //  width: 20px;
+  //  height: 20px;
+  //  // color: #fff;
+  //}
+  //
+  //&::v-deep .el-dialog__body {
+  //  padding: 0;
+  //}
+}
+</style>
diff --git a/.history/src/views/operate/sms/smsIndex/index_20230104111808.vue b/.history/src/views/operate/sms/smsIndex/index_20230104111808.vue
new file mode 100644
index 0000000..f0ddc49
--- /dev/null
+++ b/.history/src/views/operate/sms/smsIndex/index_20230104111808.vue
@@ -0,0 +1,634 @@
+<template>
+  <div class="userList">
+    <header>
+      <div class="header-nav">
+        <span class="nav-left">鏁版嵁绛涢��</span>
+      </div>
+      <div class="header-content">
+        <div class="search">
+          <span>杈撳叆鏌ヨ:</span>
+          <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+        </div>
+        <div class="message-status">
+          <span>鐭俊鍥炴墽:</span>
+          <el-select v-model="messageStatus" placeholder="璇烽�夋嫨">
+            <el-option
+                v-for="item in statusList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.label"
+            >
+            </el-option>
+          </el-select>
+        </div>
+        <div class="find">
+          <el-button type="primary" icon="el-icon-search" @click="getTableData"
+          >鏌ヨ
+          </el-button
+          >
+          <el-button icon="el-icon-delete-solid" @click="handleReset"
+          >閲嶇疆
+          </el-button
+          >
+        </div>
+      </div>
+    </header>
+    <main>
+      <div class="mainContent">
+        <div class="main-nav">
+          <span>鏁版嵁鍒楄〃</span>
+          <el-button
+              class="button-addition"
+              type="primary"
+              icon="el-icon-plus"
+              @click="isShowDialog = true"
+          >娣诲姞
+          </el-button
+          >
+        </div>
+        <!-- 鏁版嵁灞曠ず -->
+        <el-table
+            ref="multipleTable"
+            :header-cell-style="{
+            // background: '#06122c',
+            'font-size': '12px',
+            color: '#606266',
+            'font-weight': '650',
+            'line-height': '45px',
+          }"
+            :data="tableData"
+            style="width: 100%"
+            :row-class-name="tableRowClassName"
+            @selection-change="tableChange"
+        >
+          <el-table-column type="selection" min-width="5"></el-table-column>
+          <el-table-column label="ID" min-width="5" prop="id">
+            <template slot-scope="scope">{{ scope.row.id }}</template>
+          </el-table-column>
+          <el-table-column prop="head" label="鏍囬" min-width="10">
+          </el-table-column>
+          <el-table-column prop="createTime" label="鍙戦�佹椂闂�" min-width="10">
+          </el-table-column>
+          <el-table-column prop="targetFrom" label="鍙戦�佽处鍙�" min-width="15">
+          </el-table-column>
+          <el-table-column prop="respondResult" label="鐭俊鍥炴墽" min-width="5">
+          </el-table-column>
+          <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+            <template slot-scope="scope">
+              <div class="operation">
+                <el-link
+                    class="leftPx"
+                    icon="el-icon-delete-solid"
+                    :underline="false"
+                    @click="handleDelete([scope.row.id])"
+                >鍒犻櫎
+                </el-link
+                >
+                <el-link
+                    icon="el-icon-edit"
+                    class="leftPx"
+                    :underline="false"
+                    @click="resend(scope.row)"
+                >閲嶆柊鍙戦��
+                </el-link
+                >
+              </div>
+            </template>
+          </el-table-column>
+        </el-table>
+        <!-- 鏂板缓娑堟伅 -->
+        <el-dialog
+            title="鏂板缓娑堟伅"
+            :destroy-on-close="true"
+            :key="dialogType"
+            :visible.sync="isShowDialog"
+            width="80%"
+            :before-close="handleConfirmClose"
+        >
+          <MyCreate @closeMyDialog="closeDialog" :type="dialogType"></MyCreate>
+        </el-dialog>
+        <div class="tools">
+          <div class="funs">
+            <div class="funsItem funs-sp">
+              <el-checkbox v-model="all" @change="selectAll()"
+              >鍏ㄩ��
+              </el-checkbox
+              >
+            </div>
+            <div class="funsItem funs-sp">
+              <el-checkbox v-model="unsame" @change="disSame(tableData)"
+              >鍙嶉��
+              </el-checkbox
+              >
+            </div>
+            <div class="funsItem">
+              <el-select
+                  v-model="myIdx"
+                  placeholder="鎵归噺鎿嶄綔"
+                  @change="selectChange"
+              >
+                <el-option
+                    v-for="item in options"
+                    :key="item.value"
+                    :label="item.label"
+                    :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </div>
+          </div>
+          <div class="pagination">
+            <el-pagination
+                background
+                :current-page="currentPage"
+                layout="prev, pager, next"
+                :total="totalNum"
+                :page-size="pageSize"
+                @current-change="changeCurrentPage"
+            >
+            </el-pagination>
+          </div>
+        </div>
+      </div>
+    </main>
+  </div>
+</template>
+<script>
+import helper from "@/utils/mydate";
+import MyCreate from "./createSms";
+import {
+  getMessageList,
+  deleteMessage,
+  sendMessage,
+} from "@/api/operate/messageManagement";
+
+export default {
+  components: {
+    MyCreate,
+  },
+  data() {
+    return {
+      tableData: [],
+      context: null,
+      isShowDialog: false,
+      totalNum: null,
+      pageSize: 10,
+      currentPage: 1,
+      all: false,
+      unsame: false,
+      myIdx: 0,
+      preMyIdx: 0,
+      options: [
+        {
+          value: 0,
+          label: "鎵归噺鎿嶄綔",
+          disabled: true,
+        },
+        // {
+        //   value: 1,
+        //   label: "鎵归噺鍚敤",
+        // },
+        // {
+        //   value: 2,
+        //   label: "鎵归噺绂佺敤",
+        // },
+        {
+          value: 3,
+          label: "鎵归噺鍒犻櫎",
+        },
+      ],
+      tempList: [],
+      messageStatus: "鍏ㄩ儴",
+      messageKind: "00",
+      statusList: [
+      {
+          label: "鍙戦�佸け璐�",
+          value: 3,
+        },
+        {
+          label: "鍙戦�佹垚鍔�",
+          value: 2,
+        }
+      ],
+      kindList: [
+        {
+          id: "00",
+          columnName: "鍏ㄩ儴",
+        },
+        {
+          id: "01",
+          columnName: "绔欏唴淇�",
+        },
+        {
+          id: "02",
+          columnName: "閭欢",
+        },
+        {
+          id: "03",
+          columnName: "鐭俊",
+        },
+      ],
+      dialogType: "",
+    };
+  },
+  created() {
+    this.getTableData();
+  },
+  methods: {
+    // 閲嶇疆
+    handleReset() {
+      this.context = null;
+      this.currentPage = 1;
+      this.messageStatus = "鍏ㄩ儴";
+      this.getTableData();
+    },
+    // 鍒犻櫎淇℃伅
+    handleDelete(ids) {
+      this.$confirm("纭鍒犻櫎?").then(() => {
+        deleteMessage({ids: ids.join(",")})
+            .then(() => {
+              this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+              this.getTableData();
+            })
+            .catch((err) => this.$message({type: "error", message: err}));
+      });
+    },
+
+    getTableData() {
+      const respondResult =
+          this.messageStatus === "鍏ㄩ儴" ? null : this.messageStatus;
+      getMessageList({
+        channelCode: "02",
+        current: this.currentPage,
+        respondResult,
+        pageSize: this.pageSize,
+        head: this.context,
+      })
+          .then(({records, total}) => {
+            this.tableData = records;
+            this.totalNum = total;
+          })
+          .catch((err) => {
+            this.$message({type: "error", message: err});
+          });
+    },
+
+    resend(data) {
+      if (data.status === 2) {
+        return;
+      }
+      data.createTime='',
+      data.sendTime='',
+      data.createUser=null,
+      sendMessage(data)
+          .then(() => {
+            this.$message.success("鎿嶄綔鎴愬姛");
+            this.getTableData();
+          })
+          .catch((err) => this.$message.error(`${err}`));
+    },
+
+    // 鎵归噺涓嬫媺妗嗘搷浣�
+    async selectChange(list) {
+      if (this.tempList.length !== 0) {
+        this.preMyIdx = list;
+        if (list === 3) {
+          await this.handleDelete(this.tempList);
+        } else if (list === 2) {
+          await this.mulUpdateStatus(this.tempList, 0);
+        } else {
+          await this.mulUpdateStatus(this.tempList, 1);
+        }
+        this.myIdx = 0;
+      } else {
+        this.myIdx = this.preMyIdx;
+        this.$message({
+          type: "warning",
+          message: "鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁",
+        });
+      }
+    },
+    // 鎵归噺鎿嶄綔
+    mulUpdateStatus(idArr, flag) {
+      this.$confirm(
+          flag === 1
+              ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?"
+              : "鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?"
+      )
+          .then((_) => {
+            this.$axios({
+              method: "post",
+              url: "sccg/role/updateStatusBatch?ids=" + idArr + "&status=" + flag,
+            })
+                .then(() => {
+                  this.getTableData();
+                  this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+                })
+                .catch((err) => {
+                  this.$message({type: "error", message: err});
+                });
+          })
+          .catch((err) => {
+          });
+    },
+    // 琛ㄦ牸鐩戝惉
+    tableChange(list) {
+      this.tempList = [];
+      list.forEach((item) => {
+        this.tempList.push(item.id);
+      });
+      this.all = list.length === this.tableData.length;
+    },
+    // 淇敼鏃堕棿鏍煎紡
+    changeTime({updateTime}) {
+      return helper(updateTime);
+    },
+    // 鍏ㄩ��
+    selectAll() {
+      this.$refs.multipleTable.toggleAllSelection();
+    },
+    // 鍙嶉��
+    disSame(list) {
+      list.forEach((row) => {
+        this.$refs.multipleTable.toggleRowSelection(row);
+      });
+    },
+    // 璁剧疆琛ㄦ牸鏂戦┈绾�
+    tableRowClassName({row, rowIndex}) {
+      if ((rowIndex + 1) % 2 === 0) {
+        return "warning-row";
+      } else {
+        return "success-row";
+      }
+    },
+    // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+    changeCurrentPage(page) {
+      this.currentPage = page;
+      this.getTableData();
+    },
+    // 纭鍏抽棴寮圭獥
+    handleConfirmClose(done) {
+      this.$confirm("纭鍏抽棴?").then(() => {
+        done();
+      });
+    },
+    // 鑷畾涔夊叧闂脊绐�
+    closeDialog() {
+      this.isShowDialog = false;
+      this.getTableData();
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.userList {
+  text-align: left;
+  margin: 10px 20px;
+  color: #606266;
+
+  header {
+    background-color: white;
+
+    .header-nav {
+      line-height: 40px;
+      padding: 0 30px;
+      display: flex;
+      justify-content: space-between;
+      font-weight: 650;
+    }
+
+    .header-content {
+      padding: 0 40px;
+      display: flex;
+      line-height: 100px;
+      // justify-content: space-between;
+      align-items: center;
+
+      span {
+        min-width: 120px;
+        padding-left: 15px;
+      }
+
+      .search,
+      .message-status,
+      .message-kind {
+        display: flex;
+        justify-content: flex-start;
+
+        span {
+          flex: 1;
+        }
+
+        .el-input {
+          flex: 2;
+          color: #606266;
+
+          //&::v-deep .el-input__inner {
+          //  background-color: #09152f;
+          //  border: 1px solid #17324c;
+          //}
+        }
+      }
+
+      .find {
+        margin-left: 15px;
+      }
+
+      .findBtn {
+        line-height: 100px;
+        margin-left: 15px;
+        display: flex;
+        align-items: center;
+        margin-top: -2px;
+
+        .el-button {
+          padding: 12px 25px;
+          border-radius: 20px;
+        }
+      }
+    }
+  }
+
+  main {
+    background-color: white;
+    margin-top: 20px;
+    padding-bottom: 50px;
+
+    .el-link {
+      color: #4b9bb7;
+    }
+
+    .leftPx {
+      margin-left: 10px;
+    }
+
+    .mainTitle {
+      line-height: 60px;
+    }
+
+    .main-nav {
+      line-height: 40px;
+      display: flex;
+      padding: 10px;
+      justify-content: space-between;
+    }
+
+    .tools {
+      display: flex;
+      justify-content: space-between;
+      align-items: center;
+      padding: 0 20px;
+
+      .funs {
+        display: flex;
+
+        .funs-sp {
+          border: 1px solid #17324c;
+        }
+
+        .funsItem {
+          line-height: 28px;
+          display: flex;
+          align-items: center;
+
+          border-radius: 4px;
+          font-size: 12px;
+          margin-left: 10px;
+
+          .el-checkbox {
+            width: 80px;
+            padding: 0 10px;
+          }
+
+          .el-select {
+            width: 120px;
+          }
+
+          //&::v-deep .el-input__inner {
+          //  border: none;
+          //  background-color: #09152f;
+          //}
+
+          &:hover {
+            border: 1px solid #4b9bb7;
+          }
+
+          &:hover .el-checkbox {
+            color: #4b9bb7;
+          }
+        }
+      }
+
+      .pagination {
+        margin-top: 50px;
+        display: flex;
+        line-height: 50px;
+        justify-content: center;
+
+        //.el-pagination {
+        //  &::v-deep li,
+        //  &::v-deep .btn-prev,
+        //  &::v-deep .btn-next {
+        //    background-color: #071f39;
+        //    color: #4b9bb7;
+        //  }
+        //
+        //  &::v-deep .active {
+        //    background-color: #409eff;
+        //    color: #fff;
+        //  }
+        //}
+      }
+    }
+
+    .el-table {
+      // color: #606266;
+      // font-size: 10px;
+
+      //&::v-deep .el-table__empty-block {
+      //  background-color: #09152f;
+      //}
+      //
+      //&::v-deep .el-table__empty-block {
+      //  color: #4b9bb7;
+      //}
+
+      .operation {
+        display: flex;
+
+        .line {
+          padding: 0 5px;
+        }
+
+        span:hover {
+          cursor: pointer;
+        }
+      }
+    }
+
+    //.el-table::v-deep .warning-row {
+    //  background: #06122c;
+    //}
+    //
+    //.el-table::v-deep .success-row {
+    //  background: #071f39;
+    //}
+
+    //&::v-deep .switchStyle .el-switch__label {
+    //  position: absolute;
+    //  display: none;
+    //  color: #fff;
+    //}
+    //
+    //&::v-deep .el-switch__core {
+    //  background-color: rgba(166, 166, 166, 1);
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label--left {
+    //  z-index: 9;
+    //  left: 20px;
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label--right {
+    //  z-index: 9;
+    //  left: 4px;
+    //}
+    //
+    //&::v-deep .switchStyle .el-switch__label.is-active {
+    //  display: block;
+    //}
+    //
+    //&::v-deep .switchStyle.el-switch .el-switch__core,
+    //&::v-deep .el-switch .el-switch__label {
+    //  width: 50px !important;
+    //}
+  }
+
+  //&::v-deep .el-dialog__header,
+  //&::v-deep .el-dialog__body {
+  //  background-color: #06122c;
+  //}
+  //
+  //&::v-deep .el-dialog__header {
+  //  display: flex;
+  //  align-items: center;
+  //  background-color: #fff;
+  //  padding: 20px;
+  //  line-height: 60px;
+  //}
+  //
+  //&::v-deep .el-dialog__title {
+  //  color: #4b9bb7;
+  //}
+  //
+  //&::v-deep .el-dialog__close {
+  //  width: 20px;
+  //  height: 20px;
+  //  // color: #fff;
+  //}
+  //
+  //&::v-deep .el-dialog__body {
+  //  padding: 0;
+  //}
+}
+</style>
diff --git a/.history/vue.config_20230104105558.js b/.history/vue.config_20230104105558.js
new file mode 100644
index 0000000..f3a4d14
--- /dev/null
+++ b/.history/vue.config_20230104105558.js
@@ -0,0 +1,130 @@
+// const { defineConfig } = require('@vue/cli-service')
+// module.exports = defineConfig({
+//   transpileDependencies: true
+// })
+const path = require('path')
+
+function resolve(dir) {
+  return path.join(__dirname, dir)
+}
+
+const CompressionPlugin = require('compression-webpack-plugin')
+
+const name = process.env.VUE_APP_TITLE || '閬傛槍鎵ф硶骞冲彴' // 缃戦〉鏍囬
+
+const port = process.env.port || process.env.npm_config_port || 80 // 绔彛
+
+module.exports = {
+  // 閮ㄧ讲鐢熶骇鐜鍜屽紑鍙戠幆澧冧笅鐨刄RL銆�
+  // 榛樿鎯呭喌涓嬶紝Vue CLI 浼氬亣璁句綘鐨勫簲鐢ㄦ槸琚儴缃插湪涓�涓煙鍚嶇殑鏍硅矾寰勪笂
+  // 渚嬪 https://www.ruoyi.vip/銆傚鏋滃簲鐢ㄨ閮ㄧ讲鍦ㄤ竴涓瓙璺緞涓婏紝浣犲氨闇�瑕佺敤杩欎釜閫夐」鎸囧畾杩欎釜瀛愯矾寰勩�備緥濡傦紝濡傛灉浣犵殑搴旂敤琚儴缃插湪 https://www.ruoyi.vip/admin/锛屽垯璁剧疆 baseUrl 涓� /admin/銆�
+  publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
+  // 鍦╪pm run build 鎴� yarn build 鏃� 锛岀敓鎴愭枃浠剁殑鐩綍鍚嶇О锛堣鍜宐aseUrl鐨勭敓浜х幆澧冭矾寰勪竴鑷达級锛堥粯璁ist锛�
+  outputDir: 'dist',
+  // 鐢ㄤ簬鏀剧疆鐢熸垚鐨勯潤鎬佽祫婧� (js銆乧ss銆乮mg銆乫onts) 鐨勶紱锛堥」鐩墦鍖呬箣鍚庯紝闈欐�佽祫婧愪細鏀惧湪杩欎釜鏂囦欢澶逛笅锛�
+  assetsDir: 'static',
+  // 鏄惁寮�鍚痚slint淇濆瓨妫�娴嬶紝鏈夋晥鍊硷細ture | false | 'error'
+  // lintOnSave: process.env.NODE_ENV === 'development',
+  lintOnSave:false,
+  // 濡傛灉浣犱笉闇�瑕佺敓浜х幆澧冪殑 source map锛屽彲浠ュ皢鍏惰缃负 false 浠ュ姞閫熺敓浜х幆澧冩瀯寤恒��
+  productionSourceMap: false,
+  // webpack-dev-server 鐩稿叧閰嶇疆
+  devServer: {
+    host: 'localhost',
+    port: port,
+    open: true,
+    headers: {
+      "Access-Control-Allow-Origin": "*",
+    },
+    proxy: {
+      // 璺ㄥ煙閰嶇疆
+      "/sccg": {
+        // target: `http://42.193.1.25/`,
+        target: `http://127.0.0.1:8082/`,
+        changeOrigin: true
+      }
+    },
+    // disableHostCheck: true
+  },
+  css: {
+    loaderOptions: {
+      sass: {
+        sassOptions: { outputStyle: "expanded" }
+      }
+    }
+  },
+  configureWebpack: {
+    name: name,
+    resolve: {
+      alias: {
+        '@': resolve('src')
+      }
+    },
+    plugins: [
+      //#浣跨敤gzip瑙e帇缂╅潤鎬佹枃浠�
+      new CompressionPlugin({
+        cache: false,                   // 涓嶅惎鐢ㄦ枃浠剁紦瀛�
+        test: /\.(js|css|html)?$/i,     // 鍘嬬缉鏂囦欢鏍煎紡
+        filename: '[path].gz[query]',   // 鍘嬬缉鍚庣殑鏂囦欢鍚�
+        algorithm: 'gzip',              // 浣跨敤gzip鍘嬬缉
+        minRatio: 0.8                   // 鍘嬬缉鐜囧皬浜�1鎵嶄細鍘嬬缉
+      })
+    ],
+  },
+  chainWebpack(config) {
+    config.plugins.delete('preload') // TODO: need test
+    config.plugins.delete('prefetch') // TODO: need test
+
+    // set svg-sprite-loader
+    config.module
+      .rule('svg')
+      .exclude.add(resolve('src/assets/icons'))
+      .end()
+    config.module
+      .rule('icons')
+      .test(/\.svg$/)
+      .include.add(resolve('src/assets/icons'))
+      .end()
+      .use('svg-sprite-loader')
+      .loader('svg-sprite-loader')
+      .options({
+        symbolId: 'icon-[name]'
+      })
+      .end()
+
+    config
+      .when(process.env.NODE_ENV !== 'development',
+        config => {
+          config
+            .optimization.splitChunks({
+              chunks: 'all',
+              cacheGroups: {
+                libs: {
+                  name: 'chunk-libs',
+                  test: /[\\/]node_modules[\\/]/,
+                  priority: 10,
+                  chunks: 'initial' // only package third parties that are initially dependent
+                },
+                elementUI: {
+                  name: 'chunk-elementUI', // split elementUI into a single package
+                  priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
+                  test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
+                },
+                commons: {
+                  name: 'chunk-commons',
+                  test: resolve('src/components'), // can customize your rules
+                  minChunks: 3, //  minimum common number
+                  priority: 5,
+                  reuseExistingChunk: true
+                }
+              }
+            })
+          config.optimization.runtimeChunk('single'),
+          {
+             from: path.resolve(__dirname, './public/robots.txt'), //闃茬埇铏枃浠�
+             to: './' //鍒版牴鐩綍涓�
+          }
+        }
+      )
+  }
+}
diff --git a/src/api/operate/messageManagement.js b/src/api/operate/messageManagement.js
index ab03b98..c9a3fa0 100644
--- a/src/api/operate/messageManagement.js
+++ b/src/api/operate/messageManagement.js
@@ -16,6 +16,10 @@
     return http.post('/sccg/message/sendMessage', params);
 }
 
+export function saveMessage(params) {
+    return http.post('/sccg/message/saveMessage', params);
+}
+
 export function updateMessage(params) {
     return http.post('/sccg/message/update', params);
 }
\ No newline at end of file
diff --git a/src/views/intelligentPatrol/illegalSearch/index.vue b/src/views/intelligentPatrol/illegalSearch/index.vue
index 6a94151..5057ac6 100644
--- a/src/views/intelligentPatrol/illegalSearch/index.vue
+++ b/src/views/intelligentPatrol/illegalSearch/index.vue
@@ -187,6 +187,7 @@
           value: '',
           placeholder: '璇疯緭鍏ュ鏍哥姸鎬�',
           type: 'select',
+          prop: 'state',
           options: [{ id: 7, name: '鏈鏍�' }, { id: 8, name: '宸茬粡瀹℃牳' }, { id: 9, name: '缁撴' }]
         },
         {
diff --git a/src/views/operate/message/myIndex/index.vue b/src/views/operate/message/myIndex/index.vue
index 87b011c..d74344d 100644
--- a/src/views/operate/message/myIndex/index.vue
+++ b/src/views/operate/message/myIndex/index.vue
@@ -24,8 +24,9 @@
                     </el-select>
                 </div>
                 <div class="search">
-                  <span>鍒涘缓鏃堕棿:</span>
-                  <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+                    <span>鍒涘缓鏃堕棿:</span>
+                    <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime"
+                        value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
                 </div>
                 <div class="find">
                     <el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
@@ -37,13 +38,13 @@
             <div class="mainContent">
                 <div class="main-nav">
                     <span>鏁版嵁鍒楄〃</span>
-                    <el-button class="button-addition" type="primary" icon="el-icon-plus" @click="handleOpera(null, 'create')">娣诲姞</el-button>
+                    <el-button class="button-addition" type="primary" icon="el-icon-plus"
+                        @click="handleOpera(null, 'create')">娣诲姞</el-button>
                 </div>
                 <!-- 鏁版嵁灞曠ず -->
                 <el-table ref="multipleTable"
-                    :header-cell-style="{background:'white','font-weight':'650','line-height':'45px'}"
-                    :data="tableData" style="width: 100%" :row-class-name="tableRowClassName"
-                    @selection-change="tableChange">
+                    :header-cell-style="{ background: 'white', 'font-weight': '650', 'line-height': '45px' }" :data="tableData"
+                    style="width: 100%" :row-class-name="tableRowClassName" @selection-change="tableChange">
                     <el-table-column type="selection" min-width="5">
                     </el-table-column>
                     <el-table-column label="ID" min-width="5">
@@ -53,20 +54,22 @@
                     </el-table-column>
                     <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
                     </el-table-column>
-                    <el-table-column prop="createUser" label="鍙戝竷浜哄憳" min-width="15">
+                    <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15">
                     </el-table-column>
                     <el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
                     </el-table-column>
                     <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
-                        <template v-if="scope.row.status" slot-scope="scope">
-                            {{scope.row.status === 0 ? '鏈彂甯�' :'宸插彂甯�'}}
+                        <template slot-scope="scope">
+                            {{ scope.row.status == 0 ? '鏈彂甯�' : '宸插彂甯�' }}
                         </template>
                     </el-table-column>
                     <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
                         <template slot-scope="scope">
                             <div class="operation">
-                                <el-link icon="el-icon-view" :underline="false" @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
-                                <el-link icon="el-icon-edit" class="leftPx" :underline="false" @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+                                <el-link icon="el-icon-view" :underline="false"
+                                    @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+                                <el-link icon="el-icon-edit" class="leftPx" :underline="false"
+                                    @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
                                 <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
                                     @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
                             </div>
@@ -74,8 +77,10 @@
                     </el-table-column>
                 </el-table>
                 <!-- 鏂板缓娑堟伅 -->
-                <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle" :visible.sync="isShowDialog" width="80%">
-                    <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType" :myDataRow="tableRowData"></my-edit>
+                <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle"
+                    :visible.sync="isShowDialog" width="80%">
+                    <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType"
+                        :myDataRow="tableRowData"></my-edit>
                 </el-dialog>
                 <!-- tools -->
                 <div class="tools">
@@ -112,19 +117,19 @@
 export default {
     components: { MyView, MyEdit },
     computed: {
-      getDialogTitle() {
-        if (this.dialogType === 'create') {
-          return '鍒涘缓';
-        }
+        getDialogTitle() {
+            if (this.dialogType === 'create') {
+                return '鍒涘缓';
+            }
 
-        if (this.dialogType === 'update') {
-          return '鏇存柊';
-        }
+            if (this.dialogType === 'update') {
+                return '鏇存柊';
+            }
 
-        if (this.dialogType === 'view') {
-          return '鏌ョ湅';
+            if (this.dialogType === 'view') {
+                return '鏌ョ湅';
+            }
         }
-      }
     },
     data() {
         return {
@@ -180,44 +185,44 @@
             ],
             typeList: [
                 {
-                    id:'00',
-                    columnName:'鍏ㄩ儴',
+                    id: '00',
+                    columnName: '鍏ㄩ儴',
                 },
                 {
-                    id:'01',
-                    columnName:'绔欏唴淇�',
+                    id: '01',
+                    columnName: '绔欏唴淇�',
                 },
                 {
-                    id:'03',
-                    columnName:'閭欢',
+                    id: '03',
+                    columnName: '閭欢',
                 },
                 {
-                    id:'02',
-                    columnName:'鐭俊',
+                    id: '02',
+                    columnName: '鐭俊',
                 }
             ]
         }
     },
     created() {
-      this.getMessageList();
+        this.getMessageList();
     },
 
     methods: {
         // 鏌ヨ
-        handleSearch(){
+        handleSearch() {
             this.getMessageList();
         },
 
         // 閲嶇疆
-        handleReset(){
-          this.messageStatus = 2;
-          this.messageType = '00';
-          this.context = '';
-          this.getMessageList();
+        handleReset() {
+            this.messageStatus = 2;
+            this.messageType = '00';
+            this.context = '';
+            this.getMessageList();
         },
 
         // 鏌ョ湅
-        handleOpera(data, type){
+        handleOpera(data, type) {
             this.tableRowData = data;
             this.dialogType = type;
             this.isShowDialog = true;
@@ -227,36 +232,36 @@
         handleDelete(idarr) {
             this.$confirm('纭鍒犻櫎?')
                 .then(() => {
-                  deleteMessage({ ids: idarr.join(',') })
-                      .then(() => {
-                        this.getMessageList();
-                        this.$message.success('鎿嶄綔鎴愬姛');
-                      })
-                      .catch(err => { this.$message({ type: 'error', message: err }) });
+                    deleteMessage({ ids: idarr.join(',') })
+                        .then(() => {
+                            this.getMessageList();
+                            this.$message.success('鎿嶄綔鎴愬姛');
+                        })
+                        .catch(err => { this.$message({ type: 'error', message: err }) });
                 })
         },
 
         // 鑾峰彇娑堟伅鏁版嵁
         getMessageList() {
-          const messageParam = {
-            current: this.currentPage,
-            pageSize: this.pageSize,
-            channelCode: this.messageType === '00' ? null : this.messageType,
-            status: this.messageStatus === 2 ? null : this.messageStatus,
-            head: this.context,
-            startTime: this.datetime ? this.datetime[0] : null,
-            endTime: this.datetime ? this.datetime[1] : null
-          }
+            const messageParam = {
+                current: this.currentPage,
+                pageSize: this.pageSize,
+                channelCode: this.messageType === '00' ? null : this.messageType,
+                status: this.messageStatus === 2 ? null : this.messageStatus,
+                head: this.context,
+                startTime: this.datetime ? this.datetime[0] : null,
+                endTime: this.datetime ? this.datetime[1] : null
+            }
 
-          getMessageList(messageParam)
-              .then(({ records, total ,size}) => {
-                this.tableData = records;
-                this.totalNum = total;
-                this.pageSize=size;
-              })
-              .catch(err => {
-                this.$message({ type: 'error', message: err });
-              });
+            getMessageList(messageParam)
+                .then(({ records, total, size }) => {
+                    this.tableData = records;
+                    this.totalNum = total;
+                    this.pageSize = size;
+                })
+                .catch(err => {
+                    this.$message({ type: 'error', message: err });
+                });
         },
 
         // 鎵归噺涓嬫媺妗嗘搷浣�
@@ -303,7 +308,7 @@
                             }
                         })
                 })
-                .catch(err => {  })
+                .catch(err => { })
         },
 
         // 琛ㄦ牸鐩戝惉
@@ -343,8 +348,8 @@
 
         // 鑷畾涔夊叧闂脊绐�
         closeDialog() {
-          this.isShowDialog = false;
-          this.getMessageList();
+            this.isShowDialog = false;
+            this.getMessageList();
         }
     }
 }
@@ -377,12 +382,15 @@
                 display: flex;
                 justify-content: space-between;
                 align-items: center;
+
                 span {
                     flex: 1;
                 }
+
                 .el-input {
                     flex: 2;
                     color: #1d3f57;
+
                     &::v-deep .el-input__inner {
                         //background-color: #09152f;
                         //border: 1px solid #17324c;
@@ -588,8 +596,9 @@
     &::v-deep .el-dialog__body {
         padding: 0;
     }
-  :deep(.el-range-input) {
-    //background-color: #09152f;
-  }
+
+    :deep(.el-range-input) {
+        //background-color: #09152f;
+    }
 }
 </style>
diff --git a/src/views/operate/message/myIndex/update/index.vue b/src/views/operate/message/myIndex/update/index.vue
index 68d0f04..8bdd313 100644
--- a/src/views/operate/message/myIndex/update/index.vue
+++ b/src/views/operate/message/myIndex/update/index.vue
@@ -138,7 +138,7 @@
 import MyEditor from "@/components/edit";
 import MyColumnAdd from "@/views/operate/message/mycontrol/createUser";
 import MyColView from "../messageView";
-import { sendMessage, updateMessage, getMessageById } from "@/api/operate/messageManagement";
+import { sendMessage, updateMessage, getMessageById,saveMessage } from "@/api/operate/messageManagement";
 
 export default {
   components: { MyEditor, MyColumnAdd, MyColView },
@@ -284,10 +284,12 @@
 
     // 鏂板缓/淇濆瓨娑堟伅(1:鏂板缓,0淇濆瓨娑堟伅)
     handleSubmit(mystatus) {
+      debugger;
       this.role.body = this.$refs.edit.editor.txt.html();
       this.$refs.user.validate((valid) => {
         if (valid) {
-          const { body, head, messageType, channelCode } = this.role;
+          if(mystatus==1){
+            const { body, head, messageType, channelCode } = this.role;
           const params = {
             body,
             head,
@@ -325,6 +327,48 @@
                 })
               );
           }
+          }
+          if(mystatus==0){ 
+            const { body, head, messageType, channelCode } = this.role;
+          const params = {
+            body,
+            head,
+            messageType,
+            channelCode: `${channelCode}`,
+            sendTime: new Date(),
+            targetTo: this.checkedList.join(","),
+            status: mystatus,
+          };
+          if (this.role.channelCode === '03') {
+            delete params.messageType;
+          }
+          if (this.type === "create") {
+            saveMessage(params)
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
+                })
+              );
+          } else {
+            updateMessage({ id: this.myDataRow.id, ...params })
+              .then(() => {
+                this.$emit("closeMyDialog");
+                this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+              })
+              .catch((err) =>
+                this.$message({
+                  type: "error",
+                  message: err.data || err.message,
+                })
+              );
+          }
+          }
+        
         } else {
           this.$message.error({ type: "warning", message: "璇锋鏌ュ繀濉」" });
         }
diff --git a/src/views/operate/sms/smsIndex/index.vue b/src/views/operate/sms/smsIndex/index.vue
index fe62718..f0ddc49 100644
--- a/src/views/operate/sms/smsIndex/index.vue
+++ b/src/views/operate/sms/smsIndex/index.vue
@@ -71,12 +71,7 @@
           </el-table-column>
           <el-table-column prop="targetFrom" label="鍙戦�佽处鍙�" min-width="15">
           </el-table-column>
-          <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
-            <template slot-scope="scope">
-              <span>{{
-                  statusList.find((item) => item.value === scope.row.status).label
-                }}</span>
-            </template>
+          <el-table-column prop="respondResult" label="鐭俊鍥炴墽" min-width="5">
           </el-table-column>
           <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
             <template slot-scope="scope">
@@ -189,14 +184,14 @@
           label: "鎵归噺鎿嶄綔",
           disabled: true,
         },
-        {
-          value: 1,
-          label: "鎵归噺鍚敤",
-        },
-        {
-          value: 2,
-          label: "鎵归噺绂佺敤",
-        },
+        // {
+        //   value: 1,
+        //   label: "鎵归噺鍚敤",
+        // },
+        // {
+        //   value: 2,
+        //   label: "鎵归噺绂佺敤",
+        // },
         {
           value: 3,
           label: "鎵归噺鍒犻櫎",
@@ -206,18 +201,14 @@
       messageStatus: "鍏ㄩ儴",
       messageKind: "00",
       statusList: [
-        {
-          label: "鍏ㄩ儴",
-          value: 2,
-        },
-        {
+      {
           label: "鍙戦�佸け璐�",
-          value: 0,
+          value: 3,
         },
         {
           label: "鍙戦�佹垚鍔�",
-          value: 1,
-        },
+          value: 2,
+        }
       ],
       kindList: [
         {
@@ -283,9 +274,12 @@
     },
 
     resend(data) {
-      if (data.status === 1) {
+      if (data.status === 2) {
         return;
       }
+      data.createTime='',
+      data.sendTime='',
+      data.createUser=null,
       sendMessage(data)
           .then(() => {
             this.$message.success("鎿嶄綔鎴愬姛");
diff --git a/vue.config.js b/vue.config.js
index d97f668..f3a4d14 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -39,8 +39,8 @@
     proxy: {
       // 璺ㄥ煙閰嶇疆
       "/sccg": {
-        target: `http://42.193.1.25/`,
-        // target: `http://127.0.0.1:8082/`,
+        // target: `http://42.193.1.25/`,
+        target: `http://127.0.0.1:8082/`,
         changeOrigin: true
       }
     },

--
Gitblit v1.8.0