订单客户等

dev_2022-05-11
yujialong 3 years ago
parent 5575c862d9
commit ccc3affa99
  1. 3
      src/assets/css/main.css
  2. 4
      src/setting.js
  3. 1
      src/utils/api.js
  4. 20
      src/views/course/AddCurriculum.vue
  5. 2
      src/views/course/Curriculum.vue
  6. 3
      src/views/course/contentSettings.vue
  7. 12
      src/views/customer/AddCustomer.vue
  8. 15
      src/views/customer/Order.vue
  9. 23
      src/views/data/Product.vue
  10. 6
      src/views/join/index.vue
  11. 160
      src/views/order/AddOrder.vue
  12. 6
      src/views/parner/staff.vue
  13. 23
      src/views/system/manageLog.vue
  14. 1
      src/views/system/staff.vue

@ -161,6 +161,9 @@ li {
.orderTable td .el-input{ .orderTable td .el-input{
width: 60%; width: 60%;
} }
.orderTable td .normal{
width: auto;
}
.orderTable .el-select>.el-input{ .orderTable .el-select>.el-input{
display: inline-block; display: inline-block;

@ -9,8 +9,8 @@ let jumpPath = `${location.origin}/judgmentPoint`
let host = `${location.origin}:9000/` let host = `${location.origin}:9000/`
if (isDev) { if (isDev) {
jumpPath = "http://192.168.31.125:8087/"; // 本地调试-需要启动本地判分点系统 jumpPath = "http://192.168.31.125:8087/"; // 本地调试-需要启动本地判分点系统
// host = 'http://39.108.250.202:9000/' host = 'http://39.108.250.202:9000/'
host = 'http://192.168.31.151:9000/'// 榕 // host = 'http://192.168.31.151:9000/'// 榕
// host = 'http://192.168.31.137:9000/'// 赓 // host = 'http://192.168.31.137:9000/'// 赓
} else if (isPro) { } else if (isPro) {
jumpPath = "http://www.huorantech.cn/judgmentPoint/"; jumpPath = "http://www.huorantech.cn/judgmentPoint/";

@ -256,6 +256,7 @@ export default {
platformLogList: `nakadai/log/platformLogList`, platformLogList: `nakadai/log/platformLogList`,
listUpdate: `nakadai/log/update`, listUpdate: `nakadai/log/update`,
checkRepeat: `nakadai/log/checkRepeat`, checkRepeat: `nakadai/log/checkRepeat`,
logWithdrawal: `nakadai/log/logWithdrawal`,
// 合伙人 // 合伙人
deleteParner: `${host1}nakadai/partnerClassification/delete`, deleteParner: `${host1}nakadai/partnerClassification/delete`,

@ -62,9 +62,13 @@
<div class="settlement"> <div class="settlement">
<el-radio v-model="form.settlementMethod" label="1">比例分成</el-radio> <el-radio v-model="form.settlementMethod" label="1">比例分成</el-radio>
<span class="label">商务经理占比</span> <span class="label">商务经理占比</span>
<el-input v-model.trim="form.businessProportion"></el-input> <el-input v-model.trim="form.businessProportion">
<template slot="append">%</template>
</el-input>
<span class="label">产品厂商占比</span> <span class="label">产品厂商占比</span>
<el-input v-model.trim="form.manufacturerProportion"></el-input> <el-input v-model.trim="form.manufacturerProportion">
<template slot="append">%</template>
</el-input>
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -656,6 +660,18 @@ export default {
this.$refs.form.validate((valid) => { this.$refs.form.validate((valid) => {
if (valid) { if (valid) {
if (this.submiting) return false if (this.submiting) return false
const { form } = this
const { businessProportion, manufacturerProportion, settlementMethod, settlementPrice } = form
if (settlementMethod == 0) {
if(!settlementPrice) return this.$message.warning('请输入结算单价')
if(isNaN(settlementPrice)) return this.$message.warning('结算单价请输入数字')
} else {
if(!businessProportion) return this.$message.warning('请输入商务经理占比')
if(isNaN(businessProportion)) return this.$message.warning('商务经理占比请输入数字')
if(!manufacturerProportion) return this.$message.warning('请输入产品厂商占比')
if(isNaN(manufacturerProportion)) return this.$message.warning('产品厂商占比请输入数字')
if(+businessProportion + +manufacturerProportion !== 100) return this.$message.warning('比例分成总和须为100%,请重新修改')
}
if (!this.form.coverUrl) { if (!this.form.coverUrl) {
this.$message.warning("请上传课程封面"); this.$message.warning("请上传课程封面");
return; return;

@ -238,7 +238,7 @@ export default {
}, },
// //
config(row) { config(row) {
this.$router.push(`/contentSettings?cid=${row.cid}`); this.$router.push(`/contentSettings?cid=${row.cid}&name=${row.curriculumName}`);
}, },
// //
handleDelete(row) { handleDelete(row) {

@ -2,7 +2,7 @@
<div> <div>
<el-card shadow="hover" class="mgb20"> <el-card shadow="hover" class="mgb20">
<div class="flex-between"> <div class="flex-between">
<el-page-header @back="goBack" :content="sorting? '更改排序' : '内容设置'"></el-page-header> <el-page-header @back="goBack" :content="name + '/' + (sorting? '编辑排序' : '内容设置')"></el-page-header>
</div> </div>
</el-card> </el-card>
<!--内容设置--> <!--内容设置-->
@ -218,6 +218,7 @@ export default {
name: "contentSettings", name: "contentSettings",
data() { data() {
return { return {
name: this.$route.query.name,
headers: { headers: {
token: sessionStorage.getItem('token') token: sessionStorage.getItem('token')
}, },

@ -7,7 +7,6 @@
<span class="per_back">返回</span> <span class="per_back">返回</span>
<span class="per_school" v-text="isDetail ? '查看客户信息' : (customerId ? '编辑客户信息' : '新增客户信息')"></span> <span class="per_school" v-text="isDetail ? '查看客户信息' : (customerId ? '编辑客户信息' : '新增客户信息')"></span>
</div> </div>
<el-button v-if="!isDetail" type="primary" round class="mag" v-preventReClick @click="saveAdd('form')">确定</el-button>
</div> </div>
</el-card> </el-card>
@ -15,8 +14,8 @@
<div class="tabs" v-if="customerId"> <div class="tabs" v-if="customerId">
<a class="item" v-for="(item, i) in tabs" :key="i" :class="{active: i == curTab}" @click="tabChange(i)">{{ item }}</a> <a class="item" v-for="(item, i) in tabs" :key="i" :class="{active: i == curTab}" @click="tabChange(i)">{{ item }}</a>
</div> </div>
<div v-show="curTab === 'tab1'">
<el-form v-show="curTab === 'tab1'" style="margin-top: 20px" :model="form" :rules="rules" ref="form" label-width="120px" class="flex-start-around" :disabled="isDetail"> <el-form style="margin-top: 20px" :model="form" :rules="rules" ref="form" label-width="120px" class="flex-start-around" :disabled="isDetail">
<el-col :span="6" style="margin-right: 60px;"> <el-col :span="6" style="margin-right: 60px;">
<el-form-item prop="countries" label="国家"> <el-form-item prop="countries" label="国家">
<el-select v-model="form.countries" clearable placeholder="请选择国家"> <el-select v-model="form.countries" clearable placeholder="请选择国家">
@ -77,6 +76,10 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-form> </el-form>
<div style="text-align: center">
<el-button v-if="!isDetail" type="primary" v-preventReClick @click="saveAdd('form')">确定</el-button>
</div>
</div>
<div v-show="curTab === 'tab2'"> <div v-show="curTab === 'tab2'">
<div class="tool"> <div class="tool">
@ -558,6 +561,7 @@ export default {
e.startTime = list[0].startTime e.startTime = list[0].startTime
e.endTime = connect ? list[list.length - 1].endTime : list[0].endTime e.endTime = connect ? list[list.length - 1].endTime : list[0].endTime
e.status = '未生效' e.status = '未生效'
e.orderEnable = list[0].isEnable
} else if (now > new Date(list[list.length - 1].endTime).getTime()) { } else if (now > new Date(list[list.length - 1].endTime).getTime()) {
e.status = '已过期' e.status = '已过期'
} else { } else {
@ -718,7 +722,7 @@ export default {
}, },
// //
toOrder(row) { toOrder(row) {
this.$router.push(`/bmOrder?businessManagerId=${row.businessManagerId}&customerId=${this.customerId}&customerName=${this.form.customerName}`) this.$router.push(`/bmOrder?businessManagerId=${row.businessManagerId}&customerId=${this.customerId}&customerName=${this.form.customerName}&userName=${row.userName}`)
}, },
tabChange(index) { tabChange(index) {

@ -5,19 +5,7 @@
<div class="per_title" v-preventReClick @click="back"> <div class="per_title" v-preventReClick @click="back">
<i class="el-icon-arrow-left"></i> <i class="el-icon-arrow-left"></i>
<span class="per_back">返回</span> <span class="per_back">返回</span>
<span class="per_school">商务经理订单</span> <span class="per_school">{{ $route.query.userName }}</span>
</div>
</div>
</el-card>
<el-card shadow="hover" class="mgb20">
<div>
<div class="flex-center mgb20">
<p class="hr_tag"></p>
<span>筛选</span>
</div>
<div style="text-align: right">
<el-input style="width: 300px" placeholder="请输入订单编号/产品名称" prefix-icon="el-icon-search" v-model="keyword" clearable></el-input>
</div> </div>
</div> </div>
</el-card> </el-card>
@ -28,6 +16,7 @@
<p class="hr_tag"></p> <p class="hr_tag"></p>
<span>订单列表</span> <span>订单列表</span>
</div> </div>
<el-input style="width: 300px" placeholder="请输入订单编号/产品名称" prefix-icon="el-icon-search" v-model="keyword" clearable></el-input>
</div> </div>
<el-table :data="orderData" class="table" ref="table" stripe header-align="center" <el-table :data="orderData" class="table" ref="table" stripe header-align="center"
@selection-change="handleSelectionChange" :row-key="getRowKeys"> @selection-change="handleSelectionChange" :row-key="getRowKeys">

@ -76,11 +76,15 @@
<div class="settle-item"> <div class="settle-item">
<div style="margin-bottom: 10px"> <div style="margin-bottom: 10px">
<span class="label">商务经理占比</span> <span class="label">商务经理占比</span>
<el-input v-model.trim="businessProportion"></el-input> <el-input v-model.trim="businessProportion">
<template slot="append">%</template>
</el-input>
</div> </div>
<div> <div>
<span class="label">产品厂商占比</span> <span class="label">产品厂商占比</span>
<el-input v-model.trim="manufacturerProportion"></el-input> <el-input v-model.trim="manufacturerProportion">
<template slot="append">%</template>
</el-input>
</div> </div>
</div> </div>
</div> </div>
@ -530,8 +534,19 @@ export default {
if(this.submited) return false if(this.submited) return false
const { productName, market, businessProportion, manufacturerProportion, settlementMethod, settlementPrice, supplier } = this const { productName, market, businessProportion, manufacturerProportion, settlementMethod, settlementPrice, supplier } = this
if(!productName) return this.$message.warning('请输入数据产品名称') if(!productName) return this.$message.warning('请输入数据产品名称')
if(!market) return this.$message.warning('请输入市场价格') if(!market) return this.$message.warning('请输入市场单价格')
if(isNaN(market)) return this.$message.warning('市场价格请输入数字') if(isNaN(market)) return this.$message.warning('市场单价格请输入数字')
if(!supplier) return this.$message.warning('请输入供应厂商')
if (settlementMethod == 0) {
if(!settlementPrice) return this.$message.warning('请输入结算单价')
if(isNaN(settlementPrice)) return this.$message.warning('结算单价请输入数字')
} else {
if(!businessProportion) return this.$message.warning('请输入商务经理占比')
if(isNaN(businessProportion)) return this.$message.warning('商务经理占比请输入数字')
if(!manufacturerProportion) return this.$message.warning('请输入产品厂商占比')
if(isNaN(manufacturerProportion)) return this.$message.warning('产品厂商占比请输入数字')
if(+businessProportion + +manufacturerProportion !== 100) return this.$message.warning('比例分成总和须为100%,请重新修改')
}
if(!this.checkedIds.length) return this.$message.warning('请选择数据') if(!this.checkedIds.length) return this.$message.warning('请选择数据')
this.submited = true // this.submited = true //
let tableId = this.checkedIds let tableId = this.checkedIds

@ -6,7 +6,7 @@
<div class="icon"> <div class="icon">
<img src="@/assets/img/house.png" alt=""> <img src="@/assets/img/house.png" alt="">
</div> </div>
<p class="text">或然科技城市合伙人计划</p> <p class="text" style="font-size: 16px">城市合伙人计划</p>
<p class="text">加入并自动为你创建一个团队群组</p> <p class="text">加入并自动为你创建一个团队群组</p>
</div> </div>
<div class="inner"> <div class="inner">
@ -26,9 +26,6 @@
<el-button class="send" type="text" @click="sendPhoneCode" :disabled="phoneDisabled">{{ phoneBtnText }}</el-button> <el-button class="send" type="text" @click="sendPhoneCode" :disabled="phoneDisabled">{{ phoneBtnText }}</el-button>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item prop="email">
<el-input v-model.trim="form.email" placeholder="请输入邮箱"></el-input>
</el-form-item>
</el-form> </el-form>
<el-button class="submit" type="primary" @click="submit">立即加入</el-button> <el-button class="submit" type="primary" @click="submit">立即加入</el-button>
</div> </div>
@ -49,7 +46,6 @@ export default {
partnerClassificationId: this.$route.query.id, partnerClassificationId: this.$route.query.id,
isTeam: 0, isTeam: 0,
account: '', account: '',
email: '',
phone: '', phone: '',
code: '', code: '',
userName: '' userName: ''

@ -24,7 +24,7 @@
<span>基本信息</span> <span>基本信息</span>
</div> </div>
<div> <div>
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form class="info" ref="form" :model="form" :rules="rules" label-width="120px">
<el-col :span="6" :offset="5"> <el-col :span="6" :offset="5">
<el-form-item label="订单编号"> <el-form-item label="订单编号">
<el-input v-model="form.orderNumber" disabled placeholder="自动生成"></el-input> <el-input v-model="form.orderNumber" disabled placeholder="自动生成"></el-input>
@ -171,43 +171,40 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="市场价" align="center" min-width="110"> <el-table-column label="市场价" align="center" min-width="170">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="small"> <div class="small">
<el-input disabled v-model="scope.row.marketValue" placeholder="" <el-input class="normal" disabled v-model="scope.row.marketValue" placeholder=""
type="text"></el-input> type="text"></el-input>
<span style="margin-left:5px"></span>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="折扣率 " align="center" min-width="100"> <el-table-column label="折扣率 " align="center" min-width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input disabled v-model="scope.row.discountRate" placeholder="" <el-input class="normal" disabled v-model="scope.row.discountRate" placeholder=""
type="text" size="small" style="width: 100%"></el-input> type="text" size="small" style="width: 100%"></el-input>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="成交价" align="center" min-width="130"> <el-table-column label="成交价" align="center" min-width="170">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="small"> <div class="small">
<el-input :class="scope.row.finalPrice === '' && whetherSubmit?'red':''" <el-input :class="['normal', scope.row.finalPrice === '' && whetherSubmit?'red':'']"
:disabled="viewDisabled" :disabled="viewDisabled"
@input="scope.row.finalPrice = scope.row.finalPrice.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" @input="scope.row.finalPrice = scope.row.finalPrice.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"
@change="[allAmount($event,scope.row),calculateDiscountCourse($event,scope.row)]" @change="[allAmount($event,scope.row),calculateDiscountCourse($event,scope.row)]"
v-model="scope.row.finalPrice" v-model="scope.row.finalPrice"
type="text"></el-input> type="text"></el-input>
<span style="margin-left:5px"></span>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="结算价" align="center" min-width="130"> <el-table-column label="结算价" align="center" min-width="170">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="small"> <div class="small">
<el-input :class="scope.row.settlementPrice === '' && whetherSubmit?'red':''" <el-input :class="['normal', scope.row.settlementPrice === '' && whetherSubmit?'red':'']"
:disabled="viewDisabled" :disabled="viewDisabled"
@input="scope.row.settlementPrice = scope.row.settlementPrice.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" @input="scope.row.settlementPrice = scope.row.settlementPrice.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"
v-model="scope.row.settlementPrice" v-model="scope.row.settlementPrice"
type="text"></el-input> type="text"></el-input>
<span style="margin-left:5px"></span>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -347,7 +344,7 @@
<el-table-column label="折扣率" align="center" min-width="140"> <el-table-column label="折扣率" align="center" min-width="140">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="small"> <div class="small">
<el-input disabled v-model="scope.row.discountRate" placeholder="" <el-input class="normal" disabled v-model="scope.row.discountRate" placeholder=""
type="text"></el-input> type="text"></el-input>
</div> </div>
</template> </template>
@ -355,7 +352,7 @@
<el-table-column label="账号数" align="center" min-width="120"> <el-table-column label="账号数" align="center" min-width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="small"> <div class="small">
<el-input :class="!scope.row.accountNum&&whetherSubmit?'red':''" <el-input :class="['normal', !scope.row.accountNum&&whetherSubmit?'red':'']"
:disabled="viewDisabled" :disabled="viewDisabled"
@input="scope.row.accountNum = scope.row.accountNum.replace(/[^0-9.]/g,'')" @input="scope.row.accountNum = scope.row.accountNum.replace(/[^0-9.]/g,'')"
v-model="scope.row.accountNum" v-model="scope.row.accountNum"
@ -368,25 +365,23 @@
<el-table-column label="成交价" align="center" min-width="180"> <el-table-column label="成交价" align="center" min-width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="small"> <div class="small">
<el-input :class="scope.row.finalPrice === '' && whetherSubmit?'red':''" <el-input :class="['normal', scope.row.finalPrice === '' && whetherSubmit?'red':'']"
:disabled="viewDisabled||editDisabled" :disabled="viewDisabled||editDisabled"
@blur="[allAmount($event,scope.row),dealFinalValue($event,scope.row)]" @blur="[allAmount($event,scope.row),dealFinalValue($event,scope.row)]"
@input="scope.row.finalPrice = scope.row.finalPrice.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" @input="scope.row.finalPrice = scope.row.finalPrice.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"
v-model="scope.row.finalPrice" v-model="scope.row.finalPrice"
type="text"></el-input> type="text"></el-input>
<span style="margin-left:5px"></span>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="结算价" align="center" min-width="130"> <el-table-column label="结算价" align="center" min-width="130">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="small"> <div class="small">
<el-input :class="scope.row.settlementPrice === '' && whetherSubmit?'red':''" <el-input :class="['normal', scope.row.settlementPrice === '' && whetherSubmit?'red':'']"
:disabled="viewDisabled" :disabled="viewDisabled"
@input="scope.row.settlementPrice = scope.row.settlementPrice.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')" @input="scope.row.settlementPrice = scope.row.settlementPrice.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1')"
v-model="scope.row.settlementPrice" v-model="scope.row.settlementPrice"
type="text"></el-input> type="text"></el-input>
<span style="margin-left:5px"></span>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -839,58 +834,6 @@ export default {
this.$get(this.api.orderDetail, { orderId: +id }).then(res => { this.$get(this.api.orderDetail, { orderId: +id }).then(res => {
let form = res.orderDetails.order;// let form = res.orderDetails.order;//
let contract = res.orderDetails.contractInformation ? res.orderDetails.contractInformation : {}; // let contract = res.orderDetails.contractInformation ? res.orderDetails.contractInformation : {}; //
const { orderOther } = res.orderDetails
if (orderOther.find(e => e.authority)) {
this.$post(this.api.renew, {
authority: 1,
customerId: form.customerId,
productId: orderOther.filter(e => e.authority).map(e => e.dataOrCourseId)
}).then(res => {
const renewList = res.orderOthers
if (orderOther.find(e => !e.authority)) {
this.$post(this.api.renew, {
authority: 0,
customerId: form.customerId,
productId: orderOther.filter(e => !e.authority).map(e => e.dataOrCourseId)
}).then(res => {
renewList.push(...res.orderOthers)
this.setStartDate(renewList, contract, form, orderOther)
}).catch(err => {})
} else {
this.setStartDate(renewList, contract, form, orderOther)
}
}).catch(err => {})
}
});
},
setStartDate(renewList, contract, form, orderOther) {
const { orderType } = form
let list = orderOther.map(e => {
if (orderType === 2) e.finalPrice = 0 // 0
const item = renewList.find(n => n.dataOrCourseId === e.dataOrCourseId && n.authority === e.authority) // renew
if (item) {
//
if (this.renewDisabled) {
let end = Date.parse(item.endTime);
let now = +new Date();
if (now < end) {
let time = new Date(item.endTime.split(" ")[0])
time = new Date(time.setDate(time.getDate() + 1))
e.startTime = `${time.getFullYear()}-${time.getMonth() + 1}-${time.getDate()}`
} else {
//
e.startTime = "";
}
e.endTime = "";
e.periodOfUse = "";
} else if (!this.viewDisabled) { //
e.startTime = item.startTime.split(" ")[0];
e.endTime = item.endTime.split(" ")[0];
}
}
return e;
});//
if (this.renewDisabled) { // if (this.renewDisabled) { //
this.contract = { this.contract = {
contractName: "", contractName: "",
@ -931,16 +874,74 @@ export default {
orderAmount: form.orderType === 2 ? 0 : form.orderAmount, // 0 orderAmount: form.orderType === 2 ? 0 : form.orderAmount, // 0
orderId: form.orderId, orderId: form.orderId,
options: form.options, options: form.options,
businessManagerId: +form.businessManagerId businessManagerId: form.businessManagerId ? +form.businessManagerId : ''
}; };
this.coursePermissions = list.filter(i => i.authority === 1);
this.dataPlatformPermissions = list.filter(i => i.authority === 0);
this.$nextTick(() => { this.$nextTick(() => {
if(this.form.provinceId){ form.provinceId && this.getCityData()
this.getCityData() });
const { orderOther } = res.orderDetails
const promises = []
const { customerId } = form
const list = []
if (orderOther.find(e => e.authority)) {
promises.push(new Promise((resolve, reject) => {
this.$post(this.api.renew, {
authority: 1,
customerId,
productId: orderOther.filter(e => e.authority).map(e => e.dataOrCourseId)
}).then(({ orderOthers }) => {
list.push(...orderOthers)
resolve()
}).catch(err => {})
}))
} }
if (orderOther.find(e => !e.authority)) {
promises.push(new Promise((resolve, reject) => {
this.$post(this.api.renew, {
authority: 0,
customerId,
productId: orderOther.filter(e => !e.authority).map(e => e.dataOrCourseId)
}).then(({ orderOthers }) => {
list.push(...orderOthers)
resolve()
}).catch(err => {})
}))
}
Promise.all(promises).then(_ => {
this.setStartDate(list, orderOther)
})
}); });
}, },
setStartDate(renewList, orderOther) {
console.log(555)
let list = orderOther.map(e => {
const item = renewList.find(n => n.dataOrCourseId === e.dataOrCourseId && n.authority === e.authority) // renew
if (item) {
//
if (this.renewDisabled) {
let end = Date.parse(item.endTime);
let now = +new Date();
if (now < end) {
let time = new Date(item.endTime.split(" ")[0])
time = new Date(time.setDate(time.getDate() + 1))
e.startTime = `${time.getFullYear()}-${time.getMonth() + 1}-${time.getDate()}`
} else {
//
e.startTime = "";
}
e.endTime = "";
e.periodOfUse = "";
} else if (!this.viewDisabled) { //
e.startTime = item.startTime.split(" ")[0];
e.endTime = item.endTime.split(" ")[0];
}
}
return e;
});//
this.coursePermissions = list.filter(i => i.authority === 1);
this.dataPlatformPermissions = list.filter(i => i.authority === 0);
},
// //
submitOrder() { submitOrder() {
if (!this.coursePermissions.length && !this.dataPlatformPermissions.length) { if (!this.coursePermissions.length && !this.dataPlatformPermissions.length) {
@ -1345,7 +1346,7 @@ export default {
let total = 0 let total = 0
const list = [...this.coursePermissions, ...this.dataPlatformPermissions] const list = [...this.coursePermissions, ...this.dataPlatformPermissions]
list.map(e => total += +e.finalPrice) list.map(e => total += +e.finalPrice)
this.form.orderAmount = total * 10000 this.form.orderAmount = total
}, },
// //// // ////
dealFinalValue(val, row) { dealFinalValue(val, row) {
@ -1384,10 +1385,10 @@ export default {
priceUnit / 12 * useUnit : priceUnit / 12 * useUnit :
priceUnit * useUnit) * (row.authority ? priceUnit * useUnit) * (row.authority ?
1 : 1 :
row.accountNum) / 10000).toFixed(2) row.accountNum)).toFixed(2)
} else { } else {
// * // *
sPrice = row.finalPrice * row.businessProportion / 100 / 10000 sPrice = row.finalPrice * row.businessProportion / 100
} }
row.settlementPrice = this.handleNaN(sPrice) row.settlementPrice = this.handleNaN(sPrice)
}, },
@ -1424,7 +1425,7 @@ export default {
price / 365 * useUnit : price / 365 * useUnit :
unit === 1 ? unit === 1 ?
price / 12 * useUnit : price / 12 * useUnit :
price * useUnit) / 10000).toFixed(2) price * useUnit)).toFixed(2)
} }
this.dealSettlePrice(row) this.dealSettlePrice(row)
// +1 // +1
@ -1628,6 +1629,9 @@ export default {
/deep/ .contractDate .el-date-editor--daterange.el-input__inner { /deep/ .contractDate .el-date-editor--daterange.el-input__inner {
width: 100%; width: 100%;
} }
.info .el-select {
width: 100%;
}
.mag { .mag {
margin-right: 20px; margin-right: 20px;
} }

@ -302,7 +302,7 @@ export default {
}, },
// //
delOrg(node, data) { delOrg(node, data) {
this.$confirm(data.isTeam ? '确定删除城市合伙人' : '确定要删除吗?', "提示", { this.$confirm(data.isTeam ? '确定删除城市合伙人?删除后,该团队同步解散,且不可恢复!' : '确定要删除吗?', "提示", {
type: "warning" type: "warning"
}).then(() => { }).then(() => {
this.$post(`${this.api.deleteParner}?id=${data.id}`).then(res => { this.$post(`${this.api.deleteParner}?id=${data.id}`).then(res => {
@ -406,11 +406,11 @@ export default {
const { accountId } = this const { accountId } = this
// //
this.$post(`${this.api.generateInvitationCode}?accountId=${accountId}`).then(({ expireTime, invitationCode }) => { this.$post(`${this.api.generateInvitationCode}?accountId=${accountId}`).then(({ expireTime, invitationCode }) => {
const date = new Date(Date.now() + expireTime) const date = new Date(Date.now() + expireTime * 1000) // *1000
this.expireTime = `${date.getFullYear()}-${util.preZero(date.getMonth() + 1)}-${util.preZero(date.getDate())} ${util.preZero(date.getHours())}:${util.preZero(date.getMinutes())}:${util.preZero(date.getMinutes())}` this.expireTime = `${date.getFullYear()}-${util.preZero(date.getMonth() + 1)}-${util.preZero(date.getDate())} ${util.preZero(date.getHours())}:${util.preZero(date.getMinutes())}:${util.preZero(date.getMinutes())}`
this.parnerVisible = true this.parnerVisible = true
const cur = this.$refs.orgTree.getCurrentKey() const cur = this.$refs.orgTree.getCurrentKey()
const link = `${location.origin}${Setting.isDev || Setting.isPro ? '' : 'nakadai'}/#/join?accountId=${accountId}&id=${cur ? cur: this.orgList[0].id}` const link = `${location.origin}${Setting.isDev || Setting.isPro ? '' : '/nakadai'}/#/join?accountId=${accountId}&id=${cur ? cur: this.orgList[0].id}`
// //
this.link = link this.link = link

@ -41,8 +41,12 @@
<i class="el-icon-delete" @click="del(item)" v-auth="'/system:日志更新:管理:删除日志'"></i> <i class="el-icon-delete" @click="del(item)" v-auth="'/system:日志更新:管理:删除日志'"></i>
</span> </span>
</div> </div>
<div>
<el-button v-if="item.revoke" style="margin-right: 10px" type="primary" size="small" @click="revoke(item)">撤销</el-button>
<el-switch v-model="item.open" :active-value="0" :inactive-value="1" @change="switchOff($event, item)" v-auth="'/system:日志更新:管理:开启日志'"></el-switch> <el-switch v-model="item.open" :active-value="0" :inactive-value="1" @change="switchOff($event, item)" v-auth="'/system:日志更新:管理:开启日志'"></el-switch>
</div> </div>
</div>
<ul class="detail"> <ul class="detail">
<li v-for="(item, i) in item.logContents" :key="i"> <li v-for="(item, i) in item.logContents" :key="i">
<p class="name"><img :src="require('@/assets/img/' + funcList.find(e => e.id === item.type).icon + '.png')" alt=""> {{ funcList.find(e => e.id === item.type).name }}</p> <p class="name"><img :src="require('@/assets/img/' + funcList.find(e => e.id === item.type).icon + '.png')" alt=""> {{ funcList.find(e => e.id === item.type).name }}</p>
@ -100,7 +104,13 @@ export default {
const vers = [] const vers = []
const platformName = Setting.platformList.find(e => e.id === logList[0].platformId).name const platformName = Setting.platformList.find(e => e.id === logList[0].platformId).name
this.platformName = platformName this.platformName = platformName
let isRevoke = 0
logList.map((e, i) => { logList.map((e, i) => {
//
if (!e.open && !isRevoke) {
e.revoke = 1
isRevoke = 1
}
e.logContents.map(n => { e.logContents.map(n => {
n.content = n.content.split('\n') n.content = n.content.split('\n')
}) })
@ -140,6 +150,17 @@ export default {
}).catch(res => {}) }).catch(res => {})
}).catch(() => {}) }).catch(() => {})
}, },
//
revoke(item) {
this.$confirm("确定要撤销吗?", "提示", {
type: "warning"
}).then(() => {
this.$get(`${this.api.logWithdrawal}?platformId=${this.platformId}`).then(res => {
this.$message.success('撤销成功')
this.getData()
}).catch(res => {})
}).catch(() => {})
},
changeStatus(logId, open, draft) { changeStatus(logId, open, draft) {
this.$post(this.api.listUpdate, { this.$post(this.api.listUpdate, {
logId, logId,
@ -198,7 +219,7 @@ export default {
} }
} }
/deep/.timeline { /deep/.timeline {
margin-left: 20%; padding-left: 20%;
overflow: hidden; overflow: hidden;
.el-timeline-item__node--normal { .el-timeline-item__node--normal {
top: 30px; top: 30px;

@ -563,6 +563,7 @@ export default {
this.form = data this.form = data
this.originAccount = data.account this.originAccount = data.account
this.originWorkNumber = data.workNumber this.originWorkNumber = data.workNumber
console.log(333, this.orgList)
}).catch(res => {}) }).catch(res => {})
}, },
// //

Loading…
Cancel
Save