index.vue 2.31 KB
Newer Older
1 2 3 4 5 6 7
<template>
  <div class="container">
    <NavBar title="客户信息变更" left-arrow @click-left="goBack" />

    <section class="list">
      <PullRefresh v-model="refreshing" @refresh="onRefresh" class="scroll">
        <List :finished="finished" finished-text="没有更多了" @load="loadApproval">
8
          <ChangeListItem v-for="item in infos" :info="item" @click="jump(item)" />
9 10 11 12
        </List>
      </PullRefresh>
    </section>

13
    <Plus @click="jump({})" />
14 15 16 17 18 19 20 21 22 23
  </div>
</template>

<script setup>
import { goBack } from "@/utils/globalFun"
import { NavBar, List, PullRefresh } from "vant";
import ChangeListItem from '../components/ChangeListItem.vue'
import Plus from '@/components/Plus.vue'
import api from "../api";
import { useRouter } from "vue-router";
24
import { useInfoChange } from '../store/index'
25

26
const infoChangeStore = useInfoChange()
27

28
const refreshing = $ref(false);
29 30
const finished = $ref(true);

31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
const infos = $ref([])

let queryList = async () => {
  refreshing = true
  let res = await api.changeQuery({})
  if (res.success && res.total > 0) {
    res.rows.forEach(item => {
      infos.push({
        id: item.changeReqNumber,
        applyDate: item.creationDate,
        status: item.reqStatusN,
        ...item
      })
    })
  }
  refreshing = false
}

queryList()

51
const onRefresh = () => {
52 53
  infos = []
  queryList()
54 55 56
};

const loadApproval = () => {
57
  queryList()
58 59 60
}

const router = useRouter();
61 62 63 64 65 66 67 68 69 70 71 72 73

const jump = (item) => {
  infoChangeStore.data = item

  // 申请中/审批通过时申请页面为只读
  // 审批退回时可再次维护并重新提交
  if (item.reqStatus && item.reqStatus === 'RETURN') {
    router.push({ path: '/infochange/views/changeform', query: { isReturn: true } })
  } else if (item.reqStatus && item.reqStatus !== 'RETURN') {
    router.push({ path: '/infochange/views/changeform', query: { isReturn: false } })
  } else {
    router.push({ path: '/infochange/views/changeform', query: {} })
  }
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
}
</script>

<style scoped lang="less">
.list {
  box-sizing: border-box;
  height: calc(100vh - var(--van-nav-bar-height));
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: 8px;
  padding-bottom: 10px;
}

.scroll {
  box-sizing: border-box;
  height: 100%;
  overflow-y: auto;
}
</style>

<route>
{
  meta: {
    title: '客户信息变更'
  }
}
</route>