Ben Lin
2024-10-24 5a813f3b28f3cbf1db3a3657ccf83267c6e0d315
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<!--
 * @Description: file content
 * @Author: Ben Lin
 * @version: 
 * @Date: 2024-06-18 15:09:48
 * @LastEditors: Ben Lin
 * @LastEditTime: 2024-10-13 15:44:51
-->
<!--
 * @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="节点名称" name="节点名称">
        <Input
          :style="{ width: '100%' }"
          v-model:value="routeConfig.currentItem.NODE_NAME"
          :min="0"
          :step="1"
        />
      </FormItem>
      <FormItem label="工段" name="工段">
        <Input
          :style="{ width: '100%' }"
          v-model:value="routeConfig.currentItem.SEGMENT"
          :min="0"
          :step="1"
        />
      </FormItem>
      <FormItem label="工序编码" name="工序编码">
        <Input
          :style="{ width: '100%' }"
          v-model:value="routeConfig.currentItem.OPER_CODE"
          :min="0"
          :step="1"
        />
      </FormItem>
      <FormItem label="是否启用" name="是否启用">
        <Switch v-model:checked="routeConfig.isActive" />
      </FormItem>
      <FormItem label="是否允许跳站" name="是否允许跳站">
        <Switch v-model:checked="routeConfig.canSkip" />
      </FormItem>
      
      <FormItem label="是否允许不良品进站(Y/N)" name="是否允许不良品进站(Y/N)">
        <Switch v-model:checked="routeConfig.allowDftIn" />
      </FormItem>
      <!-- <FormItem label="是否计算直通率" name="是否计算直通率">
        <Switch v-model:checked="routeConfig.isCalcFpy" />
      </FormItem>
      <FormItem label="是否允许跳站" name="是否允许跳站">
        <Switch v-model:checked="routeConfig.canSkip" />
      </FormItem>
      <FormItem label="是否投入站" name="是否投入站">
        <Switch v-model:checked="routeConfig.isInput" />
      </FormItem>
      <FormItem label="是否产出站" name="是否产出站">
        <Switch v-model:checked="routeConfig.isOutput" />
      </FormItem> -->
    </Form>
  </div>
</template>
<script lang="ts" setup>
  import { Select, Switch, Input, Form, FormItem } from 'ant-design-vue';
  import { useRouteDesignState } from '../hooks/useRouteDesignState';
  import { SelectTypes } from 'ant-design-vue/es/select';
  import { ref, watch } from 'vue';
  import { isNullOrUnDef } from '/@/utils/is';
 
  const { routeConfig, mesRoute } = useRouteDesignState();
  const emit = defineEmits(['changeNodeName']);
  const options1 = ref<SelectTypes['options']>([
    {
      value: 'Y',
      label: '启用',
    },
    {
      value: 'N',
      label: '不启用',
    },
  ]);
 
  watch(
    [
      () => routeConfig['isCalcFpy'],
      () => routeConfig['canSkip'],
      () => routeConfig['isInput'],
      () => routeConfig['isOutput'],
      () => routeConfig['allowDftIn'],
      () => routeConfig['isActive'],
      () => routeConfig['currentItem'],
    ],
    (newVal, oldVal) => {
      routeConfig['routeData'].nodes.forEach((r) => {
        if (r.ID == routeConfig['currentItem'].ID) {
          if (oldVal[0] != newVal[0] && !isNullOrUnDef(oldVal[0])) {
            r.IS_CALC_FPY = newVal[0] ? 'Y' : 'N';
          }
          if (oldVal[1] != newVal[1] && !isNullOrUnDef(oldVal[1])) {
            r.CAN_SKIP = newVal[1] ? 'Y' : 'N';
          }
          if (oldVal[2] != newVal[2] && !isNullOrUnDef(oldVal[2])) {
            r.IS_INPUT = newVal[2] ? 'Y' : 'N';
          }
          if (oldVal[3] != newVal[3] && !isNullOrUnDef(oldVal[3])) {
            r.IS_OUTPUT = newVal[3] ? 'Y' : 'N';
          }
          if (oldVal[4] != newVal[4] && !isNullOrUnDef(oldVal[4])) {
            r.ALLOW_DFT_IN = newVal[4] ? 'Y' : 'N';
          }
          if (oldVal[5] != newVal[5] && !isNullOrUnDef(oldVal[5])) {
            r.IS_ACTIVE = newVal[5] ? 'Y' : 'N';
          }
          // r.IS_ACTIVE = newVal[4].IS_ACTIVE;
          r.SEGMENT = newVal[6].SEGMENT;
          if (r.NODE_NAME != newVal[6].NODE_NAME) {
            r.NODE_NAME = newVal[6].NODE_NAME;
            emit('changeNodeName', { id: r.ID, val: r.NODE_NAME });
          }
        }
      });
    },
    { deep: true, immediate: true },
  );
</script>