| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 | 
							- <template>
 
-   <view class="u-circle-progress">
 
-     <view class="u-circle-progress__left">
 
-       <view
 
-           class="u-circle-progress__left__circle"
 
-           :style="[leftSyle]"
 
-           ref="left-circle"
 
-       >
 
-       </view>
 
-     </view>
 
-     <view
 
-         class="u-circle-progress__right"
 
-     >
 
-       <view
 
-           class="u-circle-progress__right__circle"
 
-           ref="right-circle"
 
-           :style="[rightSyle]"
 
-       >
 
-       </view>
 
-     </view>
 
-     <view class="u-circle-progress__circle">
 
-     </view>
 
-   </view>
 
- </template>
 
- <script>
 
- import props from './props.js';
 
- // #ifdef APP-NVUE
 
- const animation = uni.requireNativePlugin('animation')
 
- // #endif
 
- /**
 
-  * CircleProgress 圆形进度条 TODO: 待完善
 
-  * @description 展示操作或任务的当前进度,比如上传文件,是一个圆形的进度环。
 
-  * @tutorial https://www.uviewui.com/components/circleProgress.html
 
-  * @property {String | Number}  percentage  圆环进度百分比值,为数值类型,0-100 (默认 30 )
 
-  * @example
 
-  */
 
- export default {
 
-   name: 'u-circle-progress',
 
-   mixins: [uni.$u.mpMixin, uni.$u.mixin, props],
 
-   data() {
 
-     return {
 
-       leftBorderColor: 'rgb(200, 200, 200)',
 
-       rightBorderColor: 'rgb(200, 200, 200)',
 
-     }
 
-   },
 
-   computed: {
 
-     leftSyle() {
 
-       const style = {}
 
-       style.borderTopColor = this.leftBorderColor
 
-       style.borderRightColor = this.leftBorderColor
 
-       return style
 
-     },
 
-     rightSyle() {
 
-       const style = {}
 
-       style.borderLeftColor = this.rightBorderColor
 
-       style.borderBottomColor = this.rightBorderColor
 
-       return style
 
-     }
 
-   },
 
-   mounted() {
 
-     uni.$u.sleep().then(() => {
 
-       this.rightBorderColor = 'rgb(66, 185, 131)'
 
-       // this.init()
 
-     })
 
-   },
 
-   methods: {
 
-     init() {
 
-       animation.transition(this.$refs['right-circle'].ref, {
 
-         styles: {
 
-           transform: 'rotate(45deg)',
 
-           transformOrigin: 'center center'
 
-         },
 
-       }, () => {
 
-         this.rightBorderColor = 'rgb(66, 185, 131)'
 
-         // animation.transition(this.$refs['right-circle'].ref, {
 
-         // 	styles: {
 
-         // 		transform: 'rotate(225deg)',
 
-         // 		transformOrigin: 'center center'
 
-         // 	},
 
-         // 	duration: 3000,
 
-         // }, () => {
 
-         // 	animation.transition(this.$refs['left-circle'].ref, {
 
-         // 		styles: {
 
-         // 			transform: 'rotate(45deg)',
 
-         // 			transformOrigin: 'center center'
 
-         // 		},
 
-         // 	}, () => {
 
-         // 		this.leftBorderColor = 'rgb(66, 185, 131)'
 
-         // 		animation.transition(this.$refs['left-circle'].ref, {
 
-         // 			styles: {
 
-         // 				transform: 'rotate(225deg)',
 
-         // 				transformOrigin: 'center center'
 
-         // 			},
 
-         // 			duration: 1500,
 
-         // 		}, () => {
 
-         // 		})
 
-         // 	})
 
-         // })
 
-       })
 
-     }
 
-   },
 
- }
 
- </script>
 
- <style lang="scss" scoped>
 
- @import "../../libs/css/components.scss";
 
- .u-circle-progress {
 
-   @include flex(row);
 
-   position: relative;
 
-   border-radius: 100px;
 
-   height: 100px;
 
-   width: 100px;
 
-   // transform: rotate(0deg);
 
-   // background-color: rgb(66, 185, 131);
 
-   background-color: rgb(200, 200, 200);
 
-   overflow: hidden;
 
-   justify-content: space-between;
 
-   &__circle {
 
-     border-radius: 100px;
 
-     height: 90px;
 
-     width: 90px;
 
-     transform: translate(-50%, -50%);
 
-     background-color: rgb(255, 255, 255);
 
-     left: 50px;
 
-     top: 50px;
 
-     position: absolute;
 
-   }
 
-   &__left {
 
-     position: absolute;
 
-     left: 0;
 
-     width: 50px;
 
-     height: 100px;
 
-     overflow: hidden;
 
-     box-sizing: border-box;
 
-     // background-color: rgb(66, 185, 131);
 
-     // background-color: rgb(200, 200, 200);
 
-     // transform-origin: left center;
 
-     &__circle {
 
-       box-sizing: border-box;
 
-       // background-color: red;
 
-       border-left-color: transparent;
 
-       border-bottom-color: transparent;
 
-       border-top-left-radius: 50px;
 
-       border-top-right-radius: 50px;
 
-       border-bottom-right-radius: 50px;
 
-       // border-left-color: rgb(66, 185, 131);
 
-       // border-bottom-color: rgb(66, 185, 131);
 
-       border-top-color: rgb(66, 185, 131);
 
-       border-right-color: rgb(66, 185, 131);
 
-       border-width: 5px;
 
-       width: 100px;
 
-       height: 100px;
 
-       transform: rotate(225deg);
 
-       // border-radius: 100px;
 
-     }
 
-   }
 
-   &__right {
 
-     position: absolute;
 
-     right: 0;
 
-     width: 50px;
 
-     height: 100px;
 
-     overflow: hidden;
 
-     &__circle {
 
-       position: absolute;
 
-       right: 0;
 
-       box-sizing: border-box;
 
-       // background-color: red;
 
-       border-top-color: transparent;
 
-       border-right-color: transparent;
 
-       border-top-left-radius: 50px;
 
-       border-bottom-left-radius: 50px;
 
-       border-bottom-right-radius: 50px;
 
-       // border-left-color: rgb(66, 185, 131);
 
-       // border-bottom-color: rgb(66, 185, 131);
 
-       border-left-color: rgb(200, 200, 200);
 
-       border-bottom-color: rgb(200, 200, 200);
 
-       border-width: 5px;
 
-       width: 100px;
 
-       height: 100px;
 
-       transform: rotate(45deg);
 
-       transform-origin: center center;
 
-       // border-radius: 100px;
 
-     }
 
-   }
 
- }
 
- </style>
 
 
  |