<template>
  <view>
    <cu-custom bgColor="bg-gradual-blueness">
      <block slot="content">安全承诺</block>
    </cu-custom>
    <view class="container">
      <view class="title">{{ info.TYPE === '0' ? '安全生产承诺书' : '安全生产责任状' }}</view>
      <view v-if="info.TYPE === '0'">{{ info.COVERPEOPLE }}：</view>
      <view class="text">{{ info.TEXT }}</view>
      <view class="collateral">
        <view v-for="(item,index) in info.DETAIL" :key="index" class="item">
          {{ item.value }}
        </view>
      </view>
      <view class="text">
        <view v-if="info.TYPE === '0'">
          若违反上述承诺和未履行安全生产职责，或发生责任事故的，接受政府或公司事故调查组做出的处罚决定。
        </view>
        <view v-if="info.TYPE === '0'">
          承诺期限自{{ info.PROMISE_TERM_START }}至{{ info.PROMISE_TERM_END }}。
        </view>
        <view v-if="info.TYPE === '1'">
          若未履行安全生产职责，或发生生产安全事故的，接受公司或政府事故调查组做出的处罚。
        </view>
        <view v-if="info.TYPE === '1'">
          责任期限自{{ info.PROMISE_TERM_START }}至{{ info.PROMISE_TERM_END }}。
        </view>
      </view>
      <view class="footer">
        <view v-if="info.TYPE === '0'" class="hairdresser">承诺单位(盖章)：</view>
        <view v-if="info.TYPE === '1'" class="hairdresser">
          <view class="promiser">发状人：{{ info.COVERPEOPLE }}</view>
          <view class="time">{{ info.CREATTIME.substring(0,10) }}</view>
        </view>
        <view class="respondent">
          <view class="promiser">
            <text>
              {{ info.TYPE === '0' ? '主要负责人签字' : '受状人' }}：
            </text>
            <image v-if="info.FILEPATH" :src="info.FILEPATH" mode="aspectFill" style="width: 200upx;height: 100upx;"/>
            <button class="cu-btn bg-green shadow" @tap="modalShow = true"  style="width:100px;height:30px;" data-target="Modal">
              {{ info.FILEPATH ? '重签' : '手写签字' }}
            </button>
          </view>
          <view class="time">
            {{ info.SIGNTIME }}
          </view>
        </view>
      </view>
    </view>
    <view class="cu-modal" :class="{'show':modalShow}">
      <sign @confirm="subCanvas" @cancel="modalShow = false"></sign>
    </view>
    <view class="padding flex flex-direction">
      <button class="cu-btn bg-blue margin-tb-sm lg" @click="$noMultipleClicks(goSubmit)">提 交</button>
    </view>
  </view>
</template>

<script>
import {
  baseImgPath,basePath,loginUserId,formatDate,corpinfoId
} from '@/common/tool.js';
import sign from '@/components/sign/sign.vue';
export default {
  components: {
    sign
  },
  data() {
    return {
      info: {},
      noClick: true,
      modalShow:false,
    }
  },
  onLoad() {
    this.getData()
  },
  methods:{
    getData(){
      uni.request({
        url: basePath + '/app/corppromise/promise_II',
        method: 'POST',
        dataType: 'json',
        header: {
          'Content-type':'application/x-www-form-urlencoded'
        },
        data: {
          USER_ID: loginUserId
        },
        success: (res) => {
          const DETAIL = res.data.COLLATERAL.map(item => ({ value: item.COLLATERAL, id: item.PROMISEDETAIL_ID }))
          this.info = {
            ...res.data.TEXT,
            DETAIL,
            SIGNTIME: formatDate(new Date(), 'yyyy-MM-dd'),
            COVERPEOPLE: res.data.COVERPEOPLE[0].USERNAME,
            PROMISEPEOPLE_ID:res.data.PROMISEPEOPLE_ID,
          }
        },
        fail: (res) => {
          uni.showToast({
            icon: 'none',
            title: "服务器正在升级，请稍后再试。",
            duration: 2000
          });
        }
      });
    },
    subCanvas (e) {
      this.$set(this.info, 'FILEPATH', e.filePath)
      this.modalShow = false;
    },
    goSubmit() {
      if(!this.info.FILEPATH){
        uni.showToast({
          title:'请签字'
        })
        return
      }
      uni.showLoading({
        title: '请稍候'
      })
      uni.uploadFile({
        url: basePath + "/app/corppromise/editpeople_II",
        filePath: this.info.FILEPATH,
        name: 'FFILE',
        formData: {...this.info,CORPINFO_ID:corpinfoId},
        success: (res) => {
          uni.hideLoading()
          uni.showToast({
            icon: 'none',
            title: '提交成功',
            duration: 2000
          });
          uni.reLaunch({
            url: '/pages/index/index'
          })
        },
        fail: (err) => {
          uni.hideLoading();
          uni.showModal({
            content: err.errMsg,
            showCancel: false
          });
        }
      })
    }
  }
}
</script>

<style scoped lang="scss">
.container{
  padding: 30upx;
  background-color: #fff;

  .title {
    text-align: center;
    font-size: 40upx;
    font-weight: bold;
  }

  .text {
    text-indent: 60upx;
    letter-spacing: 4upx;
    text-align: justify;
  }

  .collateral {
    text-indent: 60upx;
    letter-spacing: 4upx;
    text-align: justify;
  }

  .respondent, .hairdresser {
    margin-top: 60upx;
    text-align: right;
    .promiser {
      display: flex;
      align-items: flex-end;
      justify-content: flex-end;
    }

    .time {
      text-align: right;
      margin-top: 30upx;
      margin-left: 110upx;
    }
  }
}
</style>
