党员积分

This commit is contained in:
liuye
2022-06-21 10:03:47 +08:00
parent 607496f22e
commit 29dac41f38
7 changed files with 201 additions and 51 deletions

View File

@@ -4,7 +4,7 @@
<p><span>积分申请</span>通过民主程序将基层治理和服务各项事务转化为数量化指标对个人日常行为进行评价申请积分需管理员审核通过后系统自动发放积分</p>
</div>
<div class="list">
<div class="item">
<div class="item" @click="toAdd">
<div class="left">
<h2>积分申报</h2>
<p>08-31 13:45</p>
@@ -34,7 +34,9 @@ export default {
},
methods: {
toAdd() {
uni.navigateTo({url: `./add?id=1&name=111`})
}
}
};
</script>

View File

@@ -5,11 +5,11 @@
<div class="label">
<span class="tips">*</span>积分类型
</div>
<div class="value">请选择<u-icon name="arrow-right" color="#ddd" size="24" style="margin-left: 4px" ></u-icon></div>
<div class="value" @click="showTypeSelect=true">{{typeName}}<u-icon name="arrow-right" color="#ddd" size="24" style="margin-left: 4px" ></u-icon></div>
</div>
<div class="text-area">
<div class="title"><span class="tips">*</span>申请描述</div>
<u-input v-model="value" type="textarea" :height="200" placeholder="请输入描述信息" placeholder-style="font-size:20px;color:#999;"/>
<u-input v-model="value" type="textarea" :height="200" placeholder="请输入描述信息" placeholder-style="font-size:20px;color:#999;" maxlength="500" />
</div>
</div>
<div class="upload">
@@ -18,9 +18,10 @@
<AiUploader v-model="fileList" multiple placeholder="上传图片" :limit="9"></AiUploader>
</div>
</div>
<div class="footer">
<div class="footer" @click="confirmAdd">
<div class="btn">提交</div>
</div>
<u-select v-model="showTypeSelect" :list="typeList" @confirm="confirmType" value-name="id" label-name="name"></u-select>
</div>
</template>
<script>
@@ -35,14 +36,37 @@ export default {
data() {
return {
value: '',
fileList: []
fileList: [],
typeId: '',
typeName: '',
typeList: [{id: '1', name: '111'}, {id: '2', name: '222'}],
showTypeSelect: false
};
},
onLoad() {
onLoad(options) {
if(options.id) {
this.typeId = options.id
this.typeName = options.name
}
},
methods: {
confirmAdd() {
if(!this.value) {
this.$u.toast('请输入申请描述')
}
this.$instance.post(`/app/partyOrganization/queryPartyOrganizationListByName`).then((res) => {
if(res?.data) {
this.$u.toast('申请成功')
setTimeout(() => {
uni.navigateBack()
}, 500)
}
})
},
confirmType(e) {
this.typeId = e[0].value
this.typeName = e[0].label
}
}
};
</script>

View File

@@ -7,14 +7,14 @@
</div>
</div>
<div class="select-content">
<div class="select">全部类型<u-icon name="arrow-down" color="#333" size="24" style="margin-left: 4px" ></u-icon></div>
<div class="select" @click="showTypeSelect=true">{{typeId ? typeName : '全部类型'}}<u-icon name="arrow-down" color="#333" size="24" style="margin-left: 4px" ></u-icon></div>
<div class="search">
<u-search placeholder="请输入党组织" v-model="name" :show-action="false" @change="getList"></u-search>
<u-search placeholder="请输入党组织" v-model="name" :show-action="false" @search="getListInit" @clear="name='', getListInit()"></u-search>
</div>
</div>
</div>
<div class="list">
<div class="item">
<div class="item" @click="toDetail()">
<div class="top">
<p class="title">本人与2021年11月12日在紫荆医院接种第三针新冠疫苗本人与2021年11月12日在紫荆医院接种第三针新21年11月12日在紫荆医院接种第三针新</p>
<div class="flex">
@@ -27,6 +27,7 @@
</div>
</div>
</div>
<u-select v-model="showTypeSelect" :list="typeList" @confirm="confirmType" value-name="id" label-name="name"></u-select>
</div>
</template>
<script>
@@ -42,22 +43,51 @@ export default {
return {
tabList: ['全部', '待审核', '已审核'],
tabIndex: 0,
name: ''
name: '',
typeId: '',
typeName: '',
typeList: [{id: '1', name: '111'}, {id: '2', name: '222'}],
showTypeSelect: false,
current: 1,
pages: 2,
list: []
};
},
onLoad() {
},
methods: {
getListInit() {
this.current = 1
this.pages = 2
this.list = []
this.getList()
},
getList() {
if (this.current > this.pages) return;
// this.$instance.post(`/app/apppartyeducation/list?current=${this.current}`).then((res) => {
// if (res.code == 0) {
// const list = this.current > 1 ? [...this.list, ...res.data.records] : res.data.records
// this.pages = Math.ceil(res.data.total / 10)
// this.list = list
// }
// });
},
tabClick(index) {
this.tabIndex = index
// if (!this.tabIndex) {
// this.status = ''
// } else {
// this.status = this.tabIndex - 1
// }
// this.getList()
this.getListInit()
},
confirmType(e) {
this.typeId = e[0].value
this.typeName = e[0].label
},
toDetail() {
uni.navigateTo({ url: `./detail` })
}
},
onReachBottom() {
this.current ++
this.getList()
}
};
</script>

View File

@@ -29,6 +29,9 @@
<div>第11名</div>
</div>
</div>
<div class="footer" @click="linkTo(`../AppApplyPoint/AppApplyPoint`)">
<div class="btn">党员积分申报</div>
</div>
</div>
</template>
<script>
@@ -160,4 +163,23 @@ page{
border-bottom: 1px solid #ddd;
}
}
.footer{
position: fixed;
bottom: 0;
left: 0;
width: 100%;
padding: 16px 32px;
.btn{
width: 686px;
height: 88px;
line-height: 88px;
text-align: center;
background: #E76056;
border-radius: 16px;
font-size: 34px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #FFF;
}
}
</style>

View File

@@ -2,7 +2,7 @@
<div class="wrapper">
<div class="fixed">
<div class="header">
<div class="left">2020-08<u-icon name="arrow-down" color="#333" size="24" style="margin-left: 4px" ></u-icon></div>
<div class="left" @click="showDate=true">{{searchDate}}<u-icon name="arrow-down" color="#333" size="24" style="margin-left: 4px" ></u-icon></div>
<div class="right">获得积分 <span>1500</span></div>
</div>
</div>
@@ -18,6 +18,7 @@
</div>
</div>
</div>
<u-picker mode="time" v-model="showDate" :params="dateParams" @confirm="selectDate"></u-picker>
</div>
</template>
<script>
@@ -31,14 +32,28 @@ export default {
},
data() {
return {
searchDate: '',
showDate: false,
dateParams: {
year: true,
month: true,
day: false,
hour: false,
minute: false,
second: false
},
};
},
onLoad() {
var datetime = new Date();
var year = datetime.getFullYear();
var month = datetime.getMonth() + 1 < 10 ? '0' + (datetime.getMonth() + 1) : datetime.getMonth() + 1;
this.searchDate = `${year}-${month}`
},
methods: {
selectDate(e) {
this.searchDate = `${e.year}-${e.month}`
},
}
};
</script>

View File

@@ -2,15 +2,13 @@
<div class="wrapper">
<div class="fixed">
<div class="header">
<AiAreaPicker ref="area" class="ai-area" v-model="areaId" :name.sync="areaName" :areaId="$areaId" @input="areaSelect" >
<div class="ai-area__wrapper">
<img src="./img/location-icon.png" alt="" class="location-icon">
<span class="label" v-if="areaName" style="color:#E6736E;">{{ areaName }}</span>
<span v-else style="color:#E6736E;">请选择</span>
<u-icon name="arrow-down" color="#E6736E" size="24" style="margin-left: 4px" ></u-icon>
</div>
</AiAreaPicker>
<div class="right">2020-08<u-icon name="arrow-down" color="#333" size="24" style="margin-left: 4px" ></u-icon></div>
<div class="ai-area__wrapper" @click="toSelect">
<img src="./img/location-icon.png" alt="" class="location-icon">
<span class="label" v-if="partyName" style="color:#E6736E;">{{ partyName }}</span>
<span v-else style="color:#E6736E;">请选择</span>
<u-icon name="arrow-down" color="#E6736E" size="24" style="margin-left: 4px" ></u-icon>
</div>
<div class="right" @click="showDate=true">{{searchDate}}<u-icon name="arrow-down" color="#333" size="24" style="margin-left: 4px" ></u-icon></div>
</div>
<div class="tab-list">
<div class="tab-item" v-for="(item, index) in tabList" :key="index" @click="tabClick(index)" :style="tabIndex == index ? 'color:#333;' : ''">{{ item }}
@@ -27,6 +25,7 @@
<div class="right">70</div>
</div>
</div>
<u-picker mode="time" v-model="showDate" :params="dateParams" @confirm="selectDate"></u-picker>
</div>
</template>
<script>
@@ -40,21 +39,33 @@ export default {
},
data() {
return {
areaId: '',
areaName: '',
partyName: '',
partyId: '',
tabList: ['月度排行', '累计排行'],
tabIndex: 0,
searchDate: '',
showDate: false,
dateParams: {
year: true,
month: true,
day: false,
hour: false,
minute: false,
second: false
},
};
},
onLoad() {
this.areaId = this.user.areaId
this.areaName = this.user.areaName
uni.$on('selectParty', (res) => {
this.partyName = res.name
this.partyId = res.id
})
var datetime = new Date();
var year = datetime.getFullYear();
var month = datetime.getMonth() + 1 < 10 ? '0' + (datetime.getMonth() + 1) : datetime.getMonth() + 1;
this.searchDate = `${year}-${month}`
},
methods: {
areaSelect(v) {
this.areaId = v
// this.getList()
},
tabClick(index) {
this.tabIndex = index
// if (!this.tabIndex) {
@@ -63,6 +74,12 @@ export default {
// this.status = this.tabIndex - 1
// }
// this.getList()
},
selectDate(e) {
this.searchDate = `${e.year}-${e.month}`
},
toSelect() {
uni.navigateTo({url: './search'})
}
}
};

View File

@@ -1,19 +1,19 @@
<template>
<div class="wrapper">
<div class="fixed">
<u-search placeholder="请输入党组织" v-model="name" :show-action="false" @change="getList"></u-search>
<u-search placeholder="请输入党组织" v-model="name" :show-action="false" @search="searchParty" @clear="clearName"></u-search>
</div>
<div class="history-list">
<div class="history-list" v-if="showHistory">
<div class="title">
<div class="left">历史选择</div>
<div class="right"><img src="./img/del-icon.png" alt=""> 清空</div>
<div class="right" @click="clearHistory"><img src="./img/del-icon.png" alt=""> 清空</div>
</div>
<div class="item">仙桃市蔡滩村党委第一党小组</div>
<div class="item">仙桃市</div>
<div class="item">委第一党小组</div>
<div class="item" v-for="(item, index) in historyList" :key="index" @click="itemClick(item)">{{item}}</div>
<AiEmpty description="暂无搜索数据" v-if="!historyList.length"/>
</div>
<div class="list">
<div class="item">仙桃市胡场镇蔡滩村党组织换行样式换行样式换行样式换行样式换行样式</div>
<div class="list" v-else>
<div class="item" v-for="(item, index) in list" :key="index" @click="back(item)">{{item.name}}</div>
<AiEmpty v-if="!list.length"/>
</div>
</div>
</template>
@@ -28,15 +28,55 @@ export default {
},
data() {
return {
name: ''
name: '',
showHistory: true,
historyList: [],
list: []
};
},
onLoad() {
this.historyList = uni.getStorageSync("historyList")
},
methods: {
back(item) {
uni.navigateBack({
delta: 1,
success: () => {
uni.$emit('selectParty', item)
},
})
// uni.$emit('selectParty', item)
// uni.navigateBack()
},
clearHistory() {
this.historyList = []
uni.setStorageSync("historyList", this.historyList)
},
searchParty() {
if(!this.name) {
return this.$u.toast('请输入查询的党组织')
}
if(!this.historyList.includes(this.name)) {
this.historyList.push(this.name)
uni.setStorageSync("historyList", this.historyList)
}
this.getList()
},
clearName() {
this.name = ''
this.showHistory = true
},
itemClick(e) {
this.name = e
this.getList()
},
getList() {
this.$instance.post(`/app/partyOrganization/queryPartyOrganizationListByName?name=${this.name}`).then((res) => {
if(res?.data) {
this.showHistory = false
this.list = res.data
}
})
}
}
};