Ben Lin
2024-05-06 2fc928c582961b78e215b145a4edf98d3cdca2f4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<!--
 * @Description: 表单项属性,控件属性面板
-->
<template>
  <div class="properties-content">
    <Form class="properties-body" label-align="left" layout="vertical">
      <FormItem label="工艺路线编码" name="工艺路线编码">
        <Input
          :style="{ width: '100%' }"
          v-model:value="mesRoute.ROT_CODE"
          :min="0"
          :step="1"
          :readonly="true"
        />
      </FormItem>
      <FormItem label="节点ID" name="节点ID">
        <Input
          :style="{ width: '100%' }"
          v-model:value="routeConfig.currentAct.NODE_ID"
          :min="0"
          :step="1"
          :readonly="true"
        />
      </FormItem>
      <FormItem label="行为类型" name="行为类型">
        <ApiSelect
          :api="ActTypeStatus"
          v-model:value="routeConfig.currentAct.ACT_TYPE"
          resultField="Data"
          :label-field="actTypeLable"
          valueField="Value"
          placeholder="请选择行为类型"
        />
      </FormItem>
      <FormItem label="自定义方法类型" name="自定义方法类型">
        <ApiSelect
          :api="DoTypeStatus"
          v-model:value="routeConfig.currentAct.DO_TYPE"
          resultField="Data"
          :label-field="actTypeLable"
          valueField="Value"
          placeholder="请选择行为类型"
        />
      </FormItem>
      <FormItem label="自定义方法(调用方法的全名)" name="自定义方法">
        <Input
          :style="{ width: '100%' }"
          v-model:value="routeConfig.currentAct.DO_METHOD"
          :min="0"
          :step="1"
        />
      </FormItem>
      <FormItem label="通过时执行(调用方法的全名)" name="通过时执行">
        <Input
          :style="{ width: '100%' }"
          v-model:value="routeConfig.currentAct.DO_IF_PASS"
          :min="0"
          :step="1"
        />
      </FormItem>
      <FormItem label="失败时执行(调用方法的全名)" name="失败时执行">
        <Input
          :style="{ width: '100%' }"
          v-model:value="routeConfig.currentAct.DO_IF_FAIL"
          :min="0"
          :step="1"
        />
      </FormItem>
      <FormItem label="是否启用" name="是否启用">
        <Select
          ref="select"
          v-model:value="routeConfig.currentAct.IS_ACTIVE"
          style="width: 120px"
          :options="options1"
        />
      </FormItem>
    </Form>
  </div>
</template>
<script lang="ts" setup>
  import { Select, Input, Form, FormItem } from 'ant-design-vue';
  import { useRouteDesignState } from '../hooks/useRouteDesignState';
  import { SelectTypes } from 'ant-design-vue/es/select';
  import { ApiSelect } from '/@/components/Form/index';
  import { ref, unref, watch } from 'vue';
  import { useLocale } from '/@/locales/useLocale';
  import { ActTypeStatus, DoTypeStatus } from '/@/api/tigerapi/mes/router';
 
  const { getLocale } = useLocale();
  const { routeConfig, mesRoute } = useRouteDesignState();
  const options1 = ref<SelectTypes['options']>([
    {
      value: 'Y',
      label: '启用',
    },
    {
      value: 'N',
      label: '不启用',
    },
  ]);
  const actTypeLable = unref(getLocale) == 'zh_CN' ? 'Desc' : 'Name';
  watch(
    () => routeConfig.currentAct,
    (newVal, oldVal) => {
      routeConfig.routeData.acts.forEach((r) => {
        if (r.ID == routeConfig.currentAct.ID) {
          r.IS_ACTIVE = newVal.IS_ACTIVE;
          r.ACT_TYPE = newVal.ACT_TYPE;
          r.DO_TYPE = newVal.DO_TYPE;
          r.DO_METHOD = newVal.DO_METHOD;
          r.DO_IF_PASS = newVal.DO_IF_PASS;
          r.DO_IF_FAIL = newVal.DO_IF_FAIL;
        }
      });
    },
    { deep: true, immediate: true },
  );
</script>