|
|
|
<template>
|
|
|
|
<div>
|
|
|
|
<el-row :gutter="20">
|
|
|
|
<el-col :span="24">
|
|
|
|
<el-card shadow="hover" class="mgb20">
|
|
|
|
<div>
|
|
|
|
<div class="flex-center mgb20">
|
|
|
|
<p class="hr_tag"></p>
|
|
|
|
<span>筛选</span>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<el-form label-width="80px">
|
|
|
|
<el-col :span="5">
|
|
|
|
<el-form-item label="省份">
|
|
|
|
<el-select v-model="form.provinces" clearable placeholder="请选择省份" @change="getCity()" @clear="clearprovince()">
|
|
|
|
<el-option v-for="(item,index) in provinceList" :key="index" :label="item.provinceName" :value="item.provinceId"></el-option>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="5">
|
|
|
|
<el-form-item label="城市">
|
|
|
|
<el-select v-model="form.city" clearable placeholder="请选择城市" :disabled="form.provinces ? false : true" @change="getData()">
|
|
|
|
<el-option v-for="(item,index) in cityList" :key="index" :label="item.cityName" :value="item.cityId"></el-option>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="5">
|
|
|
|
<el-form-item label="订单类型">
|
|
|
|
<el-select v-model="form.orderType" clearable placeholder="请选择订单类型" @change="getData()">
|
|
|
|
<el-option v-for="(item,index) in orderTypeList" :key="index" :label="item.name" :value="item.value"></el-option>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="5">
|
|
|
|
<el-form-item label="订单状态">
|
|
|
|
<el-select v-model="form.orderStatus" clearable placeholder="请选择订单状态" @change="getData()">
|
|
|
|
<el-option v-for="(item,index) in orderStatusList" :key="index" :label="item.name" :value="item.value"></el-option>
|
|
|
|
</el-select>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
<el-col :span="4">
|
|
|
|
<el-form-item>
|
|
|
|
<el-input placeholder="请输入订单号/客户名称/订单名称" prefix-icon="el-icon-search" v-model="keyword" @keyup.enter.native="onSearch" clearable></el-input>
|
|
|
|
</el-form-item>
|
|
|
|
</el-col>
|
|
|
|
</el-form>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</el-card>
|
|
|
|
</el-col>
|
|
|
|
|
|
|
|
<el-col :span="24">
|
|
|
|
<el-card shadow="hover" class="mgb20">
|
|
|
|
<div class="flex-between mgb20">
|
|
|
|
<div class="flex-center">
|
|
|
|
<p class="hr_tag"></p>
|
|
|
|
<span>订单列表</span>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<el-button type="primary" size="small" round class="mag" @click="addOrder()">新建订单</el-button>
|
|
|
|
<el-button type="primary" size="small" round @click="delAllSelection">批量删除</el-button>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<el-table :data="orderData" class="table" stripe header-align="center" @selection-change="handleSelectionChange" :row-key="getRowKeys">
|
|
|
|
<el-table-column type="selection" width="55" align="center" :reserve-selection="true"></el-table-column>
|
|
|
|
<el-table-column type="index" width="100" label="序号" align="center">
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column prop="orderNumber" label="订单编号" align="center">
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column prop="customerName" label="客户名称" align="center">
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column prop="orderContent" label="订单内容" align="center">
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column prop="orderAmount" label="订单金额" align="center">
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column prop="createTime" label="订单日期" align="center">
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column prop="orderType" label="订单类型" align="center">
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column prop="orderStatus" label="订单状态" align="center">
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column prop="orderNature" label="订单性质" align="center">
|
|
|
|
</el-table-column>
|
|
|
|
<el-table-column label="操作" align="center">
|
|
|
|
<template slot-scope="scope">
|
|
|
|
<el-button type="text" @click="handle('edit',scope.row)">修改</el-button>
|
|
|
|
<el-button type="text" @click="handle('watch',scope.row)">查看</el-button>
|
|
|
|
<el-button type="text" @click="handleDelete(scope.row)">删除</el-button>
|
|
|
|
<!-- <el-button type="text" @click="handleRenew(scope.row)">续费</el-button> -->
|
|
|
|
</template>
|
|
|
|
</el-table-column>
|
|
|
|
</el-table>
|
|
|
|
<div class="pagination">
|
|
|
|
<el-pagination background layout="total, prev, pager, next" @current-change="handleCurrentChange" :current-page="pageNo" :total="totals">
|
|
|
|
</el-pagination>
|
|
|
|
</div>
|
|
|
|
</el-card>
|
|
|
|
</el-col>
|
|
|
|
</el-row>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
export default {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
form: {
|
|
|
|
provinces: '',
|
|
|
|
city: '',
|
|
|
|
orderType: '',
|
|
|
|
orderStatus: ''
|
|
|
|
},
|
|
|
|
keyword: '',
|
|
|
|
orderData:[],
|
|
|
|
multipleSelection: [],
|
|
|
|
provinceList: this.$store.state.provinceList,
|
|
|
|
cityList: [],
|
|
|
|
orderTypeList: [{
|
|
|
|
name: '正式',
|
|
|
|
value: 1
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: '试用',
|
|
|
|
value: 2
|
|
|
|
}],
|
|
|
|
orderStatusList: [{
|
|
|
|
name: '待发货',
|
|
|
|
value: 1
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: '已完成',
|
|
|
|
value: 2
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: '已取消',
|
|
|
|
value: 3
|
|
|
|
}],
|
|
|
|
pageNo: 1,
|
|
|
|
pageSize: 10,
|
|
|
|
totals: 1
|
|
|
|
};
|
|
|
|
},
|
|
|
|
created() {
|
|
|
|
this.getData()
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
getData() {
|
|
|
|
let data = {
|
|
|
|
cityId: this.form.city,
|
|
|
|
customerName:this.keyword,
|
|
|
|
orderStatus: this.form.orderStatus,
|
|
|
|
orderType: this.form.orderType,
|
|
|
|
pageNo: this.pageNo,
|
|
|
|
pageSize: this.pageSize,
|
|
|
|
provinceId: this.form.provinces,
|
|
|
|
}
|
|
|
|
this.$post(this.api.orderList,data).then(res => {
|
|
|
|
console.log(res,'list');
|
|
|
|
res.orderPage.orders.forEach(e => {
|
|
|
|
e.orderType = this.orderTypeFn(e.orderType)
|
|
|
|
e.orderStatus = this.orderStatusFn(e.orderStatus)
|
|
|
|
e.orderNature = this.orderNatureFn(e.orderNature)
|
|
|
|
})
|
|
|
|
this.orderData = res.orderPage.orders
|
|
|
|
this.totals =res.orderPage.total
|
|
|
|
}).catch(res => {});
|
|
|
|
},
|
|
|
|
// 清除省份
|
|
|
|
clearprovince(){
|
|
|
|
this.form.city = ''
|
|
|
|
},
|
|
|
|
// 获取城市
|
|
|
|
getCity(){
|
|
|
|
this.clearprovince()
|
|
|
|
this.getCityData()
|
|
|
|
this.pageNo = 1
|
|
|
|
this.getData()
|
|
|
|
},
|
|
|
|
getCityData(){
|
|
|
|
let data = {
|
|
|
|
provinceId: this.form.provinces
|
|
|
|
}
|
|
|
|
this.$get(this.api.queryCity,data).then(res => {
|
|
|
|
this.cityList = res.list
|
|
|
|
}).catch(res => {});
|
|
|
|
},
|
|
|
|
addOrder(){
|
|
|
|
this.$store.commit("systemData", { order_id : ''});
|
|
|
|
this.$router.push('/addorder');
|
|
|
|
},
|
|
|
|
handle(val,row){
|
|
|
|
this.$router.push('/addorder?'+val+'='+row.orderId);
|
|
|
|
},
|
|
|
|
// 删除订单
|
|
|
|
handleDelete(row) {
|
|
|
|
this.$confirm('确定要删除吗?', '提示', {
|
|
|
|
type: 'warning'
|
|
|
|
})
|
|
|
|
.then(() => {
|
|
|
|
var arr = []
|
|
|
|
arr.push(row.orderId)
|
|
|
|
this.$post(this.api.orderDelete,{ids:arr}).then(res => {
|
|
|
|
this.$message.success('删除成功');
|
|
|
|
this.getData()
|
|
|
|
}).catch(res => {});
|
|
|
|
})
|
|
|
|
.catch(() => {});
|
|
|
|
},
|
|
|
|
// 续签
|
|
|
|
handleRenew(row){
|
|
|
|
|
|
|
|
},
|
|
|
|
getRowKeys(row) {
|
|
|
|
return row.orderId;
|
|
|
|
},
|
|
|
|
handleSelectionChange(val) {
|
|
|
|
console.log(val,'xuan');
|
|
|
|
if(val.length>0){
|
|
|
|
this.multipleSelection = val.map(e=>e.orderId);
|
|
|
|
}else{
|
|
|
|
this.multipleSelection = []
|
|
|
|
}
|
|
|
|
},
|
|
|
|
delAllSelection() {
|
|
|
|
if(this.multipleSelection.length != ''){
|
|
|
|
// 批量删除
|
|
|
|
this.$confirm('确定要删除吗?', '提示', {
|
|
|
|
type: 'warning'
|
|
|
|
})
|
|
|
|
.then(() => {
|
|
|
|
this.$post(this.api.orderDelete,{ids:this.multipleSelection}).then(res => {
|
|
|
|
this.multipleSelection = [];
|
|
|
|
this.$message.success('删除成功');
|
|
|
|
this.getData()
|
|
|
|
}).catch(err => {});
|
|
|
|
}).catch(err => {});
|
|
|
|
}else{
|
|
|
|
this.$message.error('请先选择订单 !');
|
|
|
|
}
|
|
|
|
},
|
|
|
|
onSearch(){
|
|
|
|
this.pageNo = 1
|
|
|
|
this.getData()
|
|
|
|
},
|
|
|
|
handleCurrentChange(val) {
|
|
|
|
this.pageNo = val;
|
|
|
|
this.getData();
|
|
|
|
},
|
|
|
|
// 选择客户触发
|
|
|
|
gotoClient(){
|
|
|
|
this.$router.push('')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
.mag{
|
|
|
|
margin-right: 20px;
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
|