From 085fa2fb257e9f11f8f6d34bf12e2dc281c36b4d Mon Sep 17 00:00:00 2001
From: odc.xiaohui <xiaohui@Q1>
Date: 星期四, 09 二月 2023 11:28:21 +0800
Subject: [PATCH] 2023/2/9 肖辉 修改部门管理

---
 src/views/operate/sms/smsIndex/index.vue | 1321 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 723 insertions(+), 598 deletions(-)

diff --git a/src/views/operate/sms/smsIndex/index.vue b/src/views/operate/sms/smsIndex/index.vue
index c8dd445..c7ea05c 100644
--- a/src/views/operate/sms/smsIndex/index.vue
+++ b/src/views/operate/sms/smsIndex/index.vue
@@ -1,633 +1,758 @@
 <template>
-    <div class="userList">
-        <header>
-            <div class="header-nav">
-                <span class="nav-left">鏁版嵁绛涢��</span>
-                <span class="nav-right">楂樼骇鎼滅储</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.value">
-                        </el-option>
+  <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
+            border
+            stripe
+            ref="multipleTable" :header-cell-style="{
+          // background: '#06122c',
+           'background':'#F5F5F5',
+          '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-view" :underline="false" @click="handleView(scope.row)">鏌ョ湅
+                </el-link>
+                <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>
+        <el-dialog :destroy-on-close="true" :key="dialogType" title="鏌ョ湅娑堟伅" :visible.sync="isViewDialog" width="50%"
+          :before-close="handleConfirmClose">
+
+          <div class="mainContent1">
+            <el-form ref="user" label-width="140px" autoComplete="on" :model="role"
+              label-position="right" disabled=false>
+              <!-- 鎻愰啋鏂瑰紡
+              <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>
-                <!-- <div class="message-kind">
-                    <span>娑堟伅鍒嗙被:</span>
-                    <el-select v-model="messageKind" placeholder="璇烽�夋嫨娑堟伅鍒嗙被">
-                        <el-option v-for="item in kindList" :key="item.id" :label="item.columnName" :value="item.id">
-                        </el-option>
-                    </el-select>
-                </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>
+              </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="optionItems" label="娑堟伅鍐呭:" prop="body" >
+                <el-input  type="textarea" v-model="role.body" ></el-input>
+              </el-form-item>
+              <el-form-item class="optionItems" label="鍙戦�佽处鍙�:" prop="head">
+                <div class="message-item__left">
+                  <el-input v-model="role.targetFrom"></el-input>
+                </div>
+              </el-form-item>
+              <el-form-item class="optionItems" label="鍙戦�佹椂闂�:" prop="head">
+                <div class="message-item__left">
+                  <el-input v-model="role.sendTime"></el-input>
+                </div>
+              </el-form-item>
+              <el-form-item class="optionItems" label="鍙戦�佸彿鐮�:" prop="head">
+                <div class="message-item__left">
+                  <el-input v-model="role.head"></el-input>
+                </div>
+              </el-form-item>
+              <el-form-item class="optionItems" label="鎺ュ彈鎵嬫満鍙�:" prop="head">
+                <div class="message-item__left">
+                  <el-input v-model="role.phoneNumber"></el-input>
+                </div>
+              </el-form-item> <el-form-item class="optionItems" label="鍥炴墽鐘舵��:" prop="head">
+                <div class="message-item__left">
+                  <el-input v-model="role.respondResult"></el-input>
+                </div>
+              </el-form-item>
+            </el-form>
+          </div>
+
+
+        </el-dialog>
+        <div class="tools">
+          <div class="funs">
+            <div class="funsItem funs-sp funs-first">
+              <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��
+              </el-checkbox>
             </div>
-        </header>
-        <main>
-            <div class="mainContent">
-                <div class="main-nav">
-                    <span>鏁版嵁鍒楄〃</span>
-                    <el-button type="primary" icon="el-icon-plus" @click="dialogCreate = true">娣诲姞</el-button>
-                </div>
-                <!-- 鏁版嵁灞曠ず -->
-                <el-table ref="multipleTable"
-                    :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','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="updateTime" label="鍙戦�佹椂闂�" min-width="10">
-                        <template slot-scope="scope">
-                            <span>{{changeTime(scope.row)}}</span>
-                        </template>
-                    </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">
-                            {{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 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="handleEdit(scope.row)">閲嶆柊鍙戦��</el-link>
-                            </div>
-                        </template>
-                    </el-table-column>
-                </el-table>
-                <!-- 鏂板缓娑堟伅 -->
-                <el-dialog title="鏂板缓娑堟伅" :visible.sync="dialogCreate" v-if="dialogCreate" width="80%"
-                    :before-close="handleConfirmClose">
-                    <MyCreate @closeMyDialog="closeDialog"></MyCreate>
-                </el-dialog>
-                <!-- 娑堟伅璇︽儏 -->
-                <!-- <el-dialog title="娑堟伅璇︽儏" :visible.sync="dialogView" v-if="dialogView" width="45%"
-                    :before-close="handleClose">
-                    <MyView @closeDialog="closeDialog" :myinfo="info">></MyView>
-                </el-dialog> -->
-                <!-- 缂栬緫椤甸潰 -->
-                <!-- <el-dialog title="缂栬緫娑堟伅" :visible.sync="dialogEdit" v-if="dialogEdit" width="80%"
-                    :before-close="handleClose">
-                    <MyEdit  @closeDialog="closeDialog" :myDataRow="info"></MyEdit>
-                </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 class="funsItem funs-sp">
+              <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��
+              </el-checkbox>
             </div>
-        </main>
-    </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'
-export default {
-    components: {
-         MyCreate
-    },
-    data() {
-        return {
-            tableData: [],
-            context: "",
-            dialogEdit:false,
-            dialogCreate: false,
-            dialogView: 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: 2,
-            messageKind: '00',
-            statusList: [
-                {
-                    label: '鍏ㄩ儴',
-                    value: 2,
-                },
-                {
-                    label: '鍙戦�佸け璐�',
-                    value: 0,
-                },
-                {
-                    label: '鍙戦�佹垚鍔�',
-                    value: 1,
-                }
-            ],
-            kindList: [
-                {
-                    id:'00',
-                    columnName:'鍏ㄩ儴',
-                },
-                {
-                    id:'01',
-                    columnName:'绔欏唴淇�',
-                },
-                {
-                    id:'02',
-                    columnName:'閭欢',
-                },
-                {
-                    id:'03',
-                    columnName:'鐭俊',
-                }
-            ]
-        }
-    },
-    created() {
-        const {setTableData} = this
-        setTableData();
-    },
-    methods: {
-        // 鏌ヨ
-        handleSearch(){         
-            this.setTableData();
-        },
-        // 閲嶇疆
-        handleReset(){
+import helper from "@/utils/mydate";
+import MyCreate from "./createSms";
+import MyEditor from "@/components/edit";
 
+import {
+  getMessageList,
+  deleteMessage,
+  sendMessage,
+} from "@/api/operate/messageManagement";
+
+export default {
+  components: {
+    MyCreate,MyEditor
+  },
+  data() {
+    return {
+      role: {},
+      tableData: [],
+      context: null,
+      isShowDialog: false,
+      isViewDialog: false,
+      totalNum: null,
+      pageSize: 10,
+      currentPage: 1,
+      all: false,
+      unsame: false,
+      myIdx: 0,
+      preMyIdx: 0,
+      options: [
+        {
+          value: 0,
+          label: "鎵归噺鎿嶄綔",
+          disabled: true,
         },
-        // 鏌ョ湅
-        handleView(data){
-            this.info = data;
-            this.dialogView = true;       
+        // {
+        //   value: 1,
+        //   label: "鎵归噺鍚敤",
+        // },
+        // {
+        //   value: 2,
+        //   label: "鎵归噺绂佺敤",
+        // },
+        {
+          value: 3,
+          label: "鎵归噺鍒犻櫎",
         },
-         // 缂栬緫
-        handleEdit(data){
-            this.info = data;
-            this.dialogEdit = true;       
+      ],
+      tempList: [],
+      messageStatus: "鍏ㄩ儴",
+      messageKind: "00",
+      statusList: [
+        {
+          label: "鍙戦�佸け璐�",
+          value: 3,
         },
-        // 鍒犻櫎淇℃伅
-        handleDelete(idarr) {
-            this.$confirm('纭鍒犻櫎?')
-                .then(_ => {
-                    this.$axios({
-                        method: 'post',
-                        url: 'sccg/message/delete?ids=' + idarr,
-                    })
-                        .then(res => {
-                            if (res.code === 200) {
-                                this.$message({
-                                    type: 'success',
-                                    message: '鍒犻櫎鎴愬姛',
-                                })
-                                this.setTableData();
-                            } else {
-                                this.$message({
-                                    type: 'error',
-                                    message: res.message
-                                })
-                            }
-                        })
-                })
-        },
-        // 璁剧疆琛ㄦ牸鏁版嵁
-        async setTableData() {
-            const arr = await this.getMessageList();
-            this.tableData = arr.records;
-            this.totalNum = arr.total
-        },
-        // 鑾峰彇娑堟伅鏁版嵁
-        async getMessageList() {
-            let arr = [];
-            const { currentPage, pageSize,context,messageStatus,messageKind } = this;
-            await this.$axios({
-                method: 'post',
-                url: 'sccg/message/list',
-                data: {
-                    body: "",
-                    channelCode: '03',
-                    createUser: '',
-                    current: currentPage,
-                    head: context,
-                    messageType: "",
-                    pageSize: pageSize,
-                    randomCode: "",
-                    remark: "",
-                    sendTime: "",
-                    status: messageStatus === 2 ? '':messageStatus,
-                    targetFrom: "",
-                    targetTo: ""
-                }
-            })
-                .then(res => {
-                    arr = res.data;
-                })
-            return arr;
-        },
-        // 鎵归噺涓嬫媺妗嗘搷浣�
-        async selectChange(list) {
-            console.log(this.tempList);
-            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
-                                })
-                            }
-                            console.log(res);
-                        })
-                })
-                .catch(err => { console.log(err) })
-        },
-        // 琛ㄦ牸鐩戝惉
-        tableChange(list) {
-            this.tempList = [];
-            list.forEach(item => {
-                this.tempList.push(item.id);
-            })
-            if (list.length === this.tableData.length) {
-                this.all = true;
-            } else {
-                this.all = false
-            }
-        },
-        // 淇敼鏃堕棿鏍煎紡
-        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';
-            }
-            return '';
-        },
-        // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
-        changeCurrentPage(page) {
-            this.currentPage = page;
-            this.setTableData();
-        },
-        // 鍏抽棴寮圭獥
-        handleClose(done) {
-            done();
-        },
-        // 纭鍏抽棴寮圭獥
-        handleConfirmClose(done) {
-            this.$confirm('纭鍏抽棴?')
-                .then(_ => {
-                    done();
-                })
-                .catch(err => {
-                    console.log(err);
-                })
-        },
-        // 鑷畾涔夊叧闂脊绐�
-        closeDialog({ flag, index }) {
-            this.dialogCreate = flag;
-            this.dialogView = flag;
-            if (index === 1) {
-                this.setTableData();
-            }
+        {
+          label: "鍙戦�佹垚鍔�",
+          value: 2,
         }
-    }
-}
+      ],
+      kindList: [
+        {
+          id: "00",
+          columnName: "鍏ㄩ儴",
+        },
+        {
+          id: "01",
+          columnName: "绔欏唴淇�",
+        },
+        {
+          id: "02",
+          columnName: "閭欢",
+        },
+        {
+          id: "03",
+          columnName: "鐭俊",
+        },
+      ],
+      dialogType: "",
+    };
+  },
+  created() {
+    this.getTableData();
+  },
+  methods: {
+    handleView(val) {
+      this.isViewDialog = true
+      this.role = val;
+    },
+    // 閲嶇疆
+    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: #4b9bb7;
+  text-align: left;
+  padding: 10px 20px;
+  color: #606266;
+  border: 1px solid #ccc;
+  header {
+    background-color: white;
 
-    header {
-        background-color: #09152f;
-        border: 1pox solid #fff;
-
-        .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,
-            .message-status,
-            .message-kind {
-                display: flex;
-                justify-content: flex-start;
-
-                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;
-                }
-            }
-        }
+    .header-nav {
+      line-height: 40px;
+      padding: 0 10px;
+      display: flex;
+      justify-content: space-between;
+      font-weight: 650;
     }
 
-    main {
-        background-color: #09152f;
-        margin-top: 20px;
-        padding-bottom: 50px;
-        border: 1pox solid #fff;
+    .header-content {
+      //padding: 0 40px;
+      display: flex;
+      line-height: 100px;
+      // justify-content: space-between;
+      align-items: center;
 
-        .el-link {
-            color: #4b9bb7;
+      span {
+        min-width: 120px;
+        padding-left: 15px;
+      }
+
+      .search,
+      .message-status,
+      .message-kind {
+        display: flex;
+        justify-content: flex-start;
+
+        span {
+          flex: 1;
         }
 
-        .leftPx {
-            margin-left: 10px;
+        .el-input {
+          flex: 2;
+          color: #606266;
+
+          //&::v-deep .el-input__inner {
+          //  background-color: #09152f;
+          //  border: 1px solid #17324c;
+          //}
         }
+      }
 
-        .mainTitle {
-            line-height: 60px;
-        }
+      .find {
+        margin-left: 15px;
+      }
 
-        .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: #4b9bb7;
-            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 {
+      .findBtn {
+        line-height: 100px;
+        margin-left: 15px;
         display: flex;
         align-items: center;
-        background-color: #fff;
-        padding: 20px;
-        line-height: 60px;
+        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;
     }
 
-    &::v-deep .el-dialog__title {
-        color: #4b9bb7;
+    .leftPx {
+      margin-left: 10px;
     }
 
-    &::v-deep .el-dialog__close {
-        width: 20px;
-        height: 20px;
-        // color: #fff;
+    .mainTitle {
+      line-height: 60px;
     }
 
-    &::v-deep .el-dialog__body {
-        padding: 0;
+    .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-first{
+            margin-left: 0!important;
+          }
+        .funs-sp {
+          border: 1px solid #DCDFE6;
+        }
+
+        .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;
+        }
+        color: var(--operation-color);
+        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;
+    //}
+
+    .mainContent1 {
+      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;
+        }
+      }
+    }
+  }
+
+  //&::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>
\ No newline at end of file
+</style>

--
Gitblit v1.8.0