学习时间:每天3h
代码量:每日300行
今日进行放假的测试
石家庄铁道大学2024年夏季
2022 级课堂测试试卷—Hadoop数据库应用
课程名称:大型数据库应用技术 任课教师:王建民 考试时间:实现为止分钟
一、 测试题目
1、完成科技查新基本信息填报功能,基本信息如下所示:
可参考https://chaxin.las.ac.cn/novelty/embed/kjcx.htm页面样式。
项目名称 |
平台编号 |
查新范围 |
□国内 □国外 |
查新目的 |
О立即查新 О成果查新 О其他查新 (单选框,选中某个选项,显示相应的多选框) 立即查新 □1.项目申报(国家级、省部级、学协会、其他) □2.中小企业创新基金(研发阶段、小试-中试、市场推广) □3.新产品 □4.技术引进 □5.技术吸收与创新 □6.其他 成果查新 □7.成果鉴定 □8.高新技术成果转化 □9.申报奖励(国家级、省部级、学协会、其他奖励) □10.高新技术企业认定 □11.其他 其他查新 □12.博士论文开题 □13.申报专利 □14.其他 |
查新项目的科学技术要点 |
充分反映出查新项目的概貌,简述项目的背景、技术问题、解决技术问题所采用的方案、主要技术特征、技术参数或指标、应用范围等相关技术内容。(要求限制500字) |
查新点个数 |
(必填) |
查新点1 |
|
查新点N(根据个数显示) |
|
参考检索词 |
(主题词、关键词、规范词、同义词、缩写、全称、化学名称、分子式、专利分类号等,国内外查新要分中英文列出。)如果有多个检索词要求点击按钮添加多个检索词文本框。 |
完成时间 |
说明:国内查新7个工作日(1个查新点),每增加1个查新点,查新费用增加300元,工作时间增加1个工作日;国内外查新10个工作日(1个查新点),每增加1个查新点,查新费用增加600元,工作时间增加3个工作日。(国内查新加急不得少于3个工作日,国内外查新加急不得少于5个工作日)。 加急费情况介绍: 收费:200元/工作日 时间:国内查新第一个查新点不得少于3个工作日,每增加一个点多一个工作日; 国内外查新第一个查新点不得少于5个工作日,每增加一个点多一个工作日;
正常:О7个工作日 加急:О |
学科分类 |
用文本下拉框显示,具体内容参考表后图1. |
产业分类 |
用文本下拉框显示,具体内容参考表后图2. |
备注 |
|
图1学科分类示意图
图2产业分类示意图
2、后台数据库要求使用HBASE数据库,并将新数据存入HBase或者HIVE新建表中。
3、实现从数据库中将新数据读出展示在前台页面。
<template> <div> <h1>项目查新表单</h1> <form @submit.prevent="submitForm"> <div> <label for="projectName">项目名称:</label> <input type="text" v-model="form.projectName" id="projectName"> </div> <div> <label for="platformId">平台编号:</label> <input type="text" v-model="form.platformId" id="platformId"> </div> <div> <label>查新范围:</label> <input type="checkbox" v-model="form.scopeDomestic"> 国内 <input type="checkbox" v-model="form.scopeInternational"> 国外 </div> <div> <label>查新目的:</label> <select v-model="form.purpose"> <option value="立即查新">立即查新</option> <option value="成果查新">成果查新</option> <option value="其他查新">其他查新</option> </select> </div> <div v-if="form.purpose === '立即查新'"> <label>立即查新:</label> <input type="checkbox" v-model="form.immediateOptions.projectDeclaration"> 项目申报 <input type="checkbox" v-model="form.immediateOptions.smeInnovationFund"> 中小企业创新基金 <input type="checkbox" v-model="form.immediateOptions.newProduct"> 新产品 <input type="checkbox" v-model="form.immediateOptions.technologyIntroduction"> 技术引进 <input type="checkbox" v-model="form.immediateOptions.technologyAbsorption"> 技术吸收与创新 <input type="checkbox" v-model="form.immediateOptions.other"> 其他 </div> <div v-if="form.purpose === '成果查新'"> <label>成果查新:</label> <input type="checkbox" v-model="form.resultOptions.resultIdentification"> 成果鉴定 <input type="checkbox" v-model="form.resultOptions.highTechResultTransformation"> 高新技术成果转化 <input type="checkbox" v-model="form.resultOptions.awardApplication"> 申报奖励 <input type="checkbox" v-model="form.resultOptions.highTechEnterprise"> 高新技术企业认定 <input type="checkbox" v-model="form.resultOptions.other"> 其他 </div> <div v-if="form.purpose === '其他查新'"> <label>其他查新:</label> <input type="checkbox" v-model="form.otherOptions.phdThesis"> 博士论文开题 <input type="checkbox" v-model="form.otherOptions.patentApplication"> 申报专利 <input type="checkbox" v-model="form.otherOptions.other"> 其他 </div> <div> <label for="techPoints">查新项目的科学技术要点:</label> <textarea v-model="form.techPoints" id="techPoints" maxlength="500"></textarea> </div> <div> <label for="numTechPoints">查新点个数:</label> <input type="number" v-model="form.numTechPoints" id="numTechPoints" @input="updateTechPointsArray"> </div> <div v-for="(point, index) in form.techPointsArray" :key="index"> <label :for="'techPoint' + index">查新点{{ index + 1 }}:</label> <input type="text" v-model="form.techPointsArray[index]" :id="'techPoint' + index"> </div> <div> <label for="keywords">参考检索词:</label> <div v-for="(keyword, index) in form.keywords" :key="index"> <input type="text" v-model="form.keywords[index]" :id="'keyword' + index"> <button type="button" @click="removeKeyword(index)">删除</button> </div> <button type="button" @click="addKeyword">添加检索词</button> </div> <div> <label for="completionTime">完成时间:</label> <input type="date" v-model="form.completionTime" id="completionTime"> </div> <div> <label>学科分类:</label> <select v-model="form.subjectClassification"> <option value="信息科学与系统科学">信息科学与系统科学</option> <option value="生物字〔生物医药、生物技术)">生物字〔生物医药、生物技术)</option> <option value="力学">力学</option> <option value="物理学">物理学</option> <option value="化学">化学</option> <option value="天文学">天文学</option> <option value="地球科学">地球科学</option> <option value="材料科学">材料科学</option> <option value="动力与电气工程">动力与电气工程</option> <option value="环境科字及源科学技术">环境科字及源科学技术</option> <option value="能源科学技术">能源科学技术</option> <option value="电子与通信技术">电子与通信技术</option> <option value="食品科学技术">食品科学技术</option> <option value="航空航天科字技术">航空航天科字技术</option> <option value="农业科学">农业科学</option> <option value="林学">林学</option> <option value="水产学">水产学</option> <option value="其他科学">其他科学</option> </select> </div> <div> <label>产业分类:</label> <select v-model="form.industryClassification"> <option value="节能环俣产业(节水、节能、环俣等)">节能环俣产业(节水、节能、环俣等)</option> <option value="生物产业(生物医药、生物工程、生物农业等)">生物产业(生物医药、生物工程、生物农业等)</option> <option value="新一代信息技术产业">新一代信息技术产业</option> <option value="高端装备制适产业(卫星及服务、轨道涌、智能制适等)">高端装备制适产业(卫星及服务、轨道涌、智能制适等)</option> <option value="新能源产业(太阳能、风能、生物质能源等">新能源产业(太阳能、风能、生物质能源等</option> <option value="新材料产业(新型功能材料、高分子、无机非金属、复合材料等)">新材料产业(新型功能材料、高分子、无机非金属、复合材料等)</option> <option value="新能源汽车">新能源汽车</option> <option value="国民经济其他产业">国民经济其他产业</option> </select> </div> <div> <label for="remarks">备注:</label> <textarea v-model="form.remarks" id="remarks"></textarea> </div> <button type="submit">提交</button> <p v-if="loading">数据插入中...</p> <p v-if="successMessage">{{ successMessage }}</p> <p v-if="errorMessage">{{ errorMessage }}</p> </form> </div> </template> <script> import axios from 'axios'; export default { data() { return { form: { projectName: '', platformId: '', scopeDomestic: false, scopeInternational: false, purpose: '', immediateOptions: { projectDeclaration: false, smeInnovationFund: false, newProduct: false, technologyIntroduction: false, technologyAbsorption: false, other: false, }, resultOptions: { resultIdentification: false, highTechResultTransformation: false, awardApplication: false, highTechEnterprise: false, other: false, }, otherOptions: { phdThesis: false, patentApplication: false, other: false, }, techPoints: '', numTechPoints: 1, techPointsArray: [''], keywords: [''], completionTime: '', subjectClassification: '', industryClassification: '', remarks: '', }, loading: false, successMessage: '', errorMessage: '', }; }, methods: { updateTechPointsArray() { const newLength = this.form.numTechPoints; while (this.form.techPointsArray.length < newLength) { this.form.techPointsArray.push(''); } while (this.form.techPointsArray.length > newLength) { this.form.techPointsArray.pop(); } }, addKeyword() { this.form.keywords.push(''); }, removeKeyword(index) { this.form.keywords.splice(index, 1); }, async submitForm() { this.loading = true; this.successMessage = ''; this.errorMessage = ''; // 将复杂对象转换为字符串并转换复选框选项为汉字 const payload = { ...this.form, scopeDomestic: this.form.scopeDomestic ? '国内' : '国外', scopeInternational: this.form.scopeInternational ? '国外' : '国内', immediateOptions: JSON.stringify(this.convertToChinese(this.form.immediateOptions)), resultOptions: JSON.stringify(this.convertToChinese(this.form.resultOptions)), otherOptions: JSON.stringify(this.convertToChinese(this.form.otherOptions)), techPointsArray: JSON.stringify(this.form.techPointsArray), keywords: JSON.stringify(this.form.keywords) }; try { const response = await axios.post('http://localhost:8081/projectReview/insert', payload); this.successMessage = '插入记录成功!'; } catch (error) { if (error.response) { // 请求已发出,服务器以状态代码进行响应 console.error('响应错误:', error.response.data); console.error('响应状态:', error.response.status); console.error('响应头:', error.response.headers); } else if (error.request) { // 请求已发出,但没有收到响应 console.error('请求错误:', error.request); } else { // 其他错误 console.error('错误信息:', error.message); } console.error('错误配置:', error.config); this.errorMessage = '插入记录失败'; } finally { this.loading = false; } }, convertToChinese(options) { const chineseOptions = {}; for (const key in options) { if (options[key]) { switch (key) { case 'projectDeclaration': chineseOptions[key] = '项目申报'; break; case 'smeInnovationFund': chineseOptions[key] = '中小企业创新基金'; break; case 'newProduct': chineseOptions[key] = '新产品'; break; case 'technologyIntroduction': chineseOptions[key] = '技术引进'; break; case 'technologyAbsorption': chineseOptions[key] = '技术吸收与创新'; break case 'other': chineseOptions[key] = '其他'; break; case 'resultIdentification': chineseOptions[key] = '成果鉴定'; break; case 'highTechResultTransformation': chineseOptions[key] = '高新技术成果转化'; break; case 'awardApplication': chineseOptions[key] = '申报奖励'; break; case 'highTechEnterprise': chineseOptions[key] = '高新技术企业认定'; break; case 'phdThesis': chineseOptions[key] = '博士论文开题'; break; case 'patentApplication': chineseOptions[key] = '申报专利'; break; default: chineseOptions[key] = options[key]; } } } return chineseOptions; }, }, }; </script>
标签:总结,false,form,第三周,chineseOptions,key,error,查新 From: https://www.cnblogs.com/Lyh3012648079/p/18313442