feat:合并

This commit is contained in:
lixg
2022-12-11 10:54:01 +08:00
15 changed files with 1961 additions and 1103 deletions

View File

@@ -39,7 +39,7 @@
</a-select>
</div>
<div class="select fitems">
<a-select
<!-- <a-select
v-model:value="categoryId"
dropdownClassName="dropdown-style"
style="width: 200px"
@@ -47,19 +47,39 @@
:options="options2"
allowClear
showSearch
></a-select>
></a-select> -->
<a-tree-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model:value="categoryId"
show-search
style="width: 200px"
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
placeholder="请选择内容分类"
allow-clear
tree-default-expand-all
:tree-data="options2222"
>
<template #title="{ value: val, title }">
<b v-if="val === '11111'" style="color: #08c">sss</b>
<template v-else>{{ title }}</template>
</template>
</a-tree-select>
</div>
<div class="select fitems">
<a-range-picker
v-model:value="projectTime"
style="width: 420px"
valueFormat="X"
separator="至"
:placeholder="[
' 开始时间(创建时间)',
' 结束时间(创建时间)',
]"
/>
<div class="select addTimeBox">
<div class="addTime">创建时间</div>
<a-range-picker
v-model:value="projectTime"
style="width: 420px"
valueFormat="X"
separator="至"
:placeholder="[' 开始时间', ' 结束时间']"
/>
</div>
</div>
</div>
</div>
@@ -73,10 +93,10 @@
<div class="btnText">重置</div>
</div>
<!-- 2022-11-30注释 后面放开 -->
<div class="btn btn3" @click="openMessage">
<!-- <div class="btn btn3" @click="openMessage">
<div class="search"></div>
<div class="btnText">导出</div>
</div>
</div> -->
<div class="btn btn4" @click="of_hShow">
<div class="search"></div>
<div class="btnText">新建课程</div>
@@ -115,16 +135,24 @@
</div>
<span style="margin-right: 3px">课程名称</span>
</div>
<div class="b_input">
<a-input
v-model:value="xzinputV1"
maxlength="20"
style="width: 440px; height: 40px; border-radius: 8px"
<div class="in b_input">
<NameInput
placeholder="请输入课程名称"
/>
<div class="inp_num">
<span style="color: #c7cbd2">{{ xzinputV1.length }}/20</span>
</div>
v-model:value="xzinputV1"
v-model:validate="validate"
:maxlength="20"
show-count
:type="2"
></NameInput>
<!-- <a-input-->
<!-- v-model:value="xzinputV1"-->
<!-- maxlength="20"-->
<!-- style="width: 440px; height: 40px; border-radius: 8px"-->
<!-- placeholder="请输入课程名称"-->
<!-- />-->
<!-- <div class="inp_num">-->
<!-- <span style="color: #c7cbd2">{{ xzinputV1.length }}/20</span>-->
<!-- </div>-->
</div>
</div>
<div class="b_sub">
@@ -319,14 +347,22 @@
<span style="margin-right: 14px">课程名称</span>
</div>
<div class="item_inp">
<div class="i1_input">
<a-input
aria-readonly="true"
v-model:value="qdms_inputV1"
maxlength="90"
style="width: 440px; height: 40px; border-radius: 8px"
<div class="in i1_input">
<!-- <a-input-->
<!-- aria-readonly="true"-->
<!-- v-model:value="qdms_inputV1"-->
<!-- maxlength="90"-->
<!-- style="width: 440px; height: 40px; border-radius: 8px"-->
<!-- placeholder="请输入课程名称"-->
<!-- />-->
<NameInput
placeholder="请输入课程名称"
/>
v-model:value="qdms_inputV1"
v-model:validate="validate"
:maxlength="20"
show-count
:type="2"
></NameInput>
<div class="inp_num">
<span style="color: #c7cbd2">
{{ qdms_inputV1.length }}/90
@@ -492,7 +528,7 @@
</div>
<div class="item_inp">
<div class="select i6_input">
<a-select
<!-- <a-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
@@ -505,7 +541,30 @@
:options="options2"
allowClear
showSearch
></a-select>
></a-select> -->
<a-tree-select
:getPopupContainer="
(triggerNode) => {
return triggerNode.parentNode || document.body;
}
"
v-model:value="fen_lei"
show-search
style="width: 440px"
:dropdown-style="{
maxHeight: '400px',
overflow: 'auto',
}"
placeholder="请选择内容分类"
allow-clear
tree-default-expand-all
:tree-data="options2222"
>
<template #title="{ value: val, title }">
<b v-if="val === '11111'" style="color: #08c">sss</b>
<template v-else>{{ title }}</template>
</template>
</a-tree-select>
</div>
</div>
</div>
@@ -1674,6 +1733,7 @@
>
签到
</a> -->
<a
@click="
() => {
@@ -2717,6 +2777,7 @@ import { useRouter, useRoute } from "vue-router";
import addOnlineCourse from "../../components/Modals/addOnlineCourse.vue";
import ProjOwnerShip from "../../components/drawers/ProjectOwn";
import NameInput from "../../components/project/NameInput";
import ProjPowerList from "../../components/drawers/ProjPowerList";
import ProjCheckShip from "../../components/drawers/ProjCheckPower";
import AssessmentList from "../../components/drawers/AssessmentList.vue";
@@ -3270,6 +3331,7 @@ export default defineComponent({
ProjPowerList,
ProjCheckShip,
AssessmentList,
NameInput,
// VNodes: (_, {attrs}) => {
// return attrs.vnodes;
// },
@@ -3500,6 +3562,7 @@ export default defineComponent({
imageUrl: "",
imgList: [],
validate: true,
pageSize2: 10,
currentPage2: 0,
@@ -3546,6 +3609,130 @@ export default defineComponent({
codevisible: false, //二维码弹窗
codeInfo: null, //二维码内容
codeUrl: codeUrl,
// 课程三级分类
options2222: [
{
title: "领导力",
value: "100",
selectable: false,
children: [
{
title: "领导业务",
value: "1001",
},
{
title: "领导团队",
value: "1002",
},
{
title: "领导自我",
value: "1003",
},
],
},
{
title: "专业力",
value: "200",
selectable: false,
children: [
{
title: "研发",
value: "2001",
},
{
title: "产品和解决方案",
value: "2002",
},
{
title: "生产技术与制造",
value: "2003",
},
{
title: "供应链",
value: "2004",
},
{
title: "营销",
value: "2005",
},
{
title: "品质",
value: "2006",
},
{
title: "战略与企划",
value: "2007",
},
{
title: "流程管理",
value: "2008",
},
{
title: "业绩管理",
value: "2009",
},
{
title: "项目管理",
value: "20010",
},
{
title: "信息技术",
value: "20011",
},
{
title: "环境与安全",
value: "20012",
},
{
title: "人力资源",
value: "20013",
},
{
title: "企业文化",
value: "20014",
},
{
title: "品牌",
value: "20015",
},
{
title: "财务",
value: "20016",
},
{
title: "法务",
value: "20017",
},
{
title: "行政",
value: "20018",
},
{
title: "医工",
value: "20019",
},
],
},
{
title: "通用力",
value: "300",
selectable: false,
children: [
{
title: "职业操守与道德",
value: "3001",
},
{
title: "职业素养与技能",
value: "3002",
},
{
title: "规章制度",
value: "3003",
},
],
},
],
});
const showStuAdd = (record) => {
@@ -3767,15 +3954,35 @@ export default defineComponent({
},
true
);
// datas.forEach((itm) => {
// itm.pageNo = pageNo;
// for (let item of options2.value) {
// if (String(item.value) === String(itm.content)) {
// itm.contentTxt = item.label;
// return false;
// }
// }
// });
datas.forEach((itm) => {
itm.pageNo = pageNo;
for (let item of options2.value) {
if (String(item.value) === String(itm.content)) {
itm.contentTxt = item.label;
return false;
console.log(itm);
for (let i = 0; i < options2.value.length; i++) {
for (let j = 0; j < options2.value[i].children.length; j++) {
if (
String(options2.value[i].children[j].value) ===
String(itm.categoryId)
) {
console.log();
itm.contentTxt = options2.value[i].children[j].title;
return false;
}
}
}
});
console.log(datas, options2.value);
state.tableData1 = datas;
};
getTableDate();
@@ -4009,15 +4216,16 @@ export default defineComponent({
// }
}
if (param === "faceclassClass") {
let arr = res.data.data.rows;
let newArr = [];
arr.forEach((item) => {
newArr.push({
value: item.dictCode,
label: item.dictName,
});
});
options2.value = newArr;
// let arr = res.data.data.rows;
// let newArr = [];
// arr.forEach((item) => {
// newArr.push({
// value: item.dictCode,
// label: item.dictName,
// });
// });
// console.log(newArr)
options2.value = state.options2222;
}
if (param === "faceclassScene") {
let arr = res.data.data.rows;
@@ -4303,6 +4511,10 @@ export default defineComponent({
message.destroy();
return message.warning("请输入必填项");
}
if (!state.validate) {
message.destroy();
return message.warning("路径图名称重复");
}
console.log(
"state.bs_hs && state.valueE1 == 2",
state.bs_hs,
@@ -4416,7 +4628,10 @@ export default defineComponent({
} else {
state.addLoading = true;
}
if (!state.validate) {
message.destroy();
return message.warning("路径图名称重复");
}
edit(postData).then((res) => {
if (res.data.code === 200) {
getTableDate();
@@ -5496,6 +5711,27 @@ export default defineComponent({
});
</script>
<style lang="scss">
.addTimeBox {
position: relative;
display: flex;
align-items: center;
.addTime {
position: absolute;
z-index: 10;
margin-left: 10px;
color: rgba(0, 0, 0, 0.4);
}
.ant-picker {
padding-left: 85px;
}
.ant-picker-range .ant-picker-active-bar {
margin-left: 85px;
}
}
.aeLoading {
z-index: 10000;
}