New file |
| | |
| | | <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.datetimesingle"/> |
| | | </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() |
| | | }, |
| | | methods: { |
| | | 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 |
| | | } |
| | | } |
| | | // for (element of that.userList) { |
| | | // if(element.value == that.baseFormData.userId) { |
| | | // that.baseFormData.userId = element.id |
| | | // } |
| | | // } |
| | | that.baseFormData.planType = 11 |
| | | 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] = '' |
| | | } |
| | | } |
| | | uni.request({ |
| | | url: that.baseUrl + '/plan/add/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() |
| | | } 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> |