|
@@ -104,11 +104,25 @@
|
|
|
<order-product />
|
|
|
</el-collapse-item> -->
|
|
|
<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')">
|
|
|
+ <order-radio title="线下备注" ref="searchCom10" keyName="noteFilter" :options="noteFilterOptions" noLimit @radioChange="onChange($event,'noteFilter')">
|
|
|
<template v-slot:noteContent>
|
|
|
<el-input style="width: 140px;" v-model="value.noteContent" size="mini" placeholder="备注内容"></el-input>
|
|
|
</template>
|
|
|
</order-radio>
|
|
|
+ <el-collapse-item title="标签" name="label">
|
|
|
+ <div class="orderSelect">
|
|
|
+ <el-select v-model="value.includeLabelsType" placeholder="请选择包含标签类型" clearable size="mini">
|
|
|
+ <el-option label="包含任意一个标签" :value="1"></el-option>
|
|
|
+ <el-option label="同时包含指定标签" :value="2"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <el-input placeholder="包含标签" :value="value.includeLabels" @clear="labelsClear(true)" class="labels-width-btn" size="mini" clearable>
|
|
|
+ <el-button slot="append" icon="el-icon-more" @click="showLabels"></el-button>
|
|
|
+ </el-input>
|
|
|
+ <el-input placeholder="排除标签" :value="value.excludeLabels" @clear="labelsClear" class="labels-width-btn" size="mini" clearable>
|
|
|
+ <el-button slot="append" icon="el-icon-more" @click="showLabels2"></el-button>
|
|
|
+ </el-input>
|
|
|
+ </el-collapse-item>
|
|
|
<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">
|
|
@@ -127,30 +141,6 @@
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
</el-collapse-item>
|
|
|
- <!-- <el-collapse-item title="标签&多标签 | 旗帜" name="flag">
|
|
|
- <div>包含旗帜</div>
|
|
|
- <div class="orderSelect">
|
|
|
- <el-select v-model="value.includeFlags" multiple collapse-tags size="mini" placeholder="请选择旗帜" clearable>
|
|
|
- <el-option
|
|
|
- v-for="item in flagsOptions"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- <div>排除旗帜</div>
|
|
|
- <div class="orderSelect">
|
|
|
- <el-select v-model="value.excludeFlags" multiple collapse-tags size="mini" placeholder="请选择旗帜" clearable>
|
|
|
- <el-option
|
|
|
- v-for="item in flagsOptions"
|
|
|
- :key="item.value"
|
|
|
- :label="item.label"
|
|
|
- :value="item.value">
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </div>
|
|
|
- </el-collapse-item> -->
|
|
|
<!-- <order-checkbox title="店铺" ref="searchCom13" keyName="shopIdList" :options="shopIdListOptions" @checkboxChange="onChange($event,'shopIdList')" /> -->
|
|
|
|
|
|
<order-checkbox title="省份" ref="searchCom14" keyName="receiverProvinceCode" :options="provinceOptions" @checkboxChange="onChange($event,'receiverProvinceCodeList')" />
|
|
@@ -201,6 +191,8 @@
|
|
|
<add-product-modal ref="addProductModal" @handleSuccess="handleSuccess" />
|
|
|
<!-- 改运费 -->
|
|
|
<freight-modal ref="freightModal" @handleSuccess="handleSuccess" />
|
|
|
+ <!-- 标签 -->
|
|
|
+ <labels-modal ref="labelsModal" @onChange="onChangeLabel" />
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -228,11 +220,12 @@ import UpdateSalerModal from "./components/updateSalerModal.vue";
|
|
|
import TabModal from "./components/tabModal.vue";
|
|
|
import AddProductModal from "./components/addProductModal.vue";
|
|
|
import FreightModal from "./components/freightModal.vue";
|
|
|
+import LabelsModal from "./components/labelsModal.vue";
|
|
|
import { query,getProvince,smt,unSmt,purchaseQty,unCancel,resetQuestion } from '@/api/omsOrder'
|
|
|
import { queryAll } from '@/api/question'
|
|
|
@Component({components:{filterInput,OrderCheckbox,OrderRadio,filterDate,OrderTool,OrderTable,AddOrder,InputSelect,OrderProduct,
|
|
|
filterMinMax,loadOrderModal,PurchaseModel,MergeModel,SplitModel,CancelOrderModel,QuestModel,SetQuesModal,UpdateRmkModal,UpdateSalerModal,
|
|
|
- TabModal,AddProductModal,FreightModal}})
|
|
|
+ TabModal,AddProductModal,FreightModal,LabelsModal}})
|
|
|
export default class Order extends Vue {
|
|
|
activeNames:Array<any>=['1','status']
|
|
|
radio=''
|
|
@@ -240,6 +233,7 @@ export default class Order extends Vue {
|
|
|
data:Array<any> = []
|
|
|
load = false;
|
|
|
showQues=false;
|
|
|
+ isContainLabel=true;
|
|
|
page:any={
|
|
|
pageNo: 1, //当前页
|
|
|
pageSize: 20, //每页条数
|
|
@@ -504,6 +498,45 @@ export default class Order extends Vue {
|
|
|
this.getProvince();
|
|
|
this.getQuestionList();
|
|
|
}
|
|
|
+ //显示标签弹窗
|
|
|
+ showLabels(){
|
|
|
+ this.isContainLabel = true;
|
|
|
+ if(this.$refs.labelsModal){
|
|
|
+ (this.$refs.labelsModal as any).setShow(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ showLabels2(){
|
|
|
+ this.isContainLabel = false;
|
|
|
+ if(this.$refs.labelsModal){
|
|
|
+ (this.$refs.labelsModal as any).setShow(true);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //标签弹窗返回信息
|
|
|
+ onChangeLabel(v:string){
|
|
|
+ if(this.isContainLabel){
|
|
|
+ if(this.value.includeLabels){
|
|
|
+ Vue.set(this.value, 'includeLabels', v);
|
|
|
+ }else{
|
|
|
+ this.value.includeLabels = v;
|
|
|
+ }
|
|
|
+
|
|
|
+ }else{
|
|
|
+ if(this.value.excludeLabels){
|
|
|
+ Vue.set(this.value, 'excludeLabels', v);
|
|
|
+ }else{
|
|
|
+ this.value.excludeLabels = v;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.$forceUpdate()
|
|
|
+ }
|
|
|
+ labelsClear(v?:boolean){
|
|
|
+ if(v){
|
|
|
+ delete this.value.includeLabels;
|
|
|
+ }else{
|
|
|
+ delete this.value.excludeLabels;
|
|
|
+ }
|
|
|
+ this.$forceUpdate()
|
|
|
+ }
|
|
|
//改运费
|
|
|
updateFreight(){
|
|
|
this.updateHandleModal('freightModal');
|
|
@@ -687,9 +720,11 @@ export default class Order extends Vue {
|
|
|
}
|
|
|
resert(){
|
|
|
this.clearSearchValue();
|
|
|
+
|
|
|
this.page.pageNo = 1;
|
|
|
this.getList();
|
|
|
}
|
|
|
+ //搜索
|
|
|
search(){
|
|
|
this.page.pageNo = 1;
|
|
|
this.getList();
|
|
@@ -881,13 +916,18 @@ export default class Order extends Vue {
|
|
|
getList(){
|
|
|
let data:any = (this as any).$lodash.cloneDeep(this.value);
|
|
|
let params:any={};
|
|
|
+ if(data.includeLabels){
|
|
|
+ data.includeLabels = data.includeLabels.split(',');
|
|
|
+ }
|
|
|
+ if(data.excludeLabels){
|
|
|
+ data.excludeLabels = data.excludeLabels.split(',');
|
|
|
+ }
|
|
|
params.pageNo = this.page.pageNo;
|
|
|
params.pageSize = this.page.pageSize;
|
|
|
this.load = true;
|
|
|
query(params,data).then((res:any) => {
|
|
|
this.data = res.data.records;
|
|
|
this.page.pageNo = res.data.current;
|
|
|
- // this.page.pageSize = res.data.size;
|
|
|
this.page.total = res.data.total;
|
|
|
this.load = false;
|
|
|
this.$forceUpdate();
|
|
@@ -1139,4 +1179,15 @@ export default class Order extends Vue {
|
|
|
right: 0px;
|
|
|
}
|
|
|
}
|
|
|
+.labels-width-btn{
|
|
|
+ margin-bottom: 8px;
|
|
|
+ .el-input-group__append{
|
|
|
+ background-color: #fff !important;
|
|
|
+ width: 30px !important;
|
|
|
+ padding: 0 10px;
|
|
|
+ .el-icon-more{
|
|
|
+ font-size: 16px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|