<template>
  <view class="content">
    <u-tabs
        lineWidth="336upx"
        :list="tabsList"
        itemStyle="height:80upx;padding-bottom:10upx;background-color: #fff;"
        @click="tabsClick"
    ></u-tabs>
    <u-list @scrolltolower="scrolltolower" v-if="list.length > 0">
      <u-list-item v-for="(item, index) in list" :key="index">
        <view>
          <view class="flex-between main-title">
            <text>{{ item.OUTSOURCED_NAME ? item.OUTSOURCED_NAME : item.AIOUTSOURCED_NAME}}</text>
          </view>
          <view class="flex-between mt-10 subtitle">
            <text>
              隐患来源:{{ sourceState[item.SOURCE] }}
            </text>
          </view>
          <view class="flex-between mt-10 subtitle">
            <text>隐患描述:{{ item.HIDDENDESCR }}</text>
          </view>
          <view class="flex-between mt-10 subtitle">
            <text>隐患发现人:{{item.CREATOR_NAME || item.CREATOR_NAMES}}</text>
          </view>
          <view class="flex-between mt-10 subtitle">
            <text>隐患发现时间:{{item.CREATTIME}}</text>
          </view>
          <view class="flex-between mt-10 subtitle">
            <text>隐患整改人:{{item.RECTIFICATIONOR_NAME}}</text>
            <text>整改时间:{{item.RECTIFICATIONTIME}}</text>
          </view>
          <view class="flex-between mt-10 subtitle">
            <text>隐患验收人:{{item.CREATOR_NAME}}</text>
            <text>验收时间:{{item.CHECKTIME}}</text>
          </view>
          <view class="flex-between mt-10 subtitle">
            <text>隐患状态:{{state[item.STATE]}}</text>
            <text>是否处罚:{{ item.ISPUNISH && (item.ISPUNISH === "1" ? "是" : "否") }}</text>
          </view>
          <view class="flex-end mt-10 subtitle">
            <u-button 	
			v-if="item.CREATOR == userInfo.USER_ID
			&& tabsType === '1'
			"
			type="primary" text="验收" size="mini" class="bth-mini" @click="fnNavigatorDetail(item.HIDDEN_ID,'acceptance')"></u-button>
            <u-button
            type="primary" text="查看" size="mini" class="bth-mini ml-10" @click="fnNavigatorDetail(item.HIDDEN_ID,'view')"></u-button>
			<!-- <u-button 
			v-if="item.ISPUNISH !== '2'  
			&& !item.KEYPROJECTPUNISH_ID
			&& item.PUNISH_THE_PERSON
			&& item.PUNISH_THE_PERSON.includes(userInfo.USER_ID )
			"
			color="linear-gradient(to right, #ff6034, #ee0a24)" 
			text="处罚" size="mini" class="bth-mini ml-10" 
			@click="fnModalShow(item)"></u-button> -->
			<view></view>
          </view>
        </view>
      </u-list-item>
    </u-list>
    <empty v-else></empty>
    <u-modal :show="modalShow" title="处罚" showCancelButton @cancel="modalShow = false" @confirm="fnSubmit">
      <view style="flex: 1">
        <u-cell-group :border="false">
			<view class="cu-form-group">
				<view class="title">是否进行罚款:</view>
				<radio-group @change="changeRadioGroup($event)">
				  <label class="radio"><radio value="1" :checked="punishForm.ISPUNISH === '1'" :disabled="TabCur == 2" />是</label>
				  <label class="radio"><radio value="2" :checked="punishForm.ISPUNISH === '2'" :disabled="TabCur == 2" />否</label>
				</radio-group>					
			</view>
			<view v-if="punishForm.ISPUNISH==1">
			  <u-cell>
				<view slot="title" class="title required">
				  处罚原因:
				</view>
				<view slot="value">
				  <u--input v-model="punishForm.REASON" border="none" inputAlign="right"></u--input>
				</view>
			  </u-cell>
			  <u-cell>
				<view slot="title" class="title required">
				  处罚金额:
				</view>
				<view slot="value">
				  <u--input v-model="punishForm.AMOUT" border="none" type="number" inputAlign="right"></u--input>
				</view>
			  </u-cell>
			  <u-cell>
				<view slot="title" class="title required">
				  被处罚单位:
				</view>
				<view slot="value">{{punishForm.RECTIFICATIONDEPT_NAME}}</view>
			  </u-cell>
			  <u-cell>
				<view slot="title" class="title required">
				  被处罚人:
				</view>
				<view slot="value">{{punishForm.RECTIFICATIONOR_NAME}}</view>
			  </u-cell>
			  <u-cell>
				<view slot="title" class="title required">下发处罚时间:</view>
				<view slot="value">
				  <text @click="timeShow = true">{{ punishForm.DATE || '请选择' }}</text>
				  <u-datetime-picker :show="timeShow" :value="punishForm.DATE"
									 :minDate="Number(1970)"
									 @cancel="timeShow = false"
									 @confirm="timeConfirm"></u-datetime-picker>
				</view>
			  </u-cell>
			</view>
        </u-cell-group>
      </view>
    </u-modal>
  </view>
</template>

<script>
import {getKeyProjectsCheckHiddenList, getKeyProjectsPunishAdd,editHiddenIspunish} from "../../../api";

export default {
  data() {
    return {
	  TabCur: 0,  //迁移变量,作用未知
      tabsList: [
        {name: '待验收隐患', id: '1'},
        {name: '已验收隐患', id: '2'}
      ],
      tabsType: '1',
	  CORPINFO_ID: '',
      pageSize: 10,
      currentPage: 1,
      totalPage: 0,
      list: [],
      sourceState: {
        1: "AI报警",
        2: "AI报警(企业端)",
        4: "安全环保检查(监管端)",
        5: "安全环保检查(企业端)",
      },
      state: {
        1: "未整改",
        2: "已整改",
        4: "已验收",
      },
      modalShow:false,
      punishForm:{
		ISPUNISH:'',
        HIDDEN_ID:'',
        RECTIFICATIONDEPT_NAME:'',
        RECTIFICATIONOR_NAME:'',
        REASON:'',
        AMOUT:'',
        DATE:uni.$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM'),
      },
      punishRules: {
        'REASON': '请填写处罚原因',
        'AMOUT': '请填写处罚金额',
        'DATE': '请选择下发处罚时间',
      },
      timeShow:false
    }
  },
  onShow() {
    this.resetList()
  },
  onLoad() {
  	this.CORPINFO_ID = this.$route.query.CORPINFO_ID
  },
  computed: {
    userInfo() {
      return this.$store.getters.getUserInfo
    }
  },
  methods:{
    async getData(){
      let resData = await getKeyProjectsCheckHiddenList({
        showCount: this.pageSize,
        currentPage: this.currentPage,
        CREATOR: this.userInfo.USER_ID,
		CORPINFO_ID: this.CORPINFO_ID,
        ISCHECK: this.tabsType
      });
      this.list = [...this.list,...resData.varList];
      this.totalPage = resData.page.totalPage;
    },
    resetList() {
      this.pageSize= 10
      this.currentPage= 1
      this.list = []
      this.getData()
    },
    fnNavigatorDetail(HIDDEN_ID,type){
      uni.$u.route({
        url: '/pages/key-project-management/hidden-management/view',
        params: {
          HIDDEN_ID,
          type: type 
        }
      })
    },
    scrolltolower() {
      this.currentPage++;
      if(this.totalPage >= this.currentPage) this.getData();
    },
    tabsClick(e) {
      this.tabsType = e.id
      this.resetList()
    },
    fnModalShow(item){
      this.punishForm.HIDDEN_ID = item.HIDDEN_ID
      this.punishForm.RECTIFICATIONDEPT_NAME = item.RECTIFICATIONDEPT_NAME
      this.punishForm.RECTIFICATIONOR_NAME = item.RECTIFICATIONOR_NAME
      this.modalShow = true
    },
    timeConfirm(e){
      this.punishForm.DATE = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM')
      this.timeShow = false;
    },
	changeRadioGroup(e){
		console.log(e.detail.value)
	  if(this.TabCur == 2) return
	  this.punishForm.ISPUNISH = e.detail.value
	},
    async fnSubmit(){
		if(this.punishForm.ISPUNISH == 1){
			for (const key in this.punishRules) {
			  if(!this.punishForm[key]){
			    uni.showToast({
			      title: this.punishRules[key],
			      icon: 'none'
			    })
			    return
			  }
			}
		  await getKeyProjectsPunishAdd({
			...this.punishForm,
			CREATOR: this.userInfo.USER_ID,
			OPERATOR: this.userInfo.USER_ID
		  })
		  this.punishForm= {
		  	HIDDEN_ID: '',
		  	ISPUNISH: '',
		  	RECTIFICATIONDEPT_NAME: '',
		  	RECTIFICATIONOR_NAME: '',
		  	REASON: '',
		  	AMOUT: '',
		  	DATE: formatDate(new Date(), 'yyyy-MM-dd hh:mm'),
		  },
		  await this.editHiddenIspunishIndex(1)
	  }else {
		  await this.editHiddenIspunishIndex(2)
	  }
    },
	editHiddenIspunishIndex(Ispunish){
		// 如果不处罚 修改隐患
		editHiddenIspunish({
			  ...this.punishForm,
			  ISPUNISH:Ispunish
		  })
		  this.modalShow = false
		  this.resetList()
	},
  }
}
</script>

<style scoped>

</style>