<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="货物规格" required name="input_2">
|
<uni-easyinput v-model="baseFormData.input_2" placeholder="请输入货物规格" />
|
</uni-forms-item>
|
<uni-forms-item label="货物重量" required name="input_5">
|
<uni-easyinput v-model="baseFormData.input_5" placeholder="请输入货物重量" />
|
</uni-forms-item>
|
<uni-forms-item label="厂房可用高度" required name="input_4">
|
<uni-easyinput v-model="baseFormData.input_4" placeholder="请输入厂房可用高度" />
|
</uni-forms-item>
|
<uni-forms-item label="顶部最低点离地距离" required name="input_9">
|
<uni-easyinput v-model="baseFormData.input_9" placeholder="请输入顶部最低点离地距离" />
|
</uni-forms-item>
|
<uni-forms-item label="进叉方向" required name="input_3">
|
<uni-easyinput v-model="baseFormData.input_3" placeholder="请输入进叉方向" />
|
</uni-forms-item>
|
<uni-forms-item label="仓库温度" required name="input_7">
|
<uni-easyinput v-model="baseFormData.input_7" placeholder="请输入仓库温度" />
|
</uni-forms-item>
|
<uni-forms-item label="抗震设防烈度" required name="input_6">
|
<uni-easyinput v-model="baseFormData.input_6" placeholder="请输入抗震设防烈度" />
|
</uni-forms-item>
|
<uni-forms-item label="基本地震加速度" required name="input_11">
|
<uni-easyinput v-model="baseFormData.input_11" placeholder="请输入基本地震加速度" />
|
</uni-forms-item>
|
<uni-forms-item label="立体库货架类型" required name="select_3">
|
<uni-combox :candidates="selList" placeholder="请输入立体库货架类型"
|
v-model="baseFormData.select_3"></uni-combox>
|
</uni-forms-item>
|
<uni-forms-item label="客户技术对接联系方式(选填)" name="input_8">
|
<uni-easyinput v-model="baseFormData.input_8" placeholder="请输入立体库货架类型" />
|
</uni-forms-item>
|
|
|
|
|
<uni-forms-item label="是否有消防要求" name="radio_5">
|
<uni-data-checkbox v-model="baseFormData.radio_5" :localdata="radio_5" />
|
</uni-forms-item>
|
<uni-forms-item label="否需要货架背网" name="radio_8">
|
<uni-data-checkbox v-model="baseFormData.radio_8" :localdata="radio_8" />
|
</uni-forms-item>
|
<uni-forms-item label="地面有无电缆沟" name="radio_7">
|
<uni-data-checkbox v-model="baseFormData.radio_7" :localdata="radio_7" />
|
</uni-forms-item>
|
<uni-forms-item label="布局区域是否提供CAD场地图纸/场地" name="radio_6">
|
<uni-data-checkbox v-model="baseFormData.radio_6" :localdata="radio_6" />
|
</uni-forms-item>
|
<uni-forms-item label="地面平整度和地面沉降是否满足标准" name="radio_10">
|
<uni-data-checkbox v-model="baseFormData.radio_10" :localdata="radio_10" />
|
</uni-forms-item>
|
<uni-forms-item label="其他要求及注意点" required name="textarea_2">
|
<uni-easyinput type="textarea" v-model="baseFormData.textarea_2" placeholder="请输入" />
|
</uni-forms-item>
|
<br>
|
|
<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: ''
|
},
|
selList: ['牛腿式','横梁式','新能源','其他'],
|
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: '请输入业务类型',
|
}]
|
},
|
input_2: {
|
rules: [{
|
required: true,
|
errorMessage: '请输入货物规格',
|
}]
|
},
|
input_5: {
|
rules: [{
|
required: true,
|
errorMessage: '请输入货物重量',
|
}]
|
},
|
input_4: {
|
rules: [{
|
required: true,
|
errorMessage: '请输入厂房可用高度',
|
}]
|
},
|
input_9: {
|
rules: [{
|
required: true,
|
errorMessage: '请输入顶部最低点离地距离',
|
}]
|
},
|
input_3: {
|
rules: [{
|
required: true,
|
errorMessage: '请输入进叉方向',
|
}]
|
},
|
input_7: {
|
rules: [{
|
required: true,
|
errorMessage: '请输入仓库温度',
|
}]
|
},
|
input_6: {
|
rules: [{
|
required: true,
|
errorMessage: '请输入抗震设防烈度',
|
}]
|
},
|
input_11: {
|
rules: [{
|
required: true,
|
errorMessage: '请输入基本地震加速度',
|
}]
|
},
|
select_3: {
|
rules: [{
|
required: true,
|
errorMessage: '请选择立库货架类型',
|
}]
|
},
|
|
},
|
radio_5: [
|
{
|
text: '是',
|
value: 'value1'
|
},
|
{
|
text: '否',
|
value: 'value2'
|
}
|
],
|
radio_6: [
|
{
|
text: '是',
|
value: 'value1'
|
},
|
{
|
text: '否',
|
value: 'value2'
|
}
|
],
|
radio_7: [
|
{
|
text: '是',
|
value: 'value1'
|
},
|
{
|
text: '否',
|
value: 'value2'
|
}
|
],
|
radio_8: [
|
{
|
text: '是',
|
value: 'value1'
|
},
|
{
|
text: '否',
|
value: 'value2'
|
}
|
],
|
radio_10: [
|
{
|
text: '是',
|
value: 'value1'
|
},
|
{
|
text: '否',
|
value: 'value2'
|
}
|
],
|
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(let i = 0; i < that.selList.length;i++) {
|
if (that.selList[i] == that.baseFormData.select_3) {
|
let index = i + 1
|
console.log(index);
|
that.baseFormData.select_3 = 'value' + index
|
}
|
}
|
that.baseFormData.planType = 5
|
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>
|