123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729 |
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- allowNext:false,
- searchValue:'',
- searchDValue:'',
- searchBValue:'',
- searchRValue:'',
- searchNValue:'',
- searchTValue:"",
- searchTList:[],
- searchNList:[],
- searchRList:[],
- searchBList:[],
- searchDList:[],
- searchList:[],
- sureRollFilmList:[],
- show:false,
- d_show:false,
- b_show:false,
- r_show:false,
- n_show:false,
- t_show:false,
- showCamera:false,
- chooseList:[
- {code:'',title:'',number:'',roll_film_combine_id:'',detail:[]}
- ],
- productList:[],
- sureProductList:[],
- showImg:false,
- carDepartList:[],
- basicRollFilmList:[],
- rollFilmList:[],
- chooseIndex:'',
- chooseItemIndex:'',
- set_status:'',
- special_type:false
- },
- handleCancel(){
- this.setData({
- show:false
- })
- },
- handleCancelN(){
- this.setData({
- n_show:false
- })
- },
- handleCancelD(){
- this.setData({
- d_show:false
- })
- },
- handleCancelB(){
- this.setData({
- b_show:false
- })
- },
- handleCancelR(){
- this.setData({
- r_show:false
- })
- },
- handleCancelT(){
- this.setData({
- t_show:false
- })
- },
- onSearch(event){
- let arr = this.data.sureProductList.filter(v=>v.code.indexOf(event.detail)!=-1);
- this.setData({
- searchList:arr
- })
- },
- onSearchT(event){
- let arr = this.data.sureProductList.filter(v=>v.title.indexOf(event.detail)!=-1);
- this.setData({
- searchTList:arr
- })
- },
- onSearchD(event){
- let arr = this.data.carDepartList.filter(v=>v.title.indexOf(event.detail)!=-1);
- this.setData({
- searchDList:arr
- })
- },
- onSearchB(event){
- let arr = this.data.basicRollFilmList.filter(v=>v.title.indexOf(event.detail)!=-1);
- this.setData({
- searchBList:arr
- })
- },
- onSearchR(event){
- let arr = this.data.sureRollFilmList.filter(v=>v.title.indexOf(event.detail)!=-1);
- this.setData({
- searchRList:arr
- })
- },
- onSearchN(event){
- let roll_film_id = this.data.chooseList[this.data.chooseIndex].detail[this.data.chooseItemIndex].roll_film_id;
- let list = this.data.rollFilmList.find(v=>v.id == roll_film_id).roll_film_number_arr;
- let arr = list.filter(v=>v.roll_film_number.indexOf(event.detail)!=-1);
- this.setData({
- searchNList:arr
- })
- },
- onChoose(data){
- let id = this.data.chooseList.map(v=>v.id);
- let arr = this.data.productList.filter(v=>id.indexOf(v.id)==-1);
- this.setData({
- show:true,
- searchList:arr,
- sureProductList:JSON.parse(JSON.stringify(arr)),
- chooseIndex:data.target.dataset.index
- })
- },
- onChooseT(data){
- let id = this.data.chooseList.map(v=>v.id);
- let arr = this.data.productList.filter(v=>id.indexOf(v.id)==-1);
- this.setData({
- t_show:true,
- searchTList:arr,
- sureProductList:JSON.parse(JSON.stringify(arr)),
- chooseIndex:data.target.dataset.index
- })
- },
- takePhoto() {
- const ctx = wx.createCameraContext()
- ctx.takePhoto({
- quality: 'high',
- success: (res) => {
- this.upRecord(res.tempImagePath);
- }
- })
- },
- upRecord(video){
- var that =this;
- let app = getApp();
- let openid = app.globalData.openID;
- let formData = {
- openid
- };
- wx.uploadFile({
- url: `${app.globalData.url}wx/uploadConstructionFile`,//这是你自己后台的连接
- filePath: video,
- name:"file",//后台要绑定的名称
- header: {
- "Content-Type": "multipart/form-data"
- },
- //参数绑定
- formData: formData,// HTTP 请求中其他额外的 form data
- success:function(ress){
- wx.showToast({
- title: '上传成功',
- })
- let src = JSON.parse(ress.data).data.url;
- that.data.chooseList[that.data.chooseIndex].detail[that.data.chooseItemIndex].src = `${app.globalData.url}${src}`;
- if(that.data.set_status){
- that.data.chooseList[that.data.chooseIndex].detail[that.data.chooseItemIndex].show_url = `${app.globalData.url}${src}`;
- }
- that.setData({
- chooseList:that.data.chooseList,
- showCamera:false
- })
- },
- fail: function(ress){
- wx.showToast({
- title: '上传失败',
- })
- that.setData({
- showCamera:false
- })
- }
- })
- },
- scanBarcode(data) {
- var that = this;
- var index = data.target.dataset.index;
- var itemindex = data.target.dataset.itemindex;
- var app = getApp();
- var openid = app.globalData.openID;
- var storehouse_id = app.globalData.storehouse_id;
- wx.scanCode({
- success: function(res) {
- let arr = that.data.chooseList;
- wx.p.request({
- url: `${app.globalData.url}wx/getFilmByNumber`,
- method:'POST',
- data:{
- openid,
- roll_film_number:res.result,
- storehouse_id
- }
- }).then(req=>{
- if(req.data.code==200){
- arr[index].detail[itemindex].basic_roll_film_id = req.data.data.b_r_f_id;
- arr[index].detail[itemindex].basic_roll_film_name = req.data.data.b_r_f_name;
- arr[index].detail[itemindex].roll_film_id = req.data.data.id;
- arr[index].detail[itemindex].roll_film_name = req.data.data.title;
- arr[index].detail[itemindex].roll_film_number = res.result;//条形码信息
- that.setData({
- chooseList:arr,
- })
- }else{
- wx.showToast({
- title: req.data.msg,
- })
- }
- })
- },
- fail: function(res) {}
- })
- },
- handleOpenCamera(data){
- console.log(data);
- if(this.data.chooseList[data.currentTarget.dataset.index].detail[data.currentTarget.dataset.itemindex].src){
- wx.previewImage({
- urls:[this.data.chooseList[data.currentTarget.dataset.index].detail[data.currentTarget.dataset.itemindex].src]
- })
- return
- }
- if(this.data.set_status=='is_detail'){
- return
- }
- this.setData({
- showCamera:true,
- chooseIndex:data.currentTarget.dataset.index,
- chooseItemIndex:data.currentTarget.dataset.itemindex
- })
- },
- handleNext(){
- let app = getApp();
- let arr = this.data.chooseList;
- let imgSrc = [];
- arr.forEach(v=>{
- v.detail.forEach(c=>{
- imgSrc.push(c.src)
- })
- })
- app.globalData.img = app.globalData.img.filter(v=>v.type!=3);
- app.globalData.img.push({
- type:'3',
- src:imgSrc.toString()
- })
- app.globalData.chooseList = arr;
- if(this.data.set_status){
- wx.redirectTo({
- url: '../sixth/sixth',
- })
- }else{
- let openid = app.globalData.openID;
- app.globalData.stepData = app.globalData.stepData.filter(v=>v.sort!=6);
- app.globalData.stepData.push({
- sort:6,
- data:{
- chooseList:this.data.chooseList,
- }
- })
- wx.p.request({
- url: `${app.globalData.url}wx/saveWxConstructionData`,
- method:'POST',
- data:{
- type:1,
- openid,
- data:JSON.stringify(app.globalData)
- }
- }).then(res=>{
- if(res.data.code==200){
- wx.redirectTo({
- url: '../sixth/sixth',
- })
- }
- })
- }
- },
- handleChooseD(item){
- let data = item.target.dataset.item;
- let arr = this.data.chooseList;
- arr[this.data.chooseIndex].detail[this.data.chooseItemIndex].car_depart_id = data.id;
- arr[this.data.chooseIndex].detail[this.data.chooseItemIndex].car_depart_name = data.title;
- arr[this.data.chooseIndex].detail[this.data.chooseItemIndex].expend_meters = data.expend_meters;
- this.setData({
- chooseList:arr,
- d_show:false
- })
- },
- handleChooseB(item){
- let data = item.target.dataset.item;
- let arr = this.data.chooseList;
- arr[this.data.chooseIndex].detail[this.data.chooseItemIndex].basic_roll_film_id = data.id;
- arr[this.data.chooseIndex].detail[this.data.chooseItemIndex].basic_roll_film_name = data.title;
- arr[this.data.chooseIndex].detail[this.data.chooseItemIndex].roll_film_id = '';
- arr[this.data.chooseIndex].detail[this.data.chooseItemIndex].roll_film_name = '';
- this.setData({
- chooseList:arr,
- b_show:false
- })
- },
- handleChooseR(item){
- let data = item.target.dataset.item;
- let arr = this.data.chooseList;
- arr[this.data.chooseIndex].detail[this.data.chooseItemIndex].basic_roll_film_id = data.b_r_f_id;
- arr[this.data.chooseIndex].detail[this.data.chooseItemIndex].basic_roll_film_name = data.b_r_f_name;
- arr[this.data.chooseIndex].detail[this.data.chooseItemIndex].roll_film_id = data.id;
- arr[this.data.chooseIndex].detail[this.data.chooseItemIndex].roll_film_name = data.title;
- arr[this.data.chooseIndex].detail[this.data.chooseItemIndex].warranty_year = data.warranty_year;
- this.setData({
- chooseList:arr,
- r_show:false
- })
- },
- handleChooseN(item){
- let data = item.target.dataset.item;
- let arr = this.data.chooseList;
- arr[this.data.chooseIndex].detail[this.data.chooseItemIndex].roll_film_number = data.roll_film_number;
- this.setData({
- chooseList:arr,
- n_show:false
- })
- },
- handleChoose(item){
- let app = getApp();
- let openid=app.globalData.openID;
- let data = this.data.chooseList;
- data[this.data.chooseIndex].title = item.target.dataset.item.title;
- data[this.data.chooseIndex].code = item.target.dataset.item.code;
- data[this.data.chooseIndex].number='';
- data[this.data.chooseIndex].roll_film_combine_id=item.target.dataset.item.id;;
- wx.p.request({
- url: `${app.globalData.url}wx/carDepartCombineDetail`,
- method:'POST',
- data:{
- openid,
- id:item.target.dataset.item.c_d_c_id
- }
- }).then(res=>{
- if(res.data.code==200){
- let sub = [];
- if(app.globalData.is_big){
- sub =JSON.parse(JSON.stringify(this.data.carDepartList.filter(c=>res.data.data.car_depart_sub_big.indexOf(c.id)!=-1)));
- }else{
- sub =JSON.parse(JSON.stringify(this.data.carDepartList.filter(c=>res.data.data.car_depart_sub.indexOf(c.id)!=-1)));
- }
- console.log(item.target.dataset.item.roll_film_id,this.data.rollFilmList)
- if(!this.data.rollFilmList.find(c=>c.id==item.target.dataset.item.roll_film_id)){
- return wx.showToast({
- icon:'none',
- title: '套餐中的对应卷膜的未找到!',
- })
- }
- sub.forEach(b=>{
- b.car_depart_id = b.id,
- b.car_depart_name = b.title,
- b.basic_roll_film_id=item.target.dataset.item.basic_roll_film_id,
- b.basic_roll_film_name=item.target.dataset.item.roll_film_type,
- b.roll_film_id=item.target.dataset.item.roll_film_id,
- b.warranty_year = this.data.rollFilmList.find(c=>c.id==b.roll_film_id).warranty_year
- b.roll_film_name=item.target.dataset.item.roll_film_name,
- b.roll_film_number='',
- b.src=''
- if(app.globalData.is_big){
- b.expend_meters= res.data.data.car_depart_meters_big.find(x => x.car_depart_id == b.id).car_depart_meter&&res.data.data.car_depart_meters_big.find(x => x.car_depart_id == b.id).car_depart_meter!=0 ? res.data.data.car_depart_meters_big.find(x => x.car_depart_id == b.id).car_depart_meter : b.expend_meters;
- }else{
- b.expend_meters= res.data.data.car_depart_meters.find(x => x.car_depart_id == b.id).car_depart_meter&& res.data.data.car_depart_meters.find(x => x.car_depart_id == b.id).car_depart_meter!=0 ? res.data.data.car_depart_meters.find(x => x.car_depart_id == b.id).car_depart_meter : b.expend_meters;
- }
- })
- data[this.data.chooseIndex].detail = sub;
- this.setData({
- chooseList:data,
- show:false,
- t_show:false
- })
- }
- })
- },
- onChooseRollFilm(data){
- let b_r_f_id = data.target.dataset.item.basic_roll_film_id;
- let list = [];
- if(b_r_f_id){
- list = this.data.rollFilmList.filter(v=>v.b_r_f_id==b_r_f_id);
- }else{
- list = JSON.parse(JSON.stringify(this.data.rollFilmList));
- }
- this.setData({
- chooseIndex:data.target.dataset.index,
- chooseItemIndex:data.target.dataset.itemindex,
- r_show:true,
- searchRValue:'',
- searchRList:list,
- sureRollFilmList:list
- })
- },
- onChooseBasicFilm(data){
- this.setData({
- chooseIndex:data.target.dataset.index,
- chooseItemIndex:data.target.dataset.itemindex,
- b_show:true,
- searchBValue:'',
- searchBList:this.data.basicRollFilmList
- })
- },
- onChooseNumber(data){
- let roll_film_id = data.target.dataset.item.roll_film_id;
- if(roll_film_id){
- let list = this.data.rollFilmList.find(v=>v.id==roll_film_id).roll_film_number_arr;
- this.setData({
- chooseIndex:data.target.dataset.index,
- chooseItemIndex:data.target.dataset.itemindex,
- n_show:true,
- searchNValue:'',
- searchNList:list
- })
- }else{
- wx.showToast({
- icon:'error',
- title: '先选择卷膜型号',
- })
- }
- },
- onChooseCarDepart(data){
- this.setData({
- chooseIndex:data.target.dataset.index,
- chooseItemIndex:data.target.dataset.itemindex,
- d_show:true,
- searchDValue:'',
- searchDList:this.data.carDepartList
- })
- },
- handleAddItem(data){
- let index = data.target.dataset.index;
- let itemIndex = data.target.dataset.itemindex;
- let arr = this.data.chooseList;
- arr[index].detail.splice(itemIndex+1,0,{
- car_depart_id:'',
- car_depart_name:'',
- basic_roll_film_id:'',
- basic_roll_film_name:'',
- roll_film_id:'',
- roll_film_name:'',
- roll_film_number:'',
- src:'',
- expend_meters:''
- })
- this.setData({
- chooseList:arr
- })
- },
- handleDeleteItem(data){
- let index = data.target.dataset.index;
- let itemIndex = data.target.dataset.itemindex;
- let arr = this.data.chooseList;
- arr[index].detail.splice(itemIndex,1)
- if(arr[index].detail.length==0){
- arr = [{code:'',title:'',roll_film_combine_id:'',number:'',detail:[]}]
- }
- this.setData({
- chooseList:arr
- })
- },
- handleAdd(data){
- let arr = this.data.chooseList;
- arr.splice(data.target.dataset.index+1,0,{code:'',roll_film_combine_id:"",number:'',detail:[],title:''});
- this.setData({
- chooseList:arr
- })
- },
- handleDelete(data){
- let arr = this.data.chooseList;
- if(arr.length==1){
- arr = [{code:'',number:'',roll_film_combine_id:"",detail:[],title:''}]
- }else{
- arr.splice(data.target.dataset.index,1);
- }
- this.setData({
- chooseList:arr
- })
- },
- handleChangeNumber(data){
- let arr = this.data.chooseList;
- arr[data.target.dataset.index].number = data.detail;
- this.setData({
- chooseList:arr
- })
- },
- handleDelPic(e){
- let arr = this.data.chooseList;
- arr[e.currentTarget.dataset.index].detail[e.currentTarget.dataset.itemindex].src='';
- if(this.data.set_status){
- arr[e.currentTarget.dataset.index].detail[e.currentTarget.dataset.itemindex].show_url='';
- }
- this.setData({
- chooseList: arr
- })
- },
- handleReturn(){
- let app = getApp();
- let openid = app.globalData.openID;
- if(this.data.set_status){
- wx.redirectTo({
- url: '../fourth/fourth',
- })
- }else{
- app.globalData.stepData.forEach((v,index)=>{
- if(v.sort === 6){
- app.globalData.stepData.splice(index,1);
- }
- })
- wx.p.request({
- url: `${app.globalData.url}wx/saveWxConstructionData`,
- method:'POST',
- data:{
- openid,
- type:1,
- data:JSON.stringify(app.globalData)
- }
- }).then(res=>{
- if(res.data.code==200){
- wx.redirectTo({
- url: '../fourth/fourth',
- })
- }
- })
- }
- },
- getArr(arr){
- let data = [];
- arr.forEach(v=>{
- if(v.children.length==0){
- data.push(v);
- }else{
- data = [...data,...this.getArr(v.children)]
- }
- })
- return data;
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad(option) {
- let app = getApp();
- let openid = app.globalData.openID;
- //获取套餐列表 productList
- wx.p.request({
- url: `${app.globalData.url}wx/rollFilmCombineList`,
- method:'POST',
- data:{
- openid,
- roll_film_id:1,
- use:1
- }
- }).then(res=>{
- if(res.data.code==200){
- res.data.data.data.forEach(ele => {
- ele.is_choose = false;
- });
- this.setData({
- productList:res.data.data.data.filter(v=>(v.company_id==app.globalData.company_id)&&(app.globalData.choose_b_r_f_id.indexOf(v.basic_roll_film_id)!=-1))
- })
- }
- })
- //获取施工部位
- wx.p.request({
- url: `${app.globalData.url}wx/carDepartList`,
- method:'POST',
- data:{
- openid
- }
- }).then(res=>{
- if(res.data.code==200){
- this.setData({
- carDepartList:res.data.data.data
- })
- }
- })
- //获取卷膜分类
- wx.p.request({
- url: `${app.globalData.url}wx/basicRollFilmList`,
- method:'POST',
- data:{
- openid
- }
- }).then(res=>{
- if(res.data.code==200){
- this.setData({
- basicRollFilmList:this.getArr(res.data.data)
- })
- }
- })
- let storehouse_id = app.globalData.storehouse_id;
- let company_id = app.globalData.company_id;
- let img_type = app.globalData.img_type||'';
- let data = {}
- if(app.globalData.set_status){
- data.order_number = app.globalData.detailData.order_number
- }
- //获取卷膜型号
- wx.p.request({
- url: `${app.globalData.url}wx/rollFilmList`,
- method:'POST',
- data:{
- use:1,
- openid,
- storehouse_id,
- company_id,
- ...data
- }
- }).then(res=>{
- if(res.data.code==200){
- this.setData({
- rollFilmList:res.data.data.data
- })
-
- }
- })
- //如果选择的产品选择了卷膜图片的showImg为true,卷膜的图片类型是3
- if(img_type.indexOf('3')!=-1){
- this.setData({
- showImg:true
- })
- }
- if(app.globalData.set_status){
- let sub = app.globalData.detailData.sub;
- let index = 0
- sub.forEach((v)=>{
- v.detail.forEach((o)=>{
- o.basic_roll_film_name = o.b_r_f_name;
- o.roll_film_name = o.title;
- o.expend_meters = o.meter;
- if(app.globalData.detailData.img.find(d=>d.type==3)){
- let src = app.globalData.detailData.img.find(d=>d.type==3).src.split(',')
- let show_url = app.globalData.detailData.img.find(d=>d.type==3).show_url.split(',')
- o.src = src[index]?`${app.globalData.url}${src[index]}`:'';
- o.show_url = show_url[index]?show_url[index]:''
- }else{
- o.src='';
- o.show_url= '';
- }
- index++;
- })
- })
- this.setData({
- chooseList:sub,
- set_status:app.globalData.set_status,
- special_type:app.globalData.bussiness_special_type
- })
- }else{
- wx.p.request({
- url: `${app.globalData.url}wx/getWxConstructionData`,
- method:'POST',
- data:{
- type:1,
- openid
- }
- }).then(res=>{
- if(res.data.code==200){
- if(res.data.data.data){
- let data = JSON.parse(res.data.data.data);
- let box = data.stepData.find(v=>v.sort==6);
- app.globalData = data;
- app.globalData.set_status = '';
- if(box){
- this.setData({
- chooseList:box.data.chooseList,
- set_status:'',
- special_type:data.bussiness_special_type
- })
- }else{
- this.setData({
- set_status:'',
- special_type:data.bussiness_special_type
- })
- }
- }
- }
- })
- }
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady() {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow() {
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide() {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload() {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh() {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom() {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage() {
- }
- })
|