mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-15 05:46:45 +08:00
feat:合并
This commit is contained in:
@@ -32,6 +32,7 @@
|
|||||||
v-model:value="name"
|
v-model:value="name"
|
||||||
style="width: 270px; height: 40px; border-radius: 8px"
|
style="width: 270px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入姓名"
|
placeholder="请输入姓名"
|
||||||
|
maxlength="20"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="namecon" style="margin-right: 30px">
|
<div class="namecon" style="margin-right: 30px">
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
v-model:value="inputV1"
|
v-model:value="inputV1"
|
||||||
style="width: 424px; height: 32px"
|
style="width: 424px; height: 32px"
|
||||||
placeholder="请输入活动名称"
|
placeholder="请输入活动名称"
|
||||||
maxlength="20"
|
maxlength="50"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -52,7 +52,8 @@
|
|||||||
v-model:value="textV1"
|
v-model:value="textV1"
|
||||||
placeholder="请输入活动公告"
|
placeholder="请输入活动公告"
|
||||||
allow-clear
|
allow-clear
|
||||||
maxlength="150"
|
:rows="6"
|
||||||
|
show-count :maxlength="200"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -65,7 +66,8 @@
|
|||||||
v-model:value="textV2"
|
v-model:value="textV2"
|
||||||
placeholder="请输入活动说明"
|
placeholder="请输入活动说明"
|
||||||
allow-clear
|
allow-clear
|
||||||
maxlength="150"
|
:rows="6"
|
||||||
|
show-count :maxlength="200"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -127,6 +129,7 @@
|
|||||||
v-model:value="inputV3"
|
v-model:value="inputV3"
|
||||||
style="width: 424px; height: 32px"
|
style="width: 424px; height: 32px"
|
||||||
placeholder="请输入活动地址"
|
placeholder="请输入活动地址"
|
||||||
|
maxlength="100"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -589,7 +592,27 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
margin-bottom: 32px;
|
margin-bottom: 32px;
|
||||||
|
.textarea {
|
||||||
|
width: 423px;
|
||||||
|
|
||||||
|
.ant-input {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input-textarea-show-count {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input-textarea-show-count::after {
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input {
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
.signbox {
|
.signbox {
|
||||||
width: 120px;
|
width: 120px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -27,6 +27,8 @@
|
|||||||
v-model:value="inputV1"
|
v-model:value="inputV1"
|
||||||
style="width: 264px; height: 40px; border-radius: 8px"
|
style="width: 264px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入案例标题"
|
placeholder="请输入案例标题"
|
||||||
|
show-count
|
||||||
|
:maxlength="20"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -46,6 +46,7 @@
|
|||||||
v-model:value="textV1"
|
v-model:value="textV1"
|
||||||
placeholder="请输入讨论说明"
|
placeholder="请输入讨论说明"
|
||||||
allow-clear
|
allow-clear
|
||||||
|
:rows="6"
|
||||||
show-count
|
show-count
|
||||||
:maxlength="200"
|
:maxlength="200"
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -18,7 +18,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-input v-model:value="inputV1" style="width: 424px; height: 32px" placeholder="请输入测评名称"
|
<a-input v-model:value="inputV1" style="width: 424px; height: 32px" placeholder="请输入测评名称"
|
||||||
maxlength="20" />
|
show-count
|
||||||
|
:maxlength="50" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_item">
|
<div class="main_item">
|
||||||
@@ -53,9 +54,9 @@
|
|||||||
<span style="margin-right: 3px">测评说明:</span>
|
<span style="margin-right: 3px">测评说明:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="textarea">
|
<div class="textarea">
|
||||||
<a-textarea maxlength="150" v-model:value="description" placeholder="请输入测评说明"
|
<a-textarea show-count :maxlength="200" v-model:value="description" placeholder="请输入测评说明"
|
||||||
style="width: 424px; height: 120px" allowClear />
|
style="width: 424px;" allowClear :rows="6"/>
|
||||||
<span style="position:relative;top:96px;left:-54px;z-index:9999;">{{ description.length }}/150</span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -423,7 +424,27 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
margin-bottom: 32px;
|
margin-bottom: 32px;
|
||||||
|
.textarea {
|
||||||
|
width: 423px;
|
||||||
|
|
||||||
|
.ant-input {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input-textarea-show-count {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input-textarea-show-count::after {
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input {
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
.signbox {
|
.signbox {
|
||||||
width: 120px;
|
width: 120px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-input v-model:value="courseName" style="width: 384px; height: 32px" placeholder="请输入名称"
|
<a-input v-model:value="courseName" style="width: 384px; height: 32px" placeholder="请输入名称"
|
||||||
maxlength="20"/>
|
:maxlength="50"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_item">
|
<div class="main_item">
|
||||||
@@ -30,10 +30,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<button class="xkbtn" @click="showDrawerSelFacet">
|
<button class="xkbtn" @click="showDrawerSelFacet">
|
||||||
<!--
|
|
||||||
{{ chooseCourse == null ? "选择" : chooseCourseName }}面授课
|
|
||||||
</button> -->
|
|
||||||
|
|
||||||
{{ chooseCourse == null ? "选择" : "重选" }}面授课
|
{{ chooseCourse == null ? "选择" : "重选" }}面授课
|
||||||
</button>
|
</button>
|
||||||
<div v-if="chooseCourse">
|
<div v-if="chooseCourse">
|
||||||
@@ -54,7 +50,7 @@
|
|||||||
<span style="margin-right: 3px">面授说明:</span>
|
<span style="margin-right: 3px">面授说明:</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="textarea">
|
<div class="textarea">
|
||||||
<a-textarea v-model:value="description" placeholder="请输入说明" allow-clear maxlength="100"/>
|
<a-textarea v-model:value="description" placeholder="请输入说明" allow-clear show-count :maxlength="200" :rows="6"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_item">
|
<div class="main_item">
|
||||||
@@ -107,7 +103,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-input v-model:value="address" style="width: 384px; height: 32px" placeholder="请输入上课地址"
|
<a-input v-model:value="address" style="width: 384px; height: 32px" placeholder="请输入上课地址"
|
||||||
maxlength="100"/>
|
:maxlength="100"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_item2">
|
<div class="main_item2">
|
||||||
@@ -797,7 +793,27 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
margin-bottom: 32px;
|
margin-bottom: 32px;
|
||||||
|
.textarea {
|
||||||
|
width: 423px;
|
||||||
|
|
||||||
|
.ant-input {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input-textarea-show-count {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input-textarea-show-count::after {
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input {
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
.signbox {
|
.signbox {
|
||||||
width: 120px;
|
width: 120px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -29,6 +29,7 @@
|
|||||||
v-model:value="valuen"
|
v-model:value="valuen"
|
||||||
placeholder="请输入小组名称"
|
placeholder="请输入小组名称"
|
||||||
style="border-radius: 8px; height: 40px"
|
style="border-radius: 8px; height: 40px"
|
||||||
|
maxlength="20"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -45,6 +46,7 @@
|
|||||||
v-model:value="valueg"
|
v-model:value="valueg"
|
||||||
placeholder="请输入小组长"
|
placeholder="请输入小组长"
|
||||||
style="border-radius: 8px; height: 40px"
|
style="border-radius: 8px; height: 40px"
|
||||||
|
maxlength="20"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
src="../../assets/images/basicinfo/close.png"
|
src="../../assets/images/basicinfo/close.png"
|
||||||
@click="closeDrawer"
|
@click="closeDrawer2"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<a-form
|
<a-form
|
||||||
@@ -31,24 +31,31 @@
|
|||||||
<div class="btnbox">
|
<div class="btnbox">
|
||||||
<a-form-item has-feedback label="作业名称" name="workName">
|
<a-form-item has-feedback label="作业名称" name="workName">
|
||||||
<a-input
|
<a-input
|
||||||
|
|
||||||
v-model:value="formState.workName"
|
v-model:value="formState.workName"
|
||||||
style="width: 424px; height: 32px; margin-left: 35px"
|
style="width: 424px; height: 32px; margin-left: 35px"
|
||||||
placeholder="请输入作业名称"
|
placeholder="请输入作业名称"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
|
show-count :maxlength="50"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_item2">
|
<div class="main_item2">
|
||||||
<a-form-item has-feedback label="作业要求" name="workRequirement">
|
<a-form-item has-feedback label="作业要求" name="workRequirement">
|
||||||
|
<div class="textarea">
|
||||||
|
|
||||||
<a-textarea
|
<a-textarea
|
||||||
v-model:value="formState.workRequirement"
|
v-model:value="formState.workRequirement"
|
||||||
placeholder="请输入作业要求"
|
placeholder="请输入作业要求"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
allow-clear
|
allow-clear
|
||||||
|
|
||||||
|
:rows="6"
|
||||||
style="margin-left: 35px"
|
style="margin-left: 35px"
|
||||||
maxlength="150"
|
show-count :maxlength="200"
|
||||||
/>
|
/></div>
|
||||||
|
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_item">
|
<div class="main_item">
|
||||||
@@ -95,7 +102,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_btns">
|
<div class="main_btns">
|
||||||
<a-button class="btn1" @click="closeDrawer">取消</a-button>
|
<a-button class="btn1" @click="closeDrawer2">取消</a-button>
|
||||||
<a-button class="btn2" html-type="submit" @click="cle">确定</a-button>
|
<a-button class="btn2" html-type="submit" @click="cle">确定</a-button>
|
||||||
</div>
|
</div>
|
||||||
</a-form>
|
</a-form>
|
||||||
@@ -283,6 +290,10 @@ export default {
|
|||||||
state.workEnclosureAddress = "";
|
state.workEnclosureAddress = "";
|
||||||
resetForm();
|
resetForm();
|
||||||
};
|
};
|
||||||
|
const closeDrawer2 = () => {
|
||||||
|
ctx.emit("update:addhomeworkVisible", false);
|
||||||
|
resetForm();
|
||||||
|
};
|
||||||
const afterVisibleChange = () => {
|
const afterVisibleChange = () => {
|
||||||
if (props.EditWorkId > 0) {
|
if (props.EditWorkId > 0) {
|
||||||
state.EditWorkId = props.EditWorkId;
|
state.EditWorkId = props.EditWorkId;
|
||||||
@@ -438,6 +449,7 @@ export default {
|
|||||||
return {
|
return {
|
||||||
afterVisibleChange,
|
afterVisibleChange,
|
||||||
closeDrawer,
|
closeDrawer,
|
||||||
|
closeDrawer2,
|
||||||
handleChange,
|
handleChange,
|
||||||
fileList,
|
fileList,
|
||||||
formState,
|
formState,
|
||||||
@@ -527,7 +539,27 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
margin-bottom: 32px;
|
margin-bottom: 32px;
|
||||||
|
.textarea {
|
||||||
|
width: 423px;
|
||||||
|
|
||||||
|
.ant-input {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input-textarea-show-count {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input-textarea-show-count::after {
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input {
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
.signbox {
|
.signbox {
|
||||||
width: 120px;
|
width: 120px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
v-model:value="name"
|
v-model:value="name"
|
||||||
style="width: 270px; height: 40px; border-radius: 8px"
|
style="width: 270px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入姓名"
|
placeholder="请输入姓名"
|
||||||
|
maxlength="20"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="btns">
|
<div class="btns">
|
||||||
@@ -126,6 +127,7 @@
|
|||||||
v-model:value="nameadd"
|
v-model:value="nameadd"
|
||||||
style="width: 200px; height: 40px; border-radius: 8px"
|
style="width: 200px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入姓名"
|
placeholder="请输入姓名"
|
||||||
|
maxlength="20"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -205,6 +207,7 @@
|
|||||||
v-model:value="nameaddd"
|
v-model:value="nameaddd"
|
||||||
style="width: 200px; height: 40px; border-radius: 8px"
|
style="width: 200px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入姓名"
|
placeholder="请输入姓名"
|
||||||
|
maxlength="20"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -47,7 +47,10 @@
|
|||||||
v-model:value="textV1"
|
v-model:value="textV1"
|
||||||
placeholder="请输入考试说明"
|
placeholder="请输入考试说明"
|
||||||
allow-clear
|
allow-clear
|
||||||
maxlength="364px"
|
show-count
|
||||||
|
:maxlength="200"
|
||||||
|
:rows="6"
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -155,6 +158,7 @@
|
|||||||
v-model:value="inputV4"
|
v-model:value="inputV4"
|
||||||
style="width: 424px; height: 32px"
|
style="width: 424px; height: 32px"
|
||||||
placeholder="请输入直播链接"
|
placeholder="请输入直播链接"
|
||||||
|
:maxlength="100"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -176,6 +180,7 @@
|
|||||||
v-model:value="inputV5"
|
v-model:value="inputV5"
|
||||||
style="width: 424px; height: 32px"
|
style="width: 424px; height: 32px"
|
||||||
placeholder="请输入回放链接"
|
placeholder="请输入回放链接"
|
||||||
|
:maxlength="100"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -881,7 +886,27 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
margin-bottom: 32px;
|
margin-bottom: 32px;
|
||||||
|
.textarea {
|
||||||
|
width: 423px;
|
||||||
|
|
||||||
|
.ant-input {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input-textarea-show-count {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input-textarea-show-count::after {
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input {
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
.signbox {
|
.signbox {
|
||||||
width: 120px;
|
width: 120px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
v-model:value="inputV1"
|
v-model:value="inputV1"
|
||||||
style="width: 240px; height: 40px; border-radius: 8px"
|
style="width: 240px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入项目名称"
|
placeholder="请输入项目名称"
|
||||||
|
maxlength="20"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -15,21 +15,22 @@
|
|||||||
<div class="ipt_name">项目名称:</div>
|
<div class="ipt_name">项目名称:</div>
|
||||||
<div class="fi_input">
|
<div class="fi_input">
|
||||||
<a-input v-model:value="inputV1" style="width: 240px; height: 40px; border-radius: 8px"
|
<a-input v-model:value="inputV1" style="width: 240px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入项目名称" />
|
placeholder="请输入项目名称"
|
||||||
|
maxlength="20"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mii_ipt">
|
<div class="mii_ipt">
|
||||||
<div class="ipt_name">项目经理:</div>
|
<div class="ipt_name">项目经理:</div>
|
||||||
<div class="fi_input">
|
<div class="fi_input">
|
||||||
<a-input v-model:value="inputV2" style="width: 240px; height: 40px; border-radius: 8px"
|
<a-input v-model:value="inputV2" style="width: 240px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入项目经理" />
|
placeholder="请输入项目经理" maxlength="20"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mii_ipt">
|
<div class="mii_ipt">
|
||||||
<div class="ipt_name">创建人:</div>
|
<div class="ipt_name">创建人:</div>
|
||||||
<div class="fi_input">
|
<div class="fi_input">
|
||||||
<a-input v-model:value="inputV3" style="width: 240px; height: 40px; border-radius: 8px"
|
<a-input v-model:value="inputV3" style="width: 240px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入创建人" />
|
placeholder="请输入创建人" maxlength="20"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -42,7 +42,7 @@
|
|||||||
v-model:value="inputV1"
|
v-model:value="inputV1"
|
||||||
style="width: 424px; height: 32px"
|
style="width: 424px; height: 32px"
|
||||||
placeholder="请输入外链名称"
|
placeholder="请输入外链名称"
|
||||||
maxlength="20"
|
show-count :maxlength="50"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -61,6 +61,8 @@
|
|||||||
v-model:value="inputV2"
|
v-model:value="inputV2"
|
||||||
style="width: 424px; height: 32px"
|
style="width: 424px; height: 32px"
|
||||||
placeholder="请输入链接"
|
placeholder="请输入链接"
|
||||||
|
|
||||||
|
show-count :maxlength="100"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -73,6 +75,8 @@
|
|||||||
v-model:value="textV1"
|
v-model:value="textV1"
|
||||||
placeholder="请输入外链说明"
|
placeholder="请输入外链说明"
|
||||||
allow-clear
|
allow-clear
|
||||||
|
:rows="6"
|
||||||
|
show-count :maxlength="200"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
<img
|
<img
|
||||||
style="width: 29px; height: 29px; cursor: pointer"
|
style="width: 29px; height: 29px; cursor: pointer"
|
||||||
src="../../assets/images/basicinfo/close.png"
|
src="../../assets/images/basicinfo/close.png"
|
||||||
@click="closeDrawer"
|
@click="closeDrawer2"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<!-- 2022-11-30注释 后面放开 修改div的padding-topL:32 -->
|
<!-- 2022-11-30注释 后面放开 修改div的padding-topL:32 -->
|
||||||
@@ -58,7 +58,7 @@
|
|||||||
style="width: 424px; height: 32px; margin-left: 35px"
|
style="width: 424px; height: 32px; margin-left: 35px"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
placeholder="请输入考试名称"
|
placeholder="请输入考试名称"
|
||||||
maxlength="20"
|
show-count :maxlength="50"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
@@ -68,14 +68,15 @@
|
|||||||
has-feedback
|
has-feedback
|
||||||
label="考试说明"
|
label="考试说明"
|
||||||
name="examinationExplain"
|
name="examinationExplain"
|
||||||
>
|
><div class="textarea">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
v-model:value="formState.examinationExplain"
|
v-model:value="formState.examinationExplain"
|
||||||
placeholder="请输入考试说明"
|
placeholder="请输入考试说明"
|
||||||
allow-clear
|
allow-clear
|
||||||
|
:rows="6"
|
||||||
style="margin-left: 35px"
|
style="margin-left: 35px"
|
||||||
maxlength="150"
|
show-count :maxlength="200"
|
||||||
/>
|
/></div>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_item">
|
<div class="main_item">
|
||||||
@@ -300,7 +301,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_btns">
|
<div class="main_btns">
|
||||||
<a-button class="btn1" @click="closeDrawer">取消</a-button>
|
<a-button class="btn1" @click="closeDrawer2">取消</a-button>
|
||||||
<a-button class="btn2" html-type="submit">确定</a-button>
|
<a-button class="btn2" html-type="submit">确定</a-button>
|
||||||
</div>
|
</div>
|
||||||
</a-form>
|
</a-form>
|
||||||
@@ -329,7 +330,7 @@
|
|||||||
style="width: 424px; height: 32px; margin-left: 35px"
|
style="width: 424px; height: 32px; margin-left: 35px"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
placeholder="请输入考试名称"
|
placeholder="请输入考试名称"
|
||||||
maxlength="20"
|
show-count :maxlength="50"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
@@ -346,7 +347,7 @@
|
|||||||
style="width: 424px; height: 32px; margin-left: 35px"
|
style="width: 424px; height: 32px; margin-left: 35px"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
placeholder="数据来源"
|
placeholder="数据来源"
|
||||||
maxlength="20"
|
show-count :maxlength="50"
|
||||||
/>
|
/>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
@@ -358,19 +359,21 @@
|
|||||||
label="考试说明"
|
label="考试说明"
|
||||||
name="examinationExplain"
|
name="examinationExplain"
|
||||||
>
|
>
|
||||||
|
<div class="textarea">
|
||||||
<a-textarea
|
<a-textarea
|
||||||
v-model:value="formState.examinationExplain"
|
v-model:value="formState.examinationExplain"
|
||||||
placeholder="请输入考试说明"
|
placeholder="请输入考试说明"
|
||||||
allow-clear
|
allow-clear
|
||||||
|
:rows="6"
|
||||||
style="margin-left: 35px"
|
style="margin-left: 35px"
|
||||||
maxlength="150"
|
show-count :maxlength="200"
|
||||||
/>
|
/></div>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="main_btns">
|
<div class="main_btns">
|
||||||
<a-button class="btn1" @click="closeDrawer">取消</a-button>
|
<a-button class="btn1" @click="closeDrawer2">取消</a-button>
|
||||||
<a-button class="btn2" html-type="submit">确定</a-button>
|
<a-button class="btn2" html-type="submit">确定</a-button>
|
||||||
</div>
|
</div>
|
||||||
</a-form>
|
</a-form>
|
||||||
@@ -647,6 +650,11 @@ export default {
|
|||||||
localStorage.setItem("chapterId", props.isactive);
|
localStorage.setItem("chapterId", props.isactive);
|
||||||
resetForm();
|
resetForm();
|
||||||
};
|
};
|
||||||
|
const closeDrawer2 = () => {
|
||||||
|
formState.choosedTime = "";
|
||||||
|
ctx.emit("update:addtestVisible", false);
|
||||||
|
resetForm();
|
||||||
|
};
|
||||||
const afterVisibleChange = () => {
|
const afterVisibleChange = () => {
|
||||||
if (props.addtestVisible && props.edit) {
|
if (props.addtestVisible && props.edit) {
|
||||||
// 该页面显示同时 edit为true 时,发送查询请求,
|
// 该页面显示同时 edit为true 时,发送查询请求,
|
||||||
@@ -661,7 +669,7 @@ export default {
|
|||||||
state.paperName = "";
|
state.paperName = "";
|
||||||
};
|
};
|
||||||
const queryTest = () => {
|
const queryTest = () => {
|
||||||
state.addLoading = true;
|
// state.addLoading = true;
|
||||||
queryExaminationDetailById({ examinationId: props.EditTestId })
|
queryExaminationDetailById({ examinationId: props.EditTestId })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
formState.examinationName = res.data.data.examinationName;
|
formState.examinationName = res.data.data.examinationName;
|
||||||
@@ -858,6 +866,7 @@ export default {
|
|||||||
formState,
|
formState,
|
||||||
afterVisibleChange,
|
afterVisibleChange,
|
||||||
closeDrawer,
|
closeDrawer,
|
||||||
|
closeDrawer2,
|
||||||
selectTest,
|
selectTest,
|
||||||
cloradio1,
|
cloradio1,
|
||||||
cloradio2,
|
cloradio2,
|
||||||
@@ -966,6 +975,27 @@ export default {
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
margin-bottom: 32px;
|
margin-bottom: 32px;
|
||||||
|
.textarea {
|
||||||
|
width: 423px;
|
||||||
|
|
||||||
|
.ant-input {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input-textarea-show-count {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input-textarea-show-count::after {
|
||||||
|
position: absolute;
|
||||||
|
right: 10px;
|
||||||
|
bottom: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-input {
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
.signbox {
|
.signbox {
|
||||||
width: 120px;
|
width: 120px;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
@@ -31,6 +31,7 @@
|
|||||||
v-model:value="name"
|
v-model:value="name"
|
||||||
style="width: 270px; height: 40px; border-radius: 8px"
|
style="width: 270px; height: 40px; border-radius: 8px"
|
||||||
placeholder="请输入姓名"
|
placeholder="请输入姓名"
|
||||||
|
maxlength="20"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="btns">
|
<div class="btns">
|
||||||
|
|||||||
@@ -678,6 +678,418 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-modal>
|
</a-modal>
|
||||||
|
<!-- 查看面授课弹框 start -->
|
||||||
|
<a-modal
|
||||||
|
v-model:visible="lookMs"
|
||||||
|
title="Title"
|
||||||
|
@ok="handlelookMs"
|
||||||
|
:footer="null"
|
||||||
|
:closable="false"
|
||||||
|
wrapClassName="modalStyle facteachModal"
|
||||||
|
width="80%"
|
||||||
|
@cancel="handlelookMs"
|
||||||
|
>
|
||||||
|
<div class="modalHeader">
|
||||||
|
<div class="headerLeft">
|
||||||
|
<img
|
||||||
|
style="width: 17px; height: 18px; margin-right: 8px"
|
||||||
|
src="../../assets/images/basicinfo/add.png"
|
||||||
|
/>
|
||||||
|
<span class="headerLeftText">查看面授课</span>
|
||||||
|
</div>
|
||||||
|
<div style="margin-right: 57px; cursor: pointer">
|
||||||
|
<img
|
||||||
|
@click="handlelookMs"
|
||||||
|
style="width: 22px; height: 22px"
|
||||||
|
src="../../assets/images/basicinfo/close22.png"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modalMain">
|
||||||
|
<div class="faceteach">
|
||||||
|
<div class="ft_main">
|
||||||
|
<div class="m_title">课程信息</div>
|
||||||
|
<div class="m_body">
|
||||||
|
<div class="mb_left">
|
||||||
|
<div class="mbl_items">
|
||||||
|
<div class="item_nam">
|
||||||
|
<div class="asterisk_icon">
|
||||||
|
<img
|
||||||
|
src="@/assets/images/coursewareManage/asterisk.png"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<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"
|
||||||
|
placeholder="请输入课程名称"
|
||||||
|
/>
|
||||||
|
<div class="inp_num">
|
||||||
|
<span style="color: #c7cbd2">
|
||||||
|
{{ qdms_inputV1.length }}/90
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="i2_cz">
|
||||||
|
<div class="i2_top">
|
||||||
|
<div class="i2_left">
|
||||||
|
<span style="color: #999ba3">课程命名规则</span>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="i2_right"
|
||||||
|
@click="hideShow"
|
||||||
|
style="cursor: pointer"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="b_zk"
|
||||||
|
:style="{ display: hideshow ? 'block' : 'none' }"
|
||||||
|
>
|
||||||
|
<span style="color: #4ea6ff">收起</span>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="b_sq"
|
||||||
|
:style="{ display: hideshow ? 'none' : 'block' }"
|
||||||
|
>
|
||||||
|
<span style="color: #4ea6ff">展开</span>
|
||||||
|
</div>
|
||||||
|
<div class="b_icon"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="i2_detail"
|
||||||
|
:style="{ display: hideshow ? 'block' : 'none' }"
|
||||||
|
>
|
||||||
|
<span style="color: #999ba3">
|
||||||
|
1、课程名称统一不加书名号。<br />
|
||||||
|
2、项目名称、属地等信息如需体现在课程名称中,请放在课程名称信息
|
||||||
|
之后,如“时间管理(GROW180项目)”或“时间管理(B*)”确保首先
|
||||||
|
看到的是课程内容主题。<br />
|
||||||
|
3、同一课程如先后有多个版本,原则上仅开放最新版本,旧版本应停用
|
||||||
|
版本如必须以年份标明,请以“沟通技巧(2022年)”的方式呈现。
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mbl_items2">
|
||||||
|
<div class="item_nam">
|
||||||
|
<div class="asterisk_icon">
|
||||||
|
<img
|
||||||
|
src="@/assets/images/coursewareManage/asterisk.png"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<span style="margin-right: 14px">封面图</span>
|
||||||
|
</div>
|
||||||
|
<div class="item_inp">
|
||||||
|
<a-upload
|
||||||
|
name="avatar"
|
||||||
|
list-type="picture-card"
|
||||||
|
class="avatar-uploader"
|
||||||
|
:show-upload-list="false"
|
||||||
|
:before-upload="beforeUpload"
|
||||||
|
disabled
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
class="i_upload_img"
|
||||||
|
v-if="imageUrl"
|
||||||
|
:src="imageUrl"
|
||||||
|
alt="avatar"
|
||||||
|
/>
|
||||||
|
<div class="i_upload" v-else>
|
||||||
|
<div class="addimg">
|
||||||
|
<div class="heng"></div>
|
||||||
|
<div class="shu"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a-upload>
|
||||||
|
<div class="i_bottom">
|
||||||
|
<span style="color: #999ba3">
|
||||||
|
高宽比为16:9 (如:800*450) png或jpg图片
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mbl_items">
|
||||||
|
<div class="item_nam">
|
||||||
|
<div class="asterisk_icon">
|
||||||
|
<img
|
||||||
|
style="width: 10px; height: 10px"
|
||||||
|
src="@/assets/images/coursewareManage/asterisk.png"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<span style="margin-right: 14px">目标人群</span>
|
||||||
|
</div>
|
||||||
|
<div class="item_inp">
|
||||||
|
<div class="i1_input">
|
||||||
|
<a-input
|
||||||
|
v-model:value="qdms_inputV2"
|
||||||
|
maxlength="50"
|
||||||
|
style="width: 440px; height: 40px; border-radius: 8px"
|
||||||
|
placeholder="请输入目标人群"
|
||||||
|
/>
|
||||||
|
<div class="inp_num">
|
||||||
|
<span style="color: #c7cbd2">
|
||||||
|
{{ qdms_inputV2.length }}/50
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mbl_items">
|
||||||
|
<div class="item_nam">
|
||||||
|
<span style="margin-right: 14px">课程价值</span>
|
||||||
|
</div>
|
||||||
|
<div class="item_inp">
|
||||||
|
<div class="i1_input">
|
||||||
|
<a-input
|
||||||
|
v-model:value="qdms_inputV3"
|
||||||
|
maxlength="200"
|
||||||
|
style="width: 440px; height: 40px; border-radius: 8px"
|
||||||
|
placeholder="请输入课程价值"
|
||||||
|
/>
|
||||||
|
<div class="inp_num">
|
||||||
|
<span style="color: #c7cbd2">
|
||||||
|
{{ qdms_inputV3.length }}/200
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mbl_items">
|
||||||
|
<div class="item_nam">
|
||||||
|
<div class="asterisk_icon">
|
||||||
|
<img
|
||||||
|
src="@/assets/images/coursewareManage/asterisk.png"
|
||||||
|
alt=""
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<span style="margin-right: 14px">内容分类</span>
|
||||||
|
</div>
|
||||||
|
<div class="item_inp">
|
||||||
|
<div class="select i6_input">
|
||||||
|
<a-select
|
||||||
|
:getPopupContainer="
|
||||||
|
(triggerNode) => {
|
||||||
|
return triggerNode.parentNode || document.body;
|
||||||
|
}
|
||||||
|
"
|
||||||
|
v-model:value="fen_lei"
|
||||||
|
dropdownClassName="dropdown-style"
|
||||||
|
style="width: 440px"
|
||||||
|
placeholder="请选择"
|
||||||
|
:options="options2"
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
></a-select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mbl_items">
|
||||||
|
<div class="item_nam">
|
||||||
|
<span style="margin-right: 14px">场景</span>
|
||||||
|
</div>
|
||||||
|
<div class="item_inp">
|
||||||
|
<div class="select i7_input">
|
||||||
|
<a-select
|
||||||
|
:getPopupContainer="
|
||||||
|
(triggerNode) => {
|
||||||
|
return triggerNode.parentNode || document.body;
|
||||||
|
}
|
||||||
|
"
|
||||||
|
v-model:value="chang_jin"
|
||||||
|
dropdownClassName="dropdown-style"
|
||||||
|
style="width: 440px"
|
||||||
|
placeholder="请选择"
|
||||||
|
:options="options3"
|
||||||
|
allowClear
|
||||||
|
showSearch
|
||||||
|
></a-select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mbl_items">
|
||||||
|
<div class="item_nam">
|
||||||
|
<span style="margin-right: 14px">内容标签</span>
|
||||||
|
</div>
|
||||||
|
<div class="item_inp">
|
||||||
|
<a-select
|
||||||
|
:getPopupContainer="
|
||||||
|
(triggerNode) => {
|
||||||
|
return triggerNode.parentNode || document.body;
|
||||||
|
}
|
||||||
|
"
|
||||||
|
v-model:value="tags_val"
|
||||||
|
mode="tags"
|
||||||
|
style="width: 440px; height: 40px"
|
||||||
|
placeholder="请输入按回车键创建成功"
|
||||||
|
:options="tagsOptions"
|
||||||
|
></a-select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb_right">
|
||||||
|
<div class="mbl_items">
|
||||||
|
<div class="item_nam">
|
||||||
|
<div class="asterisk_icon">
|
||||||
|
<img
|
||||||
|
src="@/assets/images/coursewareManage/asterisk.png"
|
||||||
|
alt="asterisk"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<span style="margin-right: 14px">授课教师</span>
|
||||||
|
</div>
|
||||||
|
<div class="item_inp">
|
||||||
|
<div class="i1_input">
|
||||||
|
<ProjectManager
|
||||||
|
v-model:value="member.value"
|
||||||
|
v-model:name="member.name"
|
||||||
|
></ProjectManager>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mbl_items2">
|
||||||
|
<div class="item_nam">
|
||||||
|
<span style="margin-right: 14px">课程简介</span>
|
||||||
|
</div>
|
||||||
|
<div class="item_inp">
|
||||||
|
<div class="i10_textarea">
|
||||||
|
<a-textarea
|
||||||
|
v-model:value="qdms_inputV6"
|
||||||
|
maxlength="150"
|
||||||
|
style="width: 440px; height: 100px; border-radius: 8px"
|
||||||
|
placeholder="请输入"
|
||||||
|
/>
|
||||||
|
<div class="inp_num">
|
||||||
|
<span style="color: #c7cbd2">
|
||||||
|
{{ qdms_inputV6.length }}/150
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mbl_items">
|
||||||
|
<div class="item_nam">
|
||||||
|
<span style="margin-right: 10px">附件</span>
|
||||||
|
</div>
|
||||||
|
<div class="item_inp">
|
||||||
|
<a-upload
|
||||||
|
multiple
|
||||||
|
:show-upload-list="false"
|
||||||
|
:before-upload="beforeUpload2"
|
||||||
|
>
|
||||||
|
<div class="accessory" style="cursor: pointer">
|
||||||
|
<div class="accessory_icon">
|
||||||
|
<img
|
||||||
|
src="@/assets/images/coursewareManage/enclosure.png"
|
||||||
|
alt="enclosure"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<span style="color: #4ea6ff">添加附件</span>
|
||||||
|
</div>
|
||||||
|
</a-upload>
|
||||||
|
<span>
|
||||||
|
支持.pdf,.ppt,.pptx,.doc,.docx,.xls,.xlsx,.jpg,.jpeg,.png,.gif,.zip
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mbl_items12">
|
||||||
|
<div
|
||||||
|
class="i12_box1"
|
||||||
|
v-for="(item, index) in imgList"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<div class="file_img"></div>
|
||||||
|
<div class="file_detail">
|
||||||
|
<!-- <div class="file_name">
|
||||||
|
<span style="color: #6f6f6f">{{ item.name }}</span>
|
||||||
|
</div> -->
|
||||||
|
<!-- 条件渲染 s -->
|
||||||
|
<!-- <div class="file_size">
|
||||||
|
<span style="color: #999ba3">{{ item.size }}</span>
|
||||||
|
</div> -->
|
||||||
|
<div class="file_updata">
|
||||||
|
<div class="updatabox">
|
||||||
|
<div class="updatacolor"></div>
|
||||||
|
<div class="updataxq">上传完成</div>
|
||||||
|
<!-- <div class="updatacolor2"></div>
|
||||||
|
<div class="updataxq2">上传失败</div> -->
|
||||||
|
<!-- <div class="updatacolor3"></div>
|
||||||
|
<div class="updataxq3">正在上传</div> -->
|
||||||
|
</div>
|
||||||
|
<div class="upjd">
|
||||||
|
<span style="margin: auto 5px">100%</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- 条件渲染 e -->
|
||||||
|
</div>
|
||||||
|
<div class="file_operation">
|
||||||
|
<div class="fobox">
|
||||||
|
<span style="color: #4ea6ff" @click="handleDel(index)">
|
||||||
|
删除
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="fobox">
|
||||||
|
<span style="color: #4ea6ff">重传</span>
|
||||||
|
</div>
|
||||||
|
<div class="fobox">
|
||||||
|
<span style="color: #4ea6ff">取消</span>
|
||||||
|
</div> -->
|
||||||
|
<!-- <div class="fobox">
|
||||||
|
<span style="color: #4ea6ff; margin-right: 5px">
|
||||||
|
暂停
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="fobox">
|
||||||
|
<span style="color: #4ea6ff">取消</span>
|
||||||
|
</div> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="m_footer">
|
||||||
|
<div class="fotnam">
|
||||||
|
<span>课程大纲</span>
|
||||||
|
</div>
|
||||||
|
<div class="fotarea">
|
||||||
|
<div style="border: 1px solid #ccc">
|
||||||
|
<Toolbar
|
||||||
|
style="border-bottom: 1px solid #ccc"
|
||||||
|
:editor="editorRef"
|
||||||
|
:defaultConfig="toolbarConfig"
|
||||||
|
:mode="mode"
|
||||||
|
/>
|
||||||
|
<Editor
|
||||||
|
style="height: 500px; overflow-y: hidden"
|
||||||
|
v-model="valueHtml"
|
||||||
|
:defaultConfig="editorConfig"
|
||||||
|
:mode="mode"
|
||||||
|
@onCreated="handleCreated"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="m_btn">
|
||||||
|
<!-- <div class="btn btn5" @click="handlelookMs">
|
||||||
|
<div class="btnText">取消</div>
|
||||||
|
</div>
|
||||||
|
<div class="btn btn6" v-if="isEdit == 0" @click="handlelookMs">
|
||||||
|
<div class="btnText">确定</div>
|
||||||
|
</div> -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</a-modal>
|
||||||
|
<!-- 查看面授课弹框 end -->
|
||||||
<!-- 确定新建面授课弹窗 -->
|
<!-- 确定新建面授课弹窗 -->
|
||||||
<!-- 表格 -->
|
<!-- 表格 -->
|
||||||
<div class="tableBox">
|
<div class="tableBox">
|
||||||
@@ -904,7 +1316,7 @@
|
|||||||
<a
|
<a
|
||||||
@click="
|
@click="
|
||||||
() => {
|
() => {
|
||||||
handleEdit(record, String(record.courseform));
|
handleLook(record, String(record.courseform));
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
>查看</a
|
>查看</a
|
||||||
@@ -3215,6 +3627,7 @@ export default defineComponent({
|
|||||||
hideshow: true,
|
hideshow: true,
|
||||||
bs_hs: true,
|
bs_hs: true,
|
||||||
ft_hs: false,
|
ft_hs: false,
|
||||||
|
lookMs: false,
|
||||||
om_1: false,
|
om_1: false,
|
||||||
ft_1: false,
|
ft_1: false,
|
||||||
om_ckxq: false,
|
om_ckxq: false,
|
||||||
@@ -3980,6 +4393,7 @@ export default defineComponent({
|
|||||||
state.valueE1 = "";
|
state.valueE1 = "";
|
||||||
state.qdms_inputV1 = state.xzinputV1;
|
state.qdms_inputV1 = state.xzinputV1;
|
||||||
state.xzinputV1 = "";
|
state.xzinputV1 = "";
|
||||||
|
getDictList("faceclassPic");
|
||||||
}
|
}
|
||||||
if (state.bs_hs && state.valueE1 != "") {
|
if (state.bs_hs && state.valueE1 != "") {
|
||||||
state.addOnlineCoursevisible = true;
|
state.addOnlineCoursevisible = true;
|
||||||
@@ -4013,6 +4427,10 @@ export default defineComponent({
|
|||||||
valueHtml.value = "";
|
valueHtml.value = "";
|
||||||
state.fileList = [];
|
state.fileList = [];
|
||||||
};
|
};
|
||||||
|
// 关闭查看
|
||||||
|
const handlelookMs = () => {
|
||||||
|
state.lookMs = false
|
||||||
|
}
|
||||||
//保存面授课
|
//保存面授课
|
||||||
const handlePush = (param) => {
|
const handlePush = (param) => {
|
||||||
//state.isEdit = 1;
|
//state.isEdit = 1;
|
||||||
@@ -4611,6 +5029,57 @@ export default defineComponent({
|
|||||||
state.ft_hs = true;
|
state.ft_hs = true;
|
||||||
state.ft_eidt = true;
|
state.ft_eidt = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
const handleLook = async (itm, type) => {
|
||||||
|
state.isEdit = 0;
|
||||||
|
console.log(45555);
|
||||||
|
console.log(itm);
|
||||||
|
if (type === "1") {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
state.offcourseId = itm.offcourseId;
|
||||||
|
|
||||||
|
const item = await detail({
|
||||||
|
offcourseId: Number(state.offcourseId),
|
||||||
|
}).then((res) => {
|
||||||
|
if (res.data.code === 200) return res.data.data;
|
||||||
|
});
|
||||||
|
console.log("res");
|
||||||
|
console.log(item);
|
||||||
|
console.log(options2.value);
|
||||||
|
console.log(options3.value);
|
||||||
|
|
||||||
|
state.qdms_inputV1 = item.name;
|
||||||
|
state.imageUrl = item.picUrl;
|
||||||
|
state.qdms_inputV2 = item.targetUser;
|
||||||
|
state.qdms_inputV3 = item.meaning;
|
||||||
|
state.fen_lei = String(item.categoryId);
|
||||||
|
state.chang_jin = String(item.sceneId);
|
||||||
|
state.tags_val = item.tips ? item.tips.split(",") : [];
|
||||||
|
//state.qdms_inputV5 = item.teacherId;
|
||||||
|
state.teacher = item.teacher;
|
||||||
|
state.teacherId = item.teacherId;
|
||||||
|
state.qdms_inputV6 = item.intro;
|
||||||
|
state.member = { value: item.teacherId, name: item.teacher };
|
||||||
|
|
||||||
|
if (item.attach == "") {
|
||||||
|
state.imgList = [];
|
||||||
|
} else {
|
||||||
|
if (item.attach.indexOf(",")) {
|
||||||
|
const arr = item.attach.split(",");
|
||||||
|
arr.forEach((item) => {
|
||||||
|
state.imgList.push({ img: item });
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
state.imgList = [{ img: item.attach }];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
valueHtml.value = item.outline;
|
||||||
|
|
||||||
|
state.lookMs = true;
|
||||||
|
};
|
||||||
// const handleTea = async () => {
|
// const handleTea = async () => {
|
||||||
// console.log("item22224444");
|
// console.log("item22224444");
|
||||||
// // const item = await getMemberInfo({
|
// // const item = await getMemberInfo({
|
||||||
@@ -5038,6 +5507,8 @@ export default defineComponent({
|
|||||||
showManagePrower,
|
showManagePrower,
|
||||||
|
|
||||||
closeOnlineCoursevisible,
|
closeOnlineCoursevisible,
|
||||||
|
handlelookMs,
|
||||||
|
handleLook
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -188,7 +188,7 @@ export default {
|
|||||||
key: "topName",
|
key: "topName",
|
||||||
align: "center",
|
align: "center",
|
||||||
width: "10%",
|
width: "10%",
|
||||||
customRender: ({record: {parentId,name}}) => <div>{parentId==0?name:(parentId)}</div>,
|
customRender: ({record: {gaName,faName,name}}) => <div>{ faName ?gaName!==null?gaName+'/'+faName:faName:name}</div>,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "项目经理",
|
title: "项目经理",
|
||||||
|
|||||||
@@ -772,7 +772,10 @@
|
|||||||
<div class="box"></div>
|
<div class="box"></div>
|
||||||
<div class="onetitle">上传共享文档</div>
|
<div class="onetitle">上传共享文档</div>
|
||||||
<div class="oneedi">
|
<div class="oneedi">
|
||||||
<a-switch v-model:checked="docChecked"></a-switch>
|
<a-switch
|
||||||
|
v-model:checked="docChecked"
|
||||||
|
@change="checkedClose"
|
||||||
|
></a-switch>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnbox" style="margin: 20px">
|
<div class="btnbox" style="margin: 20px">
|
||||||
@@ -1924,11 +1927,42 @@ export default {
|
|||||||
console.log("获取失败" + err);
|
console.log("获取失败" + err);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 设置上传图片开关
|
||||||
|
const checkedClose = (data, a) => {
|
||||||
|
console.log(data, a);
|
||||||
|
state.docChecked = data;
|
||||||
|
console.log({
|
||||||
|
routerId: state.routerId,
|
||||||
|
status: state.action,
|
||||||
|
attachSwitch: data ? 1 : -1,
|
||||||
|
});
|
||||||
|
// 更新开关状态
|
||||||
|
editRoutered({
|
||||||
|
attach: JSON.stringify(state.fileList),
|
||||||
|
name: state.styTitle,
|
||||||
|
picUrl: state.picUrl,
|
||||||
|
remark: state.remark,
|
||||||
|
routerId: state.routerId,
|
||||||
|
status: state.action,
|
||||||
|
attachSwitch: data ? 1 : -1,
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
console.log(res);
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
// 获取路径列表
|
// 获取路径列表
|
||||||
const myGetRouterDetail = () => {
|
const myGetRouterDetail = () => {
|
||||||
GetRouterDetail(state.routerId)
|
GetRouterDetail(state.routerId)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log("router-list", res);
|
console.log("router-list", res);
|
||||||
|
state.fileList = JSON.parse(res.data.data.routerInfo.attach);
|
||||||
|
state.docChecked =
|
||||||
|
res.data.data.routerInfo.attachSwitch == 1 ? true : false;
|
||||||
if (res.data.data.routerInfo.status == 1) {
|
if (res.data.data.routerInfo.status == 1) {
|
||||||
state.nodata = false;
|
state.nodata = false;
|
||||||
}
|
}
|
||||||
@@ -1974,6 +2008,7 @@ export default {
|
|||||||
remark: state.remark,
|
remark: state.remark,
|
||||||
routerId: state.routerId,
|
routerId: state.routerId,
|
||||||
status: state.action,
|
status: state.action,
|
||||||
|
attachSwitch: state.docChecked ? 1 : -1,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
@@ -2196,6 +2231,7 @@ export default {
|
|||||||
deleteStu,
|
deleteStu,
|
||||||
totask,
|
totask,
|
||||||
tostudent,
|
tostudent,
|
||||||
|
checkedClose,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -928,34 +928,32 @@ export default defineComponent({
|
|||||||
api
|
api
|
||||||
.templateDetail(localStorage.getItem("projectTemplateId"))
|
.templateDetail(localStorage.getItem("projectTemplateId"))
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
|
||||||
|
console.log('get model list ----->',res, res.data.data.stageList)
|
||||||
|
|
||||||
state.taskSyllabus = [];
|
state.taskSyllabus = [];
|
||||||
console.log(res);
|
console.log(res);
|
||||||
state.projectInfo.name = res.data.data.projectTemplateInfo.name;
|
state.projectInfo.name = res.data.data.projectTemplateInfo.name;
|
||||||
state.projectInfo.beginTime =
|
state.projectInfo.beginTime = res.data.data.projectTemplateInfo.beginTime;
|
||||||
res.data.data.projectTemplateInfo.beginTime;
|
|
||||||
state.projectInfo.endTime = res.data.data.projectTemplateInfo.endTime;
|
state.projectInfo.endTime = res.data.data.projectTemplateInfo.endTime;
|
||||||
state.projectInfo.manager = res.data.data.projectTemplateInfo.manager;
|
state.projectInfo.manager = res.data.data.projectTemplateInfo.manager;
|
||||||
state.projectInfo.notice = res.data.data.projectTemplateInfo.notice;
|
state.projectInfo.notice = res.data.data.projectTemplateInfo.notice;
|
||||||
state.projectInfo.sourceBelongId =
|
state.projectInfo.sourceBelongId = res.data.data.projectTemplateInfo.sourceBelongId;
|
||||||
res.data.data.projectTemplateInfo.sourceBelongId;
|
state.projectInfo.managerId = res.data.data.projectTemplateInfo.managerId;
|
||||||
state.projectInfo.managerId =
|
state.projectInfo.remark = res.data.data.projectTemplateInfo.remark;
|
||||||
res.data.data.projectTemplateInfo.managerId;
|
state.projectInfo.courseSyncFlag = res.data.data.projectTemplateInfo.courseSyncFlag;
|
||||||
state.projectInfo.remark = res.data.data.stageList.remark;
|
|
||||||
state.projectInfo.courseSyncFlag =
|
|
||||||
res.data.data.projectTemplateInfo.courseSyncFlag;
|
|
||||||
state.projectInfo.level = res.data.data.projectTemplateInfo.level;
|
state.projectInfo.level = res.data.data.projectTemplateInfo.level;
|
||||||
state.projectInfo.systemId =
|
state.projectInfo.systemId = res.data.data.projectTemplateInfo.systemId;
|
||||||
res.data.data.projectTemplateInfo.systemId;
|
|
||||||
state.projectInfo.boeFlag = res.data.data.projectTemplateInfo.boeFlag;
|
state.projectInfo.boeFlag = res.data.data.projectTemplateInfo.boeFlag;
|
||||||
state.projectInfo.noticeFlag =
|
state.projectInfo.noticeFlag = res.data.data.projectTemplateInfo.noticeFlag;
|
||||||
res.data.data.projectTemplateInfo.noticeFlag;
|
|
||||||
state.projectInfo.remark = res.data.data.projectTemplateInfo.remark;
|
state.projectInfo.remark = res.data.data.projectTemplateInfo.remark;
|
||||||
state.projectInfo.status = res.data.data.projectTemplateInfo.status;
|
state.projectInfo.status = res.data.data.projectTemplateInfo.status;
|
||||||
state.projectInfo.picUrl = res.data.data.projectTemplateInfo.picUrl;
|
state.projectInfo.picUrl = res.data.data.projectTemplateInfo.picUrl;
|
||||||
state.projectInfo.attach =res.res.data.data.projectTemplateInfo.attach;
|
state.projectInfo.attach = res.data.data.projectTemplateInfo.attach;
|
||||||
let data = res.data.data.stageList;
|
let data = res.data.data.stageList;
|
||||||
console.log("data=====", data);
|
console.log("data=====", data);
|
||||||
for (let i in data) {
|
for (let i in data) {
|
||||||
|
console.log('what ------ > ', i,data)
|
||||||
state.taskSyllabus.push({ text: data[i].name, children: [] });
|
state.taskSyllabus.push({ text: data[i].name, children: [] });
|
||||||
for (let j in data[i].taskList) {
|
for (let j in data[i].taskList) {
|
||||||
state.taskSyllabus[i].children.push({
|
state.taskSyllabus[i].children.push({
|
||||||
|
|||||||
@@ -44,7 +44,6 @@
|
|||||||
placeholder="请选择状态"
|
placeholder="请选择状态"
|
||||||
:options="sProjectStateList"
|
:options="sProjectStateList"
|
||||||
allowClear
|
allowClear
|
||||||
showSearch
|
|
||||||
></a-select>
|
></a-select>
|
||||||
</div>
|
</div>
|
||||||
<div class="select">
|
<div class="select">
|
||||||
@@ -1526,6 +1525,7 @@ export default {
|
|||||||
onClick={() => {
|
onClick={() => {
|
||||||
router.push({
|
router.push({
|
||||||
path: "/taskpage",
|
path: "/taskpage",
|
||||||
|
query: {projectId: value.record.projectId}
|
||||||
});
|
});
|
||||||
storage.set("projectId", value.record.projectId);
|
storage.set("projectId", value.record.projectId);
|
||||||
}}
|
}}
|
||||||
|
|||||||
@@ -590,6 +590,7 @@
|
|||||||
style="
|
style="
|
||||||
width: 120px;
|
width: 120px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
text-align: center;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
@@ -872,7 +873,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="del_btnbox">
|
<div class="del_btnbox">
|
||||||
<div class="del_btn btn1">
|
<div class="del_btn btn1">
|
||||||
<div class="btnText" @click="delete_exit">取消</div>
|
<div class="btnText" @click="closeCancel">取消</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="del_btn btn2">
|
<div class="del_btn btn2">
|
||||||
<div class="btnText" @click="showModal">确定</div>
|
<div class="btnText" @click="showModal">确定</div>
|
||||||
@@ -989,7 +990,8 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-modal>
|
</a-modal
|
||||||
|
>
|
||||||
|
|
||||||
<!-- 是否删除阶段弹窗 -->
|
<!-- 是否删除阶段弹窗 -->
|
||||||
<a-modal
|
<a-modal
|
||||||
@@ -1025,7 +1027,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { reactive, toRefs, onMounted, onUnmounted, onUpdated } from "vue";
|
import {reactive, toRefs, onMounted, onUnmounted, onUpdated, watch} from "vue";
|
||||||
import AddOnline from "../../components/drawers/AddOnline.vue";
|
import AddOnline from "../../components/drawers/AddOnline.vue";
|
||||||
import AddFaceteach from "../../components/drawers/AddFaceteach.vue";
|
import AddFaceteach from "../../components/drawers/AddFaceteach.vue";
|
||||||
import AddCase from "../../components/drawers/AddCase.vue";
|
import AddCase from "../../components/drawers/AddCase.vue";
|
||||||
@@ -1046,7 +1048,7 @@ import draggable from "vuedraggable";
|
|||||||
import {storage} from "../../api/storage";
|
import {storage} from "../../api/storage";
|
||||||
// import UnlockMode from "../../components/drawers/UnlockMode.vue";
|
// import UnlockMode from "../../components/drawers/UnlockMode.vue";
|
||||||
// import * as api1 from "../../api/index1";
|
// import * as api1 from "../../api/index1";
|
||||||
import { useRouter } from "vue-router";
|
import {useRoute, useRouter} from "vue-router";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: "TaskAdd",
|
name: "TaskAdd",
|
||||||
@@ -1068,10 +1070,9 @@ export default {
|
|||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
const route = useRoute();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
projectId: storage.get("projectId")
|
projectId: route.query.projectId,
|
||||||
? JSON.parse(storage.get("projectId"))
|
|
||||||
: null,
|
|
||||||
chooseStageId: null,
|
chooseStageId: null,
|
||||||
removeStageId: null,
|
removeStageId: null,
|
||||||
edit: false,
|
edit: false,
|
||||||
@@ -1158,6 +1159,10 @@ export default {
|
|||||||
console.log("visible", bool);
|
console.log("visible", bool);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
watch(route, () => {
|
||||||
|
console.log(route)
|
||||||
|
})
|
||||||
|
|
||||||
// 把数据放到state里
|
// 把数据放到state里
|
||||||
const getTableData = (tableData) => {
|
const getTableData = (tableData) => {
|
||||||
let data = tableData;
|
let data = tableData;
|
||||||
@@ -1357,91 +1362,87 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
//获取任务列表
|
//获取任务列表
|
||||||
const getTask = () => {
|
const getTask = async () => {
|
||||||
// console.log("state.projectId", state.projectId);
|
|
||||||
let obj = {
|
let obj = {
|
||||||
projectId: state.projectId,
|
projectId: state.projectId,
|
||||||
// projectId: 28,
|
|
||||||
};
|
};
|
||||||
api
|
await api
|
||||||
.getTask(obj)
|
.getTask(obj)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.status == 200) {
|
|
||||||
console.log("22222", res.data.data.stageList);
|
console.log("22222", res.data.data.stageList);
|
||||||
// console.log("22222", res.data.data.stageList);
|
|
||||||
state.projectTitle = res.data.data.projectInfo.name;
|
state.projectTitle = res.data.data.projectInfo.name;
|
||||||
state.picUrl = res.data.data.projectInfo.picUrl;
|
state.picUrl = res.data.data.projectInfo.picUrl;
|
||||||
state.stageList = res.data.data.stageList;
|
state.stageList = res.data.data.stageList;
|
||||||
let leng = res.data.data.stageList.length;
|
|
||||||
if (leng > 0) {
|
|
||||||
let stage = localStorage.getItem("stageId")
|
|
||||||
? localStorage.getItem("stageId")
|
|
||||||
: null;
|
|
||||||
|
|
||||||
// console.log("stage",Object.prototype.toString.call(stage))
|
|
||||||
getStageData(res.data.data.stageList);
|
getStageData(res.data.data.stageList);
|
||||||
if (stage != null) {
|
updateStageChoosd()
|
||||||
console.log(stage);
|
// let leng = res.data.data.stageList.length;
|
||||||
let stageList = res.data.data.stageList; //阶段数组
|
// if (leng > 0) {
|
||||||
let result = stageList.find((item) => item.stageId == stage);
|
// let stage = localStorage.getItem("stageId") ? localStorage.getItem("stageId") : null;
|
||||||
console.log("又找到了", result);
|
//
|
||||||
if (result != null) {
|
// // console.log("stage",Object.prototype.toString.call(stage))
|
||||||
getTableData(result.taskList);
|
// if (stage != null) {
|
||||||
} else {
|
// console.log(stage);
|
||||||
//没有选中的阶段时,获取全部的任务
|
// let stageList = res.data.data.stageList; //阶段数组
|
||||||
console.log(stage);
|
//
|
||||||
let stageList = res.data.data.stageList; //阶段数组
|
//
|
||||||
if (stageList != null) {
|
//
|
||||||
let taskListAll;
|
// let result = stageList.find((item) => item.stageId == stage);
|
||||||
stageList.forEach((item) => {
|
// console.log("又找到了", result);
|
||||||
taskListAll = [...item.taskList];
|
// if (result != null) {
|
||||||
});
|
// getTableData(result.taskList);
|
||||||
console.log("taskListAll", taskListAll);
|
// } else {
|
||||||
getTableData(taskListAll);
|
// //没有选中的阶段时,获取全部的任务
|
||||||
}
|
// console.log(stage);
|
||||||
}
|
// let stageList = res.data.data.stageList; //阶段数组
|
||||||
} else {
|
// if (stageList != null) {
|
||||||
console.log(stage);
|
// let taskListAll;
|
||||||
let stageList = res.data.data.stageList; //阶段数组
|
// stageList.forEach((item) => {
|
||||||
if (stageList != null) {
|
// taskListAll = [...item.taskList];
|
||||||
let taskListAll;
|
|
||||||
stageList.forEach((item) => {
|
|
||||||
taskListAll = [...item.taskList];
|
|
||||||
});
|
|
||||||
console.log("taskListAll", taskListAll);
|
|
||||||
getTableData(taskListAll);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 每次都获取了第一条taskList
|
|
||||||
// let arr = res.data.data.stageList[0].taskList;
|
|
||||||
// console.log("任务列表", stage, arr);
|
|
||||||
// getTableData(arr);
|
|
||||||
}
|
|
||||||
// //获取阶段列表
|
|
||||||
let stagearr = res.data.data.stageList;
|
|
||||||
// let arrlist = state.curLevel;
|
|
||||||
console.log(stagearr, 111111);
|
|
||||||
if (stagearr.length > 0) {
|
|
||||||
getStageData(stagearr);
|
|
||||||
// stagearr.map((value) => {
|
|
||||||
// console.log(value);
|
|
||||||
// // arrlist.push(value);
|
|
||||||
// });
|
// });
|
||||||
}
|
// console.log("taskListAll", taskListAll);
|
||||||
//给阶段id赋初始值
|
// getTableData(taskListAll);
|
||||||
let stageid = localStorage.getItem("stageId")
|
// }
|
||||||
? localStorage.getItem("stageId")
|
// }
|
||||||
: null;
|
// } else {
|
||||||
if (stageid !== "null") {
|
// console.log(stage);
|
||||||
state.chooseStageId = stageid;
|
// let stageList = res.data.data.stageList; //阶段数组
|
||||||
} else {
|
// if (stageList != null) {
|
||||||
state.chooseStageId = leng > 0 ? stagearr[0].stageId : null;
|
// let taskListAll;
|
||||||
}
|
// stageList.forEach((item) => {
|
||||||
}
|
// taskListAll = [...item.taskList];
|
||||||
|
// });
|
||||||
|
// console.log("taskListAll", taskListAll);
|
||||||
|
// getTableData(taskListAll);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// // 每次都获取了第一条taskList
|
||||||
|
// // let arr = res.data.data.stageList[0].taskList;
|
||||||
|
// // console.log("任务列表", stage, arr);
|
||||||
|
// // getTableData(arr);
|
||||||
|
// }
|
||||||
|
// // //获取阶段列表
|
||||||
|
// let stagearr = res.data.data.stageList;
|
||||||
|
// // let arrlist = state.curLevel;
|
||||||
|
// console.log(stagearr, 111111);
|
||||||
|
// if (stagearr.length > 0) {
|
||||||
|
// getStageData(stagearr);
|
||||||
|
// // stagearr.map((value) => {
|
||||||
|
// // console.log(value);
|
||||||
|
// // // arrlist.push(value);
|
||||||
|
// // });
|
||||||
|
// }
|
||||||
|
// //给阶段id赋初始值
|
||||||
|
// let stageid = localStorage.getItem("stageId")
|
||||||
|
// ? localStorage.getItem("stageId")
|
||||||
|
// : null;
|
||||||
|
// if (stageid !== "null") {
|
||||||
|
// state.chooseStageId = stageid;
|
||||||
|
// } else {
|
||||||
|
// state.chooseStageId = leng > 0 ? stagearr[0].stageId : null;
|
||||||
|
// }
|
||||||
|
// let final = state.level.find((item) => item.id == state.chooseStageId);
|
||||||
|
// getTableData(final.taskList);
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
|
||||||
console.log("获取任务列表失败", err);
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//获取修改、删除id(投票)
|
//获取修改、删除id(投票)
|
||||||
@@ -1457,18 +1458,28 @@ export default {
|
|||||||
};
|
};
|
||||||
|
|
||||||
//删除任务
|
//删除任务
|
||||||
const deleteTask = () => {
|
const deleteTask = async () => {
|
||||||
let obj = { projectTaskIds: state.deleteID };
|
await api.deleteTask({projectTaskIds: state.deleteID})
|
||||||
api
|
//删除后更新索引
|
||||||
.deleteTask(obj)
|
|
||||||
.then((res) => {
|
|
||||||
console.log(res);
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
console.log(err);
|
|
||||||
});
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function updateStageChoosd() {
|
||||||
|
console.log('updateStageChoosd')
|
||||||
|
console.log(state.chooseStageId)
|
||||||
|
if (state.chooseStageId && state.stageList.find(e => e.stageId == state.chooseStageId)) {
|
||||||
|
getTableData(state.stageList.find(e => e.stageId == state.chooseStageId)?.taskList);
|
||||||
|
return
|
||||||
|
}
|
||||||
|
state.chooseStageId = ''
|
||||||
|
const arr = state.stageList.filter(e => e.name);
|
||||||
|
arr && arr.length && (state.chooseStageId = arr[0].stageId);
|
||||||
|
if (!state.chooseStageId) {
|
||||||
|
getTableData(state.stageList[0].taskList)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
getTableData(state.stageList.find(e => e.stageId == state.chooseStageId)?.taskList);
|
||||||
|
}
|
||||||
|
|
||||||
const showChangeModal = () => {
|
const showChangeModal = () => {
|
||||||
if (state.selectRow.length == 0) {
|
if (state.selectRow.length == 0) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
@@ -1578,7 +1589,7 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
//添加阶段
|
//添加阶段
|
||||||
const editStage = () => {
|
const editStage = async () => {
|
||||||
if (!state.valuesname) {
|
if (!state.valuesname) {
|
||||||
message.destroy();
|
message.destroy();
|
||||||
return message.warning("请输入阶段名称");
|
return message.warning("请输入阶段名称");
|
||||||
@@ -1590,9 +1601,9 @@ export default {
|
|||||||
remark: state.valuesnotice,
|
remark: state.valuesnotice,
|
||||||
stageId: state.updateStageID,
|
stageId: state.updateStageID,
|
||||||
};
|
};
|
||||||
apistage
|
await apistage
|
||||||
.editStage(obj)
|
.editStage(obj)
|
||||||
.then((res) => {
|
.then(async (res) => {
|
||||||
console.log("修改阶段成功", res);
|
console.log("修改阶段成功", res);
|
||||||
state.valuesname = "";
|
state.valuesname = "";
|
||||||
state.valuesnotice = "";
|
state.valuesnotice = "";
|
||||||
@@ -1600,31 +1611,33 @@ export default {
|
|||||||
state.updateStageID = null;
|
state.updateStageID = null;
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.success("修改阶段成功");
|
message.success("修改阶段成功");
|
||||||
getTask();
|
await getTask();
|
||||||
|
state.chooseStageId = res.data.data.stageId;
|
||||||
|
let final = state.level.find((item) => item.id == state.chooseStageId);
|
||||||
|
getTableData(final.taskList);
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log("添加阶段失败", err);
|
console.log("添加阶段失败", err);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
//默认阶段
|
|
||||||
if (state.stageList.length === 1 && !state.stageList.name) {
|
|
||||||
console.log("11");
|
|
||||||
}
|
|
||||||
let obj = {
|
let obj = {
|
||||||
name: state.valuesname,
|
name: state.valuesname,
|
||||||
projectId: state.projectId,
|
projectId: state.projectId,
|
||||||
remark: state.valuesnotice,
|
remark: state.valuesnotice,
|
||||||
};
|
};
|
||||||
apistage
|
await apistage
|
||||||
.editStage(obj)
|
.editStage(obj)
|
||||||
.then((res) => {
|
.then(async (res) => {
|
||||||
console.log("添加阶段成功", res);
|
console.log("添加阶段成功", res);
|
||||||
state.valuesname = "";
|
state.valuesname = "";
|
||||||
state.valuesnotice = "";
|
state.valuesnotice = "";
|
||||||
closeModal();
|
closeModal();
|
||||||
message.destroy();
|
message.destroy();
|
||||||
message.success("添加阶段成功");
|
message.success("添加阶段成功");
|
||||||
getTask();
|
await getTask();
|
||||||
|
state.chooseStageId = res.data.data.stageId;
|
||||||
|
let final = state.level.find((item) => item.id == state.chooseStageId);
|
||||||
|
getTableData(final.taskList);
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.log("添加阶段失败", err);
|
console.log("添加阶段失败", err);
|
||||||
@@ -1767,7 +1780,7 @@ export default {
|
|||||||
state.selectAll = 0; //0:未选择,1:全选,2:部分选择
|
state.selectAll = 0; //0:未选择,1:全选,2:部分选择
|
||||||
console.log("state.level", id, state.level);
|
console.log("state.level", id, state.level);
|
||||||
state.chooseStageId = id;
|
state.chooseStageId = id;
|
||||||
let final = state.level.find((item) => item.id === id);
|
let final = state.level.find((item) => item.id == id);
|
||||||
getTableData(final.taskList);
|
getTableData(final.taskList);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -323,8 +323,10 @@
|
|||||||
<!-- <button class="btn" @click="showFaceIn" v-if="morFaceT">
|
<!-- <button class="btn" @click="showFaceIn" v-if="morFaceT">
|
||||||
批量面授报名
|
批量面授报名
|
||||||
</button> -->
|
</button> -->
|
||||||
<router-link to="/taskadd">
|
<router-link
|
||||||
<button to="/taskadd" class="edit">
|
:to="{ path: `/taskadd`, query: { projectId: projectId } }"
|
||||||
|
>
|
||||||
|
<button class="edit">
|
||||||
<img
|
<img
|
||||||
class="editimg"
|
class="editimg"
|
||||||
src="../../assets/images/projectadd/edit.png"
|
src="../../assets/images/projectadd/edit.png"
|
||||||
@@ -367,9 +369,10 @@
|
|||||||
/>
|
/>
|
||||||
<div></div>
|
<div></div>
|
||||||
</template>
|
</template>
|
||||||
|
<template v-for="(value, index) in taskSyllabus">
|
||||||
<a-collapse-panel
|
<a-collapse-panel
|
||||||
v-for="(value, index) in taskSyllabus"
|
|
||||||
:key="index"
|
:key="index"
|
||||||
|
v-if="value.name"
|
||||||
:header="value.name"
|
:header="value.name"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
@@ -530,10 +533,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a-collapse-panel>
|
</a-collapse-panel>
|
||||||
|
</template>
|
||||||
</a-collapse>
|
</a-collapse>
|
||||||
<!-- 无数据创建任务 v-if="taskSyllabus.length == 0"-->
|
<!-- 无数据创建任务 v-if="taskSyllabus.length == 0"-->
|
||||||
<router-link
|
<router-link
|
||||||
to="/taskadd"
|
:to="{ path: `/taskadd`, query: { projectId: projectId } }"
|
||||||
class="taskbox"
|
class="taskbox"
|
||||||
style="
|
style="
|
||||||
background: linear-gradient(180deg, #ddeaff, #f0f8fe);
|
background: linear-gradient(180deg, #ddeaff, #f0f8fe);
|
||||||
@@ -562,7 +566,10 @@
|
|||||||
class="taskbox"
|
class="taskbox"
|
||||||
@click="
|
@click="
|
||||||
() => {
|
() => {
|
||||||
routered.push({ path: '/taskadd' });
|
routered.push({
|
||||||
|
path: `/taskadd`,
|
||||||
|
query: { projectId: projectId },
|
||||||
|
});
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
style="background: linear-gradient(180deg, #fef3dd, #fffaf0)"
|
style="background: linear-gradient(180deg, #fef3dd, #fffaf0)"
|
||||||
@@ -1794,11 +1801,10 @@ export default {
|
|||||||
},
|
},
|
||||||
setup() {
|
setup() {
|
||||||
const store = useStore();
|
const store = useStore();
|
||||||
|
const route = useRoute();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
loading: false,
|
loading: false,
|
||||||
projectId: storage.get("projectId")
|
projectId: route.query.projectId,
|
||||||
? JSON.parse(storage.get("projectId"))
|
|
||||||
: null,
|
|
||||||
isbj: storage.get("isbj") ? JSON.parse(storage.get("isbj")) : null,
|
isbj: storage.get("isbj") ? JSON.parse(storage.get("isbj")) : null,
|
||||||
// pN: storage.get("pN") ? JSON.parse(storage.get("pN")) : null,
|
// pN: storage.get("pN") ? JSON.parse(storage.get("pN")) : null,
|
||||||
pN: storage.get("pN"),
|
pN: storage.get("pN"),
|
||||||
@@ -2461,8 +2467,7 @@ export default {
|
|||||||
apitl
|
apitl
|
||||||
.getProjectDetail(objtl)
|
.getProjectDetail(objtl)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log("获取阶段列表", res);
|
if (res.status == 200) {
|
||||||
if (res.data.code == 200) {
|
|
||||||
console.log("阶段列表", res.data.data.stageList);
|
console.log("阶段列表", res.data.data.stageList);
|
||||||
for (let i = 0; i < res.data.data.stageList.length; i++) {
|
for (let i = 0; i < res.data.data.stageList.length; i++) {
|
||||||
for (
|
for (
|
||||||
@@ -3390,7 +3395,6 @@ export default {
|
|||||||
let leng = res.data.data.rows.length;
|
let leng = res.data.data.rows.length;
|
||||||
if (leng > 0) {
|
if (leng > 0) {
|
||||||
let arr = res.data.data.rows;
|
let arr = res.data.data.rows;
|
||||||
console.log("arr", arr);
|
|
||||||
setGroupList(arr);
|
setGroupList(arr);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -3566,10 +3570,7 @@ export default {
|
|||||||
console.log("state.projectId", state.projectId);
|
console.log("state.projectId", state.projectId);
|
||||||
getTask({
|
getTask({
|
||||||
projectId: state.projectId,
|
projectId: state.projectId,
|
||||||
})
|
}).then((res) => {
|
||||||
.then((res) => {
|
|
||||||
console.log(" res.data.data", res.data);
|
|
||||||
if (res.data.code === 200) {
|
|
||||||
state.action = res.data.data.projectInfo.status;
|
state.action = res.data.data.projectInfo.status;
|
||||||
state.act =
|
state.act =
|
||||||
state.action == 0
|
state.action == 0
|
||||||
@@ -3579,10 +3580,6 @@ export default {
|
|||||||
: state.action == -1
|
: state.action == -1
|
||||||
? ""
|
? ""
|
||||||
: "-";
|
: "-";
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
console.log("获取任务列表失败", err);
|
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
//打开发布弹窗
|
//打开发布弹窗
|
||||||
|
|||||||
Reference in New Issue
Block a user