中文冒号 金额补0

This commit is contained in:
fengachen
2021-09-15 15:51:32 +08:00
parent c259b6cac5
commit 7d8e25036a
3 changed files with 97 additions and 61 deletions
+34
View File
@@ -36,6 +36,7 @@ export function filterObj(obj) {
}
for ( let key in obj) {
// eslint-disable-next-line
if (obj.hasOwnProperty(key)
&& (obj[key] == null || obj[key] == undefined || obj[key] === '')) {
delete obj[key]
@@ -86,6 +87,7 @@ let indexRouter = [{
path: '/',
name: 'dashboard',
//component: () => import('@/components/layouts/BasicLayout'),
// eslint-disable-next-line
component: resolve => require(['@/components/layouts/TabLayout'], resolve),
meta: { title: '首页' },
redirect: '/dashboard/analysis',
@@ -136,6 +138,7 @@ function generateChildRouters (data) {
// }else if(item.component=="modules/online/cgreport/auto/OnlCgreportAutoList"){
// componentPath = onlineCommons.OnlCgreportAutoList
// }else{
// eslint-disable-next-line
componentPath = resolve => require(['@/' + component+'.vue'], resolve)
// }
@@ -587,3 +590,34 @@ export function isRepeat(arr) {
}
return false
}
/**
* 补充0
* */
export function addZero(e) {
// (e) => {e.target.value = e.target.value.replace(/[^0-9.]/g,'')}
console.log(e)
// 判断是否包含 .
let value = e.target.value
// 判断是否包含小数点
if (value.includes('.')) {
// 获取索引
let index = value.indexOf('.')
console.log('index', index)
// 小树点之前的数
let beforePointValue = value.slice(0, index + 1)
// 小数点之后的数字
let afterPointValue = value.slice(index + 1)
// 大于等于2
if (afterPointValue.length >= 2) {
e.target.value = beforePointValue + afterPointValue
}else {
// 不足2位补0
afterPointValue = afterPointValue.padEnd(2,'0')
e.target.value = beforePointValue + afterPointValue
}
}else {
// 不包括小数点
e.target.value = e.target.value + '.00'
}
}
@@ -10,7 +10,7 @@
<a-row :gutter="24">
<!--如果是工作组项目的会议维护跳转的 需要隐藏会议类型-->
<a-col :xxl="8" :xl="12" :sm="24" v-if="isWorkGroupMeetType">
<a-col :xxl="8" :xl="12" :sm="24" v-if="isWorkGroupMeetType">
<a-form-item label="会议类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag style="width: 100%" v-decorator="['meetingType',validatorRules.meetingType]"
@change="changeMeetingType"
@@ -40,7 +40,7 @@
</a-form-item>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === '2' ">
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === '2' ">
<a-form-item label="标协会议类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-dict-select-tag v-decorator="['tbMeetingType',validatorRules.tbMeetingType]" :trigger-change="true"
style="width: 100%" dict-code="standard_meeting_type"
@@ -49,7 +49,6 @@
</a-col>
<!--工作组会议才有-->
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === '1' ">
<a-form-item label="工作组" :labelCol="labelCol" :wrapperCol="wrapperCol">
@@ -70,7 +69,7 @@
style="width: 100%"></j-year-date>
</a-form-item>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="预计参加人数" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入预计参加人数"
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9]/g,'')}"
@@ -79,7 +78,7 @@
</a-form-item>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === '2' ">
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === '2' ">
<a-form-item label="注册签到" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-range-picker
@change="changeSignTime"
@@ -91,7 +90,7 @@
</a-form-item>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="报名截止时间" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-date placeholder="请选择报名截止时间" style="width: 100%;"
v-decorator="['registerDeadline',validatorRules.registerDeadline]" :trigger-change="true"
@@ -104,7 +103,7 @@
<a-row>
<a-col :xxl='8' :xl="12" :sm="24">
<a-form-item label="召开地点" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-form-item label="召开地点" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-area-linkage
type="cascader"
placeholder="请选择省市"
@@ -112,8 +111,8 @@
></j-area-linkage>
</a-form-item>
</a-col>
<a-col :xxl='8' :xl="12" :sm="24">
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-col :xxl='8' :xl="12" :sm="24">
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入详细地址"
class="address"
v-decorator="['address',validatorRules.address]"
@@ -138,7 +137,7 @@
</a-row>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="会议通知" :labelCol="labelCol" :wrapperCol="wrapperCol">
<j-upload :return-id="true" v-decorator="[ 'meetingFiles']"></j-upload>
</a-form-item>
@@ -153,7 +152,7 @@
<section v-if="meetingType === '3' ">
<div class="item-title">邀请码</div>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="VIP" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入邀请码"
@change="event => event.target.value = event.target.value.trim()"
@@ -162,7 +161,7 @@
</a-form-item>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="演讲嘉宾" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入邀请码"
@change="event => event.target.value = event.target.value.trim()"
@@ -171,7 +170,7 @@
</a-form-item>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="特邀嘉宾" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入邀请码"
@change="event => event.target.value = event.target.value.trim()"
@@ -180,7 +179,7 @@
</a-form-item>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="合作伙伴" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入邀请码"
@change="event => event.target.value = event.target.value.trim()"
@@ -196,11 +195,12 @@
<div class="item-title">会议费用</div>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="会议费用" :labelCol="labelCol" :wrapperCol="{ xs: {span: 24},sm: {span: 16}}">
<a-input placeholder="请输入会议费用"
:maxLength='50'
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9.]/g,'')}"
@blur="addZero"
v-decorator="[ 'meetingCosts',validatorRules.meetingCosts]"></a-input>
<span class="yuan">/</span>
</a-form-item>
@@ -222,14 +222,14 @@
<!--联系方式begin-->
<div class="item-title">联系方式</div>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="会议负责人" :labelCol="labelCol" :wrapperCol="wrapperCol">
<select-principal placeholder="请选择会议负责人"
@change="selectPerson"
v-decorator="['directorId',validatorRules.directorId]"></select-principal>
</a-form-item>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<a-col :xxl="8" :xl="12" :sm="24">
<a-form-item label="手机号" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入手机号"
disabled
@@ -239,7 +239,7 @@
</a-form-item>
</a-col>
<!--标协会议才有-->
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === '2' ">
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === '2' ">
<a-form-item label="酒店名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入酒店名称"
:maxLength='50'
@@ -248,7 +248,7 @@
</a-form-item>
</a-col>
<!--标协会议才有-->
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === '2' ">
<a-col :xxl="8" :xl="12" :sm="24" v-if="meetingType === '2' ">
<a-form-item label="酒店地址" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input placeholder="请输入酒店地址"
:maxLength='50'
@@ -260,7 +260,7 @@
<!--标协会议-->
<section v-if="meetingType === '2'">
<a-row :gutter="24" v-for="(hotel, index) in model.hotelContactsList" :key="index">
<a-col :xxl="8" :xl="10" :md="12" >
<a-col :xxl="8" :xl="10" :md="12">
<a-form-item label="酒店联系人" :labelCol="labelCol" :wrapperCol="wrapperCol">
<a-input
@change="event => event.target.value = event.target.value.trim()"
@@ -269,7 +269,7 @@
placeholder="请输入酒店联系人"></a-input>
</a-form-item>
</a-col>
<a-col :xxl="8" :xl="10" :md="12" >
<a-col :xxl="8" :xl="10" :md="12">
<a-form-item :wrapperCol="{xl:{span:17}}">
<a-input
@change="(e) => {e.target.value = e.target.value.replace(/[^0-9.]/g,'')}"
@@ -278,17 +278,17 @@
placeholder="请输入联系人手机号"></a-input>
</a-form-item>
</a-col>
<a-col :xxl="2" :xl="4" :sm="6" style="transform: translateX(-130px);">
<a-col :xxl="2" :xl="4" :sm="6" style="transform: translateX(-130px);">
<a-form-item>
<a-button icon="plus" @click="addNew"></a-button>
<a-button icon="minus" @click="remove(index)" style="margin-left: 8px;"> </a-button>
<a-button icon="minus" @click="remove(index)" style="margin-left: 8px;"></a-button>
</a-form-item>
</a-col>
</a-row>
</section>
<a-row :gutter="24">
<a-col :xxl="18" :xl="18" :sm="24">
<a-col :xxl="18" :xl="18" :sm="24">
<a-form-item label="备注" :labelCol="remarksLabelCol" :wrapperCol="remarksWrapperCol">
<a-textarea
placeholder="请输入备注"
@@ -329,6 +329,7 @@ import pick from 'lodash.pick'
import meetingValidate from '@views/incomePayments/meetManage/meetingValidate'
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
import {checkMeetingName} from '@/utils/validateOnly'
import {addZero} from '@/utils/util'
export default {
name: 'AddOrDetailMeet',
@@ -350,24 +351,24 @@ export default {
form: this.$form.createForm(this),
model: {},
labelCol: {
xxl:{span: 7},
xxl: {span: 7},
xs: {span: 24},
sm: {span: 6}
},
wrapperCol: {
xxl:{span: 17},
xxl: {span: 17},
xs: {span: 24},
sm: {span: 18}
},
remarksLabelCol: {
xxl: {span: 3},
xl:{span:4},
xl: {span: 4},
xs: {span: 24},
sm: {span: 3}
},
remarksWrapperCol: {
xxl: {span: 21},
xl:{span:20},
xl: {span: 20},
xs: {span: 24},
sm: {span: 21}
},
@@ -391,10 +392,10 @@ export default {
},
particularYear: {
rules: [
{ required: true, validator:this.validateYear },
{required: true, validator: this.validateYear},
],
validateTrigger:['blur','change'],
initialValue:this.$store.getters.currentYear
validateTrigger: ['blur', 'change'],
initialValue: this.$store.getters.currentYear
},
},
url: {
@@ -409,12 +410,12 @@ export default {
workGroupList: []
}
},
computed:{
computed: {
// 是否从工作组会议维护来的
isWorkGroupMeetType (){
if(this.$route.query.workingGroupProjectId){
return false
}else {
isWorkGroupMeetType() {
if (this.$route.query.workingGroupProjectId) {
return false
} else {
return true
}
},
@@ -432,6 +433,7 @@ export default {
},
methods: {
moment,
addZero,
/*
* 新增
* */
@@ -445,9 +447,9 @@ export default {
this.form.resetFields()
this.model = Object.assign({}, record)
let dateFormat = 'YYYY-MM-DD HH:mm:ss'
if(this.model.id){
if (this.model.id) {
this.title = '编辑会议'
}else {
} else {
this.title = '新增会议'
}
// 修改会议类型 控制dom显示
@@ -467,17 +469,17 @@ export default {
this.$nextTick(() => {
// 加定时器是因为有可能赋值不成功
setTimeout( () => {
this.form.setFieldsValue(pick(this.model, 'meetingName', 'meetingType', 'convokeTime', 'particularYear', 'estimatedNumber', 'meetingFiles', 'registerDeadline', 'meetingContent', 'convokeLocale', 'address', 'meetingCosts', 'directorId', 'remark', 'directorPhone')),200
setTimeout(() => {
this.form.setFieldsValue(pick(this.model, 'meetingName', 'meetingType', 'convokeTime', 'particularYear', 'estimatedNumber', 'meetingFiles', 'registerDeadline', 'meetingContent', 'convokeLocale', 'address', 'meetingCosts', 'directorId', 'remark', 'directorPhone')), 200
})
// 如果是标协会议则回显 标协会议的字段
if(this.meetingType === '2'){
console.log('this.model',this.model)
this.form.setFieldsValue(pick(this.model,'signInTime','hotelContactsList','tbMeetingType','meetingCostsVip','hotelName','hotelAddress' ))
if (this.meetingType === '2') {
console.log('this.model', this.model)
this.form.setFieldsValue(pick(this.model, 'signInTime', 'hotelContactsList', 'tbMeetingType', 'meetingCostsVip', 'hotelName', 'hotelAddress'))
}
// 如果是工作组会议 赋值工作组
if(this.meetingType === '1'){
this.form.setFieldsValue(pick(this.model,'workingGroupId', ))
if (this.meetingType === '1') {
this.form.setFieldsValue(pick(this.model, 'workingGroupId',))
}
// 如果是国际研讨会则赋值邀请码
if (this.meetingType === '3') {
@@ -505,7 +507,7 @@ export default {
let placeName = values.convokeLocale
const formData = Object.assign(this.model, values, {venue: this.getPcaText(placeName)})
// 如果是工作会议维护跳转的需要加上会议类型为工作组会议和工作组id
if(!this.isWorkGroupMeetType) {
if (!this.isWorkGroupMeetType) {
formData.meetingType = '1'
formData.workingGroupId = this.$route.query.workingGroupProjectId
}
@@ -655,26 +657,26 @@ export default {
/*
* 会议名称唯一校验
* */
validaeMeetingName(rule,value,callback){
checkMeetingName(value,this.model.id).then(res => {
if(res.success){
validaeMeetingName(rule, value, callback) {
checkMeetingName(value, this.model.id).then(res => {
if (res.success) {
callback()
}else {
callback(res.code === 500 ? '会议名称已存在': res)
} else {
callback(res.code === 500 ? '会议名称已存在' : res)
}
})
},
/*
* 年份校验
* */
validateYear(rule,value,callback){
if(value === undefined || value === '' || value === null ){
validateYear(rule, value, callback) {
if (value === undefined || value === '' || value === null) {
callback('请选择年份')
}
const year = new Date().getFullYear()
if(Number(value) < year){
if (Number(value) < year) {
callback(`请选择${year}年或之后的年份`)
}else {
} else {
callback()
}
},
@@ -10,22 +10,22 @@
<section class="project-base-info-content">
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<label>会员项目:</label><span>{{ currentInfo.projectName }}</span>
<label>会员项目</label><span>{{ currentInfo.projectName }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label>负责人:</label><span>{{ currentInfo.directorName }}</span>
<label>负责人</label><span>{{ currentInfo.directorName }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label>收费标准:</label><span>{{ currentInfo.chargeStandard }}</span>
<label>收费标准</label><span>{{ currentInfo.chargeStandard }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label>收费通知号:</label><span>{{ currentInfo.chargeNoticeNo }}</span>
<label>收费通知号</label><span>{{ currentInfo.chargeNoticeNo }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label>收费通知:</label><preview-file :file-id="currentInfo.chargeNoticeFileId"></preview-file>
<label>收费通知</label><preview-file :file-id="currentInfo.chargeNoticeFileId"></preview-file>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label>备注:</label><span>{{ currentInfo.remark }}</span>
<label>备注</label><span>{{ currentInfo.remark }}</span>
</a-col>
</a-row>
</section>