From c6481027bf68b7071c6705b91ed11f49b28c9974 Mon Sep 17 00:00:00 2001
From: caoqianming
Date: Fri, 15 Oct 2021 10:17:18 +0800
Subject: [PATCH 01/31] =?UTF-8?q?=E5=8A=A0=E7=AD=BE=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../migrations/0004_subproductionplan_steps.py | 18 ++++++++++++++++++
hb_server/apps/pm/models.py | 2 +-
hb_server/apps/pm/views.py | 6 +++++-
hb_server/apps/wf/serializers.py | 2 +-
hb_server/apps/wf/views.py | 2 +-
5 files changed, 26 insertions(+), 4 deletions(-)
create mode 100644 hb_server/apps/pm/migrations/0004_subproductionplan_steps.py
diff --git a/hb_server/apps/pm/migrations/0004_subproductionplan_steps.py b/hb_server/apps/pm/migrations/0004_subproductionplan_steps.py
new file mode 100644
index 0000000..56b78dd
--- /dev/null
+++ b/hb_server/apps/pm/migrations/0004_subproductionplan_steps.py
@@ -0,0 +1,18 @@
+# Generated by Django 3.2.6 on 2021-10-15 02:14
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('pm', '0003_auto_20211014_1503'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='subproductionplan',
+ name='steps',
+ field=models.JSONField(default=list, verbose_name='工艺步骤'),
+ ),
+ ]
diff --git a/hb_server/apps/pm/models.py b/hb_server/apps/pm/models.py
index f7db0c1..5aab5f3 100644
--- a/hb_server/apps/pm/models.py
+++ b/hb_server/apps/pm/models.py
@@ -37,7 +37,7 @@ class SubProductionPlan(CommonAModel):
end_date = models.DateField('计划完工日期')
workshop = models.ForeignKey(Organization, verbose_name='生产车间', on_delete=models.CASCADE)
process = models.ForeignKey(Process, verbose_name='关联大工序', on_delete=models.CASCADE)
- # steps = models.JSONField('工艺步骤', default=list)
+ steps = models.JSONField('工艺步骤', default=list)
class Meta:
verbose_name = '子生产计划'
verbose_name_plural = verbose_name
diff --git a/hb_server/apps/pm/views.py b/hb_server/apps/pm/views.py
index ca26e45..b74e05c 100644
--- a/hb_server/apps/pm/views.py
+++ b/hb_server/apps/pm/views.py
@@ -13,6 +13,7 @@ from apps.sam.models import Order
from rest_framework.exceptions import APIException
from rest_framework.response import Response
from rest_framework.decorators import action
+from django.db.models import F
# Create your views here.
def updateOrderPlanedCount(order):
@@ -69,9 +70,12 @@ class ProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, CreateModel
raise APIException('已生成子计划')
subps = SubProduction.objects.filter(product=production_plan.product).order_by('process__number')
for i in subps:
+ steps = UsedStep.objects.filter(subproduction=i, is_deleted=False, subproduction__is_deleted=False, step__is_deleted=False)\
+ .order_by('step__number').annotate(id=F('step__id'), number=F('step__number'), name=F('step__name')).values('id', 'number', 'name', 'remark')
SubProductionPlan.objects.create(production_plan=production_plan, subproduction=i,
start_date=production_plan.start_date, end_date=production_plan.end_date,
- workshop=i.process.workshop, process=i.process, create_by=request.user)
+ workshop=i.process.workshop, process=i.process, create_by=request.user,
+ steps = list(steps))
production_plan.is_planed=True
production_plan.save()
return Response()
diff --git a/hb_server/apps/wf/serializers.py b/hb_server/apps/wf/serializers.py
index b9256bd..2029ec8 100644
--- a/hb_server/apps/wf/serializers.py
+++ b/hb_server/apps/wf/serializers.py
@@ -136,7 +136,7 @@ class TicketCloseSerializer(serializers.Serializer):
class TicketAddNodeSerializer(serializers.Serializer):
suggestion = serializers.CharField(label="加签说明", required = False)
- add_node_man = serializers.IntegerField(label='加签人')
+ toadd_user = serializers.IntegerField(label='发送给谁去加签')
class TicketAddNodeEndSerializer(serializers.Serializer):
suggestion = serializers.CharField(label="加签意见", required = False)
\ No newline at end of file
diff --git a/hb_server/apps/wf/views.py b/hb_server/apps/wf/views.py
index ddc9bc2..a96006c 100644
--- a/hb_server/apps/wf/views.py
+++ b/hb_server/apps/wf/views.py
@@ -321,7 +321,7 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin
"""
ticket = self.get_object()
data = request.data
- add_user = User.objects.get(pk=data['add_node_man'])
+ add_user = User.objects.get(pk=data['toadd_user'])
ticket.participant_type = State.PARTICIPANT_TYPE_PERSONAL
ticket.participant = add_user.id
ticket.in_add_node = True
From fbee94806b0cb3e1f2441de31e0dff4f063992d5 Mon Sep 17 00:00:00 2001
From: caoqianming
Date: Fri, 15 Oct 2021 10:36:46 +0800
Subject: [PATCH 02/31] =?UTF-8?q?=E7=94=9F=E6=88=90=E5=AD=90=E8=AE=A1?=
=?UTF-8?q?=E5=88=92=E5=B7=A5=E5=BA=8F=E6=AD=A5=E9=AA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
hb_server/apps/mtm/models.py | 2 +-
hb_server/apps/pm/serializers.py | 3 +++
hb_server/apps/pm/views.py | 11 ++++++-----
3 files changed, 10 insertions(+), 6 deletions(-)
diff --git a/hb_server/apps/mtm/models.py b/hb_server/apps/mtm/models.py
index 62f983e..7675957 100644
--- a/hb_server/apps/mtm/models.py
+++ b/hb_server/apps/mtm/models.py
@@ -174,7 +174,7 @@ class UsedStep(CommonAModel):
"""
涉及的生产子工序
"""
- step = models.ForeignKey(Step, verbose_name='子工序', on_delete=models.CASCADE, related_name='usedsteps')
+ step = models.ForeignKey(Step, verbose_name='子工序', on_delete=models.CASCADE, related_name='usedstep')
remark = models.TextField('生产备注', null=True, blank=True)
subproduction = models.ForeignKey(SubProduction, verbose_name='关联生产分解', on_delete=models.CASCADE)
diff --git a/hb_server/apps/pm/serializers.py b/hb_server/apps/pm/serializers.py
index bc8f6b4..1950bce 100644
--- a/hb_server/apps/pm/serializers.py
+++ b/hb_server/apps/pm/serializers.py
@@ -35,3 +35,6 @@ class SubProductionPlanUpdateSerializer(serializers.ModelSerializer):
class Meta:
model = SubProductionPlan
fields = ['start_date', 'end_date']
+
+class GenSubPlanSerializer(serializers.Serializer):
+ pass
diff --git a/hb_server/apps/pm/views.py b/hb_server/apps/pm/views.py
index b74e05c..a9856cd 100644
--- a/hb_server/apps/pm/views.py
+++ b/hb_server/apps/pm/views.py
@@ -4,7 +4,7 @@ from apps.em.models import Equipment
from apps.em.serializers import EquipmentSerializer
from apps.mtm.models import InputMaterial, Step, SubProduction, UsedStep
from apps.system.mixins import CreateUpdateModelAMixin
-from apps.pm.serializers import ProductionPlanCreateFromOrderSerializer, ProductionPlanSerializer, ResourceCalListSerializer, ResourceCalSerializer, SubProductionPlanListSerializer, SubProductionPlanUpdateSerializer
+from apps.pm.serializers import GenSubPlanSerializer, ProductionPlanCreateFromOrderSerializer, ProductionPlanSerializer, ResourceCalListSerializer, ResourceCalSerializer, SubProductionPlanListSerializer, SubProductionPlanUpdateSerializer
from rest_framework.mixins import CreateModelMixin, ListModelMixin, UpdateModelMixin
from apps.pm.models import ProductionPlan, SubProductionPlan
from rest_framework.viewsets import GenericViewSet, ModelViewSet
@@ -60,7 +60,7 @@ class ProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, CreateModel
updateOrderPlanedCount(instance.order)
return Response()
- @action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=serializers.Serializer)
+ @action(methods=['post'], detail=True, perms_map={'post':'*'}, serializer_class=GenSubPlanSerializer)
def gen_subplan(self, request, pk=None):
"""
生成子计划
@@ -70,8 +70,8 @@ class ProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, CreateModel
raise APIException('已生成子计划')
subps = SubProduction.objects.filter(product=production_plan.product).order_by('process__number')
for i in subps:
- steps = UsedStep.objects.filter(subproduction=i, is_deleted=False, subproduction__is_deleted=False, step__is_deleted=False)\
- .order_by('step__number').annotate(id=F('step__id'), number=F('step__number'), name=F('step__name')).values('id', 'number', 'name', 'remark')
+ steps = Step.objects.filter(usedstep__subproduction=i, usedstep__subproduction__is_deleted=False,
+ usedstep__is_deleted=False, is_deleted=False).values('id', 'number', 'name', 'usedstep__remark')
SubProductionPlan.objects.create(production_plan=production_plan, subproduction=i,
start_date=production_plan.start_date, end_date=production_plan.end_date,
workshop=i.process.workshop, process=i.process, create_by=request.user,
@@ -96,6 +96,7 @@ class SubProductionPlanViewSet(CreateUpdateModelAMixin, ListModelMixin, UpdateMo
return SubProductionPlanListSerializer
elif self.action == 'update':
return SubProductionPlanUpdateSerializer
+ return SubProductionPlanListSerializer
class ResourceViewSet(GenericViewSet):
@@ -139,7 +140,7 @@ class ResourceViewSet(GenericViewSet):
for i in rdata:
rdata_l.append(i['id'])
subproductions = SubProduction.objects.filter(product__id__in=rdata_l, is_deleted=False)
- steps = Step.objects.filter(usedsteps__is_deleted=False, usedsteps__subproduction__in=subproductions)
+ steps = Step.objects.filter(usedstep__is_deleted=False, usedstep__subproduction__in=subproductions)
equips = Equipment.objects.filter(step_equips__in=steps, is_deleted=False)
serializer = EquipmentSerializer(instance=equips, many=True)
return Response(serializer.data)
From ce43a37c040eb7fd9ef0de8334c23a08e18887bb Mon Sep 17 00:00:00 2001
From: caoqianming
Date: Fri, 15 Oct 2021 13:47:22 +0800
Subject: [PATCH 03/31] =?UTF-8?q?=E5=8A=A0=E7=AD=BE=E5=AE=8C=E6=88=90bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
hb_server/apps/wf/views.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hb_server/apps/wf/views.py b/hb_server/apps/wf/views.py
index a96006c..438c60d 100644
--- a/hb_server/apps/wf/views.py
+++ b/hb_server/apps/wf/views.py
@@ -342,8 +342,8 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin
ticket = self.get_object()
ticket.participant_type = State.PARTICIPANT_TYPE_PERSONAL
ticket.in_add_node = False
- ticket.add_node_man = None
ticket.participant = ticket.add_node_man.id
+ ticket.add_node_man = None
ticket.save()
# 更新流转记录
suggestion = request.data.get('suggestion', '') # 加签意见
From 2a3b7424b3d42826ceaa35fb20e567efb1577300 Mon Sep 17 00:00:00 2001
From: caoqianming
Date: Fri, 15 Oct 2021 13:57:30 +0800
Subject: [PATCH 04/31] =?UTF-8?q?=E6=88=91=E5=A4=84=E7=90=86=E7=9A=84bug?=
=?UTF-8?q?=20=E9=9C=80=E8=A6=81=E5=8E=BB=E9=87=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
hb_server/apps/wf/filters.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/hb_server/apps/wf/filters.py b/hb_server/apps/wf/filters.py
index 7e2990c..742af75 100644
--- a/hb_server/apps/wf/filters.py
+++ b/hb_server/apps/wf/filters.py
@@ -16,7 +16,7 @@ class TicketFilterSet(filters.FilterSet):
elif value == 'duty':
queryset = queryset.filter(participant__contains=user.id).exclude(act_state__in=[Ticket.TICKET_ACT_STATE_FINISH, Ticket.TICKET_ACT_STATE_CLOSED])
elif value == 'worked':
- queryset = queryset.filter(ticketflow_ticket__participant=user).exclude(create_by=user)
+ queryset = queryset.filter(ticketflow_ticket__participant=user).exclude(create_by=user).order_by('-update_time').distinct()
elif value == 'all':
pass
else:
From 5ac4ef99850459739b283176ec528c34c4ba05ac Mon Sep 17 00:00:00 2001
From: caoqianming
Date: Fri, 15 Oct 2021 14:09:17 +0800
Subject: [PATCH 05/31] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E6=89=B9=E9=87=8F?=
=?UTF-8?q?=E7=89=A9=E7=90=86=E5=88=A0=E9=99=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
hb_server/apps/wf/serializers.py | 5 ++++-
hb_server/apps/wf/views.py | 11 ++++++++++-
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/hb_server/apps/wf/serializers.py b/hb_server/apps/wf/serializers.py
index 2029ec8..45369a5 100644
--- a/hb_server/apps/wf/serializers.py
+++ b/hb_server/apps/wf/serializers.py
@@ -139,4 +139,7 @@ class TicketAddNodeSerializer(serializers.Serializer):
toadd_user = serializers.IntegerField(label='发送给谁去加签')
class TicketAddNodeEndSerializer(serializers.Serializer):
- suggestion = serializers.CharField(label="加签意见", required = False)
\ No newline at end of file
+ suggestion = serializers.CharField(label="加签意见", required = False)
+
+class TicketDestorySerializer(serializers.Serializer):
+ ids = serializers.ListField(child=serializers.IntegerField(), label='工单ID列表')
\ No newline at end of file
diff --git a/hb_server/apps/wf/views.py b/hb_server/apps/wf/views.py
index 438c60d..eab077e 100644
--- a/hb_server/apps/wf/views.py
+++ b/hb_server/apps/wf/views.py
@@ -4,7 +4,7 @@ from django.core.exceptions import AppRegistryNotReady
from rest_framework.response import Response
from rest_framework import serializers
from rest_framework.mixins import CreateModelMixin, DestroyModelMixin, ListModelMixin, RetrieveModelMixin, UpdateModelMixin
-from apps.wf.serializers import CustomFieldSerializer, StateSerializer, TicketAddNodeEndSerializer, TicketAddNodeSerializer, TicketCloseSerializer, TicketCreateSerializer, TicketFlowSerializer, TicketFlowSimpleSerializer, TicketHandleSerializer, TicketRetreatSerializer, TicketSerializer, TransitionSerializer, WorkflowSerializer, TicketListSerializer, TicketDetailSerializer
+from apps.wf.serializers import CustomFieldSerializer, StateSerializer, TicketAddNodeEndSerializer, TicketAddNodeSerializer, TicketCloseSerializer, TicketCreateSerializer, TicketDestorySerializer, TicketFlowSerializer, TicketFlowSimpleSerializer, TicketHandleSerializer, TicketRetreatSerializer, TicketSerializer, TransitionSerializer, WorkflowSerializer, TicketListSerializer, TicketDetailSerializer
from django.shortcuts import get_object_or_404, render
from rest_framework.viewsets import GenericViewSet, ModelViewSet
from rest_framework.decorators import action, api_view
@@ -375,6 +375,15 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin
else:
return Response('工单不可关闭', status=status.HTTP_400_BAD_REQUEST)
+ @action(methods=['post'], detail=False, perms_map={'post':'*'}, serializer_class=TicketDestorySerializer)
+ def destory(self, request, pk=None):
+ """
+ 批量物理删除
+ """
+ Ticket.objects.filter(id__in=request.data.get('ids', [])).delete(soft=False)
+ return Response()
+
+
class TicketFlowViewSet(ListModelMixin, RetrieveModelMixin, GenericViewSet):
"""
From 22b52686bc61b956d3f55640bc4ffb4833ad377e Mon Sep 17 00:00:00 2001
From: shijing
Date: Fri, 15 Oct 2021 16:03:50 +0800
Subject: [PATCH 06/31] ticketdelete
---
hb_client/src/api/workflow.js | 34 +-
hb_client/src/router/index.js | 43 +-
hb_client/src/styles/index.scss | 28 +-
hb_client/src/views/login/index.vue | 5 +-
hb_client/src/views/workflow/index.vue | 52 +-
hb_client/src/views/workflow/state.vue | 554 +++++++++---------
hb_client/src/views/workflow/ticket.vue | 228 +++++--
hb_client/src/views/workflow/ticketHandle.vue | 206 ++++++-
.../src/views/workflow/workFlowTickets.vue | 197 +++++++
9 files changed, 933 insertions(+), 414 deletions(-)
create mode 100644 hb_client/src/views/workflow/workFlowTickets.vue
diff --git a/hb_client/src/api/workflow.js b/hb_client/src/api/workflow.js
index 137b132..069f700 100644
--- a/hb_client/src/api/workflow.js
+++ b/hb_client/src/api/workflow.js
@@ -163,13 +163,45 @@ export function ticketAccpet(id,data) {
})
}
//撤回工单,允许创建人在指定状态撤回工单至初始状态
-export function getTicketRetreat(id,data) {
+export function ticketRetreat(id,data) {
return request({
url: `/wf/ticket/${id}/retreat/`,
method: 'post',
data
})
}
+//关闭工单,仅允许创建人在初始状态关闭工单
+export function ticketAddNode(id,data) {
+ return request({
+ url: `/wf/ticket/${id}/add_node/`,
+ method: 'post',
+ data
+ })
+}
+//加签
+export function ticketClose(id,data) {
+ return request({
+ url: `/wf/ticket/${id}/close/`,
+ method: 'post',
+ data
+ })
+}
+//加签
+export function ticketAddNodeEnd(id,data) {
+ return request({
+ url: `/wf/ticket/${id}/add_node_end/`,
+ method: 'post',
+ data
+ })
+}
+//工单删除
+export function ticketDestory(data) {
+ return request({
+ url: `/wf/ticket/destory/`,
+ method: 'post',
+ data
+ })
+}
//工单详情
export function getTicketDetail(id) {
return request({
diff --git a/hb_client/src/router/index.js b/hb_client/src/router/index.js
index 4b8ad23..c021e2c 100644
--- a/hb_client/src/router/index.js
+++ b/hb_client/src/router/index.js
@@ -86,13 +86,13 @@ export const asyncRoutes = [
component: Layout,
redirect: '/mtm/material/',
name: 'mtm',
- meta: { title: '制造管理', icon: 'example', perms: ['procurement_set'] },
+ meta: { title: '制造管理', icon: 'example', perms: ['mtm_manage'] },
children: [
{
path: 'material',
name: 'material',
component: () => import('@/views/mtm/material'),
- meta: { title: '物料清单', icon: 'example', perms: ['vendor_manage'] }
+ meta: { title: '物料清单', icon: 'example', perms: ['mtm_material'] }
}
,
{
@@ -106,7 +106,7 @@ export const asyncRoutes = [
path: 'process',
name: 'process',
component: () => import('@/views/mtm/process'),
- meta: { title: '工序管理', icon: 'example', perms: ['vendor_manage'] }
+ meta: { title: '工序管理', icon: 'example', perms: ['mtm_process'] }
},
{
path: 'step/:id',
@@ -127,7 +127,7 @@ export const asyncRoutes = [
path: '/mtm/productprocess/',
name: 'productprocess',
component: () => import('@/views/mtm/productprocess'),
- meta: { title: '产品管理', icon: 'example', perms: ['vendor_manage'] }
+ meta: { title: '产品管理', icon: 'example', perms: ['mtm_productprocess'] }
},
]
}
@@ -137,25 +137,25 @@ export const asyncRoutes = [
component: Layout,
redirect: '/pm/plan',
name: 'pm',
- meta: { title: '生产管理', icon: 'example', perms: ['equipment_set'] },
+ meta: { title: '生产管理', icon: 'example', perms: ['pm_manage'] },
children: [
{
path: 'plan',
name: 'plan',
component: () => import('@/views/pm/plan'),
- meta: { title: '生产计划管理', icon: 'example', perms: ['index_manage'] }
+ meta: { title: '生产计划管理', icon: 'example', perms: ['pm_plan'] }
},
{
path: 'resources',
name: 'resources',
component: () => import('@/views/pm/resources'),
- meta: { title: '生产资源配置', icon: 'example', perms: ['index_manage'] }
+ meta: { title: '生产资源配置', icon: 'example', perms: ['pm_resources'] }
},
{
path: 'testitem',
name: 'testitem',
component: () => import('@/views/pm/plan'),
- meta: { title: '生产作业管理', icon: 'example', perms: ['index_manage'] }
+ meta: { title: '生产作业管理', icon: 'example', perms: ['pm_testitem'] }
}
]
},
@@ -164,31 +164,31 @@ export const asyncRoutes = [
component: Layout,
redirect: '/em/equipment',
name: 'em',
- meta: { title: '设备管理', icon: 'example', perms: ['equipment_set'] },
+ meta: { title: '设备管理', icon: 'example', perms: ['em_manage'] },
children: [
{
path: 'equipment',
name: 'equipment',
component: () => import('@/views/em/equipment'),
- meta: { title: '生产设备', icon: 'example', perms: ['index_manage'] }
+ meta: { title: '生产设备', icon: 'example', perms: ['em_equipment'] }
},
{
path: 'detection ',
name: 'detection ',
component: () => import('@/views/em/detection'),
- meta: { title: '监视和测量设备', icon: 'example', perms: ['index_manage'] }
+ meta: { title: '监视和测量设备', icon: 'example', perms: ['em_detection'] }
},
{
path: 'record',
name: 'record',
component: () => import('@/views/em/record'),
- meta: { title: '校准检定记录', icon: 'example', perms: ['index_manage'] }
+ meta: { title: '校准检定记录', icon: 'example', perms: ['em_record'] }
},
{
path: 'detection ',
name: 'detection ',
component: () => import('@/views/em/detection'),
- meta: { title: '运维记录', icon: 'example', perms: ['index_manage'] }
+ meta: { title: '运维记录', icon: 'example', perms: ['em_detection'] }
}
]
},
@@ -319,32 +319,39 @@ export const asyncRoutes = [
component: Layout,
redirect: '/workflow/index',
name: 'workflow',
- meta: { title: '工作流', icon: 'example', perms: ['workflow_set'] },
+ meta: { title: '工作流', icon: 'example', perms: ['workflow_manage'] },
children: [
{
path: 'index',
name: 'index',
component: () => import('@/views/workflow/index'),
- meta: { title: '工作流配置', icon: 'example', perms: ['workflow_manage'] }
+ meta: { title: '工作流配置', icon: 'example', perms: ['workflow_index'] }
},
{
path: 'ticket',
name: 'ticket',
component: () => import('@/views/workflow/ticket'),
- meta: { title: '工单管理', icon: 'example', perms: ['workflow_manage'] },
+ meta: { title: '工单管理', icon: 'example' ,noCache: true, perms: ['workflow_ticket'] },
+ },
+ {
+ path: 'workFlowTickets',
+ name: 'workFlowTickets',
+ component: () => import('@/views/workflow/workFlowTickets'),
+ meta: { title: '工单管理', icon: 'example' ,noCache: true,},
+ hidden: true
},
{
path: 'configuration',
name: 'configuration',
component: () => import('@/views/workflow/configuration'),
- meta: { title: '人员信息详情', icon: 'example', perms: ['workflow_manage'] },
+ meta: { title: '人员信息详情', icon: 'example' },
hidden: true
},
{
path: 'ticketHandle',
name: 'ticketHandle',
component: () => import('@/views/workflow/ticketHandle'),
- meta: { title: '工单处理', icon: 'example', perms: ['workflow_manage'] },
+ meta: { title: '工单处理', icon: 'example',noCache: true,},
hidden: true
},
]
diff --git a/hb_client/src/styles/index.scss b/hb_client/src/styles/index.scss
index 059de63..d80b15e 100644
--- a/hb_client/src/styles/index.scss
+++ b/hb_client/src/styles/index.scss
@@ -86,21 +86,21 @@ div:focus {
.el-dialog__header {
padding: 10px 10px 6px;
}
-// .el-dialog{
-// display: flex;
-// flex-direction: column;
-// margin:0 !important;
-// position:absolute;
-// top:50%;
-// left:50%;
-// transform:translate(-50%,-50%);
-// /*height:600px;*/
-// max-height:calc(100% - 30px);
-// max-width:calc(100% - 30px);
-// }
+ .el-dialog{
+ display: flex;
+ flex-direction: column;
+ margin:0 !important;
+ position:absolute;
+ top:50%;
+ left:50%;
+ transform:translate(-50%,-50%);
+ /*height:600px;*/
+ max-height:calc(100% - 30px);
+ max-width:calc(100% - 30px);
+ }
.el-dialog .el-dialog__body{
- // flex:1;
- // overflow: auto;
+ flex:1;
+ overflow: auto;
padding: 8px 12px;
}
diff --git a/hb_client/src/views/login/index.vue b/hb_client/src/views/login/index.vue
index f9ad27a..07fd8f8 100644
--- a/hb_client/src/views/login/index.vue
+++ b/hb_client/src/views/login/index.vue
@@ -37,6 +37,7 @@
name="password"
tabindex="2"
auto-complete="on"
+ id="passwordInput"
@keyup.enter.native="handleLogin"
>创建时间 :{{watchedCreateTime}}
-