From 7d286a4f501b625104935322e78f4ffb7a34b157 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=A8=E6=A0=91=E6=98=8E?= <775174143@qq.com>
Date: Wed, 11 Dec 2019 12:06:13 +0800
Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../PathDetail/DetailCardsEditAndEdit.js      |  2 +-
 .../modules/tpm/TPMsettings/Configuration.js  | 98 ++++++++++++++++++-
 .../tpm/TPMsettings/Shixuninformation.js      |  1 +
 .../modules/tpm/TPMsettings/TPMsettings.js    | 67 +------------
 4 files changed, 100 insertions(+), 68 deletions(-)

diff --git a/public/react/src/modules/paths/PathDetail/DetailCardsEditAndEdit.js b/public/react/src/modules/paths/PathDetail/DetailCardsEditAndEdit.js
index 20d9ce9ed..e7701f4b8 100644
--- a/public/react/src/modules/paths/PathDetail/DetailCardsEditAndEdit.js
+++ b/public/react/src/modules/paths/PathDetail/DetailCardsEditAndEdit.js
@@ -430,7 +430,7 @@ class DetailCardsEditAndEdit extends Component{
               </div>
 
               <p className="clearfix mb10">
-                <a  onClick={this.Addshixuns} className="fl defalutGreyBorder color-grey-6 ml37">
+                <a  onClick={this.Addshixuns} clasName="fl defalutGreyBorder color-grey-6 ml37">
                   <i className="iconfont icon-tianjiafangda fl mr5"></i>新建实训项目
                 </a>
               </p>
diff --git a/public/react/src/modules/tpm/TPMsettings/Configuration.js b/public/react/src/modules/tpm/TPMsettings/Configuration.js
index c639692c6..a0ac8146e 100644
--- a/public/react/src/modules/tpm/TPMsettings/Configuration.js
+++ b/public/react/src/modules/tpm/TPMsettings/Configuration.js
@@ -1,6 +1,15 @@
 import React, { Component } from 'react';
 
-import {Input, Select, Radio, Checkbox, Popconfirm, message, Modal,Icon,DatePicker,Breadcrumb,Upload,Button,notification, Tooltip,Tabs} from 'antd';
+import MonacoEditor from 'react-monaco-editor';
+
+//MonacoDiffEditor  对比模式
+import {Input, Select, Radio, Checkbox, Popconfirm, message, Modal,Icon,DatePicker,Breadcrumb,Upload,Button,notification, Tooltip} from 'antd';
+
+// import "antd/dist/antd.css";
+
+import locale from 'antd/lib/date-picker/locale/zh_CN';
+
+import moment from 'moment';
 
 import axios from 'axios';
 
@@ -8,6 +17,22 @@ import './css/TPMsettings.css';
 
 import { getImageUrl, toPath, getUrl ,appendFileSizeToUploadFileAll, getUploadActionUrl} from 'educoder';
 
+let origin = getUrl();
+
+let path = getUrl("/editormd/lib/")
+
+const $ = window.$;
+
+let timeout;
+
+let currentValue;
+
+const Option = Select.Option;
+
+const RadioGroup = Radio.Group;
+const confirm = Modal.confirm;
+
+
 
 
 export default class Shixuninformation extends Component {
@@ -22,15 +47,82 @@ export default class Shixuninformation extends Component {
 
   render() {
   let {can_copy}=this.state;
+    let options;
+
+    if (this.props.departmentslist != undefined) {
+      options = this.props.departmentslist.map((d, k) => {
+        return (
+          <Option key={d} id={k}>{d}</Option>
+        )
+      })
+    }
     return (
       <div>
-        <div className="clearfix mt20 ml30">
+        <div className="clearfix ml30">
           <span className="color-grey-6 mt5 fl" style={{minWidth: '95px'}}>复制:</span>
           <span className="fl mt5">
-            <Checkbox checked={can_copy === undefined ? false : can_copy} onChange={this.can_copy}></Checkbox>
+            <Checkbox checked={this.props.data&&this.props.data.shixun.can_copy === undefined ? false : this.props.data&&this.props.data.shixun.can_copy} onChange={this.props.data&&this.props.data.shixun.can_copy}></Checkbox>
             <label style={{top:'6px'}} className="color-grey-9 ml10">(勾选则允许已认证的教师复制该实训)</label>
           </span>
         </div>
+
+        <div className="edu-back-white mb10 padding40-20" style={{display:this.props.identity===1?"block":this.props.data&&this.props.data.shixun.status===2&&this.props.data&&this.props.data.shixun.use_scope===0||this.props.data&&this.props.data.shixun.status===1&&this.props.data&&this.props.data.shixun.use_scope===0?"none":"block"}}>
+          <p className="color-grey-6 font-16 mb30">公开程度</p>
+          <RadioGroup onChange={this.SelectOpenpublic} value={this.props.data&&this.props.data.use_scope}>
+            <Radio className="radioStyle" value={0}><span>对所有公开</span> <span  className="color-grey-9">(选中则所有已被试用授权的用户可以学习)</span></Radio>
+            <Radio className="radioStyle" value={1}><span>对指定单位公开</span> <span  className="color-grey-9">(选中则下方指定单位的已被试用授权的用户可以学习)</span></Radio>
+          </RadioGroup>
+
+          <div className="clearfix none" id="unit-all" style={{display: this.props.scopetype === false ? 'none' : 'block'}}>
+            <div className="fl ml25">
+              <div className="fl" id="unit-input-part"  style={{width:'100%'}}>
+                <div id="person-unit" className="fl pr mr10">
+                  <div className="shixunScopeInput fl" >
+                    <Select
+                      style={{width:'200px'}}
+                      placeholder="请输入并选择单位名称"
+                      onChange={(value)=>this.shixunScopeInput(value)}
+                      onSearch={this.shixunHandleSearch}
+                      showSearch
+                      defaultActiveFirstOption={false}
+                      showArrow={false}
+                      filterOption={false}
+                      notFoundContent={null}
+                      className={this.props.scope_partmenttype===true?"bor-red":""}
+                    >
+                      {options}
+                    </Select>
+                  </div>
+                  <span className="color-grey-9">(搜索并选中添加单位名称)</span>
+                </div>
+              </div>
+
+              <div style={{width:'100%'}}>
+                <div className="mt20 clearfix" id="task_tag_content">
+                  {
+                    this.props.scope_partment===undefined?"":this.props.scope_partment.map((item,key)=>{
+
+                      return(
+                        <li className="task_tag_span" key={key}><span>{item}</span>
+                          <a  style={{ color: 'rgba(0,0,0,.25)' }}
+                              onClick={(key)=>this.deleteScopeInput(key)}
+                          >
+                            {this.props.identity===1?"x":this.state.status===2&&this.props.scope_partment===this.props.scope_partments||this.state.status===1&&this.props.scope_partment===this.props.scope_partments?"":"×"}
+                          </a>
+                        </li>
+                      )
+                    })
+                  }
+                </div>
+
+              </div>
+              <span className={this.props.scope_partmenttype===true?"color-orange ml20 fl":"color-orange ml20 fl none"} id="public_unit_notice">
+																			<i className="fa fa-exclamation-circle mr3"></i>
+																	请选择需要公开的单位
+						 </span>
+            </div>
+          </div>
+        </div>
       </div>
     );
   }
diff --git a/public/react/src/modules/tpm/TPMsettings/Shixuninformation.js b/public/react/src/modules/tpm/TPMsettings/Shixuninformation.js
index ccab94ea1..f4e18a6c1 100644
--- a/public/react/src/modules/tpm/TPMsettings/Shixuninformation.js
+++ b/public/react/src/modules/tpm/TPMsettings/Shixuninformation.js
@@ -55,6 +55,7 @@ class Shixuninformation extends Component {
 
 
   render() {
+    console.log(this.props.data)
     const {getFieldDecorator} = this.props.form;
     const {newshixunlist, languagewrite, systemenvironment, testcoderunmode, fileList, postapplytitle, postapplyvisible, shixunmemoMDvalue} = this.state;
     const {shixun_service_configs}=this.props;
diff --git a/public/react/src/modules/tpm/TPMsettings/TPMsettings.js b/public/react/src/modules/tpm/TPMsettings/TPMsettings.js
index be016385f..fe99c8ca7 100644
--- a/public/react/src/modules/tpm/TPMsettings/TPMsettings.js
+++ b/public/react/src/modules/tpm/TPMsettings/TPMsettings.js
@@ -61,52 +61,9 @@ export default class TPMsettings extends Component {
     axios.get(Url).then((response) => {
       // alert(response.data.shixun.choice_standard_scripts)
       if (response.status === 200) {
-        this.setState({
-          shixunsID: id,
-          settingsData: response.data,
-          webssh: response.data.shixun.webssh,
-          use_scope: response.data.shixun.use_scope,
-          shixunsstatus: response.data.shixun.status,
-          exec_time: response.data.shixun.exec_time,
-          trainee: response.data.shixun.trainee,
-          can_copy: response.data.shixun.can_copy,
-          task_pass: response.data.shixun.task_pass,
-          test_set_permission: response.data.shixun.test_set_permission,
-          hide_code: response.data.shixun.hide_code,
-          code_edit_permission: response.data.shixun.code_edit_permission,
-          code_hidden: response.data.shixun.code_hidden,
-          is_secret_repository: response.data.shixun.is_secret_repository,
-          init_is_secret_repository: response.data.shixun.is_secret_repository,
-          forbid_copy: response.data.shixun.forbid_copy,
-          vnc: response.data.shixun.vnc,
-          vnc_evaluate: response.data.shixun.vnc_evaluate,
-          name: response.data.shixun.name,
-          scope_partment: response.data.shixun.scope_partment,
-          description: response.data.shixun.description,
-          evaluate_script: response.data.shixun.evaluate_script,
-          choice_main_type: response.data.shixun.choice_main_type,
-          choice_small_type: response.data.shixun.choice_small_type,
-          choice_standard_scripts: response.data.shixun.choice_standard_scripts,
-          standard_scripts: response.data.shixun.standard_scripts,
-          multi_webssh: response.data.shixun.multi_webssh,
-          status: response.data.shixun.status,
-          opening_time: response.data.shixun.opening_time,
-          newuse_scope: response.data.shixun.use_scope,
-          scope_partments: response.data.shixun.scope_partment.length,
-          shixunmemoMDvalue: response.data.shixun.evaluate_script,
-          shixun_service_configs: response.data.shixun.shixun_service_configs,
-          shixun_service_configlist: response.data.shixun.shixun_service_configs,
-        })
-
-        // if(response.data.status===403){
-        //     message: "您没有权限进行该操作"
-        //     this.setState({
-        //         :true
-        //         message403:response.data.message
-        //     })
-        // }
-
-
+         this.setState({
+           data:response.data
+         })
         if (response.data.shixun.multi_webssh === true) {
           this.setState({
             SelectTheCommandtype: true
@@ -121,24 +78,6 @@ export default class TPMsettings extends Component {
             scopetype: true
           })
         }
-        // console.log(response.data.shixun.description)
-        // console.log(response.data.shixun.evaluate_script)
-        // console.log(response.data.shixun.description)
-        // this.props.identity<4&&this.props.status==0||this.props.identity===1&&this.props.status==2
-
-
-        // this.evaluate_scriptMD(response.data.shixun.evaluate_script, "shixunmemoMD");
-
-        // this.descriptionMD(response.data.shixun.description, "shixundescription");
-
-        // this.bigClass()
-        // if (response.data.shixun.status === 2) {
-        //
-        // } else if (response.data.shixun.status === 1) {
-        //     this.props.showSnackbar("这个实训已发布不能修改!");
-        // } else if (response.data.shixun.status === 3) {
-        //     this.props.showSnackbar("这个实训已关闭不能修改!");
-        // }
       }
 
     });