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) { ...@@ -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=[ ...@@ -950,6 +950,19 @@ export const powerRoutes=[
name:'ks', name:'ks',
path:"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 @@ ...@@ -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> <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-form-item>
</el-col> </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-col :span="12">
<el-form-item label="培训项目" ref="name" prop="name"> <el-form-item label="培训项目" ref="name" prop="name">
<el-input :readonly="readonly" v-model="form.name" ></el-input> <el-input :readonly="readonly" v-model="form.name" ></el-input>
...@@ -30,7 +40,18 @@ ...@@ -30,7 +40,18 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="培训方式" ref="pxfs" prop="pxfs"> <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-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -42,21 +63,43 @@ ...@@ -42,21 +63,43 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="年度" ref="year" prop="year"> <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-form-item>
</el-col> </el-col>
<el-col v-show="form.type=='M'" :span="12"> <el-col v-show="form.type=='M'" :span="12">
<el-form-item label="月份" ref="month" prop="month"> <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-form-item>
</el-col> </el-col>
<el-col v-show="form.type=='Q'" :span="12"> <el-col v-show="form.type=='Q'" :span="12">
<el-form-item label="季度" ref="quarter" prop="quarter"> <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-form-item>
</el-col> </el-col>
</el-row> </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-col :span="24">
<el-form-item label="培训目标" ref="pxmb" prop="pxmb"> <el-form-item label="培训目标" ref="pxmb" prop="pxmb">
<el-input type='textarea' :readonly="readonly" v-model="form.pxmb" ></el-input> <el-input type='textarea' :readonly="readonly" v-model="form.pxmb" ></el-input>
...@@ -64,9 +107,8 @@ ...@@ -64,9 +107,8 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="授课人" ref="skrid" prop="skrid"> <el-form-item label="授课人" ref="skr" prop="skr">
<personSelector :readonly="readonly" :label="form.skrName||'暂无'" @selected='skrSelected' ></personSelector> <el-input :readonly="readonly" v-model="form.skr" ></el-input>
<!-- <el-input :readonly="readonly" v-model="form.skrid" ></el-input> -->
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
...@@ -92,7 +134,14 @@ ...@@ -92,7 +134,14 @@
mixins: [editMixin], mixins: [editMixin],
/* 存放index页面传递的额外参数*/ /* 存放index页面传递的额外参数*/
mounted() { 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", name: "aqgl/pxglPxjhEdit",
...@@ -100,7 +149,7 @@ ...@@ -100,7 +149,7 @@
data() { data() {
return { return {
yearList:[],
/* 额外初始化,根据需求*/ /* 额外初始化,根据需求*/
systemType: [], systemType: [],
...@@ -108,6 +157,13 @@ ...@@ -108,6 +157,13 @@
/* 当前表单初始值,默认由RelDialog查询indexQuery赋值,copy时不赋值id,初始化时所有query的值都会赋值给form*/ /* 当前表单初始值,默认由RelDialog查询indexQuery赋值,copy时不赋值id,初始化时所有query的值都会赋值给form*/
form: { form: {
mbwcbz:'',
skr:'',
zlfzr:'',
xmfzr:'',
/* 新增字段*/
pxsj:'',
pxfy:'',
//ID //ID
id:'', id:'',
//公司编码 //公司编码
...@@ -130,8 +186,7 @@ ...@@ -130,8 +186,7 @@
pxmb:'', pxmb:'',
//培训方式 //培训方式
pxfs:'', pxfs:'',
//授课人
skrid:'',
//课时 //课时
pxsc:'', pxsc:'',
//主办单位 //主办单位
......
<template> <template>
<div class="min_full" style='flex-direction: row;border: 0px;overflow: auto;' > <div class="min_full" style='flex-direction: row;border: 0px;overflow: auto;' >
<div class="min_full" style="width: 200px;border-right: 0px;height:140vh"> <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>
<div class="min_full" style="height: 140vh;width: calc(100% - 200px);border: 0px;"> <div class="min_full" style="height: 140vh;width: calc(100% - 200px);border: 0px;">
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<el-col :span="6" class="search-col"> <el-col :span="6" class="search-col">
<div class="search-item"> <div class="search-item">
<span class="search-span">培训方式:</span> <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> </div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -55,7 +55,10 @@ ...@@ -55,7 +55,10 @@
</div> </div>
<div class="min_full" style="height: 60%;padding: 10px;"> <div class="min_full" style="height: 60%;padding: 10px;">
<el-tabs v-model="activeName" v-show="tabData.length>0&&rowItem" > <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' /> <Participants ref='participants' />
</el-tab-pane> </el-tab-pane>
<!-- <el-tab-pane label="考试程序" name="second"> <!-- <el-tab-pane label="考试程序" name="second">
...@@ -64,9 +67,7 @@ ...@@ -64,9 +67,7 @@
<el-tab-pane label="培训小结" name="third"> <el-tab-pane label="培训小结" name="third">
<Content /> <Content />
</el-tab-pane> --> </el-tab-pane> -->
<el-tab-pane label="培训内容及效果评估" name="fourth">
<PersonLiable ref='personLiable' />
</el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
...@@ -83,7 +84,10 @@ ...@@ -83,7 +84,10 @@
doAddPxjl, doAddPxjl,
doUpdatePxjl, doUpdatePxjl,
doDeletePxjl doDeletePxjl
} from '@/api/train/assessment.js'; } from '@/api/train/assessment.js';
import {
queryGsTree
} from "@/api/train/planning.js";
import { import {
QueryBm, QueryBm,
} from "common/src/api/system/dmgSystem.js"; } from "common/src/api/system/dmgSystem.js";
...@@ -119,45 +123,50 @@ ...@@ -119,45 +123,50 @@
pxfs:'', pxfs:'',
year:'', year:'',
skr:'', skr:'',
bmid:'' gsid:''
}, },
/* 树的标题 */ /* 树的标题 */
treeTitle: '部门列表', treeTitle: '公司列表',
treeDefaultProps: { treeDefaultProps: {
children: 'children', children: 'children',
label: 'bmmc' label: 'bmmc'
}, },
/* 表格标题对应参数*/ /* 表格标题对应参数*/
tableTitle: [ tableTitle: [
{label: "公司", prop: "gsName", fieldType: "ftString",width:192}, {label: "公司", prop: "gsName", fieldType: "ftString",width:192},
{label: "培训项目", prop: "name", fieldType: "ftString",width:300}, {label: "培训项目", prop: "name", fieldType: "ftString",width:300},
{label: "培训对象", prop: "pxdx", fieldType: "ftString",width:300}, {label: "培训对象", prop: "pxdx", fieldType: "ftString",width:300},
{label: "培训人数", prop: "pxrs", fieldType: "int"}, {label: "培训人数", prop: "pxrs", fieldType: "int"},
{label: "培训类型", prop: "type", fieldType: "ftString",width:100,transform:{ {label: "培训类型", prop: "type", fieldType: "ftString",width:100,transform:{
url:'aqgl/pxgl/pxjh/init/type',label:'name',value:'id' 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'
}}, }},
{label: "授课人", prop: "skrName", fieldType: "ftString",width:192}, {label: "培训时间", prop: "pxsj", fieldType: "ftString",width:200},
{label: "课时", prop: "pxsc", fieldType: "float"}, {label: "估计费用", prop: "pxfy", fieldType: "ftString",width:200},
{label: "主办单位", prop: "bmName", fieldType: "ftString",width:192}, {label: "目标完成标准", prop: "mbwcbz", fieldType: "ftString",width:300},
{label: "备注", prop: "bz", fieldType: "ftString",width:300}, {label: "项目负责人", prop: "xmfzr", fieldType: "ftString",width:100},
{label: "维护人", prop: "whr", fieldType: "ftString"}, {label: "质量负责人", prop: "zlfzr", fieldType: "ftString",width:100},
{label: "维护时间", prop: "whsj", fieldType: "ftDateTime"},
{label: "创建人", prop: "cjr", fieldType: "ftString"},
{label: "创建时间", prop: "cjsj", fieldType: "ftDateTime"}, {label: "年度", prop: "year", fieldType: "int"},
{label: "附件数", prop: "attachcount", 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: { methods: {
selectedTree(e){ selectedTree(e){
this.queryParams.bmid=e.id||'root' this.queryParams.gsid=e.id||'root'
this.$refs['TablePager'].pageQuery({setFirstCurrent:true}) this.$refs['TablePager'].pageQuery({setFirstCurrent:true})
}, },
getRow: function(e) { getRow: function(e) {
...@@ -173,7 +182,7 @@ ...@@ -173,7 +182,7 @@
query: doQuery, query: doQuery,
/* treeQuery */ /* treeQuery */
apiTreeQuery: QueryBm, apiTreeQuery: queryGsTree,
/* 初始化赋值操作*/ /* 初始化赋值操作*/
init() { init() {
......
...@@ -43,13 +43,20 @@ ...@@ -43,13 +43,20 @@
}, },
/* 表格标题对应参数*/ /* 表格标题对应参数*/
tableTitle: [{ tableTitle: [
{
prop: 'gsName',
label: '公司',
width: '300'
},
{
prop: 'bmName', prop: 'bmName',
label: '班组', label: '班组',
width: '300' width: '300'
}, },
{ {
prop: 'bmName', prop: 'userName',
label: '人员姓名', label: '人员姓名',
width: '300' width: '300'
}, },
...@@ -57,7 +64,11 @@ ...@@ -57,7 +64,11 @@
prop: 'df', prop: 'df',
label: '得分', label: '得分',
width: '300' width: '300'
} },
{label: "是否合格", prop: "hgbz",formatter(a,b,c){
let hgbz= {'Y':'合格','N':'不合格'}
return hgbz[c]
},width:200},
] ]
} }
}, },
......
...@@ -44,8 +44,11 @@ import { ...@@ -44,8 +44,11 @@ import {
queryParams: {}, queryParams: {},
/* 表格标题对应参数*/ /* 表格标题对应参数*/
tableTitle: [ tableTitle: [
{label: "培训日期", prop: "pxrq", fieldType: "ftDateTime",width:200}, {label: "培训开始时间", prop: "pxkssj", fieldType: "ftDateTime",width:200},
{label: "培训反馈", prop: "pxfk", fieldType: "ftString",width:300}, {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: "pxnr", fieldType: "ftString",width:300},
{label: "备注", prop: "bz", fieldType: "ftString",width:300}, {label: "备注", prop: "bz", fieldType: "ftString",width:300},
{label: "维护人", prop: "whr", fieldType: "ftString"}, {label: "维护人", prop: "whr", fieldType: "ftString"},
......
...@@ -4,31 +4,55 @@ ...@@ -4,31 +4,55 @@
<el-form slot="form" ref="form" :model="form" label-width="80px" :rules="rules"> <el-form slot="form" ref="form" :model="form" label-width="80px" :rules="rules">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="培训日期" ref="pxrq" prop="pxrq"> <el-form-item label="开始时间" ref="pxkssj" prop="pxkssj">
<el-date-picker style="width: 100%;" :readonly="readonly" type="date" <el-date-picker style="width: 100%;" :readonly="readonly" type="datetime"
v-model="form.pxrq" placeholder="选择日期"> v-model="form.pxkssj" placeholder="选择日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="培训反馈" ref="pxfk" prop="pxfk"> <el-form-item label="结束时间" ref="pxjssj" prop="pxjssj">
<el-input type='textarea' :readonly="readonly" v-model="form.pxfk" ></el-input> <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-form-item>
</el-col> </el-col>
</el-row>
<el-row :gutter="20">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="培训内容" ref="pxnr" prop="pxnr"> <el-form-item label="培训内容" ref="pxnr" prop="pxnr">
<el-input type='textarea' :readonly="readonly" v-model="form.pxnr" ></el-input> <el-input type='textarea' :readonly="readonly" v-model="form.pxnr" ></el-input>
</el-form-item> </el-form-item>
</el-col> </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-col :span="24">
<el-form-item label="备注" ref="bz" prop="bz"> <el-form-item label="备注" ref="bz" prop="bz">
<el-input :readonly="readonly" v-model="form.bz" ></el-input> <el-input :readonly="readonly" v-model="form.bz" ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20"> <!-- <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="公司" ref="gsid" prop="gsid"> <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> <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 @@ ...@@ -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> <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-form-item>
</el-col> </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-row> -->
</el-form> </el-form>
</RelDialog> </RelDialog>
...@@ -73,10 +90,13 @@ ...@@ -73,10 +90,13 @@
/* 当前表单初始值,默认由RelDialog查询indexQuery赋值,copy时不赋值id,初始化时所有query的值都会赋值给form*/ /* 当前表单初始值,默认由RelDialog查询indexQuery赋值,copy时不赋值id,初始化时所有query的值都会赋值给form*/
form: { form: {
pxr:'',
pxdd:'',
pxjssj:'',
//ID //ID
id:'', id:'',
//培训日期 //培训日期
pxrq:new Date().getTime(), pxkssj:new Date().getTime(),
//培训反馈 //培训反馈
pxfk:'', pxfk:'',
//培训内容 //培训内容
...@@ -100,9 +120,9 @@ ...@@ -100,9 +120,9 @@
//附件数 //附件数
attachcount:'', attachcount:'',
//公司编码 //公司编码
gsid:'', // gsid:'',
//部门编码 // //部门编码
bmid:'', // bmid:'',
//培训计划 //培训计划
jhid:'', 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 @@ ...@@ -35,7 +35,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <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-input type="number" :readonly="readonly" v-model="form.sscore" ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <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-input type="number" :readonly="readonly" v-model="form.mscore" ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <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-input type="number" :readonly="readonly" v-model="form.jscore" ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <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-input type="number" :readonly="readonly" v-model="form.fscore" ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -77,6 +77,11 @@ ...@@ -77,6 +77,11 @@
<el-form-item label="总分" ref="score" prop="score"> <el-form-item label="总分" ref="score" prop="score">
<el-input :readonly="true" v-model="form.score" ></el-input> <el-input :readonly="true" v-model="form.score" ></el-input>
</el-form-item> </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>
<el-col :span="12"> <el-col :span="12">
<el-form-item :rules="[{ required: true,pattern: /^[1-9]\d*$/,message: '请输入大于0的整数!'}]" label="时长(分钟)" ref="kssc" prop="kssc"> <el-form-item :rules="[{ required: true,pattern: /^[1-9]\d*$/,message: '请输入大于0的整数!'}]" label="时长(分钟)" ref="kssc" prop="kssc">
...@@ -92,7 +97,7 @@ ...@@ -92,7 +97,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="24">
<el-form-item label="备注" ref="bz" prop="bz"> <el-form-item label="备注" ref="bz" prop="bz">
<el-input :readonly="readonly" v-model="form.bz" ></el-input> <el-input :readonly="readonly" v-model="form.bz" ></el-input>
</el-form-item> </el-form-item>
...@@ -101,14 +106,14 @@ ...@@ -101,14 +106,14 @@
<el-row :gutter="40"> <el-row :gutter="40">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="开始时间" ref="kssj" prop="kssj"> <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="选择日期"> v-model="form.kssj" placeholder="选择日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="结束时间" ref="jssj" prop="jssj"> <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="选择日期"> v-model="form.jssj" placeholder="选择日期">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
...@@ -211,6 +216,7 @@ ...@@ -211,6 +216,7 @@
/* 当前表单初始值,默认由RelDialog查询indexQuery赋值,copy时不赋值id,初始化时所有query的值都会赋值给form*/ /* 当前表单初始值,默认由RelDialog查询indexQuery赋值,copy时不赋值id,初始化时所有query的值都会赋值给form*/
form: { form: {
hgfs:'0',
gsid:'', gsid:'',
//ID //ID
id:'', id:'',
...@@ -225,19 +231,19 @@ ...@@ -225,19 +231,19 @@
//单选题量 //单选题量
scount:'', scount:'',
//单选题分值 //单选题分值
sscore:'', sscore:'0',
//多选题量 //多选题量
mcount:'', mcount:'',
//多选题分值 //多选题分值
mscore:'', mscore:'0',
//判断题量 //判断题量
jcount:'', jcount:'',
//判断题分值 //判断题分值
jscore:'', jscore:'0',
//填空题量 //填空题量
fcount:'', fcount:'',
//填空题分值 //填空题分值
fscore:'', fscore:'0',
//考试时长 //考试时长
kssc:'', kssc:'',
//选题模式 //选题模式
......
...@@ -93,6 +93,7 @@ ...@@ -93,6 +93,7 @@
url:'aqgl/pxgl/pxxm/query',label:'name',value:'id' url:'aqgl/pxgl/pxxm/query',label:'name',value:'id'
}}, }},
{label: "总分", prop: "score", fieldType: "float",width:192}, {label: "总分", prop: "score", fieldType: "float",width:192},
{label: "总分", prop: "hgfs", fieldType: "float",width:192},
{label: "单选题量", prop: "scount", fieldType: "int",width:192}, {label: "单选题量", prop: "scount", fieldType: "int",width:192},
{label: "单选题分值", prop: "sscore", fieldType: "float",width:192}, {label: "单选题分值", prop: "sscore", fieldType: "float",width:192},
{label: "多选题量", prop: "mcount", fieldType: "int",width:192}, {label: "多选题量", prop: "mcount", fieldType: "int",width:192},
......
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
</div> </div>
<div slot="reFooter" class="refooter" > <div slot="reFooter" class="refooter" >
<span slot="footer" class="dialog-footer" > <span slot="footer" class="dialog-footer" >
<el-button type="primary" @click="save()"></el-button> <el-button type="primary" @click="save()"></el-button>
</span> </span>
</div> </div>
</DefaultDialog> </DefaultDialog>
......
...@@ -19,8 +19,8 @@ ...@@ -19,8 +19,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="估计费用" ref="gjfy" prop="gjfy"> <el-form-item label="估计费用" ref="pxfy" prop="pxfy">
<el-input type="number" :readonly="readonly" v-model="form.gjfy" ></el-input> <el-input :readonly="readonly" v-model="form.pxfy" ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
...@@ -40,7 +40,8 @@ ...@@ -40,7 +40,8 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="培训方式" ref="pxfs" prop="pxfs"> <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-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
...@@ -62,23 +63,40 @@ ...@@ -62,23 +63,40 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="年度" ref="year" prop="year"> <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-form-item>
</el-col> </el-col>
<el-col v-show="form.type=='M'" :span="12"> <el-col v-show="form.type=='M'" :span="12">
<el-form-item label="月份" ref="month" prop="month"> <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-form-item>
</el-col> </el-col>
<el-col v-show="form.type=='Q'" :span="12"> <el-col v-show="form.type=='Q'" :span="12">
<el-form-item label="季度" ref="quarter" prop="quarter"> <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-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="25">
<el-col :span="24"> <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-input type='textarea' :readonly="readonly" v-model="form.mbwcbz" ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -116,7 +134,14 @@ ...@@ -116,7 +134,14 @@
mixins: [editMixin], mixins: [editMixin],
/* 存放index页面传递的额外参数*/ /* 存放index页面传递的额外参数*/
mounted() { 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", name: "aqgl/pxglPxjhEdit",
...@@ -124,7 +149,7 @@ ...@@ -124,7 +149,7 @@
data() { data() {
return { return {
yearList:[],
/* 额外初始化,根据需求*/ /* 额外初始化,根据需求*/
systemType: [], systemType: [],
...@@ -138,7 +163,7 @@ ...@@ -138,7 +163,7 @@
xmfzr:'', xmfzr:'',
/* 新增字段*/ /* 新增字段*/
pxsj:'', pxsj:'',
gjfy:'', pxfy:'',
//ID //ID
id:'', id:'',
//公司编码 //公司编码
...@@ -161,8 +186,7 @@ ...@@ -161,8 +186,7 @@
pxmb:'', pxmb:'',
//培训方式 //培训方式
pxfs:'', pxfs:'',
//授课人
skrid:'',
//课时 //课时
pxsc:'', pxsc:'',
//主办单位 //主办单位
......
<template> <template>
<div style="display: flex;"> <div style="display: flex;">
<div class="min_full" style="width: 200px;border-right: 0px;"> <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>
<div class="min_full" style="width: calc(100% - 200px)"> <div class="min_full" style="width: calc(100% - 200px)">
<!-- 查询条件--> <!-- 查询条件-->
...@@ -23,7 +23,8 @@ ...@@ -23,7 +23,8 @@
<el-col :span="6" class="search-col"> <el-col :span="6" class="search-col">
<div class="search-item"> <div class="search-item">
<span class="search-span">培训方式:</span> <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> </div>
</el-col> </el-col>
</el-row> </el-row>
...@@ -63,9 +64,10 @@ ...@@ -63,9 +64,10 @@
doUpdate, doUpdate,
doDelete doDelete
} from '@/api/train/planning.js'; } from '@/api/train/planning.js';
import { import {
QueryBm, queryGsTree
} from "common/src/api/system/dmgSystem.js"; } from "@/api/train/planning.js";
/* edit页面*/ /* edit页面*/
import Edit from './edit' import Edit from './edit'
...@@ -76,7 +78,9 @@ ...@@ -76,7 +78,9 @@
mixins: [tableMixin], mixins: [tableMixin],
/* 初始额外赋值*/ /* 初始额外赋值*/
async mounted() { async mounted() {
queryGsTree().then(res=>{
console.log(res,'tree')
})
}, },
data() { data() {
return { return {
...@@ -93,11 +97,11 @@ ...@@ -93,11 +97,11 @@
pxfs:'', pxfs:'',
year:'', year:'',
skr:'', skr:'',
bmid:'' gsid:''
}, },
/* 树的标题 */ /* 树的标题 */
treeTitle: '部门列表', treeTitle: '公司列表',
treeDefaultProps: { treeDefaultProps: {
children: 'children', children: 'children',
label: 'bmmc' label: 'bmmc'
...@@ -111,14 +115,19 @@ ...@@ -111,14 +115,19 @@
{label: "培训类型", prop: "type", fieldType: "ftString",width:100,transform:{ {label: "培训类型", prop: "type", fieldType: "ftString",width:100,transform:{
url:'aqgl/pxgl/pxjh/init/type',label:'name',value:'id' 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: "year", fieldType: "int"},
{label: "月份", prop: "month", fieldType: "int"}, {label: "月份", prop: "month", fieldType: "int"},
{label: "季度", prop: "quarter", fieldType: "int"}, {label: "季度", prop: "quarter", fieldType: "int"},
{label: "培训目标", prop: "pxmb", fieldType: "ftString",width:300}, {label: "培训目标", prop: "pxmb", fieldType: "ftString",width:300},
{label: "培训方式", prop: "pxfs", fieldType: "ftString",width:130,transform:{ {label: "培训方式", prop: "pxfs", fieldType: "ftString",width:130},
url:'aqgl/pxgl/pxjh/init/pxfs',label:'name',value:'id' {label: "授课人", prop: "skr", fieldType: "ftString",width:192},
}},
{label: "授课人", prop: "skrName", fieldType: "ftString",width:192},
{label: "课时", prop: "pxsc", fieldType: "float"}, {label: "课时", prop: "pxsc", fieldType: "float"},
{label: "主办单位", prop: "bmName", fieldType: "ftString",width:192}, {label: "主办单位", prop: "bmName", fieldType: "ftString",width:192},
{label: "备注", prop: "bz", fieldType: "ftString",width:300}, {label: "备注", prop: "bz", fieldType: "ftString",width:300},
...@@ -132,7 +141,7 @@ ...@@ -132,7 +141,7 @@
}, },
methods: { methods: {
selectedTree(e){ selectedTree(e){
this.queryParams.bmid=e.id||'root' this.queryParams.gsid=e.id||'root'
this.$refs['TablePager'].pageQuery() this.$refs['TablePager'].pageQuery()
}, },
...@@ -146,7 +155,7 @@ ...@@ -146,7 +155,7 @@
/* 删除操作*/ /* 删除操作*/
apiDelete: doDelete, apiDelete: doDelete,
/* treeQuery */ /* treeQuery */
apiTreeQuery: QueryBm, apiTreeQuery: queryGsTree,
/* 初始化赋值操作*/ /* 初始化赋值操作*/
init() { init() {
......
...@@ -250,6 +250,7 @@ ...@@ -250,6 +250,7 @@
item['optd'] && (newobj.options.D = item.optd) item['optd'] && (newobj.options.D = item.optd)
item['opte'] && (newobj.options.E = item.opte) item['opte'] && (newobj.options.E = item.opte)
item['optf'] && (newobj.options.F = item.optf) item['optf'] && (newobj.options.F = item.optf)
newobj.anscount=item.anscount
return newobj return newobj
}) })
......
...@@ -11,7 +11,15 @@ ...@@ -11,7 +11,15 @@
<template v-if="type=='TKT'"> <template v-if="type=='TKT'">
<span>{{`${index}.`}}</span> <span>{{`${index}.`}}</span>
<span>{{'TKT'|typeName}}</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> </template>
<!-- 答案选项--> <!-- 答案选项-->
<!-- 单选--> <!-- 单选-->
...@@ -52,6 +60,14 @@ ...@@ -52,6 +60,14 @@
<script> <script>
export default { export default {
watch:{
ascountList(val){
if(this.type=='TKT'){
this.value=val.join(',')
console.log(this.value)
}
}
},
updated() { updated() {
if (this.type == 'DXTS') { if (this.type == 'DXTS') {
let valueList=_.cloneDeep(this.valueList) let valueList=_.cloneDeep(this.valueList)
...@@ -79,6 +95,14 @@ ...@@ -79,6 +95,14 @@
this.value = $(this.$el).find('[name=tktinput]').val() || '' this.value = $(this.$el).find('[name=tktinput]').val() || ''
this.app.subjectList[this.index - 1].value = this.value 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: { props: {
allItem:{ allItem:{
...@@ -122,6 +146,7 @@ ...@@ -122,6 +146,7 @@
}, },
data() { data() {
return { return {
ascountList:[],
pDoptions:{ pDoptions:{
'A':'正确', 'A':'正确',
'B':'错误' 'B':'错误'
......
...@@ -4,11 +4,11 @@ ...@@ -4,11 +4,11 @@
<div class="search" v-condition> <div class="search" v-condition>
<SearchButton :app='app'></SearchButton> <SearchButton :app='app'></SearchButton>
<el-row :gutter="20" class="search-row-1"> <el-row :gutter="20" class="search-row-1">
<el-col :span="12" class="search-col"> <el-col :span="6" class="search-col">
<div class="search-item"> <div class="search-item">
<span class="search-span">名称:</span> <span class="search-span">公司:</span>
<el-input v-model="queryParams.info"></el-input> <RelSelect style="width: 100%;" src='jcsj/common/bm/queryGs' filterable clearable :match="{value:'id',label:'bmmc'}" v-model='queryParams.gsid' ></RelSelect>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
</div> </div>
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
baseUrl: '/aqgl/pxgl/pxxm', baseUrl: '/aqgl/pxgl/pxxm',
/* 查询参数*/ /* 查询参数*/
queryParams: { queryParams: {
info: '' gsid: ''
}, },
/* 表格标题对应参数*/ /* 表格标题对应参数*/
tableTitle: [ 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