266 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			266 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
<template>
 | 
						|
	<view class="page-wrap">
 | 
						|
		<view class="background"></view>
 | 
						|
		<view class="card">
 | 
						|
			<u--form labelPosition="left" labelWidth="auto" labelAlign="center" :model="model" class="demo-ruleForm">
 | 
						|
				<view style="position: relative;">
 | 
						|
					<view style="position: absolute;left: -10px;color: #3d4b70;top: -3px;">*</view>
 | 
						|
				</view>
 | 
						|
 | 
						|
				<view style="font-size: 15px; font-weight: bold;color: #3d4b70;margin-bottom: 10px;">基本信息</view>
 | 
						|
				<u-form-item label="培训名称:" prop="NAME" borderBottom>
 | 
						|
					<u--input v-if="model.Nav_Parent" v-model="model.Nav_Parent.NAME" border="none"  inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
 | 
						|
				</u-form-item>
 | 
						|
				<u-form-item label="项目名称" prop="Nav_Parent.Nav_Project.NAME" borderBottom>
 | 
						|
					<u--input v-if="model.Nav_Parent&&model.Nav_Parent.Nav_Project" disabled disabledColor="#ffffff" v-model="model.Nav_Parent.Nav_Project.NAME" border="none" inputAlign="right"
 | 
						|
						fontSize="14px"></u--input>
 | 
						|
				</u-form-item>
 | 
						|
				<u-form-item label="外包单位名称" prop="Nav_Parent.Nav_Project.UNIT_NAME" borderBottom>
 | 
						|
					<u--input v-if="model.Nav_Parent&&model.Nav_Parent.Nav_Project" disabled disabledColor="#ffffff" v-model="model.Nav_Parent.Nav_Project.UNIT_NAME" border="none" inputAlign="right"
 | 
						|
						fontSize="14px"></u--input>
 | 
						|
				</u-form-item>
 | 
						|
				<u-form-item label="培训部门:" prop="Nav_Parent.Nav_LaunchDepartment.NAME" borderBottom>
 | 
						|
					<u--input v-if="model.Nav_Parent&&model.Nav_Parent.Nav_Department" v-model="model.Nav_Parent.Nav_Department.NAME" border="none"  inputAlign="right" disabled disabledColor="#ffffff"
 | 
						|
						fontSize="14px"></u--input>
 | 
						|
				</u-form-item>
 | 
						|
				<u-form-item label="培训老师:" prop="Nav_Parent.TRAIN_TEACHER" borderBottom>
 | 
						|
					<u--input v-if="model.Nav_Parent&&model.Nav_Parent.Nav_User" v-model="model.Nav_Parent.Nav_User.NAME" border="none"  inputAlign="right" disabled disabledColor="#ffffff"
 | 
						|
						fontSize="14px"></u--input>
 | 
						|
				</u-form-item>
 | 
						|
				<u-form-item label="培训形式" borderBottom>
 | 
						|
					<u--input disabled disabledColor="#ffffff" v-model="model.TRAIN_TYPE_SHOW" border="none" inputAlign="right" fontSize="14px"></u--input>
 | 
						|
				</u-form-item>
 | 
						|
				<u-form-item label="培训地点:" prop="Nav_Parent.TRAIN_ADDR" borderBottom>
 | 
						|
					<u--input v-if="model" v-model="model.TRAIN_ADDR" border="none"  inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
 | 
						|
				</u-form-item>
 | 
						|
				<u-form-item label="培训开始时间:" prop="TRAIN_TIME" borderBottom>
 | 
						|
					<u--input v-model="model.START_TIME" border="none" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
 | 
						|
				</u-form-item>
 | 
						|
				<u-form-item label="培训结束时间:" prop="TRAIN_TIME" borderBottom>
 | 
						|
					<u--input v-model="model.END_TIME" border="none" inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
 | 
						|
				</u-form-item>
 | 
						|
				<u-form-item label="培训学时:" prop="Nav_Parent.HOURS" borderBottom>
 | 
						|
					<u--input v-if="model" v-model="model.TOTAL_TIME" border="none"  inputAlign="right" disabled disabledColor="#ffffff" fontSize="14px"></u--input>
 | 
						|
				</u-form-item>
 | 
						|
				<u-form-item label="培训内容:" prop="TRAIN_CONTENT">
 | 
						|
 | 
						|
				</u-form-item>
 | 
						|
				<u-textarea autoHeight v-html="model.TRAIN_CONTENT" border="none" disabled></u-textarea>
 | 
						|
 | 
						|
				<view class="upload-title">附件:</view>
 | 
						|
				<full-upload v-model="model.Nav_Files" :listProp='listPropUpload' :listPropVal='listPropValUpload' :isShowBtn="false"></full-upload>
 | 
						|
				<!-- <u-form-item label="培训人员:" prop="Users" borderBottom>
 | 
						|
				</u-form-item>
 | 
						|
				<rich-text autoHeight v-html="model.Users" border="none" disabled></rich-text> -->
 | 
						|
				<button type="primary" class="bottom" v-if='isLoadOK&&model.IS_CREATE_TEST&&false' @click="openTest(model.ID)">查看试卷</button>
 | 
						|
			</u--form>
 | 
						|
			<u--form labelPosition="left" labelWidth="auto" labelAlign="center" errorType="border-bottom" ref="sForm" class="sub-form" style="margin-top: 10px;">
 | 
						|
				<view style="position: relative;">
 | 
						|
					<view style="position: absolute;left: -10px;color: #3d4b70;top: -3px;">*</view>
 | 
						|
				</view>
 | 
						|
 | 
						|
				<view style="font-size: 15px; font-weight: bold;color: #3d4b70;margin-bottom: 10px;">培训人员</view>
 | 
						|
				<uni-collapse :border="false" accordion>
 | 
						|
					<view v-for="(item, index) in model.Nav_Users" :key="index">
 | 
						|
						<uni-collapse-item :title="item.Nav_User.NAME  + ' 分数:' + item.SCORE+'【'+transEXAMINATION_RESULTS(item.EXAMINATION_RESULTS) +'】'">
 | 
						|
							<view style="margin: 0px 10px;">
 | 
						|
								<u-form-item label="姓名:" prop="Nav_User.NAME" borderBottom>
 | 
						|
									<u--input disabled disabledColor="#fff" fontSize="14px" v-model="item.Nav_User.NAME" border="none" inputAlign="right"></u--input>
 | 
						|
								</u-form-item>
 | 
						|
								<u-form-item label="性别:" prop="Nav_User.NAME" borderBottom>
 | 
						|
									<u--input disabled disabledColor="#fff" fontSize="14px" v-model="item.Nav_User.SEX" border="none" inputAlign="right"></u--input>
 | 
						|
								</u-form-item>
 | 
						|
								<u-form-item label="手机号:" prop="Nav_User.NAME" borderBottom>
 | 
						|
									<u--input disabled disabledColor="#fff" fontSize="14px" v-model="item.Nav_User.PHONE" border="none" inputAlign="right"></u--input>
 | 
						|
								</u-form-item>
 | 
						|
								<u-form-item label="考核结果:" prop="EXAMINATION_RESULTS_SHOW" borderBottom>
 | 
						|
									<u--input disabled disabledColor="#fff" fontSize="14px" v-model="item.EXAMINATION_RESULTS_SHOW" border="none" inputAlign="right"></u--input>
 | 
						|
								</u-form-item>
 | 
						|
								<u-form-item label="分数:" prop="SCORE" borderBottom>
 | 
						|
									<u--input disabled disabledColor="#fff" fontSize="14px" v-model="item.SCORE" border="none" inputAlign="right"></u--input>
 | 
						|
								</u-form-item>
 | 
						|
								<u-form-item label="查看试卷:" prop="Nav_User.NAME" borderBottom @click="openTest(item.ID,item.USER_ID)">
 | 
						|
									<u--input disabled disabledColor="#fff" fontSize="14px" border="none" inputAlign="right"></u--input>
 | 
						|
									<u-icon style="margin-left: 4px;" name="arrow-right" size="12"></u-icon>
 | 
						|
								</u-form-item>
 | 
						|
								<u-form-item label="附件:" prop="SCORE">
 | 
						|
									<!-- <u--input disabled disabledColor="#fff" fontSize="14px" v-model="item.SCORE" border="none" inputAlign="right"></u--input> -->
 | 
						|
								</u-form-item>
 | 
						|
								<full-upload v-model="item.Nav_Files" :listProp='listPropUpload' :listPropVal='listPropValUpload' :isShowBtn="false"></full-upload>
 | 
						|
 | 
						|
							</view>
 | 
						|
 | 
						|
						</uni-collapse-item>
 | 
						|
					</view>
 | 
						|
				</uni-collapse>
 | 
						|
			</u--form>
 | 
						|
		</view>
 | 
						|
		<view class="bottom-button">
 | 
						|
			<u-button color="#3d4b70" type="primary" class="bottom" v-if='isLoadOK&&tableKey==1&&isView' @click="onTableBtnAgree" :disabled="isAgree">确认</u-button>
 | 
						|
			<!--审核 =》 WB008_CONFIRMPAGE 审阅 -->
 | 
						|
			<u-button color="#3d4b70" type="primary" class="bottom" v-if='isLoadOK&&tableKey==1&&isApprove' @click="onTableBtnAudit">审阅</u-button>
 | 
						|
		</view>
 | 
						|
	</view>
 | 
						|
</template>
 | 
						|
 | 
						|
<script>
 | 
						|
	import {
 | 
						|
		initFilter,
 | 
						|
		extendRule,
 | 
						|
		extendInclude
 | 
						|
	} from '../../../../utils/common'
 | 
						|
	import {
 | 
						|
		getRequest,
 | 
						|
	} from '../../../../services/apply/FOServices/FOServices'
 | 
						|
	import '../../../../utils/showMsg.js'
 | 
						|
	import color from '../../../../uni_modules/uview-ui/libs/config/color'
 | 
						|
	import config from '../../../../config/common'
 | 
						|
	import {
 | 
						|
		SubmitTrainRecord
 | 
						|
	} from '../../../../services/apply/subPages/scWB';
 | 
						|
	export default {
 | 
						|
		data() {
 | 
						|
			return {
 | 
						|
				model: {
 | 
						|
					Nav_Parent: {
 | 
						|
						NAME: '',
 | 
						|
						Nav_Project: {
 | 
						|
							NAME: '',
 | 
						|
							UNIT_NAME: '',
 | 
						|
						},
 | 
						|
						Nav_Department: {
 | 
						|
							NAME: '',
 | 
						|
						}
 | 
						|
					},
 | 
						|
					Nav_Users: [{
 | 
						|
						SCORE: 0,
 | 
						|
						EXAMINATION_RESULTS: '',
 | 
						|
						EXAMINATION_RESULTS_SHOW: '',
 | 
						|
						Nav_User: {
 | 
						|
							NAME: ''
 | 
						|
						}
 | 
						|
					}]
 | 
						|
 | 
						|
				},
 | 
						|
				TaskID: "",
 | 
						|
				tableKey: '0',
 | 
						|
				isLoadOK: false,
 | 
						|
				ORG_ID: uni.getStorageSync('orgId'),
 | 
						|
				listPropUpload: ['RECORD_ID'],
 | 
						|
				listPropValUpload: [],
 | 
						|
				isAgree: false,
 | 
						|
				isApprove: false,
 | 
						|
				isView: false,
 | 
						|
				formCode: ''
 | 
						|
			}
 | 
						|
		},
 | 
						|
		onLoad(option) {
 | 
						|
			this.ID = option.ID
 | 
						|
			this.model.ID = option.ID;
 | 
						|
			this.TaskID = option.taskID;
 | 
						|
			this.tableKey = option.tableKey ? option.tableKey : '0'
 | 
						|
			this.formCode = option.FORMCODE ? option.FORMCODE : ''
 | 
						|
			this.loadData()
 | 
						|
		},
 | 
						|
		methods: {
 | 
						|
			transEXAMINATION_RESULTS(EXAMINATION_RESULTS) {
 | 
						|
				if (EXAMINATION_RESULTS == 0) {
 | 
						|
					return ' 不合格';
 | 
						|
				}
 | 
						|
				if (EXAMINATION_RESULTS == 1) {
 | 
						|
					return ' 合格';
 | 
						|
				}
 | 
						|
			},
 | 
						|
			loadData() {
 | 
						|
				const json = initFilter(this.ORG_ID, this.model.ID, null, null, null)
 | 
						|
				// extendRule(json, 'ID', 1, this.model.ID);
 | 
						|
				extendInclude(json, 'Nav_Parent.Nav_User');
 | 
						|
				extendInclude(json, 'Nav_Parent.Nav_Department');
 | 
						|
				extendInclude(json, 'Nav_Parent.Nav_Project');
 | 
						|
				extendInclude(json, 'Nav_Files.Nav_ImgFile');
 | 
						|
				getRequest(json, "/WB/WBOutsourceTrainRecord/GetPersonCheck").then(res => {
 | 
						|
					this.model = res
 | 
						|
					//数据组装
 | 
						|
					let Users = '';
 | 
						|
					let users0 = res.Nav_Users;
 | 
						|
					if (users0 && users0.length > 0) {
 | 
						|
						for (let i = 0; i < users0.length; i++) {
 | 
						|
							if (users0[i].SIGN_STATUS !== 1) {
 | 
						|
								Users += (Users.length > 0 ? " " : "") +
 | 
						|
									"<view style='color:#E35D58;background-color:rgba(227,93,88,0.2);padding:5px;line-height:30px;white-space:nowrap;'>" +
 | 
						|
									users0[i].Nav_User.NAME + " 分数:" + users0[i].SCORE + "</view></br>";
 | 
						|
							} else {
 | 
						|
								Users += (Users.length > 0 ? " " : "") +
 | 
						|
									"<text style='padding:5px;line-height:30px;white-space:nowrap;'>" +
 | 
						|
									users0[i].Nav_User.NAME + " 分数:" + users0[i].SCORE + "</text></br>";
 | 
						|
							}
 | 
						|
						}
 | 
						|
					}
 | 
						|
					if (res.TRAIN_TYPE.indexOf('1') > -1 && res.TRAIN_TYPE.indexOf('2') > -1) {
 | 
						|
						this.Traintype = 3
 | 
						|
						this.model.TRAIN_TYPE_SHOW = '线上、线下'
 | 
						|
					} else if (res.TRAIN_TYPE.indexOf('1') > -1) {
 | 
						|
						this.Traintype = 1
 | 
						|
						this.model.TRAIN_TYPE_SHOW = '线上'
 | 
						|
					} else if (res.TRAIN_TYPE.indexOf('2') > -1) {
 | 
						|
						this.Traintype = 2
 | 
						|
						this.model.TRAIN_TYPE_SHOW = '线下'
 | 
						|
					}
 | 
						|
					this.model.TRAIN_TIME = this.model.START_TIME?.substring(0, 16) + "~" + this
 | 
						|
						.model.END_TIME?.substring(0, 16);
 | 
						|
					this.model.Users = Users
 | 
						|
					this.model.Nav_Users.forEach(e => {
 | 
						|
						e.EXAMINATION_RESULTS_SHOW = this.transEXAMINATION_RESULTS(e.EXAMINATION_RESULTS)
 | 
						|
					})
 | 
						|
					if (res.STATUS >= 3 && this.formCode !== 'SE050_SHOWPRINT' && this.tableKey !== undefined) {
 | 
						|
						this.isApprove = true
 | 
						|
					}
 | 
						|
					let userid = uni.getStorageSync('appInfo').User.ID
 | 
						|
					if (res.STATUS == 1 && res.Nav_Users.find(it => it.USER_ID == userid)) {
 | 
						|
						this.isView = true
 | 
						|
 | 
						|
					}
 | 
						|
					this.isLoadOK = true;
 | 
						|
 | 
						|
				})
 | 
						|
			},
 | 
						|
			openTest(id,userid) {
 | 
						|
				uni.navigateTo({
 | 
						|
					url: '1WBanswerPageEdit?ID=' + id+ "&USER_ID=" + userid
 | 
						|
				})
 | 
						|
			},
 | 
						|
			onTableBtnAgree() {
 | 
						|
				this.isAgree = true;
 | 
						|
				const json = initFilter(this.ORG_ID, "", "", 1)
 | 
						|
				json.Keyword = this.ID;
 | 
						|
				json.Parameter1 = this.TaskID;
 | 
						|
				getRequest(json, "/WB/WBOutsourceTrainRecord/SignIn").then(res => {
 | 
						|
					if (res) {
 | 
						|
						uni.$showMsgFunc('操作成功!', () => {
 | 
						|
							uni.navigateBack()
 | 
						|
						}, 'success', 1000)
 | 
						|
					}
 | 
						|
				})
 | 
						|
			},
 | 
						|
			onTableBtnAudit() {
 | 
						|
				const json = initFilter(this.ORG_ID, this.ID)
 | 
						|
				json.Parameter1 = this.TaskID;
 | 
						|
				SubmitTrainRecord(json).then(res => {
 | 
						|
					if (res) {
 | 
						|
						uni.$showMsgFunc('操作成功!', () => {
 | 
						|
							uni.navigateBack()
 | 
						|
						}, 'success', 1000)
 | 
						|
					}
 | 
						|
				})
 | 
						|
			}
 | 
						|
		},
 | 
						|
		computed: {
 | 
						|
 | 
						|
		}
 | 
						|
	}
 | 
						|
</script>
 | 
						|
 | 
						|
<style>
 | 
						|
	/* @import url("@/style/css/editTemplate.css"); */
 | 
						|
	@import url("../../../../style/css/newTemplate.css");
 | 
						|
</style> |