|
@@ -12,10 +12,10 @@
|
|
|
>
|
|
>
|
|
|
<template slot='search'>
|
|
<template slot='search'>
|
|
|
<el-form-item label='手机号'>
|
|
<el-form-item label='手机号'>
|
|
|
- <el-input v-model.trim='searchParams.mobile' />
|
|
|
|
|
|
|
+ <el-input v-model.trim='searchParams.name' />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
<el-form-item label='内容关键字'>
|
|
<el-form-item label='内容关键字'>
|
|
|
- <el-input v-model.trim='searchParams.name' />
|
|
|
|
|
|
|
+ <el-input v-model.trim='searchParams.discription' />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</template>
|
|
</template>
|
|
|
</baseTable>
|
|
</baseTable>
|
|
@@ -29,19 +29,20 @@
|
|
|
:rules="formDialog.formRules"
|
|
:rules="formDialog.formRules"
|
|
|
>
|
|
>
|
|
|
<el-row>
|
|
<el-row>
|
|
|
- <el-form-item label="用户名" prop="username" v-if="formDialog.isAdd">
|
|
|
|
|
- <el-input v-model.trim="formDialog.formData.username" />
|
|
|
|
|
|
|
+ <el-form-item label="许愿树名称" prop="name">
|
|
|
|
|
+ <el-input v-model.trim="formDialog.formData.name" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="姓名" prop="fullName">
|
|
|
|
|
- <el-input v-model.trim="formDialog.formData.fullName" />
|
|
|
|
|
|
|
+ <el-form-item label="经度" prop="longitude">
|
|
|
|
|
+ <el-input v-model.trim="formDialog.formData.longitude" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="手机号码" prop="mobile">
|
|
|
|
|
- <el-input v-model.trim="formDialog.formData.mobile" />
|
|
|
|
|
|
|
+ <el-form-item label="纬度" prop="latitude">
|
|
|
|
|
+ <el-input v-model.trim="formDialog.formData.latitude" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label="电子邮箱" prop="email">
|
|
|
|
|
- <el-input v-model.trim="formDialog.formData.email" />
|
|
|
|
|
|
|
+ <el-form-item label="可许愿半径" prop="radius">
|
|
|
|
|
+ <el-input type="number" v-model.trim="formDialog.formData.radius" />
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
- <el-form-item label='头像1' prop='avatar'>
|
|
|
|
|
|
|
+ <el-form-item label='封面图片' prop='coverImage'>
|
|
|
|
|
+ <el-input style="display: none" v-model.trim="formDialog.formData.coverImage" />
|
|
|
<el-upload
|
|
<el-upload
|
|
|
class="avatar-uploader"
|
|
class="avatar-uploader"
|
|
|
:action="upload.action"
|
|
:action="upload.action"
|
|
@@ -49,10 +50,13 @@
|
|
|
:show-file-list="false"
|
|
:show-file-list="false"
|
|
|
:on-success="handleSuccess"
|
|
:on-success="handleSuccess"
|
|
|
>
|
|
>
|
|
|
- <img v-if="imageUrl" :src="imageUrl" class="avatar" />
|
|
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
|
|
|
|
+ <img v-if="imageUrl" :src="imageUrl" class="avatar" alt="" />
|
|
|
|
|
+ <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
</el-upload>
|
|
</el-upload>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
|
+ <el-form-item label="许愿树描述" prop="description">
|
|
|
|
|
+ <el-input type='textarea' v-model.trim='formDialog.formData.description' :rows='4' />
|
|
|
|
|
+ </el-form-item>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
</el-form>
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
<div slot="footer" class="dialog-footer">
|
|
@@ -64,13 +68,30 @@
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
-import { queryTreePage } from '@api/wishing/tree';
|
|
|
|
|
-import { createUser, removeUser, updateUserDetail } from '@api/upms/api-user';
|
|
|
|
|
|
|
+import { creatTree, queryTreePage } from '@api/wishing/tree';
|
|
|
|
|
+import { removeUser, updateUserDetail } from '@api/upms/api-user';
|
|
|
|
|
+import { isNumber,isInteger } from '@utils/validate';
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
name: 'WishingTree',
|
|
name: 'WishingTree',
|
|
|
|
|
|
|
|
data() {
|
|
data() {
|
|
|
|
|
+ let validateNumber = (rule, value, callback) => {
|
|
|
|
|
+ if (!isNumber(value)) {
|
|
|
|
|
+ return callback(new Error('经纬度只能是数字'));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return callback();
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ let validateInteger = (rule, value, callback) => {
|
|
|
|
|
+ if (!isInteger(value)) {
|
|
|
|
|
+ return callback(new Error('可许愿半径只能是整数'));
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return callback();
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
return {
|
|
return {
|
|
|
tableHeader: [
|
|
tableHeader: [
|
|
|
{
|
|
{
|
|
@@ -139,54 +160,51 @@ export default {
|
|
|
isAdd: false,
|
|
isAdd: false,
|
|
|
formData: {
|
|
formData: {
|
|
|
id: 0,
|
|
id: 0,
|
|
|
- username: '',
|
|
|
|
|
- fullName: '',
|
|
|
|
|
- email: '',
|
|
|
|
|
- avatar: '',
|
|
|
|
|
- coverImage: ''
|
|
|
|
|
- },
|
|
|
|
|
- defaultData: {
|
|
|
|
|
- sex: '3',
|
|
|
|
|
- attachDataList: []
|
|
|
|
|
|
|
+ address: '',
|
|
|
|
|
+ coverImage: '',
|
|
|
|
|
+ description: '',
|
|
|
|
|
+ latitude: null,
|
|
|
|
|
+ longitude: null,
|
|
|
|
|
+ name: '',
|
|
|
|
|
+ radius: 100,
|
|
|
|
|
+ totalWishes: 0
|
|
|
},
|
|
},
|
|
|
formRules: {
|
|
formRules: {
|
|
|
- username: [
|
|
|
|
|
|
|
+ name: [
|
|
|
{
|
|
{
|
|
|
required: true,
|
|
required: true,
|
|
|
- message: '请输入用户名',
|
|
|
|
|
|
|
+ message: '请输入许愿树名称',
|
|
|
trigger: 'blur'
|
|
trigger: 'blur'
|
|
|
}
|
|
}
|
|
|
],
|
|
],
|
|
|
- fullName: [{
|
|
|
|
|
- required: true,
|
|
|
|
|
- message: '请输入姓名',
|
|
|
|
|
- trigger: 'blur'
|
|
|
|
|
- }],
|
|
|
|
|
- mobile: [
|
|
|
|
|
|
|
+ latitude: [
|
|
|
{
|
|
{
|
|
|
required: true,
|
|
required: true,
|
|
|
- message: '请输入手机号码',
|
|
|
|
|
|
|
+ message: '请输入纬度',
|
|
|
trigger: 'blur'
|
|
trigger: 'blur'
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
- len: 11,
|
|
|
|
|
- message: '长度11个字符',
|
|
|
|
|
|
|
+ validator: validateNumber,
|
|
|
trigger: 'blur'
|
|
trigger: 'blur'
|
|
|
}
|
|
}
|
|
|
],
|
|
],
|
|
|
- email: [
|
|
|
|
|
|
|
+ longitude: [
|
|
|
{
|
|
{
|
|
|
- required: false,
|
|
|
|
|
- type: 'email',
|
|
|
|
|
- message: '请输入正确的电子邮箱',
|
|
|
|
|
|
|
+ required: true,
|
|
|
|
|
+ message: '请输入经度',
|
|
|
|
|
+ trigger: 'blur'
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ validator: validateNumber,
|
|
|
trigger: 'blur'
|
|
trigger: 'blur'
|
|
|
}
|
|
}
|
|
|
],
|
|
],
|
|
|
- roleIds: [{
|
|
|
|
|
- required: true,
|
|
|
|
|
- message: '请选择对应的角色',
|
|
|
|
|
- trigger: 'change'
|
|
|
|
|
- }]
|
|
|
|
|
|
|
+ radius: [
|
|
|
|
|
+ {
|
|
|
|
|
+ validator: validateInteger,
|
|
|
|
|
+ trigger: 'blur'
|
|
|
|
|
+ }
|
|
|
|
|
+ ]
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
@@ -227,25 +245,30 @@ export default {
|
|
|
vm.formDialog.visible = true;
|
|
vm.formDialog.visible = true;
|
|
|
vm.formDialog.loading = false;
|
|
vm.formDialog.loading = false;
|
|
|
vm.formDialog.isAdd = true;
|
|
vm.formDialog.isAdd = true;
|
|
|
- vm.formDialog.formData = Object.assign({}, vm.formDialog.defaultData);
|
|
|
|
|
|
|
+ vm.formDialog.formData = {};
|
|
|
},
|
|
},
|
|
|
cancelFn() {
|
|
cancelFn() {
|
|
|
let vm = this;
|
|
let vm = this;
|
|
|
vm.formDialog.visible = false;
|
|
vm.formDialog.visible = false;
|
|
|
vm.formDialog.loading = false;
|
|
vm.formDialog.loading = false;
|
|
|
vm.formDialog.isAdd = false;
|
|
vm.formDialog.isAdd = false;
|
|
|
- vm.formDialog.formData = Object.assign({}, vm.formDialog.defaultData);
|
|
|
|
|
|
|
+ vm.formDialog.formData = {};
|
|
|
vm.$refs.userForm.resetFields();
|
|
vm.$refs.userForm.resetFields();
|
|
|
},
|
|
},
|
|
|
submitFn() {
|
|
submitFn() {
|
|
|
let vm = this;
|
|
let vm = this;
|
|
|
vm.formDialog.loading = true;
|
|
vm.formDialog.loading = true;
|
|
|
|
|
+ if (!vm.formDialog.formData.coverImage || vm.formDialog.formData.coverImage === '') {
|
|
|
|
|
+ vm.$message.error('请上传封面图片');
|
|
|
|
|
+ vm.formDialog.loading = false;
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
vm.$refs.userForm.validate((valid) => {
|
|
vm.$refs.userForm.validate((valid) => {
|
|
|
if (!valid) {
|
|
if (!valid) {
|
|
|
vm.formDialog.loading = false;
|
|
vm.formDialog.loading = false;
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
- if (vm.formDialog.formData.id) {
|
|
|
|
|
|
|
+ if (this.formDialog.formData.id) {
|
|
|
let formData = vm.formDialog.formData;
|
|
let formData = vm.formDialog.formData;
|
|
|
updateUserDetail(formData).then(
|
|
updateUserDetail(formData).then(
|
|
|
(res) => {
|
|
(res) => {
|
|
@@ -264,11 +287,12 @@ export default {
|
|
|
);
|
|
);
|
|
|
} else {
|
|
} else {
|
|
|
let formData = vm.formDialog.formData;
|
|
let formData = vm.formDialog.formData;
|
|
|
- createUser(formData).then(
|
|
|
|
|
|
|
+ creatTree(formData).then(
|
|
|
(res) => {
|
|
(res) => {
|
|
|
vm.$message.success('新增成功');
|
|
vm.$message.success('新增成功');
|
|
|
vm.formDialog.visible = false;
|
|
vm.formDialog.visible = false;
|
|
|
vm.formDialog.loading = false;
|
|
vm.formDialog.loading = false;
|
|
|
|
|
+ vm.formDialog.formData = {};
|
|
|
vm.searchFn(true);
|
|
vm.searchFn(true);
|
|
|
},
|
|
},
|
|
|
(error) => {
|
|
(error) => {
|
|
@@ -303,7 +327,12 @@ export default {
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
handleSuccess(res, file, fileList) {
|
|
handleSuccess(res, file, fileList) {
|
|
|
- console.log(res);
|
|
|
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
|
+ this.imageUrl = res.data.url;
|
|
|
|
|
+ this.formDialog.formData.coverImage = res.data.url;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ this.$message.error(res.msg);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|