Browse Source

feat: 给设置角色加小红点

develop
song 4 years ago
parent
commit
c3adab4af4
  1. 1
      CHANGELOG.md
  2. 27
      src/pagesProject/project/components/ConfigInfo/ConfigInfo.vue
  3. 11
      src/pagesProject/project/components/ConfigInfo/components/FamilyDetail.vue
  4. 11
      src/pagesProject/project/components/Roles/Roles.vue
  5. 9
      src/store/role/mutations.js
  6. 1
      src/store/role/state.js

1
CHANGELOG.md

@ -70,6 +70,7 @@
- | 添加设置界面 | [7ca0c59](https://dd.tall.wiki/gitea/binbin0314/yanyuan_js/commits/7ca0c59)
- | 添加输入工具码界面 | [8c120bc](https://dd.tall.wiki/gitea/binbin0314/yanyuan_js/commits/8c120bc)
- | 添加选择工具接口 | [98ee58e](https://dd.tall.wiki/gitea/binbin0314/yanyuan_js/commits/98ee58e)
- | 添加错误弹出信息 | [790b94e](https://dd.tall.wiki/gitea/binbin0314/yanyuan_js/commits/790b94e)
- | 添加项目排序 | [a0b491b](https://dd.tall.wiki/gitea/binbin0314/yanyuan_js/commits/a0b491b)
- | 添加首页弹出按钮及界面 | [edd56cd](https://dd.tall.wiki/gitea/binbin0314/yanyuan_js/commits/edd56cd)
- | 点击日历日期查询项目列表 | [c458385](https://dd.tall.wiki/gitea/binbin0314/yanyuan_js/commits/c458385)

27
src/pagesProject/project/components/ConfigInfo/ConfigInfo.vue

@ -8,6 +8,14 @@
<view class="flex flex-1 items-center" @click="changeOpen(index)">
<img class="w-5 h-5 mr-2" :src="item.img" alt="" />
{{ item.head }}
<u-badge
type="error"
:count="remindNum"
size="mini"
class="relative"
style="top: -25px; right: -25px"
v-if="remindNum && index === 3"
></u-badge>
</view>
<view class="flex flex-row">
<view v-if="index === 0 && personalInfo && personalInfo.userName" class="text-gray-400 mr-2" @click="changeOpen(index)">
@ -41,7 +49,7 @@
</template>
<script>
import { mapActions, mapGetters } from 'vuex';
import { mapState, mapActions, mapGetters } from 'vuex';
import Medicine from './components/Medicine.vue';
import Caregiver from './components/Caregiver.vue';
import Family from './components/Family.vue';
@ -67,12 +75,27 @@ export default {
};
},
computed: mapGetters('project', ['projectId']),
computed: {
...mapGetters('project', ['projectId']),
...mapState('role', ['remindNum']),
},
async created() {
await this.handlePersonalInfo();
},
mounted() {
if (this.remindNum > 0) {
this.itemList.forEach((item, i) => {
if (i === 3) {
item.open = true;
} else {
item.open = false;
}
});
}
},
methods: {
...mapActions('yanyuan', ['getPersonalInfo']),

11
src/pagesProject/project/components/ConfigInfo/components/FamilyDetail.vue

@ -34,7 +34,7 @@
</template>
<script>
import { mapGetters } from 'vuex';
import { mapState, mapGetters, mapMutations } from 'vuex';
import { familyInfo } from '@/config/yyInfo';
export default {
@ -45,7 +45,10 @@ export default {
return { familyInfo };
},
computed: mapGetters('project', ['projectId']),
computed: {
...mapGetters('project', ['projectId']),
...mapState('role', ['remindNum']),
},
watch: {
detail(val) {
@ -62,6 +65,8 @@ export default {
},
methods: {
...mapMutations('role', ['setRemindNum']),
setDate(date) {
if (!date || !date.familyId) return;
const { familyInfo } = this;
@ -87,6 +92,8 @@ export default {
await this.$u.api.auditFamily(params);
this.$emit('showToast', 'success', '审核成功');
this.$emit('queryFamilyList');
const num = this.remindNum;
this.setRemindNum(num - 1);
} catch (error) {
console.error('error: ', error);
this.$emit('showToast', 'error', '审核失败');

11
src/pagesProject/project/components/Roles/Roles.vue

@ -26,6 +26,9 @@
>
{{ item.name }}
</view>
<view v-if="remindNum && item.code === 'Setting'">
<u-badge type="error" :count="remindNum" size="mini" :absolute="true" :offset="[10, 15]" class="font-normal"></u-badge>
</view>
</view>
<!-- 设置 -->
<!-- <view
@ -82,7 +85,7 @@ export default {
},
computed: {
...mapState('role', ['visibleRoles', 'roleId']),
...mapState('role', ['visibleRoles', 'roleId', 'remindNum']),
...mapState('task', ['tasks']),
},
@ -91,6 +94,10 @@ export default {
if (val && val.length) {
this.roles = [...this.visibleRoles];
this.loading = false;
const item = val.find(item => item.code === 'Setting');
if (item && item.id) {
this.setRemindNum(item.remindNum);
}
}
},
},
@ -115,7 +122,7 @@ export default {
methods: {
...mapActions('task', ['handleRegularTask']),
...mapMutations('role', ['setRoleId']),
...mapMutations('role', ['setRoleId', 'setRemindNum']),
...mapMutations('task', ['setPermanents', 'clearEndFlag', 'setScrollToTaskId', 'setShowScrollTo']),
back() {

9
src/store/role/mutations.js

@ -34,6 +34,15 @@ const mutations = {
setMembers(state, data) {
state.members = data || [];
},
/**
* 设置小红点数量
* @param {Object} state
* @param {Array} data 服务端返回的模板数组
*/
setRemindNum(state, data) {
state.remindNum = data;
},
};
export default mutations;

1
src/store/role/state.js

@ -3,6 +3,7 @@ const state = {
visibleRoles: [], // 展示的角色信息
roleId: '', // 当前展示查看的角色id
members: [], // 项目下所有成员
remindNum: 0, // 小红点数量
};
export default state;

Loading…
Cancel
Save