<template> <el-dialog title="商机转订单" width="1030px" :visible.sync="isShowInfo" append-to-body @close='close'> <div class="salesDialog " v-if="isShowInfo"> <div class="container"> <div class="containerFirst"> <div class="inputBox"> <red-star /> <input-vue title="收货人" width="300px" class="inputWidth" v-model="changeOrderInfo.receiver" ></input-vue> </div> <div class="inputBox"> <red-star /> <input-vue title="收货人联系方式" width="300px" class="inputWidth" v-model="changeOrderInfo.receiverPhone" ></input-vue> </div> </div> <div class="middle"> <red-star /> <input-vue title="交付地址"> <el-select v-model="changeOrderInfo.deliveryProvince" filterable placeholder="请选择" style="margin-right:10px" @change="changeProvince"> <el-option v-for="item in ProvinceList" :key="item.id" :label="item.areaName" :value="item.id" > </el-option> </el-select> <el-select v-model="changeOrderInfo.deliveryCity" filterable placeholder="请选择" style="margin-right:10px" @change="changeCity"> <el-option v-for="item in CityList" :key="item.id" :label="item.areaName" :value="item.id" > </el-option> </el-select> <el-select v-model="changeOrderInfo.deliveryArea" filterable placeholder="请选择" style="margin-right:10px"> <el-option v-for="item in AreaList" :key="item.id" :label="item.areaName" :value="item.id" > </el-option> </el-select> <el-input v-model="changeOrderInfo.deliveryAddress" placeholder="请输入内容" style="width:638px"></el-input> </input-vue> </div> <div class="containerFirst"> <div class="inputBox"> <red-star /> <input-vue title="交付日期" class="inputWidth"> <el-date-picker style="width: 300px" v-model="changeOrderInfo.deliveryDate" type="date" placeholder="选择日期" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd" > </el-date-picker> </input-vue> </div> <div class="inputBox"> <input-vue title="备注" class="inputWidth" style="justify-content: space-between;" > <el-input style="width: 300px" type="textarea" :rows="3" placeholder="请输入内容" v-model="changeOrderInfo.remark" > </el-input> </input-vue> </div> </div> </div> <div class="btnBox"> <el-button type="primary" class="save" @click="save">保存</el-button> <el-button type="info" class="close" @click="close">取消</el-button> </div> </div> </el-dialog> </template> <script> import InputVue from "../../input/inputVue.vue"; import RedStar from "../../redStar.vue"; import DialogHeader from "../dialogHeader.vue"; import { order_area } from '../../../../api/order/order' import {turnOrder} from "../../../../api/sales/shop" export default { props:["isShowInfo","busOppoId"], components: { DialogHeader, InputVue, RedStar, }, mounted(){ order_area('pid=0').then(res=>{ console.log(res); this.ProvinceList = res }) }, data(){ return { ProvinceList:[], CityList:[], AreaList:[], changeOrderInfo:{ busOppoId:'', deliveryDate:'', deliveryProvince:'', deliveryCity:'', deliveryArea:'', deliveryAddress:'', receiver:'', receiverPhone:'', remark:'', } } }, methods: { save(){ const temp = {...this.changeOrderInfo} temp.busOppoId = this.busOppoId const pindex = this.ProvinceList.findIndex(item => { return item.id == temp.deliveryProvince }) const cindex = this.CityList.findIndex(item => { return item.id == temp.deliveryCity }) const aindex = this.AreaList.findIndex(item => { return item.id == temp.deliveryArea }) if(cindex<0||aindex<0 || pindex<0){ this.$message.error("请检查格式地址") return } temp.deliveryProvince = this.ProvinceList[pindex].areaName temp.deliveryCity = this.CityList[cindex].areaName temp.deliveryArea = this.AreaList[aindex].areaName // console.log(temp); turnOrder(temp).then(res => { if(res!=""){ this.$message.success("添加成功") this.close() } }) }, close() { this.$emit("close"); this.reset() }, reset(){ this.changeOrderInfo = { busOppoId:'', deliveryDate:'', deliveryProvince:'', deliveryCity:'', deliveryArea:'', deliveryAddress:'', receiver:'', receiverPhone:'', remark:'', } }, changeProvince(e){ order_area('pid='+e).then(res=>{ console.log(res); this.CityList = res }) }, changeCity(e){ order_area('pid='+e).then(res=>{ console.log(res); this.AreaList = res }) } }, }; </script> <style lang="scss" scoped> .salesDialog { width: 1000px; .container { padding: 20px; .containerFirst, .middle { display: flex; align-items: center; // background: blue; } .middle{ padding-right: 54px; } .containerFirst { // background: red; flex: 1; .inputBox { // background: green; display: flex; flex: 1; align-items: center; // justify-content: space-between; padding-right: 28px; } } } } .btnBox { padding: 30px; box-sizing: border-box; display: flex; align-items: center; justify-content: space-evenly; .save, .close { width: 100px; } } </style>