添加页面及完善二级页面

This commit is contained in:
zhengw
2026-03-09 14:21:52 +08:00
parent aa1294f997
commit 9033acc56d
30 changed files with 611 additions and 32 deletions

View File

@@ -74,7 +74,19 @@ Page({
});
});
},
onOrderEdit(e: any) {
const data = getDataSet(e);
const index = data.index;
wx.navigateTo({
url: '/pages/base/customer/edit/edit',
success: (res) => {
res.eventChannel.emit('customerEdit', {
data: index == -1 ? { crm_type: 1 } : this.data.list[index],
});
},
});
},
onOrderDel(e: any) {
const data = getDataSet(e);
const index = data.index;

View File

@@ -14,6 +14,10 @@
</search-popup>
<count-plugin count="{{count}}">
<view slot="left">
<t-button wx:if="{{authInfo['SF_ERP_CUSTOMER_ADD']}}" size="small" theme="primary"
bind:tap="onOrderEdit" data-index="-1">新增经销商</t-button>
</view>
<!-- <sort-plugin options="{{sort}}" bind:ok="onSort" value="{{params.order}}" slot="right" /> -->
</count-plugin>
@@ -28,6 +32,8 @@
<card-item-plugin label="创建日期" value="{{item.create_date}}" />
</view>
<view slot="footer" class="card-plugin-footer">
<t-button wx:if="{{authInfo['SF_ERP_CUSTOMER_EDIT']}}" size="small" theme="primary"
bind:tap="onOrderEdit" data-index="{{index}}">编辑</t-button>
<t-button wx:if="{{authInfo['SF_ERP_CUSTOMER_DEL']}}" size="small" theme="danger"
bind:tap="onOrderDel" data-index="{{index}}">删除</t-button>
</view>

View File

@@ -0,0 +1,10 @@
{
"usingComponents": {
"t-cell": "tdesign-miniprogram/cell/cell",
"t-textarea": "tdesign-miniprogram/textarea/textarea",
"t-input": "tdesign-miniprogram/input/input",
"t-radio": "tdesign-miniprogram/radio/radio",
"t-radio-group": "tdesign-miniprogram/radio-group/radio-group"
},
"navigationBarTitleText": ""
}

View File

@@ -0,0 +1,123 @@
import { loginStatusPage, post } from '@/utils/https';
import {
cloneLite,
getAuthInfo,
getDataSet,
sleep,
toastError,
toastSuccess,
toObject,
} from '@/utils/util';
const defaultParams = { comments: '', crm_name: '', crm_type: 1 };
Page({
/**
* 页面的初始数据
*/
data: {
params: cloneLite(defaultParams) as any,
mode: 'new' as 'new' | 'edit',
},
handleLogin(e: any) {
this.setData({ isLogin: e.detail });
if (e.detail) {
this.init();
}
},
init() {
this.setData({ authInfo: getAuthInfo() });
},
onChange(e: any) {
const key = getDataSet(e).key;
const val = e.detail.value;
this.data.params[key] = val;
this.setData({ params: this.data.params });
},
onCheckboxChange(e: any) {
const key = getDataSet(e).key;
this.data.params[key] = e.detail.checked ? 1 : 2;
this.setData({ params: this.data.params });
},
onSave() {
// console.log(this.data.params);
if (this.data.params.crm_name) {
if (this.data.params.crm_phone && this.data.params.crm_phone.length != 11) {
toastError('手机号码需11位');
return;
}
post(this.data.mode == 'new' ? 'ErpCrm/add' : 'ErpCrm/edit', this.data.params).then(() => {
toastSuccess('保存成功');
sleep(() => {
wx.navigateBack();
}, 1000);
});
} else {
toastError('项目名称必填');
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(_options) {
const eventChannel: any = this.getOpenerEventChannel();
eventChannel?.on('customerEdit', (e: any) => {
const data = toObject(e.data);
Object.keys(data).forEach((key) => {
if (data[key] === null) {
data[key] = '';
}
});
// console.log(data);
wx.setNavigationBarTitle({
title: data.crm_id
? `${data.crm_name} 修改`
: data.crm_type == 1
? '新增经销商'
: '新增供应商',
});
this.setData({ params: data, mode: data.crm_id ? 'edit' : 'new' });
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
loginStatusPage(this);
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {},
/**
* 用户点击右上角分享
*/
// onShareAppMessage() {},
});

View File

@@ -0,0 +1,38 @@
<page-plugin isAuth="1" loading="{{loading}}" is-login="{{isLogin}}" bind:handleLogin="handleLogin">
<t-input placeholder="名称" focus value="{{params.crm_name}}" data-key="crm_name"
bind:change="onChange" align="right" style="padding-left: 0;padding-right: 0;">
<view slot="label" class="required">名称 </view>
</t-input>
<t-input placeholder="手机号码" value="{{params.crm_phone}}" data-key="crm_phone"
bind:change="onChange" align="right" type="number" maxlength="11"
style="padding-left: 0;padding-right: 0;">
<view slot="label">手机号码</view>
</t-input>
<t-input placeholder="地址" value="{{params.crm_address}}" data-key="crm_address"
bind:change="onChange" align="right" style="padding-left: 0;padding-right: 0;">
<view slot="label">地址</view>
</t-input>
<t-input placeholder="开户行" value="{{params.bank_name}}" data-key="bank_name"
bind:change="onChange" align="right" style="padding-left: 0;padding-right: 0;">
<view slot="label">开户行</view>
</t-input>
<t-input placeholder="账号" value="{{params.bank_nums}}" data-key="bank_nums" bind:change="onChange"
align="right" style="padding-left: 0;padding-right: 0;">
<view slot="label">账号</view>
</t-input>
<t-input placeholder="纳税人识别号" value="{{params.tax_code}}" data-key="tax_code"
bind:change="onChange" align="right" style="padding-left: 0;padding-right: 0;">
<view slot="label">纳税人识别号</view>
</t-input>
<t-input placeholder="税率(%)" value="{{params.tax_rate}}" data-key="tax_rate"
bind:change="onChange" align="right" style="padding-left: 0;padding-right: 0;">
<view slot="label">税率(%)</view>
</t-input>
<t-textarea placeholder="备注" autosize maxlength="255" bordered style="margin-top: 16rpx;"
value="{{params.comments}}" data-key="comments" bind:change="onChange">
<view slot="label" class="textarea-label">备注</view>
</t-textarea>
<view style="margin-top: 32rpx;display: flex;justify-content: center;">
<t-button theme="primary" bind:tap="onSave">保存</t-button>
</view>
</page-plugin>