app-base-react
Version:
react development common base package.
1 lines • 22.6 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _inputNumber=require("antd/lib/input-number"),_inputNumber2=_interopRequireDefault(_inputNumber),_form=require("antd/lib/form"),_form2=_interopRequireDefault(_form),_badge=require("antd/lib/badge"),_badge2=_interopRequireDefault(_badge),_table=require("antd/lib/table"),_table2=_interopRequireDefault(_table),_input=require("antd/lib/input"),_input2=_interopRequireDefault(_input),_button=require("antd/lib/button"),_button2=_interopRequireDefault(_button),_row=require("antd/lib/row"),_row2=_interopRequireDefault(_row),_col=require("antd/lib/col"),_col2=_interopRequireDefault(_col),_regenerator=require("babel-runtime/regenerator"),_regenerator2=_interopRequireDefault(_regenerator),_message2=require("antd/lib/message"),_message3=_interopRequireDefault(_message2),_tabs=require("antd/lib/tabs"),_tabs2=_interopRequireDefault(_tabs),_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a,r=arguments[t];for(a in r)Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a])}return e},_createClass=function(){function r(e,t){for(var a=0;a<t.length;a++){var r=t[a];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(e,t,a){return t&&r(e.prototype,t),a&&r(e,a),e}}(),_antd=(require("antd/lib/input-number/style/css"),require("antd/lib/form/style/css"),require("antd/lib/badge/style/css"),require("antd/lib/table/style/css"),require("antd/lib/input/style/css"),require("antd/lib/button/style/css"),require("antd/lib/row/style/css"),require("antd/lib/col/style/css"),require("antd/lib/message/style/css"),require("antd/lib/tabs/style/css"),require("antd")),_react=require("react"),_react2=_interopRequireDefault(_react),_dic=require("../../library/dic"),_dic2=_interopRequireDefault(_dic),_file=require("../../library/file"),_file2=_interopRequireDefault(_file),_jquery=require("../../library/jquery"),_jquery2=_interopRequireDefault(_jquery),_uploadCoverimg=require("../../library/upload-coverimg"),_uploadCoverimg2=_interopRequireDefault(_uploadCoverimg),_utilAxios=require("../../library/util-axios"),_utilAxios2=_interopRequireDefault(_utilAxios),_utilDate=require("../../library/util-date"),_utilDate2=_interopRequireDefault(_utilDate),_utilDic=require("../../library/util-dic"),_utilDic2=_interopRequireDefault(_utilDic),_utilModal=require("../../library/util-modal"),_utilModal2=_interopRequireDefault(_utilModal),_utilString=require("../../library/util-string"),_utilString2=_interopRequireDefault(_utilString),_wangEditor=require("../../library/wang-editor"),_wangEditor2=_interopRequireDefault(_wangEditor),_TrainChapterEdit=require("./components/TrainChapterEdit"),_TrainChapterEdit2=_interopRequireDefault(_TrainChapterEdit),_TrainChapterList=require("./components/TrainChapterList"),_TrainChapterList2=_interopRequireDefault(_TrainChapterList);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _asyncToGenerator(e){return function(){var u=e.apply(this,arguments);return new Promise(function(l,i){return function t(e,a){try{var r=u[e](a),n=r.value}catch(e){return void i(e)}if(!r.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});l(n)}("next")})}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var TabPane=_tabs2.default.TabPane,_appKey="91c04c4a031963d638a27f0e5eec61ea",_appSecret="e70813165e30",_accId="20200224",_token="2825b5a39ad98a325ddb1ff51fe75b50a672c5e9",_typeId="99562";function WyGetVideoMsg(t,a){var r=_utilString2.default.uuid(),n=(new Date).getTime();_utilAxios2.default.post("TrainSystem/getChecksum",{appSecret:_appSecret,nonce:r,curTime:n},function(e){e.success&&fetch("https://vcloud.163.com/app/vod/video/get",{method:"POST",mode:"cors",headers:{"Content-Type":"application/json",AppKey:_appKey,Nonce:r,CurTime:n,CheckSum:e.msg},body:JSON.stringify({vid:a})}).then(function(e){return e.json()}).then(function(e){t.setState({trainChapterFormValues:{videoUrl:e.ret.origUrl,memo:JSON.stringify(e.ret),vid:e.ret.vid}},function(){t.trainChapterEdit.set("uploadBtn","上传完成"),t.trainChapterEdit.set("videoUrl",e.ret.origUrl)})})})}function WySetUploader(t){var e=new Uploader({AppKey:_appKey,accid:_accId,token:_token,fileInputId:"fileInput1",fileUploadId:"fileUpload1"});e.on("select",function(e){console.log("已选择文件:"+e.fileName+",请点击上传按钮"),t.setState({trainChapterFormValues:{videoUrl:e.fileName}}),t.trainChapterEdit.set("videoUrl",e.fileName),t.trainChapterEdit.set("uploadBtn","0%"),t.trainChapterEdit.set("disabled",!1),(0,_jquery2.default)("#fileUpload1").click().css("display",""),t.trainChapterEdit.set("disabled",!0)}),e.on("progress",function(e){t.trainChapterEdit.set("uploadBtn",e.progress+"%")}),e.on("finished",function(e){}),e.on("error",function(e){_message3.default.error(e)}),e.on("getVid",function(e){WyGetVideoMsg(t,e)})}function onResetmulti(t){var a=_utilString2.default.uuid(),r=(new Date).getTime();_utilAxios2.default.post("TrainSystem/getChecksum",{appSecret:_appSecret,nonce:a,curTime:r},function(e){e.success&&fetch("https://vcloud.163.com/app/vod/transcode/resetmulti",{method:"POST",mode:"cors",headers:{"Content-Type":"application/json",AppKey:_appKey,Nonce:a,CurTime:r,CheckSum:e.msg},body:JSON.stringify({vids:[t],presetId:"104833720",userDefInfo:t+"转码成功!"})}).then(function(e){return e.json()}).then(function(e){})})}var title="培训视频",url="TrainCourse/",TrainCourseList=function(){function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.onChange=function(e,t,a){var r=n.state.params;r.pageSize=e.pageSize,r.pageIndex=e.current,n.onLoad(r)},n.onSearch=function(e){var t=n.state.params;t.name=e,n.onLoad(t)},n.onAdd=function(){var t={};Object.keys(n.state.values).forEach(function(e){return t[e]=void 0}),n.setState({showView:!1,showEdit:!0,values:t})},n.onEdit=function(e){var t=n;"2"==e.state?_message3.default.info("不能编辑已发布的记录!"):_utilAxios2.default.get(url+"getModel?id="+e.id,{},function(e){t.setState({showEdit:!0,showView:!1,values:e.data})})},n.onDel=function(){var t=n;0==t.state.selected.length?_message3.default.error("请选择记录!"):_utilModal2.default.confirm({content:"确定删除?",onOk:function(){_utilAxios2.default.delete(url+"delete?id="+t.state.selected).then(function(e){e.success?(_message3.default.info(e.msg),t.onLoad(t.state.params||{})):_message3.default.error(e.msg)})}})},n.onSave=function(e){var t=n;_utilAxios2.default.post(url+"save",e).then(function(e){e.success?(_message3.default.info(e.msg),t.onLoad(t.state.params||{},!0),t.onView(e.data)):_message3.default.error(e.msg)})},n.onSetState=function(e,t){var a=n;if(null==e){if(0==a.state.selected.length)return void _message3.default.error("请选择记录!");e=a.state.selected}_utilModal2.default.confirm({content:2==t?"确定发布?":"确定撤回?",okText:"确认",cancelText:"取消",onOk:function(){_utilAxios2.default.post(url+"setState?state="+t+"&id="+e+"&",{}).then(function(e){e.success?(_message3.default.info(e.msg),a.onLoad(a.state.params||{})):_message3.default.error(e.msg)})}})},n.state={params:{},data:[],pagination:{},loading:!1,selected:[],showView:!1,showEdit:!1,values:{}},n.columns=[{title:"状态",dataIndex:"state",width:100,render:function(e,t){return _react2.default.createElement("a",{className:"btn-detail",onClick:function(){return n.onView(t)}},_utilDic2.default.json("train","课程状态")[e])}},{title:"培训名称",dataIndex:"name",width:250,render:function(e,t){return _react2.default.createElement("a",{className:"btn-detail",onClick:function(){return n.onView(t)}},e)}},{title:"学习人数",dataIndex:"learnCount",width:100},{title:"创建人",dataIndex:"createUserName",width:100},{title:"审核人",dataIndex:"auditorName",width:100},{title:"审核时间",dataIndex:"auditTime",width:120,render:function(e,t){return _utilDate2.default.getDateTime(e)}},{title:"排序号",dataIndex:"ord",width:60}],n}var a,r;return _inherits(t,_react2.default.Component),_createClass(t,[{key:"componentDidMount",value:function(){this.onLoad(this.state.params)}},{key:"onLoad",value:(r=_asyncToGenerator(_regenerator2.default.mark(function e(t,a){var r,n;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this.setState({loading:!0}),e.next=3,_utilAxios2.default.get(url+"getList",t);case 3:r=e.sent,n={pageSizeOptions:["20","100","200","500","1000"],pageSize:t.pageSize||20,defaultPageSize:t.pageSize||20,showSizeChanger:!0,showQuickJumper:!0,total:r.total,showTotal:function(e){return"总记录 "+e+" "}},this.setState({loading:!1,showEdit:!!a,params:t,data:r.data,pagination:n});case 6:case"end":return e.stop()}},e,this)})),function(e,t){return r.apply(this,arguments)})},{key:"onView",value:(a=_asyncToGenerator(_regenerator2.default.mark(function e(t){var a,r;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,_utilAxios2.default.get(url+"getModel?id="+t.id);case 2:return a=e.sent,a=a.data,e.next=6,_utilAxios2.default.get("TrainChapter/getList",{courseId:t.id});case 6:r=e.sent,a.trainChapterList=r.data,a.trainChapterTotal=r.total,this.setState({showView:!0,showEdit:!1,values:a});case 10:case"end":return e.stop()}},e,this)})),function(e){return a.apply(this,arguments)})},{key:"render",value:function(){var a=this,e={scroll:{y:this.props.height-210},size:"middle",rowKey:"id",columns:this.columns,rowSelection:{selectedRowKeys:this.state.selected,onChange:function(e,t){a.setState({selected:e})}},rowClassName:function(e){return e.id===a.state.selectedRowId?"row-selected":""},onRow:function(t){return{onClick:function(e){a.setState({selectedRowId:t.id})}}},dataSource:this.state.data,pagination:this.state.pagination,loading:this.state.loading,onChange:this.onChange};return _react2.default.createElement("div",{className:"app-admin TrainCourseList"},_react2.default.createElement("div",{className:this.state.showView||this.state.showEdit?"hide":""},_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{className:"main-title"},_react2.default.createElement("i",{className:"iconfont icon-title"}),title)),_react2.default.createElement(_row2.default,{className:"main-toolbar"},_react2.default.createElement(_col2.default,{className:"text-left",xs:14},_react2.default.createElement(_button2.default,{className:"btn-add",onClick:this.onAdd},_react2.default.createElement("i",{className:"iconfont icon-add"}),"录入"),_react2.default.createElement(_button2.default,{className:"btn-del",onClick:this.onDel},_react2.default.createElement("i",{className:"iconfont icon-del"}),"删除"),_react2.default.createElement(_button2.default,{onClick:function(){return a.onSetState(null,2)},className:"btn-pass"},_react2.default.createElement("i",{className:"iconfont icon-pass"}),"发布"),_react2.default.createElement(_button2.default,{onClick:function(){return a.onSetState(null,1)},className:"btn-nopass"},_react2.default.createElement("i",{className:"iconfont icon-nopass"}),"撤回")),_react2.default.createElement(_col2.default,{className:"text-right",style:{paddingRight:"8px",textAlign:"left"},xs:4},_react2.default.createElement(_dic2.default,{placeholder:"请选择状态",style:{width:"100%"},params:{app:"train",type:"课程状态"},onChange:function(e){var t=a.state.params;t.state=e,a.setState({params:t}),a.onLoad(a.state.params)}})),_react2.default.createElement(_col2.default,{className:"text-right",xs:6},_react2.default.createElement(_input2.default.Search,{placeholder:"请输入培训名称",onSearch:function(e){return a.onSearch(e)},enterButton:!0}))),_react2.default.createElement(_table2.default,e)),this.state.showView?_react2.default.createElement(FormView,{height:this.props.height-140,values:this.state.values,onEdit:this.onEdit,onReturn:function(){a.setState({showView:!1})}}):"",this.state.showEdit?_react2.default.createElement(FormEdit,{height:this.props.height-140,values:this.state.values,onSave:this.onSave,onCancel:function(){a.setState({showEdit:!1})},onEditReturn:function(){a.setState({showEdit:!1,showView:!0})}}):"")}}]),t}(),FormView=(exports.default=TrainCourseList,function(){function a(e){_classCallCheck(this,a);var t=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this,e));return t.onRef=function(e){t.trainChapterEdit=e},t.TrainChapter={onAdd:function(e){if("2"==e.props.values.state)_message3.default.info("不能编辑已发布的记录!");else{var t,a=e.state.trainChapterFormValues;for(t in a)a[t]=void 0;a.systemId=e.props.values.systemId,a.courseId=e.props.values.id,e.setState({isEdit:!0,trainChapterFormValues:a,trainChapterFormKey:_utilString2.default.uuid()},function(){WySetUploader(e)})}},onEdit:function(e,t){"2"==e.props.values.state?_message3.default.info("不能编辑已发布的记录!"):(t=(e.state.trainChapterList||e.props.values.trainChapterList)[t],e.setState({isEdit:!0,trainChapterFormValues:t,trainChapterFormKey:_utilString2.default.uuid()},function(){WySetUploader(e)}))},onSave:function(t,a){a.courseId=t.props.values.id,t.state.trainChapterFormValues.videoUrl&&(a.videoUrl=t.state.trainChapterFormValues.videoUrl,a.memo=t.state.trainChapterFormValues.memo,a.vid=t.state.trainChapterFormValues.vid),_utilAxios2.default.post("TrainChapter/save",a).then(function(e){_utilAxios2.default.get("TrainChapter/getList",{courseId:t.props.values.id},function(e){t.setState({isEdit:!1,trainChapterTotal:e.total,trainChapterList:e.data})}),a.videoUrl&&a.videoUrl.indexOf("shd.mp4")<0&&onResetmulti(a.vid)})},onDel:function(t){"2"==t.props.values.state?_message3.default.info("不能编辑已发布的记录!"):_utilAxios2.default.get("TrainChapter/getList",{courseId:t.props.values.id},function(e){t.setState({isEdit:!1,trainChapterTotal:e.total,trainChapterList:e.data})})},onCancel:function(t){_utilAxios2.default.get("TrainChapter/getList",{courseId:t.props.values.id},function(e){t.setState({isEdit:!1,trainChapterTotal:e.total,trainChapterList:e.data})})}},t.state={tab:"trainCourse",isEdit:!1,trainChapterFormValues:{videoUrl:null},trainChapterFormKey:"trainChapter-form-key",trainChapterList:void 0,trainChapterTotal:0},t}return _inherits(a,_react2.default.Component),_createClass(a,[{key:"onChangeTab",value:function(e){this.setState({tab:e,isEdit:!1})}},{key:"render",value:function(){var t=this,e=this.state.trainChapterList||this.props.values.trainChapterList,a=this.state.trainChapterTotal||this.props.values.trainChapterTotal;return _react2.default.createElement(_form2.default,{className:"form-view"},_react2.default.createElement("div",{className:"form-title"},_react2.default.createElement("i",null," ",this.props.values.name," ",_react2.default.createElement("i",null,this.props.values.num)," "),_react2.default.createElement("span",null,_react2.default.createElement(_button2.default,{className:"trainCourse"==this.state.tab?"btn-edit show":"hide",type:"primary",onClick:function(e){t.props.onEdit(t.props.values)}},_react2.default.createElement("i",{className:"iconfont icon-edit"}," "),"编辑课程"),_react2.default.createElement(_button2.default,{className:"trainChapter"==this.state.tab&&0==this.state.isEdit?"btn-add show":"hide",onClick:function(){t.TrainChapter.onAdd(t)}},_react2.default.createElement("i",{className:"iconfont icon-add"},"新增章节")))),_react2.default.createElement(_tabs2.default,{onChange:this.onChangeTab.bind(this),animated:!1,tabBarGutter:0},_react2.default.createElement(TabPane,{key:"trainCourse",tab:_react2.default.createElement("span",null,"培训信息")},_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{span:6},_react2.default.createElement("label",null,"状态"),_react2.default.createElement("span",null,_utilDic2.default.json("train","课程状态")[String(this.props.values.state)]))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{span:24},_react2.default.createElement("label",null,"培训名称"),_react2.default.createElement("span",null,this.props.values.name))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{span:12},_react2.default.createElement("label",null,"培训材料"),_react2.default.createElement("span",null,_react2.default.createElement(_file2.default,{multiple:!0,fileList:this.props.values.fileUrl,hide:"true"})))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{span:12},_react2.default.createElement("label",null,"缩略图"),_react2.default.createElement("span",null,_react2.default.createElement(_file2.default,{fileList:this.props.values.picUrl,hide:"true"})))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:24},_react2.default.createElement("label",null,"培训介绍"),_react2.default.createElement("div",{style:{border:"0px solid #d9d9d9",borderRadius:"2px",background:"#fbfbfb"},className:"editor-content-view",dangerouslySetInnerHTML:{__html:this.props.values.detail}}))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{span:6},_react2.default.createElement("label",null,"排序号"),_react2.default.createElement("span",null,this.props.values.ord))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{className:"form-toolbar",style:{width:"100%"}},_react2.default.createElement(_button2.default,{onClick:this.props.onReturn},_react2.default.createElement("i",{className:"iconfont icon-return"}),"返回列表")))),_react2.default.createElement(TabPane,{key:"trainChapter",tab:_react2.default.createElement(_badge2.default,{style:{backgroundColor:"#52c41a"},count:a},_react2.default.createElement("span",null,"章节信息"))},_react2.default.createElement(_row2.default,{className:this.state.isEdit?"hide":""},_react2.default.createElement(_col2.default,{xs:24},_react2.default.createElement(_TrainChapterList2.default,{courseId:this.props.values.id,data:e,total:a,onEdit:function(e){t.TrainChapter.onEdit(t,e)},onReturn:function(){t.props.onReturn()}}))),_react2.default.createElement(_row2.default,{className:this.state.isEdit?"":"hide"},_react2.default.createElement(_TrainChapterEdit2.default,{onRef:this.onRef,values:this.state.trainChapterFormValues,key:this.state.trainChapterFormKey,onSave:function(e){t.TrainChapter.onSave(t,e)},onCancel:function(){t.TrainChapter.onCancel(t)},onDel:function(){t.TrainChapter.onDel(t)}})))))}}]),a}()),FormEdit=function(){function a(e){_classCallCheck(this,a);var t=_possibleConstructorReturn(this,(a.__proto__||Object.getPrototypeOf(a)).call(this,e));return t.onSave=function(e){e.id=t.state.id,e.detail=t.state.detail,t.props.onSave(e)},t.onChangeUeContent=function(e){t.state.detail=e},t.onChangeUeImage=function(n){return new Promise(function(t,e){var a=n.target.files[0],r=new FormData;r.append("file",a),fetch("https://fastdfs.7ipr.com/ipr/fastdfs/upload",{method:"POST",body:r}).then(function(e){return e.json()}).then(function(e){e=e.data;t(e)})})},t.state=_extends({},e.values),t}return _inherits(a,_react2.default.Component),_createClass(a,[{key:"render",value:function(){var t=this;return _react2.default.createElement(_form2.default,{ref:this.formRef,className:"form-edit",layout:"vertical",onFinish:this.onSave},_react2.default.createElement("div",{className:"form-title"},_react2.default.createElement("i",null," ",title," - ",this.state.id?"编辑":"录入"),this.state.id?_react2.default.createElement("span",null,_react2.default.createElement(_button2.default,{className:"btn-return",onClick:this.props.onEditReturn},_react2.default.createElement("i",{className:"iconfont icon-return"}),"返回")):""),_react2.default.createElement("div",{className:"form-content",style:{height:this.props.height}},_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:12},_react2.default.createElement(_form2.default.Item,{name:"name",label:"培训名称",initialValue:this.state.name,rules:[{required:!0,message:"请输入培训名称"}]},_react2.default.createElement(_input2.default,null)))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:24},_react2.default.createElement(_form2.default.Item,{name:"fileUrl",label:"培训材料",initialValue:this.state.fileUrl,valuePropName:"fileList"},_react2.default.createElement(_file2.default,{multiple:!0,onChange:function(e){t.setState({fileUrl:e})},serverPath:_utilAxios2.default.serverPath})))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:24},_react2.default.createElement(_form2.default.Item,{label:"缩略图",name:"picUrl",initialValue:this.state.picUrl},_react2.default.createElement(_uploadCoverimg2.default,null)))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:24},_react2.default.createElement(_form2.default.Item,{name:"detail",label:"培训介绍",initialValue:this.state.detail},_react2.default.createElement(_wangEditor2.default,{css:{height:"200px"},uploadPath:_utilAxios2.default.uploadPath,onChange:this.onChangeUeContent})))),_react2.default.createElement(_row2.default,null,_react2.default.createElement(_col2.default,{xs:6},_react2.default.createElement(_form2.default.Item,{name:"ord",label:"排序号",initialValue:this.state.ord},_react2.default.createElement(_inputNumber2.default,{style:{width:"100%"},min:0,max:99999999}))))),_react2.default.createElement("div",{className:"form-toolbar"},_react2.default.createElement(_button2.default,{className:"btn-cancel",onClick:this.props.onCancel},_react2.default.createElement("i",{className:"iconfont icon-cancel"}),"取消"),_react2.default.createElement(_button2.default,{className:"btn-submit",htmlType:"submit"},_react2.default.createElement("i",{className:"iconfont icon-submit"}),"提交")))}}]),a}();