| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- from flask import flash, render_template, session, request, redirect, url_for, jsonify
- from admin.patentinfo import *
- from admin.researchtopic import *
- from flask import current_app as app
- from werkzeug.utils import secure_filename
- import os
- from hashlib import md5
- from pathlib import Path
- from datetime import datetime
- # 设置允许的文件格式
- ALLOWED_EXTENSIONS = set(['png', 'jpg', 'JPG', 'PNG', 'bmp'])
- #判断文件格式
- def allowed_file (filename):
- return '.' in filename and filename.rsplit('.', 1)[1] in ALLOWED_EXTENSIONS
- #--------------------专利信息管理------------------------------#
- @app.route('/patentinfomanage')
- def patentinfomanage():
- if 'username' in session:
- results = loadallpatents()
- return render_template('admin/a_patent_manage.html',results = results )
- else:
- flash('登录失败, 请重新登录')
- return redirect(url_for('adminlogin'))
- #添加专利
- @app.route('/newpatentinfo')
- def newpatentinfo():
- if 'username' in session:
- researchtopic = loadAllResearchTopic()
- return render_template('admin/a_patent_edit.html', researchtopic=researchtopic, patentinfo=None, status="add")
- else:
- flash('登录失败, 请重新登录')
- return redirect(url_for('adminlogin'))
- #查看专利
- @app.route('/loadpatentinfoforedit/<pid>', methods = ['POST','GET'])
- def loadpatentinfoforedit(pid):
- if 'username' in session:
- researchtopic = loadAllResearchTopic()
- patentinfo = loadPatentInfoByID(pid)
- return render_template('admin/a_patent_edit.html', researchtopic=researchtopic, patentinfo = patentinfo, status="edit")
- else:
- flash('登录失败, 请重新登录')
- return redirect(url_for('adminlogin'))
- #PatentID, RTID, PatentName, AppNo, PubNo, PatentAbstract, PatentImage, PatentConent, PatentType, AppDate, PubDate, Patentee, Authors, PatentStatus, PStatus
- #编辑专利信息
- @app.route('/editpatentinfo.do', methods = ['POST'])
- def editpatentinfo():
- if request.method == 'POST':
- status = request.form['lbl_status']
- rtid = request.form.get('txt_RTID')
- patentname = request.form['txt_PatentName']
- appno = request.form['txt_AppNo']
- pubno = request.form['txt_PubNo']
- patentabstract = request.form['txt_PatentAbstract']
- patentimage = request.form['txt_PatentImage']
- patentconent = request.form['txt_PatentConent']
- patenttype = request.form['txt_PatentType']
- appdate = request.form['txt_AppDate']
- pubdate = request.form['txt_PubDate']
- patentee = request.form['txt_Patentee']
- authors = request.form['txt_Authors']
- patentstatus = request.form.get('txt_PatentStatus')
- pstatus = request.form.get('txt_PStatus')
- f = request.files['file_proimg']
- proimg = ""
- if (f != None and f.filename != ""):
- proimg = uploadimage(f)
- if proimg == "":
- proimg = patentimage
- if( status =='add'):
- data = [rtid, patentname, appno, pubno, patentabstract, proimg, patentconent, patenttype, appdate, pubdate, patentee,
- authors, patentstatus, pstatus]
- i, msg = add_patentinfo(data)
- if i >0:
- flash('专利信息添加成功!')
- else:
- flash('专利信息添加失败!%s' % str(msg))
- elif (status == 'edit'):
- pid = request.form['lbl_PatentID']
- data = [rtid, patentname, appno, pubno, patentabstract, proimg, patentconent, patenttype, appdate, pubdate, patentee,
- authors, patentstatus, pstatus, pid]
- i, msg = update_patentinfo(data)
- if i > 0:
- flash('专利信息修改成功!')
- else:
- flash('专利信息修改失败!%s' % str(msg))
- return redirect(url_for('patentinfomanage'))
- def uploadimage(f):
- #f = request.files['file_proimg']
- if not (f and allowed_file(f.filename)):
- return "False" #jsonify({"error": 1001, "msg": """请检查上传的图片类型,仅限于png、PNG、jpg、JPG、bmp"})
- digest = md5(f.filename.encode("utf-8")).hexdigest()
- suffix = Path(f.filename).suffix
- images_name = datetime.now().strftime('%Y%m%d%H%M%S') + f'{digest}{suffix}'
- #images_name = datetime.now().strftime('%Y%m%d%H%M%S') + '11'
- file_path = os.path.join(app.config['UPLOAD_FOLDER_IMG_Patent'], images_name)
- f.save(file_path)
- return file_path #"Success" #jsonify(file_path)
- #查看专利
- @app.route('/viewpatentinfo/<pid>', methods = ['POST','GET'])
- def viewpatentinfo(pid):
- if 'username' in session:
- patentinfo = loadPatentwithRTNamebyID(pid)
- return render_template('admin/a_patent_view.html', patentinfo = patentinfo)
- else:
- flash('登录失败, 请重新登录')
- return redirect(url_for('adminlogin'))
- #删除专利信息
- @app.route('/delpatentinfo/<pid>', methods=['POST'])
- def delpatentinfo(pid):
- i, msg = del_patent(pid)
- if i > 0:
- flash('专利信息删除成功!')
- else:
- flash('专利信息删除失败!%s' % str(msg))
- return redirect(url_for('patentinfomanage'))
|