<template>
  <view class="content">
    <view class="search card">
      <u--text suffixIcon="arrow-down" text="筛选" @click="showPicker"></u--text>
      <u--input
          class="ml-10"
          prefixIcon="search"
          placeholder="请输入关键字"
          border="surround"
          v-model="keyword"
          clearable
          shape="circle"
      ></u--input>
      <view class="ml-10">
        <u-button class="bth-mini ml-10" type="success" text="确定" @click="resetList"></u-button>
      </view>

    </view>
    <u-picker :show="show" :columns="columns" keyName="name" @cancel="show = false" @confirm="confirmPicker"></u-picker>
    <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.INSPECTED_CORPINFO_ID_NAME }}</text>
          </view>
          <view class="flex-between mt-10 subtitle">
            <text>检查发起人：{{ item.INSPECTION_ORIGINATOR_NAME }}</text>
            <text>检查类型：{{ item.INSPECTION_TYPE_NAME }}</text>
          </view>
          <view class="flex-between mt-10 subtitle">
            <text>检查时间：自 {{ item.INSPECTION_TIME_START }} 至 {{ item.INSPECTION_TIME_END }} 止</text>
          </view>
          <view class="flex-between mt-10 subtitle">
            <text>
              状态：
              <template v-if="item.INSPECTION_STATUS == '0'">待检查人核实</template>
              <template v-else-if="item.INSPECTION_STATUS == '1'">检查人核实中</template>
              <template v-else-if="item.INSPECTION_STATUS == '2'">待被检查人确认</template>
              <template v-else-if="item.INSPECTION_STATUS == '3'">待指派</template>
              <template v-else-if="item.INSPECTION_STATUS == '4'">指派中</template>
              <template v-else-if="item.INSPECTION_STATUS == '5'">指派完成</template>
              <template v-else-if="item.INSPECTION_STATUS == '6'">检查待验收</template>
              <template v-else-if="item.INSPECTION_STATUS == '7'">检查已验收</template>
              <template v-else-if="item.INSPECTION_STATUS == '8'">已归档</template>
              <template v-else-if="item.INSPECTION_STATUS == '-1'">检查人核实打回</template>
              <template v-else-if="item.INSPECTION_STATUS == '-2'">被检查人申辩</template>
            </text>
          </view>
          <view class="mt-10 see_btn">
            <view class="wrap">
              <u-button type="primary" text="查看" size="mini" class="bth-mini"
                        @click="fnNavigatorDetail(item.INSPECTION_ID, 'view')"></u-button>
            </view>
            <view class="wrap"> <u-button type="primary" text="流程图" size="mini" class="bth-mini ml-10"
                                          @click="showFlowChart(item.INSPECTION_ID)"></u-button></view>
            <view class="wrap"  v-if="item.INSPECTION_STATUS === '-1'"><u-button type="primary" text="编辑" size="mini" class="bth-mini ml-10"

                                         @click="fnNavigatorDetail(item.INSPECTION_ID,'edit')"></u-button></view>
            <view class="wrap" v-if="item.INSPECTION_STATUS === '-2'"> <u-button type="primary" text="申辩处理" size="mini" class="bth-mini ml-10"
                                           @click="fnNavigatorPlead(item.INSPECTION_ID)"></u-button></view>




          </view>
        </view>
      </u-list-item>
    </u-list>
    <empty v-else></empty>
  </view>
</template>

<script>
import {getSafetyenvironmentalList} from "../../../api";

export default {
  data() {
    return {
      show: false,
      columns: [
        [
          {id: '', name: '请选择'},
          {id: '0', name: '待检查人核实'},
          {id: '1', name: '检查人核实中'},
          {id: '2', name: '待被检查人确认'},
          {id: '3', name: '已归档'},
          {id: '4', name: '指派中'},
          {id: '5', name: '指派完成'},
          {id: '6', name: '待验收'},
          {id: '7', name: '已验收'},
          {id: '-1', name: '检查人核实打回'},
          {id: '-2', name: '被检查人申辩'}
        ]
      ],
      keyword: '',
      INSPECTION_STATUS: '',
      pageSize: 10,
      currentPage: 1,
      totalPage: 0,
      list: [],
    }
  },
  onNavigationBarButtonTap(e) {
    if (e.index === 0) {
      this.fnNavigatorDetail('', 'add');
    }
  },
  computed: {
    userInfo() {
      return this.$store.getters.getUserInfo
    }
  },
  onShow() {
    this.resetList()
  },
  methods: {
    async getData() {
      console.info(this.userInfo)
      let resData = await getSafetyenvironmentalList({
        loginUserId: this.userInfo.USER_ID,
        supDeparIds: this.userInfo.supDeparIds,
        roleLevel: this.userInfo.roleLevel,
        KEYWORDS: this.keyword,
        INSPECTION_STATUS: this.INSPECTION_STATUS,
        showCount: this.pageSize,
        currentPage: this.currentPage,
      });
      this.list = [...this.list, ...resData.varList];
      this.totalPage = resData.page.totalPage;
    },
    resetList() {
      this.pageSize = 10
      this.currentPage = 1
      this.list = []
      this.getData()
    },
    showPicker() {
      this.show = true;
    },
    confirmPicker(e) {
      this.INSPECTION_STATUS = e.value[0].id
      this.show = false;
      this.resetList()
    },
    fnNavigatorDetail(INSPECTION_ID, type) {
      uni.$u.route({
        url: '/pages/safety-environmental-inspection/initiate/detail',
        params: {
          INSPECTION_ID,
          type
        }
      })
    },
    fnNavigatorPlead(INSPECTION_ID) {
      uni.$u.route({
        url: '/pages/safety-environmental-inspection/initiate/plead',
        params: {
          INSPECTION_ID,
        }
      })
    },
    scrolltolower() {
      this.currentPage++;
      if (this.totalPage >= this.currentPage) this.getData();
    },
    showFlowChart(id) {
      uni.navigateTo({
        url: '/pages/safety-environmental-inspection/initiate/steps?ID='+id
      });
    },
  }
}
</script>

<style scoped lang="scss">
.ml-10{
  margin-left: 10rpx;
}
.search{
  display: flex;
  .ml-10{
    margin-left: 10rpx;
  }
  .bth-mini{
    width: 100rpx;
  }

}
.see_btn{
  display: flex;
  justify-content: flex-end;

  .wrap{
    width: 200rpx;
    margin: 0 10rpx;
  }


}

</style>
