|
@@ -22,10 +22,7 @@
|
|
|
<div class="order-main-opt-btn">
|
|
|
<el-button v-if="formData.status === 'WAIT'" type="primary" @click="submitOrder()"
|
|
|
style="margin-right: 10px">确定租赁</el-button>
|
|
|
- <el-popconfirm :title="formData.status === 'LEASE'?'订单未到期,是否提前回收?':'确定回收订单吗?'" @confirm="isRecover = true" v-if="formData.status === 'LEASE' || formData.status === 'OVER'">
|
|
|
- <el-button type="primary" slot="reference"
|
|
|
- style="margin-right: 10px">确认回收</el-button>
|
|
|
- </el-popconfirm>
|
|
|
+ <el-button v-if="formData.status === 'LEASE' || formData.status === 'OVER'" @click="isRecover = true" type="primary" slot="reference" style="margin-right: 10px">确认回收</el-button>
|
|
|
<el-popconfirm title="确定取消订单吗?" @confirm="cancelOrder()"
|
|
|
v-if="formData.status === 'WAIT'">
|
|
|
<el-button slot="reference" type="info" plain
|
|
@@ -66,28 +63,75 @@
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
<el-form-item label="客户联系电话" prop="userMobile" :required="true">
|
|
|
- <el-input type="text" :disabled="formType!=0 && formData.status != 'WAIT'"
|
|
|
- v-model="formData.userMobile" placeholder="请输入"></el-input>
|
|
|
+ <zj-select v-model="formData.userInfo" blurNoMatchInputBorderColor="" :blurNoMatchText="true" :filter-method="userMobileInput" :disabled="formType!=0 && formData.status != 'WAIT'" value-key="userId" filterable @change="changeUser" @blur="userBlur" placeholder="请选择" style="width: 100%;">
|
|
|
+ <zj-option
|
|
|
+ v-for="item in userList"
|
|
|
+ :key="item.userId"
|
|
|
+ :label="item.mobile+'('+item.nickName+')'"
|
|
|
+ :value="item">
|
|
|
+ </zj-option>
|
|
|
+ </zj-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
<el-form-item label="客户地址" class="is-required">
|
|
|
<el-row>
|
|
|
<el-col :span="5" style="margin-right: 12px;">
|
|
|
- <el-input type="text" v-model="formData.province" disabled
|
|
|
- placeholder="请选择省"></el-input>
|
|
|
+ <el-select v-model="formData.provinceObj" :disabled="formType!=0 && formData.status != 'WAIT'" filterable value-key="id" placeholder="请选择"
|
|
|
+ @change="(val) => {
|
|
|
+ formData.provinceId = val.id
|
|
|
+ formData.province = val.name
|
|
|
+ formData.cityObj = null
|
|
|
+ formData.cityId = ''
|
|
|
+ formData.city = ''
|
|
|
+ formData.areaObj = null
|
|
|
+ formData.areaId = ''
|
|
|
+ formData.area = ''
|
|
|
+ formData.streetObj = null
|
|
|
+ formData.streetId = ''
|
|
|
+ formData.street = ''
|
|
|
+ this.lbsAmapRegion('cityList',val.id)
|
|
|
+ }">
|
|
|
+ <el-option v-for="(item,index) in provinceList" :key="index" :label="item.name" :value="item"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-col>
|
|
|
<el-col :span="5" style="margin-right: 12px;">
|
|
|
- <el-input type="text" v-model="formData.city" disabled
|
|
|
- placeholder="请选择市"></el-input>
|
|
|
+ <el-select v-model="formData.cityObj" :disabled="formType!=0 && formData.status != 'WAIT'" filterable value-key="id" placeholder="请选择"
|
|
|
+ @change="(val) => {
|
|
|
+ formData.cityId = val.id
|
|
|
+ formData.city = val.name
|
|
|
+ formData.areaObj = null
|
|
|
+ formData.areaId = ''
|
|
|
+ formData.area = ''
|
|
|
+ formData.streetObj = null
|
|
|
+ formData.streetId = ''
|
|
|
+ formData.street = ''
|
|
|
+ this.lbsAmapRegion('areaList',val.id)
|
|
|
+ }">
|
|
|
+ <el-option v-for="(item,index) in cityList" :key="index" :label="item.name" :value="item"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-col>
|
|
|
<el-col :span="5" style="margin-right: 12px;">
|
|
|
- <el-input type="text" v-model="formData.area" disabled
|
|
|
- placeholder="请选择区"></el-input>
|
|
|
+ <el-select v-model="formData.areaObj" :disabled="formType!=0 && formData.status != 'WAIT'" filterable value-key="id" placeholder="请选择"
|
|
|
+ @change="(val) => {
|
|
|
+ formData.areaId = val.id
|
|
|
+ formData.area = val.name
|
|
|
+ formData.streetObj = null
|
|
|
+ formData.streetId = ''
|
|
|
+ formData.street = ''
|
|
|
+ this.lbsAmapRegion('streetList',val.id)
|
|
|
+ }">
|
|
|
+ <el-option v-for="(item,index) in areaList" :key="index" :label="item.name" :value="item"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <el-input type="text" v-model="formData.street" disabled
|
|
|
- placeholder="请选择街道"></el-input>
|
|
|
+ <el-select v-model="formData.streetObj" :disabled="formType!=0 && formData.status != 'WAIT'" filterable value-key="id" placeholder="请选择"
|
|
|
+ @change="(val) => {
|
|
|
+ formData.streetId = val.id
|
|
|
+ formData.street = val.name
|
|
|
+ }">
|
|
|
+ <el-option v-for="(item,index) in streetList" :key="index" :label="item.name" :value="item"></el-option>
|
|
|
+ </el-select>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form-item>
|
|
@@ -101,8 +145,8 @@
|
|
|
placeholder="详细地址"></el-input>
|
|
|
</el-col>
|
|
|
<el-col :span="2">
|
|
|
- <geographicalPosi :disabled="formType!=0 && formData.status != 'WAIT'"
|
|
|
- :formData="this.formData" @selectPosi="selectAddress" />
|
|
|
+ <!-- <geographicalPosi :disabled="formType!=0 && formData.status != 'WAIT'"
|
|
|
+ :formData="this.formData" @selectPosi="selectAddress" /> -->
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form-item>
|
|
@@ -118,6 +162,18 @@
|
|
|
<ImageUpload :fileList="formData.fileUrl" :limit="1" :isEdit="formType==0 || formData.status == 'WAIT'" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ <template v-if="formData.status == 'RECOVER'">
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="回收操作人" prop="recoverBy">
|
|
|
+ <el-input type="text" disabled v-model="formData.recoverBy" placeholder="请输入"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="回收操作时间" prop="recoverTime">
|
|
|
+ <el-input type="text" disabled v-model="formData.recoverTime" placeholder="请输入"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </template>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
</div>
|
|
@@ -340,7 +396,7 @@
|
|
|
import {
|
|
|
getGoods,
|
|
|
getDetail,
|
|
|
- add,confirmOrder,confirmRecover,confirmRelet,confirmRepair,getTypeList
|
|
|
+ add,confirmOrder,confirmRecover,confirmRelet,confirmRepair,getTypeList,getUserList
|
|
|
} from "@/api/tenancyOrder";
|
|
|
export default {
|
|
|
components: {
|
|
@@ -366,20 +422,27 @@
|
|
|
date: ''
|
|
|
},
|
|
|
goodsList: [],
|
|
|
+ userList: [],
|
|
|
is_submit: true,
|
|
|
isRelet: false,
|
|
|
isRepair: false,
|
|
|
isRecover: false,
|
|
|
formData: {
|
|
|
+ userInfo: null,
|
|
|
userName: '',
|
|
|
+ userId: '',
|
|
|
userMobile: '',
|
|
|
remark: '',
|
|
|
+ provinceObj: null,
|
|
|
province: '',
|
|
|
provinceId: '',
|
|
|
+ cityObj: null,
|
|
|
city: '',
|
|
|
cityId: '',
|
|
|
+ areaObj: null,
|
|
|
area: '',
|
|
|
areaId: '',
|
|
|
+ streetObj: null,
|
|
|
street: '',
|
|
|
streetId: '',
|
|
|
address: '',
|
|
@@ -415,6 +478,12 @@
|
|
|
pattern: /^((0\d{2,3}-\d{7,8})|(1[3456789]\d{9}))$/,
|
|
|
message: '电话号码格式不正确',
|
|
|
trigger: 'blur'
|
|
|
+ },
|
|
|
+ ,
|
|
|
+ {
|
|
|
+ pattern: /^((0\d{2,3}-\d{7,8})|(1[3456789]\d{9}))$/,
|
|
|
+ message: '电话号码格式不正确',
|
|
|
+ trigger: 'change'
|
|
|
}
|
|
|
],
|
|
|
userName: [{
|
|
@@ -456,10 +525,11 @@
|
|
|
created() {
|
|
|
if (this.id) {
|
|
|
this.getDetail()
|
|
|
+ this.getinitlbslist()
|
|
|
}
|
|
|
+ this.lbsAmapRegion('provinceList',0)
|
|
|
this.getGoods()
|
|
|
this.getTypeList()
|
|
|
- this.getinitlbslist()
|
|
|
},
|
|
|
methods: {
|
|
|
// 返回
|
|
@@ -473,7 +543,11 @@
|
|
|
this.formData = {
|
|
|
...res.data,
|
|
|
address: res.data.userAddress,
|
|
|
- fileUrl: res.data.fileUrl?[{url: res.data.fileUrl}]:[]
|
|
|
+ fileUrl: res.data.fileUrl?[{url: res.data.fileUrl}]:[],
|
|
|
+ provinceObj: {id: res.data.provinceId},
|
|
|
+ cityObj: {id: res.data.cityId},
|
|
|
+ areaObj: {id: res.data.areaId},
|
|
|
+ streetObj: {id: res.data.streetId}
|
|
|
}
|
|
|
this.formData3.dataList = res.data.items
|
|
|
})
|
|
@@ -487,6 +561,25 @@
|
|
|
this.goodsList = res.data.records
|
|
|
})
|
|
|
},
|
|
|
+ getUserList(value){
|
|
|
+ getUserList({
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: -1,
|
|
|
+ params: [{param: "a.mobile", compare: "like", value}]
|
|
|
+ }).then(res => {
|
|
|
+ this.userList = res.data.records
|
|
|
+ })
|
|
|
+ },
|
|
|
+ userBlur(e){
|
|
|
+ this.formData.userMobile = e.target.value
|
|
|
+ this.formData.userInfo = e.target.value
|
|
|
+ this.$forceUpdate()
|
|
|
+ },
|
|
|
+ changeUser(e){
|
|
|
+ this.formData.userMobile = e.mobile
|
|
|
+ this.formData.userName = e.nickName
|
|
|
+ this.formData.userId = e.userId
|
|
|
+ },
|
|
|
changeGoods(e, item) {
|
|
|
item.categoryId = e.categoryId
|
|
|
item.categoryName = e.categoryName
|
|
@@ -495,6 +588,11 @@
|
|
|
item.goodsLeaseId = e.id
|
|
|
item.goodsUnit = e.unit
|
|
|
},
|
|
|
+ userMobileInput(e){
|
|
|
+ if(e && e.length > 3){
|
|
|
+ this.getUserList(e)
|
|
|
+ }
|
|
|
+ },
|
|
|
add() {
|
|
|
this.$refs.formData1.validate((valid, invalidFields, errLabels) => {
|
|
|
if (valid) {
|
|
@@ -533,6 +631,7 @@
|
|
|
this.$refs.formData1.validate((valid, invalidFields, errLabels) => {
|
|
|
if (valid) {
|
|
|
add({
|
|
|
+ userId: this.formData.userId,
|
|
|
userName: this.formData.userName,
|
|
|
userMobile: this.formData.userMobile,
|
|
|
fileUrl: this.formData.fileUrl.length > 0 ? this.formData.fileUrl[0].url : '',
|
|
@@ -627,6 +726,7 @@
|
|
|
mainId: this.formData.items[0].categoryId,
|
|
|
mainName: this.formData.items[0].categoryName,
|
|
|
num: this.formData.items[0].qty,
|
|
|
+ imgUrl: this.formData.items[0].categoryUrl
|
|
|
}]
|
|
|
|
|
|
this.$refs.repairForm.validate((valid, invalidFields, errLabels) => {
|
|
@@ -691,6 +791,11 @@
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
+ lbsAmapRegion(name,pid){
|
|
|
+ lbsAmapRegion({ pid }).then(res => {
|
|
|
+ this[name] = res.data
|
|
|
+ })
|
|
|
+ },
|
|
|
getinitlbslist() {
|
|
|
// 初始化请求省市区街道下拉选项数据
|
|
|
lbsAmapRegion({
|