electricity_bill_calc_wx/pages/updateInvoice/index.js

118 lines
3.1 KiB
JavaScript

import { getInvoiceInfo, updateInvoiceInfo } from "../../service/invoice"
import { getUserInfo } from "../../service/user";
import { alertInfo, alertSuccess } from "../../utils/index";
import request from '../../utils/request'
const { OK } = request
// pages/invoiceList/components/info/index.js
Component({
/**
* 组件的属性列表
*/
properties: {
},
lifetimes: {
attached() {
this.getDetail();
this.getUser();
}
},
/**
* 组件的初始数据
*/
data: {
detail: { },
formData: {headerType: 0, name: wx.getStorageSync('tenement')?.name},
editType: "detail"
},
/**
* 组件的方法列表
*/
methods: {
async getDetail() {
const { code, message, data } = await getInvoiceInfo()
if (code !== OK) {
alertInfo(message)
return;
}
this.setData({ detail: {...data,name: wx.getStorageSync('tenement')?.name, },editType: 'detail', })
},
async getUser() {
const { code, message, data } = await getUserInfo()
this.setData({ user: data });
},
changeEditType() {
this.setData({ editType: 'edit', formData: {...this.data.detail, tenement: wx.getStorageSync('tenement')?.id} })
},
cancelEdit() {
this.setData({ editType: 'detail', formData: {} })
},
onChangeType(e) {
const { formData } = this.data;
this.setData({ formData: {...formData, type: e.detail} })
},
onChangeHeaderType(e) {
const { formData } = this.data;
this.setData({ formData: {...formData, headerType: e.detail} })
},
onChangeText(e) {
const { name } = e.currentTarget.dataset;
const { formData } = this.data;
this.setData({ formData: {...formData, [name]: e.detail} })
},
async submit() {
const { formData } = this.data;
const { tin, address, phone, bank, account, email, type, headerType, name } = formData;
if (type !== 0 && type !== 1) {
alertInfo("请选择发票类型");
return;
}
if (headerType !== 0 && headerType !== 1) {
alertInfo("请选择抬头类型");
return;
}
if (headerType === 1) {
if (!name) {
alertInfo("请输入发票抬头")
return
}
}
if (!email || !/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(email)) {
alertInfo("邮箱格式不正确")
return;
}
if (headerType === 0) {
if (!tin) {
alertInfo("请输入发票税号")
return;
}
// if (!address) {
// alertInfo("请输入地址")
// return;
// }
if (!phone) {
alertInfo("请输入电话")
return;
}
if (!bank) {
alertInfo("请输入开户行")
return;
}
if (!account) {
alertInfo("请输入银行账号")
return;
}
}
const { code, message } = await updateInvoiceInfo(formData)
if (code !== OK) {
alertInfo(message)
return;
}
alertSuccess("编辑成功")
this.getDetail()
}
}
})