webpackJsonp([195],{ /***/ 1085: /***/ (function(module, exports, __webpack_require__) { var invariant = __webpack_require__(48); var hasOwnProperty = Object.prototype.hasOwnProperty; var splice = Array.prototype.splice; var toString = Object.prototype.toString var type = function(obj) { return toString.call(obj).slice(8, -1); } var assign = Object.assign || /* istanbul ignore next */ function assign(target, source) { getAllKeys(source).forEach(function(key) { if (hasOwnProperty.call(source, key)) { target[key] = source[key]; } }); return target; }; var getAllKeys = typeof Object.getOwnPropertySymbols === 'function' ? function(obj) { return Object.keys(obj).concat(Object.getOwnPropertySymbols(obj)) } : /* istanbul ignore next */ function(obj) { return Object.keys(obj) }; /* istanbul ignore next */ function copy(object) { if (Array.isArray(object)) { return assign(object.constructor(object.length), object) } else if (type(object) === 'Map') { return new Map(object) } else if (type(object) === 'Set') { return new Set(object) } else if (object && typeof object === 'object') { var prototype = Object.getPrototypeOf(object); return assign(Object.create(prototype), object); } else { return object; } } function newContext() { var commands = assign({}, defaultCommands); update.extend = function(directive, fn) { commands[directive] = fn; }; update.isEquals = function(a, b) { return a === b; }; return update; function update(object, spec) { if (typeof spec === 'function') { spec = { $apply: spec }; } if (!(Array.isArray(object) && Array.isArray(spec))) { invariant( !Array.isArray(spec), 'update(): You provided an invalid spec to update(). The spec may ' + 'not contain an array except as the value of $set, $push, $unshift, ' + '$splice or any custom command allowing an array value.' ); } invariant( typeof spec === 'object' && spec !== null, 'update(): You provided an invalid spec to update(). The spec and ' + 'every included key path must be plain objects containing one of the ' + 'following commands: %s.', Object.keys(commands).join(', ') ); var nextObject = object; var index, key; getAllKeys(spec).forEach(function(key) { if (hasOwnProperty.call(commands, key)) { var objectWasNextObject = object === nextObject; nextObject = commands[key](spec[key], nextObject, spec, object); if (objectWasNextObject && update.isEquals(nextObject, object)) { nextObject = object; } } else { var nextValueForKey = type(object) === 'Map' ? update(object.get(key), spec[key]) : update(object[key], spec[key]); var nextObjectValue = type(nextObject) === 'Map' ? nextObject.get(key) : nextObject[key]; if (!update.isEquals(nextValueForKey, nextObjectValue) || typeof nextValueForKey === 'undefined' && !hasOwnProperty.call(object, key)) { if (nextObject === object) { nextObject = copy(object); } if (type(nextObject) === 'Map') { nextObject.set(key, nextValueForKey); } else { nextObject[key] = nextValueForKey; } } } }) return nextObject; } } var defaultCommands = { $push: function(value, nextObject, spec) { invariantPushAndUnshift(nextObject, spec, '$push'); return value.length ? nextObject.concat(value) : nextObject; }, $unshift: function(value, nextObject, spec) { invariantPushAndUnshift(nextObject, spec, '$unshift'); return value.length ? value.concat(nextObject) : nextObject; }, $splice: function(value, nextObject, spec, originalObject) { invariantSplices(nextObject, spec); value.forEach(function(args) { invariantSplice(args); if (nextObject === originalObject && args.length) nextObject = copy(originalObject); splice.apply(nextObject, args); }); return nextObject; }, $set: function(value, nextObject, spec) { invariantSet(spec); return value; }, $toggle: function(targets, nextObject) { invariantSpecArray(targets, '$toggle'); var nextObjectCopy = targets.length ? copy(nextObject) : nextObject; targets.forEach(function(target) { nextObjectCopy[target] = !nextObject[target]; }); return nextObjectCopy; }, $unset: function(value, nextObject, spec, originalObject) { invariantSpecArray(value, '$unset'); value.forEach(function(key) { if (Object.hasOwnProperty.call(nextObject, key)) { if (nextObject === originalObject) nextObject = copy(originalObject); delete nextObject[key]; } }); return nextObject; }, $add: function(value, nextObject, spec, originalObject) { invariantMapOrSet(nextObject, '$add'); invariantSpecArray(value, '$add'); if (type(nextObject) === 'Map') { value.forEach(function(pair) { var key = pair[0]; var value = pair[1]; if (nextObject === originalObject && nextObject.get(key) !== value) nextObject = copy(originalObject); nextObject.set(key, value); }); } else { value.forEach(function(value) { if (nextObject === originalObject && !nextObject.has(value)) nextObject = copy(originalObject); nextObject.add(value); }); } return nextObject; }, $remove: function(value, nextObject, spec, originalObject) { invariantMapOrSet(nextObject, '$remove'); invariantSpecArray(value, '$remove'); value.forEach(function(key) { if (nextObject === originalObject && nextObject.has(key)) nextObject = copy(originalObject); nextObject.delete(key); }); return nextObject; }, $merge: function(value, nextObject, spec, originalObject) { invariantMerge(nextObject, value); getAllKeys(value).forEach(function(key) { if (value[key] !== nextObject[key]) { if (nextObject === originalObject) nextObject = copy(originalObject); nextObject[key] = value[key]; } }); return nextObject; }, $apply: function(value, original) { invariantApply(value); return value(original); } }; var contextForExport = newContext(); module.exports = contextForExport; module.exports.default = contextForExport; module.exports.newContext = newContext; // invariants function invariantPushAndUnshift(value, spec, command) { invariant( Array.isArray(value), 'update(): expected target of %s to be an array; got %s.', command, value ); invariantSpecArray(spec[command], command) } function invariantSpecArray(spec, command) { invariant( Array.isArray(spec), 'update(): expected spec of %s to be an array; got %s. ' + 'Did you forget to wrap your parameter in an array?', command, spec ); } function invariantSplices(value, spec) { invariant( Array.isArray(value), 'Expected $splice target to be an array; got %s', value ); invariantSplice(spec['$splice']); } function invariantSplice(value) { invariant( Array.isArray(value), 'update(): expected spec of $splice to be an array of arrays; got %s. ' + 'Did you forget to wrap your parameters in an array?', value ); } function invariantApply(fn) { invariant( typeof fn === 'function', 'update(): expected spec of $apply to be a function; got %s.', fn ); } function invariantSet(spec) { invariant( Object.keys(spec).length === 1, 'Cannot have more than one key in an object with $set' ); } function invariantMerge(target, specValue) { invariant( specValue && typeof specValue === 'object', 'update(): $merge expects a spec of type \'object\'; got %s', specValue ); invariant( target && typeof target === 'object', 'update(): $merge expects a target of type \'object\'; got %s', target ); } function invariantMapOrSet(target, command) { var typeOfTarget = type(target); invariant( typeOfTarget === 'Map' || typeOfTarget === 'Set', 'update(): %s expects a target of type Set or Map; got %s', command, typeOfTarget ); } /***/ }), /***/ 3130: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_antd_lib_tooltip_style_css__ = __webpack_require__(165); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_antd_lib_tooltip_style_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_antd_lib_tooltip_style_css__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_antd_lib_tooltip__ = __webpack_require__(164); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_antd_lib_tooltip___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_antd_lib_tooltip__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_classnames__ = __webpack_require__(3); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_classnames__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_axios__ = __webpack_require__(12); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_axios__); var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var SelectTable=function(_Component){_inherits(SelectTable,_Component);function SelectTable(props){_classCallCheck(this,SelectTable);var _this=_possibleConstructorReturn(this,(SelectTable.__proto__||Object.getPrototypeOf(SelectTable)).call(this,props));_this.state={};return _this;}_createClass(SelectTable,[{key:'componentDidMount',value:function componentDidMount(){}},{key:'render',value:function render(){var _this2=this;var _props=this.props,match=_props.match,columns=_props.columns,tableData=_props.tableData;if(!tableData||!tableData.length)return'';return __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('table',{className:'edu-pop-table-all edu-txt-center color-grey-6 interval-td',cellspacing:'0',cellpadding:'0'},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('tbody',null,__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('tr',null,columns.map(function(item,index){if(index==0)return __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('td',{className:'gaugeOutfit'},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('span',null,columns[0][0]),__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('span',null,columns[0][1]));return __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_antd_lib_tooltip___default.a,{title:item},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('td',null,_this2.props.columnName||'目标',index));})),tableData.map(function(item,rowIndex){var cells=item.map(function(cell,colIndex){// placement="bottom" if(colIndex==0)return __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_antd_lib_tooltip___default.a,{title:cell},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('td',null,'\u6307\u6807\u70B9',_this2.props.firstColIndexArray?_this2.props.firstColIndexArray[rowIndex]:rowIndex+1));return __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_antd_lib_tooltip___default.a,{title:!!cell?'取消支撑':'选择支撑'},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('td',{onClick:function onClick(){return _this2.props.onCellClick(rowIndex,colIndex,!!cell);}},__WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('i',{className:'iconfont icon-gouxuan '+(!!cell?'color-green':'color-grey-eb')+' font-16 mr5'})));});return __WEBPACK_IMPORTED_MODULE_2_react___default.a.createElement('tr',{className:'sustainLine editTd'},cells);})));}}]);return SelectTable;}(__WEBPACK_IMPORTED_MODULE_2_react__["Component"]);/* harmony default export */ __webpack_exports__["a"] = (SelectTable); /***/ }), /***/ 4668: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames__ = __webpack_require__(3); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_classnames__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_axios__ = __webpack_require__(12); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_axios__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__SelectTable__ = __webpack_require__(3130); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_immutability_helper__ = __webpack_require__(1085); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_immutability_helper___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_immutability_helper__); var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor;};}();function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i<arr.length;i++){arr2[i]=arr[i];}return arr2;}else{return Array.from(arr);}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _possibleConstructorReturn(self,call){if(!self){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return call&&(typeof call==="object"||typeof call==="function")?call:self;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function, not "+typeof superClass);}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,enumerable:false,writable:true,configurable:true}});if(superClass)Object.setPrototypeOf?Object.setPrototypeOf(subClass,superClass):subClass.__proto__=superClass;}var testState={"graduation_requirements":[{"id":1,"position":1,"content":"毕业要求一"},{"id":2,"position":2,"content":"毕业要求二"}],"training_subitems":[{"id":1,"content":"培养目标一"},{"id":2,"content":"培养目标二"}],"requirement_support_objectives":[{"graduation_requirement_id":1,"training_subitem_id":1},{"graduation_requirement_id":2,"training_subitem_id":2}]};var RequirementVsObjective=function(_Component){_inherits(RequirementVsObjective,_Component);function RequirementVsObjective(props){_classCallCheck(this,RequirementVsObjective);var _this=_possibleConstructorReturn(this,(RequirementVsObjective.__proto__||Object.getPrototypeOf(RequirementVsObjective)).call(this,props));_this.init=function(){_this.graduationRequirementsIdIndexMap={};_this.trainingSubitemsIdIndexMap={};_this.state.graduation_requirements.forEach(function(item,index){_this.graduationRequirementsIdIndexMap[item.id]=index;});_this.state.training_subitems.forEach(function(item,index){// 对应table的列数 _this.trainingSubitemsIdIndexMap[item.id]=index+1;});var tableData=[];_this.state.graduation_requirements.forEach(function(item,index){tableData.push([item.content].concat(_toConsumableArray(Array(_this.state.training_subitems.length))));});_this.state.requirement_support_objectives.forEach(function(item){tableData[_this.graduationRequirementsIdIndexMap[item.graduation_requirement_id]][_this.trainingSubitemsIdIndexMap[item.training_subitem_id]]=true;});_this.setState({tableData:tableData});};_this.onCellClick=function(rowIndex,colIndex,select){console.log(rowIndex,colIndex,select);var ec_graduation_requirement_id=_this.state.graduation_requirements[rowIndex].id;var ec_training_subitem_id=_this.state.training_subitems[colIndex-1].id;var yearId=_this.props.match.params.yearId;var url='/ec_years/'+yearId+'/requirement_support_objectives.json';var method=select?__WEBPACK_IMPORTED_MODULE_2_axios___default.a.delete:__WEBPACK_IMPORTED_MODULE_2_axios___default.a.post;method(url,select?{params:{ec_graduation_requirement_id:ec_graduation_requirement_id,ec_training_subitem_id:ec_training_subitem_id}}:{ec_graduation_requirement_id:ec_graduation_requirement_id,ec_training_subitem_id:ec_training_subitem_id}).then(function(response){if(response.data.status==0){_this.setState(function(prevState){return{tableData:__WEBPACK_IMPORTED_MODULE_4_immutability_helper___default()(prevState.tableData,_defineProperty({},rowIndex,_defineProperty({},colIndex,{$set:select?false:true})))};});_this.props.showNotification((select?'取消':'选择')+'\u6210\u529F');}}).catch(function(e){});if(select){// 取消 }else{// 选择 }};_this.state={// ...testState };return _this;}_createClass(RequirementVsObjective,[{key:'componentDidMount',value:function componentDidMount(){var _this2=this;// this.init() // return; var yearId=this.props.match.params.yearId;var url='/ec_years/'+yearId+'/requirement_support_objectives.json';__WEBPACK_IMPORTED_MODULE_2_axios___default.a.get(url).then(function(response){if(response.data.graduation_requirements){_this2.setState(Object.assign({},response.data),function(){_this2.init();});}}).catch(function(e){});}},{key:'render',value:function render(){var _props=this.props,match=_props.match,history=_props.history,current_user=_props.current_user;var _state=this.state,tableData=_state.tableData,training_subitems=_state.training_subitems,graduation_requirements=_state.graduation_requirements,is_manager=_state.is_manager;var columns=training_subitems&&[['毕业要求','培养目标']].concat(_toConsumableArray(training_subitems.map(function(item){return item.content;})));var columnIdIndexMap={};console.log(columns,tableData);return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'educontent requirementVsObjective',style:{background:'#fff'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('ul',{className:'clearfix padding20-30 bor-bottom-greyE backgroundFFF',style:{'marginBottom':'0px'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('li',{className:'fl'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'font-18 courseSystem'},' \u6BD5\u4E1A\u8981\u6C42\u5BF9\u57F9\u517B\u76EE\u6807\u7684\u652F\u6491 '),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',null,__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'color-grey-9 mr10'},'\u7528\u77E9\u9635\u56FE\u7684\u5F62\u5F0F\u8BF4\u660E\u672C\u4E13\u4E1A\u6BD5\u4E1A\u8981\u6C42\u5BF9\u57F9\u517B\u76EE\u6807\u7684\u652F\u6491\u5173\u7CFB\uFF0C\u9F20\u6807\u5DE6\u952E\u5355\u51FB\u5355\u5143\u683C\u5373\u53EF'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{target:'_blank',href:'/forums/3531',className:'color-blue'},'\u67E5\u770B\u8BE6\u60C5'))),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a',{href:'/api/ec_years/'+this.props.yearId+'/requirement_support_objectives.xlsx',target:'_blank',className:'ant-btn ant-btn-primary color-white fr mt20'},'\u5BFC\u51FA\u77E9\u9635')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('div',{className:'padding20-30',style:{background:'#fff'}},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('p',{className:'clearfix mb20'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fl mr30'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'iconfont icon-gouxuan color-green font-16 mr5'}),'\u8868\u793A\u652F\u6491'),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('span',{className:'fl'},__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i',{className:'iconfont icon-gouxuan color-grey-eb font-16 mr5'}),'\u8868\u793A\u4E0D\u652F\u6491')),__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__SelectTable__["a" /* default */],{columns:columns,tableData:tableData,onCellClick:this.onCellClick})));}}]);return RequirementVsObjective;}(__WEBPACK_IMPORTED_MODULE_0_react__["Component"]);/* harmony default export */ __webpack_exports__["default"] = (RequirementVsObjective); /***/ }) });