<template>
  <u-navbar
      :title="title"
      :auto-back="true"
      left-icon-size="40rpx"
      :safe-area-inset-top="true"
      :placeholder="true"
      bgColor="#ffffff"
  ></u-navbar>
  <view class="body-background">

  </view>
  <u-row :custom-style="{padding:'16rpx 26rpx'}">
    <u-col :span="12" :custom-style="{
      backgroundColor:'#FFFFFF',
      borderRadius:'20rpx',
      padding:'40rpx 32rpx',
      minHeight:'1000rpx',
      position:'relative'
    }">
      <u-form
          errorType="toast"
          labelWidth="auto"
          labelPosition="left"
          :model="model"
          :rules="rules"
          ref="feedForm"
      >
        <u-form-item
            prop="remark"
            :custom-style="{padding:'0'}"
        >
          <u-textarea
              v-model="model.remark"
              border="none"
              placeholder="请描述您遇到的问题"
              height="220"
              :custom-style="{
                backgroundColor:'#FAFAFA',
                padding:'8rpx 20rpx'
              }"
          ></u-textarea>
        </u-form-item>
        <u-form-item
            label="联系方式"
            prop="connect"
            borderBottom
            :custom-style="{padding:'34rpx 0'}"
        >
          <u-input
              v-model="model.connect"
              inputAlign="right"
              disabledColor="#ffffff"
              placeholder="请填写手机号，以便我们联系您"
              border="none"
              :custom-style="{paddingRight:'28rpx'}"
          ></u-input>
        </u-form-item>
        <u-form-item
            prop="userInfo.sex"
            :custom-style="{padding:'34rpx 0'}"
        >
          <u-upload
              width="160"
              height="160"
              :fileList="fileList"
              name="1"
              multiple
              :maxCount="10"
              uploadIcon="plus"
              @afterRead="afterFileRead"
              @delete="deleteFile"
          ></u-upload>
        </u-form-item>
      </u-form>
      <view class="bottom-btn border-box">
        <u-button
            type="primary"
            text="保存"
            shape="circle"
            :custom-style="{
              color:'#020B18',
              backgroundColor:'#FF9545',
              border:'none',
              fontSize:'36',
              fontWeight:'400',
              marginTop:'48rpx',
              height:'80rpx'
            }"
            @click="submit"

        ></u-button>
      </view>
    </u-col>
  </u-row>
  <view class="footer-content">
    <view class="footer-contact">联系我们</view>
    <view class="footer-wechat row">
      <view class="foot-title">微信公众号：</view>
      <view class="foot-url">暖新家公众平台</view>
    </view>
    <view class="footer-email row">
      <view class="foot-title">官方邮箱：</view>
      <view class="foot-url">1256896@qq.com 复制</view>
    </view>
  </view>
</template>

<script>
import {
  imghost
} from '@/config/host.js'
import MzSubsection from '@/components/MzSubsection/Index.vue';
import api from '@/utils/functions.js';
import {feedback} from "@/api/feed";
import {userDetail, userEdit} from "@/api/user";

export default {
  components: {
    MzSubsection
  },
  data() {
    return {
      title: '意见反馈',
      loading: true,
      staticImage: {
        bg: imghost + '/BG.png',
        newIcon: imghost + '/new-icon.png',
      },
      isTop: false,
      fileList:[],
      model:{
        connect:'',
        remark:'',
        file:[]
      },
      rules:{
        'connect': {
          type: 'string',
          required: true,
          message: '请填写联系方式',
          trigger: ['blur', 'change']
        },
        'remark': {
          type: 'string',
          required: true,
          message: '请填写内容',
          trigger: ['blur', 'change']
        },
      },
    }
  },
  onLoad() {

  },
  computed: {
    api() {
      return api
    },
  },
  methods: {
    submit(){
      let file = [];
      this.fileList.forEach(item => {
        file.push(item.url)
      });
      this.model.file = file.join();
      this.$refs.feedForm.validate().then(res => {
        feedback(this.model).then((res) => {
          if(res.code === 200){
            uni.$u.toast('反馈成功')

            this.model = {
              connect:'',
              remark:'',
              file:[]
            }
            this.fileList = [];
          }else{
            uni.$u.toast(res.msg)
          }
        })
      }).catch(errors => {
        uni.$u.toast(errors[0].message)
      })

    },
    //上传文件
    async afterFileRead  (event){
      let lists = [].concat(event.file);

      let fileListLen = this.fileList.length;
      lists.map((item) => {
        this.fileList.push({
          ...item,
          status: 'uploading',
          message: '上传中',
        });
      });
      for (let i = 0; i < lists.length; i++) {

        api.upfile(lists[i].url).then(res => {
          let item = this.fileList[fileListLen];
          this.fileList.splice(fileListLen, 1, {
            ...item,
            status: 'success',
            message: '',
            url: res.show_path,
            thumb: res.show_path,
          });
          fileListLen++;
        })
        // const result = await uploadFilePromise(lists[i].url);

      }
    },
    //删除上传图片
    deleteFile(event){
      this.fileList.splice(event.index, 1);
    },
  },
  onPageScroll(res) {
    if (res.scrollTop <= 20) {
      uni.$emit('isTop', true);
    } else {
      uni.$emit('isTop', false);
    }
  },
  created() {

  }
}
</script>

<style lang="scss">
@import './components/index.scss';
</style>