添加传参方法

This commit is contained in:
宋文超
2022-11-17 16:26:17 +08:00
parent 429e8339c9
commit 5bd067c4d0
13 changed files with 1724 additions and 1491 deletions

View File

@@ -8,68 +8,76 @@
>
<div class="drawerMain">
<div class="header">
<div class="headerTitle">{{edit ? '编辑' : '添加' }}外链</div>
<div class="headerTitle">{{ edit ? "编辑" : "添加" }}外链</div>
<img
style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png"
@click="closeDrawer"
/>
</div>
<a-form ref="formRef" name="custom-validation" :model="state" :rules="rules" v-bind="layout"
@finish="handleFinish" @validate="handleValidate" @finishFailed="handleFinishFailed">
<div class="contentMain">
<div class="main_left">
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
<a-form
ref="formRef"
name="custom-validation"
:model="state"
:rules="rules"
v-bind="layout"
@finish="handleFinish"
@validate="handleValidate"
@finishFailed="handleFinishFailed"
>
<div class="contentMain">
<div class="main_left">
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">外链名称</span>
</div>
<div class="btnbox">
<a-input
v-model:value="inputV1"
style="width: 424px; height: 32px"
placeholder="请输入外链名称"
maxlength="20"
/>
</div>
<span style="margin-right: 3px">外链名称</span>
</div>
<div class="btnbox">
<a-input
v-model:value="inputV1"
style="width: 424px; height: 32px"
placeholder="请输入外链名称"
maxlength="20"
/>
</div>
</div>
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
<div class="main_item">
<div class="signbox">
<div class="sign">
<img
src="@/assets/images/coursewareManage/asterisk.png"
alt=""
/>
</div>
<span style="margin-right: 3px">链接</span>
</div>
<div class="btnbox">
<a-input
v-model:value="inputV2"
style="width: 424px; height: 32px"
placeholder="请输入链接"
/>
</div>
<span style="margin-right: 3px">链接</span>
</div>
<div class="btnbox">
<a-input
v-model:value="inputV2"
style="width: 424px; height: 32px"
placeholder="请输入链接"
/>
</div>
</div>
<div class="main_item2">
<div class="signbox">
<span style="margin-right: 3px">外链说明</span>
</div>
<div class="textarea">
<a-textarea
v-model:value="textV1"
placeholder="请输入外链说明"
allow-clear
/>
<div class="main_item2">
<div class="signbox">
<span style="margin-right: 3px">外链说明</span>
</div>
<div class="textarea">
<a-textarea
v-model:value="textV1"
placeholder="请输入外链说明"
allow-clear
/>
</div>
</div>
</div>
</div>
</div>
</a-form>
<div class="main_btns">
<button class="btn1" @click="closeDrawer">取消</button>
@@ -114,7 +122,8 @@ export default {
type: Number,
default: null,
},
edit: { // 是否为编辑
edit: {
// 是否为编辑
type: Boolean,
default: null,
},
@@ -130,12 +139,14 @@ export default {
type: Number,
default: 0,
},
isLevel: { // 是否是关卡页面触发
isLevel: {
// 是否是关卡页面触发
type: Number,
default: null,
},
projectTaskId: { // 要编辑的projectId
projectTaskId: {
// 要编辑的projectId
type: Number,
default: null,
},
@@ -146,8 +157,7 @@ export default {
isactive: {
type: Number,
default: null,
}
},
},
setup(props, ctx) {
const state = reactive({
@@ -164,115 +174,120 @@ export default {
state.inputV2 = "";
state.inputV1 = "";
state.textV1 = "";
// ctx.emit("changeData", false);
localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive);
};
const afterVisibleChange = (bool) => {
console.log("state", bool);
if(props.edit){
if (props.edit) {
queryRef();
}
};
const handleFinish = values => {
const handleFinish = (values) => {
console.log(values);
//updateRef(props.EditRefId)
};
const handleFinishFailed = errors => {
const handleFinishFailed = (errors) => {
console.log(errors);
// message.error("handleFinishFailed");
};
const updateTask =(res)=>{
if(props.isLevel ==1){
const updateTask = (res) => {
if (props.isLevel == 1) {
RouterEditTask({
chapterId: props.isactive,
courseId: res.data.data.linkId,
name: res.data.data.linkName,
routerId: props.routerId,
routerTaskId: props.routerTaskId || 0,
type: 7,
})
.then((res) => {
console.log(res, 11111);
message.success(`${props.edit ? '编辑' : '新增'}关卡任务成功`)
ctx.emit("changeData", false);
closeDrawer();
state.addLoading = false;
})
.catch((err) => {
console.log(err, 1111);
});
}else if(props.isLevel ==2){
chapterId: props.isactive,
courseId: res.data.data.linkId,
name: res.data.data.linkName,
routerId: props.routerId,
routerTaskId: props.routerTaskId || 0,
type: 7,
})
.then((res) => {
console.log(res, 11111);
message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`);
ctx.emit("changeData", false);
closeDrawer();
state.addLoading = false;
})
.catch((err) => {
console.log(err, 1111);
});
} else if (props.isLevel == 2) {
apiTask
.addTask({
courseId:res.data.data.linkId,
name: res.data.data.linkName,
projectId: props.projectId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId,
type: 7,
})
.then((res) => {
console.log("调用项目添加接口后111", res.data, 11111);
ctx.emit("changeData", false);
closeDrawer();
})
.catch((err) => {
console.log(err, 111111);
});
}else if(props.isLevel ==3){
.addTask({
courseId: res.data.data.linkId,
name: res.data.data.linkName,
projectId: props.projectId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId,
type: 7,
})
.then((res) => {
console.log("调用项目添加接口后111", res.data, 11111);
ctx.emit("changeData", false);
closeDrawer();
})
.catch((err) => {
console.log(err, 111111);
});
} else if (props.isLevel == 3) {
console.log("");
}
}
};
//创建外链
const updateRef = () => {
if (!state.inputV1) return message.warning("请输入外链名称");
if (!state.inputV2){
if (!state.inputV2) {
return message.warning("请输入链接");
}else{
const reg = /(https?|ftp|file):\/\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/;
if ((!reg.test(state.inputV2)) && state.inputV2 != '') {
} else {
const reg =
/(https?|ftp|file):\/\/[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/;
if (!reg.test(state.inputV2) && state.inputV2 != "") {
return message.warning("请输入合法的链接地址");
}
}
let obj = {
}
}
let obj = {
linkAddress: state.inputV2,
linkDescription: state.textV1,
linkId:props.edit?props.EditRefId:0,
linkName: state.inputV1,
linkId: props.edit ? props.EditRefId : 0,
linkName: state.inputV1,
};
console.log("编辑的id========",props.EditRefId)
if(props.edit){
console.log("编辑的id========", props.EditRefId);
if (props.edit) {
api
.updateLinks(obj)
.then((res) => {
message.success("编辑成功");
updateTask(res);
}).catch((err) => console.log(err));
}else{
.updateLinks(obj)
.then((res) => {
message.success("编辑成功");
updateTask(res);
})
.catch((err) => console.log(err));
} else {
api
.createExternalChain(obj)
.then((res) => {
message.success("提交成功");
updateTask(res);
}).catch((err) => console.log(err));
.createExternalChain(obj)
.then((res) => {
message.success("提交成功");
updateTask(res);
})
.catch((err) => console.log(err));
}
};
// 查询任务
// 查询任务
const queryRef = () => {
let d =props.EditRefId ;
let d = props.EditRefId;
api
.getLink({linkId:d}).then((res) => {
// console.log(dayjs(res.data.data.submitStartTime).format("YYYY-MM-DD"));
state.inputV1 = res.data.data.linkName;
state.inputV2 =res.data.data.linkAddress;
state.textV1 =res.data.data.linkDescription;
console.log("查询成功=====inputv1",state.inputV1);
}).catch(() => {
message.error(`查询失败`)
})
.getLink({ linkId: d })
.then((res) => {
// console.log(dayjs(res.data.data.submitStartTime).format("YYYY-MM-DD"));
state.inputV1 = res.data.data.linkName;
state.inputV2 = res.data.data.linkAddress;
state.textV1 = res.data.data.linkDescription;
console.log("查询成功=====inputv1", state.inputV1);
})
.catch(() => {
message.error(`查询失败`);
});
};
return {
...toRefs(state),
@@ -314,7 +329,7 @@ export default {
padding-right: 30px;
flex: 1;
border-right: 1px solid #e8e8e8;
margin-top:32px;
margin-top: 32px;
.main_item {
display: flex;
align-items: center;