feat:增加项目授权以及修改新建项目

This commit is contained in:
lixg
2022-11-28 22:47:30 +08:00
parent 032df5bb71
commit 33e9e1bb93
16 changed files with 1135 additions and 665 deletions

View File

@@ -376,10 +376,14 @@
<div class="in select">
<a-select
v-model:value="value2"
placeholder="四个养成"
placeholder="请选择分类"
:options="classifyList"
@change="classificationChange"
style="border-radius: 8px; height: 40px"
:fieldNames="{
label: 'dictName',
value: 'dictCode',
}"
/>
</div>
</div>
@@ -399,6 +403,7 @@
:options="classifyList1"
@change="classificationChange1"
style="border-radius: 8px; height: 40px"
@popupScroll="memberScroll"
/>
</div>
</div>
@@ -411,13 +416,20 @@
</div>
<div class="inname">资源归属:</div>
<div class="in select">
<a-select
<a-tree-select
v-model:value="value5"
placeholder="请选择资源归属"
:options="classifyList5"
:tree-data="classifyList5"
@change="classificationChange5"
style="border-radius: 8px; height: 40px"
/>
:fieldNames="{
children: 'treeChildList',
label: 'name',
value: 'id',
}"
>
</a-tree-select>
</div>
</div>
<div class="pubtn">
@@ -498,10 +510,14 @@
<div class="in select">
<a-select
v-model:value="edvalue2"
placeholder="四个养成"
placeholder="请选择分类"
:options="classifyList"
@change="edclassificationChange"
style="border-radius: 8px; height: 40px"
:fieldNames="{
label: 'dictName',
value: 'dictCode',
}"
/>
</div>
</div>
@@ -521,6 +537,7 @@
:options="classifyList1"
@change="edclassificationChange1"
style="border-radius: 8px; height: 40px"
@popupScroll="memberScroll"
/>
</div>
</div>
@@ -533,13 +550,20 @@
</div>
<div class="inname">资源归属:</div>
<div class="in select">
<a-select
<a-tree-select
v-model:value="edvalue5"
placeholder="请选择资源归属"
:options="classifyList5"
:tree-data="classifyList5"
@change="edclassificationChange5"
style="border-radius: 8px; height: 40px"
/>
:fieldNames="{
children: 'treeChildList',
label: 'name',
value: 'id',
}"
>
</a-tree-select>
</div>
</div>
<div class="pubtn">
@@ -620,8 +644,12 @@
v-model:value="value7"
@change="classificationChange2"
:options="classifyList2"
placeholder="四个养成"
placeholder="请选择分类"
style="border-radius: 8px; height: 40px"
:fieldNames="{
label: 'dictName',
value: 'dictCode',
}"
/>
</div>
</div>
@@ -641,6 +669,7 @@
:options="classifyList3"
placeholder="自动带出 可编辑"
style="border-radius: 8px; height: 40px"
@popupScroll="memberScroll"
/>
</div>
</div>
@@ -653,13 +682,20 @@
</div>
<div class="inname">资源归属:</div>
<div class="in select">
<a-select
<a-tree-select
v-model:value="value9"
@change="classificationChange4"
:options="classifyList4"
placeholder="请选择资源归属"
:options="classifyList4"
:tree-data="classifyList4"
@change="classificationChange4"
style="border-radius: 8px; height: 40px"
/>
:fieldNames="{
children: 'treeChildList',
label: 'name',
value: 'id',
}"
>
</a-tree-select>
</div>
</div>
<div class="pubtn">
@@ -746,8 +782,12 @@
v-model:value="edvalue7"
@change="edclassificationChange2"
:options="classifyList2"
placeholder="四个养成"
placeholder="请选择分类"
style="border-radius: 8px; height: 40px"
:fieldNames="{
label: 'dictName',
value: 'dictCode',
}"
/>
</div>
</div>
@@ -767,6 +807,7 @@
:options="classifyList3"
placeholder="自动带出 可编辑"
style="border-radius: 8px; height: 40px"
@popupScroll="memberScroll"
/>
</div>
</div>
@@ -779,13 +820,20 @@
</div>
<div class="inname">资源归属:</div>
<div class="in select">
<a-select
<a-tree-select
v-model:value="edvalue9"
@change="edclassificationChange4"
:options="classifyList4"
placeholder="请选择资源归属"
:options="classifyList4"
:tree-data="classifyList4"
@change="edclassificationChange4"
style="border-radius: 8px; height: 40px"
/>
:fieldNames="{
children: 'treeChildList',
label: 'name',
value: 'id',
}"
>
</a-tree-select>
</div>
</div>
<div class="pubtn">
@@ -1128,30 +1176,48 @@
v-model:ProjPvisible="ProjPvisible"
:selectProjectId="selectProjectId"
/>
<!-- 查看权抽屉 -->
<proj-check-ship
v-model:ProjCheckvisible="ProjCheckvisible"
:selectProjectId="selectProjectId"
classify="checkship"
v-model:addAuthList="addAuthList"
:authClassify="authClassify"
/>
<!-- 管理权抽屉 -->
<proj-manage-ship v-model:ProjManagevisible="ProjManagevisible" />
<proj-check-ship
v-model:ProjCheckvisible="ProjCheckvisible"
:selectProjectId="selectProjectId"
classify="checkship"
v-model:addAuthList="addAuthList"
:authClassify="authClassify"
/>
</div>
</template>
<script>
import { reactive, toRefs, onMounted, ref } from "vue";
import { reactive, toRefs, onMounted, ref, watch, computed } from "vue";
import { message } from "ant-design-vue";
import { useRouter } from "vue-router";
import ProjOwnerShip from "../../components/drawers/ProjectOwn";
import ProjPowerList from "../../components/drawers/ProjPowerList";
import ProjCheckShip from "../../components/drawers/ProjCheckPower";
import ProjManageShip from "../../components/drawers/ProjManagePower";
// import ProjManageShip from "../../components/drawers/ProjManagePower";
import * as api from "../../api/index";
import { toDate } from "../../api/method";
import * as api1 from "../../api/index1";
import { toDate, scrollLoad } from "../../api/method";
import { storage } from "../../api/storage";
import { useStore } from "vuex";
export default {
name: "projectManage",
components: { ProjOwnerShip, ProjPowerList, ProjCheckShip, ProjManageShip },
components: {
ProjOwnerShip,
ProjPowerList,
ProjCheckShip,
// ProjManageShip
},
setup() {
const store = useStore();
const state = reactive({
projectName: null,
selectTime: null,
@@ -1205,6 +1271,12 @@ export default {
copyProjectId: null, //复制项目id
selectProjectId: null, //选择的授权id
addAuthList: null, //确定授权列表
authClassify: null, //显示的是管理权还是查看权
currentPage1: 1, //项目经理分页
pageSize1: 10,
});
// 数据接入 - start -
const router = useRouter();
@@ -1309,9 +1381,7 @@ export default {
// 项目分类
const classifyList = ref([
{ value: 1, label: "管理者" },
{ value: 2, label: "领军者" },
{ value: 3, label: "产业人" },
// { value: 1, label: "管理者" },
]);
const classifyList1 = ref([
@@ -1324,7 +1394,7 @@ export default {
const value2 = ref([]);
const value3 = ref([]);
const value4 = ref("");
const value5 = ref([]);
const value5 = ref(null);
const edvalue1 = ref("");
const edvalue2 = ref([]);
@@ -1378,12 +1448,13 @@ export default {
edsource = key;
};
const classifyList5 = ref([
{ value: 1, label: "项目一" },
{ value: 2, label: "项目二" },
{ value: 3, label: "项目三" },
]);
// const classifyList5 = ref([
// // { value: 1, label: "项目一" },
// ]);
// 资源归属 sourceBelongId 后续给接口
const classifyList5 = computed(() => {
return store.state.orgtreeList ? store.state.orgtreeList : ref([]);
});
let sourceBelongId = 0;
const classificationChange5 = (key) => {
console.log(`selected ${key}`);
@@ -1393,7 +1464,7 @@ export default {
let type = "";
const classificationChange = (key) => {
console.log(`selected ${key}`);
console.log(classifyList.value[key - 1].label);
// console.log(classifyList.value[key - 1].label);
type = key;
};
@@ -1500,7 +1571,7 @@ export default {
value2.value = [];
value3.value = [];
value4.value = "";
value5.value = [];
value5.value = "";
state.doublepro = false;
};
console.log(edmanage, edmanageid);
@@ -1604,9 +1675,7 @@ export default {
const value9 = ref([]);
const classifyList2 = ref([
{ value: 1, label: "管理者" },
{ value: 2, label: "领军者" },
{ value: 3, label: "产业人" },
// { value: 1, label: "管理者" },
]);
let categoryT = "";
@@ -1616,9 +1685,7 @@ export default {
};
const classifyList3 = ref([
{ value: 1, label: "李俊国" },
{ value: 2, label: "将小米" },
{ value: 3, label: "刘孟君" },
// { value: 1, label: "李俊国" },
]);
let managerT = "";
@@ -1641,12 +1708,10 @@ export default {
managerT = mstr;
managerIdT = midstr;
};
const classifyList4 = ref([
{ value: 1, label: "项目一" },
{ value: 2, label: "项目二" },
{ value: 3, label: "项目三" },
]);
// 资源归属 sourceBelongId 后续给接口
const classifyList4 = computed(() => {
return store.state.orgtreeList ? store.state.orgtreeList : ref([]);
});
let sourceBelongIdT = "";
const classificationChange4 = (key) => {
@@ -1871,6 +1936,75 @@ export default {
state.eddoublesonpro = false;
};
//获取分类、封面图、项目级别、培训分类-----------字典配置-------------------------------
const getDictList = (param) => {
let obj = {
pageNo: 1,
pageSize: 20,
setCode: param,
};
api1
.getDict(obj)
.then((res) => {
console.log("获取字典成功", res);
if (res.status === 200) {
if (param === "projectClass") {
classifyList.value = res.data.data.rows;
classifyList2.value = res.data.data.rows;
}
}
})
.catch((err) => {
console.log("获取字典失败", err);
});
};
getDictList("projectClass");
// getDictList("projectLevel");
// getDictList("projectSys");
//获取分类、封面图、项目级别、培训分类---------------字典配置---------------------------
//获取学员
const getMember = () => {
api1
.getMemberInfo({
pageNo: state.currentPage1,
pageSize: state.pageSize1,
keyWord: "",
})
.then((res) => {
if (res.data.code === 200) {
let arr = res.data.data.rows;
let array = classifyList1.value;
arr.map((value) => {
let obj = {
value: value.id,
label: value.realName,
};
array.push(obj);
});
classifyList1.value = array;
classifyList3.value = array;
console.log("获取学员", res.data);
// classifyList1.value = res.data.data.rows;
// state.tableDataTotal = res.data.data.total;
// return res.data.data.rows;
}
});
};
getMember();
//学员滚动加载信息
const memberScroll = (e) => {
// console.log("滚动", e, b);
let num = scrollLoad(e);
if (num === 1) {
state.currentPage1 = 1;
} else if (num === 2) {
// 如果滑到底部,则加载下一页
state.currentPage1++;
getMember();
}
};
//打开发布弹窗
const showProjectPub = (object) => {
state.projectPub = true;
@@ -2081,7 +2215,10 @@ export default {
state.reviewModal = true;
};
//确认提交审核
const reviewProject = () => {};
const reviewProject = () => {
state.reviewModal = false;
message.success("提交成功");
};
//关闭提交审核弹窗
const closeReviewModal = () => {
state.reviewModal = false;
@@ -2092,7 +2229,10 @@ export default {
state.recallReviewModal = true;
};
//确认提交审核
const recallReviewProject = () => {};
const recallReviewProject = () => {
state.recallReviewModal = false;
message.success("撤回成功");
};
//关闭提交审核弹窗
const closeRecallReviewModal = () => {
state.recallReviewModal = false;
@@ -2285,7 +2425,7 @@ export default {
<a-select-option value="管理权" label="管理权">
<div
onClick={() => {
showProjManage();
showProjManage(value.record.projectId);
}}
>
管理权
@@ -2368,7 +2508,7 @@ export default {
<div
onClick={() => {
console.log("点击了111");
showProjOwner();
showProjOwner(value.record.projectId);
}}
>
归属权
@@ -2387,7 +2527,7 @@ export default {
<a-select-option value="管理权" label="管理权">
<div
onClick={() => {
showProjManage();
showProjManage(value.record.projectId);
}}
>
管理权
@@ -2457,7 +2597,7 @@ export default {
<div
onClick={() => {
console.log("点击了111");
showProjOwner();
showProjOwner(value.record.projectId);
}}
>
归属权
@@ -2476,7 +2616,7 @@ export default {
<a-select-option value="管理权" label="管理权">
<div
onClick={() => {
showProjManage();
showProjManage(value.record.projectId);
}}
>
管理权
@@ -2578,7 +2718,7 @@ export default {
<div
onClick={() => {
console.log("点击了111");
showProjOwner();
showProjOwner(value.record.projectId);
}}
>
归属权
@@ -2597,7 +2737,7 @@ export default {
<a-select-option value="管理权" label="管理权">
<div
onClick={() => {
showProjManage();
showProjManage(value.record.projectId);
}}
>
管理权
@@ -2672,7 +2812,7 @@ export default {
<div
onClick={() => {
console.log("点击了111");
showProjOwner();
showProjOwner(value.record.projectId);
}}
>
归属权
@@ -2691,7 +2831,7 @@ export default {
<a-select-option value="管理权" label="管理权">
<div
onClick={() => {
showProjManage();
showProjManage(value.record.projectId);
}}
>
管理权
@@ -2745,7 +2885,7 @@ export default {
<div
onClick={() => {
console.log("点击了111");
showProjOwner();
showProjOwner(value.record.projectId);
}}
>
归属权
@@ -2764,7 +2904,7 @@ export default {
<a-select-option value="管理权" label="管理权">
<div
onClick={() => {
showProjManage();
showProjManage(value.record.projectId);
}}
>
管理权
@@ -2919,7 +3059,7 @@ export default {
<div
onClick={() => {
console.log("点击了111");
showProjOwner();
showProjOwner(value.record.projectId);
}}
>
归属权
@@ -2938,7 +3078,7 @@ export default {
<a-select-option value="管理权" label="管理权">
<div
onClick={() => {
showProjManage();
showProjManage(value.record.projectId);
}}
>
管理权
@@ -3265,11 +3405,15 @@ export default {
state.ProjPvisible = true;
};
const showProjCheck = (id) => {
state.authClassify = 1;
state.selectProjectId = id;
state.ProjCheckvisible = true;
};
const showProjManage = () => {
state.ProjManagevisible = true;
const showProjManage = (id) => {
state.authClassify = 2;
state.selectProjectId = id;
// state.ProjManagevisible = true;
state.ProjCheckvisible = true;
};
const closeReminderModal = () => {
@@ -3279,6 +3423,36 @@ export default {
state.reminderModal = false;
state.estabish = true;
};
//添加权限
watch(
() => state.addAuthList,
(res) => {
console.log("res", res, state.addAuthList);
let obj = {
type: 2,
tag:
state.authClassify === 1 ? 3 : state.authClassify === 2 ? 4 : null,
opt: 3,
deptList: res[1],
groupList: res[2],
refId: state.selectProjectId,
pageNo: 20,
pageSize: 1,
studentList: res[0],
};
console.log("obj", obj);
api1
.optionAuthPerm(obj)
.then((res) => {
console.log("添加授权成功", res);
message.success("添加授权成功");
})
.catch((err) => {
console.log("添加授权失败", err);
});
}
);
return {
...toRefs(state),
selectProjectName,
@@ -3388,6 +3562,7 @@ export default {
copyProject,
closeReminderModal,
okReminderModal,
memberScroll,
};
},
};