first commit

This commit is contained in:
2025-04-15 01:51:54 +08:00
commit 40c821350f
47 changed files with 2816 additions and 0 deletions

24
pages/deal/deal.acss Normal file
View File

@@ -0,0 +1,24 @@
navigator {
background-color: rgb(74, 110, 207);
color: #fff;
margin-bottom: 10rpx;
padding: 60rpx;
text-align: center;
/* 圆角 */
border-radius: 8px;
background: linear-gradient(45deg, #007BFF, #00BFFF);
}
.navigator-hover {
background-color: lightskyblue;
color: #fff;
}
.nav-button:hover {
transform: translateY(-3px);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
}
.navigator-hover {
opacity: 0.8;
}

5
pages/deal/deal.axml Normal file
View File

@@ -0,0 +1,5 @@
<view class="nav-container">
<navigator open-type="navigate" url="/pages/deal/saleOrder/saleOrder" hover-class="navigator-hover" class="nav-button">销售</navigator>
<bluetooth-component/>
</view>

38
pages/deal/deal.js Normal file
View File

@@ -0,0 +1,38 @@
Page({
data: {
},
onLoad(query) {
// 页面加载
console.info(`Page onLoad with query: ${JSON.stringify(query)}`);
},
onReady() {
// 页面加载完成
},
onShow() {
// 页面显示
},
onHide() {
// 页面隐藏
},
onUnload() {
// 页面被关闭
},
onTitleClick() {
// 标题被点击
},
onPullDownRefresh() {
// 页面被下拉
},
onReachBottom() {
// 页面被拉到底部
},
onShareAppMessage() {
// 返回自定义分享信息
return {
title: 'My App',
desc: 'My App description',
path: 'pages/index/index',
};
},
});

3
pages/deal/deal.json Normal file
View File

@@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@@ -0,0 +1,15 @@
.checkbox {
display: block;
margin-bottom: 20rpx;
}
.order-item {
/* 卡片边框颜色 */
border: 1px solid #161515;
padding: 10px;
margin: 10px;
cursor: pointer;
border-radius: 5px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
background-color: #ffffff;
}

View File

@@ -0,0 +1,20 @@
<view class="page">
<view class="page-description">多项选择器</view>
<form onSubmit="onSubmit" onReset="onReset">
<view class="page-section">
<view class="page-section-title">选择你用过的框架:</view>
<view class="page-section-demo">
<checkbox-group onChange="onChange" name="libs">
<label class="checkbox order-item" a:for="{{items}}" key="label-{{index}}">
<checkbox value="{{item.id}}" checked="{{item.checked}}" disabled="{{item.disabled}}" />
<text class="checkbox-text">货号:{{item.name}} 色号:{{item.color_id_2[1]}} 细码:{{item.fineCode3Names}}</text>
</label>
</checkbox-group>
</view>
<view class="page-section-btns">
<view><button type="ghost" size="mini">重置</button></view>
<view><button type="primary" size="mini" formType="submit">提交</button></view>
</view>
</view>
</form>

View File

@@ -0,0 +1,113 @@
Page({
data: {
items: []
},
onLoad(query) {
console.info(`Page onLoad with query: ${JSON.stringify(query)}`);
dd.getStorage({
key: 'saleOrderlines',
success: (res) => {
const selectedOrder = res.data;
const orderLinesoptions = selectedOrder.orderLines;
this.setData({
items: orderLinesoptions
});
console.log('从本地存储获取到的数据:', selectedOrder);
},
fail: (err) => {
console.error('从本地存储获取数据失败:', err);
}
});
},
onReady() {
// 页面加载完成
},
onShow() {
// 页面显示
},
onHide() {
// 页面隐藏
},
onUnload() {
// 页面被关闭
},
onTitleClick() {
// 标题被点击
},
onPullDownRefresh() {
// 页面被下拉
},
onReachBottom() {
// 页面被拉到底部
},
onShareAppMessage() {
return {
title: 'My App',
desc: 'My App description',
path: 'pages/index/index'
};
},
onSubmit(e) {
console.log('onSubmit', e);
const selectedIds = e.detail.value.libs.map(Number); // 将 selectedIds 中的元素转换为数字类型
console.log('选中的 ID:', selectedIds);
if (selectedIds.length === 0) {
console.log('未选中任何 ID清空本地缓存');
dd.removeStorage({
key: 'selectedSaleOrderLines',
success: () => {
console.log('本地缓存 selectedSaleOrderLines 已清空');
},
fail: (err) => {
console.error('清空本地缓存 selectedSaleOrderLines 失败:', err);
}
});
return;
}
const saleOrderLines = this.data.items;
console.log('所有销售订单行数据:', saleOrderLines);
const selectedItems = saleOrderLines.filter(line => selectedIds.includes(line.id));
const selectedSaleOrderLines = {
selectedItems
};
console.log('选中的销售订单行记录:', selectedItems);
dd.setStorage({
key: 'selectedSaleOrderLines',
data: selectedSaleOrderLines,
success: () => {
console.log('选中的销售订单行记录已保存到本地存储:', selectedItems);
},
fail: (err) => {
console.error('保存选中的销售订单行记录到本地存储失败:', err);
}
});
dd.reLaunch({
url: "/pages/deal/saleOrder/kanban/from/printTag/printTemplate/printTemplate",
success () {
// 导航成功的回调函数
console.log("导航成功");
},
fail: function (err) {
// 导航失败的回调函数
console.error("导航失败", err);
},
complete: function () {
// 导航结束的回调函数(无论成功或失败都会执行)
console.log("导航操作结束");
}
});
// my.alert({
// content: `你选择的框架是 ${selectedIds.join(', ')}`,
// });
},
onReset(e) {
console.log('onReset', e);
},
onChange(e) {
console.log(e);
}
});

View File

@@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@@ -0,0 +1,3 @@
<view>
</view>

View File

@@ -0,0 +1,54 @@
Page({
data: {
switch1: '',
switch2: '',
switch3: '',
switch4: '',
iconType: [
'cancel',
],
// 'success',连接成功打勾
// 'info', 感叹号
// 'warn', 黄色感叹号
// 'waiting',时钟
// 'clear',打叉
// 'success_no_circle',打勾
// 'download',下载
// 'cancel',打叉
// 'search',搜索
array: ['TSPL', 'ZPL', 'CPCL', 'ESC/POS'],
value: {},
printdata: {},
blueoptions: [],
deviceId: '',
connected: false,
devices: [],
showDeviceList: false,
currentDeviceServices: [],
currentDeviceCharacteristics: [],
hasLocation: false,
location: {},
deviceCount: 0,
targetDeviceId: 'DC:0D:30:63:9E:0E',
isSearching: true,
printFormat: 'TSPL',
maxAllowedLength: 1024,
delayTime: 5000, // 默认延迟 5 秒,单位:毫秒
paperSize: {
width: 80, // 默认宽度 80mm
height: 60 // 默认高度 60mm
},
index: 0 //指令集默认选择
},
onLoad() {
const selectedSaleOrderLines = dd.getStorageSync({
key: 'selectedSaleOrderLines'
}).data;
const printdata = selectedSaleOrderLines || {};
this.setData({
printdata
});
},
});

View File

@@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@@ -0,0 +1,26 @@
.cart-bottom {
position: fixed;
bottom: 0;
left: 0;
right: 0;
display: flex;
justify-content: space-between;
align-items: center;
background-color: #fff;
padding: 10px;
border-top: 1px solid #eee;
}
.cart-info {
display: flex;
flex-direction: column;
}
.confirm-button {
background-color: #ff5722;
color: #fff;
padding: 20px 50px;
border: none;
border-radius: 5px;
}

View File

@@ -0,0 +1,24 @@
<view>
<view>
<rich-text nodes="{{nodes}}" onTap="tap"></rich-text>
</view>
<view class="cart-bottom">
<view class="cart-info">
</view>
<navigator
open-type="navigate"
url="/pages/deal/saleOrder/kanban/saleOrderKanban"
class="confirm-button"
>
返回
</navigator>
<navigator
open-type="navigate"
url="/pages/deal/saleOrder/kanban/from/printTag/printTemplate/bluetooth/bluetooth"
class="confirm-button"
>
确认
</navigator>
</view>
</view>

View File

@@ -0,0 +1,55 @@
Page({
data: {
nodes: [{
name: 'div',
attrs: {
class: 'wrapper',
style: 'color: orange;',
},
children: [{
type: 'text',
text: 'Hello&nbsp;World! 拖拉设计打印模板待开发',
}],
}],
},
onLoad(query) {
// 页面加载
console.info(`Page onLoad with query: ${JSON.stringify(query)}`);
},
onReady() {
// 页面加载完成
},
onShow() {
// 页面显示
},
onHide() {
// 页面隐藏
},
onUnload() {
// 页面被关闭
},
onTitleClick() {
// 标题被点击
},
onPullDownRefresh() {
// 页面被下拉
},
onReachBottom() {
// 页面被拉到底部
},
onShareAppMessage() {
// 返回自定义分享信息
return {
title: 'My App',
desc: 'My App description',
path: 'pages/index/index',
};
},
//
tap() {
console.log('tap');
},
//
});

View File

@@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@@ -0,0 +1,26 @@
.cart-bottom {
position: fixed;
bottom: 0;
left: 0;
right: 0;
display: flex;
justify-content: space-between;
align-items: center;
background-color: #fff;
padding: 10px;
border-top: 1px solid #eee;
}
.cart-info {
display: flex;
flex-direction: column;
}
.confirm-button {
background-color: #ff5722;
color: #fff;
padding: 20px 50px;
border: none;
border-radius: 5px;
}

View File

@@ -0,0 +1,203 @@
<!-- components/BasicInfoTab/BasicInfoTab.aml -->
<view>
<!-- -->
<view class="page-section">
<picker >
<view class="form-row">
<view class="form-row-label">客户</view>
<input
name="databaseName"
class="form-row-content"
value="{{selectedOrder.partner_id[1]}}"
placeholder="预留位置等待开发修改销售单数据"
/>
</view>
</picker>
</view>
<!-- -->
<!-- -->
<view class="page-section">
<picker >
<view class="form-row">
<view class="form-row-label">地址</view>
<input
name="databaseName"
class="form-row-content"
value="{{}}"
placeholder="预留位置等待开发修改销售单数据"
/>
</view>
</picker>
</view>
<!-- -->
<!-- -->
<view class="page-section">
<picker >
<view class="form-row">
<view class="form-row-label">销售日期</view>
<input
name="databaseName"
class="form-row-content"
value="{{selectedOrder.date_order}}"
placeholder="预留位置等待开发修改销售单数据"
/>
</view>
</picker>
</view>
<!-- -->
<!-- -->
<view class="page-section">
<picker >
<view class="form-row">
<view class="form-row-label">计划收款日期</view>
<input
name="databaseName"
class="form-row-content"
value="{{}}"
placeholder="预留位置等待开发修改销售单数据"
/>
</view>
</picker>
</view>
<!-- -->
<!-- -->
<view class="page-section">
<picker >
<view class="form-row">
<view class="form-row-label">送货日期</view>
<input
name="databaseName"
class="form-row-content"
value="{{}}"
placeholder="预留位置等待开发修改销售单数据"
/>
</view>
</picker>
</view>
<!-- -->
<!-- -->
<view class="page-section">
<picker >
<view class="form-row">
<view class="form-row-label">默认仓库</view>
<input
name="databaseName"
class="form-row-content"
value="{{}}"
placeholder="预留位置等待开发修改销售单数据"
/>
</view>
</picker>
</view>
<!-- -->
<!-- -->
<view class="page-section">
<picker >
<view class="form-row">
<view class="form-row-label">业务员</view>
<input
name="databaseName"
class="form-row-content"
value="{{selectedOrder.user_id[1]}}"
placeholder="预留位置等待开发修改销售单数据"
/>
</view>
</picker>
</view>
<!-- -->
<!-- -->
<view class="page-section">
<picker >
<view class="form-row">
<view class="form-row-label">销售单号</view>
<input
name="databaseName"
class="form-row-content"
value="{{selectedOrder.name}}"
placeholder="预留位置等待开发修改销售单数据"
/>
</view>
</picker>
</view>
<!-- -->
<view>
<tag>税率</tag>
</view>
<!-- -->
<view class="page-section">
<picker >
<view class="form-row">
<view class="form-row-label">订单金额</view>
<input
name="databaseName"
class="form-row-content"
value="{{selectedOrder.orde_ddje}}"
placeholder="预留位置等待开发修改销售单数据"
/>
</view>
</picker>
</view>
<!-- -->
<!-- -->
<view class="page-section">
<picker >
<view class="form-row">
<view class="form-row-label">优惠金额</view>
<input
name="databaseName"
class="form-row-content"
value="{{}}"
placeholder="预留位置等待开发修改销售单数据"
/>
</view>
</picker>
</view>
<!-- -->
<!-- -->
<view class="page-section">
<picker >
<view class="form-row">
<view class="form-row-label">合同金额</view>
<input
name="databaseName"
class="form-row-content"
value="{{}}"
placeholder="预留位置等待开发修改销售单数据"
/>
</view>
</picker>
</view>
<!-- -->
<!-- -->
<view class="page-section">
<picker >
<view class="form-row">
<view class="form-row-label">非产品费用</view>
<input
name="databaseName"
class="form-row-content"
value="{{}}"
placeholder="预留位置等待开发修改销售单数据"
/>
</view>
</picker>
</view>
<!-- -->
<view class="cart-bottom">
<view class="cart-info">
</view>
<navigator
open-type="navigate"
url="/pages/deal/saleOrder/kanban/saleOrderKanban"
class="confirm-button"
>
确认
</navigator>
<navigator
open-type="navigate"
url="/pages/deal/saleOrder/kanban/from/printTag/printTag"
class="confirm-button"
>
打印
</navigator>
</view>

View File

@@ -0,0 +1,55 @@
Page({
data: {
selectedOrder:{}
},
onLoad(query) {
// 页面加载
console.info(`Page onLoad with query: ${JSON.stringify(query)}`);
const objectKey = query.objectKey;
if (objectKey) {
dd.getStorage({
key: objectKey,
success: (res) => {
const selectedOrder = res.data;
this.setData({
selectedOrder
});
console.log('从本地存储获取到的数据:', selectedOrder);
// 在这里可以对 selectedOrder 进行进一步处理
},
fail: (err) => {
console.error('从本地存储获取数据失败:', err);
}
});
}
},
onReady() {
// 页面加载完成
},
onShow() {
// 页面显示
},
onHide() {
// 页面隐藏
},
onUnload() {
// 页面被关闭
},
onTitleClick() {
// 标题被点击
},
onPullDownRefresh() {
// 页面被下拉
},
onReachBottom() {
// 页面被拉到底部
},
onShareAppMessage() {
// 返回自定义分享信息
return {
title: 'My App',
desc: 'My App description',
path: 'pages/index/index',
};
},
});

View File

@@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@@ -0,0 +1,83 @@
.list-header {
font-size: 18px;
font-weight: bold;
padding: 10px;
background-color: #f0f0f0;
}
.order-item {
/* 卡片边框颜色 */
border: 1px solid #161515;
padding: 10px;
margin: 10px;
cursor: pointer;
border-radius: 5px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
background-color: #ffffff;
}
.order-title {
font-size: 16px;
font-weight: bold;
color: #dbe45a;
}
.order-brief {
font-size: 14px;
color: #666;
}
.order-extra {
font-size: 14px;
color: #666;
float: right;
}
.order-details {
font-size: 14px;
margin-top: 5px;
color: #444444;
}
.order-line-item {
border: 1px solid #eee;
padding: 5px;
margin-top: 5px;
border-radius: 3px;
/* 销售订单行背景色 */
background-color: #f9f9f9;
}
.pagination {
display: flex;
justify-content: center;
align-items: center;
margin-top: 20px;
}
.pagination-button {
padding: 8px 16px;
margin: 0 10px;
border: none;
border-radius: 5px;
background-color: #007aff;
color: #ffffff;
cursor: pointer;
transition: background-color 0.3s ease;
}
.pagination-button:hover {
background-color: #0056b3;
}
.disabled-button {
background-color: #cccccc;
cursor: not-allowed;
}
.pagination-text {
font-size: 14px;
color: #333333;
margin: 0 10px;
}

View File

@@ -0,0 +1,34 @@
<view>
<progress percent="{{isloading}}" active style="background-color: #e0e0e0; height: 10px; border-radius: 5px;" />
<view
a:for="{{combinedOrders}}"
a:key="id"
class="order-item"
onTap="handleTap"
data-info="{{item.id}}"
>
<view class="order-extra">{{item.date_order || '无订单日期'}}</view>
<view class="order-details order-title">{{item.name || '无订单名称'}}</view>
<view class="order-extra">总金额:{{item.amount_total || '无'}}</view>
<view class="order-details">{{item.partner_id[1] || '无客户名称'}}</view>
<view a:if="{{item.orderLines.length > 0}}">
<view a:for="{{item.orderLines}}" a:key="id" class="order-line-item">
<view class="order-extra">数量: {{item.product_uom_qty || '无数量'}}</view>
<view class="order-details order-title">货号: {{item.product_id? item.product_id[1] : '无产品名称'}}</view>
</view>
</view>
</view>
<view class="pagination">
<button disabled="{{currentPage === 1}}" onTap="handlePreviousPage" class="pagination-button disabled-button">上一页</button>
<text class="pagination-text">第 {{currentPage}} 页 / 共 {{totalRecords / pageSize}} 页</text>
<button
disabled="{{isLoading || currentPage === Math.ceil(totalRecords / pageSize)}}"
onTap="handleNextPage"
class="pagination-button"
>
下一页
</button>
</view>
</view>

View File

@@ -0,0 +1,307 @@
import jsonrpcFunc from '../../../ulti/jsonrpc'
Page({
data: {
loginInfo: '', //权限验证信息
combinedOrders: [], //销售数据汇总
currentPage: 1, //当前第几页
pageSize: 10, //一页多少数据
totalRecords: 0, //整个模型目前有多少条记录
orderlineIDs: [], //销售订单行数据
isloading: 50 //加载进度条百分比
},
onLoad(query) {
// 页面加载
// console.info(`Page onLoad with query: ${JSON.stringify(query)}`);
const loginInfo = dd.getStorageSync({
key: 'loginInfo'
}).data;
if (loginInfo && loginInfo.apiurl && loginInfo.databaseName && loginInfo.username && loginInfo.password && loginInfo.uid > 0) {
this.setData({
loginInfo
});
// console.log('销售页得到的本地信息', loginInfo);
//执行获取销售订单第一页数据分页第一页默认
this.fetchData(1);
} else {
// console.log('本地缓存中未获取到登录信息');
}
},
onReady() {
// 页面加载完成
},
onShow() {
// 页面显示
},
onHide() {
// 页面隐藏
},
onUnload() {
// 页面被关闭
},
onTitleClick() {
// 标题被点击
},
onPullDownRefresh() {
// 页面被下拉
},
onReachBottom() {
// 页面被拉到底部
},
onShareAppMessage() {
// 返回自定义分享信息
return {
title: 'My App',
desc: 'My App description',
path: 'pages/index/index',
};
},
fetchData(page) {
const {
loginInfo,
pageSize
} = this.data;
const offset = (page - 1) * pageSize;
// 调用 search_count 方法获取总记录数
const saleOrderCountData = {
"jsonrpc": "2.0",
"method": "call",
"id": 2,
"params": {
"service": "object",
"method": "execute_kw",
"args": [
loginInfo.databaseName,
loginInfo.uid,
loginInfo.password,
'sale.order',
"search_count",
[
[]
]
]
}
};
jsonrpcFunc(loginInfo, saleOrderCountData)
.then((count) => {
this.setData({
totalRecords: count
});
// console.log('销售订单总记录数:', count);
const saleOrderData = {
"jsonrpc": "2.0",
"method": "call",
"id": 2,
"params": {
"service": "object",
"method": "execute_kw",
"args": [
loginInfo.databaseName,
loginInfo.uid,
loginInfo.password,
'sale.order',
"search_read",
[],
{
fields: [],
"limit": pageSize,
"offset": offset,
"order": "id DESC"
}
]
}
};
return jsonrpcFunc(loginInfo, saleOrderData);
})
.then((salesOrderData) => {
this.setData({
combinedOrders: salesOrderData.map(order => ({
...order,
orderLines: []
}))
});
// console.log('销售订单数据:', salesOrderData);
const orderlineIDs = [];
salesOrderData.forEach(order => {
if (order.order_line && Array.isArray(order.order_line)) {
order.order_line.forEach(id => {
if (!orderlineIDs.includes(id)) {
orderlineIDs.push(id);
}
});
}
});
this.setData({
orderlineIDs
});
// console.log('获取到的销售订单行 ID:', orderlineIDs);
if (orderlineIDs.length > 0) {
const domain = orderlineIDs;
const saleOrderLineData = {
"jsonrpc": "2.0",
"method": "call",
"id": 2,
"params": {
"service": "object",
"method": "execute_kw",
"args": [
loginInfo.databaseName,
loginInfo.uid,
loginInfo.password,
'sale.order.line',
"read",
[domain],
{
fields: [],
}
]
}
};
// console.log('saleOrderLineData ', saleOrderLineData);
return jsonrpcFunc(loginInfo, saleOrderLineData);
}
return null;
})
.then((salesOrderLineData) => {
if (salesOrderLineData) {
const {
combinedOrders
} = this.data;
salesOrderLineData.forEach(orderLine => {
const orderId = orderLine.order_id && orderLine.order_id[0];
const targetOrder = combinedOrders.find(order => order.id === orderId);
if (targetOrder) {
targetOrder.orderLines.push(orderLine);
}
});
this.setData({
combinedOrders
});
// console.log('销售订单行数据:', salesOrderLineData);
// console.log('合并后的订单数据:', combinedOrders);
// 提取所有 fineCode_3 的 ID
const fineCode3Ids = [];
combinedOrders.forEach(order => {
order.orderLines.forEach(orderLine => {
if (orderLine.fineCode_3 && Array.isArray(orderLine.fineCode_3)) {
orderLine.fineCode_3.forEach(id => {
if (!fineCode3Ids.includes(id)) {
fineCode3Ids.push(id);
}
});
}
});
});
if (fineCode3Ids.length > 0) {
const fineCode3Data = {
"jsonrpc": "2.0",
"method": "call",
"id": 2,
"params": {
"service": "object",
"method": "execute_kw",
"args": [
loginInfo.databaseName,
loginInfo.uid,
loginInfo.password,
// 这里需要替换为 fineCode_3 关联的模型名称
'finecode_xima_l',
"read",
[fineCode3Ids],
{
fields: ['name']
}
]
}
};
return jsonrpcFunc(loginInfo, fineCode3Data);
}
}
return null;
})
.then((fineCode3Data) => {
if (fineCode3Data) {
const {
combinedOrders
} = this.data;
const fineCode3NameMap = {};
fineCode3Data.forEach(item => {
fineCode3NameMap[item.id] = item.name;
});
combinedOrders.forEach(order => {
order.orderLines.forEach(orderLine => {
if (orderLine.fineCode_3 && Array.isArray(orderLine.fineCode_3)) {
orderLine.fineCode3Names = orderLine.fineCode_3.map(id => fineCode3NameMap[id]);
}
});
});
this.setData({
combinedOrders,
isloading: 100
});
// console.log('合并后的订单数据(包含 fineCode_3 名称):', combinedOrders);
}
})
.catch((error) => {
console.error('请求数据时出错:', error);
});
},
//下一页逻辑
handleNextPage() {
const {
currentPage,
totalRecords,
pageSize
} = this.data;
const totalPages = Math.ceil(totalRecords / pageSize);
if (currentPage < totalPages) {
this.setData({
currentPage: currentPage + 1
});
this.fetchData(currentPage + 1);
}
},
//
//上一页逻辑
handlePreviousPage() {
const {
currentPage
} = this.data;
if (currentPage > 1) {
this.setData({
currentPage: currentPage - 1
});
this.fetchData(currentPage - 1);
}
},
//
//点击卡片触发这条记录保存
handleTap(e) {
const orderId = e.currentTarget.dataset.info;
const {
combinedOrders
} = this.data;
const selectedOrder = combinedOrders.find(order => order.id === orderId);
if (selectedOrder) {
const objectKey = `saleOrderlines`;
// const objectKey = `order_${orderId}`;
dd.setStorage({
key: objectKey,
data: selectedOrder,
success: function () {
dd.navigateTo({
url: `/pages/deal/saleOrder/kanban/from/saleOrderFrom?objectKey=${objectKey}`
});
},
fail: function (err) {
console.error('存储数据到本地存储失败:', err);
}
});
}
},
//
});

View File

@@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@@ -0,0 +1,26 @@
.cart-bottom {
position: fixed;
bottom: 0;
left: 0;
right: 0;
display: flex;
justify-content: space-between;
align-items: center;
background-color: #fff;
padding: 10px;
border-top: 1px solid #eee;
}
.cart-info {
display: flex;
flex-direction: column;
}
.confirm-button {
background-color: #ff5722;
color: #fff;
padding: 20px 50px;
border: none;
border-radius: 5px;
}

View File

@@ -0,0 +1,99 @@
<view>
<!-- -->
<view class="page-section">
<picker >
<view class="form-row">
<view class="form-row-label">客户</view>
<input
name="databaseName"
class="form-row-content"
value="{{[]}}"
placeholder="预留位置等待开发创建销售单"
/>
</view>
</picker>
</view>
<!-- -->
<!-- -->
<view class="page-section">
<picker >
<view class="form-row">
<view class="form-row-label">日期</view>
<input
name="databaseName"
class="form-row-content"
value="{{[]}}"
placeholder="预留位置等待开发创建销售单"
/>
</view>
</picker>
</view>
<!-- -->
<!-- -->
<view class="page-section">
<picker >
<view class="form-row">
<view class="form-row-label">默认仓库</view>
<input
name="databaseName"
class="form-row-content"
value="{{[]}}"
placeholder="预留位置等待开发创建销售单"
/>
</view>
</picker>
</view>
<!-- -->
<!-- -->
<view class="page-section">
<picker >
<view class="form-row">
<view class="form-row-label">业务员</view>
<input
name="databaseName"
class="form-row-content"
value="{{[]}}"
placeholder="预留位置等待开发创建销售单"
/>
</view>
</picker>
</view>
<!-- -->
<view class="page-section">
<view class="page-section-title"></view>
<view class="page-section-demo">
<checkbox-group>
<view>
<label>
<checkbox value="客户货号" />
<text> 客户货号</text>
</label>
<label>
<checkbox value="进价" />
<text> 进价</text>
</label>
<label>
<checkbox value="+/-" />
<text> +/-</text>
</label>
</view>
</checkbox-group>
</view>
</view>
<!-- -->
<navigator open-type="redirect" hover-class="navigator-hover">产品列表</navigator>
<!-- -->
<!-- -->
<view class="cart-bottom">
<view class="cart-info">
</view>
<navigator
open-type="navigate"
url="/pages/deal/saleOrder/kanban/saleOrderKanban"
class="confirm-button"
>
确认
</navigator>
</view>
<!-- -->
</view>

View File

@@ -0,0 +1,38 @@
Page({
data: {
},
onLoad(query) {
// 页面加载
console.info(`Page onLoad with query: ${JSON.stringify(query)}`);
},
onReady() {
// 页面加载完成
},
onShow() {
// 页面显示
},
onHide() {
// 页面隐藏
},
onUnload() {
// 页面被关闭
},
onTitleClick() {
// 标题被点击
},
onPullDownRefresh() {
// 页面被下拉
},
onReachBottom() {
// 页面被拉到底部
},
onShareAppMessage() {
// 返回自定义分享信息
return {
title: 'My App',
desc: 'My App description',
path: 'pages/index/index',
};
},
});

View File

@@ -0,0 +1,3 @@
{
"usingComponents": {}
}