Commit 1f6fcfa3 authored by 李苏's avatar 李苏 💬

培训

parent c69c67fc
/* 查询培训人员及得分,设计书培训反馈功能,参与人员/考试成绩 */
import request from "common/src/utils/request";
/* 查询 */
export function queryKscj(query) {
return request({
url: '/aqgl/pxgl/pxsj/queryKscj',
method: 'post',
data: query||{}
})
}
export function queryKscjDtl(query) {
return request({
url: '/aqgl/pxgl/pxsj/queryKscjDtl',
method: 'post',
data: query||{}
})
}
......@@ -31,6 +31,10 @@ export function doDelete(query) {
})
}
export function queryGsTree(query) {
return request({
url: 'jcsj/common/bm/queryGsTree',
method: 'post',
data: query||{}
})
}
......@@ -950,6 +950,19 @@ export const powerRoutes=[
name:'ks',
path:"ks"
},
{
component:'train/ksjl/index',
hidden:false,
meta:{
"title": "考试记录",
"icon": "",
"noCache": false,
"link": null,
"mkid":906001600,
},
name:'ksjl',
path:"ksjl"
}
/*,
......
......@@ -13,6 +13,16 @@
<RelSelect :readonly="readonly" linkage :linkParams="{pid:form.gsid}" style="width: 100%;" src='jcsj/common/bm/queryBz' filterable clearable :match="{value:'id',label:'bmmc'}" v-model='form.bmid' ></RelSelect>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="培训时间" ref="pxsj" prop="pxsj">
<el-input :readonly="readonly" v-model="form.pxsj" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="估计费用" ref="pxfy" prop="pxfy">
<el-input :readonly="readonly" v-model="form.pxfy" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="培训项目" ref="name" prop="name">
<el-input :readonly="readonly" v-model="form.name" ></el-input>
......@@ -30,7 +40,18 @@
</el-col>
<el-col :span="12">
<el-form-item label="培训方式" ref="pxfs" prop="pxfs">
<RelSelect :readonly="readonly" style="width: 100%;" src='aqgl/pxgl/pxjh/init/pxfs' filterable clearable :match="{value:'id',label:'name'}" v-model='form.pxfs' ></RelSelect>
<el-input :readonly="readonly" v-model="form.pxfs" ></el-input>
<!-- <RelSelect :readonly="readonly" style="width: 100%;" src='aqgl/pxgl/pxjh/init/pxfs' filterable clearable :match="{value:'id',label:'name'}" v-model='form.pxfs' ></RelSelect> -->
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="项目负责人" ref="xmfzr" prop="xmfzr">
<el-input :readonly="readonly" v-model="form.xmfzr" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="质量负责人" ref="zlfzr" prop="zlfzr">
<el-input :readonly="readonly" v-model="form.zlfzr" ></el-input>
</el-form-item>
</el-col>
</el-row>
......@@ -42,21 +63,43 @@
</el-col>
<el-col :span="12">
<el-form-item label="年度" ref="year" prop="year">
<el-input type="number" :readonly="readonly" v-model="form.year" ></el-input>
<el-select style="width: 100%;" v-model="form.year" placeholder="请选择">
<el-option v-for="(item,index) in yearList"
:label='item.label'
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col v-show="form.type=='M'" :span="12">
<el-form-item label="月份" ref="month" prop="month">
<el-input type="number" :readonly="readonly" v-model="form.month" ></el-input>
<!-- <el-input type="number" :readonly="readonly" v-model="form.month" ></el-input> -->
<el-select style="width: 100%;" v-model="form.month" placeholder="请选择">
<el-option v-for="(item,index) in 12"
:label='`${item}月`'
:value="item">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col v-show="form.type=='Q'" :span="12">
<el-form-item label="季度" ref="quarter" prop="quarter">
<el-input type="number" :readonly="readonly" v-model="form.quarter" ></el-input>
<el-select style="width: 100%;" v-model="form.quarter" placeholder="请选择">
<el-option v-for="(item,index) in 4"
:label='`${item}季度`'
:value="item">
</el-option>
</el-select>
<!-- <el-input type="number" :readonly="readonly" v-model="form.quarter" ></el-input> -->
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-row :gutter="25">
<el-col :span="24">
<el-form-item label="完成标准" ref="mbwcbz" prop="mbwcbz">
<el-input type='textarea' :readonly="readonly" v-model="form.mbwcbz" ></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="培训目标" ref="pxmb" prop="pxmb">
<el-input type='textarea' :readonly="readonly" v-model="form.pxmb" ></el-input>
......@@ -64,9 +107,8 @@
</el-col>
<el-col :span="12">
<el-form-item label="授课人" ref="skrid" prop="skrid">
<personSelector :readonly="readonly" :label="form.skrName||'暂无'" @selected='skrSelected' ></personSelector>
<!-- <el-input :readonly="readonly" v-model="form.skrid" ></el-input> -->
<el-form-item label="授课人" ref="skr" prop="skr">
<el-input :readonly="readonly" v-model="form.skr" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
......@@ -92,7 +134,14 @@
mixins: [editMixin],
/* 存放index页面传递的额外参数*/
mounted() {
let year =new Date().getFullYear();
year=year-35
for(let i=0;i<40;i++){
this.yearList.push({
label:year+i+'年',
value:year+i
})
}
},
/* 组件名称*/
name: "aqgl/pxglPxjhEdit",
......@@ -100,7 +149,7 @@
data() {
return {
yearList:[],
/* 额外初始化,根据需求*/
systemType: [],
......@@ -108,6 +157,13 @@
/* 当前表单初始值,默认由RelDialog查询indexQuery赋值,copy时不赋值id,初始化时所有query的值都会赋值给form*/
form: {
mbwcbz:'',
skr:'',
zlfzr:'',
xmfzr:'',
/* 新增字段*/
pxsj:'',
pxfy:'',
//ID
id:'',
//公司编码
......@@ -130,8 +186,7 @@
pxmb:'',
//培训方式
pxfs:'',
//授课人
skrid:'',
//课时
pxsc:'',
//主办单位
......
<template>
<div class="min_full" style='flex-direction: row;border: 0px;overflow: auto;' >
<div class="min_full" style="width: 200px;border-right: 0px;height:140vh">
<TreeBase :app='app' @selected='selectedTree'></TreeBase>
<TreeBase :dgtype='4' :app='app' @selected='selectedTree'></TreeBase>
</div>
<div class="min_full" style="height: 140vh;width: calc(100% - 200px);border: 0px;">
......@@ -26,7 +26,7 @@
<el-col :span="6" class="search-col">
<div class="search-item">
<span class="search-span">培训方式:</span>
<RelSelect style="width: 100%;" src='aqgl/pxgl/pxjh/init/pxfs' filterable clearable :match="{value:'id',label:'name'}" v-model='queryParams.pxfs' ></RelSelect>
<el-input v-model='queryParams.pxfs' size="small" class="search-input"></el-input>
</div>
</el-col>
</el-row>
......@@ -55,7 +55,10 @@
</div>
<div class="min_full" style="height: 60%;padding: 10px;">
<el-tabs v-model="activeName" v-show="tabData.length>0&&rowItem" >
<el-tab-pane label="参与人员与得分" name="first" >
<el-tab-pane label="培训内容及效果评估" name="first">
<PersonLiable ref='personLiable' />
</el-tab-pane>
<el-tab-pane label="参与人员与得分" name="fourth" >
<Participants ref='participants' />
</el-tab-pane>
<!-- <el-tab-pane label="考试程序" name="second">
......@@ -64,9 +67,7 @@
<el-tab-pane label="培训小结" name="third">
<Content />
</el-tab-pane> -->
<el-tab-pane label="培训内容及效果评估" name="fourth">
<PersonLiable ref='personLiable' />
</el-tab-pane>
</el-tabs>
</div>
......@@ -83,7 +84,10 @@
doAddPxjl,
doUpdatePxjl,
doDeletePxjl
} from '@/api/train/assessment.js';
} from '@/api/train/assessment.js';
import {
queryGsTree
} from "@/api/train/planning.js";
import {
QueryBm,
} from "common/src/api/system/dmgSystem.js";
......@@ -119,45 +123,50 @@
pxfs:'',
year:'',
skr:'',
bmid:''
gsid:''
},
/* 树的标题 */
treeTitle: '部门列表',
treeTitle: '公司列表',
treeDefaultProps: {
children: 'children',
label: 'bmmc'
},
/* 表格标题对应参数*/
tableTitle: [
{label: "公司", prop: "gsName", fieldType: "ftString",width:192},
{label: "培训项目", prop: "name", fieldType: "ftString",width:300},
{label: "培训对象", prop: "pxdx", fieldType: "ftString",width:300},
{label: "培训人数", prop: "pxrs", fieldType: "int"},
{label: "培训类型", prop: "type", fieldType: "ftString",width:100,transform:{
url:'aqgl/pxgl/pxjh/init/type',label:'name',value:'id'
}},
{label: "年度", prop: "year", fieldType: "int"},
{label: "月份", prop: "month", fieldType: "int"},
{label: "季度", prop: "quarter", fieldType: "int"},
{label: "培训目标", prop: "pxmb", fieldType: "ftString",width:300},
{label: "培训方式", prop: "pxfs", fieldType: "ftString",width:130,transform:{
url:'aqgl/pxgl/pxjh/init/pxfs',label:'name',value:'id'
tableTitle: [
{label: "公司", prop: "gsName", fieldType: "ftString",width:192},
{label: "培训项目", prop: "name", fieldType: "ftString",width:300},
{label: "培训对象", prop: "pxdx", fieldType: "ftString",width:300},
{label: "培训人数", prop: "pxrs", fieldType: "int"},
{label: "培训类型", prop: "type", fieldType: "ftString",width:100,transform:{
url:'aqgl/pxgl/pxjh/init/type',label:'name',value:'id'
}},
{label: "授课人", prop: "skrName", fieldType: "ftString",width:192},
{label: "课时", prop: "pxsc", fieldType: "float"},
{label: "主办单位", prop: "bmName", fieldType: "ftString",width:192},
{label: "备注", prop: "bz", fieldType: "ftString",width:300},
{label: "维护人", prop: "whr", fieldType: "ftString"},
{label: "维护时间", prop: "whsj", fieldType: "ftDateTime"},
{label: "创建人", prop: "cjr", fieldType: "ftString"},
{label: "创建时间", prop: "cjsj", fieldType: "ftDateTime"},
{label: "附件数", prop: "attachcount", fieldType: "int"},
]
{label: "培训时间", prop: "pxsj", fieldType: "ftString",width:200},
{label: "估计费用", prop: "pxfy", fieldType: "ftString",width:200},
{label: "目标完成标准", prop: "mbwcbz", fieldType: "ftString",width:300},
{label: "项目负责人", prop: "xmfzr", fieldType: "ftString",width:100},
{label: "质量负责人", prop: "zlfzr", fieldType: "ftString",width:100},
{label: "年度", prop: "year", fieldType: "int"},
{label: "月份", prop: "month", fieldType: "int"},
{label: "季度", prop: "quarter", fieldType: "int"},
{label: "培训目标", prop: "pxmb", fieldType: "ftString",width:300},
{label: "培训方式", prop: "pxfs", fieldType: "ftString",width:130},
{label: "授课人", prop: "skr", fieldType: "ftString",width:192},
{label: "课时", prop: "pxsc", fieldType: "float"},
{label: "主办单位", prop: "bmName", fieldType: "ftString",width:192},
{label: "备注", prop: "bz", fieldType: "ftString",width:300},
{label: "维护人", prop: "whr", fieldType: "ftString"},
{label: "维护时间", prop: "whsj", fieldType: "ftDateTime"},
{label: "创建人", prop: "cjr", fieldType: "ftString"},
{label: "创建时间", prop: "cjsj", fieldType: "ftDateTime"},
{label: "附件数", prop: "attachcount", fieldType: "int"},
]
}
},
methods: {
selectedTree(e){
this.queryParams.bmid=e.id||'root'
this.queryParams.gsid=e.id||'root'
this.$refs['TablePager'].pageQuery({setFirstCurrent:true})
},
getRow: function(e) {
......@@ -173,7 +182,7 @@
query: doQuery,
/* treeQuery */
apiTreeQuery: QueryBm,
apiTreeQuery: queryGsTree,
/* 初始化赋值操作*/
init() {
......
......@@ -43,13 +43,20 @@
},
/* 表格标题对应参数*/
tableTitle: [{
tableTitle: [
{
prop: 'gsName',
label: '公司',
width: '300'
},
{
prop: 'bmName',
label: '班组',
width: '300'
},
{
prop: 'bmName',
prop: 'userName',
label: '人员姓名',
width: '300'
},
......@@ -57,7 +64,11 @@
prop: 'df',
label: '得分',
width: '300'
}
},
{label: "是否合格", prop: "hgbz",formatter(a,b,c){
let hgbz= {'Y':'合格','N':'不合格'}
return hgbz[c]
},width:200},
]
}
},
......
......@@ -44,8 +44,11 @@ import {
queryParams: {},
/* 表格标题对应参数*/
tableTitle: [
{label: "培训日期", prop: "pxrq", fieldType: "ftDateTime",width:200},
{label: "培训反馈", prop: "pxfk", fieldType: "ftString",width:300},
{label: "培训开始时间", prop: "pxkssj", fieldType: "ftDateTime",width:200},
{label: "培训结束时间", prop: "pxjssj", fieldType: "ftDateTime",width:200},
{label: "培训人", prop: "pxr", fieldType: "ftString",width:120},
{label: "培训人", prop: "pxdd", fieldType: "ftString",width:300},
{label: "培训结果", prop: "pxfk", fieldType: "ftString",width:300},
{label: "培训内容", prop: "pxnr", fieldType: "ftString",width:300},
{label: "备注", prop: "bz", fieldType: "ftString",width:300},
{label: "维护人", prop: "whr", fieldType: "ftString"},
......
......@@ -4,31 +4,55 @@
<el-form slot="form" ref="form" :model="form" label-width="80px" :rules="rules">
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="培训日期" ref="pxrq" prop="pxrq">
<el-date-picker style="width: 100%;" :readonly="readonly" type="date"
v-model="form.pxrq" placeholder="选择日期">
<el-form-item label="开始时间" ref="pxkssj" prop="pxkssj">
<el-date-picker style="width: 100%;" :readonly="readonly" type="datetime"
v-model="form.pxkssj" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="培训反馈" ref="pxfk" prop="pxfk">
<el-input type='textarea' :readonly="readonly" v-model="form.pxfk" ></el-input>
<el-form-item label="结束时间" ref="pxjssj" prop="pxjssj">
<el-date-picker style="width: 100%;" :readonly="readonly" type="datetime"
v-model="form.pxjssj" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="培训人" ref="pxr" prop="pxr">
<el-input :readonly="readonly" v-model="form.pxr" ></el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="培训地点" ref="pxdd" prop="pxdd">
<el-input type='textarea' :readonly="readonly" v-model="form.pxdd" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="培训内容" ref="pxnr" prop="pxnr">
<el-input type='textarea' :readonly="readonly" v-model="form.pxnr" ></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="24">
<el-form-item label="培训结束时间" ref="pxjssj" prop="pxjssj">
<el-date-picker style="width: 100%;" :readonly="readonly" type="datetime"
v-model="form.pxjssj" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col> -->
<el-col :span="24">
<el-form-item label="培训结果" ref="pxfk" prop="pxfk">
<el-input type='textarea' :readonly="readonly" v-model="form.pxfk" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="24">
<el-form-item label="备注" ref="bz" prop="bz">
<el-input :readonly="readonly" v-model="form.bz" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<!-- <el-row :gutter="20">
<el-col :span="12">
<el-form-item label="公司" ref="gsid" prop="gsid">
<RelSelect :readonly="readonly" style="width: 100%;" src='jcsj/common/bm/queryGs' filterable clearable :match="{value:'id',label:'bmmc'}" v-model='form.gsid' ></RelSelect>
......@@ -39,13 +63,6 @@
<RelSelect :readonly="readonly" linkage :linkParams="{pid:form.gsid}" style="width: 100%;" src='jcsj/common/bm/queryBz' filterable clearable :match="{value:'id',label:'bmmc'}" v-model='form.bmid' ></RelSelect>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row :gutter="20">
<el-col :span="24">
<el-form-item label="培训计划" ref="jhid" prop="jhid">
<el-input type='textarea' :readonly="readonly" v-model="form.jhid" ></el-input>
</el-form-item>
</el-col>
</el-row> -->
</el-form>
</RelDialog>
......@@ -73,10 +90,13 @@
/* 当前表单初始值,默认由RelDialog查询indexQuery赋值,copy时不赋值id,初始化时所有query的值都会赋值给form*/
form: {
pxr:'',
pxdd:'',
pxjssj:'',
//ID
id:'',
//培训日期
pxrq:new Date().getTime(),
pxkssj:new Date().getTime(),
//培训反馈
pxfk:'',
//培训内容
......@@ -100,9 +120,9 @@
//附件数
attachcount:'',
//公司编码
gsid:'',
//部门编码
bmid:'',
// gsid:'',
// //部门编码
// bmid:'',
//培训计划
jhid:'',
},
......
<template>
<RelDialog :type='type' :editApp='editApp' :app='app' :buttonApp='buttonApp'>
<!-- 填写表单内容,slot=form必写-->
<el-form slot="form" ref="form" :model="form" label-width="80px" :rules="rules">
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="考试主题" ref="name" prop="name">
<el-input :readonly="readonly" v-model="form.name" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="培训ID" ref="pxid" prop="pxid">
<el-input :readonly="readonly" v-model="form.pxid" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="题库ID" ref="xmid" prop="xmid">
<el-input :readonly="readonly" v-model="form.xmid" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="总分" ref="score" prop="score">
<el-input :readonly="readonly" v-model="form.score" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="单选题量" ref="scount" prop="scount">
<el-input :readonly="readonly" v-model="form.scount" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="单选题分值" ref="sscore" prop="sscore">
<el-input :readonly="readonly" v-model="form.sscore" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="多选题量" ref="mcount" prop="mcount">
<el-input :readonly="readonly" v-model="form.mcount" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="多选题分值" ref="mscore" prop="mscore">
<el-input :readonly="readonly" v-model="form.mscore" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="判断题量" ref="jcount" prop="jcount">
<el-input :readonly="readonly" v-model="form.jcount" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="判断题分值" ref="jscore" prop="jscore">
<el-input :readonly="readonly" v-model="form.jscore" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="填空题量" ref="fcount" prop="fcount">
<el-input :readonly="readonly" v-model="form.fcount" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="填空题分值" ref="fscore" prop="fscore">
<el-input :readonly="readonly" v-model="form.fscore" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="考试时长" ref="kssc" prop="kssc">
<el-input :readonly="readonly" v-model="form.kssc" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="选题模式" ref="xtms" prop="xtms">
<el-input :readonly="readonly" v-model="form.xtms" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="备注" ref="bz" prop="bz">
<el-input :readonly="readonly" v-model="form.bz" ></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="系统版本" ref="sysversion" prop="sysversion">
<el-input :readonly="readonly" v-model="form.sysversion" ></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="6">
<el-form-item label="开始时间" ref="kssj" prop="kssj">
<el-date-picker style="width: 100%;" :readonly="readonly" type="date"
v-model="form.kssj" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="结束时间" ref="jssj" prop="jssj">
<el-date-picker style="width: 100%;" :readonly="readonly" type="date"
v-model="form.jssj" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-form>
</RelDialog>
</template>
<script>
import {editMixin} from 'common'
export default {
mixins: [editMixin],
/* 存放index页面传递的额外参数*/
mounted() {
},
/* 组件名称*/
name: "aqgl.pxglPxsjEdit",
/* 传递props模式一样必填,用于index,button,REdialog之间的组件通信*/
data() {
return {
/* 额外初始化,根据需求*/
systemType: [],
bmList: [],
/* 当前表单初始值,默认由RelDialog查询indexQuery赋值,copy时不赋值id,初始化时所有query的值都会赋值给form*/
form: {
//ID
id:'',
//考试主题
name:'',
//培训ID
pxid:'',
//题库ID
xmid:'',
//总分
score:'',
//单选题量
scount:'',
//单选题分值
sscore:'',
//多选题量
mcount:'',
//多选题分值
mscore:'',
//判断题量
jcount:'',
//判断题分值
jscore:'',
//填空题量
fcount:'',
//填空题分值
fscore:'',
//考试时长
kssc:'',
//选题模式
xtms:'',
//备注
bz:'',
//维护人编码
whrid:'',
//维护人
whr:'',
//维护时间
whsj:new Date().getTime(),
//创建人编码
cjrid:'',
//创建人
cjr:'',
//创建时间
cjsj:new Date().getTime(),
//系统版本
sysversion:'',
//状态
zt:'',
//开始时间
kssj:new Date().getTime(),
//结束时间
jssj:new Date().getTime(),
},
/* form提交时的规则,具体规则参考官网*/
rules: {
}
}
},
methods: {
}
}
</script>
<style scoped lang="scss">
</style>
<template>
<div class="min_full" style="height: 140vh;border: 0px;">
<div class="min_full" style="height: 50vh;">
<!-- 查询条件-->
<div class="search" v-condition>
<SearchButton :app='app'></SearchButton>
<el-row :gutter="20" class="search-row-1">
<el-col :span="6" class="search-col">
<div class="search-item">
<span class="search-span">考试主题:</span>
<el-input v-model="queryParams.name" size="small" class="search-input"></el-input>
</div>
</el-col>
<el-col :span="6" class="search-col">
<div class="search-item">
<span class="search-span">开始时间:</span>
<el-date-picker value-format="timestamp" style="width: 100%;" type="datetime"
v-model="queryParams.beginTime" placeholder="选择日期">
</el-date-picker>
</div>
</el-col>
<el-col :span="6" class="search-col">
<div class="search-item">
<span class="search-span">结束时间:</span>
<el-date-picker value-format="timestamp" style="width: 100%;" type="datetime"
v-model="queryParams.endTime" placeholder="选择日期">
</el-date-picker>
</div>
</el-col>
</el-row>
</div>
<div class="tablePagers">
<TablePager :delButton='false' @getData='getData' :ref="'TablePager'" :app='app' :query='query' @selectItem='selectItem'
@getRow='getRow'>
<!-- 插槽 -->
</TablePager>
</div>
</div>
<div class="min_full" style="height: 90vh;">
<ksjldet ref='ksjldet' v-show='tabData.length>0&&singleItem.id' ></ksjldet>
</div>
</div>
</template>
<script>
/* 引入需要的接口*/
import ksjldet from './ksjldet'
import {
queryKscj,
queryKscjDtl
// doAdd,
// doUpdate,
// doDelete
} from '@/api/train/ksjl.js';
/* edit页面*/
import Edit from './edit'
import {
tableMixin
} from 'common'
export default {
mixins: [tableMixin],
name: 'aqgl.pxglPxsj',
/* 初始额外赋值*/
async mounted() {
this.$refs['TablePager'].pageQuery()
},
data() {
return {
/*需要的额外参数 */
showDialog: false,
DialogName: '',
type: '',
DialogTitle: '',
/* 基础url*/
baseUrl: '/aqgl/pxgl/pxsj/queryKssj',
/* 查询参数*/
queryParams: {
name:'',
beginTime:'',
endTime:''
// zt: 'F'
},
/* 表格标题对应参数*/
tableTitle: [
{label: "考试主题", prop: "name", fieldType: "ftString",width:300},
// {label: "培训ID", prop: "pxid", fieldType: "ftString",width:192},
// {label: "题库ID", prop: "xmid", fieldType: "ftString",width:192},
{label: "总分", prop: "score", fieldType: "float",width:120},
{label: "考试时长", prop: "kssc", fieldType: "float",width:120},
{label: "参考人数", prop: "allNum", fieldType: "ftString",width:120},
{label: "已参考人数", prop: "compNum", fieldType: "ftString",width:120},
{label: "参考率", prop: "compPercent", fieldType: "ftString",width:120},
{label: "合格率", prop: "passPercent", fieldType: "ftString",width:120},
{label: "选题模式", prop: "xtmsName", fieldType: "ftString",width:120},
{label: "题库", prop: "pxxmName", fieldType: "ftString",width:200},
{label: "公司", prop: "gsName", fieldType: "ftString",width:200},
{label: "培训项目", prop: "pxjhName", fieldType: "ftString",width:240},
// {label: "选题模式", prop: "xtms", fieldType: "ftString",width:60},
{label: "备注", prop: "bz", fieldType: "ftString",width:300},
{label: "维护人", prop: "whr", fieldType: "ftString"},
{label: "维护时间", prop: "whsj", fieldType: "ftDateTime"},
{label: "创建人", prop: "cjr", fieldType: "ftString"},
{label: "创建时间", prop: "cjsj", fieldType: "ftDateTime"},
{label: "状态", prop: "zt", fieldType: "ftString",width:60,transform:{
url:'/aqgl/pxgl/pxsj/init/zt',label:'name',value:'id'
}},
{label: "开始时间", prop: "kssj", fieldType: "ftDateTime"},
{label: "结束时间", prop: "jssj", fieldType: "ftDateTime"},
]
}
},
activated(){
this.$refs.TablePager.pageQuery()
},
deactivated(){
console.log('deactivated')
},
methods: {
getRow: function(e) {
this.rowItem = e
this.$refs.ksjldet.queryParams.sjid=e.id
this.$refs.ksjldet.$refs.TablePager.pageQuery()
},
/* 考试按钮*/
ksks(row){
this.$confirm('确定进行考试吗, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
let id=row.id
this.$router.push({path: '/paper/'+id,query: { singleItem: row}})
})
},
cksj(row){
let id=row.id
this.$router.push({path: '/paper/'+id,query: { singleItem: row}})
},
/* 基础查询*/
query: queryKscj,
/* 基础增*/
// apiAdd: doAdd,
// /* 基础更新*/
// apiUpdate: doUpdate,
// /* 删除操作*/
// apiDelete: doDelete,
/* 初始化赋值操作*/
init() {
}
},
components: {
Edit,
ksjldet
}
}
</script>
<style scoped>
</style>
<template>
<div class="min_full" style="height: 100%;border: 0px;">
<div class="tablePagers">
<TablePager :delButton='false' @getData='getData' :ref="'TablePager'" :app='app' :query='query' @selectItem='selectItem'
@getRow='getRow'>
<!-- 插槽 -->
</TablePager>
</div>
</div>
</template>
<script>
/* 引入需要的接口*/
import ksjldet from './ksjldet'
import {
queryKscj,
queryKscjDtl
// doAdd,
// doUpdate,
// doDelete
} from '@/api/train/ksjl.js';
/* edit页面*/
import {
tableMixin
} from 'common'
export default {
mixins: [tableMixin],
name: 'aqgl.pxglPxsj',
/* 初始额外赋值*/
async mounted() {
// this.$refs['TablePager'].pageQuery()
},
data() {
return {
/*需要的额外参数 */
showDialog: false,
DialogName: '',
type: '',
DialogTitle: '',
/* 基础url*/
baseUrl: '/aqgl/pxgl/pxsj/queryKscjDtl',
/* 查询参数*/
queryParams: {
// zt: 'F'
},
/* 表格标题对应参数*/
tableTitle: [
{label: "考试人", prop: "userName", fieldType: "ftString",width:200},
{label: "考试分数", prop: "df", fieldType: "ftString",width:200},
{label: "公司", prop: "gsName", fieldType: "ftString",width:200},
{label: "班组", prop: "bmName", fieldType: "ftString",width:200},
{label: "是否合格", prop: "hgbz",formatter(a,b,c){
let hgbz= {'Y':'合格','N':'不合格'}
return hgbz[c]
},width:200},
{label: "开始时间", prop: "kskssj", fieldType: "ftDateTime",width:200},
{label: "结束时间", prop: "ksjssj", fieldType: "ftDateTime",width:200},
]
}
},
methods: {
/* 基础查询*/
query: queryKscjDtl,
/* 基础增*/
// apiAdd: doAdd,
// /* 基础更新*/
// apiUpdate: doUpdate,
// /* 删除操作*/
// apiDelete: doDelete,
/* 初始化赋值操作*/
init() {
}
},
}
</script>
<style scoped>
</style>
......@@ -35,7 +35,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :rules="[{ required: true,pattern: /^[1-9]\d*$/,message: '请输入大于0的整数!'}]" label="单选题分值" ref="sscore" prop="sscore">
<el-form-item :rules="[{ required: false,pattern: /^[1-9]\d*$/,message: '请输入大于0的整数!'}]" label="单选题分值" ref="sscore" prop="sscore">
<el-input type="number" :readonly="readonly" v-model="form.sscore" ></el-input>
</el-form-item>
</el-col>
......@@ -45,7 +45,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :rules="[{ required: true,pattern: /^[1-9]\d*$/,message: '请输入大于0的整数!'}]" label="多选题分值" ref="mscore" prop="mscore">
<el-form-item :rules="[{ required: false,pattern: /^[1-9]\d*$/,message: '请输入大于0的整数!'}]" label="多选题分值" ref="mscore" prop="mscore">
<el-input type="number" :readonly="readonly" v-model="form.mscore" ></el-input>
</el-form-item>
</el-col>
......@@ -57,7 +57,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :rules="[{ required: true,pattern: /^[1-9]\d*$/,message: '请输入大于0的整数!'}]" label="判断题分值" ref="jscore" prop="jscore">
<el-form-item :rules="[{ required: false,pattern: /^[1-9]\d*$/,message: '请输入大于0的整数!'}]" label="判断题分值" ref="jscore" prop="jscore">
<el-input type="number" :readonly="readonly" v-model="form.jscore" ></el-input>
</el-form-item>
</el-col>
......@@ -67,7 +67,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :rules="[{ required: true,pattern: /^[1-9]\d*$/,message: '请输入大于0的整数!'}]" label="填空题分值" ref="fscore" prop="fscore">
<el-form-item :rules="[{ required: false,pattern: /^[1-9]\d*$/,message: '请输入大于0的整数!'}]" label="填空题分值" ref="fscore" prop="fscore">
<el-input type="number" :readonly="readonly" v-model="form.fscore" ></el-input>
</el-form-item>
</el-col>
......@@ -77,6 +77,11 @@
<el-form-item label="总分" ref="score" prop="score">
<el-input :readonly="true" v-model="form.score" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合格分数" ref="hgfs" prop="hgfs">
<el-input type="number" :readonly="readonly" v-model="form.hgfs" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item :rules="[{ required: true,pattern: /^[1-9]\d*$/,message: '请输入大于0的整数!'}]" label="时长(分钟)" ref="kssc" prop="kssc">
......@@ -92,7 +97,7 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-col :span="24">
<el-form-item label="备注" ref="bz" prop="bz">
<el-input :readonly="readonly" v-model="form.bz" ></el-input>
</el-form-item>
......@@ -101,14 +106,14 @@
<el-row :gutter="40">
<el-col :span="12">
<el-form-item label="开始时间" ref="kssj" prop="kssj">
<el-date-picker value-format="timestamp" style="width: 100%;" :readonly="readonly" type="date"
<el-date-picker value-format="timestamp" style="width: 100%;" :readonly="readonly" type="datetime"
v-model="form.kssj" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="结束时间" ref="jssj" prop="jssj">
<el-date-picker value-format="timestamp" style="width: 100%;" :readonly="readonly" type="date"
<el-date-picker value-format="timestamp" style="width: 100%;" :readonly="readonly" type="datetime"
v-model="form.jssj" placeholder="选择日期">
</el-date-picker>
</el-form-item>
......@@ -211,6 +216,7 @@
/* 当前表单初始值,默认由RelDialog查询indexQuery赋值,copy时不赋值id,初始化时所有query的值都会赋值给form*/
form: {
hgfs:'0',
gsid:'',
//ID
id:'',
......@@ -225,19 +231,19 @@
//单选题量
scount:'',
//单选题分值
sscore:'',
sscore:'0',
//多选题量
mcount:'',
//多选题分值
mscore:'',
mscore:'0',
//判断题量
jcount:'',
//判断题分值
jscore:'',
jscore:'0',
//填空题量
fcount:'',
//填空题分值
fscore:'',
fscore:'0',
//考试时长
kssc:'',
//选题模式
......
......@@ -93,6 +93,7 @@
url:'aqgl/pxgl/pxxm/query',label:'name',value:'id'
}},
{label: "总分", prop: "score", fieldType: "float",width:192},
{label: "总分", prop: "hgfs", fieldType: "float",width:192},
{label: "单选题量", prop: "scount", fieldType: "int",width:192},
{label: "单选题分值", prop: "sscore", fieldType: "float",width:192},
{label: "多选题量", prop: "mcount", fieldType: "int",width:192},
......
......@@ -58,7 +58,7 @@
</div>
<div slot="reFooter" class="refooter" >
<span slot="footer" class="dialog-footer" >
<el-button type="primary" @click="save()"></el-button>
<el-button type="primary" @click="save()"></el-button>
</span>
</div>
</DefaultDialog>
......
......@@ -19,8 +19,8 @@
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="估计费用" ref="gjfy" prop="gjfy">
<el-input type="number" :readonly="readonly" v-model="form.gjfy" ></el-input>
<el-form-item label="估计费用" ref="pxfy" prop="pxfy">
<el-input :readonly="readonly" v-model="form.pxfy" ></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
......@@ -40,7 +40,8 @@
</el-col>
<el-col :span="12">
<el-form-item label="培训方式" ref="pxfs" prop="pxfs">
<RelSelect :readonly="readonly" style="width: 100%;" src='aqgl/pxgl/pxjh/init/pxfs' filterable clearable :match="{value:'id',label:'name'}" v-model='form.pxfs' ></RelSelect>
<el-input :readonly="readonly" v-model="form.pxfs" ></el-input>
<!-- <RelSelect :readonly="readonly" style="width: 100%;" src='aqgl/pxgl/pxjh/init/pxfs' filterable clearable :match="{value:'id',label:'name'}" v-model='form.pxfs' ></RelSelect> -->
</el-form-item>
</el-col>
<el-col :span="12">
......@@ -62,23 +63,40 @@
</el-col>
<el-col :span="12">
<el-form-item label="年度" ref="year" prop="year">
<el-input type="number" :readonly="readonly" v-model="form.year" ></el-input>
<el-select style="width: 100%;" v-model="form.year" placeholder="请选择">
<el-option v-for="(item,index) in yearList"
:label='item.label'
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col v-show="form.type=='M'" :span="12">
<el-form-item label="月份" ref="month" prop="month">
<el-input type="number" :readonly="readonly" v-model="form.month" ></el-input>
<!-- <el-input type="number" :readonly="readonly" v-model="form.month" ></el-input> -->
<el-select style="width: 100%;" v-model="form.month" placeholder="请选择">
<el-option v-for="(item,index) in 12"
:label='`${item}月`'
:value="item">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col v-show="form.type=='Q'" :span="12">
<el-form-item label="季度" ref="quarter" prop="quarter">
<el-input type="number" :readonly="readonly" v-model="form.quarter" ></el-input>
<el-select style="width: 100%;" v-model="form.quarter" placeholder="请选择">
<el-option v-for="(item,index) in 4"
:label='`${item}季度`'
:value="item">
</el-option>
</el-select>
<!-- <el-input type="number" :readonly="readonly" v-model="form.quarter" ></el-input> -->
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="20">
<el-row :gutter="25">
<el-col :span="24">
<el-form-item label="目标完成标准" ref="mbwcbz" prop="mbwcbz">
<el-form-item label="完成标准" ref="mbwcbz" prop="mbwcbz">
<el-input type='textarea' :readonly="readonly" v-model="form.mbwcbz" ></el-input>
</el-form-item>
</el-col>
......@@ -116,7 +134,14 @@
mixins: [editMixin],
/* 存放index页面传递的额外参数*/
mounted() {
let year =new Date().getFullYear();
year=year-35
for(let i=0;i<40;i++){
this.yearList.push({
label:year+i+'年',
value:year+i
})
}
},
/* 组件名称*/
name: "aqgl/pxglPxjhEdit",
......@@ -124,7 +149,7 @@
data() {
return {
yearList:[],
/* 额外初始化,根据需求*/
systemType: [],
......@@ -138,7 +163,7 @@
xmfzr:'',
/* 新增字段*/
pxsj:'',
gjfy:'',
pxfy:'',
//ID
id:'',
//公司编码
......@@ -161,8 +186,7 @@
pxmb:'',
//培训方式
pxfs:'',
//授课人
skrid:'',
//课时
pxsc:'',
//主办单位
......
<template>
<div style="display: flex;">
<div class="min_full" style="width: 200px;border-right: 0px;">
<TreeBase :app='app' @selected='selectedTree'></TreeBase>
<TreeBase :app='app' :dgtype='4' @selected='selectedTree'></TreeBase>
</div>
<div class="min_full" style="width: calc(100% - 200px)">
<!-- 查询条件-->
......@@ -23,7 +23,8 @@
<el-col :span="6" class="search-col">
<div class="search-item">
<span class="search-span">培训方式:</span>
<RelSelect style="width: 100%;" src='aqgl/pxgl/pxjh/init/pxfs' filterable clearable :match="{value:'id',label:'name'}" v-model='queryParams.pxfs' ></RelSelect>
<!-- -->
<el-input v-model='queryParams.pxfs' size="small" class="search-input"></el-input>
</div>
</el-col>
</el-row>
......@@ -63,9 +64,10 @@
doUpdate,
doDelete
} from '@/api/train/planning.js';
import {
QueryBm,
} from "common/src/api/system/dmgSystem.js";
import {
queryGsTree
} from "@/api/train/planning.js";
/* edit页面*/
import Edit from './edit'
......@@ -76,7 +78,9 @@
mixins: [tableMixin],
/* 初始额外赋值*/
async mounted() {
queryGsTree().then(res=>{
console.log(res,'tree')
})
},
data() {
return {
......@@ -93,11 +97,11 @@
pxfs:'',
year:'',
skr:'',
bmid:''
gsid:''
},
/* 树的标题 */
treeTitle: '部门列表',
treeTitle: '公司列表',
treeDefaultProps: {
children: 'children',
label: 'bmmc'
......@@ -111,14 +115,19 @@
{label: "培训类型", prop: "type", fieldType: "ftString",width:100,transform:{
url:'aqgl/pxgl/pxjh/init/type',label:'name',value:'id'
}},
{label: "培训时间", prop: "pxsj", fieldType: "ftString",width:200},
{label: "估计费用", prop: "pxfy", fieldType: "ftString",width:200},
{label: "目标完成标准", prop: "mbwcbz", fieldType: "ftString",width:300},
{label: "项目负责人", prop: "xmfzr", fieldType: "ftString",width:100},
{label: "质量负责人", prop: "zlfzr", fieldType: "ftString",width:100},
{label: "年度", prop: "year", fieldType: "int"},
{label: "月份", prop: "month", fieldType: "int"},
{label: "季度", prop: "quarter", fieldType: "int"},
{label: "培训目标", prop: "pxmb", fieldType: "ftString",width:300},
{label: "培训方式", prop: "pxfs", fieldType: "ftString",width:130,transform:{
url:'aqgl/pxgl/pxjh/init/pxfs',label:'name',value:'id'
}},
{label: "授课人", prop: "skrName", fieldType: "ftString",width:192},
{label: "培训方式", prop: "pxfs", fieldType: "ftString",width:130},
{label: "授课人", prop: "skr", fieldType: "ftString",width:192},
{label: "课时", prop: "pxsc", fieldType: "float"},
{label: "主办单位", prop: "bmName", fieldType: "ftString",width:192},
{label: "备注", prop: "bz", fieldType: "ftString",width:300},
......@@ -132,7 +141,7 @@
},
methods: {
selectedTree(e){
this.queryParams.bmid=e.id||'root'
this.queryParams.gsid=e.id||'root'
this.$refs['TablePager'].pageQuery()
},
......@@ -146,7 +155,7 @@
/* 删除操作*/
apiDelete: doDelete,
/* treeQuery */
apiTreeQuery: QueryBm,
apiTreeQuery: queryGsTree,
/* 初始化赋值操作*/
init() {
......
......@@ -250,6 +250,7 @@
item['optd'] && (newobj.options.D = item.optd)
item['opte'] && (newobj.options.E = item.opte)
item['optf'] && (newobj.options.F = item.optf)
newobj.anscount=item.anscount
return newobj
})
......
......@@ -11,7 +11,15 @@
<template v-if="type=='TKT'">
<span>{{`${index}.`}}</span>
<span>{{'TKT'|typeName}}</span>
<span v-html="transTKT(subject)"></span><span>{{score|typeScore}}</span>
<span>{{subject}}</span><span>{{score|typeScore}}</span>
<div class="ans" v-if='app.paperState!="E"' >
<template v-for="(item,index) in ascountList" >
<br>
<br>
{{index+1}}.<input type='text' v-model='ascountList[index]' class='tktinput'>
</template>
</div>
</template>
<!-- 答案选项-->
<!-- 单选-->
......@@ -52,6 +60,14 @@
<script>
export default {
watch:{
ascountList(val){
if(this.type=='TKT'){
this.value=val.join(',')
console.log(this.value)
}
}
},
updated() {
if (this.type == 'DXTS') {
let valueList=_.cloneDeep(this.valueList)
......@@ -79,6 +95,14 @@
this.value = $(this.$el).find('[name=tktinput]').val() || ''
this.app.subjectList[this.index - 1].value = this.value
})
/* 填空生成*/
this.ascountList=[]
/* let */
let num=this.allItem.anscount||1
for(let i=0;i<num;i++){
this.ascountList.push('')
}
console.log(this.ascountList,'ascountList')
},
props: {
allItem:{
......@@ -122,6 +146,7 @@
},
data() {
return {
ascountList:[],
pDoptions:{
'A':'正确',
'B':'错误'
......
......@@ -4,11 +4,11 @@
<div class="search" v-condition>
<SearchButton :app='app'></SearchButton>
<el-row :gutter="20" class="search-row-1">
<el-col :span="12" class="search-col">
<div class="search-item">
<span class="search-span">名称:</span>
<el-input v-model="queryParams.info"></el-input>
</div>
<el-col :span="6" class="search-col">
<div class="search-item">
<span class="search-span">公司:</span>
<RelSelect style="width: 100%;" src='jcsj/common/bm/queryGs' filterable clearable :match="{value:'id',label:'bmmc'}" v-model='queryParams.gsid' ></RelSelect>
</div>
</el-col>
</el-row>
</div>
......@@ -70,7 +70,7 @@
baseUrl: '/aqgl/pxgl/pxxm',
/* 查询参数*/
queryParams: {
info: ''
gsid: ''
},
/* 表格标题对应参数*/
tableTitle: [
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment