mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-10 03:16:44 +08:00
Merge remote-tracking branch 'origin/develop' into develop
This commit is contained in:
@@ -31,6 +31,8 @@
|
||||
>
|
||||
{{items.optionName}}
|
||||
</a-radio>
|
||||
<br/>
|
||||
<img v-if="items.optionPictureAddress" :src="items.optionPictureAddress" alt="" srcset="" style="width: 100px; height:100px;margin-top: 5px;margin-bottom: 5px;">
|
||||
</div>
|
||||
</div>
|
||||
</a-radio-group>
|
||||
@@ -151,9 +153,8 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log(choiceArr)
|
||||
state.currentChoice = choiceArr
|
||||
|
||||
|
||||
}).catch(err=>{
|
||||
console.log(err)
|
||||
})
|
||||
|
||||
@@ -41,17 +41,22 @@
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="box1" v-for="(itteems, indexss) in values.assessmentSingleChoiceVoList" style="margin-left: 55px; margin-top: 20px" :key="indexss">
|
||||
<div class="asstype">选择{{indexss+1}}:</div>
|
||||
<div style="display:flex;justify-content:center;align-items:center;">
|
||||
<div v-if="itteems.select" style="display:flex;justify-content:center;align-items:center;width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;">
|
||||
<div style="width:8px;height:8px;border-radius:4px;background-color:#409eff;"></div>
|
||||
<div class="box1" v-for="(itteems, indexss) in values.assessmentSingleChoiceVoList" style="margin-left: 55px; margin-top: 20px; flex-direction:column; justify-content:flex-start;align-items:flex-start;" :key="indexss">
|
||||
<div style="display:flex;">
|
||||
<div class="asstype">选择{{indexss+1}}:</div>
|
||||
<div style="display:flex;justify-content:center;align-items:center;">
|
||||
<div v-if="itteems.select" style="display:flex;justify-content:center;align-items:center;width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;">
|
||||
<div style="width:8px;height:8px;border-radius:4px;background-color:#409eff;"></div>
|
||||
</div>
|
||||
<div v-else style="width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;"></div>
|
||||
{{itteems.singleOptionName}}
|
||||
</div>
|
||||
<div v-else style="width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;"></div>
|
||||
{{itteems.singleOptionName}}
|
||||
</div>
|
||||
<img v-if="itteems?.singleOptionPictureAddress" :src="itteems?.singleOptionPictureAddress" alt="" srcset="" style="width: 140px;height:140px;margin-top:5px;">
|
||||
<div v-else-if="isExistImg(values.assessmentSingleChoiceVoList, 1)" style="width: 140px;height:140px;margin-top:5px;"></div>
|
||||
<!-- <a-radio :value="indexs" defaultValue>{{iitem.singleOptionName}}</a-radio> -->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div style="margin-bottom:30px;"></div>
|
||||
</div>
|
||||
@@ -68,15 +73,19 @@
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="box1" v-for="(itteems, indexss) in values.multipleChoiceVoList" style="margin-left: 55px; margin-top: 20px" :key="indexss">
|
||||
<div class="asstype">选择{{indexss+1}}:</div>
|
||||
<div style="display:flex;justify-content:center;align-items:center;">
|
||||
<div v-if="itteems.select" style="display:flex;justify-content:center;align-items:center;width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;">
|
||||
<div style="width:8px;height:8px;border-radius:4px;background-color:#409eff;"></div>
|
||||
<div class="box1" v-for="(itteems, indexss) in values.multipleChoiceVoList" style="margin-left: 55px; margin-top: 20px; flex-direction:column; justify-content:flex-start;align-items:flex-start;" :key="indexss">
|
||||
<div style="display:flex;">
|
||||
<div class="asstype">选择{{indexss+1}}:</div>
|
||||
<div style="display:flex;justify-content:center;align-items:center;">
|
||||
<div v-if="itteems.select" style="display:flex;justify-content:center;align-items:center;width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;">
|
||||
<div style="width:8px;height:8px;border-radius:4px;background-color:#409eff;"></div>
|
||||
</div>
|
||||
<div v-else style="width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;"></div>
|
||||
{{itteems.multipleOptionName}}
|
||||
</div>
|
||||
<div v-else style="width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;"></div>
|
||||
{{itteems.multipleOptionName}}
|
||||
</div>
|
||||
<img v-if="itteems?.multipleOptionPictureAddress" :src="itteems?.multipleOptionPictureAddress" alt="" srcset="" style="width: 140px;height:140px;margin-top:5px;">
|
||||
<div v-else-if="isExistImg(values.multipleChoiceVoList, 2)" style="width: 140px;height:140px;margin-top:5px;"></div>
|
||||
<!-- <a-radio :value="indexs" defaultValue>{{iitem.singleOptionName}}</a-radio> -->
|
||||
</div>
|
||||
</div>
|
||||
@@ -217,10 +226,31 @@ export default {
|
||||
}
|
||||
};
|
||||
|
||||
// 判断当前题目中是否有的选项有图片有的没有
|
||||
const isExistImg = (data, index) => {
|
||||
let exist = false;
|
||||
data.forEach((i,n)=>{
|
||||
console.log(i,n)
|
||||
if(index==1){
|
||||
if(i.singleOptionPictureAddress){
|
||||
exist = true;
|
||||
return exist;
|
||||
}
|
||||
}else{
|
||||
if(i.multipleOptionPictureAddress){
|
||||
exist = true;
|
||||
return exist;
|
||||
}
|
||||
}
|
||||
})
|
||||
return exist;
|
||||
}
|
||||
|
||||
return {
|
||||
...toRefs(state),
|
||||
afterVisibleChange,
|
||||
closeDrawer,
|
||||
isExistImg
|
||||
// change,
|
||||
};
|
||||
},
|
||||
|
||||
@@ -370,10 +370,10 @@ export default {
|
||||
'courseId': props.datasource.courseId,//任务的Id
|
||||
'courseName': props.title,//任务的名称
|
||||
'logo': '1',//项目或径的标识 1-项目 2-路径图 3面授课
|
||||
'routerTaskId': props.datasource.routerId,//任务的routerTaskld或projectTaskld
|
||||
'targetId': props.datasource.routerId,//路径图的就是routerId,项目的是projectId;根据这张图来看的话
|
||||
'routerTaskId': props.datasource.projectId,//任务的routerTaskld或projectTaskld
|
||||
'targetId': props.datasource.projectId,//路径图的就是routerId,项目的是projectId;根据这张图来看的话
|
||||
'taskType': props.datasource.type,//催促的任务的类型
|
||||
'chapterId': props.datasource.chapterId,//阶段或关卡Id
|
||||
'chapterId': props.datasource.stageId,//阶段或关卡Id
|
||||
};
|
||||
batchSendMessage(obj).then(res => {
|
||||
console.log(res)
|
||||
|
||||
@@ -366,10 +366,10 @@
|
||||
'courseId': props.datasource.courseId,//任务的Id
|
||||
'courseName': props.title,//任务的名称
|
||||
'logo': '1',//项目或径的标识 1-项目 2-路径图 3面授课
|
||||
'routerTaskId': props.datasource.routerId,//任务的routerTaskld或projectTaskld
|
||||
'targetId': props.datasource.routerId,//路径图的就是routerId,项目的是projectId;根据这张图来看的话
|
||||
'routerTaskId': props.datasource.projectId,//任务的routerTaskld或projectTaskld
|
||||
'targetId': props.datasource.projectId,//路径图的就是routerId,项目的是projectId;根据这张图来看的话
|
||||
'taskType': props.datasource.type,//催促的任务的类型
|
||||
'chapterId': props.datasource.chapterId,//阶段或关卡Id
|
||||
'chapterId': props.datasource.stageId,//阶段或关卡Id
|
||||
};
|
||||
batchSendMessage(obj).then(res => {
|
||||
message.success("催促" + props.title + "成功");
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* @Author: lixg lixg@dongwu-inc.com
|
||||
* @Date: 2023-02-23 14:57:21
|
||||
* @LastEditors: lixg lixg@dongwu-inc.com
|
||||
* @LastEditTime: 2023-02-24 22:54:03
|
||||
* @LastEditTime: 2023-03-07 17:30:12
|
||||
* @FilePath: /fe-manage/src/components/project/OrgClassCheck.vue
|
||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||
-->
|
||||
|
||||
@@ -86,16 +86,29 @@
|
||||
{{ qdms_inputV2.length }}/50
|
||||
</span>
|
||||
</div> -->
|
||||
<div>
|
||||
<OrgClassCheck
|
||||
v-model:value="orgSelect"
|
||||
v-model:name="orgSelectName"
|
||||
:disabled="true"
|
||||
></OrgClassCheck>
|
||||
<div
|
||||
v-if="orgSelectNames"
|
||||
style="
|
||||
margin-bottom: 10px;
|
||||
height: 27px;
|
||||
line-height: 27px;
|
||||
margin-left: 10px;
|
||||
font-weight: 450;
|
||||
"
|
||||
>
|
||||
<span
|
||||
v-for="(i, k) in orgSelectNames"
|
||||
:key="k"
|
||||
style="margin-right: 20px"
|
||||
>{{ i }}</span
|
||||
>
|
||||
</div>
|
||||
<div style="margin-top: 10px">
|
||||
<div
|
||||
style="margin-bottom: 10px"
|
||||
v-if="selectJobId.length !== 0"
|
||||
>
|
||||
<a-select
|
||||
v-model:value="selectJobId"
|
||||
v-model:value="selectJobId" v-if="selectJobId.length > 0"
|
||||
mode="multiple"
|
||||
style="width: 440px; min-height: 40px"
|
||||
placeholder="请选择岗位"
|
||||
@@ -109,9 +122,9 @@
|
||||
disabled
|
||||
></a-select>
|
||||
</div>
|
||||
<div style="margin-top: 10px">
|
||||
<div v-if="selectBandId.length !== 0">
|
||||
<a-select
|
||||
v-model:value="selectBandId"
|
||||
v-model:value="selectBandId" v-if="selectBandId.length > 0"
|
||||
mode="multiple"
|
||||
style="width: 440px; min-height: 40px"
|
||||
placeholder="请选择Band"
|
||||
@@ -344,7 +357,7 @@
|
||||
<script>
|
||||
import { reactive, toRefs, defineComponent, watch, computed } from "vue";
|
||||
import { useStore } from "vuex";
|
||||
import OrgClassCheck from "@/components/project/OrgClassCheck";
|
||||
// import OrgClassCheck from "@/components/project/OrgClassCheck";
|
||||
import OrgClass from "@/components/project/OrgClass";
|
||||
import { detail } from "@/api/indexCourse";
|
||||
export default defineComponent({
|
||||
@@ -359,7 +372,7 @@ export default defineComponent({
|
||||
},
|
||||
},
|
||||
components: {
|
||||
OrgClassCheck,
|
||||
// OrgClassCheck,
|
||||
OrgClass,
|
||||
},
|
||||
setup(props, { emit }) {
|
||||
@@ -387,6 +400,7 @@ export default defineComponent({
|
||||
sourceBelongId: [],
|
||||
sourceBelongName: [],
|
||||
sourceBelongFullName: [],
|
||||
orgSelectNames: "",
|
||||
});
|
||||
|
||||
const sysTypeOptions = computed(() => store.state.content_type);
|
||||
@@ -411,6 +425,7 @@ export default defineComponent({
|
||||
let item = res.data.data;
|
||||
if (item.jobTypeIds) {
|
||||
state.selectJobId = item.jobTypeIds.split(",");
|
||||
console.log("selectJobId" + JSON.stringify(state.selectJobId));
|
||||
}
|
||||
if (item.bandIds) {
|
||||
state.selectBandId = item.bandIds.split(",");
|
||||
@@ -434,6 +449,7 @@ export default defineComponent({
|
||||
});
|
||||
console.log("arrObj-------------", arrObj);
|
||||
state.orgSelect = arrObj;
|
||||
state.orgSelectNames = orgSelectNames;
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -474,6 +490,19 @@ export default defineComponent({
|
||||
const handleCancel = () => {
|
||||
console.log("关闭");
|
||||
emit("cancel");
|
||||
//目标任务
|
||||
state.orgSelect = [];
|
||||
state.orgSelectName = [];
|
||||
state.orgSelectFullName = [];
|
||||
state.selectJobName = [];
|
||||
state.selectJobId = [];
|
||||
state.selectBandName = [];
|
||||
state.selectBandId = [];
|
||||
//资源归属
|
||||
state.sourceBelongId = [];
|
||||
state.sourceBelongName = [];
|
||||
state.sourceBelongFullName = [];
|
||||
state.orgSelectNames = "";
|
||||
};
|
||||
|
||||
function openDown(link) {
|
||||
|
||||
@@ -841,8 +841,8 @@ export default defineComponent({
|
||||
}
|
||||
files = files.slice(0, files.length - 1);
|
||||
|
||||
let orgSelectIds = [];
|
||||
let orgSelectNames = [];
|
||||
let orgSelectIds = "";
|
||||
let orgSelectNames = "";
|
||||
if (state.orgSelect && state.orgSelect.length) {
|
||||
state.orgSelect.forEach((item) => {
|
||||
orgSelectIds += item.value + ",";
|
||||
|
||||
@@ -199,7 +199,7 @@
|
||||
>结束</a-button
|
||||
>
|
||||
<a-button
|
||||
v-if="record.status !== -1 && record.type === 3"
|
||||
v-if="record.status == -1"
|
||||
@click="showBackFinashModal(record.id)"
|
||||
type="link"
|
||||
>撤回</a-button
|
||||
|
||||
@@ -2830,7 +2830,7 @@ export default {
|
||||
startTime: state.rankStartTime ? state.rankStartTime : 0, // 数据查询的起始时间 10位时间戳
|
||||
endTime: state.rankEndTime ? state.rankEndTime : 0,
|
||||
stageId: state.valuestu2, // 阶段ID
|
||||
type: Number(state.valuestu3), // 查询类型 0 学员积分榜 1 小组积分榜
|
||||
type: Number(state.valuestu1), // 查询类型 0 学员积分榜 1 小组积分榜
|
||||
};
|
||||
console.log("我是获取得项目进度排行榜--》", obj);
|
||||
api
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
<div class="split"></div>
|
||||
<div class="up down">
|
||||
<div class="header">
|
||||
<div class="text">学员情况1</div>
|
||||
<div class="text">学员情况</div>
|
||||
<div class="btn btn2" @click="exportStudentInfo">
|
||||
<div class="img2"></div>
|
||||
<div class="wz">导出信息</div>
|
||||
@@ -144,7 +144,7 @@ export default {
|
||||
|
||||
// 导出学员信息
|
||||
function exportStudentInfo() {
|
||||
window.open(`${process.env.VUE_APP_BASE_API}/admin/assessment/manage/exportAssessmentMessage?assessmentId=${router.currentRoute.value.params.id}`)
|
||||
window.open(`${process.env.VUE_APP_BASE_API}/admin/assessment/manage/exportAssessmentMessage?courseId=${router.currentRoute.value.params.id}`)
|
||||
}
|
||||
|
||||
//分页
|
||||
|
||||
@@ -74,11 +74,11 @@
|
||||
<div class="inname">配置权重</div>
|
||||
</div>
|
||||
<div class="in" style="display: flex">
|
||||
<div class="assess">
|
||||
<!-- <div class="assess">
|
||||
<div class="assesstype">评估类型</div>
|
||||
<div class="assesswhole">整体评估</div>
|
||||
</div>
|
||||
<div class="assess" style="margin-left: 50px; position: relative">
|
||||
</div> -->
|
||||
<div class="assess" style="position: relative">
|
||||
<div class="assesstype">权重比例</div>
|
||||
<div class="assesswhole" style="background: #ffffff">
|
||||
<a-input-number
|
||||
|
||||
Reference in New Issue
Block a user