mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-20 16:26:45 +08:00
feat:增加项目授权以及修改新建项目
This commit is contained in:
@@ -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,
|
||||
};
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user