From d7b690dd6a3b28c72788d7dfeb7b399b4ad07055 Mon Sep 17 00:00:00 2001 From: svk28 Date: Mon, 28 Aug 2017 15:39:17 +0300 Subject: [PATCH] Change CSS. Added report procedure. --- www/css/layout.css | 64 +++++++++++++++++++++++++++++++++++++++++++--- www/index.py | 56 ++++++++++++++++++++++++++++++++++------ 2 files changed, 109 insertions(+), 11 deletions(-) diff --git a/www/css/layout.css b/www/css/layout.css index d755f49..75fc678 100644 --- a/www/css/layout.css +++ b/www/css/layout.css @@ -30,18 +30,17 @@ h2{ h3{ font-size:18px; font-weight:normal; - left:50%; /*margin-left:-400px;*/ padding:10px 0; /*position:absolute;*/ - width:540px; + /*width:540px;*/ color:#fff; text-shadow: 3px 3px 3px #050505; } h4{ font-size:16px; font-weight:normal; - /*margin-left:20px;*/ + margin-left:20px; padding:10px 0; color:#fff; text-shadow: 2px 2px 2px #050505; @@ -114,3 +113,62 @@ A:hover { color: #00B4FF; } +form { + border: 1px solid #696969; + border-radius: 5px; + /*font: 14px/1.4 "Helvetica Neue", Helvetica, Arial, sans-serif;*/ + overflow: hidden; + width: 150px; + margin-left:20px; + padding:10px 0; +} +fieldset { + border: 0; + margin: 0; + padding: 10px; +} +input { + border-radius: 5px; + /*font: 14px/1.4 "Helvetica Neue", Helvetica, Arial, sans-serif;*/ + margin: 0; +} +.report { + padding: 20px 20px 0 20px; +} +.report label { + color: #CAD4D6; + font-size: 12px; + display: block; + font-weight: bold; + margin-bottom: 20px; +} +.report input { + font-size: 12px; + background: #212121; + border: 1px solid #696969; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .1); + color: #636466; + padding: 6px; + margin-top: 6px; + width: 100%; +} +.report-action { + background: #212121; + border-top: 1px solid #696969; + padding: 20px; +} +.report-action .btn { + background: linear-gradient(#212121, #000000); + border: 0; + color: #636466; + cursor: pointer; + font-weight: bold; + float: left; + padding: 8px 16px; +} +.report-action label { + color: #7c7c80; + font-size: 12px; + float: left; + margin: 10px 0 0 20px; +} \ No newline at end of file diff --git a/www/index.py b/www/index.py index 29419ba..c2f6ce6 100755 --- a/www/index.py +++ b/www/index.py @@ -1,5 +1,4 @@ -import os, sys, \ - pymysql, urlparse3 +import os, sys, pymysql, urlparse3 def application(environ, start_response): #sys.stdout._encoding = 'utf-8' @@ -13,10 +12,11 @@ def application(environ, start_response): output = bytes((header() + body() + getInternalNumbers() + footer()).encode('utf8')) elif paramDict.get('query_type') == 'external': output = bytes((header() + body() + getCOline() + footer()).encode('utf8')) + elif paramDict.get('query_type') == 'report': + output = bytes((header() + body() + ReportForm() + ReportData(environ) + footer()).encode('utf8')) else: output = bytes((header() + body() + footer()).encode('utf8')) - response_headers = [('Content-type', 'text/html;charset=utf-8'), ('Content-Length', str(len(output)))] start_response(status, response_headers) @@ -32,12 +32,12 @@ def header(): return txtHeader def footer(): - txtFooter = '\n' + txtFooter = '\n' return txtFooter def body(): txtBody = '\n' \ - '

ТЕЛЕФОНЫ

{}
\n'.format(menu()) + '
{}
\n'.format(menu()) return txtBody def menu(): #
@@ -45,7 +45,7 @@ def menu(): '
  • Справочник
  • \n' \ - '
  • Отчёты
  • \n' return txtMenu @@ -83,11 +83,51 @@ def getCOline(): result = result + rowData return (result + "\n") +def ReportForm(): + txtReportForm = '

    Отчёт по звонкам

    ' + return txtReportForm + +def ReportData(environ): + paramDict = {item.split('=')[0]: item.split('=')[1] for item in environ['QUERY_STRING'].split('&')} + numbers = paramDict.get('int_number') + date_begin = paramDict.get('date_begin') + date_end = paramDict.get('date_end') + + conn = connectDB() + c = conn.cursor() + order = 'call_date' + result = '
    ' \ + '
    ' \ + '
    ' \ + '' \ + '' \ + '' \ + '
    ' \ + '
    ' \ + '' \ + '

    Список звонков с номера {}

    '.format(numbers) + qwr = "SELECT * FROM ats.cdr where int_number=\'{}\' AND call_date BETWEEN CAST(\'{}\' AS DATE) AND CAST(\'{}\' AS DATE) LIMIT 1000".format(numbers, date_begin, date_end) + + c.execute(qwr) + listHeader = '' \ + '' \ + '\n' + + result = result + listHeader + + for row in c.fetchall(): + rowData = ''\ + % (row[0], row[1], row[2], row[3], row[4], row[5], row[5], row[7], row[9], row[9], row[10]) + + result = result + rowData + return (result + "
    № п/пДатаВремяВнут.номерВнеш.линияВызываемый номерRingДлительностьАССКод звонкаНаправление
    %s%s%s%s%s%s%s%s%s%s%s
    \n" + qwr) + + def connectDB(): c = pymysql.connect( db='ats_test', user='ats', - passwd='', + passwd='T,fkfqneyU', host='kis', charset='utf8') - return c \ No newline at end of file + return c