Browse Source

fix(project title): 项目标题修改; 切换角色移除script

tall
wally 4 years ago
parent
commit
5c20017c1f
  1. 3
      CHANGELOG.md
  2. 7
      src/components/Plugin/Plugin.vue
  3. 13
      src/components/Roles/Roles.vue
  4. 12
      src/components/Title/Title.vue
  5. 6
      src/pages/project/project.vue
  6. 6
      src/store/project/actions.js
  7. 2
      src/store/project/mutations.js

3
CHANGELOG.md

@ -1,4 +1,4 @@
# 0.1.0 (2021-07-29)
# 0.1.0 (2021-07-30)
### 🌟 新功能
范围|描述|commitId
@ -53,6 +53,7 @@
### 🐛 Bug 修复
范围|描述|commitId
--|--|--
plugin | 插件解析机制完善 | 0f5a27d
role | 切换角色的逻辑修正完善 | 4ae534f
task任务逻辑完善 | 减少初始global及regular的不必要请求 | bd4bd38
- | 上下滑动加载定期任务 | 4090d89

7
src/components/Plugin/Plugin.vue

@ -67,13 +67,13 @@ export default {
});
if (!data || !data.id) return;
const reg = /data-root=["|']?(\w+)["|']?/gi;
console.log(data.html);
// console.log(data.html);
if (data.html) {
// data-root=xxx xxx pluginTaskId
if (reg.test(data.html)) {
const uuid = RegExp.$1;
console.log('uuid: ', uuid, `p${this.pluginTaskId}`);
// console.log('uuid: ', uuid, `p${this.pluginTaskId}`);
const str = data.html.replaceAll(uuid, `p${this.pluginTaskId}`);
this.pluginContent = str;
@ -81,7 +81,7 @@ export default {
this.pluginContent = data.html;
}
}
console.log(this.pluginContent);
// console.log(this.pluginContent);
if (data.js) {
if (reg.test(data.js)) {
@ -102,6 +102,7 @@ export default {
if (js && index === -1) {
const scriptDom = document.createElement('script');
scriptDom.id = `p${pluginId}`;
scriptDom.setAttribute('data-type', 'plugin');
scriptDom.innerHTML = js;
this.$nextTick(() => {
document.body.append(scriptDom);

13
src/components/Roles/Roles.vue

@ -95,6 +95,9 @@ export default {
// projectroleId
changeRole(id, index) {
try {
// script
this.clearPluginScript();
this.setRoleId(id);
//index
this.setCurrentRole(index);
@ -111,6 +114,16 @@ export default {
}
},
// script
clearPluginScript() {
console.log('clearPluginScript: ');
const scripts = document.querySelectorAll('script[data-type=plugin]');
for (let i = 0; i < scripts.length; i++) {
document.body.removeChild(scripts[i]);
}
},
//
setColor(mine, id) {
const { roleId } = this;

12
src/components/Title/Title.vue

@ -1,8 +1,8 @@
<template>
<view>
<u-navbar :is-back="false" back-text="返回">
<view class="flex justify-center flex-1">
<view>我是标题</view>
<u-navbar :is-back="false" back-text="返回" class="overflow-hidden">
<view class="flex justify-start px-3 font-bold" style="width: 460rpx">
<view class="truncate">{{ project.name }}</view>
</view>
<view class="mr-2" slot="right">
<u-icon class="m-1" name="xuanzhong2" custom-prefix="custom-icon" size="20px" @click="lwbs"></u-icon>
@ -15,11 +15,9 @@
</template>
<script>
import { mapState } from 'vuex';
export default {
name: 'Title',
data() {
return { title: '加载中...' };
},
name: 'ProjectTitle',
computed: mapState('project', ['project']),

6
src/pages/project/project.vue

@ -2,11 +2,14 @@
<view :style="{ height: height }" class="flex flex-col overflow-hidden u-font-14">
<!-- 标题栏 -->
<Title />
<view class="container flex flex-col flex-1 overflow-hidden bg-gray-100" style="margin: auto">
<!-- 角色栏 -->
<Roles @getTasksByRole="getTasksByRole" />
<Roles />
<!-- 日常任务面板 -->
<Globals />
<!-- 定期任务面板 -->
<TimeLine @getTasks="getTasks" class="flex-1 overflow-hidden" ref="child" />
</view>
@ -155,6 +158,7 @@ export default {
}
},
//
getGlobalData() {
const { roleId, timeNode, timeUnit } = this;
const param = { roleId, timeNode, timeUnit };

6
src/store/project/actions.js

@ -6,9 +6,9 @@ const actions = {
*/
async getProjectById({ commit }, params) {
try {
const res = await uni.$u.api.findProjectById(params);
commit('setProject', res);
return res;
const data = await uni.$u.api.findProjectById(params);
commit('setProject', data);
return data;
} catch (error) {
throw error || '获取项目信息失败';
}

2
src/store/project/mutations.js

@ -5,7 +5,7 @@ const mutations = {
* @param { object } data
*/
setProject(state, data) {
state.project = { ...data };
state.project = data || { name: '加载中...' };
},
/**

Loading…
Cancel
Save