|
|
@ -26,7 +26,6 @@ |
|
|
class="cu-item flex-col" |
|
|
class="cu-item flex-col" |
|
|
v-for="(item, index) in data.itemList" |
|
|
v-for="(item, index) in data.itemList" |
|
|
> |
|
|
> |
|
|
|
|
|
|
|
|
<view class="border-100 bg-blue-500" v-if="item.showTopBorder"></view> |
|
|
<view class="border-100 bg-blue-500" v-if="item.showTopBorder"></view> |
|
|
|
|
|
|
|
|
<!-- 内容区 --> |
|
|
<!-- 内容区 --> |
|
|
@ -53,8 +52,20 @@ |
|
|
|
|
|
|
|
|
<!-- 箭头 --> |
|
|
<!-- 箭头 --> |
|
|
<view v-if="item.sonProjectList && item.sonProjectList.length"> |
|
|
<view v-if="item.sonProjectList && item.sonProjectList.length"> |
|
|
<u-icon @click="openSubProject(item.sonProjectList.length, index)" class="text-gray-400" name="arrow-up" size="14px" v-if="item.show"></u-icon> |
|
|
<u-icon |
|
|
<u-icon @click="openSubProject(item.sonProjectList.length, index)" class="text-gray-400" name="arrow-down" size="14px" v-else></u-icon> |
|
|
@click="openSubProject(item.sonProjectList.length, index)" |
|
|
|
|
|
class="text-gray-400" |
|
|
|
|
|
name="arrow-up" |
|
|
|
|
|
size="14px" |
|
|
|
|
|
v-if="item.show" |
|
|
|
|
|
></u-icon> |
|
|
|
|
|
<u-icon |
|
|
|
|
|
@click="openSubProject(item.sonProjectList.length, index)" |
|
|
|
|
|
class="text-gray-400" |
|
|
|
|
|
name="arrow-down" |
|
|
|
|
|
size="14px" |
|
|
|
|
|
v-else |
|
|
|
|
|
></u-icon> |
|
|
</view> |
|
|
</view> |
|
|
<u-icon class="text-gray-400" name="arrow-right" size="14px" v-else></u-icon> |
|
|
<u-icon class="text-gray-400" name="arrow-right" size="14px" v-else></u-icon> |
|
|
</view> |
|
|
</view> |
|
|
@ -67,10 +78,10 @@ |
|
|
:key="subIndex" |
|
|
:key="subIndex" |
|
|
@touchend.stop.prevent="stops($event, index + '-' + subIndex, item.sonProjectList.length)" |
|
|
@touchend.stop.prevent="stops($event, index + '-' + subIndex, item.sonProjectList.length)" |
|
|
@touchmove.stop.prevent="move($event, item.sonProjectList.length)" |
|
|
@touchmove.stop.prevent="move($event, item.sonProjectList.length)" |
|
|
@touchstart.stop.prevent="start($event, index + '-' + subIndex)" class="cu-item flex-col" |
|
|
@touchstart.stop.prevent="start($event, index + '-' + subIndex)" |
|
|
|
|
|
class="cu-item flex-col" |
|
|
v-for="(subItem, subIndex) in item.sonProjectList" |
|
|
v-for="(subItem, subIndex) in item.sonProjectList" |
|
|
> |
|
|
> |
|
|
|
|
|
|
|
|
<view class="flex items-center justify-between p-3 w-full"> |
|
|
<view class="flex items-center justify-between p-3 w-full"> |
|
|
<u-icon class="mover" name="https://www.tall.wiki/staticrec/drag.svg" size="48"></u-icon> |
|
|
<u-icon class="mover" name="https://www.tall.wiki/staticrec/drag.svg" size="48"></u-icon> |
|
|
|
|
|
|
|
|
@ -88,7 +99,8 @@ |
|
|
? 'text-red-400 bg-red-100' |
|
|
? 'text-red-400 bg-red-100' |
|
|
: 'text-gray-400 bg-gray-100' |
|
|
: 'text-gray-400 bg-gray-100' |
|
|
" |
|
|
" |
|
|
class="px-2 text-xs text-gray-400 bg-gray-100 rounded-full flex-shrink-0"> |
|
|
class="px-2 text-xs text-gray-400 bg-gray-100 rounded-full flex-shrink-0" |
|
|
|
|
|
> |
|
|
{{ subItem.status === 0 ? '未开始' : subItem.status === 1 ? '进行中' : subItem.status === 2 ? '暂停' : '已完成' }} |
|
|
{{ subItem.status === 0 ? '未开始' : subItem.status === 1 ? '进行中' : subItem.status === 2 ? '暂停' : '已完成' }} |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
@ -123,9 +135,9 @@ |
|
|
|
|
|
|
|
|
<script setup> |
|
|
<script setup> |
|
|
import { reactive, onMounted, watch, computed } from 'vue'; |
|
|
import { reactive, onMounted, watch, computed } from 'vue'; |
|
|
import ProjectItem from '@/components/Projects/ProjectItem.vue'; |
|
|
|
|
|
import { useStore } from 'vuex'; |
|
|
import { useStore } from 'vuex'; |
|
|
import dayjs from 'dayjs'; |
|
|
import dayjs from 'dayjs'; |
|
|
|
|
|
import ProjectItem from '@/components/Projects/ProjectItem.vue'; |
|
|
|
|
|
|
|
|
const store = useStore(); |
|
|
const store = useStore(); |
|
|
const projects = computed(() => store.state.project.projects); |
|
|
const projects = computed(() => store.state.project.projects); |
|
|
@ -148,9 +160,12 @@ |
|
|
setSubItem: false, // 选中的是否是二级项目 |
|
|
setSubItem: false, // 选中的是否是二级项目 |
|
|
changeEvent: false, // 是否点击过操作面板 |
|
|
changeEvent: false, // 是否点击过操作面板 |
|
|
showMenu: false, |
|
|
showMenu: false, |
|
|
tips: { text: '', color: '#909399', fontSize: 28, }, |
|
|
tips: { text: '', color: '#909399', fontSize: 28 }, |
|
|
|
|
|
clickProject: {}, |
|
|
projectId: 0, |
|
|
projectId: 0, |
|
|
menuList: [{ text: '复制' }, { text: '编辑' }, { text: '删除' }, { text: '置顶' }, { text: '排序' }], |
|
|
// menuList: [{ text: '复制' }, { text: '编辑' }, { text: '删除' }, { text: '置顶' }, { text: '排序' }], |
|
|
|
|
|
menuList: [{ text: '导出' }, { text: '删除' }], |
|
|
|
|
|
|
|
|
// show: false, |
|
|
// show: false, |
|
|
// border: 'border border-blue-500 shadow rounded-md', |
|
|
// border: 'border border-blue-500 shadow rounded-md', |
|
|
showBorder: false, // 一级项目底部边框是否显示 |
|
|
showBorder: false, // 一级项目底部边框是否显示 |
|
|
@ -175,11 +190,11 @@ |
|
|
if (remind_data.data.projectId === item.id) { |
|
|
if (remind_data.data.projectId === item.id) { |
|
|
item.remindNum++; |
|
|
item.remindNum++; |
|
|
} |
|
|
} |
|
|
}) |
|
|
}); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
}) |
|
|
}); |
|
|
|
|
|
|
|
|
onMounted(() => { |
|
|
onMounted(() => { |
|
|
data.itemList = projects.value; |
|
|
data.itemList = projects.value; |
|
|
@ -192,7 +207,7 @@ |
|
|
|
|
|
|
|
|
// 展开子项目 |
|
|
// 展开子项目 |
|
|
function openSubProject(length, index) { |
|
|
function openSubProject(length, index) { |
|
|
store.commit('project/setProjectItemShow', { index, show: data.itemList[index].show ? false : true }); |
|
|
store.commit('project/setProjectItemShow', { index, show: !data.itemList[index].show }); |
|
|
if (length && index) { |
|
|
if (length && index) { |
|
|
emit('changeHeight', length, index); |
|
|
emit('changeHeight', length, index); |
|
|
} |
|
|
} |
|
|
@ -201,27 +216,36 @@ |
|
|
|
|
|
|
|
|
// 获取项目列表距离顶部的距离 |
|
|
// 获取项目列表距离顶部的距离 |
|
|
function getDate() { |
|
|
function getDate() { |
|
|
const query = uni.createSelectorQuery().select(`#cu-0`).fields({ |
|
|
const query = uni |
|
|
|
|
|
.createSelectorQuery() |
|
|
|
|
|
.select('#cu-0') |
|
|
|
|
|
.fields( |
|
|
|
|
|
{ |
|
|
id: true, |
|
|
id: true, |
|
|
dataset: true, |
|
|
dataset: true, |
|
|
rect: true, |
|
|
rect: true, |
|
|
size: true |
|
|
size: true, |
|
|
}, res => { |
|
|
}, |
|
|
|
|
|
res => { |
|
|
data.begintop = res.top; |
|
|
data.begintop = res.top; |
|
|
data.beginleft = res.left; |
|
|
data.beginleft = res.left; |
|
|
}).exec(); |
|
|
}, |
|
|
|
|
|
) |
|
|
|
|
|
.exec(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function setData(flag, projectId, tips) { |
|
|
function setData(flag, project, tips) { |
|
|
data.showMenu = flag; |
|
|
data.showMenu = flag; |
|
|
data.projectId = projectId; |
|
|
data.projectId = project.id; |
|
|
data.tips = tips; |
|
|
data.tips = tips; |
|
|
|
|
|
data.clickProject = project; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
function chooseAction(e) { |
|
|
function chooseAction(e) { |
|
|
let obj = { |
|
|
const obj = { |
|
|
index: e, |
|
|
index: e, |
|
|
projectId: data.projectId |
|
|
projectId: data.projectId, |
|
|
|
|
|
url: data.clickProject.url, |
|
|
}; |
|
|
}; |
|
|
// emit('chooseAction', data); |
|
|
// emit('chooseAction', data); |
|
|
actionFun(obj); |
|
|
actionFun(obj); |
|
|
@ -229,7 +253,7 @@ |
|
|
|
|
|
|
|
|
// 操作 |
|
|
// 操作 |
|
|
function actionFun(obj) { |
|
|
function actionFun(obj) { |
|
|
let action = data.menuList[obj.index].text; |
|
|
const action = data.menuList[obj.index].text; |
|
|
if (action === '排序') { |
|
|
if (action === '排序') { |
|
|
data.changeEvent = true; |
|
|
data.changeEvent = true; |
|
|
uni.$ui.showToast('请移动进行排序'); |
|
|
uni.$ui.showToast('请移动进行排序'); |
|
|
@ -240,10 +264,15 @@ |
|
|
delProject(obj.projectId); |
|
|
delProject(obj.projectId); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (action === '导出') { |
|
|
|
|
|
data.changeEvent = false; |
|
|
|
|
|
exportProject(obj.projectId, obj.url); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if (data.showItemIndex !== undefined) { |
|
|
if (data.showItemIndex !== undefined) { |
|
|
store.commit('project/setProjectItemShow', { |
|
|
store.commit('project/setProjectItemShow', { |
|
|
index: data.showItemIndex, |
|
|
index: data.showItemIndex, |
|
|
show: true |
|
|
show: true, |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -258,46 +287,67 @@ |
|
|
getDate(); |
|
|
getDate(); |
|
|
}, 300); |
|
|
}, 300); |
|
|
|
|
|
|
|
|
if (isNumber(index)) { // 选中一级项目 |
|
|
if (isNumber(index)) { |
|
|
|
|
|
// 选中一级项目 |
|
|
data.setSubItem = false; |
|
|
data.setSubItem = false; |
|
|
const query = uni.createSelectorQuery().select(`#cu-${index}`).fields({ |
|
|
const query = uni |
|
|
|
|
|
.createSelectorQuery() |
|
|
|
|
|
.select(`#cu-${index}`) |
|
|
|
|
|
.fields( |
|
|
|
|
|
{ |
|
|
id: true, |
|
|
id: true, |
|
|
dataset: true, |
|
|
dataset: true, |
|
|
rect: true, |
|
|
rect: true, |
|
|
size: true |
|
|
size: true, |
|
|
}, res => { |
|
|
}, |
|
|
|
|
|
res => { |
|
|
data.moveTop = res.top; |
|
|
data.moveTop = res.top; |
|
|
data.moveLeft = res.left; |
|
|
data.moveLeft = res.left; |
|
|
data.moveItem = data.itemList[index]; |
|
|
data.moveItem = data.itemList[index]; |
|
|
data.itemWidth = res.width; |
|
|
data.itemWidth = res.width; |
|
|
data.itemHeight = res.height; |
|
|
data.itemHeight = res.height; |
|
|
}).exec(); |
|
|
}, |
|
|
} else { // 选中二级项目 |
|
|
) |
|
|
let arr = index.split('-'); |
|
|
.exec(); |
|
|
|
|
|
} else { |
|
|
|
|
|
// 选中二级项目 |
|
|
|
|
|
const arr = index.split('-'); |
|
|
data.setSubItem = true; |
|
|
data.setSubItem = true; |
|
|
|
|
|
|
|
|
const query = uni.createSelectorQuery(); |
|
|
const query = uni.createSelectorQuery(); |
|
|
query.select(`#cu-${arr[0] - 0}`).fields({ |
|
|
query |
|
|
|
|
|
.select(`#cu-${arr[0] - 0}`) |
|
|
|
|
|
.fields( |
|
|
|
|
|
{ |
|
|
id: true, |
|
|
id: true, |
|
|
dataset: true, |
|
|
dataset: true, |
|
|
rect: true, |
|
|
rect: true, |
|
|
size: true |
|
|
size: true, |
|
|
}, res => { |
|
|
}, |
|
|
|
|
|
res => { |
|
|
data.itemHeight = res.height; |
|
|
data.itemHeight = res.height; |
|
|
}).exec(); |
|
|
}, |
|
|
|
|
|
) |
|
|
|
|
|
.exec(); |
|
|
|
|
|
|
|
|
query.select(`#cu-${index}`).fields({ |
|
|
query |
|
|
|
|
|
.select(`#cu-${index}`) |
|
|
|
|
|
.fields( |
|
|
|
|
|
{ |
|
|
id: true, |
|
|
id: true, |
|
|
dataset: true, |
|
|
dataset: true, |
|
|
rect: true, |
|
|
rect: true, |
|
|
size: true |
|
|
size: true, |
|
|
}, res => { |
|
|
}, |
|
|
|
|
|
res => { |
|
|
data.moveTop = res.top; |
|
|
data.moveTop = res.top; |
|
|
data.moveLeft = res.left; |
|
|
data.moveLeft = res.left; |
|
|
data.moveItem = data.itemList[arr[0] - 0].sonProjectList[arr[1] - 0]; |
|
|
data.moveItem = data.itemList[arr[0] - 0].sonProjectList[arr[1] - 0]; |
|
|
data.itemWidth = res.width; |
|
|
data.itemWidth = res.width; |
|
|
data.subItemHeight = res.height; |
|
|
data.subItemHeight = res.height; |
|
|
}).exec(); |
|
|
}, |
|
|
|
|
|
) |
|
|
|
|
|
.exec(); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -313,7 +363,7 @@ |
|
|
data.moveLeft = touch.pageX - data.deltaLeft; |
|
|
data.moveLeft = touch.pageX - data.deltaLeft; |
|
|
data.moveTop = touch.pageY - data.deltaTop; |
|
|
data.moveTop = touch.pageY - data.deltaTop; |
|
|
|
|
|
|
|
|
let lastIndex = findOverIndex(touch.pageY, length); |
|
|
const lastIndex = findOverIndex(touch.pageY, length); |
|
|
// 显示下划线 |
|
|
// 显示下划线 |
|
|
for (let i = 0; i < data.itemList.length; i++) { |
|
|
for (let i = 0; i < data.itemList.length; i++) { |
|
|
if (data.moveLeft > 35) { |
|
|
if (data.moveLeft > 35) { |
|
|
@ -324,8 +374,7 @@ |
|
|
} else { |
|
|
} else { |
|
|
data.itemList[i].showSubBorder = false; |
|
|
data.itemList[i].showSubBorder = false; |
|
|
} |
|
|
} |
|
|
} else { |
|
|
} else if (lastIndex === -1) { |
|
|
if (lastIndex === -1) { |
|
|
|
|
|
data.itemList[0].showTopBorder = true; |
|
|
data.itemList[0].showTopBorder = true; |
|
|
data.itemList[i].showSubBorder = false; |
|
|
data.itemList[i].showSubBorder = false; |
|
|
data.itemList[i].showBorder = false; |
|
|
data.itemList[i].showBorder = false; |
|
|
@ -340,24 +389,23 @@ |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function stops(e, index, length) { |
|
|
function stops(e, index, length) { |
|
|
console.log('结束'); |
|
|
console.log('结束'); |
|
|
const touch = e.changedTouches[0]; |
|
|
const touch = e.changedTouches[0]; |
|
|
let lastIndex = findOverIndex(touch.pageY, length); |
|
|
const lastIndex = findOverIndex(touch.pageY, length); |
|
|
|
|
|
|
|
|
// 交换两个值 |
|
|
// 交换两个值 |
|
|
for (let i = 0; i < data.itemList.length; i++) { |
|
|
for (let i = 0; i < data.itemList.length; i++) { |
|
|
// 插入顶部 |
|
|
// 插入顶部 |
|
|
if (data.itemList[i].showTopBorder) { |
|
|
if (data.itemList[i].showTopBorder) { |
|
|
if (isNumber(index)) { |
|
|
if (isNumber(index)) { |
|
|
let Value = data.itemList[index]; |
|
|
const Value = data.itemList[index]; |
|
|
data.itemList.unshift(Value); |
|
|
data.itemList.unshift(Value); |
|
|
data.itemList.splice(index + 1, 1); |
|
|
data.itemList.splice(index + 1, 1); |
|
|
} else { |
|
|
} else { |
|
|
let arr = index.split('-'); |
|
|
const arr = index.split('-'); |
|
|
let Value = data.itemList[arr[0] - 0].sonProjectList[arr[1] - 0]; |
|
|
const Value = data.itemList[arr[0] - 0].sonProjectList[arr[1] - 0]; |
|
|
data.itemList.unshift(Value); |
|
|
data.itemList.unshift(Value); |
|
|
data.itemList[arr[0] - 0].sonProjectList.splice([arr[1] - 0], 1); |
|
|
data.itemList[arr[0] - 0].sonProjectList.splice([arr[1] - 0], 1); |
|
|
const options = { |
|
|
const options = { |
|
|
@ -374,7 +422,7 @@ |
|
|
// 插入一级项目 |
|
|
// 插入一级项目 |
|
|
if (data.itemList[i].showBorder) { |
|
|
if (data.itemList[i].showBorder) { |
|
|
if (isNumber(index)) { |
|
|
if (isNumber(index)) { |
|
|
let Value = data.itemList[index]; |
|
|
const Value = data.itemList[index]; |
|
|
data.itemList.splice(i + 1, 0, Value); |
|
|
data.itemList.splice(i + 1, 0, Value); |
|
|
if (i < index) { |
|
|
if (i < index) { |
|
|
data.itemList.splice(index + 1, 1); |
|
|
data.itemList.splice(index + 1, 1); |
|
|
@ -382,8 +430,8 @@ |
|
|
data.itemList.splice(index, 1); |
|
|
data.itemList.splice(index, 1); |
|
|
} |
|
|
} |
|
|
} else { |
|
|
} else { |
|
|
let arr = index.split('-'); |
|
|
const arr = index.split('-'); |
|
|
let Value = data.itemList[arr[0] - 0].sonProjectList[arr[1] - 0]; |
|
|
const Value = data.itemList[arr[0] - 0].sonProjectList[arr[1] - 0]; |
|
|
data.itemList.splice(i + 1, 0, Value); |
|
|
data.itemList.splice(i + 1, 0, Value); |
|
|
data.itemList[arr[0] - 0].sonProjectList.splice([arr[1] - 0], 1); |
|
|
data.itemList[arr[0] - 0].sonProjectList.splice([arr[1] - 0], 1); |
|
|
const options = { |
|
|
const options = { |
|
|
@ -400,7 +448,7 @@ |
|
|
// 插入二级项目 |
|
|
// 插入二级项目 |
|
|
if (data.itemList[i].showSubBorder) { |
|
|
if (data.itemList[i].showSubBorder) { |
|
|
if (isNumber(index)) { |
|
|
if (isNumber(index)) { |
|
|
let Value = data.itemList[index]; |
|
|
const Value = data.itemList[index]; |
|
|
if (data.itemList[lastIndex - 1].sonProjectList && data.itemList[lastIndex - 1].sonProjectList.length) { |
|
|
if (data.itemList[lastIndex - 1].sonProjectList && data.itemList[lastIndex - 1].sonProjectList.length) { |
|
|
data.itemList[lastIndex - 1].sonProjectList.push(Value); |
|
|
data.itemList[lastIndex - 1].sonProjectList.push(Value); |
|
|
} else { |
|
|
} else { |
|
|
@ -415,8 +463,8 @@ |
|
|
}; |
|
|
}; |
|
|
emit('change', options); |
|
|
emit('change', options); |
|
|
} else { |
|
|
} else { |
|
|
let arr = index.split('-'); |
|
|
const arr = index.split('-'); |
|
|
let Value = data.itemList[arr[0] - 0].sonProjectList[arr[1] - 0]; |
|
|
const Value = data.itemList[arr[0] - 0].sonProjectList[arr[1] - 0]; |
|
|
if (data.itemList[lastIndex].sonProjectList && data.itemList[lastIndex].sonProjectList.length) { |
|
|
if (data.itemList[lastIndex].sonProjectList && data.itemList[lastIndex].sonProjectList.length) { |
|
|
data.itemList[lastIndex].sonProjectList.push(Value); |
|
|
data.itemList[lastIndex].sonProjectList.push(Value); |
|
|
} else { |
|
|
} else { |
|
|
@ -457,13 +505,13 @@ |
|
|
// 找到停下的元素的下标 |
|
|
// 找到停下的元素的下标 |
|
|
function findOverIndex(posY) { |
|
|
function findOverIndex(posY) { |
|
|
// 如果有子项目展开着 |
|
|
// 如果有子项目展开着 |
|
|
let leng = data.itemList.length * data.itemHeight; // 最后一个元素距离顶部的距离 |
|
|
const leng = data.itemList.length * data.itemHeight; // 最后一个元素距离顶部的距离 |
|
|
if (posY < data.begintop) { |
|
|
if (posY < data.begintop) { |
|
|
return -1; |
|
|
return -1; |
|
|
} |
|
|
} |
|
|
for (var i = 0; i < data.itemList.length; i++) { |
|
|
for (let i = 0; i < data.itemList.length; i++) { |
|
|
let begin = data.itemHeight * i + data.begintop; |
|
|
const begin = data.itemHeight * i + data.begintop; |
|
|
let end = data.itemHeight * i + data.begintop + data.itemHeight; |
|
|
const end = data.itemHeight * i + data.begintop + data.itemHeight; |
|
|
if (begin <= posY && end >= posY) { |
|
|
if (begin <= posY && end >= posY) { |
|
|
return i; |
|
|
return i; |
|
|
} |
|
|
} |
|
|
@ -471,7 +519,8 @@ |
|
|
if (posY > leng) { |
|
|
if (posY > leng) { |
|
|
// 交换最后一个 |
|
|
// 交换最后一个 |
|
|
return data.itemList.length - 1; |
|
|
return data.itemList.length - 1; |
|
|
} else if (posY < data.begintop) { |
|
|
} |
|
|
|
|
|
if (posY < data.begintop) { |
|
|
return 0; |
|
|
return 0; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@ -482,9 +531,7 @@ |
|
|
title: '', |
|
|
title: '', |
|
|
content: '是否删除项目?', |
|
|
content: '是否删除项目?', |
|
|
showCancel: true, |
|
|
showCancel: true, |
|
|
success: async ({ |
|
|
success: async ({ confirm }) => { |
|
|
confirm |
|
|
|
|
|
}) => { |
|
|
|
|
|
if (confirm) { |
|
|
if (confirm) { |
|
|
await uni.$u.api.delProject(id); |
|
|
await uni.$u.api.delProject(id); |
|
|
let flag_index = 0; |
|
|
let flag_index = 0; |
|
|
@ -501,11 +548,24 @@ |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function exportProject(id, url) { |
|
|
|
|
|
uni.showModal({ |
|
|
|
|
|
title: '', |
|
|
|
|
|
content: '是否导出项目?', |
|
|
|
|
|
showCancel: true, |
|
|
|
|
|
success: async ({ confirm }) => { |
|
|
|
|
|
if (confirm) { |
|
|
|
|
|
const data = await uni.$u.post(`${url}/tall/project/exportWbs`, { projectId: id }); |
|
|
|
|
|
// console.log('data', data); |
|
|
|
|
|
window.location.href = data.url; |
|
|
|
|
|
} |
|
|
|
|
|
}, |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// 跳转工作台 |
|
|
// 跳转工作台 |
|
|
function toWorkbench() { |
|
|
function toWorkbench() { |
|
|
uni.navigateTo({ |
|
|
uni.navigateTo({ url: '/pages/workbench/workbench' }); |
|
|
url: '/pages/workbench/workbench' |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
} |
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
@ -535,10 +595,10 @@ |
|
|
line-height: 36px; |
|
|
line-height: 36px; |
|
|
border-radius: 18px; |
|
|
border-radius: 18px; |
|
|
overflow: hidden; |
|
|
overflow: hidden; |
|
|
border: 1px solid #2B85E4; |
|
|
border: 1px solid #2b85e4; |
|
|
background-color: #1890FF; |
|
|
background-color: #1890ff; |
|
|
font-size: 12px; |
|
|
font-size: 12px; |
|
|
color: #FFFFFF; |
|
|
color: #ffffff; |
|
|
text-align: center; |
|
|
text-align: center; |
|
|
} |
|
|
} |
|
|
</style> |
|
|
</style> |
|
|
|