[day27]Vue实作-即时交易查询

上两篇进行了历史交易查询实作,但当日缴费查询则就要从订单直接查询着手
这整个流程有点乱,我还需要想一下怎麽配置比较好
先把功能做出来罗
美化的部分也待之後再来开发

网页开发

  • 架构
    先谈谈网页,预期让住户输入住户编号及缴费年月查询缴款纪录,得到缴费状态资讯
  • 开发
    话不多说,就直接复制历史交易的页面来调整,概念是差不多的!!
  • 於about.vue加入UI的部分
<template>
  <div class="about">
      <Navbar></Navbar>
      <Login></Login>
    <div class="container">
        <h1 class="text-center p-5">缴费纪录即时查询</h1>
    </div>
  <div>
    <b-form @submit="onSubmit" @reset="onReset" v-if="show">
    <b-form-group id="input-group-1" label="住户代号:" label-for="input-1">
        <b-form-input
          id="input-1"
          v-model="form.name"
          placeholder="Enter account"
          required
        ></b-form-input>
      </b-form-group>
      <b-form-group id="input-group-3" label="费用年月:" label-for="input-3">
      <b-form-input
          id="input-3"
          v-model="form.yyyymm"
          type="number" 
          placeholder="输入管理费用年月:格式:yyyymm"
          required
        ></b-form-input>
      </b-form-group>
      <b-button v-b-toggle.collapse-2  type="submit" variant="primary">缴款纪录查询</b-button>
      <b-button type="reset" variant="danger">重置</b-button>            
    </b-form>
     
    <b-card class="mt-3" header="订单资讯">
      <span class="order info"> {{orderinfo }}</span> 
    </b-card>
  </div>

  </div>
</template>
  • 於about.vue加入script部分
<script>
import global from '../Global.vue';
import axios from'axios'
  export default {
    data() {
      return {
        form: {
          name: '',
          yyyymm: ''
        },
        sentform: {
          householder: '',
          OrderNo: '',
        },
        orderinfo: "",
        show: true,
        sinopac_api:global.sinopac_api
      }
    },
    methods: {

     async onSubmit(event) {
        event.preventDefault()
        this.sentform.householder = this.form.name
        this.sentform.OrderNo = this.form.yyyymm

        axios.defaults.headers.common['Access-Control-Allow-Origin'] = '*';
        const response =await axios.post(`${this.sinopac_api}`+"sinopacApi_OrderQuery_order?orderNo="+`${this.form.name}` +"_"+`${this.form.yyyymm}`)

        
        let responseStatus=JSON.stringify(response.data["message"])

        let responseResult=JSON.stringify(response.data["decrypt_dist"])
        let decrypt_Result= JSON.stringify(response.data["decrypt_dist"]["OrderList"]["0"])
         let payStatus = ""
        console.log("response.data",response.data)
        console.log("responseStatus",response.data["message"])
        console.log("responseResult",response.data["decrypt_dist"])
        console.log("decrypt_Result",response.data["decrypt_dist"]["OrderList"]["0"])
        console.log("JSON.parse(decrypt_Result).PayStatus",JSON.parse(decrypt_Result).PayStatus)
        console.log( JSON.stringify(JSON.parse(decrypt_Result).PayStatus))
        if ( JSON.parse(decrypt_Result).PayStatus =="1A200" ){
          payStatus= "待付款";
        }
         else if ( JSON.parse(decrypt_Result).PayStatus =="1A400" ){
           payStatus= "付款完成";
         }
         alert(responseStatus)
      },

画面呈现

  1. 建立缴费单号
    送出缴费需求
    https://ithelp.ithome.com.tw/upload/images/20211013/20140924lxZnQwCoSc.png
    得到缴款资讯
    https://ithelp.ithome.com.tw/upload/images/20211013/20140924jCUeegvVG5.png
  2. 查询结果
    https://ithelp.ithome.com.tw/upload/images/20211013/20140924infPemR67a.png

其实还有很多要做的,检核住户资格,检核缴费年月输入是否正确,目前也只有将最基本的状态显示,还有例外处理的部分要开发,其实距离完整的网站还有些距离,但基本雏形是大概有个方向。
因为开发的时间有点赶,只能边做边补,後面看看能不能再加强一些东西


<<:  [Day 27] - React 前端串後端 - Cookie存取

>>:  Day 27. 我要准时下班- Figma Plugin (下)

Trouble with Distributed Systems (4-2) - System Model & Summary

续 Day 12 今天的特别理论和抽象,所以懒得看就跳过吧! 系统模型和现实 (System Mo...

第28天-CSS-影像-(3-2)

重复影像 background-repeat 这个属性可以重复图像在背景 如果是使用小图做素材 可以...

仿Trello - 前端 Apollo Client 串接 GraphQL API

本系列文以制作专案为主轴,纪录小弟学习React以及GrahQL的过程。主要是记下重点步骤以及我觉...

Azure - Day6 Azure Function

Hi~大家好,我今天想要介绍包括如下: < Azure Function > 基本介绍 ...

强型闯入DenoLand[35] - 完赛心得

强型闯入DenoLand[35] - 完赛心得 年度回顾 今年对笔者我来说是相当特别的一年,从升上...