表单细码

This commit is contained in:
QunSheng Lin 2025-02-12 18:39:48 +08:00
parent 8143ce1c2a
commit 745e98834b
4 changed files with 175 additions and 34 deletions

View File

@ -1,30 +1,54 @@
// pages/sale_order/form/sale_order_form.js
Page({
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
partner: {},
formData: {
name: '',
date_order: '',
orde_ddje: '',
partner_id: ''
partner_id: '',
fineCode_Text:''
},
showDatePicker: false,
currentDate: new Date().getTime(),
showPartnerPicker: false,
partnerColumns: ['合作伙伴1', '合作伙伴2', '合作伙伴3'], // 你的合作伙伴数据
partnerColumns: [], // 初始化为空数组
showProductPicker: false,
productColumns: ['产品1', '产品2', '产品3'], // 你的产品数据
selectedProducts: []
productColumns: [], // 初始化为空数组
selectedProducts: [],
fineCode_Text: []
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
// 从全局应用实例中获取选中的 partner 数据
const selectedPartner = app.globalData.selectedPartner;
if (selectedPartner) {
this.setData({
partner: selectedPartner,
formData: {
name: selectedPartner.name,
date_order: selectedPartner.date_order,
orde_ddje: selectedPartner.orde_ddje,
partner_id: selectedPartner.partner_name,
},
orderLines: selectedPartner.orderLines || [] // 确保 fineCode_Text 被正确设置
});
console.log('Selected Partner:', selectedPartner);
} else {
console.error('Selected partner not found in global data');
// 处理数据未找到的情况,例如返回上一页
wx.navigateBack();
}
},
/**
@ -52,7 +76,8 @@ Page({
* 生命周期函数--监听页面卸载
*/
onUnload() {
// 清理全局数据
app.globalData.selectedPartner = null;
},
/**
@ -74,5 +99,103 @@ Page({
*/
onShareAppMessage() {
},
/**
* 显示日期选择器
*/
showDatePicker() {
this.setData({
showDatePicker: true
});
},
/**
* 选择日期
*/
onDateConfirm(event) {
const date = new Date(event.detail);
const formattedDate = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')} ${String(date.getHours()).padStart(2, '0')}:${String(date.getMinutes()).padStart(2, '0')}:${String(date.getSeconds()).padStart(2, '0')}`;
this.setData({
formData: {
...this.data.formData,
date_order: formattedDate
},
showDatePicker: false
});
},
/**
* 取消日期选择器
*/
onDateCancel() {
this.setData({
showDatePicker: false
});
},
/**
* 显示合作伙伴选择器
*/
showPartnerPicker() {
this.setData({
showPartnerPicker: true
});
},
/**
* 选择合作伙伴
*/
onPartnerConfirm(event) {
const selectedPartnerName = this.data.partnerColumns[event.detail.index];
const selectedPartnerInfo = this.data.partner.partnerInfo.find(info => info[1] === selectedPartnerName);
this.setData({
formData: {
...this.data.formData,
partner_id: selectedPartnerInfo[0]
},
showPartnerPicker: false
});
},
/**
* 取消合作伙伴选择器
*/
onPartnerCancel() {
this.setData({
showPartnerPicker: false
});
},
/**
* 表单提交
*/
onSubmit(event) {
console.log('Form submitted:', this.data.formData);
// 在这里可以添加表单提交的逻辑
},
/**
* 处理订单名称输入
*/
onNameInput(event) {
this.setData({
formData: {
...this.data.formData,
name: event.detail
}
});
},
/**
* 处理订单金额输入
*/
onOrdeDdjeInput(event) {
this.setData({
formData: {
...this.data.formData,
orde_ddje: event.detail
}
});
}
})
});

View File

@ -1,58 +1,74 @@
<!--pages/sale_order/form/sale_order_form.wxml-->
<van-form>
<van-form bind:submit="onSubmit">
<van-image
width="20rem"
height="20rem"
fit="contain"
src="https://img.yzcdn.cn/vant/cat.jpeg"
/>
width="20rem"
height="20rem"
fit="contain"
src="https://img.yzcdn.cn/vant/cat.jpeg"
/>
<van-field
v-model="formData.name"
label="商品名称"
placeholder="请输入商品名称"
value="{{formData.name}}"
label="订单名称"
placeholder="请输入订单名称"
required
bind:input="onNameInput"
/>
<van-field
v-model="formData.date_order"
value="{{formData.date_order}}"
label="日期"
placeholder="请选择日期"
is-link
readonly
name="datePicker"
bind:click="showDatePicker = true"
bind:click="showDatePicker"
/>
<van-popup v-model:show="showDatePicker" position="bottom">
<van-popup show="{{showDatePicker}}" position="bottom">
<van-datetime-picker
type="date"
type="datetime"
value="{{currentDate}}"
bind:confirm="onDateConfirm"
bind:cancel="onDateCancel"
/>
</van-popup>
<van-field
v-model="formData.orde_ddje"
value="{{formData.orde_ddje}}"
label="订单金额"
placeholder="请输入订单金额"
type="number"
required
bind:input="onOrdeDdjeInput"
/>
<!-- 渲染 fineCode_Text 的 <van-tag> 标签 -->
<van-tag
plain
type="success"
wx:for="{{orderLines}}"
wx:key="index"
>
{{item.fineCode_Text}}
</van-tag>
<van-field
v-model="formData.partner_id"
value="{{formData.partner_id}}"
label="合作伙伴"
placeholder="请选择合作伙伴"
is-link
readonly
name="partnerPicker"
bind:click="showPartnerPicker = true"
bind:click="showPartnerPicker"
/>
<van-popup v-model:show="showPartnerPicker" position="bottom">
<van-popup show="{{showPartnerPicker}}" position="bottom">
<van-picker
:columns="partnerColumns"
show-toolbar
columns="{{partnerColumns}}"
bind:confirm="onPartnerConfirm"
bind:cancel="onPartnerCancel"
/>
</van-popup>
<van-button round block type="info" native-type="submit" bind:submit="onSubmit">
<van-button round block type="info" native-type="submit">
提交
</van-button>
</van-form>
</van-form>

View File

@ -439,7 +439,9 @@ Page({
console.log('Card clicked:', partner);
console.log('Card clicked:', event);
// 将选中的 partner 数据存储到全局应用实例中
const app = getApp();
app.globalData.selectedPartner = partner;
// 在这里可以添加更多的处理逻辑,比如跳转到详情页
wx.showToast({
title: `点击了订单 ${partner.name}`,

View File

@ -5,7 +5,7 @@
wx:key="id"
data-index="{{index}}"
num="{{item.date_order || '日期'}}"
tag="{{index}}"
tag="{{index + 1}}"
price="{{item.orde_ddje || '0.00'}}"
desc="{{item.partner_name|| '描述信息'}}"
bind:tap="onCardClick"