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); const data = await getPermanent(params, url);
store.commit('task/setPermanents', data); store.commit('task/setPermanents', data);
} catch (error) { } catch (error) {
message.info(error); message.info(error || '日常任务获取失败');
throw new Error(error); throw new Error(error);
} }
} }
@ -86,7 +86,7 @@ async function getGlobalData(id) {
const data = await getGlobal(params, url); const data = await getGlobal(params, url);
store.commit('task/setDailyTasks', data); store.commit('task/setDailyTasks', data);
} catch (error) { } catch (error) {
message.info(error); message.info(error || '日常任务获取失败');
throw new Error(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 project = computed(() => store.state.projects.project); //
const globals = computed(() => store.getters['task/globals']); // 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 globalRef = ref(null);
const globalHeight = ref(0); const globalHeight = ref(0);
const clientHeight = ref(0); // const clientHeight = ref(0); //
const tasksHeight = ref(null); // const tasksHeight = ref(null); //
if (sessionRoleId && !roleId.value) {
store.commit('role/setRoleId', sessionRoleId);
}
watch(globals, () => { watch(globals, () => {
nextTick(() => { nextTick(() => {
setTimeout(() => { setTimeout(() => {

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

@ -137,7 +137,7 @@ async function getTasks(query) {
dataRender(params.param); dataRender(params.param);
} catch (error) { } catch (error) {
message.info(error); message.info(error || '定期任务获取失败');
throw new Error(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 roleId = computed(() => store.state.role.roleId); //
const roleList = computed(() => store.state.role.visibleRoles); // const roleList = computed(() => store.state.role.visibleRoles); //
const project = computed(() => store.state.projects.project); // 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 taskDetailShow = computed(() => store.state.task.taskDetailShow);
const roleBox = ref(null); const roleBox = ref(null);
const roleAbs = ref(null); const roleAbs = ref(null);
const roleItem = ref(null); const roleItem = ref(null);
if (sessionRoleId && !roleId.value) {
store.commit('role/setRoleId', sessionRoleId);
}
if (project.value && project.value.id) { if (project.value && project.value.id) {
getRoles(project.value.id); // id getRoles(project.value.id); // id
} }
watch(project, async () => { watch([project, refreshProject], async () => {
if (project.value.id) { if (project.value.id) {
await getRoles(project.value.id); // id await getRoles(project.value.id); // id
} }
@ -59,7 +56,7 @@ async function getRoles(params) {
store.commit('role/setVisibleRoles', data ? data.visibleList : []); store.commit('role/setVisibleRoles', data ? data.visibleList : []);
setInitialRoleId(data ? data.visibleList : []); setInitialRoleId(data ? data.visibleList : []);
} catch (error) { } catch (error) {
message.info(error); message.info(error || '角色获取失败');
throw new Error(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-list" v-if="item.mwbsList && item.mwbsList.length > 0">
<div class="mwbs-item" v-for="(val, key) in item.mwbsList" :key="key"> <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 class="name">{{ val.projectName }}</div>
</div> </div>
@ -54,7 +54,7 @@ async function getList() {
const res = await getBusinessList(); const res = await getBusinessList();
list.value = res; list.value = res;
} catch (error) { } catch (error) {
message.info(error); message.info(error || '服务列表获取失败');
} }
} }
@ -69,7 +69,7 @@ async function toUpload(e) {
try { try {
const file = e.target.files[0]; const file = e.target.files[0];
const param = new FormData(); const param = new FormData();
param.append('file', file); param.append('param', file);
const config = { headers: { 'Content-Type': 'multipart/form-data' } }; const config = { headers: { 'Content-Type': 'multipart/form-data' } };
const res = await importWbs(currUrl.value, param, ''); 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); store.commit('projects/setProjects', data);
} catch (error) { } catch (error) {
message.info(error); message.info(error || '项目列表获取失败');
throw new Error(error); throw new Error(error);
} }
} }
// //
function toDetail(item) { function toDetail(item) {
clearRolesData(); // clearRolesData();
clearTasksData(); // clearTasksData();
store.commit('projects/setProject', item); store.commit('projects/setProject', item);
store.commit('task/setTaskDetailParams', ''); // store.commit('task/setTaskDetailParams', ''); //
store.commit('task/setTaskDetailUrl', ''); // store.commit('task/setTaskDetailUrl', ''); //
store.commit('task/setTaskDetailShow', ''); 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 { try {
await delProject(param); await delProject(param);
} catch (error) { } catch (error) {
message.info(error); message.info(error || '删除项目失败');
throw new Error(error); throw new Error(error);
} }
} }
@ -353,7 +353,7 @@ async function exportProject(id) {
const data = await exportWbs(params, url); const data = await exportWbs(params, url);
window.open(data.url, '_blank'); window.open(data.url, '_blank');
} catch (error) { } catch (error) {
message.info(error); message.info(error || '导出失败');
throw new Error(error); throw new Error(error);
} }
} }

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

@ -10,7 +10,7 @@
<a-popover placement="bottomLeft"> <a-popover placement="bottomLeft">
<template #content> <template #content>
<p class="cursor-pointer" @click="showImportCard(item)">导入</p> <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> --> <!-- <p class="m-0 cursor-pointer" @click="showDelCard(item)">删除</p> -->
</template> </template>
<div class="icon"><img src="https://www.tall.wiki/staticrec/drag.svg" /></div> <div class="icon"><img src="https://www.tall.wiki/staticrec/drag.svg" /></div>
@ -52,7 +52,7 @@
<a-popover placement="bottomLeft"> <a-popover placement="bottomLeft">
<template #content> <template #content>
<!-- <p class="cursor-pointer" @click="showImportCard(sonItem)">导入</p> --> <!-- <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> <p class="m-0 cursor-pointer" @click="showDelCard(sonItem)">删除</p>
</template> </template>
<div class="icon"><img src="https://www.tall.wiki/staticrec/drag.svg" /></div> <div class="icon"><img src="https://www.tall.wiki/staticrec/drag.svg" /></div>
@ -96,7 +96,6 @@
> >
<template #item="{ element }"> <template #item="{ element }">
<li class="item-box" v-if="element.businessCode !== 'ZERO'"> <li class="item-box" v-if="element.businessCode !== 'ZERO'">
<!-- <p>{{ element.name }}</p> -->
<div <div
class="one-level cursor-pointer h-60 flex items-center" class="one-level cursor-pointer h-60 flex items-center"
:class="{ 'h-70': element.sonProjectList && element.sonProjectList.length > 0 }" :class="{ 'h-70': element.sonProjectList && element.sonProjectList.length > 0 }"
@ -107,7 +106,7 @@
<a-popover placement="bottomLeft"> <a-popover placement="bottomLeft">
<template #content> <template #content>
<p class="cursor-pointer" @click="showImportCard(element)">导入</p> <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> <p class="m-0 cursor-pointer" @click="showDelCard(element)">删除</p>
</template> </template>
<div class="icon"><img src="https://www.tall.wiki/staticrec/drag.svg" /></div> <div class="icon"><img src="https://www.tall.wiki/staticrec/drag.svg" /></div>
@ -161,7 +160,7 @@
<a-popover placement="bottomLeft"> <a-popover placement="bottomLeft">
<template #content> <template #content>
<!-- <p class="cursor-pointer" @click="showImportCard(sonItem)">导入</p> --> <!-- <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> <p class="m-0 cursor-pointer" @click="showDelCard(element)">删除</p>
</template> </template>
<div class="icon"><img src="https://www.tall.wiki/staticrec/drag.svg" /></div> <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); store.commit('projects/setProjects', data);
} catch (error) { } catch (error) {
message.info(error); message.info(error || '项目列表获取失败');
throw new Error(error); throw new Error(error);
} }
} }
@ -279,11 +278,12 @@ async function getProjectsList() {
function toDetail(item) { function toDetail(item) {
clearRolesData(); clearRolesData();
clearTasksData(); clearTasksData();
store.commit('projects/setProject', item); store.commit('projects/setProject', item);
store.commit('task/setTaskDetailParams', ''); // store.commit('task/setTaskDetailParams', ''); //
store.commit('task/setTaskDetailUrl', ''); // store.commit('task/setTaskDetailUrl', ''); //
store.commit('task/setTaskDetailShow', ''); 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() { async function handleImport() {
importVisible.value = false; importVisible.value = false;
await importProject(); await importProject();
getProjectsList();
} }
// //
@ -314,11 +313,12 @@ async function importProject() {
async function toImport(e) { async function toImport(e) {
try { try {
const file = e.target.files[0]; const file = e.target.files[0];
const param = new FormData(); const formData = new FormData();
param.append('file', file); formData.append('param', file);
const config = { headers: { 'Content-Type': 'multipart/form-data' } }; 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) { } catch (error) {
message.info(error || '导入失败'); message.info(error || '导入失败');
} }
@ -328,6 +328,7 @@ async function toImport(e) {
const showDelCard = item => { const showDelCard = item => {
visible.value = true; visible.value = true;
deleteId.value = item.id; deleteId.value = item.id;
currUrl.value = item.url;
}; };
// //
@ -338,25 +339,23 @@ async function handleOk() {
} }
// //
async function deleteProject(param) { async function deleteProject(id) {
try { try {
await delProject(param); await delProject(id, currUrl.value);
} catch (error) { } catch (error) {
message.info(error); message.info(error || '删除失败');
throw new Error(error); throw new Error(error);
} }
} }
// //
async function exportProject(id) { async function exportProject(id, url) {
try { try {
const params = { param: { projectId: id } }; const params = { param: { projectId: id } };
const { url } = store.state.projects.project;
const data = await exportWbs(params, url); const data = await exportWbs(params, url);
window.open(data.url, '_blank'); window.open(data.url, '_blank');
} catch (error) { } catch (error) {
message.info(error); message.info(error || '导出失败');
throw new Error(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; pageSize.value = data.emps.length;
proList.value = data.pros; proList.value = data.pros;
} catch (error) { } catch (error) {
message.info(error); message.info(error || '获取失败');
throw new Error(error); throw new Error(error);
} }
} }
@ -384,7 +384,7 @@ async function getQueryTasks() {
columnDatas.value.push(obj); columnDatas.value.push(obj);
}); });
} catch (error) { } catch (error) {
message.info(error); message.info(error || '任务获取失败');
throw new Error(error); throw new Error(error);
} }
} }
@ -441,7 +441,7 @@ async function handleExport() {
const data = await exportQuery(params, url); const data = await exportQuery(params, url);
window.open(data, '_blank'); window.open(data, '_blank');
} catch (error) { } catch (error) {
message.info(error); message.info(error || '导出失败');
throw new Error(error); throw new Error(error);
} }
} }
@ -598,7 +598,7 @@ async function submitForm() {
// punch(); // punch();
getQueryTasks(); getQueryTasks();
} catch (error) { } catch (error) {
message.info(error); message.info(error || '提交失败');
throw new Error(error); throw new Error(error);
} }
} }
@ -645,7 +645,7 @@ async function getClockQuery() {
morning.value = data[0].recordList[0].morning; // morning.value = data[0].recordList[0].morning; //
night.value = data[0].recordList[0].night; // night.value = data[0].recordList[0].night; //
} catch (error) { } catch (error) {
message.info(error); message.info(error || '获取失败');
throw new Error(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); const data = await getDeliverByTaskId(param, url);
deliverData.value = data; deliverData.value = data;
} catch (error) { } 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); const data = await getDeliverByTaskId(param, url);
deliver.value = data; deliver.value = data;
} catch (error) { } catch (error) {
message.info(error); message.info(error || '交付物信息获取失败');
} }
} }
</script> </script>

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

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

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

@ -6,6 +6,7 @@ export default {
projects: [], // 项目列表 projects: [], // 项目列表
dotList: [], // 小红点 dotList: [], // 小红点
newProject: {}, // 新建项目信息 newProject: {}, // 新建项目信息
refreshProject: false, // 刷新项目数据(包括角色、任务)
}, },
getters: { getters: {
@ -67,6 +68,7 @@ export default {
*/ */
setProject(state, data) { setProject(state, data) {
state.project = data || { name: '加载中...' }; state.project = data || { name: '加载中...' };
state.refreshProject = !state.refreshProject;
if (data) { if (data) {
sessionStorage.setItem('projectId', data.id); sessionStorage.setItem('projectId', data.id);
sessionStorage.setItem('project', JSON.stringify(data)); 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 { message } from 'ant-design-vue';
import { queryChecker } from 'apis';
const actions = { const actions = {
/** /**
@ -13,7 +13,7 @@ const actions = {
commit('setMembers', data); commit('setMembers', data);
return data; return data;
} catch (error) { } catch (error) {
message.info(error); message.info(error || '成员列表获取失败');
throw new Error(error); throw new Error(error);
} }
}, },

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

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

6
src/views/user/SignIn.vue

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

Loading…
Cancel
Save