首页 > 其他分享 >第三周总结

第三周总结

时间:2024-07-20 17:17:54浏览次数:13  
标签:总结 false form 第三周 chineseOptions key error 查新

学习时间:每天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

相关文章

  • 第三周
    本周学习了判断与循环以及数组;了解了java与c++语言的相通之处;并进行了相关例题训练:完成pta部分习题下周进行方法以及面向对象的学习;......
  • html -- 总结 3 (小白)
    css引入方式<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</tit......
  • 7.20周五总结
    上午vjcon3补题vj3优先队列维护贪心取一个数的各位只需要a/100%10,a/10%10,a%10;去重bool(intn){set<int>st;for(intj=0;j<n;j++){st.insert(a[i][j]);}if(st.size()!=n)return1;return0;}中位数(思维)#i......
  • 第二周进度总结
    第二周总结:配置环境变量可以在任意目录下打开指定软件。方法:打开我的电脑,空白处右键后点击属性,点击高级系统设置,点击高级,点击环境变量,找到path处,点击编辑,新建后粘贴即可。文件夹含义:bin:各种工具和命令。conf:相关配置文件。include:平台特定的头文件。jmods:各种模块。leg......
  • 2024/7/20周末总结
    本周,我完美完成了PTA基础编程题目集中的函数部分。对阶乘计算的进阶方法这道上周无法通过的题目进行了学习和复现通过。对超大数的输出方式有了新的理解。同时,完成了编程题三分之一的题目,其中,由于BCD数中需要实现位运算而有些难以理解外,其他均以C++通过。关于本周Java的学习,......
  • 线程池 --- 基础总结
    使用线程池主要为了解决一下几个问题:通过重用线程池中的线程,来减少每个线程创建和销毁的性能开销。对线程进行一些维护和管理,比如定时开始,周期执行,并发数控制等等。一、Executor接口关系Executor是一个接口,跟线程池有关的基本都要跟他打交道。下面是常用的ThreadPoolExecu......
  • 2024/07/19(暑假学习hadoop第二周总结)
    本周的学习任务主要是完成Hadoop中有关的组件的配置。有关于此配置的过程严格按照黑马程序员大数据入门到实战教程,大数据开发必会的Hadoop、Hive,云平台实战项目全套一网打尽_哔哩哔哩_bilibili来进行配置。首先就是HDFS的配置,这是Hadoop分布式文件系统,用于在多个服务器上构建存储......
  • LeetCode题练习与总结:比较版本号--165
    一、题目描述给你两个 版本号字符串 version1 和 version2 ,请你比较它们。版本号由被点 '.' 分开的修订号组成。修订号的值 是它 转换为整数 并忽略前导零。比较版本号时,请按 从左到右的顺序 依次比较它们的修订号。如果其中一个版本字符串的修订号较少,则将缺失......
  • FreeRTOS【面试】实时操作系统的知识总结
    RTOS的实时性是如何实现的?任务之间是如何通信的?二值信号量与互斥信号量的区别?优先级反转?如何解决优先级反转问题?任务通知是怎么实现的?框架性的回答一个嵌入式系统Freertos的启动到结束的过程?任务切换的原理? 除了任务切换对freertos其他底层了解吗?讲讲FreeRT......
  • Llama系模型总结
    Llama3学习链接https://blog.csdn.net/v_JULY_v/article/details/137955982就不易理解的内容进一步剖析对Llama系模型进行汇总目录一、LLama11.LLama1简介2.模型架构2.1RMSNorm2.2SwiGLU替代ReLU2.3位置编码:RoPE2.4Transform架构的实现:Attention计算、SA、FFNSAFFNTr......