fangyuan
2023-01-05 71cfadcd79468058c75fd356faf2d1fb52f79deb
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>