From e0c9f81c28419645cd7ef8de2aec0b3bea6c811b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=99=93=E7=90=AA?= Date: Wed, 21 Sep 2022 15:07:48 +0800 Subject: [PATCH] =?UTF-8?q?app2.0=20=E6=8E=8C=E4=B8=8A=E8=AF=84=E6=95=99?= =?UTF-8?q?=20=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/EvaluationTeach/list.vue | 18 +- .../pages/EvaluationTeach/single.vue | 287 +++++++++++------- 2 files changed, 194 insertions(+), 111 deletions(-) diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EvaluationTeach/list.vue b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EvaluationTeach/list.vue index 45a3aa1d3..46663e853 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EvaluationTeach/list.vue +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EvaluationTeach/list.vue @@ -3,13 +3,14 @@ - {{ tips }} + + {{ tips }} - + 学年: @@ -126,6 +127,13 @@ export default { async onLoad() { await this.init() }, + async onShow() { + if(this.ready){ + this.ready = false + await this.refreshList() + this.ready = true + } + }, onUnload() { this.OFF('EducationalAdministrationJournalSend-list-change') }, @@ -207,9 +215,11 @@ export default { // 点击「编辑」、「查看」、「添加」、「删除」按钮 async action(type, item) { - if (item.UID != undefined && item.UID !== '') { - this.TOAST('当前项已评价!'); + if (item.UID) { + this.TOAST('当前项已评价!') + return } + this.NAV_TO(`./single?type=view&id=${item.VID}&EmpNo=${item.EmpNo}&LessonNo=${item.LessonNo}`) }, // 显示列表中的标题项 diff --git a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EvaluationTeach/single.vue b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EvaluationTeach/single.vue index 8a7100218..bd4bec2d1 100644 --- a/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EvaluationTeach/single.vue +++ b/Learun.Framework.Ultimate V7/LearunApp-2.2.0/pages/EvaluationTeach/single.vue @@ -1,47 +1,67 @@ @@ -74,57 +94,37 @@ export default { mixins: [customPageMixins], data() { - return { + return { + aa:"", + bbb:[], // 页面相关参数 id: null, mode: null, edit: null, ready: false, - - // 表单数据 - current: {}, - origin: {}, - - // 表单项数据结构 - scheme: { - JournalSend: { - JTitle: { type: 'text' }, - JTypeId: { type: 'select' }, - JReceiveId: { type: 'organize'}, - JContent: { type: 'textarea' }, - }, - - }, - - // 数据源 - dataSource: { - JournalSend: { - JTypeId: [], - }, - - } - } - }, - - async onLoad({ type, id }) { - await this.init(type, id) + ready: false, + formData:{ + Eval_Questions:[] + }, + submitParams:null, + uTexts:{}, + checkBoxs:{}, + validate:{}, + } + }, + async onLoad({ id,EmpNo,LessonNo }) { + this.submitParams = {EmpNo,LessonNo} + await this.init(id) }, methods: { + checkBoxGroupChange(id,value){ + this.checkBoxs[id] = value + }, // 页面初始化 - async init(type, id) { - this.LOADING('加载数据中...') - - this.id = id - this.mode = type - this.edit = ['create', 'edit'].includes(this.mode) - - // 拉取表单数据,同时拉取所有来自数据源的选单数据 - await Promise.all([ - - - () => {} - ]) + async init( id ) { + this.LOADING('加载数据中...') + this.id = id await this.fetchForm() this.ready = true @@ -132,15 +132,18 @@ export default { }, // 加载表单数据 - async fetchForm() { - if (this.mode === 'create') { - this.origin = await this.getDefaultForm() - } else { - const result = await this.HTTP_GET('learun/adms/eval/paper', {VID:this.id}) - this.origin = await this.formatFormData(result) - console.log(result,"result") - } - this.current = this.COPY(this.origin) + async fetchForm() { + return this.HTTP_GET('learun/adms/eval/paper', {VID:this.id}, '加载数据时出错').then(success => { + this.HIDE_LOADING() + if (!success) { + return + } + if(success){ + this.edit = true + } + this.formData = success + }) + }, // 点击 「编辑」、「重置」、「保存」、「删除」 按钮 @@ -156,29 +159,78 @@ export default { break case 'save': - const verifyResult = this.verifyForm() - if (verifyResult.length > 0) { - this.CONFIRM('表单验证失败', verifyResult.join('\n')) - return - } - if (!(await this.CONFIRM('提交确认', '确定要提交本页表单内容吗?', true))) { return } - this.LOADING('正在提交...') - const postData = await this.getPostData(this.id) - + this.LOADING('正在提交...') + let postarray = [] + this.formData.Eval_Questions.map(item=>{ + let validate = {} + switch (item.QType){ + case 1: + if(item.QMust){ + validate[item.QID] = this.checkBoxs[item.QID]?'':'此项必填!' + } + this.validate = {...this.validate,...validate} + postarray.push({ + QID:item.QID, + IID:this.checkBoxs[item.QID]?this.checkBoxs[item.QID].toString():'', + UText:item.UText||'', + }) + break; + case 2: + if(item.QMust){ + validate[item.QID] = (this.checkBoxs[item.QID]&&this.checkBoxs[item.QID].length)?'':"此项必填!" + this.validate = {...this.validate,...validate} + } + if(this.checkBoxs[item.QID]&&this.checkBoxs[item.QID].length){ + this.checkBoxs[item.QID].map(t=>{ + postarray.push({ + QID:item.QID, + IID:t, + UText:this.uTexts[t]||'', + }) + }) + } + break; + case 3: + if(item.QMust){ + validate[item.QID] = item.QContent?'':"此项必填" + this.validate = {...this.validate,...validate} + } + if(this.checkBoxs[item.QID]&&this.checkBoxs[item.QID].length){ + this.checkBoxs[item.QID].map(t=>{ + postarray.push({ + QID:item.QID, + IID:'', + QContent:item.QContent||'', + }) + }) + } + break; + } + }) + + let validataArr = Object.values(this.validate) + if(validataArr.some(t=>t)){ + this.TOAST("请完善表单信息!") + return + } + const postData = { + VID:this.formData.VID, + ...this.submitParams, + postarray + } + console.log(postData) this.HTTP_POST('learun/adms/EducationalAdministration/Journal/save', postData, '表单提交保存失败').then(success => { this.HIDE_LOADING() if (!success) { return } - - this.EMIT('EducationalAdministrationJournalSend-list-change') - this.NAV_BACK() - this.TOAST('提交保存成功') - }) + this.NAV_BACK() + this.TOAST('提交保存成功') + }) break case 'delete': @@ -214,4 +266,25 @@ export default { } } } - \ No newline at end of file + + \ No newline at end of file