diff --git a/__pycache__/app.cpython-312.pyc b/__pycache__/app.cpython-312.pyc deleted file mode 100644 index 6618bef..0000000 Binary files a/__pycache__/app.cpython-312.pyc and /dev/null differ diff --git a/__pycache__/models.cpython-312.pyc b/__pycache__/models.cpython-312.pyc deleted file mode 100644 index 84cd74b..0000000 Binary files a/__pycache__/models.cpython-312.pyc and /dev/null differ diff --git a/addoborudtodb b/addoborudtodb new file mode 100644 index 0000000..e69de29 diff --git a/app.py b/app.py index 1aa53ca..75793c3 100644 --- a/app.py +++ b/app.py @@ -6,6 +6,7 @@ from flask_migrate import Migrate from datetime import * import csv import random +from urllib.parse import unquote app = Flask(__name__) @@ -77,10 +78,12 @@ def searchonaud(): results = [] for auditory, oboruds in q: results.append({ + 'num_ved': oboruds.numberved, 'auditory_id': auditory.id, 'auditory_name': auditory.audnazvanie, 'inv_number': oboruds.invNumber, 'oboruds_id': oboruds.nazvanie, + 'raspolog': oboruds.raspologenie, }) return jsonify(results) @@ -183,30 +186,24 @@ def zamsearch(): @app.route('/addraspved', methods=['GET', 'POST']) def addraspved(): if request.method == 'POST': - query_string = request.data - # Convert the bytes object to a string - query_string_str = query_string.decode("utf-8") - # Split the query string by '&' to get individual key-value pairs - key_value_pairs = query_string_str.split("&") + query_string = request.data.decode() - # Create a dictionary to store the key-value pairs - query_dict = {} - for pair in key_value_pairs: - key, value = pair.split("=") - query_dict[key] = value + print(query_string) + un_query_string = unquote(unquote(query_string)).split(',') - # Retrieve the values for specific keys - rasp_value = query_dict.get("rasp") - ved_value = query_dict.get("ved") - - print(f"Value for 'rasp': {rasp_value}") - print(f"Value for 'ved': {ved_value}") + print(un_query_string) - - return jsonify({'success': True}, 200, {'ContentType': 'application/json'}) - + + ob = db.session.query(Oboruds).filter_by(invNumber=un_query_string[0]).first() + ob.raspologenie=un_query_string[2] + ob.numberved = un_query_string[1] + db.session.commit() + db.session.close() + + return jsonify({'success': True}, 200, {'ContentType': 'application/json'}) + # ================================================================================== @@ -262,16 +259,6 @@ def createdb(): db.session.commit() - """ - with open('zabalans.csv', encoding='utf-8') as csv_file: - csv_reader = csv.reader(csv_file, delimiter=';') - for row in csv_reader: - print(row) - db.session.add( - Oboruds(invNumber=row[0], nazvanie=row[1], typeBalanse="забаланс")) - - db.session.commit() - """ if __name__ == '__main__': diff --git a/migrations/versions/__pycache__/be7c94c549e5_.cpython-312.pyc b/migrations/versions/__pycache__/be7c94c549e5_.cpython-312.pyc new file mode 100644 index 0000000..ea0aa62 Binary files /dev/null and b/migrations/versions/__pycache__/be7c94c549e5_.cpython-312.pyc differ diff --git a/migrations/versions/be7c94c549e5_.py b/migrations/versions/be7c94c549e5_.py new file mode 100644 index 0000000..52e3c4e --- /dev/null +++ b/migrations/versions/be7c94c549e5_.py @@ -0,0 +1,34 @@ +"""empty message + +Revision ID: be7c94c549e5 +Revises: 8e838956713f +Create Date: 2024-04-01 15:09:52.082987 + +""" +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = 'be7c94c549e5' +down_revision = '8e838956713f' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table('oboruds', schema=None) as batch_op: + batch_op.add_column(sa.Column('balancenumber', sa.String(length=30), nullable=True)) + batch_op.drop_column('typeBalanse') + + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + with op.batch_alter_table('oboruds', schema=None) as batch_op: + batch_op.add_column(sa.Column('typeBalanse', sa.VARCHAR(length=30), nullable=True)) + batch_op.drop_column('balancenumber') + + # ### end Alembic commands ### diff --git a/models.py b/models.py index c6a6620..24c2840 100644 --- a/models.py +++ b/models.py @@ -16,7 +16,7 @@ class Oboruds(db.Model): id = db.Column(db.Integer, primary_key=True, autoincrement=True) invNumber=db.Column(db.Integer) nazvanie=db.Column(db.String(500)) - typeBalanse = db.Column(db.String(30)) + balancenumber = db.Column(db.String(30)) raspologenie = db.Column(db.String(200)) numberved = db.Column(db.String(100)) aud_id = db.Column(db.Integer, db.ForeignKey(Auditory.id)) diff --git a/static/css/index.css b/static/css/index.css index c47c1a0..6bc3fb1 100644 --- a/static/css/index.css +++ b/static/css/index.css @@ -18,6 +18,7 @@ body { border: 1px; + } header { @@ -77,6 +78,28 @@ nav{ } +.table{ + word-break: break-all; +} + +.aud{ + width: 110px; +} + +.inv{ + width: 400px; +} + +.rasp{ + max-width: 200px; + word-break: break-word; +} + +#modal_matcenn{ + + margin-left: 20px; +} + @media print { *{ diff --git a/static/js/searchonaud.js b/static/js/searchonaud.js index ce603b8..ac233b4 100644 --- a/static/js/searchonaud.js +++ b/static/js/searchonaud.js @@ -13,21 +13,23 @@ function getData(){ }, success: function(response){ + var data = response; const table = document.getElementById('datatable') table.innerHTML = '' - var headTable = ' Номер в Инв. вед Инв. номерНазваниеАудитория Расположение Проверено ' + var headTable = ' Номер в Инв. вед Инв. номерНазваниеАудитория Расположение Проверено ' table.innerHTML += headTable var tr ="" + data.forEach(element => { tr += '' - tr += ' ' - tr += '' + element.inv_number + '' + tr += '' + element.num_ved + '' + tr += '' + element.inv_number + '' tr += '' + element.oboruds_id + '' tr += '' + element.auditory_name + '' - tr += ' ' - tr += '' + '\n' + '' + tr += '' +element.raspolog + '' + tr += '' + '\n' + '' tr += '' }); @@ -40,59 +42,84 @@ $("#searchbutton").click(function(){ getData(); }) - function tableclick(x){ - let roww = x.rowIndex - let data = document.getElementById(x.rowIndex) +$('#modalsavetodb').click(function(){ - let datas = x.innerText.split('\t') + let rasp = document.getElementById('modal_rapolog') + let vedomost = document.getElementById('modal_vednumber') + let invnom = document.getElementById('modal_invnom') + let matcen = document.getElementById('modal_matcenn') - console.log(datas) + let changeddata = new Array() - $('#getmodal').modal('show') + changeddata[0] = invnom.text + changeddata[1] = vedomost.value + changeddata[2] = rasp.value - let rasp = document.getElementById('rapolog') - let vedomost = document.getElementById('vednumber') + let sendData = changeddata.join(',') - if (datas[0].length>0){ - rasp.value=datas[0]; + changeddata = [] + $.ajax({ + + url: "/addraspved", + type: "POST", + contentType: "application/json;charset=utf-8", + dataType: "json", + data: sendData, + + success: function(){ + /* + rasp='', + vedomost = '', + invnom = '', + matcen = '', + + changeddata = [] + */ + $('#getmodal').modal('hide').data( 'bs.modal', null ); + getData(); } - - if (datas[4].length>0){ - vedomost.value=datas[4] - } - - $('#modalclose').click(function(){ - - $('#getmodal').modal('hide'); - } ) - - $('#modalsavetodb').click(function(){ - - console.log(datas) - - $.ajax({ - - url: "/addraspved", - type: "post", - contentType: 'application/json', - dataType: 'json', - data: { - ved: vedomost.value, - rasp: rasp.value - - }, - - }) - - rasp.value=''; - - vedomost.value=''; - - - - $('#getmodal').modal('hide'); - - // getData(); }) -} + +}) + + +function tableclick(tableRow){ + + let nomved = tableRow.childNodes[0].innerHTML; + let invnomer = tableRow.childNodes[1].innerHTML; + let nazvanie = tableRow.childNodes[2].innerHTML; + let raspolog = tableRow.childNodes[4].innerHTML; + + $('#getmodal').modal('show') + + let rasp = document.getElementById('modal_rapolog') + let vedomost = document.getElementById('modal_vednumber') + let invnom = document.getElementById('modal_invnom') + let matcen = document.getElementById('modal_matcenn') + + invnom.innerText = invnomer + matcen.innerText = nazvanie.substring(0,15) + + if (nomved.length >0){ + + vedomost.value = nomved + } + + if(raspolog.length>0){ + rasp.value = raspolog + } + + $("#mimodal").on('hidden.bs.modal', function () { + $(this).data('bs.modal', null); + }); + + + $('#modalclose').click(function(){ + + $('#getmodal').modal('hide').data( 'bs.modal', null ); + + } ) + + +} \ No newline at end of file diff --git a/static/js/tmp.js b/static/js/tmp.js new file mode 100644 index 0000000..da3063e --- /dev/null +++ b/static/js/tmp.js @@ -0,0 +1,47 @@ +function tableclick(x){ + // let data = document.getElementById(x.rowIndex) + + let datas = x.innerText.split('\t') + + + + invnom.innerText=datas[1]+"\t" + matcen.innerText=datas[2] + + + if (datas[4].length>0){ + rasp.value=datas[4]; + } + + if (datas[0].length>0){ + vedomost.value=datas[0] + } + + $('#modalclose').click(function(){ + + $('#getmodal').modal('hide'); + + } ) + + $('#modalsavetodb').click(function(){ + $.ajax({ + + url: "/addraspved", + type: "POST", + contentType: "application/json;charset=utf-8", + dataType: "json", + data: { + rasp: rasp.value, + ved: vedomost.value, + inv: invnomer + }, + success:function() { + rasp.value = ''; + vedomost.value= ''; + data=[]; + rasp + $('#getmodal').modal('hide'); + getData(); + } + }) + })} \ No newline at end of file diff --git a/templates/searchonaud.html b/templates/searchonaud.html index 3d811af..8540948 100644 --- a/templates/searchonaud.html +++ b/templates/searchonaud.html @@ -9,9 +9,9 @@