Browse Source

feat: 导入、导出、删除

develop
xuesinan 4 years ago
parent
commit
cdf12b129a
  1. 4
      src/components/tall/center/Global.vue
  2. 7
      src/components/tall/center/Index.vue
  3. 2
      src/components/tall/center/RegularTask.vue
  4. 11
      src/components/tall/center/Roles.vue
  5. 6
      src/components/tall/left/Index.vue
  6. 12
      src/components/tall/left/Projects copy.vue
  7. 35
      src/components/tall/left/Projects.vue
  8. 10
      src/plugins/p-daily-account/p-daily-account-detail.vue
  9. 2
      src/plugins/p-deliver-second/p-deliver-second-detail.vue
  10. 2
      src/plugins/p-deliver-second/p-deliver-second.vue
  11. 2
      src/plugins/p-deliver/p-deliver.vue
  12. 2
      src/store/tall/projects/index.js
  13. 4
      src/store/tall/role/actions.js
  14. 2
      src/store/tall/user/index.js
  15. 6
      src/views/user/SignIn.vue

4
src/components/tall/center/Global.vue

@ -74,7 +74,7 @@ async function getPermanentData(id) {
const data = await getPermanent(params, url);
store.commit('task/setPermanents', data);
} catch (error) {
message.info(error);
message.info(error || '日常任务获取失败');
throw new Error(error);
}
}
@ -86,7 +86,7 @@ async function getGlobalData(id) {
const data = await getGlobal(params, url);
store.commit('task/setDailyTasks', data);
} catch (error) {
message.info(error);
message.info(error || '日常任务获取失败');
throw new Error(error);
}
}

7
src/components/tall/center/Index.vue

@ -29,11 +29,18 @@ const store = useStore();
const project = computed(() => store.state.projects.project); //
const globals = computed(() => store.getters['task/globals']); //
const sessionRoleId = sessionStorage.getItem('roleId'); // id
const roleId = computed(() => store.state.role.roleId); //
const globalRef = ref(null);
const globalHeight = ref(0);
const clientHeight = ref(0); //
const tasksHeight = ref(null); //
if (sessionRoleId && !roleId.value) {
store.commit('role/setRoleId', sessionRoleId);
}
watch(globals, () => {
nextTick(() => {
setTimeout(() => {

2
src/components/tall/center/RegularTask.vue

@ -137,7 +137,7 @@ async function getTasks(query) {
dataRender(params.param);
} catch (error) {
message.info(error);
message.info(error || '定期任务获取失败');
throw new Error(error);
}
}

11
src/components/tall/center/Roles.vue

@ -19,22 +19,19 @@ const store = useStore();
const roleId = computed(() => store.state.role.roleId); //
const roleList = computed(() => store.state.role.visibleRoles); //
const project = computed(() => store.state.projects.project); //
const sessionRoleId = sessionStorage.getItem('roleId'); // id
const refreshProject = computed(() => store.state.projects.refreshProject);
const taskDetailShow = computed(() => store.state.task.taskDetailShow);
const roleBox = ref(null);
const roleAbs = ref(null);
const roleItem = ref(null);
if (sessionRoleId && !roleId.value) {
store.commit('role/setRoleId', sessionRoleId);
}
if (project.value && project.value.id) {
getRoles(project.value.id); // id
}
watch(project, async () => {
watch([project, refreshProject], async () => {
if (project.value.id) {
await getRoles(project.value.id); // id
}
@ -59,7 +56,7 @@ async function getRoles(params) {
store.commit('role/setVisibleRoles', data ? data.visibleList : []);
setInitialRoleId(data ? data.visibleList : []);
} catch (error) {
message.info(error);
message.info(error || '角色获取失败');
throw new Error(error);
}
}

6
src/components/tall/left/Index.vue

@ -15,7 +15,7 @@
<div class="mwbs-list" v-if="item.mwbsList && item.mwbsList.length > 0">
<div class="mwbs-item" v-for="(val, key) in item.mwbsList" :key="key">
<input type="file" @click="toUpload(val.url)" />
<input type="file" @change="toUpload" />
<div class="name">{{ val.projectName }}</div>
</div>
@ -54,7 +54,7 @@ async function getList() {
const res = await getBusinessList();
list.value = res;
} catch (error) {
message.info(error);
message.info(error || '服务列表获取失败');
}
}
@ -69,7 +69,7 @@ async function toUpload(e) {
try {
const file = e.target.files[0];
const param = new FormData();
param.append('file', file);
param.append('param', file);
const config = { headers: { 'Content-Type': 'multipart/form-data' } };
const res = await importWbs(currUrl.value, param, '');

12
src/components/tall/left/Projects copy.vue

@ -267,20 +267,20 @@ async function getProjectsList() {
store.commit('projects/setProjects', data);
} catch (error) {
message.info(error);
message.info(error || '项目列表获取失败');
throw new Error(error);
}
}
//
function toDetail(item) {
clearRolesData();
clearTasksData();
// clearRolesData();
// clearTasksData();
store.commit('projects/setProject', item);
store.commit('task/setTaskDetailParams', ''); //
store.commit('task/setTaskDetailUrl', ''); //
store.commit('task/setTaskDetailShow', '');
router.push({ path: '/tall/pc/home/test' });
// router.push({ path: '/tall/pc/home/test' });
}
//
@ -339,7 +339,7 @@ async function deleteProject(param) {
try {
await delProject(param);
} catch (error) {
message.info(error);
message.info(error || '删除项目失败');
throw new Error(error);
}
}
@ -353,7 +353,7 @@ async function exportProject(id) {
const data = await exportWbs(params, url);
window.open(data.url, '_blank');
} catch (error) {
message.info(error);
message.info(error || '导出失败');
throw new Error(error);
}
}

35
src/components/tall/left/Projects.vue

@ -10,7 +10,7 @@
<a-popover placement="bottomLeft">
<template #content>
<p class="cursor-pointer" @click="showImportCard(item)">导入</p>
<p class="m-0 cursor-pointer" @click="exportProject(item.id)">导出</p>
<p class="m-0 cursor-pointer" @click="exportProject(item.id, item.url)">导出</p>
<!-- <p class="m-0 cursor-pointer" @click="showDelCard(item)">删除</p> -->
</template>
<div class="icon"><img src="https://www.tall.wiki/staticrec/drag.svg" /></div>
@ -52,7 +52,7 @@
<a-popover placement="bottomLeft">
<template #content>
<!-- <p class="cursor-pointer" @click="showImportCard(sonItem)">导入</p> -->
<p class="cursor-pointer" @click="exportProject(sonItem.id)">导出</p>
<p class="cursor-pointer" @click="exportProject(sonItem.id, sonItem.url)">导出</p>
<p class="m-0 cursor-pointer" @click="showDelCard(sonItem)">删除</p>
</template>
<div class="icon"><img src="https://www.tall.wiki/staticrec/drag.svg" /></div>
@ -96,7 +96,6 @@
>
<template #item="{ element }">
<li class="item-box" v-if="element.businessCode !== 'ZERO'">
<!-- <p>{{ element.name }}</p> -->
<div
class="one-level cursor-pointer h-60 flex items-center"
:class="{ 'h-70': element.sonProjectList && element.sonProjectList.length > 0 }"
@ -107,7 +106,7 @@
<a-popover placement="bottomLeft">
<template #content>
<p class="cursor-pointer" @click="showImportCard(element)">导入</p>
<p class="cursor-pointer" @click="exportProject(element.id)">导出</p>
<p class="cursor-pointer" @click="exportProject(element.id, element.url)">导出</p>
<p class="m-0 cursor-pointer" @click="showDelCard(element)">删除</p>
</template>
<div class="icon"><img src="https://www.tall.wiki/staticrec/drag.svg" /></div>
@ -161,7 +160,7 @@
<a-popover placement="bottomLeft">
<template #content>
<!-- <p class="cursor-pointer" @click="showImportCard(sonItem)">导入</p> -->
<p class="cursor-pointer" @click="exportProject(element.id)">导出</p>
<p class="cursor-pointer" @click="exportProject(element.id, element.url)">导出</p>
<p class="m-0 cursor-pointer" @click="showDelCard(element)">删除</p>
</template>
<div class="icon"><img src="https://www.tall.wiki/staticrec/drag.svg" /></div>
@ -270,7 +269,7 @@ async function getProjectsList() {
store.commit('projects/setProjects', data);
} catch (error) {
message.info(error);
message.info(error || '项目列表获取失败');
throw new Error(error);
}
}
@ -279,11 +278,12 @@ async function getProjectsList() {
function toDetail(item) {
clearRolesData();
clearTasksData();
store.commit('projects/setProject', item);
store.commit('task/setTaskDetailParams', ''); //
store.commit('task/setTaskDetailUrl', ''); //
store.commit('task/setTaskDetailShow', '');
router.push({ path: '/tall/pc/home/test' });
// router.push({ path: '/tall/pc/home/test' });
}
//
@ -303,7 +303,6 @@ const showImportCard = item => {
async function handleImport() {
importVisible.value = false;
await importProject();
getProjectsList();
}
//
@ -314,11 +313,12 @@ async function importProject() {
async function toImport(e) {
try {
const file = e.target.files[0];
const param = new FormData();
param.append('file', file);
const formData = new FormData();
formData.append('param', file);
const config = { headers: { 'Content-Type': 'multipart/form-data' } };
const res = await importWbs(currUrl.value, param, importParentId.value);
const res = await importWbs(currUrl.value, formData, importParentId.value);
getProjectsList();
} catch (error) {
message.info(error || '导入失败');
}
@ -328,6 +328,7 @@ async function toImport(e) {
const showDelCard = item => {
visible.value = true;
deleteId.value = item.id;
currUrl.value = item.url;
};
//
@ -338,25 +339,23 @@ async function handleOk() {
}
//
async function deleteProject(param) {
async function deleteProject(id) {
try {
await delProject(param);
await delProject(id, currUrl.value);
} catch (error) {
message.info(error);
message.info(error || '删除失败');
throw new Error(error);
}
}
//
async function exportProject(id) {
async function exportProject(id, url) {
try {
const params = { param: { projectId: id } };
const { url } = store.state.projects.project;
const data = await exportWbs(params, url);
window.open(data.url, '_blank');
} catch (error) {
message.info(error);
message.info(error || '导出失败');
throw new Error(error);
}
}

10
src/plugins/p-daily-account/p-daily-account-detail.vue

@ -307,7 +307,7 @@ async function getInfo() {
pageSize.value = data.emps.length;
proList.value = data.pros;
} catch (error) {
message.info(error);
message.info(error || '获取失败');
throw new Error(error);
}
}
@ -384,7 +384,7 @@ async function getQueryTasks() {
columnDatas.value.push(obj);
});
} catch (error) {
message.info(error);
message.info(error || '任务获取失败');
throw new Error(error);
}
}
@ -441,7 +441,7 @@ async function handleExport() {
const data = await exportQuery(params, url);
window.open(data, '_blank');
} catch (error) {
message.info(error);
message.info(error || '导出失败');
throw new Error(error);
}
}
@ -598,7 +598,7 @@ async function submitForm() {
// punch();
getQueryTasks();
} catch (error) {
message.info(error);
message.info(error || '提交失败');
throw new Error(error);
}
}
@ -645,7 +645,7 @@ async function getClockQuery() {
morning.value = data[0].recordList[0].morning; //
night.value = data[0].recordList[0].night; //
} catch (error) {
message.info(error);
message.info(error || '获取失败');
throw new Error(error);
}
}

2
src/plugins/p-deliver-second/p-deliver-second-detail.vue

@ -214,7 +214,7 @@ async function getDeliverData() {
const data = await getDeliverByTaskId(param, url);
deliverData.value = data;
} catch (error) {
message.info(error);
message.info(error || '交付物信息获取失败');
}
}

2
src/plugins/p-deliver-second/p-deliver-second.vue

@ -57,7 +57,7 @@ async function getDeliverData() {
const data = await getDeliverByTaskId(param, url);
deliver.value = data;
} catch (error) {
message.info(error);
message.info(error || '交付物信息获取失败');
}
}
</script>

2
src/plugins/p-deliver/p-deliver.vue

@ -37,7 +37,7 @@ async function getDeliverData() {
const data = await getDeliverByTaskId(param, url);
deliver.value = data;
} catch (error) {
message.info(error);
message.info(error || '交付物获取失败');
}
}
</script>

2
src/store/tall/projects/index.js

@ -6,6 +6,7 @@ export default {
projects: [], // 项目列表
dotList: [], // 小红点
newProject: {}, // 新建项目信息
refreshProject: false, // 刷新项目数据(包括角色、任务)
},
getters: {
@ -67,6 +68,7 @@ export default {
*/
setProject(state, data) {
state.project = data || { name: '加载中...' };
state.refreshProject = !state.refreshProject;
if (data) {
sessionStorage.setItem('projectId', data.id);
sessionStorage.setItem('project', JSON.stringify(data));

4
src/store/tall/role/actions.js

@ -1,5 +1,5 @@
import { queryChecker } from 'apis';
import { message } from 'ant-design-vue';
import { queryChecker } from 'apis';
const actions = {
/**
@ -13,7 +13,7 @@ const actions = {
commit('setMembers', data);
return data;
} catch (error) {
message.info(error);
message.info(error || '成员列表获取失败');
throw new Error(error);
}
},

2
src/store/tall/user/index.js

@ -68,7 +68,7 @@ export default {
commit('setUser', data || null);
return data;
} catch (error) {
message.info(error);
message.info(error || '用户信息获取失败');
throw new Error(error);
}
},

6
src/views/user/SignIn.vue

@ -143,7 +143,7 @@ async function getImage() {
signInForm.imageBase64 = data.imageBase64 || '';
signInForm.verificationCodeId = data.verificationCodeId || '';
} catch (error) {
message.info(error);
message.info(error || '图形验证码获取失败');
}
}
@ -172,7 +172,7 @@ async function getCode() {
getCodeInterval();
}
} catch (error) {
message.info(error);
message.info(error || '短信验证码获取失败');
}
}
@ -216,7 +216,7 @@ function handleSingIn() {
router.push({ path: '/tall/pc/home' });
}, 1000);
} catch (error) {
message.info(error);
message.info(error || '登录失败');
throw new Error(error);
}
}

Loading…
Cancel
Save