培训通知 培训记录调整

This commit is contained in:
yunkexin 2026-01-12 15:03:09 +08:00
parent 0b3c28c8da
commit f56c7e195f
5 changed files with 187 additions and 319 deletions

View File

@ -17,13 +17,13 @@
<u--input disabled disabledColor="#fff" v-model="model.END_TIME" placeholder="请选择时间" border="none" inputAlign="right" fontSize="14px"></u--input> <u--input disabled disabledColor="#fff" v-model="model.END_TIME" placeholder="请选择时间" border="none" inputAlign="right" fontSize="14px"></u--input>
<u-icon style="margin-left: 4px;" name="arrow-down" size="12"></u-icon> <u-icon style="margin-left: 4px;" name="arrow-down" size="12"></u-icon>
</u-form-item> </u-form-item>
<u-form-item required label="参与部门" @click="handleShowSheet({title: '参与部门', name: 'Nav_JoinDepartment'})" borderBottom> <u-form-item required label="参与部门" @click="handleShowSheet({title: '参与部门', name: 'Nav_JoinDepartment'})" >
<u-icon name="arrow-down" size="12" slot="right"></u-icon> <u-icon name="arrow-down" size="12" slot="right"></u-icon>
</u-form-item> </u-form-item>
<view class="tag-view" v-if="model.Nav_JoinDepartment"> <view class="tag-view" v-if="model.Nav_JoinDepartment">
<uni-tag class="tag" v-for="(i, k) in model.Nav_JoinDepartment.filter(i => !i.IS_DELETED)" :key="k" :inverted="true" :text="i.Nav_Department.NAME" type="primary" /> <uni-tag class="tag" v-for="(i, k) in model.Nav_JoinDepartment.filter(i => !i.IS_DELETED)" :key="k" :inverted="true" :text="i.Nav_Department.NAME" type="primary" />
</view> </view>
<u-form-item required label="调查内容" @click="handleShowSheet({title: '调查内容', name: 'Nav_Points'})" borderBottom> <u-form-item required label="调查内容" @click="handleShowSheet({title: '调查内容', name: 'Nav_Points'})" >
<u-icon name="arrow-down" size="12" slot="right"></u-icon> <u-icon name="arrow-down" size="12" slot="right"></u-icon>
</u-form-item> </u-form-item>
<view class="tag-view" v-if="model.Nav_Points"> <view class="tag-view" v-if="model.Nav_Points">
@ -38,13 +38,10 @@
<query-selector :multiple="selectorInfo.isMultiple" :show="selectorInfo.showPopup" :title="selectorInfo.title" :lists="selectorInfo.dataLists" :defaultChecked="selectorInfo.defaultChecked" <query-selector :multiple="selectorInfo.isMultiple" :show="selectorInfo.showPopup" :title="selectorInfo.title" :lists="selectorInfo.dataLists" :defaultChecked="selectorInfo.defaultChecked"
@search="handleSearch" @select="handleSelected" @close="selectorInfo.showPopup=false" :total="selectorInfo.totalCount" /> @search="handleSearch" @select="handleSelected" @close="selectorInfo.showPopup=false" :total="selectorInfo.totalCount" />
<u-picker :show="comPickerInfo.showSheet" :columns="comPickerInfo.columns" @confirm="onConfirmPicker" @close="comPickerInfo.showSheet=false" @cancel="comPickerInfo.showSheet=false" keyName="NAME"></u-picker> <u-picker :show="comPickerInfo.showSheet" :columns="comPickerInfo.columns" @confirm="onConfirmPicker" @close="comPickerInfo.showSheet=false" @cancel="comPickerInfo.showSheet=false" keyName="NAME"></u-picker>
<u-modal :show="showDelModalIndex >= 0" @confirm="confirmDel" @cancel="cacelDel" :showCancelButton="true" title="确认删除?"></u-modal>
<people-selector :defaultChecked="peopleSelectOption.defaultChecked" :show="peopleSelectOption.showSelector" @select="handleSelectorPeople" @close="peopleSelectOption.showSelector = false"> <people-selector :defaultChecked="peopleSelectOption.defaultChecked" :show="peopleSelectOption.showSelector" @select="handleSelectorPeople" @close="peopleSelectOption.showSelector = false">
</people-selector> </people-selector>
<u-datetime-picker :show="dateTimePickerInfo.showCheckDate" v-model='dateTimePickerInfo.defaultDateTime' @confirm="handleCheckDate" @close="dateTimePickerInfo.showCheckDate = false" <u-datetime-picker :show="dateTimePickerInfo.showCheckDate" v-model='dateTimePickerInfo.defaultDateTime' @confirm="handleCheckDate" @close="dateTimePickerInfo.showCheckDate = false"
@cancel="dateTimePickerInfo.showCheckDate = false" :mode="dateTimePickerInfo.mode"></u-datetime-picker> @cancel="dateTimePickerInfo.showCheckDate = false" :mode="dateTimePickerInfo.mode"></u-datetime-picker>
<query-selector :show="showPopupMonitor" :total="curTotalMonitor" :lists="monitorLists" :defaultValue="currentOperateMonitor.NAME" @close="handleClosePopupMonitor" @search="handleSearchMonitor"
@select="handleSelectedMonitor" />
</view> </view>
</view> </view>
</template> </template>
@ -85,76 +82,15 @@
return { return {
showDelModalIndex: undefined, showDelModalIndex: undefined,
showDelModalIndex1: undefined, showDelModalIndex1: undefined,
subsectionList: ['无隐患', '有隐患', '不涉及'],
isMultiple: false, isMultiple: false,
defaultChecked: [], defaultChecked: [],
RiskLevel: ['一般', '重大'],
showPopupUnit: false,
UnitDefaultIndex: [0],
RiskLevelDefaultIndex: [0],
UnitLists: [],
showPopupRiskLevel: false,
TypeLists: [],
showPopupType: false,
TypeDefaultIndex: [0],
PeriodLists: [],
showPopupPeriod: false,
PeriodDefaultIndex: [0],
LevelLists: [],
showPopupStep: false,
showPopupLevel: false,
curTotalStep: 0,
stepLists: [],
LevelDefaultIndex: [0],
showPopupDate: false,
listPropUpload: ['NOTIFY_ID'],
listPropValUpload: [],
ORG_ID: uni.getStorageSync('orgId'), ORG_ID: uni.getStorageSync('orgId'),
checkListData: {},
monitorLists: [],
currentOperateMonitor: {},
showPopupMonitor: false,
curTotalMonitor: 0,
model: { model: {
Nav_ApplyUser: { Nav_JoinDepartment: [],
NAME: '' Nav_Points: [],
}, NAME:'',
Nav_ApplyDepartment: { END_TIME:'',
NAME: ''
},
Nav_ProductionUnit: {
NAME: ''
},
Nav_OperationStep: {
NAME: ''
},
Nav_FireDepartment: {
NAME: ''
},
Nav_FireUser: {
NAME: ''
},
Nav_SafeUser: {
NAME: ''
},
Nav_Area: {
NAME: ''
},
Nav_Type: {
NAME: ''
},
IS_HOLIDAY: false,
IS_HOLIDAYName: '否',
EVALUATE_LEVEL: '',
EVALUATE_LEVELName: '',
JOB_LOCATION: '',
JOB_CONTENT: '',
JOB_DATE: '',
JOB_END_DATE: '',
Nav_Users: [],
Nav_Risks: [],
Nav_Details: [],
Nav_Files: []
}, },
peopleSelectOption: { peopleSelectOption: {
showSelector: false, showSelector: false,
@ -194,24 +130,8 @@
name: '' name: ''
}, },
dateTime: uni.$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM'), dateTime: uni.$u.timeFormat(new Date(), 'yyyy-mm-dd hh:MM'),
stepsText: ['发起', '归档'],
stepsPage: 0, stepsPage: 0,
stepsPageList: 0, stepsPageList: 0,
Pu: '',
Check_Type_ID: '',
TypeListres: {},
TaskID: '',
poparr: '',
currentOperateStep: {},
chooseCheckContent: '',
chooseCheckArea: '',
currentOperateArea: {},
areaLists: [],
curTotalArea: 0,
showPopupArea: false,
nowIndex: {},
nowName: '',
newCheckList: false,
stepLoad: true, stepLoad: true,
enumsData: {}, // enumsData: {}, //
enumsText: {} // enumsText: {} //
@ -445,9 +365,9 @@
delete this.modelEdit.Nav_ProductionUnit delete this.modelEdit.Nav_ProductionUnit
delete this.modelEdit.Nav_SafeUser delete this.modelEdit.Nav_SafeUser
delete this.modelEdit.Nav_Type delete this.modelEdit.Nav_Type
if(this.model.Nav_Risks&&this.model.Nav_Risks.length>0){ if(this.model.Nav_JoinDepartment&&this.model.Nav_JoinDepartment.length>0){
this.model.Nav_Risks.map(item=>{ this.model.Nav_JoinDepartment.map(item=>{
delete item.Nav_Risk delete item.Nav_Department
}) })
} }
if (this.modelEdit.Nav_Users && this.modelEdit.Nav_Users.length > 0) { if (this.modelEdit.Nav_Users && this.modelEdit.Nav_Users.length > 0) {

View File

@ -12,7 +12,7 @@
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12"> <u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon> </u-icon>
</u-form-item> </u-form-item>
<u-form-item required label="培训级别" prop="LEVEL" borderBottom @click="handleShowSheet({title: '层级', name: 'LEVEL'})"> <u-form-item required label="培训级别" prop="LEVEL_SHOW" borderBottom @click="handleShowSheet({title: '层级', name: 'FMDepartmentType'})">
<u--input :value="model.LEVEL_SHOW" placeholder="请选择层级" border="none" inputAlign="right" disabled disabledColor="#fff" fontSize="14px"></u--input> <u--input :value="model.LEVEL_SHOW" placeholder="请选择层级" border="none" inputAlign="right" disabled disabledColor="#fff" fontSize="14px"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12"></u-icon> <u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12"></u-icon>
</u-form-item> </u-form-item>
@ -35,12 +35,12 @@
<u-form-item required label="培训老师" prop="TRAIN_TEACHER" borderBottom> <u-form-item required label="培训老师" prop="TRAIN_TEACHER" borderBottom>
<u--input v-model="model.TRAIN_TEACHER" border="none" slot="right" placeholder="请填写培训老师" inputAlign="right" fontSize="14px"></u--input> <u--input v-model="model.TRAIN_TEACHER" border="none" slot="right" placeholder="请填写培训老师" inputAlign="right" fontSize="14px"></u--input>
</u-form-item> </u-form-item>
<u-form-item required label="培训形式" prop="TRAIN_MODEL" borderBottom @click="handleShowSheet({title: '培训形式', name: 'TrainType'})"> <u-form-item required label="培训形式" prop="TRAINTYPE_SHOW" borderBottom @click="handleShowSheet({title: '培训形式', name: 'TrainType'})">
<u--input v-model="model.TRAINTYPE_SHOW" placeholder="请选择培训形式" border="none" inputAlign="right" disabled disabledColor="#fff" fontSize="14px"></u--input> <u--input v-model="model.TRAINTYPE_SHOW" placeholder="请选择培训形式" border="none" inputAlign="right" disabled disabledColor="#fff" fontSize="14px"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12"></u-icon> <u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12"></u-icon>
</u-form-item> </u-form-item>
<u-form-item required label="考核方式" prop="Nav_TrainCheckType.NAME" borderBottom @click="handleShowSheet({title: '培训形式', name: 'PlanCheckType'})"> <u-form-item required label="考核方式" prop="CHECKTYPE_SHOW" borderBottom @click="handleShowSheet({title: '培训形式', name: 'PlanCheckType'})">
<u--input v-model="model.CHECKTYPE_SHOW" placeholder="请选择考核方式" border="none" inputAlign="right" disabled disabledColor="#fff" fontSize="14px"></u--input> <u--input v-model="model.CHECKTYPE_SHOW" placeholder="请选择考核方式" border="none" inputAlign="right" disabled disabledColor="#fff" fontSize="14px"></u--input>
<u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12"> <u-icon style="margin-left: 4px;" slot="right" name="arrow-down" size="12">
</u-icon> </u-icon>
</u-form-item> </u-form-item>
@ -144,7 +144,7 @@
trigger: ['blur', 'change'], trigger: ['blur', 'change'],
message: '请选择培训类型' message: '请选择培训类型'
}, },
'LEVEL': { 'LEVEL_SHOW': {
type: 'number', type: 'number',
required: true, required: true,
trigger: ['blur', 'change'], trigger: ['blur', 'change'],
@ -170,7 +170,7 @@
message: '请填写培训地点' message: '请填写培训地点'
}, },
'HOURS': { 'HOURS': {
type: 'string', type: 'number',
required: true, required: true,
trigger: ['blur', 'change'], trigger: ['blur', 'change'],
message: '请填写培训学时' message: '请填写培训学时'
@ -181,13 +181,13 @@
trigger: ['blur', 'change'], trigger: ['blur', 'change'],
message: '请填写培训老师' message: '请填写培训老师'
}, },
'TRAIN_MODEL': { 'TRAINTYPE_SHOW': {
type: 'string', type: 'string',
required: true, required: true,
trigger: ['blur', 'change'], trigger: ['blur', 'change'],
message: '请选择培训形式' message: '请选择培训形式'
}, },
'Nav_TrainCheckType.NAME': { 'CHECKTYPE_SHOW': {
type: 'string', type: 'string',
required: true, required: true,
trigger: ['blur', 'change'], trigger: ['blur', 'change'],
@ -239,7 +239,7 @@
this.TaskID = option.taskID ? option.taskID : ''; this.TaskID = option.taskID ? option.taskID : '';
this.model.ID = option.ID ? option.ID : ''; this.model.ID = option.ID ? option.ID : '';
this.tableKey = option.tableKey ? option.tableKey : '0'; this.tableKey = option.tableKey ? option.tableKey : '0';
this.fetchEnums(['TrainType', 'PlanCheckType']); this.fetchEnums(['TrainType', 'PlanCheckType', 'FMDepartmentType']);
this.isAdd = option.isAdd this.isAdd = option.isAdd
}, },
@ -515,16 +515,17 @@
extendInclude(json, "Nav_TrainContentList.Nav_Point") extendInclude(json, "Nav_TrainContentList.Nav_Point")
extendInclude(json, "Nav_LaunchDepartment") extendInclude(json, "Nav_LaunchDepartment")
extendInclude(json, "Nav_TrainType") extendInclude(json, "Nav_TrainType")
extendInclude(json, "Nav_TrainCheckType") extendInclude(json, "Nav_UserTeacher")
extendInclude(json, "Nav_RecordUser") extendInclude(json, "Nav_RecordUser")
extendInclude(json, "Nav_TrainContentList") extendInclude(json, "Nav_TrainContentList")
extendInclude(json, "Nav_TrainUserList.Nav_User.Nav_Person") extendInclude(json, "Nav_TrainUserList.Nav_User")
extendInclude(json, "Nav_TrainUserList")
extendInclude(json, "Nav_Files.Nav_ImgFile") extendInclude(json, "Nav_Files.Nav_ImgFile")
// TODO: id // TODO: id
extendRule(json, 'ID', 1, this.model.ID) extendRule(json, 'ID', 1, this.model.ID)
getRequest(json, "/SE/TrainNotify/Get").then(res => { getRequest(json, "/SE/TrainNotify/Get").then(res => {
this.model = res this.model = res
this.model.LEVEL_SHOW = this.transLevel(this.model.LEVEL) this.model.LEVEL_SHOW = res.LEVEL !== undefined ? this.enumsData['FMDepartmentType'].find(item => item.code === res.LEVEL).name : '';
this.model.TRAINTYPE_SHOW = res.TRAINTYPE !== undefined ? this.enumsData['TrainType'].find(item => item.code === res.TRAINTYPE).name : ''; this.model.TRAINTYPE_SHOW = res.TRAINTYPE !== undefined ? this.enumsData['TrainType'].find(item => item.code === res.TRAINTYPE).name : '';
this.model.CHECKTYPE_SHOW = res.CHECKTYPE !== undefined ? this.enumsData['PlanCheckType'].find(item => item.code === res.CHECKTYPE).name : ''; this.model.CHECKTYPE_SHOW = res.CHECKTYPE !== undefined ? this.enumsData['PlanCheckType'].find(item => item.code === res.CHECKTYPE).name : '';
}) })
@ -542,43 +543,7 @@
async handleShowSheet(p, index) { async handleShowSheet(p, index) {
let column = [] let column = []
this.levelIndex = index; this.levelIndex = index;
if (p.name === 'LEVEL') { if (p.name === 'NEED_EVALUATION') {
column = [{
NAME: '部门',
ID: 0
},
{
NAME: '车间',
ID: 1
},
{
NAME: '班组',
ID: 2
},
{
NAME: '公司',
ID: 3
}
]
} else if (p.name === 'TRAIN_MODEL') {
column = [{
NAME: '讲授法',
ID: "_1_"
},
{
NAME: '视听法',
ID: "_2_"
},
{
NAME: '研讨法',
ID: "_3_"
},
{
NAME: '演示法',
ID: "_4_"
}
]
} else if (p.name === 'NEED_EVALUATION') {
column = [{ column = [{
NAME: '否', NAME: '否',
ID: 0 ID: 0
@ -588,7 +553,7 @@
ID: 1 ID: 1
}, },
] ]
} else if (p.name == 'TrainType' || p.name == 'PlanCheckType') { } else if (p.name == 'TrainType' || p.name == 'PlanCheckType' || p.name == 'FMDepartmentType') {
column = this.enumsData[p.name] column = this.enumsData[p.name]
} }
if (column.length) { if (column.length) {
@ -608,17 +573,20 @@
name, name,
formIndex formIndex
} = this.comPickerInfo } = this.comPickerInfo
if(name == 'TrainType'){ if (name == 'TrainType') {
this.model.TRAINTYPE_SHOW = e.value[0].name this.model.TRAINTYPE_SHOW = e.value[0].name
this.model.TRAINTYPE = this.enumsData['TrainType'][e.indexs[0]].code this.model.TRAINTYPE = this.enumsData['TrainType'][e.indexs[0]].code
}else if(name == 'PlanCheckType'){ } else if (name == 'PlanCheckType') {
this.model.CHECKTYPE_SHOW = e.value[0].name this.model.CHECKTYPE_SHOW = e.value[0].name
this.model.CHECKTYPE = this.enumsData['PlanCheckType'][e.indexs[0]].code this.model.CHECKTYPE = this.enumsData['PlanCheckType'][e.indexs[0]].code
}else{ } else if (name == 'FMDepartmentType') {
this.model.LEVEL_SHOW = e.value[0].name
this.model.LEVEL = this.enumsData['FMDepartmentType'][e.indexs[0]].code
} else {
this.model[name] = e.value[0].ID this.model[name] = e.value[0].ID
this.model[name + '_SHOW'] = e.value[0].NAME this.model[name + '_SHOW'] = e.value[0].NAME
} }
this.comPickerInfo.showSheet = false this.comPickerInfo.showSheet = false

View File

@ -1,91 +1,76 @@
<template> <template>
<view class="todo-page"> <view class="todo-page">
<view class="card" > <view class="card">
<view class="background"></view> <view class="background"></view>
<view> <view>
<u--form labelPosition="left" labelWidth="auto" labelAlign="center" :model="model" class="demo-ruleForm"> <u--form labelPosition="left" labelWidth="auto" labelAlign="center" :model="model" class="demo-ruleForm">
<u-form-item label="培训名称:" prop="NAME" borderBottom> <u-form-item label="培训名称:" prop="NAME" borderBottom>
<u--input v-model="model.NAME" border="none" slot="right" inputAlign="right" disabled <u--input v-model="model.NAME" border="none" slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
disabledColor="#ffffff" fontSize="14px"></u--input> </u-form-item>
</u-form-item> <u-form-item label="发起时间:" prop="LAUNCH_TIME" borderBottom>
<u-form-item label="发起时间:" prop="LAUNCH_TIME" borderBottom> <u--input v-model="model.LAUNCH_TIME" border="none" slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
<u--input v-model="model.LAUNCH_TIME" border="none" slot="right" inputAlign="right" disabled </u-form-item>
disabledColor="#ffffff" fontSize="14px"></u--input> <u-form-item label="发起部门:" prop="Nav_LaunchDepartment.NAME" borderBottom>
</u-form-item> <u--input v-if="model.Nav_LaunchDepartment" v-model="model.Nav_LaunchDepartment.NAME" border="none" slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
<u-form-item label="发起部门:" prop="Nav_LaunchDepartment.NAME" borderBottom> </u-form-item>
<u--input v-if="model.Nav_LaunchDepartment" v-model="model.Nav_LaunchDepartment.NAME" border="none" <u-form-item label="发起人员:" prop="Nav_LaunchUser.NAME" borderBottom>
slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input> <u--input v-if="model.Nav_LaunchUser" v-model="model.Nav_LaunchUser.NAME" border="none" slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="发起人员:" prop="Nav_LaunchUser.NAME" borderBottom> <u-form-item label="培训类型:" prop="Nav_LaunchUser.NAME" borderBottom>
<u--input v-if="model.Nav_LaunchUser" v-model="model.Nav_LaunchUser.NAME" border="none" slot="right" <u--input v-if="model.Nav_TrainType" v-model="model.Nav_TrainType.NAME" border="none" slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input> </u-form-item>
</u-form-item> <u-form-item label="培训级别:" prop="LEVEL" borderBottom>
<u-form-item label="培训类型:" prop="Nav_LaunchUser.NAME" borderBottom> <u--input v-model="model.LEVEL_SHOW" border="none" slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
<u--input v-if="model.Nav_TrainType" v-model="model.Nav_TrainType.NAME" border="none" slot="right" </u-form-item>
inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input> <u-form-item label="开始时间:" prop="TRAIN_START_TIME" borderBottom>
</u-form-item> <u--input v-model="model.TRAIN_START_TIME" border="none" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
<u-form-item label="培训级别:" prop="LEVEL" borderBottom> </u-form-item>
<u--input v-model="model.LEVEL" border="none" slot="right" inputAlign="right" disabled <u-form-item label="结束时间:" prop="TRAIN_END_TIME" borderBottom>
disabledColor="#ffffff" fontSize="14px"></u--input> <u--input v-model="model.TRAIN_END_TIME" border="none" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="开始时间:" prop="TRAIN_START_TIME" borderBottom> <u-form-item label="培训地点:" prop="TRAIN_ADDR" borderBottom>
<u--input v-model="model.TRAIN_START_TIME" border="none" inputAlign="right" disabled <u--input v-model="model.TRAIN_ADDR" border="none" slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
disabledColor="#ffffff" fontSize="14px"></u--input> </u-form-item>
</u-form-item> <u-form-item label="培训学时:" prop="HOURS" borderBottom>
<u-form-item label="结束时间:" prop="TRAIN_END_TIME" borderBottom> <u--input v-model="model.HOURS" border="none" slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
<u--input v-model="model.TRAIN_END_TIME" border="none" inputAlign="right" disabled </u-form-item>
disabledColor="#ffffff" fontSize="14px"></u--input> <u-form-item label="培训老师:" prop="TRAIN_TEACHER" borderBottom>
</u-form-item> <u--input v-model="model.TRAIN_TEACHER" border="none" slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
<u-form-item label="培训地点:" prop="TRAIN_ADDR" borderBottom> </u-form-item>
<u--input v-model="model.TRAIN_ADDR" border="none" slot="right" inputAlign="right" disabled <u-form-item label="培训形式:" prop="" borderBottom>
disabledColor="#ffffff" fontSize="14px"></u--input> <u--input v-model="model.TRAINTYPE_SHOW" border="none" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="培训学时:" prop="HOURS" borderBottom> <u-form-item label="考核方式:" prop="Nav_TrainCheckType.NAME" borderBottom>
<u--input v-model="model.HOURS" border="none" slot="right" inputAlign="right" disabled <u--input v-model="model.CHECKTYPE_SHOW" border="none" slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
disabledColor="#ffffff" fontSize="14px"></u--input> </u-form-item>
</u-form-item> <u-form-item label="培训内容:" prop="TRAINCONTENT" borderBottom>
<u-form-item label="培训老师:" prop="TRAIN_TEACHER" borderBottom> </u-form-item>
<u--input v-model="model.TRAIN_TEACHER" border="none" slot="right" inputAlign="right" disabled <u-textarea autoHeight v-html="model.TRAINCONTENT" border="none" disabled></u-textarea>
disabledColor="#ffffff" fontSize="14px"></u--input> <u-form-item label="培训安排及要求:" prop="TRAIN_PLAN" borderBottom>
</u-form-item> </u-form-item>
<u-form-item label="培训形式:" prop="" borderBottom> <u--textarea v-model="model.TRAIN_PLAN" border="none" disabled></u--textarea>
<u--input v-model="model.TRAINTYPE_SHOW" border="none" inputAlign="right" disabled <u-form-item label="培训人员:" prop="users">
disabledColor="#ffffff" fontSize="14px"></u--input> </u-form-item>
</u-form-item> <rich-text v-html="model.users" border="none" disabled style="font-size: 14px;"></rich-text>
<u-form-item label="考核方式:" prop="Nav_TrainCheckType.NAME" borderBottom> <view class="upload-title">附件</view>
<u--input v-model="model.CHECKTYPE_SHOW" border="none" <full-upload v-model="model.Nav_Files" :listProp='listPropUpload' :listPropVal='listPropValUpload' :isShowBtn="false"></full-upload>
slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input> </u--form>
</u-form-item> </view>
<u-form-item label="培训内容:" prop="TRAINCONTENT" borderBottom>
</u-form-item>
<u-textarea autoHeight v-html="model.TRAINCONTENT" border="none" disabled></u-textarea>
<u-form-item label="培训安排及要求:" prop="TRAIN_PLAN" borderBottom>
</u-form-item>
<u--textarea v-model="model.TRAIN_PLAN" border="none" disabled></u--textarea>
<u-form-item label="培训人员:" prop="users" >
</u-form-item>
<rich-text v-html="model.users" border="none" disabled style="font-size: 14px;"></rich-text>
<view class="upload-title">附件</view>
<full-upload v-model="model.Nav_Files" :listProp='listPropUpload'
:listPropVal='listPropValUpload' :isShowBtn="false"></full-upload>
</u--form>
</view>
<uni-card class="btn-wrap" :is-shadow="true" v-if="isLoadOK&&tableKey==1"> <uni-card class="btn-wrap" :is-shadow="true" v-if="isLoadOK&&tableKey==1">
<u--form> <u--form>
<view class="btn-wrap"> <view class="btn-wrap">
<view> <view>
<u--textarea height='3em' v-model="LEAVE_REASON" placeholder="请输入请假理由"></u--textarea> <u--textarea height='3em' v-model="LEAVE_REASON" placeholder="请输入请假理由"></u--textarea>
</view>
<view class="buttons">
<u-button type="primary" color="#3d4b70" class="btn first-btn" @click="onChargeUserAgree(1)" text="参加"></u-button>
<u-button color="#3d4b70" :plain="true" type="warning" @click="onChargeUserAgree(2)" text="请假"></u-button>
</view>
</view> </view>
<view class="buttons"> </u--form>
<u-button type="primary" color="#3d4b70" class="btn first-btn" @click="onChargeUserAgree(1)" </uni-card>
text="参加"></u-button> </view>
<u-button color="#3d4b70" :plain="true" type="warning" @click="onChargeUserAgree(2)" text="请假"></u-button>
</view>
</view>
</u--form>
</uni-card>
</view>
</view> </view>
</template> </template>
@ -125,7 +110,7 @@
this.model.ID = option.ID; this.model.ID = option.ID;
this.TaskID = option.taskID; this.TaskID = option.taskID;
this.tableKey = option.tableKey ? option.tableKey : '0' this.tableKey = option.tableKey ? option.tableKey : '0'
this.fetchEnums(['TrainType', 'PlanCheckType']); this.fetchEnums(['TrainType', 'PlanCheckType','FMDepartmentType']);
}, },
methods: { methods: {
async fetchEnums(enumNames) { async fetchEnums(enumNames) {
@ -146,7 +131,7 @@
}; };
}); });
}); });
// //
const results = await Promise.all(enumPromises); const results = await Promise.all(enumPromises);
// data // data
@ -174,7 +159,8 @@
extendInclude(json, 'Nav_LaunchDepartment'); extendInclude(json, 'Nav_LaunchDepartment');
extendInclude(json, 'Nav_LaunchUser'); extendInclude(json, 'Nav_LaunchUser');
extendInclude(json, 'Nav_TrainType'); extendInclude(json, 'Nav_TrainType');
extendInclude(json, 'Nav_TrainCheckType'); extendInclude(json, 'Nav_RecordUser');
// extendInclude(json, 'Nav_TrainCheckType');
extendInclude(json, 'Nav_TrainContentList'); extendInclude(json, 'Nav_TrainContentList');
extendInclude(json, 'Nav_TrainContentList.Nav_Point'); extendInclude(json, 'Nav_TrainContentList.Nav_Point');
extendInclude(json, 'Nav_TrainUserList'); extendInclude(json, 'Nav_TrainUserList');
@ -210,6 +196,7 @@
this.model.LEVEL = this.transLevel(this.model.LEVEL); this.model.LEVEL = this.transLevel(this.model.LEVEL);
this.model.TRAINCONTENT = trainContent; this.model.TRAINCONTENT = trainContent;
this.model.users = users; this.model.users = users;
this.model.LEVEL_SHOW = res.LEVEL !== undefined ? this.enumsData['FMDepartmentType'].find(item => item.code === res.LEVEL).name : '';
this.model.TRAINTYPE_SHOW = res.TRAINTYPE !== undefined ? this.enumsData['TrainType'].find(item => item.code === res.TRAINTYPE).name : ''; this.model.TRAINTYPE_SHOW = res.TRAINTYPE !== undefined ? this.enumsData['TrainType'].find(item => item.code === res.TRAINTYPE).name : '';
this.model.CHECKTYPE_SHOW = res.CHECKTYPE !== undefined ? this.enumsData['PlanCheckType'].find(item => item.code === res.CHECKTYPE).name : ''; this.model.CHECKTYPE_SHOW = res.CHECKTYPE !== undefined ? this.enumsData['PlanCheckType'].find(item => item.code === res.CHECKTYPE).name : '';
this.isLoadOK = true; this.isLoadOK = true;
@ -251,8 +238,7 @@
onChargeUserAgree(type) { onChargeUserAgree(type) {
if (type == 2) { if (type == 2) {
if (this.LEAVE_REASON == "" || this.LEAVE_REASON == null) { if (this.LEAVE_REASON == "" || this.LEAVE_REASON == null) {
uni.$showMsgFunc('请填写请假理由!', () => { uni.$showMsgFunc('请填写请假理由!', () => {}, 'error', 1000);
}, 'error', 1000);
return return
} }
} }
@ -291,16 +277,19 @@
background: #edf1fd; background: #edf1fd;
z-index: -1; z-index: -1;
} }
.todo-page { .todo-page {
/* padding-bottom: 10px; */ /* padding-bottom: 10px; */
overflow: hidden; overflow: hidden;
} }
.card { .card {
margin: 20px 16px 180px 16px; margin: 20px 16px 180px 16px;
padding: 20px 30px 80px 30px; padding: 20px 30px 80px 30px;
background-color: #ffffff; background-color: #ffffff;
border-radius: 10px; border-radius: 10px;
} }
.upload-title { .upload-title {
font-size: 14px; font-size: 14px;
color: #8e8b9c; color: #8e8b9c;
@ -319,10 +308,11 @@
background: #fff; background: #fff;
box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, .05); box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, .05);
} }
.btn-wrap>>>.u-textarea__field { .btn-wrap>>>.u-textarea__field {
font-size: 14px; font-size: 14px;
} }
.btn-wrap>>>.u-cell__title-text { .btn-wrap>>>.u-cell__title-text {
font-size: 14px; font-size: 14px;
} }
@ -336,24 +326,26 @@
.buttons .first-btn { .buttons .first-btn {
margin-right: 20px; margin-right: 20px;
} }
.demo-ruleForm>>>.u-form-item__body__left__content__label { .demo-ruleForm>>>.u-form-item__body__left__content__label {
font-size: 14px; font-size: 14px;
color: #8e8b9c; color: #8e8b9c;
/* justify-content: flex-start; */ /* justify-content: flex-start; */
} }
.demo-ruleForm>>>.u-form-item__body__left__content__ { .demo-ruleForm>>>.u-form-item__body__left__content__ {
left: -11px; left: -11px;
top: 0px top: 0px
} }
.demo-ruleForm>>>.u-textarea__field { .demo-ruleForm>>>.u-textarea__field {
font-size: 14px; font-size: 14px;
} }
.demo-ruleForm>>>.u-textarea { .demo-ruleForm>>>.u-textarea {
font-size: 14px; font-size: 14px;
} }
.demo-ruleForm>>>.u-cell__title-text { .demo-ruleForm>>>.u-cell__title-text {
font-size: 14px; font-size: 14px;
} }

View File

@ -3,96 +3,72 @@
<view class="card"> <view class="card">
<view class="background"></view> <view class="background"></view>
<view> <view>
<u--form labelPosition="left" labelWidth="auto" labelAlign="center" :model="model" :rules="rules" <u--form labelPosition="left" labelWidth="auto" labelAlign="center" :model="model" :rules="rules" ref="wForm" errorType="border-bottom" class="demo-ruleForm">
ref="wForm" errorType="border-bottom" class="demo-ruleForm">
<u-form-item required label="培训名称:" prop="Nav_Notify.NAME" borderBottom> <u-form-item required label="培训名称:" prop="Nav_Notify.NAME" borderBottom>
<u--input v-if="model.Nav_Notify" v-model="model.Nav_Notify.NAME" border="none" slot="right" <u--input v-if="model.Nav_Notify" v-model="model.Nav_Notify.NAME" border="none" slot="right" inputAlign="right" disabled disabledColor="#fff" fontSize="14px"></u--input>
inputAlign="right" disabled disabledColor="#fff" fontSize="14px"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="培训类型:" prop="Nav_TrainType.NAME" borderBottom> <u-form-item label="培训类型:" prop="Nav_TrainType.NAME" borderBottom>
<u--input v-if="model.Nav_Notify" v-model="model.Nav_Notify.Nav_TrainType.NAME" <u--input v-if="model.Nav_Notify" v-model="model.Nav_Notify.Nav_TrainType.NAME" placeholder="培训类型" border="none" inputAlign="right" disabled disabledColor="#fff" fontSize="14px"></u--input>
placeholder="培训类型" border="none" inputAlign="right" disabled
disabledColor="#fff" fontSize="14px"></u--input>
</u-icon> </u-icon>
</u-form-item> </u-form-item>
<u-form-item label="培训级别:" prop="LEVEL" borderBottom> <u-form-item label="培训级别:" prop="LEVEL" borderBottom>
<u--input v-if="model.Nav_Notify" :value="model.Nav_Notify.LEVEL_SHOW" border="none" <u--input v-if="model.Nav_Notify" :value="model.Nav_Notify.LEVEL_SHOW" border="none" inputAlign="right" disabled disabledColor="#fff" fontSize="14px"></u--input>
inputAlign="right" disabled disabledColor="#fff" fontSize="14px"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="组织部门:" prop="LEVEL" borderBottom> <u-form-item label="组织部门:" prop="LEVEL" borderBottom>
<u--input v-if="model.Nav_Notify" :value="model.Nav_Notify.Nav_LaunchDepartment.NAME" <u--input v-if="model.Nav_Notify" :value="model.Nav_Notify.Nav_LaunchDepartment.NAME" border="none" inputAlign="right" disabled disabledColor="#fff" fontSize="14px"></u--input>
border="none" inputAlign="right" disabled disabledColor="#fff" fontSize="14px"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="开始时间" required prop="Nav_Notify.TRAIN_START_TIME" <u-form-item label="开始时间" required prop="Nav_Notify.TRAIN_START_TIME" @click="showCheckDate({ name: 'TRAIN_START_TIME'})" borderBottom>
@click="showCheckDate({ name: 'TRAIN_START_TIME'})" borderBottom> <u--input v-if="model.Nav_Notify" disabledColor="#fff" v-model="model.Nav_Notify.TRAIN_START_TIME" disabled placeholder="请选择开始时间" suffixIcon="arrow-down" suffixIconStyle="font-size:12px"
<u--input v-if="model.Nav_Notify" disabledColor="#fff" fontSize="14px" border="none" customStyle="margin:0px;display:flex;padding:3px 0px" inputAlign="right">
v-model="model.Nav_Notify.TRAIN_START_TIME" disabled placeholder="请选择开始时间"
suffixIcon="arrow-down" suffixIconStyle="font-size:12px" fontSize="14px" border="none"
customStyle="margin:0px;display:flex;padding:3px 0px" inputAlign="right">
</u--input> </u--input>
</u-form-item> </u-form-item>
<u-form-item label="结束时间" required prop="Nav_Notify.TRAIN_END_TIME" <u-form-item label="结束时间" required prop="Nav_Notify.TRAIN_END_TIME" @click="showCheckDate({name: 'TRAIN_END_TIME'})" borderBottom>
@click="showCheckDate({name: 'TRAIN_END_TIME'})" borderBottom> <u--input v-if="model.Nav_Notify" disabledColor="#fff" v-model="model.Nav_Notify.TRAIN_END_TIME" border="none" disabled placeholder="请选择结束时间" suffixIcon="arrow-down"
<u--input v-if="model.Nav_Notify" disabledColor="#fff" v-model="model.Nav_Notify.TRAIN_END_TIME" border="none" suffixIconStyle="font-size:12px" fontSize="14px" customStyle="margin:0px;display:flex;padding:3px 0px" inputAlign="right">
disabled placeholder="请选择结束时间" suffixIcon="arrow-down" suffixIconStyle="font-size:12px"
fontSize="14px" customStyle="margin:0px;display:flex;padding:3px 0px" inputAlign="right">
</u--input> </u--input>
</u-form-item> </u-form-item>
<u-form-item label="培训地点:" prop="TRAIN_ADDR" borderBottom> <u-form-item label="培训地点:" prop="TRAIN_ADDR" borderBottom>
<u--input v-if="model.Nav_Notify" v-model="model.Nav_Notify.TRAIN_ADDR" border="none" <u--input v-if="model.Nav_Notify" v-model="model.Nav_Notify.TRAIN_ADDR" border="none" slot="right" inputAlign="right" fontSize="14px"></u--input>
slot="right" inputAlign="right" fontSize="14px"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="培训学时:" prop="HOURS" borderBottom> <u-form-item label="培训学时:" prop="HOURS" borderBottom>
<u--input v-if="model.Nav_Notify" v-model="model.Nav_Notify.HOURS" type="number" border="none" <u--input v-if="model.Nav_Notify" v-model="model.Nav_Notify.HOURS" type="number" border="none" slot="right" inputAlign="right" fontSize="14px"></u--input>
slot="right" inputAlign="right" fontSize="14px"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="培训老师:" prop="TRAIN_TEACHER" borderBottom> <u-form-item label="培训老师:" prop="TRAIN_TEACHER" borderBottom>
<u--input v-if="model.Nav_Notify" v-model="model.Nav_Notify.TRAIN_TEACHER" border="none" <u--input v-if="model.Nav_Notify" v-model="model.Nav_Notify.TRAIN_TEACHER" border="none" slot="right" inputAlign="right" fontSize="14px"></u--input>
slot="right" inputAlign="right" fontSize="14px"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="培训形式:" prop="TRAIN_MODEL" borderBottom> <u-form-item label="培训形式:" prop="TRAIN_MODEL" borderBottom>
<u--input v-if="model.Nav_Notify" :value="model.Nav_Notify.TRAINTYPE_SHOW" border="none" <u--input v-if="model.Nav_Notify" :value="model.Nav_Notify.TRAINTYPE_SHOW" border="none" inputAlign="right" disabled disabledColor="#fff" fontSize="14px"></u--input>
inputAlign="right" disabled disabledColor="#fff" fontSize="14px"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="考核方式:" prop="Nav_TrainCheckType.NAME" borderBottom> <u-form-item label="考核方式:" prop="Nav_TrainCheckType.NAME" borderBottom>
<u--input v-if="model.Nav_Notify" v-model="model.Nav_Notify.CHECKTYPE_SHOW" <u--input v-if="model.Nav_Notify" v-model="model.Nav_Notify.CHECKTYPE_SHOW" border="none" inputAlign="right" disabled disabledColor="#fff" fontSize="14px"></u--input>
border="none" inputAlign="right" disabled disabledColor="#fff" fontSize="14px"></u--input>
</u-form-item> </u-form-item>
<u-form-item class="custom-form-item" label="培训内容:" prop="DetailPost" :borderBottom="false"> <u-form-item class="custom-form-item" label="培训内容:" prop="DetailPost" :borderBottom="false">
</u-form-item> </u-form-item>
<u-textarea v-html="model.Nav_TrainContentList_SHOW" style="font-size: 14px;"></u-textarea> <u-textarea v-html="model.Nav_TrainContentList_SHOW" style="font-size: 14px;"></u-textarea>
<view class="upload-title">附件</view> <view class="upload-title">附件</view>
<full-upload v-model="model.Nav_Files" :isShowBtn='true' :listProp='listPropUpload' <full-upload v-model="model.Nav_Files" :isShowBtn='true' :listProp='listPropUpload' :listPropVal='listPropValUpload'></full-upload>
:listPropVal='listPropValUpload'></full-upload>
</u--form> </u--form>
</view> </view>
</view> </view>
<u-sticky offset-top="20"> <u-sticky offset-top="20">
<view class="sub-form"> <view class="sub-form">
<view class="sub-form-wrap"> <view class="sub-form-wrap">
<u--form labelPosition="left" labelWidth="auto" labelAlign="center" errorType="border-bottom" <u--form labelPosition="left" labelWidth="auto" labelAlign="center" errorType="border-bottom" ref="sForm">
ref="sForm">
<!-- <u-collapse :border="false" accordion> --> <!-- <u-collapse :border="false" accordion> -->
<view style="margin-bottom: 16px;" <view style="margin-bottom: 16px;" v-for="(item, index) in model.Nav_Users">
v-for="(item, index) in model.Nav_Users"> <u-form-item :label="(index+1)+'. '+ item.Nav_User.NAME">
<u-form-item :label="(index+1)+'. '+ item.Nav_User.NAME"> <u-subsection activeColor="#0eacf5" mode="subsection" :list="list" :current="item.STATUS" @change="sectionChange($event,item)"></u-subsection>
<u-subsection activeColor="#0eacf5" mode="subsection" :list="list" :current="item.STATUS" </u-form-item>
@change="sectionChange($event,item)"></u-subsection> </view>
</u-form-item>
</view>
<!-- </u-collapse> --> <!-- </u-collapse> -->
</u--form> </u--form>
</view> </view>
</view> </view>
</u-sticky> </u-sticky>
<query-selector :show="showPopup" :lists="Lists" @close="handleClosePopup" @search="handleSearch" <query-selector :show="showPopup" :lists="Lists" @close="handleClosePopup" @search="handleSearch" @select="handleSelected" />
@select="handleSelected" /> <u-picker :show="comPickerInfo.showSheet" :columns="comPickerInfo.columns" @confirm="onConfirmPicker" @close="closePicker" @cancel="closePicker" keyName="NAME"></u-picker>
<u-picker :show="comPickerInfo.showSheet" :columns="comPickerInfo.columns" @confirm="onConfirmPicker" <u-datetime-picker :show="dateTimePickerInfo.showCheckDate" mode="datetime" v-model='dateTimePickerInfo.defaultDateTime' :formatter="formatter" @confirm="handleCheckDate"
@close="closePicker" @cancel="closePicker" keyName="NAME"></u-picker> @close="dateTimePickerInfo.showCheckDate = false;" @cancel="dateTimePickerInfo.showCheckDate = false;"></u-datetime-picker>
<u-datetime-picker :show="dateTimePickerInfo.showCheckDate" mode="datetime"
v-model='dateTimePickerInfo.defaultDateTime' :formatter="formatter" @confirm="handleCheckDate"
@close="dateTimePickerInfo.showCheckDate = false;"
@cancel="dateTimePickerInfo.showCheckDate = false;"></u-datetime-picker>
<view class="bottom-button"> <view class="bottom-button">
<u-button type="primary" @click="submit" color="#3d4b70">提交</u-button> <u-button type="primary" @click="submit" color="#3d4b70">提交</u-button>
</view> </view>
@ -171,7 +147,7 @@
this.TaskID = option.taskID ? option.taskID : ''; this.TaskID = option.taskID ? option.taskID : '';
this.model.ID = option.ID ? option.ID : ''; this.model.ID = option.ID ? option.ID : '';
this.tableKey = option.tableKey ? option.tableKey : '0'; this.tableKey = option.tableKey ? option.tableKey : '0';
this.fetchEnums(['TrainType', 'PlanCheckType']); this.fetchEnums(['TrainType', 'PlanCheckType','FMDepartmentType']);
}, },
methods: { methods: {
async fetchEnums(enumNames) { async fetchEnums(enumNames) {
@ -192,7 +168,7 @@
}; };
}); });
}); });
// //
const results = await Promise.all(enumPromises); const results = await Promise.all(enumPromises);
// data // data
@ -264,25 +240,28 @@
if (this.listPropValUpload.length == 0) { if (this.listPropValUpload.length == 0) {
this.listPropValUpload.push(this.model.ID) this.listPropValUpload.push(this.model.ID)
} }
extendInclude(json, "Nav_Users.Nav_User") extendInclude(json, 'Nav_Notify');
extendInclude(json, "Nav_Notify") extendInclude(json, 'Nav_Notify.Nav_TrainContentList.Nav_Point');
extendInclude(json, "Nav_Notify.Nav_TrainType") extendInclude(json, 'Nav_Notify.Nav_LaunchDepartment');
extendInclude(json, "Nav_Notify.Nav_LaunchDepartment") // extendInclude(json, 'Nav_Notify.Nav_LaunchUser');
extendInclude(json, "Nav_Notify.Nav_TrainCheckType") extendInclude(json, 'Nav_Notify.Nav_TrainType');
extendInclude(json, "Nav_Notify.Nav_TrainContentList.Nav_Point") // extendInclude(json, 'Nav_Notify.Nav_TrainCheckType');
extendInclude(json, "Nav_Files.Nav_ImgFile") extendInclude(json, 'Nav_Users.Nav_User');
extendInclude(json, 'Nav_Files.Nav_ImgFile');
extendInclude(json, 'Nav_Users');
extendRule(json, 'ID', 1, this.model.ID) extendRule(json, 'ID', 1, this.model.ID)
getRequest(json, "/SE/TrainRecord/Get").then(res => { getRequest(json, "/SE/TrainRecord/Get").then(res => {
this.model = res this.model = res
if (this.model.Nav_Notify.LEVEL == 0) { // if (this.model.Nav_Notify.LEVEL == 0) {
this.model.Nav_Notify.LEVEL_SHOW = "部门"; // this.model.Nav_Notify.LEVEL_SHOW = "";
} else if (this.model.Nav_Notify.LEVEL == 1) { // } else if (this.model.Nav_Notify.LEVEL == 1) {
this.model.Nav_Notify.LEVEL_SHOW = "车间"; // this.model.Nav_Notify.LEVEL_SHOW = "";
} else if (this.model.Nav_Notify.LEVEL == 2) { // } else if (this.model.Nav_Notify.LEVEL == 2) {
this.model.Nav_Notify.LEVEL_SHOW = "班组"; // this.model.Nav_Notify.LEVEL_SHOW = "";
} else if (this.model.Nav_Notify.LEVEL == 3) { // } else if (this.model.Nav_Notify.LEVEL == 3) {
this.model.Nav_Notify.LEVEL_SHOW = "公司"; // this.model.Nav_Notify.LEVEL_SHOW = "";
} // }
this.model.Nav_Notify.LEVEL_SHOW= res.Nav_Notify.LEVEL !== undefined ? this.enumsData['FMDepartmentType'].find(item => item.code === res.Nav_Notify.LEVEL).name : '';
this.model.Nav_Notify.TRAINTYPE_SHOW = res.Nav_Notify.TRAINTYPE !== undefined ? this.enumsData['TrainType'].find(item => item.code === res.Nav_Notify.TRAINTYPE).name : ''; this.model.Nav_Notify.TRAINTYPE_SHOW = res.Nav_Notify.TRAINTYPE !== undefined ? this.enumsData['TrainType'].find(item => item.code === res.Nav_Notify.TRAINTYPE).name : '';
this.model.Nav_Notify.CHECKTYPE_SHOW = res.Nav_Notify.CHECKTYPE !== undefined ? this.enumsData['PlanCheckType'].find(item => item.code === res.Nav_Notify.CHECKTYPE).name : ''; this.model.Nav_Notify.CHECKTYPE_SHOW = res.Nav_Notify.CHECKTYPE !== undefined ? this.enumsData['PlanCheckType'].find(item => item.code === res.Nav_Notify.CHECKTYPE).name : '';
this.model.Nav_Notify.TRAIN_MODEL_SHOW = ""; this.model.Nav_Notify.TRAIN_MODEL_SHOW = "";
@ -353,6 +332,7 @@
/* padding: 16px 16px 70px; */ /* padding: 16px 16px 70px; */
overflow: hidden; overflow: hidden;
} }
.card { .card {
margin: 20px 16px 40px 16px; margin: 20px 16px 40px 16px;
/* border: 1px solid #EBEEF5; */ /* border: 1px solid #EBEEF5; */
@ -361,6 +341,7 @@
background-color: #ffffff; background-color: #ffffff;
border-radius: 10px; border-radius: 10px;
} }
.background { .background {
position: fixed; position: fixed;
top: 0; top: 0;
@ -370,39 +351,44 @@
background: #edf1fd; background: #edf1fd;
z-index: -1; z-index: -1;
} }
.upload-title { .upload-title {
font-size: 14px; font-size: 14px;
color: #8e8b9c; color: #8e8b9c;
line-height: 22px; line-height: 22px;
padding: 8px 0px; padding: 8px 0px;
} }
.demo-ruleForm>>>.u-form-item__body__left__content__label { .demo-ruleForm>>>.u-form-item__body__left__content__label {
font-size: 14px; font-size: 14px;
color: #8e8b9c; color: #8e8b9c;
/* justify-content: flex-start; */ /* justify-content: flex-start; */
} }
.demo-ruleForm>>>.u-form-item__body__left__content__ { .demo-ruleForm>>>.u-form-item__body__left__content__ {
left: -11px; left: -11px;
top: 0px top: 0px
} }
.demo-ruleForm>>>.u-textarea__field { .demo-ruleForm>>>.u-textarea__field {
font-size: 14px; font-size: 14px;
} }
.demo-ruleForm>>>.u-cell__title-text { .demo-ruleForm>>>.u-cell__title-text {
font-size: 14px; font-size: 14px;
} }
.sub-form { .sub-form {
margin: 20px 16px 140px 16px; margin: 20px 16px 140px 16px;
padding: 20px 10px 10px 10px; padding: 20px 10px 10px 10px;
background-color: #ffffff; background-color: #ffffff;
border-radius: 10px; border-radius: 10px;
} }
.sub-form>>>.u-form-item__body__left__content { .sub-form>>>.u-form-item__body__left__content {
margin-right: 10px; margin-right: 10px;
} }
.bottom-button { .bottom-button {
position: fixed; position: fixed;
bottom: 0; bottom: 0;

View File

@ -11,7 +11,7 @@
<u--input v-if="model.Nav_Notify" v-model="model.Nav_Notify.Nav_TrainType.NAME" border="none" slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input> <u--input v-if="model.Nav_Notify" v-model="model.Nav_Notify.Nav_TrainType.NAME" border="none" slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="培训级别:" prop="LEVEL" borderBottom> <u-form-item label="培训级别:" prop="LEVEL" borderBottom>
<u--input v-model="model.LEVEL" border="none" slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input> <u--input v-if="model.Nav_Notify" v-model="model.Nav_Notify.LEVEL_SHOW" border="none" slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
</u-form-item> </u-form-item>
<u-form-item label="组织部门:" prop="Nav_Notify.Nav_LaunchDepartment.NAME" borderBottom> <u-form-item label="组织部门:" prop="Nav_Notify.Nav_LaunchDepartment.NAME" borderBottom>
<u--input v-if="model.Nav_Notify" v-model="model.Nav_Notify.Nav_LaunchDepartment.NAME" border="none" slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input> <u--input v-if="model.Nav_Notify" v-model="model.Nav_Notify.Nav_LaunchDepartment.NAME" border="none" slot="right" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
@ -54,11 +54,11 @@
<view style="margin-top: 10px;"> <view style="margin-top: 10px;">
<u-button type="primary" class="bottom" v-if='isLoadOK&&tableKey!=1&&model.Nav_Notify.Nav_TrainCheckType.NAME=="笔试"' @click="openTest(model.ID)">查看试卷</u-button> <u-button type="primary" class="bottom" v-if='isLoadOK&&tableKey!=1&&model.Nav_Notify.Nav_TrainCheckType.NAME=="笔试"' @click="openTest(model.ID)">查看试卷</u-button>
</view> </view>
</u--form> </u--form>
</view> </view>
<view class="bottom-button" v-if='isLoadOK&&tableKey==1&&model.STATUS==1'> <view class="bottom-button" v-if='isLoadOK&&tableKey==1&&model.STATUS==1'>
<u-button type="primary" class="bottom" color="#3d4b70" @click="onTableBtnAgree" :disabled="isAgree">签到</u-button> <u-button type="primary" class="bottom" color="#3d4b70" @click="onTableBtnAgree" :disabled="isAgree">签到</u-button>
</view> </view>
<view class="bottom-button" v-if='isLoadOK&&tableKey==1&&model.STATUS==2'> <view class="bottom-button" v-if='isLoadOK&&tableKey==1&&model.STATUS==2'>
<u-button type="primary" class="bottom" color="#3d4b70" @click="onTableBtnAudit">审核</u-button> <u-button type="primary" class="bottom" color="#3d4b70" @click="onTableBtnAudit">审核</u-button>
@ -101,8 +101,8 @@
this.model.ID = option.ID; this.model.ID = option.ID;
this.TaskID = option.taskID; this.TaskID = option.taskID;
this.tableKey = option.tableKey ? option.tableKey : '0' this.tableKey = option.tableKey ? option.tableKey : '0'
this.fetchEnums(['TrainType', 'PlanCheckType']); this.fetchEnums(['TrainType', 'PlanCheckType', 'FMDepartmentType']);
}, },
methods: { methods: {
async fetchEnums(enumNames) { async fetchEnums(enumNames) {
@ -123,7 +123,7 @@
}; };
}); });
}); });
// //
const results = await Promise.all(enumPromises); const results = await Promise.all(enumPromises);
// data // data
@ -148,14 +148,15 @@
loadData() { loadData() {
const json = initFilter(this.ORG_ID, "", "", 1) const json = initFilter(this.ORG_ID, "", "", 1)
extendRule(json, 'ID', 1, this.model.ID); extendRule(json, 'ID', 1, this.model.ID);
extendInclude(json, 'Nav_Notify');
extendInclude(json, 'Nav_Notify.Nav_TrainContentList.Nav_Point');
extendInclude(json, 'Nav_Notify.Nav_LaunchDepartment'); extendInclude(json, 'Nav_Notify.Nav_LaunchDepartment');
extendInclude(json, 'Nav_Notify.Nav_LaunchUser'); extendInclude(json, 'Nav_Notify.Nav_LaunchUser');
extendInclude(json, 'Nav_Notify.Nav_TrainType'); extendInclude(json, 'Nav_Notify.Nav_TrainType');
extendInclude(json, 'Nav_Notify.Nav_TrainCheckType');
extendInclude(json, 'Nav_Notify.Nav_TrainContentList');
extendInclude(json, 'Nav_Notify.Nav_TrainContentList.Nav_Point');
extendInclude(json, 'Nav_Users.Nav_User'); extendInclude(json, 'Nav_Users.Nav_User');
extendInclude(json, 'Nav_Files.Nav_ImgFile'); extendInclude(json, 'Nav_Files.Nav_ImgFile');
extendInclude(json, 'Nav_Users.Nav_User');
extendInclude(json, 'Nav_Papers');
getRequest(json, "/SE/TrainRecord/Get").then(res => { getRequest(json, "/SE/TrainRecord/Get").then(res => {
this.model = res this.model = res
// //
@ -202,6 +203,7 @@
} }
} }
this.model.Nav_Notify.LEVEL_SHOW= res.Nav_Notify.LEVEL !== undefined ? this.enumsData['FMDepartmentType'].find(item => item.code === res.Nav_Notify.LEVEL).name : '';
this.model.Nav_Notify.TRAINTYPE_SHOW = res.Nav_Notify.TRAINTYPE !== undefined ? this.enumsData['TrainType'].find(item => item.code === res.Nav_Notify.TRAINTYPE).name : ''; this.model.Nav_Notify.TRAINTYPE_SHOW = res.Nav_Notify.TRAINTYPE !== undefined ? this.enumsData['TrainType'].find(item => item.code === res.Nav_Notify.TRAINTYPE).name : '';
this.model.Nav_Notify.CHECKTYPE_SHOW = res.Nav_Notify.CHECKTYPE !== undefined ? this.enumsData['PlanCheckType'].find(item => item.code === res.Nav_Notify.CHECKTYPE).name : ''; this.model.Nav_Notify.CHECKTYPE_SHOW = res.Nav_Notify.CHECKTYPE !== undefined ? this.enumsData['PlanCheckType'].find(item => item.code === res.Nav_Notify.CHECKTYPE).name : '';
this.model.TRAIN_MODEL = this.returnModel(this.model.Nav_Notify.TRAIN_MODEL); this.model.TRAIN_MODEL = this.returnModel(this.model.Nav_Notify.TRAIN_MODEL);