|
@@ -3,17 +3,17 @@
|
|
<div class="order-left">
|
|
<div class="order-left">
|
|
<el-collapse v-model="activeNames" class="my-collapse">
|
|
<el-collapse v-model="activeNames" class="my-collapse">
|
|
<el-collapse-item title="基本信息" name="1">
|
|
<el-collapse-item title="基本信息" name="1">
|
|
- <input-select :options="myOptions" @input="parameChange" />
|
|
|
|
- <input-select :options="outLineOptions" @input="parameChange" />
|
|
|
|
- <input-select :options="buyerOptions" @input="parameChange" />
|
|
|
|
|
|
+ <input-select :options="myOptions" @input="parameChange" ref="searchCom01" />
|
|
|
|
+ <input-select :options="outLineOptions" @input="parameChange" ref="searchCom02" />
|
|
|
|
+ <input-select :options="buyerOptions" @input="parameChange" ref="searchCom03" />
|
|
</el-collapse-item>
|
|
</el-collapse-item>
|
|
- <order-checkbox title="订单状态" keyName="status" :options="statusOptions" noLimit @checkboxChange="onChange($event,'status')" />
|
|
|
|
- <order-radio title="买家留言" keyName="buyerMessageFilter" :options="buyerMessageOptions" noLimit @radioChange="onChange($event,'buyerMessageFilter')">
|
|
|
|
|
|
+ <order-checkbox title="订单状态" keyName="status" ref="searchCom04" :options="statusOptions" noLimit @checkboxChange="onChange($event,'status')" />
|
|
|
|
+ <order-radio title="买家留言" keyName="buyerMessageFilter" ref="searchCom05" :options="buyerMessageOptions" noLimit @radioChange="onChange($event,'buyerMessageFilter')">
|
|
<template v-slot:buyerMessage>
|
|
<template v-slot:buyerMessage>
|
|
<el-input style="width: 140px;" v-model="value.buyerMessageContent" size="mini" placeholder="留言内容"></el-input>
|
|
<el-input style="width: 140px;" v-model="value.buyerMessageContent" size="mini" placeholder="留言内容"></el-input>
|
|
</template>
|
|
</template>
|
|
</order-radio>
|
|
</order-radio>
|
|
- <order-radio title="卖家备注" keyName="remarkFilter" :options="remarkFilterOptions" noLimit @radioChange="onChange($event,'remarkFilter')">
|
|
|
|
|
|
+ <order-radio title="卖家备注" keyName="remarkFilter" ref="searchCom06" :options="remarkFilterOptions" noLimit @radioChange="onChange($event,'remarkFilter')">
|
|
<template v-slot:remarkFilter>
|
|
<template v-slot:remarkFilter>
|
|
<el-input style="width: 140px;" v-model="value.remarkContent" size="mini" placeholder="备注内容"></el-input>
|
|
<el-input style="width: 140px;" v-model="value.remarkContent" size="mini" placeholder="备注内容"></el-input>
|
|
</template>
|
|
</template>
|
|
@@ -30,13 +30,13 @@
|
|
</el-select>
|
|
</el-select>
|
|
<i class="el-icon-info" title="附加订单时间限制,许多仅限待发货订单的查询条件将自动取消限制"></i>
|
|
<i class="el-icon-info" title="附加订单时间限制,许多仅限待发货订单的查询条件将自动取消限制"></i>
|
|
</div>
|
|
</div>
|
|
- <filter-date @change="onChangeTime" />
|
|
|
|
|
|
+ <filter-date @change="onChangeTime" ref="searchCom07" />
|
|
<div>付款后几小时未发货:</div>
|
|
<div>付款后几小时未发货:</div>
|
|
<div class="order-time">
|
|
<div class="order-time">
|
|
<el-input v-model="value.deliveryHours" class="deliveryHours-input" size="mini" type="number" style=""></el-input>
|
|
<el-input v-model="value.deliveryHours" class="deliveryHours-input" size="mini" type="number" style=""></el-input>
|
|
<i class="el-icon-info" title="单位小时,不支持小数位。如果数值大于0,强制为未发货订单。同时勾选店铺可以实现不同平台的未发货时效查询"></i>
|
|
<i class="el-icon-info" title="单位小时,不支持小数位。如果数值大于0,强制为未发货订单。同时勾选店铺可以实现不同平台的未发货时效查询"></i>
|
|
</div>
|
|
</div>
|
|
- <filterMinMax title="剩余发货时间(小时)" minField="deliveryRemainingMin" maxField="deliveryRemainingMax" @change="parameChange" />
|
|
|
|
|
|
+ <filterMinMax title="剩余发货时间(小时)" ref="searchCom08" minField="deliveryRemainingMin" maxField="deliveryRemainingMax" @change="parameChange" />
|
|
</el-collapse-item>
|
|
</el-collapse-item>
|
|
<!-- <el-collapse-item name="info">
|
|
<!-- <el-collapse-item name="info">
|
|
<template slot="title">
|
|
<template slot="title">
|
|
@@ -82,14 +82,14 @@
|
|
</el-select>
|
|
</el-select>
|
|
<order-product />
|
|
<order-product />
|
|
</el-collapse-item> -->
|
|
</el-collapse-item> -->
|
|
- <order-checkbox title="平台订单状态" keyName="shopStatusList" :options="shopStatusListOption" noLimit @checkboxChange="onChange($event,'shopStatusList')" />
|
|
|
|
- <order-radio title="便签|线下备注 " keyName="noteFilter" :options="noteFilterOptions" noLimit @radioChange="onChange($event,'noteFilter')">
|
|
|
|
|
|
+ <order-checkbox title="平台订单状态" ref="searchCom09" keyName="shopStatusList" :options="shopStatusListOption" noLimit @checkboxChange="onChange($event,'shopStatusList')" />
|
|
|
|
+ <order-radio title="便签|线下备注" ref="searchCom10" keyName="noteFilter" :options="noteFilterOptions" noLimit @radioChange="onChange($event,'noteFilter')">
|
|
<template v-slot:noteContent>
|
|
<template v-slot:noteContent>
|
|
<el-input style="width: 140px;" v-model="value.noteContent" size="mini" placeholder="备注内容"></el-input>
|
|
<el-input style="width: 140px;" v-model="value.noteContent" size="mini" placeholder="备注内容"></el-input>
|
|
</template>
|
|
</template>
|
|
</order-radio>
|
|
</order-radio>
|
|
- <order-radio title="订单来源" keyName="sourceFrom" :options="sourceFromOptions" noLimit @radioChange="onChange($event,'sourceFrom')" />
|
|
|
|
- <order-checkbox title="订单类型" keyName="type" :options="typeOption" noLimit @checkboxChange="onChange($event,'type')" />
|
|
|
|
|
|
+ <order-radio title="订单来源" keyName="sourceFrom" ref="searchCom11" :options="sourceFromOptions" noLimit @radioChange="onChange($event,'sourceFrom')" />
|
|
|
|
+ <order-checkbox title="订单类型" keyName="type" ref="searchCom12" :options="typeOption" noLimit @checkboxChange="onChange($event,'type')" />
|
|
<el-collapse-item title="付款方式 & 是否付款" name="codAndPay">
|
|
<el-collapse-item title="付款方式 & 是否付款" name="codAndPay">
|
|
<div class="box01">
|
|
<div class="box01">
|
|
<el-radio-group v-model="radio" @input="colChange">
|
|
<el-radio-group v-model="radio" @input="colChange">
|
|
@@ -106,7 +106,7 @@
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</div>
|
|
</div>
|
|
</el-collapse-item>
|
|
</el-collapse-item>
|
|
- <el-collapse-item title="标签&多标签 | 旗帜" name="flag">
|
|
|
|
|
|
+ <!-- <el-collapse-item title="标签&多标签 | 旗帜" name="flag">
|
|
<div>包含旗帜</div>
|
|
<div>包含旗帜</div>
|
|
<div class="orderSelect">
|
|
<div class="orderSelect">
|
|
<el-select v-model="value.includeFlags" multiple collapse-tags size="mini" placeholder="请选择旗帜" clearable>
|
|
<el-select v-model="value.includeFlags" multiple collapse-tags size="mini" placeholder="请选择旗帜" clearable>
|
|
@@ -129,22 +129,22 @@
|
|
</el-option>
|
|
</el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</div>
|
|
</div>
|
|
- </el-collapse-item>
|
|
|
|
- <order-checkbox title="店铺" keyName="shopIdList" :options="shopIdListOptions" @checkboxChange="onChange($event,'shopIdList')" />
|
|
|
|
|
|
+ </el-collapse-item> -->
|
|
|
|
+ <order-checkbox title="店铺" ref="searchCom13" keyName="shopIdList" :options="shopIdListOptions" @checkboxChange="onChange($event,'shopIdList')" />
|
|
|
|
|
|
- <order-checkbox title="省份" keyName="receiverProvinceCode" :options="provinceOptions" @checkboxChange="onChange($event,'receiverProvinceCode')" />
|
|
|
|
|
|
+ <order-checkbox title="省份" ref="searchCom14" keyName="receiverProvinceCode" :options="provinceOptions" @checkboxChange="onChange($event,'receiverProvinceCodeList')" />
|
|
</el-collapse>
|
|
</el-collapse>
|
|
<div class="searchHandle">
|
|
<div class="searchHandle">
|
|
- <el-button size="mini">重置</el-button>
|
|
|
|
|
|
+ <el-button size="mini" @click="resert">重置</el-button>
|
|
<el-button type="primary" size="mini" @click="search">搜索</el-button>
|
|
<el-button type="primary" size="mini" @click="search">搜索</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="order-right">
|
|
<div class="order-right">
|
|
<div class="tool">
|
|
<div class="tool">
|
|
- <order-tool @addOrder="addOrder"/>
|
|
|
|
|
|
+ <order-tool @addOrder="addOrder" @smt="smtOrder" @reSmt="reSmt"/>
|
|
</div>
|
|
</div>
|
|
<div class="table">
|
|
<div class="table">
|
|
- <order-table :data="data"/>
|
|
|
|
|
|
+ <order-table :data="data" ref="orderTable"/>
|
|
<div class="page">
|
|
<div class="page">
|
|
<el-pagination v-if="page.total > 0" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page.pageNo" :page-size="page.pageSize"
|
|
<el-pagination v-if="page.total > 0" @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page.pageNo" :page-size="page.pageSize"
|
|
:layout="'total, sizes, prev, pager, next, jumper'" :total="page.total"></el-pagination>
|
|
:layout="'total, sizes, prev, pager, next, jumper'" :total="page.total"></el-pagination>
|
|
@@ -166,7 +166,7 @@ import AddOrder from "./components/addOrder.vue";
|
|
import InputSelect from "./components/inputSelect.vue";
|
|
import InputSelect from "./components/inputSelect.vue";
|
|
import OrderProduct from "./components/orderProduct.vue";
|
|
import OrderProduct from "./components/orderProduct.vue";
|
|
import filterMinMax from './components/filterMinMax.vue'
|
|
import filterMinMax from './components/filterMinMax.vue'
|
|
-import { query } from '@/api/omsOrder'
|
|
|
|
|
|
+import { query,getProvince,smt,unSmt } from '@/api/omsOrder'
|
|
@Component({components:{filterInput,OrderCheckbox,OrderRadio,filterDate,OrderTool,OrderTable,AddOrder,InputSelect,OrderProduct,filterMinMax}})
|
|
@Component({components:{filterInput,OrderCheckbox,OrderRadio,filterDate,OrderTool,OrderTable,AddOrder,InputSelect,OrderProduct,filterMinMax}})
|
|
export default class Order extends Vue {
|
|
export default class Order extends Vue {
|
|
activeNames:Array<any>=['1']
|
|
activeNames:Array<any>=['1']
|
|
@@ -179,23 +179,23 @@ export default class Order extends Vue {
|
|
total: 0 //总条数
|
|
total: 0 //总条数
|
|
}
|
|
}
|
|
value:any={
|
|
value:any={
|
|
- sourceId:'', //线上订单号
|
|
|
|
- shopBuyerId:'', //买家昵称
|
|
|
|
- buyerId:'', //买家ID
|
|
|
|
- logisticsId:'', //快递单号
|
|
|
|
- logisticsCompany:'', //快递公司
|
|
|
|
- internationalLogisticsId:'', //国际物流单号
|
|
|
|
- isSubmitte:'', //数据是否已提交
|
|
|
|
- drpCoIdFrom:'', //分销商编号
|
|
|
|
- drpCoIdTo:'', //供销商编号
|
|
|
|
- sourceFrom:'', //订单来源
|
|
|
|
- dateType:1,//时间类型
|
|
|
|
- deliveryRemainingMin:0, //订单剩余发货时间(小时)-小于等于
|
|
|
|
- deliveryRemainingMax:null, //订单剩余发货时间(小时)-大于等于
|
|
|
|
- includeSkuType:1, //包含编码类型
|
|
|
|
- type:'', //订单类型
|
|
|
|
- status:'' , //订单状态
|
|
|
|
- excludeSkuType:1, //排除编码类型
|
|
|
|
|
|
+ // sourceId:'', //线上订单号
|
|
|
|
+ // shopBuyerId:'', //买家昵称
|
|
|
|
+ // buyerId:'', //买家ID
|
|
|
|
+ // logisticsId:'', //快递单号
|
|
|
|
+ // logisticsCompany:'', //快递公司
|
|
|
|
+ // internationalLogisticsId:'', //国际物流单号
|
|
|
|
+ // isSubmitte:'', //数据是否已提交
|
|
|
|
+ // drpCoIdFrom:'', //分销商编号
|
|
|
|
+ // drpCoIdTo:'', //供销商编号
|
|
|
|
+ // sourceFrom:'', //订单来源
|
|
|
|
+ // dateType:1,//时间类型
|
|
|
|
+ // deliveryRemainingMin:0, //订单剩余发货时间(小时)-小于等于
|
|
|
|
+ // deliveryRemainingMax:null, //订单剩余发货时间(小时)-大于等于
|
|
|
|
+ // includeSkuType:1, //包含编码类型
|
|
|
|
+ // type:'', //订单类型
|
|
|
|
+ // status:'' , //订单状态
|
|
|
|
+ // excludeSkuType:1, //排除编码类型
|
|
}
|
|
}
|
|
myOptions=[{
|
|
myOptions=[{
|
|
label:'内部订单号',
|
|
label:'内部订单号',
|
|
@@ -437,36 +437,83 @@ export default class Order extends Vue {
|
|
}]
|
|
}]
|
|
|
|
|
|
//省份
|
|
//省份
|
|
- provinceOptions:Array<any>=[{
|
|
|
|
- label:'北京',
|
|
|
|
- value:'1'
|
|
|
|
- },{
|
|
|
|
- label:'天津',
|
|
|
|
- value:'2'
|
|
|
|
- },{
|
|
|
|
- label:'上海',
|
|
|
|
- value:'3'
|
|
|
|
- },{
|
|
|
|
- label:'河北省',
|
|
|
|
- value:'4'
|
|
|
|
- },{
|
|
|
|
- label:'广西壮族自治区',
|
|
|
|
- value:'5'
|
|
|
|
- }]
|
|
|
|
-
|
|
|
|
|
|
+ provinceOptions:Array<any>=[]
|
|
|
|
|
|
mounted(){
|
|
mounted(){
|
|
this.getList()
|
|
this.getList()
|
|
|
|
+ this.getProvince()
|
|
|
|
+ }
|
|
|
|
+ resert(){
|
|
|
|
+ this.value={};
|
|
|
|
+ for(const key in this.$refs){
|
|
|
|
+ if(key.indexOf('searchCom') >= 0 && (this.$refs[key] as any).clear){
|
|
|
|
+ (this.$refs[key] as any).clear()
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ this.value.dateType = 1;
|
|
|
|
+ this.value.includeSkuType = 1;
|
|
}
|
|
}
|
|
-
|
|
|
|
search(){
|
|
search(){
|
|
this.page.pageNo = 1;
|
|
this.page.pageNo = 1;
|
|
- this.getList(this.value)
|
|
|
|
|
|
+ this.getList();
|
|
}
|
|
}
|
|
|
|
|
|
addOrder(){
|
|
addOrder(){
|
|
(this.$refs.addOrder as any).setShow(true)
|
|
(this.$refs.addOrder as any).setShow(true)
|
|
}
|
|
}
|
|
|
|
+ smtOrder(){
|
|
|
|
+ let data:Array<any>= (this.$refs.orderTable as any).getValue();
|
|
|
|
+ if(data.length == 0){
|
|
|
|
+ this.$message('请选择订单!');
|
|
|
|
+ }
|
|
|
|
+ let ids:Array<any>=[];
|
|
|
|
+ for(const item of data){
|
|
|
|
+ ids.push(item.id)
|
|
|
|
+ }
|
|
|
|
+ smt({
|
|
|
|
+ ids:ids
|
|
|
|
+ }).then(() => {
|
|
|
|
+ (this as any).$message({
|
|
|
|
+ message: '订单审批成功!',
|
|
|
|
+ type: 'success'
|
|
|
|
+ });
|
|
|
|
+ this.getList();
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ reSmt(){
|
|
|
|
+ let data:Array<any>= (this.$refs.orderTable as any).getValue();
|
|
|
|
+ if(data.length == 0){
|
|
|
|
+ this.$message('请选择订单!');
|
|
|
|
+ }
|
|
|
|
+ let ids:Array<any>=[];
|
|
|
|
+ for(const item of data){
|
|
|
|
+ ids.push(item.id)
|
|
|
|
+ }
|
|
|
|
+ unSmt({
|
|
|
|
+ ids:ids
|
|
|
|
+ }).then(() => {
|
|
|
|
+ (this as any).$message({
|
|
|
|
+ message: '订单反审批成功!',
|
|
|
|
+ type: 'success'
|
|
|
|
+ });
|
|
|
|
+ this.getList();
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ getProvince(){
|
|
|
|
+ this.provinceOptions = [];
|
|
|
|
+ getProvince({
|
|
|
|
+ parentCode:'86'
|
|
|
|
+ }).then((res:any) => {
|
|
|
|
+ if(res.data){
|
|
|
|
+ for(const item of res.data){
|
|
|
|
+ this.provinceOptions.push({
|
|
|
|
+ label:item.name,
|
|
|
|
+ value:item.code
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
|
|
//组件返回事件
|
|
//组件返回事件
|
|
onChange(v:any,code:string){
|
|
onChange(v:any,code:string){
|
|
@@ -504,8 +551,8 @@ export default class Order extends Vue {
|
|
this.value.dateEnd = v[1];
|
|
this.value.dateEnd = v[1];
|
|
}
|
|
}
|
|
//获取订单列表数据
|
|
//获取订单列表数据
|
|
- getList(parames?:any){
|
|
|
|
- let data:any = parames?(this as any).$lodash.cloneDeep(parames):{};
|
|
|
|
|
|
+ getList(){
|
|
|
|
+ let data:any =(this as any).$lodash.cloneDeep(this.value);
|
|
data.pageNo = this.page.pageNo;
|
|
data.pageNo = this.page.pageNo;
|
|
data.pageSize = this.page.pageSize;
|
|
data.pageSize = this.page.pageSize;
|
|
query(data).then((res:any) => {
|
|
query(data).then((res:any) => {
|