first
This commit is contained in:
commit
d731fb6608
486 files changed
+251018
No files matched your search
@@ -0,0 +1,124 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
|
||||
{% block bodyPage %}
|
||||
|
||||
<div class="column is-12-mobile is-12-desktop ">
|
||||
|
||||
<div class="columns is-mobile is-multiline is-centered">
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
<div class="field column is-2-desktop is-12-mobile m-0">
|
||||
<label class="label">کاربر</label>
|
||||
<div class="select is-fullwidth">
|
||||
<select id="actionChangeUser" class="">
|
||||
<option>نام کاربر را انتخاب کنید</option>
|
||||
{% for user in allUsers %}
|
||||
<option value="{{ user.id }}">{{ user.first_name }} {{ user.last_name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="field column is-2-desktop is-6-mobile m-0">
|
||||
<label class="label">تاریخ</label>
|
||||
<div class="control">
|
||||
<input type="text" class="input dateTimeActionList">
|
||||
<input id="dateTimeActionListAlt" name="dateTimeActionListAlt" required type="text" class="input is-hidden dateTimeActionListAlt">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-2-desktop is-6-mobile m-0">
|
||||
<label class="label">وضعیت</label>
|
||||
<div class="select is-fullwidth">
|
||||
<select id="actionStatus">
|
||||
<option value="">وضعیت</option>
|
||||
<option value="waite">در انتظار</option>
|
||||
<option value="finish">تمام شده</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="columns is-mobile is-multiline is-centered">
|
||||
|
||||
{% include 'admin_panel/customerActionInc.html' with bgBox="actionBoxSefid" actionPr=actionPr %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$("#actionStatus").change(function(){
|
||||
var url089 = window.location.href
|
||||
//alert(url089)
|
||||
url089 = new URL(url089);
|
||||
url089.searchParams.set('status', $(this).val());
|
||||
//alert(url089.toString());
|
||||
window.location.href = url089.toString();
|
||||
```if (url089.includes("dateTime")){
|
||||
window.location.href = url089+"&status="+$(this).val();
|
||||
}else{
|
||||
window.location.href = url089+"?status="+$(this).val();
|
||||
}```
|
||||
});
|
||||
var changeDateTime = function(){
|
||||
//var url089 = window.location.href
|
||||
dateTimeAlt = $("#dateTimeActionListAlt").val();
|
||||
var url089 = window.location.href
|
||||
//alert(url089)
|
||||
url089 = new URL(url089);
|
||||
url089.searchParams.set('dateTime', dateTimeAlt);
|
||||
//alert(url089.toString());
|
||||
window.location.href = url089.toString();
|
||||
|
||||
```if (url089.includes("status")){
|
||||
window.location.href = url089+"&dateTime="+dateTimeAlt;
|
||||
}else{
|
||||
window.location.href = url089+"?dateTime="+dateTimeAlt;
|
||||
}```
|
||||
//var urlActionListUser = "{% url 'admin_panel:ActionListUserToday' 5555 %}"
|
||||
//urlActionListUser = urlActionListUser.replace("5555", {{ u_id }});
|
||||
//window.location.href = urlActionListUser+"?dateTime="+$("#dateTimeActionListAlt").val();
|
||||
}
|
||||
var dateTimePickerAnjam = $(".dateTimeActionList").pDatepicker({
|
||||
altField: '.dateTimeActionListAlt',
|
||||
initialValue: true,
|
||||
initialValueType: 'persian',
|
||||
autoClose: true,
|
||||
format: 'YYYY/MM/DD',
|
||||
onHide: changeDateTime,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
timePicker: {
|
||||
enabled: false,
|
||||
second:{
|
||||
enabled: false,
|
||||
}
|
||||
},
|
||||
});
|
||||
{% if unixADT %}
|
||||
dateTimePickerAnjam.setDate({{ unixADT }});
|
||||
{% endif %}
|
||||
$("#actionChangeUser").change(function(){
|
||||
var user_id = $(this).val();
|
||||
//alert(user_id)
|
||||
{% if unixADT %}
|
||||
var urlActionDTC = window.location.href
|
||||
urlActionDTC = urlActionDTC.replace("ActionList/{{ u_id }}/", "ActionList/"+user_id+"/")
|
||||
window.location.href = urlActionDTC;
|
||||
{% else %}
|
||||
var urlActionListUser = "{% url 'admin_panel:ActionListUserToday' 5555 %}"
|
||||
urlActionListUser = urlActionListUser.replace("5555", user_id);
|
||||
window.location.href = urlActionListUser;
|
||||
{% endif %}
|
||||
});
|
||||
{% if u_id %}
|
||||
$("#actionChangeUser").val({{ u_id }})
|
||||
{% endif %}
|
||||
{% if status %}
|
||||
$("#actionStatus").val('{{ status }}')
|
||||
{% endif %}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,218 @@
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html dir="rtl">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>فروشگاه تصفیه آب خطیبی</title>
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/bulma.min.css' %}">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/bulma-rtl.min.css' %}">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/DataTables/datatables.min.css' %}"/>
|
||||
<script type="text/javascript" src="{% static 'admin_panel/DataTables/datatables.min.js' %}"></script>
|
||||
|
||||
<script type="text/javascript" src="{% static 'admin_panel/kamadatepicker.min.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'admin_panel/kamadatepicker.holidays.js' %}"></script>
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/kamadatepicker.min.css' %}">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/persian-datepicker.min.css' %}">
|
||||
<script type="text/javascript" src="{% static 'admin_panel/persian-date.min.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'admin_panel/persian-datepicker.min.js' %}"></script>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/style.css' %}">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar is-primary is-fixed-top" role="navigation" aria-label="main navigation">
|
||||
<div class="navbar-brand">
|
||||
<a class="navbar-item" href="#">
|
||||
<span class="is-hidden-desktop">
|
||||
{{ user.first_name }} {{ user.last_name }}
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="navbarBasicExample" class="navbar-menu">
|
||||
<div class="navbar-start mr-0">
|
||||
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
<a href="{% url 'admin_panel:index' %}" class="navbar-item">
|
||||
اصلی
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if not perms.admin_panel.ViewStore %}
|
||||
<a href="{% url 'admin_panel:ActionListUserToday' request.user.id %}" class="navbar-item">
|
||||
اصلی
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
<a href="{% url 'admin_panel:ActionListUserToday' request.user.id %}" class="navbar-item">
|
||||
لیست وظایف
|
||||
</a>
|
||||
|
||||
{% if perms.admin_panel.ViewCustomer %}
|
||||
<a href="{% url 'admin_panel:customers' %}" class="navbar-item">
|
||||
مشتریان
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<a href="{% url 'admin_panel:stores' %}" class="navbar-item">
|
||||
انبار
|
||||
</a>
|
||||
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
<div class="navbar-item has-dropdown is-hoverable">
|
||||
<a href="{% url 'admin_panel:hesabdari' %}" style="
|
||||
" class="navbar-link">
|
||||
حسابداری
|
||||
</a>
|
||||
|
||||
<div class="navbar-dropdown">
|
||||
<a href="{% url 'admin_panel:hesabdari' %}" style="padding-right: 10px;" class="navbar-item">
|
||||
سررسید شده
|
||||
</a>
|
||||
<a href="{% url 'admin_panel:hesabdari_residnashone' %}" style="padding-right: 10px;" class="navbar-item">
|
||||
سررسید نشده
|
||||
</a>
|
||||
|
||||
<a href="{% url 'admin_panel:hesabdari_check_pass' %}" style="padding-right: 10px;" class="navbar-item">
|
||||
چک های وصول شده
|
||||
</a>
|
||||
|
||||
<a href="{% url 'admin_panel:hesabdari_check_pass_fail' %}" style="padding-right: 10px;" class="navbar-item">
|
||||
چک های وصول نشده
|
||||
</a>
|
||||
|
||||
<a href="{% url 'admin_panel:report' %}" style="padding-right: 10px;" class="navbar-item">
|
||||
گزارش
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
|
||||
<a class="navbar-item">
|
||||
کاربران
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="navbar-end ml-0">
|
||||
<div class="navbar-item">
|
||||
<span class="ml-2">{{ user.first_name }} {{ user.last_name }}</span>
|
||||
<div class="buttons">
|
||||
|
||||
<a href="{% url 'admin_panel:p_logout' %}" class="button is-light">
|
||||
خروج
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0 mt-6 pt-3 is-centered pb0Nested">
|
||||
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
<a {% if perms.admin_panel.ViewStore %} href="{% url 'admin_panel:bedehi' %}" {% endif %}>
|
||||
<div class="boxIndex01 {% if url_name == 'bedehi' %}has-background-danger{% else %}has-background-info{% endif %} has-text-white ">
|
||||
<p class="toCurrency ss02 ">{% if mandehesab %} {{ mandehesab }} {% endif %}</p>
|
||||
<p>جمع کل بدهی مشتریان</p>
|
||||
</div>
|
||||
</a>
|
||||
{% endwith %}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
<a href="{% url 'admin_panel:customers' %}">
|
||||
<div class="boxIndex01 {% if url_name == 'customers' %}has-background-danger{% else %}has-background-info{% endif %} has-text-white">
|
||||
<p class="toCurrency ss02 ">{{ countCustomers }}</p>
|
||||
<p>تعدادکل مشتریان</p>
|
||||
</div>
|
||||
</a>
|
||||
{% endwith %}
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
<a {% if perms.admin_panel.ViewStore %}href="{% url 'admin_panel:rezayat' %}"{% endif %}>
|
||||
<div class="boxIndex01 {% if url_name == 'rezayat' %}has-background-danger{% else %}has-background-info{% endif %} has-background-info has-text-white">
|
||||
<p class="ss02 ">{{ rezayatCount }}</p>
|
||||
<p>در انتظار تکمیل نظر سنجی</p>
|
||||
</div>
|
||||
</a>
|
||||
{% endwith %}
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
<a {% if perms.admin_panel.ViewStore %}href="{% url 'admin_panel:entezar' %}"{% endif %}>
|
||||
<div class="boxIndex01 {% if url_name == 'entezar' %}has-background-danger{% else %}has-background-info{% endif %} has-text-white">
|
||||
<p class="ss02 ">{{ entezarbazdid }}</p>
|
||||
<p class="ss02 ">9 ماه از آخرین بازدید گذشته</p>
|
||||
</div>
|
||||
</a>
|
||||
{% endwith %}
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
<a {% if perms.admin_panel.ViewStore %}href="{% url 'admin_panel:ActionListUserToday' request.user.id %}"{% endif %}>
|
||||
<div class="boxIndex01 has-background-info has-text-white">
|
||||
<p class="ss02 ">{{ ActionCount }}</p>
|
||||
<p class="ss02 ">لیست وظایف</p>
|
||||
</div>
|
||||
</a>
|
||||
{% endwith %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% block bodyPage %}
|
||||
{% endblock %}
|
||||
|
||||
</body>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
$.fn.digits = function(){
|
||||
return this.each(function(){
|
||||
$(this).text( $(this).text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") );
|
||||
})
|
||||
}
|
||||
|
||||
$(".toCurrency").digits();
|
||||
|
||||
$("input[type=number]").off('wheel.disableScroll');
|
||||
|
||||
// Check for click events on the navbar burger icon
|
||||
$(".navbar-burger").click(function() {
|
||||
|
||||
// Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu"
|
||||
$(".navbar-burger").toggleClass("is-active");
|
||||
$(".navbar-menu").toggleClass("is-active");
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% block jsEnd %}
|
||||
{% endblock %}
|
||||
</html>
|
||||
@@ -0,0 +1,194 @@
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html dir="rtl">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>فروشگاه تصفیه آب خطیبی</title>
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/bulma.min.css' %}">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/bulma-rtl.min.css' %}">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/DataTables/datatables.min.css' %}"/>
|
||||
<script type="text/javascript" src="{% static 'admin_panel/DataTables/datatables.min.js' %}"></script>
|
||||
|
||||
<script type="text/javascript" src="{% static 'admin_panel/kamadatepicker.min.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'admin_panel/kamadatepicker.holidays.js' %}"></script>
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/kamadatepicker.min.css' %}">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/persian-datepicker.min.css' %}">
|
||||
<script type="text/javascript" src="{% static 'admin_panel/persian-date.min.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'admin_panel/persian-datepicker.min.js' %}"></script>
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/style.css' %}">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar is-primary is-fixed-top" role="navigation" aria-label="main navigation">
|
||||
<div class="navbar-brand">
|
||||
<a class="navbar-item" href="#">
|
||||
<span class="is-hidden-desktop">
|
||||
{{ user.first_name }} {{ user.last_name }}
|
||||
</span>
|
||||
</a>
|
||||
|
||||
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="navbarBasicExample" class="navbar-menu">
|
||||
<div class="navbar-start mr-0">
|
||||
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
<a href="{% url 'admin_panel:index' %}" class="navbar-item">
|
||||
اصلی
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
{% if not perms.admin_panel.ViewStore %}
|
||||
<a href="{% url 'admin_panel:ActionListUserToday' request.user.id %}" class="navbar-item">
|
||||
اصلی
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
<a href="{% url 'admin_panel:ActionListUserToday' request.user.id %}" class="navbar-item">
|
||||
لیست وظایف
|
||||
</a>
|
||||
|
||||
{% if perms.admin_panel.ViewCustomer %}
|
||||
<a href="{% url 'admin_panel:customers' %}" class="navbar-item">
|
||||
مشتریان
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<a href="{% url 'admin_panel:stores' %}" class="navbar-item">
|
||||
انبار
|
||||
</a>
|
||||
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
<a href="{% url 'admin_panel:hesabdari' %}" class="navbar-item">
|
||||
سررسید شده
|
||||
</a>
|
||||
|
||||
<a href="{% url 'admin_panel:hesabdari_residnashone' %}" class="navbar-item">
|
||||
سررسید نشده
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
|
||||
|
||||
<a class="navbar-item">
|
||||
کاربران
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="navbar-end ml-0">
|
||||
<div class="navbar-item">
|
||||
<span class="ml-2">{{ user.first_name }} {{ user.last_name }}</span>
|
||||
<div class="buttons">
|
||||
|
||||
<a href="{% url 'admin_panel:p_logout' %}" class="button is-light">
|
||||
خروج
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0 mt-6 pt-3 is-centered pb0Nested">
|
||||
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
<a {% if perms.admin_panel.ViewStore %} href="{% url 'admin_panel:bedehi' %}" {% endif %}>
|
||||
<div class="boxIndex01 {% if url_name == 'bedehi' %}has-background-danger{% else %}has-background-info{% endif %} has-text-white ">
|
||||
<p class="toCurrency ss02 ">{% if mandehesab %} {{ mandehesab }} {% endif %}</p>
|
||||
<p>جمع کل بدهی مشتریان</p>
|
||||
</div>
|
||||
</a>
|
||||
{% endwith %}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
<a href="{% url 'admin_panel:customers' %}">
|
||||
<div class="boxIndex01 {% if url_name == 'customers' %}has-background-danger{% else %}has-background-info{% endif %} has-text-white">
|
||||
<p class="toCurrency ss02 ">{{ countCustomers }}</p>
|
||||
<p>تعدادکل مشتریان</p>
|
||||
</div>
|
||||
</a>
|
||||
{% endwith %}
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
<a {% if perms.admin_panel.ViewStore %}href="{% url 'admin_panel:rezayat' %}"{% endif %}>
|
||||
<div class="boxIndex01 {% if url_name == 'rezayat' %}has-background-danger{% else %}has-background-info{% endif %} has-background-info has-text-white">
|
||||
<p class="ss02 ">{{ rezayatCount }}</p>
|
||||
<p>در انتظار تکمیل نظر سنجی</p>
|
||||
</div>
|
||||
</a>
|
||||
{% endwith %}
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
<a {% if perms.admin_panel.ViewStore %}href="{% url 'admin_panel:entezar' %}"{% endif %}>
|
||||
<div class="boxIndex01 {% if url_name == 'entezar' %}has-background-danger{% else %}has-background-info{% endif %} has-text-white">
|
||||
<p class="ss02 ">193</p>
|
||||
<p class="ss02 ">6 ماه از آخرین بازدید گذشته</p>
|
||||
</div>
|
||||
</a>
|
||||
{% endwith %}
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
<a {% if perms.admin_panel.ViewStore %}href="{% url 'admin_panel:ActionListUserToday' request.user.id %}"{% endif %}>
|
||||
<div class="boxIndex01 has-background-info has-text-white">
|
||||
<p class="ss02 ">{{ ActionCount }}</p>
|
||||
<p class="ss02 ">لیست وظایف</p>
|
||||
</div>
|
||||
</a>
|
||||
{% endwith %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% block bodyPage %}
|
||||
{% endblock %}
|
||||
|
||||
</body>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
$.fn.digits = function(){
|
||||
return this.each(function(){
|
||||
$(this).text( $(this).text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,") );
|
||||
})
|
||||
}
|
||||
|
||||
$(".toCurrency").digits();
|
||||
|
||||
$("input[type=number]").off('wheel.disableScroll');
|
||||
|
||||
// Check for click events on the navbar burger icon
|
||||
$(".navbar-burger").click(function() {
|
||||
|
||||
// Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu"
|
||||
$(".navbar-burger").toggleClass("is-active");
|
||||
$(".navbar-menu").toggleClass("is-active");
|
||||
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% block jsEnd %}
|
||||
{% endblock %}
|
||||
</html>
|
||||
@@ -0,0 +1,237 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
|
||||
{% block bodyPage %}
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12-mobile is-4-desktop">
|
||||
|
||||
<form action="{% url 'admin_panel:productAdd' %}" id="formcsEdit" class="has-background-white brad5" method="post">
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
{% csrf_token %}
|
||||
|
||||
<div class="buttons m-0 level p-2 is-hidden-tablet">
|
||||
<p class="level-item">ایجاد محصول</p>
|
||||
<span id="showUserDT" class="button level-item">جدید</span>
|
||||
</div>
|
||||
|
||||
<div id="userDT" class="is-hidden-mobile">
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">نام کالا</label>
|
||||
<div class="control">
|
||||
<input required value="" name="namePrd" class="input an_name" type="text" placeholder="نام محصول">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">دسته کالا</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select is-fullwidth">
|
||||
<select name="category" required>
|
||||
<option value=""></option>
|
||||
{% for catg in productCategory %}
|
||||
<option value="{{ catg.id }}">{{ catg.category_name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">قیمت کالا</label>
|
||||
<div class="control">
|
||||
<input required value="" name="price" class="input an_name" type="text" placeholder="قیمت">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">انبار</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select is-fullwidth">
|
||||
<select name="storeroom" required>
|
||||
<option value="{{ s_id }}">انبار فعلی</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">موجودی اولیه</label>
|
||||
<div class="control">
|
||||
<input required value="0" name="mojodiAval" class="input an_name" type="text" placeholder="موجودی فعلی">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<!--<span class="button is-success" id="enEdit">ویرایش</span>!-->
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
{% if url_name != 'store' %}
|
||||
<p>ایجاد محصول فقط در انبار اصلی امکان پذیر است</p>
|
||||
{% endif %}
|
||||
<input {% if url_name != 'store' %}disabled{% endif %} class="button is-danger " id="editCs" value="ایجاد محصول" type="submit">
|
||||
{% endwith %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="column is-12-mobile is-8-desktop">
|
||||
<div class="has-background-white brad5">
|
||||
<!--
|
||||
<div class="tabs is-centered m-0">
|
||||
<ul>
|
||||
<li ><a>وضعیت</a></li>
|
||||
<li class="is-active"><a>فاکتورها</a></li>
|
||||
<li><a>بازدید ها</a></li>
|
||||
</ul>
|
||||
</div> !-->
|
||||
|
||||
|
||||
<div id="storeData" class="column is-vcentered is-centered pt-0 is-12-mobile is-12-desktop">
|
||||
<div class="tabs is-centered m-0">
|
||||
<ul>
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
<li class="{% if url_name == 'store' %}is-active{% endif %}"><a href="{% url 'admin_panel:store' s_id %}">موجودی</a></li>
|
||||
|
||||
<li class="{% if url_name == 'operations' %}is-active{% endif %}"><a href="{% url 'admin_panel:operations' s_id %}">دفترعملیات</a></li>
|
||||
|
||||
{% endwith %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{% block storeBody %}
|
||||
|
||||
<p class="has-text-centered mt-2 mb-2 is-size-5 ">{{ storeO.store_name }}</p>
|
||||
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>نام محصول</th>
|
||||
<th>ورود</th>
|
||||
<th>خروج</th>
|
||||
<th>توضیحات</th>
|
||||
<th>ناریخ</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>نام محصول</th>
|
||||
<th>ورود</th>
|
||||
<th>خروج</th>
|
||||
<th>توضیحات</th>
|
||||
<th>ناریخ</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
{% for operation in operationsList %}
|
||||
<tr>
|
||||
<td>{{ operation.Product.product_name }} </td>
|
||||
<td>{{ operation.s_in }}</td>
|
||||
<td>{{ operation.s_out }}</td>
|
||||
<td>{{ operation.desc }}</td>
|
||||
<td>{{ operation.createdDT | toJalali }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
kamaDatepicker('persianDateP', { buttonsColor: "red", forceFarsiDigits: true });
|
||||
|
||||
|
||||
$("#enEdit").click(function(){
|
||||
$("#formcsEdit").find("input").prop('disabled', false);
|
||||
$("#enEdit").addClass("is-hidden");
|
||||
$("#editCs").removeClass("is-hidden");
|
||||
});
|
||||
|
||||
$("#showUserDT").click(function(){
|
||||
if( $(this).html()=='جدید' ){
|
||||
$(this).html('مخفی کردن');
|
||||
$("#userDT").removeClass("is-hidden-mobile");
|
||||
}else{
|
||||
$(this).html('جدید');
|
||||
$("#userDT").addClass("is-hidden-mobile");
|
||||
}
|
||||
|
||||
});
|
||||
$(".closeSearch").click(function(){
|
||||
$(".SearchBox").removeClass("is-active")
|
||||
});
|
||||
$(".closeAddUser").click(function(){
|
||||
$(".addNewUser").removeClass("is-active");
|
||||
$(".addNewUser").find('.an_name').val('');
|
||||
$(".addNewUser").find('.an_address').val('');
|
||||
$(".addNewUser").find('#phone-1').val('');
|
||||
$(".addNewUser").find('#phone-2').val('');
|
||||
$(".addNewUser").find('#phone-3').val('');
|
||||
$(".addNewUser").find('.installDate').val('');
|
||||
});
|
||||
|
||||
$(".openRow").click(function(){
|
||||
var id = $(this).parent().parent().find('.fid').val().trim();
|
||||
var name = $(this).parent().parent().find('.name').text().trim();
|
||||
var lastview = $(this).parent().parent().find('.lastview').text().trim();
|
||||
var installDate = $(this).parent().parent().find('.installDate').text().trim();
|
||||
var mobile_1 = $(this).parent().parent().find('.mobile_1').text().trim();
|
||||
var mobile_2 = $(this).parent().parent().find('.mobile_2').text().trim();
|
||||
var mobile_3 = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
var idCode = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
|
||||
var address = $(this).parent().parent().find('.address').text().trim();
|
||||
//alert(id)
|
||||
$(".mEdit1").find('.fid').val(id);
|
||||
$(".mEdit1").find('.uv_name').val(name);
|
||||
$(".mEdit1").find('.uv_installDate').val(installDate);
|
||||
$(".mEdit1").find('#phone-1').val(mobile_1);
|
||||
$(".mEdit1").find('#phone-2').val(mobile_2);
|
||||
$(".mEdit1").find('#phone-3').val(mobile_3);
|
||||
$(".mEdit1").find('.uv_address').val(address);
|
||||
|
||||
//$("#bedehiStatus").val('وضعیت')
|
||||
|
||||
$(".mEdit1").addClass("is-active")
|
||||
});
|
||||
$("#addNewUser").click(function(){
|
||||
$(".addNewUser").addClass("is-active")
|
||||
});
|
||||
$("#openSearchBox").click(function(){
|
||||
$(".SearchBox").addClass("is-active")
|
||||
});
|
||||
$("#bedehiCN01").click(function(){
|
||||
var factorId = $(this).parent().parent().find(".fid").val();
|
||||
if ($("#bedehiStatus").val() == "tasfiye"){
|
||||
alert("send To server to tasfiye");
|
||||
$("tbody").find('.fidv-'+factorId).parent().parent().remove();
|
||||
$(".mEdit1").removeClass("is-active");
|
||||
}
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,96 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
|
||||
{% if perms.admin_panel.ViewReportMali %}
|
||||
{% block bodyPage %}
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12">
|
||||
<div class="buttons">
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
<a href="{% url 'admin_panel:bedehi' %}" class="button is-info {% if url_name == 'bedehi' %}is-active{% else %}is-outlined{% endif %} is-rounded mr-0">همه</a>
|
||||
<a href="{% url 'admin_panel:bedehiKhadamat' %}" class="button is-info {% if url_name == 'bedehiKhadamat' %}is-active{% else %}is-outlined{% endif %} is-rounded mr-0">خدمات</a>
|
||||
<a href="{% url 'admin_panel:bedehiNasb' %}" class="button is-info {% if url_name == 'bedehiNasb' %}is-active{% else %}is-outlined{% endif %} is-rounded mr-0">نصب</a>
|
||||
{% endwith %}
|
||||
</div>
|
||||
|
||||
<p class="has-text-centered">
|
||||
<span>مانده:</span>
|
||||
<span class="toCurrency">{{ mandehesabKP }}</span>
|
||||
</p>
|
||||
|
||||
<div class="table-container column is-12-desktop is-12-mobile m-0">
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width: 80px;">بدهکار</th>
|
||||
<th style="min-width: 80px;">بستانکار</th>
|
||||
<th style="min-width: 80px;">نام</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 40px;">تاریخ</th>
|
||||
<th style="min-width: 60px;">نوع</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th class="toCurrency" style="min-width: 80px;">بدهکار</th>
|
||||
<th class="toCurrency" style="min-width: 80px;">بستانکار</th>
|
||||
<th style="min-width: 80px;">نام</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 40px;">تاریخ</th>
|
||||
<th style="min-width: 60px;">نوع</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody id="listPrds">
|
||||
|
||||
{% for articl in articls %}
|
||||
<tr class="IteamPrd">
|
||||
<td>
|
||||
<span class="bedehkar toCurrency">{{ articl.debit }}</span>
|
||||
<span class=" is-hidden"></span>
|
||||
</td>
|
||||
<td class="bestankar toCurrency">{{ articl.credit }}</td>
|
||||
<td class="name">
|
||||
<a target="_blank" href="{% url 'admin_panel:customer' articl.customer.id %}">
|
||||
{{ articl.customer.name_family }}
|
||||
</a>
|
||||
</td>
|
||||
<td class="desc">{{ articl.desc }} {% if articl.nahvePardakht %} | {{ articl.nahvePardakht }} {% endif %}</td>
|
||||
<td class="action" >{{ articl.createdDT | toJalali }}</td>
|
||||
<td class="action" >{% if articl.typePy == 'khadamat' %}خدمات{% elif articl.typePy == 'nasb' %}نصب{% endif %}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p>
|
||||
صفحه
|
||||
{{ articls.number }}
|
||||
از
|
||||
{{ articls.paginator.num_pages }}
|
||||
|
||||
{% if articls.has_previous %}
|
||||
<a class="button" href="?page=1">« صفحه اول </a>
|
||||
<a class="button" href="?page={{ articls.previous_page_number }}">صفحه قبل</a>
|
||||
{% endif %}
|
||||
|
||||
{% if articls.has_next %}
|
||||
<a class="button" href="?page={{ articls.next_page_number }}">صفحه بعد</a>
|
||||
<a class="button" href="?page={{ articls.paginator.num_pages }}"> صفحه آخر »</a>
|
||||
{% endif %}
|
||||
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
} );
|
||||
</script>
|
||||
{% endblock %}
|
||||
{% endif %}
|
||||
@@ -0,0 +1,288 @@
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html dir="rtl">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Hello Bulma!</title>
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/bulma.min.css' %}">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/bulma-rtl.min.css' %}">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/DataTables/datatables.min.css' %}"/>
|
||||
<script type="text/javascript" src="{% static 'admin_panel/DataTables/datatables.min.js' %}"></script>
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/style.css' %}">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar is-primary is-fixed-top" role="navigation" aria-label="main navigation">
|
||||
<div class="navbar-brand">
|
||||
<a class="navbar-item" href="https://bulma.io">
|
||||
<img src="./images/bulma-logo.png" width="112" height="28">
|
||||
</a>
|
||||
|
||||
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="navbarBasicExample" class="navbar-menu">
|
||||
<div class="navbar-start mr-0">
|
||||
<a class="navbar-item">
|
||||
اصلی
|
||||
</a>
|
||||
|
||||
<a href="{% url 'admin_panel:customers' %}" class="navbar-item">
|
||||
مشتریان
|
||||
</a>
|
||||
|
||||
<a class="navbar-item">
|
||||
انبار
|
||||
</a>
|
||||
|
||||
<a class="navbar-item">
|
||||
کاربران
|
||||
</a>
|
||||
|
||||
<a class="navbar-item">
|
||||
کاربران
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="navbar-end ml-0">
|
||||
<div class="navbar-item">
|
||||
<div class="buttons">
|
||||
<a class="button is-primary">
|
||||
<strong>Sign up</strong>
|
||||
</a>
|
||||
<a class="button is-light">
|
||||
Log in
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0 mt-6 pt-3 is-centered pb0Nested">
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-danger has-text-white ">
|
||||
<p>253.000.000</p>
|
||||
<p>بدهی سر رسید شده</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-info has-text-white">
|
||||
<p>4589</p>
|
||||
<p>تعدادکل مشتریان</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-info has-text-white">
|
||||
<p>12</p>
|
||||
<p>در انتظار تکمیل رضایتمندی</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-info has-text-white">
|
||||
<p>193</p>
|
||||
<p>6 ماه از آخرین بازدید گذشته</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-info has-text-white">
|
||||
<p>23</p>
|
||||
<p>صف بازدید</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="columns m-0">
|
||||
|
||||
<div class="column is-12">
|
||||
<div class="buttons">
|
||||
<a href="#" class="button is-info is-active is-rounded mr-0">همه</a>
|
||||
<a href="#" class="button is-info is-outlined is-rounded mr-0">خدمات</a>
|
||||
<a href="#" class="button is-info is-outlined is-rounded mr-0">نصب</a>
|
||||
</div>
|
||||
<div class="table-container">
|
||||
<table class="table has-text-centered is-bordered is-striped is-narrow is-hoverable is-fullwidth">
|
||||
<!-- Your table content -->
|
||||
<thead>
|
||||
<tr style="
|
||||
background: #33b5d3;
|
||||
">
|
||||
<th >ردیف</th>
|
||||
<th style="min-width: 200px;">نام و نام خانودگی</th>
|
||||
<th >مبلغ</th>
|
||||
<th style="min-width: 150px;">تاریخ سررسید</th>
|
||||
<th >تلفن</th>
|
||||
<th style="min-width: 400px;">آدرس</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>
|
||||
<input class="is-hidden fid fidv-55" value="55">
|
||||
<div class="tdvl openRow name">
|
||||
محمد جواد فصاحت
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl price">
|
||||
523.000.000
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl date">
|
||||
1400/03/05
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl mobile">
|
||||
09202202129
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl address">
|
||||
گلپایگان، بلوار شهید سلیمانی
|
||||
15445 548845 48748514 8845
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>
|
||||
<input class="is-hidden fid fidv-20" value="20">
|
||||
<div class="tdvl openRow name">
|
||||
فرشته یاوری
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl price">
|
||||
73.000.000
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl date">
|
||||
1400/01/09
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl mobile">
|
||||
09384999655
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl address">
|
||||
تست
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal mEdit1">
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-content">
|
||||
<div class="columns is-mobile is-multiline">
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نام ونام خانوادگی</label>
|
||||
<div class="control">
|
||||
<input class="is-hidden fid" value="">
|
||||
<input class="input name" value="محمد جواد فصاحت" type="text" placeholder="Text input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">مبلغ</label>
|
||||
<div class="control">
|
||||
<input class="input price" value="539.000.000" type="text" placeholder="Text input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ سررسید</label>
|
||||
<div class="control">
|
||||
<input class="input date" value="539.000.000" type="text" placeholder="Text input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<a href="#">مشاهده فاکتور</a>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<div class="select is-rounded">
|
||||
<select id="bedehiStatus">
|
||||
<option>وضعیت</option>
|
||||
<option value="tasfiye">تسویه حساب</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<input class="button is-success" id="bedehiCN01" value="ثبت" type="submit">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<button class="modal-close is-large" aria-label="close"></button>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#example').DataTable( {
|
||||
responsive: true,
|
||||
"language": {
|
||||
"url": "//cdn.datatables.net/plug-ins/1.11.3/i18n/fa.json"
|
||||
}
|
||||
} );
|
||||
$(".modal-close, .modal-background").click(function(){
|
||||
$(".mEdit1").removeClass("is-active")
|
||||
});
|
||||
$(".openRow").click(function(){
|
||||
var id = $(this).parent().parent().find('.fid').val().trim();
|
||||
var name = $(this).parent().parent().find('.name').text().trim();
|
||||
var price = $(this).parent().parent().find('.price').text().trim();
|
||||
var date = $(this).parent().parent().find('.date').text().trim();
|
||||
var mobile = $(this).parent().parent().find('.mobile').text().trim();
|
||||
var address = $(this).parent().parent().find('.address').text().trim();
|
||||
|
||||
//alert(id)
|
||||
$(".modal-content").find('.fid').val(id);
|
||||
$(".modal-content").find('.name').val(name);
|
||||
$(".modal-content").find('.date').val(date);
|
||||
$(".modal-content").find('.price').val(price);
|
||||
|
||||
$("#bedehiStatus").val('وضعیت')
|
||||
|
||||
$(".mEdit1").addClass("is-active")
|
||||
});
|
||||
$("#bedehiCN01").click(function(){
|
||||
var factorId = $(this).parent().parent().find(".fid").val();
|
||||
if ($("#bedehiStatus").val() == "tasfiye"){
|
||||
alert("send To server to tasfiye");
|
||||
$("tbody").find('.fidv-'+factorId).parent().parent().remove();
|
||||
$(".mEdit1").removeClass("is-active");
|
||||
}
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
</html>
|
||||
@@ -0,0 +1,343 @@
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
<div id="action" class="column is-12-mobile {% if url_name == 'customerAction' %}is-12-desktop{% else %} is-12-desktop {% endif %}">
|
||||
{% endwith %}
|
||||
|
||||
{% if customer %}
|
||||
<!--<span id="showActionBox" class="button is-info mb-5">ایجاد وظیفه جدید</span>!-->
|
||||
{% endif %}
|
||||
{% for action in actions %}
|
||||
<div customer_id='{{ action.customer.id }}' action_id='{{ action.id }}' class="columns is-mobile is-multiline is-gapless actionBox {{ bgBox }}">
|
||||
<div class="column is-12-mobile is-12-desktop actionBoxDesc ">
|
||||
<div class="pr-4 pl-4 pb-4 pt-4">
|
||||
{% ifequal action.status 'finish' %}
|
||||
<img class="" style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/check.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
{% ifequal action.status 'waite' %}
|
||||
<img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/time1.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
{% ifequal action.status 'cancell' %}
|
||||
<img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/cancell.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
<span class="is-bazdid">{% ifequal action.actionType 'nasb' %}نصب{% endifequal %}{% ifequal action.actionType 'bazdid' %}بازدید{% endifequal %}{% ifequal action.actionType 'vosol' %}وصول مطالبات{% endifequal %}{% ifequal action.actionType 'hamahangi' %}هماهنگی{% endifequal %}{% ifequal action.actionType 'inCall' %}تماس ورودی{% endifequal %}{% ifequal action.actionType 'outCall' %}تماس خروجی{% endifequal %}</span>
|
||||
<span class="pr-3">{{ action.desc }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12-mobile is-12-desktop ">
|
||||
<div class="pr-4 pl-4 pb-4 pt-4 actionBoxBorder">
|
||||
<span class="is-result">نتیجه</span>
|
||||
<span>{% if action.result %} {{ action.result }} {% else %}هنوز گزارش یا نتیجه ای ثبت نشده!{% endif %}</span>
|
||||
</div>
|
||||
|
||||
<div class="pr-4 pl-4 pb-4 pt-4 ">
|
||||
<span class="is-result" style="background-color: #fff;">نظر مشتری:</span>
|
||||
<span>{% if action.nazar %} {{ action.nazar }} {% else %}هنوز گزارش یا نتیجه ای ثبت نشده!{% endif %}</span>
|
||||
</div>
|
||||
|
||||
<div class="pr-4 pl-4 pb-4 pt-4 actionBoxBorder">
|
||||
<span >امتیاز :</span>
|
||||
<span>{% if action.grade %} {{ action.grade }} {% else %}{% endif %}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="column is-4-mobile is-4-desktop">
|
||||
<div class="has-text-centered p-3">
|
||||
<span class="ss02">{{ action.actionDateTime | toJalali }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="column is-8-mobile is-4-desktop">
|
||||
<div class="has-text-centered actionBoxFtBox p-3">
|
||||
<a href="{% url 'admin_panel:customerNew' action.customer.id %}">
|
||||
<span>{{ action.customer.name_family }}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12-mobile is-4-desktop is-hidden-mobile">
|
||||
<div class="has-text-centered p-3">
|
||||
<span>{{ action.forUser.first_name }} {{ action.forUser.last_name }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% if actionPr %}
|
||||
<hr>
|
||||
<p style="
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
color: #d90000;
|
||||
font-size: 18px;
|
||||
"> کارهای مانده از روزهای قبل</p>
|
||||
|
||||
{% for action in actionPr %}
|
||||
<div customer_id='{{ action.customer.id }}' action_id='{{ action.id }}' class="columns is-mobile is-multiline is-gapless actionBox {{ bgBox }}">
|
||||
<div class="column is-12-mobile is-12-desktop actionBoxDesc actionBoxOpenB">
|
||||
<div class="pr-4 pl-4 pb-4 pt-4">
|
||||
{% ifequal action.status 'finish' %}
|
||||
<img class="" style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/check.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
{% ifequal action.status 'waite' %}
|
||||
<img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/time1.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
{% ifequal action.status 'cancell' %}
|
||||
<img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/cancell.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
<span class="is-bazdid">{% ifequal action.actionType 'nasb' %}نصب{% endifequal %}{% ifequal action.actionType 'bazdid' %}بازدید{% endifequal %}{% ifequal action.actionType 'vosol' %}وصول مطالبات{% endifequal %}{% ifequal action.actionType 'hamahangi' %}هماهنگی{% endifequal %}{% ifequal action.actionType 'inCall' %}تماس ورودی{% endifequal %}{% ifequal action.actionType 'outCall' %}تماس خروجی{% endifequal %}</span>
|
||||
<span class="pr-3">{{ action.desc }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12-mobile is-12-desktop actionBoxOpenB">
|
||||
<div class="pr-4 pl-4 pb-4 pt-4 actionBoxBorder">
|
||||
<span class="is-result">نتیجه</span>
|
||||
<span>{% if action.result %} {{ action.result }} {% else %}هنوز گزارش یا نتیجه ای ثبت نشده!{% endif %}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="column is-4-mobile is-4-desktop">
|
||||
<div class="has-text-centered p-3">
|
||||
<span class="ss02">{{ action.actionDateTime | toJalali }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="column is-8-mobile is-4-desktop">
|
||||
<div class="has-text-centered actionBoxFtBox p-3">
|
||||
<a href="{% url 'admin_panel:customerNew' action.customer.id %}">
|
||||
<span>{{ action.customer.name_family }}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12-mobile is-4-desktop is-hidden-mobile">
|
||||
<div class="has-text-centered p-3">
|
||||
<span>{{ action.forUser.first_name }} {{ action.forUser.last_name }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
{% if customer %}
|
||||
<form id="ActionBox" class="modal" method="post" action="{% url 'admin_panel:customerNewAction' customer.id %}">
|
||||
{% else %}
|
||||
<form id="ActionBox" class="modal" method="post" action="">
|
||||
{% endif %}
|
||||
|
||||
{% csrf_token %}
|
||||
<div class="modal-background closeActionBox"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title is-hidden">ایجاد وظیفه</p>
|
||||
<button class="delete closeActionBox" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
|
||||
<div class="columns is-mobile is-multiline">
|
||||
<div class="field column is-6-desktop is-12-mobile m-0">
|
||||
<label class="label">نوع اقدام</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="actionType" required name="actionType" style="width: 100%;">
|
||||
<option>انتخاب کنید</option>
|
||||
<option value="bazdid">بازدید</option>
|
||||
<option value="nasb">نصب</option>
|
||||
<option value="vosol">وصول مطالبات</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-6-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ و ساعتی که کار باید انجام شود</label>
|
||||
<div class="control">
|
||||
<input type="text" class="input dateTimePickerAnjam">
|
||||
<input id="dateTimeAnjam" name="dateTimeAnjam" required type="text" class="input is-hidden dateTimePickerAnjam-alt">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<div class="control">
|
||||
<label class="label mb-0">توضیحات برای یادآوری حین انجام کار:</label>
|
||||
<p class="is-size-7 ">راجب کاری که در آینده میخواهید انجام دهید توضیحاتی را بنویسید</p>
|
||||
<textarea id="desc" required name="desc" class="textarea " placeholder="مثلا: بامشتری تماس بگیرم برای هماهنگی تعویض فیلتر دستگاه"></textarea>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-6-desktop is-12-mobile m-0">
|
||||
<label class="label">توسط</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="userID" required name="userID" style="width: 100%;">
|
||||
<option>انتخاب کنید</option>
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
{% for auser in allUsers %}
|
||||
<option value="{{ auser.id }}">{{ auser.first_name }} {{ auser.last_name }}</option>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<option value="{{ request.user.id }}">{{ request.user.first_name }} {{ request.user.last_name }}</option>
|
||||
{% endif %}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<div class="control">
|
||||
|
||||
<label class="checkbox">
|
||||
<input name="is_done" id="checkIsDone" type="checkbox">
|
||||
این کار انجام شده
|
||||
</label>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0 showWhenDone is-hidden">
|
||||
<label class="label">تاریخ و ساعت اتمام کار</label>
|
||||
<div class="control">
|
||||
<input id="FinishDateTime" type="text" class="input dateTimePickerFinish">
|
||||
<input name="FinishDateTime" type="text" class="input dateTimePickerFinish-alt is-hidden">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0 showWhenDone is-hidden">
|
||||
<div class="control">
|
||||
<label class="label mb-0">نتیجه</label>
|
||||
<p class="is-size-7 " >نتیجه کار یا پیگیری که انجام داده اید را بنویسید</p>
|
||||
<textarea name="result" id="actionResult" class="textarea" placeholder="نتیجه فعالیت انجام شده را بنویسید"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<span class="button">حذف</span>
|
||||
<span class="button">لغو</span>
|
||||
<!--
|
||||
<button class="button closeActionBox">بستن</button>!-->
|
||||
<input id="sabtBtn05" type="submit" class="button is-success" value="ثبت"/>
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
<script>
|
||||
$(".closeActionBox").click(function(){
|
||||
$("#ActionBox").removeClass("is-active");
|
||||
});
|
||||
|
||||
$("#showActionBox").click(function(){
|
||||
$("#ActionBox").addClass("is-active");
|
||||
{% if customer %}
|
||||
var NewActionUrl ="{% url 'admin_panel:customerNewAction' customer.id %}";
|
||||
$("#ActionBox").prop("action", NewActionUrl);
|
||||
{% endif %}
|
||||
$("#actionType").val('');
|
||||
$("#desc").val('');
|
||||
$("#userID").val('');
|
||||
$("#checkIsDone").prop('checked', false);
|
||||
$(".showWhenDone").addClass("is-hidden");
|
||||
$("#actionResult").val('');
|
||||
dateTimePickerAnjam.setDate();
|
||||
dateTimePickerFinish.setDate();
|
||||
$("#sabtBtn05").val("ثبت");
|
||||
});
|
||||
|
||||
$("#checkIsDone").change(function() {
|
||||
if(this.checked) {
|
||||
$(".showWhenDone").removeClass("is-hidden");
|
||||
}else{
|
||||
$(".showWhenDone").addClass("is-hidden");
|
||||
}
|
||||
});
|
||||
|
||||
$(".actionBoxOpenB").click(function(){
|
||||
$("#sabtBtn05").val("ویرایش");
|
||||
var actionEditUrl = "{% url 'admin_panel:customerEditAction' 1111 2222 %}";
|
||||
var action_id = $(this).parent().attr("action_id");
|
||||
var customer_id = $(this).parent().attr("customer_id");
|
||||
actionEditUrl = actionEditUrl.replace('1111', customer_id);
|
||||
actionEditUrl = actionEditUrl.replace('2222', action_id);
|
||||
$("#ActionBox").prop("action", actionEditUrl);
|
||||
$.getJSON('/panel/ActionJson/'+action_id, function(data) {
|
||||
ActionParseData = JSON.parse(data);
|
||||
console.log(ActionParseData)
|
||||
var actionDateTime0 = new Date(ActionParseData[0]['fields']['actionDateTime']);
|
||||
var finishDateTime = null;
|
||||
if(ActionParseData[0]['fields']['finishDateTime'] != null){
|
||||
finishDateTime = Math.floor( new Date(ActionParseData[0]['fields']['finishDateTime']).getTime() );
|
||||
}
|
||||
actionDateTime0 = Math.floor(actionDateTime0.getTime());
|
||||
dateTimePickerAnjam.setDate(actionDateTime0);
|
||||
if(finishDateTime != null){
|
||||
dateTimePickerFinish.setDate(finishDateTime);
|
||||
}
|
||||
$("#ActionBox").addClass("is-active");
|
||||
$("#actionType").val(ActionParseData[0]['fields']['actionType']);
|
||||
$("#desc").val(ActionParseData[0]['fields']['desc']);
|
||||
$("#userID").val(ActionParseData[0]['fields']['forUser']);
|
||||
if(ActionParseData[0]['fields']['status'] == 'finish'){
|
||||
$("#checkIsDone").prop('checked', true);
|
||||
$(".showWhenDone").removeClass("is-hidden");
|
||||
}else{
|
||||
$("#checkIsDone").prop('checked', false);
|
||||
$(".showWhenDone").addClass("is-hidden");
|
||||
}
|
||||
$("#actionResult").val(ActionParseData[0]['fields']['result']);
|
||||
});
|
||||
});
|
||||
|
||||
var dateTimePickerFinish = $(".dateTimePickerFinish").pDatepicker({
|
||||
altField: '.dateTimePickerFinish-alt',
|
||||
initialValue: true,
|
||||
initialValueType: 'persian',
|
||||
format: 'YYYY/MM/DD HH:mm',
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
timePicker: {
|
||||
enabled: true,
|
||||
second:{
|
||||
enabled: false,
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
var dateTimePickerAnjam = $(".dateTimePickerAnjam").pDatepicker({
|
||||
altField: '.dateTimePickerAnjam-alt',
|
||||
initialValue: true,
|
||||
initialValueType: 'persian',
|
||||
format: 'YYYY/MM/DD HH:mm',
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
timePicker: {
|
||||
enabled: true,
|
||||
second:{
|
||||
enabled: false,
|
||||
}
|
||||
},
|
||||
})
|
||||
//.setDate(1382976091100);
|
||||
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1,7 @@
|
||||
{% extends "../customerBaseNew.html" %}
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
|
||||
{% block BodyCustomer1 %}
|
||||
{% include 'admin_panel/customer/customerNazarInc.html' %}
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,224 @@
|
||||
{% extends "./customerBaseNew.html" %}
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
|
||||
{% block BodyCustomer1 %}
|
||||
|
||||
{% include 'admin_panel/customerActionInc.html' %}
|
||||
|
||||
<!--
|
||||
<div id="action" class="column is-12-mobile is-12-desktop ">
|
||||
|
||||
<span id="showActionBox" class="button is-info mb-5">ایجاد وظیفه جدید</span>
|
||||
{% for action in actions %}
|
||||
<div action_id='10' class="columns is-mobile is-multiline is-gapless actionBox">
|
||||
<div class="column is-12-mobile is-12-desktop actionBoxDesc">
|
||||
<div class="pr-4 pl-4 pb-4 pt-4">
|
||||
{% ifequal action.status 'finish' %}
|
||||
<img class="" style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/check.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
{% ifequal action.status 'waite' %}
|
||||
<img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/time1.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
{% ifequal action.status 'cancell' %}
|
||||
<img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/cancell.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
<span class="is-bazdid">{% ifequal action.actionType 'bazdid' %}بازدید{% endifequal %}{% ifequal action.actionType 'vosol' %}وصول مطالبات{% endifequal %}{% ifequal action.actionType 'hamahangi' %}هماهنگی{% endifequal %}{% ifequal action.actionType 'inCall' %}تماس ورودی{% endifequal %}{% ifequal action.actionType 'outCall' %}تماس خروجی{% endifequal %}</span>
|
||||
<span class="pr-3">{{ action.desc }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12-mobile is-12-desktop">
|
||||
<div class="pr-4 pl-4 pb-4 pt-4 actionBoxBorder">
|
||||
<span class="is-result">نتیجه</span>
|
||||
<span>{% if action.result %} {{ action.result }} {% else %}هنوز گزارش یا نتیجه ای ثبت نشده!{% endif %}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="column is-4-mobile is-4-desktop">
|
||||
<div class="has-text-centered p-3">
|
||||
<span class="ss02">{{ action.actionDateTime | toJalali }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="column is-4-mobile is-4-desktop">
|
||||
<div class="has-text-centered actionBoxFtBox p-3">
|
||||
<a href="{% url 'admin_panel:customerNew' action.customer.id %}">
|
||||
<span>{{ action.customer.name_family }}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-4-mobile is-4-desktop">
|
||||
<div class="has-text-centered p-3">
|
||||
<span>{{ action.forUser.first_name }} {{ action.forUser.last_name }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
|
||||
<form id="ActionBox" class="modal" method="post" action="{% url 'admin_panel:customerNewAction' customer.id %}">
|
||||
{% csrf_token %}
|
||||
<div class="modal-background closeActionBox"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title is-hidden">ایجاد وظیفه</p>
|
||||
<button class="delete closeActionBox" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
|
||||
<div class="columns is-mobile is-multiline">
|
||||
<div class="field column is-6-desktop is-12-mobile m-0">
|
||||
<label class="label">نوع اقدام</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select required name="actionType" style="width: 100%;">
|
||||
<option>انتخاب کنید</option>
|
||||
<option value="bazdid">بازدید</option>
|
||||
<option value="vosol">وصل مطالبات</option>
|
||||
<option value="hamahangi">هماهنگی با مشتری</option>
|
||||
<option value="inCall">تماس ورودی</option>
|
||||
<option value="outCall">تماس خروجی</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-6-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ و ساعت انجام کار</label>
|
||||
<div class="control">
|
||||
<input type="text" class="input dateTimePickerAnjam">
|
||||
<input name="dateTimeAnjam" required type="text" class="input is-hidden dateTimePickerAnjam-alt">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<div class="control">
|
||||
<label class="label mb-0">توضیحات:</label>
|
||||
<p class="is-size-7 ">راجب کاری که میخواهید انجام دهید توضیحاتی را بنویسید</p>
|
||||
<textarea required name="desc" class="textarea " placeholder="مثلا: بامشتری تماس بگیرم برای هماهنگی تعویض فیلتر دستگاه"></textarea>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-6-desktop is-12-mobile m-0">
|
||||
<label class="label">توسط</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select required name="userID" style="width: 100%;">
|
||||
<option>انتخاب کنید</option>
|
||||
{% for auser in allUsers %}
|
||||
<option value="{{ auser.id }}">{{ auser.first_name }} {{ auser.last_name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<div class="control">
|
||||
|
||||
<label class="checkbox">
|
||||
<input name="is_done" id="checkIsDone" type="checkbox">
|
||||
این کار انجام شده
|
||||
</label>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0 showWhenDone is-hidden">
|
||||
<label class="label">تاریخ و ساعت اتمام کار</label>
|
||||
<div class="control">
|
||||
<input id="FinishDateTime" type="text" class="input dateTimePickerFinish">
|
||||
<input name="FinishDateTime" type="text" class="input dateTimePickerFinish-alt is-hidden">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0 showWhenDone is-hidden">
|
||||
<div class="control">
|
||||
<label class="label mb-0">نتیجه</label>
|
||||
<p class="is-size-7 " >نتیجه کار یا پیگیری که انجام داده اید را بنویسید</p>
|
||||
<textarea name="result" id="actionDesc" class="textarea" placeholder="نتیجه فعالیت انجام شده را بنویسید"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<button class="button">حذف</button>
|
||||
<button class="button">لغو</button>
|
||||
<button class="button closeActionBox">بستن</button>
|
||||
<input type="submit" class="button is-success" value="ثبت"/>
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script>
|
||||
$(".closeActionBox").click(function(){
|
||||
$("#ActionBox").removeClass("is-active");
|
||||
});
|
||||
|
||||
$("#showActionBox").click(function(){
|
||||
$("#ActionBox").addClass("is-active");
|
||||
});
|
||||
|
||||
$("#checkIsDone").change(function() {
|
||||
if(this.checked) {
|
||||
$(".showWhenDone").removeClass("is-hidden");
|
||||
}else{
|
||||
$(".showWhenDone").addClass("is-hidden");
|
||||
}
|
||||
});
|
||||
|
||||
$(".dateTimePickerFinish").pDatepicker({
|
||||
altField: '.dateTimePickerFinish-alt',
|
||||
initialValue: true,
|
||||
initialValueType: 'persian',
|
||||
format: 'YYYY/MM/DD HH:mm',
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
timePicker: {
|
||||
enabled: true,
|
||||
second:{
|
||||
enabled: false,
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
$(".dateTimePickerAnjam").pDatepicker({
|
||||
altField: '.dateTimePickerAnjam-alt',
|
||||
initialValue: true,
|
||||
initialValueType: 'persian',
|
||||
format: 'YYYY/MM/DD HH:mm',
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
timePicker: {
|
||||
enabled: true,
|
||||
second:{
|
||||
enabled: false,
|
||||
}
|
||||
},
|
||||
})
|
||||
//.setDate(1382976091100);
|
||||
|
||||
|
||||
</script>
|
||||
!-->
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,335 @@
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
<div id="action" class="column is-12-mobile {% if url_name == 'customerAction' %}is-12-desktop{% else %} is-6-desktop {% endif %}">
|
||||
{% endwith %}
|
||||
|
||||
{% if customer %}
|
||||
<span id="showActionBox" class="button is-info mb-5">ایجاد وظیفه جدید</span>
|
||||
{% endif %}
|
||||
{% for action in actions %}
|
||||
<div customer_id='{{ action.customer.id }}' action_id='{{ action.id }}' class="columns is-mobile is-multiline is-gapless actionBox {{ bgBox }}">
|
||||
<div class="column is-12-mobile is-12-desktop actionBoxDesc actionBoxOpenB">
|
||||
<div class="pr-4 pl-4 pb-4 pt-4">
|
||||
{% ifequal action.status 'finish' %}
|
||||
<img class="" style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/check.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
{% ifequal action.status 'waite' %}
|
||||
<img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/time1.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
{% ifequal action.status 'cancell' %}
|
||||
<img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/cancell.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
<span class="is-bazdid">{% ifequal action.actionType 'nasb' %}نصب{% endifequal %}{% ifequal action.actionType 'bazdid' %}بازدید{% endifequal %}{% ifequal action.actionType 'vosol' %}وصول مطالبات{% endifequal %}{% ifequal action.actionType 'hamahangi' %}هماهنگی{% endifequal %}{% ifequal action.actionType 'inCall' %}تماس ورودی{% endifequal %}{% ifequal action.actionType 'outCall' %}تماس خروجی{% endifequal %}</span>
|
||||
<span class="pr-3">{{ action.desc }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12-mobile is-12-desktop actionBoxOpenB">
|
||||
<div class="pr-4 pl-4 pb-4 pt-4 actionBoxBorder">
|
||||
<span class="is-result">نتیجه</span>
|
||||
<span>{% if action.result %} {{ action.result }} {% else %}هنوز گزارش یا نتیجه ای ثبت نشده!{% endif %}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="column is-4-mobile is-4-desktop">
|
||||
<div class="has-text-centered p-3">
|
||||
<span class="ss02">{{ action.actionDateTime | toJalali }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="column is-8-mobile is-4-desktop">
|
||||
<div class="has-text-centered actionBoxFtBox p-3">
|
||||
<a href="{% url 'admin_panel:customerNew' action.customer.id %}">
|
||||
<span>{{ action.customer.name_family }}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12-mobile is-4-desktop is-hidden-mobile">
|
||||
<div class="has-text-centered p-3">
|
||||
<span>{{ action.forUser.first_name }} {{ action.forUser.last_name }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% if actionPr %}
|
||||
<hr>
|
||||
<p style="
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
color: #d90000;
|
||||
font-size: 18px;
|
||||
"> کارهای مانده از روزهای قبل</p>
|
||||
|
||||
{% for action in actionPr %}
|
||||
<div customer_id='{{ action.customer.id }}' action_id='{{ action.id }}' class="columns is-mobile is-multiline is-gapless actionBox {{ bgBox }}">
|
||||
<div class="column is-12-mobile is-12-desktop actionBoxDesc actionBoxOpenB">
|
||||
<div class="pr-4 pl-4 pb-4 pt-4">
|
||||
{% ifequal action.status 'finish' %}
|
||||
<img class="" style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/check.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
{% ifequal action.status 'waite' %}
|
||||
<img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/time1.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
{% ifequal action.status 'cancell' %}
|
||||
<img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/cancell.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
<span class="is-bazdid">{% ifequal action.actionType 'nasb' %}نصب{% endifequal %}{% ifequal action.actionType 'bazdid' %}بازدید{% endifequal %}{% ifequal action.actionType 'vosol' %}وصول مطالبات{% endifequal %}{% ifequal action.actionType 'hamahangi' %}هماهنگی{% endifequal %}{% ifequal action.actionType 'inCall' %}تماس ورودی{% endifequal %}{% ifequal action.actionType 'outCall' %}تماس خروجی{% endifequal %}</span>
|
||||
<span class="pr-3">{{ action.desc }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12-mobile is-12-desktop actionBoxOpenB">
|
||||
<div class="pr-4 pl-4 pb-4 pt-4 actionBoxBorder">
|
||||
<span class="is-result">نتیجه</span>
|
||||
<span>{% if action.result %} {{ action.result }} {% else %}هنوز گزارش یا نتیجه ای ثبت نشده!{% endif %}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="column is-4-mobile is-4-desktop">
|
||||
<div class="has-text-centered p-3">
|
||||
<span class="ss02">{{ action.actionDateTime | toJalali }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="column is-8-mobile is-4-desktop">
|
||||
<div class="has-text-centered actionBoxFtBox p-3">
|
||||
<a href="{% url 'admin_panel:customerNew' action.customer.id %}">
|
||||
<span>{{ action.customer.name_family }}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12-mobile is-4-desktop is-hidden-mobile">
|
||||
<div class="has-text-centered p-3">
|
||||
<span>{{ action.forUser.first_name }} {{ action.forUser.last_name }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
{% if customer %}
|
||||
<form id="ActionBox" class="modal" method="post" action="{% url 'admin_panel:customerNewAction' customer.id %}">
|
||||
{% else %}
|
||||
<form id="ActionBox" class="modal" method="post" action="">
|
||||
{% endif %}
|
||||
|
||||
{% csrf_token %}
|
||||
<div class="modal-background closeActionBox"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title is-hidden">ایجاد وظیفه</p>
|
||||
<button class="delete closeActionBox" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
|
||||
<div class="columns is-mobile is-multiline">
|
||||
<div class="field column is-6-desktop is-12-mobile m-0">
|
||||
<label class="label">نوع اقدام</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="actionType" required name="actionType" style="width: 100%;">
|
||||
<option>انتخاب کنید</option>
|
||||
<option value="bazdid">بازدید</option>
|
||||
<option value="nasb">نصب</option>
|
||||
<option value="vosol">وصول مطالبات</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-6-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ و ساعتی که کار باید انجام شود</label>
|
||||
<div class="control">
|
||||
<input type="text" class="input dateTimePickerAnjam">
|
||||
<input id="dateTimeAnjam" name="dateTimeAnjam" required type="text" class="input is-hidden dateTimePickerAnjam-alt">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<div class="control">
|
||||
<label class="label mb-0">توضیحات برای یادآوری حین انجام کار:</label>
|
||||
<p class="is-size-7 ">راجب کاری که در آینده میخواهید انجام دهید توضیحاتی را بنویسید</p>
|
||||
<textarea id="desc" required name="desc" class="textarea " placeholder="مثلا: بامشتری تماس بگیرم برای هماهنگی تعویض فیلتر دستگاه"></textarea>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-6-desktop is-12-mobile m-0">
|
||||
<label class="label">توسط</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="userID" required name="userID" style="width: 100%;">
|
||||
<option>انتخاب کنید</option>
|
||||
<!-- perms.admin_panel.ViewStore !-->
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
{% for auser in allUsers %}
|
||||
<option value="{{ auser.id }}">{{ auser.first_name }} {{ auser.last_name }}</option>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<option value="{{ request.user.id }}">{{ request.user.first_name }} {{ request.user.last_name }}</option>
|
||||
<option value="6">خدمات پس از فروش</option>
|
||||
{% endif %}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<div class="control">
|
||||
|
||||
<label class="checkbox">
|
||||
<input name="is_done" id="checkIsDone" type="checkbox">
|
||||
این کار انجام شده
|
||||
</label>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0 showWhenDone is-hidden">
|
||||
<label class="label">تاریخ و ساعت اتمام کار</label>
|
||||
<div class="control">
|
||||
<input id="FinishDateTime" type="text" class="input dateTimePickerFinish">
|
||||
<input name="FinishDateTime" type="text" class="input dateTimePickerFinish-alt is-hidden">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0 showWhenDone is-hidden">
|
||||
<div class="control">
|
||||
<label class="label mb-0">نتیجه</label>
|
||||
<p class="is-size-7 " >نتیجه کار یا پیگیری که انجام داده اید را بنویسید</p>
|
||||
<textarea name="result" id="actionResult" class="textarea" placeholder="نتیجه فعالیت انجام شده را بنویسید"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<span class="button">حذف</span>
|
||||
<span class="button">لغو</span>
|
||||
<!--
|
||||
<button class="button closeActionBox">بستن</button>!-->
|
||||
<input id="sabtBtn05" type="submit" class="button is-success" value="ثبت"/>
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
<script>
|
||||
$(".closeActionBox").click(function(){
|
||||
$("#ActionBox").removeClass("is-active");
|
||||
});
|
||||
|
||||
$("#showActionBox").click(function(){
|
||||
$("#ActionBox").addClass("is-active");
|
||||
{% if customer %}
|
||||
var NewActionUrl ="{% url 'admin_panel:customerNewAction' customer.id %}";
|
||||
$("#ActionBox").prop("action", NewActionUrl);
|
||||
{% endif %}
|
||||
$("#actionType").val('');
|
||||
$("#desc").val('');
|
||||
$("#userID").val('');
|
||||
$("#checkIsDone").prop('checked', false);
|
||||
$(".showWhenDone").addClass("is-hidden");
|
||||
$("#actionResult").val('');
|
||||
dateTimePickerAnjam.setDate();
|
||||
dateTimePickerFinish.setDate();
|
||||
$("#sabtBtn05").val("ثبت");
|
||||
});
|
||||
|
||||
$("#checkIsDone").change(function() {
|
||||
if(this.checked) {
|
||||
$(".showWhenDone").removeClass("is-hidden");
|
||||
}else{
|
||||
$(".showWhenDone").addClass("is-hidden");
|
||||
}
|
||||
});
|
||||
|
||||
$(".actionBoxOpenB").click(function(){
|
||||
$("#sabtBtn05").val("ویرایش");
|
||||
var actionEditUrl = "{% url 'admin_panel:customerEditAction' 1111 2222 %}";
|
||||
var action_id = $(this).parent().attr("action_id");
|
||||
var customer_id = $(this).parent().attr("customer_id");
|
||||
actionEditUrl = actionEditUrl.replace('1111', customer_id);
|
||||
actionEditUrl = actionEditUrl.replace('2222', action_id);
|
||||
$("#ActionBox").prop("action", actionEditUrl);
|
||||
$.getJSON('/panel/ActionJson/'+action_id, function(data) {
|
||||
ActionParseData = JSON.parse(data);
|
||||
console.log(ActionParseData)
|
||||
var actionDateTime0 = new Date(ActionParseData[0]['fields']['actionDateTime']);
|
||||
var finishDateTime = null;
|
||||
if(ActionParseData[0]['fields']['finishDateTime'] != null){
|
||||
finishDateTime = Math.floor( new Date(ActionParseData[0]['fields']['finishDateTime']).getTime() );
|
||||
}
|
||||
actionDateTime0 = Math.floor(actionDateTime0.getTime());
|
||||
dateTimePickerAnjam.setDate(actionDateTime0);
|
||||
if(finishDateTime != null){
|
||||
dateTimePickerFinish.setDate(finishDateTime);
|
||||
}
|
||||
$("#ActionBox").addClass("is-active");
|
||||
$("#actionType").val(ActionParseData[0]['fields']['actionType']);
|
||||
$("#desc").val(ActionParseData[0]['fields']['desc']);
|
||||
$("#userID").val(ActionParseData[0]['fields']['forUser']);
|
||||
if(ActionParseData[0]['fields']['status'] == 'finish'){
|
||||
$("#checkIsDone").prop('checked', true);
|
||||
$(".showWhenDone").removeClass("is-hidden");
|
||||
}else{
|
||||
$("#checkIsDone").prop('checked', false);
|
||||
$(".showWhenDone").addClass("is-hidden");
|
||||
}
|
||||
$("#actionResult").val(ActionParseData[0]['fields']['result']);
|
||||
});
|
||||
});
|
||||
|
||||
var dateTimePickerFinish = $(".dateTimePickerFinish").pDatepicker({
|
||||
altField: '.dateTimePickerFinish-alt',
|
||||
initialValue: true,
|
||||
initialValueType: 'persian',
|
||||
format: 'YYYY/MM/DD HH:mm',
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
timePicker: {
|
||||
enabled: true,
|
||||
second:{
|
||||
enabled: false,
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
var dateTimePickerAnjam = $(".dateTimePickerAnjam").pDatepicker({
|
||||
altField: '.dateTimePickerAnjam-alt',
|
||||
initialValue: true,
|
||||
initialValueType: 'persian',
|
||||
format: 'YYYY/MM/DD HH:mm',
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
timePicker: {
|
||||
enabled: true,
|
||||
second:{
|
||||
enabled: false,
|
||||
}
|
||||
},
|
||||
})
|
||||
//.setDate(1382976091100);
|
||||
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1,409 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
{% block bodyPage %}
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12-mobile is-4-desktop">
|
||||
<form action="{% url 'admin_panel:customerEdit' customer.id %}" id="formcsEdit" class="has-background-white brad5" method="post">
|
||||
{% csrf_token %}
|
||||
<div class="buttons m-0 level p-2 is-hidden-tablet">
|
||||
<p class="level-item">محمد جواد فصاحت</p>
|
||||
<span id="showUserDT" class="button level-item">مشاهده مشخصات</span>
|
||||
</div>
|
||||
<div id="userDT" class="is-hidden-mobile">
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">نام ونام خانوادگی</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.name_family }}" name="an_name" class="input an_name" type="text" placeholder="نام نام خانوادگی">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">آدرس</label>
|
||||
<div class="control">
|
||||
<input disabled name="an_address" value="{{ customer.address }}" class="input an_address" type="text" placeholder="آدرس کامل">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-9-desktop is-9-mobile m-0">
|
||||
<label class="label">تلفن همراه</label>
|
||||
<div class="control">
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
<input disabled value="{{ customer.phone1 }}" name="phone1" id="phone-1" class="input an_phone" type="text" placeholder="تلفن 1">
|
||||
<input disabled value="{{ customer.phone2 }}" name="phone2" id="phone-2" class="input an_phone" type="text" placeholder="تلفن 2">
|
||||
<input disabled value="{{ customer.phone3 }}" name="phone3" id="phone-3" class="input an_phone" type="text" placeholder="تلفن 3">
|
||||
{% else %}
|
||||
<p class="pb-4">
|
||||
<a href="tel:{% if customer.phone1|first in '0' %}{{ customer.phone1 }}{% else %}0{{ customer.phone1 }}{% endif %}">{{ customer.phone1 }}</a>
|
||||
</p>
|
||||
<p class="pb-4">
|
||||
<a href="tel:0{% if customer.phone2|first in '0' %}{{ customer.phone2 }}{% else %}0{{ customer.phone2 }}{% endif %}">{{ customer.phone2 }}</a>
|
||||
</p>
|
||||
<p class="pb-4">
|
||||
<a href="tel:0{% if customer.phone3|first in '0' %}{{ customer.phone3 }}{% else %}0{{ customer.phone3 }}{% endif %}">{{ customer.phone3 }}</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ نصب</label>
|
||||
<div class="control">
|
||||
<input disabled name="installDate" value="{{ customer.installDate | toJalali }}" id="persianDateP" class="input installDate" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">کدشناسایی</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.idCode }}" name="idnCode" class="input idnCode" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
{% if perms.admin_panel.DelCustomer %}
|
||||
<span class="button is-danger" id="del_customer">حذف مشتری</span>
|
||||
{% endif %}
|
||||
|
||||
<span class="button is-success" id="enEdit">ویرایش</span>
|
||||
<input class="button is-danger is-hidden" id="editCs" value="ثبت" type="submit">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="column is-12-mobile is-8-desktop">
|
||||
<div class="has-background-white brad5">
|
||||
<div class="tabs is-centered m-0">
|
||||
<ul>
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
<li class="{% if url_name == 'customerHesabdari' %}is-active{% else %} {% endif %} "><a href="{% url 'admin_panel:customerHesabdari' customer.id %}">اقدامات</a></li>
|
||||
<li class="{% if url_name == 'customerHesabdari' %}is-active{% else %} {% endif %} "><a href="{% url 'admin_panel:customerHesabdari' customer.id %}">حسابداری</a></li>
|
||||
<li id="newFactorOpen" class="{% if url_name == 'customer' %}is-active{% else %} {% endif %} "><a href="{% url 'admin_panel:customerNew' customer.id %}">ایجاد فاکتور</a></li>
|
||||
<li id="FactorHaOpen" class="{% if url_name == 'customerFactors' %}is-active{% else %} {% endif %} "><a href="{% url 'admin_panel:customerFactors' customer.id %}">فاکتورها </a></li>
|
||||
{% endwith %}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{% block BodyCustomer1 %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% block BodyCustomer2 %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
|
||||
{% endblock %}
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
|
||||
var orderList = [];
|
||||
var all_products = 'null'
|
||||
$.getJSON('{% url 'admin_panel:productsJson' %}', function(data) {
|
||||
jsonParseData = JSON.parse(data);
|
||||
console.log(jsonParseData)
|
||||
mapJson = jsonParseData.map(function(data){
|
||||
var tmp = data['fields']
|
||||
tmp['id']=data['pk']
|
||||
return tmp
|
||||
});
|
||||
all_products = mapJson;
|
||||
});
|
||||
|
||||
$("#submitFactor").click(function(){
|
||||
$("#disablePage").addClass("is-active");
|
||||
$("#prdsList").val(JSON.stringify(orderList));
|
||||
$("#sarResidDate").val( $("#sarResidDateSL").val() )
|
||||
$("#payType").val( $("#FpayType").val() )
|
||||
$("#FactorDate").val( $("#FpayDate").val() )
|
||||
$("#FactorDesc").val( $("#Fdesc").val() )
|
||||
$("#FactorPardakhti").val( $("#pardakhtiVal").val() )
|
||||
$("#subFactor").submit();
|
||||
});
|
||||
$("#categoryS").change(function(){
|
||||
var cat_id = $(this).val();
|
||||
$("#priceEach").val('');
|
||||
$("#priceKol").val('');
|
||||
$("#num_prd").val('');
|
||||
$("#mojodi").val('');
|
||||
if(cat_id !='ojrat'){
|
||||
$(".ojrat").addClass("is-hidden");
|
||||
$("#productFeilds").removeClass("is-hidden");
|
||||
filterPrd = all_products.filter(function(data){
|
||||
return data['ProductCategory'] == cat_id
|
||||
});
|
||||
$("#productS").html("<option></option>");
|
||||
filterPrd.forEach(element => {
|
||||
$("#productS").append("<option value='"+element.id+"'>"+element['product_name']+"</option>")
|
||||
});
|
||||
} else {
|
||||
//if Ojrat
|
||||
$(".ojrat").removeClass("is-hidden");
|
||||
$("#add_to_list").addClass('is-hidden');
|
||||
$("#productFeilds").addClass("is-hidden");
|
||||
}
|
||||
});
|
||||
|
||||
$("#productS").change(function(){
|
||||
$("#priceEach").val('');
|
||||
$("#priceKol").val('');
|
||||
$("#num_prd").val('');
|
||||
$("#mojodi").val('');
|
||||
var prd_id = $(this).val();
|
||||
//check Mojodi
|
||||
$.getJSON('/panel/productMojodi/'+prd_id, function(data) {
|
||||
$("#mojodi").val(data);
|
||||
});
|
||||
|
||||
sl_prd = filterPrd.find(function(el){
|
||||
return el.id == prd_id;
|
||||
});
|
||||
$("#priceEach").val(sl_prd.product_price)
|
||||
});
|
||||
|
||||
$("#num_prd").on('keyup change',function(){
|
||||
var num_prd = parseInt($("#num_prd").val());
|
||||
var mojodi = parseInt($("#mojodi").val());
|
||||
if(num_prd>=1 && mojodi>=num_prd){
|
||||
$("#priceKol").val(parseInt(sl_prd.product_price) * parseInt($("#num_prd").val()));
|
||||
$("#add_to_list").removeClass("is-hidden");
|
||||
$("#msg_mojodi").addClass("is-hidden");
|
||||
}else{
|
||||
$("#priceKol").val('');
|
||||
$("#add_to_list").addClass("is-hidden");
|
||||
$("#msg_mojodi").removeClass("is-hidden");
|
||||
}
|
||||
});
|
||||
|
||||
var buildOrderList = function () {
|
||||
sum_all=0;
|
||||
$("#listPrds").html('');
|
||||
orderList.forEach(element => {
|
||||
if(element.garanty_Esh == " " || element.garanty_Esh == "" || element.garanty_Esh == null){
|
||||
sum_all+=parseInt(element.priceKol);
|
||||
}
|
||||
var trStr = `
|
||||
<tr class="IteamPrd">
|
||||
<td >
|
||||
<span class="product_name">`+element.product_name+`</span>
|
||||
<span class="product_id is-hidden">`+element.prd_id+`</span>
|
||||
</td>
|
||||
<td class="product_price">`+element.price+`</td>
|
||||
<td class="product_price">`+element.priceKol+`</td>
|
||||
<td class="product_count" >`+element.prd_count+`</td>
|
||||
<td class="product_count" >`+element.garanty_Esh+`</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span class="delet_prd" del_prd_id='`+element.prd_id+`'><img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/delet.png' %}"></span>
|
||||
|
||||
</td>
|
||||
</tr>`
|
||||
$("#listPrds").append(trStr);
|
||||
});
|
||||
$('#sum_all').val(sum_all);
|
||||
}
|
||||
$("#add_ojrat").click(function(){
|
||||
$("#addNewIteam").removeClass("is-active");
|
||||
orderList.push({'prd_id': 9999, 'prd_count': 1,
|
||||
'priceKol': parseInt($("#priceKol").val() ), 'product_name': $("#ojratDS").val() , 'price': parseInt($("#priceKol").val() ),
|
||||
'garanty_Esh': ''
|
||||
});
|
||||
|
||||
buildOrderList();
|
||||
|
||||
});
|
||||
|
||||
$("#add_to_list").click(function(){
|
||||
$("#addNewIteam").removeClass("is-active");
|
||||
orderList.push({'prd_id': sl_prd.id, 'prd_count': parseInt($("#num_prd").val()),
|
||||
'priceKol': parseInt($("#priceKol").val() ), 'product_name': sl_prd.product_name, 'price':sl_prd.product_price,
|
||||
'garanty_Esh': $("#GrantyEsh").val()
|
||||
});
|
||||
|
||||
//console.log(orderList)
|
||||
$("#priceEach").val('');
|
||||
$("#priceKol").val('');
|
||||
$("#num_prd").val('');
|
||||
$("#productS").val('');
|
||||
$("#categoryS").val('');
|
||||
$("#GrantyEsh").val('');
|
||||
|
||||
buildOrderList();
|
||||
|
||||
|
||||
});
|
||||
|
||||
$("#del_customer").click(function(){
|
||||
if(confirm("با حذف مشتری، تمام سوابق، فاکتورها و اطلاعات از سیستم حذف میشود، مطمئن هستید؟")){
|
||||
window.location.href = "/panel/customer/{{ customer.id }}/del";
|
||||
}
|
||||
});
|
||||
|
||||
$(".closeNewIteam").click(function(){
|
||||
$("#addNewIteam").removeClass("is-active");
|
||||
});
|
||||
$("#btnAdd09").click(function(){
|
||||
$("#addNewIteam").addClass("is-active");
|
||||
});
|
||||
|
||||
$("#FpayType").change(function(){
|
||||
var FpayType=$(this).val();
|
||||
if(FpayType == 'nesiye' || FpayType == 'check'){
|
||||
$("#sarresidFild01").removeClass('is-hidden');
|
||||
$("#pardakhti").removeClass('is-hidden');
|
||||
}else{
|
||||
$("#sarresidFild01").addClass('is-hidden');
|
||||
$("#pardakhti").addClass('is-hidden');
|
||||
$("#pardakhtiVal").val('');
|
||||
}
|
||||
});
|
||||
|
||||
$("#sarResidDateSL").pDatepicker({
|
||||
initialValue: false,
|
||||
initialValueType: 'en',
|
||||
format: 'YYYY/MM/DD',
|
||||
autoClose: true,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$("#FpayDate").pDatepicker({
|
||||
initialValue: true,
|
||||
initialValueType: 'en',
|
||||
format: 'YYYY/MM/DD',
|
||||
autoClose: true,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('click', '.delet_prd', function() {
|
||||
var d_p_id = parseInt( $(this).attr('del_prd_id') );
|
||||
orderList = orderList.filter(function(element){
|
||||
if(element.prd_id != d_p_id ){
|
||||
return element;
|
||||
}
|
||||
});
|
||||
$("#listPrds").html('');
|
||||
sum_all=0;
|
||||
orderList.forEach(element => {
|
||||
sum_all+=parseInt(element.priceKol);
|
||||
var trStr = `
|
||||
<tr class="IteamPrd">
|
||||
<td >
|
||||
<span class="product_name">`+element.product_name+`</span>
|
||||
<span class="product_id is-hidden">`+element.prd_id+`</span>
|
||||
</td>
|
||||
<td class="product_price">`+element.price+`</td>
|
||||
<td class="product_price">`+element.priceKol+`</td>
|
||||
<td class="product_count" >`+element.prd_count+`</td>
|
||||
<td class="product_count" >`+element.garanty_Esh+`</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span class="delet_prd" del_prd_id=`+element.prd_id+`><img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/delet.png' %}"></span>
|
||||
|
||||
</td>
|
||||
</tr>`
|
||||
$("#listPrds").append(trStr);
|
||||
});
|
||||
$('#sum_all').val(sum_all);
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
var test = 0
|
||||
|
||||
$("#enEdit").click(function(){
|
||||
$("#formcsEdit").find("input").prop('disabled', false);
|
||||
$("#enEdit").addClass("is-hidden");
|
||||
$("#editCs").removeClass("is-hidden");
|
||||
});
|
||||
|
||||
$("#showUserDT").click(function(){
|
||||
if( $(this).html()=='مشاهده مشخصات' ){
|
||||
$(this).html('مخفی کردن');
|
||||
$("#userDT").removeClass("is-hidden-mobile");
|
||||
}else{
|
||||
$(this).html('مشاهده مشخصات');
|
||||
$("#userDT").addClass("is-hidden-mobile");
|
||||
}
|
||||
|
||||
});
|
||||
$(".closeSearch").click(function(){
|
||||
$(".SearchBox").removeClass("is-active")
|
||||
});
|
||||
$(".closeAddUser").click(function(){
|
||||
$(".addNewUser").removeClass("is-active");
|
||||
$(".addNewUser").find('.an_name').val('');
|
||||
$(".addNewUser").find('.an_address').val('');
|
||||
$(".addNewUser").find('#phone-1').val('');
|
||||
$(".addNewUser").find('#phone-2').val('');
|
||||
$(".addNewUser").find('#phone-3').val('');
|
||||
$(".addNewUser").find('.installDate').val('');
|
||||
});
|
||||
|
||||
$(".openRow").click(function(){
|
||||
var id = $(this).parent().parent().find('.fid').val().trim();
|
||||
var name = $(this).parent().parent().find('.name').text().trim();
|
||||
var lastview = $(this).parent().parent().find('.lastview').text().trim();
|
||||
var installDate = $(this).parent().parent().find('.installDate').text().trim();
|
||||
var mobile_1 = $(this).parent().parent().find('.mobile_1').text().trim();
|
||||
var mobile_2 = $(this).parent().parent().find('.mobile_2').text().trim();
|
||||
var mobile_3 = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
var idCode = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
|
||||
var address = $(this).parent().parent().find('.address').text().trim();
|
||||
//alert(id)
|
||||
$(".mEdit1").find('.fid').val(id);
|
||||
$(".mEdit1").find('.uv_name').val(name);
|
||||
$(".mEdit1").find('.uv_installDate').val(installDate);
|
||||
$(".mEdit1").find('#phone-1').val(mobile_1);
|
||||
$(".mEdit1").find('#phone-2').val(mobile_2);
|
||||
$(".mEdit1").find('#phone-3').val(mobile_3);
|
||||
$(".mEdit1").find('.uv_address').val(address);
|
||||
|
||||
//$("#bedehiStatus").val('وضعیت')
|
||||
|
||||
$(".mEdit1").addClass("is-active")
|
||||
});
|
||||
$("#addNewUser").click(function(){
|
||||
$(".addNewUser").addClass("is-active")
|
||||
});
|
||||
$("#openSearchBox").click(function(){
|
||||
$(".SearchBox").addClass("is-active")
|
||||
});
|
||||
$("#bedehiCN01").click(function(){
|
||||
var factorId = $(this).parent().parent().find(".fid").val();
|
||||
if ($("#bedehiStatus").val() == "tasfiye"){
|
||||
alert("send To server to tasfiye");
|
||||
$("tbody").find('.fidv-'+factorId).parent().parent().remove();
|
||||
$(".mEdit1").removeClass("is-active");
|
||||
}
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,660 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
{% block bodyPage %}
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12-mobile is-4-desktop">
|
||||
<form action="{% url 'admin_panel:customerEdit' customer.id %}" id="formcsEdit" class="has-background-white brad5" method="post">
|
||||
{% csrf_token %}
|
||||
<div class="buttons m-0 level p-2 is-hidden-tablet">
|
||||
<p class="level-item">
|
||||
{{ customer.name_family }}
|
||||
</p>
|
||||
<span id="showUserDT" class="button level-item">مشاهده مشخصات</span>
|
||||
</div>
|
||||
<div id="userDT" class="is-hidden-mobile">
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">نام ونام خانوادگی</label>
|
||||
<div class="control">
|
||||
<input required disabled value="{{ customer.name_family }}" name="an_name" class="input an_name" type="text" placeholder="نام نام خانوادگی">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">آدرس</label>
|
||||
<div class="control">
|
||||
<input disabled name="an_address" value="{{ customer.address }}" class="input an_address" type="text" placeholder="آدرس کامل">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-9-desktop is-9-mobile m-0">
|
||||
<label class="label">تلفن همراه</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.phone1 }}" name="phone1" id="phone-1" class="input ss02 {% if not perms.admin_panel.ViewStore %}is-hidden{% endif %} an_phone" type="text" placeholder="تلفن 1">
|
||||
<input disabled value="{{ customer.phone2 }}" name="phone2" id="phone-2" class="input ss02 {% if not perms.admin_panel.ViewStore %}is-hidden{% endif %} an_phone" type="text" placeholder="تلفن 2">
|
||||
<input disabled value="{{ customer.phone3 }}" name="phone3" id="phone-3" class="input ss02 {% if not perms.admin_panel.ViewStore %}is-hidden{% endif %} an_phone" type="text" placeholder="تلفن 3">
|
||||
{% if not perms.admin_panel.ViewStore %}
|
||||
<p class="pb-4 ss02 ">
|
||||
<a href="tel:{% if customer.phone1|first in '0' %}{{ customer.phone1 }}{% else %}0{{ customer.phone1 }}{% endif %}">{{ customer.phone1 }}</a>
|
||||
</p>
|
||||
<p class="pb-4 ss02 ">
|
||||
<a href="tel:{% if customer.phone2|first in '0' %}{{ customer.phone2 }}{% else %}0{{ customer.phone2 }}{% endif %}">{{ customer.phone2 }}</a>
|
||||
</p>
|
||||
<p class="pb-4 ss02 ">
|
||||
<a href="tel:{% if customer.phone3|first in '0' %}{{ customer.phone3 }}{% else %}0{{ customer.phone3 }}{% endif %}">{{ customer.phone3 }}</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ نصب</label>
|
||||
<div class="control">
|
||||
<input disabled name="installDate" value="{{ customer.installDate | toJalali }}" id="persianDateP" class="input ss02 installDate" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">کدشناسایی</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.idCode }}" name="idnCode" class="input idnCode ss02 " type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">لغو بازدید</label>
|
||||
<div class="control">
|
||||
<select name="laghv_bazdid" style="width: 100%" class="select" id="LaghvBazdid">
|
||||
<option value="false">خیر</option>
|
||||
<option value="true">بله</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
{% if perms.admin_panel.DelCustomer %}
|
||||
<span class="button is-danger" id="del_customer">حذف مشتری</span>
|
||||
{% endif %}
|
||||
|
||||
<span class="button is-success" id="enEdit">ویرایش</span>
|
||||
<input class="button is-danger is-hidden" id="editCs" value="ثبت" type="submit">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="column is-12-mobile is-8-desktop">
|
||||
<div class="has-background-white brad5">
|
||||
<div class="tabs is-centered m-0">
|
||||
<ul>
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
<li class="{% if url_name == 'customerAction' %}is-active{% else %} {% endif %} "><a href="{% url 'admin_panel:customerAction' customer.id %}">اقدامات</a></li>
|
||||
<li class="{% if url_name == 'customerNazar' %}is-active{% else %} {% endif %} "><a href="{% url 'admin_panel:customerNazar' customer.id %}">نظرسنجی</a></li>
|
||||
<li class="{% if url_name == 'customerHesabdari' %}is-active{% else %} {% endif %} "><a href="{% url 'admin_panel:customerHesabdari' customer.id %}">حسابداری</a></li>
|
||||
{% if perms.admin_panel.DelCustomer %}<li class="{% if url_name == 'customerSarresidh' %}is-active{% else %} {% endif %} "><a href="{% url 'admin_panel:customerSarresidh' customer.id %}">چک و نسیه</a></li>{% endif %}
|
||||
<li id="newFactorOpen" class="{% if url_name == 'customerNew' %}is-active{% else %} {% endif %} "><a href="{% url 'admin_panel:customerNew' customer.id %}">ایجاد فاکتور</a></li>
|
||||
<li id="FactorHaOpen" class="{% if url_name == 'customerFactors' %}is-active{% else %} {% endif %} "><a href="{% url 'admin_panel:customerFactors' customer.id %}">فاکتورها </a></li>
|
||||
<li class=""><a href="{% url 'admin_panel:customerAction' customer.id %}">بازاریابی</a></li>
|
||||
|
||||
{% endwith %}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{% block BodyCustomer1 %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% block BodyCustomer2 %}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
|
||||
{% endblock %}
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
|
||||
{% if customer.laghv_bazdid %}
|
||||
$("#LaghvBazdid").val('true');
|
||||
{% else %}
|
||||
$("#LaghvBazdid").val('false');
|
||||
{% endif %}
|
||||
|
||||
var orderList = [];
|
||||
var all_products = 'null'
|
||||
$.getJSON('{% url 'admin_panel:productsJson' %}', function(data) {
|
||||
jsonParseData = JSON.parse(data);
|
||||
console.log(jsonParseData)
|
||||
mapJson = jsonParseData.map(function(data){
|
||||
var tmp = data['fields']
|
||||
tmp['id']=data['pk']
|
||||
return tmp
|
||||
});
|
||||
all_products = mapJson;
|
||||
});
|
||||
|
||||
//مبالغ پرداختی
|
||||
let paylist = {
|
||||
}
|
||||
|
||||
$(".getPvalue").on("keyup change", function(e) {
|
||||
|
||||
if($(this).val() != '' && $(this).val() != ' '){
|
||||
paylist[$(this).attr("name")] = $(this).val();
|
||||
}else{
|
||||
paylist[$(this).attr("name")] = null
|
||||
}
|
||||
|
||||
|
||||
if(["l_checkPrice", "l_nesiye"].includes( $(this).attr("name") ) && $(this).val()>=1){
|
||||
|
||||
$("."+$(this).attr("name")+"_dateTime").removeClass("is-hidden");
|
||||
|
||||
|
||||
}else{
|
||||
$("."+$(this).attr("name")+"_dateTime").addClass("is-hidden");
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
//پایان مبالغ پرداختی
|
||||
|
||||
|
||||
|
||||
//دکمه ثبت فاکتور
|
||||
$("#submitFactor").click(function(){
|
||||
|
||||
//$("#disablePage").addClass("is-active");
|
||||
$("#prdsList").val(JSON.stringify(orderList));
|
||||
$("#sarResidDate").val( $("#sarResidDateSL").val() )
|
||||
$("#payType").val( $("#FpayType").val() )
|
||||
$("#FactorDate").val( $("#FpayDate").val() )
|
||||
$("#FactorDesc").val( $("#Fdesc").val() )
|
||||
$("#FactorPardakhti").val( $("#pardakhtiVal").val() )
|
||||
$("#PardakhtHa").val(JSON.stringify(paylist))
|
||||
|
||||
console.log(paylist)
|
||||
|
||||
var sumALL_factor = parseInt($("#sum_all").val());
|
||||
|
||||
var checkOk = true
|
||||
if(paylist.l_checkPrice>=1){
|
||||
if(paylist.l_checkPriceSarResid>=1){
|
||||
checkOk = true
|
||||
}else{
|
||||
checkOk = false
|
||||
alert("خطا: مبلغ یا سررسید چک وارد نشده")
|
||||
}
|
||||
}
|
||||
|
||||
var nesiyeOk = true
|
||||
if(paylist.l_nesiye>=1){
|
||||
if(paylist.l_nesiyeSarResid>=1){
|
||||
nesiyeOk = true
|
||||
}else{
|
||||
nesiyeOk = false
|
||||
alert("خطا: مبلغ یا سررسید نسیه وارد نشده")
|
||||
}
|
||||
}
|
||||
|
||||
var sumPardakhti = 0;
|
||||
if ( parseInt($("#bestankarGhabl").val()) > 0 ){
|
||||
sumPardakhti = parseInt($("#bestankarGhabl").val())
|
||||
}else{
|
||||
sumPardakhti = 0
|
||||
}
|
||||
|
||||
pardakhtiVal = Object.values(paylist).map(Number)
|
||||
pardakhtiVal.forEach((currentValue)=>{
|
||||
if(currentValue<1000000000){
|
||||
sumPardakhti+= currentValue
|
||||
}
|
||||
})
|
||||
|
||||
//console.log(sumPardakhti)
|
||||
|
||||
|
||||
|
||||
//sumPardakhti += int(paylist['l_naghd'])
|
||||
//sumPardakhti += int(paylist['l_kartKhan'])
|
||||
//sumPardakhti += int(paylist['l_kartbekart'])
|
||||
//sumPardakhti += int(paylist['l_checkPrice'])
|
||||
//sumPardakhti += int(paylist['l_nesiye'])
|
||||
|
||||
|
||||
if(nesiyeOk && checkOk && !Object.values(paylist).every(o => o === null) ){
|
||||
if(sumPardakhti==sumALL_factor){
|
||||
//alert("ok")
|
||||
$("#subFactor").submit();
|
||||
}else{
|
||||
console.log(sumPardakhti, " ", sumALL_factor)
|
||||
alert("جمع فاکتور با مبالغ پرداختی همخوانی ندارد")
|
||||
}
|
||||
//
|
||||
}else{
|
||||
alert("لطفا فرم را کنترل کنید")
|
||||
}
|
||||
|
||||
});
|
||||
//پایان دکمه ثبت فاکتور
|
||||
|
||||
|
||||
$("#categoryS").change(function(){
|
||||
var cat_id = $(this).val();
|
||||
$("#priceEach").val('');
|
||||
$("#priceKol").val('');
|
||||
$("#num_prd").val('');
|
||||
$("#mojodi").val('');
|
||||
if(cat_id !='ojrat' && cat_id !='' && cat_id !=null){
|
||||
$("#add_to_list").removeClass("is-hidden");
|
||||
$(".ojrat").addClass("is-hidden");
|
||||
$("#productFeilds").removeClass("is-hidden");
|
||||
filterPrd = all_products.filter(function(data){
|
||||
return data['ProductCategory'] == cat_id
|
||||
});
|
||||
$("#productS").html("");
|
||||
filterPrd.forEach(element => {
|
||||
$("#productS").append(`
|
||||
<div class="column is-12-desktop is-12-mobile m-0 mb-1 pb-0">
|
||||
<div class="columns is-mobile is-multiline is-gapless boxPrdborder">
|
||||
<div class="column is-12-mobile is-12-desktop prd_name" prd_id="`+element['id']+`">
|
||||
<button class="has-text-centeredmb-2 prdName05 btnprd">`+element['product_name']+`</button>
|
||||
</div>
|
||||
<div class="prdInputBox columns is-mobile is-multiline is-gapless is-hidden">
|
||||
<div class="column is-4-mobile is-4-desktop">
|
||||
<div class="field">
|
||||
<label class="label">تعداد</label>
|
||||
<div class="control">
|
||||
<input type="number" value="1" class="input count_prdRQ">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-4-mobile is-4-desktop">
|
||||
<div class="field">
|
||||
<label class="label">قیمت</label>
|
||||
<div class="control">
|
||||
<input disabled type="number" class="input prd_price054" value="`+element['product_price']+`">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-4-mobile is-4-desktop">
|
||||
<div class="field">
|
||||
<label class="label">موجودی</label>
|
||||
<div class="control">
|
||||
<input disabled type="number" class="input mojodi_pbox">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-12-mobile is-12-desktop garantyEsh mt-2">
|
||||
<div class="control">
|
||||
<label class="radio">
|
||||
<input type="radio" value="" name="garantyEsh">
|
||||
هیچ کدام
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input type="radio" value="گارانتی" name="garantyEsh">
|
||||
گارانتی
|
||||
</label>
|
||||
<label class="radio">
|
||||
<input type="radio" value="اشانتیون" name="garantyEsh">
|
||||
اشانتیون
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-12-mobile is-12-desktop garantyEsh mt-2 pt-2">
|
||||
<span class="button is-danger is-pulled-left addEachTolist">اضافه کردن</span>
|
||||
<span class="is-pulled-right pt-2 addedTolist is-hidden">به لیست اضافه شد</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`);
|
||||
//$("#productS").append("<option value='"+element.id+"'>"+element['product_name']+"</option>")
|
||||
});
|
||||
} else {
|
||||
//if Ojrat
|
||||
$(".ojrat").removeClass("is-hidden");
|
||||
$("#add_to_list").addClass('is-hidden');
|
||||
$("#productFeilds").addClass("is-hidden");
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('click', '.prd_name', function() {
|
||||
prd_box = $(this);
|
||||
//btnBorderBtm
|
||||
$(prd_box).find(".btnprd").addClass("btnBorderBtm");
|
||||
var prd_id =$(this).attr('prd_id');
|
||||
$.getJSON('/panel/productMojodi/'+prd_id, function(data) {
|
||||
$(prd_box).parent().parent().find(".mojodi_pbox").val(data);
|
||||
});
|
||||
$(prd_box).parent().parent().find(".prdInputBox").removeClass('is-hidden');
|
||||
});
|
||||
|
||||
$("#productS").change(function(){
|
||||
$("#priceEach").val('');
|
||||
$("#priceKol").val('');
|
||||
$("#num_prd").val('');
|
||||
$("#mojodi").val('');
|
||||
var prd_id = $(this).val();
|
||||
//check Mojodi
|
||||
$.getJSON('/panel/productMojodi/'+prd_id, function(data) {
|
||||
$("#mojodi").val(data);
|
||||
});
|
||||
|
||||
sl_prd = filterPrd.find(function(el){
|
||||
return el.id == prd_id;
|
||||
});
|
||||
$("#priceEach").val(sl_prd.product_price)
|
||||
});
|
||||
|
||||
$("#num_prd").on('keyup change',function(){
|
||||
var num_prd = parseInt($("#num_prd").val());
|
||||
var mojodi = parseInt($("#mojodi").val());
|
||||
if(num_prd>=1 && mojodi>=num_prd){
|
||||
$("#priceKol").val(parseInt(sl_prd.product_price) * parseInt($("#num_prd").val()));
|
||||
$("#add_to_list").removeClass("is-hidden");
|
||||
$("#msg_mojodi").addClass("is-hidden");
|
||||
}else{
|
||||
$("#priceKol").val('');
|
||||
$("#add_to_list").addClass("is-hidden");
|
||||
$("#msg_mojodi").removeClass("is-hidden");
|
||||
}
|
||||
});
|
||||
|
||||
var buildOrderList = function () {
|
||||
sum_all=0;
|
||||
$("#listPrds").html('');
|
||||
orderList.forEach(element => {
|
||||
if(element.garanty_Esh == " " || element.garanty_Esh == "" || element.garanty_Esh == null){
|
||||
sum_all+=parseInt(element.priceKol);
|
||||
}
|
||||
var trStr = `
|
||||
<tr class="IteamPrd">
|
||||
<td >
|
||||
<span class="product_name">`+element.product_name+`</span>
|
||||
<span class="product_id is-hidden">`+element.prd_id+`</span>
|
||||
</td>
|
||||
<td class="product_price">`+element.price+`</td>
|
||||
<td class="product_price">`+element.priceKol+`</td>
|
||||
<td class="product_count" >`+element.prd_count+`</td>
|
||||
<td class="product_count" >`+element.garanty_Esh+`</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span class="delet_prd" del_prd_id='`+element.prd_id+`'><img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/delet.png' %}"></span>
|
||||
|
||||
</td>
|
||||
</tr>`
|
||||
$("#listPrds").append(trStr);
|
||||
});
|
||||
$('#sum_all').val(sum_all);
|
||||
}
|
||||
|
||||
$(document).on('click', '.addEachTolist', function() {
|
||||
prd_box = $(this).parent().parent().parent();
|
||||
var prd_id =$(prd_box).find(".prd_name").attr('prd_id');
|
||||
var GrantyEsh = $(prd_box).find("input[type='radio']:checked").val();
|
||||
if (!GrantyEsh){
|
||||
GrantyEsh = ''
|
||||
}
|
||||
var count = parseInt( $(prd_box).find(".count_prdRQ").val() );
|
||||
var mojodi_pbox = parseInt( $(prd_box).find(".mojodi_pbox").val() );
|
||||
var prd_price054 = parseInt( $(prd_box).find(".prd_price054").val() );
|
||||
var prdName05 = $(prd_box).find(".prdName05").html();
|
||||
//prdName05
|
||||
//mojodi_pbox
|
||||
if (count>=1 && count<=mojodi_pbox){
|
||||
$(prd_box).find(".addedTolist").removeClass("is-hidden");
|
||||
$(prd_box).find(".addEachTolist").addClass("is-hidden");
|
||||
$(prd_box).find("input").prop('disabled', true);
|
||||
orderList.push({'prd_id': prd_id, 'prd_count': count,
|
||||
'priceKol': parseInt(prd_price054*count), 'product_name': prdName05, 'price':prd_price054,
|
||||
'garanty_Esh': GrantyEsh
|
||||
});
|
||||
buildOrderList();
|
||||
}else{
|
||||
alert('تعداد معتبر وارد کنید');
|
||||
}
|
||||
//count_prdRQ
|
||||
});
|
||||
|
||||
$("#add_ojrat").click(function(){
|
||||
$("#addNewIteam").removeClass("is-active");
|
||||
orderList.push({'prd_id': 9999, 'prd_count': 1,
|
||||
'priceKol': parseInt($("#priceKol").val() ), 'product_name': $("#ojratDS").val() , 'price': parseInt($("#priceKol").val() ),
|
||||
'garanty_Esh': ''
|
||||
});
|
||||
|
||||
buildOrderList();
|
||||
|
||||
});
|
||||
|
||||
$("#add_to_list").click(function(){
|
||||
$("#addNewIteam").removeClass("is-active");
|
||||
orderList.push({'prd_id': sl_prd.id, 'prd_count': parseInt($("#num_prd").val()),
|
||||
'priceKol': parseInt($("#priceKol").val() ), 'product_name': sl_prd.product_name, 'price':sl_prd.product_price,
|
||||
'garanty_Esh': $("#GrantyEsh").val()
|
||||
});
|
||||
|
||||
//console.log(orderList)
|
||||
$("#priceEach").val('');
|
||||
$("#priceKol").val('');
|
||||
$("#num_prd").val('');
|
||||
$("#productS").val('');
|
||||
$("#categoryS").val('');
|
||||
$("#GrantyEsh").val('');
|
||||
|
||||
buildOrderList();
|
||||
|
||||
|
||||
});
|
||||
|
||||
$("#del_customer").click(function(){
|
||||
if(confirm("با حذف مشتری، تمام سوابق، فاکتورها و اطلاعات از سیستم حذف میشود، مطمئن هستید؟")){
|
||||
window.location.href = "/panel/customer/{{ customer.id }}/del";
|
||||
}
|
||||
});
|
||||
|
||||
$(".closeNewIteam").click(function(){
|
||||
$("#addNewIteam").removeClass("is-active");
|
||||
});
|
||||
$("#btnAdd09").click(function(){
|
||||
$("#addNewIteam").addClass("is-active");
|
||||
});
|
||||
|
||||
$("#FpayType").change(function(){
|
||||
var FpayType=$(this).val();
|
||||
if(FpayType == 'nesiye' || FpayType == 'check'){
|
||||
$("#sarresidFild01").removeClass('is-hidden');
|
||||
$("#pardakhti").removeClass('is-hidden');
|
||||
}else{
|
||||
$("#sarresidFild01").addClass('is-hidden');
|
||||
$("#pardakhti").addClass('is-hidden');
|
||||
$("#pardakhtiVal").val('');
|
||||
}
|
||||
});
|
||||
|
||||
$("#sarResidDateSL").pDatepicker({
|
||||
initialValue: false,
|
||||
initialValueType: 'en',
|
||||
format: 'YYYY/MM/DD',
|
||||
autoClose: true,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa',
|
||||
leapYearMode: 'astronomical'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$("#l_checkPriceSarResid").pDatepicker({
|
||||
initialValue: false,
|
||||
initialValueType: 'en',
|
||||
format: 'YYYY/MM/DD',
|
||||
autoClose: true,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa',
|
||||
leapYearMode: 'astronomical'
|
||||
}
|
||||
},
|
||||
onSelect: (unix)=>{
|
||||
paylist['l_checkPriceSarResid'] = unix
|
||||
}
|
||||
});
|
||||
|
||||
$("#l_nesiyeSarResid").pDatepicker({
|
||||
initialValue: false,
|
||||
initialValueType: 'en',
|
||||
format: 'YYYY/MM/DD',
|
||||
autoClose: true,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa',
|
||||
leapYearMode: 'astronomical'
|
||||
}
|
||||
},
|
||||
onSelect: (unix)=>{
|
||||
paylist['l_nesiyeSarResid'] = unix
|
||||
}
|
||||
});
|
||||
|
||||
$("#FpayDate").pDatepicker({
|
||||
initialValue: true,
|
||||
initialValueType: 'en',
|
||||
format: 'YYYY/MM/DD',
|
||||
autoClose: true,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa',
|
||||
leapYearMode: 'astronomical'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('click', '.delet_prd', function() {
|
||||
var d_p_id = parseInt( $(this).attr('del_prd_id') );
|
||||
orderList = orderList.filter(function(element){
|
||||
if(element.prd_id != d_p_id ){
|
||||
return element;
|
||||
}
|
||||
});
|
||||
$("#listPrds").html('');
|
||||
sum_all=0;
|
||||
orderList.forEach(element => {
|
||||
sum_all+=parseInt(element.priceKol);
|
||||
var trStr = `
|
||||
<tr class="IteamPrd">
|
||||
<td >
|
||||
<span class="product_name">`+element.product_name+`</span>
|
||||
<span class="product_id is-hidden">`+element.prd_id+`</span>
|
||||
</td>
|
||||
<td class="product_price">`+element.price+`</td>
|
||||
<td class="product_price">`+element.priceKol+`</td>
|
||||
<td class="product_count" >`+element.prd_count+`</td>
|
||||
<td class="product_count" >`+element.garanty_Esh+`</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span class="delet_prd" del_prd_id=`+element.prd_id+`><img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/delet.png' %}"></span>
|
||||
|
||||
</td>
|
||||
</tr>`
|
||||
$("#listPrds").append(trStr);
|
||||
});
|
||||
$('#sum_all').val(sum_all);
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
var test = 0
|
||||
|
||||
$("#enEdit").click(function(){
|
||||
$("#formcsEdit").find("input").prop('disabled', false);
|
||||
$("#enEdit").addClass("is-hidden");
|
||||
$("#editCs").removeClass("is-hidden");
|
||||
});
|
||||
|
||||
$("#showUserDT").click(function(){
|
||||
if( $(this).html()=='مشاهده مشخصات' ){
|
||||
$(this).html('مخفی کردن');
|
||||
$("#userDT").removeClass("is-hidden-mobile");
|
||||
}else{
|
||||
$(this).html('مشاهده مشخصات');
|
||||
$("#userDT").addClass("is-hidden-mobile");
|
||||
}
|
||||
|
||||
});
|
||||
$(".closeSearch").click(function(){
|
||||
$(".SearchBox").removeClass("is-active")
|
||||
});
|
||||
$(".closeAddUser").click(function(){
|
||||
$(".addNewUser").removeClass("is-active");
|
||||
$(".addNewUser").find('.an_name').val('');
|
||||
$(".addNewUser").find('.an_address').val('');
|
||||
$(".addNewUser").find('#phone-1').val('');
|
||||
$(".addNewUser").find('#phone-2').val('');
|
||||
$(".addNewUser").find('#phone-3').val('');
|
||||
$(".addNewUser").find('.installDate').val('');
|
||||
});
|
||||
|
||||
$(".openRow").click(function(){
|
||||
var id = $(this).parent().parent().find('.fid').val().trim();
|
||||
var name = $(this).parent().parent().find('.name').text().trim();
|
||||
var lastview = $(this).parent().parent().find('.lastview').text().trim();
|
||||
var installDate = $(this).parent().parent().find('.installDate').text().trim();
|
||||
var mobile_1 = $(this).parent().parent().find('.mobile_1').text().trim();
|
||||
var mobile_2 = $(this).parent().parent().find('.mobile_2').text().trim();
|
||||
var mobile_3 = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
var idCode = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
|
||||
var address = $(this).parent().parent().find('.address').text().trim();
|
||||
//alert(id)
|
||||
$(".mEdit1").find('.fid').val(id);
|
||||
$(".mEdit1").find('.uv_name').val(name);
|
||||
$(".mEdit1").find('.uv_installDate').val(installDate);
|
||||
$(".mEdit1").find('#phone-1').val(mobile_1);
|
||||
$(".mEdit1").find('#phone-2').val(mobile_2);
|
||||
$(".mEdit1").find('#phone-3').val(mobile_3);
|
||||
$(".mEdit1").find('.uv_address').val(address);
|
||||
|
||||
//$("#bedehiStatus").val('وضعیت')
|
||||
|
||||
$(".mEdit1").addClass("is-active")
|
||||
});
|
||||
$("#addNewUser").click(function(){
|
||||
$(".addNewUser").addClass("is-active")
|
||||
});
|
||||
$("#openSearchBox").click(function(){
|
||||
$(".SearchBox").addClass("is-active")
|
||||
});
|
||||
$("#bedehiCN01").click(function(){
|
||||
var factorId = $(this).parent().parent().find(".fid").val();
|
||||
if ($("#bedehiStatus").val() == "tasfiye"){
|
||||
alert("send To server to tasfiye");
|
||||
$("tbody").find('.fidv-'+factorId).parent().parent().remove();
|
||||
$(".mEdit1").removeClass("is-active");
|
||||
}
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,130 @@
|
||||
{% extends "./customerBase.html" %}
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
|
||||
{% block BodyCustomer1 %}
|
||||
|
||||
<div id="newFactor" class="column is-12-mobile is-12-desktop ">
|
||||
<h1 class="has-text-centered has-text-weight-bold ">شماره فاکتور {{ factorO.id }}</h1>
|
||||
<div class="columns is-multiline is-mobile">
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نام شخص</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.name_family }}" name="installDate" id="persianDateP" class="input" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ فاکتور</label>
|
||||
<div class="control">
|
||||
<input id="FpayDate" value="{{ factorO.create_date | toJalali }}" id="persianDateP" class="input" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="table-container column is-12-desktop is-12-mobile m-0">
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width: 300px;">نام محصول</th>
|
||||
<th style="min-width: 100px;">قیمت واحد</th>
|
||||
<th style="min-width: 100px;">قیمت کل</th>
|
||||
<th>تعداد</th>
|
||||
<th>بابت</th>
|
||||
<th style="min-width: 50px;">عملیات</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>نام محصول</th>
|
||||
<th>قیمت واحد</th>
|
||||
<th>قیمت کل</th>
|
||||
<th>تعداد</th>
|
||||
<th>بابت</th>
|
||||
<th>عملیات</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody id="listPrds">
|
||||
{% for iteam in fiteam %}
|
||||
<tr class="IteamPrd">
|
||||
<td>
|
||||
<span class="product_name">{{ iteam.product_name }}</span>
|
||||
<span class="product_id is-hidden"></span>
|
||||
</td>
|
||||
<td class="product_price">{{ iteam.product.product_price }}</td>
|
||||
<td class="product_price">{{ iteam.amount }}</td>
|
||||
<td class="product_count" >{{ iteam.num }}</td>
|
||||
<td class="product_count" >{{ iteam.garantyEsh }}</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span>*</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">جمع فاکتور</label>
|
||||
<div class="control">
|
||||
<input value="{{ factorO.amount }}" disabled name="price" id="sum_all" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نحوه پرداخت</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="FpayType" required style="width: 100%;">
|
||||
<option></option>
|
||||
<option value="naghd">نقد</option>
|
||||
<option value="cardToCard">کارت به کارت</option>
|
||||
<option value="kartKhan">کارت خوان</option>
|
||||
<option value="nesiye">نیسیه</option>
|
||||
<option value="check">چک</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0" id="sarresidFild01">
|
||||
<label class="label">سررسید</label>
|
||||
<div class="control">
|
||||
<input value="{% if factorO.deadline %} {{ factorO.deadline | toJalali }} {% endif %}" name="sarResidDateSL" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">توضیحات فاکتور فاکتور</label>
|
||||
<div class="control">
|
||||
<textarea id="Fdesc" class="textarea" placeholder="بابت؟">
|
||||
{{ factorO.desc }}
|
||||
</textarea></div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
{% if perms.admin_panel.DelFactor %}
|
||||
<span class="button is-danger" id="btnDelfactor09">حذف فاکتور و اصلاح انبار</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
$("#btnDelfactor09").click(function(){
|
||||
var cDelok = confirm("باحذف فاکتور موجودی انبار نیز اصلاح میشود و تغییر می کند آیا مطمئن هستید؟")
|
||||
if(cDelok){
|
||||
window.location.href = "/panel/customer/{{ customer.id }}/factor/{{ factorO.id }}/del";
|
||||
}
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,513 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
{% block bodyPage %}
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12-mobile is-4-desktop">
|
||||
<form action="{% url 'admin_panel:customerEdit' customer.id %}" id="formcsEdit" class="has-background-white brad5" method="post">
|
||||
{% csrf_token %}
|
||||
<div class="buttons m-0 level p-2 is-hidden-tablet">
|
||||
<p class="level-item">محمد جواد فصاحت</p>
|
||||
<span id="showUserDT" class="button level-item">مشاهده مشخصات</span>
|
||||
</div>
|
||||
<div id="userDT" class="is-hidden-mobile">
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">نام ونام خانوادگی</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.name_family }}" name="an_name" class="input an_name" type="text" placeholder="نام نام خانوادگی">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">آدرس</label>
|
||||
<div class="control">
|
||||
<input disabled name="an_address" value="{{ customer.address }}" class="input an_address" type="text" placeholder="آدرس کامل">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">تلفن همراه</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.phone1 }}" name="phone1" id="phone-1" class="input an_phone" type="text" placeholder="تلفن 1">
|
||||
<input disabled value="{{ customer.phone2 }}" name="phone2" id="phone-2" class="input an_phone" type="text" placeholder="تلفن 2">
|
||||
<input disabled value="{{ customer.phone3 }}" name="phone3" id="phone-3" class="input an_phone" type="text" placeholder="تلفن 3">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ نصب</label>
|
||||
<div class="control">
|
||||
<input disabled name="installDate" value="{{ customer.installDate | toJalali }}" id="persianDateP" class="input installDate" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">کدشناسایی</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.idCode }}" name="idnCode" class="input idnCode" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<span class="button is-success" id="enEdit">ویرایش</span>
|
||||
<input class="button is-danger is-hidden" id="editCs" value="ثبت" type="submit">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="column is-12-mobile is-8-desktop">
|
||||
<div class="has-background-white brad5">
|
||||
<div class="tabs is-centered m-0">
|
||||
<ul>
|
||||
<li ><a>وضعیت</a></li>
|
||||
<li id="newFactorOpen"><a href="{% url 'admin_panel:customer' customer.id %}">ایجاد فاکتور</a></li>
|
||||
<li id="FactorHaOpen"><a href="{% url 'admin_panel:customerFactors' customer.id %}">فاکتورها </a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="newFactor" class="column is-12-mobile is-12-desktop ">
|
||||
<h1 class="has-text-centered has-text-weight-bold ">شماره فاکتور {{ factorO.id }}</h1>
|
||||
<div class="columns is-multiline is-mobile">
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نام شخص</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.name_family }}" name="installDate" id="persianDateP" class="input" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ فاکتور</label>
|
||||
<div class="control">
|
||||
<input id="FpayDate" value="{{ factorO.create_date | toJalali }}" id="persianDateP" class="input" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="table-container column is-12-desktop is-12-mobile m-0">
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width: 300px;">نام محصول</th>
|
||||
<th style="min-width: 100px;">قیمت واحد</th>
|
||||
<th style="min-width: 100px;">قیمت کل</th>
|
||||
<th>تعداد</th>
|
||||
<th>بابت</th>
|
||||
<th style="min-width: 50px;">عملیات</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>نام محصول</th>
|
||||
<th>قیمت واحد</th>
|
||||
<th>قیمت کل</th>
|
||||
<th>تعداد</th>
|
||||
<th>بابت</th>
|
||||
<th>عملیات</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody id="listPrds">
|
||||
{% for iteam in fiteam %}
|
||||
<tr class="IteamPrd">
|
||||
<td>
|
||||
<span class="product_name">{{ iteam.product_name }}</span>
|
||||
<span class="product_id is-hidden"></span>
|
||||
</td>
|
||||
<td class="product_price">{{ iteam.product.product_price }}</td>
|
||||
<td class="product_price">{{ iteam.amount }}</td>
|
||||
<td class="product_count" >{{ iteam.num }}</td>
|
||||
<td class="product_count" >{{ iteam.garantyEsh }}</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span>*</span>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">جمع فاکتور</label>
|
||||
<div class="control">
|
||||
<input value="{{ factorO.amount }}" disabled name="price" id="sum_all" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نحوه پرداخت</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="FpayType" required style="width: 100%;">
|
||||
<option></option>
|
||||
<option value="naghd">نقد</option>
|
||||
<option value="cardToCard">کارت به کارت</option>
|
||||
<option value="kartKhan">کارت خوان</option>
|
||||
<option value="nesiye">نیسیه</option>
|
||||
<option value="check">چک</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0" id="sarresidFild01">
|
||||
<label class="label">سررسید</label>
|
||||
<div class="control">
|
||||
<input value="{% if factorO.deadline %} {{ factorO.deadline | toJalali }} {% endif %}" name="sarResidDateSL" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">توضیحات فاکتور فاکتور</label>
|
||||
<div class="control">
|
||||
<textarea id="Fdesc" class="textarea" placeholder="بابت؟">
|
||||
{{ factorO.desc }}
|
||||
</textarea></div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
{% if perms.admin_panel.DelFactor %}
|
||||
<span class="button is-danger" id="btnDelfactor09">حذف فاکتور و اصلاح انبار</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div id="bazdidha" class="column is-12-mobile is-12-desktop is-hidden">
|
||||
|
||||
</div>
|
||||
<div id="statusha" class="column is-12-mobile is-12-desktop is-hidden">
|
||||
<div class="columns">
|
||||
<div class="column is-12-mobile is-4-desktop">
|
||||
<p>بدهی</p>
|
||||
<p>3.589.000</p>
|
||||
</div>
|
||||
|
||||
<div class="column is-12-mobile is-4-desktop">
|
||||
<p>آخرین بازدید</p>
|
||||
<p>1400/06/04</p>
|
||||
</div>
|
||||
|
||||
<div class="column is-12-mobile is-4-desktop">
|
||||
<p>بدهی</p>
|
||||
<p>3.589.000</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="addNewIteam" class="modal ">
|
||||
<div class="modal-background closeNewIteam"></div>
|
||||
<div class="modal-content">
|
||||
<div class="">
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">دسته محصول</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="categoryS" style="width: 100%;">
|
||||
<option></option>
|
||||
{% for cat in categorys %}
|
||||
<option value="{{ cat.id }}">{{ cat.category_name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">نوع محصول</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="productS" style="width: 100%;">
|
||||
<option></option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">موجودی فعلی انبار</label>
|
||||
<div class="control">
|
||||
<input disabled id="mojodi" class="input" type="number" placeholder="لطفا صبرکنید">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">تعداد</label>
|
||||
<div class="control">
|
||||
<input name="" id="num_prd" class="input" type="number" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">قیمت هر عدد</label>
|
||||
<div class="control">
|
||||
<input name="" id="priceEach" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">قیمت کل </label>
|
||||
<div class="control">
|
||||
<input name="" id="priceKol" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<p class="control">
|
||||
<span id="add_to_list" class="button is-fullwidth is-success is-hidden">
|
||||
افزودن
|
||||
</span>
|
||||
<span id="msg_mojodi" class="is-hidden">
|
||||
تعداد یا موجودی نامعتبر است
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="modal-close is-large closeNewIteam" aria-label="close"></button>
|
||||
</div>
|
||||
|
||||
<div class="modal" id="disablePage">
|
||||
<div class="modal-background"></div>
|
||||
</div>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
var orderList = [];
|
||||
var all_products = 'null';
|
||||
|
||||
$("#submitFactor").click(function(){
|
||||
$("#disablePage").addClass("is-active");
|
||||
$("#prdsList").val(JSON.stringify(orderList));
|
||||
$("#sarresid").val( $("#FpayTime").val() )
|
||||
$("#payType").val( $("#FpayType").val() )
|
||||
$("#FactorDate").val( $("#FpayDate").val() )
|
||||
$("#FactorDesc").val( $("#Fdesc").val() )
|
||||
$("#subFactor").submit();
|
||||
});
|
||||
$("#categoryS").change(function(){
|
||||
var cat_id = $(this).val();
|
||||
$("#priceEach").val('');
|
||||
$("#priceKol").val('');
|
||||
$("#num_prd").val('');
|
||||
$("#mojodi").val('');
|
||||
filterPrd = all_products.filter(function(data){
|
||||
return data['ProductCategory'] == cat_id
|
||||
});
|
||||
$("#productS").html("<option></option>");
|
||||
filterPrd.forEach(element => {
|
||||
$("#productS").append("<option value='"+element.id+"'>"+element['product_name']+"</option>")
|
||||
});
|
||||
});
|
||||
|
||||
$("#productS").change(function(){
|
||||
$("#priceEach").val('');
|
||||
$("#priceKol").val('');
|
||||
$("#num_prd").val('');
|
||||
$("#mojodi").val('');
|
||||
var prd_id = $(this).val();
|
||||
//check Mojodi
|
||||
$.getJSON('/panel/productMojodi/'+prd_id, function(data) {
|
||||
$("#mojodi").val(data);
|
||||
});
|
||||
|
||||
sl_prd = filterPrd.find(function(el){
|
||||
return el.id == prd_id;
|
||||
});
|
||||
$("#priceEach").val(sl_prd.product_price)
|
||||
});
|
||||
|
||||
$("#num_prd").on('keyup change',function(){
|
||||
var num_prd = parseInt($("#num_prd").val());
|
||||
var mojodi = parseInt($("#mojodi").val());
|
||||
if(num_prd>=1 && mojodi>=num_prd){
|
||||
$("#priceKol").val(parseInt(sl_prd.product_price) * parseInt($("#num_prd").val()));
|
||||
$("#add_to_list").removeClass("is-hidden");
|
||||
$("#msg_mojodi").addClass("is-hidden");
|
||||
}else{
|
||||
$("#priceKol").val('');
|
||||
$("#add_to_list").addClass("is-hidden");
|
||||
$("#msg_mojodi").removeClass("is-hidden");
|
||||
}
|
||||
});
|
||||
|
||||
$("#add_to_list").click(function(){
|
||||
$("#addNewIteam").removeClass("is-active");
|
||||
orderList.push({'prd_id': sl_prd.id, 'prd_count': parseInt($("#num_prd").val()),
|
||||
'priceKol': parseInt($("#priceKol").val() ), 'product_name': sl_prd.product_name, 'price':sl_prd.product_price });
|
||||
|
||||
$("#priceEach").val('');
|
||||
$("#priceKol").val('');
|
||||
$("#num_prd").val('');
|
||||
$("#productS").val('');
|
||||
$("#categoryS").val('');
|
||||
sum_all=0;
|
||||
$("#listPrds").html('');
|
||||
orderList.forEach(element => {
|
||||
sum_all+=parseInt(element.priceKol);
|
||||
var trStr = `
|
||||
<tr class="IteamPrd">
|
||||
<td >
|
||||
<span class="product_name">`+element.product_name+`</span>
|
||||
<span class="product_id is-hidden">`+element.prd_id+`</span>
|
||||
</td>
|
||||
<td class="product_price">`+element.price+`</td>
|
||||
<td class="product_price">`+element.priceKol+`</td>
|
||||
<td class="product_count" >`+element.prd_count+`</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span class="delet_prd" del_prd_id='`+element.prd_id+`'><img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/delet.png' %}"></span>
|
||||
|
||||
</td>
|
||||
</tr>`
|
||||
$("#listPrds").append(trStr);
|
||||
});
|
||||
$('#sum_all').val(sum_all);
|
||||
|
||||
});
|
||||
|
||||
$(".closeNewIteam").click(function(){
|
||||
$("#addNewIteam").removeClass("is-active");
|
||||
});
|
||||
|
||||
$("#btnDelfactor09").click(function(){
|
||||
var cDelok = confirm("باحذف فاکتور موجودی انبار نیز اصلاح میشود و تغییر می کند آیا مطمئن هستید؟")
|
||||
if(cDelok){
|
||||
window.location.href = "/panel/customer/{{ customer.id }}/factor/{{ factorO.id }}/del";
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
$(document).on('click', '.delet_prd', function() {
|
||||
var d_p_id = parseInt( $(this).attr('del_prd_id') );
|
||||
orderList = orderList.filter(function(element){
|
||||
if(element.prd_id != d_p_id ){
|
||||
return element;
|
||||
}
|
||||
});
|
||||
$("#listPrds").html('');
|
||||
sum_all=0;
|
||||
orderList.forEach(element => {
|
||||
sum_all+=parseInt(element.priceKol);
|
||||
var trStr = `
|
||||
<tr class="IteamPrd">
|
||||
<td >
|
||||
<span class="product_name">`+element.product_name+`</span>
|
||||
<span class="product_id is-hidden">`+element.prd_id+`</span>
|
||||
</td>
|
||||
<td class="product_price">`+element.price+`</td>
|
||||
<td class="product_price">`+element.priceKol+`</td>
|
||||
<td class="product_count" >`+element.prd_count+`</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span class="delet_prd" del_prd_id=`+element.prd_id+`><img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/delet.png' %}"></span>
|
||||
|
||||
</td>
|
||||
</tr>`
|
||||
$("#listPrds").append(trStr);
|
||||
});
|
||||
$('#sum_all').val(sum_all);
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
var test = 0
|
||||
|
||||
$("#enEdit").click(function(){
|
||||
$("#formcsEdit").find("input").prop('disabled', false);
|
||||
$("#enEdit").addClass("is-hidden");
|
||||
$("#editCs").removeClass("is-hidden");
|
||||
});
|
||||
|
||||
$("#showUserDT").click(function(){
|
||||
if( $(this).html()=='مشاهده مشخصات' ){
|
||||
$(this).html('مخفی کردن');
|
||||
$("#userDT").removeClass("is-hidden-mobile");
|
||||
}else{
|
||||
$(this).html('مشاهده مشخصات');
|
||||
$("#userDT").addClass("is-hidden-mobile");
|
||||
}
|
||||
|
||||
});
|
||||
$(".closeSearch").click(function(){
|
||||
$(".SearchBox").removeClass("is-active")
|
||||
});
|
||||
$(".closeAddUser").click(function(){
|
||||
$(".addNewUser").removeClass("is-active");
|
||||
$(".addNewUser").find('.an_name').val('');
|
||||
$(".addNewUser").find('.an_address').val('');
|
||||
$(".addNewUser").find('#phone-1').val('');
|
||||
$(".addNewUser").find('#phone-2').val('');
|
||||
$(".addNewUser").find('#phone-3').val('');
|
||||
$(".addNewUser").find('.installDate').val('');
|
||||
});
|
||||
|
||||
$(".openRow").click(function(){
|
||||
var id = $(this).parent().parent().find('.fid').val().trim();
|
||||
var name = $(this).parent().parent().find('.name').text().trim();
|
||||
var lastview = $(this).parent().parent().find('.lastview').text().trim();
|
||||
var installDate = $(this).parent().parent().find('.installDate').text().trim();
|
||||
var mobile_1 = $(this).parent().parent().find('.mobile_1').text().trim();
|
||||
var mobile_2 = $(this).parent().parent().find('.mobile_2').text().trim();
|
||||
var mobile_3 = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
var idCode = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
|
||||
var address = $(this).parent().parent().find('.address').text().trim();
|
||||
//alert(id)
|
||||
$(".mEdit1").find('.fid').val(id);
|
||||
$(".mEdit1").find('.uv_name').val(name);
|
||||
$(".mEdit1").find('.uv_installDate').val(installDate);
|
||||
$(".mEdit1").find('#phone-1').val(mobile_1);
|
||||
$(".mEdit1").find('#phone-2').val(mobile_2);
|
||||
$(".mEdit1").find('#phone-3').val(mobile_3);
|
||||
$(".mEdit1").find('.uv_address').val(address);
|
||||
|
||||
//$("#bedehiStatus").val('وضعیت')
|
||||
|
||||
$(".mEdit1").addClass("is-active")
|
||||
});
|
||||
$("#addNewUser").click(function(){
|
||||
$(".addNewUser").addClass("is-active")
|
||||
});
|
||||
$("#openSearchBox").click(function(){
|
||||
$(".SearchBox").addClass("is-active")
|
||||
});
|
||||
$("#bedehiCN01").click(function(){
|
||||
var factorId = $(this).parent().parent().find(".fid").val();
|
||||
if ($("#bedehiStatus").val() == "tasfiye"){
|
||||
alert("send To server to tasfiye");
|
||||
$("tbody").find('.fidv-'+factorId).parent().parent().remove();
|
||||
$(".mEdit1").removeClass("is-active");
|
||||
}
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,115 @@
|
||||
{% extends "./customerBaseNew.html" %}
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
|
||||
{% block BodyCustomer1 %}
|
||||
|
||||
<div id="hesabdari" class="column is-12-mobile is-12-desktop ">
|
||||
|
||||
<h1 class="has-text-centered has-text-weight-bold toCurrency">
|
||||
مانده حساب:
|
||||
{{ mandehesabCs }}
|
||||
</h1>
|
||||
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
<form method="post" action="{% url 'admin_panel:customerHesabdariAdd' customer.id %}" class="columns is-mobile is-multiline is-gapless mt-5 is-centered">
|
||||
{% csrf_token %}
|
||||
<div class="column is-12-mobile is-3-desktop">
|
||||
<span class="select is-fullwidth">
|
||||
<select required name="typePy" >
|
||||
<option value="">خدمات یا نصب</option>
|
||||
<option value="">هیچکدام</option>
|
||||
<option value="khadamat">خدمات</option>
|
||||
<option value="nasb">نصب</option>
|
||||
</select>
|
||||
</span>
|
||||
</div>
|
||||
<div class="column is-12-mobile is-3-desktop">
|
||||
<span class="select is-fullwidth">
|
||||
<select required name="type" >
|
||||
<option value="">انتخاب کنید</option>
|
||||
<option value="credit">تسویه بدهی قبلی</option>
|
||||
<option value="debit">ایجاد بدهی جدید</option>
|
||||
</select>
|
||||
</span>
|
||||
</div>
|
||||
<div class="column is-12-mobile is-3-desktop">
|
||||
<span class="select is-fullwidth">
|
||||
<select required name="nahvePardakhat" >
|
||||
<option value=""> نحوه پرداخت انتخاب کنید </option>
|
||||
<option value="هیچ کدام">هیچ کدام</option>
|
||||
<option value="نقد">نقد</option>
|
||||
<option value="کارت به کارت">کارت به کارت</option>
|
||||
<option value="کارت خوان">کارت خوان</option>
|
||||
<option value="تخفیف">تخفیف</option>
|
||||
</select>
|
||||
</span>
|
||||
</div>
|
||||
<div class="column is-12-mobile is-3-desktop ">
|
||||
<input required name="price" class="input" type="number" placeholder="مبلغ را به تومان وارد کنید">
|
||||
</div>
|
||||
<div class=" column is-12-mobile is-4-desktop ">
|
||||
<input required name="desc" class="input " type="text" placeholder="توضیحات">
|
||||
</div>
|
||||
<div class=" column is-12-mobile is-2-desktop">
|
||||
<input type="submit" class="button is-primary" value="ثبت" />
|
||||
</div>
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if articls %}
|
||||
<div class="table-container column is-12-desktop is-12-mobile m-0">
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width: 80px;">بدهکار</th>
|
||||
<th style="min-width: 80px;">بستانکار</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 100px;">توسط</th>
|
||||
<th style="min-width: 40px;">تاریخ</th>
|
||||
<th style="min-width: 40px;">سررسید</th>
|
||||
<th style="min-width: 40px;">وضعیت</th>
|
||||
<th style="min-width: 40px;">نوع</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th class="toCurrency" style="min-width: 80px;">بدهکار</th>
|
||||
<th class="toCurrency" style="min-width: 80px;">بستانکار</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 100px;">توسط</th>
|
||||
<th style="min-width: 40px;">تاریخ</th>
|
||||
<th style="min-width: 40px;">سررسید</th>
|
||||
<th style="min-width: 40px;">وضعیت</th>
|
||||
<th style="min-width: 40px;">نوع</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody id="listPrds">
|
||||
{% for articl in articls %}
|
||||
<tr class="IteamPrd">
|
||||
<td>
|
||||
<span class="bedehkar toCurrency">{{ articl.debit }}</span>
|
||||
<span class=" is-hidden"></span>
|
||||
</td>
|
||||
<td class="bestankar toCurrency">{{ articl.credit }}</td>
|
||||
<td class="desc">{{ articl.desc }} {% if articl.nahvePardakht %} | {{ articl.nahvePardakht }} {% endif %}</td>
|
||||
<td class="by" >{{ articl.user.first_name }} {{ articl.user.last_name }}</td>
|
||||
<td class="action" >{{ articl.createdDT | toJalali }}</td>
|
||||
<td class="action" >{% if articl.sarresid %} {{ articl.sarresid | toJalali }} {% endif %}</td>
|
||||
<td class="action" >{% if articl.payStatus == "true" %} پرداخت شده {% endif %}
|
||||
{% if articl.payStatus == "false" %} پرداخت نشده {% endif %}
|
||||
{% if articl.payStatus == "cancell" %} لفو شده {% endif %}
|
||||
</td>
|
||||
<td class="action" >{% if articl.typePy == 'khadamat' %}خدمات{% elif articl.typePy == 'nasb' %}نصب{% endif %}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,251 @@
|
||||
{% extends "./customerBase.html" %}
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
|
||||
{% block BodyCustomer1 %}
|
||||
<div id="newFactor" class="column is-12-mobile is-12-desktop ">
|
||||
<h1 class="has-text-centered has-text-weight-bold ">ایجاد فاکتور جدید</h1>
|
||||
<div class="columns is-multiline is-mobile">
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نام شخص</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.name_family }}" name="installDate" id="persianDateP" class="input" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نوع فاکتور</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="FactorType" id="FactorType" required style="width: 100%;">
|
||||
<option></option>
|
||||
<option value="Khadamat">خدمات</option>
|
||||
<option value="Nasb">نصب</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ فاکتور</label>
|
||||
<div class="control">
|
||||
<input disabled id="FpayDate" value="" id="persianDateP" class="input" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="table-container column is-12-desktop is-12-mobile m-0">
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width: 300px;">نام محصول</th>
|
||||
<th style="min-width: 100px;">قیمت واحد</th>
|
||||
<th style="min-width: 100px;">قیمت کل</th>
|
||||
<th>تعداد</th>
|
||||
<th>بابت</th>
|
||||
<th style="min-width: 50px;">عملیات</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>نام محصول</th>
|
||||
<th>قیمت واحد</th>
|
||||
<th>قیمت کل</th>
|
||||
<th>تعداد</th>
|
||||
<th>بابت</th>
|
||||
<th>عملیات</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody id="listPrds">
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<span class="button is-danger" id="btnAdd09">+</span>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">جمع فاکتور</label>
|
||||
<div class="control">
|
||||
<input disabled name="price" id="sum_all" class="input" type="text" placeholder="525.000">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نحوه پرداخت</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="FpayType" id="FpayType" required style="width: 100%;">
|
||||
<option></option>
|
||||
<option value="naghd">نقد</option>
|
||||
<option value="cardToCard">کارت به کارت</option>
|
||||
<option value="kartKhan">کارت خوان</option>
|
||||
<option value="nesiye">نیسیه</option>
|
||||
<option value="check">چک</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="pardakhti" class="field column is-4-desktop is-12-mobile m-0 is-hidden">
|
||||
<label class="label">مبلغ پرداختی در محل</label>
|
||||
<div class="control">
|
||||
<input id="pardakhtiVal" name="pardakhti" class="input" type="number" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0 is-hidden" id="sarresidFild01">
|
||||
<label class="label">سررسید</label>
|
||||
<div class="control">
|
||||
<input name="sarResidDateSL" id="sarResidDateSL" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">توضیحات فاکتور فاکتور</label>
|
||||
<div class="control">
|
||||
<textarea id="Fdesc" class="textarea" placeholder="بابت؟"></textarea> </div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<span id="submitFactor" class="button is-danger" id="btnAdd09">ثبت فاکتور</span>
|
||||
</div>
|
||||
|
||||
<form id="subFactor" class="is-hidden" method="post" action="{% url 'admin_panel:newFactor' customer.id %}">
|
||||
{% csrf_token %}
|
||||
<input required id="prdsList" type="text" name="prdsList">
|
||||
<input id="sarResidDate" type="text" name="sarResidDate">
|
||||
<input required id="payType" type="text" name="payType">
|
||||
<input required id="FactorDate" type="text" name="FactorDate">
|
||||
<input id="FactorDesc" type="text" name="FactorDesc">
|
||||
<input id="FactorPardakhti" type="text" name="pardakhti">
|
||||
<input type="submit">
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
{% block BodyCustomer2 %}
|
||||
<div id="addNewIteam" class="modal ">
|
||||
<div class="modal-background closeNewIteam"></div>
|
||||
<div class="modal-content">
|
||||
<div class="">
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">دسته محصول</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="categoryS" style="width: 100%;">
|
||||
<option></option>
|
||||
{% for cat in categorys %}
|
||||
<option value="{{ cat.id }}">{{ cat.category_name }}</option>
|
||||
{% endfor %}
|
||||
<option value="ojrat">اجرت</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="productFeilds">
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">نوع محصول</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="productS" style="width: 100%;">
|
||||
<option></option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">موجودی فعلی انبار</label>
|
||||
<div class="control">
|
||||
<input disabled id="mojodi" class="input" type="number" placeholder="لطفا صبرکنید">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">تعداد</label>
|
||||
<div class="control">
|
||||
<input name="" id="num_prd" class="input" type="number" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">قیمت هر عدد</label>
|
||||
<div class="control">
|
||||
<input name="" id="priceEach" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">
|
||||
گارانتی یا اشانتیون؟
|
||||
</label>
|
||||
<div class="control">
|
||||
<div class="select" style="width: 100%;">
|
||||
<select name="GrantyEsh" id="GrantyEsh" style="width: 100%;">
|
||||
<option value=" ">هیچ کدام</option>
|
||||
<option value="گارانتی">گارانتی</option>
|
||||
<option value="اشانتیون">اشانتیون</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0 ojrat is-hidden">
|
||||
<label class="label">شرح و توضیحات</label>
|
||||
<div class="control">
|
||||
<input name="ojratDS" id="ojratDS" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">قیمت کل </label>
|
||||
<div class="control">
|
||||
<input name="" id="priceKol" class="input" type="number" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<p class="control">
|
||||
<span id="add_to_list" class="button is-danger is-hidden">
|
||||
افزودن و بستن
|
||||
</span>
|
||||
<span id="add_to_listNew" class="button is-success is-hidden">
|
||||
افزودن و جدید
|
||||
</span>
|
||||
<span id="add_ojrat" class="button is-fullwidth is-success ojrat is-hidden">
|
||||
افزودن اجرت
|
||||
</span>
|
||||
<span id="msg_mojodi" class="is-hidden">
|
||||
تعداد یا موجودی نامعتبر است
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="modal-close is-large closeNewIteam" aria-label="close"></button>
|
||||
</div>
|
||||
|
||||
<div class="modal" id="disablePage">
|
||||
<div class="modal-background"></div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,628 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
{% block bodyPage %}
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12-mobile is-4-desktop">
|
||||
<form action="{% url 'admin_panel:customerEdit' customer.id %}" id="formcsEdit" class="has-background-white brad5" method="post">
|
||||
{% csrf_token %}
|
||||
<div class="buttons m-0 level p-2 is-hidden-tablet">
|
||||
<p class="level-item">محمد جواد فصاحت</p>
|
||||
<span id="showUserDT" class="button level-item">مشاهده مشخصات</span>
|
||||
</div>
|
||||
<div id="userDT" class="is-hidden-mobile">
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">نام ونام خانوادگی</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.name_family }}" name="an_name" class="input an_name" type="text" placeholder="نام نام خانوادگی">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">آدرس</label>
|
||||
<div class="control">
|
||||
<input disabled name="an_address" value="{{ customer.address }}" class="input an_address" type="text" placeholder="آدرس کامل">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-9-desktop is-9-mobile m-0">
|
||||
<label class="label">تلفن همراه</label>
|
||||
<div class="control">
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
<input disabled value="{{ customer.phone1 }}" name="phone1" id="phone-1" class="input an_phone" type="text" placeholder="تلفن 1">
|
||||
<input disabled value="{{ customer.phone2 }}" name="phone2" id="phone-2" class="input an_phone" type="text" placeholder="تلفن 2">
|
||||
<input disabled value="{{ customer.phone3 }}" name="phone3" id="phone-3" class="input an_phone" type="text" placeholder="تلفن 3">
|
||||
{% else %}
|
||||
<p class="pb-4">
|
||||
<a href="tel:{% if customer.phone1|first in '0' %}{{ customer.phone1 }}{% else %}0{{ customer.phone1 }}{% endif %}">{{ customer.phone1 }}</a>
|
||||
</p>
|
||||
<p class="pb-4">
|
||||
<a href="tel:0{% if customer.phone2|first in '0' %}{{ customer.phone2 }}{% else %}0{{ customer.phone2 }}{% endif %}">{{ customer.phone2 }}</a>
|
||||
</p>
|
||||
<p class="pb-4">
|
||||
<a href="tel:0{% if customer.phone3|first in '0' %}{{ customer.phone3 }}{% else %}0{{ customer.phone3 }}{% endif %}">{{ customer.phone3 }}</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ نصب</label>
|
||||
<div class="control">
|
||||
<input disabled name="installDate" value="{{ customer.installDate | toJalali }}" id="persianDateP" class="input installDate" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">کدشناسایی</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.idCode }}" name="idnCode" class="input idnCode" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
{% if perms.admin_panel.DelCustomer %}
|
||||
<span class="button is-danger" id="del_customer">حذف مشتری</span>
|
||||
{% endif %}
|
||||
{% if perms.admin_panel.ViewCustomer %}
|
||||
<span class="button is-success" id="enEdit">ویرایش</span>
|
||||
<input class="button is-danger is-hidden" id="editCs" value="ثبت" type="submit">
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="column is-12-mobile is-8-desktop">
|
||||
<div class="has-background-white brad5">
|
||||
<div class="tabs is-centered m-0">
|
||||
<ul>
|
||||
<li ><a>حسابداری</a></li>
|
||||
<li id="newFactorOpen" class="is-active"><a href="{% url 'admin_panel:customer' customer.id %}">ایجاد فاکتور</a></li>
|
||||
<li id="FactorHaOpen"><a href="{% url 'admin_panel:customerFactors' customer.id %}">فاکتورها </a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="newFactor" class="column is-12-mobile is-12-desktop ">
|
||||
<h1 class="has-text-centered has-text-weight-bold ">ایجاد فاکتور جدید</h1>
|
||||
<div class="columns is-multiline is-mobile">
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نام شخص</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.name_family }}" name="installDate" id="persianDateP" class="input" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نوع فاکتور</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="FactorType" id="FactorType" required style="width: 100%;">
|
||||
<option></option>
|
||||
<option value="Khadamat">خدمات</option>
|
||||
<option value="Nasb">نصب</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ فاکتور</label>
|
||||
<div class="control">
|
||||
<input disabled id="FpayDate" value="" id="persianDateP" class="input" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="table-container column is-12-desktop is-12-mobile m-0">
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width: 300px;">نام محصول</th>
|
||||
<th style="min-width: 100px;">قیمت واحد</th>
|
||||
<th style="min-width: 100px;">قیمت کل</th>
|
||||
<th>تعداد</th>
|
||||
<th>بابت</th>
|
||||
<th style="min-width: 50px;">عملیات</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>نام محصول</th>
|
||||
<th>قیمت واحد</th>
|
||||
<th>قیمت کل</th>
|
||||
<th>تعداد</th>
|
||||
<th>بابت</th>
|
||||
<th>عملیات</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody id="listPrds">
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<span class="button is-danger" id="btnAdd09">+</span>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">جمع فاکتور</label>
|
||||
<div class="control">
|
||||
<input disabled name="price" id="sum_all" class="input" type="text" placeholder="525.000">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نحوه پرداخت</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="FpayType" id="FpayType" required style="width: 100%;">
|
||||
<option></option>
|
||||
<option value="naghd">نقد</option>
|
||||
<option value="cardToCard">کارت به کارت</option>
|
||||
<option value="kartKhan">کارت خوان</option>
|
||||
<option value="nesiye">نیسیه</option>
|
||||
<option value="check">چک</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0 is-hidden" id="sarresidFild01">
|
||||
<label class="label">سررسید</label>
|
||||
<div class="control">
|
||||
<input name="sarResidDateSL" id="sarResidDateSL" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">توضیحات فاکتور فاکتور</label>
|
||||
<div class="control">
|
||||
<textarea id="Fdesc" class="textarea" placeholder="بابت؟"></textarea> </div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<span id="submitFactor" class="button is-danger" id="btnAdd09">ثبت فاکتور</span>
|
||||
</div>
|
||||
|
||||
<form id="subFactor" class="is-hidden" method="post" action="{% url 'admin_panel:newFactor' customer.id %}">
|
||||
{% csrf_token %}
|
||||
<input required id="prdsList" type="text" name="prdsList">
|
||||
<input id="sarResidDate" type="text" name="sarResidDate">
|
||||
<input required id="payType" type="text" name="payType">
|
||||
<input required id="FactorDate" type="text" name="FactorDate">
|
||||
<input id="FactorDesc" type="text" name="FactorDesc">
|
||||
<input type="submit">
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="addNewIteam" class="modal ">
|
||||
<div class="modal-background closeNewIteam"></div>
|
||||
<div class="modal-content">
|
||||
<div class="">
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">دسته محصول</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="categoryS" style="width: 100%;">
|
||||
<option></option>
|
||||
{% for cat in categorys %}
|
||||
<option value="{{ cat.id }}">{{ cat.category_name }}</option>
|
||||
{% endfor %}
|
||||
<option value="ojrat">اجرت</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="productFeilds">
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">نوع محصول</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="productS" style="width: 100%;">
|
||||
<option></option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">موجودی فعلی انبار</label>
|
||||
<div class="control">
|
||||
<input disabled id="mojodi" class="input" type="number" placeholder="لطفا صبرکنید">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">تعداد</label>
|
||||
<div class="control">
|
||||
<input name="" id="num_prd" class="input" type="number" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">قیمت هر عدد</label>
|
||||
<div class="control">
|
||||
<input name="" id="priceEach" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">
|
||||
گارانتی یا اشانتیون؟
|
||||
</label>
|
||||
<div class="control">
|
||||
<div class="select" style="width: 100%;">
|
||||
<select name="GrantyEsh" id="GrantyEsh" style="width: 100%;">
|
||||
<option value=" ">هیچ کدام</option>
|
||||
<option value="گارانتی">گارانتی</option>
|
||||
<option value="اشانتیون">اشانتیون</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0 ojrat is-hidden">
|
||||
<label class="label">شرح و توضیحات</label>
|
||||
<div class="control">
|
||||
<input name="ojratDS" id="ojratDS" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">قیمت کل </label>
|
||||
<div class="control">
|
||||
<input name="" id="priceKol" class="input" type="number" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<p class="control">
|
||||
<span id="add_to_list" class="button is-danger is-hidden">
|
||||
افزودن و بستن
|
||||
</span>
|
||||
<span id="add_to_listNew" class="button is-success is-hidden">
|
||||
افزودن و جدید
|
||||
</span>
|
||||
<span id="add_ojrat" class="button is-fullwidth is-success ojrat is-hidden">
|
||||
افزودن اجرت
|
||||
</span>
|
||||
<span id="msg_mojodi" class="is-hidden">
|
||||
تعداد یا موجودی نامعتبر است
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="modal-close is-large closeNewIteam" aria-label="close"></button>
|
||||
</div>
|
||||
|
||||
<div class="modal" id="disablePage">
|
||||
<div class="modal-background"></div>
|
||||
</div>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
|
||||
var orderList = [];
|
||||
var all_products = 'null'
|
||||
$.getJSON('{% url 'admin_panel:productsJson' %}', function(data) {
|
||||
jsonParseData = JSON.parse(data);
|
||||
console.log(jsonParseData)
|
||||
mapJson = jsonParseData.map(function(data){
|
||||
var tmp = data['fields']
|
||||
tmp['id']=data['pk']
|
||||
return tmp
|
||||
});
|
||||
all_products = mapJson;
|
||||
});
|
||||
|
||||
$("#submitFactor").click(function(){
|
||||
$("#disablePage").addClass("is-active");
|
||||
$("#prdsList").val(JSON.stringify(orderList));
|
||||
$("#sarResidDate").val( $("#sarResidDateSL").val() )
|
||||
$("#payType").val( $("#FpayType").val() )
|
||||
$("#FactorDate").val( $("#FpayDate").val() )
|
||||
$("#FactorDesc").val( $("#Fdesc").val() )
|
||||
$("#subFactor").submit();
|
||||
});
|
||||
$("#categoryS").change(function(){
|
||||
var cat_id = $(this).val();
|
||||
$("#priceEach").val('');
|
||||
$("#priceKol").val('');
|
||||
$("#num_prd").val('');
|
||||
$("#mojodi").val('');
|
||||
if(cat_id !='ojrat'){
|
||||
$(".ojrat").addClass("is-hidden");
|
||||
$("#productFeilds").removeClass("is-hidden");
|
||||
filterPrd = all_products.filter(function(data){
|
||||
return data['ProductCategory'] == cat_id
|
||||
});
|
||||
$("#productS").html("<option></option>");
|
||||
filterPrd.forEach(element => {
|
||||
$("#productS").append("<option value='"+element.id+"'>"+element['product_name']+"</option>")
|
||||
});
|
||||
} else {
|
||||
//if Ojrat
|
||||
$(".ojrat").removeClass("is-hidden");
|
||||
$("#add_to_list").addClass('is-hidden');
|
||||
$("#productFeilds").addClass("is-hidden");
|
||||
}
|
||||
});
|
||||
|
||||
$("#productS").change(function(){
|
||||
$("#priceEach").val('');
|
||||
$("#priceKol").val('');
|
||||
$("#num_prd").val('');
|
||||
$("#mojodi").val('');
|
||||
var prd_id = $(this).val();
|
||||
//check Mojodi
|
||||
$.getJSON('/panel/productMojodi/'+prd_id, function(data) {
|
||||
$("#mojodi").val(data);
|
||||
});
|
||||
|
||||
sl_prd = filterPrd.find(function(el){
|
||||
return el.id == prd_id;
|
||||
});
|
||||
$("#priceEach").val(sl_prd.product_price)
|
||||
});
|
||||
|
||||
$("#num_prd").on('keyup change',function(){
|
||||
var num_prd = parseInt($("#num_prd").val());
|
||||
var mojodi = parseInt($("#mojodi").val());
|
||||
if(num_prd>=1 && mojodi>=num_prd){
|
||||
$("#priceKol").val(parseInt(sl_prd.product_price) * parseInt($("#num_prd").val()));
|
||||
$("#add_to_list").removeClass("is-hidden");
|
||||
$("#msg_mojodi").addClass("is-hidden");
|
||||
}else{
|
||||
$("#priceKol").val('');
|
||||
$("#add_to_list").addClass("is-hidden");
|
||||
$("#msg_mojodi").removeClass("is-hidden");
|
||||
}
|
||||
});
|
||||
|
||||
var buildOrderList = function () {
|
||||
sum_all=0;
|
||||
$("#listPrds").html('');
|
||||
orderList.forEach(element => {
|
||||
if(element.garanty_Esh == " " || element.garanty_Esh == "" || element.garanty_Esh == null){
|
||||
sum_all+=parseInt(element.priceKol);
|
||||
}
|
||||
var trStr = `
|
||||
<tr class="IteamPrd">
|
||||
<td >
|
||||
<span class="product_name">`+element.product_name+`</span>
|
||||
<span class="product_id is-hidden">`+element.prd_id+`</span>
|
||||
</td>
|
||||
<td class="product_price">`+element.price+`</td>
|
||||
<td class="product_price">`+element.priceKol+`</td>
|
||||
<td class="product_count" >`+element.prd_count+`</td>
|
||||
<td class="product_count" >`+element.garanty_Esh+`</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span class="delet_prd" del_prd_id='`+element.prd_id+`'><img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/delet.png' %}"></span>
|
||||
|
||||
</td>
|
||||
</tr>`
|
||||
$("#listPrds").append(trStr);
|
||||
});
|
||||
$('#sum_all').val(sum_all);
|
||||
}
|
||||
$("#add_ojrat").click(function(){
|
||||
$("#addNewIteam").removeClass("is-active");
|
||||
orderList.push({'prd_id': 9999, 'prd_count': 1,
|
||||
'priceKol': parseInt($("#priceKol").val() ), 'product_name': $("#ojratDS").val() , 'price': parseInt($("#priceKol").val() ),
|
||||
'garanty_Esh': ''
|
||||
});
|
||||
|
||||
buildOrderList();
|
||||
|
||||
});
|
||||
|
||||
$("#add_to_list").click(function(){
|
||||
$("#addNewIteam").removeClass("is-active");
|
||||
orderList.push({'prd_id': sl_prd.id, 'prd_count': parseInt($("#num_prd").val()),
|
||||
'priceKol': parseInt($("#priceKol").val() ), 'product_name': sl_prd.product_name, 'price':sl_prd.product_price,
|
||||
'garanty_Esh': $("#GrantyEsh").val()
|
||||
});
|
||||
|
||||
//console.log(orderList)
|
||||
$("#priceEach").val('');
|
||||
$("#priceKol").val('');
|
||||
$("#num_prd").val('');
|
||||
$("#productS").val('');
|
||||
$("#categoryS").val('');
|
||||
$("#GrantyEsh").val('');
|
||||
|
||||
buildOrderList();
|
||||
|
||||
|
||||
});
|
||||
|
||||
$("#del_customer").click(function(){
|
||||
if(confirm("با حذف مشتری، تمام سوابق، فاکتورها و اطلاعات از سیستم حذف میشود، مطمئن هستید؟")){
|
||||
window.location.href = "/panel/customer/{{ customer.id }}/del";
|
||||
}
|
||||
});
|
||||
|
||||
$(".closeNewIteam").click(function(){
|
||||
$("#addNewIteam").removeClass("is-active");
|
||||
});
|
||||
$("#btnAdd09").click(function(){
|
||||
$("#addNewIteam").addClass("is-active");
|
||||
});
|
||||
|
||||
$("#FpayType").change(function(){
|
||||
var FpayType=$(this).val();
|
||||
if(FpayType == 'nesiye' || FpayType == 'check'){
|
||||
$("#sarresidFild01").removeClass('is-hidden');
|
||||
}else{
|
||||
$("#sarresidFild01").addClass('is-hidden');
|
||||
}
|
||||
});
|
||||
|
||||
$("#sarResidDateSL").pDatepicker({
|
||||
initialValue: false,
|
||||
initialValueType: 'en',
|
||||
format: 'YYYY/MM/DD',
|
||||
autoClose: true,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$("#FpayDate").pDatepicker({
|
||||
initialValue: true,
|
||||
initialValueType: 'en',
|
||||
format: 'YYYY/MM/DD',
|
||||
autoClose: true,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$(document).on('click', '.delet_prd', function() {
|
||||
var d_p_id = parseInt( $(this).attr('del_prd_id') );
|
||||
orderList = orderList.filter(function(element){
|
||||
if(element.prd_id != d_p_id ){
|
||||
return element;
|
||||
}
|
||||
});
|
||||
$("#listPrds").html('');
|
||||
sum_all=0;
|
||||
orderList.forEach(element => {
|
||||
sum_all+=parseInt(element.priceKol);
|
||||
var trStr = `
|
||||
<tr class="IteamPrd">
|
||||
<td >
|
||||
<span class="product_name">`+element.product_name+`</span>
|
||||
<span class="product_id is-hidden">`+element.prd_id+`</span>
|
||||
</td>
|
||||
<td class="product_price">`+element.price+`</td>
|
||||
<td class="product_price">`+element.priceKol+`</td>
|
||||
<td class="product_count" >`+element.prd_count+`</td>
|
||||
<td class="product_count" >`+element.garanty_Esh+`</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span class="delet_prd" del_prd_id=`+element.prd_id+`><img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/delet.png' %}"></span>
|
||||
|
||||
</td>
|
||||
</tr>`
|
||||
$("#listPrds").append(trStr);
|
||||
});
|
||||
$('#sum_all').val(sum_all);
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
var test = 0
|
||||
|
||||
$("#enEdit").click(function(){
|
||||
$("#formcsEdit").find("input").prop('disabled', false);
|
||||
$("#enEdit").addClass("is-hidden");
|
||||
$("#editCs").removeClass("is-hidden");
|
||||
});
|
||||
|
||||
$("#showUserDT").click(function(){
|
||||
if( $(this).html()=='مشاهده مشخصات' ){
|
||||
$(this).html('مخفی کردن');
|
||||
$("#userDT").removeClass("is-hidden-mobile");
|
||||
}else{
|
||||
$(this).html('مشاهده مشخصات');
|
||||
$("#userDT").addClass("is-hidden-mobile");
|
||||
}
|
||||
|
||||
});
|
||||
$(".closeSearch").click(function(){
|
||||
$(".SearchBox").removeClass("is-active")
|
||||
});
|
||||
$(".closeAddUser").click(function(){
|
||||
$(".addNewUser").removeClass("is-active");
|
||||
$(".addNewUser").find('.an_name').val('');
|
||||
$(".addNewUser").find('.an_address').val('');
|
||||
$(".addNewUser").find('#phone-1').val('');
|
||||
$(".addNewUser").find('#phone-2').val('');
|
||||
$(".addNewUser").find('#phone-3').val('');
|
||||
$(".addNewUser").find('.installDate').val('');
|
||||
});
|
||||
|
||||
$(".openRow").click(function(){
|
||||
var id = $(this).parent().parent().find('.fid').val().trim();
|
||||
var name = $(this).parent().parent().find('.name').text().trim();
|
||||
var lastview = $(this).parent().parent().find('.lastview').text().trim();
|
||||
var installDate = $(this).parent().parent().find('.installDate').text().trim();
|
||||
var mobile_1 = $(this).parent().parent().find('.mobile_1').text().trim();
|
||||
var mobile_2 = $(this).parent().parent().find('.mobile_2').text().trim();
|
||||
var mobile_3 = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
var idCode = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
|
||||
var address = $(this).parent().parent().find('.address').text().trim();
|
||||
//alert(id)
|
||||
$(".mEdit1").find('.fid').val(id);
|
||||
$(".mEdit1").find('.uv_name').val(name);
|
||||
$(".mEdit1").find('.uv_installDate').val(installDate);
|
||||
$(".mEdit1").find('#phone-1').val(mobile_1);
|
||||
$(".mEdit1").find('#phone-2').val(mobile_2);
|
||||
$(".mEdit1").find('#phone-3').val(mobile_3);
|
||||
$(".mEdit1").find('.uv_address').val(address);
|
||||
|
||||
//$("#bedehiStatus").val('وضعیت')
|
||||
|
||||
$(".mEdit1").addClass("is-active")
|
||||
});
|
||||
$("#addNewUser").click(function(){
|
||||
$(".addNewUser").addClass("is-active")
|
||||
});
|
||||
$("#openSearchBox").click(function(){
|
||||
$(".SearchBox").addClass("is-active")
|
||||
});
|
||||
$("#bedehiCN01").click(function(){
|
||||
var factorId = $(this).parent().parent().find(".fid").val();
|
||||
if ($("#bedehiStatus").val() == "tasfiye"){
|
||||
alert("send To server to tasfiye");
|
||||
$("tbody").find('.fidv-'+factorId).parent().parent().remove();
|
||||
$(".mEdit1").removeClass("is-active");
|
||||
}
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,32 @@
|
||||
{% extends "./customerBaseNew.html" %}
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
|
||||
{% block BodyCustomer1 %}
|
||||
<div id="factorha" class="column is-12-mobile is-12-desktop">
|
||||
<span class="button mb-3 is-info is-hidden">ایجاد فاکتور</span>
|
||||
|
||||
{% for factor in factorha %}
|
||||
<a href="{% url 'admin_panel:customerFactor' customer.id factor.id %}">
|
||||
<div class="columns m-0 mb-4 is-multiline is-mobile has-text-centered {% if factor.pay_status %}{{ factor.pay_status }}{% endif %}">
|
||||
|
||||
<div class="column is-4-mobile is-4-desktop">
|
||||
{{ factor.create_date | toJalali }}
|
||||
</div>
|
||||
<div class="column is-4-mobile is-4-desktop">
|
||||
{{ factor.user.first_name }} {{ factor.user.last_name }}
|
||||
</div>
|
||||
<div class="column is-4-mobile is-4-desktop">
|
||||
{{ factor.amount }}
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
{% block BodyCustomer2 %}
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,408 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
{% block bodyPage %}
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12-mobile is-4-desktop">
|
||||
<form action="{% url 'admin_panel:customerEdit' customer.id %}" id="formcsEdit" class="has-background-white brad5" method="post">
|
||||
{% csrf_token %}
|
||||
<div class="buttons m-0 level p-2 is-hidden-tablet">
|
||||
<p class="level-item">محمد جواد فصاحت</p>
|
||||
<span id="showUserDT" class="button level-item">مشاهده مشخصات</span>
|
||||
</div>
|
||||
<div id="userDT" class="is-hidden-mobile">
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">نام ونام خانوادگی</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.name_family }}" name="an_name" class="input an_name" type="text" placeholder="نام نام خانوادگی">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">آدرس</label>
|
||||
<div class="control">
|
||||
<input disabled name="an_address" value="{{ customer.address }}" class="input an_address" type="text" placeholder="آدرس کامل">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">تلفن همراه</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.phone1 }}" name="phone1" id="phone-1" class="input an_phone" type="text" placeholder="تلفن 1">
|
||||
<input disabled value="{{ customer.phone2 }}" name="phone2" id="phone-2" class="input an_phone" type="text" placeholder="تلفن 2">
|
||||
<input disabled value="{{ customer.phone3 }}" name="phone3" id="phone-3" class="input an_phone" type="text" placeholder="تلفن 3">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ نصب</label>
|
||||
<div class="control">
|
||||
<input disabled name="installDate" value="{{ customer.installDate | toJalali }}" id="persianDateP" class="input installDate" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">کدشناسایی</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.idCode }}" name="idnCode" class="input idnCode" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<span class="button is-success" id="enEdit">ویرایش</span>
|
||||
<input class="button is-danger is-hidden" id="editCs" value="ثبت" type="submit">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="column is-12-mobile is-8-desktop">
|
||||
<div class="has-background-white brad5">
|
||||
<div class="tabs is-centered m-0">
|
||||
<ul>
|
||||
{% with url_name=request.resolver_match.url_name %}
|
||||
<li ><a>وضعیت</a></li>
|
||||
<li id="newFactorOpen" class="{% if url_name == 'customer' %}is-active{% else %} {% endif %} "><a href="{% url 'admin_panel:customer' customer.id %}">ایجاد فاکتور</a></li>
|
||||
<li id="FactorHaOpen" class="{% if url_name == 'customerFactors' %}is-active{% else %} {% endif %} "><a href="{% url 'admin_panel:customerFactors' customer.id %}">فاکتورها </a></li>
|
||||
{% endwith %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="factorha" class="column is-12-mobile is-12-desktop">
|
||||
<span class="button mb-3 is-info is-hidden">ایجاد فاکتور</span>
|
||||
|
||||
{% for factor in factorha %}
|
||||
<a href="{% url 'admin_panel:customerFactor' customer.id factor.id %}">
|
||||
<div class="columns m-0 mb-4 is-multiline is-mobile has-text-centered {% if factor.pay_status %}{{ factor.pay_status }}{% endif %}">
|
||||
|
||||
<div class="column is-4-mobile is-4-desktop">
|
||||
{{ factor.create_date | toJalali }}
|
||||
</div>
|
||||
<div class="column is-4-mobile is-4-desktop">
|
||||
{{ factor.user.first_name }} {{ factor.user.last_name }}
|
||||
</div>
|
||||
<div class="column is-4-mobile is-4-desktop">
|
||||
{{ factor.amount }}
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="addNewIteam" class="modal ">
|
||||
<div class="modal-background closeNewIteam"></div>
|
||||
<div class="modal-content">
|
||||
<div class="">
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">دسته محصول</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="categoryS" style="width: 100%;">
|
||||
<option></option>
|
||||
{% for cat in categorys %}
|
||||
<option value="{{ cat.id }}">{{ cat.category_name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">نوع محصول</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="productS" style="width: 100%;">
|
||||
<option></option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">موجودی فعلی انبار</label>
|
||||
<div class="control">
|
||||
<input disabled id="mojodi" class="input" type="number" placeholder="لطفا صبرکنید">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">تعداد</label>
|
||||
<div class="control">
|
||||
<input name="" id="num_prd" class="input" type="number" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">قیمت هر عدد</label>
|
||||
<div class="control">
|
||||
<input name="" id="priceEach" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">قیمت کل </label>
|
||||
<div class="control">
|
||||
<input name="" id="priceKol" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<p class="control">
|
||||
<span id="add_to_list" class="button is-fullwidth is-success is-hidden">
|
||||
افزودن
|
||||
</span>
|
||||
<span id="msg_mojodi" class="is-hidden">
|
||||
تعداد یا موجودی نامعتبر است
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="modal-close is-large closeNewIteam" aria-label="close"></button>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
{% endblock %}
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
var orderList = [];
|
||||
var all_products = 'null'
|
||||
|
||||
$("#submitFactor").click(function(){
|
||||
$("#prdsList").val(JSON.stringify(orderList));
|
||||
$("#sarresid").val( $("#FpayTime").val() )
|
||||
$("#payType").val( $("#FpayType").val() )
|
||||
$("#FactorDate").val( $("#FpayDate").val() )
|
||||
$("#FactorDesc").val( $("#Fdesc").val() )
|
||||
$("#subFactor").submit();
|
||||
});
|
||||
$("#categoryS").change(function(){
|
||||
var cat_id = $(this).val();
|
||||
$("#priceEach").val('');
|
||||
$("#priceKol").val('');
|
||||
$("#num_prd").val('');
|
||||
$("#mojodi").val('');
|
||||
filterPrd = all_products.filter(function(data){
|
||||
return data['ProductCategory'] == cat_id
|
||||
});
|
||||
$("#productS").html("<option></option>");
|
||||
filterPrd.forEach(element => {
|
||||
$("#productS").append("<option value='"+element.id+"'>"+element['product_name']+"</option>")
|
||||
});
|
||||
});
|
||||
|
||||
$("#productS").change(function(){
|
||||
$("#priceEach").val('');
|
||||
$("#priceKol").val('');
|
||||
$("#num_prd").val('');
|
||||
$("#mojodi").val('');
|
||||
var prd_id = $(this).val();
|
||||
//check Mojodi
|
||||
$.getJSON('/panel/productMojodi/'+prd_id, function(data) {
|
||||
$("#mojodi").val(data);
|
||||
});
|
||||
|
||||
sl_prd = filterPrd.find(function(el){
|
||||
return el.id == prd_id;
|
||||
});
|
||||
$("#priceEach").val(sl_prd.product_price)
|
||||
});
|
||||
|
||||
$("#num_prd").on('keyup change',function(){
|
||||
var num_prd = parseInt($("#num_prd").val());
|
||||
var mojodi = parseInt($("#mojodi").val());
|
||||
if(num_prd>=1 && mojodi>=num_prd){
|
||||
$("#priceKol").val(parseInt(sl_prd.product_price) * parseInt($("#num_prd").val()));
|
||||
$("#add_to_list").removeClass("is-hidden");
|
||||
$("#msg_mojodi").addClass("is-hidden");
|
||||
}else{
|
||||
$("#priceKol").val('');
|
||||
$("#add_to_list").addClass("is-hidden");
|
||||
$("#msg_mojodi").removeClass("is-hidden");
|
||||
}
|
||||
});
|
||||
|
||||
$("#add_to_list").click(function(){
|
||||
$("#addNewIteam").removeClass("is-active");
|
||||
orderList.push({'prd_id': sl_prd.id, 'prd_count': parseInt($("#num_prd").val()),
|
||||
'priceKol': parseInt($("#priceKol").val() ), 'product_name': sl_prd.product_name, 'price':sl_prd.product_price });
|
||||
|
||||
console.log(orderList)
|
||||
$("#priceEach").val('');
|
||||
$("#priceKol").val('');
|
||||
$("#num_prd").val('');
|
||||
$("#productS").val('');
|
||||
$("#categoryS").val('');
|
||||
sum_all=0;
|
||||
$("#listPrds").html('');
|
||||
orderList.forEach(element => {
|
||||
sum_all+=parseInt(element.priceKol);
|
||||
var trStr = `
|
||||
<tr class="IteamPrd">
|
||||
<td >
|
||||
<span class="product_name">`+element.product_name+`</span>
|
||||
<span class="product_id is-hidden">`+element.prd_id+`</span>
|
||||
</td>
|
||||
<td class="product_price">`+element.price+`</td>
|
||||
<td class="product_price">`+element.priceKol+`</td>
|
||||
<td class="product_count" >`+element.prd_count+`</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span class="delet_prd" del_prd_id='`+element.prd_id+`'><img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/delet.png' %}"></span>
|
||||
|
||||
</td>
|
||||
</tr>`
|
||||
$("#listPrds").append(trStr);
|
||||
});
|
||||
$('#sum_all').val(sum_all);
|
||||
|
||||
});
|
||||
|
||||
$(".closeNewIteam").click(function(){
|
||||
$("#addNewIteam").removeClass("is-active");
|
||||
});
|
||||
$("#btnAdd09").click(function(){
|
||||
$("#addNewIteam").addClass("is-active");
|
||||
});
|
||||
|
||||
|
||||
$("#newFactorOpen").click(function(){
|
||||
$("#FactorHaOpen").removeClass('is-active');
|
||||
$(this).addClass('is-active');
|
||||
$("#newFactor").removeClass("is-hidden");
|
||||
$("#factorha").addClass("is-hidden");
|
||||
});
|
||||
|
||||
$("#FactorHaOpen").click(function(){
|
||||
$("#newFactorOpen").removeClass('is-active');
|
||||
$(this).addClass('is-active');
|
||||
$("#newFactor").addClass("is-hidden");
|
||||
$("#factorha").removeClass("is-hidden");
|
||||
});
|
||||
|
||||
$(document).on('click', '.delet_prd', function() {
|
||||
var d_p_id = parseInt( $(this).attr('del_prd_id') );
|
||||
orderList = orderList.filter(function(element){
|
||||
if(element.prd_id != d_p_id ){
|
||||
return element;
|
||||
}
|
||||
});
|
||||
$("#listPrds").html('');
|
||||
sum_all=0;
|
||||
orderList.forEach(element => {
|
||||
sum_all+=parseInt(element.priceKol);
|
||||
var trStr = `
|
||||
<tr class="IteamPrd">
|
||||
<td >
|
||||
<span class="product_name">`+element.product_name+`</span>
|
||||
<span class="product_id is-hidden">`+element.prd_id+`</span>
|
||||
</td>
|
||||
<td class="product_price">`+element.price+`</td>
|
||||
<td class="product_price">`+element.priceKol+`</td>
|
||||
<td class="product_count" >`+element.prd_count+`</td>
|
||||
|
||||
<td>
|
||||
|
||||
<span class="delet_prd" del_prd_id=`+element.prd_id+`><img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/delet.png' %}"></span>
|
||||
|
||||
</td>
|
||||
</tr>`
|
||||
$("#listPrds").append(trStr);
|
||||
});
|
||||
$('#sum_all').val(sum_all);
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
var test = 0
|
||||
|
||||
$("#enEdit").click(function(){
|
||||
$("#formcsEdit").find("input").prop('disabled', false);
|
||||
$("#enEdit").addClass("is-hidden");
|
||||
$("#editCs").removeClass("is-hidden");
|
||||
});
|
||||
|
||||
$("#showUserDT").click(function(){
|
||||
if( $(this).html()=='مشاهده مشخصات' ){
|
||||
$(this).html('مخفی کردن');
|
||||
$("#userDT").removeClass("is-hidden-mobile");
|
||||
}else{
|
||||
$(this).html('مشاهده مشخصات');
|
||||
$("#userDT").addClass("is-hidden-mobile");
|
||||
}
|
||||
|
||||
});
|
||||
$(".closeSearch").click(function(){
|
||||
$(".SearchBox").removeClass("is-active")
|
||||
});
|
||||
$(".closeAddUser").click(function(){
|
||||
$(".addNewUser").removeClass("is-active");
|
||||
$(".addNewUser").find('.an_name').val('');
|
||||
$(".addNewUser").find('.an_address').val('');
|
||||
$(".addNewUser").find('#phone-1').val('');
|
||||
$(".addNewUser").find('#phone-2').val('');
|
||||
$(".addNewUser").find('#phone-3').val('');
|
||||
$(".addNewUser").find('.installDate').val('');
|
||||
});
|
||||
|
||||
$(".openRow").click(function(){
|
||||
var id = $(this).parent().parent().find('.fid').val().trim();
|
||||
var name = $(this).parent().parent().find('.name').text().trim();
|
||||
var lastview = $(this).parent().parent().find('.lastview').text().trim();
|
||||
var installDate = $(this).parent().parent().find('.installDate').text().trim();
|
||||
var mobile_1 = $(this).parent().parent().find('.mobile_1').text().trim();
|
||||
var mobile_2 = $(this).parent().parent().find('.mobile_2').text().trim();
|
||||
var mobile_3 = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
var idCode = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
|
||||
var address = $(this).parent().parent().find('.address').text().trim();
|
||||
//alert(id)
|
||||
$(".mEdit1").find('.fid').val(id);
|
||||
$(".mEdit1").find('.uv_name').val(name);
|
||||
$(".mEdit1").find('.uv_installDate').val(installDate);
|
||||
$(".mEdit1").find('#phone-1').val(mobile_1);
|
||||
$(".mEdit1").find('#phone-2').val(mobile_2);
|
||||
$(".mEdit1").find('#phone-3').val(mobile_3);
|
||||
$(".mEdit1").find('.uv_address').val(address);
|
||||
|
||||
//$("#bedehiStatus").val('وضعیت')
|
||||
|
||||
$(".mEdit1").addClass("is-active")
|
||||
});
|
||||
$("#addNewUser").click(function(){
|
||||
$(".addNewUser").addClass("is-active")
|
||||
});
|
||||
$("#openSearchBox").click(function(){
|
||||
$(".SearchBox").addClass("is-active")
|
||||
});
|
||||
$("#bedehiCN01").click(function(){
|
||||
var factorId = $(this).parent().parent().find(".fid").val();
|
||||
if ($("#bedehiStatus").val() == "tasfiye"){
|
||||
alert("send To server to tasfiye");
|
||||
$("tbody").find('.fidv-'+factorId).parent().parent().remove();
|
||||
$(".mEdit1").removeClass("is-active");
|
||||
}
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,264 @@
|
||||
{% extends "./customerBaseNew.html" %}
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
|
||||
{% block BodyCustomer1 %}
|
||||
<div id="newFactor" class="column is-12-mobile is-12-desktop ">
|
||||
<h1 class="has-text-centered has-text-weight-bold ">ایجاد فاکتور جدید</h1>
|
||||
<div class="columns is-multiline is-mobile">
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نام مشتری</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.name_family }}" name="installDate" id="persianDateP" class="input" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نوع فاکتور</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="FactorType" id="FactorType" required style="width: 100%;">
|
||||
<option></option>
|
||||
<option value="Khadamat">خدمات</option>
|
||||
<option value="Nasb">نصب</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ فاکتور</label>
|
||||
<div class="control">
|
||||
<input disabled id="FpayDate" value="" id="persianDateP" class="input" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="table-container column is-12-desktop is-12-mobile m-0">
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width: 300px;">نام محصول</th>
|
||||
<th style="min-width: 100px;">قیمت واحد</th>
|
||||
<th style="min-width: 100px;">قیمت کل</th>
|
||||
<th>تعداد</th>
|
||||
<th>بابت</th>
|
||||
<th style="min-width: 50px;">عملیات</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>نام محصول</th>
|
||||
<th>قیمت واحد</th>
|
||||
<th>قیمت کل</th>
|
||||
<th>تعداد</th>
|
||||
<th>بابت</th>
|
||||
<th>عملیات</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody id="listPrds">
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<span class="button is-danger" id="btnAdd09">+</span>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">جمع فاکتور</label>
|
||||
<div class="control">
|
||||
<input disabled name="price" id="sum_all" class="input" type="text" placeholder="525.000">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<p class="has-text-centered">مبالغ پرداختی</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">مبلغ نقد</label>
|
||||
<div class="control">
|
||||
<input name="l_naghd" id="susall" class="input getPvalue" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">مبلغ کارت به کارت</label>
|
||||
<div class="control">
|
||||
<input name="l_kartbekart" id="susall" class="input getPvalue" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">مبلغ کارت خوان</label>
|
||||
<div class="control">
|
||||
<input name="l_kartKhan" id="susall" class="input getPvalue" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-6-desktop is-12-mobile m-0">
|
||||
<label class="label">مبلغ نیسیه</label>
|
||||
<div class="control">
|
||||
<input name="l_nesiye" id="susall" class="input getPvalue" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field is-hidden column is-6-desktop is-12-mobile m-0 l_nesiye_dateTime" id="sarresidFild01">
|
||||
<label class="label">سررسید نیسیه</label>
|
||||
<div class="control">
|
||||
<input name="l_nesiyeDateTime" id="l_nesiyeSarResid" class="input getPvalue" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-6-desktop is-12-mobile m-0">
|
||||
<label class="label">مبلغ چک</label>
|
||||
<div class="control">
|
||||
<input name="l_checkPrice" id="checkPrice" class="input getPvalue" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field is-hidden column is-6-desktop is-12-mobile m-0 l_checkPrice_dateTime" id="sarresidFild01">
|
||||
<label class="label">سررسید چک</label>
|
||||
<div class="control">
|
||||
<input name="l_checkPriceSarResid" id="l_checkPriceSarResid" class="input getPvalue" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
!-->
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نحوه پرداخت</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="FpayType" id="FpayType" required style="width: 100%;">
|
||||
<option></option>
|
||||
<option value="naghd">نقد</option>
|
||||
<option value="cardToCard">کارت به کارت</option>
|
||||
<option value="kartKhan">کارت خوان</option>
|
||||
<option value="nesiye">نسیه</option>
|
||||
<option value="check">چک</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="pardakhti" class="field column is-4-desktop is-12-mobile m-0 is-hidden">
|
||||
<label class="label">مبلغ پرداختی در محل</label>
|
||||
<div class="control">
|
||||
<input id="pardakhtiVal" name="pardakhti" class="input" type="number" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0 is-hidden" id="sarresidFild01">
|
||||
<label class="label">سررسید</label>
|
||||
<div class="control">
|
||||
<input name="sarResidDateSL" id="sarResidDateSL" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">توضیحات فاکتور فاکتور</label>
|
||||
<div class="control">
|
||||
<textarea id="Fdesc" class="textarea" placeholder="بابت؟"></textarea> </div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<span id="submitFactor" class="button is-danger">ثبت فاکتور</span>
|
||||
</div>
|
||||
|
||||
<form id="subFactor" class="is-hidden" method="post" action="{% url 'admin_panel:newFactor' customer.id %}">
|
||||
{% csrf_token %}
|
||||
<input required id="prdsList" type="text" name="prdsList">
|
||||
<input id="sarResidDate" type="text" name="sarResidDate">
|
||||
<input required id="payType" type="text" name="payType">
|
||||
<input required id="FactorDate" type="text" name="FactorDate">
|
||||
<input id="FactorDesc" type="text" name="FactorDesc">
|
||||
<input id="FactorPardakhti" type="text" name="pardakhti">
|
||||
<input id="PardakhtHa" type="text" name="PardakhtHa">
|
||||
<input type="submit">
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
{% block BodyCustomer2 %}
|
||||
<div id="addNewIteam" class="modal">
|
||||
<div class="modal-background closeNewIteam"></div>
|
||||
<div class="modal-content">
|
||||
<div class="">
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">دسته محصول</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="categoryS" style="width: 100%;">
|
||||
<option></option>
|
||||
{% for cat in categorys %}
|
||||
<option value="{{ cat.id }}">{{ cat.category_name }}</option>
|
||||
{% endfor %}
|
||||
<option value="ojrat">اجرت</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="productFeilds">
|
||||
|
||||
|
||||
<div id="productS" class="columns is-mobile is-multiline ">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0 ojrat is-hidden">
|
||||
<label class="label">شرح و توضیحات</label>
|
||||
<div class="control">
|
||||
<input name="ojratDS" id="ojratDS" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0 ojrat is-hidden">
|
||||
<label class="label">قیمت کل </label>
|
||||
<div class="control">
|
||||
<input name="" id="priceKol" class="input" type="number" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<p class="control">
|
||||
<span id="add_ojrat" class="button is-fullwidth is-success ojrat is-hidden">
|
||||
افزودن اجرت
|
||||
</span>
|
||||
<span id="msg_mojodi" class="is-hidden">
|
||||
تعداد یا موجودی نامعتبر است
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="modal-close is-large closeNewIteam" aria-label="close"></button>
|
||||
</div>
|
||||
|
||||
<div class="modal" id="disablePage">
|
||||
<div class="modal-background"></div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
//$($(".boxPrdborder")[66]).find("input[type='radio']:checked").val()
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,254 @@
|
||||
{% extends "./customerBaseNew.html" %}
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
|
||||
{% block BodyCustomer1 %}
|
||||
<div id="newFactor" class="column is-12-mobile is-12-desktop ">
|
||||
<h1 class="has-text-centered has-text-weight-bold ">ایجاد فاکتور جدید</h1>
|
||||
<div class="columns is-multiline is-mobile">
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نام مشتری</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.name_family }}" name="installDate" id="persianDateP" class="input" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نوع فاکتور</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="FactorType" id="FactorType" required style="width: 100%;">
|
||||
<option></option>
|
||||
<option value="Khadamat">خدمات</option>
|
||||
<option value="Nasb">نصب</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ فاکتور</label>
|
||||
<div class="control">
|
||||
<input disabled id="FpayDate" value="" id="persianDateP" class="input" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="table-container column is-12-desktop is-12-mobile m-0">
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width: 300px;">نام محصول</th>
|
||||
<th style="min-width: 100px;">قیمت واحد</th>
|
||||
<th style="min-width: 100px;">قیمت کل</th>
|
||||
<th>تعداد</th>
|
||||
<th>بابت</th>
|
||||
<th style="min-width: 50px;">عملیات</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>نام محصول</th>
|
||||
<th>قیمت واحد</th>
|
||||
<th>قیمت کل</th>
|
||||
<th>تعداد</th>
|
||||
<th>بابت</th>
|
||||
<th>عملیات</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody id="listPrds">
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<span class="button is-danger" id="btnAdd09">+</span>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">جمع فاکتور</label>
|
||||
<div class="control">
|
||||
<input disabled name="price" id="sum_all" class="input" type="text" placeholder="525.000">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<p class="has-text-centered">مبالغ پرداختی</p>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">مبلغ نقد</label>
|
||||
<div class="control">
|
||||
<input name="l_naghd" id="susall" class="input getPvalue" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">مبلغ کارت به کارت</label>
|
||||
<div class="control">
|
||||
<input name="l_kartbekart" id="susall" class="input getPvalue" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">مبلغ کارت خوان</label>
|
||||
<div class="control">
|
||||
<input name="l_kartKhan" id="susall" class="input getPvalue" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-6-desktop is-12-mobile m-0">
|
||||
<label class="label">مبلغ نیسیه</label>
|
||||
<div class="control">
|
||||
<input name="l_nesiye" id="susall" class="input getPvalue" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field is-hidden column is-6-desktop is-12-mobile m-0 l_nesiye_dateTime" id="sarresidFild01">
|
||||
<label class="label">سررسید نیسیه</label>
|
||||
<div class="control">
|
||||
<input name="l_nesiyeDateTime" id="l_nesiyeSarResid" class="input getPvalue" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<div class="field column is-6-desktop is-12-mobile m-0">
|
||||
<label class="label">مبلغ چک</label>
|
||||
<div class="control">
|
||||
<input name="l_checkPrice" id="checkPrice" class="input getPvalue" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field is-hidden column is-6-desktop is-12-mobile m-0 l_checkPrice_dateTime" id="sarresidFild01">
|
||||
<label class="label">سررسید چک</label>
|
||||
<div class="control">
|
||||
<input name="l_checkPriceSarResid" id="l_checkPriceSarResid" class="input getPvalue" type="text" placeholder="">
|
||||
</div>
|
||||
</div> !-->
|
||||
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0 is-hidden" id="sarresidFild01">
|
||||
<label class="label">سررسید</label>
|
||||
<div class="control">
|
||||
<input name="sarResidDateSL" id="sarResidDateSL" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-6-desktop is-12-mobile m-0">
|
||||
<label class="label">مبلغ تخفیف</label>
|
||||
<div class="control">
|
||||
<input name="l_takhfif" id="takhfif" class="input getPvalue" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-6-desktop is-12-mobile m-0">
|
||||
<label class="label">مانده بستانکار از قبل</label>
|
||||
<div class="control">
|
||||
<input id="bestankarGhabl" disabled name="" id="" class="input" type="text" value={{ mandehesabCs }}>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">توضیحات فاکتور فاکتور</label>
|
||||
<div class="control">
|
||||
<textarea id="Fdesc" class="textarea" placeholder="بابت؟"></textarea> </div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<span id="submitFactor" class="button is-danger">ثبت فاکتور</span>
|
||||
</div>
|
||||
|
||||
<form id="subFactor" class="is-hidden" method="post" action="{% url 'admin_panel:newFactor2' customer.id %}">
|
||||
{% csrf_token %}
|
||||
<input required id="prdsList" type="text" name="prdsList">
|
||||
<input id="sarResidDate" type="text" name="sarResidDate">
|
||||
<input required id="payType" type="text" name="payType">
|
||||
<input required id="FactorDate" type="text" name="FactorDate">
|
||||
<input id="FactorDesc" type="text" name="FactorDesc">
|
||||
<input id="FactorPardakhti" type="text" name="pardakhti">
|
||||
<input id="PardakhtHa" type="text" name="PardakhtHa">
|
||||
<input type="submit">
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
{% block BodyCustomer2 %}
|
||||
<div id="addNewIteam" class="modal">
|
||||
<div class="modal-background closeNewIteam"></div>
|
||||
<div class="modal-content">
|
||||
<div class="">
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">دسته محصول</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="categoryS" style="width: 100%;">
|
||||
<option></option>
|
||||
{% for cat in categorys %}
|
||||
<option value="{{ cat.id }}">{{ cat.category_name }}</option>
|
||||
{% endfor %}
|
||||
<option value="ojrat">اجرت</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="productFeilds">
|
||||
|
||||
|
||||
<div id="productS" class="columns is-mobile is-multiline ">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0 ojrat is-hidden">
|
||||
<label class="label">شرح و توضیحات</label>
|
||||
<div class="control">
|
||||
<input name="ojratDS" id="ojratDS" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0 ojrat is-hidden">
|
||||
<label class="label">قیمت کل </label>
|
||||
<div class="control">
|
||||
<input name="" id="priceKol" class="input" type="number" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<p class="control">
|
||||
<span id="add_ojrat" class="button is-fullwidth is-success ojrat is-hidden">
|
||||
افزودن اجرت
|
||||
</span>
|
||||
<span id="msg_mojodi" class="is-hidden">
|
||||
تعداد یا موجودی نامعتبر است
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="modal-close is-large closeNewIteam" aria-label="close"></button>
|
||||
</div>
|
||||
|
||||
<div class="modal" id="disablePage">
|
||||
<div class="modal-background"></div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
//$($(".boxPrdborder")[66]).find("input[type='radio']:checked").val()
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,206 @@
|
||||
{% extends "./customerBaseNew.html" %}
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
|
||||
{% block BodyCustomer1 %}
|
||||
<div id="newFactor" class="column is-12-mobile is-12-desktop ">
|
||||
<h1 class="has-text-centered has-text-weight-bold ">ایجاد فاکتور جدید</h1>
|
||||
<div class="columns is-multiline is-mobile">
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نام مشتری</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ customer.name_family }}" name="installDate" id="persianDateP" class="input" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نوع فاکتور</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="FactorType" id="FactorType" required style="width: 100%;">
|
||||
<option></option>
|
||||
<option value="Khadamat">خدمات</option>
|
||||
<option value="Nasb">نصب</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ فاکتور</label>
|
||||
<div class="control">
|
||||
<input disabled id="FpayDate" value="" id="persianDateP" class="input" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="table-container column is-12-desktop is-12-mobile m-0">
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width: 300px;">نام محصول</th>
|
||||
<th style="min-width: 100px;">قیمت واحد</th>
|
||||
<th style="min-width: 100px;">قیمت کل</th>
|
||||
<th>تعداد</th>
|
||||
<th>بابت</th>
|
||||
<th style="min-width: 50px;">عملیات</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>نام محصول</th>
|
||||
<th>قیمت واحد</th>
|
||||
<th>قیمت کل</th>
|
||||
<th>تعداد</th>
|
||||
<th>بابت</th>
|
||||
<th>عملیات</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody id="listPrds">
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<span class="button is-danger" id="btnAdd09">+</span>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">جمع فاکتور</label>
|
||||
<div class="control">
|
||||
<input disabled name="price" id="sum_all" class="input" type="text" placeholder="525.000">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نحوه پرداخت</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="FpayType" id="FpayType" required style="width: 100%;">
|
||||
<option></option>
|
||||
<option value="naghd">نقد</option>
|
||||
<option value="cardToCard">کارت به کارت</option>
|
||||
<option value="kartKhan">کارت خوان</option>
|
||||
<option value="nesiye">نسیه</option>
|
||||
<option value="check">چک</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="pardakhti" class="field column is-4-desktop is-12-mobile m-0 is-hidden">
|
||||
<label class="label">مبلغ پرداختی در محل</label>
|
||||
<div class="control">
|
||||
<input id="pardakhtiVal" name="pardakhti" class="input" type="number" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0 is-hidden" id="sarresidFild01">
|
||||
<label class="label">سررسید</label>
|
||||
<div class="control">
|
||||
<input name="sarResidDateSL" id="sarResidDateSL" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">توضیحات فاکتور فاکتور</label>
|
||||
<div class="control">
|
||||
<textarea id="Fdesc" class="textarea" placeholder="بابت؟"></textarea> </div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<span id="submitFactor" class="button is-danger" id="btnAdd09">ثبت فاکتور</span>
|
||||
</div>
|
||||
|
||||
<form id="subFactor" class="is-hidden" method="post" action="{% url 'admin_panel:newFactor' customer.id %}">
|
||||
{% csrf_token %}
|
||||
<input required id="prdsList" type="text" name="prdsList">
|
||||
<input id="sarResidDate" type="text" name="sarResidDate">
|
||||
<input required id="payType" type="text" name="payType">
|
||||
<input required id="FactorDate" type="text" name="FactorDate">
|
||||
<input id="FactorDesc" type="text" name="FactorDesc">
|
||||
<input id="FactorPardakhti" type="text" name="pardakhti">
|
||||
<input type="submit">
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
{% block BodyCustomer2 %}
|
||||
<div id="addNewIteam" class="modal">
|
||||
<div class="modal-background closeNewIteam"></div>
|
||||
<div class="modal-content">
|
||||
<div class="">
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">دسته محصول</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="categoryS" style="width: 100%;">
|
||||
<option></option>
|
||||
{% for cat in categorys %}
|
||||
<option value="{{ cat.id }}">{{ cat.category_name }}</option>
|
||||
{% endfor %}
|
||||
<option value="ojrat">اجرت</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="productFeilds">
|
||||
|
||||
|
||||
<div id="productS" class="columns is-mobile is-multiline ">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0 ojrat is-hidden">
|
||||
<label class="label">شرح و توضیحات</label>
|
||||
<div class="control">
|
||||
<input name="ojratDS" id="ojratDS" class="input" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0 ojrat is-hidden">
|
||||
<label class="label">قیمت کل </label>
|
||||
<div class="control">
|
||||
<input name="" id="priceKol" class="input" type="number" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<p class="control">
|
||||
<span id="add_ojrat" class="button is-fullwidth is-success ojrat is-hidden">
|
||||
افزودن اجرت
|
||||
</span>
|
||||
<span id="msg_mojodi" class="is-hidden">
|
||||
تعداد یا موجودی نامعتبر است
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="modal-close is-large closeNewIteam" aria-label="close"></button>
|
||||
</div>
|
||||
|
||||
<div class="modal" id="disablePage">
|
||||
<div class="modal-background"></div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
//$($(".boxPrdborder")[66]).find("input[type='radio']:checked").val()
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,124 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
|
||||
{% block bodyPage %}
|
||||
|
||||
<div class="column is-12-mobile is-12-desktop ">
|
||||
|
||||
<div class="columns is-mobile is-multiline is-centered">
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
<div class="field column is-2-desktop is-12-mobile m-0 is-hidden">
|
||||
<label class="label">کاربر</label>
|
||||
<div class="select is-fullwidth">
|
||||
<select id="actionChangeUser" class="">
|
||||
<option>نام کاربر را انتخاب کنید</option>
|
||||
{% for user in allUsers %}
|
||||
<option value="{{ user.id }}">{{ user.first_name }} {{ user.last_name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<div class="field column is-2-desktop is-6-mobile m-0 is-hidden">
|
||||
<label class="label">تاریخ</label>
|
||||
<div class="control">
|
||||
<input type="text" class="input dateTimeActionList">
|
||||
<input id="dateTimeActionListAlt" name="dateTimeActionListAlt" required type="text" class="input is-hidden dateTimeActionListAlt">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-2-desktop is-6-mobile m-0">
|
||||
<label class="label">وضعیت</label>
|
||||
<div class="select is-fullwidth">
|
||||
<select id="actionStatus">
|
||||
<option value="">وضعیت</option>
|
||||
<option value="waite">در انتظار</option>
|
||||
<option value="finish">انجام شده</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="columns is-mobile is-multiline is-centered">
|
||||
|
||||
{% include 'admin_panel/customerRezayatinc.html' with bgBox="actionBoxSefid" %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$("#actionStatus").change(function(){
|
||||
var url089 = window.location.href
|
||||
//alert(url089)
|
||||
url089 = new URL(url089);
|
||||
url089.searchParams.set('status', $(this).val());
|
||||
//alert(url089.toString());
|
||||
window.location.href = url089.toString();
|
||||
```if (url089.includes("dateTime")){
|
||||
window.location.href = url089+"&status="+$(this).val();
|
||||
}else{
|
||||
window.location.href = url089+"?status="+$(this).val();
|
||||
}```
|
||||
});
|
||||
var changeDateTime = function(){
|
||||
//var url089 = window.location.href
|
||||
dateTimeAlt = $("#dateTimeActionListAlt").val();
|
||||
var url089 = window.location.href
|
||||
//alert(url089)
|
||||
url089 = new URL(url089);
|
||||
url089.searchParams.set('dateTime', dateTimeAlt);
|
||||
//alert(url089.toString());
|
||||
window.location.href = url089.toString();
|
||||
|
||||
```if (url089.includes("status")){
|
||||
window.location.href = url089+"&dateTime="+dateTimeAlt;
|
||||
}else{
|
||||
window.location.href = url089+"?dateTime="+dateTimeAlt;
|
||||
}```
|
||||
//var urlActionListUser = "{% url 'admin_panel:ActionListUserToday' 5555 %}"
|
||||
//urlActionListUser = urlActionListUser.replace("5555", {{ u_id }});
|
||||
//window.location.href = urlActionListUser+"?dateTime="+$("#dateTimeActionListAlt").val();
|
||||
}
|
||||
var dateTimePickerAnjam = $(".dateTimeActionList").pDatepicker({
|
||||
altField: '.dateTimeActionListAlt',
|
||||
initialValue: true,
|
||||
initialValueType: 'persian',
|
||||
autoClose: true,
|
||||
format: 'YYYY/MM/DD',
|
||||
onHide: changeDateTime,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
timePicker: {
|
||||
enabled: false,
|
||||
second:{
|
||||
enabled: false,
|
||||
}
|
||||
},
|
||||
});
|
||||
{% if unixADT %}
|
||||
dateTimePickerAnjam.setDate({{ unixADT }});
|
||||
{% endif %}
|
||||
$("#actionChangeUser").change(function(){
|
||||
var user_id = $(this).val();
|
||||
//alert(user_id)
|
||||
{% if unixADT %}
|
||||
var urlActionDTC = window.location.href
|
||||
urlActionDTC = urlActionDTC.replace("ActionList/{{ u_id }}/", "ActionList/"+user_id+"/")
|
||||
window.location.href = urlActionDTC;
|
||||
{% else %}
|
||||
var urlActionListUser = "{% url 'admin_panel:ActionListUserToday' 5555 %}"
|
||||
urlActionListUser = urlActionListUser.replace("5555", user_id);
|
||||
window.location.href = urlActionListUser;
|
||||
{% endif %}
|
||||
});
|
||||
{% if u_id %}
|
||||
$("#actionChangeUser").val({{ u_id }})
|
||||
{% endif %}
|
||||
{% if status %}
|
||||
$("#actionStatus").val('{{ status }}')
|
||||
{% endif %}
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,256 @@
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
<div id="action" class="column is-12-mobile is-6-desktop">
|
||||
|
||||
{% for action in actions %}
|
||||
<div customer_id='{{ action.customer.id }}' action_id='{{ action.id }}' class="columns is-mobile is-multiline is-gapless actionBox {{ bgBox }}">
|
||||
<div class="column is-12-mobile is-12-desktop actionBoxDesc actionBoxOpenB">
|
||||
<div class="pr-4 pl-4 pb-4 pt-4">
|
||||
{% ifequal action.status 'finish' %}
|
||||
<img class="" style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/check.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
{% ifequal action.status 'waite' %}
|
||||
<img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/time1.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
{% ifequal action.status 'cancell' %}
|
||||
<img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/cancell.png' %}">
|
||||
{% endifequal %}
|
||||
|
||||
<span class="is-bazdid">{% ifequal action.actionType 'nasb' %}نصب{% endifequal %}{% ifequal action.actionType 'bazdid' %}بازدید{% endifequal %}{% ifequal action.actionType 'vosol' %}وصول مطالبات{% endifequal %}{% ifequal action.actionType 'hamahangi' %}هماهنگی{% endifequal %}{% ifequal action.actionType 'inCall' %}تماس ورودی{% endifequal %}{% ifequal action.actionType 'outCall' %}تماس خروجی{% endifequal %}</span>
|
||||
<span class="pr-3">{{ action.desc }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12-mobile is-12-desktop actionBoxOpenB">
|
||||
<div class="pr-4 pl-4 pb-4 pt-4 actionBoxBorder">
|
||||
<span class="is-result">نتیجه</span>
|
||||
<span>{% if action.result %} {{ action.result }} {% else %}هنوز گزارش یا نتیجه ای ثبت نشده!{% endif %}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="column is-4-mobile is-4-desktop">
|
||||
<div class="has-text-centered p-3">
|
||||
<span class="ss02">{{ action.actionDateTime | toJalali }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="column is-8-mobile is-4-desktop">
|
||||
<div class="has-text-centered actionBoxFtBox p-3">
|
||||
<a href="{% url 'admin_panel:customerNew' action.customer.id %}">
|
||||
<span>{{ action.customer.name_family }}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="column is-12-mobile is-4-desktop is-hidden-mobile">
|
||||
<div class="has-text-centered p-3">
|
||||
<span>{{ action.forUser.first_name }} {{ action.forUser.last_name }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<form id="ActionBox" class="modal" method="post" action="">
|
||||
|
||||
{% csrf_token %}
|
||||
<div class="modal-background closeActionBox"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title is-hidden">ایجاد وظیفه</p>
|
||||
<button class="delete closeActionBox" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
|
||||
<div class="columns is-mobile is-multiline">
|
||||
|
||||
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<div class="control" id="customerData">
|
||||
<p id="csName" class="has-text-centered is-size-4 ">محمد جواد فصاحت</p>
|
||||
<p class="has-text-centered is-size-5 csphones">
|
||||
<span id="csphone1" class="is-hidden hidephone"></span>
|
||||
<span id="csphone2" class="is-hidden hidephone"></span>
|
||||
<span id="csphone3" class="is-hidden hidephone"></span></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<div class="control">
|
||||
<label class="label mb-0">نکات و نظر مشتری:</label>
|
||||
<p class="is-size-7 "> </p>
|
||||
<textarea id="csDesc" required name="csDesc" class="textarea " placeholder="مثلا: بامشتری تماس بگیرم برای هماهنگی تعویض فیلتر دستگاه"></textarea>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-6-desktop is-6-mobile m-0">
|
||||
<label class="label">توسط</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select disabled id="userID" required name="userID" style="width: 100%;">
|
||||
<option>انتخاب کنید</option>
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
{% for auser in allUsers %}
|
||||
<option value="{{ auser.id }}">{{ auser.first_name }} {{ auser.last_name }}</option>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
<option value="{{ request.user.id }}">{{ request.user.first_name }} {{ request.user.last_name }}</option>
|
||||
{% endif %}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-6-desktop is-6-mobile m-0">
|
||||
<label class="label">امتیاز مشتری</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select" style="width: 100%;">
|
||||
<select id="csGrade" required name="csGrade" style="width: 100%;">
|
||||
<option value="">انتخاب کنید</option>
|
||||
<option value="20">عالی</option>
|
||||
<option value="15">متوسط</option>
|
||||
<option value="10">ضعیف</option>
|
||||
<option value="5">بد</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<span class="button">حذف</span>
|
||||
<span class="button">لغو</span>
|
||||
<!--
|
||||
<button class="button closeActionBox">بستن</button>!-->
|
||||
<input id="sabtBtn05" type="submit" class="button is-success" value="ثبت"/>
|
||||
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
<script>
|
||||
$(".closeActionBox").click(function(){
|
||||
$("#ActionBox").removeClass("is-active");
|
||||
});
|
||||
|
||||
$("#showActionBox").click(function(){
|
||||
$("#ActionBox").addClass("is-active");
|
||||
{% if customer %}
|
||||
var NewActionUrl ="{% url 'admin_panel:customerNewAction' customer.id %}";
|
||||
$("#ActionBox").prop("action", NewActionUrl);
|
||||
{% endif %}
|
||||
$("#actionType").val('');
|
||||
$("#desc").val('');
|
||||
$("#userID").val('');
|
||||
$("#checkIsDone").prop('checked', false);
|
||||
$(".showWhenDone").addClass("is-hidden");
|
||||
$("#actionResult").val('');
|
||||
dateTimePickerAnjam.setDate();
|
||||
dateTimePickerFinish.setDate();
|
||||
$("#sabtBtn05").val("ثبت");
|
||||
});
|
||||
|
||||
$("#checkIsDone").change(function() {
|
||||
if(this.checked) {
|
||||
$(".showWhenDone").removeClass("is-hidden");
|
||||
}else{
|
||||
$(".showWhenDone").addClass("is-hidden");
|
||||
}
|
||||
});
|
||||
|
||||
$(".actionBoxOpenB").click(function(){
|
||||
$(".hidephone").addClass("is-hidden");
|
||||
$("#csDesc").val("")
|
||||
$("#csGrade").val("")
|
||||
//$("#sabtBtn05").val("ویرایش");
|
||||
var actionEditUrl = "{% url 'admin_panel:rezayatEdit' 2222 %}";
|
||||
var action_id = $(this).parent().attr("action_id");
|
||||
var customer_id = $(this).parent().attr("customer_id");
|
||||
//actionEditUrl = actionEditUrl.replace('1111', customer_id);
|
||||
actionEditUrl = actionEditUrl.replace('2222', action_id);
|
||||
|
||||
$("#csphone1")
|
||||
$.getJSON('/panel/CustomerJson/'+customer_id, function(data) {
|
||||
CustomerParseData = JSON.parse(data);
|
||||
$("#csName").html(CustomerParseData[0]['fields']['name_family']);
|
||||
var csphone1 = CustomerParseData[0]['fields']['phone1'];
|
||||
var csphone2 = CustomerParseData[0]['fields']['phone2'];
|
||||
var csphone3 = CustomerParseData[0]['fields']['phone3'];
|
||||
|
||||
if(csphone1.length>4){
|
||||
$("#csphone1").html(csphone1);
|
||||
$("#csphone1").removeClass("is-hidden");
|
||||
}
|
||||
if(csphone2.length>4){
|
||||
$("#csphone2").html(csphone2);
|
||||
$("#csphone2").removeClass("is-hidden");
|
||||
}
|
||||
if(csphone3.length>4){
|
||||
$("#csphone3").html(csphone3);
|
||||
$("#csphone3").removeClass("is-hidden");
|
||||
}
|
||||
});
|
||||
$("#ActionBox").prop("action", actionEditUrl);
|
||||
$.getJSON('/panel/ActionJson/'+action_id, function(data) {
|
||||
ActionParseData = JSON.parse(data);
|
||||
//console.log(ActionParseData)
|
||||
$("#ActionBox").addClass("is-active");
|
||||
//$("#actionType").val(ActionParseData[0]['fields']['actionType']);
|
||||
//$("#desc").val(ActionParseData[0]['fields']['desc']);
|
||||
//$("#userID").val(ActionParseData[0]['fields']['forUser']);
|
||||
//$("#actionResult").val(ActionParseData[0]['fields']['result']);
|
||||
$("#csDesc").val(ActionParseData[0]['fields']['nazar'])
|
||||
$("#csGrade").val(ActionParseData[0]['fields']['grade'])
|
||||
});
|
||||
});
|
||||
|
||||
var dateTimePickerFinish = $(".dateTimePickerFinish").pDatepicker({
|
||||
altField: '.dateTimePickerFinish-alt',
|
||||
initialValue: true,
|
||||
initialValueType: 'persian',
|
||||
format: 'YYYY/MM/DD HH:mm',
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
timePicker: {
|
||||
enabled: true,
|
||||
second:{
|
||||
enabled: false,
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
var dateTimePickerAnjam = $(".dateTimePickerAnjam").pDatepicker({
|
||||
altField: '.dateTimePickerAnjam-alt',
|
||||
initialValue: true,
|
||||
initialValueType: 'persian',
|
||||
format: 'YYYY/MM/DD HH:mm',
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
timePicker: {
|
||||
enabled: true,
|
||||
second:{
|
||||
enabled: false,
|
||||
}
|
||||
},
|
||||
})
|
||||
//.setDate(1382976091100);
|
||||
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1,311 @@
|
||||
{% extends "./customerBaseNew.html" %}
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
|
||||
{% block BodyCustomer1 %}
|
||||
|
||||
<div id="hesabdari" class="column is-12-mobile is-12-desktop ">
|
||||
<h1 class="has-text-centered has-text-weight-bold toCurrency">
|
||||
مانده چک و نسیه:
|
||||
</h1>
|
||||
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
<!--<form method="post" action="{% url 'admin_panel:customerHesabdariAdd' customer.id %}" class="columns is-mobile is-multiline is-gapless mt-5 is-centered">
|
||||
{% csrf_token %}
|
||||
<div class="column is-12-mobile is-3-desktop">
|
||||
<span class="select is-fullwidth">
|
||||
<select required name="typePy" >
|
||||
<option value="">خدمات یا نصب</option>
|
||||
<option value="">هیچکدام</option>
|
||||
<option value="khadamat">خدمات</option>
|
||||
<option value="nasb">نصب</option>
|
||||
</select>
|
||||
</span>
|
||||
</div>
|
||||
<div class="column is-12-mobile is-3-desktop">
|
||||
<span class="select is-fullwidth">
|
||||
<select required name="type" >
|
||||
<option value="">انتخاب کنید</option>
|
||||
<option value="credit">تسویه بدهی قبلی</option>
|
||||
<option value="debit">ایجاد بدهی جدید</option>
|
||||
</select>
|
||||
</span>
|
||||
</div>
|
||||
<div class="column is-12-mobile is-3-desktop ">
|
||||
<input required name="price" class="input" type="number" placeholder="مبلغ را به تومان وارد کنید">
|
||||
</div>
|
||||
<div class=" column is-12-mobile is-4-desktop ">
|
||||
<input required name="desc" class="input " type="text" placeholder="توضیحات">
|
||||
</div>
|
||||
<div class=" column is-12-mobile is-2-desktop">
|
||||
<input type="submit" class="button is-primary" value="ثبت" />
|
||||
</div>
|
||||
</form>!-->
|
||||
{% endif %}
|
||||
|
||||
<span class="button is-success mb-4" id="newSarresid">افزودن</span>
|
||||
|
||||
{% if all_sarresid %}
|
||||
<div class="table-container column is-12-desktop is-12-mobile m-0">
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width: 150px;">مبلغ</th>
|
||||
<th style="min-width: 100px;">نوع</th>
|
||||
<th style="min-width: 100px;">سررسید</th>
|
||||
<th style="min-width: 100px;">ثبت</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 100;">وضعیت</th>
|
||||
<th style="min-width: 100;">وصول شد</th>
|
||||
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th class="toCurrency" style="min-width: 150px;">مبلغ</th>
|
||||
<th style="min-width: 100px;">نوع</th>
|
||||
<th style="min-width: 100px;">سررسید</th>
|
||||
<th style="min-width: 100px;">ثبت</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 100;">وضعیت</th>
|
||||
<th style="min-width: 100;">وصول شد</th>
|
||||
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody id="listPrds">
|
||||
|
||||
{% for sarresid in all_sarresid %}
|
||||
<tr class="IteamPrd">
|
||||
<td>
|
||||
<span class="bedehkar toCurrency">{{ sarresid.price }}</span>
|
||||
<span class=" is-hidden"></span>
|
||||
</td>
|
||||
<td class="">
|
||||
{% if sarresid.type == 'check' %}چک{% endif %}
|
||||
{% if sarresid.type == 'nesiye' %}نسیه{% endif %}
|
||||
|
||||
</td>
|
||||
<td class="">{{ sarresid.sarresidDT | toJalali }}</td>
|
||||
<td class="">{{ sarresid.createdDT | toJalali }}</td>
|
||||
<td class="desc">
|
||||
{% if sarresid.desc %}
|
||||
{{ sarresid.desc }}
|
||||
{% endif %}
|
||||
{% if sarresid.factor.id %}
|
||||
فاکتور شماره {{ sarresid.factor.id }}
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
<td class="">
|
||||
{% if sarresid.payStatus == "true" %}پرداخت شده{% endif %}
|
||||
{% if sarresid.payStatus == "false" %}پرداخت نشده{% endif %}
|
||||
</td>
|
||||
|
||||
<td class="">
|
||||
{% if sarresid.payStatus == "false" %}
|
||||
<span class="button is-danger VosolButton" price={{ sarresid.price }} type={{ sarresid.type }} articlID={{ sarresid.id }}>وصول شد</span>
|
||||
{% else %}
|
||||
<span>بله</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<form class="modal modalAddNew" method="post" action="{% url 'admin_panel:addSarresid' customer.id %}">
|
||||
{% csrf_token %}
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">سررسید جدید</p>
|
||||
<button class="delete" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
|
||||
|
||||
<div class="field">
|
||||
<label class="label">نوع</label>
|
||||
<div class="control">
|
||||
<div class="select is-fullwidth">
|
||||
<select required class="reset_input" name="n_sarresidType">
|
||||
<option></option>
|
||||
<option value="check">چک</option>
|
||||
<option value="nesiye">نسیه</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label">مبلغ</label>
|
||||
<div class="control">
|
||||
<input name="n_sarresidPrice" required class="input reset_input" type="text" placeholder="واحد تومان">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label">تاریخ</label>
|
||||
<div class="control">
|
||||
<input name="xxxxxaaaa" required class="input reset_input" id="NewSarResid" type="text">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input required type="text" class="is-hidden reset_input" name="n_sarresidDateTime" id="NewSarResidVal">
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<input type="submit" class="button is-success" value="ثبت">
|
||||
<span class="button cancellBTNSR">لغو</span>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
<form class="modal nesiyeModal" method="post" action="{% url 'admin_panel:pardakhtNesiye' customer.id %}">
|
||||
{% csrf_token %}
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">نسیه</p>
|
||||
<button class="delete" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
|
||||
|
||||
<div class="field">
|
||||
<label class="label">مانده از این نسیه</label>
|
||||
<div class="control">
|
||||
<input id="priceBedehi" disabled class="input reset_input" type="text" placeholder="واحد تومان">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input name="sr_articlID" id="sr_articlID" class="input reset_input is-hidden" type="text">
|
||||
|
||||
|
||||
<div class="field">
|
||||
<label class="label">مبلغ پرداختی فعلی</label>
|
||||
<div class="control">
|
||||
<input name="next_sarresidPrice" required class="input reset_input" type="text" placeholder="واحد تومان">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label">نحوه پرداخت</label>
|
||||
<div class="control">
|
||||
<div class="select is-fullwidth">
|
||||
<select required class="reset_input" name="nahvePardakht">
|
||||
<option></option>
|
||||
<option value="naghd">نقد</option>
|
||||
<option value="kartbekart">کارت به کارت</option>
|
||||
<option value="kartkhan">کارت خوان</option>
|
||||
<option value="takhfif">تخفیف</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label">سررسید بعدی</label>
|
||||
<div class="control">
|
||||
<input name="xxxxxaaaa" required class="input reset_input" id="NextSarResid" type="text">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label">توضیحات</label>
|
||||
<div class="control">
|
||||
<textarea name="desc_sar" class="input"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input required type="text" class="is-hidden reset_input" name="next_sarresidDateTime" id="NextSarResidVal">
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<input type="submit" class="button is-success" value="ثبت">
|
||||
<span class="button cancellBTNSR">لغو</span>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
$("#newSarresid").click(function(){
|
||||
$(".modalAddNew").addClass("is-active")
|
||||
});
|
||||
|
||||
$(".modal-background").click(function(){
|
||||
$(".modal").removeClass("is-active");
|
||||
$('.reset_input').val('');
|
||||
})
|
||||
$(".cancellBTNSR").click(function(){
|
||||
$(".modal").removeClass("is-active");
|
||||
$('.reset_input').val('');
|
||||
})
|
||||
|
||||
$("#NewSarResid").pDatepicker({
|
||||
initialValue: false,
|
||||
initialValueType: 'en',
|
||||
format: 'YYYY/MM/DD',
|
||||
autoClose: true,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
onSelect: (unix)=>{
|
||||
$("#NewSarResidVal").val(unix)
|
||||
}
|
||||
});
|
||||
|
||||
$("#NextSarResid").pDatepicker({
|
||||
initialValue: false,
|
||||
initialValueType: 'en',
|
||||
format: 'YYYY/MM/DD',
|
||||
autoClose: true,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
onSelect: (unix)=>{
|
||||
$("#NextSarResidVal").val(unix)
|
||||
}
|
||||
});
|
||||
|
||||
$(".VosolButton").click(function(){
|
||||
|
||||
var articlID = $(this).attr("articlID")
|
||||
var type = $(this).attr("type")
|
||||
var price = $(this).attr("price")
|
||||
|
||||
if(type=="check"){
|
||||
if( confirm('چک وصول شده؟') ){
|
||||
if( confirm('در صورتی که از پاس شدن چک اطمینان دارید تایید کنید') ){
|
||||
window.location.href = '/panel/passCheck/'+articlID;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$(".nesiyeModal").addClass("is-active");
|
||||
$("#priceBedehi").val(price);
|
||||
$("#sr_articlID").val(articlID)
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,307 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
|
||||
{% block bodyPage %}
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12">
|
||||
<div class="buttons">
|
||||
{% if perms.admin_panel.AddCustomer %}
|
||||
<a href="#" id="addNewUser" class="button is-info is-active is-rounded mr-0">ایجاد مشتری جدید</a>
|
||||
{% endif %}
|
||||
<a href="#" id="openSearchBox" class="button is-info is-outlined is-rounded mr-0">جستجو</a>
|
||||
</div>
|
||||
<a class="button is-danger is-info mb-3 {% if searchStatus %} {% else %} is-hidden {% endif %}" href="{% url 'admin_panel:customers' %}">لغو جستجو و مشاهده همه</a>
|
||||
{% if perms.admin_panel.ViewStore or searchStatus %}
|
||||
<div class="table-container">
|
||||
<table class="table has-text-centered is-bordered is-striped is-narrow is-hoverable is-fullwidth ss02 ">
|
||||
<!-- Your table content -->
|
||||
<thead>
|
||||
<tr style="
|
||||
background: #33b5d3;
|
||||
">
|
||||
|
||||
<th style="min-width: 200px;">کدشناسایی</th>
|
||||
<th style="min-width: 200px;">نام و نام خانودگی</th>
|
||||
<th >آخرین بازدید</th>
|
||||
<th style="min-width: 150px;">تاریخ نصب</th>
|
||||
<th >تلفن</th>
|
||||
<th style="min-width: 400px;">آدرس</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for customer in customersD %}
|
||||
<tr>
|
||||
<td>{{ customer.idCode }}</td>
|
||||
<td>
|
||||
<input class="is-hidden fid fidv-{{ customer.id }}" value="{{ customer.id }}">
|
||||
<a href="{% url 'admin_panel:customerNew' customer.id %}" class="tdvl openRow name">
|
||||
{% if customer.name_family|length >= 2 %} {{ customer.name_family }} {% else %} نامعلوم {% endif %}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl lastView">
|
||||
خالی
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl installDate">
|
||||
{{ customer.installDate | toJalali }}
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl mobile_1">
|
||||
{{ customer.phone1 }}
|
||||
</div>
|
||||
<div class="tdvl is-hidden mobile_2">
|
||||
{{ customer.phone2 }}
|
||||
</div>
|
||||
<div class="tdvl is-hidden mobile_3">
|
||||
{{ customer.phone3 }}
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl address">
|
||||
{{ customer.address }}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<!--
|
||||
<div class="">
|
||||
{% if customersD.has_previous %}
|
||||
<a class="button is-danger" href="{{ full_path }}{% if searchStatus %}&{% else %}?{% endif %}page={{ customersD.previous_page_number }}">صفحه قبل</a>
|
||||
{% endif %}
|
||||
|
||||
{% if customersD.has_next %}
|
||||
<a class="button is-danger" href="{{ full_path }}{% if searchStatus %}&{% else %}?{% endif %}page={{ customersD.next_page_number }}">صفحه بعد</a>
|
||||
{% endif %}
|
||||
</div>!-->
|
||||
|
||||
<div class="">
|
||||
{% if customersD.has_previous %}
|
||||
<a class="button is-danger" href="?{% if searchVal %}searchVal={{ searchVal }}&searchOn={{ searchOn }}{% endif %}&page={{ customersD.previous_page_number }}">صفحه قبل</a>
|
||||
{% endif %}
|
||||
|
||||
{% if customersD.has_next %}
|
||||
<a class="button is-danger" href="?{% if searchVal %}searchVal={{ searchVal }}&searchOn={{ searchOn }}{% endif %}&page={{ customersD.next_page_number }}">صفحه بعد</a>
|
||||
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal SearchBox">
|
||||
<div class="modal-background closeSearch"></div>
|
||||
<div class="modal-content">
|
||||
<!-- -->
|
||||
<form method="get" class="columns is-mobile is-multiline">
|
||||
<div class="field column is-7-desktop is-12-mobile m-0">
|
||||
<label class="label">جستجو کنید</label>
|
||||
<div class="control">
|
||||
<input name="searchVal" class="input search" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-5-desktop is-12-mobile m-0">
|
||||
<label class="label">فیلد</label>
|
||||
<div class="select">
|
||||
<select name="searchOn">
|
||||
<option value="name">نام و نام خانوادگی</option>
|
||||
<option value="code">کدمشتری</option>
|
||||
<option value="phone">تلفن</option>
|
||||
<option value="address">آدرس</option>
|
||||
<option value="laghv">لغو بازدید</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<input class="button is-success" id="searchbtn" value="جستجو مشتری" type="submit">
|
||||
</div>
|
||||
<!-- -->
|
||||
</form>
|
||||
|
||||
|
||||
</div>
|
||||
<button class="modal-close is-large closeSearch" aria-label="close"></button>
|
||||
</div>
|
||||
|
||||
<div class="modal addNewUser">
|
||||
<div class="modal-background closeAddUser"></div>
|
||||
<div class="modal-content">
|
||||
<form action="{% url 'admin_panel:customersAdd' %}" class="columns is-mobile is-multiline" method="post">
|
||||
{% csrf_token %}
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نام ونام خانوادگی</label>
|
||||
<div class="control">
|
||||
<input required name="an_name" class="input an_name" type="text" placeholder="نام نام خانوادگی">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-8-desktop is-12-mobile m-0">
|
||||
<label class="label">آدرس</label>
|
||||
<div class="control">
|
||||
<input name="an_address" class="input an_address" type="text" placeholder="آدرس کامل">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تلفن همراه</label>
|
||||
<div class="control">
|
||||
<input name="phone1" id="phone-1" class="input an_phone" type="text" placeholder="تلفن 1">
|
||||
<input name="phone2" id="phone-2" class="input an_phone" type="text" placeholder="تلفن 2">
|
||||
<input name="phone3" id="phone-3" class="input an_phone" type="text" placeholder="تلفن 3">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ نصب</label>
|
||||
<div class="control">
|
||||
<input name="installDate" id="persianDateP" class="input installDate" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">کدشناسایی</label>
|
||||
<div class="control">
|
||||
<input name="idnCode" class="input idnCode" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<input class="button is-success" id="DcreateCS" value="ایجاد مشتری" type="submit">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
</div>
|
||||
<button class="modal-close is-large closeAddUser" aria-label="close"></button>
|
||||
</div>
|
||||
|
||||
<div class="modal mEdit1">
|
||||
<div class="modal-background closeAddUser"></div>
|
||||
<div class="modal-content">
|
||||
<div class="columns is-mobile is-multiline">
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نام ونام خانوادگی</label>
|
||||
<div class="control">
|
||||
<input class="input uv_name" type="text" placeholder="نام نام خانوادگی">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-8-desktop is-12-mobile m-0">
|
||||
<label class="label">آدرس</label>
|
||||
<div class="control">
|
||||
<input class="input uv_address" type="text" placeholder="آدرس کامل">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تلفن همراه</label>
|
||||
<div class="control">
|
||||
<input name="phone-1" id="phone-1" class="input uv_phone" type="text" placeholder="تلفن 1">
|
||||
<input name="phone-2" id="phone-2" class="input uv_phone" type="text" placeholder="تلفن 2">
|
||||
<input name="phone-3" id="phone-3" class="input uv_phone" type="text" placeholder="تلفن 3">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ نصب</label>
|
||||
<div class="control">
|
||||
<input name="installDate" class="input uv_installDate" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">کدشناسایی</label>
|
||||
<div class="control">
|
||||
<input name="idnCode" class="input idnCode" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<input class="button is-success" id="editCS" value="ویرایش مشتری" type="submit">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<button class="modal-close is-large closeAddUser" aria-label="close"></button>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
kamaDatepicker('persianDateP', { buttonsColor: "red", forceFarsiDigits: true });
|
||||
|
||||
|
||||
$("#createCS").click(function(){
|
||||
var u_name = $(".addNewUser").find('.an_name').val();
|
||||
var u_address = $(".addNewUser").find('.an_address').val();
|
||||
var u_phone1 = $(".addNewUser").find('#phone-1').val();
|
||||
var u_phone2 = $(".addNewUser").find('#phone-2').val();
|
||||
var u_phone3 = $(".addNewUser").find('#phone-3').val();
|
||||
var u_installDate = $(".addNewUser").find('.installDate').val();
|
||||
alert("Ok send To server");
|
||||
$(".addNewUser").removeClass("is-active");
|
||||
|
||||
$(".addNewUser").find('.an_name').val('');
|
||||
$(".addNewUser").find('.an_address').val('');
|
||||
$(".addNewUser").find('#phone-1').val('');
|
||||
$(".addNewUser").find('#phone-2').val('');
|
||||
$(".addNewUser").find('#phone-3').val('');
|
||||
$(".addNewUser").find('.installDate').val('');
|
||||
//Refresh page
|
||||
|
||||
});
|
||||
$(".modal-close, .modal-background").click(function(){
|
||||
$(".mEdit1").removeClass("is-active")
|
||||
});
|
||||
$(".closeSearch").click(function(){
|
||||
$(".SearchBox").removeClass("is-active")
|
||||
});
|
||||
$(".closeAddUser").click(function(){
|
||||
$(".addNewUser").removeClass("is-active");
|
||||
$(".addNewUser").find('.an_name').val('');
|
||||
$(".addNewUser").find('.an_address').val('');
|
||||
$(".addNewUser").find('#phone-1').val('');
|
||||
$(".addNewUser").find('#phone-2').val('');
|
||||
$(".addNewUser").find('#phone-3').val('');
|
||||
$(".addNewUser").find('.installDate').val('');
|
||||
});
|
||||
|
||||
|
||||
$("#addNewUser").click(function(){
|
||||
$(".addNewUser").addClass("is-active")
|
||||
});
|
||||
$("#openSearchBox").click(function(){
|
||||
$(".SearchBox").addClass("is-active")
|
||||
});
|
||||
$("#bedehiCN01").click(function(){
|
||||
var factorId = $(this).parent().parent().find(".fid").val();
|
||||
if ($("#bedehiStatus").val() == "tasfiye"){
|
||||
alert("send To server to tasfiye");
|
||||
$("tbody").find('.fidv-'+factorId).parent().parent().remove();
|
||||
$(".mEdit1").removeClass("is-active");
|
||||
}
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,387 @@
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html dir="rtl">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Hello Bulma!</title>
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/bulma.min.css' %}">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/bulma-rtl.min.css' %}">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/DataTables/datatables.min.css' %}"/>
|
||||
<script type="text/javascript" src="{% static 'admin_panel/DataTables/datatables.min.js' %}"></script>
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/style.css' %}">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar is-primary is-fixed-top" role="navigation" aria-label="main navigation">
|
||||
<div class="navbar-brand">
|
||||
<a class="navbar-item" href="https://bulma.io">
|
||||
<img src="./images/bulma-logo.png" width="112" height="28">
|
||||
</a>
|
||||
|
||||
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="navbarBasicExample" class="navbar-menu">
|
||||
<div class="navbar-start mr-0">
|
||||
<a class="navbar-item">
|
||||
اصلی
|
||||
</a>
|
||||
|
||||
<a class="navbar-item">
|
||||
مشتریان
|
||||
</a>
|
||||
|
||||
<a class="navbar-item">
|
||||
انبار
|
||||
</a>
|
||||
|
||||
<a class="navbar-item">
|
||||
کاربران
|
||||
</a>
|
||||
|
||||
<a class="navbar-item">
|
||||
کاربران
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="navbar-end ml-0">
|
||||
<div class="navbar-item">
|
||||
<div class="buttons">
|
||||
<a class="button is-primary">
|
||||
<strong>Sign up</strong>
|
||||
</a>
|
||||
<a class="button is-light">
|
||||
Log in
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0 mt-6 pt-3 is-centered pb0Nested">
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-info has-text-white ">
|
||||
<p>253.000.000</p>
|
||||
<p>بدهی سر رسید شده</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-danger has-text-white">
|
||||
<p>4589</p>
|
||||
<p>تعدادکل مشتریان</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-info has-text-white">
|
||||
<p>12</p>
|
||||
<p>در انتظار تکمیل رضایتمندی</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-info has-text-white">
|
||||
<p>193</p>
|
||||
<p>6 ماه از آخرین بازدید گذشته</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-info has-text-white">
|
||||
<p>23</p>
|
||||
<p>صف بازدید</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="columns m-0">
|
||||
|
||||
<div class="column is-12">
|
||||
<div class="buttons">
|
||||
<a href="#" id="addNewUser" class="button is-info is-active is-rounded mr-0">ایجاد مشتری جدید</a>
|
||||
<a href="#" id="openSearchBox" class="button is-info is-outlined is-rounded mr-0">جستجو</a>
|
||||
</div>
|
||||
<div class="table-container">
|
||||
<table class="table has-text-centered is-bordered is-striped is-narrow is-hoverable is-fullwidth">
|
||||
<!-- Your table content -->
|
||||
<thead>
|
||||
<tr style="
|
||||
background: #33b5d3;
|
||||
">
|
||||
<th >ردیف</th>
|
||||
<th style="min-width: 200px;">نام و نام خانودگی</th>
|
||||
<th >آخرین بازدید</th>
|
||||
<th style="min-width: 150px;">تاریخ نصب</th>
|
||||
<th >تلفن</th>
|
||||
<th style="min-width: 400px;">آدرس</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>
|
||||
<input class="is-hidden fid fidv-20" value="20">
|
||||
<div class="tdvl openRow name">
|
||||
فرشته یاوری
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl lastView">
|
||||
1400/05/04
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl installDate">
|
||||
1400/01/09
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl mobile_1">
|
||||
09384999655
|
||||
</div>
|
||||
<div class="tdvl is-hidden mobile_2">
|
||||
09384999655
|
||||
</div>
|
||||
<div class="tdvl is-hidden mobile_3">
|
||||
09384999655
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl address">
|
||||
تست
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal SearchBox">
|
||||
<div class="modal-background closeSearch"></div>
|
||||
<div class="modal-content">
|
||||
<div class="columns is-mobile is-multiline">
|
||||
|
||||
<div class="field column is-7-desktop is-12-mobile m-0">
|
||||
<label class="label">جستجو کنید</label>
|
||||
<div class="control">
|
||||
<input class="input search" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-5-desktop is-12-mobile m-0">
|
||||
<label class="label">فیلد</label>
|
||||
<div class="select">
|
||||
<select>
|
||||
<option>انتخاب کنید</option>
|
||||
<option>کدمشتری</option>
|
||||
<option>نام و نام خانوادگی</option>
|
||||
<option>تلفن</option>
|
||||
<option>آدرس</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<input class="button is-success" id="searchbtn" value="جستجو مشتری" type="submit">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<button class="modal-close is-large closeSearch" aria-label="close"></button>
|
||||
</div>
|
||||
|
||||
<div class="modal addNewUser">
|
||||
<div class="modal-background closeAddUser"></div>
|
||||
<div class="modal-content">
|
||||
<div class="columns is-mobile is-multiline">
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نام ونام خانوادگی</label>
|
||||
<div class="control">
|
||||
<input class="input an_name" type="text" placeholder="نام نام خانوادگی">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-8-desktop is-12-mobile m-0">
|
||||
<label class="label">آدرس</label>
|
||||
<div class="control">
|
||||
<input class="input an_address" type="text" placeholder="آدرس کامل">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تلفن همراه</label>
|
||||
<div class="control">
|
||||
<input name="phone-1" id="phone-1" class="input an_phone" type="text" placeholder="تلفن 1">
|
||||
<input name="phone-2" id="phone-2" class="input an_phone" type="text" placeholder="تلفن 2">
|
||||
<input name="phone-3" id="phone-3" class="input an_phone" type="text" placeholder="تلفن 3">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ نصب</label>
|
||||
<div class="control">
|
||||
<input name="installDate" class="input installDate" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<input class="button is-success" id="createCS" value="ایجاد مشتری" type="submit">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<button class="modal-close is-large closeAddUser" aria-label="close"></button>
|
||||
</div>
|
||||
|
||||
<div class="modal mEdit1">
|
||||
<div class="modal-background closeAddUser"></div>
|
||||
<div class="modal-content">
|
||||
<div class="columns is-mobile is-multiline">
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">نام ونام خانوادگی</label>
|
||||
<div class="control">
|
||||
<input class="input uv_name" type="text" placeholder="نام نام خانوادگی">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-8-desktop is-12-mobile m-0">
|
||||
<label class="label">آدرس</label>
|
||||
<div class="control">
|
||||
<input class="input uv_address" type="text" placeholder="آدرس کامل">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تلفن همراه</label>
|
||||
<div class="control">
|
||||
<input name="phone-1" id="phone-1" class="input uv_phone" type="text" placeholder="تلفن 1">
|
||||
<input name="phone-2" id="phone-2" class="input uv_phone" type="text" placeholder="تلفن 2">
|
||||
<input name="phone-3" id="phone-3" class="input uv_phone" type="text" placeholder="تلفن 3">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ نصب</label>
|
||||
<div class="control">
|
||||
<input name="installDate" class="input uv_installDate" type="text" placeholder="مثل: 1400/06/01">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<input class="button is-success" id="editCS" value="ویرایش مشتری" type="submit">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<button class="modal-close is-large closeAddUser" aria-label="close"></button>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#example').DataTable( {
|
||||
responsive: true,
|
||||
"language": {
|
||||
"url": "//cdn.datatables.net/plug-ins/1.11.3/i18n/fa.json"
|
||||
}
|
||||
} );
|
||||
|
||||
$("#createCS").click(function(){
|
||||
var u_name = $(".addNewUser").find('.an_name').val();
|
||||
var u_address = $(".addNewUser").find('.an_address').val();
|
||||
var u_phone1 = $(".addNewUser").find('#phone-1').val();
|
||||
var u_phone2 = $(".addNewUser").find('#phone-2').val();
|
||||
var u_phone3 = $(".addNewUser").find('#phone-3').val();
|
||||
var u_installDate = $(".addNewUser").find('.installDate').val();
|
||||
alert("Ok send To server");
|
||||
$(".addNewUser").removeClass("is-active");
|
||||
|
||||
$(".addNewUser").find('.an_name').val('');
|
||||
$(".addNewUser").find('.an_address').val('');
|
||||
$(".addNewUser").find('#phone-1').val('');
|
||||
$(".addNewUser").find('#phone-2').val('');
|
||||
$(".addNewUser").find('#phone-3').val('');
|
||||
$(".addNewUser").find('.installDate').val('');
|
||||
//Refresh page
|
||||
|
||||
});
|
||||
$(".modal-close, .modal-background").click(function(){
|
||||
$(".mEdit1").removeClass("is-active")
|
||||
});
|
||||
$(".closeSearch").click(function(){
|
||||
$(".SearchBox").removeClass("is-active")
|
||||
});
|
||||
$(".closeAddUser").click(function(){
|
||||
$(".addNewUser").removeClass("is-active");
|
||||
$(".addNewUser").find('.an_name').val('');
|
||||
$(".addNewUser").find('.an_address').val('');
|
||||
$(".addNewUser").find('#phone-1').val('');
|
||||
$(".addNewUser").find('#phone-2').val('');
|
||||
$(".addNewUser").find('#phone-3').val('');
|
||||
$(".addNewUser").find('.installDate').val('');
|
||||
});
|
||||
|
||||
$(".openRow").click(function(){
|
||||
alert("OPen OK");
|
||||
var id = $(this).parent().parent().find('.fid').val().trim();
|
||||
var name = $(this).parent().parent().find('.name').text().trim();
|
||||
var lastview = $(this).parent().parent().find('.lastview').text().trim();
|
||||
var installDate = $(this).parent().parent().find('.installDate').text().trim();
|
||||
var mobile_1 = $(this).parent().parent().find('.mobile_1').text().trim();
|
||||
var mobile_2 = $(this).parent().parent().find('.mobile_2').text().trim();
|
||||
var mobile_3 = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
|
||||
var address = $(this).parent().parent().find('.address').text().trim();
|
||||
alert(name);
|
||||
//alert(id)
|
||||
$(".mEdit1").find('.fid').val(id);
|
||||
$(".mEdit1").find('.uv_name').val(name);
|
||||
$(".mEdit1").find('.uv_installDate').val(installDate);
|
||||
$(".mEdit1").find('#phone-1').val(mobile_1);
|
||||
$(".mEdit1").find('#phone-2').val(mobile_2);
|
||||
$(".mEdit1").find('#phone-3').val(mobile_3);
|
||||
$(".mEdit1").find('.uv_address').val(address);
|
||||
|
||||
//$("#bedehiStatus").val('وضعیت')
|
||||
|
||||
$(".mEdit1").addClass("is-active")
|
||||
});
|
||||
$("#addNewUser").click(function(){
|
||||
$(".addNewUser").addClass("is-active")
|
||||
});
|
||||
$("#openSearchBox").click(function(){
|
||||
$(".SearchBox").addClass("is-active")
|
||||
});
|
||||
$("#bedehiCN01").click(function(){
|
||||
var factorId = $(this).parent().parent().find(".fid").val();
|
||||
if ($("#bedehiStatus").val() == "tasfiye"){
|
||||
alert("send To server to tasfiye");
|
||||
$("tbody").find('.fidv-'+factorId).parent().parent().remove();
|
||||
$(".mEdit1").removeClass("is-active");
|
||||
}
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
</html>
|
||||
@@ -0,0 +1,220 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
{% block bodyPage %}
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
|
||||
<div class="column is-12">
|
||||
<div class="buttons">
|
||||
<a href="#" id="openSearchBox" class="button is-info is-outlined is-rounded mr-0">جستجو</a>
|
||||
</div>
|
||||
<div class="table-container">
|
||||
<table class="table has-text-centered is-bordered is-striped is-narrow is-hoverable is-fullwidth">
|
||||
<!-- Your table content -->
|
||||
<thead>
|
||||
<tr style="
|
||||
background: #33b5d3;
|
||||
">
|
||||
<th >ردیف</th>
|
||||
<th style="min-width: 200px;">نام و نام خانودگی</th>
|
||||
<th >آخرین بازدید</th>
|
||||
<th >تلفن</th>
|
||||
<th style="min-width: 400px;">آدرس</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for customer in customers %}
|
||||
<tr>
|
||||
<td>{{ forloop.counter }}</td>
|
||||
<td>
|
||||
<input class="is-hidden fid fidv-20" value="20">
|
||||
<a target="_blank" href="{% url 'admin_panel:customerAction' customer.id %}" class="tdvl name">
|
||||
{% if customer.name_family|length >= 2 %} {{ customer.name_family }} {% else %} نامعلوم {% endif %}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl lastView">
|
||||
{{ customer.last_bazdid_dt | toJalali }}
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<div class="tdvl mobile_1">
|
||||
{{ customer.phone1 }}
|
||||
</div>
|
||||
<div class="tdvl is-hidden mobile_2">
|
||||
09384999655
|
||||
</div>
|
||||
<div class="tdvl is-hidden mobile_3">
|
||||
{{ customer.phone2 }}
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl address">
|
||||
{{ customer.address }}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="">
|
||||
{% if customers.has_previous %}
|
||||
<a class="button is-danger" href="?{% if searchVal %}searchVal={{ searchVal }}&searchOn={{ searchOn }}{% endif %}&page={{ customers.previous_page_number }}">صفحه قبل</a>
|
||||
{% endif %}
|
||||
|
||||
{% if customers.has_next %}
|
||||
<a class="button is-danger" href="?{% if searchVal %}searchVal={{ searchVal }}&searchOn={{ searchOn }}{% endif %}&page={{ customers.next_page_number }}">صفحه بعد</a>
|
||||
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="modal SearchBox">
|
||||
<div class="modal-background closeSearch"></div>
|
||||
<div class="modal-content">
|
||||
<!-- -->
|
||||
<form method="get" class="columns is-mobile is-multiline">
|
||||
<div class="field column is-7-desktop is-12-mobile m-0">
|
||||
<label class="label">جستجو کنید</label>
|
||||
<div class="control">
|
||||
<input name="searchVal" class="input search" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-5-desktop is-12-mobile m-0">
|
||||
<label class="label">فیلد</label>
|
||||
<div class="select">
|
||||
<select name="searchOn">
|
||||
<!--
|
||||
<option value="name">نام و نام خانوادگی</option>
|
||||
<option value="code">کدمشتری</option>
|
||||
<option value="phone">تلفن</option> !-->
|
||||
<option value="address">آدرس</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<input class="button is-success" id="searchbtn" value="جستجو مشتری" type="submit">
|
||||
</div>
|
||||
<!-- -->
|
||||
</form>
|
||||
|
||||
|
||||
</div>
|
||||
<button class="modal-close is-large closeSearch" aria-label="close"></button>
|
||||
</div>
|
||||
|
||||
<div class="modal BazdidF">
|
||||
<div class="modal-background closeBazdidF"></div>
|
||||
<div class="modal-content">
|
||||
<div class="columns is-mobile is-multiline">
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">نام ونام خانوادگی</label>
|
||||
<div class="control">
|
||||
<input class="input rf_name" id="bz_name" type="text" placeholder="نام نام خانوادگی">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تلفن همراه</label>
|
||||
<div class="control">
|
||||
<input class="input rf_mobile" id="phone-1" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ</label>
|
||||
<div class="control">
|
||||
<input name="bazdidDateTime" id="persianDateP" class="input bz_DateTime" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">توسط</label>
|
||||
<div class="select">
|
||||
<select>
|
||||
<option>کدام خدمات؟</option>
|
||||
<option>خدمات 1</option>
|
||||
<option>خدمات 2</option>
|
||||
<option>خدمات 3</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">زمان مراجعه</label>
|
||||
<div class="select">
|
||||
<select>
|
||||
<option>زمان را انتخاب کنید</option>
|
||||
<option>صبح</option>
|
||||
<option>ظهر</option>
|
||||
<option>بعد از ظهر</option>
|
||||
<option>غروب</option>
|
||||
<option>شب</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-8-desktop is-12-mobile m-0">
|
||||
<label class="label">توضیحات</label>
|
||||
<div class="control">
|
||||
<textarea class="textarea" placeholder="توضیحات"></textarea> </div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<input class="button is-success" id="editCS" value="ایجاد بازدید" type="submit">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<button class="modal-close is-large closeBazdidF" aria-label="close"></button>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
kamaDatepicker('persianDateP', { buttonsColor: "red", forceFarsiDigits: true });
|
||||
|
||||
$(".closeBazdidF").click(function(){
|
||||
$(".BazdidF").removeClass("is-active")
|
||||
});
|
||||
|
||||
$("#openSearchBox").click(function(){
|
||||
$(".SearchBox").addClass("is-active")
|
||||
});
|
||||
|
||||
$(".closeSearch").click(function(){
|
||||
$(".SearchBox").removeClass("is-active")
|
||||
});
|
||||
|
||||
$(".openRow").click(function(){
|
||||
var id = $(this).parent().parent().find('.fid').val().trim();
|
||||
var name = $(this).parent().parent().find('.name').text().trim();
|
||||
var mobile_1 = $(this).parent().parent().find('.mobile_1').text().trim();
|
||||
|
||||
var address = $(this).parent().parent().find('.address').text().trim();
|
||||
//alert(id)
|
||||
$(".BazdidF").find('#bz_name').val(name);
|
||||
$(".BazdidF").find('#phone-1').val(mobile_1);
|
||||
|
||||
//$("#bedehiStatus").val('وضعیت')
|
||||
|
||||
$(".BazdidF").addClass("is-active")
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,272 @@
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html dir="rtl">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Hello Bulma!</title>
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/bulma.min.css' %}">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/bulma-rtl.min.css' %}">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/DataTables/datatables.min.css' %}"/>
|
||||
<script type="text/javascript" src="{% static 'admin_panel/DataTables/datatables.min.js' %}"></script>
|
||||
|
||||
<script type="text/javascript" src="{% static 'admin_panel/kamadatepicker.min.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'admin_panel/kamadatepicker.holidays.js' %}"></script>
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/kamadatepicker.min.css' %}">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/style.css' %}">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar is-primary is-fixed-top" role="navigation" aria-label="main navigation">
|
||||
<div class="navbar-brand">
|
||||
<a class="navbar-item" href="https://bulma.io">
|
||||
<img src="./images/bulma-logo.png" width="112" height="28">
|
||||
</a>
|
||||
|
||||
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="navbarBasicExample" class="navbar-menu">
|
||||
<div class="navbar-start mr-0">
|
||||
<a class="navbar-item">
|
||||
اصلی
|
||||
</a>
|
||||
|
||||
<a class="navbar-item">
|
||||
مشتریان
|
||||
</a>
|
||||
|
||||
<a class="navbar-item">
|
||||
انبار
|
||||
</a>
|
||||
|
||||
<a class="navbar-item">
|
||||
کاربران
|
||||
</a>
|
||||
|
||||
<a class="navbar-item">
|
||||
کاربران
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="navbar-end ml-0">
|
||||
<div class="navbar-item">
|
||||
<div class="buttons">
|
||||
<a class="button is-primary">
|
||||
<strong>Sign up</strong>
|
||||
</a>
|
||||
<a class="button is-light">
|
||||
Log in
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0 mt-6 pt-3 is-centered pb0Nested">
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-info has-text-white ">
|
||||
<p>253.000.000</p>
|
||||
<p>بدهی سر رسید شده</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-info has-text-white">
|
||||
<p>4589</p>
|
||||
<p>تعدادکل مشتریان</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-info has-text-white">
|
||||
<p>12</p>
|
||||
<p>در انتظار تکمیل رضایتمندی</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-danger has-text-white">
|
||||
<p>193</p>
|
||||
<p>6 ماه از آخرین بازدید گذشته</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-info has-text-white">
|
||||
<p>23</p>
|
||||
<p>صف بازدید</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="columns m-0">
|
||||
|
||||
<div class="column is-12">
|
||||
<!--<div class="buttons">
|
||||
<a href="#" id="addNewUser" class="button is-info is-active is-rounded mr-0">ایجاد مشتری جدید</a>
|
||||
<a href="#" id="openSearchBox" class="button is-info is-outlined is-rounded mr-0">جستجو</a>
|
||||
</div>!-->
|
||||
<div class="table-container">
|
||||
<table class="table has-text-centered is-bordered is-striped is-narrow is-hoverable is-fullwidth">
|
||||
<!-- Your table content -->
|
||||
<thead>
|
||||
<tr style="
|
||||
background: #33b5d3;
|
||||
">
|
||||
<th >ردیف</th>
|
||||
<th style="min-width: 200px;">نام و نام خانودگی</th>
|
||||
<th >آخرین بازدید</th>
|
||||
<th style="min-width: 150px;">توسط</th>
|
||||
<th >تلفن</th>
|
||||
<th style="min-width: 400px;">آدرس</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>
|
||||
<input class="is-hidden fid fidv-20" value="20">
|
||||
<div class="tdvl openRow name">
|
||||
فرشته یاوری
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl lastView">
|
||||
1400/05/04
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl tavasot">
|
||||
خدمات 1 سالاری
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl mobile_1">
|
||||
09384999655
|
||||
</div>
|
||||
<div class="tdvl is-hidden mobile_2">
|
||||
09384999655
|
||||
</div>
|
||||
<div class="tdvl is-hidden mobile_3">
|
||||
09384999655
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl address">
|
||||
تست
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal BazdidF">
|
||||
<div class="modal-background closeBazdidF"></div>
|
||||
<div class="modal-content">
|
||||
<div class="columns is-mobile is-multiline">
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">نام ونام خانوادگی</label>
|
||||
<div class="control">
|
||||
<input class="input rf_name" id="bz_name" type="text" placeholder="نام نام خانوادگی">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تلفن همراه</label>
|
||||
<div class="control">
|
||||
<input class="input rf_mobile" id="phone-1" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ</label>
|
||||
<div class="control">
|
||||
<input name="bazdidDateTime" id="persianDateP" class="input bz_DateTime" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">توسط</label>
|
||||
<div class="select">
|
||||
<select>
|
||||
<option>کدام خدمات؟</option>
|
||||
<option>خدمات 1</option>
|
||||
<option>خدمات 2</option>
|
||||
<option>خدمات 3</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">زمان مراجعه</label>
|
||||
<div class="select">
|
||||
<select>
|
||||
<option>زمان را انتخاب کنید</option>
|
||||
<option>صبح</option>
|
||||
<option>ظهر</option>
|
||||
<option>بعد از ظهر</option>
|
||||
<option>غروب</option>
|
||||
<option>شب</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-8-desktop is-12-mobile m-0">
|
||||
<label class="label">توضیحات</label>
|
||||
<div class="control">
|
||||
<textarea class="textarea" placeholder="توضیحات"></textarea> </div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<input class="button is-success" id="editCS" value="ایجاد بازدید" type="submit">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<button class="modal-close is-large closeBazdidF" aria-label="close"></button>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
kamaDatepicker('persianDateP', { buttonsColor: "red", forceFarsiDigits: true });
|
||||
|
||||
$(".closeBazdidF").click(function(){
|
||||
$(".BazdidF").removeClass("is-active")
|
||||
});
|
||||
$(".openRow").click(function(){
|
||||
var id = $(this).parent().parent().find('.fid').val().trim();
|
||||
var name = $(this).parent().parent().find('.name').text().trim();
|
||||
var mobile_1 = $(this).parent().parent().find('.mobile_1').text().trim();
|
||||
|
||||
var address = $(this).parent().parent().find('.address').text().trim();
|
||||
//alert(id)
|
||||
$(".BazdidF").find('#bz_name').val(name);
|
||||
$(".BazdidF").find('#phone-1').val(mobile_1);
|
||||
|
||||
//$("#bedehiStatus").val('وضعیت')
|
||||
|
||||
$(".BazdidF").addClass("is-active")
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
</html>
|
||||
@@ -0,0 +1,303 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
|
||||
{% if perms.admin_panel.ViewReportMali %}
|
||||
{% block bodyPage %}
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12">
|
||||
<div class="buttons">
|
||||
|
||||
</div>
|
||||
|
||||
<p class="has-text-centered">
|
||||
{% if page_name == 'sarresidShodeha' %}
|
||||
<p class="toCurrency has-text-centered">
|
||||
سررسید شده ها
|
||||
{{ sum_sarresid }}
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if page_name == 'sarresidNaShodeha' %}
|
||||
<p class="toCurrency has-text-centered">
|
||||
سررسید نشده ها
|
||||
{{ sarresidNashode }}
|
||||
</p>
|
||||
{% endif %}
|
||||
{% if page_name == 'checkPass' %}
|
||||
چک های پاس شده
|
||||
{% endif %}
|
||||
{% if page_name == 'checkPassFaild' %}
|
||||
|
||||
<p class="toCurrency has-text-centered">
|
||||
چک های پاس نشده
|
||||
{{ count_check_passfail }}
|
||||
عدد | جمع مبلغ:
|
||||
{{ sum_check_passfail }}
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<span class="toCurrency">{{ mandehesabKP }}</span>
|
||||
</p>
|
||||
|
||||
<div class="table-container column is-12-desktop is-12-mobile m-0">
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width: 150px;">مبلغ</th>
|
||||
<th style="min-width: 150px;">نام</th>
|
||||
<th style="min-width: 100px;">نوع</th>
|
||||
<th style="min-width: 100px;">سررسید</th>
|
||||
<th style="min-width: 100px;">ثبت</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 100;">وضعیت</th>
|
||||
<th style="min-width: 100;">وصول شد</th>
|
||||
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th class="toCurrency" style="min-width: 150px;">مبلغ</th>
|
||||
<th style="min-width: 150px;">نام</th>
|
||||
<th style="min-width: 100px;">نوع</th>
|
||||
<th style="min-width: 100px;">سررسید</th>
|
||||
<th style="min-width: 100px;">ثبت</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 100;">وضعیت</th>
|
||||
<th style="min-width: 100;">وصول شد</th>
|
||||
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody id="listPrds">
|
||||
|
||||
{% for sarresid in all_sarresid %}
|
||||
<tr class="IteamPrd">
|
||||
<td>
|
||||
<span class="bedehkar toCurrency">{{ sarresid.price }}</span>
|
||||
<span class=" is-hidden"></span>
|
||||
</td>
|
||||
|
||||
<td class="">
|
||||
<a target="_blank" href="{% url 'admin_panel:customerNew' sarresid.customer.id %}">
|
||||
{{ sarresid.customer.name_family }}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
|
||||
<td class="">
|
||||
{% if sarresid.type == 'check' %}چک{% endif %}
|
||||
{% if sarresid.type == 'nesiye' %}نسیه{% endif %}
|
||||
|
||||
</td>
|
||||
<td class="">{{ sarresid.sarresidDT | toJalali }}</td>
|
||||
<td class="">{{ sarresid.createdDT | toJalali }}</td>
|
||||
<td class="desc">
|
||||
{% if sarresid.desc %}
|
||||
{{ sarresid.desc }}
|
||||
{% endif %}
|
||||
{% if sarresid.factor %}
|
||||
فاکتور شماره {{ sarresid.factor.id }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="">
|
||||
{% if sarresid.payStatus == "true" %}پرداخت شده{% endif %}
|
||||
{% if sarresid.payStatus == "false" %}پرداخت نشده{% endif %}
|
||||
</td>
|
||||
|
||||
<td class="">
|
||||
{% if sarresid.payStatus == "false" %}
|
||||
<span class="button is-danger VosolButton" csid= {{ sarresid.customer.id }} price={{ sarresid.price }} type={{ sarresid.type }} articlID={{ sarresid.id }}>وصول شد</span>
|
||||
{% else %}
|
||||
<span>بله</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% if all_sarresid.has_previous %}
|
||||
<a href="?page={{ all_sarresid.previous_page_number }}" class="button is-danger">صفحه قبل</a>
|
||||
{% endif %}
|
||||
{% if all_sarresid.has_next %}
|
||||
<a href="?page={{ all_sarresid.next_page_number }}" class="button is-danger">صفحه بعد</a>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal">
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">Modal title</p>
|
||||
<button class="delete" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
<form>
|
||||
<input type="text" class="is-hidden" name="articlID">
|
||||
</form>
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<button class="button is-success">Save changes</button>
|
||||
<button class="button">Cancel</button>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form class="modal nesiyeModal" method="post" action="{% url 'admin_panel:pardakhtNesiye' 9101010101 %}">
|
||||
{% csrf_token %}
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">نسیه</p>
|
||||
<button class="delete" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
|
||||
|
||||
<div class="field">
|
||||
<label class="label">مانده از این نسیه</label>
|
||||
<div class="control">
|
||||
<input id="priceBedehi" disabled class="input reset_input" type="text" placeholder="واحد تومان">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input name="sr_articlID" id="sr_articlID" class="input reset_input is-hidden" type="text">
|
||||
|
||||
|
||||
<div class="field">
|
||||
<label class="label">مبلغ پرداختی فعلی</label>
|
||||
<div class="control">
|
||||
<input name="next_sarresidPrice" required class="input reset_input" type="text" placeholder="واحد تومان">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label">نحوه پرداخت</label>
|
||||
<div class="control">
|
||||
<div class="select is-fullwidth">
|
||||
<select required class="reset_input" name="nahvePardakht">
|
||||
<option></option>
|
||||
<option value="check">چک</option>
|
||||
<option value="naghd">نقد</option>
|
||||
<option value="kartbekart">کارت به کارت</option>
|
||||
<option value="kartkhan">کارت خوان</option>
|
||||
<option value="takhfif">تخفیف</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label">سررسید بعدی</label>
|
||||
<div class="control">
|
||||
<input name="xxxxxaaaa" required class="input reset_input" id="NextSarResid" type="text">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label">توضیحات</label>
|
||||
<div class="control">
|
||||
<textarea name="desc_sar" class="input"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input required type="text" class="is-hidden reset_input" name="next_sarresidDateTime" id="NextSarResidVal">
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<input type="submit" class="button is-success" value="ثبت">
|
||||
<span class="button cancellBTNSR">لغو</span>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
{% csrf_token %}
|
||||
{% endblock %}
|
||||
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
var csrftoken = jQuery("[name=csrfmiddlewaretoken]").val();
|
||||
|
||||
|
||||
$(".modal-background").click(function(){
|
||||
$(".modal").removeClass("is-active");
|
||||
$('.reset_input').val('');
|
||||
})
|
||||
$(".cancellBTNSR").click(function(){
|
||||
$(".modal").removeClass("is-active");
|
||||
$('.reset_input').val('');
|
||||
})
|
||||
|
||||
$("#NextSarResid").pDatepicker({
|
||||
initialValue: false,
|
||||
initialValueType: 'en',
|
||||
format: 'YYYY/MM/DD',
|
||||
autoClose: true,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
onSelect: (unix)=>{
|
||||
$("#NextSarResidVal").val(unix)
|
||||
}
|
||||
});
|
||||
|
||||
var csid = null
|
||||
$(".VosolButton").click(function(){
|
||||
|
||||
var articlID = $(this).attr("articlID")
|
||||
var type = $(this).attr("type")
|
||||
var price = $(this).attr("price")
|
||||
csid = $(this).attr("csid")
|
||||
|
||||
if(type=="check"){
|
||||
if( confirm('چک وصول شده؟') ){
|
||||
var prompt_desc = prompt('لطفا توضیحات را وارد کنید و تایید کنید')
|
||||
var url_check = '/panel/passCheck/'+articlID;
|
||||
if( prompt_desc ){
|
||||
$.ajax({
|
||||
url: url_check,
|
||||
type: 'post',
|
||||
data: {
|
||||
message: prompt_desc
|
||||
},
|
||||
headers: {'X-CSRFToken': csrftoken },
|
||||
success: function (data) {
|
||||
console.log("ok ok");
|
||||
window.location.reload();
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var actionUrl = $(".nesiyeModal").attr('action')
|
||||
//alert(actionUrl.replace("9101010101", csid ))
|
||||
//$(".nesiyeModal").attr('action', actionUrl.replace("9101010101", csid ) )
|
||||
$(".nesiyeModal").addClass("is-active");
|
||||
$("#priceBedehi").val(price);
|
||||
$("#sr_articlID").val(articlID)
|
||||
}
|
||||
});
|
||||
|
||||
$("form").submit(function(e){
|
||||
var actionUrl = $(".nesiyeModal").attr('action')
|
||||
$(".nesiyeModal").attr('action', actionUrl.replace("9101010101", csid ) )
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
{% endif %}
|
||||
@@ -0,0 +1,251 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
|
||||
{% if perms.admin_panel.ViewReportMali %}
|
||||
{% block bodyPage %}
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12">
|
||||
<div class="buttons">
|
||||
|
||||
</div>
|
||||
|
||||
<p class="has-text-centered">
|
||||
<span>چک های پاس شده</span>
|
||||
<span class="toCurrency">{{ mandehesabKP }}</span>
|
||||
</p>
|
||||
|
||||
<div class="table-container column is-12-desktop is-12-mobile m-0">
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width: 150px;">مبلغ</th>
|
||||
<th style="min-width: 150px;">نام</th>
|
||||
<th style="min-width: 100px;">نوع</th>
|
||||
<th style="min-width: 100px;">سررسید</th>
|
||||
<th style="min-width: 100px;">ثبت</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 100;">وضعیت</th>
|
||||
<th style="min-width: 100;">وصول شد</th>
|
||||
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th class="toCurrency" style="min-width: 150px;">مبلغ</th>
|
||||
<th style="min-width: 150px;">نام</th>
|
||||
<th style="min-width: 100px;">نوع</th>
|
||||
<th style="min-width: 100px;">سررسید</th>
|
||||
<th style="min-width: 100px;">ثبت</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 100;">وضعیت</th>
|
||||
<th style="min-width: 100;">وصول شد</th>
|
||||
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody id="listPrds">
|
||||
|
||||
{% for sarresid in all_sarresid %}
|
||||
<tr class="IteamPrd">
|
||||
<td>
|
||||
<span class="bedehkar toCurrency">{{ sarresid.price }}</span>
|
||||
<span class=" is-hidden"></span>
|
||||
</td>
|
||||
|
||||
<td class="">
|
||||
<a target="_blank" href="{% url 'admin_panel:customerNew' sarresid.customer.id %}">
|
||||
{{ sarresid.customer.name_family }}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
|
||||
<td class="">
|
||||
{% if sarresid.type == 'check' %}چک{% endif %}
|
||||
{% if sarresid.type == 'nesiye' %}نسیه{% endif %}
|
||||
|
||||
</td>
|
||||
<td class="">{{ sarresid.sarresidDT | toJalali }}</td>
|
||||
<td class="">{{ sarresid.createdDT | toJalali }}</td>
|
||||
<td class="desc">
|
||||
{% if sarresid.factor %}
|
||||
فاکتور شماره {{ sarresid.factor.id }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="">
|
||||
{% if sarresid.payStatus == "true" %}پرداخت شده{% endif %}
|
||||
{% if sarresid.payStatus == "false" %}پرداخت نشده{% endif %}
|
||||
</td>
|
||||
|
||||
<td class="">
|
||||
{% if sarresid.payStatus == "false" %}
|
||||
<span class="button is-danger VosolButton" csid= {{ sarresid.customer.id }} price={{ sarresid.price }} type={{ sarresid.type }} articlID={{ sarresid.id }}>وصول شد</span>
|
||||
{% else %}
|
||||
<span>بله</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% if all_sarresid.has_previous %}
|
||||
<a href="?page={{ all_sarresid.previous_page_number }}" class="button is-danger">صفحه قبل</a>
|
||||
{% endif %}
|
||||
{% if all_sarresid.has_next %}
|
||||
<a href="?page={{ all_sarresid.next_page_number }}" class="button is-danger">صفحه بعد</a>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal">
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">Modal title</p>
|
||||
<button class="delete" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
<form>
|
||||
<input type="text" class="is-hidden" name="articlID">
|
||||
</form>
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<button class="button is-success">Save changes</button>
|
||||
<button class="button">Cancel</button>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form class="modal nesiyeModal" method="post" action="{% url 'admin_panel:pardakhtNesiye' 9101010101 %}">
|
||||
{% csrf_token %}
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">نسیه</p>
|
||||
<button class="delete" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
|
||||
|
||||
<div class="field">
|
||||
<label class="label">مانده از این نسیه</label>
|
||||
<div class="control">
|
||||
<input id="priceBedehi" disabled class="input reset_input" type="text" placeholder="واحد تومان">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input name="sr_articlID" id="sr_articlID" class="input reset_input is-hidden" type="text">
|
||||
|
||||
|
||||
<div class="field">
|
||||
<label class="label">مبلغ پرداختی فعلی</label>
|
||||
<div class="control">
|
||||
<input name="next_sarresidPrice" required class="input reset_input" type="text" placeholder="واحد تومان">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label">نحوه پرداخت</label>
|
||||
<div class="control">
|
||||
<div class="select is-fullwidth">
|
||||
<select required class="reset_input" name="nahvePardakht">
|
||||
<option></option>
|
||||
<option value="naghd">نقد</option>
|
||||
<option value="kartbekart">کارت به کارت</option>
|
||||
<option value="kartkhan">کارت خوان</option>
|
||||
<option value="takhfif">تخفیف</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label">سررسید بعدی</label>
|
||||
<div class="control">
|
||||
<input name="xxxxxaaaa" required class="input reset_input" id="NextSarResid" type="text">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input required type="text" class="is-hidden reset_input" name="next_sarresidDateTime" id="NextSarResidVal">
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<input type="submit" class="button is-success" value="ثبت">
|
||||
<span class="button cancellBTNSR">لغو</span>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
$(".modal-background").click(function(){
|
||||
$(".modal").removeClass("is-active");
|
||||
$('.reset_input').val('');
|
||||
})
|
||||
$(".cancellBTNSR").click(function(){
|
||||
$(".modal").removeClass("is-active");
|
||||
$('.reset_input').val('');
|
||||
})
|
||||
|
||||
$("#NextSarResid").pDatepicker({
|
||||
initialValue: false,
|
||||
initialValueType: 'en',
|
||||
format: 'YYYY/MM/DD',
|
||||
autoClose: true,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
onSelect: (unix)=>{
|
||||
$("#NextSarResidVal").val(unix)
|
||||
}
|
||||
});
|
||||
|
||||
var csid = null
|
||||
$(".VosolButton").click(function(){
|
||||
|
||||
var articlID = $(this).attr("articlID")
|
||||
var type = $(this).attr("type")
|
||||
var price = $(this).attr("price")
|
||||
csid = $(this).attr("csid")
|
||||
|
||||
if(type=="check"){
|
||||
if( confirm('چک وصول شده؟') ){
|
||||
if( confirm('در صورتی که از پاس شدن چک اطمینان دارید تایید کنید') ){
|
||||
window.location.href = '/panel/passCheck/'+articlID;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var actionUrl = $(".nesiyeModal").attr('action')
|
||||
//alert(actionUrl.replace("9101010101", csid ))
|
||||
//$(".nesiyeModal").attr('action', actionUrl.replace("9101010101", csid ) )
|
||||
$(".nesiyeModal").addClass("is-active");
|
||||
$("#priceBedehi").val(price);
|
||||
$("#sr_articlID").val(articlID)
|
||||
}
|
||||
});
|
||||
|
||||
$("form").submit(function(e){
|
||||
var actionUrl = $(".nesiyeModal").attr('action')
|
||||
$(".nesiyeModal").attr('action', actionUrl.replace("9101010101", csid ) )
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
{% endif %}
|
||||
@@ -0,0 +1,251 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
|
||||
{% if perms.admin_panel.ViewReportMali %}
|
||||
{% block bodyPage %}
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12">
|
||||
<div class="buttons">
|
||||
|
||||
</div>
|
||||
|
||||
<p class="has-text-centered">
|
||||
<span>چک های پاس نشده</span>
|
||||
<span class="toCurrency">{{ mandehesabKP }}</span>
|
||||
</p>
|
||||
|
||||
<div class="table-container column is-12-desktop is-12-mobile m-0">
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width: 150px;">مبلغ</th>
|
||||
<th style="min-width: 150px;">نام</th>
|
||||
<th style="min-width: 100px;">نوع</th>
|
||||
<th style="min-width: 100px;">سررسید</th>
|
||||
<th style="min-width: 100px;">ثبت</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 100;">وضعیت</th>
|
||||
<th style="min-width: 100;">وصول شد</th>
|
||||
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th class="toCurrency" style="min-width: 150px;">مبلغ</th>
|
||||
<th style="min-width: 150px;">نام</th>
|
||||
<th style="min-width: 100px;">نوع</th>
|
||||
<th style="min-width: 100px;">سررسید</th>
|
||||
<th style="min-width: 100px;">ثبت</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 100;">وضعیت</th>
|
||||
<th style="min-width: 100;">وصول شد</th>
|
||||
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody id="listPrds">
|
||||
|
||||
{% for sarresid in all_sarresid %}
|
||||
<tr class="IteamPrd">
|
||||
<td>
|
||||
<span class="bedehkar toCurrency">{{ sarresid.price }}</span>
|
||||
<span class=" is-hidden"></span>
|
||||
</td>
|
||||
|
||||
<td class="">
|
||||
<a target="_blank" href="{% url 'admin_panel:customerNew' sarresid.customer.id %}">
|
||||
{{ sarresid.customer.name_family }}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
|
||||
<td class="">
|
||||
{% if sarresid.type == 'check' %}چک{% endif %}
|
||||
{% if sarresid.type == 'nesiye' %}نسیه{% endif %}
|
||||
|
||||
</td>
|
||||
<td class="">{{ sarresid.sarresidDT | toJalali }}</td>
|
||||
<td class="">{{ sarresid.createdDT | toJalali }}</td>
|
||||
<td class="desc">
|
||||
{% if sarresid.factor %}
|
||||
فاکتور شماره {{ sarresid.factor.id }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="">
|
||||
{% if sarresid.payStatus == "true" %}پرداخت شده{% endif %}
|
||||
{% if sarresid.payStatus == "false" %}پرداخت نشده{% endif %}
|
||||
</td>
|
||||
|
||||
<td class="">
|
||||
{% if sarresid.payStatus == "false" %}
|
||||
<span class="button is-danger VosolButton" csid= {{ sarresid.customer.id }} price={{ sarresid.price }} type={{ sarresid.type }} articlID={{ sarresid.id }}>وصول شد</span>
|
||||
{% else %}
|
||||
<span>بله</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% if all_sarresid.has_previous %}
|
||||
<a href="?page={{ all_sarresid.previous_page_number }}" class="button is-danger">صفحه قبل</a>
|
||||
{% endif %}
|
||||
{% if all_sarresid.has_next %}
|
||||
<a href="?page={{ all_sarresid.next_page_number }}" class="button is-danger">صفحه بعد</a>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal">
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">Modal title</p>
|
||||
<button class="delete" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
<form>
|
||||
<input type="text" class="is-hidden" name="articlID">
|
||||
</form>
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<button class="button is-success">Save changes</button>
|
||||
<button class="button">Cancel</button>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form class="modal nesiyeModal" method="post" action="{% url 'admin_panel:pardakhtNesiye' 9101010101 %}">
|
||||
{% csrf_token %}
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">نسیه</p>
|
||||
<button class="delete" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
|
||||
|
||||
<div class="field">
|
||||
<label class="label">مانده از این نسیه</label>
|
||||
<div class="control">
|
||||
<input id="priceBedehi" disabled class="input reset_input" type="text" placeholder="واحد تومان">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input name="sr_articlID" id="sr_articlID" class="input reset_input is-hidden" type="text">
|
||||
|
||||
|
||||
<div class="field">
|
||||
<label class="label">مبلغ پرداختی فعلی</label>
|
||||
<div class="control">
|
||||
<input name="next_sarresidPrice" required class="input reset_input" type="text" placeholder="واحد تومان">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label">نحوه پرداخت</label>
|
||||
<div class="control">
|
||||
<div class="select is-fullwidth">
|
||||
<select required class="reset_input" name="nahvePardakht">
|
||||
<option></option>
|
||||
<option value="naghd">نقد</option>
|
||||
<option value="kartbekart">کارت به کارت</option>
|
||||
<option value="kartkhan">کارت خوان</option>
|
||||
<option value="takhfif">تخفیف</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label">سررسید بعدی</label>
|
||||
<div class="control">
|
||||
<input name="xxxxxaaaa" required class="input reset_input" id="NextSarResid" type="text">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input required type="text" class="is-hidden reset_input" name="next_sarresidDateTime" id="NextSarResidVal">
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<input type="submit" class="button is-success" value="ثبت">
|
||||
<span class="button cancellBTNSR">لغو</span>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
$(".modal-background").click(function(){
|
||||
$(".modal").removeClass("is-active");
|
||||
$('.reset_input').val('');
|
||||
})
|
||||
$(".cancellBTNSR").click(function(){
|
||||
$(".modal").removeClass("is-active");
|
||||
$('.reset_input').val('');
|
||||
})
|
||||
|
||||
$("#NextSarResid").pDatepicker({
|
||||
initialValue: false,
|
||||
initialValueType: 'en',
|
||||
format: 'YYYY/MM/DD',
|
||||
autoClose: true,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
onSelect: (unix)=>{
|
||||
$("#NextSarResidVal").val(unix)
|
||||
}
|
||||
});
|
||||
|
||||
var csid = null
|
||||
$(".VosolButton").click(function(){
|
||||
|
||||
var articlID = $(this).attr("articlID")
|
||||
var type = $(this).attr("type")
|
||||
var price = $(this).attr("price")
|
||||
csid = $(this).attr("csid")
|
||||
|
||||
if(type=="check"){
|
||||
if( confirm('چک وصول شده؟') ){
|
||||
if( confirm('در صورتی که از پاس شدن چک اطمینان دارید تایید کنید') ){
|
||||
window.location.href = '/panel/passCheck/'+articlID;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var actionUrl = $(".nesiyeModal").attr('action')
|
||||
//alert(actionUrl.replace("9101010101", csid ))
|
||||
//$(".nesiyeModal").attr('action', actionUrl.replace("9101010101", csid ) )
|
||||
$(".nesiyeModal").addClass("is-active");
|
||||
$("#priceBedehi").val(price);
|
||||
$("#sr_articlID").val(articlID)
|
||||
}
|
||||
});
|
||||
|
||||
$("form").submit(function(e){
|
||||
var actionUrl = $(".nesiyeModal").attr('action')
|
||||
$(".nesiyeModal").attr('action', actionUrl.replace("9101010101", csid ) )
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
{% endif %}
|
||||
@@ -0,0 +1,251 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
|
||||
{% if perms.admin_panel.ViewReportMali %}
|
||||
{% block bodyPage %}
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12">
|
||||
<div class="buttons">
|
||||
|
||||
</div>
|
||||
|
||||
<p class="has-text-centered">
|
||||
<span>سررسید نشده ها</span>
|
||||
<span class="toCurrency">{{ mandehesabKP }}</span>
|
||||
</p>
|
||||
|
||||
<div class="table-container column is-12-desktop is-12-mobile m-0">
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width: 150px;">مبلغ</th>
|
||||
<th style="min-width: 150px;">نام</th>
|
||||
<th style="min-width: 100px;">نوع</th>
|
||||
<th style="min-width: 100px;">سررسید</th>
|
||||
<th style="min-width: 100px;">ثبت</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 100;">وضعیت</th>
|
||||
<th style="min-width: 100;">وصول شد</th>
|
||||
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th class="toCurrency" style="min-width: 150px;">مبلغ</th>
|
||||
<th style="min-width: 150px;">نام</th>
|
||||
<th style="min-width: 100px;">نوع</th>
|
||||
<th style="min-width: 100px;">سررسید</th>
|
||||
<th style="min-width: 100px;">ثبت</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 100;">وضعیت</th>
|
||||
<th style="min-width: 100;">وصول شد</th>
|
||||
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody id="listPrds">
|
||||
|
||||
{% for sarresid in all_sarresid %}
|
||||
<tr class="IteamPrd">
|
||||
<td>
|
||||
<span class="bedehkar toCurrency">{{ sarresid.price }}</span>
|
||||
<span class=" is-hidden"></span>
|
||||
</td>
|
||||
|
||||
<td class="">
|
||||
<a target="_blank" href="{% url 'admin_panel:customerNew' sarresid.customer.id %}">
|
||||
{{ sarresid.customer.name_family }}
|
||||
</a>
|
||||
</td>
|
||||
|
||||
|
||||
<td class="">
|
||||
{% if sarresid.type == 'check' %}چک{% endif %}
|
||||
{% if sarresid.type == 'nesiye' %}نسیه{% endif %}
|
||||
|
||||
</td>
|
||||
<td class="">{{ sarresid.sarresidDT | toJalali }}</td>
|
||||
<td class="">{{ sarresid.createdDT | toJalali }}</td>
|
||||
<td class="desc">
|
||||
{% if sarresid.factor %}
|
||||
فاکتور شماره {{ sarresid.factor.id }}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td class="">
|
||||
{% if sarresid.payStatus == "true" %}پرداخت شده{% endif %}
|
||||
{% if sarresid.payStatus == "false" %}پرداخت نشده{% endif %}
|
||||
</td>
|
||||
|
||||
<td class="">
|
||||
{% if sarresid.payStatus == "false" %}
|
||||
<span class="button is-danger VosolButton" csid= {{ sarresid.customer.id }} price={{ sarresid.price }} type={{ sarresid.type }} articlID={{ sarresid.id }}>وصول شد</span>
|
||||
{% else %}
|
||||
<span>بله</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% if all_sarresid.has_previous %}
|
||||
<a href="?page={{ all_sarresid.previous_page_number }}" class="button is-danger">صفحه قبل</a>
|
||||
{% endif %}
|
||||
{% if all_sarresid.has_next %}
|
||||
<a href="?page={{ all_sarresid.next_page_number }}" class="button is-danger">صفحه بعد</a>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal">
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">Modal title</p>
|
||||
<button class="delete" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
<form>
|
||||
<input type="text" class="is-hidden" name="articlID">
|
||||
</form>
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<button class="button is-success">Save changes</button>
|
||||
<button class="button">Cancel</button>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form class="modal nesiyeModal" method="post" action="{% url 'admin_panel:pardakhtNesiye' 9101010101 %}">
|
||||
{% csrf_token %}
|
||||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">نسیه</p>
|
||||
<button class="delete" aria-label="close"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
|
||||
|
||||
<div class="field">
|
||||
<label class="label">مانده از این نسیه</label>
|
||||
<div class="control">
|
||||
<input id="priceBedehi" disabled class="input reset_input" type="text" placeholder="واحد تومان">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input name="sr_articlID" id="sr_articlID" class="input reset_input is-hidden" type="text">
|
||||
|
||||
|
||||
<div class="field">
|
||||
<label class="label">مبلغ پرداختی فعلی</label>
|
||||
<div class="control">
|
||||
<input name="next_sarresidPrice" required class="input reset_input" type="text" placeholder="واحد تومان">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label">نحوه پرداخت</label>
|
||||
<div class="control">
|
||||
<div class="select is-fullwidth">
|
||||
<select required class="reset_input" name="nahvePardakht">
|
||||
<option></option>
|
||||
<option value="naghd">نقد</option>
|
||||
<option value="kartbekart">کارت به کارت</option>
|
||||
<option value="kartkhan">کارت خوان</option>
|
||||
<option value="takhfif">تخفیف</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<label class="label">سررسید بعدی</label>
|
||||
<div class="control">
|
||||
<input name="xxxxxaaaa" required class="input reset_input" id="NextSarResid" type="text">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input required type="text" class="is-hidden reset_input" name="next_sarresidDateTime" id="NextSarResidVal">
|
||||
|
||||
|
||||
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<input type="submit" class="button is-success" value="ثبت">
|
||||
<span class="button cancellBTNSR">لغو</span>
|
||||
</footer>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
$(".modal-background").click(function(){
|
||||
$(".modal").removeClass("is-active");
|
||||
$('.reset_input').val('');
|
||||
})
|
||||
$(".cancellBTNSR").click(function(){
|
||||
$(".modal").removeClass("is-active");
|
||||
$('.reset_input').val('');
|
||||
})
|
||||
|
||||
$("#NextSarResid").pDatepicker({
|
||||
initialValue: false,
|
||||
initialValueType: 'en',
|
||||
format: 'YYYY/MM/DD',
|
||||
autoClose: true,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
onSelect: (unix)=>{
|
||||
$("#NextSarResidVal").val(unix)
|
||||
}
|
||||
});
|
||||
|
||||
var csid = null
|
||||
$(".VosolButton").click(function(){
|
||||
|
||||
var articlID = $(this).attr("articlID")
|
||||
var type = $(this).attr("type")
|
||||
var price = $(this).attr("price")
|
||||
csid = $(this).attr("csid")
|
||||
|
||||
if(type=="check"){
|
||||
if( confirm('چک وصول شده؟') ){
|
||||
if( confirm('در صورتی که از پاس شدن چک اطمینان دارید تایید کنید') ){
|
||||
window.location.href = '/panel/passCheck/'+articlID;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var actionUrl = $(".nesiyeModal").attr('action')
|
||||
//alert(actionUrl.replace("9101010101", csid ))
|
||||
//$(".nesiyeModal").attr('action', actionUrl.replace("9101010101", csid ) )
|
||||
$(".nesiyeModal").addClass("is-active");
|
||||
$("#priceBedehi").val(price);
|
||||
$("#sr_articlID").val(articlID)
|
||||
}
|
||||
});
|
||||
|
||||
$("form").submit(function(e){
|
||||
var actionUrl = $(".nesiyeModal").attr('action')
|
||||
$(".nesiyeModal").attr('action', actionUrl.replace("9101010101", csid ) )
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
{% endif %}
|
||||
@@ -0,0 +1,372 @@
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html dir="rtl">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Hello Bulma!</title>
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/bulma.min.css' %}">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/bulma-rtl.min.css' %}">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/DataTables/datatables.min.css' %}"/>
|
||||
<script type="text/javascript" src="{% static 'admin_panel/DataTables/datatables.min.js' %}"></script>
|
||||
|
||||
<script type="text/javascript" src="{% static 'admin_panel/kamadatepicker.min.js' %}"></script>
|
||||
<script type="text/javascript" src="{% static 'admin_panel/kamadatepicker.holidays.js' %}"></script>
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/kamadatepicker.min.css' %}">
|
||||
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/style.css' %}">
|
||||
<style>
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<nav class="navbar is-primary is-fixed-top" role="navigation" aria-label="main navigation">
|
||||
<div class="navbar-brand">
|
||||
<a class="navbar-item" href="https://bulma.io">
|
||||
<img src="./images/bulma-logo.png" width="112" height="28">
|
||||
</a>
|
||||
|
||||
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample">
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div id="navbarBasicExample" class="navbar-menu">
|
||||
<div class="navbar-start mr-0">
|
||||
<a class="navbar-item">
|
||||
اصلی
|
||||
</a>
|
||||
|
||||
<a class="navbar-item">
|
||||
مشتریان
|
||||
</a>
|
||||
|
||||
<a class="navbar-item">
|
||||
انبار
|
||||
</a>
|
||||
|
||||
<a class="navbar-item">
|
||||
کاربران
|
||||
</a>
|
||||
|
||||
<a class="navbar-item">
|
||||
کاربران
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="navbar-end ml-0">
|
||||
<div class="navbar-item">
|
||||
<div class="buttons">
|
||||
<a class="button is-primary">
|
||||
<strong>Sign up</strong>
|
||||
</a>
|
||||
<a class="button is-light">
|
||||
Log in
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0 mt-6 pt-3 is-centered pb0Nested">
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-info has-text-white ">
|
||||
<p>253.000.000</p>
|
||||
<p>بدهی سر رسید شده</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-info has-text-white">
|
||||
<p>4589</p>
|
||||
<p>تعدادکل مشتریان</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-info has-text-white">
|
||||
<p>12</p>
|
||||
<p>در انتظار تکمیل رضایتمندی</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-info has-text-white">
|
||||
<p>193</p>
|
||||
<p>6 ماه از آخرین بازدید گذشته</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-one-fifth-desktop is-full-mobile has-text-centered">
|
||||
<div class="boxIndex01 has-background-danger has-text-white">
|
||||
<p>23</p>
|
||||
<p>صف بازدید</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="columns m-0">
|
||||
|
||||
<div class="column is-12">
|
||||
<!--<div class="buttons">
|
||||
<a href="#" id="addNewUser" class="button is-info is-active is-rounded mr-0">ایجاد مشتری جدید</a>
|
||||
<a href="#" id="openSearchBox" class="button is-info is-outlined is-rounded mr-0">جستجو</a>
|
||||
</div>!-->
|
||||
<div class="table-container">
|
||||
<table class="table has-text-centered is-bordered is-striped is-narrow is-hoverable is-fullwidth">
|
||||
<!-- Your table content -->
|
||||
<thead>
|
||||
<tr style="
|
||||
background: #33b5d3;
|
||||
">
|
||||
<th >ردیف</th>
|
||||
<th style="min-width: 200px;">نام و نام خانودگی</th>
|
||||
<th >تاریخ بازدید</th>
|
||||
<th >نوبت</th>
|
||||
<th style="min-width: 150px;">توسط</th>
|
||||
<th >تلفن</th>
|
||||
<th style="min-width: 400px;">آدرس</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>
|
||||
<input class="is-hidden fid fidv-20" value="20">
|
||||
<div class="tdvl openRow name">
|
||||
محمد جواد فصاحت
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl lastView">
|
||||
1400/05/04
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<div class="tdvl nobat">
|
||||
صبح
|
||||
</div>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<div class="tdvl tavasot">
|
||||
خدمات 1 سالاری
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl mobile_1">
|
||||
09384999655
|
||||
</div>
|
||||
<div class="tdvl is-hidden mobile_2">
|
||||
09384999655
|
||||
</div>
|
||||
<div class="tdvl is-hidden mobile_3">
|
||||
09384999655
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl address">
|
||||
تست
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal BazdidF">
|
||||
<div class="modal-background closeBazdidF"></div>
|
||||
<div class="modal-content">
|
||||
<div class="columns is-mobile is-multiline">
|
||||
|
||||
<div class="field column is-6-desktop is-12-mobile m-0">
|
||||
<label class="label">نام ونام خانوادگی</label>
|
||||
<div class="control">
|
||||
<input disabled class="input rf_name" id="bz_name" type="text" placeholder="نام نام خانوادگی">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-6-desktop is-12-mobile m-0">
|
||||
<label class="label">مبلغ بدهی قبلی</label>
|
||||
<div class="control">
|
||||
<input disabled class="input" value="522555" id="bedehi" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">آدرس</label>
|
||||
<div class="control">
|
||||
<input disabled class="input rf_address" id="bz_address" type="text" placeholder="آدرس">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تلفن همراه</label>
|
||||
<div class="control">
|
||||
<input disabled class="input rf_mobile" id="phone-1" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تاریخ انجام</label>
|
||||
<div class="control">
|
||||
<input name="bazdidDateTime" id="persianDateP" class="input bz_DateTime" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">زمان مراجعه</label>
|
||||
<div class="select">
|
||||
<select>
|
||||
<option>زمان را انتخاب کنید</option>
|
||||
<option>صبح</option>
|
||||
<option>ظهر</option>
|
||||
<option>بعد از ظهر</option>
|
||||
<option>غروب</option>
|
||||
<option>شب</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="column is-12-desktop is-12-mobile m-0 ">
|
||||
<div class="factorIteamL">
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="is-12-desktop is-12-mobile m-0 mt-4">
|
||||
<p>جستجوی محصول</p>
|
||||
<span style="width: 200px; display: inline-block;">
|
||||
<input type="text" id="prdstrsrch" class="input">
|
||||
</span>
|
||||
<span style="width: 100px; display: inline-block;"></span>
|
||||
</div >
|
||||
|
||||
<div class="is-12-desktop is-12-mobile m-0 mt-4 searchRs">
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="column is-4-desktop is-12-mobile m-0">
|
||||
تخفیف
|
||||
<input type="text" class="input is-danger">
|
||||
</div>
|
||||
|
||||
<p class=" has-text-centered mt-5 sumFactor">
|
||||
<span>جمع کل:</span>
|
||||
<span>525.555.000</span>
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div class="field column is-8-desktop is-12-mobile m-0">
|
||||
<label class="label">توضیحات</label>
|
||||
<div class="control">
|
||||
<textarea class="textarea" placeholder="توضیحات"></textarea> </div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<input class="button is-danger" id="editCS" value="ثبت بازدید و ایجاد فاکتور" type="submit">
|
||||
</div>
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<input class="button is-success is-small" id="editCS" value="ثبت بازدید بدون فاکتور" type="submit">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<button class="modal-close is-large closeBazdidF" aria-label="close"></button>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
var productList = [
|
||||
{
|
||||
pname:'ممبران',
|
||||
price: 12000,
|
||||
code: 33
|
||||
},
|
||||
{
|
||||
pname:'مرحله 1',
|
||||
price: 56000,
|
||||
code: 44
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
|
||||
$('#prdstrsrch').on('input', function() {
|
||||
var prdFilter = productList.filter(function(prd){
|
||||
return prd.pname.includes($("#prdstrsrch").val());
|
||||
});
|
||||
$(".searchRs").html("");
|
||||
prdFilter.forEach(element => {
|
||||
var strEl = `<p class="mb-2">
|
||||
<span class="name_it1" style="width: 200px; display: inline-block;">`+element.pname+`</span>
|
||||
<span class="price_it1">`+element.price+`</span>
|
||||
<span class="is-hidden code_it1">`+element.code+`</span>
|
||||
<input class="count_it1" type="number" class="input" style="width: 100px; display: inline-block;">
|
||||
<span>
|
||||
<button class="button is-success is-small addToFactor1">+</button>
|
||||
</span>
|
||||
</p>`;
|
||||
|
||||
$(".searchRs").append(strEl);
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$(document).on('click', '.addToFactor1', function(){
|
||||
var name_it1 = $(this).parent().parent().find(".name_it1").html();
|
||||
var price_it1 = $(this).parent().parent().find(".price_it1").html();
|
||||
var code_it1 = $(this).parent().parent().find(".code_it1").html();
|
||||
var count_it1 = $(this).parent().parent().find(".count_it1").val();
|
||||
var strFI = `
|
||||
<p>
|
||||
<span class="is-hidden code_FI">`+code_it1+`</span>
|
||||
<span style="width: 150px ;">`+name_it1+`</span>
|
||||
<span>`+count_it1+`</span>
|
||||
<span style="width: 100px ;">`+price_it1+`</span>
|
||||
</p>
|
||||
`;
|
||||
|
||||
$(".factorIteamL").append(strFI);
|
||||
|
||||
|
||||
});
|
||||
|
||||
kamaDatepicker('persianDateP', { buttonsColor: "red", forceFarsiDigits: true });
|
||||
|
||||
|
||||
|
||||
$(".closeBazdidF").click(function(){
|
||||
$(".BazdidF").removeClass("is-active")
|
||||
});
|
||||
$(".openRow").click(function(){
|
||||
var id = $(this).parent().parent().find('.fid').val().trim();
|
||||
var name = $(this).parent().parent().find('.name').text().trim();
|
||||
var mobile_1 = $(this).parent().parent().find('.mobile_1').text().trim();
|
||||
|
||||
var address = $(this).parent().parent().find('.address').text().trim();
|
||||
//alert(id)
|
||||
$(".BazdidF").find('#bz_name').val(name);
|
||||
$(".BazdidF").find('#phone-1').val(mobile_1);
|
||||
|
||||
//$("#bedehiStatus").val('وضعیت')
|
||||
|
||||
$(".BazdidF").addClass("is-active")
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
</html>
|
||||
@@ -0,0 +1,68 @@
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
|
||||
|
||||
<html dir="rtl">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Hello Bulma!</title>
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/bulma.min.css' %}">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/bulma-rtl.min.css' %}">
|
||||
<link rel="stylesheet" type="text/css" href="{% static 'admin_panel/style.css' %}">
|
||||
<style>
|
||||
html {
|
||||
height: 100%;
|
||||
}
|
||||
body {
|
||||
min-height: 100%;
|
||||
background-color: #019abd;
|
||||
}
|
||||
.indexUBox{
|
||||
margin: 0 auto;
|
||||
display: block;
|
||||
padding-top: 50px;
|
||||
}
|
||||
.loginBox{
|
||||
background-color: #fff;
|
||||
border-radius: 10px;
|
||||
margin: 0 auto;
|
||||
display: block;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="columns is-centered indexUBox">
|
||||
<div class="column is-four-fifths-mobile is-one-quarter-desktop loginBox">
|
||||
<form method="post" action="{% url 'admin_panel:p_login' %}">
|
||||
{% csrf_token %}
|
||||
<h1 class="block has-text-centered is-size-3 is-centered">سامانه مشتریان</h1>
|
||||
<div class="field">
|
||||
<p class="">
|
||||
نام کاربری
|
||||
<input name="username" class="input" type="text" placeholder="نام کاربری">
|
||||
<span class="">
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p class="">
|
||||
کلمه عبور
|
||||
<input name="password" class="input" type="password" placeholder="کلمه عبور">
|
||||
<span class="">
|
||||
</span>
|
||||
</p>
|
||||
</div>
|
||||
<div class="has-text-centered is-centered">
|
||||
<input class="button is-success" type="submit" value="ورورد به سامانه">
|
||||
</div>
|
||||
|
||||
<p>{{ message }}</p>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,92 @@
|
||||
{% extends "./baseStore.html" %}
|
||||
{% load custom_tags %}
|
||||
|
||||
{% block storeBody %}
|
||||
<p class="has-text-centered mt-2 mb-2 is-size-5 ">عملیات جدید انبار</p>
|
||||
|
||||
<form action="{% url 'admin_panel:operation' %}" method="post" class="columns is-multiline is-mobile">
|
||||
{% csrf_token %}
|
||||
<div class="field column is-12-mobile is-4-desktop">
|
||||
<label class="label">نام محصول</label>
|
||||
<div class="control">
|
||||
<input disabled value="{{ product.product_name }}" class="input" type="text" placeholder="نام محصول">
|
||||
<input id="prd_id" name="prd_id" hidden value="{{ product.id }}" class="input is-hidden" type="text">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-mobile is-4-desktop">
|
||||
<label class="label">نوع عملیات</label>
|
||||
<div class="control">
|
||||
<div class="select is-fullwidth">
|
||||
<select name="actionType" id="actionType" required>
|
||||
<option></option>
|
||||
<option value="vorod">ورود</option>
|
||||
<option value="khoroj">خروج</option>
|
||||
<option value="transfer">انتقال</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-mobile is-4-desktop">
|
||||
<label class="label">تعداد</label>
|
||||
<div class="control">
|
||||
<input name="tedad" class="input" type="text" placeholder="تعداد">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="azanbar" class="field is-hidden column is-12-mobile is-4-desktop">
|
||||
<label class="label">از انبار</label>
|
||||
<div class="control">
|
||||
<div class="select is-fullwidth">
|
||||
<select name="azanbar">
|
||||
<option value="{{ storeO.id }}">{{ storeO.store_name }}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="beanbar" class="field is-hidden column is-12-mobile is-4-desktop">
|
||||
<label class="label">به انبار</label>
|
||||
<div class="control">
|
||||
<div class="select is-fullwidth">
|
||||
<select name="beanbar">
|
||||
<option></option>
|
||||
{% for store in allStores %}
|
||||
<option value="{{ store.id }}">{{ store.store_name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-mobile is-4-desktop">
|
||||
<label class="label">توضیحات</label>
|
||||
<div class="control">
|
||||
<input name="desc" id="desc" class="input" type="text" placeholder="توضیحات">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-mobile is-12-desktop">
|
||||
<div class="control">
|
||||
<button class="button is-link">ثبت</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<script>
|
||||
$("#actionType").change(function(){
|
||||
var actionType = $(this).val();
|
||||
if (actionType == 'transfer'){
|
||||
$("#azanbar").removeClass("is-hidden");
|
||||
$("#beanbar").removeClass("is-hidden");
|
||||
}else{
|
||||
$("#azanbar").addClass("is-hidden");
|
||||
$("#beanbar").addClass("is-hidden");
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,61 @@
|
||||
{% extends "./baseStore.html" %}
|
||||
{% load custom_tags %}
|
||||
|
||||
{% block storeBody %}
|
||||
<p class="has-text-centered mt-2 mb-2 is-size-5 ">{{ storeO.store_name }}</p>
|
||||
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>نام محصول</th>
|
||||
<th>ورود</th>
|
||||
<th>خروج</th>
|
||||
<th>توضیحات</th>
|
||||
<th>ناریخ</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>نام محصول</th>
|
||||
<th>ورود</th>
|
||||
<th>خروج</th>
|
||||
<th>توضیحات</th>
|
||||
<th>ناریخ</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
{% for operation in operationsList %}
|
||||
<tr>
|
||||
<td>{{ operation.Product.product_name }} </td>
|
||||
<td>{{ operation.s_in }}</td>
|
||||
<td>{{ operation.s_out }}</td>
|
||||
<td>{{ operation.desc }}</td>
|
||||
<td>{{ operation.createdDT | toJalali }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% if operationsList.has_other_pages %}
|
||||
<ul class="pagination">
|
||||
{% if operationsList.has_previous %}
|
||||
<li class="button is-success mt-2"><a href="?page={{ operationsList.previous_page_number }}">صفحه قبل</a></li>
|
||||
{% else %}
|
||||
<li class="disabled"><span>«</span></li>
|
||||
{% endif %}
|
||||
|
||||
<li class="active"><span> صفحه
|
||||
{{ operationsList.number }}
|
||||
از
|
||||
{{ operationsList.paginator.num_pages }}
|
||||
<span class="sr-only"></span></span></li>
|
||||
|
||||
{% if operationsList.has_next %}
|
||||
<li class="button is-success mt-2"><a href="?page={{ operationsList.next_page_number }}">صفحه بعد</a></li>
|
||||
{% else %}
|
||||
<li class="disabled"><span>»</span></li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,176 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
|
||||
{% block bodyPage %}
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12-mobile is-4-desktop">
|
||||
<form action="{% url 'admin_panel:newStore' %}" id="formcsEdit" class="has-background-white brad5" method="post">
|
||||
{% csrf_token %}
|
||||
|
||||
<div class="buttons m-0 level p-2 is-hidden-tablet">
|
||||
<p class="level-item">انبار</p>
|
||||
<span id="showUserDT" class="button level-item">ایجاد انبار </span>
|
||||
</div>
|
||||
|
||||
<div id="userDT" class="is-hidden-mobile">
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">نام انبار</label>
|
||||
<div class="control">
|
||||
<input value="" name="storeName" class="input an_name" type="text" placeholder="نام انبار">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<!--<span class="button is-success" id="enEdit">ویرایش</span>!-->
|
||||
<input class="button is-danger " id="editCs" value="ایجاد" type="submit">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="column is-12-mobile is-8-desktop">
|
||||
<div class="has-background-white brad5">
|
||||
<!--
|
||||
<div class="tabs is-centered m-0">
|
||||
<ul>
|
||||
<li ><a>وضعیت</a></li>
|
||||
<li class="is-active"><a>فاکتورها</a></li>
|
||||
<li><a>بازدید ها</a></li>
|
||||
</ul>
|
||||
</div> !-->
|
||||
|
||||
|
||||
<div id="storeData" class="column is-vcentered is-centered pt-0 is-12-mobile is-12-desktop">
|
||||
<div class="tabs is-centered m-0">
|
||||
<ul>
|
||||
<li ><a href="{% url 'admin_panel:store' s_id %}">موجودی</a></li>
|
||||
<li class="is-active"><a>دفترعملیات</a></li>
|
||||
<li><a>جدید</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p class="has-text-centered mt-2 mb-2 is-size-5 ">انبار اصلی</p>
|
||||
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>نام محصول</th>
|
||||
<th>ورود</th>
|
||||
<th>خروج</th>
|
||||
<th>توضیحات</th>
|
||||
<th>ناریخ</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>نام محصول</th>
|
||||
<th>ورود</th>
|
||||
<th>خروج</th>
|
||||
<th>توضیحات</th>
|
||||
<th>ناریخ</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
{% for operation in operationsList %}
|
||||
<tr>
|
||||
<td>{{ operation.Product.product_name }} </td>
|
||||
<td>{{ operation.s_in }}</td>
|
||||
<td>{{ operation.s_out }}</td>
|
||||
<td>{{ operation.desc }}</td>
|
||||
<td>{{ operation.createdDT | toJalali }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
kamaDatepicker('persianDateP', { buttonsColor: "red", forceFarsiDigits: true });
|
||||
|
||||
|
||||
$("#enEdit").click(function(){
|
||||
$("#formcsEdit").find("input").prop('disabled', false);
|
||||
$("#enEdit").addClass("is-hidden");
|
||||
$("#editCs").removeClass("is-hidden");
|
||||
});
|
||||
$("#showUserDT").click(function(){
|
||||
if( $(this).html()=='مشاهده مشخصات' ){
|
||||
$(this).html('مخفی کردن');
|
||||
$("#userDT").removeClass("is-hidden-mobile");
|
||||
}else{
|
||||
$(this).html('مشاهده مشخصات');
|
||||
$("#userDT").addClass("is-hidden-mobile");
|
||||
}
|
||||
|
||||
});
|
||||
$(".closeSearch").click(function(){
|
||||
$(".SearchBox").removeClass("is-active")
|
||||
});
|
||||
$(".closeAddUser").click(function(){
|
||||
$(".addNewUser").removeClass("is-active");
|
||||
$(".addNewUser").find('.an_name').val('');
|
||||
$(".addNewUser").find('.an_address').val('');
|
||||
$(".addNewUser").find('#phone-1').val('');
|
||||
$(".addNewUser").find('#phone-2').val('');
|
||||
$(".addNewUser").find('#phone-3').val('');
|
||||
$(".addNewUser").find('.installDate').val('');
|
||||
});
|
||||
|
||||
$(".openRow").click(function(){
|
||||
var id = $(this).parent().parent().find('.fid').val().trim();
|
||||
var name = $(this).parent().parent().find('.name').text().trim();
|
||||
var lastview = $(this).parent().parent().find('.lastview').text().trim();
|
||||
var installDate = $(this).parent().parent().find('.installDate').text().trim();
|
||||
var mobile_1 = $(this).parent().parent().find('.mobile_1').text().trim();
|
||||
var mobile_2 = $(this).parent().parent().find('.mobile_2').text().trim();
|
||||
var mobile_3 = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
var idCode = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
|
||||
var address = $(this).parent().parent().find('.address').text().trim();
|
||||
//alert(id)
|
||||
$(".mEdit1").find('.fid').val(id);
|
||||
$(".mEdit1").find('.uv_name').val(name);
|
||||
$(".mEdit1").find('.uv_installDate').val(installDate);
|
||||
$(".mEdit1").find('#phone-1').val(mobile_1);
|
||||
$(".mEdit1").find('#phone-2').val(mobile_2);
|
||||
$(".mEdit1").find('#phone-3').val(mobile_3);
|
||||
$(".mEdit1").find('.uv_address').val(address);
|
||||
|
||||
//$("#bedehiStatus").val('وضعیت')
|
||||
|
||||
$(".mEdit1").addClass("is-active")
|
||||
});
|
||||
$("#addNewUser").click(function(){
|
||||
$(".addNewUser").addClass("is-active")
|
||||
});
|
||||
$("#openSearchBox").click(function(){
|
||||
$(".SearchBox").addClass("is-active")
|
||||
});
|
||||
$("#bedehiCN01").click(function(){
|
||||
var factorId = $(this).parent().parent().find(".fid").val();
|
||||
if ($("#bedehiStatus").val() == "tasfiye"){
|
||||
alert("send To server to tasfiye");
|
||||
$("tbody").find('.fidv-'+factorId).parent().parent().remove();
|
||||
$(".mEdit1").removeClass("is-active");
|
||||
}
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,215 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
|
||||
{% if perms.admin_panel.ViewReportMali %}
|
||||
{% block bodyPage %}
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12">
|
||||
<div class="mt-6 mb-6">
|
||||
<form method="GET" class="columns is-mobile is-multiline is-centered">
|
||||
|
||||
<div class="field column is-2-desktop is-12-mobile m-0">
|
||||
<label class="label">نوع</label>
|
||||
<div class="select is-fullwidth">
|
||||
<select id="nahvepardakht" name="nahvepardakht" required id="actionChangeUser" class="">
|
||||
<option value="">انتخاب کنید</option>
|
||||
|
||||
{% for type_par in nahvePardakhat %}
|
||||
<option value="{{ type_par.en }}">{{ type_par.fa }}</option>
|
||||
{% endfor %}
|
||||
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-2-desktop is-12-mobile m-0">
|
||||
<label class="label">کاربر</label>
|
||||
<div class="select is-fullwidth">
|
||||
<select id="userlist" name="user" required id="actionChangeUser" class="">
|
||||
<option value="">نام کاربر را انتخاب کنید</option>
|
||||
|
||||
{% for auser in userHa %}
|
||||
<option value="{{ auser.username }}">{{ auser.first_name }} {{ auser.last_name }}</option>
|
||||
{% endfor %}
|
||||
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-2-desktop is-6-mobile m-0">
|
||||
<label class="label">از تاریخ</label>
|
||||
<div class="control">
|
||||
<input type="text" class="input dateTimeActionList pwt-datepicker-input-element">
|
||||
<input name="azTarikh" id="dateTimeActionListAlt" name="dateTimeActionListAlt" required type="text" class="input is-hidden dateTimeActionListAlt">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-2-desktop is-6-mobile m-0">
|
||||
<label class="label">تاتاریخ</label>
|
||||
<div class="control">
|
||||
<input type="text" class="input dateTimeTa pwt-datepicker-input-element">
|
||||
<input name="taTarikh" id="dateTimeTaAlt" name="dateTimeTaAlt" required type="text" class="input is-hidden dateTimeTaAlt">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-2-desktop is-6-mobile m-0">
|
||||
<div class="control">
|
||||
<label class="label">-</label>
|
||||
<input type="submit" class="button is-danger" value="گزارش گیری">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<p class="has-text-centered">
|
||||
<span>جمع:</span>
|
||||
<span class="toCurrency">{{ sum_credit.credit__sum }}</span>
|
||||
</p>
|
||||
|
||||
<div class="table-container column is-12-desktop is-12-mobile m-0">
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width: 80px;">بدهکار</th>
|
||||
<th style="min-width: 80px;">بستانکار</th>
|
||||
<th style="min-width: 80px;">نام</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 40px;">تاریخ</th>
|
||||
<th style="min-width: 60px;">نوع</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th class="toCurrency" style="min-width: 80px;">بدهکار</th>
|
||||
<th class="toCurrency" style="min-width: 80px;">بستانکار</th>
|
||||
<th style="min-width: 80px;">نام</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 40px;">تاریخ</th>
|
||||
<th style="min-width: 60px;">نوع</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody id="listPrds">
|
||||
|
||||
{% for articl in aricles %}
|
||||
<tr class="IteamPrd">
|
||||
<td>
|
||||
<span class="bedehkar toCurrency">{{ articl.debit }}</span>
|
||||
<span class=" is-hidden"></span>
|
||||
</td>
|
||||
<td class="bestankar toCurrency">{{ articl.credit }}</td>
|
||||
<td class="name">
|
||||
<a target="_blank" href="{% url 'admin_panel:customer' articl.customer.id %}">
|
||||
{{ articl.customer.name_family }}
|
||||
</a>
|
||||
</td>
|
||||
<td class="desc">{{ articl.desc }} {% if articl.nahvePardakht %} | {{ articl.nahvePardakht }} {% endif %}</td>
|
||||
<td class="action" >{{ articl.createdDT | toJalali }}</td>
|
||||
<td class="action" >{% if articl.typePy == 'khadamat' %}خدمات{% elif articl.typePy == 'nasb' %}نصب{% endif %}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p>
|
||||
صفحه
|
||||
{{ aricles.number }}
|
||||
از
|
||||
{{ aricles.paginator.num_pages }}
|
||||
|
||||
{% if aricles.has_previous %}
|
||||
<a class="button" href="?page=1{% if query_data %}&nahvepardakht={{ query_data.nahvePardakht }}&user={{ query_data.user }}&azTarikh={{ query_data.azTarikh }}&taTarikh={{ query_data.taTarikh }}{% endif %}">« صفحه اول </a>
|
||||
<a class="button" href="?page={{ aricles.previous_page_number }}{% if query_data %}&nahvepardakht={{ query_data.nahvePardakht }}&user={{ query_data.user }}&azTarikh={{ query_data.azTarikh }}&taTarikh={{ query_data.taTarikh }}{% endif %}">صفحه قبل</a>
|
||||
{% endif %}
|
||||
|
||||
{% if aricles.has_next %}
|
||||
<a class="button" href="?page={{ aricles.next_page_number }}{% if query_data %}&nahvepardakht={{ query_data.nahvePardakht }}&user={{ query_data.user }}&azTarikh={{ query_data.azTarikh }}&taTarikh={{ query_data.taTarikh }}{% endif %}">صفحه بعد</a>
|
||||
<a class="button" href="?page={{ aricles.paginator.num_pages }}{% if query_data %}&nahvepardakht={{ query_data.nahvePardakht }}&user={{ query_data.user }}&azTarikh={{ query_data.azTarikh }}&taTarikh={{ query_data.taTarikh }}{% endif %}"> صفحه آخر »</a>
|
||||
{% endif %}
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
|
||||
var azDateTime = function(){
|
||||
azDateTimeAlt = $("#dateTimeActionListAlt").val();
|
||||
}
|
||||
|
||||
var taChangeDateTime = function(){
|
||||
taDateTimeAlt = $("#dateTimeTaAlt").val();
|
||||
}
|
||||
var dateTimePickerAnjam = $(".dateTimeActionList").pDatepicker({
|
||||
altField: '.dateTimeActionListAlt',
|
||||
initialValue: false,
|
||||
initialValueType: 'persian',
|
||||
autoClose: true,
|
||||
format: 'YYYY/MM/DD',
|
||||
onHide: azDateTime,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
timePicker: {
|
||||
enabled: false,
|
||||
second:{
|
||||
enabled: false,
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
var dateTimePickerTaTarikh = $(".dateTimeTa").pDatepicker({
|
||||
altField: '.dateTimeTaAlt',
|
||||
initialValue: true,
|
||||
initialValueType: 'persian',
|
||||
autoClose: true,
|
||||
format: 'YYYY/MM/DD',
|
||||
onHide: taChangeDateTime,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
timePicker: {
|
||||
enabled: false,
|
||||
second:{
|
||||
enabled: false,
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
{% if unixADT %}
|
||||
dateTimePickerAnjam.setDate({{ unixADT }});
|
||||
{% endif %}
|
||||
$("#actionChangeUser").change(function(){
|
||||
var user_id = $(this).val();
|
||||
});
|
||||
{% if u_id %}
|
||||
$("#actionChangeUser").val({{ u_id }})
|
||||
{% endif %}
|
||||
{% if status %}
|
||||
$("#actionStatus").val('{{ status }}')
|
||||
{% endif %}
|
||||
|
||||
{% if query_data %}
|
||||
$("#nahvepardakht").val('{{ query_data.nahvePardakht }}')
|
||||
$("#userlist").val('{{ query_data.user }}')
|
||||
{% endif %}
|
||||
</script>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
} );
|
||||
</script>
|
||||
{% endblock %}
|
||||
{% endif %}
|
||||
@@ -0,0 +1,218 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
|
||||
{% if perms.admin_panel.ViewReportMali %}
|
||||
{% block bodyPage %}
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12">
|
||||
<div class="mt-6 mb-6">
|
||||
<form method="GET" class="columns is-mobile is-multiline is-centered">
|
||||
|
||||
<div class="field column is-2-desktop is-12-mobile m-0">
|
||||
<label class="label">نوع</label>
|
||||
<div class="select is-fullwidth">
|
||||
<select id="nahvepardakht" name="nahvepardakht" required id="actionChangeUser" class="">
|
||||
<option value="">انتخاب کنید</option>
|
||||
|
||||
{% for type_par in nahvePardakhat %}
|
||||
<option value="{{ type_par.en }}">{{ type_par.fa }}</option>
|
||||
{% endfor %}
|
||||
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-2-desktop is-12-mobile m-0">
|
||||
<label class="label">کاربر</label>
|
||||
<div class="select is-fullwidth">
|
||||
<select id="userlist" name="user" required id="actionChangeUser" class="">
|
||||
<option value="">نام کاربر را انتخاب کنید</option>
|
||||
|
||||
{% for auser in userHa %}
|
||||
<option value="{{ auser.username }}">{{ auser.first_name }} {{ auser.last_name }}</option>
|
||||
{% endfor %}
|
||||
|
||||
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-2-desktop is-6-mobile m-0">
|
||||
<label class="label">از تاریخ</label>
|
||||
<div class="control">
|
||||
<input type="text" class="input dateTimeActionList pwt-datepicker-input-element">
|
||||
<input name="azTarikh" id="dateTimeActionListAlt" name="dateTimeActionListAlt" required type="text" class="input is-hidden dateTimeActionListAlt">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-2-desktop is-6-mobile m-0">
|
||||
<label class="label">تاتاریخ</label>
|
||||
<div class="control">
|
||||
<input type="text" class="input dateTimeTa pwt-datepicker-input-element">
|
||||
<input name="taTarikh" id="dateTimeTaAlt" name="dateTimeTaAlt" required type="text" class="input is-hidden dateTimeTaAlt">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-2-desktop is-6-mobile m-0">
|
||||
<div class="control">
|
||||
<label class="label">-</label>
|
||||
<input type="submit" class="button is-danger" value="گزارش گیری">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<p class="has-text-centered">
|
||||
<span>جمع:</span>
|
||||
<span class="toCurrency">{{ sumSarresidha.price__sum }}</span>
|
||||
</p>
|
||||
|
||||
<div class="table-container column is-12-desktop is-12-mobile m-0">
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width: 80px;">مبلغ</th>
|
||||
|
||||
<th style="min-width: 80px;">نام</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 40px;">تاریخ ثبت</th>
|
||||
<th style="min-width: 40px;">تاریخ سررسید</th>
|
||||
<th style="min-width: 60px;">نوع</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th class="toCurrency" style="min-width: 80px;">مبلغ</th>>
|
||||
<th style="min-width: 80px;">نام</th>
|
||||
<th style="min-width: 400px;">توضیحات</th>
|
||||
<th style="min-width: 40px;">تاریخ ثبت</th>
|
||||
<th style="min-width: 40px;">تاریخ سررسید</th>
|
||||
<th style="min-width: 60px;">نوع</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody id="listPrds">
|
||||
|
||||
{% for sarresid in sarresidha %}
|
||||
<tr class="IteamPrd">
|
||||
<td>
|
||||
<span class="bedehkar toCurrency">{{ sarresid.price }}</span>
|
||||
<span class=" is-hidden"></span>
|
||||
</td>
|
||||
<td class="name">
|
||||
<a target="_blank" href="{% url 'admin_panel:customer' sarresid.customer.id %}">
|
||||
{{ sarresid.customer.name_family }}
|
||||
</a>
|
||||
</td>
|
||||
<td class="desc"> {% if sarresid.type == 'check' %} چک {% endif %}
|
||||
{% if sarresid.type == 'nesiye' %} نسیه {% endif %}
|
||||
</td>
|
||||
<td class="action" >{{ sarresid.createdDT | toJalali }}</td>
|
||||
<td class="action" >{{ sarresid.sarresidDT | toJalali }}</td>
|
||||
<td class="action" ></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<p>
|
||||
صفحه
|
||||
{{ sarresidha.number }}
|
||||
از
|
||||
{{ sarresidha.paginator.num_pages }}
|
||||
|
||||
{% if sarresidha.has_previous %}
|
||||
<a class="button" href="?page=1{% if query_data %}&nahvepardakht={{ query_data.nahvePardakht }}&user={{ query_data.user }}&azTarikh={{ query_data.azTarikh }}&taTarikh={{ query_data.taTarikh }}{% endif %}">« صفحه اول </a>
|
||||
<a class="button" href="?page={{ sarresidha.previous_page_number }}{% if query_data %}&nahvepardakht={{ query_data.nahvePardakht }}&user={{ query_data.user }}&azTarikh={{ query_data.azTarikh }}&taTarikh={{ query_data.taTarikh }}{% endif %}">صفحه قبل</a>
|
||||
{% endif %}
|
||||
|
||||
{% if sarresidha.has_next %}
|
||||
<a class="button" href="?page={{ sarresidha.next_page_number }}{% if query_data %}&nahvepardakht={{ query_data.nahvePardakht }}&user={{ query_data.user }}&azTarikh={{ query_data.azTarikh }}&taTarikh={{ query_data.taTarikh }}{% endif %}">صفحه بعد</a>
|
||||
<a class="button" href="?page={{ sarresidha.paginator.num_pages }}{% if query_data %}&nahvepardakht={{ query_data.nahvePardakht }}&user={{ query_data.user }}&azTarikh={{ query_data.azTarikh }}&taTarikh={{ query_data.taTarikh }}{% endif %}"> صفحه آخر »</a>
|
||||
{% endif %}
|
||||
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
|
||||
var azDateTime = function(){
|
||||
azDateTimeAlt = $("#dateTimeActionListAlt").val();
|
||||
}
|
||||
|
||||
var taChangeDateTime = function(){
|
||||
taDateTimeAlt = $("#dateTimeTaAlt").val();
|
||||
}
|
||||
var dateTimePickerAnjam = $(".dateTimeActionList").pDatepicker({
|
||||
altField: '.dateTimeActionListAlt',
|
||||
initialValue: false,
|
||||
initialValueType: 'persian',
|
||||
autoClose: true,
|
||||
format: 'YYYY/MM/DD',
|
||||
onHide: azDateTime,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
timePicker: {
|
||||
enabled: false,
|
||||
second:{
|
||||
enabled: false,
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
var dateTimePickerTaTarikh = $(".dateTimeTa").pDatepicker({
|
||||
altField: '.dateTimeTaAlt',
|
||||
initialValue: true,
|
||||
initialValueType: 'persian',
|
||||
autoClose: true,
|
||||
format: 'YYYY/MM/DD',
|
||||
onHide: taChangeDateTime,
|
||||
calendar:{
|
||||
persian: {
|
||||
locale: 'fa'
|
||||
}
|
||||
},
|
||||
timePicker: {
|
||||
enabled: false,
|
||||
second:{
|
||||
enabled: false,
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
{% if unixADT %}
|
||||
dateTimePickerAnjam.setDate({{ unixADT }});
|
||||
{% endif %}
|
||||
$("#actionChangeUser").change(function(){
|
||||
var user_id = $(this).val();
|
||||
});
|
||||
{% if u_id %}
|
||||
$("#actionChangeUser").val({{ u_id }})
|
||||
{% endif %}
|
||||
{% if status %}
|
||||
$("#actionStatus").val('{{ status }}')
|
||||
{% endif %}
|
||||
|
||||
{% if query_data %}
|
||||
$("#nahvepardakht").val('{{ query_data.nahvePardakht }}')
|
||||
$("#userlist").val('{{ query_data.user }}')
|
||||
{% endif %}
|
||||
</script>
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
} );
|
||||
</script>
|
||||
{% endblock %}
|
||||
{% endif %}
|
||||
@@ -0,0 +1,158 @@
|
||||
{% extends "./base.html" %}
|
||||
{% block bodyPage %}
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12">
|
||||
<div class="table-container">
|
||||
<table class="table has-text-centered is-bordered is-striped is-narrow is-hoverable is-fullwidth">
|
||||
<!-- Your table content -->
|
||||
<thead>
|
||||
<tr style="
|
||||
background: #33b5d3;
|
||||
">
|
||||
<th >ردیف</th>
|
||||
<th style="min-width: 200px;">نام و نام خانودگی</th>
|
||||
<th >آخرین بازدید</th>
|
||||
<th style="min-width: 150px;">توسط</th>
|
||||
<th >تلفن</th>
|
||||
<th style="min-width: 400px;">آدرس</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>
|
||||
<input class="is-hidden fid fidv-20" value="20">
|
||||
<div class="tdvl openRow name">
|
||||
یاوری
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl lastView">
|
||||
1400/05/04
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl tavasot">
|
||||
خدمات 1 سالاری
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl mobile_1">
|
||||
09384999655
|
||||
</div>
|
||||
<div class="tdvl is-hidden mobile_2">
|
||||
09384999655
|
||||
</div>
|
||||
<div class="tdvl is-hidden mobile_3">
|
||||
09384999655
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class="tdvl address">
|
||||
تست
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal RezayatF">
|
||||
<div class="modal-background closeRezayatF"></div>
|
||||
<div class="modal-content">
|
||||
<div class="columns is-mobile is-multiline">
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">نام ونام خانوادگی</label>
|
||||
<div class="control">
|
||||
<input class="input rf_name" type="text" placeholder="نام نام خانوادگی">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">تلفن همراه</label>
|
||||
<div class="control">
|
||||
<input class="input rf_mobile" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">توسط</label>
|
||||
<div class="control">
|
||||
<input class="input rf_tavasot" value="خدمات1 سالاری" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">ساعت و تاریخ</label>
|
||||
<div class="control">
|
||||
<input name="bazdidDateTime" class="input bz_DateTime" type="text" placeholder="">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-4-desktop is-12-mobile m-0">
|
||||
<label class="label">میزان رضایت</label>
|
||||
<div class="select">
|
||||
<select>
|
||||
<option>میزان رضایت</option>
|
||||
<option>3</option>
|
||||
<option>2</option>
|
||||
<option>1</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-8-desktop is-12-mobile m-0">
|
||||
<label class="label">توضیحات</label>
|
||||
<div class="control">
|
||||
<textarea class="textarea" placeholder="توضیحات"></textarea> </div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<input class="button is-success" id="editCS" value="ثبت" type="submit">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<button class="modal-close is-large closeRezayatF" aria-label="close"></button>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$(".closeRezayatF").click(function(){
|
||||
$(".RezayatF").removeClass("is-active")
|
||||
});
|
||||
$(".openRow").click(function(){
|
||||
var id = $(this).parent().parent().find('.fid').val().trim();
|
||||
var name = $(this).parent().parent().find('.name').text().trim();
|
||||
var lastview = $(this).parent().parent().find('.lastview').text().trim();
|
||||
var mobile_1 = $(this).parent().parent().find('.mobile_1').text().trim();
|
||||
var mobile_2 = $(this).parent().parent().find('.tavasot').text().trim();
|
||||
var mobile_3 = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
var tavasot = $(this).parent().parent().find('.tavasot').text().trim();
|
||||
|
||||
var address = $(this).parent().parent().find('.address').text().trim();
|
||||
//alert(id)
|
||||
$(".RezayatF").find('.fid').val(id);
|
||||
$(".RezayatF").find('.uv_name').val(name);
|
||||
$(".RezayatF").find('#phone-1').val(mobile_1);
|
||||
$(".RezayatF").find('#phone-2').val(mobile_2);
|
||||
$(".RezayatF").find('#phone-3').val(mobile_3);
|
||||
$(".RezayatF").find('.uv_address').val(address);
|
||||
|
||||
//$("#bedehiStatus").val('وضعیت')
|
||||
|
||||
$(".RezayatF").addClass("is-active")
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,184 @@
|
||||
{% extends "./baseStore.html" %}
|
||||
{% load custom_tags %}
|
||||
{% load static %}
|
||||
|
||||
{% block storeBody %}
|
||||
<p class="has-text-centered mt-2 mb-2 is-size-5 ">{{ storeO.store_name }}</p>
|
||||
<form class="columns m-0 is-multiline is-mobile" method="post">
|
||||
{% csrf_token %}
|
||||
<div class="field column is-6-desktop is-6-mobile">
|
||||
<div class="control ">
|
||||
<input id="searchQS" value="{{ djsearchQS }}" name="searchQS" class="input is-fullwidth" type="text" placeholder="نام محصول">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-3-desktop is-6-mobile">
|
||||
<div class="control ">
|
||||
<div class="select is-fullwidth">
|
||||
<select id="mojodi" name="mojodi">
|
||||
<option value="">وضعیت موجودی</option>
|
||||
<option value="0">عدم موجودی</option>
|
||||
<option value="1">نقطه سفارش</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-3-desktop is-12-mobile">
|
||||
<div class="control ">
|
||||
<input type="submit" class="button is-link is-fullwidth" value="جستجو"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<a class="button is-info mb-3 {% if searchStatus %} {% else %} is-hidden {% endif %}" href="{% url 'admin_panel:store' s_id %}">لغو جستجو و مشاهده همه</a>
|
||||
|
||||
<div class="table-container">
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="min-width: 200px;">نام محصول</th>
|
||||
<th>قیمت</th>
|
||||
<th>موجودی</th>
|
||||
<th style="min-width: 100px;">عملیات</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>نام محصول</th>
|
||||
<th>قیمت</th>
|
||||
<th>موجودی</th>
|
||||
<th>عملیات</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
{% for prd in productSum %}
|
||||
<tr prd_id="{{ prd.id }}" class="openPrdEdit" p_cat="{{ prd.ProductCategory.id }}">
|
||||
<td >
|
||||
<a {% if perms.admin_panel.ViewStore %}href="{% url 'admin_panel:operationProduct' s_id prd.id %}"{% endif %}>
|
||||
<span class="product_name">{{ prd.product_name }}</span>
|
||||
</a>
|
||||
</td>
|
||||
<td class="product_price">{{ prd.product_price }} </td>
|
||||
<td class="product_mojodi" >{{ prd.mojodi }}</td>
|
||||
|
||||
<td>
|
||||
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
<span class="Oedit_prd"><img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/edit.png' %}"></span>
|
||||
|
||||
|
||||
<span class="delet_prd"><img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/delet.png' %}"></span>
|
||||
|
||||
|
||||
<a href="{% url 'admin_panel:newOperation' s_id prd.id %}">
|
||||
<span><img style="width: 20px; height: 20px;" src="{% static 'admin_panel/icons/add.png' %}"></span>
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
|
||||
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="edit_prd" class="modal">
|
||||
<div class="modal-background close_edit"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">ویرایش محصول</p>
|
||||
<button class="delete close_edit" aria-label="close"></button>
|
||||
</header>
|
||||
<form action="{% url 'admin_panel:productEdit' %}" id="formcsEdit" class="has-background-white brad5" method="post">
|
||||
<section class="modal-card-body">
|
||||
|
||||
{% csrf_token %}
|
||||
|
||||
<input id="i_pcode" type="hidden" name="prd_code" value="">
|
||||
|
||||
<div id="userDT" class="is-hidden-mobile">
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">نام کالا</label>
|
||||
<div class="control">
|
||||
<input id="EditnamePrd" required value="" name="namePrd" class="input an_name" type="text" placeholder="نام محصول">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">دسته کالا</label>
|
||||
<div class="control">
|
||||
|
||||
<div class="select is-fullwidth">
|
||||
<select id="Editcategory" name="category" required>
|
||||
<option value=""></option>
|
||||
{% for catg in productCategory %}
|
||||
<option value="{{ catg.id }}">{{ catg.category_name }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">قیمت کالا</label>
|
||||
<div class="control">
|
||||
<input id="Editproduct_price" required value="" name="price" class="input an_name" type="text" placeholder="قیمت">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
<footer class="modal-card-foot">
|
||||
<input value="ذخیره" type="submit" class="button is-success">
|
||||
<button class="button close_edit">لغو</button>
|
||||
</footer>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
{% if not mojodi %}
|
||||
var mojodiVar = '';
|
||||
{% else %}
|
||||
var mojodiVar = {{ mojodi }};
|
||||
{% endif %}
|
||||
var objpname = null;
|
||||
|
||||
$('#mojodi').val( mojodiVar );
|
||||
$(".delet_prd").click(function(){
|
||||
var prd_id = $(this).parent().parent().attr('prd_id');
|
||||
if ( confirm("از حذف مطمئن هستید؟") ){
|
||||
window.location.href = '/panel/product/del/'+prd_id+"/"+"{{ s_id }}";
|
||||
}
|
||||
});
|
||||
$(".close_edit").click(function(){
|
||||
$("#edit_prd").removeClass('is-active');
|
||||
});
|
||||
|
||||
$(".Oedit_prd").click(function(){
|
||||
$("#edit_prd").addClass('is-active');
|
||||
prd_id = $(this).parent().parent().attr("prd_id");
|
||||
p_cat = $(this).parent().parent().attr("p_cat");
|
||||
objpname = $(this).parent().parent().find('.product_name')
|
||||
//alert($(this).parent().parent().find('.product_name'))
|
||||
$("#i_pcode").val(prd_id);
|
||||
$("#EditnamePrd").val( $(this).parent().parent().find('.product_name').html() );
|
||||
$("#Editproduct_price").val( $(this).parent().parent().find('.product_price').html() );
|
||||
$("#Editcategory").val( p_cat );
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,167 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
|
||||
{% block bodyPage %}
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12-mobile is-4-desktop">
|
||||
<form action="{% url 'admin_panel:newStore' %}" id="formcsEdit" class="has-background-white brad5" method="post">
|
||||
{% csrf_token %}
|
||||
|
||||
<div class="buttons m-0 level p-2 is-hidden-tablet">
|
||||
<p class="level-item">انبار</p>
|
||||
<span id="showUserDT" class="button level-item">ایجاد انبار </span>
|
||||
</div>
|
||||
|
||||
<div id="userDT" class="is-hidden-mobile">
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">نام انبار</label>
|
||||
<div class="control">
|
||||
<input value="" name="storeName" class="input an_name" type="text" placeholder="نام انبار">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<!--<span class="button is-success" id="enEdit">ویرایش</span>!-->
|
||||
<input class="button is-danger " id="editCs" value="ایجاد" type="submit">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="column is-12-mobile is-8-desktop">
|
||||
<div class="has-background-white brad5">
|
||||
<!--
|
||||
<div class="tabs is-centered m-0">
|
||||
<ul>
|
||||
<li ><a>وضعیت</a></li>
|
||||
<li class="is-active"><a>فاکتورها</a></li>
|
||||
<li><a>بازدید ها</a></li>
|
||||
</ul>
|
||||
</div> !-->
|
||||
|
||||
|
||||
<div id="storeData" class="column is-vcentered is-centered pt-0 is-12-mobile is-12-desktop">
|
||||
<div class="tabs is-centered m-0">
|
||||
<ul>
|
||||
<li href="{% url 'admin_panel:store' s_id %}" class="is-active"><a>موجودی</a></li>
|
||||
<li ><a href="{% url 'admin_panel:operations' s_id %}">دفترعملیات</a></li>
|
||||
<li class="is-active"><a>جدید</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p class="has-text-centered mt-2 mb-2 is-size-5 ">انبار اصلی</p>
|
||||
|
||||
<table class="table m-auto has-text-centered table is-bordered is-striped is-narrow is-fullwidth mojodiTB ">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>نام محصول</th>
|
||||
<th>موجودی</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>نام محصول</th>
|
||||
<th>موجودی</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody>
|
||||
{% for prd in productSum %}
|
||||
<tr>
|
||||
<td>{{ prd.product_name }} </td>
|
||||
<td>{{ prd.mojodi }}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
kamaDatepicker('persianDateP', { buttonsColor: "red", forceFarsiDigits: true });
|
||||
|
||||
|
||||
$("#enEdit").click(function(){
|
||||
$("#formcsEdit").find("input").prop('disabled', false);
|
||||
$("#enEdit").addClass("is-hidden");
|
||||
$("#editCs").removeClass("is-hidden");
|
||||
});
|
||||
$("#showUserDT").click(function(){
|
||||
if( $(this).html()=='مشاهده مشخصات' ){
|
||||
$(this).html('مخفی کردن');
|
||||
$("#userDT").removeClass("is-hidden-mobile");
|
||||
}else{
|
||||
$(this).html('مشاهده مشخصات');
|
||||
$("#userDT").addClass("is-hidden-mobile");
|
||||
}
|
||||
|
||||
});
|
||||
$(".closeSearch").click(function(){
|
||||
$(".SearchBox").removeClass("is-active")
|
||||
});
|
||||
$(".closeAddUser").click(function(){
|
||||
$(".addNewUser").removeClass("is-active");
|
||||
$(".addNewUser").find('.an_name').val('');
|
||||
$(".addNewUser").find('.an_address').val('');
|
||||
$(".addNewUser").find('#phone-1').val('');
|
||||
$(".addNewUser").find('#phone-2').val('');
|
||||
$(".addNewUser").find('#phone-3').val('');
|
||||
$(".addNewUser").find('.installDate').val('');
|
||||
});
|
||||
|
||||
$(".openRow").click(function(){
|
||||
var id = $(this).parent().parent().find('.fid').val().trim();
|
||||
var name = $(this).parent().parent().find('.name').text().trim();
|
||||
var lastview = $(this).parent().parent().find('.lastview').text().trim();
|
||||
var installDate = $(this).parent().parent().find('.installDate').text().trim();
|
||||
var mobile_1 = $(this).parent().parent().find('.mobile_1').text().trim();
|
||||
var mobile_2 = $(this).parent().parent().find('.mobile_2').text().trim();
|
||||
var mobile_3 = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
var idCode = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
|
||||
var address = $(this).parent().parent().find('.address').text().trim();
|
||||
//alert(id)
|
||||
$(".mEdit1").find('.fid').val(id);
|
||||
$(".mEdit1").find('.uv_name').val(name);
|
||||
$(".mEdit1").find('.uv_installDate').val(installDate);
|
||||
$(".mEdit1").find('#phone-1').val(mobile_1);
|
||||
$(".mEdit1").find('#phone-2').val(mobile_2);
|
||||
$(".mEdit1").find('#phone-3').val(mobile_3);
|
||||
$(".mEdit1").find('.uv_address').val(address);
|
||||
|
||||
//$("#bedehiStatus").val('وضعیت')
|
||||
|
||||
$(".mEdit1").addClass("is-active")
|
||||
});
|
||||
$("#addNewUser").click(function(){
|
||||
$(".addNewUser").addClass("is-active")
|
||||
});
|
||||
$("#openSearchBox").click(function(){
|
||||
$(".SearchBox").addClass("is-active")
|
||||
});
|
||||
$("#bedehiCN01").click(function(){
|
||||
var factorId = $(this).parent().parent().find(".fid").val();
|
||||
if ($("#bedehiStatus").val() == "tasfiye"){
|
||||
alert("send To server to tasfiye");
|
||||
$("tbody").find('.fidv-'+factorId).parent().parent().remove();
|
||||
$(".mEdit1").removeClass("is-active");
|
||||
}
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,149 @@
|
||||
{% extends "./base.html" %}
|
||||
{% load custom_tags %}
|
||||
|
||||
{% block bodyPage %}
|
||||
|
||||
<div class="">
|
||||
<div class="columns m-0">
|
||||
<div class="column is-12-mobile is-4-desktop">
|
||||
{% if perms.admin_panel.ViewStore %}
|
||||
<form action="{% url 'admin_panel:newStore' %}" id="formcsEdit" class="has-background-white brad5" method="post">
|
||||
{% csrf_token %}
|
||||
|
||||
<div class="buttons m-0 level p-2 is-hidden-tablet">
|
||||
<p class="level-item">انبار</p>
|
||||
<span id="showUserDT" class="button level-item">ایجاد انبار </span>
|
||||
</div>
|
||||
|
||||
<div id="userDT" class="is-hidden-mobile">
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<label class="label">نام انبار</label>
|
||||
<div class="control">
|
||||
<input value="" name="storeName" class="input an_name" type="text" placeholder="نام انبار">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field column is-12-desktop is-12-mobile m-0">
|
||||
<!--<span class="button is-success" id="enEdit">ویرایش</span>!-->
|
||||
<input class="button is-danger " id="editCs" value="ایجاد" type="submit">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="column is-12-mobile is-8-desktop">
|
||||
<div class="has-background-white brad5">
|
||||
<!--
|
||||
<div class="tabs is-centered m-0">
|
||||
<ul>
|
||||
<li ><a>وضعیت</a></li>
|
||||
<li class="is-active"><a>فاکتورها</a></li>
|
||||
<li><a>بازدید ها</a></li>
|
||||
</ul>
|
||||
</div> !-->
|
||||
|
||||
|
||||
<div id="storeLists" class="column is-12-mobile is-12-desktop">
|
||||
<h1 class="mb-3">لیست انبار ها</h1>
|
||||
<div class="columns is-multiline is-mobile">
|
||||
{% for store in all_store %}
|
||||
<div class="column is-12-mobile is-4-desktop has-text-centered ">
|
||||
<a href="{% url 'admin_panel:store' store.id %}">
|
||||
<div class="has-background-success p-4 brad5">
|
||||
<p>{{ store.store_name }}</p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
{% block jsEnd %}
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
kamaDatepicker('persianDateP', { buttonsColor: "red", forceFarsiDigits: true });
|
||||
|
||||
|
||||
$("#enEdit").click(function(){
|
||||
$("#formcsEdit").find("input").prop('disabled', false);
|
||||
$("#enEdit").addClass("is-hidden");
|
||||
$("#editCs").removeClass("is-hidden");
|
||||
});
|
||||
$("#showUserDT").click(function(){
|
||||
if( $(this).html()=='مشاهده مشخصات' ){
|
||||
$(this).html('مخفی کردن');
|
||||
$("#userDT").removeClass("is-hidden-mobile");
|
||||
}else{
|
||||
$(this).html('مشاهده مشخصات');
|
||||
$("#userDT").addClass("is-hidden-mobile");
|
||||
}
|
||||
|
||||
});
|
||||
$(".closeSearch").click(function(){
|
||||
$(".SearchBox").removeClass("is-active")
|
||||
});
|
||||
$(".closeAddUser").click(function(){
|
||||
$(".addNewUser").removeClass("is-active");
|
||||
$(".addNewUser").find('.an_name').val('');
|
||||
$(".addNewUser").find('.an_address').val('');
|
||||
$(".addNewUser").find('#phone-1').val('');
|
||||
$(".addNewUser").find('#phone-2').val('');
|
||||
$(".addNewUser").find('#phone-3').val('');
|
||||
$(".addNewUser").find('.installDate').val('');
|
||||
});
|
||||
|
||||
$(".openRow").click(function(){
|
||||
var id = $(this).parent().parent().find('.fid').val().trim();
|
||||
var name = $(this).parent().parent().find('.name').text().trim();
|
||||
var lastview = $(this).parent().parent().find('.lastview').text().trim();
|
||||
var installDate = $(this).parent().parent().find('.installDate').text().trim();
|
||||
var mobile_1 = $(this).parent().parent().find('.mobile_1').text().trim();
|
||||
var mobile_2 = $(this).parent().parent().find('.mobile_2').text().trim();
|
||||
var mobile_3 = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
var idCode = $(this).parent().parent().find('.mobile_3').text().trim();
|
||||
|
||||
var address = $(this).parent().parent().find('.address').text().trim();
|
||||
//alert(id)
|
||||
$(".mEdit1").find('.fid').val(id);
|
||||
$(".mEdit1").find('.uv_name').val(name);
|
||||
$(".mEdit1").find('.uv_installDate').val(installDate);
|
||||
$(".mEdit1").find('#phone-1').val(mobile_1);
|
||||
$(".mEdit1").find('#phone-2').val(mobile_2);
|
||||
$(".mEdit1").find('#phone-3').val(mobile_3);
|
||||
$(".mEdit1").find('.uv_address').val(address);
|
||||
|
||||
//$("#bedehiStatus").val('وضعیت')
|
||||
|
||||
$(".mEdit1").addClass("is-active")
|
||||
});
|
||||
$("#addNewUser").click(function(){
|
||||
$(".addNewUser").addClass("is-active")
|
||||
});
|
||||
$("#openSearchBox").click(function(){
|
||||
$(".SearchBox").addClass("is-active")
|
||||
});
|
||||
$("#bedehiCN01").click(function(){
|
||||
var factorId = $(this).parent().parent().find(".fid").val();
|
||||
if ($("#bedehiStatus").val() == "tasfiye"){
|
||||
alert("send To server to tasfiye");
|
||||
$("tbody").find('.fidv-'+factorId).parent().parent().remove();
|
||||
$(".mEdit1").removeClass("is-active");
|
||||
}
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
{% endblock %}
|
||||
Reference in new issue
Block a user