提交 54644d78 编写于 作者: changdi.hao's avatar changdi.hao

Merge branch 'release' into 'master'

Release

See merge request com.pica.cloud.education.frontend/pica.cloud.web-education-admin!295
......@@ -2803,10 +2803,6 @@
"loader-utils": "~0.2.5"
}
},
"file-saver": {
"version": "github:eligrey/FileSaver.js#e865e37af9f9947ddcced76b549e27dc45c1cb2e",
"from": "github:eligrey/FileSaver.js#1.3.8"
},
"filename-regex": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz",
......@@ -2961,7 +2957,8 @@
"ansi-regex": {
"version": "2.1.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"aproba": {
"version": "1.2.0",
......@@ -2982,12 +2979,14 @@
"balanced-match": {
"version": "1.0.0",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"brace-expansion": {
"version": "1.1.11",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
......@@ -3002,17 +3001,20 @@
"code-point-at": {
"version": "1.1.0",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"concat-map": {
"version": "0.0.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"console-control-strings": {
"version": "1.1.0",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"core-util-is": {
"version": "1.0.2",
......@@ -3129,7 +3131,8 @@
"inherits": {
"version": "2.0.3",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"ini": {
"version": "1.3.5",
......@@ -3141,6 +3144,7 @@
"version": "1.0.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"number-is-nan": "^1.0.0"
}
......@@ -3155,6 +3159,7 @@
"version": "3.0.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"brace-expansion": "^1.1.7"
}
......@@ -3162,12 +3167,14 @@
"minimist": {
"version": "0.0.8",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"minipass": {
"version": "2.2.4",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"safe-buffer": "^5.1.1",
"yallist": "^3.0.0"
......@@ -3186,6 +3193,7 @@
"version": "0.5.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"minimist": "0.0.8"
}
......@@ -3266,7 +3274,8 @@
"number-is-nan": {
"version": "1.0.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"object-assign": {
"version": "4.1.1",
......@@ -3278,6 +3287,7 @@
"version": "1.4.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"wrappy": "1"
}
......@@ -3363,7 +3373,8 @@
"safe-buffer": {
"version": "5.1.1",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"safer-buffer": {
"version": "2.1.2",
......@@ -3399,6 +3410,7 @@
"version": "1.0.2",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"code-point-at": "^1.0.0",
"is-fullwidth-code-point": "^1.0.0",
......@@ -3418,6 +3430,7 @@
"version": "3.0.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"ansi-regex": "^2.0.0"
}
......@@ -3461,12 +3474,14 @@
"wrappy": {
"version": "1.0.2",
"bundled": true,
"dev": true
"dev": true,
"optional": true
},
"yallist": {
"version": "3.0.2",
"bundled": true,
"dev": true
"dev": true,
"optional": true
}
}
},
......@@ -4448,7 +4463,6 @@
"integrity": "sha512-J9X76xnncMw+wIqb15HeWfPMqPwYxSpPY8yWPJ7rAZN/ZDzFkjCSZObryCyUe8zbrVRNiuCnIeQteCzMn7GnWw==",
"requires": {
"canvg": "1.5.3",
"file-saver": "github:eligrey/FileSaver.js#e865e37af9f9947ddcced76b549e27dc45c1cb2e",
"html2canvas": "1.0.0-alpha.12",
"omggif": "1.0.7",
"promise-polyfill": "8.1.0",
......@@ -4468,6 +4482,10 @@
"base64-arraybuffer": "^0.1.5"
}
},
"file-saver": {
"version": "github:eligrey/FileSaver.js#e865e37af9f9947ddcced76b549e27dc45c1cb2e",
"from": "github:eligrey/FileSaver.js#e865e37af9f9947ddcced76b549e27dc45c1cb2e"
},
"html2canvas": {
"version": "1.0.0-alpha.12",
"resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.0.0-alpha.12.tgz",
......
......@@ -205,7 +205,6 @@
},
// 搜索框中输入文字 时 page=1 pageSize=30
handleInputSearch() {
// debugger;
clearTimeout(this.searchFlagTimer);
let that = this;
that.page = 1;
......
......@@ -34,6 +34,13 @@ body, div, span, header, footer, nav, section, aside, article, ul, dl, dt, dd, l
height: 0px;
background-color: #fff;
}
.el-table ::-webkit-scrollbar{
width: 10px;
height: 10px;
background-color: rgb(184, 180, 180);
}
/*定义滚动条轨道 内阴影+圆角*/
::-webkit-scrollbar-track
......
......@@ -47,6 +47,17 @@ export const queryOrderList = (params) => {
})
};
export const expressInfo = (params) => {
return fetch({
headers,
url: getBaseUrl(`campaign/distribution/logistics/expressInfo`),
method: 'get',
params: params,
description: '查询订单列表',
})
};
export const updateExpress = (params) => {
return fetch({
headers,
......@@ -57,6 +68,16 @@ export const updateExpress = (params) => {
})
};
export const updateExpressNo = (params) => {
return fetch({
headers,
url: getBaseUrl(`store/orders/admin/${params.orderId}/updateExpressNo`),
method: 'post',
data: params,
description: '更新物流单号',
})
};
export const queryShopAuth = (params) => {
return fetch({
......
......@@ -255,7 +255,6 @@ export const getGoodsExportUrl = (params) => {
};
export const getOrdersExportUrl = (params) => {
debugger
return fetch({
headers,
url: getBaseUrl('/store/orders/admin/export'),
......@@ -265,6 +264,45 @@ export const getOrdersExportUrl = (params) => {
})
};
export const uploadExpress = (params) => {
return fetch({
headers,
url: getBaseUrl(`/store/batch/upload/express`),
method: 'POST',
data: params,
description: '批量更新物流操作',
})
};
export const uploadRefund = (params) => {
return fetch({
headers,
url: getBaseUrl(`/store/batch/upload/refund`),
method: 'POST',
data: params,
description: '批量取消退款操作',
})
};
export const getUploadExpressProgress = (id) => {
return fetch({
headers,
url: getBaseUrl(`store/batch/upload/progress/express/${id}`),
method: 'GET',
description: '查询批量更新物流处理进度,id为批次id',
})
};
export const getUploadRefundProgress = (id) => {
return fetch({
headers,
url: getBaseUrl(`store/batch/upload/progress/refund/${id}`),
method: 'GET',
description: '查询批量取消退款处理进度,id为批次id',
})
};
export const getExamAwardList = (params) => {
return fetch({
......@@ -347,3 +385,7 @@ export const delActivity = (params) => {
description: '活动列表',
})
};
......@@ -307,6 +307,7 @@ export default {
setAddVisible: false,
storeId:'',
goodCondition:{
id:"",
goodIds:[],
conditionType:'',
number:'',
......@@ -502,6 +503,7 @@ export default {
addGoodsCondition(){
vm.remoteMethod();
vm.goodCondition = {
id:"",
goodIds:[],
conditionType:'',
number:'',
......@@ -621,13 +623,15 @@ export default {
})
},
// 本应分页加载,这个设置pageSize为最大值解决
remoteMethod(val) {
this.searchForm = {
goodsIdList:[],
goodIdStr :val,
goodsType :'',
pageNo:1,
pageSize: 10,
pageSize: 999,
storeId:this.storeId,
commissionType: 0
};
......@@ -704,6 +708,10 @@ export default {
if (!valid) return false;
// vm.goodCondition.goodIds = [];
// vm.goodCondition.goodIds = vm.setIdArray(vm.goodCondition.goodIdList);
if(vm.goodCondition.conditionType == 2 && vm.goodCondition.number >= 100000){
this.$message({ type: "warning", message: "包邮金额最大不能超过99999.99!" });
return;
}
if(vm.resultForm.goodConditionReqList.length > 0){
// this.formData.tabs[0].contents = vm.resultForm.goodConditionReqList.filter(function (item) {
......
此差异已折叠。
......@@ -63,7 +63,9 @@ const form = {
externalGoodsCode: '',
leastCount:1,
mostCount: -1,
incrType:1
incrType:1,
saleType:1,
minWhole:0
};
......
......@@ -65,6 +65,22 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="销售方式" v-if="commissionFlag == 2">
<el-select
v-model="searchForm.saleType"
placeholder="请选择销售方式"
size="small"
clearable>
<el-option
v-for="item in saleTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" style="text-align: right">
<el-button type="primary" size="small" @click="searchList">查询</el-button>
<el-button type="default" size="small" @click="resetForm" style="margin-left:0;">重置</el-button>
......@@ -138,9 +154,10 @@
<span v-if="scope.row.proxyCommissionType == 2">{{scope.row.proxyCommissionPrice | priceNum}}</span>
</template>
</el-table-column>
<el-table-column prop="saleTypeStr" label="销售方式" width="170" align="center">
</el-table-column>
<el-table-column prop="saleTime" label="发布时间" width="170" align="center">
</el-table-column>
<el-table-column label="操作" width="200" align="center" fixed="right">
<template slot-scope="scope">
<div v-if="scope.row.commissionFlag == 2">
......@@ -377,6 +394,7 @@
pageSize: 10,
storeId:0,
commissionType: 0,
saleType:0,
proxyCommissionType:0
},
innerVisible:false,
......@@ -405,6 +423,19 @@
value: 2,
label: "固定分佣"
}],
saleTypeList: [
{
value: 0,
label: "全部"
},
{
value: 1,
label: "零售"
},
{
value: 2,
label: "批发"
}],
typeList: [],
//uploadUrl:getBaseUrl('store/goods/import'),
postData:{},
......@@ -769,6 +800,7 @@
this.searchForm.goodsName = ''
this.searchForm.goodsType = ''
this.searchForm.commissionType = 0;
this.searchForm.saleType = 0;
this.searchForm.pageNo = 1
this.searchForm.pageSize = 10
......@@ -785,9 +817,9 @@
this.getLists();
},
exportOpt() {
const { goodsIdList, goodsType, goodsName, storeId } = this.searchForm;
const { goodsIdList, goodsType, goodsName, storeId, saleType } = this.searchForm;
getGoodsExportUrl({ goodsIdList, goodsType, goodsName, storeId }).then(res => {
getGoodsExportUrl({ goodsIdList, goodsType, goodsName, storeId, saleType }).then(res => {
if (res.code != '000000') {
this.$message({ message: res.message, type: 'error' });
return;
......
......@@ -8,7 +8,7 @@
<div class="trade-status" v-if="showStatus == 2"><img src="../../assets/image/order/order_status2.png"/>已发货</div>
<div class="trade-status" v-if="showStatus == 3"><img src="../../assets/image/order/order_status3.png"/>待发货</div>
<div class="trade-status" v-if="showStatus == 4"><img src="../../assets/image/order/order_status4.png"/>等待买家付款</div>
<div class="trade-status" v-if="showStatus == 5"><img src="../../assets/image/order/order_status5.png"/>交易关闭</div>
<div class="trade-status" v-if="showStatus == 5"><img src="../../assets/image/order/order_status5.png"/>退款/关闭</div>
<div class="trade-info">
<el-card class="left-card">
<div slot="header" class="clearfix">
......@@ -29,6 +29,9 @@
<div v-if="storeType == 1">
<p>物流公司:{{orderDetailData.expressName}}</p>
<p>快递单号:{{orderDetailData.expressNo}}</p>
<el-button type="text" @click="copyTxt">复制</el-button>
<el-button type="text" @click="updateOrderNo">修改物流单号</el-button>
<input type="text" id="copyInput" class="hidden-input" />
</div>
<div v-if="storeType == 2">
<p>配送员姓名:{{orderDetailData.sender}}</p>
......@@ -67,6 +70,9 @@
<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.prescriberMobile}}</p>
<p>订单类型:{{orderDetailData.saleTypeStr}}</p>
<p v-if="orderDetailData.refundReason">退款原因:{{orderDetailData.refundReason}}</p>
<!--<p>发货时间:{{orderDetailData.sendTime}}</p>-->
<!--<p>成交时间:{{orderDetailData.finishTime}}</p>-->
</div>
......@@ -114,12 +120,34 @@
@closeSendSet="closeSendSet">
</send-set-dialog>
</div>
<el-dialog
class="tui-dialog"
title="修改物流单号"
:visible="showOrderNoFlag"
@close="showOrderNoFlag = false"
width="600px"
>
<el-form ref="orderDetailData" :model="orderDetailData" :rules="rulesExpress" label-width="120px">
<el-form-item label="快递公司" prop="expressName">
<el-input v-model="orderDetailData.expressName"></el-input>
</el-form-item>
<el-form-item label="快递单号" prop="expressNo">
<el-input v-model="orderDetailData.expressNo"></el-input>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="orderDetailData.remark"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button size="small" type="primary" @click="confirmExpressNo">完成</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
// import { openLoading, closeLoading } from "../../utils/utils";
import BreadCrumb from "@/components/breadcrumb.vue";
import { queryOrderDetail } from '@/utils/shop';
import { queryOrderDetail, updateExpressNo } from '@/utils/shop';
import SendSetDialog from "@/components/shop/send-set-dialog";
export default {
components: {
......@@ -155,12 +183,23 @@
payChannel: '',//支付方式
ownerName:'',// 招募人姓名
brokerName:'',//药代名称
prescriberMobile:'',//下单人手机号
// showStatus: null,//订单展示状态,1已完成,2已发货,3待发货,4待支付,5交易关闭
saleTypeStr:'',// 订单类型
},
rulesExpress: {
expressName: [
{ required: true, message: '请输入快递公司', trigger: "blur"},
],
expressNo: [
{ required: true, message: '请输入快递单号', trigger: "blur"},
]
},
tableData: [],
sendGoodsDialog: false,
dialogTitle: '',
sendSetForm: {},
showOrderNoFlag: false,
}
},
created() {
......@@ -209,6 +248,63 @@
}
})
},
// 修改物流单号
updateOrderNo(){
this.showOrderNoFlag = true;
},
confirmExpressNo() {
if (this.orderDetailData.expressName == null || this.orderDetailData.expressName == "") {
this.$message.error("请填写快递公司");
return;
}
if (this.orderDetailData.expressNo == null || this.orderDetailData.expressNo == "") {
this.$message.error("请填写快递单号");
return;
}
updateExpressNo({
orderId: this.orderId,
expressName: this.orderDetailData.expressName,
expressNo: this.orderDetailData.expressNo,
remark: this.orderDetailData.remark
}).then(res => {
if (res.code == '000000') {
this.$message.success('操作成功');
this.showOrderNoFlag = false;
this.searchList();
} else {
this.$message.success(`操作失败:${res.message},请重试`);
}
});
},
copyTxt() {
let txt = document.getElementById("copyInput");
txt.value = this.orderDetailData.expressNo;
// if (navigator.userAgent.match(/(iPhone|iPod|iPad|Mac);?/i)) {
if (navigator.userAgent.indexOf("Safari") > -1 && navigator.userAgent.indexOf("Chrome") < 1) {
var el = document.createElement('input');
el.value = txt.value;//要复制的内容
el.style.opacity = '0';
document.body.appendChild(el);
var editable = el.contentEditable;
var readOnly = el.readOnly;
el.contentEditable = true;
el.readOnly = false;
const range = document.createRange();
range.selectNodeContents(el);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
el.setSelectionRange(0, 999999);
el.contentEditable = editable;
el.readOnly = readOnly;
var ret = document.execCommand('copy');
el.blur();
} else {
txt.select(); //选择对象
document.execCommand("copy");
}
this.$message.success('复制成功');
},
},
filters: {
toFixed2: function (value) {
......
此差异已折叠。
......@@ -100,7 +100,16 @@ const rules = {
{ required: true, message: "请选择商品类型", trigger: "change" }
],
optPrice: [
{ required: true, message: "请输入零售价", trigger: "blur" },
{ required: true, message: "请输入价格", trigger: "blur" },
],
saleType:[
{ required: true, message: "请选择销售方式", trigger: "change" }
],
stock: [
{ required: true, message: "请输入库存", trigger: "blur" },
],
minWhole: [
{ required: true, message: "请输入最小起批", trigger: "blur" },
],
// introduce: [
// { required: true, message: "请输入圈子介绍", trigger: "blur" },
......@@ -119,4 +128,3 @@ export const originRules1 = rules1;
export const originRules2 = rules2;
export const originRules = rules;
\ No newline at end of file
......@@ -511,7 +511,6 @@
this.updatedTree = true;
},
getTreeCheck() {
debugger
//重构归并树
let checkedTree = operationData.getSimpleCheckedNodes(
this.$refs.tree.store
......@@ -1338,4 +1337,3 @@
left: 0;
}
</style>
\ No newline at end of file
......@@ -4414,12 +4414,12 @@ vjs.SeekBar.prototype.onMouseMove = function(event){
};
vjs.SeekBar.prototype.onMouseUp = function(event){
debugger
vjs.Slider.prototype.onMouseUp.call(this, event);
this.player_.scrubbing = false;
if (this.videoWasPlaying) {
debugger
this.player_.play();
}
};
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册