用户修改

This commit is contained in:
@fawn-nine
2023-10-19 18:04:56 +08:00
parent efcf6d45db
commit 9c662d1d9d
11 changed files with 630 additions and 229 deletions

View File

@@ -61,7 +61,7 @@
:key="productindex">
<div class="flexbox productItem" style="width:100%;">
<!-- <el-checkbox :label="4545454545"></el-checkbox> -->
<img :src="productitem.image" width="30px" height="30px">
<img :src="productitem.productUrl" width="30px" height="30px">
<div class="">
<div class="bookName tabContent">{{ productitem.productName }}
</div>
@@ -149,11 +149,14 @@ export default {
// 获取快递公司列表
getExpressList() {
this.$http({
url: this.$http.adornUrl('/book/sysdictdata/selectByType/express_name'),
// url: this.$http.adornUrl('/book/sysdictdata/selectByType/express_name'),
url: this.$http.adornUrl('/express/getExpressCompanyList'),
method: 'get',
}).then(({ data }) => {
// console.log(data, '快递列表')
this.expressList = data.dataList
this.expressList = data.result
}).catch(({ e }) => {
console.log(e,'e')
})
},
// 获取可合并订单
@@ -165,7 +168,7 @@ export default {
background: 'rgba(0, 0, 0, 0.7)'
});
this.$http({
url: this.$http.adornUrl(`/book/buyorder/checkOrder`),
url: this.$http.adornUrl(`/book/buyOrder/checkOrder`),
method: 'post',
params: this.$http.adornParams({
'page': this.pageIndex,

View File

@@ -1,14 +1,11 @@
<template>
<div class="mod-config">
<el-tabs v-model="tabChange.orderName">
<el-tab-pane label="全部" name="all">
<!-- <el-button size="mini" v-if="isAuth('book:buyorder:save')" type="primary"
@click="addOrUpdateHandle()">新增</el-button> -->
</el-tab-pane>
<!-- <el-tabs v-model="tabChange.orderName">
<el-tab-pane label="全部" name="all"> </el-tab-pane>
<el-tab-pane label="健康超市" name="0"></el-tab-pane>
<el-tab-pane label="电子书" name="1"> </el-tab-pane>
<el-tab-pane label="充值订单" name="2"></el-tab-pane>
</el-tabs>
</el-tabs> -->
<el-radio-group size="mini" v-model="tabChange.tabActiveName" style="margin-bottom: 10px;">
<el-radio-button label="all">全部</el-radio-button>
<el-radio-button label="0">待付款</el-radio-button>
@@ -19,15 +16,30 @@
<div style="margin-bottom: 10px;">
<el-radio-group size="mini" v-model="tabChange.isPrint" v-if="tabChange.tabActiveName == 2">
<el-radio-button label="0">已发货订单</el-radio-button>
<el-radio-button label="1">打印面单</el-radio-button>
<el-radio-button label="1">打印面单</el-radio-button>
</el-radio-group>
<!-- <el-radio v-model="tabChange.isPrint" label="" border size="mini">全部</el-radio>
<el-radio v-model="tabChange.isPrint" label="1" border size="mini">未打印</el-radio>
<el-radio v-model="tabChange.isPrint" label="2" border size="mini">已打印</el-radio> -->
<!-- <el-radio v-model="tabChange.isPrint" label="" border size="mini">全部</el-radio> -->
<!-- <el-radio v-model="tabChange.isPrint" label="1" border size="mini">未打印</el-radio>
<el-radio v-model="tabChange.isPrint" label="2" border size="mini">已打印</el-radio> -->
<!-- <el-button style="margin-left: 10px;" size="mini" v-if="isAuth('book:buyorder:delete')" type="primary" @click="printHandle(dataListSelections)"
:disabled="dataListSelections.length <= 0" >批量打印</el-button> -->
</div>
<el-form :inline="true" size="mini" :model="dataForm" @keyup.enter.native="getDataList()">
<div style="margin-bottom: 10px; float:left" v-if="tabChange.isPrint == '1'">
<el-radio v-model="tabChange.sheetCode" label="0" border size="mini">未打印</el-radio>
<el-radio v-model="tabChange.sheetCode" label="1" border size="mini">已打印</el-radio>
</div>
<div style="margin-bottom: 10px; float:left;margin-left: 10px; ">
<el-form v-if="tabChange.isPrint == '1'" :inline="true" size="mini" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input style="width:200px" v-model="dataForm.key" placeholder="订单编号/运单编号" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">查询</el-button>
</el-form-item>
</el-form>
</div>
<el-form v-if="tabChange.isPrint != '1'" :inline="true" size="mini" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item>
<el-input style="width:200px" v-model="dataForm.key" placeholder="订单编号/收件人姓名/手机号" clearable></el-input>
</el-form-item>
@@ -44,28 +56,28 @@
</el-form-item>
</el-form>
<div class="buttonGroup">
<el-checkbox :disabled="multipleDisabled" :indeterminate="checkboxGroup.isIndeterminate"
<!-- <el-checkbox :disabled="multipleDisabled" :indeterminate="checkboxGroup.isIndeterminate"
v-model="checkboxGroup.checkAll" v-if="tabChange.tabActiveName == 1" class="checkAll showLabel"
@change="handleCheckAllChange">全选</el-checkbox>
<span v-if="tabChange.tabActiveName == 3">
@change="handleCheckAllChange">全选</el-checkbox> -->
<!-- <span v-if="tabChange.tabActiveName == 3">
<el-button size="mini" v-if="isAuth('book:buyorder:delete')" type="danger" @click="deleteHandle()"
:disabled="dataListSelections.length <= 0">批量删除</el-button>
</span>
</span> -->
<span style="" v-if="tabChange.tabActiveName == 1">
<el-badge :value="mergeList.length" class="item">
<router-link :to="{ path: 'buyorder-mergeorder', query: {} }">
<el-button style="margin-left: 10px;" size="mini" v-if="isAuth('book:buyorder')" type="primary">合并发货</el-button>
<el-button style="" size="mini" v-if="isAuth('book:buyorder')" type="primary" :disabled="mergeList.length > 0 ? false : true">合并发货</el-button>
</router-link>
</el-badge>
</span>
<span style="" v-if="tabChange.tabActiveName == 1">
<!-- <span style="" v-if="tabChange.tabActiveName == 1">
<el-button style="margin-left: 10px;" size="mini" v-if="isAuth('book:buyorder')" type="primary"
:disabled="checkedOrders.length <= 0" @click="checkDeliver">批量发货</el-button>
</span>
<span style="" v-if="tabChange.tabActiveName == 2 && tabChange.isPrint == 1">
</span> -->
<!-- <span style="" v-if="tabChange.tabActiveName == 2 && tabChange.isPrint == 1">
<el-button style="margin-left: 10px;" size="mini" v-if="isAuth('book:buyorder')" type="warning"
:disabled="dataListSelections.length <= 0" @click="printHandle">批量打印</el-button>
</span>
</span> -->
</div>
<!-- 更新样式 -->
<!--面单列表 -->
@@ -117,16 +129,20 @@
<el-checkbox size:="mini" :disabled="fitem.isSend == 1" :label="fitem.orderId"></el-checkbox>
<span><span class="infoTitle">订单编号</span>{{ fitem.orderSn }} </span>
<span style="margin-left: 20px;">
<span class="infoTitle">下单时间</span>{{ fitem.createTime }}</span></el-col>
<span class="infoTitle">下单时间</span>{{ fitem.createTime }}</span>
<router-link :to="{ path: 'order-buyorderdetail', query: { orderId: fitem.orderId , ordertype: fitem.orderStatus} }" style="margin-left:20px">
<el-button type="warning" style="" size="mini" plain>订单详情</el-button>
</router-link>
</el-col>
<el-col :span="6">
<div class="tip">
<div v-if="fitem.isSend == 1" class="hasSplit"><span style="color:#999">该订单已被拆分发货</span>
<!-- <el-button type="text" @click="showOrderSheet(fitem.orderId)" size="mini">查看面单</el-button> -->
</div>
<!-- <icon-svg name="zhuyi"></icon-svg> 订单存在可合并发货项 -->
<router-link :to="{ path: 'order-buyorderdetail', query: { orderId: fitem.orderId , ordertype: fitem.orderStatus} }">
<el-button type="text" style="color: #515a6e;">订单详情</el-button>
</router-link>
<!-- <router-link :to="{ path: 'order-buyorderdetail', query: { orderId: fitem.orderId , ordertype: fitem.orderStatus} }">
<el-button type="primary" style="color: #515a6e;" size="mini">订单详情</el-button>
</router-link> -->
</div>
</el-col>
</el-row>
@@ -135,7 +151,7 @@
<div class="flexbox" style="justify-content: space-between;">
<div class="td1 flexbox" style="width:600px; align-items: flex-start; flex-wrap: wrap;">
<div v-show="fitem.orderType == 'order'" class="flexbox orderProducts" :class="{ nobottomBorder: fitem.products.length <= 3 }"
v-for="(children, index2) in fitem.products" :key="children.id" style="width: 50%;">
v-for="(children, index2) in fitem.products" :key="children.id" style="width: 50%;" >
<el-tooltip class="item" v-if="children.shippingSn" effect="light" :content="`快递信息:${children.shipperName} ${children.shippingSn}`"
placement="right">
<span class="normal hasDeliver"></span>
@@ -144,7 +160,7 @@
<img :class="children.orderStatus == '1' ? 'greeyImg' : 'lightImg'" :src="children.productUrl" width="60px" height="60px">
</div>
<div class="price ">
<div class="price " style="flex:1">
<div class="bookName">{{ children.productName }}</div>
<div><span>{{ children.productPrice }}</span> × {{ children.quantity }} </div>
@@ -184,7 +200,14 @@
</div>
</div>
<div class="buier td3 xcenter">
<div class="tabName">买家信息<span style="color: #515a6e;">{{ fitem.shippingUser }}</span></div>
<div class="tabName">收货信息
<div style="color: #515a6e;"><span style="color: #515a6e;">{{ fitem.shippingUser }}</span>&nbsp;&nbsp;&nbsp;<span style="color: #515a6e;">{{ fitem.userPhone }}</span></div>
<div style="color: #515a6e;">{{ fitem.province }}-{{ fitem.city }}-{{ fitem.district }}-{{ fitem.address }}</div>
<div style="margin-bottom:10px">
<el-button @click="changeAddressShow" type="primary" size="mini" plain>修改收货信息</el-button>
<!-- <a href="#" v-if="fitem.orderStatus <= 1"><i class="el-icon-edit"></i>修改收货信息</a> -->
</div>
</div>
<div class="tabContent">
<!-- <div>用户id{{ fitem.userId }}</div> -->
@@ -199,8 +222,7 @@
<div class="time">支付时间2023-02-09 14:16:08</div>
</div> -->
<div><el-button style=" line-height: 6px;" type="primary" size="mini" @click="orderDeliver(fitem)"
plain>发货</el-button>
>发货</el-button>
</div>
</div>
</div>
@@ -355,8 +377,60 @@
</template>
</el-table-column>
</el-table>
<el-dialog
title="修改收货信息"
:visible.sync="changeAddVisible"
width="500"
:close="changeAddHandleClose">
<div>
<el-form ref="addressFormRef" :model="addressForm" label-width="120px" :rules="addressFormRule">
<el-form-item label="收货人:" prop="name">
<el-input v-model="addressForm.name"></el-input>
</el-form-item>
<el-form-item label="收货联系电话:" prop="tel">
<el-input v-model="addressForm.tel"></el-input>
</el-form-item>
<el-form-item label="收货地址:" prop="county">
<!-- <el-input v-model="addressForm.address"></el-input> -->
<!-- 省市区-->
<!-- -->
<el-select v-model="addressForm.province" placeholder="请选择省份" style="width:200px" @change="provinceChange">
<el-option
v-for="item in provinceEntity"
:key="item.regionCode"
:label="item.provName"
:value="item.regionCode">
</el-option>
</el-select>
<el-select v-model="addressForm.city" placeholder="请选择市" @change="cityChange">
<el-option
v-for="item in cityEntity.cityList"
:key="item.regionCode"
:label="item.cityName"
:value="item.regionCode">
</el-option>
</el-select>
<el-select v-model="addressForm.county" placeholder="请选择区">
<el-option
v-for="item in countyEntity.countyList"
:key="item.regionCode"
:label="item.countyName"
:value="item.regionCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="详细地址:" prop="addressXX">
<el-input type="textarea" v-model="addressForm.addressXX"></el-input>
</el-form-item>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="changeAddHandleClose"> </el-button>
<el-button type="primary" @click="changeAddress"> </el-button>
</span>
</el-dialog>
<el-pagination @size-change="sizeChangeHandle" @current-change="currentChangeHandle" :current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]" :page-size="pageSize" :total="totalPage"
:page-sizes="[40, 60, 100, 150]" :page-size="pageSize" :total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<!-- 弹窗, 新增 / 修改 -->
@@ -433,7 +507,8 @@ export default {
tabChange: {
tabActiveName: '1', // tab筛选默认all全部 0待付款 1待发货 2已发货 3已完成
isPrint: '0', // 已发货列表筛选 0显示订单 1显示可打印列表,
orderName: '0' //订单名称筛选 all:全部 0:健康超市 1:电子书 2:充值订单
orderName: '0', //订单名称筛选 all:全部 0:健康超市 1:电子书 2:充值订单
sheetCode:0, // 面单状态0 未打印1 已打印
},
editBeizhudialogVisible: false, // 修改备注按钮
editBeizhuform: {
@@ -474,7 +549,33 @@ export default {
}
}]
},
setDeliverVisible: false
setDeliverVisible: false,
addressForm:{
province:null,
city:null,
county:null,
name:'',
tel:'',
addressXX:''
},
provinceEntity:[], // 城市列表
cityEntity:[], // 市
countyEntity:[], // 区
changeAddVisible: false,
addressFormRule:{
name: [
{ required: true, message: '请输入收货人信息', trigger: 'blur' }
],
tel: [
{ required: true, message: '请输入收货联系电话信息', trigger: 'blur' }
],
county: [
{ required: true, message: '请选择收货地址', trigger: 'blur' }
],
addressXX: [
{ required: true, message: '请输入详细地址信息', trigger: 'blur' }
],
}
}
},
components: {
@@ -489,6 +590,69 @@ export default {
}
},
methods: {
changeAddress(){
this.$refs['addressFormRef'].validate((valid) => {
if (valid) {
console.log('修改收货地址')
} else {
return false;
}
});
},
cityChange(e){
// console.log('修改了市',e)
this.addressForm.county = null
this.countyEntity = this.cityEntity.cityList.find((val,index,arr)=>{
return val.regionCode == e
})
// console.log('对应的city数组',this.countyEntity)
},
provinceChange(e){
// console.log('修改了省份',e)
this.addressForm.city = null;
this.addressForm.county = null
this.cityEntity = this.provinceEntity.find((val,index,arr)=>{
return val.regionCode == e
})
// console.log('对应的city数组',this.cityEntity)
},
changeAddHandleClose(){
this.changeAddVisible = false
this.addressForm.province = null
this.addressForm.city = null;
this.addressForm.county = null
this.provinceEntity = []
this.cityEntity = []
this.countyEntity = []
this.$refs['addressFormRef'].clearValidate()
this.$nextTick(() => {
this.addressForm.name = ''
this.addressForm.tel = ''
this.addressForm.addressXX = ''
// this.$refs['addressFormRef'].resetFields();
})
// $refs[formName].resetFields()
console.log('关闭了', this.addressForm)
},
changeAddressShow(){
this.$http({
url: this.$http.adornUrl('/api/province/getProvince'),
method: 'post',
// params: this.$http.adornParams({
// 'orderId': this.query.orderId
// })
}).then(({ data }) => {
console.log('获取地址三级列表', data)
if(data.code == 0){
this.provinceEntity = data.provinceEntity
}
}).catch( e => {
console.log(e,'e')
})
this.changeAddVisible = true
console.log('显示修改收货地址')
},
// 混合发货
showAnyDialog(item) {
this.anyDialogContent = item.fmsHtml
@@ -500,7 +664,7 @@ export default {
// 查询可打印面单
getNotPrintSheetList() {
this.$http({
url: this.$http.adornUrl('/book/buyorderdetail/querySheetPage'),
url: this.$http.adornUrl('/book/buyOrderdetail/querySheetPage'),
method: 'post',
/// data: {}
}).then(({ data }) => {
@@ -560,7 +724,7 @@ export default {
getDataList() {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/book/buyorder/list'),
url: this.$http.adornUrl('/book/buyOrder/list'),
method: 'get',
params: this.$http.adornParams({
'page': this.pageIndex,
@@ -623,7 +787,7 @@ export default {
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/book/buyorder/delete'),
url: this.$http.adornUrl('/book/buyOrder/delete'),
method: 'post',
data: this.$http.adornData(ids, false)
}).then(({ data }) => {
@@ -774,7 +938,7 @@ export default {
let orderType = order.orderStatus
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/book/buyorder/appGetOrderInfo/'+orderType),
url: this.$http.adornUrl('/book/buyOrder/appGetOrderInfo/'+orderType),
method: 'get',
params: this.$http.adornParams({
'orderId': orderid,
@@ -927,7 +1091,7 @@ export default {
}
.productItem {
overflow: hidden;
overflow: hidden;
.flexbox {
align-items: center;

View File

@@ -1,10 +1,16 @@
<template>
<div class="mod-config">
<div class="mod-config">
<!-- 订单详细更新 -->
<div class="orderType">
<span v-if="orderDetails.orderStatus == 0" class="item hightLight0">待付款</span>
<span v-if="orderDetails.orderStatus == 1" class="item hightLight1">待发货</span>
<span v-if="orderDetails.orderStatus == 2" class="item hightLight2">已发货</span>
<span v-if="orderDetails.orderStatus == 3" class="item hightLight3">已完成</span>
</div>
<div>
<ul class="list">
<div class="liName">用户信息</div>
<li><span class="infoTitle">用户名</span><span>{{orderDetails.userName}}</span></li>
<li><span class="infoTitle">用户名</span><span>{{orderDetails.userName ? orderDetails.userName : '暂无'}}</span></li>
<li><span class="infoTitle">用户ID</span><span>{{orderDetails.userId}}</span></li>
<li><span class="infoTitle">联系电话</span><span>{{orderDetails.userPhone}}</span></li>
<li><br/></li>
@@ -23,13 +29,11 @@
<!-- <li><span class="infoTitle">商品总数</span><span>{{orderDetails.}}</span></li> -->
<li><span class="infoTitle">订单金额</span><span>{{orderDetails.orderMoney}}</span></li>
<li><span class="infoTitle">交付邮费</span><span>{{orderDetails.shippingMoney}}</span></li>
<li><span class="infoTitle">优惠金额</span><span></span></li>
<li><span class="infoTitle">会员商品优惠</span><span></span></li>
<li><span class="infoTitle">积分抵扣</span><span></span></li>
<li><span class="infoTitle">实际支付金额</span><span>{{orderDetails.realMoney}}</span></li>
<li><span class="infoTitle" v-if="orderDetails.orderStatus > 0">实际支付金额</span><span>{{orderDetails.realMoney}}</span></li>
<li><span class="infoTitle">创建时间</span><span>{{orderDetails.createTime}}</span></li>
<li><span class="infoTitle">支付时间</span><span>{{orderDetails.paymentDate}}</span></li>
<li style="width: 100%;"><span class="infoTitle">支付方式</span>
<li><span class="infoTitle" v-if="orderDetails.orderStatus > 0">支付时间</span><span>{{orderDetails.paymentDate}}</span></li>
<li style="width: 100%;" v-if="orderDetails.orderStatus > 0"><span class="infoTitle">支付方式</span>
<span v-if="orderDetails.paymentMethod == 2"><icon-svg name="zhifubao"></icon-svg> <span>支付宝支付</span></span>
<span v-if="orderDetails.paymentMethod == 1"><icon-svg name="weixin"></icon-svg> <span>微信支付</span></span>
<span v-if="orderDetails.paymentMethod == 4"><img src="../../../../static/img/oder_chong.png" width="22px" height="22px"> <span>疯币支付</span></span>
@@ -37,10 +41,18 @@
<!-- <icon-svg name="zhifubao"></icon-svg> -->
<span>IOS内购</span>
</span>
</li>
</li>
<li class="line"></li>
<br>
<div class="liName">物流信息 <a href="#" @click="changeAddressShow"><i class="el-icon-edit"></i>修改收货信息</a></div>
<div style="clear:both"></div>
<div v-if="orderDetails.orderStatus > 0">
<div class="liName">优惠信息</div>
<li><span class="infoTitle">优惠金额</span><span>0</span></li>
<li><span class="infoTitle">会员商品优惠</span><span>0</span></li>
<li><span class="infoTitle">积分抵扣</span><span>0</span></li>
<li class="line"></li>
</div>
<div style="clear:both"></div>
<div class="liName">物流信息 <a href="#" @click="changeAddressShow" v-if="orderDetails.orderStatus <= 1"><i class="el-icon-edit"></i>修改收货信息</a></div>
<li><span class="infoTitle">收货人</span><span>{{orderDetails.shippingUser}}</span>&nbsp;&nbsp;&nbsp;<span>{{orderDetails.userPhone}}</span></li>
<li><span class="infoTitle">收货地址</span><span>{{orderDetails.province}}-{{orderDetails.city}}-{{orderDetails.district}}-{{orderDetails.address}}</span></li>
@@ -83,7 +95,7 @@
width="280">
<template slot-scope="scope">
<div class="flexbox">
<img style="padding: 2px; border:1px solid #f1f1f1; margin-right: 5px;" :src="scope.row.image" width="30px" height="30px">
<img style="padding: 2px; border:1px solid #f1f1f1; margin-right: 5px;" :src="scope.row.productUrl" width="30px" height="30px">
<div class="proname">{{ scope.row.productName}}</div>
</div>
</template>
@@ -101,59 +113,51 @@
</ul>
</div>
<el-dialog
title="提示"
title="修改收货信息"
:visible.sync="changeAddVisible"
width="500"
:close="changeAddHandleClose">
<div>
<el-form ref="addressFormRef" :model="addressForm" label-width="120px">
<el-form-item label="收货人:">
<el-input v-model="addressForm.name"></el-input>
</el-form-item>
<el-form-item label="收货联系电话:">
<el-input v-model="addressForm.tel"></el-input>
</el-form-item>
<el-form-item label="收货地址:">
<!-- <el-input v-model="addressForm.address"></el-input> -->
<!-- 省市区-->
<!-- -->
<el-select v-model="addressForm.province" placeholder="请选择省份" style="width:200px" @change="provinceChange">
<el-option
v-for="item in provinceEntity"
:key="item.regionCode"
:label="item.provName"
:value="item.regionCode">
</el-option>
</el-select>
<el-select v-model="addressForm.city" placeholder="请选择市" @change="cityChange">
<el-option
v-for="item in cityEntity.cityList"
:key="item.regionCode"
:label="item.cityName"
:value="item.regionCode">
</el-option>
</el-select>
<el-select v-model="addressForm.county" placeholder="请选择区">
<el-option
v-for="item in countyEntity.countyList"
:key="item.regionCode"
:label="item.countyName"
:value="item.regionCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="详细地址:">
<el-input type="textarea" v-model="addressForm.addressXX"></el-input>
</el-form-item>
</el-form>
<!-- <div class="block">
<span class="demonstration"></span>
<el-cascader
v-model="value"
:props="optionProps"
:options="provinceEntity"
@change="provinceHandleChange"></el-cascader>
</div> -->
<el-form ref="addressFormRef" :model="addressForm" label-width="120px" :rules="addressFormRule">
<el-form-item label="收货人:">
<el-input v-model="addressForm.name"></el-input>
</el-form-item>
<el-form-item label="收货联系电话:">
<el-input v-model="addressForm.tel"></el-input>
</el-form-item>
<el-form-item label="收货地址:">
<!-- <el-input v-model="addressForm.address"></el-input> -->
<!-- 省市区-->
<!-- -->
<el-select v-model="addressForm.province" placeholder="请选择省份" style="width:200px" @change="provinceChange">
<el-option
v-for="item in provinceEntity"
:key="item.regionCode"
:label="item.provName"
:value="item.regionCode">
</el-option>
</el-select>
<el-select v-model="addressForm.city" placeholder="请选择市" @change="cityChange">
<el-option
v-for="item in cityEntity.cityList"
:key="item.regionCode"
:label="item.cityName"
:value="item.regionCode">
</el-option>
</el-select>
<el-select v-model="addressForm.county" placeholder="请选择区">
<el-option
v-for="item in countyEntity.countyList"
:key="item.regionCode"
:label="item.countyName"
:value="item.regionCode">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="详细地址:">
<el-input type="textarea" v-model="addressForm.addressXX"></el-input>
</el-form-item>
</el-form>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="changeAddHandleClose"> </el-button>
@@ -207,6 +211,20 @@ export default {
label: "provName",
children: "children"
},
addressFormRule:{
name: [
{ required: true, message: '请输入收货人信息', trigger: 'blur' }
],
tel: [
{ required: true, message: '请输入收货联系电话信息', trigger: 'blur' }
],
county: [
{ required: true, message: '请选择收货地址', trigger: 'blur' }
],
addressXX: [
{ required: true, message: '请输入详细地址信息', trigger: 'blur' }
],
}
}
},
components: {
@@ -218,7 +236,7 @@ export default {
console.log(this.$route.query.orderId)
this.getData()
},
methods: {
methods: {
cityChange(e){
// console.log('修改了市',e)
this.addressForm.county = null
@@ -268,12 +286,18 @@ export default {
}).catch( e => {
console.log(e,'e')
})
// this.changeAddVisible = true
// this.changeAddVisible = true
console.log('显示修改收货地址')
},
// 修改收货信息
changeAddress(){
console.log('修改收货地址')
this.$refs['addressFormRef'].validate((valid) => {
if (valid) {
console.log('修改收货地址')
} else {
return false;
}
});
},
// 获取地址数据三级联动
// 获取 物流
@@ -285,7 +309,7 @@ export default {
background: 'rgba(0, 0, 0, 0.7)'
});
this.$http({
url: this.$http.adornUrl('/book/buyorder/queryFMS'),
url: this.$http.adornUrl('/book/buyOrder/queryFMS'),
method: 'post',
params: this.$http.adornParams({
'orderId': this.query.orderId
@@ -304,6 +328,9 @@ export default {
return this.$message.error('物流获取失败,请重试')
}
}).catch(({e}) => {
loading.close()
console.log(e,'e')
})
},
@@ -311,14 +338,15 @@ export default {
getData() {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl(`/book/buyorder/appGetOrderInfo/${this.query.ordertype}`),
// url: this.$http.adornUrl(`/book/buyOrder/appGetOrderInfo/${this.query.ordertype}`),
url: this.$http.adornUrl(`/book/buyOrder/getOrderDetail/`),
method: 'get',
params: this.$http.adornParams({
'orderId': this.query.orderId,
})
}).then(({ data }) => {
if (data && data.code === 0) {
this.orderDetails = data.buyOrder
this.orderDetails = data.detail
if(this.query.ordertype != 0){ // 不是待付款订单时
this.getdeliverDetails()
}
@@ -346,6 +374,27 @@ export default {
</script>
<style lang="less" scoped>
.orderType{
overflow: hidden; margin-bottom: 20px;
.item{
color: #fff;
display: inline-block;
padding: 10px;
border-radius: 0 20px 20px 0;
}
.hightLight0{
background-color: #e6a23c;
}
.hightLight1{
background-color: #409eff;
}
.hightLight2{
background-color: #f56c6c;
}
.hightLight3{
background-color: #67c23a;
}
}
.noinfo {
color: #ddd;
text-align: center;

View File

@@ -76,7 +76,7 @@ export default {
});
console.log(deliverOrder.orderId, '收到的deliverOrder')
this.$http({
url: this.$http.adornUrl('/book/buyorder/queryFMS'),
url: this.$http.adornUrl('/book/buyOrder/queryFMS'),
method: 'post',
params: this.$http.adornParams({
'orderId': deliverOrder.orderId

View File

@@ -42,7 +42,7 @@ export default {
this.$nextTick(() => {
if (this.orderId) {
this.$http({
url: this.$http.adornUrl(`/book/buyorder/info/${this.orderId}`),
url: this.$http.adornUrl(`/book/buyOrder/info/${this.orderId}`),
method: 'get',
params: this.$http.adornParams()
}).then(({data}) => {
@@ -59,7 +59,7 @@ export default {
// console.log(this.orderId)
// console.log('执行更新备注操作')
this.$http({
url: this.$http.adornUrl(`/book/buyorder/update`),
url: this.$http.adornUrl(`/book/buyOrder/update`),
method: 'post',
data: this.$http.adornData({
'orderId': this.orderId,

View File

@@ -3,10 +3,10 @@
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="物流公司" prop="deliverLcd">
<el-select size="mini" v-model="ruleForm.deliverLcd" placeholder="请选择物流公司" @change="selectChanged">
<el-option v-for="(item, index) in expressList" :label="item.dictValue"
:value="item.dictType"></el-option>
<el-option v-for="(item, index) in expressList" :label="item.expressName" :key="index"
:value="item.expressCode"></el-option>
</el-select>
<el-radio-group v-model="radio3" size="mini" style="float: right;">
<el-radio-group v-model="radio3" size="mini" style="float: right;" @change="tabChange">
<!-- 三种发货形态-general普通发货,merge:合并发货,mix:混合发货 -->
<el-radio-button label="general">普通发货</el-radio-button>
<!-- <el-radio-button label="merge">合并发货</el-radio-button> -->
@@ -30,7 +30,7 @@
<div class="flexbox orderProducts" v-for="products in productsCodeList" :key="products.productId">
<div class="flexbox productItem" style="">
<!-- <el-checkbox :label="products.allOrderId"></el-checkbox> -->
<img :src="products.image" width="30px" height="30px">
<img :src="products.productUrl" width="30px" height="30px">
<div class="flexbox" style="align-items: center;">
<div class="bookName">{{ products.productName }}</div>
</div>
@@ -58,7 +58,7 @@
<div v-else>
<el-checkbox-group v-model="checkedList" @change="handleCheckedCitiesChange">
<li class="flexbox mergeList" style="border:1px solid #ddf6f3" v-for="(item, index) in mixOrderList">
<li class="flexbox mergeList" style="border:1px solid #ddf6f3" v-for="(item, index) in mixOrderList" :key="index">
<div class="buierInfo flexbox">
<div style="display: flex;width:180px; align-items: center;">
<div style="padding: 10px;" class="">
@@ -70,7 +70,7 @@
</div>
<div class="productInfo" style="width:100%;">
<div class="item" v-for="(item2, index) in item.orderList">
<div class="item" v-for="(item2, index) in item.orderList" :key="index">
<div class="item_head no_right_border">
<el-row>
<el-col :span="24"
@@ -84,10 +84,10 @@
<div class="flexbox" style="justify-content: space-between;">
<div class="td1" style="width:100%; ">
<div class="flexbox orderProducts" style="width:50%; float: left;" v-for="(item3, index) in item2.products">
<div class="flexbox orderProducts" style="width:50%; float: left;" v-for="(item3, index) in item2.products" :key="index">
<div class="flexbox productItem" style="width:100%;">
<el-checkbox :label="item3.allOrderId" :disabled="item3.orderStatus == '1'"><br></el-checkbox>
<img :src="item3.image" width="30px" style="margin-left: -15px;"
<img :src="item3.productUrl" width="30px" style="margin-left: -15px;"
height="30px">
<div class="flexbox" style="align-items: center;">
<div class="bookName">{{item3.productName}}</div>
@@ -153,23 +153,30 @@ export default {
// this.visible = false
this.getExpressList()
},
methods: {
methods: {
tabChange(e){
console.log('变化了')
this.$refs['ruleForm'].clearValidate()
},
// 获取快递公司列表
getExpressList() {
this.$http({
url: this.$http.adornUrl('/book/sysdictdata/selectByType/express_name'),
// url: this.$http.adornUrl('/book/sysdictdata/selectByType/express_name'),
url: this.$http.adornUrl('/express/getExpressCompanyList'),
method: 'get',
}).then(({ data }) => {
// console.log(data, '快递列表')
this.expressList = data.dataList
this.expressList = data.result
}).catch(({ e }) => {
console.log(e,'e')
})
},
selectChanged(val){
console.log(this.ruleForm)
if(this.expressList && this.expressList.length > 0){
this.expressList.forEach(element => {
if(element.dictType == val){
return this.ruleForm.dictValue = element.dictValue
if(element.expressCode == val){
return this.ruleForm.dictValue = element.expressName
}
});
}
@@ -183,7 +190,7 @@ export default {
getMixDeliverOrderList() {
this.orderIds[0] = this.orderitem.orderId
this.$http({
url: this.$http.adornUrl(`/book/buyorder/checkMerge`),
url: this.$http.adornUrl(`/book/buyOrder/checkMerge`),
method: 'post',
data: this.orderIds
}).then(({ data }) => {
@@ -205,26 +212,31 @@ export default {
this.productsCodeList.splice(index, 1)
console.log(index)
}
this.productsIdsList = this.productsCodeList.map( item => item.allOrderId)
this.productsIdsList = this.productsCodeList.map( item => item.id)
})
},
//
// getProductsCodeList
// 普通发货
submit1() {
const loading = this.$loading({
lock: true,
text: '请稍后',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
this.getNewProducts()
console.log(this.productsIdsList)
this.$refs['ruleForm'].validate((valid) => {
if (valid) {
const loading = this.$loading({
lock: true,
text: '请稍后',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
this.$http({
url: this.$http.adornUrl(`/book/buyorder/blendSendFMS/${this.ruleForm.deliverLcd}`),
// url: this.$http.adornUrl(`/book/buyOrder/blendSendFMS/${this.ruleForm.deliverLcd}`),
url: this.$http.adornUrl(`/book/buyOrder/delivery/`),
method: 'post',
params: this.$http.adornParams({
"shipperName" : this.ruleForm.dictValue
// "shipperName" : this.ruleForm.dictValue
'expressCompanyCode': this.ruleForm.deliverLcd
}),
data: this.productsIdsList // 是个数组
// 传orderid
@@ -235,14 +247,20 @@ export default {
this.beforeCloseDialog()
return this.$message.success('发货成功')
}
}).catch(({e}) => {
console.log('e',e)
})
}else{
this.$message.error('请先选择物流公司')
}})
},
// 获取数据列表
getData() {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/book/buyorder/appGetOrderInfo'),
url: this.$http.adornUrl('/book/buyOrder/appGetOrderInfo'),
method: 'get',
params: this.$http.adornParams({
'orderId': this.orderId,
@@ -279,13 +297,15 @@ export default {
background: 'rgba(0, 0, 0, 0.7)'
});
this.$http({
url: this.$http.adornUrl(`/book/buyorder/blendSendFMS/${this.ruleForm.deliverLcd}`),
// url: this.$http.adornUrl(`/book/buyOrder/blendSendFMS/${this.ruleForm.deliverLcd}`),
url: this.$http.adornUrl(`/book/buyOrder/delivery/`),
method: 'post',
params: this.$http.adornParams({
"shipperName" : this.ruleForm.dictValue
// "shipperName" : this.ruleForm.dictValue
'expressCompanyCode': this.ruleForm.deliverLcd
}),
data: this.checkedList,
// 传orderid
// 传orderid
}).then(({ data }) => {
if(data && data.code === 0){
// console.log(data)
@@ -293,16 +313,19 @@ export default {
return this.$message.success('发货成功')
this.beforeCloseDialog()
}
}).catch(({e}) => {
loading.close();
console.log('e',e)
})
// this.$message({
// type: 'success',
// message: '发货成功!'
// });
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
// this.$message({
// type: 'info',
// message: '已取消删除'
// });
});
//this.beforeCloseDialog()
}
@@ -325,9 +348,11 @@ export default {
},
watch: {
orderitem: {
handler(val, oldVal) {
handler(val, oldVal) {
console.log('变化',val)
this.productsCodeList = val.products
this.getNewProducts()
this.getNewProducts()
console.log('productsIdsList',this.productsIdsList)
this.getMixDeliverOrderList()
// this.getData()
// this.visible = true

View File

@@ -13,8 +13,8 @@
class="demo-ruleForm">
<el-form-item label="选择物流" prop="deliverLcd">
<el-select size="mini" v-model="ruleForm.deliverLcd" placeholder="请选择物流" @change="selectChanged">
<el-option v-for="(item, index) in expressList" :label="item.dictValue"
:value="item.dictType" ></el-option>
<el-option v-for="(item, index) in expressList" :label="item.expressName" :key="index"
:value="item.expressCode" ></el-option>
</el-select>
</el-form-item>
</el-form>
@@ -72,30 +72,34 @@ export default {
},
methods: {
// 获取快递公司列表
getExpressList() {
getExpressList() {
this.$http({
url: this.$http.adornUrl('/book/sysdictdata/selectByType/express_name'),
// url: this.$http.adornUrl('/book/sysdictdata/selectByType/express_name'),
url: this.$http.adornUrl('/express/getExpressCompanyList'),
method: 'get',
}).then(({ data }) => {
console.log(data, '快递列表')
this.expressList = data.dataList
// console.log(data, '快递列表')
this.expressList = data.result
}).catch(({ e }) => {
console.log(e,'e')
})
},
selectChanged(val) {
console.log(val.dictValue)
console.log(val)
if (this.expressList && this.expressList.length > 0) {
this.expressList.forEach(element => {
if (element.dictType == val) {
return this.ruleForm.dictValue = element.dictValue
}
if (element.expressCode == val) {
return this.ruleForm.dictValue = element.expressName
}
});
}
},
// 关闭页面
beforeCloseDialog() {
this.$emit('closeDeliverDialog', false)
this.$refs['ruleForm'].resetFields()
this.$refs['ruleForm'].clearValidate()
this.$refs['ruleForm'].resetFields()
/// this.selectData = []
},
// 发货操作
@@ -110,7 +114,7 @@ export default {
});
// 发送后台请求
this.$http({
url: this.$http.adornUrl(`/book/buyorder/delivery/${this.ruleForm.deliverLcd}`),
url: this.$http.adornUrl(`/book/buyOrder/delivery/${this.ruleForm.deliverLcd}`),
method: 'post',
params: this.$http.adornParams({
"shipperName": this.ruleForm.dictValue