|
@@ -4,8 +4,9 @@
|
|
<Form ref="member" :model="member" :rules="ruleValidate" :show-message="false" :label-width="121">
|
|
<Form ref="member" :model="member" :rules="ruleValidate" :show-message="false" :label-width="121">
|
|
<FormItem label="订单状态" prop="order_status">
|
|
<FormItem label="订单状态" prop="order_status">
|
|
<Select v-model="member.order_status" placeholder="请选择订单状态">
|
|
<Select v-model="member.order_status" placeholder="请选择订单状态">
|
|
- <Option value="0">未完成</Option>
|
|
|
|
- <Option value="1">已完成</Option>
|
|
|
|
|
|
+ <Option value="0" :disabled="noFinishDis">未完成</Option>
|
|
|
|
+ <Option value="1" :disabled="finishDis">已完成</Option>
|
|
|
|
+ <Option value="-2" :disabled="cancelDis || interested">已取消</Option>
|
|
</Select>
|
|
</Select>
|
|
</FormItem>
|
|
</FormItem>
|
|
<FormItem label="销售渠道" prop="salesChannel">
|
|
<FormItem label="销售渠道" prop="salesChannel">
|
|
@@ -26,7 +27,7 @@
|
|
@on-keyup="keyHandler"
|
|
@on-keyup="keyHandler"
|
|
:maxlength="11"
|
|
:maxlength="11"
|
|
placeholder="请输入手机号"
|
|
placeholder="请输入手机号"
|
|
- :readonly="pReadon"
|
|
|
|
|
|
+ :readonly="pReadon || interested"
|
|
></Input>
|
|
></Input>
|
|
<Checkbox v-model="noPhone" @on-change="noPchange">无手机号</Checkbox>
|
|
<Checkbox v-model="noPhone" @on-change="noPchange">无手机号</Checkbox>
|
|
<Spin fix class="order-spin" v-if="spinShow">
|
|
<Spin fix class="order-spin" v-if="spinShow">
|
|
@@ -35,7 +36,7 @@
|
|
<p v-html="colr" style="color:#e13d13"></p>
|
|
<p v-html="colr" style="color:#e13d13"></p>
|
|
</FormItem>
|
|
</FormItem>
|
|
<FormItem label="产品类型">
|
|
<FormItem label="产品类型">
|
|
- <Select v-model="member.products" placeholder="请选择产品类型(暂不支持数据导出)" @on-change="proChange" :disabled="proDis">
|
|
|
|
|
|
+ <Select v-model="member.products" placeholder="请选择产品类型(暂不支持数据导出)" @on-change="proChange" :disabled="proDis || interested">
|
|
<Option v-for="item in bigPro" :value="item.v" :key="item.v">{{ item.n }}</Option>
|
|
<Option v-for="item in bigPro" :value="item.v" :key="item.v">{{ item.n }}</Option>
|
|
</Select>
|
|
</Select>
|
|
</FormItem>
|
|
</FormItem>
|
|
@@ -51,7 +52,7 @@
|
|
<date-sigle ref="sigleRef3" :dateType="'date'" :dataV="member.sale_time" :placeholderd="'请选择业绩统计时间'" @startDate="saleDate" :overTime="0"></date-sigle>
|
|
<date-sigle ref="sigleRef3" :dateType="'date'" :dataV="member.sale_time" :placeholderd="'请选择业绩统计时间'" @startDate="saleDate" :overTime="0"></date-sigle>
|
|
</FormItem>
|
|
</FormItem>
|
|
<FormItem label="会员套餐" v-if="creAuth == '1'" prop="level">
|
|
<FormItem label="会员套餐" v-if="creAuth == '1'" prop="level">
|
|
- <Select v-model="member.level" placeholder="请选择会员套餐" @on-change="leChange" @on-select="leSelect">
|
|
|
|
|
|
+ <Select v-model="member.level" placeholder="请选择会员套餐" @on-change="leChange" @on-select="leSelect" :disabled="interested">
|
|
<Option :value="JSON.stringify(comVal)">自定义</Option>
|
|
<Option :value="JSON.stringify(comVal)">自定义</Option>
|
|
<Option v-for="(item,index) in levelDown" :value="JSON.stringify(item)" :key="index" :disabled="downDis">{{ item.s_name }}</Option>
|
|
<Option v-for="(item,index) in levelDown" :value="JSON.stringify(item)" :key="index" :disabled="downDis">{{ item.s_name }}</Option>
|
|
</Select>
|
|
</Select>
|
|
@@ -60,9 +61,9 @@
|
|
<div v-if="nums !== ''&&creAuth">
|
|
<div v-if="nums !== ''&&creAuth">
|
|
<FormItem prop="createType" v-if="creAuth == '1'&&nums == '0'">
|
|
<FormItem prop="createType" v-if="creAuth == '1'&&nums == '0'">
|
|
<RadioGroup v-model="member.createType" class="form-radio1" @on-change="serChange">
|
|
<RadioGroup v-model="member.createType" class="form-radio1" @on-change="serChange">
|
|
- <Radio label="1" :disabled="radioDis1">新建服务</Radio>
|
|
|
|
- <Radio label="2" :disabled="radioDis2">补充服务</Radio>
|
|
|
|
- <Radio label="3" :disabled="radioDis3">延长服务</Radio>
|
|
|
|
|
|
+ <Radio label="1" :disabled="radioDis1 || interested">新建服务</Radio>
|
|
|
|
+ <Radio label="2" :disabled="radioDis2 || interested">补充服务</Radio>
|
|
|
|
+ <Radio label="3" :disabled="radioDis3 || interested">延长服务</Radio>
|
|
</RadioGroup>
|
|
</RadioGroup>
|
|
</FormItem>
|
|
</FormItem>
|
|
<FormItem class="table-order1 table-order2" v-if="creAuth == '1'&&nums == '0'">
|
|
<FormItem class="table-order1 table-order2" v-if="creAuth == '1'&&nums == '0'">
|
|
@@ -92,17 +93,27 @@
|
|
@on-keyup="payHandler"
|
|
@on-keyup="payHandler"
|
|
@on-change="payChange"
|
|
@on-change="payChange"
|
|
@on-blur="payBlur"
|
|
@on-blur="payBlur"
|
|
|
|
+ :readonly="interested"
|
|
></Input>
|
|
></Input>
|
|
</FormItem>
|
|
</FormItem>
|
|
<FormItem label="免费子账号数量">
|
|
<FormItem label="免费子账号数量">
|
|
- <Input v-model="member.freeSub" type="tel" maxlength="4" @on-keyup="freeHandler" placeholder="请填写免费子账号数量"></Input>
|
|
|
|
|
|
+ <Input v-model="member.freeSub" type="tel" maxlength="4" @on-keyup="freeHandler" placeholder="请填写免费子账号数量" :readonly="interested"></Input>
|
|
</FormItem>
|
|
</FormItem>
|
|
</div>
|
|
</div>
|
|
<div v-if="creAuth !== '2'">
|
|
<div v-if="creAuth !== '2'">
|
|
<FormItem label="有效周期" prop="payCycle" v-if="creAuth == '1' && repair !== '2'">
|
|
<FormItem label="有效周期" prop="payCycle" v-if="creAuth == '1' && repair !== '2'">
|
|
<div class="you-xiao" style="display:flex">
|
|
<div class="you-xiao" style="display:flex">
|
|
- <Input v-model="member.payCycle" type="tel" maxlength="2" @on-keyup="cycleHandler" @on-change="peChange" :placeholder="placed" style="width:376px"></Input>
|
|
|
|
- <Select v-model="member.cycleType" placeholder="请选择单位" @on-change="unitChange" style="width:110px;margin-left:10px">
|
|
|
|
|
|
+ <Input
|
|
|
|
+ v-model="member.payCycle"
|
|
|
|
+ type="tel"
|
|
|
|
+ maxlength="2"
|
|
|
|
+ @on-keyup="cycleHandler"
|
|
|
|
+ @on-change="peChange"
|
|
|
|
+ :placeholder="placed"
|
|
|
|
+ :disabled="interested"
|
|
|
|
+ style="width:376px"
|
|
|
|
+ ></Input>
|
|
|
|
+ <Select v-model="member.cycleType" placeholder="请选择单位" @on-change="unitChange" :disabled="interested" style="width:110px;margin-left:10px">
|
|
<Option v-for="item in unitOptions" :value="item.v" :key="item.v">{{ item.n }}</Option>
|
|
<Option v-for="item in unitOptions" :value="item.v" :key="item.v">{{ item.n }}</Option>
|
|
</Select>
|
|
</Select>
|
|
</div>
|
|
</div>
|
|
@@ -116,6 +127,7 @@
|
|
:overTime="overTime"
|
|
:overTime="overTime"
|
|
class="no-pass"
|
|
class="no-pass"
|
|
:beginDis="noPass"
|
|
:beginDis="noPass"
|
|
|
|
+ :readonly="interested"
|
|
></date-sigle>
|
|
></date-sigle>
|
|
<Checkbox v-model="noPass" @on-change="noTchange">暂不开通</Checkbox >
|
|
<Checkbox v-model="noPass" @on-change="noTchange">暂不开通</Checkbox >
|
|
</FormItem>
|
|
</FormItem>
|
|
@@ -267,12 +279,12 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
-import { ChangeDate, dateFormatter } from '@/assets/js/date'
|
|
|
|
|
|
+import { dateFormatter } from '@/assets/js/date'
|
|
import dateSigle from '@/components/dateSigle'
|
|
import dateSigle from '@/components/dateSigle'
|
|
import vCascader from '@/components/cascader'
|
|
import vCascader from '@/components/cascader'
|
|
import bUpload from '@/components/uploadFile.vue'
|
|
import bUpload from '@/components/uploadFile.vue'
|
|
import saleSelect from './salesSelect.vue'
|
|
import saleSelect from './salesSelect.vue'
|
|
-import { getDateSub } from '@/assets/js/dateSub'
|
|
|
|
|
|
+import { getDateSub } from '@/assets/js/date'
|
|
export default {
|
|
export default {
|
|
components: {
|
|
components: {
|
|
vCascader,
|
|
vCascader,
|
|
@@ -388,6 +400,31 @@ export default {
|
|
}
|
|
}
|
|
},200)
|
|
},200)
|
|
},
|
|
},
|
|
|
|
+ intered(time, phone, money) {// 判断权益是否开通
|
|
|
|
+ if (money > 0) {// 已回款金额
|
|
|
|
+ this.others.order_status = 1
|
|
|
|
+ this.noFinishDis = true
|
|
|
|
+ this.cancelDis = true
|
|
|
|
+ }
|
|
|
|
+ if (time == '2099-01-01 00:00:00' || phone.substr(0, 1) == '9') {// 权益未开通
|
|
|
|
+ if (money == 0) {
|
|
|
|
+ this.noFinishDis = false
|
|
|
|
+ this.finishDis = false
|
|
|
|
+ this.cancelDis = false
|
|
|
|
+ } else {
|
|
|
|
+ this.interested = false
|
|
|
|
+ }
|
|
|
|
+ } else {// 权益开通
|
|
|
|
+ if (money == 0) {
|
|
|
|
+ this.noFinishDis = false
|
|
|
|
+ this.finishDis = false
|
|
|
|
+ this.cancelDis = true
|
|
|
|
+ } else {
|
|
|
|
+ this.interested = true
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ console.log('权益是否开通' + this.interested)
|
|
|
|
+ },
|
|
moneyReg(val) {
|
|
moneyReg(val) {
|
|
return val.replace(/[^\d^\.]+/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
|
|
return val.replace(/[^\d^\.]+/g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
|
|
},
|
|
},
|
|
@@ -648,6 +685,7 @@ export default {
|
|
this.resArr3 = []
|
|
this.resArr3 = []
|
|
this.resArr4 = []
|
|
this.resArr4 = []
|
|
this.resArr5 = []
|
|
this.resArr5 = []
|
|
|
|
+ this.datas2 = []
|
|
this.$request('/order/getServer').data().success((res) => {// 获取自定义套餐所有服务选项
|
|
this.$request('/order/getServer').data().success((res) => {// 获取自定义套餐所有服务选项
|
|
this.servedData = res.data.lists
|
|
this.servedData = res.data.lists
|
|
res.data.lists.forEach(v => {
|
|
res.data.lists.forEach(v => {
|
|
@@ -841,9 +879,16 @@ export default {
|
|
this.sumSel.push(k)
|
|
this.sumSel.push(k)
|
|
}
|
|
}
|
|
} else if (this.repair == 2) {
|
|
} else if (this.repair == 2) {
|
|
- if (this.currentId.indexOf(k.id) > -1) {
|
|
|
|
- k._checked = true
|
|
|
|
|
|
+ if (this.interested) {
|
|
k._disabled = true
|
|
k._disabled = true
|
|
|
|
+ if (this.currentId.indexOf(k.id) > -1) {
|
|
|
|
+ k._checked = true
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ if (this.currentId.indexOf(k.id) > -1) {
|
|
|
|
+ k._checked = true
|
|
|
|
+ k._disabled = true
|
|
|
|
+ }
|
|
}
|
|
}
|
|
} else if (this.repair == '3') {
|
|
} else if (this.repair == '3') {
|
|
if (this.currentId.indexOf(k.id) > -1) {
|
|
if (this.currentId.indexOf(k.id) > -1) {
|
|
@@ -855,20 +900,24 @@ export default {
|
|
}
|
|
}
|
|
})
|
|
})
|
|
this.pacData.forEach(j => {
|
|
this.pacData.forEach(j => {
|
|
- if (this.currentId.indexOf(j.id) > -1) {
|
|
|
|
- j._rowDis = false
|
|
|
|
|
|
+ if (this.interested) {
|
|
|
|
+ j._rowDis = true
|
|
} else {
|
|
} else {
|
|
- if (j.id == 16) {
|
|
|
|
- if (this.currentId.indexOf(12) > -1 && this.currentId.indexOf(13) > -1 ||this.currentId.indexOf(23) > -1 && this.currentId.indexOf(13) > -1 || this.currentId.indexOf(20) > -1 && this.currentId.indexOf(21) > -1) {
|
|
|
|
- j._rowDis = false
|
|
|
|
- } else {
|
|
|
|
- j._rowDis = true
|
|
|
|
- }
|
|
|
|
|
|
+ if (this.currentId.indexOf(j.id) > -1) {
|
|
|
|
+ j._rowDis = false
|
|
} else {
|
|
} else {
|
|
- if (this.currentId.indexOf(j.id) > -1) {
|
|
|
|
- j._rowDis = false
|
|
|
|
|
|
+ if (j.id == 16) {
|
|
|
|
+ if (this.currentId.indexOf(12) > -1 && this.currentId.indexOf(13) > -1 ||this.currentId.indexOf(23) > -1 && this.currentId.indexOf(13) > -1 || this.currentId.indexOf(20) > -1 && this.currentId.indexOf(21) > -1) {
|
|
|
|
+ j._rowDis = false
|
|
|
|
+ } else {
|
|
|
|
+ j._rowDis = true
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
- j._rowDis = true
|
|
|
|
|
|
+ if (this.currentId.indexOf(j.id) > -1) {
|
|
|
|
+ j._rowDis = false
|
|
|
|
+ } else {
|
|
|
|
+ j._rowDis = true
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -876,17 +925,21 @@ export default {
|
|
},
|
|
},
|
|
checkedDis2(val) {
|
|
checkedDis2(val) {
|
|
this.pacData.forEach(v => {
|
|
this.pacData.forEach(v => {
|
|
- if (v.id == 16) {
|
|
|
|
- if (val.s_servers.indexOf(12) > -1 && val.s_servers.indexOf(13) > -1 || val.s_servers.indexOf(23) > -1 && val.s_servers.indexOf(13) > -1 || val.s_servers.indexOf(20) > -1 && val.s_servers.indexOf(21) > -1) {
|
|
|
|
- v._rowDis = false
|
|
|
|
- } else {
|
|
|
|
- v._rowDis = true
|
|
|
|
- }
|
|
|
|
|
|
+ if (this.interested) {
|
|
|
|
+ v._rowDis = true
|
|
} else {
|
|
} else {
|
|
- if (val.s_servers.indexOf(v.id) > -1) {
|
|
|
|
- v._rowDis = false
|
|
|
|
|
|
+ if (v.id == 16) {
|
|
|
|
+ if (val.s_servers.indexOf(12) > -1 && val.s_servers.indexOf(13) > -1 || val.s_servers.indexOf(23) > -1 && val.s_servers.indexOf(13) > -1 || val.s_servers.indexOf(20) > -1 && val.s_servers.indexOf(21) > -1) {
|
|
|
|
+ v._rowDis = false
|
|
|
|
+ } else {
|
|
|
|
+ v._rowDis = true
|
|
|
|
+ }
|
|
} else {
|
|
} else {
|
|
- v._rowDis = true
|
|
|
|
|
|
+ if (val.s_servers.indexOf(v.id) > -1) {
|
|
|
|
+ v._rowDis = false
|
|
|
|
+ } else {
|
|
|
|
+ v._rowDis = true
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
})
|
|
})
|
|
@@ -1102,7 +1155,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
timeReg(val) {
|
|
timeReg(val) {
|
|
- return new Date(ChangeDate(val).replace(/-/g, '/') + ' 00:00:00').getTime() / 1000
|
|
|
|
|
|
+ return new Date(dateFormatter(val, 'yyyy-MM-dd') + ' 00:00:00').getTime() / 1000
|
|
},
|
|
},
|
|
moneyChange(num) {
|
|
moneyChange(num) {
|
|
if (num == 0) {
|
|
if (num == 0) {
|
|
@@ -1467,6 +1520,11 @@ export default {
|
|
})
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ let trueMoney = this.fixedNum(this.member.payMoney - this.member.commission - this.member.proceduresMoney)
|
|
|
|
+ if (trueMoney < this.returnBoll) {
|
|
|
|
+ this.$Notice.warning({title: '实付金额小于已回款金额,无法编辑订单!'})
|
|
|
|
+ return
|
|
|
|
+ }
|
|
let obj = {
|
|
let obj = {
|
|
orderCode: this.member.orderCode,
|
|
orderCode: this.member.orderCode,
|
|
createTime: this.member.createTime,
|
|
createTime: this.member.createTime,
|
|
@@ -1583,6 +1641,8 @@ export default {
|
|
},
|
|
},
|
|
show(data) {
|
|
show(data) {
|
|
const {contractRes,filterData,refundRes,res,returnInfo,returnRes } = data
|
|
const {contractRes,filterData,refundRes,res,returnInfo,returnRes } = data
|
|
|
|
+ this.intered(res.vip_starttime, res.user_phone, returnInfo.money)
|
|
|
|
+ this.returnBoll = returnInfo.money
|
|
//产品类型
|
|
//产品类型
|
|
let products = ''
|
|
let products = ''
|
|
if (res.productType=='大会员-AI中标预测包'||res.productType=='大会员-招标文件解读'){
|
|
if (res.productType=='大会员-AI中标预测包'||res.productType=='大会员-招标文件解读'){
|
|
@@ -1638,7 +1698,7 @@ export default {
|
|
this.proNums = products
|
|
this.proNums = products
|
|
// 补充包列表
|
|
// 补充包列表
|
|
this.supplys = filterData.supplys
|
|
this.supplys = filterData.supplys
|
|
-
|
|
|
|
|
|
+ console.log(typeof res.vip_starttime)
|
|
this.member = {
|
|
this.member = {
|
|
orderCode: res.order_code, //
|
|
orderCode: res.order_code, //
|
|
createTime: res.create_time, //
|
|
createTime: res.create_time, //
|
|
@@ -1682,6 +1742,7 @@ export default {
|
|
contract_archive_time: contractRes.contract_archive_time, //
|
|
contract_archive_time: contractRes.contract_archive_time, //
|
|
contract_archive_num: contractRes.contract_archive_num //
|
|
contract_archive_num: contractRes.contract_archive_num //
|
|
}
|
|
}
|
|
|
|
+ console.log(this.member)
|
|
//会员套餐
|
|
//会员套餐
|
|
this.proChange(Number(products))
|
|
this.proChange(Number(products))
|
|
this.$request('/order/getCombo').data().success((res) => {
|
|
this.$request('/order/getCombo').data().success((res) => {
|
|
@@ -1716,6 +1777,7 @@ export default {
|
|
optionDis6: false,
|
|
optionDis6: false,
|
|
repair: '1',
|
|
repair: '1',
|
|
spinShow: false,
|
|
spinShow: false,
|
|
|
|
+ interested: false,
|
|
bShow: false,
|
|
bShow: false,
|
|
downDis: false,
|
|
downDis: false,
|
|
shiDis: false,
|
|
shiDis: false,
|
|
@@ -1726,6 +1788,9 @@ export default {
|
|
pArr2: [],
|
|
pArr2: [],
|
|
supplys: [],
|
|
supplys: [],
|
|
combo_id: {},
|
|
combo_id: {},
|
|
|
|
+ noFinishDis: false,
|
|
|
|
+ finishDis: false,
|
|
|
|
+ cancelDis: false,
|
|
allDis: false,
|
|
allDis: false,
|
|
bigDis: true,
|
|
bigDis: true,
|
|
subDis: true,
|
|
subDis: true,
|
|
@@ -1735,6 +1800,7 @@ export default {
|
|
noPass: false,
|
|
noPass: false,
|
|
pReadon: false,
|
|
pReadon: false,
|
|
isDisable: false,
|
|
isDisable: false,
|
|
|
|
+ returnBoll: 0,
|
|
selData: [],
|
|
selData: [],
|
|
placed: '请输入有效周期',
|
|
placed: '请输入有效周期',
|
|
member: {
|
|
member: {
|