feature (调整前端文案):
This commit is contained in:
		@@ -1,187 +1,187 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="navbar">
 | 
			
		||||
    <hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
 | 
			
		||||
 | 
			
		||||
    <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
 | 
			
		||||
 | 
			
		||||
    <div class="right-menu">
 | 
			
		||||
      <template v-if="device!=='mobile'">
 | 
			
		||||
        <search id="header-search" class="right-menu-item" />
 | 
			
		||||
        
 | 
			
		||||
        <el-tooltip content="源码地址" effect="dark" placement="bottom">
 | 
			
		||||
          <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
 | 
			
		||||
        </el-tooltip>
 | 
			
		||||
 | 
			
		||||
        <el-tooltip content="文档地址" effect="dark" placement="bottom">
 | 
			
		||||
          <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
 | 
			
		||||
        </el-tooltip>
 | 
			
		||||
 | 
			
		||||
        <screenfull id="screenfull" class="right-menu-item hover-effect" />
 | 
			
		||||
 | 
			
		||||
        <el-tooltip content="布局大小" effect="dark" placement="bottom">
 | 
			
		||||
          <size-select id="size-select" class="right-menu-item hover-effect" />
 | 
			
		||||
        </el-tooltip>
 | 
			
		||||
 | 
			
		||||
      </template>
 | 
			
		||||
 | 
			
		||||
      <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
 | 
			
		||||
        <div class="avatar-wrapper">
 | 
			
		||||
          <img :src="avatar" class="user-avatar">
 | 
			
		||||
          <i class="el-icon-caret-bottom" />
 | 
			
		||||
        </div>
 | 
			
		||||
        <el-dropdown-menu slot="dropdown">
 | 
			
		||||
          <router-link to="/user/profile">
 | 
			
		||||
            <el-dropdown-item>个人中心</el-dropdown-item>
 | 
			
		||||
          </router-link>
 | 
			
		||||
          <el-dropdown-item @click.native="setting = true">
 | 
			
		||||
            <span>布局设置</span>
 | 
			
		||||
          </el-dropdown-item>
 | 
			
		||||
          <el-dropdown-item divided @click.native="logout">
 | 
			
		||||
            <span>退出登录</span>
 | 
			
		||||
          </el-dropdown-item>
 | 
			
		||||
        </el-dropdown-menu>
 | 
			
		||||
      </el-dropdown>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import { mapGetters } from 'vuex'
 | 
			
		||||
import Breadcrumb from '@/components/Breadcrumb'
 | 
			
		||||
import Hamburger from '@/components/Hamburger'
 | 
			
		||||
import Screenfull from '@/components/Screenfull'
 | 
			
		||||
import SizeSelect from '@/components/SizeSelect'
 | 
			
		||||
import Search from '@/components/HeaderSearch'
 | 
			
		||||
import RuoYiGit from '@/components/RuoYi/Git'
 | 
			
		||||
import RuoYiDoc from '@/components/RuoYi/Doc'
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  components: {
 | 
			
		||||
    Breadcrumb,
 | 
			
		||||
    Hamburger,
 | 
			
		||||
    Screenfull,
 | 
			
		||||
    SizeSelect,
 | 
			
		||||
    Search,
 | 
			
		||||
    RuoYiGit,
 | 
			
		||||
    RuoYiDoc
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
    ...mapGetters([
 | 
			
		||||
      'sidebar',
 | 
			
		||||
      'avatar',
 | 
			
		||||
      'device'
 | 
			
		||||
    ]),
 | 
			
		||||
    setting: {
 | 
			
		||||
      get() {
 | 
			
		||||
        return this.$store.state.settings.showSettings
 | 
			
		||||
      },
 | 
			
		||||
      set(val) {
 | 
			
		||||
        this.$store.dispatch('settings/changeSetting', {
 | 
			
		||||
          key: 'showSettings',
 | 
			
		||||
          value: val
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    toggleSideBar() {
 | 
			
		||||
      this.$store.dispatch('app/toggleSideBar')
 | 
			
		||||
    },
 | 
			
		||||
    async logout() {
 | 
			
		||||
      this.$confirm('确定注销并退出系统吗?', '提示', {
 | 
			
		||||
        confirmButtonText: '确定',
 | 
			
		||||
        cancelButtonText: '取消',
 | 
			
		||||
        type: 'warning'
 | 
			
		||||
      }).then(() => {
 | 
			
		||||
        this.$store.dispatch('LogOut').then(() => {
 | 
			
		||||
          location.reload()
 | 
			
		||||
        })
 | 
			
		||||
      })
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.navbar {
 | 
			
		||||
  height: 50px;
 | 
			
		||||
  overflow: hidden;
 | 
			
		||||
  position: relative;
 | 
			
		||||
  background: #fff;
 | 
			
		||||
  box-shadow: 0 1px 4px rgba(0,21,41,.08);
 | 
			
		||||
 | 
			
		||||
  .hamburger-container {
 | 
			
		||||
    line-height: 46px;
 | 
			
		||||
    height: 100%;
 | 
			
		||||
    float: left;
 | 
			
		||||
    cursor: pointer;
 | 
			
		||||
    transition: background .3s;
 | 
			
		||||
    -webkit-tap-highlight-color:transparent;
 | 
			
		||||
 | 
			
		||||
    &:hover {
 | 
			
		||||
      background: rgba(0, 0, 0, .025)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .breadcrumb-container {
 | 
			
		||||
    float: left;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .errLog-container {
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
    vertical-align: top;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .right-menu {
 | 
			
		||||
    float: right;
 | 
			
		||||
    height: 100%;
 | 
			
		||||
    line-height: 50px;
 | 
			
		||||
 | 
			
		||||
    &:focus {
 | 
			
		||||
      outline: none;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .right-menu-item {
 | 
			
		||||
      display: inline-block;
 | 
			
		||||
      padding: 0 8px;
 | 
			
		||||
      height: 100%;
 | 
			
		||||
      font-size: 18px;
 | 
			
		||||
      color: #5a5e66;
 | 
			
		||||
      vertical-align: text-bottom;
 | 
			
		||||
 | 
			
		||||
      &.hover-effect {
 | 
			
		||||
        cursor: pointer;
 | 
			
		||||
        transition: background .3s;
 | 
			
		||||
 | 
			
		||||
        &:hover {
 | 
			
		||||
          background: rgba(0, 0, 0, .025)
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .avatar-container {
 | 
			
		||||
      margin-right: 30px;
 | 
			
		||||
 | 
			
		||||
      .avatar-wrapper {
 | 
			
		||||
        margin-top: 5px;
 | 
			
		||||
        position: relative;
 | 
			
		||||
 | 
			
		||||
        .user-avatar {
 | 
			
		||||
          cursor: pointer;
 | 
			
		||||
          width: 40px;
 | 
			
		||||
          height: 40px;
 | 
			
		||||
          border-radius: 10px;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        .el-icon-caret-bottom {
 | 
			
		||||
          cursor: pointer;
 | 
			
		||||
          position: absolute;
 | 
			
		||||
          right: -20px;
 | 
			
		||||
          top: 25px;
 | 
			
		||||
          font-size: 12px;
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="navbar">
 | 
			
		||||
    <hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
 | 
			
		||||
 | 
			
		||||
    <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
 | 
			
		||||
 | 
			
		||||
    <div class="right-menu">
 | 
			
		||||
      <template v-if="device!=='mobile'">
 | 
			
		||||
        <search id="header-search" class="right-menu-item" />
 | 
			
		||||
 | 
			
		||||
        <!-- <el-tooltip content="源码地址" effect="dark" placement="bottom">
 | 
			
		||||
          <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
 | 
			
		||||
        </el-tooltip>
 | 
			
		||||
 | 
			
		||||
        <el-tooltip content="文档地址" effect="dark" placement="bottom">
 | 
			
		||||
          <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
 | 
			
		||||
        </el-tooltip> -->
 | 
			
		||||
 | 
			
		||||
        <screenfull id="screenfull" class="right-menu-item hover-effect" />
 | 
			
		||||
 | 
			
		||||
        <el-tooltip content="布局大小" effect="dark" placement="bottom">
 | 
			
		||||
          <size-select id="size-select" class="right-menu-item hover-effect" />
 | 
			
		||||
        </el-tooltip>
 | 
			
		||||
 | 
			
		||||
      </template>
 | 
			
		||||
 | 
			
		||||
      <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
 | 
			
		||||
        <div class="avatar-wrapper">
 | 
			
		||||
          <img :src="avatar" class="user-avatar">
 | 
			
		||||
          <i class="el-icon-caret-bottom" />
 | 
			
		||||
        </div>
 | 
			
		||||
        <el-dropdown-menu slot="dropdown">
 | 
			
		||||
          <router-link to="/user/profile">
 | 
			
		||||
            <el-dropdown-item>个人中心</el-dropdown-item>
 | 
			
		||||
          </router-link>
 | 
			
		||||
          <el-dropdown-item @click.native="setting = true">
 | 
			
		||||
            <span>布局设置</span>
 | 
			
		||||
          </el-dropdown-item>
 | 
			
		||||
          <el-dropdown-item divided @click.native="logout">
 | 
			
		||||
            <span>退出登录</span>
 | 
			
		||||
          </el-dropdown-item>
 | 
			
		||||
        </el-dropdown-menu>
 | 
			
		||||
      </el-dropdown>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import { mapGetters } from 'vuex'
 | 
			
		||||
import Breadcrumb from '@/components/Breadcrumb'
 | 
			
		||||
import Hamburger from '@/components/Hamburger'
 | 
			
		||||
import Screenfull from '@/components/Screenfull'
 | 
			
		||||
import SizeSelect from '@/components/SizeSelect'
 | 
			
		||||
import Search from '@/components/HeaderSearch'
 | 
			
		||||
// import RuoYiGit from '@/components/RuoYi/Git'
 | 
			
		||||
// import RuoYiDoc from '@/components/RuoYi/Doc'
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  components: {
 | 
			
		||||
    Breadcrumb,
 | 
			
		||||
    Hamburger,
 | 
			
		||||
    Screenfull,
 | 
			
		||||
    SizeSelect,
 | 
			
		||||
    Search,
 | 
			
		||||
    // RuoYiGit,
 | 
			
		||||
    // RuoYiDoc
 | 
			
		||||
  },
 | 
			
		||||
  computed: {
 | 
			
		||||
    ...mapGetters([
 | 
			
		||||
      'sidebar',
 | 
			
		||||
      'avatar',
 | 
			
		||||
      'device'
 | 
			
		||||
    ]),
 | 
			
		||||
    setting: {
 | 
			
		||||
      get() {
 | 
			
		||||
        return this.$store.state.settings.showSettings
 | 
			
		||||
      },
 | 
			
		||||
      set(val) {
 | 
			
		||||
        this.$store.dispatch('settings/changeSetting', {
 | 
			
		||||
          key: 'showSettings',
 | 
			
		||||
          value: val
 | 
			
		||||
        })
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  methods: {
 | 
			
		||||
    toggleSideBar() {
 | 
			
		||||
      this.$store.dispatch('app/toggleSideBar')
 | 
			
		||||
    },
 | 
			
		||||
    async logout() {
 | 
			
		||||
      this.$confirm('确定注销并退出系统吗?', '提示', {
 | 
			
		||||
        confirmButtonText: '确定',
 | 
			
		||||
        cancelButtonText: '取消',
 | 
			
		||||
        type: 'warning'
 | 
			
		||||
      }).then(() => {
 | 
			
		||||
        this.$store.dispatch('LogOut').then(() => {
 | 
			
		||||
          location.reload()
 | 
			
		||||
        })
 | 
			
		||||
      })
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.navbar {
 | 
			
		||||
  height: 50px;
 | 
			
		||||
  overflow: hidden;
 | 
			
		||||
  position: relative;
 | 
			
		||||
  background: #fff;
 | 
			
		||||
  box-shadow: 0 1px 4px rgba(0,21,41,.08);
 | 
			
		||||
 | 
			
		||||
  .hamburger-container {
 | 
			
		||||
    line-height: 46px;
 | 
			
		||||
    height: 100%;
 | 
			
		||||
    float: left;
 | 
			
		||||
    cursor: pointer;
 | 
			
		||||
    transition: background .3s;
 | 
			
		||||
    -webkit-tap-highlight-color:transparent;
 | 
			
		||||
 | 
			
		||||
    &:hover {
 | 
			
		||||
      background: rgba(0, 0, 0, .025)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .breadcrumb-container {
 | 
			
		||||
    float: left;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .errLog-container {
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
    vertical-align: top;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .right-menu {
 | 
			
		||||
    float: right;
 | 
			
		||||
    height: 100%;
 | 
			
		||||
    line-height: 50px;
 | 
			
		||||
 | 
			
		||||
    &:focus {
 | 
			
		||||
      outline: none;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .right-menu-item {
 | 
			
		||||
      display: inline-block;
 | 
			
		||||
      padding: 0 8px;
 | 
			
		||||
      height: 100%;
 | 
			
		||||
      font-size: 18px;
 | 
			
		||||
      color: #5a5e66;
 | 
			
		||||
      vertical-align: text-bottom;
 | 
			
		||||
 | 
			
		||||
      &.hover-effect {
 | 
			
		||||
        cursor: pointer;
 | 
			
		||||
        transition: background .3s;
 | 
			
		||||
 | 
			
		||||
        &:hover {
 | 
			
		||||
          background: rgba(0, 0, 0, .025)
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .avatar-container {
 | 
			
		||||
      margin-right: 30px;
 | 
			
		||||
 | 
			
		||||
      .avatar-wrapper {
 | 
			
		||||
        margin-top: 5px;
 | 
			
		||||
        position: relative;
 | 
			
		||||
 | 
			
		||||
        .user-avatar {
 | 
			
		||||
          cursor: pointer;
 | 
			
		||||
          width: 40px;
 | 
			
		||||
          height: 40px;
 | 
			
		||||
          border-radius: 10px;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        .el-icon-caret-bottom {
 | 
			
		||||
          cursor: pointer;
 | 
			
		||||
          position: absolute;
 | 
			
		||||
          right: -20px;
 | 
			
		||||
          top: 25px;
 | 
			
		||||
          font-size: 12px;
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,84 +1,84 @@
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="sidebar-logo-container" :class="{'collapse':collapse}">
 | 
			
		||||
    <transition name="sidebarLogoFade">
 | 
			
		||||
      <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
 | 
			
		||||
        <img v-if="logo" :src="logo" class="sidebar-logo">
 | 
			
		||||
        <h1 v-else class="sidebar-title">{{ title }} </h1>
 | 
			
		||||
      </router-link>
 | 
			
		||||
      <router-link v-else key="expand" class="sidebar-logo-link" to="/">
 | 
			
		||||
        <img v-if="logo" :src="logo" class="sidebar-logo">
 | 
			
		||||
        <h1 class="sidebar-title">{{ title }} </h1>
 | 
			
		||||
      </router-link>
 | 
			
		||||
    </transition>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import logoImg from '@/assets/logo/logo.png'
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'SidebarLogo',
 | 
			
		||||
  props: {
 | 
			
		||||
    collapse: {
 | 
			
		||||
      type: Boolean,
 | 
			
		||||
      required: true
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      title: '若依管理系统',
 | 
			
		||||
      logo: logoImg
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.sidebarLogoFade-enter-active {
 | 
			
		||||
  transition: opacity 1.5s;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.sidebarLogoFade-enter,
 | 
			
		||||
.sidebarLogoFade-leave-to {
 | 
			
		||||
  opacity: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.sidebar-logo-container {
 | 
			
		||||
  position: relative;
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  height: 50px;
 | 
			
		||||
  line-height: 50px;
 | 
			
		||||
  background: #2b2f3a;
 | 
			
		||||
  text-align: center;
 | 
			
		||||
  overflow: hidden;
 | 
			
		||||
 | 
			
		||||
  & .sidebar-logo-link {
 | 
			
		||||
    height: 100%;
 | 
			
		||||
    width: 100%;
 | 
			
		||||
 | 
			
		||||
    & .sidebar-logo {
 | 
			
		||||
      width: 32px;
 | 
			
		||||
      height: 32px;
 | 
			
		||||
      vertical-align: middle;
 | 
			
		||||
      margin-right: 12px;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    & .sidebar-title {
 | 
			
		||||
      display: inline-block;
 | 
			
		||||
      margin: 0;
 | 
			
		||||
      color: #fff;
 | 
			
		||||
      font-weight: 600;
 | 
			
		||||
      line-height: 50px;
 | 
			
		||||
      font-size: 14px;
 | 
			
		||||
      font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
 | 
			
		||||
      vertical-align: middle;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  &.collapse {
 | 
			
		||||
    .sidebar-logo {
 | 
			
		||||
      margin-right: 0px;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
<template>
 | 
			
		||||
  <div class="sidebar-logo-container" :class="{'collapse':collapse}">
 | 
			
		||||
    <transition name="sidebarLogoFade">
 | 
			
		||||
      <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
 | 
			
		||||
        <img v-if="logo" :src="logo" class="sidebar-logo">
 | 
			
		||||
        <h1 v-else class="sidebar-title">{{ title }} </h1>
 | 
			
		||||
      </router-link>
 | 
			
		||||
      <router-link v-else key="expand" class="sidebar-logo-link" to="/">
 | 
			
		||||
        <img v-if="logo" :src="logo" class="sidebar-logo">
 | 
			
		||||
        <h1 class="sidebar-title">{{ title }} </h1>
 | 
			
		||||
      </router-link>
 | 
			
		||||
    </transition>
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
 | 
			
		||||
<script>
 | 
			
		||||
import logoImg from '@/assets/logo/logo.png'
 | 
			
		||||
 | 
			
		||||
export default {
 | 
			
		||||
  name: 'SidebarLogo',
 | 
			
		||||
  props: {
 | 
			
		||||
    collapse: {
 | 
			
		||||
      type: Boolean,
 | 
			
		||||
      required: true
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      title: '联城作价系统',
 | 
			
		||||
      logo: logoImg
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.sidebarLogoFade-enter-active {
 | 
			
		||||
  transition: opacity 1.5s;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.sidebarLogoFade-enter,
 | 
			
		||||
.sidebarLogoFade-leave-to {
 | 
			
		||||
  opacity: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.sidebar-logo-container {
 | 
			
		||||
  position: relative;
 | 
			
		||||
  width: 100%;
 | 
			
		||||
  height: 50px;
 | 
			
		||||
  line-height: 50px;
 | 
			
		||||
  background: #2b2f3a;
 | 
			
		||||
  text-align: center;
 | 
			
		||||
  overflow: hidden;
 | 
			
		||||
 | 
			
		||||
  & .sidebar-logo-link {
 | 
			
		||||
    height: 100%;
 | 
			
		||||
    width: 100%;
 | 
			
		||||
 | 
			
		||||
    & .sidebar-logo {
 | 
			
		||||
      width: 32px;
 | 
			
		||||
      height: 32px;
 | 
			
		||||
      vertical-align: middle;
 | 
			
		||||
      margin-right: 12px;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    & .sidebar-title {
 | 
			
		||||
      display: inline-block;
 | 
			
		||||
      margin: 0;
 | 
			
		||||
      color: #fff;
 | 
			
		||||
      font-weight: 600;
 | 
			
		||||
      line-height: 50px;
 | 
			
		||||
      font-size: 14px;
 | 
			
		||||
      font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
 | 
			
		||||
      vertical-align: middle;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  &.collapse {
 | 
			
		||||
    .sidebar-logo {
 | 
			
		||||
      margin-right: 0px;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
 
 | 
			
		||||
@@ -65,8 +65,8 @@ export default {
 | 
			
		||||
      codeUrl: "",
 | 
			
		||||
      cookiePassword: "",
 | 
			
		||||
      loginForm: {
 | 
			
		||||
        username: "admin",
 | 
			
		||||
        password: "admin123",
 | 
			
		||||
        username: "",
 | 
			
		||||
        password: "",
 | 
			
		||||
        rememberMe: false,
 | 
			
		||||
        code: "",
 | 
			
		||||
        uuid: ""
 | 
			
		||||
 
 | 
			
		||||
@@ -1,31 +1,41 @@
 | 
			
		||||
package com.ruoyi.project.data.cases.controller;
 | 
			
		||||
 | 
			
		||||
import com.ruoyi.common.utils.ServletUtils;
 | 
			
		||||
import com.ruoyi.framework.web.controller.BaseController;
 | 
			
		||||
import com.ruoyi.framework.web.page.TableDataInfo;
 | 
			
		||||
import com.ruoyi.framework.web.page.TableSupport;
 | 
			
		||||
import com.ruoyi.project.data.cases.domain.OriginalNewHouseCase;
 | 
			
		||||
import com.ruoyi.project.data.cases.service.IOriginalNewHouseCaseService;
 | 
			
		||||
import com.ruoyi.project.data.price.domain.UltimateOfficeBasePrice;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.security.access.prepost.PreAuthorize;
 | 
			
		||||
import org.springframework.web.bind.annotation.GetMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.RequestMapping;
 | 
			
		||||
import org.springframework.web.bind.annotation.RestController;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 案例Controller
 | 
			
		||||
 *
 | 
			
		||||
 * @author lihe
 | 
			
		||||
 */
 | 
			
		||||
@RestController
 | 
			
		||||
@RequestMapping("/data/cases")
 | 
			
		||||
public class CasesController {
 | 
			
		||||
public class CasesController extends BaseController {
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private IOriginalNewHouseCaseService originalNewHouseCaseService;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 原始办公挂牌案例
 | 
			
		||||
     * 一手房成交案例
 | 
			
		||||
     */
 | 
			
		||||
    public void originalOfficeOpeningCase() {
 | 
			
		||||
 | 
			
		||||
    @PreAuthorize("@ss.hasPermi('cases:newHouse:list')")
 | 
			
		||||
    @GetMapping("/newHouse/list")
 | 
			
		||||
    public TableDataInfo list(OriginalNewHouseCase originalNewHouseCase) {
 | 
			
		||||
        int total = originalNewHouseCaseService.selectCount(originalNewHouseCase);
 | 
			
		||||
        List<OriginalNewHouseCase> list =
 | 
			
		||||
                originalNewHouseCaseService.selectList(originalNewHouseCase);
 | 
			
		||||
        return getDataTable(list, total);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 原始住宅销售挂牌案例
 | 
			
		||||
     */
 | 
			
		||||
    public void originalResidenceSalesOpeningCase(){
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 原始住宅销售挂牌案例
 | 
			
		||||
     */
 | 
			
		||||
    public void originalResidenceSalesClosingCase(){
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -14,6 +14,9 @@ import java.util.Date;
 | 
			
		||||
 */
 | 
			
		||||
public class OriginalNewHouseCase {
 | 
			
		||||
    private static final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
 | 
			
		||||
    private Integer pageIndex;
 | 
			
		||||
    private Integer pageSize;
 | 
			
		||||
 | 
			
		||||
    private Integer yearMonth;
 | 
			
		||||
    /**
 | 
			
		||||
     * 案例id
 | 
			
		||||
@@ -248,4 +251,20 @@ public class OriginalNewHouseCase {
 | 
			
		||||
    public void setCaseLabel(String caseLabel) {
 | 
			
		||||
        this.caseLabel = caseLabel;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Integer getPageIndex() {
 | 
			
		||||
        return pageIndex;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setPageIndex(Integer pageIndex) {
 | 
			
		||||
        this.pageIndex = pageIndex;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public Integer getPageSize() {
 | 
			
		||||
        return pageSize;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public void setPageSize(Integer pageSize) {
 | 
			
		||||
        this.pageSize = pageSize;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -47,5 +47,21 @@ public interface OriginalNewHouseCaseMapper {
 | 
			
		||||
     */
 | 
			
		||||
    int insertSecondTable(OriginalNewHouseCase originalNewHouseCase);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 分页总数
 | 
			
		||||
     *
 | 
			
		||||
     * @param originalNewHouseCase
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    int pageCount(OriginalNewHouseCase originalNewHouseCase);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 分页列表
 | 
			
		||||
     *
 | 
			
		||||
     * @param originalNewHouseCase
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    List<OriginalNewHouseCase> pageList(OriginalNewHouseCase originalNewHouseCase);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,29 @@
 | 
			
		||||
package com.ruoyi.project.data.cases.service;
 | 
			
		||||
 | 
			
		||||
import com.ruoyi.project.data.cases.domain.OriginalNewHouseCase;
 | 
			
		||||
import com.ruoyi.project.data.price.domain.ArtificialResidenceRentBasePrice;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 一手房成交案例Service
 | 
			
		||||
 *
 | 
			
		||||
 * @author lihe
 | 
			
		||||
 */
 | 
			
		||||
public interface IOriginalNewHouseCaseService {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * @param originalNewHouseCase
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    List<OriginalNewHouseCase> selectList(OriginalNewHouseCase originalNewHouseCase);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 分页总数
 | 
			
		||||
     *
 | 
			
		||||
     * @param originalNewHouseCase
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
    int selectCount(OriginalNewHouseCase originalNewHouseCase);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,38 @@
 | 
			
		||||
package com.ruoyi.project.data.cases.service.impl;
 | 
			
		||||
 | 
			
		||||
import com.ruoyi.common.constant.LabelConstants;
 | 
			
		||||
import com.ruoyi.project.data.cases.domain.OriginalNewHouseCase;
 | 
			
		||||
import com.ruoyi.project.data.cases.mapper.OriginalNewHouseCaseMapper;
 | 
			
		||||
import com.ruoyi.project.data.cases.mapper.sync.DownloadOriginalNewHouseCaseMapper;
 | 
			
		||||
import com.ruoyi.project.data.cases.service.IOriginalNewHouseCaseService;
 | 
			
		||||
import org.slf4j.Logger;
 | 
			
		||||
import org.slf4j.LoggerFactory;
 | 
			
		||||
import org.springframework.beans.factory.annotation.Autowired;
 | 
			
		||||
import org.springframework.scheduling.annotation.Scheduled;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
 | 
			
		||||
import java.util.Calendar;
 | 
			
		||||
import java.util.Date;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 一手房成交案例Service
 | 
			
		||||
 *
 | 
			
		||||
 * @author lihe
 | 
			
		||||
 */
 | 
			
		||||
@Service
 | 
			
		||||
public class OriginalNewHouseCaseServiceImpl implements IOriginalNewHouseCaseService {
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
    private OriginalNewHouseCaseMapper originalNewHouseCaseMapper;
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public List<OriginalNewHouseCase> selectList(OriginalNewHouseCase originalNewHouseCase) {
 | 
			
		||||
        return originalNewHouseCaseMapper.pageList(originalNewHouseCase);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public int selectCount(OriginalNewHouseCase originalNewHouseCase) {
 | 
			
		||||
        return originalNewHouseCaseMapper.pageCount(originalNewHouseCase);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -32,6 +32,8 @@ public interface IArtificialResidenceRentPriceService {
 | 
			
		||||
    List<ArtificialResidenceRentBasePrice> selectList(ArtificialResidenceRentBasePrice officeBasePriceUltimate);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 分页总数
 | 
			
		||||
     *
 | 
			
		||||
     * @param officeBasePriceUltimate
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
@@ -51,6 +53,7 @@ public interface IArtificialResidenceRentPriceService {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 更新
 | 
			
		||||
     *
 | 
			
		||||
     * @param officeBasePriceUltimate
 | 
			
		||||
     * @return
 | 
			
		||||
     */
 | 
			
		||||
 
 | 
			
		||||
@@ -163,4 +163,51 @@
 | 
			
		||||
        )
 | 
			
		||||
    </insert>
 | 
			
		||||
 | 
			
		||||
    <select id="pageCount" parameterType="com.ruoyi.project.data.cases.domain.OriginalNewHouseCase">
 | 
			
		||||
        SELECT case_county as caseCounty
 | 
			
		||||
              ,case_block as caseBlock
 | 
			
		||||
              ,case_loop as caseLoop
 | 
			
		||||
              ,case_community_name as caseCommunityName
 | 
			
		||||
              ,case_address as caseAddress
 | 
			
		||||
              ,case_area as caseArea
 | 
			
		||||
              ,case_unit_price as caseUnitPrice
 | 
			
		||||
              ,case_total_price as caseTotalPrice
 | 
			
		||||
              ,case_house_type as caseHouseType
 | 
			
		||||
              ,case_signing_date as caseSigningDate
 | 
			
		||||
              ,case_floor as caseFloor
 | 
			
		||||
              ,case_house_property as caseHouseProperty
 | 
			
		||||
              ,case_apartment_layout as caseApartmentLayout
 | 
			
		||||
              ,compute_unit_price as computeUnitPrice
 | 
			
		||||
              ,compute_total_price as computeTotalPrice
 | 
			
		||||
              ,reference_unit_price as referenceUnitPrice
 | 
			
		||||
              ,reference_total_price as referenceTotalPrice
 | 
			
		||||
              ,case_label as caseLabel
 | 
			
		||||
              ,create_time
 | 
			
		||||
              , ${yearMonth} as yearMonth
 | 
			
		||||
          FROM dbo.original_new_house_case_${yearMonth}
 | 
			
		||||
    </select>
 | 
			
		||||
    <select id="pageList" resultType="com.ruoyi.project.data.cases.domain.OriginalNewHouseCase">
 | 
			
		||||
        SELECT case_county as caseCounty
 | 
			
		||||
              ,case_block as caseBlock
 | 
			
		||||
              ,case_loop as caseLoop
 | 
			
		||||
              ,case_community_name as caseCommunityName
 | 
			
		||||
              ,case_address as caseAddress
 | 
			
		||||
              ,case_area as caseArea
 | 
			
		||||
              ,case_unit_price as caseUnitPrice
 | 
			
		||||
              ,case_total_price as caseTotalPrice
 | 
			
		||||
              ,case_house_type as caseHouseType
 | 
			
		||||
              ,case_signing_date as caseSigningDate
 | 
			
		||||
              ,case_floor as caseFloor
 | 
			
		||||
              ,case_house_property as caseHouseProperty
 | 
			
		||||
              ,case_apartment_layout as caseApartmentLayout
 | 
			
		||||
              ,compute_unit_price as computeUnitPrice
 | 
			
		||||
              ,compute_total_price as computeTotalPrice
 | 
			
		||||
              ,reference_unit_price as referenceUnitPrice
 | 
			
		||||
              ,reference_total_price as referenceTotalPrice
 | 
			
		||||
              ,case_label as caseLabel
 | 
			
		||||
              ,create_time
 | 
			
		||||
              , ${yearMonth} as yearMonth
 | 
			
		||||
          FROM dbo.original_new_house_case_${yearMonth}
 | 
			
		||||
          order by case_id ASC OFFSET #{pageIndex} rows fetch next #{pageSize} rows only
 | 
			
		||||
    </select>
 | 
			
		||||
</mapper>
 | 
			
		||||
		Reference in New Issue
	
	Block a user