From 72e5d89cac2cfea3b58bee5656e0e39ac7d8d6d8 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 22 Dec 2021 10:37:24 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E5=AD=97=E6=AE=B5=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hb_server/apps/wf/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hb_server/apps/wf/views.py b/hb_server/apps/wf/views.py index 7dfa9c2..9b5354a 100644 --- a/hb_server/apps/wf/views.py +++ b/hb_server/apps/wf/views.py @@ -105,7 +105,7 @@ class TransitionViewSet(CreateModelMixin, UpdateModelMixin, RetrieveModelMixin, class CustomFieldViewSet(CreateModelMixin, UpdateModelMixin, RetrieveModelMixin, DestroyModelMixin, GenericViewSet): perms_map = {'*':'*'} - queryset = CustomField.objects.all() + queryset = CustomField.objects.all().order_by('sort') serializer_class = CustomFieldSerializer search_fields = ['field_name'] filterset_fields = ['workflow', 'field_type'] @@ -205,7 +205,7 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin vdata = serializer.validated_data new_ticket_data = ticket.ticket_data new_ticket_data.update(**vdata['ticket_data']) - + ticket = WfService.handle_ticket(ticket=ticket, transition=vdata['transition'], new_ticket_data=new_ticket_data, handler=request.user, suggestion=vdata['suggestion']) return Response(TicketSerializer(instance=ticket).data) From d6c59afbc4fe9e0e5a12c8ee35a7df526ddf7af0 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 22 Dec 2021 10:39:44 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E5=AD=97=E6=AE=B5=E6=8E=92=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hb_server/apps/wf/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hb_server/apps/wf/views.py b/hb_server/apps/wf/views.py index 9b5354a..7aba7c6 100644 --- a/hb_server/apps/wf/views.py +++ b/hb_server/apps/wf/views.py @@ -64,7 +64,7 @@ class WorkflowViewSet(CreateUpdateModelAMixin, ModelViewSet): 工作流下的自定义字段 """ wf = self.get_object() - serializer = self.serializer_class(instance=CustomField.objects.filter(workflow=wf), many=True) + serializer = self.serializer_class(instance=CustomField.objects.filter(workflow=wf, is_deleted=False).order_by('sort'), many=True) return Response(serializer.data) @action(methods=['get'], detail=True, perms_map={'get':'workflow_init'}) @@ -105,7 +105,7 @@ class TransitionViewSet(CreateModelMixin, UpdateModelMixin, RetrieveModelMixin, class CustomFieldViewSet(CreateModelMixin, UpdateModelMixin, RetrieveModelMixin, DestroyModelMixin, GenericViewSet): perms_map = {'*':'*'} - queryset = CustomField.objects.all().order_by('sort') + queryset = CustomField.objects.all() serializer_class = CustomFieldSerializer search_fields = ['field_name'] filterset_fields = ['workflow', 'field_type'] From 4da2f48203aec5d4cfadba5a7da6408a64f61241 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 22 Dec 2021 11:56:35 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E5=B7=A5=E5=8D=95=E4=B8=8E=E7=B3=BB?= =?UTF-8?q?=E7=BB=9F=E7=BB=93=E5=90=88=E5=88=9D=E6=AD=A5=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=AE=8C=E6=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hb_server/apps/wf/models.py | 2 +- hb_server/apps/wf/scripts.py | 38 ++++-------- hb_server/apps/wf/serializers.py | 1 + hb_server/apps/wf/services.py | 2 +- hb_server/apps/wf/views.py | 10 ++-- .../migrations/0037_wproduct_scrap_reason.py | 18 ++++++ hb_server/apps/wpm/models.py | 2 + hb_server/apps/wpm/signals.py | 59 +++++++++++++++++++ hb_server/apps/wpm/views.py | 10 ++-- 9 files changed, 103 insertions(+), 39 deletions(-) create mode 100644 hb_server/apps/wpm/migrations/0037_wproduct_scrap_reason.py create mode 100644 hb_server/apps/wpm/signals.py diff --git a/hb_server/apps/wf/models.py b/hb_server/apps/wf/models.py index 0aebb03..94c9c44 100644 --- a/hb_server/apps/wf/models.py +++ b/hb_server/apps/wf/models.py @@ -19,7 +19,7 @@ class Workflow(CommonAModel): view_permission_check = models.BooleanField('查看权限校验', default=True, help_text='开启后,只允许工单的关联人(创建人、曾经的处理人)有权限查看工单') limit_expression = models.JSONField('限制表达式', default=dict, blank=True, help_text='限制周期({"period":24} 24小时), 限制次数({"count":1}在限制周期内只允许提交1次), 限制级别({"level":1} 针对(1单个用户 2全局)限制周期限制次数,默认特定用户);允许特定人员提交({"allow_persons":"zhangsan,lisi"}只允许张三提交工单,{"allow_depts":"1,2"}只允许部门id为1和2的用户提交工单,{"allow_roles":"1,2"}只允许角色id为1和2的用户提交工单)') display_form_str = models.JSONField('展现表单字段', default=list, blank=True, help_text='默认"[]",用于用户只有对应工单查看权限时显示哪些字段,field_key的list的json,如["days","sn"],内置特殊字段participant_info.participant_name:当前处理人信息(部门名称、角色名称),state.state_name:当前状态的状态名,workflow.workflow_name:工作流名称') - title_template = models.CharField('标题模板', max_length=50, default='你有一个待办工单:{title}', null=True, blank=True, help_text='工单字段的值可以作为参数写到模板中,格式如:你有一个待办工单:{title}') + title_template = models.CharField('标题模板', max_length=50, default='{title}', null=True, blank=True, help_text='工单字段的值可以作为参数写到模板中,格式如:你有一个待办工单:{title}') content_template = models.CharField('内容模板', max_length=1000, default='标题:{title}, 创建时间:{create_time}', null=True, blank=True, help_text='工单字段的值可以作为参数写到模板中,格式如:标题:{title}, 创建时间:{create_time}') class State(CommonAModel): diff --git a/hb_server/apps/wf/scripts.py b/hb_server/apps/wf/scripts.py index 3ce706f..cbb7560 100644 --- a/hb_server/apps/wf/scripts.py +++ b/hb_server/apps/wf/scripts.py @@ -4,7 +4,9 @@ from apps.wpm.models import WProduct class GetParticipants: - + """ + 获取处理人脚本 + """ all_funcs = [ {'func':'get_create_by', 'name':'获取工单创建人'} ] @@ -20,8 +22,11 @@ class GetParticipants: return participant class HandleScripts: + """ + 任务处理脚本 + """ all_funcs = [ - {'func': 'handle_wproduct', 'name':'处理不合格品'} + {'func': 'handle_something', 'name':'处理一些工作'} ] @@ -42,32 +47,11 @@ class HandleScripts: return ticket @classmethod - def handle_wproduct(cls, ticket:Ticket): - """处理不合格品""" - # 任务处理 + def handle_something(cls, ticket:Ticket): + """处理一些工作""" + # 任务处理代码区 - ticket_data = ticket.ticket_data - wt = ticket.wt_ticket - wp = wt.wproduct - if 'shenli2' in ticket_data and ticket_data['shenli2']: - wt.decision = ticket_data['shenli2'] - if ticket_data['shenli2'] in ['返工', '返修']: - pass - elif ticket_data['shenli2'] in ['让步接收']: - wp.act_state = WProduct.WPR_ACT_STATE_OK - elif 'shenli1' in ticket_data and ticket_data['shenli1']: - wp.decision = ticket_data['shenli1'] - if ticket_data['shenli1'] in ['返工', '返修']: - pass - elif ticket_data['shenli1'] in ['让步接收']: - wp.act_state = WProduct.WPR_ACT_STATE_OK - wt.save() - wp.save() # 调用自动流转 - ticket = cls.to_next(ticket=ticket, by_task=True, script_str= 'handle_wproduct') - if ticket.act_state == Ticket.TICKET_ACT_STATE_FINISH: - # 如果工单完成 - wp.ticket = None - wp.save() + ticket = cls.to_next(ticket=ticket, by_task=True, script_str= 'handle_something') diff --git a/hb_server/apps/wf/serializers.py b/hb_server/apps/wf/serializers.py index e7987ec..de756fe 100644 --- a/hb_server/apps/wf/serializers.py +++ b/hb_server/apps/wf/serializers.py @@ -51,6 +51,7 @@ class TicketSimpleSerializer(serializers.ModelSerializer): class TicketCreateSerializer(serializers.ModelSerializer): transition = serializers.PrimaryKeyRelatedField(queryset=Transition.objects.all(), write_only=True) + title = serializers.CharField(allow_blank=True, required=False) class Meta: model=Ticket fields=['title','workflow', 'ticket_data', 'transition'] diff --git a/hb_server/apps/wf/services.py b/hb_server/apps/wf/services.py index beb9724..5d486c1 100644 --- a/hb_server/apps/wf/services.py +++ b/hb_server/apps/wf/services.py @@ -273,7 +273,7 @@ class WfService(object): # 校验表单必填项目 if transition.field_require_check or not created: for key, value in ticket.state.state_fields.items(): - if value == State.STATE_FIELD_REQUIRED: + if int(value) == State.STATE_FIELD_REQUIRED: if key not in new_ticket_data or not new_ticket_data[key]: raise APIException('字段{}必填'.format(key)) diff --git a/hb_server/apps/wf/views.py b/hb_server/apps/wf/views.py index 7aba7c6..2f9b092 100644 --- a/hb_server/apps/wf/views.py +++ b/hb_server/apps/wf/views.py @@ -132,10 +132,10 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin return TicketDetailSerializer return super().get_serializer_class() - def get_queryset(self): - if self.action=='list' and (not self.request.query_params.get('category', None)): + def filter_queryset(self, queryset): + if not self.request.query_params.get('category', None): raise APIException('请指定查询分类') - return super().get_queryset() + return super().filter_queryset(queryset) @transaction.atomic def create(self, request, *args, **kwargs): @@ -154,11 +154,11 @@ class TicketViewSet(OptimizationMixin, CreateUpdateCustomMixin, CreateModelMixin # 校验必填项 if transition.field_require_check: for key, value in start_state.state_fields.items(): - if value == State.STATE_FIELD_REQUIRED: + if int(value) == State.STATE_FIELD_REQUIRED: if key not in ticket_data and not ticket_data[key]: raise APIException('字段{}必填'.format(key)) save_ticket_data[key] = ticket_data[key] - elif value == State.STATE_FIELD_OPTIONAL: + elif int(value) == State.STATE_FIELD_OPTIONAL: save_ticket_data[key] = ticket_data[key] ticket = serializer.save(state=start_state, diff --git a/hb_server/apps/wpm/migrations/0037_wproduct_scrap_reason.py b/hb_server/apps/wpm/migrations/0037_wproduct_scrap_reason.py new file mode 100644 index 0000000..a87bc0c --- /dev/null +++ b/hb_server/apps/wpm/migrations/0037_wproduct_scrap_reason.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.9 on 2021-12-21 08:19 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('wpm', '0036_auto_20211221_0923'), + ] + + operations = [ + migrations.AddField( + model_name='wproduct', + name='scrap_reason', + field=models.IntegerField(blank=True, choices=[(10, '气泡'), (20, '破点'), (30, '划伤'), (40, '其他')], null=True, verbose_name='报废原因'), + ), + ] diff --git a/hb_server/apps/wpm/models.py b/hb_server/apps/wpm/models.py index 2b4b897..f34ceaf 100644 --- a/hb_server/apps/wpm/models.py +++ b/hb_server/apps/wpm/models.py @@ -94,6 +94,8 @@ class WprouctTicket(CommonAModel): material = models.ForeignKey(Material, verbose_name='所在物料状态', on_delete=models.CASCADE) step = models.ForeignKey(Step, verbose_name='所在步骤', on_delete=models.CASCADE) subproduction_plan = models.ForeignKey(SubProductionPlan, verbose_name='所在子生产计划', on_delete=models.CASCADE) + test_record = models.ForeignKey('qm.testrecord', verbose_name='关联检验记录', on_delete=models.CASCADE, null=True, blank=True) + ticket = models.ForeignKey('wf.ticket', verbose_name='关联工单', on_delete=models.CASCADE, related_name='wt_ticket') decision = models.CharField('最终决定', null=True, blank=True, max_length=100) diff --git a/hb_server/apps/wpm/signals.py b/hb_server/apps/wpm/signals.py new file mode 100644 index 0000000..70e5693 --- /dev/null +++ b/hb_server/apps/wpm/signals.py @@ -0,0 +1,59 @@ +from django.db.models.signals import post_save +from apps.qm.models import TestRecord +from apps.wf.models import Ticket +from django.dispatch import receiver + +from apps.wpm.models import WProduct, WprouctTicket + + +@receiver(post_save, sender=Ticket) +def handleTicket(sender, instance, created, **kwargs): + if instance.workflow.name == '不合格品审理单': + if created: + ticket_data = instance.ticket_data + """ + 创建关联信息表 + """ + obj = WprouctTicket() + wproduct = WProduct.objects.get(id=ticket_data['wproduct']) + obj.wproduct = wproduct + obj.number = wproduct.number + obj.material = wproduct.material + obj.step = wproduct.step + obj.subproduction_plan = wproduct.subproduction_plan + obj.ticket = instance + obj.test_record = TestRecord.objects.filter(wproduct=wproduct, is_deleted=False, is_testok=False).order_by('-id').first() + obj.save() + + # 工单绑定半成品 + wproduct.ticket = instance + wproduct.save() + + # 检验员 + if not ticket_data.get('tester', None): + ticket_data['tester'] = obj.test_record.create_by.id + instance.ticket_data = ticket_data + instance.save() + + elif instance.act_state == Ticket.TICKET_ACT_STATE_FINISH: + """ + 执行操作决定 + """ + ticket_data = instance.ticket_data + wt = instance.wt_ticket + wp = wt.wproduct + if 'decision_1' in ticket_data and ticket_data['decision_1']: + wt.decision = ticket_data['decision_1'] + if ticket_data['decision_1'] in ['返工', '返修']: + pass + elif ticket_data['decision_1'] in ['让步接收']: + wp.act_state = WProduct.WPR_ACT_STATE_OK + elif 'decision_2' in ticket_data and ticket_data['decision_2']: + wp.decision = ticket_data['decision_2'] + if ticket_data['decision_2'] in ['返工', '返修']: + pass + elif ticket_data['decision_2'] in ['让步接收']: + wp.act_state = WProduct.WPR_ACT_STATE_OK + wt.save() + wp.save() + \ No newline at end of file diff --git a/hb_server/apps/wpm/views.py b/hb_server/apps/wpm/views.py index ae855e7..527efdb 100644 --- a/hb_server/apps/wpm/views.py +++ b/hb_server/apps/wpm/views.py @@ -374,11 +374,11 @@ class WProductViewSet(ListModelMixin, GenericViewSet): workflow = Workflow.objects.filter(name='不合格品审理单', is_deletd=False).first() if workflow: exist_data = { - 'sys_wproduct':obj.id, - 'sys_name':obj.material.name, - 'sys_specification':obj.material.specification, - 'sys_finder':request.user.id, - 'sys_process':obj.step.process.id, + 'wproduct':obj.id, + 'wproduct_name':obj.material.name, + 'wproduct_specification':obj.material.specification, + 'finder':request.user.id, + 'find_process':obj.step.process.id, } ret = {'workflow':workflow.id} ret['exist_data'] = exist_data From 3dce508925780777445125e73497c50f804103a2 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 22 Dec 2021 12:00:57 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hb_server/utils/view.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hb_server/utils/view.py b/hb_server/utils/view.py index dff8293..e7b3ca5 100644 --- a/hb_server/utils/view.py +++ b/hb_server/utils/view.py @@ -50,7 +50,7 @@ class GenSignature(APIView): cv2.imwrite(path,image) return Response(request.data, status=status.HTTP_200_OK) - +import time class UpdateDevelop(APIView): """ 更新开发服务器 @@ -66,7 +66,9 @@ class UpdateDevelop(APIView): # 奇怪的处理 os.chdir('/home/hberp/hb_server/vuedist') os.popen('cp index.html indexbak') + time.sleep(1000) os.popen('rm -rf index.html') + time.sleep(1000) os.popen('mv -f indexbak index.html') # 打包前端 # os.chdir('/home/hberp/hb_client') From f3b54b219c214bf3912f74a7e994dfebf5c28d21 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Wed, 22 Dec 2021 14:50:00 +0800 Subject: [PATCH 5/7] =?UTF-8?q?wf=5Fbhg=E6=8E=A5=E5=8F=A3bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hb_server/apps/wpm/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hb_server/apps/wpm/views.py b/hb_server/apps/wpm/views.py index 527efdb..6f04141 100644 --- a/hb_server/apps/wpm/views.py +++ b/hb_server/apps/wpm/views.py @@ -371,7 +371,7 @@ class WProductViewSet(ListModelMixin, GenericViewSet): obj = self.get_object() if obj.act_state != WProduct.WPR_ACT_STATE_NOTOK: raise exceptions.APIException('非检验不合格产品不可发起不合格审理') - workflow = Workflow.objects.filter(name='不合格品审理单', is_deletd=False).first() + workflow = Workflow.objects.filter(name='不合格品审理单', is_deleted=False).first() if workflow: exist_data = { 'wproduct':obj.id, From 0eec676228823879939ee82aacc7c58e8e85ddf8 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Thu, 23 Dec 2021 09:10:38 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E4=BF=A1=E5=8F=B7=E5=8A=A0=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hb_server/apps/wpm/apps.py | 4 ++++ hb_server/apps/wpm/models.py | 1 - hb_server/apps/wpm/signals.py | 5 +++-- hb_server/apps/wpm/views.py | 2 +- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/hb_server/apps/wpm/apps.py b/hb_server/apps/wpm/apps.py index 7c2337e..3f5a5ef 100644 --- a/hb_server/apps/wpm/apps.py +++ b/hb_server/apps/wpm/apps.py @@ -4,4 +4,8 @@ class WpmConfig(AppConfig): name = 'apps.wpm' verbose_name = '车间生产' + def ready(self): + # 加载信号 + import apps.wpm.signals + diff --git a/hb_server/apps/wpm/models.py b/hb_server/apps/wpm/models.py index f34ceaf..169e295 100644 --- a/hb_server/apps/wpm/models.py +++ b/hb_server/apps/wpm/models.py @@ -94,7 +94,6 @@ class WprouctTicket(CommonAModel): material = models.ForeignKey(Material, verbose_name='所在物料状态', on_delete=models.CASCADE) step = models.ForeignKey(Step, verbose_name='所在步骤', on_delete=models.CASCADE) subproduction_plan = models.ForeignKey(SubProductionPlan, verbose_name='所在子生产计划', on_delete=models.CASCADE) - test_record = models.ForeignKey('qm.testrecord', verbose_name='关联检验记录', on_delete=models.CASCADE, null=True, blank=True) ticket = models.ForeignKey('wf.ticket', verbose_name='关联工单', on_delete=models.CASCADE, related_name='wt_ticket') decision = models.CharField('最终决定', null=True, blank=True, max_length=100) diff --git a/hb_server/apps/wpm/signals.py b/hb_server/apps/wpm/signals.py index 70e5693..2c816a2 100644 --- a/hb_server/apps/wpm/signals.py +++ b/hb_server/apps/wpm/signals.py @@ -22,7 +22,8 @@ def handleTicket(sender, instance, created, **kwargs): obj.step = wproduct.step obj.subproduction_plan = wproduct.subproduction_plan obj.ticket = instance - obj.test_record = TestRecord.objects.filter(wproduct=wproduct, is_deleted=False, is_testok=False).order_by('-id').first() + + test_record = TestRecord.objects.filter(wproduct=wproduct, is_deleted=False, is_testok=False).order_by('-id').first() obj.save() # 工单绑定半成品 @@ -31,7 +32,7 @@ def handleTicket(sender, instance, created, **kwargs): # 检验员 if not ticket_data.get('tester', None): - ticket_data['tester'] = obj.test_record.create_by.id + ticket_data['tester'] = test_record.create_by.id instance.ticket_data = ticket_data instance.save() diff --git a/hb_server/apps/wpm/views.py b/hb_server/apps/wpm/views.py index 6f04141..34556f6 100644 --- a/hb_server/apps/wpm/views.py +++ b/hb_server/apps/wpm/views.py @@ -384,7 +384,7 @@ class WProductViewSet(ListModelMixin, GenericViewSet): ret['exist_data'] = exist_data return Response(ret) else: - raise exceptions.APIException('未找到对应工作流程') + raise exceptions.APIException('未找到对应审批流程') From 3433bbc2040e826fa080c11c6c8aec45ebe2de75 Mon Sep 17 00:00:00 2001 From: shijing Date: Thu, 23 Dec 2021 10:09:31 +0800 Subject: [PATCH 7/7] workflowFile --- hb_client/src/api/wpm.js | 8 + .../src/components/customForm/review.vue | 10 +- hb_client/src/views/workflow/state.vue | 7 + hb_client/src/views/wpm/need.vue | 160 ++++++++++++++++-- 4 files changed, 165 insertions(+), 20 deletions(-) diff --git a/hb_client/src/api/wpm.js b/hb_client/src/api/wpm.js index f3b876d..5f6d562 100644 --- a/hb_client/src/api/wpm.js +++ b/hb_client/src/api/wpm.js @@ -306,5 +306,13 @@ export function scrap(id) { }) } +//表格初始化 +export function getRetrial(id) { + return request({ + url: `/wpm/wproduct/${id}/wf_bhg/`, + method: 'GET', + }) +} + diff --git a/hb_client/src/components/customForm/review.vue b/hb_client/src/components/customForm/review.vue index 23b69fb..8906c5a 100644 --- a/hb_client/src/components/customForm/review.vue +++ b/hb_client/src/components/customForm/review.vue @@ -199,7 +199,7 @@
- +
@@ -282,6 +282,8 @@ that.formData.push(obj) }); that.formData=[...that.formData]; + debugger; + console.log(that.formData) //当前表的数据存储 for(let i=0;i { + /*let originImag= this.origins.filter(item => { return item.field_type === 'draw'; - }); + });*/ that.originImg = new Image(); that.originImg.crossOrigin = ''; - that.originImg = originImag[0].field_value; + that.originImg = imag[0].origin_value; listJudge.forEach(item => { let obj = new Object(); diff --git a/hb_client/src/views/workflow/state.vue b/hb_client/src/views/workflow/state.vue index 9c104df..ce5e364 100644 --- a/hb_client/src/views/workflow/state.vue +++ b/hb_client/src/views/workflow/state.vue @@ -130,6 +130,13 @@ + + + + + + diff --git a/hb_client/src/views/wpm/need.vue b/hb_client/src/views/wpm/need.vue index 47712ff..9c3bd3c 100644 --- a/hb_client/src/views/wpm/need.vue +++ b/hb_client/src/views/wpm/need.vue @@ -210,11 +210,15 @@ @@ -371,7 +375,6 @@ @recordCancel="recordCancel" /> - @@ -472,12 +475,112 @@ 确 定
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +