From 10f5efae1624c89d9a8f04ac331e07c895ea282a Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期六, 25 五月 2024 18:22:58 +0800
Subject: [PATCH] 2024-05-25

---
 src/tabviews/zshare/mutilform/mkPopSelect/index.jsx |   47 +++++++++++++++++++++++++++++++++++++----------
 1 files changed, 37 insertions(+), 10 deletions(-)

diff --git a/src/tabviews/zshare/mutilform/mkPopSelect/index.jsx b/src/tabviews/zshare/mutilform/mkPopSelect/index.jsx
index 59f0af5..7b76860 100644
--- a/src/tabviews/zshare/mutilform/mkPopSelect/index.jsx
+++ b/src/tabviews/zshare/mutilform/mkPopSelect/index.jsx
@@ -80,6 +80,7 @@
       options: [],
       columns,
       value,
+      showValue: config.showValue,
       placeholder,
       arr_field: arrfield.join(','),
       searchKey: '',
@@ -122,7 +123,7 @@
     let param = {
       func: 'sPC_Get_TableData',
       obj_name: 'data',
-      exec_type: 'y',
+      exec_type: window.GLOB.execType || 'y',
       arr_field: arr_field,
       default_sql: 'true',
       custom_script: '',
@@ -166,8 +167,8 @@
       DateCount && console.info(`/*${config.label} 鎬绘暟鏌ヨ*/\n` + DateCount.replace(/\n\s{6}/ig, '\n'))
     }
 
-    param.LText = Utils.formatOptions(sql)
-    param.DateCount = Utils.formatOptions(DateCount)
+    param.LText = Utils.formatOptions(sql, param.exec_type)
+    param.DateCount = Utils.formatOptions(DateCount, param.exec_type)
 
     param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
     param.secretkey = Utils.encrypt('', param.timestamp)
@@ -188,8 +189,17 @@
 
           return item
         })
+
+        let showValue = this.state.showValue
+
+        if (showValue) {
+          if (options.findIndex(item => this.state.value === item.$$uuid) > -1) {
+            showValue = ''
+          }
+        }
   
         this.setState({
+          showValue,
           options: options,
           total: result.total || 0,
           loading: false
@@ -260,17 +270,26 @@
       })
     }
 
+    if (config.linkFields) {
+      config.linkFields.forEach((m, i) => {
+        setTimeout(() => {
+          MKEmitter.emit('mkFP', m.uuid, val, 0)
+        }, (i + 1) * 100)
+      })
+    }
+
     this.props.onChange(val, other)
-    this.setState({value: val}, () => {
+    this.setState({value: val, showValue: ''}, () => {
       if (config.enter === 'tab') {
         MKEmitter.emit('mkFC', 'focus', config.tabUuid)
       } else if (config.enter === 'sub') {
+        config.tabUuid && MKEmitter.emit('mkFC', 'focus', config.tabUuid)
         if (config.subFields) {
           setTimeout(() => {
-            this.props.onSubmit()
+            this.props.onSubmit(config.tabUuid)
           }, 1000)
         } else {
-          this.props.onSubmit()
+          this.props.onSubmit(config.tabUuid)
         }
       }
     })
@@ -311,14 +330,14 @@
   }
 
   render() {
-    const { value, config, options, visible, loading, total, pageIndex, pageSize, columns, placeholder } = this.state
+    const { value, showValue, config, options, visible, loading, total, pageIndex, pageSize, columns, placeholder, searchKey } = this.state
     
     return <>
       <Select
         className="mk-pop-select"
         showSearch={!!config.searchKey}
         allowClear
-        value={value}
+        value={showValue || value}
         onSearch={(val) => val && this.searchOption(val)}
         filterOption={false}
         onChange={(val) => this.selectChange(val === undefined ? '' : val)}
@@ -341,7 +360,7 @@
         onCancel={() => this.setState({visible: false})}
         destroyOnClose
       >
-        {config.searchKey ? <Search placeholder={placeholder} onSearch={this.searchOption} enterButton /> : null}
+        {config.searchKey ? <Search placeholder={placeholder} defaultValue={searchKey} onSearch={this.searchOption} enterButton /> : null}
         <Table
           rowKey="$$uuid"
           bordered={true}
@@ -350,8 +369,16 @@
           dataSource={options}
           loading={loading}
           onRow={(record) => {
+            let className = ''
+
+            if (record.$disabled) {
+              className = ' mk-disable-line '
+            } else if (value === record.$$uuid) {
+              className = ' ant-table-row-selected '
+            }
+            
             return {
-              className: value === record.$$uuid ? ' ant-table-row-selected ' : '',
+              className: className,
               onClick: () => {this.changeRow(record)},
             }
           }}

--
Gitblit v1.8.0