Merge remote-tracking branch 'origin/develop' into develop

This commit is contained in:
yuping
2023-03-08 01:07:23 +08:00
11 changed files with 104 additions and 44 deletions

View File

@@ -31,6 +31,8 @@
> >
{{items.optionName}} {{items.optionName}}
</a-radio> </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>
</div> </div>
</a-radio-group> </a-radio-group>
@@ -151,9 +153,8 @@ export default {
} }
} }
} }
console.log(choiceArr)
state.currentChoice = choiceArr state.currentChoice = choiceArr
}).catch(err=>{ }).catch(err=>{
console.log(err) console.log(err)
}) })

View File

@@ -41,7 +41,8 @@
</div> </div>
</div> </div>
<div> <div>
<div class="box1" v-for="(itteems, indexss) in values.assessmentSingleChoiceVoList" style="margin-left: 55px; margin-top: 20px" :key="indexss"> <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 class="asstype">选择{{indexss+1}}</div>
<div style="display:flex;justify-content:center;align-items:center;"> <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 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;">
@@ -50,8 +51,12 @@
<div v-else style="width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;"></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}} {{itteems.singleOptionName}}
</div> </div>
</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> --> <!-- <a-radio :value="indexs" defaultValue>{{iitem.singleOptionName}}</a-radio> -->
</div> </div>
</div> </div>
<div style="margin-bottom:30px;"></div> <div style="margin-bottom:30px;"></div>
</div> </div>
@@ -68,7 +73,8 @@
</div> </div>
</div> </div>
<div> <div>
<div class="box1" v-for="(itteems, indexss) in values.multipleChoiceVoList" style="margin-left: 55px; margin-top: 20px" :key="indexss"> <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 class="asstype">选择{{indexss+1}}</div>
<div style="display:flex;justify-content:center;align-items:center;"> <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 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;">
@@ -77,6 +83,9 @@
<div v-else style="width:16px;height:16px;border-radius:8px;border:1px solid rgba(151, 151, 151, 0.29);margin-right: 8px;"></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}} {{itteems.multipleOptionName}}
</div> </div>
</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> --> <!-- <a-radio :value="indexs" defaultValue>{{iitem.singleOptionName}}</a-radio> -->
</div> </div>
</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 { return {
...toRefs(state), ...toRefs(state),
afterVisibleChange, afterVisibleChange,
closeDrawer, closeDrawer,
isExistImg
// change, // change,
}; };
}, },

View File

@@ -370,10 +370,10 @@ export default {
'courseId': props.datasource.courseId,//任务的Id 'courseId': props.datasource.courseId,//任务的Id
'courseName': props.title,//任务的名称 'courseName': props.title,//任务的名称
'logo': '1',//项目或径的标识 1-项目 2-路径图 3面授课 'logo': '1',//项目或径的标识 1-项目 2-路径图 3面授课
'routerTaskId': props.datasource.routerId,//任务的routerTaskld或projectTaskld 'routerTaskId': props.datasource.projectId,//任务的routerTaskld或projectTaskld
'targetId': props.datasource.routerId,//路径图的就是routerId,项目的是projectId;根据这张图来看的话 'targetId': props.datasource.projectId,//路径图的就是routerId,项目的是projectId;根据这张图来看的话
'taskType': props.datasource.type,//催促的任务的类型 'taskType': props.datasource.type,//催促的任务的类型
'chapterId': props.datasource.chapterId,//阶段或关卡Id 'chapterId': props.datasource.stageId,//阶段或关卡Id
}; };
batchSendMessage(obj).then(res => { batchSendMessage(obj).then(res => {
console.log(res) console.log(res)

View File

@@ -366,10 +366,10 @@
'courseId': props.datasource.courseId,//任务的Id 'courseId': props.datasource.courseId,//任务的Id
'courseName': props.title,//任务的名称 'courseName': props.title,//任务的名称
'logo': '1',//项目或径的标识 1-项目 2-路径图 3面授课 'logo': '1',//项目或径的标识 1-项目 2-路径图 3面授课
'routerTaskId': props.datasource.routerId,//任务的routerTaskld或projectTaskld 'routerTaskId': props.datasource.projectId,//任务的routerTaskld或projectTaskld
'targetId': props.datasource.routerId,//路径图的就是routerId,项目的是projectId;根据这张图来看的话 'targetId': props.datasource.projectId,//路径图的就是routerId,项目的是projectId;根据这张图来看的话
'taskType': props.datasource.type,//催促的任务的类型 'taskType': props.datasource.type,//催促的任务的类型
'chapterId': props.datasource.chapterId,//阶段或关卡Id 'chapterId': props.datasource.stageId,//阶段或关卡Id
}; };
batchSendMessage(obj).then(res => { batchSendMessage(obj).then(res => {
message.success("催促" + props.title + "成功"); message.success("催促" + props.title + "成功");

View File

@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com * @Author: lixg lixg@dongwu-inc.com
* @Date: 2023-02-23 14:57:21 * @Date: 2023-02-23 14:57:21
* @LastEditors: lixg lixg@dongwu-inc.com * @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 * @FilePath: /fe-manage/src/components/project/OrgClassCheck.vue
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
--> -->

View File

@@ -86,16 +86,29 @@
{{ qdms_inputV2.length }}/50 {{ qdms_inputV2.length }}/50
</span> </span>
</div> --> </div> -->
<div> <div
<OrgClassCheck v-if="orgSelectNames"
v-model:value="orgSelect" style="
v-model:name="orgSelectName" margin-bottom: 10px;
:disabled="true" height: 27px;
></OrgClassCheck> 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>
<div style="margin-top: 10px"> <div
style="margin-bottom: 10px"
v-if="selectJobId.length !== 0"
>
<a-select <a-select
v-model:value="selectJobId" v-model:value="selectJobId" v-if="selectJobId.length > 0"
mode="multiple" mode="multiple"
style="width: 440px; min-height: 40px" style="width: 440px; min-height: 40px"
placeholder="请选择岗位" placeholder="请选择岗位"
@@ -109,9 +122,9 @@
disabled disabled
></a-select> ></a-select>
</div> </div>
<div style="margin-top: 10px"> <div v-if="selectBandId.length !== 0">
<a-select <a-select
v-model:value="selectBandId" v-model:value="selectBandId" v-if="selectBandId.length > 0"
mode="multiple" mode="multiple"
style="width: 440px; min-height: 40px" style="width: 440px; min-height: 40px"
placeholder="请选择Band" placeholder="请选择Band"
@@ -344,7 +357,7 @@
<script> <script>
import { reactive, toRefs, defineComponent, watch, computed } from "vue"; import { reactive, toRefs, defineComponent, watch, computed } from "vue";
import { useStore } from "vuex"; import { useStore } from "vuex";
import OrgClassCheck from "@/components/project/OrgClassCheck"; // import OrgClassCheck from "@/components/project/OrgClassCheck";
import OrgClass from "@/components/project/OrgClass"; import OrgClass from "@/components/project/OrgClass";
import { detail } from "@/api/indexCourse"; import { detail } from "@/api/indexCourse";
export default defineComponent({ export default defineComponent({
@@ -359,7 +372,7 @@ export default defineComponent({
}, },
}, },
components: { components: {
OrgClassCheck, // OrgClassCheck,
OrgClass, OrgClass,
}, },
setup(props, { emit }) { setup(props, { emit }) {
@@ -387,6 +400,7 @@ export default defineComponent({
sourceBelongId: [], sourceBelongId: [],
sourceBelongName: [], sourceBelongName: [],
sourceBelongFullName: [], sourceBelongFullName: [],
orgSelectNames: "",
}); });
const sysTypeOptions = computed(() => store.state.content_type); const sysTypeOptions = computed(() => store.state.content_type);
@@ -411,6 +425,7 @@ export default defineComponent({
let item = res.data.data; let item = res.data.data;
if (item.jobTypeIds) { if (item.jobTypeIds) {
state.selectJobId = item.jobTypeIds.split(","); state.selectJobId = item.jobTypeIds.split(",");
console.log("selectJobId" + JSON.stringify(state.selectJobId));
} }
if (item.bandIds) { if (item.bandIds) {
state.selectBandId = item.bandIds.split(","); state.selectBandId = item.bandIds.split(",");
@@ -434,6 +449,7 @@ export default defineComponent({
}); });
console.log("arrObj-------------", arrObj); console.log("arrObj-------------", arrObj);
state.orgSelect = arrObj; state.orgSelect = arrObj;
state.orgSelectNames = orgSelectNames;
} }
} }
}); });
@@ -474,6 +490,19 @@ export default defineComponent({
const handleCancel = () => { const handleCancel = () => {
console.log("关闭"); console.log("关闭");
emit("cancel"); 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) { function openDown(link) {

View File

@@ -841,8 +841,8 @@ export default defineComponent({
} }
files = files.slice(0, files.length - 1); files = files.slice(0, files.length - 1);
let orgSelectIds = []; let orgSelectIds = "";
let orgSelectNames = []; let orgSelectNames = "";
if (state.orgSelect && state.orgSelect.length) { if (state.orgSelect && state.orgSelect.length) {
state.orgSelect.forEach((item) => { state.orgSelect.forEach((item) => {
orgSelectIds += item.value + ","; orgSelectIds += item.value + ",";

View File

@@ -199,7 +199,7 @@
>结束</a-button >结束</a-button
> >
<a-button <a-button
v-if="record.status !== -1 && record.type === 3" v-if="record.status == -1"
@click="showBackFinashModal(record.id)" @click="showBackFinashModal(record.id)"
type="link" type="link"
>撤回</a-button >撤回</a-button

View File

@@ -2830,7 +2830,7 @@ export default {
startTime: state.rankStartTime ? state.rankStartTime : 0, // 数据查询的起始时间 10位时间戳 startTime: state.rankStartTime ? state.rankStartTime : 0, // 数据查询的起始时间 10位时间戳
endTime: state.rankEndTime ? state.rankEndTime : 0, endTime: state.rankEndTime ? state.rankEndTime : 0,
stageId: state.valuestu2, // 阶段ID stageId: state.valuestu2, // 阶段ID
type: Number(state.valuestu3), // 查询类型 0 学员积分榜 1 小组积分榜 type: Number(state.valuestu1), // 查询类型 0 学员积分榜 1 小组积分榜
}; };
console.log("我是获取得项目进度排行榜--》", obj); console.log("我是获取得项目进度排行榜--》", obj);
api api

View File

@@ -52,7 +52,7 @@
<div class="split"></div> <div class="split"></div>
<div class="up down"> <div class="up down">
<div class="header"> <div class="header">
<div class="text">学员情况1</div> <div class="text">学员情况</div>
<div class="btn btn2" @click="exportStudentInfo"> <div class="btn btn2" @click="exportStudentInfo">
<div class="img2"></div> <div class="img2"></div>
<div class="wz">导出信息</div> <div class="wz">导出信息</div>
@@ -144,7 +144,7 @@ export default {
// 导出学员信息 // 导出学员信息
function exportStudentInfo() { 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}`)
} }
//分页 //分页

View File

@@ -74,11 +74,11 @@
<div class="inname">配置权重</div> <div class="inname">配置权重</div>
</div> </div>
<div class="in" style="display: flex"> <div class="in" style="display: flex">
<div class="assess"> <!-- <div class="assess">
<div class="assesstype">评估类型</div> <div class="assesstype">评估类型</div>
<div class="assesswhole">整体评估</div> <div class="assesswhole">整体评估</div>
</div> </div> -->
<div class="assess" style="margin-left: 50px; position: relative"> <div class="assess" style="position: relative">
<div class="assesstype">权重比例</div> <div class="assesstype">权重比例</div>
<div class="assesswhole" style="background: #ffffff"> <div class="assesswhole" style="background: #ffffff">
<a-input-number <a-input-number