“dzb”
2022-10-13 5cd763edc85f3b14bc98af906828521d65276f48
修改系统框架、消息管理新增
23个文件已修改
1643 ■■■■ 已修改文件
src/App.vue 114 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/detail/index.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/dispatch/index.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/illdetail/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/scene/index.vue 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/request.js 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/layout/components/Header/index.vue 309 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/layout/components/Menu/index.vue 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/baseSetting/illegalBuild/index.vue 83 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/baseSetting/violation/index.vue 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/disposal/casepool/dispatch/index.vue 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/disposal/casepool/learn/index.vue 196 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/disposal/casepool/notDeal/index.vue 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/disposal/casepool/pool/createUser/ill/index.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/disposal/casepool/pool/index.vue 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/message/myIndex/createUser/index.vue 188 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/operate/message/myIndex/index.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSetting/baseSetting/department/index.vue 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSetting/baseSetting/role/index.vue 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSetting/baseSetting/user/components/main/index.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSetting/baseSetting/user/index.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/systemSetting/platform/mySetting/index.vue 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/App.vue
@@ -40,7 +40,7 @@
          url: 'sccg/system/portal/logo/search',
        }).then(res => {
          result = res.data;
          sessionStorage.setItem('pic',JSON.stringify(result));
          sessionStorage.setItem('pic', JSON.stringify(result));
        })
      }
      return result;
@@ -48,50 +48,114 @@
  }
};
</script>
<style>
.el-select-dropdown__item{
<style lang="scss">
.el-select-dropdown__item {
  height: 100% !important;
}
.el-select-dropdown,.popper-class{
.el-select-dropdown,
.popper-class {
  background-color: #17324c !important;
}
.el-select-dropdown__item.hover, .el-select-dropdown__item:hover{
.el-select-dropdown__item.hover,
.el-select-dropdown__item:hover {
  background-color: #17324c !important;
}
.el-tree{
.el-tree {
  background-color: #09152f !important;
}
.el-tree-node__content:hover, .el-upload-list__item:hover{
.el-tree-node__content:hover,
.el-upload-list__item:hover {
  background-color: #09152f !important;
  color: #4b9bb7 !important;
}
.el-tree-node:focus>.el-tree-node__content{
.el-tree-node:focus>.el-tree-node__content {
  background-color: #070f22 !important;
  color:#4b9bb7
  color: #4b9bb7
}
/*定义滚动条高宽及背景
 高宽分别对应横竖滚动条的尺寸*/
 ::-webkit-scrollbar
{
    width:4px;
    height:4px;
    background-color:#070f22;
::-webkit-scrollbar {
  width: 4px;
  height: 4px;
  background-color: #070f22;
}
/*定义滚动条轨道
 内阴影+圆角*/
::-webkit-scrollbar-track
{
    -webkit-box-shadow:inset 0 0 6px rgba(0,0,0,0.3);
    border-radius:10px;
    background-color:#070f22;
::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  border-radius: 10px;
  background-color: #070f22;
}
/*定义滑块
 内阴影+圆角*/
::-webkit-scrollbar-thumb
{
    border-radius:10px;
    -webkit-box-shadow:inset 0 0 6px rgba(0,0,0,.3);
    background-color:#555;
::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
  background-color: #555;
}
// 设置dialog样式
.el-dialog__header,
.el-dialog__body {
  background-color: #06122c;
}
.el-dialog__header {
  display: flex;
  align-items: center;
  background-color: #fff;
  padding: 20px;
  line-height: 60px;
}
.el-dialog__close {
  width: 20px;
  height: 20px;
  // color: #fff;
}
.el-dialog__body {
  padding: 0;
}
#app {
  // 设置弹出框样式
  .el-dialog__title {
    color: #4b9bb7;
  }
  // 设置table样式
  .el-table__empty-block {
    background-color: #09152f;
  }
  .el-table__empty-block {
    color: #4b9bb7;
  }
  .el-table__empty-text {
    color: #4b9bb7;
  }
  .el-table .warning-row {
    background: #06122c;
  }
  .el-table .success-row {
    background: #071f39;
  }
  .el-input__inner {
    background-color: #09152f;
    border: 1px solid #17324c;
  }
}
</style>
src/components/detail/index.vue
@@ -12,7 +12,7 @@
                    <label class="data-title">
                        大类名称:
                    </label>
                    <span class="data-detail">{{baseCase.violations.categoryId}}</span>
                    <span class="data-detail">{{baseCase.violations.categoryText}}</span>
                </div>
            </div>
            <div class="data-item">
@@ -20,13 +20,13 @@
                    <label class="data-title">
                        小类名称:
                    </label>
                    <span class="data-detail">{{baseCase.violations.typeId}}</span>
                    <span class="data-detail">{{baseCase.violations.typeText}}</span>
                </div>
                <div class="data-item__right">
                    <label class="data-title">
                        事件等级:
                    </label>
                    <span class="data-detail">{{baseCase.violations.gradeId}}</span>
                    <span class="data-detail">{{baseCase.violations.gradeText}}</span>
                </div>
            </div>
            <div class="data-item">
@@ -48,7 +48,7 @@
                    <label class="data-title">
                        所属社区:
                    </label>
                    <span class="data-detail">{{baseCase.communityId}}</span>
                    <span class="data-detail">{{baseCase.communityText}}</span>
                </div>
            </div>
            <div class="data-item">
@@ -56,7 +56,7 @@
                    <label class="data-title">
                        所属街道:
                    </label>
                    <span class="data-detail">{{baseCase.streetId}}</span>
                    <span class="data-detail">{{baseCase.streetText}}</span>
                </div>
            </div>
            <div class="data-item">
src/components/dispatch/index.vue
@@ -15,7 +15,7 @@
            <!-- 选择执法车 -->
            <el-form-item label="选择执法车:" prop="enforcementCar">
                <el-select v-model="dispatch.enforcementCar" placeholder="请选择">
                    <el-option v-for="item in carOptions" :key="item.value" :label="item.label" :value="item.value">
                    <el-option v-for="item in carOptions" :key="item.id" :label="item.carNumber" :value="item.id">
                    </el-option>
                </el-select>
            </el-form-item>
@@ -74,7 +74,7 @@
    components: {
        MyMap
    },
    props: ['id', 'changeDialog', 'refresh', 'mytype'],
    props: ['id', 'changeDialog', 'refresh', 'mytype'],
    created() {
        // 判断车辆类型
        this.mytype === 1 ? this.getLawCarList() : this.getSoilCarList();
@@ -232,8 +232,8 @@
                url: `sccg/car_Manage/query_enforce?current=1&size=1000`
            })
                .then(res => {
                    this.carOptions = res.data.orders;
                    console.log(res);
                    this.carOptions = res.data.records;
                    console.log(res,this.carOptions);
                })
        },
        // 获取渣土车辆
@@ -243,7 +243,7 @@
                url: `sccg/car_Manage/query_slag?current=1&size=1000`
            })
                .then(res => {
                    this.carOptions = res.data.orders;
                    this.carOptions = res.data.records;
                    console.log(res);
                })
        },
src/components/illdetail/index.vue
@@ -7,7 +7,7 @@
                        <span class="data-detail">违建</span>
                    </el-form-item>
                    <el-form-item label="违建类别:">
                        <span class="data-detail">{{baseCase.illegalBuilding.categoryId}}</span>
                        <span class="data-detail">{{baseCase.illegalBuilding.categoryText}}</span>
                    </el-form-item>
                </div>
                <div class="data-item">
@@ -30,7 +30,7 @@
                        <span class="data-detail">{{baseCase.illegalBuilding.site}}</span>
                    </el-form-item>
                    <el-form-item label="所属社区:">
                        <span class="data-detail">{{baseCase.communityId}}</span>
                        <span class="data-detail">{{baseCase.communityText}}</span>
                    </el-form-item>
                </div>
                <div class="data-item">
src/components/scene/index.vue
@@ -2,7 +2,7 @@
    <div class="scene">
        <div class="nav">
            <div class="nav-item" v-for="o in list" :key="o.index" @click="changeActive(o.index)">
                <div class="outer" >
                <div class="outer">
                    <div :class="['inner',active === o.index ? 'inner-active' : '']"></div>
                </div>
                <div class="innet-title">{{o.label}}</div>
@@ -29,60 +29,70 @@
        </div>
        <div class="scene-item" v-if="active === 2">
            <el-form ref="investigation" label-position="right" label-width="120px" :model="investigation">
                <el-form-item label="承办队员:">
                    <el-input v-model="investigation.name"></el-input>
                </el-form-item>
                <el-form-item label="协办队员:">
                    <el-input v-model="investigation.region"></el-input>
                </el-form-item>
                <div class="inves-item">
                    <el-form-item label="承办队员:">
                        <el-input v-model="investigation.name"></el-input>
                    </el-form-item>
                    <el-form-item label="协办队员:">
                        <el-input v-model="investigation.assistant"></el-input>
                    </el-form-item>
                </div>
                <el-form-item label="时间:">
                    <el-input v-model="investigation.type"></el-input>
                </el-form-item>
                <el-form-item label="地址:">
                    <el-input v-model="investigation.type"></el-input>
                    <el-input v-model="investigation.address"></el-input>
                </el-form-item>
                <el-form-item label="案由:">
                    <el-input v-model="investigation.type"></el-input>
                    <el-input v-model="investigation.caseAction"></el-input>
                </el-form-item>
                <el-form-item label="当事人信息:">
                    <el-input v-model="investigation.type"></el-input>
                </el-form-item>
                <el-form-item label="情况描述:">
                    <el-input v-model="investigation.type"></el-input>
                    <el-input v-model="investigation.description"></el-input>
                </el-form-item>
                <el-form-item label="照片附件:">
                    <el-input v-model="investigation.type"></el-input>
                    <el-input v-model="investigation.pic"></el-input>
                </el-form-item>
                <el-form-item label="类型:">
                    <el-input v-model="investigation.type"></el-input>
                </el-form-item>
                <el-form-item label="当事人姓名:">
                    <el-input v-model="investigation.type"></el-input>
                </el-form-item>
                <el-form-item label="手机号码:">
                    <el-input v-model="investigation.type"></el-input>
                </el-form-item>
                <el-form-item label="证件类型:">
                    <el-input v-model="investigation.type"></el-input>
                </el-form-item>
                <el-form-item label="证件号码:">
                    <el-input v-model="investigation.type"></el-input>
                </el-form-item>
                <el-form-item label="文化程度:">
                    <el-input v-model="investigation.type"></el-input>
                </el-form-item>
                <el-form-item label="职业:">
                    <el-input v-model="investigation.type"></el-input>
                </el-form-item>
                <div class="inves-item">
                    <el-form-item label="当事人姓名:">
                        <el-input v-model="investigation.type"></el-input>
                    </el-form-item>
                    <el-form-item label="手机号码:">
                        <el-input v-model="investigation.type"></el-input>
                    </el-form-item>
                </div>
                <div class="inves-item">
                    <el-form-item label="证件类型:">
                        <el-input v-model="investigation.type"></el-input>
                    </el-form-item>
                    <el-form-item label="证件号码:">
                        <el-input v-model="investigation.type"></el-input>
                    </el-form-item>
                </div>
                <div class="inves-item">
                    <el-form-item label="文化程度:">
                        <el-input v-model="investigation.type"></el-input>
                    </el-form-item>
                    <el-form-item label="职业:">
                        <el-input v-model="investigation.type"></el-input>
                    </el-form-item>
                </div>
                <el-form-item label="工作单位及职务:">
                    <el-input v-model="investigation.type"></el-input>
                </el-form-item>
                <el-form-item label="名族:">
                    <el-input v-model="investigation.type"></el-input>
                </el-form-item>
                <el-form-item label="籍贯:">
                    <el-input v-model="investigation.type"></el-input>
                </el-form-item>
                <div class="inves-item">
                    <el-form-item label="民族:">
                        <el-input v-model="investigation.type"></el-input>
                    </el-form-item>
                    <el-form-item label="籍贯:">
                        <el-input v-model="investigation.type"></el-input>
                    </el-form-item>
                </div>
                <el-form-item label="现住址:">
                    <el-input v-model="investigation.type"></el-input>
                </el-form-item>
@@ -121,16 +131,21 @@
                }
            ],
            arrivalSituation: {},
            investigation:{},
            writ:{}
            investigation: {},
            writ: {}
        }
    },
    props:['currentSitVo'],
    created(){
        const {currentSitVo} = this;
        console.log(currentSitVo);
        // this.arrivalSituation = mylist;
    props: ['currentSitVo'],
    created() {
        const { currentSitVo: { arrivalSituation: mylist,investigation:invesList } } = this;
        if (mylist) {
            this.arrivalSituation = mylist;
        }
        if(invesList){
            this.investigation = invesList;
        }
        console.log(this.currentSitVo);
    },
    methods: {
        changeActive(idx) {
@@ -145,11 +160,13 @@
        padding: 20px 100px;
        display: flex;
        justify-content: space-between;
        .nav-item{
        .nav-item {
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        .outer {
            width: 50px;
            height: 50px;
@@ -186,5 +203,8 @@
            border: 1px solid #17324c;
        }
    }
    .inves-item{
        display: flex;
    }
}
</style>
src/utils/request.js
@@ -16,41 +16,38 @@
  }
  return config;
}, (err) => {
  console.log(err);
  console.log(err, 're');
}
)
// 响应
api.interceptors.response.use(
  function handleResponseSuccess(response) {
  (response) => {
    const result = response.data;
    // console.log(response);
    if (response.status === 200 && result.code === 200) {
      return result;
    } else if (result.code=== 401) {
      console.log(result);
    }
    else if (response.status === 200 && result.code === 500) {
      tip.Message({
        type: 'error',
        message: '服务器努力加载中',
      })
      return result;
    }
    else if (response.status === 200 && result.code === 401) {
      // console.log(result);
      tip.Message({
        type: 'warning',
        message: '登录身份已过期',
      })
      router.push('/login');
      return;
    }else if(result.code === 500){
      tip.Message({
        type: 'error',
        message: '网络请求出错',
      })
      return;
    }
    else {
      return result;
    }
  },
  function (error) {
  (error) => {
    console.log(error);
    if(error.code === "ECONNABORTED"){
      tip.Message({
        type:'error',
        message:'网络请求超市',
        duration: 3 * 1000,
      })
      return;
    }
  }
  },
)
export default api;
src/views/layout/components/Header/index.vue
@@ -1,38 +1,150 @@
<template>
  <!-- 头部 -->
  <el-header>
      <!-- 右侧菜单 -->
      <div class="header-title">
        <div class="bell">
          <el-icon class="el-icon-bell" style="color: white"></el-icon>
        </div>
        <div class="userinfo">
          <div class="avatar"></div>
          <span class="username">admin</span>
        </div>
        <div class="loginout" @click="loginout">退出登录</div>
    <!-- 左侧菜单 -->
    <div class="header-left">
      <div class="menu-left__item" v-for="(item,index) in menuLeftList" :key="item.id" @click="changeActive(index)">
        <span :class="item.checked ? 'my-active':''">{{item.label}}</span>
      </div>
    </el-header>
    </div>
    <!-- 右侧菜单 -->
    <div class="header-right">
      <!-- 搜索框 -->
      <div class="menu-right__item search">
        <el-input suffix-icon="el-icon-search" placeholder="请输入搜索内容"></el-input>
      </div>
      <!-- 登录用户 -->
      <div class="menu-right__item user" @mousemove="flag.user=true" @mouseleave="flag.user=false">
        <el-avatar :size="20" src="https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png"></el-avatar>
        <span style="padding: 0 5px;">Admin</span>
        <i class="el-icon-arrow-down"></i>
        <!-- 用户操作 -->
        <div class="user-card" v-if="flag.user" @mouseleave="flag.user = false">
          <el-card class="box-card">
            <div class="user-card__item">修改密码</div>
            <div style="margin-top: 10px;" class="user-card__item">基本信息</div>
          </el-card>
        </div>
      </div>
      <!-- 消息 -->
      <div class="menu-right__item btn" @mousemove="flag.message = true" @mouseleave=" flag.message = false ">
        <el-tooltip effect="dark" content="消息中心" placement="bottom-end" :hide-after="600">
          <el-badge :value="50" :max="99" class="item">
            <i class="el-icon-message-solid"></i>
          </el-badge>
        </el-tooltip>
        <!-- 消息操作 -->
        <div class="message-card" v-if="flag.message" @mouseleave=" flag.message = false ">
          <el-card class="box-card">
            <div class="card-header">
              <span>消息中心</span>
              <el-button type="text">接收设置</el-button>
            </div>
            <div v-for="item in menuMessageList" :key="item.id" class="message-card__item">
              <span class="label">{{item.label}}</span>
              <span>({{item.num}})</span>
            </div>
          </el-card>
        </div>
      </div>
      <!-- 设置 -->
      <div class="menu-right__item btn">
        <el-tooltip effect="dark" content="账户设置" placement="bottom-end" :hide-after="1000">
          <i class="el-icon-s-tools"></i>
        </el-tooltip>
      </div>
      <!-- 退出登录 -->
      <div class="menu-right__item btn" @click="loginout">
        <el-tooltip effect="dark" content="退出登录" placement="bottom-end" :hide-after="1000">
          <i class="el-icon-switch-button"></i>
        </el-tooltip>
      </div>
    </div>
  </el-header>
</template>
<script>
export default {
  data() {
    return {
      opened: false,
      menuLeftList: [
        {
          label: '驾驶舱',
          checked: true,
          url: '',
          id: '1f'
        },
        {
          label: '视频巡查',
          checked: false,
          url: '',
          id: '2f'
        },
        {
          label: '执法管理',
          checked: false,
          url: '',
          if: '3f',
        },
      ],
      flag: {
        user: false,
        message: false
      },
      menuMessageList: [
        {
          label: '全部消息',
          num: 10,
          id: '1m'
        },
        {
          label: '产品消息',
          num: 10,
          id: '2m'
        },
        {
          label: '安全消息',
          num: 10,
          id: '3m'
        },
        {
          label: '服务消息',
          num: 10,
          id: '4m'
        },
      ]
    };
  },
  methods:{
    loginout(){
      sessionStorage.removeItem('token');
      sessionStorage.removeItem('tokenHead');
      this.$router.push({path:"/login"})
    }
  methods: {
    // 退出功能
    loginout() {
      this.$confirm('退出系统确认', '确认提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        sessionStorage.removeItem('token');
        sessionStorage.removeItem('tokenHead');
        this.$router.push({ path: "/login" })
      }).catch(err=>{
        console.log(err);
      })
    },
    // 改变选中状态
    changeActive(idx) {
      this.menuLeftList.forEach((item, index) => {
        if (index === idx) {
          item.checked = true;
        } else {
          item.checked = false;
        }
      })
    },
  }
};
</script>
<style lang="scss" >
<style lang="scss" scoped>
.el-header {
  background-color: #071a38;
  color: #333;
@@ -40,42 +152,141 @@
  line-height: 60px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0;
  width: 100%;
  .header-title {
  justify-content: space-between;
  padding: 0 20px;
  // width: 100%;
  color: #4b9bb7;
  .header-left {
    display: flex;
    align-items: center;
    width: 280px;
    justify-content: space-evenly;
    .bell {
      background-color: #00d1fa;
      width: 25px;
      height: 25px;
      border-radius: 5px;
      text-align: center;
      line-height: 25px;
    .menu-left__item {
      width: 120px;
      span {
        display: block;
        line-height: 40px;
        width: 100%;
        &:hover{
          cursor: pointer;
          color: #fff;
        }
      }
    }
    .userinfo {
      width: 100xp;
    .my-active {
      border-radius: 20px;
      color: #fff;
      background-color: #092c4a;
    }
  }
  .header-right {
    display: flex;
    .item {
      width: 60px;
      position: relative;
      :deep(.is-fixed) {
        width: 20px;
        height: 20px;
        padding: 0;
        top: 20px;
        right: 30px;
        border-radius: 50%;
        position: absolute;
      }
    }
    .search {
      width: 200px;
    }
    .user {
      margin-left: 20px;
      width: 120px;
      display: flex;
      align-items: center;
      .avatar {
        width: 25px;
        height: 25px;
        border-radius: 50%;
        background-image: url("@/assets/imgs/user/default-avatar.jpg");
        background-size: cover;
      }
      .username {
        margin: 0 5px;
        color: #22d3eb;
        font-size: 14px;
      justify-content: center;
      position: relative;
      .user-card {
        position: absolute;
        top: 60px;
        width: 120px;
        .user-card__item {
          padding: 5px 0;
          &:hover {
            color: #fff;
            background-color: #071a38;
          }
        }
        :deep(.el-card) {
          background-color: #092c4a;
          border: 1px solid #17324c;
          color: #4b9bb7;
        }
        :deep(.el-card__body) {
          line-height: 20px;
          padding: 10px;
        }
      }
    }
    .loginout {
      color: #22d3eb;
      font-size: 14px;
    .btn {
      width: 60px;
      font-size: 20px;
      position: relative;
      .message-card {
        position: absolute;
        top: 60px;
        width: 180px;
        left: -50px;
        :deep(.el-card__body) {
          padding: 0;
        }
        :deep(.el-card) {
          background-color: #092c4a;
          border: 1px solid #17324c;
          color: #4b9bb7;
        }
        .card-header {
          padding: 0 20px;
          line-height: 40px;
          font-size: 14px;
          display: flex;
          border-bottom: 1px solid #17324c;
          justify-content: space-between;
        }
        .message-card__item {
          line-height: 30px;
          font-size: 14px;
          display: flex;
          justify-content: space-between;
          padding: 0 20px;
          .label:hover {
            cursor: pointer;
            color: #fff;
          }
        }
      }
    }
    .user:hover,
    .btn:hover {
      background-color: #092c4a;
      cursor: pointer;
    }
  }
}
src/views/layout/components/Menu/index.vue
@@ -203,7 +203,27 @@
<script>
export default {
  data(){
    return{
    }
  },
  created(){
    // this.getMenuList();
  },
  methods:{
    // 获取菜单列表
    getMenuList(){
      let arr;
      this.$axios({
        method:'get',
        url:'sccg/system/portal/menu/search_myself'
      })
      .then(res=>{
        console.log(res);
      })
    }
  }
};
</script>
src/views/login/index.vue
@@ -175,6 +175,10 @@
  top: 20%;
  right: 5%;
  width: 360px;
  &:deep(.el-input__inner){
    background-color: #fff !important;
    border: 1px solid #dcdfe6 !important;
  }
}
.text {
src/views/operate/baseSetting/illegalBuild/index.vue
@@ -301,11 +301,6 @@
                .el-input {
                    flex: 2;
                    color: #1d3f57;
                    &::v-deep .el-input__inner {
                        background-color: #09152f;
                        border: 1px solid #17324c;
                    }
                }
            }
@@ -369,11 +364,6 @@
                        width: 120px;
                    }
                    &::v-deep .el-input__inner {
                        border: none;
                        background-color: #09152f;
                    }
                    &:hover {
                        border: 1px solid #4b9bb7;
                    }
@@ -417,15 +407,6 @@
                white-space: nowrap;
                overflow: hidden;
            }
            &::v-deep .el-table__empty-block {
                background-color: #09152f;
            }
            &::v-deep .el-table__empty-block {
                color: #4b9bb7;
            }
            .operation {
                display: flex;
@@ -438,70 +419,6 @@
                }
            }
        }
        .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>
src/views/operate/baseSetting/violation/index.vue
@@ -339,11 +339,6 @@
                .el-input {
                    flex: 2;
                    color: #1d3f57;
                    &::v-deep .el-input__inner {
                        background-color: #09152f;
                        border: 1px solid #17324c;
                    }
                }
            }
@@ -455,15 +450,6 @@
                white-space: nowrap;
                overflow: hidden;
            }
            &::v-deep .el-table__empty-block {
                background-color: #09152f;
            }
            &::v-deep .el-table__empty-block {
                color: #4b9bb7;
            }
            .operation {
                display: flex;
@@ -476,70 +462,6 @@
                }
            }
        }
        .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>
src/views/operate/disposal/casepool/dispatch/index.vue
@@ -488,12 +488,6 @@
                    .el-select {
                        width: 120px;
                    }
                    &::v-deep .el-input__inner {
                        border: none;
                        background-color: #09152f;
                    }
                    &:hover {
                        border: 1px solid #4b9bb7;
                    }
@@ -538,13 +532,6 @@
                overflow: hidden;
            }
            &::v-deep .el-table__empty-block {
                background-color: #09152f;
            }
            &::v-deep .el-table__empty-block {
                color: #4b9bb7;
            }
            .operation {
                display: flex;
@@ -558,74 +545,10 @@
                }
            }
        }
        .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;
        }
    }
    .line {
        padding: 0 5px;
    }
    &::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>
src/views/operate/disposal/casepool/learn/index.vue
@@ -40,26 +40,33 @@
                            <span>{{scope.row.eventSource === 2 ? '人工上报' : '视频上传'}}</span>
                        </template>
                    </el-table-column>
                    <el-table-column :prop="mystatus === 1 ? 'category' :'category'" :label="mystatus===1 ? '大类名称' : '违建类别'" :min-width="mystatus===1?'10':'20'">
                    <el-table-column :prop="mystatus === 1 ? 'category' :'category'"
                        :label="mystatus===1 ? '大类名称' : '违建类别'" :min-width="mystatus===1?'10':'20'">
                    </el-table-column>
                    <el-table-column :prop="mystatus === 1 ? 'type' :'site'" :label="mystatus===1 ? '小类名称' : '违建地点'" min-width="10">
                    <el-table-column :prop="mystatus === 1 ? 'type' :'site'" :label="mystatus===1 ? '小类名称' : '违建地点'"
                        min-width="10">
                    </el-table-column>
                    <el-table-column :prop="mystatus === 1 ? 'actionCause' :'communityId'" :label="mystatus===1 ? '案由' : '所属社区'" min-width="10">
                    <el-table-column :prop="mystatus === 1 ? 'actionCause' :'communityId'"
                        :label="mystatus===1 ? '案由' : '所属社区'" min-width="10">
                    </el-table-column>
                    <el-table-column :prop="mystatus === 1 ? 'site' :''" :label="mystatus===1 ? '报警点位' : '违法建筑长、宽、高'" :min-width="mystatus===1?'10' :'20' ">
                    <el-table-column :prop="mystatus === 1 ? 'site' :''" :label="mystatus===1 ? '报警点位' : '违法建筑长、宽、高'"
                        :min-width="mystatus===1?'10' :'20' ">
                        <template slot-scope="scope">
                            <div v-if="mystatus ===2"><span>{{scope.row.buildingLength+'米'+'、'+ scope.row.buildingWidth+'米'+'、'+scope.row.buildingHigh+'米'}}</span></div>
                            <div v-if="mystatus ===2"><span>{{scope.row.buildingLength+'米'+'、'+
                            scope.row.buildingWidth+'米'+'、'+scope.row.buildingHigh+'米'}}</span></div>
                            <div v-else>{{scope.row.site}}</div>
                        </template>
                    </el-table-column>
                    <el-table-column :prop="mystatus === 1 ? 'street' :'buildingArea'" :label="mystatus===1 ? '所属区域' : '违法建筑面积'" min-width="10">
                    <el-table-column :prop="mystatus === 1 ? 'street' :'buildingArea'"
                        :label="mystatus===1 ? '所属区域' : '违法建筑面积'" min-width="10">
                    </el-table-column>
                    <el-table-column prop="alarmTime" label="报警时间" min-width="15" v-if="mystatus===1">
                        <template slot-scope="scope">
                            <span>{{filterTime(scope.row.alarmTime)}}</span>
                        </template>
                    </el-table-column>
                    <el-table-column :prop="mystatus === 1 ? 'continueTime' :'materials'" :label="mystatus===1 ? '持续时间' : '违法建筑材料'" min-width="10">
                    <el-table-column :prop="mystatus === 1 ? 'continueTime' :'materials'"
                        :label="mystatus===1 ? '持续时间' : '违法建筑材料'" min-width="10">
                    </el-table-column>
                    <el-table-column prop="operation" label="操作" min-width="20">
                        <template slot-scope="scope">
@@ -76,8 +83,8 @@
                    <MyIllDetail :info=info v-else></MyIllDetail>
                </el-dialog>
                <!-- 上传页面 -->
                <el-dialog :visible.sync="dialogUpload" width="60%" title="上传处置结果"
                    v-if="dialogUpload" :before-close="handleClose">
                <el-dialog :visible.sync="dialogUpload" width="60%" title="上传处置结果" v-if="dialogUpload"
                    :before-close="handleClose">
                    <uploadVio v-if="mystatus === 0" :caseId="caseId" @closeDialog="closeDialog"></uploadVio>
                    <uploadIll v-else :caseId="caseId" @closeDialog="closeDialog"></uploadIll>
                </el-dialog>
@@ -119,14 +126,14 @@
export default {
    components: {
        // updateUser,
        uploadVio,uploadIll,MyDetail,MyIllDetail
        uploadVio, uploadIll, MyDetail, MyIllDetail
    },
    data() {
        return {
            tableData: [],
            context: "",
            dialogUpload:false,
            dialogView:false,
            dialogUpload: false,
            dialogView: false,
            info: {},
            totalNum: null,
            pageSize: 10,
@@ -134,7 +141,7 @@
            all: false,
            unsame: false,
            myIdx: 0,
            preMyIdx:0,
            preMyIdx: 0,
            options: [
                {
                    value: 0,
@@ -167,9 +174,9 @@
                    checked: false,
                },
            ],
            statusArr:[],
            mystatus:1,
            caseId:'',
            statusArr: [],
            mystatus: 1,
            caseId: '',
        }
    },
    created() {
@@ -190,16 +197,16 @@
            this.getUserList();
        },
        // 批量删除
        mulDelete(idArr){
        mulDelete(idArr) {
            console.log(idArr);
            this.$axios({
                method:'delete',
                url:'sccg/violations/batch_delete?ids='+idArr,
            }).then(res=>{
                method: 'delete',
                url: 'sccg/violations/batch_delete?ids=' + idArr,
            }).then(res => {
                this.getUserList();
                this.$message({
                    message:res.message,
                    type:res.code === 200 ? 'success' : 'warning'
                    message: res.message,
                    type: res.code === 200 ? 'success' : 'warning'
                })
            })
        },
@@ -322,19 +329,19 @@
                })
                .catch(_ => { });
        },
        async JumpView(data){
        async JumpView(data) {
            await this.getEventInfo(data.code);
        },
        // 获取案件信息
        getEventInfo(code){
        getEventInfo(code) {
            this.$axios({
                method:'get',
                url:`sccg/base_case/baseCaseDetail/${code}`
                method: 'get',
                url: `sccg/base_case/baseCaseDetail/${code}`
            })
            .then(res=>{
                this.info = res.data;
                this.dialogView = true;
            })
                .then(res => {
                    this.info = res.data;
                    this.dialogView = true;
                })
        },
        // opernDialog(data){
        //     this.dialogUpload = true;
@@ -342,33 +349,33 @@
        //     // console.log(data); 
        // },
        // 重新处置
        handleReset({id}){
        handleReset({ id }) {
            console.log(id);
            this.$axios({
                method:'put',
                url:'sccg/base_case/case_status_update?caseId='+id+'&state=0'
                method: 'put',
                url: 'sccg/base_case/case_status_update?caseId=' + id + '&state=0'
            })
            .then(res=>{
                console.log(res);
                if(res.code === 200){
                    this.$message({
                        type:'success',
                        message:'处置成功',
                    })
                    this.getUserList();
                }else{
                    this.$message({
                        type:'error',
                        message:'操作失败'
                    })
                }
            })
                .then(res => {
                    console.log(res);
                    if (res.code === 200) {
                        this.$message({
                            type: 'success',
                            message: '处置成功',
                        })
                        this.getUserList();
                    } else {
                        this.$message({
                            type: 'error',
                            message: '操作失败'
                        })
                    }
                })
        },
        // 关闭上传界面
        closeDialog({flag}){
        closeDialog({ flag }) {
            this.dialogUpload = flag;
        },
        filterTime(time){
        filterTime(time) {
            return helper(time);
        }
    }
@@ -379,6 +386,7 @@
    text-align: left;
    margin: 10px 20px;
    color: #4b9bb7;
    header {
        background-color: #09152f;
        border: 1pox solid #fff;
@@ -431,18 +439,17 @@
            }
        }
    }
    &::v-deep .el-input__inner {
        background-color: #09152f;
        border: 1px solid #17324c;
    }
    main {
        background-color: #09152f;
        margin-top: 20px;
        padding-bottom: 50px;
        border: 1pox solid #fff;
        .btn span:hover{
        .btn span:hover {
            cursor: pointer;
        }
        .type-nav {
            display: flex;
            line-height: 40px;
@@ -493,11 +500,6 @@
                        width: 120px;
                    }
                    &::v-deep .el-input__inner {
                        border: none;
                        background-color: #09152f;
                    }
                    &:hover {
                        border: 1px solid #4b9bb7;
                    }
@@ -542,14 +544,6 @@
                overflow: hidden;
            }
            &::v-deep .el-table__empty-block {
                background-color: #09152f;
            }
            &::v-deep .el-table__empty-block {
                color: #4b9bb7;
            }
            .operation {
                display: flex;
@@ -562,72 +556,10 @@
                }
            }
        }
        .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;
        }
    }
    .line{
    .line {
        padding: 0 5px;
    }
    &::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>
src/views/operate/disposal/casepool/notDeal/index.vue
@@ -400,11 +400,6 @@
                .el-input {
                    flex: 2;
                    color: #1d3f57;
                    &::v-deep .el-input__inner {
                        background-color: #09152f;
                        border: 1px solid #17324c;
                    }
                }
            }
@@ -429,10 +424,6 @@
                padding: 12px 30px;
            }
        }
    }
    &::v-deep .el-input__inner {
        background-color: #09152f;
        border: 1px solid #17324c;
    }
    main {
        background-color: #09152f;
@@ -492,11 +483,6 @@
                        width: 120px;
                    }
                    &::v-deep .el-input__inner {
                        border: none;
                        background-color: #09152f;
                    }
                    &:hover {
                        border: 1px solid #4b9bb7;
                    }
@@ -540,15 +526,6 @@
                white-space: nowrap;
                overflow: hidden;
            }
            &::v-deep .el-table__empty-block {
                background-color: #09152f;
            }
            &::v-deep .el-table__empty-block {
                color: #4b9bb7;
            }
            .operation {
                display: flex;
@@ -561,72 +538,9 @@
                }
            }
        }
        .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;
        }
    }
    .line{
        padding: 0 5px;
    }
    &::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>
src/views/operate/disposal/casepool/pool/createUser/ill/index.vue
@@ -411,7 +411,10 @@
        },
        handleSuccess(res, file, filelist) {
            const baseUrl = 'http://140.143.152.226:8410/';
            console.log(res);
            // if(res.code === 500){
            //     console.log('err');
            //     return;
            // }
            this.ill.positive = baseUrl + res.data.url1;
        },
src/views/operate/disposal/casepool/pool/index.vue
@@ -57,7 +57,7 @@
                            <el-link @click="JumpView(scope.row)">{{scope.row.code}}</el-link>
                        </template>
                    </el-table-column>
                    <el-table-column prop="eventSource" label="问题来源" min-width="7">
                    <el-table-column prop="eventSource" label="问题来源" min-width="8">
                        <template slot-scope="scope">
                            <span>{{scope.row.eventSource === 2 ? '人工上报' : '视频上传'}}</span>
                        </template>
@@ -579,12 +579,6 @@
            }
        }
    }
    &::v-deep .el-input__inner {
        background-color: #09152f;
        border: 1px solid #17324c;
    }
    main {
        background-color: #09152f;
        margin-top: 20px;
@@ -665,11 +659,6 @@
                        width: 120px;
                    }
                    &::v-deep .el-input__inner {
                        border: none;
                        background-color: #09152f;
                    }
                    &:hover {
                        border: 1px solid #4b9bb7;
                    }
@@ -714,15 +703,6 @@
                white-space: nowrap;
                overflow: hidden;
            }
            &::v-deep .el-table__empty-block {
                background-color: #09152f;
            }
            &::v-deep .el-table__empty-block {
                color: #4b9bb7;
            }
            .operation {
                display: flex;
@@ -736,40 +716,6 @@
            }
        }
        .el-table::v-deep .warning-row {
            background: #06122c;
        }
        .el-table::v-deep .success-row {
            background: #071f39;
        }
    }
    &::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>
src/views/operate/message/myIndex/createUser/index.vue
@@ -7,24 +7,33 @@
                    <!-- 消息栏目 -->
                    <el-form-item class="optionItem" label="消息栏目:" prop="messageType">
                        <div class="message-item">
                            <el-input v-model="role.messageType" placeholder="请填写消息栏目"></el-input>
                            <span>添加栏目</span>
                            <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">
                        <el-select v-model="role.head" placeholder="请选择消息标题">
                            <el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id">
                            </el-option>
                        </el-select>
                        <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">
                        <el-select v-model="role.targetTo" placeholder="请选择接收对象">
                            <el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id">
                            </el-option>
                        </el-select>
                        <!-- <el-input type="textarea" v-model="role.description" placeholder="请输入描述内容200字以内"></el-input> -->
                        <div class="message-item__left">
                            <el-select v-model="role.targetTo" multiple :placeholder="checkNum">
                                <el-option :value="role.targetTo">
                                    <el-tree ref="tree"  :data="departList" :props="defaultProps"
                                        show-checkbox @check="handleCheck" default-expand-all node-key="id">
                                    </el-tree>
                                </el-option>
                            </el-select>
                        </div>
                    </el-form-item>
                    <!-- 消息内容 -->
                    <el-form-item class="optionItem" label="消息内容:" prop="body">
@@ -33,14 +42,12 @@
                    </el-form-item>
                    <!-- 提醒方式 -->
                    <el-form-item class="optionItem" label="提醒方式:" prop="channelCode">
                        <div class="message-item">
                            <el-radio-group v-model="role.channelCode">
                                <el-radio :label="1">站内信</el-radio>
                                <el-radio :label="2">邮件</el-radio>
                                <el-radio :label="3">短信</el-radio>
                            </el-radio-group>
                            <span class="message-tip">(短信可用数: 1000条)</span>
                        </div>
                        <el-radio-group v-model="role.channelCode">
                            <el-radio :label="1">站内信</el-radio>
                            <el-radio :label="2">邮件</el-radio>
                            <el-radio :label="3">短信</el-radio>
                        </el-radio-group>
                        <span class="message-tip">(短信可用数: 1000条)</span>
                    </el-form-item>
                    <el-form-item>
                        <div class="optionBtn">
@@ -54,15 +61,20 @@
                        </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>
            </div>
        </main>
    </div>
</template>
<script>
import MyEditor from '@/components/edit'
import MyColumnAdd from '@/views/operate/message/mycontrol/createUser'
export default {
    components: { MyEditor },
    components: { MyEditor, MyColumnAdd },
    data() {
        const validateNickname = (rule, value, callback) => {
            if (!value) {
@@ -87,11 +99,11 @@
        };
        return {
            role: {
                messageType:'',
                head:'',
                targetTo:'',
                body:'',
                channelCode:1
                messageType: '',
                head: '',
                targetTo: '',
                body: '',
                channelCode: 1,
            },
            createRoleRules: {
                name: [
@@ -104,12 +116,112 @@
                    { required: false, trigger: "blur", validator: validateTruename },
                ],
            },
            colList: [],
            departList: [],
            checkNum: '请选择接收对象',
            typeList: [],
            dialogCreate: false,
            defaultProps: {
                children: 'children',
                label: 'departName',
                disabled: function (data, node) {
                    if (data.createTime) {
                        return !data.leaf
                    }
                }
            },
        }
    },
    created() {
        this.setColumnList();
        this.setDepartList();
    },
    methods: {
        // 关闭弹窗
        handleConfirmClose(done) {
            this.$confirm('确认关闭?')
                .then(_ => {
                    done();
                })
        },
        // 设置栏目
        async setColumnList() {
            this.colList = await this.getColumnList();
        },
        // 获取栏目
        async getColumnList() {
            let arr;
            await this.$axios({
                method: 'get',
                url: 'sccg/message_column/getAllColumn'
            })
                .then(res => {
                    console.log(res);
                    arr = res.data;
                })
            return arr;
        },
        // 关闭弹窗
        closeDialog({ flag, index }) {
            this.dialogCreate = flag;
            if (index === 1) {
                // 重新设置栏目
                this.setColumnList();
            }
        },
        // 获取部门树
        async getDepartList() {
            let arr
            await this.$axios({
                method: 'get',
                url: 'sccg/depart/tree'
            })
                .then(res => {
                    arr = res.data
                })
            return arr;
        },
        // 设置部门树
        async setDepartList() {
            this.departList = await this.filterDepartList();
        },
        // 处理部门树
        async filterDepartList() {
            let arr = await this.getDepartList();
            const { setChildren } = this;
            // console.log(setChildren);
            arr.forEach(item => {
                setChildren(item);
            })
            return arr;
        },
        // 递归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 })
                    })
                }
            }
        },
        // 选中id
        handleCheck(data, node) {
            console.log(node.checkedKeys);
            // this.checkList = node.checkedKeys;
            // if(node.checkedKeys.length === 1){
            //     this.role.targetTo = data.departName;
            // }
            // let per = node.checkedKeys.length;
            // per ===0 ? this.checkNum="请选择接收对象" : this.checkNum = ''+per;
        }
    },
    props: ['']
}
@@ -140,19 +252,33 @@
                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){
            :deep(.el-input) {
                width: 400px;
            }
            .message-item{
            .message-item {
                display: flex;
                span{
                span {
                    margin-left: 20px;
                    color: #4b9bb7;
                }
            }
            .message-tip {
                margin-left: 20px;
            }
@@ -197,10 +323,6 @@
            }
        }
    }
    :deep(.el-select-dropdown){
        width: 400px;
        min-width: 400px !important;
    }
}
</style>
src/views/operate/message/myIndex/index.vue
@@ -57,9 +57,6 @@
                    <el-table-column prop="status" label="发布状态" min-width="5">
                        <template slot-scope="scope">
                            {{scope.row.status === 0 ? '未发布' :'已发布'}}
                            <!-- <el-switch class="switchStyle" v-model="scope.row.status" active-text="开" inactive-text="关"
                                active-color="#3fef9a" inactive-color="#000212" @change="handleChangeStatus(scope.row)">
                            </el-switch> -->
                        </template>
                    </el-table-column>
                    <el-table-column prop="operation" label="操作" min-width="15">
@@ -67,7 +64,7 @@
                            <div class="operation">
                                <el-link icon="el-icon-view" :underline="false" @click="dialogView = true">查看</el-link>
                                <el-link icon="el-icon-edit" class="leftPx" :underline="false">编辑</el-link>
                                <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false">删除</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>
@@ -157,6 +154,26 @@
        this.setTableData();
    },
    methods: {
        handleDelete(idarr){
            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();
src/views/systemSetting/baseSetting/department/index.vue
@@ -465,15 +465,6 @@
        .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;
@@ -486,15 +477,6 @@
                }
            }
        }
        .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;
@@ -523,33 +505,6 @@
        &::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>
src/views/systemSetting/baseSetting/role/index.vue
@@ -504,15 +504,6 @@
        .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;
@@ -525,15 +516,6 @@
                }
            }
        }
        .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;
@@ -562,33 +544,6 @@
        &::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>
src/views/systemSetting/baseSetting/user/components/main/index.vue
@@ -460,12 +460,6 @@
    .el-table {
        color: #4b9bb7;
        font-size: 10px;
        &::v-deep .el-table__empty-block {
            background-color: #09152f;
            color: #4b9bb7;
        }
        .operation {
            display: flex;
@@ -478,15 +472,6 @@
            }
        }
    }
    .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;
src/views/systemSetting/baseSetting/user/index.vue
@@ -45,32 +45,5 @@
    text-align: left;
    margin: 10px 20px;
    color: #4b9bb7;
    &::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>
src/views/systemSetting/platform/mySetting/index.vue
@@ -3,51 +3,16 @@
        <!-- header 页面标题提示 -->
        <header>
            <div class="header-title">系统设置 >> 门户管理 > 自定义菜单设置</div>
            <div class="header-add">
                <el-button type="primary" @click="handleAdd">新增菜单</el-button>
            </div>
        </header>
        <main>
            <div class="main-content">
                <!-- 数据展示 -->
                <!-- <el-table ref="multipleTable"
                    :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}"
                    :data="menuList" style="width: 100%" row-key="id" :row-class-name="tableRowClassName">
                    <el-table-column type="selection" min-width="5">
                    </el-table-column>
                    <el-table-column prop="title" label="菜单栏" min-width="75">
                        <template slot-scope="scope">
                            <el-tree :data="scope.row.menuVoArrayList" node-key="id" :default-expanded-keys="[0]"
                                :default-checked-keys="[0]" :props="defaultProps">
                            </el-tree>
                        </template>
                    </el-table-column>
                    <el-table-column label="操作" min-width="20">
                        <template slot-scope="scope">
                            <div class="operation">
                                <span @click="handleAdd(scope.row)">新增</span>
                                <span class="line">|</span>
                                <span @click="handleEdit(scope.row)">编辑</span>
                                <span class="line">|</span>
                                <span @click="handleDelete(scope.row)">删除</span>
                            </div>
                        </template>
                    </el-table-column>
                </el-table> -->
                <el-row class="my-container">
                    <el-col :span="6" class="my-aside">
                        <el-tree :data="menuList" @node-click="handleNodeClick" :props="defaultProps" accordion
                            node-key="id">
                        <el-tree draggable :data="menuList" @node-click="handleNodeClick" :props="defaultProps"
                            accordion node-key="id" @node-drop="handleDrop" :allow-drop="allowDrop">
                            <span class="custom-tree-node" slot-scope="{ node, data }">
                                <span>{{ node.label }}</span>
                                <span>
                                    <el-button type="text" size="mini" @click="handleEdit(data)">
                                        编辑
                                    </el-button>
                                    <el-button type="text" size="mini" @click="handleDelete(data)">
                                        删除
                                    </el-button>
                                </span>
                            </span>
                        </el-tree>
                    </el-col>
@@ -65,9 +30,8 @@
                        <div class="my-show">
                            <div class="my-show__left">是否显示菜单:</div>
                            <div class="my-show__right">
                                <el-switch class="switchStyle" v-model="article.hidden" active-text="开"
                                    inactive-text="关" active-color="#3fef9a" inactive-color="#000212"
                                    @change="handleChangeStatus(article)">
                                <el-switch class="switchStyle" v-model="article.isStart" active-color="#3fef9a"
                                    inactive-color="#000212" @change="handleChangeStatus(article)">
                                </el-switch>
                            </div>
                        </div>
@@ -107,15 +71,16 @@
        // 点击节点
        handleNodeClick(data) {
            this.article = { ...data };
            this.article.hidden === 0 ? this.article.hidden = false : this.article.hidden = true
            this.article.isStart === 0 ? this.article.isStart = false : this.article.isStart = true
        },
        // 修改状态
        handleChangeStatus(data) {
            console.log(data);
            data.hidden ? data.hidden = 1 : data.hidden = 0;
            let { isStart, relationId } = data;
            isStart ? isStart = 1 : isStart = 0;
            this.$axios({
                method: 'post',
                url: `sccg/menu/updateHidden/${data.id}` + '?hidden=' + data.hidden
                method: 'put',
                url: `sccg/system/portal/menu/modification_myself?relationId=${relationId}&status=${isStart}`
            })
                .then(res => {
                    this.$message({
@@ -126,15 +91,6 @@
                    this.article = {};
                })
        },
        // 新增
        handleAdd() {
            this.dialogAdd = true;
        },
        // 编辑
        handleEdit(data) {
            console.log(data);
        },
        //删除
        handleDelete(data) {
            console.log(data);
            this.$confirm('您确认要删除订单吗?')
@@ -161,21 +117,31 @@
        getMenuList() {
            this.$axios({
                method: 'get',
                url: 'sccg/system/portal/menu/search',
                url: 'sccg/system/portal/menu/search_myself',
            }).then(res => {
                this.menuList = res.data.records;
                console.log(this.menuList);
                this.menuList = res.data;
            })
        },
        // 关闭弹窗
        handleClose(done) {
        this.$confirm('确认关闭?')
          .then(_ => {
            this.dialogAdd = false
            done();
          })
          .catch(_ => {});
      }
        // 拖拽
        handleDrop(before, after, inner, event) {
            console.log(before)
            console.log(after)
            console.log(inner)
            console.log(event);
        },
        // 获取是否可以放置
        allowDrop(before, inner, next) {
            if (before.data.level === inner.data.level) {
                if (before.data.parentId === inner.data.parentId) {
                    return next === "prev" || next === "next";
                } else {
                    return false;
                }
            } else {
                // 不同级进行处理
                return false;
            }
        }
    }
}
@@ -192,8 +158,9 @@
        display: flex;
        justify-content: space-between;
        align-items: center;
        .header-add{
            .el-button{
        .header-add {
            .el-button {
                background-color: #eb5d01;
                border: none;
            }