Merge branch 'build' of http://git.sinoecare.com/sinoecare/digital_village_v2/dvcp_v2_webapp into build
This commit is contained in:
@@ -36,11 +36,24 @@
|
|||||||
<ai-wrapper>
|
<ai-wrapper>
|
||||||
<ai-info-item label="积分值" isLine :value="info.applyIntegral"></ai-info-item>
|
<ai-info-item label="积分值" isLine :value="info.applyIntegral"></ai-info-item>
|
||||||
<ai-info-item label="事件描述" isLine :value="info.content"></ai-info-item>
|
<ai-info-item label="事件描述" isLine :value="info.content"></ai-info-item>
|
||||||
<ai-info-item label="事件附件" isLine>
|
<ai-info-item label="图片" isLine v-if="info.images && info.images.length">
|
||||||
<div class="files">
|
<div class="files">
|
||||||
<div class="file-item" v-for="(item, index) in info.files" :key="index">
|
<!-- <div class="file-item" v-for="(item, index) in info.images" :key="index" v-viewer="{movable: true}">
|
||||||
<video controls :src="item.url" v-if="['.mp4', '.mov'].includes(item.postfix)"></video>
|
<img :src="item.url">
|
||||||
<img :src="item.url" v-else v-viewer="{movable: true}">
|
</div> -->
|
||||||
|
<ai-uploader
|
||||||
|
:instance="instance"
|
||||||
|
fileType="img"
|
||||||
|
acceptType=".jpg,.png,.jpeg"
|
||||||
|
v-model="info.images"
|
||||||
|
:limit="9" :disabled="true">
|
||||||
|
</ai-uploader>
|
||||||
|
</div>
|
||||||
|
</ai-info-item>
|
||||||
|
<ai-info-item label="视频" isLine v-if="info.videos && info.videos.length">
|
||||||
|
<div class="files">
|
||||||
|
<div class="file-item" v-for="(item, index) in info.videos" :key="index">
|
||||||
|
<video controls :src="item.url"></video>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ai-info-item>
|
</ai-info-item>
|
||||||
@@ -65,6 +78,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</ai-dialog>
|
</ai-dialog>
|
||||||
|
|
||||||
<ai-dialog
|
<ai-dialog
|
||||||
:visible.sync="isShowEvent"
|
:visible.sync="isShowEvent"
|
||||||
@onConfirm="onEventConfirm"
|
@onConfirm="onEventConfirm"
|
||||||
@@ -78,12 +92,21 @@
|
|||||||
<el-form-item prop="content" label="事件描述" style="width: 100%" :rules="[{required: true, message: '请输入事件描述', trigger: 'blur'}]">
|
<el-form-item prop="content" label="事件描述" style="width: 100%" :rules="[{required: true, message: '请输入事件描述', trigger: 'blur'}]">
|
||||||
<el-input size="small" type="textarea" :rows="5" :maxlength="300" show-word-limit v-model="eventForm.content" clearable placeholder="请输入事件描述"></el-input>
|
<el-input size="small" type="textarea" :rows="5" :maxlength="300" show-word-limit v-model="eventForm.content" clearable placeholder="请输入事件描述"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="width: 100%" label="事件附件" prop="files" :rules="[{required: true, message: '请选择事件附件', trigger: 'change'}]">
|
<el-form-item style="width: 100%" label="图片">
|
||||||
|
<ai-uploader
|
||||||
|
:instance="instance"
|
||||||
|
fileType="img"
|
||||||
|
acceptType=".jpg,.png,.jpeg"
|
||||||
|
v-model="eventForm.images"
|
||||||
|
:limit="9">
|
||||||
|
</ai-uploader>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item style="width: 100%" label="视频">
|
||||||
<ai-uploader
|
<ai-uploader
|
||||||
:instance="instance"
|
:instance="instance"
|
||||||
fileType="file"
|
fileType="file"
|
||||||
acceptType=".jpg,.png,.jpeg,.mp4"
|
acceptType=".mp4,.MOV"
|
||||||
v-model="eventForm.files"
|
v-model="eventForm.videos"
|
||||||
:limit="9">
|
:limit="9">
|
||||||
</ai-uploader>
|
</ai-uploader>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -111,7 +134,9 @@
|
|||||||
auditStatus: ''
|
auditStatus: ''
|
||||||
},
|
},
|
||||||
eventForm: {
|
eventForm: {
|
||||||
files: [],
|
files: null,
|
||||||
|
images: [],
|
||||||
|
videos: [],
|
||||||
content: '',
|
content: '',
|
||||||
applyIntegral: ''
|
applyIntegral: ''
|
||||||
},
|
},
|
||||||
@@ -144,15 +169,19 @@
|
|||||||
this.eventForm.content = res.data.content
|
this.eventForm.content = res.data.content
|
||||||
this.eventForm.applyIntegral = res.data.applyIntegral
|
this.eventForm.applyIntegral = res.data.applyIntegral
|
||||||
}
|
}
|
||||||
|
this.info.images = res.data.files.filter(e => (['jpeg', 'jpg', 'png'].includes(e.postfix.split('.')[1])))
|
||||||
|
this.info.videos = res.data.files.filter(e => (['mp4', 'MOV'].includes(e.postfix.split('.')[1])))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
showEvent () {
|
showEvent () {
|
||||||
this.eventForm.files = this.info.files
|
this.eventForm.files = null
|
||||||
this.eventForm.content = this.info.content
|
this.eventForm.content = this.info.content
|
||||||
this.eventForm.applyIntegral = this.info.applyIntegral
|
this.eventForm.applyIntegral = this.info.applyIntegral
|
||||||
|
this.eventForm.images = this.info.images
|
||||||
|
this.eventForm.videos = this.info.videos
|
||||||
this.isShowEvent = true
|
this.isShowEvent = true
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -162,11 +191,16 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
onEventConfirm () {
|
onEventConfirm () {
|
||||||
|
if ((this.eventForm.images.length + this.eventForm.videos.length) > 9) {
|
||||||
|
return this.$message.error('图片和视频不得超过9个')
|
||||||
|
} else {
|
||||||
|
this.eventForm.files = [...this.eventForm.images,...this.eventForm.videos]
|
||||||
|
}
|
||||||
this.$refs.eventForm.validate((valid) => {
|
this.$refs.eventForm.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.instance.post(`/app/appintegraluserapply/updateByGirdMember`, {
|
this.instance.post(`/app/appintegraluserapply/updateByGirdMember`, {
|
||||||
...this.eventForm,
|
...this.eventForm,
|
||||||
id: this.params.id
|
id: this.params.id,
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.$message.success('编辑成功!')
|
this.$message.success('编辑成功!')
|
||||||
@@ -212,8 +246,8 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
.file-item {
|
.file-item {
|
||||||
width: 240px;
|
width: 118px;
|
||||||
height: 240px;
|
height: 118px;
|
||||||
margin: 0 20px 20px 0;
|
margin: 0 20px 20px 0;
|
||||||
|
|
||||||
img, video {
|
img, video {
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<ai-list v-if="!isShowDetail">
|
<ai-list v-if="!isShowDetail">
|
||||||
<template slot="title">
|
<template slot="title">
|
||||||
<ai-title title="订单管理" :isShowBottomBorder="false" v-model="areaId" :isShowArea="currIndex === '1'" :hideLevel="hideLevel - 1" @change="onAreaChange">
|
<ai-title title="订单管理" :isShowBottomBorder="false" v-model="areaId" :isShowArea="currIndex != '1'" :hideLevel="hideLevel - 1" @change="onAreaChange">
|
||||||
</ai-title>
|
</ai-title>
|
||||||
</template>
|
</template>
|
||||||
<template slot="tabs">
|
<template slot="tabs">
|
||||||
@@ -49,8 +49,8 @@
|
|||||||
|
|
||||||
tabs () {
|
tabs () {
|
||||||
const tabList = [
|
const tabList = [
|
||||||
{label: '网格积分订单', name: 'GirdList', comp: GirdList, permission: ''},
|
{label: '居民积分订单', name: 'ResidentList', comp: ResidentList, permission: ''},
|
||||||
{label: '居民积分订单', name: 'ResidentList', comp: ResidentList, permission: ''}
|
{label: '网格积分订单', name: 'GirdList', comp: GirdList, permission: ''}
|
||||||
].filter(item => {
|
].filter(item => {
|
||||||
return true
|
return true
|
||||||
})
|
})
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
onAreaChange () {
|
onAreaChange () {
|
||||||
if (this.currIndex === '1') {
|
if (this.currIndex != '1') {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs[this.currIndex][0].getList()
|
this.$refs[this.currIndex][0].getList()
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
<ai-import
|
<ai-import
|
||||||
:instance="instance"
|
:instance="instance"
|
||||||
:dict="dict"
|
:dict="dict"
|
||||||
type="appintegralpublicityinfo" name="积分公式"
|
type="appintegralpublicityinfo" name="积分公示"
|
||||||
@success="search.current = 1, getList()">
|
@success="search.current = 1, getList()">
|
||||||
</ai-import>
|
</ai-import>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -45,12 +45,18 @@
|
|||||||
width="450">
|
width="450">
|
||||||
<template v-slot="{ row }">
|
<template v-slot="{ row }">
|
||||||
<div class="goods">
|
<div class="goods">
|
||||||
<ai-uploader
|
<!-- <ai-uploader class="upload"
|
||||||
:disabled="true"
|
:disabled="true"
|
||||||
:instance="instance"
|
:instance="instance"
|
||||||
:value="[{url: row.picUrl}]"
|
:value="[{url: row.picUrl}]"
|
||||||
:limit="1">
|
:limit="1">
|
||||||
</ai-uploader>
|
<span class="type" :class="`type`+row.type">{{$dict.getLabel('integralSGType', row.type)}}</span>
|
||||||
|
</ai-uploader> -->
|
||||||
|
<div class="img-content">
|
||||||
|
<img :src="row.picUrl" alt="" v-viewer>
|
||||||
|
<span class="type" :class="`type`+row.type">{{$dict.getLabel('integralSGType', row.type)}}</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
<p>{{ row.title }}</p>
|
<p>{{ row.title }}</p>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -71,6 +77,9 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import Viewer from 'v-viewer'
|
||||||
|
import Vue from 'vue'
|
||||||
|
Vue.use(Viewer)
|
||||||
export default {
|
export default {
|
||||||
name: 'GoodsList',
|
name: 'GoodsList',
|
||||||
|
|
||||||
@@ -177,5 +186,29 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
.img-content {
|
||||||
|
position: relative;
|
||||||
|
margin-right: 8px;
|
||||||
|
img {
|
||||||
|
width: 120px;
|
||||||
|
height: 120px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.type {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 120px;
|
||||||
|
text-align: center;
|
||||||
|
color: #fff;
|
||||||
|
z-index: 999;
|
||||||
|
}
|
||||||
|
.type1 {
|
||||||
|
background-color: #E64E39;
|
||||||
|
}
|
||||||
|
.type0 {
|
||||||
|
background-color: #FF6900;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -269,6 +269,22 @@
|
|||||||
:areaLevel="3"
|
:areaLevel="3"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
</template>
|
||||||
|
</ai-card>
|
||||||
|
<ai-card title="联络信息">
|
||||||
|
<template #content>
|
||||||
|
<el-form-item label="联系方式:" prop="phone">
|
||||||
|
<el-input v-model="baseInfo.phone" size="small" placeholder="请输入联系方式" :maxlength="11"
|
||||||
|
show-word-limit/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="现住址:" prop="currentAreaId">
|
||||||
|
<ai-area-select clearable always-show :instance="instance" :disabled-level="disabledLevel"
|
||||||
|
v-model="baseInfo.currentAreaId" :valueLevel="4"/>
|
||||||
|
<el-form-item>
|
||||||
|
<el-input v-model="baseInfo.currentAddress" placeholder="详细地址" maxlength="30" show-word-limit
|
||||||
|
clearable/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="所属网格" prop="girdName" required>
|
<el-form-item label="所属网格" prop="girdName" required>
|
||||||
<ai-picker
|
<ai-picker
|
||||||
:instance="instance"
|
:instance="instance"
|
||||||
@@ -290,22 +306,6 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
</ai-card>
|
</ai-card>
|
||||||
<ai-card title="联络信息">
|
|
||||||
<template #content>
|
|
||||||
<el-form-item label="联系方式:" prop="phone">
|
|
||||||
<el-input v-model="baseInfo.phone" size="small" placeholder="请输入联系方式" :maxlength="11"
|
|
||||||
show-word-limit/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="现住址:" prop="currentAreaId">
|
|
||||||
<ai-area-select clearable always-show :instance="instance" :disabled-level="disabledLevel"
|
|
||||||
v-model="baseInfo.currentAreaId" :valueLevel="4"/>
|
|
||||||
<el-form-item>
|
|
||||||
<el-input v-model="baseInfo.currentAddress" placeholder="详细地址" maxlength="30" show-word-limit
|
|
||||||
clearable/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form-item>
|
|
||||||
</template>
|
|
||||||
</ai-card>
|
|
||||||
<ai-card title="户籍信息">
|
<ai-card title="户籍信息">
|
||||||
<template #content>
|
<template #content>
|
||||||
<el-row type="flex">
|
<el-row type="flex">
|
||||||
@@ -593,14 +593,16 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.disabledLevel = this.user.info.areaMap[this.user.info.areaId].length;
|
this.$dict.load(['sex', 'education', 'politicsStatus', 'job', 'faithType', 'nation', 'maritalStatus', 'militaryStatus', 'householdName', 'householdRelation', ]).then(()=> {
|
||||||
if (!this.params.id) {
|
this.disabledLevel = this.user.info.areaMap[this.user.info.areaId].length;
|
||||||
// this.baseInfo.householdAreaId = JSON.parse(JSON.stringify(this.user.info.areaId))
|
if (!this.params.id) {
|
||||||
this.baseInfo.currentAreaId = JSON.parse(JSON.stringify(this.user.info.areaId))
|
// this.baseInfo.householdAreaId = JSON.parse(JSON.stringify(this.user.info.areaId))
|
||||||
this.$nextTick(() => this.$refs.ruleForm?.resetFields())
|
this.baseInfo.currentAreaId = JSON.parse(JSON.stringify(this.user.info.areaId))
|
||||||
} else {
|
this.$nextTick(() => this.$refs.ruleForm?.resetFields())
|
||||||
this.getDetail(this.params.id);
|
} else {
|
||||||
}
|
this.getDetail(this.params.id);
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -24,13 +24,13 @@
|
|||||||
<ai-info-item label="兵役状况" :value="dict.getLabel('militaryStatus', baseInfo.militaryStatus)"/>
|
<ai-info-item label="兵役状况" :value="dict.getLabel('militaryStatus', baseInfo.militaryStatus)"/>
|
||||||
<ai-info-item label="宗教信仰" :value="dict.getLabel('faithType', baseInfo.faithType)"/>
|
<ai-info-item label="宗教信仰" :value="dict.getLabel('faithType', baseInfo.faithType)"/>
|
||||||
<ai-info-item label="职业" :value="dict.getLabel('job', baseInfo.job)"/>
|
<ai-info-item label="职业" :value="dict.getLabel('job', baseInfo.job)"/>
|
||||||
<ai-info-item label="所属网格" :value="baseInfo.girdName"/>
|
|
||||||
</ai-wrapper>
|
</ai-wrapper>
|
||||||
</ai-card>
|
</ai-card>
|
||||||
<ai-card title="联络信息" type="flex">
|
<ai-card title="联络信息" type="flex">
|
||||||
<ai-wrapper slot="content">
|
<ai-wrapper slot="content">
|
||||||
<ai-info-item label="联系方式" :value="baseInfo.phone"/>
|
<ai-info-item label="联系方式" :value="baseInfo.phone"/>
|
||||||
<ai-info-item label="现住址" isLine :value="[baseInfo.currentAreaName, baseInfo.currentAddress].join('')"/>
|
<ai-info-item label="现住址" isLine :value="[baseInfo.currentAreaName, baseInfo.currentAddress].join('')"/>
|
||||||
|
<ai-info-item label="所属网格" :value="baseInfo.girdName"/>
|
||||||
</ai-wrapper>
|
</ai-wrapper>
|
||||||
</ai-card>
|
</ai-card>
|
||||||
<ai-card title="户籍信息">
|
<ai-card title="户籍信息">
|
||||||
|
|||||||
@@ -24,12 +24,12 @@
|
|||||||
</template>
|
</template>
|
||||||
<template #right>
|
<template #right>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="search.title"
|
v-model="search.name"
|
||||||
size="small"
|
size="small"
|
||||||
placeholder="姓名/身份证/联系方式"
|
placeholder="姓名/身份证/联系方式"
|
||||||
clearable
|
clearable
|
||||||
v-throttle="() => {search.current = 1, getList()}"
|
v-throttle="() => {search.current = 1, getList()}"
|
||||||
@clear="search.title = '', getList()"
|
@clear="search.name = '', getList()"
|
||||||
suffix-icon="iconfont iconSearch">
|
suffix-icon="iconfont iconSearch">
|
||||||
</el-input>
|
</el-input>
|
||||||
</template>
|
</template>
|
||||||
@@ -69,7 +69,7 @@
|
|||||||
current: 1,
|
current: 1,
|
||||||
size: 10,
|
size: 10,
|
||||||
total: 0,
|
total: 0,
|
||||||
title: '',
|
name: '',
|
||||||
areaId: ''
|
areaId: ''
|
||||||
},
|
},
|
||||||
tableData: []
|
tableData: []
|
||||||
@@ -80,9 +80,12 @@
|
|||||||
colConfigs() {
|
colConfigs() {
|
||||||
return [
|
return [
|
||||||
{ label: "姓名", prop: "name", align: "left" },
|
{ label: "姓名", prop: "name", align: "left" },
|
||||||
{ label: "性别", prop: "sex", dict: 'sex', align: "center" },
|
// { label: "性别", prop: "sex", dict: 'sex', align: "center" },
|
||||||
{ prop: 'idNumber', label: '身份证号', align: 'center', format: v => v.substring(0, 10) + '****' + v.substring(14, 18) },
|
{ prop: 'idNumber', label: '身份证号', align: 'center'},
|
||||||
{ label: "年龄", prop: "age", align: "center"},
|
// format: v => v.substring(0, 10) + '****' + v.substring(14, 18)
|
||||||
|
// { label: "年龄", prop: "age", align: "center"},
|
||||||
|
{ label: "现住址", prop: "currentAreaName", align: "center" },
|
||||||
|
{ label: "网格", prop: "girdName", align: "center" },
|
||||||
{ label: "民族", prop: "nation", align: "center", dict: "nation" },
|
{ label: "民族", prop: "nation", align: "center", dict: "nation" },
|
||||||
{ label: "文化程度", prop: "education", align: "center", dict: "education" },
|
{ label: "文化程度", prop: "education", align: "center", dict: "education" },
|
||||||
{ label: "政治面貌", prop: "politicsStatus", align: "center", dict: "politicsStatus" },
|
{ label: "政治面貌", prop: "politicsStatus", align: "center", dict: "politicsStatus" },
|
||||||
|
|||||||
@@ -5,16 +5,22 @@
|
|||||||
</ai-title>
|
</ai-title>
|
||||||
</template>
|
</template>
|
||||||
<template slot="content">
|
<template slot="content">
|
||||||
<ai-card title="基本信息">
|
<el-row style="margin-bottom: 16px;">
|
||||||
<template #content>
|
<div class="card_list">
|
||||||
<ai-wrapper
|
<div class="card">
|
||||||
label-width="120px">
|
<h2>姓名</h2>
|
||||||
<ai-info-item label="姓名" isLine :value="info.userName"></ai-info-item>
|
<p class="color1">{{ info.userName }}</p>
|
||||||
<ai-info-item label="个人积分" isLine :value="info.integral || 0"></ai-info-item>
|
</div>
|
||||||
<ai-info-item label="已用积分" isLine :value="info.usedIntegral || 0"></ai-info-item>
|
<div class="card">
|
||||||
</ai-wrapper>
|
<h2>积分余额</h2>
|
||||||
</template>
|
<p class="color2">{{ info.integral || 0 }}</p>
|
||||||
</ai-card>
|
</div>
|
||||||
|
<div class="card">
|
||||||
|
<h2>已用积分</h2>
|
||||||
|
<p class="color3">{{ info.usedIntegral || 0 }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-row>
|
||||||
<ai-card>
|
<ai-card>
|
||||||
<ai-title slot="title" title="余额变动明细"/>
|
<ai-title slot="title" title="余额变动明细"/>
|
||||||
<template #content>
|
<template #content>
|
||||||
@@ -130,4 +136,46 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
.card_list {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.card {
|
||||||
|
flex: 1;
|
||||||
|
height: 96px;
|
||||||
|
background: #FFFFFF;
|
||||||
|
box-shadow: 0px 4px 6px -2px rgba(15, 15, 21, 0.1500);
|
||||||
|
border-radius: 4px;
|
||||||
|
margin-right: 20px;
|
||||||
|
padding: 16px 24px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
color: #888888;
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin-top: 8px;
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color1 {
|
||||||
|
color: #2891FF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color2 {
|
||||||
|
color: #22AA99;
|
||||||
|
}
|
||||||
|
|
||||||
|
.color3 {
|
||||||
|
color: #F8B425;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.card:last-child {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -140,7 +140,7 @@
|
|||||||
return {
|
return {
|
||||||
ids: [{required: true, message: '请选择人员', trigger: 'blur'}],
|
ids: [{required: true, message: '请选择人员', trigger: 'blur'}],
|
||||||
eventDesc: [{required: true, message: '请输入调整说明', trigger: 'blur'}],
|
eventDesc: [{required: true, message: '请输入调整说明', trigger: 'blur'}],
|
||||||
integralCalcType: [{required: true, message: '请选择类型', trigger: 'change'}],
|
integralCalcType: [{required: true, message: '请选择类型', trigger: 'blur'}],
|
||||||
integral: [{required: true, message: '请输入积分', trigger: 'blur' },
|
integral: [{required: true, message: '请输入积分', trigger: 'blur' },
|
||||||
{pattern: /^([1-9]\d*|0)(\.\d{1,2})?$/, message: '请输入正数且最多只能保留两位小数'}],
|
{pattern: /^([1-9]\d*|0)(\.\d{1,2})?$/, message: '请输入正数且最多只能保留两位小数'}],
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user