Browse Source

积分调整

feature
是小王呀\24601 1 year ago
parent
commit
c7c91ce9ea
  1. 640
      src/views/modules/volunteer/Dynamicmanagement/add.vue
  2. 640
      src/views/modules/volunteer/Dynamicmanagement/edit.vue
  3. 9
      src/views/modules/volunteer/Dynamicmanagement/index.vue
  4. 92
      src/views/modules/volunteer/VolManage/enclosure.vue
  5. 28
      src/views/modules/volunteer/VolManage/integral.vue
  6. 2
      src/views/modules/volunteer/VoluntaryOrganization/index.vue
  7. 9
      src/views/modules/volunteer/VolunteerProjects/index.vue
  8. 345
      src/views/modules/volunteer/VolunteerProjects/process.vue
  9. 286
      src/views/modules/volunteer/VolunteerProjects/record.vue
  10. 253
      src/views/modules/volunteer/VolunteerProjects/recruit.vue
  11. 130
      src/views/modules/volunteer/activityArchive/add.vue
  12. 58
      src/views/modules/volunteer/activityArchive/index.vue
  13. 100
      src/views/modules/volunteer/activityArchive/process.vue
  14. 127
      src/views/modules/volunteer/activityArchive/select.vue
  15. 136
      src/views/modules/volunteer/pointsRedemption/add.vue
  16. 46
      src/views/modules/volunteer/pointsRedemption/index.vue
  17. 196
      src/views/modules/volunteer/pointsRedemption/update.vue

640
src/views/modules/volunteer/Dynamicmanagement/add.vue

@ -0,0 +1,640 @@
<template>
<div>
<div class="dialog-h-content scroll-h">
<el-form ref="ref_form" :inline="true" :model="formData" :rules="dataRule"
class="form">
<el-row>
<el-col :span="12">
<el-form-item label="所属栏目" label-width="150px" prop="Servicetype">
<el-select multiple-limit='4' class="u-item-width-normal" v-model.trim="formData.Servicetype" placeholder="请选择" clearable multiple>
<el-option v-for="item in ServicetypeList" :key="item.Servicetypeust" :label="item.typeName" :value="item.id" >
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="文章标题" prop="sumUp" label-width="150px">
<el-input v-model.trim="formData.sumUp" size="small" clearable placeholder="请输入活动名称"
class="u-item-width-normal"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="封面图片" label-width="150px" prop="fileList">
<template>
<upload-image :defaultFileList="fileList" :limit="1" @change="onChangeFileList"
@file-removed="removedImg"></upload-image>
</template>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="活动详情" prop="zhaomu" style="display: block" label-width="150px">
<div class="item_width_1">
<Tinymce class="tinymce_view " v-model.trim="formData.zhaomu" :height="150" placeholder="请输入活动内容" />
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="置顶
" style="display: block" prop="peopleCount" label-width="150px">
<el-switch v-model="formData.online" :active-value='1' :inactive-value='0'
@change="handleSwitchChange"></el-switch>
</el-form-item>
</el-col>
</el-row></el-form>
</div>
<div class="div_btn">
<el-button size="small" @click="handleCancle"> </el-button>
<el-button size="small" v-if="formType != 'detail'" type="primary" :disabled="btnDisable"
@click="handleComfirm"> </el-button>
</div>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // Loading
import { requestPost } from '@/js/dai/request'
import Tinymce from '@c/tinymce2/index.vue'
import daiMap from "@/utils/dai-map";
import util from '@js/util.js';
// import UploadImage from './upload-image.vue'
import UploadImage from '@/views/modules/plugins/rent/upload-image.vue'
var map
var search
var markers
var infoWindowList
var geocoder //
let loading //
export default {
data() {
return {
activityImgs: [],//
fileList:[],
searchValue:"",
ServicetypeList:[
{ label: "敬老爱老", value: 1 },
{ label: "助残帮困", value: 2 },
{ label: "扶贫帮困", value: 3 },
{ label: "环保绿化", value: 4 },
{ label: "文化教育", value: 5 },
{ label: "扶贫帮困", value: 6 },
{ label: "其他", value: 7 },
],
Organizationaltype:[
{ label: "社区", value: 1 },
{ label: "企业", value: 2 },
{ label: "学校", value: 3 },
],
formData:
{
Servicelevel:"",//
VolunteerPic:"",//
Volunteerbrand:"",//
Organizational:"",//
fileList: [],//
AdministratorIDCard:"",//
Administratorphone:"",//
AdministratorName:"",//
Organizationaltype:"",//
Servicetype:"",//
OrganizationName:"",//
agencyName:"",//
id: "",
typeId: "",
activityName: "",//
status: 0,//
assistingParty: "",//
startTime: "",//
endTime: "",//
coverPic: "",//
content: "",//
address: "",//
online: 0,//
cutOffTime: "",//
points: 0,//
participants: 0,//
sendMessage: 0,//
sumUp: "",//
activityImgs: [],//
longitude: this.$store.state.user.longitude, //
latitude: this.$store.state.user.latitude,//
},
corganizerList: [],
uploadUrl: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadqrcodeV2',
customerId: localStorage.getItem('customerId'),
}
},
components: { Tinymce, UploadImage },
mounted() {
console.log(this.$store.state.user,"this.$store.state.user");
this.formData.agencyName=this.$store.state.user.agencyName
if (this.$store.state.user.level=="district") {
this.formData.Servicelevel="区级"
}
this.activityType()
this.listServerOrg()
},
methods: {
//
actcontrolTime() {
console.log("dislfj");
if (this.formData.startTime > this.formData.endTime) {
this.$message.error('活动结束时间不能在活动开始时间之前');
this.formData.endTime = ''
return
}
},
validateContent() {
// 使HTML
const textContent = this.stripHtml(this.formData.sumUp);
if (textContent.trim() === '') {
this.formData.sumUp = null;
}
},
stripHtml(html) {
const div = document.createElement('div');
div.innerHTML = html;
return div.textContent || div.innerText || '';
},
//
handleImgSuccess(res, file, fileList) {
if (res.code === 0 && res.msg === 'success') {
let format = file.name.split('.').pop();
let srcType = file.raw.type;
let type = 'file';
if (srcType.indexOf('image') != -1) {
type = 'image';
} else if (srcType.indexOf('video') != -1) {
type = 'video';
}
// this.formData.activityImgs.push({
// format,
// name: file.name,
// size: file.size,
// type,
// url: res.data.url
// });
// console.log('this.formData.activityImgs',res.data.url)
this.formData.activityImgs.push(res.data.url);
} else {
this.$message.error(res.msg);
}
},
//
handleImgRemove(file) {
console.log('handleImgRemove', file);
if (file.response) {
let index = this.formData.activityImgs.findIndex(item => item.url == file.response.data.url);
this.formData.activityImgs.splice(index, 1);
} else if (file.url) {
let index = this.formData.activityImgs.findIndex(item => item.url == file.url);
this.formData.activityImgs.splice(index, 1);
}
},
//
handleImgPreview(file) {
console.log(file);
window.open(file.url || file.response.data.url);
},
//
handleImgExceed() {
this.$message({
type: 'warning',
message: '文件数量最多不超过三个'
});
},
//
beforeImgUpload(file) {
const isLt1M = file.size / 1024 / 1024 < 10;
const srcType = file.type;
const format = file.name.split('.').pop();
if (!isLt1M) {
this.$message.error('上传文件大小不能超过 10MB!');
return false;
}
if (srcType.indexOf('image') == -1) {
this.$message.error('仅限图片格式');
return false;
}
return true;
},
async activityType() {
const url = "/actual/base/activityType/page"
let params = {
// agencyId: this.agencyId
pageSize: 20,
pageNo: 1,
typeName: "",
enabled: 1
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.typeList = data.list
} else {
this.$message.error(msg)
}
this.$nextTick(() => {
if (!map) {
this.initMap(this.formData.latitude, this.formData.longitude);
console.log("map", map,this.formData.latitude, this.formData.longitude)
} else {
map.setCenter(this.formData.latitude, this.formData.longitude);
map.setMarker(this.formData.latitude, this.formData.longitude);
console.log("mapmapmap", map)
}
})
},
handleOnlineRegistration(value) {
//
if (value) {
this.online = true;
this.formData.online = 1;
} else {
this.online = false;
this.formData.cutOffTime = ''
this.formData.online = 0;
}
},
// onChangeFileList(e) {
// if (e.length > 0) {
// let item = e[0];
// let ob = {
// fileType: '0',
// fileUrl: item.response.data.url
// };
// this.fileList = [ob];
// this.formData.coverPic = ob.fileUrl;
// }
// },
removedImg() {
this.formData.coverPic = ''
},
onChangeFileList(e) {
console.log(e, 'sssssb');
this.fileList = e.length > 0 ? e.map(item => ({
fileType: '0',
fileUrl: item.response.data.url
})) : []; // efileList
if (e.length > 0) {
this.formData.coverPic = e[0].response.data.url;
} else {
this.formData.coverPic = '';
}
},
onChangeImgs(e, rowIndex = 0) {
console.log('onChangeFileList', e)
if (e.length > 0) {
this.activityImgs = []
e.forEach(item => {
let ob = {
fileType: '0',
fileUrl: item.response.data.url
}
this.activityImgs.push(ob)
})
}
},
// onChangeImgs(e) {
// this.activityImgs = [];
// if (e.length > 0) {
// e.forEach(item => {
// let ob = {
// fileType: '0',
// fileUrl: item.response.data.url
// };
// this.activityImgs.push(ob);
// });
// console.log('this.activityImgs',this.activityImgs)
// }
// },
handleChange(value) {},
handleTimeChange(time) {
if (time) {
const startTimeArray = util.dateFormatter(time[0], 'time').split('-')
console.log(startTimeArray);
const endTimeArray = util.dateFormatter(time[1], 'time').split('-')
console.log(endTimeArray);
this.formData.startTime = startTimeArray[0] + '-' + startTimeArray[1] + '-' + startTimeArray[2]
this.formData.endTime = endTimeArray[0] + '-' + endTimeArray[1] + '-' + endTimeArray[2]
// this.startTimeShow = startTimeArray[0] + '' + startTimeArray[1] + '' + startTimeArray[2] + ''
// this.endTimeShow = endTimeArray[0] + '' + endTimeArray[1] + '' + endTimeArray[2] + ''
} else {
this.formData.startTime = ''
this.formData.endTime = ''
}
},
async initForm(type, activityId) {
this.startLoading()
this.formType = type
if (type === 'edit') {
if (activityId.activityImgs || activityId.sumUp) {
this.records = true
} else {
this.records = false
}
this.formData = activityId
this.timeRange = [this.formData.startTime, this.formData.endTime]
console.log(activityId,"activityId");
if (activityId.coverPic) {
let ob = {
fileType: '0',
fileUrl: activityId.coverPic
};
this.fileList = [ob];
this.formData.coverPic = ob.fileUrl;
if (this.formData.online == 1) {
this.online = true
}
}
} else if (type === 'records') {
this.records = true
} else if (type === 'summary') {
this.formData = activityId
this.formData.activityImgs = []
console.log("this.formData", this.formData)
this.records = true
this.summary = false
} else {
this.records = false
}
this.endLoading()
},
async getDemandOptions() {
this.$http
.post("/actual/base/serviceitem/listAllCategory")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
console.log(res.data);
this.demandOptions = this.getFlagData(
this.getTreeData(res.data),
"usableFlag"
);
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getFlagData(data, flag) {
if (!Array.isArray(data)) return [];
let arr1 = data.filter((item) => item[flag]);
let arr2 = arr1.map((item) => {
if (item.childCateList)
return { ...item, childCateList: this.getFlagData(item.childCateList, flag) };
else return item;
});
return arr2;
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
let _item = {};
if (item.childCateList) {
if (item.childCateList.length === 0)
_item = { ...item, childCateList: undefined };
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) };
} else {
_item = { ...item };
}
return _item;
});
return arr;
},
async loadGrid() {
const url = "/gov/org/customergrid/gridoption"
let params = {
agencyId: this.agencyId
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.gridList = data
} else {
this.$message.error(msg)
}
},
//
async loadFormData() {
const url = '/actual/base/icpartyactivity/detail'
// const url = 'http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/detail'
let params = {
id: this.activityId
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.formData = data
let style_img = "style='width:50px;height:40px;' "
if (this.formData.content) {
// this.formData.content = this.formData.content.replace(/<img/g, "<img style='width:200px;height:240px;'")
// let array=this.formData.content.split('<img')
}
} else {
this.$message.error(msg)
}
},
async handleComfirm() {
if (!this.formData.Administratorphone) {
this.$message.error('请输入活动详情');
return;
}
if (!this.formData.AdministratorName) {
this.$message.error('请上传封面图片');
return;
}
if (!this.formData.Organizationaltype) {
this.$message.error('请输入文章标题');
return;
}
if (!this.formData.Servicetype) {
this.$message.error('请输入所属项目');
return;
}
console.log(this.formData,"this.formData");
this.addActivity()
},
async addActivity() {
if (this.formType === 'edit' || this.formType === 'summary') {
let url = '/actual/base/communityActivity/update'
const { data, code, msg } = await requestPost(url, this.formData)
if (code === 0) {
this.$message({
type: 'success',
message: '操作成功'
})
this.resetData()
this.$emit('dialogOk')
this.btnDisable = false
} else {
this.btnDisable = false
this.$message.error(msg)
}
} else {
let url = '/actual/base/communityActivity/save'
const { data, code, msg } = await requestPost(url, this.formData)
if (code === 0) {
this.$message({
type: 'success',
message: '操作成功'
})
this.resetData()
this.$emit('dialogOk')
this.btnDisable = false
} else {
this.btnDisable = false
this.$message.error(msg)
}
}
},
handleCancle() {
console.log("sdlkfjklsdf ");
this.$emit('showAddClose')
},
//
startLoading() {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
})
},
//
endLoading() {
// clearTimeout(timer);
if (loading) {
loading.close()
}
}
},
computed: {
dataRule() {
return {
Servicetype: [
{ required: true, message: '请选择所属栏目', trigger: 'blur' }
],
zhaomu: [
{ required: true, message: '活动详情不能为空', trigger: 'blur' }
],
sumUp: [
{ required: true, message: '请填写文章标题', trigger: 'blur' }
],
fileList: [
{ required: true, message: '请选择活动照片', trigger: 'blur' }
]
}
},
},
props: {
},
destroyed () {
map = null
}
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/visual/communityManageForm.scss";
</style>
<style lang="scss" scoped>
.item_width_1 {
width: 634px;
/deep/.tox .tox-dialog {
z-index: 20000;
}
}
.u-item-width-normal{
width: 222px;
}
.tinymce_view {
::v-deep .tox .tox-dialog {
z-index: 2000000000;
}
}
.div_map {
position: relative;
}
.div_searchmap {
z-index: 5000;
position: absolute;
top: 5px;
left: 5px;
}
.tinymce_view {
height: 400px;
overflow: auto;
}
.text_p {
margin: 0;
padding: 0 10px;
border: 1px solid #d9d9d9;
border-radius: 5px;
>p {
margin: 0;
}
}
</style>

640
src/views/modules/volunteer/Dynamicmanagement/edit.vue

@ -0,0 +1,640 @@
<template>
<div>
<div class="dialog-h-content scroll-h">
<el-form ref="ref_form" :inline="true" :model="formData" :rules="dataRule"
class="form">
<el-row>
<el-col :span="12">
<el-form-item label="所属栏目" label-width="150px" prop="Servicetype">
<el-select multiple-limit='4' class="u-item-width-normal" v-model.trim="formData.Servicetype" placeholder="请选择" clearable multiple>
<el-option v-for="item in ServicetypeList" :key="item.Servicetypeust" :label="item.typeName" :value="item.id" >
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="文章标题" prop="sumUp" label-width="150px">
<el-input v-model.trim="formData.sumUp" size="small" clearable placeholder="请输入活动名称"
class="u-item-width-normal"></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="封面图片" label-width="150px" prop="fileList">
<template>
<upload-image :defaultFileList="fileList" :limit="1" @change="onChangeFileList"
@file-removed="removedImg"></upload-image>
</template>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="活动详情" prop="zhaomu" style="display: block" label-width="150px">
<div class="item_width_1">
<Tinymce class="tinymce_view " v-model.trim="formData.zhaomu" :height="150" placeholder="请输入活动内容" />
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="置顶
" style="display: block" prop="peopleCount" label-width="150px">
<el-switch v-model="formData.online" :active-value='1' :inactive-value='0'
@change="handleSwitchChange"></el-switch>
</el-form-item>
</el-col>
</el-row></el-form>
</div>
<div class="div_btn">
<el-button size="small" @click="handleCancle"> </el-button>
<el-button size="small" v-if="formType != 'detail'" type="primary" :disabled="btnDisable"
@click="handleComfirm"> </el-button>
</div>
</div>
</template>
<script>
import { mapGetters } from 'vuex'
import { Loading } from 'element-ui' // Loading
import { requestPost } from '@/js/dai/request'
import Tinymce from '@c/tinymce2/index.vue'
import daiMap from "@/utils/dai-map";
import util from '@js/util.js';
// import UploadImage from './upload-image.vue'
import UploadImage from '@/views/modules/plugins/rent/upload-image.vue'
var map
var search
var markers
var infoWindowList
var geocoder //
let loading //
export default {
data() {
return {
activityImgs: [],//
fileList:[],
searchValue:"",
ServicetypeList:[
{ label: "敬老爱老", value: 1 },
{ label: "助残帮困", value: 2 },
{ label: "扶贫帮困", value: 3 },
{ label: "环保绿化", value: 4 },
{ label: "文化教育", value: 5 },
{ label: "扶贫帮困", value: 6 },
{ label: "其他", value: 7 },
],
Organizationaltype:[
{ label: "社区", value: 1 },
{ label: "企业", value: 2 },
{ label: "学校", value: 3 },
],
formData:
{
Servicelevel:"",//
VolunteerPic:"",//
Volunteerbrand:"",//
Organizational:"",//
fileList: [],//
AdministratorIDCard:"",//
Administratorphone:"",//
AdministratorName:"",//
Organizationaltype:"",//
Servicetype:"",//
OrganizationName:"",//
agencyName:"",//
id: "",
typeId: "",
activityName: "",//
status: 0,//
assistingParty: "",//
startTime: "",//
endTime: "",//
coverPic: "",//
content: "",//
address: "",//
online: 0,//
cutOffTime: "",//
points: 0,//
participants: 0,//
sendMessage: 0,//
sumUp: "",//
activityImgs: [],//
longitude: this.$store.state.user.longitude, //
latitude: this.$store.state.user.latitude,//
},
corganizerList: [],
uploadUrl: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadqrcodeV2',
customerId: localStorage.getItem('customerId'),
}
},
components: { Tinymce, UploadImage },
mounted() {
console.log(this.$store.state.user,"this.$store.state.user");
this.formData.agencyName=this.$store.state.user.agencyName
if (this.$store.state.user.level=="district") {
this.formData.Servicelevel="区级"
}
this.activityType()
this.listServerOrg()
},
methods: {
//
actcontrolTime() {
console.log("dislfj");
if (this.formData.startTime > this.formData.endTime) {
this.$message.error('活动结束时间不能在活动开始时间之前');
this.formData.endTime = ''
return
}
},
validateContent() {
// 使HTML
const textContent = this.stripHtml(this.formData.sumUp);
if (textContent.trim() === '') {
this.formData.sumUp = null;
}
},
stripHtml(html) {
const div = document.createElement('div');
div.innerHTML = html;
return div.textContent || div.innerText || '';
},
//
handleImgSuccess(res, file, fileList) {
if (res.code === 0 && res.msg === 'success') {
let format = file.name.split('.').pop();
let srcType = file.raw.type;
let type = 'file';
if (srcType.indexOf('image') != -1) {
type = 'image';
} else if (srcType.indexOf('video') != -1) {
type = 'video';
}
// this.formData.activityImgs.push({
// format,
// name: file.name,
// size: file.size,
// type,
// url: res.data.url
// });
// console.log('this.formData.activityImgs',res.data.url)
this.formData.activityImgs.push(res.data.url);
} else {
this.$message.error(res.msg);
}
},
//
handleImgRemove(file) {
console.log('handleImgRemove', file);
if (file.response) {
let index = this.formData.activityImgs.findIndex(item => item.url == file.response.data.url);
this.formData.activityImgs.splice(index, 1);
} else if (file.url) {
let index = this.formData.activityImgs.findIndex(item => item.url == file.url);
this.formData.activityImgs.splice(index, 1);
}
},
//
handleImgPreview(file) {
console.log(file);
window.open(file.url || file.response.data.url);
},
//
handleImgExceed() {
this.$message({
type: 'warning',
message: '文件数量最多不超过三个'
});
},
//
beforeImgUpload(file) {
const isLt1M = file.size / 1024 / 1024 < 10;
const srcType = file.type;
const format = file.name.split('.').pop();
if (!isLt1M) {
this.$message.error('上传文件大小不能超过 10MB!');
return false;
}
if (srcType.indexOf('image') == -1) {
this.$message.error('仅限图片格式');
return false;
}
return true;
},
async activityType() {
const url = "/actual/base/activityType/page"
let params = {
// agencyId: this.agencyId
pageSize: 20,
pageNo: 1,
typeName: "",
enabled: 1
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.typeList = data.list
} else {
this.$message.error(msg)
}
this.$nextTick(() => {
if (!map) {
this.initMap(this.formData.latitude, this.formData.longitude);
console.log("map", map,this.formData.latitude, this.formData.longitude)
} else {
map.setCenter(this.formData.latitude, this.formData.longitude);
map.setMarker(this.formData.latitude, this.formData.longitude);
console.log("mapmapmap", map)
}
})
},
handleOnlineRegistration(value) {
//
if (value) {
this.online = true;
this.formData.online = 1;
} else {
this.online = false;
this.formData.cutOffTime = ''
this.formData.online = 0;
}
},
// onChangeFileList(e) {
// if (e.length > 0) {
// let item = e[0];
// let ob = {
// fileType: '0',
// fileUrl: item.response.data.url
// };
// this.fileList = [ob];
// this.formData.coverPic = ob.fileUrl;
// }
// },
removedImg() {
this.formData.coverPic = ''
},
onChangeFileList(e) {
console.log(e, 'sssssb');
this.fileList = e.length > 0 ? e.map(item => ({
fileType: '0',
fileUrl: item.response.data.url
})) : []; // efileList
if (e.length > 0) {
this.formData.coverPic = e[0].response.data.url;
} else {
this.formData.coverPic = '';
}
},
onChangeImgs(e, rowIndex = 0) {
console.log('onChangeFileList', e)
if (e.length > 0) {
this.activityImgs = []
e.forEach(item => {
let ob = {
fileType: '0',
fileUrl: item.response.data.url
}
this.activityImgs.push(ob)
})
}
},
// onChangeImgs(e) {
// this.activityImgs = [];
// if (e.length > 0) {
// e.forEach(item => {
// let ob = {
// fileType: '0',
// fileUrl: item.response.data.url
// };
// this.activityImgs.push(ob);
// });
// console.log('this.activityImgs',this.activityImgs)
// }
// },
handleChange(value) {},
handleTimeChange(time) {
if (time) {
const startTimeArray = util.dateFormatter(time[0], 'time').split('-')
console.log(startTimeArray);
const endTimeArray = util.dateFormatter(time[1], 'time').split('-')
console.log(endTimeArray);
this.formData.startTime = startTimeArray[0] + '-' + startTimeArray[1] + '-' + startTimeArray[2]
this.formData.endTime = endTimeArray[0] + '-' + endTimeArray[1] + '-' + endTimeArray[2]
// this.startTimeShow = startTimeArray[0] + '' + startTimeArray[1] + '' + startTimeArray[2] + ''
// this.endTimeShow = endTimeArray[0] + '' + endTimeArray[1] + '' + endTimeArray[2] + ''
} else {
this.formData.startTime = ''
this.formData.endTime = ''
}
},
async initForm(type, activityId) {
this.startLoading()
this.formType = type
if (type === 'edit') {
if (activityId.activityImgs || activityId.sumUp) {
this.records = true
} else {
this.records = false
}
this.formData = activityId
this.timeRange = [this.formData.startTime, this.formData.endTime]
console.log(activityId,"activityId");
if (activityId.coverPic) {
let ob = {
fileType: '0',
fileUrl: activityId.coverPic
};
this.fileList = [ob];
this.formData.coverPic = ob.fileUrl;
if (this.formData.online == 1) {
this.online = true
}
}
} else if (type === 'records') {
this.records = true
} else if (type === 'summary') {
this.formData = activityId
this.formData.activityImgs = []
console.log("this.formData", this.formData)
this.records = true
this.summary = false
} else {
this.records = false
}
this.endLoading()
},
async getDemandOptions() {
this.$http
.post("/actual/base/serviceitem/listAllCategory")
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg);
} else {
console.log(res.data);
this.demandOptions = this.getFlagData(
this.getTreeData(res.data),
"usableFlag"
);
}
})
.catch(() => {
return this.$message.error("网络错误");
});
},
getFlagData(data, flag) {
if (!Array.isArray(data)) return [];
let arr1 = data.filter((item) => item[flag]);
let arr2 = arr1.map((item) => {
if (item.childCateList)
return { ...item, childCateList: this.getFlagData(item.childCateList, flag) };
else return item;
});
return arr2;
},
getTreeData(data) {
if (!Array.isArray(data)) return [];
let arr = data.map((item) => {
let _item = {};
if (item.childCateList) {
if (item.childCateList.length === 0)
_item = { ...item, childCateList: undefined };
else _item = { ...item, childCateList: this.getTreeData(item.childCateList) };
} else {
_item = { ...item };
}
return _item;
});
return arr;
},
async loadGrid() {
const url = "/gov/org/customergrid/gridoption"
let params = {
agencyId: this.agencyId
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.gridList = data
} else {
this.$message.error(msg)
}
},
//
async loadFormData() {
const url = '/actual/base/icpartyactivity/detail'
// const url = 'http://yapi.elinkservice.cn/mock/245/heart/icpartyactivity/detail'
let params = {
id: this.activityId
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.formData = data
let style_img = "style='width:50px;height:40px;' "
if (this.formData.content) {
// this.formData.content = this.formData.content.replace(/<img/g, "<img style='width:200px;height:240px;'")
// let array=this.formData.content.split('<img')
}
} else {
this.$message.error(msg)
}
},
async handleComfirm() {
if (!this.formData.Administratorphone) {
this.$message.error('请输入活动详情');
return;
}
if (!this.formData.AdministratorName) {
this.$message.error('请上传封面图片');
return;
}
if (!this.formData.Organizationaltype) {
this.$message.error('请输入文章标题');
return;
}
if (!this.formData.Servicetype) {
this.$message.error('请输入所属项目');
return;
}
console.log(this.formData,"this.formData");
this.addActivity()
},
async addActivity() {
if (this.formType === 'edit' || this.formType === 'summary') {
let url = '/actual/base/communityActivity/update'
const { data, code, msg } = await requestPost(url, this.formData)
if (code === 0) {
this.$message({
type: 'success',
message: '操作成功'
})
this.resetData()
this.$emit('dialogOk')
this.btnDisable = false
} else {
this.btnDisable = false
this.$message.error(msg)
}
} else {
let url = '/actual/base/communityActivity/save'
const { data, code, msg } = await requestPost(url, this.formData)
if (code === 0) {
this.$message({
type: 'success',
message: '操作成功'
})
this.resetData()
this.$emit('showEditClose')
this.btnDisable = false
} else {
this.btnDisable = false
this.$message.error(msg)
}
}
},
handleCancle() {
console.log("sdlkfjklsdf ");
this.$emit('showEditClose')
},
//
startLoading() {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
})
},
//
endLoading() {
// clearTimeout(timer);
if (loading) {
loading.close()
}
}
},
computed: {
dataRule() {
return {
Servicetype: [
{ required: true, message: '请选择所属栏目', trigger: 'blur' }
],
zhaomu: [
{ required: true, message: '活动详情不能为空', trigger: 'blur' }
],
sumUp: [
{ required: true, message: '请填写文章标题', trigger: 'blur' }
],
fileList: [
{ required: true, message: '请选择活动照片', trigger: 'blur' }
]
}
},
},
props: {
},
destroyed () {
map = null
}
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/visual/communityManageForm.scss";
</style>
<style lang="scss" scoped>
.item_width_1 {
width: 634px;
/deep/.tox .tox-dialog {
z-index: 20000;
}
}
.u-item-width-normal{
width: 222px;
}
.tinymce_view {
::v-deep .tox .tox-dialog {
z-index: 2000000000;
}
}
.div_map {
position: relative;
}
.div_searchmap {
z-index: 5000;
position: absolute;
top: 5px;
left: 5px;
}
.tinymce_view {
height: 400px;
overflow: auto;
}
.text_p {
margin: 0;
padding: 0 10px;
border: 1px solid #d9d9d9;
border-radius: 5px;
>p {
margin: 0;
}
}
</style>

9
src/views/modules/volunteer/Dynamicmanagement/index.vue

@ -3,7 +3,7 @@
<div class="m-search"> <div class="m-search">
<el-form :inline="true" ref="ref_searchform" :label-width="'100px'"> <el-form :inline="true" ref="ref_searchform" :label-width="'100px'">
<div> <div>
<el-form-item label="标题"> <el-form-item label="标题" :label-width="'50px'">
<el-input v-model.trim="formData.OrganizationName" size="small" class="item_width_1" clearable <el-input v-model.trim="formData.OrganizationName" size="small" class="item_width_1" clearable
placeholder="请输入"> placeholder="请输入">
</el-input> </el-input>
@ -144,9 +144,9 @@
import { requestPost, requestGet } from "@/js/dai/request"; import { requestPost, requestGet } from "@/js/dai/request";
import nextTick from "dai-js/tools/nextTick"; import nextTick from "dai-js/tools/nextTick";
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
// import add from "./add.vue" import add from "./add.vue"
// import info from "./info.vue" // import info from "./info.vue"
// import edit from "./edit.vue" import edit from "./edit.vue"
// import recruit from "./recruit" // import recruit from "./recruit"
// import process from "./process.vue" // import process from "./process.vue"
@ -157,7 +157,8 @@ import axios from "axios";
export default { export default {
components: { components: {
// add,info,edit,recruit,process add,edit
// info,recruit,process
}, },
data() { data() {

92
src/views/modules/volunteer/VolManage/enclosure.vue

@ -0,0 +1,92 @@
<template>
<div>
<div style="display: flex;white-space: nowrap; padding: 30px 0 0 0 ;" >
<el-col :span="12">
<el-form-item label="调整类型" prop="type" required>
<el-select v-model.trim="formData.type" placeholder="请选择" clearable style="width: 280px">
<el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
</div>
<div class="div_btn">
<el-button size="small" @click="handleCancle"> </el-button>
<el-button size="small" v-if="formType != 'detail'" type="primary" :disabled="btnDisable"
@click="handleComfirm"> </el-button>
</div>
</div>
</template>
<script>
import { requestPost,requestGet } from "@/js/dai/request";
export default {
name: "see",
data() {
return {
radio:'1',
stockQty:"",
labelPosition: 'right',
tableData: [],
awardId:""
};
},
props:{
VolunteerList:{
type: Object,
default: () => {}
}
},
created() {
console.log(this.VolunteerList,"list");
this.tableData=this.VolunteerList
// this.awardId=this.list.id
// this.getTableData()
},
methods: {
//
handleCancle(){
this.$emit('handleprocesslClose')
},
//
handleComfirm(){
this.$emit('handleprocesslClose')
},
getTableData() {
console.log(this.formData);
const url = "/voluntary/pointsAward/admin/detail";
let params = {
id:this.awardId
}
requestGet(url, params).then((res) =>{
console.log(res,"res");
if(res.code===0){
console.log("列表请求成功!!!!!!!!!!!!!!");
console.log(res.data, "data");
this.tableData = res.data
console.log(this.tableData, "this.tableData");
}
})
// const { data, code, msg } = requestGet(url, params)
// console.log(data,"data");
// if (code === 0) {
// console.log("");
// console.log(data,"data");
// this.tableData = data
// console.log(this.tableData,"this.tableData");
// } else {
// }
},
},
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/visual/communityManageForm.scss";
</style>

28
src/views/modules/volunteer/VolManage/integral.vue

@ -71,6 +71,9 @@
</el-table-column> </el-table-column>
<el-table-column prop="pointsDelta" header-align="center" align="center" label="积分"> <el-table-column prop="pointsDelta" header-align="center" align="center" label="积分">
<template slot-scope="scope">
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleAdjust(scope.row)">{{ scope.row.pointsDelta}}</el-button>
</template>
</el-table-column> </el-table-column>
<!-- <el-table-column prop="ActivityCount" header-align="center" align="center" label="核销时间"> <!-- <el-table-column prop="ActivityCount" header-align="center" align="center" label="核销时间">
</el-table-column> </el-table-column>
@ -87,8 +90,12 @@
:page-sizes="[10, 20, 50]" :page-size="pageSize" layout="sizes, prev, pager, next, total" :total="total"> :page-sizes="[10, 20, 50]" :page-size="pageSize" layout="sizes, prev, pager, next, total" :total="total">
</el-pagination> </el-pagination>
</div> </div>
<el-dialog :modal="false" :visible.sync="adjustment" :close-on-click-modal="false" :close-on-press-escape="false" title="积分调整"
width="750px" top="15vh" class="dialog-h" >
<enclosure v-if="adjustment" :list="fmData" />
</el-dialog>
</div> </div>
<div class="flex flex-center1 flex-center2"> <div class="flex flex-center1 flex-center2">
<el-button type="info" @click="handleremove">取消</el-button> <el-button type="info" @click="handleremove">取消</el-button>
<!-- <el-button type="danger" @click="getTableData">确定</el-button> --> <!-- <el-button type="danger" @click="getTableData">确定</el-button> -->
@ -98,12 +105,15 @@
</div> </div>
</template> </template>
<script> <script>
import enclosure from "./enclosure.vue"
import { requestPost,requestGet } from "@/js/dai/request"; import { requestPost,requestGet } from "@/js/dai/request";
export default { export default {
name: "see", name: "see",
data() { data() {
return { return {
adjustment:false,
formData:{ formData:{
createdTimeTo:"", createdTimeTo:"",
createdTimeTo:"", createdTimeTo:"",
@ -144,6 +154,9 @@ export default {
default: () => {} default: () => {}
} }
}, },
components:{
enclosure
},
created() { created() {
console.log(this.list,"list"); console.log(this.list,"list");
this.getlist() this.getlist()
@ -154,6 +167,19 @@ export default {
}, },
methods: { methods: {
//
handleAdjust(row){
this.adjustment=true
console.log(row, this.adjustment,"row");
},
//
//
handleAdjustClose(row){
console.log(row,"row");
this.adjustmen=false
},
// //
actcontrolTime(){ actcontrolTime(){
console.log("dislfj"); console.log("dislfj");

2
src/views/modules/volunteer/VoluntaryOrganization/index.vue

@ -105,7 +105,7 @@
title="成员管理" width="1000px" top="10vh" class="dialog-h" @closed="MemberManagementClose"> title="成员管理" width="1000px" top="10vh" class="dialog-h" @closed="MemberManagementClose">
<MemberManagement v-if="showMember" :list="fmData" @MemberManagementClose="MemberManagementClose" /> <MemberManagement v-if="showMember" :list="fmData" @MemberManagementClose="MemberManagementClose" />
</el-dialog> </el-dialog>
<el-dialog :visible.sync="showprocess" :close-on-click-modal="false" :close-on-press-escape="false" title="审" <el-dialog :visible.sync="showprocess" :close-on-click-modal="false" :close-on-press-escape="false" title="审"
width="850px" top="10vh" class="dialog-h" @closed="handleprocesslClose"> width="850px" top="10vh" class="dialog-h" @closed="handleprocesslClose">
<process v-if="showprocess" @handleprocesslClose="handleprocesslClose" :VolunteerList="EditList"/> <process v-if="showprocess" @handleprocesslClose="handleprocesslClose" :VolunteerList="EditList"/>
</el-dialog> </el-dialog>

9
src/views/modules/volunteer/VolunteerProjects/index.vue

@ -125,8 +125,8 @@
<process v-if="showprocess" @handleprocesslClose="handleprocesslClose" :VolunteerList="EditList" /> <process v-if="showprocess" @handleprocesslClose="handleprocesslClose" :VolunteerList="EditList" />
</el-dialog> </el-dialog>
<el-dialog :visible.sync="showrecord" :close-on-click-modal="false" :close-on-press-escape="false" <el-dialog :visible.sync="showrecord" :close-on-click-modal="false" :close-on-press-escape="false"
title="查看记录" width="850px" top="10vh" class="dialog-h" @closed="handleprocesslClose"> title="查看记录" width="850px" top="10vh" class="dialog-h" @closed="handlerecordClose">
<process v-if="showrecord" @handleprocesslClose="handleprocesslClose" :VolunteerList="EditList" /> <Record v-if="showrecord" @handlerecordClose="handlerecordClose" :VolunteerList="EditList" />
</el-dialog> </el-dialog>
</div> </div>
</div> </div>
@ -142,14 +142,14 @@ import edit from "./edit.vue"
import recruit from "./recruit" import recruit from "./recruit"
import process from "./process.vue" import process from "./process.vue"
// import Record from "./activeRecord" import Record from "./record"
// import integral from "./integral" // import integral from "./integral"
// // import projectInfo from "./cpts/project-info"; // // import projectInfo from "./cpts/project-info";
import axios from "axios"; import axios from "axios";
export default { export default {
components: { components: {
add,info,edit,recruit,process add,info,edit,recruit,process,Record
}, },
data() { data() {
@ -431,6 +431,7 @@ export default {
this.EditList=row this.EditList=row
console.log(row,this.fmData,"row"); console.log(row,this.fmData,"row");
}, },
//
handlerecordClose(){ handlerecordClose(){
this.showrecord=false this.showrecord=false
}, },

345
src/views/modules/volunteer/VolunteerProjects/process.vue

@ -1,286 +1,131 @@
<template> <template>
<div class="g-main" style="padding: 30px;"> <div>
<el-form :inline="true" :model="formData" class="demo-form-inline"> <div style="display: flex;white-space: nowrap; padding: 30px;" >
<el-form-item> <el-form style="padding-left: 50px;" :label-position="labelPosition" :model="tableData">
<el-select v-model="value" placeholder="请选择" class="item_width_1"> <el-form-item label="申请单位">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> <div> {{ tableData.OrganizationName }}</div>
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="加入时间" label-width="100px"> <el-form-item label="申请名称">
<el-date-picker v-model="formData.createdTimeFrom" type="datetime" placeholder="开始时间" {{ tableData.Servicetype }}
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" style="width: 200px;">
</el-date-picker>
<span style="margin: 0 10px;"></span>
<el-date-picker v-model="formData.createdTimeTo" type="datetime" placeholder="结束时间" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss" @change="actcontrolTime" style="width: 200px;">
</el-date-picker>
</el-form-item> </el-form-item>
</el-form> <el-form-item label="项目级别">
<div style="display: flex; justify-content: flex-end; margin-bottom: 10px;"> {{ tableData.Organizationaltype}}
<el-button type="primary" @click="handleSearch">查询</el-button> </el-form-item>
</div> <el-form-item label="项目介绍">
<div> {{ tableData.AdministratorName}}
<div> <el-table :data="tableData" border height="250"> </el-form-item>
<el-table-column label="序号" width="80" header-align="center" align="center" type="index"></el-table-column> <el-form-item label="项目展示图">
<el-table-column prop="pointsClassName" header-align="center" align="center" label="活动时间"> {{ tableData.AdministratorName}}
</el-table-column> </el-form-item>
<el-table-column prop="createdTime" header-align="center" align="center" label="活动标题"> <el-form-item label="服务区域">
</el-table-column> {{ tableData.AdministratorIDCard }}
. <el-table-column prop="operationName" header-align="center" align="center" label="活动地点">
</el-table-column> </el-form-item>
<el-table-column prop="pointsDelta" header-align="center" align="center" label="活动详情"> <el-form-item label="服务类型">
</el-table-column> {{ tableData.Administratorphone }}
<el-table-column prop="pointsDelta" header-align="center" align="center" label="状态">
</el-table-column> </el-form-item>
</el-table></div> <el-form-item label="服务期限">
<div v-if="true"> <el-table :data="tableData" border height="250"> {{ tableData.agencyName }}
<el-table-column label="序号" width="80" header-align="center" align="center" type="index"></el-table-column>
<el-table-column prop="pointsClassName" header-align="center" align="center" label="服务时间"> </el-form-item>
</el-table-column> <el-form-item label="附件">
<el-table-column prop="createdTime" header-align="center" align="center" label="服务区域">
</el-table-column>
<el-table-column prop="operationName" header-align="center" align="center" label="服务地点">
</el-table-column>
<el-table-column prop="pointsDelta" header-align="center" align="center" label="服务详情">
</el-table-column>
<el-table-column prop="pointsDelta" header-align="center" align="center" label="附件">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="handleDetail(scope.row)">查看</el-button> <span>{{ scope.row.enabled === 1 ? '关闭' : '显示' }}</span>
</template> </template>
</el-table-column> </el-form-item>
</el-table> </div> <el-form-item label="审核">
<div> <div style="display: flex; justify-items:center; align-items: center;">
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo" <el-radio v-model="radio" label="1" style="margin-right:20px">通过</el-radio>
:page-sizes="[10, 20, 50]" :page-size="pageSize" layout="sizes, prev, pager, next, total" :total="total"> <div class="flex flex-x flex-center2">
</el-pagination> <el-radio v-model="radio" label="2" style="margin-right: 10px;">不通过</el-radio>
</div> <el-input v-if="radio == '2'" type="number" v-model="stockQty" style="width: 200px;"
placeholder="请说明原因"></el-input>
</div> </div>
<el-dialog :modal="false" :visible.sync="info" :close-on-click-modal="false" :close-on-press-escape="false" title="附件详情"
width="750px" top="15vh" class="dialog-h" >
<enclosure v-if="info" :list="fmData" />
</el-dialog>
<!-- <div class="flex flex-center1 flex-center2">
<el-button type="info" @click="handleremove">取消</el-button>
<el-button type="danger" @click="handleSubmit">确定</el-button>
</div> -->
</div> </div>
</el-form-item>
</el-form>
</div>
<div class="div_btn">
<el-button size="small" @click="handleCancle"> </el-button>
<el-button size="small" v-if="formType != 'detail'" type="primary" :disabled="btnDisable"
@click="handleComfirm"> </el-button>
</div>
</div>
</template> </template>
<script> <script>
import enclosure from "./enclosure.vue" import { requestPost,requestGet } from "@/js/dai/request";
import { requestPost,requestGet } from "@/js/dai/request";
export default { export default {
name: "see", name: "see",
data() { data() {
return { return {
options: [{ radio:'1',
value: '1', stockQty:"",
label: '活动记录'
}, {
value: '2',
label: '服务记录'
}],
value: '',
formData:{
createdTimeTo:"",
createdTimeTo:"",
pointsClass:"",
optionsStatus: [
{
code:1,
name:"活动积分"
},
{
code:2,
name:"平台积分"
},
{
code:3,
name:"操作积分"
},
],
},
labelPosition: 'right', labelPosition: 'right',
tableData: [ tableData: [],
{1: '活动记录', 2: '服务记录'} awardId:""
],
integralnum: 1,
radio:3,
textarea: '',
behaviorName: '',
description:"",
pointsDelta:"",
Positive:'',
pageSize: 10,
pageNo: 1,
total: 0,
info:false
}; };
}, },
props:{ props:{
list:{ VolunteerList:{
type: Object, type: Object,
default: () => {} default: () => {}
} }
}, },
created() { created() {
console.log(this.list,"list"); console.log(this.VolunteerList,"list");
this.getlist() this.tableData=this.VolunteerList
this.getpoint1s() // this.awardId=this.list.id
// this.getTableData()
}, },
components:{ methods: {
enclosure //
}, handleCancle(){
computed:{ this.$emit('handleprocesslClose')
},
}, //
methods: { handleComfirm(){
// this.$emit('handleprocesslClose')
handleDetail(row){ },
console.log(row,"row"); getTableData() {
this.info=true console.log(this.formData);
console.log(this.info,"info"); const url = "/voluntary/pointsAward/admin/detail";
let params = {
this.fmData=row id:this.awardId
},
//
actcontrolTime(){
console.log("dislfj");
if(this.formData.createdTimeFrom>this.formData.createdTimeTo){
this.$message.error('活动结束时间不能在活动开始时间之前');
this.formData.createdTimeTo=''
return
}
},
//
handleSearch(val) {
this.pageNo = 1;
this.getlist();
},
handleSizeChange(val) {
console.log(`每页 ${val}`);
this.pageSize = val;
window.localStorage.setItem("pageSize", val);
this.getlist();
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.pageNo = val;
this.getlist();
},
//+-
handleRadioChange(val){
console.log(val);
this.Positive = val === 3 ? '+' : val === 6 ? '-' : '';
console.log(this.Positive);
},
//
async getpoint1s() {
const url = "/voluntary/points/adjustVolunteerPoints/reasonsList";
let params={
} }
await requestGet(url,params).then((res)=>{ requestGet(url, params).then((res) =>{
if (res.code === 0) { console.log(res,"res");
if(res.code===0){
console.log("列表请求成功!!!!!!!!!!!!!!"); console.log("列表请求成功!!!!!!!!!!!!!!");
this.optionsStatus = res.data console.log(res.data, "data");
console.log(this.optionsStatus); this.tableData = res.data
console.log(this.tableData, "this.tableData");
} else {
} }
}) })
}, // const { data, code, msg } = requestGet(url, params)
// // console.log(data,"data");
// async getTableData() {
// const url = "/voluntary/points/adjustVolunteerPoints/commit";
// let params={
// volunteerId:this.list.id,
// reason:this.behaviorName,
// description:this.description,
// pointsDelta:this.Positive+this.integralnum,
// primaryPoints:this.tableData.points
// // volunteerId:this.list.id,
// // mobile:this.formData.phone,
// // name:this.formData.name
// }
// console.log(params,"params");
// const { data, code, msg } = await requestPost(url,params);
// if (code === 0) { // if (code === 0) {
// console.log(""); // console.log("");
// this.$message({ // console.log(data,"data");
// message: "", // this.tableData = data
// type: "success", // console.log(this.tableData,"this.tableData");
// });
// this.$emit('summDetailClose')
// } else { // } else {
// } // }
// }, },
async getlist() { },
const url = "/voluntary/points/listPointsChangeRecord";
let params={
volunteerId:this.list.id,
createdTimeFrom:this.formData.createdTimeFrom,
createdTimeTo:this.formData.createdTimeTo,
// description:this.description,
pointsClass:this.formData.pointsClass,
pageNo:this.pageNo,
pageSize:this.pageSize,
// pointsDelta:this.Positive+this.integralnum,
// primaryPoints:this.tableData.points
// volunteerId:this.list.id,
// mobile:this.formData.phone,
// name:this.formData.name
}
console.log(params,"params");
const { data, code, msg } = await requestGet(url,params);
if (code === 0) {
this.tableData=data.list
this.total=data.total
console.log("列表请求成功!!!!!!!!!!!!!!");
// console.log("");
// this.$message({
// message: "",
// type: "success",
// });
// this.$emit('summDetailClose')
} else {
}
},
handleSubmit(){
this.$emit('MemberManagementClose')
},
handleremove(){
this.$emit('MemberManagementClose')
},
handleadjustment(value) {
console.log(value,"num");
},
}
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "@/assets/scss/modules/management/volunteet.scss"; @import "@/assets/scss/modules/visual/communityManageForm.scss";
.item_width_1 {
width: 200px;
/deep/.tox .tox-dialog {
z-index: 20000;
}
}
.u-item-width-normal{
width: 222px;
}
</style> </style>

286
src/views/modules/volunteer/VolunteerProjects/record.vue

@ -0,0 +1,286 @@
<template>
<div class="g-main" style="padding: 30px;">
<el-form :inline="true" :model="formData" class="demo-form-inline">
<el-form-item>
<el-select v-model="value" placeholder="请选择" class="item_width_1">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="加入时间" label-width="100px">
<el-date-picker v-model="formData.createdTimeFrom" type="datetime" placeholder="开始时间"
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" style="width: 200px;">
</el-date-picker>
<span style="margin: 0 10px;"></span>
<el-date-picker v-model="formData.createdTimeTo" type="datetime" placeholder="结束时间" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss" @change="actcontrolTime" style="width: 200px;">
</el-date-picker>
</el-form-item>
</el-form>
<div style="display: flex; justify-content: flex-end; margin-bottom: 10px;">
<el-button type="primary" @click="handleSearch">查询</el-button>
</div>
<div>
<div> <el-table :data="tableData" border height="250">
<el-table-column label="序号" width="80" header-align="center" align="center" type="index"></el-table-column>
<el-table-column prop="pointsClassName" header-align="center" align="center" label="活动时间">
</el-table-column>
<el-table-column prop="createdTime" header-align="center" align="center" label="活动标题">
</el-table-column>
. <el-table-column prop="operationName" header-align="center" align="center" label="活动地点">
</el-table-column>
<el-table-column prop="pointsDelta" header-align="center" align="center" label="活动详情">
</el-table-column>
<el-table-column prop="pointsDelta" header-align="center" align="center" label="状态">
</el-table-column>
</el-table></div>
<div v-if="true"> <el-table :data="tableData" border height="250">
<el-table-column label="序号" width="80" header-align="center" align="center" type="index"></el-table-column>
<el-table-column prop="pointsClassName" header-align="center" align="center" label="服务时间">
</el-table-column>
<el-table-column prop="createdTime" header-align="center" align="center" label="服务区域">
</el-table-column>
<el-table-column prop="operationName" header-align="center" align="center" label="服务地点">
</el-table-column>
<el-table-column prop="pointsDelta" header-align="center" align="center" label="服务详情">
</el-table-column>
<el-table-column prop="pointsDelta" header-align="center" align="center" label="附件">
<template slot-scope="scope">
<el-button type="text" @click="handleDetail(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table> </div>
<div>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo"
:page-sizes="[10, 20, 50]" :page-size="pageSize" layout="sizes, prev, pager, next, total" :total="total">
</el-pagination>
</div>
</div>
<el-dialog :modal="false" :visible.sync="info" :close-on-click-modal="false" :close-on-press-escape="false" title="附件详情"
width="750px" top="15vh" class="dialog-h" >
<enclosure v-if="info" :list="fmData" />
</el-dialog>
<!-- <div class="flex flex-center1 flex-center2">
<el-button type="info" @click="handleremove">取消</el-button>
<el-button type="danger" @click="handleSubmit">确定</el-button>
</div> -->
</div>
</template>
<script>
import enclosure from "./enclosure.vue"
import { requestPost,requestGet } from "@/js/dai/request";
export default {
name: "see",
data() {
return {
options: [{
value: '1',
label: '活动记录'
}, {
value: '2',
label: '服务记录'
}],
value: '',
formData:{
createdTimeTo:"",
createdTimeTo:"",
pointsClass:"",
optionsStatus: [
{
code:1,
name:"活动积分"
},
{
code:2,
name:"平台积分"
},
{
code:3,
name:"操作积分"
},
],
},
labelPosition: 'right',
tableData: [
{1: '活动记录', 2: '服务记录'}
],
integralnum: 1,
radio:3,
textarea: '',
behaviorName: '',
description:"",
pointsDelta:"",
Positive:'',
pageSize: 10,
pageNo: 1,
total: 0,
info:false
};
},
props:{
list:{
type: Object,
default: () => {}
}
},
created() {
console.log(this.list,"list");
this.getlist()
this.getpoint1s()
},
components:{
enclosure
},
computed:{
},
methods: {
//
handleDetail(row){
console.log(row,"row");
this.info=true
console.log(this.info,"info");
this.fmData=row
},
//
actcontrolTime(){
console.log("dislfj");
if(this.formData.createdTimeFrom>this.formData.createdTimeTo){
this.$message.error('活动结束时间不能在活动开始时间之前');
this.formData.createdTimeTo=''
return
}
},
//
handleSearch(val) {
this.pageNo = 1;
this.getlist();
},
handleSizeChange(val) {
console.log(`每页 ${val}`);
this.pageSize = val;
window.localStorage.setItem("pageSize", val);
this.getlist();
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.pageNo = val;
this.getlist();
},
//+-
handleRadioChange(val){
console.log(val);
this.Positive = val === 3 ? '+' : val === 6 ? '-' : '';
console.log(this.Positive);
},
//
async getpoint1s() {
const url = "/voluntary/points/adjustVolunteerPoints/reasonsList";
let params={
}
await requestGet(url,params).then((res)=>{
if (res.code === 0) {
console.log("列表请求成功!!!!!!!!!!!!!!");
this.optionsStatus = res.data
console.log(this.optionsStatus);
} else {
}
})
},
//
// async getTableData() {
// const url = "/voluntary/points/adjustVolunteerPoints/commit";
// let params={
// volunteerId:this.list.id,
// reason:this.behaviorName,
// description:this.description,
// pointsDelta:this.Positive+this.integralnum,
// primaryPoints:this.tableData.points
// // volunteerId:this.list.id,
// // mobile:this.formData.phone,
// // name:this.formData.name
// }
// console.log(params,"params");
// const { data, code, msg } = await requestPost(url,params);
// if (code === 0) {
// console.log("");
// this.$message({
// message: "",
// type: "success",
// });
// this.$emit('summDetailClose')
// } else {
// }
// },
async getlist() {
const url = "/voluntary/points/listPointsChangeRecord";
let params={
volunteerId:this.list.id,
createdTimeFrom:this.formData.createdTimeFrom,
createdTimeTo:this.formData.createdTimeTo,
// description:this.description,
pointsClass:this.formData.pointsClass,
pageNo:this.pageNo,
pageSize:this.pageSize,
// pointsDelta:this.Positive+this.integralnum,
// primaryPoints:this.tableData.points
// volunteerId:this.list.id,
// mobile:this.formData.phone,
// name:this.formData.name
}
console.log(params,"params");
const { data, code, msg } = await requestGet(url,params);
if (code === 0) {
this.tableData=data.list
this.total=data.total
console.log("列表请求成功!!!!!!!!!!!!!!");
// console.log("");
// this.$message({
// message: "",
// type: "success",
// });
// this.$emit('summDetailClose')
} else {
}
},
handleSubmit(){
this.$emit('MemberManagementClose')
},
handleremove(){
this.$emit('MemberManagementClose')
},
handleadjustment(value) {
console.log(value,"num");
},
}
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/management/volunteet.scss";
.item_width_1 {
width: 200px;
/deep/.tox .tox-dialog {
z-index: 20000;
}
}
.u-item-width-normal{
width: 222px;
}
</style>

253
src/views/modules/volunteer/VolunteerProjects/recruit.vue

@ -1,97 +1,63 @@
<template> <template>
<div class="g-main" style="padding: 30px;"> <div class="g-main" style="padding: 30px;">
<el-form :inline="true" :model="formData" class="demo-form-inline" style=""> <el-table :data="tableData" border @selection-change="handleSelectionChange">
<el-form-item label="姓名"> <el-table-column type="selection" width="55"></el-table-column>
<el-input v-model.trim="formData.name" size="small" class="item_width_1" clearable
placeholder="请输入">
</el-input>
</el-form-item>
<el-form-item label="加入时间" label-width="100px">
<el-date-picker v-model="formData.createdTimeFrom" type="datetime" placeholder="开始时间"
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
<span style="margin: 0 10px;"></span>
<el-date-picker v-model="formData.createdTimeTo" type="datetime" placeholder="结束时间"
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" @change="actcontrolTime">
</el-date-picker>
</el-form-item>
</el-form>
<div style="display: flex; justify-content: flex-end; margin-bottom: 10px;">
<el-button type="primary" @click="handleSearch">查询</el-button>
</div>
<div >
<el-table :data="tableData" border height="250" >
<el-table-column label="序号" width="80" header-align="center" align="center" type="index"></el-table-column> <el-table-column label="序号" width="80" header-align="center" align="center" type="index"></el-table-column>
<el-table-column prop="pointsClassName" header-align="center" align="center" label="加入时间"> <el-table-column prop="realName" header-align="center" align="center" label="申请时间">
</el-table-column>
<el-table-column prop="createdTime" header-align="center" align="center" label="所属社区">
</el-table-column> </el-table-column>
. <el-table-column prop="operationName" header-align="center" align="center" label="姓名"> <el-table-column prop="nickName" header-align="center" align="center" label="申请单位">
</el-table-column> </el-table-column>
<el-table-column prop="pointsDelta" header-align="center" align="center" label="身份证号"> <el-table-column prop="mobile" header-align="center" align="center" label="附件">
<template slot-scope="scope">
<el-button type="text" style="color:#1C6AFD;" size="small"
@click="handleDetail(scope.row)">查看</el-button>
</template>
</el-table-column> </el-table-column>
<el-table-column prop="pointsDelta" header-align="center" align="center" label="手机号"> <el-table-column prop="nickName" header-align="center" align="center" label="审核解构">
</el-table-column> </el-table-column>
<el-table-column prop="pointsDelta" header-align="center" align="center" label="活动次数"> <el-table-column prop="nickName" header-align="center" align="center" label="审核时间">
</el-table-column> </el-table-column>
<el-table-column prop="pointsDelta" header-align="center" align="center" label="服务时常"> <!-- . <el-table-column prop="idCard" header-align="center" align="center" label="证件号" >
</el-table-column> </el-table-column>
<el-table-column prop="applyTime" header-align="center" align="center" label="报名时间" >
</el-table-column> -->
<!-- <el-table-column label="操作" fixed="right" width="250" header-align="center" align="center" class="operate">
<template slot-scope="scope">
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row)">查看</el-button>
<el-button type="text" style="color:#1C6AFD;" size="small"
@click="handleEdit(scope.row)">活动记录</el-button>
<el-button type="text" style="color:#1C6AFD;" size="small"
@click="handleDelete(scope.row)">积分调整</el-button>
</template>
</el-table-column> -->
</el-table> </el-table>
<div> <div>
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo" <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
:page-sizes="[10, 20, 50]" :page-size="pageSize" layout="sizes, prev, pager, next, total" :total="total"> :current-page.sync="pageNo" :page-sizes="[10, 20, 50]" :page-size="pageSize"
layout="sizes, prev, pager, next, total" :total="total">
</el-pagination> </el-pagination>
</div> </div>
<div class="flex flex-center1 flex-center2">
</div> <el-button type="info" @click="handleremove"> </el-button>
<!-- <div class="flex flex-center1 flex-center2"> <!-- <el-button type="danger" @click="getTableData">确定</el-button> -->
<el-button type="info" @click="handleremove">取消</el-button>
<el-button type="danger" @click="handleSubmit">确定</el-button>
</div> -->
<div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { requestPost,requestGet } from "@/js/dai/request"; import { requestPost,requestGet } from "@/js/dai/request";
export default { export default {
name: "see", name: "see",
data() { data() {
return { return {
formData:{ name:"",
createdTimeTo:"", mobile:"",
createdTimeTo:"", total:0,
pointsClass:"",
optionsStatus: [
{
code:1,
name:"活动积分"
},
{
code:2,
name:"平台积分"
},
{
code:3,
name:"操作积分"
},
],
},
labelPosition: 'right', labelPosition: 'right',
tableData: [], tableData: [],
integralnum: 1, formData:[],
radio:3,
textarea: '',
options: [],
behaviorName: '',
description:"",
pointsDelta:"",
Positive:'',
pageSize: 10,
pageNo: 1, pageNo: 1,
total: 0, pageSize:20,
}; };
}, },
props:{ props:{
@ -99,136 +65,59 @@ export default {
type: Object, type: Object,
default: () => {} default: () => {}
} }
},
created() {
console.log(this.list,"list");
this.getlist()
this.getpoint1s()
},
computed:{
}, },
methods: { methods: {
// //
actcontrolTime(){ handleSelectionChange(val) {
console.log("dislfj"); this.multipleSelection = val;
if(this.formData.createdTimeFrom>this.formData.createdTimeTo){
this.$message.error('活动结束时间不能在活动开始时间之前');
this.formData.createdTimeTo=''
return
}
}, },
// //
handleSearch(val) { handleSearch(){
this.pageNo = 1; console.log("this.long");
this.getlist();
}, this.getTableData()
handleSizeChange(val) {
console.log(`每页 ${val}`);
this.pageSize = val;
window.localStorage.setItem("pageSize", val);
this.getlist();
}, },
handleCurrentChange(val) { handleCurrentChange(val) {
console.log(`当前页: ${val}`); console.log(`当前页: ${val}`);
this.pageNo = val; this.pageNo = val;
this.getlist(); this.getTableData();
},
//+-
handleRadioChange(val){
console.log(val);
this.Positive = val === 3 ? '+' : val === 6 ? '-' : '';
console.log(this.Positive);
}, },
handleSizeChange(val) {
console.log(`每页 ${val}`);
this.pageSize = val;
window.localStorage.setItem("pageSize", val);
this.getTableData();
},
//
async getTableData() {
// const url = "http://yapi.elinkservice.cn/mock/245/gov/project/project/project-list";
const url = "/voluntary/activityApply/list";
let params = {
name:this.name,
mobile:this.mobile,
pageNo: this.pageNo,
activityId:this.list.id,
// activityId:"1826111922849996802",
pageSize:this.pageSize,
//
async getpoint1s() {
const url = "/voluntary/points/adjustVolunteerPoints/reasonsList";
let params={
} }
await requestGet(url,params).then((res)=>{ requestGet(url, params).then((res) => {
if (res.code === 0) { if (res.code == 0) {
console.log("列表请求成功!!!!!!!!!!!!!!"); this.total = res.data.total || 0;
this.optionsStatus = res.data this.tableData = res.data.list;
console.log(this.optionsStatus); console.log(this.tableData, "this.tableData");
} else { } else {
this.$message.error(res.msg);
} }
}) });
},
//
// async getTableData() {
// const url = "/voluntary/points/adjustVolunteerPoints/commit";
// let params={
// volunteerId:this.list.id,
// reason:this.behaviorName,
// description:this.description,
// pointsDelta:this.Positive+this.integralnum,
// primaryPoints:this.tableData.points
// // volunteerId:this.list.id,
// // mobile:this.formData.phone,
// // name:this.formData.name
// }
// console.log(params,"params");
// const { data, code, msg } = await requestPost(url,params);
// if (code === 0) {
// console.log("");
// this.$message({
// message: "",
// type: "success",
// });
// this.$emit('summDetailClose')
// } else {
// }
// },
async getlist() {
const url = "/voluntary/points/listPointsChangeRecord";
let params={
volunteerId:this.list.id,
createdTimeFrom:this.formData.createdTimeFrom,
createdTimeTo:this.formData.createdTimeTo,
// description:this.description,
pointsClass:this.formData.pointsClass,
pageNo:this.pageNo,
pageSize:this.pageSize,
// pointsDelta:this.Positive+this.integralnum,
// primaryPoints:this.tableData.points
// volunteerId:this.list.id,
// mobile:this.formData.phone,
// name:this.formData.name
}
console.log(params,"params");
const { data, code, msg } = await requestGet(url,params);
if (code === 0) {
this.tableData=data.list
this.total=data.total
console.log("列表请求成功!!!!!!!!!!!!!!");
// console.log("");
// this.$message({
// message: "",
// type: "success",
// });
// this.$emit('summDetailClose')
} else {
}
},
handleSubmit(){
this.$emit('MemberManagementClose')
}, },
handleremove(){
this.$emit('MemberManagementClose')
}, },
handleadjustment(value) { created() {
console.log(value,"num"); console.log(this.list,"list");
}, this.getTableData()
}
},
} }
</script> </script>

130
src/views/modules/volunteer/activityArchive/add.vue

@ -10,6 +10,16 @@
@change="handleChangeAgency"></el-cascader> @change="handleChangeAgency"></el-cascader>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="所属项目" prop="typeId" >
<el-select class="item_width_1" v-model.trim="formData.typeId" placeholder="请选择" clearable style="width: 280px">
<el-option v-for="item in typeList" :key="item.nametypeName" :label="item.typeName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12"> <el-form-item label="活动类型" prop="type" required> <el-col :span="12"> <el-form-item label="活动类型" prop="type" required>
<el-select v-model.trim="formData.type" placeholder="请选择" clearable style="width: 280px"> <el-select v-model.trim="formData.type" placeholder="请选择" clearable style="width: 280px">
<el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id"> <el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id">
@ -17,6 +27,25 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="活动标题" prop="title" required>
<el-input placeholder="请输入活动标题" v-model="formData.title" style="width: 280px; ">
</el-input>
</el-form-item>
</el-col>
<el-col :span="12"> <el-form-item label="活动级别" prop="serviceLevel" >
<el-select v-model.trim="formData.serviceLevel" placeholder="请选择" clearable style="width: 280px">
<el-option v-for="item in serviceLevelList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12"> <el-form-item label="活动区域" prop="district" required>
<el-cascader class="list_item_width_1" ref="myCascader" clearable style="width: 280px;"
v-model.trim="formData.district" :options="orgOptions" :props="orgOptionProps"
@change="handleChangeAgency"></el-cascader>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="活动名额" prop="points" required> <el-form-item label="活动名额" prop="points" required>
<div style="display: flex; justify-items:center; align-items: center;"> <div style="display: flex; justify-items:center; align-items: center;">
@ -27,15 +56,16 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="活动标题" prop="title" required> <el-form-item label="服务时长" prop="serviceTime" required>
<el-input placeholder="请输入活动标题" v-model="formData.title" style="width: 280px; " <div style="display: flex; justify-items:center; align-items: center;" >
> <el-input-number v-model.trim="formData.serviceTime" :min="1"
</el-input> label="描述文字" type="number"></el-input-number>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="活动积分" prop="integral" > <el-form-item label="活动积分" prop="integral">
<el-input-number v-model="formData.points" :min="1" label="描述文字"></el-input-number> <el-input-number v-model="formData.points" :min="0" label="描述文字" :step="0.1" :precision="1" ></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -48,13 +78,13 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label=" 联系人" prop="linkman" required > <el-form-item label=" 联系人" prop="linkman" required>
<el-input v-model="formData.linkman" placeholder="请输入" style="width: 280px;"></el-input> <el-input v-model="formData.linkman" placeholder="请输入" style="width: 280px;"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label=" 联系电话" prop="linkMobile" required> <el-form-item label=" 联系电话" prop="linkMobile" required>
<el-input v-model="formData.linkMobile" placeholder="请输入"style="width: 280px;"></el-input> <el-input v-model="formData.linkMobile" placeholder="请输入" style="width: 280px;"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -103,9 +133,6 @@
<el-input-number v-model="formData.points" :min="1" :max="10" label="描述文字"></el-input-number> <el-input-number v-model="formData.points" :min="1" :max="10" label="描述文字"></el-input-number>
</el-form-item> </el-form-item>
</el-col> --> </el-col> -->
<el-col :span="24"> <el-col :span="24">
<el-form-item label="活动详情" prop="content" style="display: block" required> <el-form-item label="活动详情" prop="content" style="display: block" required>
<div style="width: 756px;"> <div style="width: 756px;">
@ -115,13 +142,13 @@
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="报名条件" prop="conditions"> <el-form-item label="报名条件" prop="conditions">
<el-input type="textarea" placeholder="请输入活动标题,不超过50子" :height="150" v-model="formData.conditions" maxlength="200" <el-input type="textarea" placeholder="请输入活动标题,不超过50子" :height="150" v-model="formData.conditions"
show-word-limit style="width: 756px;"> maxlength="200" show-word-limit style="width: 756px;">
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="活动地点" prop="searchValue" > <el-form-item label="活动地点" prop="searchValue">
<div style="width: 300px"> <div style="width: 300px">
<el-select v-model.trim="searchValue" filterable style="width: 300px" remote :reserve-keyword="true" <el-select v-model.trim="searchValue" filterable style="width: 300px" remote :reserve-keyword="true"
placeholder="请输入关键词" :remote-method="remoteMethod" :loading="loading"> placeholder="请输入关键词" :remote-method="remoteMethod" :loading="loading">
@ -192,13 +219,6 @@
<!-- <el-form-item label="所属项目" prop="typeId" required>
<el-select class="item_width_1" v-model.trim="formData.typeId" placeholder="请选择" clearable>
<el-option v-for="item in typeList" :key="item.nametypeName" :label="item.typeName"
:value="item.id">
</el-option>
</el-select>
</el-form-item> -->
@ -247,6 +267,7 @@ export default {
multiple: false, multiple: false,
checkStrictly: true checkStrictly: true
}, },
orgTypeFilter:[],
customerId: localStorage.getItem('customerId'), customerId: localStorage.getItem('customerId'),
uploadUrl: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadqrcodeV2', uploadUrl: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadqrcodeV2',
orgOptions:[], orgOptions:[],
@ -254,30 +275,33 @@ export default {
btnDisable: false, btnDisable: false,
searchValue:"", searchValue:"",
formData: { formData: {
title:"", district:"",
agencyId:"", serviceLevel:'',
projectId:"", serviceTime: "",
content:"", title: "",
points:'', agencyId: "",
imgs:"", projectId: "",
deadline:"", content: "",
strTime:"", points: '',
endTime:"", imgs: "",
signInTime:"", deadline: "",
signOutTime:"", strTime: "",
quota:'', endTime: "",
conditions:"", signInTime: "",
notQuota:1, signOutTime: "",
linkman:"", quota: '',
linkMobile:"", conditions: "",
address:"", notQuota: 1,
linkman: "",
linkMobile: "",
address: "",
longitude: this.$store.state.user.longitude, // longitude: this.$store.state.user.longitude, //
latitude: this.$store.state.user.latitude,// latitude: this.$store.state.user.latitude,//
type:"", type: "",
online:0, online: 0,
sponsors:[{ sponsors: [{
name:"", name: "",
phone:"" phone: ""
} }
] ]
@ -294,6 +318,21 @@ export default {
name:"线下活动" name:"线下活动"
} }
], ],
serviceLevelList:[
{
id:0,
name:"市区级"
},
{
id:1,
name:"街道级"
},
{
id:2,
name:"社区级"
}
],
fileList: [], fileList: [],
uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadvariedfile', uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadvariedfile',
tableDate:{}, tableDate:{},
@ -321,10 +360,15 @@ export default {
deadline: [ deadline: [
{ required: true, message: '活动报名时间不能为空', trigger: 'blur' }, { required: true, message: '活动报名时间不能为空', trigger: 'blur' },
], ],
serviceTime: [
{ required: true, message: '服务时长不能为空', trigger: 'blur' },
],
} }
} }
}, },
watch: { watch: {
'checked'(newValue) { 'checked'(newValue) {
console.log(newValue,'newvalue'); console.log(newValue,'newvalue');
// notQuota '0' quota // notQuota '0' quota

58
src/views/modules/volunteer/activityArchive/index.vue

@ -12,12 +12,12 @@
value-format="yyyy-MM-dd HH:mm:ss"> value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker> </el-date-picker>
<span style="margin: 0 10px"></span> <span style="margin: 0 10px"></span>
<el-date-picker v-model="formData.endTime" type="datetime" placeholder="结束时间"format="yyyy-MM-dd HH:mm:ss" <el-date-picker v-model="formData.endTime" type="datetime" placeholder="结束时间" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss"> value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="发布状态"> <el-form-item label="发布状态">
<el-select v-model="formData.online" placeholder="请选择" clearable > <el-select v-model="formData.online" placeholder="请选择" clearable>
<el-option v-for="item in formData.optionsStatus" :key="item.value" :label="item.label" <el-option v-for="item in formData.optionsStatus" :key="item.value" :label="item.label"
:value="item.value"> :value="item.value">
</el-option> </el-option>
@ -40,21 +40,26 @@
<el-table-column label="序号" header-align="center" align="center" type="index" width="80"></el-table-column> <el-table-column label="序号" header-align="center" align="center" type="index" width="80"></el-table-column>
<el-table-column prop="title" header-align="center" align="center" label="活动标题" :show-overflow-tooltip="true"> <el-table-column prop="title" header-align="center" align="center" label="活动标题" :show-overflow-tooltip="true">
</el-table-column> </el-table-column>
<el-table-column prop="address" header-align="center" align="center" label="活动地点" :show-overflow-tooltip="true"></el-table-column> <el-table-column prop="address" header-align="center" align="center" label="活动地点"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column prop="strTime" header-align="center" align="center" label="活动时间" :show-overflow-tooltip="true"> <el-table-column prop="strTime" header-align="center" align="center" label="活动时间" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{ scope.row.strTime }}{{ scope.row.endTime }}</span> <span>{{ scope.row.strTime }}{{ scope.row.endTime }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="deadline" header-align="center" align="center" label="报名截止时间" :show-overflow-tooltip="true"> <el-table-column prop="deadline" header-align="center" align="center" label="报名截止时间"
:show-overflow-tooltip="true">
</el-table-column> </el-table-column>
<el-table-column prop="agencyName" header-align="center" align="center" label="主办方" :show-overflow-tooltip="true"> <el-table-column prop="agencyName" header-align="center" align="center" label="主办方"
:show-overflow-tooltip="true">
</el-table-column> </el-table-column>
<el-table-column prop="updatedTime" header-align="center" align="center" label="发布时间" :show-overflow-tooltip="true"> <el-table-column prop="updatedTime" header-align="center" align="center" label="发布时间"
:show-overflow-tooltip="true">
</el-table-column> </el-table-column>
<el-table-column prop="statusType" header-align="center" align="center" label="状态" :show-overflow-tooltip="true"> <el-table-column prop="statusType" header-align="center" align="center" label="状态"
:show-overflow-tooltip="true">
<!-- <template slot-scope="scope"> <!-- <template slot-scope="scope">
<span>{{ scope.row.online === 0 ? '下线' : '上线' }}</span> <span>{{ scope.row.online === 0 ? '下线' : '上线' }}</span>
</template> --> </template> -->
@ -62,14 +67,22 @@
<el-table-column prop="Points" header-align="center" align="center" label="来源" :show-overflow-tooltip="true"> <el-table-column prop="Points" header-align="center" align="center" label="来源" :show-overflow-tooltip="true">
管理端 管理端
</el-table-column> </el-table-column>
<el-table-column prop="Points" header-align="center" align="center" label="审核状态" :show-overflow-tooltip="true">
管理端
</el-table-column>
<!-- <el-table-column prop="ActivityCount" header-align="center" align="center" label="所属项目"> <!-- <el-table-column prop="ActivityCount" header-align="center" align="center" label="所属项目">
</el-table-column> --> </el-table-column> -->
<el-table-column label="操作" fixed="right" width="250" header-align="center" align="center" class="operate" :show-overflow-tooltip="true"> <el-table-column label="操作" fixed="right" width="250" header-align="center" align="center" class="operate"
:show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" v-if="scope.row.statusType=='未发布'" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row)">修改</el-button> <el-button type="text" v-if="scope.row.statusType=='未发布'" style="color:#1C6AFD;" size="small"
@click="handleDetail(scope.row)">修改</el-button>
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleselect(scope.row)">查看</el-button> <el-button type="text" style="color:#1C6AFD;" size="small" @click="handleselect(scope.row)">查看</el-button>
<el-button v-if="scope.row.online === 1 &&scope.row.statusType!='进行中'&&scope.row.statusType!='进行中'" type="text" style="color:#1C6AFD;" size="small" @click="handleupOnline(scope.row)">下线</el-button> <el-button type="text" style="color:#1C6AFD;" size="small" @click="handleprocessl(scope.row)">审核</el-button>
<el-button v-if="scope.row.online === 0 &&scope.row.statusType!='进行中'" type="text" style="color:#1C6AFD;" size="small" @click="handleupOnline(scope.row)">上线</el-button> <el-button v-if="scope.row.online === 1 &&scope.row.statusType!='进行中'&&scope.row.statusType!='进行中'"
type="text" style="color:#1C6AFD;" size="small" @click="handleupOnline(scope.row)">下线</el-button>
<el-button v-if="scope.row.online === 0 &&scope.row.statusType!='进行中'" type="text" style="color:#1C6AFD;"
size="small" @click="handleupOnline(scope.row)">上线</el-button>
<!-- <el-button type="text" style="color:#1C6AFD;" size="small" @click="handleintegral(scope.row)">更多</el-button> --> <!-- <el-button type="text" style="color:#1C6AFD;" size="small" @click="handleintegral(scope.row)">更多</el-button> -->
<el-dropdown trigger="click" style="margin-left: 10px" <el-dropdown trigger="click" style="margin-left: 10px"
@command="(command) => handelRegister(command, scope.row)"> @command="(command) => handelRegister(command, scope.row)">
@ -95,7 +108,7 @@
<add :list="fmData" @AddClose="AddClose" /> <add :list="fmData" @AddClose="AddClose" />
</el-dialog> </el-dialog>
<el-dialog :visible.sync="showselect" :close-on-click-modal="false" :close-on-press-escape="false" title="修改" <el-dialog :visible.sync="showselect" :close-on-click-modal="false" :close-on-press-escape="false" title="修改"
width="1000px" top="10vh" class="dialog-h" @closed="updateClose" v-if="showselect" > width="1000px" top="10vh" class="dialog-h" @closed="updateClose" v-if="showselect">
<selecthande :list="fmData" @updateClose="updateClose" /> <selecthande :list="fmData" @updateClose="updateClose" />
</el-dialog> </el-dialog>
<el-dialog :visible.sync="showdeltail" :close-on-click-modal="false" :close-on-press-escape="false" title="查看" <el-dialog :visible.sync="showdeltail" :close-on-click-modal="false" :close-on-press-escape="false" title="查看"
@ -110,6 +123,10 @@
title="报名管理" width="750" top="10vh" class="dialog-h" @closed="diaClose"> title="报名管理" width="750" top="10vh" class="dialog-h" @closed="diaClose">
<ActivityCountshow v-if="ActivityCountshow" :list="fmData" /> <ActivityCountshow v-if="ActivityCountshow" :list="fmData" />
</el-dialog> </el-dialog>
<el-dialog :visible.sync="showprocess" :close-on-click-modal="false" :close-on-press-escape="false" title="审核"
width="500px" top="10vh" class="dialog-h" @closed="handleprocesslClose">
<process v-if="showprocess" @handleprocesslClose="handleprocesslClose" :VolunteerList="EditList"/>
</el-dialog>
</div> </div>
</div> </div>
@ -127,9 +144,10 @@
import Points from "./Points.vue" import Points from "./Points.vue"
import selecthande from "./select.vue" import selecthande from "./select.vue"
import realselect from "./realselect.vue" import realselect from "./realselect.vue"
import process from "./process.vue"
export default { export default {
components: {add,ActivityCountshow,Points,realselect,selecthande }, components: {add,ActivityCountshow,Points,realselect,selecthande,process},
data() { data() {
return { return {
@ -164,6 +182,7 @@
], ],
Record: false, Record: false,
fmData: [], fmData: [],
showprocess:false,
}; };
}, },
@ -183,6 +202,17 @@
}, },
methods: { methods: {
//
handleprocessl(row){
this.showprocess=true
this.EditList=row
console.log(row,this.fmData,"row");
},
//
handleprocesslClose(){
this.showprocess=false
},
// //
// AddClose(){ // AddClose(){
// this.Record=false // this.Record=false
@ -232,7 +262,7 @@
endTime:this.formData.endTime, endTime:this.formData.endTime,
online:this.formData.online online:this.formData.online
} }
requestGet(url, params).then((res) => { requestPost(url, params).then((res) => {
if (res.code == 0) { if (res.code == 0) {
this.total = res.data.total || 0; this.total = res.data.total || 0;
this.tableData = res.data.list; this.tableData = res.data.list;

100
src/views/modules/volunteer/activityArchive/process.vue

@ -0,0 +1,100 @@
<template>
<div>
<div style="display: flex;white-space: nowrap; padding: 30px 0 0 0 ;" >
<el-form style="padding-left: 50px;" :label-position="labelPosition" :model="tableData">
<el-form-item label="审核">
<div style="display: flex; justify-items:center; align-items: center;">
<el-radio v-model="radio" label="1" style="margin-right:20px">通过</el-radio>
<div class="flex flex-x flex-center2">
<el-radio v-model="radio" label="2" style="margin-right: 10px;">不通过</el-radio>
<el-input v-if="radio == '2'" type="number" v-model="stockQty" style="width: 200px;"
placeholder="请说明原因"></el-input>
</div>
</div>
</el-form-item>
</el-form>
</div>
<div class="div_btn">
<el-button size="small" @click="handleCancle"> </el-button>
<el-button size="small" v-if="formType != 'detail'" type="primary" :disabled="btnDisable"
@click="handleComfirm"> </el-button>
</div>
</div>
</template>
<script>
import { requestPost,requestGet } from "@/js/dai/request";
export default {
name: "see",
data() {
return {
radio:'1',
stockQty:"",
labelPosition: 'right',
tableData: [],
awardId:""
};
},
props:{
VolunteerList:{
type: Object,
default: () => {}
}
},
created() {
console.log(this.VolunteerList,"list");
this.tableData=this.VolunteerList
// this.awardId=this.list.id
// this.getTableData()
},
methods: {
//
handleCancle(){
this.$emit('handleprocesslClose')
},
//
handleComfirm(){
this.$emit('handleprocesslClose')
},
getTableData() {
console.log(this.formData);
const url = "/voluntary/pointsAward/admin/detail";
let params = {
id:this.awardId
}
requestGet(url, params).then((res) =>{
console.log(res,"res");
if(res.code===0){
console.log("列表请求成功!!!!!!!!!!!!!!");
console.log(res.data, "data");
this.tableData = res.data
console.log(this.tableData, "this.tableData");
}
})
// const { data, code, msg } = requestGet(url, params)
// console.log(data,"data");
// if (code === 0) {
// console.log("");
// console.log(data,"data");
// this.tableData = data
// console.log(this.tableData,"this.tableData");
// } else {
// }
},
},
}
</script>
<style lang="scss" scoped>
@import "@/assets/scss/modules/visual/communityManageForm.scss";
</style>

127
src/views/modules/volunteer/activityArchive/select.vue

@ -10,6 +10,16 @@
@change="handleChangeAgency"></el-cascader> @change="handleChangeAgency"></el-cascader>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="所属项目" prop="typeId" >
<el-select class="item_width_1" v-model.trim="formData.typeId" placeholder="请选择" clearable style="width: 280px">
<el-option v-for="item in typeList" :key="item.nametypeName" :label="item.typeName"
:value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12"> <el-form-item label="活动类型" prop="type" required> <el-col :span="12"> <el-form-item label="活动类型" prop="type" required>
<el-select v-model.trim="formData.type" placeholder="请选择" clearable style="width: 280px"> <el-select v-model.trim="formData.type" placeholder="请选择" clearable style="width: 280px">
<el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id"> <el-option v-for="item in typeList" :key="item.id" :label="item.name" :value="item.id">
@ -17,6 +27,25 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="活动标题" prop="title" required>
<el-input placeholder="请输入活动标题" v-model="formData.title" style="width: 280px; ">
</el-input>
</el-form-item>
</el-col>
<el-col :span="12"> <el-form-item label="活动级别" prop="serviceLevel" >
<el-select v-model.trim="formData.serviceLevel" placeholder="请选择" clearable style="width: 280px">
<el-option v-for="item in serviceLevelList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12"> <el-form-item label="活动区域" prop="district" required>
<el-cascader class="list_item_width_1" ref="myCascader" clearable style="width: 280px;"
v-model.trim="formData.district" :options="orgOptions" :props="orgOptionProps"
@change="handleChangeAgency"></el-cascader>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="活动名额" prop="points" required> <el-form-item label="活动名额" prop="points" required>
<div style="display: flex; justify-items:center; align-items: center;"> <div style="display: flex; justify-items:center; align-items: center;">
@ -27,15 +56,16 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="活动标题" prop="title" required> <el-form-item label="服务时长" prop="serviceTime" required>
<el-input placeholder="请输入活动标题" v-model="formData.title" style="width: 280px; " <div style="display: flex; justify-items:center; align-items: center;" >
> <el-input-number v-model.trim="formData.serviceTime" :min="1"
</el-input> label="描述文字" type="number"></el-input-number>
</div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="活动积分" prop="integral" > <el-form-item label="活动积分" prop="integral">
<el-input-number v-model="formData.points" :min="1" label="描述文字"></el-input-number> <el-input-number v-model="formData.points" :min="0" label="描述文字" :step="0.1" :precision="1" ></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -47,15 +77,36 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label=" 联系人" prop="linkman" required>
<el-input v-model="formData.linkman" placeholder="请输入" style="width: 280px;"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label=" 联系电话" prop="linkMobile" required>
<el-input v-model="formData.linkMobile" placeholder="请输入" style="width: 280px;"></el-input>
</el-form-item>
</el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="活动时间" prop="strTime" required> <el-form-item label="活动时间" prop="strTime" required>
<!-- <el-date-picker
v-model="value1"
type="datetimerange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</div> -->
<el-date-picker v-model="formData.strTime" type="datetime" placeholder="开始时间" format="yyyy-MM-dd HH:mm:ss" <el-date-picker v-model="formData.strTime" type="datetime" placeholder="开始时间" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss" style="width:195px"> value-format="yyyy-MM-dd HH:mm:ss" style="width:195px">
</el-date-picker> <span style="margin: 0 10px"></span> <el-date-picker v-model="formData.endTime" </el-date-picker> <span style="margin: 0 10px"></span> <el-date-picker v-model="formData.endTime"
type="datetime" placeholder="结束时间" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="结束时间" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
style="width:195px" @change="actcontrolTime"> style="width:195px" @change="actcontrolTime">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
@ -82,9 +133,6 @@
<el-input-number v-model="formData.points" :min="1" :max="10" label="描述文字"></el-input-number> <el-input-number v-model="formData.points" :min="1" :max="10" label="描述文字"></el-input-number>
</el-form-item> </el-form-item>
</el-col> --> </el-col> -->
<el-col :span="24"> <el-col :span="24">
<el-form-item label="活动详情" prop="content" style="display: block" required> <el-form-item label="活动详情" prop="content" style="display: block" required>
<div style="width: 756px;"> <div style="width: 756px;">
@ -93,14 +141,14 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="报名条件" prop="conditions" > <el-form-item label="报名条件" prop="conditions">
<el-input type="textarea" placeholder="请输入活动标题,不超过50子" v-model="formData.conditions" maxlength="200" <el-input type="textarea" placeholder="请输入活动标题,不超过50子" :height="150" v-model="formData.conditions"
show-word-limit style="width: 756px;"> maxlength="200" show-word-limit style="width: 756px;">
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="活动地点" prop="searchValue" > <el-form-item label="活动地点" prop="searchValue">
<div style="width: 300px"> <div style="width: 300px">
<el-select v-model.trim="searchValue" filterable style="width: 300px" remote :reserve-keyword="true" <el-select v-model.trim="searchValue" filterable style="width: 300px" remote :reserve-keyword="true"
placeholder="请输入关键词" :remote-method="remoteMethod" :loading="loading"> placeholder="请输入关键词" :remote-method="remoteMethod" :loading="loading">
@ -137,8 +185,8 @@
<!-- <el-col :span="24"> --> <!-- <el-col :span="24"> -->
<!-- </el-col> --> <!-- </el-col> -->
</el-col>
<!-- <el-col :span="12"> --> <el-col :span="12">
<div v-if="formData.sponsors" style="display: flex;"> <div v-if="formData.sponsors" style="display: flex;">
<div style=""> <div style="">
<div v-for="(item, index) in formData.sponsors" :label="index" :key="item.name" :prop=index> <div v-for="(item, index) in formData.sponsors" :label="index" :key="item.name" :prop=index>
@ -155,37 +203,8 @@
</div> </div>
<i class="el-icon-circle-plus" @click="addDomain" style="font-size: 20px; margin-top:7px;"></i> <i class="el-icon-circle-plus" @click="addDomain" style="font-size: 20px; margin-top:7px;"></i>
</div> </div>
<!-- </el-col> -->
</el-col> </el-col>
</el-row> </el-row>
<!-- <el-form-item label="所属项目" prop="typeId" required>
<el-select class="item_width_1" v-model.trim="formData.typeId" placeholder="请选择" clearable>
<el-option v-for="item in typeList" :key="item.nametypeName" :label="item.typeName"
:value="item.id">
</el-option>
</el-select>
</el-form-item> -->
</el-form> </el-form>
<!-- <i class="el-icon-circle-plus" @click="addDomain" style="font-size: 20px;"></i> --> <!-- <i class="el-icon-circle-plus" @click="addDomain" style="font-size: 20px;"></i> -->
@ -258,15 +277,30 @@ export default {
] ]
}, },
//
serviceLevelList:[
{
id:0,
name:"市区级"
},
{
id:1,
name:"街道级"
},
{
id:2,
name:"社区级"
}
],
activityImgs:[],// activityImgs:[],//
typeList:[ typeList:[
{ {
id:"1", id:1,
name:"线上活动" name:"线上活动"
}, },
{ {
id:"2", id:2,
name:"线下活动" name:"线下活动"
} }
], ],
@ -327,6 +361,7 @@ export default {
}, },
methods: { methods: {
// //
removeDomain(item) { removeDomain(item) {
if (item.id) { if (item.id) {

136
src/views/modules/volunteer/pointsRedemption/add.vue

@ -17,6 +17,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="发布范围" label-width="150px" required> <el-form-item label="发布范围" label-width="150px" required>
<el-cascader class="list_item_width_1" ref="myCascader" clearable size="small" style="width:300px ;" <el-cascader class="list_item_width_1" ref="myCascader" clearable size="small" style="width:300px ;"
@ -36,7 +37,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="联系电话" label-width="150px" prop="sponsorMobile"> <el-form-item label="联系电话" label-width="150px" prop="sponsorMobile">
<el-input style="width:300px ;" v-model="formData.sponsorMobile" placeholder="请输入" ></el-input> <el-input style="width:300px ;" v-model="formData.sponsorMobile" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
@ -51,31 +52,50 @@
</div> </div>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
<el-form-item label="可兑换次数" label-width="150px">
<div style="width:195px;height: 40px;" class="flex flex-x flex-center2">
<el-radio v-model="radio" label="1" style="margin-right:20px">不限数目</el-radio>
<div class="flex flex-x flex-center2">
<el-radio v-model="radio" label="2" style="margin-right: 10px;">自定义</el-radio>
<el-input v-if="radio == '2'" type="number" v-model="formData.stockQty" style="width: 125px;"
placeholder="请输入数量"></el-input>
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="有效期至" label-width="150px"> <el-form-item label="有效期至" label-width="150px">
<el-date-picker style="width:300px ;" v-model="formData.expireTime" type="datetime" placeholder="请选择日期" <el-date-picker style="width:300px ;" v-model="formData.expireTime" type="datetime"
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"> placeholder="请选择日期" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12">
</el-row> <el-form-item label="星级专属" required label-width="150px">
<el-select class="item_width_1" v-model="formData.rating" placeholder="请选择">
<el-form-item v-if="formData.classKey=='mjq' ||formData.classKey=='cxdjq'" required label="金额" <el-option v-for="item in starList" :key="item.id" :label="item.name" :value="item.id">
label-width="150px"> </el-option>
<div class="item_width_2" style="display: flex;"> </el-select>
<div></div> </el-form-item>
<el-input v-model="formData.worthAmount" placeholder="请输入金额"></el-input> </el-col>
</div> <el-col :span="12">
<el-form-item label="级别" required label-width="150px">
<el-select class="item_width_1" v-model="formData.level" placeholder="请选择">
<el-option v-for="item in serviceLevelList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item :inline="true" required v-if="formData.classKey=='zkq'" label="折扣" label-width="150px"> </el-col>
<el-form-item :inline="true" required v-if="formData.classKey == 'zkq'" label="折扣" label-width="150px">
<div class="item_width_2" style="display: flex;"> <div class="item_width_2" style="display: flex;">
<el-input v-model="formData.worthAmount" placeholder="请输入折扣"></el-input> <el-input v-model="formData.worthAmount" placeholder="请输入折扣"></el-input>
<div> </div> <div> </div>
</div> </div>
</el-form-item> </el-form-item>
<el-form-item required v-if="formData.classKey=='hwjh'" label="原价" label-width="150px"> <el-form-item required v-if="formData.classKey == 'hwjh'" label="原价" label-width="150px">
<div style="display: flex;"> <div style="display: flex;">
<div></div> <div></div>
<el-input v-model="formData.worthAmount" placeholder="请输入内容"></el-input> <el-input v-model="formData.worthAmount" placeholder="请输入内容"></el-input>
@ -89,11 +109,12 @@
</el-form-item> </el-form-item>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="上架" label-width="150px" inline="false"> <el-form-item label="上架" label-width="150px" inline="false">
<el-switch v-model="formData.shelveStatus" active-color="#13ce66" inactive-color="" <el-switch v-model="formData.shelveStatus" active-color="#13ce66" inactive-color="" active-value="1"
active-value="1" inactive-value="0"> inactive-value="0">
</el-switch> </el-switch>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
</el-form> </el-form>
<div class="flex flex-center1 flex-center2"> <div class="flex flex-center1 flex-center2">
<el-button type="primary" @click="submitForm()">提交</el-button> <el-button type="primary" @click="submitForm()">提交</el-button>
@ -102,7 +123,7 @@
</div> </div>
</template> </template>
<script> <script>
import { requestPost,requestGet } from "@/js/dai/request"; import { requestPost, requestGet } from "@/js/dai/request";
import Tinymce from '@c/tinymce2/index.vue' import Tinymce from '@c/tinymce2/index.vue'
export default { export default {
components: { components: {
@ -112,7 +133,53 @@ export default {
data() { data() {
return { return {
formData:{ serviceLevelList: [
{
id: 0,
name: "市区级"
},
{
id: 1,
name: "街道级"
},
{
id: 2,
name: "社区级"
},
{
id: 3,
name: "市场运营"
}
],
starList: [
{
id: 0,
name: "一星"
},
{
id: 1,
name: "二星"
},
{
id: 2,
name: "三星"
},
{
id: 3,
name: "四星"
},
{
id: 3,
name: "五星"
}
],
formData: {
level:'',
rating:'',
serviceLevel: "",
classKey: "", classKey: "",
awardName: "", awardName: "",
worthAmount: "", worthAmount: "",
@ -134,11 +201,11 @@ export default {
checkStrictly: true checkStrictly: true
}, },
labelPosition: 'right', labelPosition: 'right',
TypeList:[ TypeList: [
], ],
radio:'1', radio: '1',
orgOptions:[], orgOptions: [],
rules: { rules: {
sponsorMobile: [ sponsorMobile: [
{ required: false, message: '联系电话不能为空', trigger: 'blur' }, { required: false, message: '联系电话不能为空', trigger: 'blur' },
@ -165,7 +232,7 @@ export default {
} else { } else {
this.orgOptions = []; this.orgOptions = [];
this.orgOptions.push(res.data); this.orgOptions.push(res.data);
console.log(this.orgOptions,"this.orgOptions"); console.log(this.orgOptions, "this.orgOptions");
} }
}) })
@ -173,9 +240,9 @@ export default {
return this.$message.error("网络错误"); return this.$message.error("网络错误");
}); });
}, },
handleChangeAgency(val){ handleChangeAgency(val) {
console.log(val); console.log(val);
this.redeemerOrgId=val this.redeemerOrgId = val
}, },
// //
@ -187,19 +254,19 @@ export default {
const { data, code, msg } = await requestGet(url, params) const { data, code, msg } = await requestGet(url, params)
if (code === 0) { if (code === 0) {
console.log("列表请求成功!!!!!!!!!!!!!!"); console.log("列表请求成功!!!!!!!!!!!!!!");
this.TypeList=data this.TypeList = data
} else { } else {
this.$message.error(msg || "列表请求失败"); this.$message.error(msg || "列表请求失败");
} }
}, },
handlecancel(){ handlecancel() {
this.formData={} this.formData = {}
console.log(this.formData,"formData"); console.log(this.formData, "formData");
this.$emit('closeDialog') this.$emit('closeDialog')
}, },
// //
async submitForm(){ async submitForm() {
if (this.formData.classKey == '') { if (this.formData.classKey == '') {
this.$message.error('请选择分类'); this.$message.error('请选择分类');
return; return;
@ -237,17 +304,20 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "@/assets/scss/modules/management/volunteet.scss"; @import "@/assets/scss/modules/management/volunteet.scss";
.g-main{
.g-main {
padding: 30px; padding: 30px;
} }
.item_width_1 {
.item_width_1 {
width: 300px; width: 300px;
/deep/.tox .tox-dialog { /deep/.tox .tox-dialog {
z-index: 20000; z-index: 20000;
} }
} }
.item_width_2 { .item_width_2 {
width: 150px; width: 150px;

46
src/views/modules/volunteer/pointsRedemption/index.vue

@ -15,20 +15,20 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="上架时间" > <el-form-item label="上架时间">
<el-date-picker <el-date-picker v-model="formData.shelveOnTimeFrom" type="datetime" placeholder="开始时间"
v-model="formData.shelveOnTimeFrom" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss">
type="datetime" </el-date-picker><span style="margin: 0 10px"></span><el-date-picker v-model="formData.shelveOnTimeTo"
placeholder="开始时间" format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="结束时间" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss">
value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker><span style="margin: 0 10px"></span><el-date-picker
v-model="formData.shelveOnTimeTo"
type="datetime"
placeholder="结束时间" format="yyyy-MM-dd HH:mm:ss"
value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="星级专属">
<el-select v-model="formData.classKey" placeholder="请选择" clearable>
<el-option v-for="item in formData.optionsStatus" :key="item.classKey" :label="item.className"
:value="item.classKey">
</el-option>
</el-select>
</el-form-item>
</div> </div>
<div class="block"> <div class="block">
<div style="display: flex; justify-content: flex-end;"> <div style="display: flex; justify-content: flex-end;">
@ -53,7 +53,8 @@
</el-table-column> </el-table-column>
<el-table-column prop="awardName" header-align="center" align="center" label="标题"> <el-table-column prop="awardName" header-align="center" align="center" label="标题">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button style="width: 100%" type="text" @click="handleSelect(scope.row)">{{scope.row.awardName}}</el-button> <el-button style="width: 100%" type="text"
@click="handleSelect(scope.row)">{{scope.row.awardName}}</el-button>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="shelveStatus" header-align="center" align="center" label="状态"> <el-table-column prop="shelveStatus" header-align="center" align="center" label="状态">
@ -61,8 +62,8 @@
<span>{{ scope.row.shelveStatus === 0 ? '下架' : '上架' }}</span> <span>{{ scope.row.shelveStatus === 0 ? '下架' : '上架' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="shelveOnTime" header-align="center" align="center" label="上架时间" format="yyyy-MM-dd HH:mm:ss" <el-table-column prop="shelveOnTime" header-align="center" align="center" label="上架时间"
value-format="yyyy-MM-dd HH:mm:ss"> format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss">
</el-table-column> </el-table-column>
<!-- <el-table-column prop="IDNumber" header-align="center" align="center" label="发布时间"> <!-- <el-table-column prop="IDNumber" header-align="center" align="center" label="发布时间">
</el-table-column> </el-table-column>
@ -74,9 +75,12 @@
</el-table-column> --> </el-table-column> -->
<el-table-column label="操作" fixed="right" width="250" header-align="center" align="center" class="operate"> <el-table-column label="操作" fixed="right" width="250" header-align="center" align="center" class="operate">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.shelveStatus === 0" type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row)">修改</el-button> <el-button v-if="scope.row.shelveStatus === 0" type="text" style="color:#1C6AFD;" size="small"
<el-button v-if="scope.row.shelveStatus === 0" type="text" style="color:#1C6AFD;" size="small" @click="handleonline(scope.row)">上架</el-button> @click="handleDetail(scope.row)">修改</el-button>
<el-button v-if="scope.row.shelveStatus === 1" type="text" style="color:#1C6AFD;" size="small" @click="handleuponline(scope.row)">下架</el-button> <el-button v-if="scope.row.shelveStatus === 0" type="text" style="color:#1C6AFD;" size="small"
@click="handleonline(scope.row)">上架</el-button>
<el-button v-if="scope.row.shelveStatus === 1" type="text" style="color:#1C6AFD;" size="small"
@click="handleuponline(scope.row)">下架</el-button>
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDel(scope.row)">删除</el-button> <el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDel(scope.row)">删除</el-button>
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleEdit(scope.row)">兑换记录</el-button> <el-button type="text" style="color:#1C6AFD;" size="small" @click="handleEdit(scope.row)">兑换记录</el-button>
</template> </template>
@ -89,11 +93,11 @@
</div> </div>
<el-dialog :visible.sync="add" :close-on-click-modal="false" :close-on-press-escape="false" title="新增" <el-dialog :visible.sync="add" :close-on-click-modal="false" :close-on-press-escape="false" title="新增"
width="1000px" top="10vh" class="dialog-h" @closed="closeDialog"> width="1000px" top="10vh" class="dialog-h" @closed="closeDialog">
<add v-if="add" :list="fmData" @closeDialog="closeDialog"/> <add v-if="add" :list="fmData" @closeDialog="closeDialog" />
</el-dialog> </el-dialog>
<el-dialog :visible.sync="updateshow" :close-on-click-modal="false" :close-on-press-escape="false" title="修改" <el-dialog :visible.sync="updateshow" :close-on-click-modal="false" :close-on-press-escape="false" title="修改"
width="1000px" top="10vh" class="dialog-h" @closed="closeupdate"> width="1000px" top="10vh" class="dialog-h" @closed="closeupdate">
<update v-if="updateshow" :list="fmData" @closeupdate="closeupdate"/> <update v-if="updateshow" :list="fmData" @closeupdate="closeupdate" />
</el-dialog> </el-dialog>
<el-dialog :visible.sync="recordshow" :close-on-click-modal="false" :close-on-press-escape="false" title="兑换记录" <el-dialog :visible.sync="recordshow" :close-on-click-modal="false" :close-on-press-escape="false" title="兑换记录"
width="1000px" top="10vh" class="dialog-h" @closed="diaClose"> width="1000px" top="10vh" class="dialog-h" @closed="diaClose">
@ -106,7 +110,7 @@
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import record from "./record" import record from "./record"

196
src/views/modules/volunteer/pointsRedemption/update.vue

@ -1,75 +1,120 @@
<template> <template>
<div class="g-main"> <div class="g-main">
<el-form :inline="true" :label-position="labelPosition" :model="formData" :rules="rules" <el-form :inline="true" :label-position="labelPosition" :model="formData" :rules="rules"
style="height: 500px; overflow: scroll;"> style="overflow: scroll;">
<el-row>
<el-col :span="12">
<el-form-item label="标题" label-width="150px" required>
<el-input class="item_width_1" v-model="formData.awardName" placeholder="请输入内容"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="分类" required label-width="150px"> <el-form-item label="分类" required label-width="150px">
<el-select class="item_width_1" v-model="formData.classKey" placeholder="请选择"> <el-select class="item_width_1" v-model="formData.classKey" placeholder="请选择">
<el-option v-for="item in TypeList" :key="item.classKey" :label="item.className" :value="item.classKey"> <el-option v-for="item in TypeList" :key="item.classKey" :label="item.className"
:value="item.classKey">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="标题" label-width="150px" required> </el-col>
<el-input class="item_width_1" v-model="formData.awardName" placeholder="请输入内容"></el-input>
</el-form-item> <el-col :span="12">
<el-form-item v-if="formData.classKey=='mjq' ||formData.classKey=='cxdjq'" required label="金额" <el-form-item label="发布范围" label-width="150px" required>
label-width="150px"> <el-cascader class="list_item_width_1" ref="myCascader" clearable size="small" style="width:300px ;"
<div class="item_width_2" style="display: flex;"> v-model.trim="formData.redeemerOrgId" :options="orgOptions" :props="orgOptionProps"
<div></div> @change="handleChangeAgency"></el-cascader>
<el-input v-model="formData.worthAmount" placeholder="请输入金额"></el-input>
</div>
</el-form-item>
<el-form-item :inline="true" required v-if="formData.classKey=='zkq'" label="折扣" label-width="150px">
<div class="item_width_2" style="display: flex;">
<el-input v-model="formData.worthAmount" placeholder="请输入折扣"></el-input>
<div> </div>
</div>
</el-form-item>
<el-form-item required v-if="formData.classKey=='hwjh'" label="原价" label-width="150px">
<div style="display: flex;">
<div></div>
<el-input v-model="formData.worthAmount" placeholder="请输入内容"></el-input>
</div>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="12">
<el-form-item required label="兑换积分" label-width="150px"> <el-form-item required label="兑换积分" label-width="150px">
<el-input class="item_width_2" v-model="formData.points" placeholder="请输入"></el-input> <el-input style="width:300px ;" v-model="formData.points" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="有效期至" label-width="150px"> </el-col>
<el-date-picker style="width: 250px;" v-model="formData.expireTime" type="datetime" placeholder="请选择日期" <el-col :span="12">
format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"> <el-form-item label="赞助单位" label-width="150px">
</el-date-picker> <el-input v-model="formData.sponsorName" placeholder="请输入" style="width:300px ;"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="规则说明" label-width="150px"> </el-col>
<Tinymce style="width: 560px;" class="tinymce_view" v-model="formData.description" :height="250" <el-col :span="12">
placeholder="请输入活动内容" /> <el-form-item label="联系电话" label-width="150px" prop="sponsorMobile">
<el-input style="width:300px ;" v-model="formData.sponsorMobile" placeholder="请输入"></el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="库存" label-width="150px"> <el-form-item label="库存" label-width="150px">
<div style="width:195px;;"> <div style="width:195px;height: 40px;" class="flex flex-x flex-center2">
<el-radio v-model="radio" label="1" style="margin-right:20px">不限数目</el-radio> <el-radio v-model="radio" label="1" style="margin-right:20px">不限数目</el-radio>
<div class="flex flex-x flex-center2" > <div class="flex flex-x flex-center2">
<el-radio v-model="radio" label="2" style="margin-right: 10px;">自定义</el-radio> <el-radio v-model="radio" label="2" style="margin-right: 10px;">自定义</el-radio>
<el-input v-if="radio == '2'" type="number" v-model="formData.stockQty" placeholder="请输入数量"></el-input> <el-input v-if="radio == '2'" type="number" v-model="formData.stockQty" style="width: 125px;"
placeholder="请输入数量"></el-input>
</div> </div>
</div> </div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="可兑换次数" label-width="150px">
<div style="width:195px;height: 40px;" class="flex flex-x flex-center2">
<el-radio v-model="radio" label="1" style="margin-right:20px">不限数目</el-radio>
<div class="flex flex-x flex-center2">
<el-radio v-model="radio" label="2" style="margin-right: 10px;">自定义</el-radio>
<el-input v-if="radio == '2'" type="number" v-model="formData.stockQty" style="width: 125px;"
placeholder="请输入数量"></el-input>
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="有效期至" label-width="150px">
<el-date-picker style="width:300px ;" v-model="formData.expireTime" type="datetime"
placeholder="请选择日期" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="星级专属" required label-width="150px">
<el-select class="item_width_1" v-model="formData.rating" placeholder="请选择">
<el-option v-for="item in starList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="发布范围" label-width="150px" required> </el-col>
<el-cascader class="list_item_width_1" ref="myCascader" clearable size="small" style="width:210px ;" <el-col :span="12">
v-model.trim="formData.redeemerOrgId" :options="orgOptions" :props="orgOptionProps" <el-form-item label="级别" required label-width="150px">
@change="handleChangeAgency"></el-cascader> <el-select class="item_width_1" v-model="formData.level" placeholder="请选择">
<el-option v-for="item in serviceLevelList" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col>
<el-form-item label="赞助单位" label-width="150px" > <el-form-item :inline="true" required v-if="formData.classKey == 'zkq'" label="折扣" label-width="150px">
<el-input v-model="formData.sponsorName" placeholder="请输入"></el-input> <div class="item_width_2" style="display: flex;">
<el-input v-model="formData.worthAmount" placeholder="请输入折扣"></el-input>
<div> </div>
</div>
</el-form-item> </el-form-item>
<el-form-item label="联系电话" label-width="150px"prop="sponsorMobile" > <el-form-item required v-if="formData.classKey == 'hwjh'" label="原价" label-width="150px">
<el-input style="width: 210px;" v-model="formData.sponsorMobile" placeholder="请输入"></el-input> <div style="display: flex;">
<div></div>
<el-input v-model="formData.worthAmount" placeholder="请输入内容"></el-input>
</div>
</el-form-item>
<el-form-item label="规则说明" label-width="150px">
<Tinymce style="width: 763px;" class="tinymce_view" v-model="formData.description" :height="250"
placeholder="请输入活动内容" />
</el-form-item> </el-form-item>
<el-col :span="24">
<el-form-item label="上架" label-width="150px" inline="false"> <el-form-item label="上架" label-width="150px" inline="false">
<el-switch style="width: 500px;" v-model="formData.shelveStatus" active-color="#13ce66" inactive-color="" <el-switch v-model="formData.shelveStatus" active-color="#13ce66" inactive-color="" active-value="1"
active-value="1" inactive-value="0"> inactive-value="0">
</el-switch> </el-switch>
</el-form-item> </el-form-item>
</el-col>
</el-row>
</el-form> </el-form>
<div class="flex flex-center1 flex-center2"> <div class="flex flex-center1 flex-center2">
<el-button type="primary" @click="submitForm()">提交</el-button> <el-button type="primary" @click="submitForm()">提交</el-button>
@ -88,6 +133,49 @@
data() { data() {
return { return {
serviceLevelList: [
{
id: 0,
name: "市区级"
},
{
id: 1,
name: "街道级"
},
{
id: 2,
name: "社区级"
},
{
id: 3,
name: "市场运营"
}
],
starList: [
{
id: 0,
name: "一星"
},
{
id: 1,
name: "二星"
},
{
id: 2,
name: "三星"
},
{
id: 3,
name: "四星"
},
{
id: 3,
name: "五星"
}
],
formData:{ formData:{
classKey: "", classKey: "",
awardName: "", awardName: "",
@ -288,19 +376,25 @@
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import "@/assets/scss/modules/management/volunteet.scss"; @import "@/assets/scss/modules/management/volunteet.scss";
.item_width_1 {
width: 560px; .g-main {
padding: 30px;
}
.item_width_1 {
width: 300px;
/deep/.tox .tox-dialog { /deep/.tox .tox-dialog {
z-index: 20000; z-index: 20000;
} }
} }
.item_width_2 {
.item_width_2 {
width: 150px; width: 150px;
/deep/.tox .tox-dialog { /deep/.tox .tox-dialog {
z-index: 20000; z-index: 20000;
} }
} }
</style> </style>
Loading…
Cancel
Save