<template>
    <div class="app-container">
      <van-nav-bar
        left-arrow
        fixed
        placeholder
        @click-left="$router.back(-1)"
        @click-right="goAddLite()"
      >
        <template #title>
          <p style="font-weight: bold;">宅基地申请</p>
        </template>
        <template #right>
          <van-icon name="add" size="18"/>
        </template>
      </van-nav-bar>

      <van-pull-refresh v-model="refreshing" @refresh="getList()">
        <van-list
        v-model="loading"
        :finished="finished"
        finished-text="没有更多了"
        @load="getList('+1')"
      >
        <van-swipe-cell v-for="(item,index) in applicationList" :key="index">
          <van-cell :title="item.ywh" center @click="viewItem(item)">
<!--          <van-cell :title="item.ywh" :value="item.houseApplyStatusName" center @click="viewItem(item)">-->
<!--            <template #icon>-->
<!--              <van-icon name="../../../static/images/onlineHome/icon_zjd1.png" size="30" color="#539FFD" style="margin-right: 10px;" />-->
<!--            </template>-->
<!--            <template #label>-->
<!--              <p>{{item.projectName}}</p>-->
<!--            </template>-->
            <template #icon>
              <van-icon name="../../../static/images/onlineHome/icon_zjd1.png" size="30" color="#539FFD" style="margin-right: 10px;" />
            </template>
            <span v-if="item.auditStatus === '0'">{{ formatDict(houseApplyStatus, item.houseApplyStatus) }} </span>
            <span v-else-if="item.auditStatus === '2' " style="color: #F56C6C">{{ formatDict(houseApplyStatus, item.houseApplyStatus) + ' ● 已驳回' }} </span>
            <span  v-else style="color: #67c23a;">{{ formatDict(houseApplyStatus, item.houseApplyStatus) }} </span>
            <template #label>
              <p>{{item.projectName}}</p>
            </template>
          </van-cell>
          <template #right>
            <van-row>
              <van-col>
                <van-button square text="提交" type="primary" v-if="item.houseApplyStatus=='1'" @click="submitApplyProposer(item)" class="delete-button" />
              </van-col>
              <van-col>
                <van-button square text="修改" type="info" v-if="item.houseApplyStatus=='1'" :to="{name:'proposerLite', query: {id:item.id, type: 'modify'}}" class="delete-button" />
              </van-col>
              <van-col>
                <van-button square text="删除" type="danger" v-if="item.houseApplyStatus=='1'" @click="deleteList(item.id,index)" class="delete-button" />
              </van-col>
            </van-row>
          </template>
        </van-swipe-cell>
      </van-list>
      </van-pull-refresh>
    </div>
</template>

<script>
import { getList , removeList } from "@/api/onlineHome/homestead/application";
import { customSubmit, customSubmitWLHT} from "@/api/onlineHome/homestead/application";
import {updateOpretion} from "@/api/onlineHome/homestead/application";
export default {
  name: "applicationList",
  data() {
    return {
      applicationList:[],
      houseApplyStatus:[],
      loading: false,
      finished: false,
      refreshing: false,
      total: 0,
      queryParams:{
        pageNum:1,
        pageSize:10,
        orderByColumn:'createTime',
        isAsc:'desc'
      }
    };
  },
  created() {
    this.houseGetDicts("house_apply_status").then((response) => {
      this.houseApplyStatus = response.data;
    });
    this.getList();
  },
  methods: {
    goAdd(){
      window.location = 'applicationAdd';
    },
    goAddLite(){
      //window.location = 'applicationAdd';
      window.location = 'proposerLite?type=add';
    },
    viewItem(row){
      let type = /*row.houseApplyStatus == '1' // 申请草稿
        ||*/ row.houseApplyStatus == '10' // 申请通过
        || row.houseApplyStatus == '12' // 开工草稿
        || row.houseApplyStatus == '18' // 开工通过
        || row.houseApplyStatus == '20' // 验收草稿
          ? 'modify' : 'view';
      window.location = 'proposerLite?type=' + type + '&id=' + row.id;
    },
    getList(target){
      let type = typeof (target);
      console.log(type, target);
      if(target && this.finished)
        return;
      if (target === 0) {
        this.refreshing = true;
        this.finished = true;
        this.total = 0;
        this.queryParams.pageNum = 1;
        this.applicationList = [];
      }
      else if (type === 'number')
        this.queryParams.pageNum = target;
      else if (type === 'string') {
        this.queryParams.pageNum = eval(this.queryParams.pageNum + target)
      }
      else
      {
        this.refreshing = true;
        this.finished = true;
        this.total = 0;
        this.queryParams.pageNum = 1;
        this.applicationList = []
      }
      getList(this.queryParams).then(response => {
        console.log(response)
        if (response.rows.length === 0) {
          this.finished = true;
          return;
        }
        for (var i = 0; i < response.rows.length; i++) {
          /*var houseApplyStatusName = this.selectDictLabel(this.houseApplyStatus, response.rows[i].houseApplyStatus);
          // if(response.rows[i].auditStatus !== '0' && response.rows[i].auditStatus === '2'){
          //   houseApplyStatusName = houseApplyStatusName+ ' ● 已驳回';
          // }
          response.rows[i].houseApplyStatusName = houseApplyStatusName;*/
          this.applicationList.push(response.rows[i]);
        }
        this.total += response.rows.length;
        this.finished = this.total >= response.total;
      }).finally(() => {
        this.loading = false;
        this.refreshing = false;
      });
    },
    formatDict(dict, value) {
      return this.selectDictLabel(dict, value);
    },
    deleteList(id,index){
      this.$dialog.confirm({
        message: '您确认删除申请草稿？',
      })
      .then(() => {
        // on confirm
        this.applicationList.splice(index,1)
        removeList(id).then(res => {
          if(res.code = 200){
            this.$toast.success('删除成功');
          }
        });
      })
      .catch(() => {
        // on cancel
      });
    },
    refresh() {
      this.getList(); return;
      this.applicationList = [];
      this.queryParams.pageNum = 1;
      this.refreshing = true;
      this.finished = false;
    },
    submitApplyProposer(item) {
      this.$dialog.confirm({
        message: '您确认提交申请草稿？',
      }).then(() => {
        let func = 1 || item.processKey.endsWith('WLHT') ? customSubmitWLHT : customSubmit; //TODO: 总是走简化流程
        if(item.auditStatus == '2'){
          updateOpretion(item.id).then();
        }
        func(item.id).then((resp) => {
          this.$toast.success("提交成功");
          this.refresh();
        }).catch((e) => {
          this.$toast.fail("提交失败!");
        });
      }).catch(() => {});
    },
  },
}
</script>

<style scoped lang="scss">
  .app-container {
    padding: 0.2rem 3%;
  }
  /deep/.van-cell__title{
    flex: 0.7;
  }
  /deep/.van-cell__title span{
    font-family: Arial;
    font-size: 0.4rem;
    font-weight: normal;
  }
  /deep/.van-cell__value{
    flex: 0.3;
    color: #1D6FE9;
    font-weight: bold;
  }
  /deep/.van-swipe-cell{
    margin-bottom: 0.2rem;
    border-radius: 0.2rem;
    overflow: hidden;
    box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
  }
  /deep/van-ellipsis{
    font-weight: bold;
  }
  .van-row{
    height: 100%;
  }
  .van-col{
    height: 100%;
  }
  .delete-button {
    height: 100%;
  }
</style>
