<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="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="company">
|
<view @click="autoLoad('company','')">
|
<uni-combox :candidates="companies" placeholder="请选所属公司" v-model="baseFormData.company"
|
@input="autoLoad('company',baseFormData.company)"></uni-combox>
|
</view>
|
</uni-forms-item>
|
<uni-forms-item label="预算金额(万元)" name="money" required>
|
<uni-easyinput v-model="baseFormData.money" placeholder="请输入预算金额(万元)" />
|
</uni-forms-item>
|
<uni-forms-item label="预计成交率" name="transactionRate" required>
|
<view>
|
<uni-combox :candidates="transactionRates" placeholder="请选择预计成交率"
|
v-model="baseFormData.transactionRate" ></uni-combox>
|
</view>
|
</uni-forms-item>
|
<uni-forms-item label="负责人" name="director" required>
|
<view @click="autoLoad('user','')">
|
<uni-combox :candidates="directors" placeholder="请选择负责人" v-model="baseFormData.director"
|
@input="autoLoad('user',baseFormData.director)"></uni-combox>
|
</view>
|
</uni-forms-item>
|
<uni-forms-item label="产品类型" name="orderProductTypeId" required>
|
<view @click="autoLoad('orderProductType','')">
|
<uni-combox :candidates="orderProductTypeIds" placeholder="请选择产品类型"
|
v-model="baseFormData.orderProductTypeId"
|
@input="autoLoad('orderProductType',baseFormData.orderProductTypeId)"></uni-combox>
|
</view>
|
</uni-forms-item>
|
<uni-forms-item label="省市区" name="citysData" required>
|
<uni-data-picker @change="areaChange" placeholder="请选择省市区" popup-title="请选择所在地区"
|
:localdata="citysData" v-model="baseFormData.pcd">
|
</uni-data-picker>
|
</uni-forms-item>
|
<uni-forms-item label="项目地址" name="addr">
|
<uni-easyinput v-model="baseFormData.addr" placeholder="请输入项目地址" />
|
</uni-forms-item>
|
<uni-forms-item label="心得体会" name="memoExperience">
|
<uni-easyinput type="textarea" v-model="baseFormData.memoExperience" placeholder="请输入心得体会" />
|
</uni-forms-item>
|
<uni-forms-item label="备注" name="remarks">
|
<uni-easyinput type="textarea" v-model="baseFormData.remarks" placeholder="请输入备注" />
|
</uni-forms-item>
|
</uni-forms>
|
<button type="primary" @click="addOrder()">添加</button>
|
</view>
|
</view>
|
</template>
|
|
<script>
|
import test from '../../../static/js/citys-data.js'
|
import user from '@/pages/api/user/user.js'
|
export default {
|
data() {
|
return {
|
cstmrTypes: [],
|
cstmrType: '',
|
companies: [],
|
directors: [],
|
director: '',
|
cstmrs: [],
|
cstmr: '',
|
cstmrTypeList: [],
|
cstmrList: [],
|
directorList: [],
|
companyList: [],
|
orderProductTypeIds: [],
|
orderProductTypeList: [],
|
baseFormData: {
|
citysData: [],
|
cstmrType: '',
|
company: '',
|
director: '',
|
rela: '',
|
remarks: '',
|
transactionRate: '',
|
cstmrId: '',
|
addr: '',
|
money: ''
|
},
|
transactionRates: ['30%','40%','50%','60%','70%','80%','90%','100%'],
|
rules: {
|
name: {
|
rules: [{
|
required: true,
|
errorMessage: '请输入跟踪项目名称',
|
}]
|
},
|
cstmrId: {
|
rules: [{
|
required: true,
|
errorMessage: '请选择甲方单位',
|
}]
|
},
|
company: {
|
rules: [{
|
required: true,
|
errorMessage: '请选所属公司',
|
}]
|
},
|
money: {
|
rules: [{
|
required: true,
|
errorMessage: '请输入预算金额',
|
}]
|
},
|
transactionRate: {
|
rules: [{
|
required: true,
|
errorMessage: '请选择预计成交率',
|
}]
|
},
|
director: {
|
rules: [{
|
required: true,
|
errorMessage: '请选择负责人',
|
}]
|
},
|
orderProductTypeId: {
|
rules: [{
|
required: true,
|
errorMessage: '请选择产品类型',
|
}]
|
},
|
citysData: {
|
rules: [{
|
required: true,
|
errorMessage: '请选择所在地区',
|
}]
|
}
|
},
|
// 单选数据源
|
type$: [{
|
text: '内销',
|
value: 1
|
}, {
|
text: '外销',
|
value: 2
|
}],
|
citysData: [],
|
citysDataTemp: ''
|
}
|
},
|
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.director = res.data.username
|
res.data['value'] = res.data.username
|
this.directors.push(res.data.username)
|
this.directorList.push(res.data)
|
}
|
},
|
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.companies = []
|
that.directors = []
|
that.cstmrs = []
|
that.orderProductTypeIds = []
|
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 == 'user') {
|
for (element of res.data) {
|
that.directors.push(element.value)
|
that.directorList.push(element)
|
}
|
return
|
}
|
if (type == 'company') {
|
for (element of res.data) {
|
that.companies.push(element.name)
|
that.listAuth(type)
|
that.companyList.push(element)
|
}
|
return
|
}
|
if (type == 'cstmr') {
|
for (element of res.data) {
|
that.cstmrs.push(element.value)
|
that.cstmrList.push(element)
|
}
|
return
|
}
|
if (type == 'orderProductType') {
|
for (element of res.data) {
|
that.orderProductTypeIds.push(element.value)
|
that.orderProductTypeList.push(element)
|
}
|
return
|
}
|
}
|
|
}
|
})
|
},
|
listAuth(type) {
|
|
},
|
// 添加跟踪项目
|
addOrder() {
|
let that = this
|
var element;
|
// 所属公司
|
for (element of that.companyList) {
|
if (element.name == that.baseFormData.company) {
|
that.baseFormData.company = element.id
|
}
|
}
|
for (element of that.cstmrList) {
|
if (element.value == that.baseFormData.cstmrId) {
|
that.baseFormData.cstmrId = element.id
|
}
|
}
|
for (element of that.directorList) {
|
console.log(that.directorList);
|
console.log(that.baseFormData.director);
|
if (element.value == that.baseFormData.director) {
|
that.baseFormData.director = element.id
|
}
|
}
|
for (element of that.orderProductTypeList) {
|
if (element.value == that.baseFormData.orderProductTypeId) {
|
that.baseFormData.orderProductTypeId = element.id
|
}
|
}
|
that.baseFormData.transactionRate = Number(that.baseFormData.transactionRate.split('%')[0])
|
this.$refs.baseForm.validate().then(res => {
|
if (res.addr == undefined) {
|
res.addr = ''
|
}
|
if (res.money == undefined) {
|
res.money = ''
|
}
|
if (res.remarks == undefined) {
|
res.remarks = ''
|
}
|
res.pcd = this.citysDataTemp
|
uni.request({
|
url: that.baseUrl + '/order/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>
|