<!--商机转订单弹窗--> <template> <el-dialog title="商机转订单" width="1030px" :visible.sync="isShowInfo" append-to-body @close="close"> <div v-if="isShowInfo" class="salesDialog "> <div class="container"> <div class="containerFirst"> <div class="inputBox"> <red-star /> <input-vue v-model="changeOrderInfo.receiver" title="收货人" width="300px" class="inputWidth" /> </div> <div class="inputBox"> <red-star /> <input-vue v-model="changeOrderInfo.receiverPhone" title="收货人联系方式" width="300px" class="inputWidth" /> </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-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-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-select> <el-input v-model="changeOrderInfo.deliveryAddress" placeholder="请输入内容" style="width:638px" /> </input-vue> </div> <div class="containerFirst"> <div class="inputBox"> <red-star /> <input-vue title="交付日期" class="inputWidth"> <el-date-picker v-model="changeOrderInfo.deliveryDate" style="width: 300px" type="date" placeholder="选择日期" format="yyyy 年 MM 月 dd 日" value-format="yyyy-MM-dd" /> </input-vue> </div> <div class="inputBox"> <input-vue title="备注" class="inputWidth" style="justify-content: space-between;"> <el-input v-model="changeOrderInfo.remark" style="width: 300px" type="textarea" :rows="3" placeholder="请输入内容" /> </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 { components: { DialogHeader, InputVue, RedStar }, props: ['isShowInfo', 'busOppoId'], data() { return { ProvinceList: [], CityList: [], AreaList: [], changeOrderInfo: { busOppoId: '', deliveryDate: '', deliveryProvince: '', deliveryCity: '', deliveryArea: '', deliveryAddress: '', receiver: '', receiverPhone: '', remark: '' } } }, mounted() { order_area('pid=0').then(res => { console.log(res) this.ProvinceList = res }) }, 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>