[FIX]bug_GFRS-468客户管理重要事件列表-已提醒状态事件去掉编辑按钮

[FIX]bug_GFRS-467客户管理重要事件提醒-编辑客户事件时,提醒时间应当不可以选择当前时间之前的时间
This commit is contained in:
yuweiqi
2020-01-14 15:21:59 +08:00
parent 05a8c9f7c1
commit 7b78f0135d
3 changed files with 384 additions and 367 deletions

View File

@@ -1,209 +1,215 @@
<template> <template>
<div class="addMilesone"> <div class="addMilesone">
<van-cell-group> <van-cell-group>
<van-field v-model="noticeDate" class="fs14" label="提醒日期" v-validate="'required'" name="提醒日期" placeholder="请选择" @click="show = true" :readonly="true"/> <van-field
v-model="noticeDate"
class="fs14"
label="提醒日期"
v-validate="'required'"
name="提醒日期"
placeholder="请选择"
@click="show = true"
:readonly="true"
/>
</van-cell-group> </van-cell-group>
<van-cell-group> <van-cell-group>
<van-field v-model="noticeTime" class="fs14" label="提醒时间" v-validate="'required'" name="提醒时间" placeholder="请选择" @click="timeShow = true" :readonly="true"/> <van-field
v-model="noticeTime"
class="fs14"
label="提醒时间"
v-validate="'required'"
name="提醒时间"
placeholder="请选择"
@click="timeShow = true"
:readonly="true"
/>
</van-cell-group> </van-cell-group>
<van-cell-group> <van-cell-group>
<van-field v-model="eventContent" label="事件内容" v-validate="'required'" name="事件内容" placeholder="请输入" class="text fs14" type="textarea"/> <van-field v-model="eventContent" label="事件内容" v-validate="'required'" name="事件内容" placeholder="请输入" class="text fs14" type="textarea" />
</van-cell-group> </van-cell-group>
<van-button type="danger" @click="save" class="bottom-btn fs16">保存</van-button> <van-button type="danger" @click="save" class="bottom-btn fs16">保存</van-button>
<van-popup v-model="show" position="bottom"> <van-popup v-model="show" position="bottom">
<van-datetime-picker <van-datetime-picker v-model="currentDate" type="date" @confirm="ok" @cancel="cancel" :min-date="minDate" :formatter="formatter" />
v-model="currentDate"
type="date"
@confirm="ok"
@cancel="cancel"
:min-date="minDate"
:formatter="formatter"
/>
</van-popup> </van-popup>
<van-popup v-model="timeShow" position="bottom"> <van-popup v-model="timeShow" position="bottom">
<van-datetime-picker <van-datetime-picker v-model="currentTime" type="time" @confirm="okTime" @cancel="cancelTime" :filter="filter" />
v-model="currentTime"
type="time"
@confirm="okTime"
@cancel="cancelTime"
:filter="filter"
/>
</van-popup> </van-popup>
</div> </div>
</template> </template>
<script> <script>
import Vue from 'vue'; import Vue from 'vue'
import { Field,CellGroup,DatetimePicker,Popup } from 'vant'; import { Field, CellGroup, DatetimePicker, Popup } from 'vant'
import { saveOrUpdate } from '@/api/ebiz/milestone/milestone.js' import { saveOrUpdate } from '@/api/ebiz/milestone/milestone.js'
Vue.use(Field).use(CellGroup).use(DatetimePicker).use(Popup); Vue.use(Field)
export default { .use(CellGroup)
name: 'addMilestone', .use(DatetimePicker)
data(){ .use(Popup)
return{ export default {
noticeDate: '', name: 'addMilestone',
noticeTime: '', data() {
eventContent: '', return {
show: false, noticeDate: '',
timeShow:false, noticeTime: '',
currentDate: new Date(), eventContent: '',
minDate:new Date(), show: false,
currentTime: '12:00', timeShow: false,
date: '', currentDate: new Date(),
minMinute: 0, minDate: new Date(),
minHour: 0 currentTime: '12:00',
date: '',
minMinute: 0,
minHour: 0
}
},
mounted() {},
methods: {
save() {
this.$validator.validate().then(valid => {
if (true === valid) {
this.save1()
} else {
this.$toast(this.$validator.errors.all()[0])
}
})
},
save1() {
let $this = this
let data = {
token: localStorage.getItem('token'),
eventDTO: {
customerNumber: localStorage.getItem('customerNumber'), // 客户号
eventContent: $this.eventContent, // 事件内容
noticeDate: $this.noticeDate, //提示日期 yyyy-MM-dd
noticeTime: $this.noticeTime + ':00', // 提示时间 HH:mm:ss
noticeStatus: '00' // 提示状态 00 未提醒(固定)
}
} }
}, console.log(123, data)
mounted(){ saveOrUpdate(data)
.then(res => {
}, if (res.result == 0) {
methods:{ $this.$toast('保存成功')
save(){ setTimeout(() => {
this.$validator.validate().then(valid => { this.$jump({
if(true === valid){ flag: 'goBack',
this.save1() extra: {
}else{ refresh: '1',
this.$toast(this.$validator.errors.all()[0]) index: '-1'
},
routerInfo: {
type: 2,
index: -1,
path: '/milestone/list'
}
})
}, 100)
} }
}) })
}, .catch(err => {
save1(){ $this.$toast('保存失败')
let $this = this })
let data = { },
token: localStorage.getItem('token'), cancel() {
eventDTO:{ this.show = false
customerNumber: localStorage.getItem('customerNumber'),// 客户号 },
eventContent: $this.eventContent,// 事件内容 ok(value) {
noticeDate: $this.noticeDate,//提示日期 yyyy-MM-dd this.show = false
noticeTime: $this.noticeTime+':00',// 提示时间 HH:mm:ss var date = new Date(value)
noticeStatus: "00"// 提示状态 00 未提醒(固定) var year = date.getFullYear()
var month = date.getMonth() + 1
var day = date.getDate()
if (month < 10) {
month = '0' + month
}
if (day < 10) {
day = '0' + day
}
this.noticeDate = year + '-' + month + '-' + day
this.date = date.getTime()
if (date.getTime() == this.minDate.getTime()) {
this.getTime()
if (this.noticeTime.split(':')[0] < this.minHour) {
this.noticeTime = ''
} else if ((this.noticeTime.split(':')[0] = this.minHour)) {
if (this.noticeTime.split(':')[1] < this.minMinute) {
this.noticeTime = ''
} }
} }
console.log(123,data) }
saveOrUpdate(data) },
.then(res => { okTime(value) {
if (res.result == 0) { console.log(value.split(':')[0])
$this.$toast('保存成功')
setTimeout(()=>{ if (this.date == this.minDate.getTime()) {
this.$jump({ if (value.split(':')[0] < this.minHour) {
flag: 'goBack', this.$toast('不能小于当前时间')
extra: { } else if ((value.split(':')[0] = this.minHour)) {
refresh: '1', if (value.split(':')[1] < this.minMinute) {
index: '-1',
},
routerInfo: {
type: 2,
index: -1,
path: '/milestone/list'
}
})
},100)
}
})
.catch(err => {$this.$toast('保存失败')})
},
cancel(){
this.show = false;
},
ok(value){
this.show = false;
var date = new Date(value)
var year = date.getFullYear()
var month = date.getMonth() + 1
var day = date.getDate()
if (month < 10) {
month = '0' + month
}
if (day < 10) {
day = '0' + day
}
this.noticeDate = year + '-' + month + '-' + day
this.date = date.getTime()
if(date.getTime()==this.minDate.getTime()){
this.getTime()
if(this.noticeTime.split(':')[0]<this.minHour){
this.noticeTime=''
}else if(this.noticeTime.split(':')[0]=this.minHour){
if(this.noticeTime.split(':')[1]<this.minMinute){
this.noticeTime=''
}
}
}
},
okTime(value){
console.log(value.split(':')[0])
if(this.date==this.minDate.getTime()){
if(value.split(':')[0]<this.minHour){
this.$toast('不能小于当前时间') this.$toast('不能小于当前时间')
}else if(value.split(':')[0]=this.minHour){ } else {
if(value.split(':')[1]<this.minMinute){ this.timeShow = false
this.$toast('不能小于当前时间')
}else{
this.timeShow = false;
this.noticeTime = value
}
}else{
this.timeShow = false;
this.noticeTime = value this.noticeTime = value
} }
}else{ } else {
this.timeShow = false; this.timeShow = false
this.noticeTime = value this.noticeTime = value
} }
} else {
}, this.timeShow = false
cancelTime(){ this.noticeTime = value
this.timeShow = false;
},
formatter(type, value) {
if (type === 'year') {
return `${value}`;
} else if (type === 'month') {
return `${value}`
}else if (type === 'day') {
return `${value}`
}
return value;
},
filter(type, options) {
if (type === 'minute') {
return options.filter(option => option % 15 === 0)
}
return options;
},
getTime(){
let date=new Date();
let hour=date.getHours();
let minute=date.getMinutes();
if (minute<15) {
minute='15';
}else if(minute>=15&&minute<30){
minute='30'
}else if(minute>=30&&minute<45){
minute='45'
}else if(minute>=45&&minute<60){
minute='00'
hour=hour+1
}
if (hour<10) {
hour='0'+hour;
}
this.currentTime = hour+':'+minute
this.minHour = hour
this.minMinute = minute
} }
},
cancelTime() {
this.timeShow = false
},
formatter(type, value) {
if (type === 'year') {
return `${value}`
} else if (type === 'month') {
return `${value}`
} else if (type === 'day') {
return `${value}`
}
return value
},
filter(type, options) {
if (type === 'minute') {
return options.filter(option => option % 15 === 0)
}
return options
},
getTime() {
let date = new Date()
let hour = date.getHours()
let minute = date.getMinutes()
if (minute < 15) {
minute = '15'
} else if (minute >= 15 && minute < 30) {
minute = '30'
} else if (minute >= 30 && minute < 45) {
minute = '45'
} else if (minute >= 45 && minute < 60) {
minute = '00'
hour = hour + 1
}
if (hour < 10) {
hour = '0' + hour
}
this.currentTime = hour + ':' + minute
this.minHour = hour
this.minMinute = minute
} }
} }
}
</script> </script>
<style scoped> <style scoped>
.addMilesone{ .addMilesone {
height: 100%; height: 100%;
background-color: #fff background-color: #fff;
} }
.text{ .text {
min-height: 22vw min-height: 22vw;
} }
</style> </style>

View File

@@ -1,233 +1,244 @@
<template> <template>
<div class="editMilesone"> <div class="editMilesone">
<van-cell-group> <van-cell-group>
<van-field v-model="noticeDate" class="fs14" label="提醒日期" v-validate="'required'" name="提醒日期" placeholder="请选择" @click="show = true" :readonly="true"/> <van-field
v-model="noticeDate"
class="fs14"
label="提醒日期"
v-validate="'required'"
name="提醒日期"
placeholder="请选择"
@click="show = true"
:readonly="true"
/>
</van-cell-group> </van-cell-group>
<van-cell-group> <van-cell-group>
<van-field v-model="noticeTime" class="fs14" label="提醒时间" v-validate="'required'" name="提醒时间" placeholder="请选择" @click="timeShow = true" :readonly="true"/> <van-field
v-model="noticeTime"
class="fs14"
label="提醒时间"
v-validate="'required'"
name="提醒时间"
placeholder="请选择"
@click="timeShow = true"
:readonly="true"
/>
</van-cell-group> </van-cell-group>
<van-cell-group> <van-cell-group>
<van-field v-model="eventContent" label="事件内容" v-validate="'required'" name="事件内容" placeholder="请输入" class="text fs14" type="textarea"/> <van-field v-model="eventContent" label="事件内容" v-validate="'required'" name="事件内容" placeholder="请输入" class="text fs14" type="textarea" />
</van-cell-group> </van-cell-group>
<van-button type="danger" @click="save" class="bottom-btn fs16">保存</van-button> <van-button type="danger" @click="save" class="bottom-btn fs16">保存</van-button>
<van-popup v-model="show" position="bottom"> <van-popup v-model="show" position="bottom">
<van-datetime-picker <van-datetime-picker v-model="currentDate" type="date" @confirm="ok" @cancel="cancel" :min-date="minDate" :formatter="formatter" />
v-model="currentDate"
type="date"
@confirm="ok"
@cancel="cancel"
:min-date="minDate"
:formatter="formatter"
/>
</van-popup> </van-popup>
<van-popup v-model="timeShow" position="bottom"> <van-popup v-model="timeShow" position="bottom">
<van-datetime-picker <van-datetime-picker v-model="currentTime" type="time" @confirm="okTime" @cancel="cancelTime" :filter="filter" />
v-model="currentTime"
type="time"
@confirm="okTime"
@cancel="cancelTime"
:filter="filter"
/>
</van-popup> </van-popup>
</div> </div>
</template> </template>
<script> <script>
import Vue from 'vue'; import Vue from 'vue'
import { Field,CellGroup,DatetimePicker,Popup } from 'vant'; import { Field, CellGroup, DatetimePicker, Popup } from 'vant'
import { saveOrUpdate } from '@/api/ebiz/milestone/milestone.js' import { saveOrUpdate } from '@/api/ebiz/milestone/milestone.js'
Vue.use(Field).use(CellGroup).use(DatetimePicker).use(Popup); Vue.use(Field)
export default { .use(CellGroup)
name: 'editMilestone', .use(DatetimePicker)
data(){ .use(Popup)
return{ export default {
noticeDate: '', name: 'editMilestone',
noticeTime: '', data() {
eventContent: '', return {
show: false, noticeDate: '',
timeShow:false, noticeTime: '',
currentDate: new Date(), eventContent: '',
minDate:new Date(), show: false,
currentTime: '12:00', timeShow: false,
item: '', currentDate: new Date(),
date: '', minDate: new Date(),
minMinute: 0, currentTime: '12:00',
minHour: 0, item: '',
today:'', date: '',
y:'', minMinute: 0,
m:'', minHour: 0,
d:'' today: '',
y: '',
m: '',
d: ''
}
},
mounted() {
// this.item = JSON.parse(decodeURIComponent(this.$route.query.item))
let item = JSON.parse(localStorage.getItem('milestone'))
this.item = item
this.noticeDate = item.noticeDate
this.noticeTime = item.noticeTime
this.eventContent = item.eventContent
},
methods: {
save() {
this.$validator.validate().then(valid => {
if (true === valid) {
this.save1()
} else {
this.$toast(this.$validator.errors.all()[0])
}
})
},
save1() {
let $this = this
let data = {
token: localStorage.getItem('token'),
eventDTO: {
id: $this.item.id, //事件id 新增传null 修改必传
customerNumber: localStorage.getItem('customerNumber'), // 客户号
eventContent: $this.eventContent, // 事件内容
noticeDate: $this.noticeDate, //提示日期 yyyy-MM-dd
noticeTime: $this.noticeTime + ':00', // 提示时间 HH:mm:ss
noticeStatus: '00' // 提示状态 00 未提醒(固定)
}
} }
}, console.log(123, data)
mounted(){
// this.item = JSON.parse(decodeURIComponent(this.$route.query.item)) saveOrUpdate(data)
let item = JSON.parse(localStorage.getItem('milestone')) .then(res => {
this.item = item if (res.result == 0) {
this.noticeDate = item.noticeDate $this.$toast('保存成功')
this.noticeTime = item.noticeTime setTimeout(() => {
this.eventContent = item.eventContent this.$jump({
}, flag: 'goBack',
methods:{ extra: {
save(){ refresh: '1',
this.$validator.validate().then(valid => { index: '-1'
if(true === valid){ },
this.save1() routerInfo: {
}else{ type: 2,
this.$toast(this.$validator.errors.all()[0]) index: -1,
path: '/milestone/list'
}
})
}, 100)
} }
}) })
}, .catch(err => {
save1(){ $this.$toast('保存失败')
let $this = this })
let data = { },
token: localStorage.getItem('token'), cancel() {
eventDTO:{ this.show = false
id: $this.item.id, //事件id 新增传null 修改必传 },
customerNumber: localStorage.getItem('customerNumber'),// 客户号 ok(value) {
eventContent: $this.eventContent,// 事件内容 this.show = false
noticeDate: $this.noticeDate,//提示日期 yyyy-MM-dd var date = new Date(value)
noticeTime: $this.noticeTime+':00',// 提示时间 HH:mm:ss var year = date.getFullYear()
noticeStatus: "00"// 提示状态 00 未提醒(固定) var month = date.getMonth() + 1
} var day = date.getDate()
} if (month < 10) {
console.log(123,data) month = '0' + month
}
saveOrUpdate(data) if (day < 10) {
.then(res => { day = '0' + day
if (res.result == 0) { }
$this.$toast('保存成功') this.noticeDate = year + '-' + month + '-' + day
setTimeout(()=>{ this.date = date.getTime()
this.$jump({ if (date.getTime() == this.minDate.getTime()) {
flag: 'goBack',
extra: {
refresh: '1',
index: '-1',
},
routerInfo: {
type: 2,
index: -1,
path: '/milestone/list'
}
})
},100)
}
})
.catch(err => {$this.$toast('保存失败')})
},
cancel(){
this.show = false;
},
ok(value){
this.show = false;
var date = new Date(value)
var year = date.getFullYear()
var month = date.getMonth() + 1
var day = date.getDate()
if (month < 10) {
month = '0' + month
}
if (day < 10) {
day = '0' + day
}
this.noticeDate = year + '-' + month + '-' + day
this.date = date.getTime()
if(date.getTime()==this.minDate.getTime()){
this.getTime()
if(this.noticeTime.split(':')[0]<this.minHour){
this.noticeTime=''
}else if(this.noticeTime.split(':')[0]=this.minHour){
if(this.noticeTime.split(':')[1]<this.minMinute){
this.noticeTime=''
}
}
}
},
okTime(value){
console.log(value.split(':')[0])
this.getTime() this.getTime()
let flag=this.noticeDate.split('-')[0]<this.y||(this.noticeDate.split('-')[0]==this.y&&this.noticeDate.split('-')[1]<this.m)||(this.noticeDate.split('-')[0]==this.y&&this.noticeDate.split('-')[1]==this.m&&this.noticeDate.split('-')[2]<this.d) if (this.noticeTime.split(':')[0] < this.minHour) {
if(flag){ this.noticeTime = ''
this.noticeDate='' } else if ((this.noticeTime.split(':')[0] = this.minHour)) {
this.timeShow = false; if (this.noticeTime.split(':')[1] < this.minMinute) {
this.noticeTime = value this.noticeTime = ''
}else{ }
if(this.noticeDate==this.today){ }
if(value.split(':')[0]<this.minHour){ }
},
okTime(value) {
console.log(value.split(':')[0])
this.getTime()
let flag =
this.noticeDate.split('-')[0] < this.y ||
(this.noticeDate.split('-')[0] == this.y && this.noticeDate.split('-')[1] < this.m) ||
(this.noticeDate.split('-')[0] == this.y && this.noticeDate.split('-')[1] == this.m && this.noticeDate.split('-')[2] < this.d)
if (flag) {
this.noticeDate = ''
this.timeShow = false
this.noticeTime = value
} else {
if (this.noticeDate == this.today) {
if (value.split(':')[0] < this.minHour) {
this.$toast('不能小于当前时间')
} else if ((value.split(':')[0] = this.minHour)) {
if (value.split(':')[1] < this.minMinute) {
this.$toast('不能小于当前时间') this.$toast('不能小于当前时间')
}else if(value.split(':')[0]=this.minHour){ } else {
if(value.split(':')[1]<this.minMinute){ this.timeShow = false
this.$toast('不能小于当前时间')
}else{
this.timeShow = false;
this.noticeTime = value
}
}else{
this.timeShow = false;
this.noticeTime = value this.noticeTime = value
} }
}else{ } else {
this.timeShow = false; this.timeShow = false
this.noticeTime = value this.noticeTime = value
} }
} else {
this.timeShow = false
this.noticeTime = value
} }
},
cancelTime(){
this.timeShow = false;
},
formatter(type, value) {
if (type === 'year') {
return `${value}`;
} else if (type === 'month') {
return `${value}`
}else if (type === 'day') {
return `${value}`
}
return value;
},
filter(type, options) {
if (type === 'minute') {
return options.filter(option => option % 15 === 0)
}
return options;
},
getTime(){
let date=new Date();
let hour=date.getHours();
let minute=date.getMinutes();
this.y = date.getFullYear(); // 年
this.m = date.getMonth() + 1; // 月份从0开始的
this.d = date.getDate(); //日
if (minute<15) {
minute='15';
}else if(minute>=15&&minute<30){
minute='30'
}else if(minute>=30&&minute<45){
minute='45'
}else if(minute>=45&&minute<60){
minute='00'
hour=hour+1
}
if (hour<10) {
hour='0'+hour;
}
this.today= this.y+'-'+ this.m +'-'+this.d
this.currentTime = hour+':'+minute
this.minHour = hour
this.minMinute = minute
} }
} },
cancelTime() {
this.timeShow = false
},
formatter(type, value) {
if (type === 'year') {
return `${value}`
} else if (type === 'month') {
return `${value}`
} else if (type === 'day') {
return `${value}`
}
return value
},
filter(type, options) {
if (type === 'minute') {
return options.filter(option => option % 15 === 0)
}
return options
},
getTime() {
let date = new Date()
let hour = date.getHours()
let minute = date.getMinutes()
this.y = date.getFullYear() // 年
this.m = date.getMonth() + 1 > 9 ? date.getMonth() + 1 : '0' + Number(date.getMonth() + 1) // 月份从0开始的
this.d = date.getDate() > 9 ? date.getDate() : '0' + Number(date.getDate()) //日
if (minute < 15) {
minute = '15'
} else if (minute >= 15 && minute < 30) {
minute = '30'
} else if (minute >= 30 && minute < 45) {
minute = '45'
} else if (minute >= 45 && minute < 60) {
minute = '00'
hour = hour + 1
}
if (hour < 10) {
hour = '0' + hour
}
this.today = this.y + '-' + this.m + '-' + this.d
this.currentTime = hour + ':' + minute
this.minHour = hour
this.minMinute = minute
}
} }
}
</script> </script>
<style scoped> <style scoped>
.editMilesone{ .editMilesone {
height: 100%; height: 100%;
background-color: #fff background-color: #fff;
} }
.text{ .text {
min-height: 22vw min-height: 22vw;
} }
</style> </style>

View File

@@ -22,7 +22,7 @@
</van-col> </van-col>
</van-row> </van-row>
<van-row class="text-right pv5 card-title"> <van-row class="text-right pv5 card-title">
<van-button type="danger" @click="edit(item)" size="small" class="mr5" round>编辑</van-button> <van-button type="danger" @click="edit(item)" size="small" class="mr5" round v-if="item.noticeStatus != '01'">编辑</van-button>
<van-button type="danger" plain @click="del(item)" size="small" class="mr5" round>删除</van-button> <van-button type="danger" plain @click="del(item)" size="small" class="mr5" round>删除</van-button>
</van-row> </van-row>
</div> </div>