166 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			166 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
<script>
 | 
						|
import {mapMutations, mapState} from 'vuex'
 | 
						|
 | 
						|
export default {
 | 
						|
  provide() {
 | 
						|
    return {
 | 
						|
      root: this,
 | 
						|
    }
 | 
						|
  },
 | 
						|
  onLaunch: function () {
 | 
						|
    this.repairWxSDK()
 | 
						|
  },
 | 
						|
  onShow: function () {
 | 
						|
    this.initWaterMarker()
 | 
						|
  },
 | 
						|
  onPageNotFound() {
 | 
						|
    this.logout()
 | 
						|
  },
 | 
						|
  computed: {
 | 
						|
    ...mapState(['token', 'user']),
 | 
						|
  },
 | 
						|
  methods: {
 | 
						|
    ...mapMutations(['initWaterMarker', 'logout', 'getConfig']),
 | 
						|
    goto(params, cb) {
 | 
						|
      let {path: url, query: {app}} = this.$route
 | 
						|
      params.query = {app, ...(params.query || {})}
 | 
						|
      uni.navigateTo({
 | 
						|
        url, success: () => {
 | 
						|
          this.$router.push({...params})
 | 
						|
          cb && cb()
 | 
						|
        }
 | 
						|
      })
 | 
						|
    },
 | 
						|
    repairWxSDK() {
 | 
						|
      wx = jWeixin
 | 
						|
    }
 | 
						|
  },
 | 
						|
}
 | 
						|
</script>
 | 
						|
 | 
						|
<style lang="scss">
 | 
						|
@import '~uview-ui/index.scss';
 | 
						|
@import './common/iconfont.css';
 | 
						|
 | 
						|
body {
 | 
						|
  font-family: 'Microsoft YaHei', serif;
 | 
						|
}
 | 
						|
 | 
						|
uni-page-body {
 | 
						|
  // min-height: 100%;
 | 
						|
  height: 100vh;
 | 
						|
  background: #f5f5f5;
 | 
						|
  position: relative;
 | 
						|
}
 | 
						|
 | 
						|
div[bottom] {
 | 
						|
  position: fixed;
 | 
						|
  left: 0;
 | 
						|
  bottom: 0;
 | 
						|
  width: 100%;
 | 
						|
  height: 128px;
 | 
						|
  padding: 24px 32px;
 | 
						|
  box-sizing: border-box;
 | 
						|
  background: #ffffff;
 | 
						|
  border-top: 1px solid #d4d4d4;
 | 
						|
  display: flex;
 | 
						|
  gap: 32px;
 | 
						|
 | 
						|
  & > * {
 | 
						|
    flex: 1;
 | 
						|
    min-width: 0;
 | 
						|
 | 
						|
    & + * {
 | 
						|
      margin-left: 32px;
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
div[flex] {
 | 
						|
  display: flex;
 | 
						|
  align-items: center;
 | 
						|
 | 
						|
  &.spb {
 | 
						|
    justify-content: space-between;
 | 
						|
  }
 | 
						|
 | 
						|
  &.wrap {
 | 
						|
    flex-wrap: wrap;
 | 
						|
  }
 | 
						|
 | 
						|
  &.column {
 | 
						|
    flex-direction: column;
 | 
						|
  }
 | 
						|
 | 
						|
  &.start {
 | 
						|
    align-items: flex-start;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
div[shrink] {
 | 
						|
  flex-shrink: 0;
 | 
						|
}
 | 
						|
 | 
						|
uni-button {
 | 
						|
  border-radius: 4px;
 | 
						|
 | 
						|
  &.u-btn--primary {
 | 
						|
    background-color: $uni-color-primary !important;
 | 
						|
    border-color: $uni-color-primary !important;
 | 
						|
  }
 | 
						|
 | 
						|
  &:after {
 | 
						|
    border-radius: 4px;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.fill {
 | 
						|
  flex: 1;
 | 
						|
  min-width: 0;
 | 
						|
  min-height: 0;
 | 
						|
}
 | 
						|
 | 
						|
.u-form-item {
 | 
						|
  width: 100%;
 | 
						|
  min-height: 100px;
 | 
						|
  background: #ffffff;
 | 
						|
  padding: 0 32px !important;
 | 
						|
  box-sizing: border-box;
 | 
						|
  display: flex;
 | 
						|
  line-height: normal !important;
 | 
						|
 | 
						|
  .u-form-item__body {
 | 
						|
    height: inherit;
 | 
						|
    flex: 1;
 | 
						|
 | 
						|
    .u-form-item--left {
 | 
						|
      min-height: 100px;
 | 
						|
    }
 | 
						|
 | 
						|
    .u-form-item--right__content__slot {
 | 
						|
      padding-bottom: 10px;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  .u-form-item__message {
 | 
						|
    margin: 15px 0;
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
@keyframes mapWarn {
 | 
						|
  0% {
 | 
						|
    transform: scale(.5);
 | 
						|
    opacity: 1
 | 
						|
  }
 | 
						|
 | 
						|
  30% {
 | 
						|
    opacity: .5
 | 
						|
  }
 | 
						|
 | 
						|
  to {
 | 
						|
    transform: scale(1.4);
 | 
						|
    opacity: 0
 | 
						|
  }
 | 
						|
}
 | 
						|
</style>
 |