소스 검색

审核租户

wushaodong 4 년 전
부모
커밋
ae5f4ff830
5개의 변경된 파일130개의 추가작업 그리고 18개의 파일을 삭제
  1. 22 8
      apps/admin/tenant/views.py
  2. 4 8
      apps/tenant/models.py
  3. 83 0
      uis/zzlyadmin/tenant/check.html
  4. 0 1
      uis/zzlyadmin/tenant/edit.html
  5. 21 1
      uis/zzlyadmin/tenant/index.html

+ 22 - 8
apps/admin/tenant/views.py

@@ -1,5 +1,5 @@
 # coding=utf-8
-
+from django.conf import settings
 from utils.custom_modelviewset import CustomModelViewSet
 from utils.permission import IsAdministratorUser
 from apps.tenant.models import Tenant
@@ -11,7 +11,7 @@ from django.db import transaction
 from utils import response_ok
 from utils.exceptions import CustomError
 from rest_framework.decorators import action
-from apps.WechatTp.models import WechatTp
+from utils import response_ok, response_error
 
 class TenantViewSet(CustomModelViewSet):
     permission_classes = [IsAdministratorUser, ]
@@ -41,9 +41,23 @@ class TenantViewSet(CustomModelViewSet):
         return response_ok()
 
     @action(methods=['post'], detail=True)
-    def bind_wechat_tp(self, request, pk):
-        tp = WechatTp.getDefault()
-        if not tp:
-            raise CustomError(u'未找到微信第三方平台!')
-        url = tp.getAuthUrl(pk)
-        return response_ok(url)
+    def check(self, request, pk):
+        # 审核
+        status = request.POST.get('status')
+        reject_reason = request.POST.get('reason')
+        try:
+            with transaction.atomic():
+                instance = Tenant.getById(pk)
+                # 审核
+                if instance.status > settings.DEFAULT:
+                    raise CustomError('当前租户已审核!')
+
+                instance.status = status
+                instance.reject_reason = reject_reason
+                instance.save()
+                BizLog.objects.addnew(None, request.user, BizLog.INSERT, u'审核租户[%s]状态为[%s],id=%d' % (instance.company_name, status, instance.id))
+        except CustomError as e:
+            return response_error(e.get_error_msg())
+        except Exception as e:
+            return response_error(str(e))
+        return response_ok('审核完成!')

+ 4 - 8
apps/tenant/models.py

@@ -6,12 +6,7 @@ from utils.exceptions import CustomError
 from django.utils import timezone
 
 class Tenant(models.Model):
-    REPAIR_ORDER = 1
-    INSPECTION_ORDER = 2
-    ORDER_TYPE = (
-        (REPAIR_ORDER, '报修工单'),
-        (INSPECTION_ORDER, '巡检转报修工单')
-    )
+
     company_no = models.CharField(max_length=10, verbose_name=u'单位编号', blank=True, null=True)
     company_name = models.CharField(max_length=200, verbose_name=u'单位名称')
     organ_code = models.CharField(max_length=200, verbose_name=u'组织代码')
@@ -22,6 +17,7 @@ class Tenant(models.Model):
     end_date = models.DateField(verbose_name=u'到期时间', editable=False, blank=True, null=True)
     status = models.PositiveSmallIntegerField(choices=settings.CHECK_STATE_CHOICES, verbose_name=u'审核状态',
                                               default=settings.DEFAULT)
+    reject_reason = models.CharField(max_length=200, verbose_name=u'拒绝原因', blank=True, null=True)
     delete = models.BooleanField(verbose_name=u'删除', default=False, editable=False)
 
     class Meta:
@@ -31,8 +27,8 @@ class Tenant(models.Model):
         default_permissions = ()
 
     def get_no(self):
-        now = timezone.now()
-        no = '{0}{1}'.format(self.id, now.strftime('%H%M%S'))
+        now = int(timezone.now().strftime('%H%M%S'))*1.3
+        no = '{0}{1}'.format(self.id, now)
         return no
 
     @staticmethod

+ 83 - 0
uis/zzlyadmin/tenant/check.html

@@ -0,0 +1,83 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta charset="utf-8">
+    <title>审核租户</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
+    <link rel="stylesheet" type="text/css" href="../../layuiadmin/style/formSelects-v4.css"/>
+</head>
+<body>
+
+<div class="layui-fluid">
+    <div class="layui-row layui-col-space15">
+        <div class="layui-col-md6">
+            <div class="layui-card">
+                <div class="layui-card-body">
+                    <form class="layui-form" action="" lay-filter="component-form-element">
+                        <div class="layui-form-item">
+                            <label class="layui-form-label"><font color='red' size="4">*</font>状态:</label>
+                            <div class="layui-input-block">
+                                <select id="id_status" name="status" lay-verify="required">
+                                    <option value="1" selected>通过</option>
+                                    <option value="2">拒绝</option>
+                                </select>
+                            </div>
+                        </div>
+                        <div class="layui-row layui-col-space10 layui-form-item">
+                            <label class="layui-form-label">拒绝原因:</label>
+                            <div class="layui-input-block">
+                                    <textarea name="reason" rows="3" required
+                                              placeholder="请输入拒绝原因" class="layui-textarea"></textarea>
+                            </div>
+                        </div>
+                        <button class="layui-btn" id="id_option_save" lay-submit lay-filter="component-form-element"
+                                style="display: none">保存
+                        </button>
+                    </form>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+
+<script src="../../layuiadmin/layui/layui.js"></script>
+
+<script>
+    layui.config({
+        base: '../../../layuiadmin/' //静态资源所在路径
+    }).extend({
+        index: 'lib/index',
+        formSelects: 'formSelects-v4'
+    }).use(['index', 'form', 'utils'], function () {
+        var $ = layui.$
+            , admin = layui.admin
+            , form = layui.form
+        var id = layui.view.getParameterByName('id');
+
+        form.on('submit(component-form-element)', function (data) {
+
+            admin.req({
+                url: '/admin/tenant/' + id + '/check/'
+                , data: data.field
+                , type: 'post'
+                , done: function (res) {
+                    parent.layer.closeAll('iframe');
+                    parent.layui.table.reload('datagrid', {});
+                }
+            });
+
+            return false;
+        });
+
+        parent.layui.submitChild = function () {
+            $("#id_option_save").click();
+        };
+    });
+</script>
+</body>
+</html>

+ 0 - 1
uis/zzlyadmin/tenant/edit.html

@@ -95,7 +95,6 @@
                 url = '/admin/tenant/';
                 type = 'post';
             }
-            console.log(33333333333, url, submitData)
             admin.req({
                 url: url
                 , data: submitData

+ 21 - 1
uis/zzlyadmin/tenant/index.html

@@ -143,6 +143,7 @@
                 , {field: 'status_text', title: '审核状态', width: 120}
                 , {field: 'renew_time', title: '续费时间', width: 160}
                 , {field: 'renew_amount', title: '续费金额', width: 120}
+                , {field: 'reject_reason', title: '拒绝原因', width: 120}
                 , {title: "操作", width: 260, align: 'left', fixed: 'right', toolbar: '#datagrid-operate-bar'}
             ]]
             , page: true
@@ -178,7 +179,26 @@
                     },
                     content: 'edit.html?id=' + data.id
                 });
-            }  else {
+            } else if (obj.event === 'check') {
+                if (data.status > 0) {
+                    layer.msg('该租户已审核!');
+                    return false
+                }
+                layer.open({
+                    type: 2,
+                    title: "审核",
+                    shadeClose: false,
+                    area: ['450px', '400px'],
+                    btn: ['保存', '取消'],
+                    yes: function (index, dom) {
+                        layui.submitChild();
+                    },
+                    btn2: function (index, layero) {
+                        layer.close(index); //关闭当前按钮
+                    },
+                    content: "check.html?id=" + data.id
+                })
+            } else {
                 // 执行添加超级管理员操作
                 layer.open({
                     type: 2,