wushaodong 3 lat temu
rodzic
commit
2b2101c72d

+ 4 - 4
apps/account/models.py

@@ -46,7 +46,7 @@ class User(AbstractBaseUser, PermissionsMixin):
         (SELLER, u'业务员'),  # 客户
         (CUSTOMER, u'客户'),  # 客户
     )
-    username = models.CharField(verbose_name=u'用户名', max_length=30, unique=True, db_index=True,
+    username = models.CharField(verbose_name=u'用户名', max_length=30, db_index=True,
                                 help_text=u'不多于20个字符。只能用字母、数字和字符。')
     # password = models.CharField(u'密码', max_length=128, blank=True,)
 
@@ -71,9 +71,9 @@ class User(AbstractBaseUser, PermissionsMixin):
     class Meta:
         db_table = "auth_user"
         verbose_name = u"人员管理"
-        unique_together = [
-            ('username')
-        ]
+        # unique_together = [
+        #     ('username')
+        # ]
         ordering = ['-id']
         default_permissions = ()
         permissions = [

+ 1 - 1
apps/account/serializers.py

@@ -62,7 +62,7 @@ class EmployeeSerializer(serializers.ModelSerializer):
 
     def create(self, validated_data):
         username = self.initial_data['username']
-        user = User.objects.filter(username=username, type__in=[User.SELLER, User.EMPLOYEE]).first()
+        user = User.objects.filter(username=username).first()
         if user:
             if user.type == User.CUSTOMER:
                 # 如果新添加的账号是游客,直接改成员工

+ 2 - 1
apps/order/serializers.py

@@ -61,7 +61,8 @@ class OrderListSerializer(serializers.ModelSerializer):
 
     class Meta:
         model = Order
-        fields = ('id','name','tel','sex_text','inumber','laompany_text','status_text','create_time_f','create_user_text','seller_text',)
+        fields = ('id','name','tel','sex_text','inumber','laompany_text','status_text','create_time_f',
+                  'create_user_text','seller_text','cancel_reason',)
 
 class OrderSerializer(serializers.ModelSerializer):
     create_user_text = serializers.CharField(source='create_user.username', read_only=True)

+ 8 - 1
apps/order/views.py

@@ -215,9 +215,14 @@ class OrderViewSet(CustomModelViewSet):
     @action(methods=['post'], detail=True)
     def checkEdit(self, request, pk):
         data = request.POST.get('items')
+        reason = request.POST.get('reason')
         status = request.GET.get('statu')
         try:
             instance = self.get_object()
+            if instance.status == order.ONE:
+                raise CustomError('该客户信息已审核通过,禁止操作')
+            if instance.status == order.THREE:
+                raise CustomError('该客户信息被拒绝审批,禁止操作')
             with transaction.atomic():
                 if status == '1':
                     # 通过
@@ -225,7 +230,9 @@ class OrderViewSet(CustomModelViewSet):
                 elif status == '3':
                     # 拒绝审批
                     instance.status = order.THREE
+                    instance.cancel_reason = reason
                 else:
+                    # 返回修改
                     OrderDetailEdit.objects.filter(order=instance).delete()
                     if not len(data):
                         raise CustomError('请填写返回修改原因')
@@ -235,7 +242,7 @@ class OrderViewSet(CustomModelViewSet):
                     instance.status = order.TOW
                 instance.save()
                 BizLog.objects.addnew(self.request.user, BizLog.INSERT,
-                                      u'审批订单[%s],id=%d' % (instance.name, instance.id), request.data)
+                                      u'审批订单[%s],状态=%s,id=%d' % (instance.name, status, instance.id), request.data)
                 return response_ok()
         except CustomError as e:
             return response_error(e.get_error_msg())

+ 2 - 2
nostone_loan/settings.py

@@ -219,8 +219,8 @@ SERVER_DOMAIN = 'https://print.zzliaoyuan.com'
 # SERVER_DOMAIN = 'http://192.168.2.45:8887'
 
 JWT_AUTH = {
-    'JWT_EXPIRATION_DELTA': datetime.timedelta(days=1),
-    'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(days=1),
+    'JWT_EXPIRATION_DELTA': datetime.timedelta(days=10),
+    'JWT_REFRESH_EXPIRATION_DELTA': datetime.timedelta(days=10),
     'JWT_ALLOW_REFRESH': True,
 }
 

+ 56 - 6
uis/views/order/index.html

@@ -63,8 +63,8 @@
                             >审批</a>
                         </div>
                         <div class="layui-btn-group">
-                            <a class="layui-btn layui-btn-xs" lay-event="order_edit"
-                            >拒</a>
+                            <a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="order_reject"
+                            >拒</a>
                         </div>
                     </script>
                 </div>
@@ -73,6 +73,26 @@
     </div>
 </div>
 
+<div id="cancel_order" style="display: none">
+    <div class="layui-card-body" pad15>
+        <form class="layui-form" lay-filter="form-cancel">
+            <div class="layui-row layui-col-space10 layui-form-item">
+                <div class="layui-col-xs12 layui-col-sm12">
+                    <label class="layui-form-label"><font color='red' size="4">*</font>拒单原因:</label>
+                    <div class="layui-input-block">
+                        <input type="text" class="layui-input" name="reason"
+                               lay-verify="required" placeholder="请输入拒单原因">
+                    </div>
+                </div>
+                <div class="layui-form-item" style="text-align:right">
+                    <button class="layui-btn" lay-submit id="cancel_order_btn" lay-filter="form-cancel"
+                            style="display: none">保存
+                    </button>
+                </div>
+            </div>
+        </form>
+    </div>
+</div>
 <script src="../../layuiadmin/layui/layui.js?t=1"></script>
 <script type="text/html" id="toolbarDemo">
     <form class="layui-form" lay-filter="query-form-element">
@@ -122,14 +142,15 @@
             , totalRow: true
             , cols: [[
                 {field: 'name', title: '姓名', width: 150}
-                , {field: 'sex_text', title: '性别', width: 100}
+                , {field: 'sex_text', title: '性别', width: 90}
                 , {field: 'tel', title: '手机号', width: 130}
-                , {field: 'inumber', title: '证件号', width: 150}
-                , {field: 'laompany_text', title: '贷款产品', width: 200}
+                , {field: 'inumber', title: '证件号', width: 180}
+                , {field: 'laompany_text', title: '贷款产品', width: 230}
                 , {field: 'status_text', title: '订单状态', width: 100}
-                , {field: 'create_time_f', title: '下单时间', width: 180,}
+                , {field: 'create_time_f', title: '下单时间', width: 160,}
                 , {field: 'create_user_text', title: '下单人', width: 120,}
                 , {field: 'seller_text', title: '业务人员', width: 120,}
+                , {field: 'cancel_reason', title: '拒单原因', width: 120,}
                 , {width: 150, align: 'center', fixed: 'right', toolbar: '#order-operate-bar'}
             ]]
             , page: true
@@ -154,9 +175,11 @@
             return false;
         });
         //监听工具条
+        var order_id;
         table.on('tool(datagrid-operate)', function (obj) {
             var data = obj.data;
             table.editdata = data;
+            order_id = data.id
             if (obj.event === 'order_check') {
                 layer.open({
                     type: 2,
@@ -183,8 +206,35 @@
                     content: 'order_detail_check.html?id=' + data.id
                 });
             }
+            else if (obj.event === 'order_reject') {
+                layer.open({
+                    type: 1,
+                    title: '拒单',
+                    area: ['40%', '60%'],
+                    btn: ['保存', '取消'],
+                    yes: function (index, dom) {
+                        $('#cancel_order_btn').click();
+                    },
+                    btn2: function (index, layero) {
+                        layer.close(index);//关闭当前按钮
+                    },
+                    content: $('#cancel_order')
+                });
+            }
 
         });
+        form.on('submit(form-cancel)', function (data) {
+            admin.req({
+                url: '/order/' + order_id + '/checkEdit/?statu=3'
+                , data: data.field
+                , type: 'post'
+                , done: function (res) {
+                    layer.closeAll();
+                    table.reload('datagrid', {});
+                }
+            });
+            return false;
+        });
     });
 </script>
 </body>

+ 0 - 2
uis/views/order/order_detail_check.html

@@ -172,8 +172,6 @@
         });
 
         form.on('submit(component-form-pass)', function (data) {
-            var formData = new FormData();
-            formData.append('items', [])
             admin.req({
                 url: '/order/' + id + '/checkEdit/?statu=1'
                 , data: {items:[]}