|  |  | 
 |  |  | <template> | 
 |  |  |    <view> | 
 |  |  |       <view class="container"> | 
 |  |  |          <uni-forms ref="baseForm" :modelValue="baseFormData"> | 
 |  |  |             <uni-forms-item label="售前规划单名称" required name="name"> | 
 |  |  |                <uni-easyinput v-model="baseFormData.name" placeholder="请输入售前规划单名称" /> | 
 |  |  |             </uni-forms-item> | 
 |  |  |             <uni-forms-item label="跟踪项目" required name="orderId" > | 
 |  |  |                <view @click="autoLoad('order','')"> | 
 |  |  |                   <uni-combox :candidates="orderIds" placeholder="请选择跟踪项目" | 
 |  |  |                   v-model="baseFormData.orderId$" @input="autoLoad('order',baseFormData.orderId$)"></uni-combox> | 
 |  |  |                </view> | 
 |  |  |             </uni-forms-item> | 
 |  |  |             <uni-forms-item label="客户名称" required name="cstmrId"> | 
 |  |  |                <view @click="autoLoad('cstmr','')"> | 
 |  |  |                   <uni-combox :candidates="cstmrs" placeholder="请选择客户名称" | 
 |  |  |                   v-model="baseFormData.cstmrId$" @input="autoLoad('cstmr',baseFormData.cstmrId$)"></uni-combox> | 
 |  |  |                </view> | 
 |  |  |             </uni-forms-item> | 
 |  |  |             <uni-forms-item label="业务员联系方式" required name="userXmlSelPhone"> | 
 |  |  |                <uni-easyinput v-model="baseFormData.userXmlSelPhone" placeholder="请输入业务员联系方式" /> | 
 |  |  |             </uni-forms-item> | 
 |  |  |             <uni-forms-item label="业务类型" required name="planType"> | 
 |  |  |                <uni-easyinput disabled placeholder="请输入业务类型" v-model="baseFormData.planType"></uni-easyinput> | 
 |  |  |             </uni-forms-item> | 
 |  |  |             <uni-forms-item label="立项"  name="beItem"> | 
 |  |  |                <uni-data-checkbox v-model="baseFormData.beItem" :localdata="beItem$" /> | 
 |  |  |             </uni-forms-item> | 
 |  |  | 				 | 
 |  |  |             <uni-forms-item label="所需" name="planNeed"> | 
 |  |  |                <uni-data-checkbox v-model="baseFormData.planNeed" multiple :localdata="planNeeds" /> | 
 |  |  |             </uni-forms-item> | 
 |  |  | 				 | 
 |  |  | 				 | 
 |  |  | 				 | 
 |  |  | 				 | 
 |  |  |             <uni-forms-item label="更改方案" name="change"> | 
 |  |  |                <uni-data-checkbox v-model="baseFormData.change" :localdata="changeValue" /> | 
 |  |  |             </uni-forms-item> | 
 |  |  |             <uni-forms-item label="更改方案原因" name="changeReason"> | 
 |  |  |                <uni-easyinput v-model="baseFormData.changeReason" placeholder="请输入更改方案原因" /> | 
 |  |  |             </uni-forms-item> | 
 |  |  |             <uni-forms-item label="规格组长奖金" name="planLeaderBonus"> | 
 |  |  |                <uni-easyinput v-model="baseFormData.planLeaderBonus" placeholder="请输入规格组长奖金" /> | 
 |  |  |             </uni-forms-item> | 
 |  |  |             <uni-forms-item label="完成时间" name="finishTime"> | 
 |  |  |                <uni-datetime-picker type="date" return-type="string" v-model="baseFormData.finishTime"/> | 
 |  |  |                </uni-data-picker> | 
 |  |  |             </uni-forms-item> | 
 |  |  |             <uni-forms-item label="更改次数" name="changeTime"> | 
 |  |  |                <uni-easyinput v-model="baseFormData.changeTime" placeholder="请输入更改次数" /> | 
 |  |  |             </uni-forms-item> | 
 |  |  |             <uni-forms-item label="规格奖金" name="planBonus"> | 
 |  |  |                <uni-easyinput v-model="baseFormData.planBonus" placeholder="请输入规格奖金" /> | 
 |  |  |             </uni-forms-item> | 
 |  |  |          </uni-forms> | 
 |  |  |          <button type="primary" @click="addCstmr()">修改</button> | 
 |  |  |       </view> | 
 |  |  |    </view> | 
 |  |  | </template> | 
 |  |  |  | 
 |  |  | <script> | 
 |  |  |    import user from '@/pages/api/user/user.js' | 
 |  |  |    import test from '../../../static/js/citys-data.js' | 
 |  |  |    export default { | 
 |  |  |       data() { | 
 |  |  |          return { | 
 |  |  |             orderIds: [], | 
 |  |  |             orderList: [], | 
 |  |  |             users: [], | 
 |  |  |             userList: [], | 
 |  |  |             cstmrs: [], | 
 |  |  |             cstmrList: [], | 
 |  |  |             baseFormData: { | 
 |  |  |                name: '', | 
 |  |  |                orderId: '', | 
 |  |  |                userId: '', | 
 |  |  |                appleTime: '', | 
 |  |  |                cstmrId: '', | 
 |  |  |                planType: '四向穿梭库/两向穿梭库', | 
 |  |  |                select_2: '', | 
 |  |  |                changeReason: '', | 
 |  |  |                changeTime: '', | 
 |  |  |                planBonus: '', | 
 |  |  |                planLeaderBonus: '', | 
 |  |  |                userXmlSelPhone: '' | 
 |  |  |             }, | 
 |  |  |             rules: { | 
 |  |  |                name: { | 
 |  |  |                   rules: [{ | 
 |  |  |                      required: true, | 
 |  |  |                      errorMessage: '请输入售前规划单名称', | 
 |  |  |                   }] | 
 |  |  |                }, | 
 |  |  |                orderId: { | 
 |  |  |                   rules: [{ | 
 |  |  |                      required: true, | 
 |  |  |                      errorMessage: '请选择跟踪项目', | 
 |  |  |                   }] | 
 |  |  |                }, | 
 |  |  |                userId: { | 
 |  |  |                   rules: [{ | 
 |  |  |                      required: true, | 
 |  |  |                      errorMessage: '请选择业务员', | 
 |  |  |                   }] | 
 |  |  |                }, | 
 |  |  |                userXmlSelPhone: { | 
 |  |  |                   rules: [{ | 
 |  |  |                      required: true, | 
 |  |  |                      errorMessage: '请填写业务员联系方式', | 
 |  |  |                   }] | 
 |  |  |                }, | 
 |  |  |                appleTime: { | 
 |  |  |                   rules: [{ | 
 |  |  |                      required: true, | 
 |  |  |                      errorMessage: '请选择申请日期', | 
 |  |  |                   }] | 
 |  |  |                }, | 
 |  |  |                cstmrId: { | 
 |  |  |                   rules: [{ | 
 |  |  |                      required: true, | 
 |  |  |                      errorMessage: '请选择客户名称', | 
 |  |  |                   }] | 
 |  |  |                }, | 
 |  |  |                planType: { | 
 |  |  |                   rules: [{ | 
 |  |  |                      required: true, | 
 |  |  |                      errorMessage: '请输入业务类型', | 
 |  |  |                   }] | 
 |  |  |                }, | 
 |  |  |             }, | 
 |  |  |             changeValue: [ | 
 |  |  |                { | 
 |  |  |                   text: '是', | 
 |  |  |                   value: 1 | 
 |  |  |                }, | 
 |  |  |                { | 
 |  |  |                   text: '否', | 
 |  |  |                   value: 0 | 
 |  |  |                } | 
 |  |  |             ], | 
 |  |  |             // 单选数据源 | 
 |  |  |             beItem$: [{ | 
 |  |  |                text: '是', | 
 |  |  |                value: 1 | 
 |  |  |             }, { | 
 |  |  |                text: '否(需售前技术跟进项目,与客户直接沟通等)', | 
 |  |  |                value: 0 | 
 |  |  |             }], | 
 |  |  |             citysData: [], | 
 |  |  |             citysDataTemp: '', | 
 |  |  |             planNeeds: [ | 
 |  |  |                { | 
 |  |  |                   text: '系统 方案规划设计', | 
 |  |  |                   value: '1' | 
 |  |  |                },  | 
 |  |  |                { | 
 |  |  |                   text: '提供选材清单', | 
 |  |  |                   value: '2' | 
 |  |  |                }, | 
 |  |  |                { | 
 |  |  |                   text: '立体库设计方案', | 
 |  |  |                   value: '3' | 
 |  |  |                } | 
 |  |  |             ] | 
 |  |  | 				 | 
 |  |  |          } | 
 |  |  |       }, | 
 |  |  |       onReady() { | 
 |  |  |             // 需要在onReady中设置规则 | 
 |  |  |             this.$refs.baseForm.setRules(this.rules) | 
 |  |  |       }, | 
 |  |  |       onShow() { | 
 |  |  |          // 获取省市区 | 
 |  |  |          this.citysData = test.citysData | 
 |  |  |          // 获取业务员联系方式 | 
 |  |  |          this.getDetail() | 
 |  |  |       }, | 
 |  |  |       onLoad(option) { | 
 |  |  |          this.$nextTick(() => { | 
 |  |  |             if (JSON.stringify(option) != "{}") { | 
 |  |  |                this.id = option.id | 
 |  |  |                this.init() | 
 |  |  |             } else { | 
 |  |  |                let _this = this | 
 |  |  |                const eventChannel = this.getOpenerEventChannel(); | 
 |  |  |                eventChannel.on('cstmr', function(data) { | 
 |  |  |                   _this.id = data.data | 
 |  |  |                   _this.init() | 
 |  |  |                }) | 
 |  |  |             } | 
 |  |  |          }) | 
 |  |  |       }, | 
 |  |  |       methods: { | 
 |  |  |          init() { | 
 |  |  |             let that = this | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.baseUrl + '/plan/' + that.id +'/auth', | 
 |  |  |                header: {'token' : uni.getStorageSync('token')}, | 
 |  |  |                method: 'GET', | 
 |  |  |                success(res) { | 
 |  |  |                   res = res.data | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      let planNeed = res.data.planNeed.split('-') | 
 |  |  |                      res.data.planNeed = [] | 
 |  |  |                      for (let k of planNeed) { | 
 |  |  |                         res.data.planNeed.push(k) | 
 |  |  |                      } | 
 |  |  |                      switch(res.data.select_2) { | 
 |  |  |                         case 'value1': | 
 |  |  |                            res.data.select_2 = '横梁式' | 
 |  |  |                            break; | 
 |  |  |                         case 'value2': | 
 |  |  |                            res.data.select_2 = '驶入式' | 
 |  |  |                            break; | 
 |  |  |                         case 'value3': | 
 |  |  |                            res.data.select_2 = '悬梁式' | 
 |  |  |                            break; | 
 |  |  |                         case 'value4': | 
 |  |  |                            res.data.select_2 = '流利式' | 
 |  |  |                            break; | 
 |  |  |                         case 'value5': | 
 |  |  |                            res.data.select_2 = '重力式' | 
 |  |  |                            break; | 
 |  |  |                         case 'value6': | 
 |  |  |                            res.data.select_2 = '其他' | 
 |  |  |                            break; | 
 |  |  |                      } | 
 |  |  |                      that.baseFormData = res.data | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  |             }) | 
 |  |  |          }, | 
 |  |  |          async getDetail() { | 
 |  |  |             let res = await user.getDetail() | 
 |  |  |             if (res.code === 200) { | 
 |  |  |                this.baseFormData.userXmlSelPhone = res.data.mobile | 
 |  |  |             } else if (res.code === 403) { | 
 |  |  |                this.backLogin(res) | 
 |  |  |             } | 
 |  |  |          }, | 
 |  |  |          bindPickerChange: function(e) { | 
 |  |  |             this.cstmrTypeIndex = e.detail.value | 
 |  |  |             this.baseFormData.cstmrType = this.cstmrTypes[e.detail.value].id | 
 |  |  |          }, | 
 |  |  |          areaChange(e) { | 
 |  |  |             this.citysDataTemp = e.detail.value[0].value + ',' + e.detail.value[1].value + ',' + e.detail.value[2].value | 
 |  |  |          }, | 
 |  |  |          autoLoad(type,condition) { | 
 |  |  |             let that = this | 
 |  |  |             that.orderIds = [] | 
 |  |  |             that.users = [] | 
 |  |  |             that.cstmrs = [] | 
 |  |  |             var a = that.baseUrl + '/' + type + 'Query/auth' | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.baseUrl + '/' + type + 'Query' +'/auth', | 
 |  |  |                header:{'token':uni.getStorageSync('token')}, | 
 |  |  |                data: {condition:condition}, | 
 |  |  |                method: 'GET', | 
 |  |  |                success(result) { | 
 |  |  |                   var res = result.data | 
 |  |  |                   if (res.code === 200) { | 
 |  |  |                      var element; | 
 |  |  |                      if (type == 'order') { | 
 |  |  |                         for(element of res.data) { | 
 |  |  |                            that.orderIds.push(element.name) | 
 |  |  |                            that.orderList.push(element) | 
 |  |  |                         } | 
 |  |  |                         return | 
 |  |  |                      } | 
 |  |  |                      if (type == 'user') { | 
 |  |  |                         for(element of res.data) { | 
 |  |  |                            that.users.push(element.value) | 
 |  |  |                            that.userList.push(element) | 
 |  |  |                         } | 
 |  |  |                         return | 
 |  |  |                      } | 
 |  |  |                      if (type == 'cstmr') { | 
 |  |  |                         for(element of res.data) { | 
 |  |  |                            that.cstmrs.push(element.value) | 
 |  |  |                            that.cstmrList.push(element) | 
 |  |  |                         } | 
 |  |  |                         return | 
 |  |  |                      } | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  |             }) | 
 |  |  |          }, | 
 |  |  |          getOrderId() { | 
 |  |  |             let that = this | 
 |  |  |             uni.request({ | 
 |  |  |                url: that.baseUrl + '/order/all/get/kv', | 
 |  |  |                header:{'token':uni.getStorageSync('token')}, | 
 |  |  |                data: {condition:condition}, | 
 |  |  |                method: 'GET', | 
 |  |  |                success(result) { | 
 |  |  |                } | 
 |  |  |             }) | 
 |  |  |          }, | 
 |  |  |          // 添加用户 | 
 |  |  |          addCstmr() { | 
 |  |  |             let that = this | 
 |  |  |             var element | 
 |  |  | 				 | 
 |  |  |             for (element of that.cstmrList) { | 
 |  |  |                if(element.value == that.baseFormData.cstmrId$) { | 
 |  |  |                   that.baseFormData.cstmrId = element.id | 
 |  |  |                } | 
 |  |  |             } | 
 |  |  |             for (element of that.orderList) { | 
 |  |  |                if(element.name == that.baseFormData.orderId$) { | 
 |  |  |                   that.baseFormData.orderId = element.id | 
 |  |  |                } | 
 |  |  |             } | 
 |  |  |             that.baseFormData.planType = 6 | 
 |  |  |             var temp  | 
 |  |  |             for (var i = 0 ; i < that.baseFormData.planNeed.length; i++) { | 
 |  |  |                if (i == 0) { | 
 |  |  |                   temp = that.baseFormData.planNeed[i] | 
 |  |  |                } else { | 
 |  |  |                   temp = temp + '-' + that.baseFormData.planNeed[i] | 
 |  |  |                } | 
 |  |  | 					 | 
 |  |  |             } | 
 |  |  |             that.baseFormData.planNeed = temp | 
 |  |  |             this.$refs.baseForm.validate().then(res=>{ | 
 |  |  |                for (let k in res) { | 
 |  |  |                   if (res[k] == undefined) { | 
 |  |  |                      res[k] = '' | 
 |  |  |                   } | 
 |  |  |                } | 
 |  |  |                res['id'] = that.baseFormData.id | 
 |  |  |                uni.request({ | 
 |  |  |                   url: that.baseUrl + '/plan/update/auth', | 
 |  |  |                   header:{ | 
 |  |  |                      'token':uni.getStorageSync('token'), | 
 |  |  |                      'content-type':'application/x-www-form-urlencoded', | 
 |  |  |                      }, | 
 |  |  |                   data: res, | 
 |  |  |                   method: 'POST', | 
 |  |  |                   success(result) { | 
 |  |  |                      var res = result.data | 
 |  |  |                      if (res.code === 200) { | 
 |  |  |                         uni.navigateBack({delta:2}) | 
 |  |  |                      } else if (res.code === 403) { | 
 |  |  |                         uni.showToast({title: res.msg, icon: "none", position: 'top'}) | 
 |  |  |                         setTimeout(() => { | 
 |  |  |                            uni.reLaunch({ | 
 |  |  |                               url: '../../login/login' | 
 |  |  |                            }); | 
 |  |  |                         }, 1000); | 
 |  |  |                      } else { | 
 |  |  |                         uni.showToast({title: res.msg, icon: "none",position: 'top'}) | 
 |  |  |                      } | 
 |  |  |                   } | 
 |  |  |                }) | 
 |  |  |             }).catch(err =>{ | 
 |  |  |             }) | 
 |  |  |          } | 
 |  |  |       } | 
 |  |  | 		 | 
 |  |  |    } | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | <style> | 
 |  |  |    .container { | 
 |  |  |       min-height: 50rpx; | 
 |  |  |       padding: 15px; | 
 |  |  |       background-color: #fff; | 
 |  |  |       /* background-color: aqua; */ | 
 |  |  |    } | 
 |  |  | </style> |