提交 41c080eb 编写于 作者: minghao.wu's avatar minghao.wu

Merge branch 'release' into 'master'

Release

See merge request com.pica.cloud.education.frontend/pica.cloud.web-education-admin!267
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
</div> </div>
</template> </template>
<script> <script>
// import { openLoading, closeLoading } from "../../utils/utils"; import { openLoading, closeLoading } from "../../utils/utils";
import ChangeInfo from "./change-info"; import ChangeInfo from "./change-info";
import { checkMobile } from '@/utils/patients/checkValid'; import { checkMobile } from '@/utils/patients/checkValid';
import { updateExpress } from "@/utils/shop"; import { updateExpress } from "@/utils/shop";
...@@ -167,12 +167,19 @@ ...@@ -167,12 +167,19 @@
if (para.orderNo) { if (para.orderNo) {
para.id = para.orderNo; para.id = para.orderNo;
} }
openLoading(this);
updateExpress(para).then(res => { updateExpress(para).then(res => {
closeLoading(this);
if (res.code == '000000') { if (res.code == '000000') {
this.$message.success('操作成功') this.$message.success('操作成功')
this.$refs.sendSetForm.resetFields(); this.$refs.sendSetForm.resetFields();
this.sendSetForm.remark = ''; this.sendSetForm.remark = '';
this.$emit('closeSendSet',{type: 2}) // this.$emit('closeSendSet',{type: 2})
let timeoutId = null
timeoutId && clearTimeout(timeoutId)
timeoutId = setTimeout(() => {
this.close()
}, 500)
}else { }else {
this.$message.error(res.message); this.$message.error(res.message);
} }
...@@ -183,6 +190,11 @@ ...@@ -183,6 +190,11 @@
}) })
}, },
close(){
this.$emit('closeSendSet',{type: 2})
},
//修改买家收货信息 //修改买家收货信息
changeInfo() { changeInfo() {
this.showChangeInfo = true; this.showChangeInfo = true;
......
...@@ -74,6 +74,7 @@ const rangeApply = r => require.ensure([], () => r(require('../views/yqrange/ran ...@@ -74,6 +74,7 @@ const rangeApply = r => require.ensure([], () => r(require('../views/yqrange/ran
const shopList = r => require.ensure([], () => r(require('../views/shop/shop-list.vue')), 'shop-list') const shopList = r => require.ensure([], () => r(require('../views/shop/shop-list.vue')), 'shop-list')
const createShop = r => require.ensure([], () => r(require('../views/shop/create-shop.vue')), 'create-shop') const createShop = r => require.ensure([], () => r(require('../views/shop/create-shop.vue')), 'create-shop')
const goodsManage = r => require.ensure([], () => r(require('../views/goods/goods-manage.vue')), 'goods-manage') const goodsManage = r => require.ensure([], () => r(require('../views/goods/goods-manage.vue')), 'goods-manage')
const freightConfig = r => require.ensure([], () => r(require('../views/freight/freight-config.vue')), 'freight-config')
const createGood = r => require.ensure([], () => r(require('../views/goods/create-good.vue')), 'create-good') const createGood = r => require.ensure([], () => r(require('../views/goods/create-good.vue')), 'create-good')
const orderManage = r => require.ensure([], () => r(require('../views/goods/order-manage.vue')), 'order-manage') const orderManage = r => require.ensure([], () => r(require('../views/goods/order-manage.vue')), 'order-manage')
const orderDetail = r => require.ensure([], () => r(require('../views/goods/order-detail.vue')), 'order-detail') const orderDetail = r => require.ensure([], () => r(require('../views/goods/order-detail.vue')), 'order-detail')
...@@ -322,6 +323,10 @@ export default [{ ...@@ -322,6 +323,10 @@ export default [{
path: '/goods-manage', path: '/goods-manage',
component: goodsManage, component: goodsManage,
}, },
{
path: '/freight-config',
component: freightConfig,
},
{ {
path: '/create-good', path: '/create-good',
component: createGood, component: createGood,
......
import fetch from '../fetch';
import { getBaseUrl } from '@/utils/index'
let headers = {
'Content-Type': 'application/json;charset=UTF-8',
token: localStorage.getItem('storageToken'),
};
/*查询运费配置信息*/
export const getExpressFee = () => {
return fetch({
headers,
url: getBaseUrl(`/trade/coupon/express/fee/admin`),
method: 'get',
description: '查询运费配置信息',
});
};
/*添加或修改运费配置信息*/
export const createOrModifyExpressFee = (params) => {
return fetch({
headers,
url: `/trade/coupon/express/fee/admin/create`,
method: 'post',
data: params,
description: '添加或修改运费配置信息',
});
};
/*后台-查询运费配置信息*/
export const getFreightConfig = (value) => {
return fetch({
headers,
url: getBaseUrl(`/store/admin/express/fee/store/${value.id}/config`),
method: 'get',
description: '后台-查询运费配置信息',
});
};
/*后台-店铺运费配置信息-save*/
export const saveFreightConfig = (params) => {
return fetch({
headers,
url: getBaseUrl(`/store/admin/express/fee/store/config/save`),
method: 'post',
data: params,
description: '后台-店铺运费配置信息-save',
});
};
...@@ -112,4 +112,14 @@ export const getCheckPackageIdList = (storeId) => { ...@@ -112,4 +112,14 @@ export const getCheckPackageIdList = (storeId) => {
method: 'post', method: 'post',
description: '', description: '',
}) })
}; };
\ No newline at end of file
export const getGoodsIdList = (params) => {
return fetch({
headers,
url: getBaseUrl(`store/goods/query/v2`),
method: 'post',
data: params,
description: '商品ID列表查询',
})
};
...@@ -90,4 +90,20 @@ export const closeShop = (storeId, status = 0) => { ...@@ -90,4 +90,20 @@ export const closeShop = (storeId, status = 0) => {
}) })
}; };
export const brokerListAll = (params) => {
return fetch({
headers,
url: getBaseUrl(`broker/admin/brokerListAll?ownerId=${params.ownerId}`),
method: 'get',
description: '云鹊店铺-订单管理-药代列表',
})
};
export const brokerOwnerListAll = (params) => {
return fetch({
headers,
url: getBaseUrl('broker/admin/brokerOwnerListAll'),
method: 'get',
description: '云鹊店铺-订单管理-招募人列表',
})
};
此差异已折叠。
...@@ -715,7 +715,7 @@ ...@@ -715,7 +715,7 @@
<div class="stock-item">当前库存:{{formData.goodsStock}}</div> <div class="stock-item">当前库存:{{formData.goodsStock}}</div>
<div class="demo-input-suffix"> <div class="demo-input-suffix">
{{stock.type == 1 ? '减少数量' : '增加数量'}} {{stock.type == 1 ? '减少数量' : '增加数量'}}
<el-input v-model="stock.num" :placeholder="stock.placeholderTxt" style="width: 180px;"></el-input> <el-input v-model="stock.num" :placeholder="stock.placeholderTxt" maxLength="8" style="width: 180px;"></el-input>
</div> </div>
</div> </div>
...@@ -812,6 +812,7 @@ ...@@ -812,6 +812,7 @@
goodsId: 0, // 新增时传0,更新时必需>0 goodsId: 0, // 新增时传0,更新时必需>0
goodsType: '', goodsType: '',
storeId: '', storeId: '',
commissionFlag: 2,
// 不同类型服务的表单通用字段 // 不同类型服务的表单通用字段
// 不同类型服务的表单通用字段 // 不同类型服务的表单通用字段
// 不同类型服务的表单通用字段 // 不同类型服务的表单通用字段
...@@ -842,10 +843,11 @@ ...@@ -842,10 +843,11 @@
}, },
created() { created() {
vm = this; vm = this;
const { id, storeId, goodsType, inputType } = this.$route.query; const { id, storeId, goodsType, inputType, commissionFlag} = this.$route.query;
this.goodsType = goodsType; this.goodsType = goodsType;
this.storeId = storeId; this.storeId = storeId;
this.inputType = inputType || ''; this.inputType = inputType || '';
this.commissionFlag = commissionFlag;
// this.formData = originForm; // this.formData = originForm;
// this.formData1 = originForm1; // this.formData1 = originForm1;
// this.formData2 = originForm2; // this.formData2 = originForm2;
...@@ -854,7 +856,7 @@ ...@@ -854,7 +856,7 @@
this.rules2 = originRules2; this.rules2 = originRules2;
// this.rules2.barCode = originRules.barCode; // this.rules2.barCode = originRules.barCode;
this.jumPathThird = '/goods-manage?storeId='+storeId this.jumPathThird = '/goods-manage?storeId=' + storeId +'&commissionFlag=' + this.commissionFlag;
//this.jumPathThird = '/create-good?id=add&storeId=46' //this.jumPathThird = '/create-good?id=add&storeId=46'
this.title = id == 'add' ? '新增商品' : '编辑商品'; this.title = id == 'add' ? '新增商品' : '编辑商品';
this.isEdit = id != 'add'; this.isEdit = id != 'add';
...@@ -1295,6 +1297,7 @@ ...@@ -1295,6 +1297,7 @@
path: '/goods-manage', path: '/goods-manage',
query: { query: {
storeId: this.formData.storeId, storeId: this.formData.storeId,
commissionFlag: this.commissionFlag
} }
}) })
}) })
......
此差异已折叠。
...@@ -65,6 +65,8 @@ ...@@ -65,6 +65,8 @@
<p>下单时间:{{orderDetailData.createdTime}}</p> <p>下单时间:{{orderDetailData.createdTime}}</p>
<p v-if="(showStatus == 1 || showStatus == 2 || showStatus == 3) && orderDetailData.payChannel">支付方式:{{orderDetailData.payChannel | payChanelFormat}}</p> <p v-if="(showStatus == 1 || showStatus == 2 || showStatus == 3) && orderDetailData.payChannel">支付方式:{{orderDetailData.payChannel | payChanelFormat}}</p>
<p v-if="showStatus == 1 || showStatus == 2 || showStatus == 3">支付时间:{{orderDetailData.paymentTime}}</p> <p v-if="showStatus == 1 || showStatus == 2 || showStatus == 3">支付时间:{{orderDetailData.paymentTime}}</p>
<p v-if="showStatus == 1 || showStatus == 2 || showStatus == 3">&nbsp;&nbsp;&nbsp;招募人:{{orderDetailData.ownerName}}</p>
<p v-if="showStatus == 1 || showStatus == 2 || showStatus == 3">所属药代:{{orderDetailData.brokerName}}</p>
<!--<p>发货时间:{{orderDetailData.sendTime}}</p>--> <!--<p>发货时间:{{orderDetailData.sendTime}}</p>-->
<!--<p>成交时间:{{orderDetailData.finishTime}}</p>--> <!--<p>成交时间:{{orderDetailData.finishTime}}</p>-->
</div> </div>
...@@ -96,8 +98,12 @@ ...@@ -96,8 +98,12 @@
<div class="total-set"> <div class="total-set">
<p><span>商品总额:</span><span>¥{{orderDetailData.totalPrice | toFixed2}}</span></p> <p><span>商品总额:</span><span>¥{{orderDetailData.totalPrice | toFixed2}}</span></p>
<p><span>优惠:</span><span>-¥{{orderDetailData.totalCouponFee | toFixed2}}</span></p> <p><span>优惠:</span><span>-¥{{orderDetailData.totalCouponFee | toFixed2}}</span></p>
<p><span>&nbsp;运费:</span>
<span v-if="orderDetailData.expressFee == 0">免运费</span>
<span v-else-if="orderDetailData.expressFee != 0">¥{{orderDetailData.expressFee | toFixed2}}</span>
</p>
<p class="total-price" v-if="showStatus == 1 || showStatus == 2 || showStatus == 3"><span>实付:</span><span>¥{{orderDetailData.amount | toFixed2}}</span></p> <p class="total-price" v-if="showStatus == 1 || showStatus == 2 || showStatus == 3"><span>实付:</span><span>¥{{orderDetailData.amount | toFixed2}}</span></p>
<p class="total-price" v-if="showStatus == 4"><span>应付:</span><span>¥{{orderDetailData.totalPrice | toFixed2}}</span></p> <p class="total-price" v-if="showStatus == 4"><span>应付:</span><span>¥{{(orderDetailData.totalPrice)| toFixed2}}</span></p>
<p class="total-price" v-if="showStatus == 5"><span>实付:</span><span>¥0.00</span></p> <p class="total-price" v-if="showStatus == 5"><span>实付:</span><span>¥0.00</span></p>
</div> </div>
</div> </div>
...@@ -147,6 +153,8 @@ ...@@ -147,6 +153,8 @@
remark: '',//备注 remark: '',//备注
sendTime: '',//发货时间 sendTime: '',//发货时间
payChannel: '',//支付方式 payChannel: '',//支付方式
ownerName:'',// 招募人姓名
brokerName:'',//药代名称
// showStatus: null,//订单展示状态,1已完成,2已发货,3待发货,4待支付,5交易关闭 // showStatus: null,//订单展示状态,1已完成,2已发货,3待发货,4待支付,5交易关闭
}, },
tableData: [], tableData: [],
......
...@@ -26,6 +26,43 @@ ...@@ -26,6 +26,43 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="30" type="flex" style="margin-top: 10px">
<el-col :span="18">
<el-form-item label="招募人">
<el-select
v-model="searchForm.ownerId"
id="statusSelector"
placeholder="请输入招募人"
@change="changeOwner"
clearable
style="width:110%;height: 32px;line-height: 32px;"
>
<el-option
v-for="item in brokerOwnerList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="药代姓名">
<el-select
v-model="searchForm.brokerId"
id="statusSelector"
placeholder="请输入药代姓名"
clearable
style="width:110%;height: 32px;line-height: 32px;"
>
<el-option
v-for="item in brokerList"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" style="text-align: right"> <el-col :span="6" style="text-align: right">
<el-button type="primary" size="small" @click="searchList">查询</el-button> <el-button type="primary" size="small" @click="searchList">查询</el-button>
<el-button type="default" size="small" @click="resetForm" style="margin-left:0;">重置</el-button> <el-button type="default" size="small" @click="resetForm" style="margin-left:0;">重置</el-button>
...@@ -56,6 +93,7 @@ ...@@ -56,6 +93,7 @@
<span>{{ scope.row.amount | toFixed2}}</span> <span>{{ scope.row.amount | toFixed2}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="prescriberName" label="创建人" min-width="100" align="center"></el-table-column>
<el-table-column prop="receiver" label="买家" min-width="100" align="center"></el-table-column> <el-table-column prop="receiver" label="买家" min-width="100" align="center"></el-table-column>
<el-table-column prop="goodsQuantityList" label="数量" min-width="100" align="center"> <el-table-column prop="goodsQuantityList" label="数量" min-width="100" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -80,12 +118,15 @@ ...@@ -80,12 +118,15 @@
<span>{{ scope.row.createTime }}</span> <span>{{ scope.row.createTime }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="ownerName" label="招募人" min-width="100" align="center"></el-table-column>
<el-table-column prop="brokerName" label="药代姓名" min-width="100" align="center"></el-table-column>
<el-table-column prop="comments" label="备注" min-width="100" align="center"></el-table-column> <el-table-column prop="comments" label="备注" min-width="100" align="center"></el-table-column>
<el-table-column label="操作" min-width="250" align="center" fixed="right"> <el-table-column label="操作" min-width="250" align="center" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<div> <div>
<!--<el-button @click="closeTrade(scope.row)" type="text" size="small">关闭交易</el-button>--> <!--<el-button @click="closeTrade(scope.row)" type="text" size="small">关闭交易</el-button>-->
<!--<el-button @click="changePrice(scope.row)" type="text" size="small">修改价格</el-button>--> <!--<el-button @click="changePrice(scope.row)" type="text" size="small">修改价格</el-button>-->
<!-- <el-button @click="sendGoods(scope.row)" type="text" size="small">发货</el-button>-->
<el-button v-if="scope.row.storeType == 1 && scope.row.showStatus == 3 && scope.row.refundStatus == 0" @click="sendGoods(scope.row)" type="text" size="small">发货</el-button> <el-button v-if="scope.row.storeType == 1 && scope.row.showStatus == 3 && scope.row.refundStatus == 0" @click="sendGoods(scope.row)" type="text" size="small">发货</el-button>
<el-button v-if="scope.row.storeType == 2 && scope.row.showStatus == 3 && scope.row.refundStatus == 0" @click="distribute(scope.row)" type="text" size="small">配送</el-button> <el-button v-if="scope.row.storeType == 2 && scope.row.showStatus == 3 && scope.row.refundStatus == 0" @click="distribute(scope.row)" type="text" size="small">配送</el-button>
<el-button v-if="scope.row.storeType == 1 && (scope.row.showStatus == 1 || scope.row.showStatus == 2)" @click="viewLogistics(scope.row)" type="text" size="small">查看物流</el-button> <el-button v-if="scope.row.storeType == 1 && (scope.row.showStatus == 1 || scope.row.showStatus == 2)" @click="viewLogistics(scope.row)" type="text" size="small">查看物流</el-button>
...@@ -213,6 +254,7 @@ ...@@ -213,6 +254,7 @@
@close="showTuiDialog = false" @close="showTuiDialog = false"
width="385px" width="385px"
> >
<div style="margin-bottom: 20px;margin-top: -20px;text-align: center;"><span style="color: red;">温馨提示:订单一旦退款,订单关联的预约单将被同步取消,请谨慎操作退款</span></div>
<el-form ref="tuiForm" :rules="rules" :model="tuiForm" label-width="120px"> <el-form ref="tuiForm" :rules="rules" :model="tuiForm" label-width="120px">
<el-form-item label="退款退货方式:"> <el-form-item label="退款退货方式:">
<el-select v-model="tuiForm.type" placeholder="请选择退货方式"> <el-select v-model="tuiForm.type" placeholder="请选择退货方式">
...@@ -245,11 +287,11 @@ ...@@ -245,11 +287,11 @@
</div> </div>
</template> </template>
<script> <script>
// import { openLoading, closeLoading } from "../../utils/utils"; import { openLoading, closeLoading } from "../../utils/utils";
import BreadCrumb from "@/components/breadcrumb.vue"; import BreadCrumb from "@/components/breadcrumb.vue";
import SendSetDialog from "@/components/shop/send-set-dialog"; import SendSetDialog from "@/components/shop/send-set-dialog";
import { getOrdersExportUrl } from "@/utils/yqrange/yqrangeApi"; import { getOrdersExportUrl } from "@/utils/yqrange/yqrangeApi";
import { queryOrderList, updateExpress, refundApply } from "@/utils/shop"; import { queryOrderList, updateExpress, refundApply, brokerListAll, brokerOwnerListAll} from "@/utils/shop";
import { toDecimal2 } from '@/utils'; import { toDecimal2 } from '@/utils';
export default { export default {
...@@ -269,6 +311,8 @@ ...@@ -269,6 +311,8 @@
orderNo: '', orderNo: '',
receiver: '', receiver: '',
orderDate: '', orderDate: '',
brokerId:'',
ownerId:'',
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
}, },
...@@ -332,24 +376,35 @@ ...@@ -332,24 +376,35 @@
label: '支付用户', label: '支付用户',
value: 2, value: 2,
}, },
] ],
ownerId:'',
brokerList:[],
brokerOwnerList:[],
} }
}, },
created() { created() {
console.log("order created() : enter"); console.log("order created() : enter");
this.searchForm.storeId = this.$route.query.storeId || 0, this.searchForm.storeId = this.$route.query.storeId || 0,
this.searchList(); this.searchList();
this.brokerListAll();
this.brokerOwnerListAll();
}, },
methods: { methods: {
searchList(){ searchList(){
console.log("searchList搜索开始")
openLoading(this);
queryOrderList(this.searchForm).then(res => { queryOrderList(this.searchForm).then(res => {
closeLoading(this);
if (res.code == '000000') { if (res.code == '000000') {
console.log("searchList搜索结束")
this.tableData = res.data.orderSingleDtoList; this.tableData = res.data.orderSingleDtoList;
this.totalRows = res.data.totalNum; this.totalRows = res.data.totalNum;
} }
}) })
}, },
resetForm() { resetForm() {
console.log("resetForm重置")
this.activeName = 'all'; this.activeName = 'all';
this.searchForm = { this.searchForm = {
showStatus: -1, showStatus: -1,
...@@ -358,10 +413,15 @@ ...@@ -358,10 +413,15 @@
orderNo: '', orderNo: '',
receiver: '', receiver: '',
orderDate: '', orderDate: '',
brokerId:'',
ownerId:'',
pageNo: 1, pageNo: 1,
pageSize: 10, pageSize: 10,
}; };
this.ownerId = "";
this.searchList(); this.searchList();
this.brokerOwnerListAll();
this.brokerListAll();
}, },
handleSizeChange(val) { handleSizeChange(val) {
this.searchForm.pageSize = val; this.searchForm.pageSize = val;
...@@ -417,8 +477,10 @@ ...@@ -417,8 +477,10 @@
this.sendSetForm = row; this.sendSetForm = row;
}, },
closeSendSet(val) { closeSendSet(val) {
console.log("关闭,val.type:" + val.type);
//保存操作 //保存操作
if (val.type == 2) { if (val.type == 2) {
console.log("刷新列表resetForm");
this.resetForm();//更新列表 this.resetForm();//更新列表
} }
this.sendGoodsDialog = false; this.sendGoodsDialog = false;
...@@ -520,16 +582,43 @@ ...@@ -520,16 +582,43 @@
}); });
}, },
exportOrder() { exportOrder() {
const { goodsName, orderNo, receiver, orderDate, storeId } = this.searchForm; const { goodsName, orderNo, receiver, orderDate, storeId,brokerId,ownerId } = this.searchForm;
getOrdersExportUrl({ goodsName, orderNo, receiver, orderDate, storeId }).then(res => { getOrdersExportUrl({ goodsName, orderNo, receiver, orderDate, storeId,brokerId,ownerId }).then(res => {
if (res.code != '000000') { if (res.code != '000000') {
this.$message({ message: res.message, type: 'error' }); this.$message({ message: res.message, type: 'error' });
return; return;
} }
window.open(res.data); window.open(res.data);
}); });
},
// 云鹊店铺-订单管理-药代列表
brokerListAll(){
brokerListAll({ownerId:this.ownerId}).then(res => {
closeLoading(this);
if (res.code == '000000') {
this.brokerList = res.data;
}
})
},
//云鹊店铺-订单管理-招募人列表
brokerOwnerListAll(){
brokerOwnerListAll().then(res => {
closeLoading(this);
if (res.code == '000000') {
this.brokerOwnerList = res.data;
}
})
},
changeOwner(data) {
this.ownerId = data;
this.brokerListAll();
} }
}, },
filters: { filters: {
toFixed2: function (value) { toFixed2: function (value) {
......
此差异已折叠。
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册