From 0c86e5e2eaf907dfcb63aea13e6efac3ccc52cce Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 25 二月 2020 11:06:20 +0800
Subject: [PATCH] 2020-02-25

---
 src/templates/tableshare/verifycardexcelin/customscript/index.jsx |   52 ++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 46 insertions(+), 6 deletions(-)

diff --git a/src/templates/tableshare/verifycardexcelin/customscript/index.jsx b/src/templates/tableshare/verifycardexcelin/customscript/index.jsx
index 599b1b7..7302369 100644
--- a/src/templates/tableshare/verifycardexcelin/customscript/index.jsx
+++ b/src/templates/tableshare/verifycardexcelin/customscript/index.jsx
@@ -8,12 +8,41 @@
 class CustomForm extends Component {
   static propTpyes = {
     dict: PropTypes.object,         // 瀛楀吀椤�
+    btn: PropTypes.object,          // 鎸夐挳淇℃伅
+    scripts: PropTypes.array,       // 鑷畾涔夎剼鏈垪琛�
+    isdefault: PropTypes.any,       // 鏄惁浣跨敤榛樿sql
     usefulfields: PropTypes.string, // 鍙敤瀛楁
     scriptsChange: PropTypes.func   // 琛ㄥ崟
   }
 
   state = {
-    editItem: null
+    editItem: null,
+    usefulfields: null
+  }
+
+  UNSAFE_componentWillMount () {
+    const {usefulfields} = this.props
+
+    let fields = usefulfields.map(item => item.Column)
+    fields = ['BID', 'ID', ...fields]
+    fields = Array.from(new Set(fields))
+
+    this.setState({
+      usefulfields: fields.join(', ')
+    })
+  }
+
+  componentDidMount () {
+    const { btn, isdefault, usefulfields, scripts } = this.props
+
+    if (isdefault === 'false' && scripts.length === 0) {
+      let fields = usefulfields.map(col => col.Column).join(',')
+
+      this.props.form.setFieldsValue({
+        sql: `Insert into ${btn.sheet} (${fields},createuserid,createuser,createstaff,bid) 
+        Select ${fields},@userid,@username,@fullname,@BID From @${btn.sheet}`
+      })
+    }
   }
 
   edit = (record) => {
@@ -24,6 +53,19 @@
     this.props.form.setFieldsValue({
       sql: record.sql
     })
+  }
+
+  UNSAFE_componentWillReceiveProps (nextProps) {
+    const { btn, usefulfields, scripts } = this.props
+
+    if (nextProps.isdefault ==='false' && this.props.isdefault !== nextProps.isdefault && scripts.length === 0) {
+      let fields = usefulfields.map(col => col.Column).join(',')
+
+      this.props.form.setFieldsValue({
+        sql: `Insert into ${btn.sheet} (${fields},createuserid,createuser,createstaff,bid) 
+        Select ${fields},@userid,@username,@fullname,@BID From @${btn.sheet}`
+      })
+    }
   }
 
 
@@ -76,7 +118,7 @@
   }
 
   render() {
-    const { usefulfields } = this.props
+    const { usefulfields } = this.state
     const { getFieldDecorator } = this.props.form
     const formItemLayout = {
       labelCol: {
@@ -89,14 +131,12 @@
       }
     }
 
-    let _fields = usefulfields.map(item => item.Column).join(', ')
-
     return (
       <Form {...formItemLayout} className="verify-form" id="verifycard2">
         <Row gutter={24}>
-          {_fields ? <Col span={21} className="sqlfield">
+          {usefulfields ? <Col span={21} className="sqlfield">
             <Form.Item label={'鍙敤瀛楁'}>
-              {_fields}
+              {usefulfields}
             </Form.Item>
           </Col> : null}
           <Col span={21} className="sql">

--
Gitblit v1.8.0