|
@@ -1,51 +1,22 @@
|
|
|
<template>
|
|
|
<div class="ding-dan">
|
|
|
<h1>创建订单审核</h1>
|
|
|
- <table-lists
|
|
|
- ref="tableLists"
|
|
|
- v-model="list"
|
|
|
- :filter="filter"
|
|
|
- :filterSear="2"
|
|
|
- :filterReset="filterStyle.filterReset"
|
|
|
- :filterType="filterStyle.filterType"
|
|
|
- requestApi="/order/orderCreateAuditList"
|
|
|
- @loading="load"
|
|
|
- @emptyFilter="emptyFilter"
|
|
|
- @pageChange="pageChange"
|
|
|
- >
|
|
|
+ <table-lists ref="tableLists" v-model="list" :filter="filter" :filterSear="2" :filterReset="filterStyle.filterReset"
|
|
|
+ :filterType="filterStyle.filterType" requestApi="/order/orderCreateAuditList" @loading="load"
|
|
|
+ @emptyFilter="emptyFilter" @pageChange="pageChange">
|
|
|
<template slot="filterContent">
|
|
|
- <Input
|
|
|
- type="text"
|
|
|
- v-model.trim="filter.orderCode"
|
|
|
- placeholder="订单编号"
|
|
|
- clearable
|
|
|
- maxlength="12"
|
|
|
- @on-change="flushAuditStatus"
|
|
|
- style="width:150px;height:36px;margin: 0 10px 10px 2px;"
|
|
|
- ></Input>
|
|
|
- <Input
|
|
|
- type="text"
|
|
|
- v-model.trim="filter.salePerson"
|
|
|
- placeholder="发起人姓名"
|
|
|
- clearable
|
|
|
- maxlength="11"
|
|
|
- @on-change="flushAuditStatus"
|
|
|
- style="width:105px;height:36px;margin: 0 10px 10px 2px;"
|
|
|
- ></Input>
|
|
|
+ <Input type="text" v-model.trim="filter.orderCode" placeholder="订单编号" clearable maxlength="12"
|
|
|
+ @on-change="flushAuditStatus" style="width:150px;height:36px;margin: 0 10px 10px 2px;"></Input>
|
|
|
+ <Input type="text" v-model.trim="filter.salePerson" placeholder="发起人姓名" clearable maxlength="11"
|
|
|
+ @on-change="flushAuditStatus" style="width:105px;height:36px;margin: 0 10px 10px 2px;"></Input>
|
|
|
<Select placeholder="审核状态" clearable v-model="filter.auditStatus" style="width:100px;margin:0 10px 10px 0">
|
|
|
<Option v-for="item in auditStatus" :value="item.v" :key="item.v">{{ item.n }}</Option>
|
|
|
</Select>
|
|
|
<span style="margin-top: 7px;">业绩归属部门:</span>
|
|
|
- <cascaderMulti class="truecascader" placeholder="业绩归属部门" v-model="saleCodeModel" :data="saleDeplist" multiple @on-change="saleDepChange" style="marginRight:10px;"></cascaderMulti>
|
|
|
+ <cascaderMulti class="truecascader" placeholder="业绩归属部门" v-model="saleCodeModel" :data="saleDeplist" multiple
|
|
|
+ @on-change="saleDepChange" style="marginRight:10px;"></cascaderMulti>
|
|
|
</template>
|
|
|
- <Table
|
|
|
- ellipsis
|
|
|
- :loading="loading"
|
|
|
- ref="selection"
|
|
|
- :columns="columns"
|
|
|
- :data="list.lists"
|
|
|
- stripe
|
|
|
- ></Table>
|
|
|
+ <Table ellipsis :loading="loading" ref="selection" :columns="columns" :data="list.lists" stripe></Table>
|
|
|
</table-lists>
|
|
|
<!-- 创建其他订单弹框 -->
|
|
|
<o-model ref="otherModel" title="创建订单审核" :readonly="true" showOrderStatus></o-model>
|
|
@@ -64,7 +35,7 @@ export default {
|
|
|
},
|
|
|
created() {
|
|
|
this.getsaleDep()
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
methods: {
|
|
|
load(val) { // 加载中
|
|
@@ -119,69 +90,69 @@ export default {
|
|
|
flushList() {
|
|
|
this.$refs.tableLists.load();
|
|
|
},
|
|
|
- getsaleDep () {
|
|
|
- let url = '/order/getSalesChannelItem'
|
|
|
- this.$request(url).data({
|
|
|
- name: this.reqType
|
|
|
- }).success((res) => {
|
|
|
- if (res.data.dep) {
|
|
|
- this.saleDeplist = res.data.dep
|
|
|
- }
|
|
|
- }).post()
|
|
|
- },
|
|
|
- saleDepChange (val) {
|
|
|
- if (val && val.length > 0) {
|
|
|
- let valres = this.getMinLevelData(this.saleDeplist, val)
|
|
|
- this.filter.saleDep = valres.join(',')
|
|
|
- } else {
|
|
|
- this.filter.saleDep = ''
|
|
|
- }
|
|
|
- },
|
|
|
- getMinLevelData(arrayA, arrayB) {
|
|
|
- const result = []
|
|
|
- const findItem = (arr) => {
|
|
|
- for (let i = 0; i < arr.length; i++) {
|
|
|
- if (arrayB.includes(arr[i].value)) {
|
|
|
- result.push(arr[i].value)
|
|
|
- }
|
|
|
- if (arr[i].children) {
|
|
|
- let arra = arr[i].children
|
|
|
- for (let a = 0; a < arra.length; a++) {
|
|
|
- if (arrayB.includes(arra[a].value)) {
|
|
|
- this.removeElementFromArray(result, arra[a].value+"".substring(0, 2)+'0000')
|
|
|
- result.push(arra[a].value)
|
|
|
- }
|
|
|
- if (arra[a].children) {
|
|
|
- let arrb = arra[a].children
|
|
|
- for (let b = 0; b < arrb.length; b++) {
|
|
|
- if (arrayB.includes(arrb[b].value)) {
|
|
|
- if (arrayB.includes(arrb[b].value+"".substring(0, 4)+'00')) {
|
|
|
- this.removeElementFromArray(result, arrb[b].value+"".substring(0, 4)+'00')
|
|
|
- }
|
|
|
- result.push(arrb[b].value)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ getsaleDep() {
|
|
|
+ let url = '/order/getSalesChannelItem'
|
|
|
+ this.$request(url).data({
|
|
|
+ name: this.reqType
|
|
|
+ }).success((res) => {
|
|
|
+ if (res.data.dep) {
|
|
|
+ this.saleDeplist = res.data.dep
|
|
|
+ }
|
|
|
+ }).post()
|
|
|
+ },
|
|
|
+ saleDepChange(val) {
|
|
|
+ if (val && val.length > 0) {
|
|
|
+ let valres = this.getMinLevelData(this.saleDeplist, val)
|
|
|
+ this.filter.saleDep = valres.join(',')
|
|
|
+ } else {
|
|
|
+ this.filter.saleDep = ''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getMinLevelData(arrayA, arrayB) {
|
|
|
+ const result = []
|
|
|
+ const findItem = (arr) => {
|
|
|
+ for (let i = 0; i < arr.length; i++) {
|
|
|
+ if (arrayB.includes(arr[i].value)) {
|
|
|
+ result.push(arr[i].value)
|
|
|
+ }
|
|
|
+ if (arr[i].children) {
|
|
|
+ let arra = arr[i].children
|
|
|
+ for (let a = 0; a < arra.length; a++) {
|
|
|
+ if (arrayB.includes(arra[a].value)) {
|
|
|
+ this.removeElementFromArray(result, arra[a].value + "".substring(0, 2) + '0000')
|
|
|
+ result.push(arra[a].value)
|
|
|
+ }
|
|
|
+ if (arra[a].children) {
|
|
|
+ let arrb = arra[a].children
|
|
|
+ for (let b = 0; b < arrb.length; b++) {
|
|
|
+ if (arrayB.includes(arrb[b].value)) {
|
|
|
+ if (arrayB.includes(arrb[b].value + "".substring(0, 4) + '00')) {
|
|
|
+ this.removeElementFromArray(result, arrb[b].value + "".substring(0, 4) + '00')
|
|
|
}
|
|
|
+ result.push(arrb[b].value)
|
|
|
+ }
|
|
|
}
|
|
|
+ }
|
|
|
}
|
|
|
- findItem(arrayA)
|
|
|
- return result.reverse()
|
|
|
- },
|
|
|
- removeElementFromArray(arr, value) {
|
|
|
- for (let i = 0; i < arr.length; i++) {
|
|
|
- if (arr[i] === value) {
|
|
|
- arr.splice(i, 1)
|
|
|
- i--
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
- return arr
|
|
|
+ }
|
|
|
+ findItem(arrayA)
|
|
|
+ return result.reverse()
|
|
|
+ },
|
|
|
+ removeElementFromArray(arr, value) {
|
|
|
+ for (let i = 0; i < arr.length; i++) {
|
|
|
+ if (arr[i] === value) {
|
|
|
+ arr.splice(i, 1)
|
|
|
+ i--
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return arr
|
|
|
},
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
- saleCodeModel:[],
|
|
|
+ saleCodeModel: [],
|
|
|
saleDeplist: [],//部门数据
|
|
|
loading: false,
|
|
|
filterStyle: {
|
|
@@ -189,18 +160,18 @@ export default {
|
|
|
filterType: 1 //是否展示查询
|
|
|
},
|
|
|
auditStatus: [
|
|
|
- {v: '-1', n: '全部'},
|
|
|
- {v: '1', n: '待一审'},
|
|
|
- {v: '2', n: '待二审'},
|
|
|
- {v: '5', n: '待三审'},
|
|
|
- {v: '3', n: '已通过'},
|
|
|
- {v: '4', n: '已退回'}
|
|
|
+ { v: '-1', n: '全部' },
|
|
|
+ { v: '1', n: '待一审' },
|
|
|
+ { v: '2', n: '待二审' },
|
|
|
+ { v: '5', n: '待三审' },
|
|
|
+ { v: '3', n: '已通过' },
|
|
|
+ { v: '4', n: '已退回' }
|
|
|
],
|
|
|
filter: {
|
|
|
salePerson: '', // 发起人
|
|
|
orderCode: '', // 订单编号
|
|
|
auditStatus: "", // 审核状态
|
|
|
- saleDep:'',
|
|
|
+ saleDep: '',
|
|
|
},
|
|
|
orderDetail: {},
|
|
|
columns: [
|
|
@@ -213,13 +184,13 @@ export default {
|
|
|
title: '产品类型',
|
|
|
key: 'product_type',
|
|
|
align: 'center',
|
|
|
- render: (h, {row}) => {
|
|
|
+ render: (h, { row }) => {
|
|
|
let words = row.product_type
|
|
|
// 超级订阅
|
|
|
let vipType = ''
|
|
|
let vipT = row.vip_type
|
|
|
if (vipT == 0) {
|
|
|
- vipType = '(试用)'
|
|
|
+ vipType = '(购买)'
|
|
|
} else if (vipT == 1) {
|
|
|
vipType = '(续费)'
|
|
|
} else if (vipT == 2) {
|
|
@@ -230,6 +201,8 @@ export default {
|
|
|
} else {
|
|
|
vipType = '(购买)'
|
|
|
}
|
|
|
+ } else if (vipT == 3) {
|
|
|
+ vipType = '(试用)'
|
|
|
}
|
|
|
// 大会员
|
|
|
let bigVip = ''
|
|
@@ -254,8 +227,10 @@ export default {
|
|
|
bookType = '(续费)'
|
|
|
} else if (book == 2) {
|
|
|
bookType = '(升级)'
|
|
|
- } else {
|
|
|
+ } else if (book == 0) {
|
|
|
bookType = '(购买)'
|
|
|
+ } else if (book == 3) {
|
|
|
+ bookType = '(试用)'
|
|
|
}
|
|
|
if (words == 'VIP订阅' || words == 'vip订阅') {
|
|
|
return h('span', '超级订阅' + vipType)
|
|
@@ -288,7 +263,7 @@ export default {
|
|
|
title: '审核状态',
|
|
|
key: 'audit_status',
|
|
|
align: 'center',
|
|
|
- render: (h, {row}) => {
|
|
|
+ render: (h, { row }) => {
|
|
|
if (row.audit_status === 0) {
|
|
|
return h('div', {
|
|
|
style: {
|
|
@@ -321,7 +296,7 @@ export default {
|
|
|
}, [
|
|
|
h('span', '待三审')
|
|
|
])
|
|
|
- }else if (row.audit_status === 3) {
|
|
|
+ } else if (row.audit_status === 3) {
|
|
|
return h('div', {
|
|
|
style: {
|
|
|
color: '#36a3f7'
|
|
@@ -345,7 +320,7 @@ export default {
|
|
|
}, [
|
|
|
h('span', '已退回')
|
|
|
])
|
|
|
- }else if (row.audit_status === -4) {
|
|
|
+ } else if (row.audit_status === -4) {
|
|
|
return h('div', {
|
|
|
style: {
|
|
|
color: '#b21f09'
|
|
@@ -360,7 +335,7 @@ export default {
|
|
|
title: '操作',
|
|
|
key: 'audit_status',
|
|
|
align: 'center',
|
|
|
- render: (h, {row}) => {
|
|
|
+ render: (h, { row }) => {
|
|
|
let opera = [
|
|
|
h('Button', {
|
|
|
props: {
|
|
@@ -406,69 +381,69 @@ export default {
|
|
|
<style lang="scss" scoped>
|
|
|
.ding-dan {
|
|
|
|
|
|
-h1 {
|
|
|
- font-size: 24px;
|
|
|
- color: #3f4047;
|
|
|
- padding: 10px 0 20px 10px;
|
|
|
-}
|
|
|
+ h1 {
|
|
|
+ font-size: 24px;
|
|
|
+ color: #3f4047;
|
|
|
+ padding: 10px 0 20px 10px;
|
|
|
+ }
|
|
|
|
|
|
-.tui-btn {
|
|
|
- color: #f4516c;
|
|
|
-}
|
|
|
+ .tui-btn {
|
|
|
+ color: #f4516c;
|
|
|
+ }
|
|
|
|
|
|
-::v-deep.ivu-icon-logo-yen {
|
|
|
- font-size: 14px;
|
|
|
- line-height: 36px;
|
|
|
-}
|
|
|
+ ::v-deep.ivu-icon-logo-yen {
|
|
|
+ font-size: 14px;
|
|
|
+ line-height: 36px;
|
|
|
+ }
|
|
|
|
|
|
-::v-deep .ivu-form-label-right {
|
|
|
- display: flex;
|
|
|
-}
|
|
|
+ ::v-deep .ivu-form-label-right {
|
|
|
+ display: flex;
|
|
|
+ }
|
|
|
|
|
|
-.right-msg {
|
|
|
- float: right;
|
|
|
+ .right-msg {
|
|
|
+ float: right;
|
|
|
|
|
|
-.create-order {
|
|
|
- height: 36px;
|
|
|
- margin-bottom: 10px;
|
|
|
- margin-right: 20px;
|
|
|
- background-color: rgba(52, 191, 163, 1);
|
|
|
- border-color: rgba(52, 191, 163, 1);
|
|
|
-}
|
|
|
+ .create-order {
|
|
|
+ height: 36px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ margin-right: 20px;
|
|
|
+ background-color: rgba(52, 191, 163, 1);
|
|
|
+ border-color: rgba(52, 191, 163, 1);
|
|
|
+ }
|
|
|
|
|
|
-.ser-ipt {
|
|
|
- width: 162px;
|
|
|
- margin-bottom: 10px;
|
|
|
-}
|
|
|
+ .ser-ipt {
|
|
|
+ width: 162px;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ }
|
|
|
|
|
|
-}
|
|
|
+ }
|
|
|
|
|
|
-.shai_xuan {
|
|
|
- font-size: 18px;
|
|
|
+ .shai_xuan {
|
|
|
+ font-size: 18px;
|
|
|
|
|
|
-span {
|
|
|
- cursor: pointer;
|
|
|
-}
|
|
|
+ span {
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
|
|
|
-}
|
|
|
+ }
|
|
|
|
|
|
-.arrowTransform {
|
|
|
- transition: 0.2s;
|
|
|
- transform-origin: center;
|
|
|
- transform: rotateZ(180deg);
|
|
|
-}
|
|
|
+ .arrowTransform {
|
|
|
+ transition: 0.2s;
|
|
|
+ transform-origin: center;
|
|
|
+ transform: rotateZ(180deg);
|
|
|
+ }
|
|
|
|
|
|
-.arrowTransformReturn {
|
|
|
- transition: 0.2s;
|
|
|
- transform-origin: center;
|
|
|
- transform: rotateZ(0deg);
|
|
|
-}
|
|
|
+ .arrowTransformReturn {
|
|
|
+ transition: 0.2s;
|
|
|
+ transform-origin: center;
|
|
|
+ transform: rotateZ(0deg);
|
|
|
+ }
|
|
|
|
|
|
-.cas-div {
|
|
|
- display: inline-block;
|
|
|
- margin: 0 10px 10px 0;
|
|
|
- vertical-align: middle;
|
|
|
-}
|
|
|
+ .cas-div {
|
|
|
+ display: inline-block;
|
|
|
+ margin: 0 10px 10px 0;
|
|
|
+ vertical-align: middle;
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
</style>
|