From 1da6506bf58270bacc2a4345002c6b082835580e Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 21 十月 2021 23:17:08 +0800
Subject: [PATCH] 2021-10-21

---
 src/tabviews/zshare/mutilform/mkSelect/index.jsx |   22 +++++++++++++++++-----
 1 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/src/tabviews/zshare/mutilform/mkSelect/index.jsx b/src/tabviews/zshare/mutilform/mkSelect/index.jsx
index d754520..192ddd4 100644
--- a/src/tabviews/zshare/mutilform/mkSelect/index.jsx
+++ b/src/tabviews/zshare/mutilform/mkSelect/index.jsx
@@ -3,7 +3,6 @@
 import { Select } from 'antd'
 
 import MKEmitter from '@/utils/events.js'
-import './index.scss'
 
 class MKSelect extends Component {
   constructor(props) {
@@ -79,14 +78,26 @@
     const { config } = this.state
 
     let options = config.oriOptions.filter(option => option.ParentID === parentId || option.value === '')
-    let val = options[0] ? options[0].value : ''
+    let _option = options[0] && !options[0].$disabled ? options[0] : null
+    let val = _option ? _option.value : ''
 
     this.setState({
       options,
       value: val
     })
 
-    this.props.onChange(val)
+    let other = {}
+
+    if (config.subFields && _option) {
+      config.subFields.forEach((n, i) => {
+        other[n.field] = _option[n.field]
+        setTimeout(() => {
+          MKEmitter.emit('mkFC', 'input', n.uuid, _option[n.field])
+        }, i * 5)
+      })
+    }
+
+    this.props.onChange(val, other)
 
     if (level < 7 && config.linkFields) {
       config.linkFields.forEach((m, i) => {
@@ -148,13 +159,14 @@
           allowClear
           id={config.uuid}
           value={value}
+          dropdownMatchSelectWidth={config.dropdown !== 'false'}
           filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}
           onSelect={this.selectChange}
           onChange={(val) => val === undefined && this.selectChange('')}
           disabled={config.readonly}
         >
           {options.map(option =>
-            <Select.Option id={option.key} title={option.label} key={option.key} value={option.value}>{option.label}</Select.Option>
+            <Select.Option id={option.key} title={option.label} disabled={option.$disabled} key={option.key} value={option.value}>{option.label}</Select.Option>
           )}
         </Select>
       )
@@ -169,7 +181,7 @@
         disabled={config.readonly}
       >
         {options.map(option =>
-          <Select.Option id={option.key} title={option.label} key={option.key} value={option.value}>{option.label}</Select.Option>
+          <Select.Option id={option.key} title={option.label} disabled={option.$disabled} key={option.key} value={option.value}>{option.label}</Select.Option>
         )}
       </Select>)
     }

--
Gitblit v1.8.0