|
@@ -8,7 +8,7 @@
|
|
</template>
|
|
</template>
|
|
<template #right>
|
|
<template #right>
|
|
<view class="u-navbar__content__right__item">
|
|
<view class="u-navbar__content__right__item">
|
|
- <u-icon name="more-dot-fill" size="20" color="#000" @click="moreClick('insert', {})"></u-icon>
|
|
|
|
|
|
+ <u-icon name="list" size="20" color="#000" @click="handleSubmit('insert')" ></u-icon>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
</template>
|
|
</u-navbar>
|
|
</u-navbar>
|
|
@@ -22,7 +22,6 @@
|
|
:scrollable="false"
|
|
:scrollable="false"
|
|
></u-tabs>
|
|
></u-tabs>
|
|
</u-sticky>
|
|
</u-sticky>
|
|
-
|
|
|
|
<oa-scroll
|
|
<oa-scroll
|
|
customClass="list-container scroll-height"
|
|
customClass="list-container scroll-height"
|
|
:pageSize="pageSize"
|
|
:pageSize="pageSize"
|
|
@@ -51,13 +50,16 @@
|
|
<view class="list-cell" style="color: #666666; line-height: 25px" v-for="(base, index) in dataList" :key="index">
|
|
<view class="list-cell" style="color: #666666; line-height: 25px" v-for="(base, index) in dataList" :key="index">
|
|
<view class="content-area-top menu-item">
|
|
<view class="content-area-top menu-item">
|
|
<view class="content-area-top-time"> </view>
|
|
<view class="content-area-top-time"> </view>
|
|
- <u-icon class="content-area-top-icon" name="more-dot-fill" size="20" color="#000" @click="moreClick('update', base)"></u-icon>
|
|
|
|
|
|
+ <u-icon class="content-area-top-icon" name="man-delete" size="20" color="orange" @click="tips('warn',`确认退出名为 '${base.projectName}' 的项目?`,base,'exit')"
|
|
|
|
+ v-if="base.projectHead != useStore.userId && base.createBy != useStore.name && base.projectMember.indexOf(useStore.userId) != -1"></u-icon>
|
|
|
|
+ <u-icon class="content-area-top-icon" name="edit-pen" size="20" color="rgb(20, 158, 255)" @click="handleSubmit('update',base)" v-if="base.projectHead == useStore.userId || base.createBy == useStore.name"></u-icon>
|
|
|
|
+ <u-icon class="content-area-top-icon" name="trash" size="20" color="red" @click="tips('error',`确认删除名为 '${base.projectName}' 的项目?`,base,'delete')" v-if="base.projectHead == useStore.userId || base.createBy == useStore.name"></u-icon>
|
|
</view>
|
|
</view>
|
|
<view class="content-area-row_wrap menu-item">
|
|
<view class="content-area-row_wrap menu-item">
|
|
- <view class="content-area-row_wrap-view"> 项目名称:{{ base.projectName }} </view>
|
|
|
|
- <view class="content-area-row_wrap-view"> 项目负责人: {{ proxy.$common.mapping("nickName", "userId", base.projectHead, userDate) }} </view>
|
|
|
|
|
|
+ <view class="content-area-row_wrap-view"> <strong>{{ base.projectName }}</strong> </view>
|
|
|
|
+ <view class="content-area-row_wrap-view"> 负责人: {{ proxy.$common.mapping("nickName", "userId", base.projectHead, userDate) }} </view>
|
|
<view class="content-area-row_wrap-view">
|
|
<view class="content-area-row_wrap-view">
|
|
- 项目状态:
|
|
|
|
|
|
+ 状态:
|
|
<view class="content-area-row_wrap-view-status" v-if="base.projectStatus == 1" style="background-color: #909399"> 未开始 </view>
|
|
<view class="content-area-row_wrap-view-status" v-if="base.projectStatus == 1" style="background-color: #909399"> 未开始 </view>
|
|
<view class="content-area-row_wrap-view-status" v-if="base.projectStatus == 2" style="background-color: #23dedc"> 进行中 </view>
|
|
<view class="content-area-row_wrap-view-status" v-if="base.projectStatus == 2" style="background-color: #23dedc"> 进行中 </view>
|
|
<view class="content-area-row_wrap-view-status" v-if="base.projectStatus == 3" style="background-color: #16bf00"> 已完成 </view>
|
|
<view class="content-area-row_wrap-view-status" v-if="base.projectStatus == 3" style="background-color: #16bf00"> 已完成 </view>
|
|
@@ -65,7 +67,7 @@
|
|
<view class="content-area-row_wrap-view-status" v-if="base.projectStatus == 5" style="background-color: #f56c6c"> 已作废 </view>
|
|
<view class="content-area-row_wrap-view-status" v-if="base.projectStatus == 5" style="background-color: #f56c6c"> 已作废 </view>
|
|
</view>
|
|
</view>
|
|
<view class="content-area-row_wrap-view" style="display: block">
|
|
<view class="content-area-row_wrap-view" style="display: block">
|
|
- 项目成员:<span>{{ proxy.$common.mapping("nickName", "userId", base.projectMember, userDate) }} </span>
|
|
|
|
|
|
+ 成员:<span>{{ proxy.$common.mapping("nickName", "userId", base.projectMember, userDate) }} </span>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
@@ -74,15 +76,10 @@
|
|
</oa-scroll>
|
|
</oa-scroll>
|
|
|
|
|
|
<oa-tabbar :tabbarValue="2" :tabbarList="proxy.$constData.projectTabbar" :isSwitchTab="false"></oa-tabbar>
|
|
<oa-tabbar :tabbarValue="2" :tabbarList="proxy.$constData.projectTabbar" :isSwitchTab="false"></oa-tabbar>
|
|
-
|
|
|
|
- <u-modal :show="modalShow" title="" :cancelText="'取消'" :zoom="false" :showConfirmButton="false" :showCancelButton="true" @cancel="modalShow = false">
|
|
|
|
- <view class="slot-content">
|
|
|
|
- <view @click="handleSubmit('insert')" v-if="modalType === 'insert'">添加项目</view>
|
|
|
|
- <view class="mb20" @click="handleSubmit('update')" v-if="modalType === 'update' && modalEvent.projectHead == useStore.userId">编辑项目</view>
|
|
|
|
- <view class="mb20" @click="handleSubmit('delete')" v-if="modalType === 'update' && modalEvent.projectHead == useStore.userId">删除项目</view>
|
|
|
|
- <view class="mb20" @click="handleSubmit('exit')" v-if="modalType === 'update' && modalEvent.projectHead != useStore.userId">退出项目</view>
|
|
|
|
- </view>
|
|
|
|
- </u-modal>
|
|
|
|
|
|
+ <uni-popup ref="alertDialog" type="dialog">
|
|
|
|
+ <uni-popup-dialog :type="state.tip.type" cancelText="取消" confirmText="确定" title="操作提醒" :content="state.tip.content" @confirm="dialogConfirm"
|
|
|
|
+ @close="dialogClose"></uni-popup-dialog>
|
|
|
|
+ </uni-popup>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
<script setup>
|
|
@@ -117,6 +114,13 @@ const state = reactive({
|
|
modalShow: false,
|
|
modalShow: false,
|
|
modalType: "",
|
|
modalType: "",
|
|
modalEvent: {},
|
|
modalEvent: {},
|
|
|
|
+ msgContent:undefined,
|
|
|
|
+ tip:{
|
|
|
|
+ type:undefined,//弹框类型
|
|
|
|
+ content:"",//提示信息
|
|
|
|
+ data:{},//带入数据
|
|
|
|
+ operation:undefined,//操作类型
|
|
|
|
+ }
|
|
});
|
|
});
|
|
|
|
|
|
const { tabsList, tabsCurrent, dataList, pageSize, current, total, userDate, modalShow, modalType, modalEvent } = toRefs(state);
|
|
const { tabsList, tabsCurrent, dataList, pageSize, current, total, userDate, modalShow, modalType, modalEvent } = toRefs(state);
|
|
@@ -130,31 +134,57 @@ function init() {
|
|
});
|
|
});
|
|
selectListApi();
|
|
selectListApi();
|
|
}
|
|
}
|
|
-
|
|
|
|
-function handleSubmit(type) {
|
|
|
|
|
|
+/**
|
|
|
|
+ * 操作弹框提醒
|
|
|
|
+ * @param type 弹框类型
|
|
|
|
+ * @param content 提示内容
|
|
|
|
+ * @param item 带入数据
|
|
|
|
+ * @param operation 操作类型
|
|
|
|
+ */
|
|
|
|
+function tips(type,content,item,operation){
|
|
|
|
+ state.tip.type=type
|
|
|
|
+ state.tip.content=content
|
|
|
|
+ state.tip.data=item
|
|
|
|
+ state.tip.operation=operation
|
|
|
|
+ proxy.$refs.alertDialog.open()
|
|
|
|
+}
|
|
|
|
+/**弹框确定操作 */
|
|
|
|
+function dialogConfirm(){
|
|
|
|
+ if(state.tip.operation =='delete'){
|
|
|
|
+ handleSubmit('delete',state.tip.data)
|
|
|
|
+ }
|
|
|
|
+ if(state.tip.operation=='exit'){
|
|
|
|
+ handleSubmit('exit',state.tip.data)
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+/**弹框取消操作 */
|
|
|
|
+function dialogClose(){
|
|
|
|
+ proxy.$refs.alertDialog.close()
|
|
|
|
+}
|
|
|
|
+function handleSubmit(type,item) {
|
|
if (type === "insert") {
|
|
if (type === "insert") {
|
|
proxy.$tab.navigateTo(`/pages/business/common/projectMange/list/addEdit`);
|
|
proxy.$tab.navigateTo(`/pages/business/common/projectMange/list/addEdit`);
|
|
} else if (type === "update") {
|
|
} else if (type === "update") {
|
|
- proxy.$tab.navigateTo(`/pages/business/common/projectMange/list/addEdit?id=${state.modalEvent.id}`);
|
|
|
|
|
|
+ proxy.$tab.navigateTo(`/pages/business/common/projectMange/list/addEdit?id=${item.id}`);
|
|
} else if (type === "delete") {
|
|
} else if (type === "delete") {
|
|
projectApi()
|
|
projectApi()
|
|
- .ProjectsDelete(state.modalEvent.id)
|
|
|
|
- .then((requset) => {
|
|
|
|
- proxy.$modal.msg("删除成功!");
|
|
|
|
|
|
+ .ProjectsDelete(item.id)
|
|
|
|
+ .then(() => {
|
|
|
|
+ proxy.$modal.msg("项目删除成功!");
|
|
selectListApi();
|
|
selectListApi();
|
|
})
|
|
})
|
|
.catch((errors) => {
|
|
.catch((errors) => {
|
|
- proxy.$modal.msg("删除失败,请稍后重试!");
|
|
|
|
|
|
+ proxy.$modal.msg(errors);
|
|
});
|
|
});
|
|
} else if (type === "exit") {
|
|
} else if (type === "exit") {
|
|
projectApi()
|
|
projectApi()
|
|
- .ProjectsExit(state.modalEvent.id)
|
|
|
|
- .then((requset) => {
|
|
|
|
- proxy.$modal.msg("退出成功!");
|
|
|
|
|
|
+ .ProjectsExit(item.id)
|
|
|
|
+ .then(() => {
|
|
|
|
+ proxy.$modal.msg("项目退出成功!");
|
|
selectListApi();
|
|
selectListApi();
|
|
})
|
|
})
|
|
.catch((errors) => {
|
|
.catch((errors) => {
|
|
- proxy.$modal.msg("退出失败,请稍后重试!");
|
|
|
|
|
|
+ proxy.$modal.msg(errors);
|
|
});
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
@@ -219,6 +249,7 @@ function tabsClick(e) {
|
|
onReady(() => {});
|
|
onReady(() => {});
|
|
|
|
|
|
onShow(() => {
|
|
onShow(() => {
|
|
|
|
+ init();
|
|
//调用系统主题颜色
|
|
//调用系统主题颜色
|
|
proxy.$settingStore.systemThemeColor([1]);
|
|
proxy.$settingStore.systemThemeColor([1]);
|
|
});
|
|
});
|
|
@@ -240,7 +271,8 @@ onLoad((options) => {
|
|
font-size: 16px;
|
|
font-size: 16px;
|
|
font-weight: 600;
|
|
font-weight: 600;
|
|
color: #000000;
|
|
color: #000000;
|
|
-
|
|
|
|
|
|
+ width:30%;
|
|
|
|
+ float: right;
|
|
&-time {
|
|
&-time {
|
|
max-width: 70%;
|
|
max-width: 70%;
|
|
margin: auto 0;
|
|
margin: auto 0;
|