<template>
  
  <view>
  	<view>
  		<image v-if="fileUrl" :src="fileUrl" mode="widthFix" style="width: 120px;"></image>
  	</view>
  
  	<view v-if="fileUrl">
  		<button size="mini" type="warn" @click="clearUpload()">清除</button>
  	</view>
  
  	<view v-else>
  		<button size="mini" type="primary" @click="doUpload()">上传</button>
  	</view>
  </view>
  
  
</template>

<script>
import { uploadFile } from '@/common/upload.js'

export default {
  name: 'yf-file-upload',
  props: {
    value: String,
    accept: {
      type: String,
      default: '*'
    },
    tips: String,
    listType: {
      type: String,
      default: 'picture'
    }
  },
  data() {
    return {
      fileUrl: '',
	  showProgress: false,
	  percent: 0
    }
  },

  watch: {
    // 检测查询变化
    value: {
      handler() {
        this.fillValue()
      }
    },

    // 检测查询变化
    fileUrl: {
      handler(val) {
        this.$emit('input', val)
      }
    }
  },
  mounted() {
    
  },

  created() {
    this.fillValue()
  },

  methods: {
	  


    fillValue() {
      this.fileUrl = this.value
    },
	
	// 执行上传操作
	doUpload() {
	
		let that = this
	
		uni.chooseImage({
			count: 1,
			sizeType: ['copressed'],
			success(res) {
				uploadFile(res.tempFiles[0]).then(resUrl=>{
					console.log('上传结果', resUrl)
					that.$emit('input', resUrl)
					that.showProgress = false
				})
			}
		})
	},
	
	// 清理上传
	clearUpload() {
		this.$emit('input', '')
	}

  }
}
</script>