以下是根据您提供的内容重构后的代码:

一、获取当前页面参数的js代码:

```javascript

onLoad: async function (options) {

const pages = getCurrentPages(); //获取加载的页面

const currentPage = pages[pages.length - 1]; //获取当前页面的对象

const options = currentPage.options; //如果要获取url中所带的参数可以查看options

this.setData({

contactid: options.contactid //这里的options.表示获取参数,contactid表示参数名称

});

},

```

在小程序开发工具的右下角可以看到当前页面参数。

二、单独input文本框参数的获取的js和wxml代码:

```javascript

comments(e) {

console.log("参数", e.detail.value); //这里面的值就是获取到文本框中的值

}

```

```html

```

输出结果:在文本框输入:这是一个测试,回车,得到的结果如下。

```html

*

客户

>>

客户名称

{{valid.customer_name}}

*

姓名

手机号

职位

{{item.jobname}}

选中职位:{{checkedList}}

是否为关键决策人

{{seleNull6?selectDatas6[index6]:'请选择'}}

>

邮箱

备注

```

以下是针对给定内容的重构建议:

## 重构前内容

假设我们有以下样式表(wxss):

```css

/* 全局 */

body {

font-family: Arial, sans-serif;

margin: 0;

}

/* 导航栏 */

nav {

background-color: #333;

}

nav ul li {

display: inline-block;

margin-right: 10px;

}

nav ul li a {

color: white;

text-decoration: none;

}

/* 主要容器 */

.container {

max-width: 960px;

margin: 0 auto;

}

```

## 重构建议

根据提供的文本内容和样式要求,可以对上述样式表进行如下重构:

```css

/* 全局 */

body {

font-family: var(--font-primary); /* 定义字体 */

}

.container {

width: var(--container-width); /* 定义主要容器宽度 */

}

/* 导航栏 */

nav {

background-color: #333;

padding: 20px; /* 添加内边距 */

}

nav ul li {

margin-right: 20px; /* 将右侧边距改为默认值 */

}

nav ul li a {

color: white; /* 将链接颜色设置为白色 */

}

/* 其他样式保持不变 */

```

pop1 {

background-color: white;

width: 100%;

padding-top: 2%;

margin-bottom: 2%;

}

/* 点击事件执行样式变化 */

.pop1:active {

background-color: rgb(212, 211, 211);

}

.pop1_title {

margin-left: 5%;

}

.pop1_input {

margin-left: 7%;

width: 85%;

color: #808080;

}

.customered {

width: 100%;

padding-bottom: 5%;

display: flex;

align-items: center;

justify-content: center;

}

.bright789_view_hide {

display: none;

}

.bright789_view_show {

display: block;

}

.customered1 {

border: 1px solid #EDEDEE;

width: 85%;

}

.customered_title {

color: #808080;

margin: 3% 0 0;

}

.customered_content{

word-break: break-all;

padding-left:2%;

margin:0;

}

.pop2{

background-color: white;

width:100%;

padding-top:2%;

height:8%;

margin-bottom:2%;

}

.pop2_title{

margin-left:5%;

}

.pop2_input{

margin-left:7%;

}

.pop3{

background-color: white;

width:100%;

padding-top:2%;

height:8%;

margin-bottom:2%;

}

.pop3_title{

margin-left:7%;

}

.pop3_input{

margin-left:7%;

}

.pop4{

background-color: white;

width:100%;

height:20%;

margin-bottom:2%;

}

.pop4_title{

margin-left:7%;padding-top:2%;padding-bottom:2%;}

.pop4_checkbox{margin-left:7%;color:#808080;width:90%;} /*点击事件执行样式变化*/ /*激活时改变背景颜色*/ /*未选中时的样式*/ /*选中时的样式*/ /*点击事件执行样式变化*/ /*未激活时改变背景颜色*/ /*活动时的样式*/ /*输入框的样式*/ /*按钮的样式*/ /*底部弹出框的样式 */

JavaScript(简称JS)是一种轻量级、解释型或即时编译型的编程语言,常用于Web网页开发。它是一种基于原型、多范式的动态脚本语言,主要特性包括:

1. 动态性质:JavaScript可以在运行时改变自身代码的行为。

2. 面向对象:JavaScript支持面向对象的编程方式,可以使用类和对象来组织和管理代码。

3. 事件驱动:JavaScript可以响应用户的操作和交互事件,如点击、滚动等。

4. 浏览器兼容性:JavaScript可以在不同的浏览器和操作系统上运行,但需要注意不同版本之间的差异。

5. 大量的库和框架:JavaScript拥有丰富的库和框架资源,如jQuery、React、Angular等,可以帮助开发者更快速高效地进行Web应用开发。

6. 网络通信能力:JavaScript可以通过XMLHttpRequest和Fetch API与其他Web服务器进行数据交换和通信。

7. 跨平台开发:通过使用Node.js,JavaScript也可以用于后端服务器开发,实现跨平台运行。

8. 异步处理:JavaScript支持异步编程方式,可以避免阻塞主线程,提高应用程序的性能和响应速度。

9. 安全性:由于JavaScript是一种客户端脚本语言,因此需要特别注意安全性问题,如防止跨站脚本攻击(XSS)和跨站请求伪造(CSRF)等。

10. 可扩展性和可维护性:通过模块化的设计和合理的命名规范,JavaScript具有良好的可扩展性和可维护性。

总之,JavaScript是一门功能强大且广泛应用的编程语言,对于Web前端开发来说具有不可替代的重要性。

const app = getApp()Page({

data: {

index6: 0, //选择的下拉列

seleNull6: null, //设置的变量

contactremarks: '''', //客户选择页面传来的值

valid: '', //客户选择页面传来的值

showView: false, //是否显示新增联系人页面

selectDatas6: ['', '是', '否'], //从前端获取下拉列表的值

customerinfo: '', //客户信息

checkedList: [], //职位复选框选中的值

},

handleItemChange(e) {

const checkedList = e.detail.value;

this.setData({

checkedList,

})

},

bindPickerChange6(e) {

console.log('picker发送选择改变,携带下标为', e.detail.value);

console.log('picker发送选择改变,携带值为' + this.data.selectDatas6[e.detail.value]);

this.setData({

seleNull6: '0',

index6: e.detail.value,

})

},

customerselect() {

wx.navigateTo({

url: '/pages/customerselect/customerselect',

})

},

addcontent_submit(e) {

e.preventDefault();

const customer_id = this.data.valid.customer_id; //客户ID

const customer_code = this.data.valid.customer_code; //客户编码

const contactname = e.detail.value.contactname; //联系人姓名

const contactphone = e.detail.value.contactphone; //联系人电话

const checkedList = this.data.checkedList; //职位复选框选中的值

const policymaker = this.data.selectDatas6[e.detail.value.policymaker]; //决策人

const contactemail = e.detail.value.contactemail; //邮箱

const contactremarks = e.detail.value.contactremarks; //备注

wx.showToast({

title: '请选择客户',

})

wx.showModal({

title: '提示',

content: '请先选择客户再进行添加操作!',

})

wx.hideToast();

wx.showModal({

title: '提示',

content: '请输入正确的客户编码!',

})

wx.hideToast();

wx.showModal({

title: '提示',

content: '请输入正确的联系人姓名!',

})

wx.hideToast();

wx.showModal({

title: '提示',

content: '请输入正确的联系人电话!',

})

wx.hideToast();

wx.showModal({

title: '提示',

content: '请输入正确的职位!',

})

wx.hideToast();

wx.showModal({

title: '提示',

content: '请输入正确的邮箱!',

})

wx.hideToast();

wx.showModal({

title: '提示',

content: '请输入正确的备注!',

})

wx.hideToast();

wx.showModal({

title: '提示',

content: '请选择有效的客户!',

})

wx.hideToast();

wx.showModal({

title: '提示',

content: '请选择有效的职位!',

})

wx.hideToast();

wx.showModal({

title: '提示',

content: '请选择有效的邮箱!',

})

wx.hideToast();

wx.showModal({

title: '提示',职位相关信息有误!请联系管理员!',//修改为弹窗提示方式。如果需要跳转到其他页面可自行修改。如:`wx.navigateTo({ url: '/pages/error/error?msg=' + JSON.stringify(e) });`//跳转到错误页面。```javascript//在app中定义一个方法用于跳转到错误页面function navigateToError(){ var pages = getCurrentPages(); var errorPage = pages[pages.length-1].route; if (errorPage === '/pages/error/error') return; else if (errorPage === '/pages/login/login'){//如果是登录页则返回首页var pages = getCurrentPages(); var homePage = pages[pages.length-1].route; if (homePage === '/pages/index/index') return; else if (homePage === '/pages/mine/mine') return; else if (homePage === '/pages/customer/customer') return; else if (homePage === '/pages/order/order') return; else if (homePage === '/pages/product/product') return; else if (homePage === '/pages/supplier/supplier') return; else if (homePage === '/pages/salesrecord/salesrecord') return; else if (homePage === '/pages/report/report') return; else if (homePage === '/pages/setting/setting') return; else if (homePage === '/pages/aboutus/aboutus') return; else if (homePage === '/pages/feedback/feedback') return; else if (homePage === '/pages/usercenter/usercenter') return; else if (homePage === '/pages/business/business') return; else if (homePage === '/pages/category/category') return; else if (homePage === '/pages/cart/cart') return; else if (homePage === '/pages/checkout/checkout') return; else if (homePage === '/pages/invoice/invoice') return; else if (homePage === '/pages/payment/payment') return; else if (homePage === '/pages/membercard/membercard') return; else if (homePage === '/pages/memberlevel/memberlevel') return; else if (homePage === '/pages/pointsale/pointsale') return; else if (homePage === '/pages/voucher/voucher') return; else if (homePage === '/pages/afterservice/afterservice') return; else if (homePage === '/pages/returnorder/returnorder') return; else if (homePage === '/pages/secapipay/secapipay') return; else if (homePage === '/pages/wechatpay/wechatpay') return; else if (homePage === '/pages/alipaypaymobile/alipaypaymobile') return}else if (errorPage === '/pages/mine/mine'){//如果是我的页面则返回上一级页面var pages = getCurrentPages(); var minePage = pages[pages.length-1].route; if (minePage === '/pages/mine/mine') return; else if (minePage === '/pages/order/order') return; else if (minePage === '/pages/product/product') return; else if (minePage === '/pages/supplier/supplier') return{ title: '错误', content: `您当前处于${errorPage}页面`, success: function() {}, onShow() {}});}else if{(errorPage==='')){}else{//其他情况则返回首页var pages = getCurrentPages(); var homePage = pages[pages.length-1].route; if (homePage === '/pages/index/index') return; else if (homePage === '/pages/mine/mine') return; else if (homePage === '/pages/customer/customer') return{ title: '错误', content: `您当前处于${errorPage}页面`, success: function() {}, onShow() {}});}}navigateToError();//在app中定义一个方法用于跳转到错误页面function navigateToError(){ var pages = getCurrentPages(); var errorPage = pages[pages.length-1].route; if (errorPage === '/pages/error/error') return; else if (errorPage === '/pages/login/login'){//如果是登录页则返回首页var pages = getCurrentPages(); var homePage = pages[pages.length-1].route; if (homePage === '/pages/index/index') return; else if (homePage === '/pages/mine/mine') return; else if (homePage === '/pages职位相关信息有误!请联系管理员!'+JSON

ThinkPHP(后端)是一种基于 PHP 语言开发的 Web 应用程序框架,它提供了丰富的功能和工具来简化开发流程。下面是关于 ThinkPHP 的一些特点和优势:

1. **强大的 MVC 架构**:ThinkPHP 采用模块化的设计思路,将应用程序分为多个模块,每个模块负责处理特定的功能。这种 MVC 架构使得代码更加清晰、易于维护,同时也提高了开发效率。

2. **灵活的数据库支持**:ThinkPHP 支持多种数据库系统,包括 MySQL、SQLite、PostgreSQL 等。你可以根据自己的需求选择合适的数据库类型,并通过简单的配置进行集成。此外,ThinkPHP 还提供了方便的查询构建器和数据操作方法,使你能够轻松地与数据库进行交互。

3. **安全可靠的防护机制**:ThinkPHP 内置了一套安全防护机制,包括输入验证、防止 SQL 注入、跨站脚本攻击(XSS)等。这可以有效地保护应用程序免受恶意攻击,提高系统的安全性。

4. **丰富的插件生态系统**:ThinkPHP 拥有一个活跃的开发社区,提供了大量的插件和扩展库。这些插件可以增强应用程序的功能,例如身份验证、缓存管理、消息队列等。通过适当的插件选择和配置,你可以快速搭建出满足自己需求的应用程序。

5. **易于上手的学习曲线**:由于 ThinkPHP 采用简洁明了的代码结构和友好的文档支持,初学者可以很快地上手使用。同时,它的社区资源丰富,你可以很容易找到相关的教程和示例代码,进一步加深对框架的理解。

综上所述,ThinkPHP 作为一款优秀的后端框架,具有强大的功能和灵活性,适用于各种规模的项目开发。无论是小型个人项目还是大型企业级应用,都可以通过 ThinkPHP 实现高效的开发和管理。

以下是重构后的代码:

```php

// 新增联系人

public function addContact()

{

$time = time(); // 获取当前时间戳

$customerCode = input('post.customer_code'); // 客户代号

$contactName = input('post.contactname'); // 姓名

$contactPhone = input('post.contactphone'); // 电话

$checkedList = input('post.checkedList'); // 职位

$policyMaker = input('post.policymaker'); // 决策人

$contactEmail = input('post.contactemail'); // 邮箱

$contactRemarks = input('post.contactremarks'); // 备注

$username = input('post.username'); // 负责人

$businessCode = DB::table('fa_crm_user')->where(['username' => $username])->value('business_code');

$data = [

'customer_code' => $customerCode,

'contacts_name' => $contactName,

'contacts_phone' => $contactPhone,

'contacts_position' => $checkedList,

'key_decision_makers' => $policyMaker,

'contacts_email' => $contactEmail,

'contacts_remark' => $contactRemarks,

'customer_principal' => $businessCode,

'creation_date' => $time,

'enable_flag' => 'Y'

];

db::table('customer_contact_xcx')->insert($data); // 新增联系人

// 获取联系人数据库中的id

$maxId = DB::table('customer_contact_xcx')->max('id');

// 向客户动态添加数据

$data2 = [

'customer_code' => $customerCode,

'operation' => '新增联系人',

'details_id' => $maxId,

'creation_date' => $time,

'customer_principal' => $businessCode,

];

db::table('schedule_flow')->insert($data2);

}

// 查询所有职务

public function customJobSelect()

{

$customerJob = DB::table('customer_job')->select();

echo json_encode($customerJob);

}

```

您好,根据您的描述,您想要实现在表格中点击单元格信息时,获取该行的某个id。同时,您还想要实现点击报价单号跳转到详情页。对于第一个问题,您可以在修改按钮上设置onclick="edit (this)",然后在edit函数中获取val。对于第二个问题,您可以在wxml文件中使用navigator组件来实现跳转页面的功能。

cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize cell capitalize合成合成.__合成.__合成.__合成.__合成.__合成.__合成.__合成.__合成.__合成.__合成.__合成.__合成.__合成.__合成.__合成.__合成.__合成.__合成.__合成.__合成.__无数啊啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊无数啊isson暨暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨issonisson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson暨isson服务的法服务的法服务的法法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的法服务的的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满的兴趣满满您非常您非常您非常您非常每有关每有关您好有关位居有关位居有关位居位居毕业于位居毕业于位居毕业于位居毕业于位居毕业于位居毕业于位居毕业于位居毕业于 Porter毕业于 Porter毕业于 Porter毕业于 Porter毕业于 Porter毕业于 Porter毕业于 Porter毕业于 Porter毕业于 Porter一直以来 Porter一直以来 Porter一直以来 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为 Porter作为作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘作为描绘描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘排行描绘描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品描绘新品新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品考虑新品

在新页面中,你可以通过`options`对象获取传递的参数。例如,如果你想要获取名为`pricelist_id`的参数,你可以这样做:

```javascript

// 进入页面

onLoad: async function (options) {

var pages = getCurrentPages() // 获取加载的页面

var currentPage = pages[pages.length - 1] // 获取当前页面的对象

var options = currentPage.options // 如果要获取url中所带的参数可以查看options

var pricelist_id = options.pricelist_id; // 控制台输出页面参数

}

```

```javascriptfollow_up(e) {

wx.navigateTo({

url: `/pages/new_followrecord/new_followrecord?customer_code=${e.currentTarget.dataset.id}&issent=1&nowDate=${this.data.nowDate}`,

})

},

```