<template>
  <view class="input_content">
    <view class="input_content_textarea">
      <textarea v-model="prodectContent.store_name" placeholder="请输入商品详情" placeholder-class="placeholderStyle"
        :maxlength="maxLength" />
      <view><text v-if="prodectContent.store_name">{{prodectContent.store_name.length}}</text><text
          v-else>0</text>/{{maxLength}}</view>

    </view>

    <view class="input_content_photo">
      <view class="input_content_photo_adPh" v-for="(item, index) in prodectContent.imageList" :key="index">
        <image :src="item" class="myimg2 photos"></image>
        <view class="input_content_photo_adPh_jiao" @click="deleteImage(index)">
          <image src="../static/images/close.png" mode=""></image>
        </view>
      </view>
      <view v-if="isUpload" class="input_content_photo_adPh" @click="clk">
        <view>
          <image src="../static/images/creamer.png" mode="widthFix"></image>
        </view>
        <view>添加图片</view>
      </view>
    </view>

    <view class="input_content_describe" v-if="isShowDescribe">
      <view class="input_content_describe_title">
        <view class="input_content_describe_title_msg">商品简介</view>
        <view class="input_content_describe_title_num">
          <text v-if="prodectContent.store_info">{{prodectContent.store_info.length}}</text>
          <text v-else>0</text>/200
        </view>
      </view>
      <view class="input_content_describe_textarea">
        <textarea v-model="prodectContent.store_info" value=""
          placeholder="请填写商品简介" placeholderClass="placeholderClass" maxlength="200" /></view>
    </view>

    <view class="input_content_keyword" v-if="isShowDescribe">
      <view class="input_content_keyword_label">关键字</view>
      <view class="input_content_keyword_value"><input v-model="prodectContent.keyword" type="text" value=""
          placeholder="填写关键字" /></view>
    </view>
    <avatar style="height: 1px;" @upload="doUpload" @getName="getImgName" quality="1" ref="avatar" selWidth="250upx" selHeight="250upx">
    </avatar>
  </view>
</template>

<script>
  import { chooseImage } from '../../../libs/uniApi.js';
  import { TOKENNAME, HTTP_REQUEST_URL } from '../../../config/app.js';
  import avatar from "@/components/yq-avatar/yq-avatar.vue";
  import store from '@/store';

  export default {
    components: {
      avatar
    },
    props: {
      isShowDescribe: {
        type: Boolean,
        default: false
      },
      isMultiple: {
        type: Boolean,
        default: true
      },
      maxLength: {
        type: Number,
        default: 12
      },
      title: {
        type: String,
        default: ''
      },
      prodectContent: {
        type: Object,
        default: () => { return { imageList: [] } }
      }
    },
    data() {
      return {
        uploadImg: this.prodectContent.imageList,
        upstore : '',
        isUpload: true,
        imgName: ""
      };
    },

    watch: {
      prodectContent: {
        handler(val) {
			// console.log(val.store_name);
          this.upstore=val.store_name
          this.$emit('getProductContent', val);
		  
        },
		 immediate: true,
        deep: true
      },
      uploadImg: {
        handler(val) {
          if (this.isMultiple) {
            this.isUpload = val.length < 6 ? true : false
          } else {
            this.isUpload = val.length < 1 ? true : false
          }
        },
		 immediate: true,
        deep: true
      }
    },
    mounted() {
      // console.log(this.$props.prodectContent);
    },
    methods: {
      handleChooseImage() {
        let that = this;
        that.$util.uploadImageOne('upload/image', function(res) {
          that.uploadImg.push(res.data.path);
          that.$set(that.prodectContent, 'imageList', that.uploadImg);
        });
      },
      clk() {
        let avatar = this.$refs.avatar;
        avatar.fChooseImg(1, { selWidth: '350upx', selHeight: '350upx', inner: true });
      },
      doUpload(rsp) {
        // console.log(rsp);
        let that = this
        uni.uploadFile({
          url: HTTP_REQUEST_URL + '/api/upload/image/field',
          filePath: rsp.path,
          name: 'field',
          formData: {
            'filename': rsp.path,
            'name': that.imgName
          },
          header: {
            // #ifdef MP
            "Content-Type": "multipart/form-data",
            // #endif
            [TOKENNAME]: 'Bearer ' + store.state.app.token
          },
          success: (uploadFileRes) => {
            // console.log(JSON.parse(uploadFileRes.data));
            let imgData = JSON.parse(uploadFileRes.data)
            // that.prodectContent.imageList.push(imgData.data.path)
            if(!that.prodectContent.imageList)that.prodectContent.imageList=[];
            that.prodectContent = { imageList: [...that.prodectContent.imageList, imgData.data.path] ,store_name:this.upstore};
          },
          complete(res) {
            // console.log(res)
          }
        });
      },
      getImgName(name) {
        this.imgName = name
      },
      // 删除图片
      deleteImage(index) {
        this.prodectContent.imageList.splice(index, 1);
        this.uploadImg = this.prodectContent.imageList
      }
    }
  };
</script>

<style lang="scss" scoped>
  .input_content {
    background: #fff;
    padding: 20rpx 40rpx 40rpx 30rpx;
    width: 710rpx;
    margin: auto;
    box-sizing: border-box;
    border-radius: 10rpx;

    &_textarea {
      border-bottom: 1px solid #eeeeee;
      padding-bottom: 19rpx;

      textarea {
        height: 114rpx;
      }

      >view {
        text-align: right;
        color: #666666;
        font-size: 24rpx;
      }
    }

    &_photo {
      margin-top: 41rpx;
      display: flex;
      flex-wrap: wrap;

      .photos {
        width: 156rpx;
        height: 156rpx;
      }

      &_adPh {
        position: relative;
        width: 156rpx;
        height: 156rpx;
        border: 1px solid #dddddd;
        display: flex;
        flex-direction: column;
        justify-content: center;
        border-radius: 8rpx;
        margin-right: 30rpx;
        margin-bottom: 30rpx;

        >image {
          height: 100%;
          margin: auto;
        }

        >view:nth-child(1) {
          height: 37rpx;
          margin-bottom: 16rpx;
          display: flex;
          justify-content: center;

          image {
            width: 45rpx;
            display: block;
          }
        }

        >view:nth-child(2) {
          text-align: center;
          color: #bbbbbb;
          font-size: 24rpx;
        }

        &_jiao {
          position: absolute;
          top: -14rpx;
          right: -14rpx;
          width: 40rpx;
          height: 40rpx;
          background: #e93323;
          display: flex;
          align-items: center;
          justify-content: center;
          border-radius: 50%;

          image {
            width: 16rpx;
            height: 16rpx;
          }
        }
      }
    }

    &_describe {
      border-top: 1px solid #eeeeee;
      padding-top: 30rpx;
      padding-bottom: 47rpx;
      border-bottom: 1px solid #eeeeee;

      &_title {
        display: flex;
        align-items: center;
        justify-content: space-between;

        &_msg {
          color: #333333;
          font-size: 30rpx;
        }

        &_num {
          color: #666666;
          font-size: 24rpx;
        }
      }

      &_textarea {
        border-radius: 10px;
        margin-top: 20rpx;
        height: 180rpx;
        background: #f5f5f5;
        padding: 20rpx;

        textarea {
          font-size: 28rpx;
        }
      }
    }

    &_keyword {
      padding-top: 32rpx;
      display: flex;
      align-items: center;
      justify-content: space-between;
      font-size: 30rpx;

      &_value {
        flex: 1;
        margin-left: 30rpx;

        input {
          width: 100%;
          text-align: right;
        }
      }
    }
  }

  .placeholderClass {
    color: #bbbbbb;
    font-size: 28rpx;
  }
</style>