app-base-react
Version:
react development common base package.
1 lines • 8.6 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var _spin=require("antd/lib/spin"),_spin2=_interopRequireDefault(_spin),_table=require("antd/lib/table"),_table2=_interopRequireDefault(_table),_button=require("antd/lib/button"),_button2=_interopRequireDefault(_button),_radio=require("antd/lib/radio"),_radio2=_interopRequireDefault(_radio),_popconfirm=require("antd/lib/popconfirm"),_popconfirm2=_interopRequireDefault(_popconfirm),_message2=require("antd/lib/message"),_message3=_interopRequireDefault(_message2),_input=require("antd/lib/input"),_input2=_interopRequireDefault(_input),_regenerator=require("babel-runtime/regenerator"),_regenerator2=_interopRequireDefault(_regenerator),_form=require("antd/lib/form"),_form2=_interopRequireDefault(_form),_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,a=arguments[t];for(r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},_slicedToArray=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e)){var r=t,a=[],n=!0,t=!1,i=void 0;try{for(var u,o=e[Symbol.iterator]();!(n=(u=o.next()).done)&&(a.push(u.value),!r||a.length!==r);n=!0);}catch(e){t=!0,i=e}finally{try{!n&&o.return&&o.return()}finally{if(t)throw i}}return a}throw new TypeError("Invalid attempt to destructure non-iterable instance")},_antd=(require("antd/lib/spin/style/css"),require("antd/lib/table/style/css"),require("antd/lib/button/style/css"),require("antd/lib/radio/style/css"),require("antd/lib/popconfirm/style/css"),require("antd/lib/message/style/css"),require("antd/lib/input/style/css"),require("antd/lib/form/style/css"),require("antd")),_react=require("react"),_react2=_interopRequireDefault(_react),_utilString=require("../../../library/util-string"),_utilString2=_interopRequireDefault(_utilString),_icons=require("@ant-design/icons"),_api=require("@/api"),api=_interopRequireWildcard(_api);function _interopRequireWildcard(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}function _asyncToGenerator(e){return function(){var o=e.apply(this,arguments);return new Promise(function(i,u){return function t(e,r){try{var a=o[e](r),n=a.value}catch(e){return void u(e)}if(!a.done)return Promise.resolve(n).then(function(e){t("next",e)},function(e){t("throw",e)});i(n)}("next")})}}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _objectWithoutProperties(e,t){var r,a={};for(r in e)0<=t.indexOf(r)||Object.prototype.hasOwnProperty.call(e,r)&&(a[r]=e[r]);return a}var EditableContext=_react2.default.createContext(null),url="DbvsConfig/",EditableRow=function(e){e.index;var e=_objectWithoutProperties(e,["index"]),t=_form2.default.useForm(),t=_slicedToArray(t,1)[0];return _react2.default.createElement(_form2.default,{form:t,component:!1},_react2.default.createElement(EditableContext.Provider,{value:t},_react2.default.createElement("tr",e)))},EditableCell=function(e){e.title;function r(){s(!d),_.setFieldsValue(_defineProperty({},u,o[u]))}function t(){return a.apply(this,arguments)}var a,n=e.editable,i=e.children,u=e.dataIndex,o=e.record,l=e.handleSave,e=_objectWithoutProperties(e,["title","editable","children","dataIndex","record","handleSave"]),c=(0,_react.useState)(!1),c=_slicedToArray(c,2),d=c[0],s=c[1],f=(0,_react.useRef)(null),_=(0,_react.useContext)(EditableContext),c=((0,_react.useEffect)(function(){d&&f.current.focus()},[d]),a=_asyncToGenerator(_regenerator2.default.mark(function e(){var t;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,_.validateFields();case 3:t=e.sent,r(),l(_extends({},o,t)),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),console.log("Save failed:",e.t0);case 11:case"end":return e.stop()}},e,void 0,[[0,8]])})),i);return n&&(c=d?_react2.default.createElement(_form2.default.Item,{name:u},_react2.default.createElement(_input2.default.TextArea,{rows:4,ref:f,onPressEnter:t,onBlur:t})):_react2.default.createElement("div",{onClick:r},i[1]?i:_react2.default.createElement(_icons.EditOutlined,null))),_react2.default.createElement("td",e,c)},App=function(i){function e(){return t.apply(this,arguments)}function n(t){var e=[].concat(_toConsumableArray(s)),r=e.findIndex(function(e){return t.key===e.key}),a=e[r];e.splice(r,1,_extends({},a,t)),f(e)}var t,r=(0,_react.useState)(""),r=_slicedToArray(r,2),a=r[0],u=r[1],r=(0,_react.useState)(!0),r=_slicedToArray(r,2),o=r[0],l=r[1],r=(0,_react.useState)("表达式"),r=_slicedToArray(r,2),c=r[0],d=r[1],r=(0,_react.useState)([]),r=_slicedToArray(r,2),s=r[0],f=r[1],r=(0,_react.useState)(void 0),r=_slicedToArray(r,2),_=r[0],p=r[1],m=((0,_react.useEffect)(function(){i.params&&api.get(url+"getList",i.params,function(e){l(!1),e.success?Array.isArray(e.data)&&0<e.data.length?(f(JSON.parse(e.data[0].dataSource)),p(e.data[0].id),i.type&&d(e.data[0].type),i.express&&u(e.data[0].expression)):m():_message3.default.error(e.msg)})},[]),function(){if(Array.isArray(i.defaultColumns)){var e=[],r={};if(i.defaultColumns.map(function(e,t){r[y(t+1)]=e}),e.push(r),i.row)if(Array.isArray(i.row))for(var t=0;t<i.row.length;t++){var a=_extends({},i.row[t]);a.key=_utilString2.default.uuid(),e.push(a)}else for(var n=1;n<=i.row;n++)!function(){var r={};r.key=_utilString2.default.uuid(),i.defaultColumns.map(function(e,t){r[y(t+1)]=""}),e.push(r)}();f(e)}}),y=function(e){for(var t="";0<e;){var r=0===(r=e%26)?26:r,t=String.fromCharCode(96+parseInt(r))+t;e=(e-r)/26}return t},b=[],r=(Array.isArray(i.defaultColumns)&&i.defaultColumns.map(function(e,t){b.push({title:e,dataIndex:y(t+1),editable:!0,width:200})}),i.row||b.push({title:"操作",dataIndex:"operation",fixed:"right",width:100,render:function(e,r,t){return 0===t?"操作":_react2.default.createElement(_popconfirm2.default,{getPopupContainer:function(){return document.body},placement:"top",overlayStyle:{minHeight:"80px"},key:r.key,title:"确定要删除吗?",onConfirm:function(){var t,e;t=r.key,e=s.filter(function(e){return e.key!==t}),f(e)}},_react2.default.createElement("a",null,"删除"))}}),t=_asyncToGenerator(_regenerator2.default.mark(function e(){var t;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:(t={}).id=_,t.dataSource=JSON.stringify(s),t.modular=i.params.modular,i.type&&(t.type=c),i.express&&(t.expression=a),api.post(url+"save",t).then(function(e){e.success?_message3.default.info(e.msg):_message3.default.error(e.msg)});case 7:case"end":return e.stop()}},e,void 0)})),{body:{row:EditableRow,cell:EditableCell}}),v=b.map(function(a,e){return a.editable?_extends({},a,{onCell:function(e,t){var r=!0;return 0==t&&i.disabled&&(r=!1),{record:e,editable:r=Array.isArray(i.row)&&0<t&&i.row[t-1]&&i.row[t-1].hasOwnProperty(a.dataIndex)&&i.disabled?!1:r,dataIndex:a.dataIndex,title:a.title,handleSave:n}}}):a});return _react2.default.createElement("div",{className:"app-admin"},_react2.default.createElement(_spin2.default,{spinning:o},_react2.default.createElement("div",{className:"form-edit"},i.type?_react2.default.createElement(_radio2.default.Group,{style:{marginBottom:"10px"},onChange:function(e){d(e.target.value)},value:c},_react2.default.createElement(_radio2.default,{value:"表达式"},"表达式"),_react2.default.createElement(_radio2.default,{value:"数据源"},"数据源")):"",i.express?_react2.default.createElement(_input2.default.TextArea,{rows:4,onChange:function(e){u(e.target.value)},value:a,placeholder:"请输入表达式"}):"",i.row?"":_react2.default.createElement(_button2.default,{onClick:function(){var t={};t.key=_utilString2.default.uuid(),b.map(function(e){t[e.dataIndex]=""}),f([].concat(_toConsumableArray(s),[t]))},type:"primary",style:{marginTop:15}},"新增行"),i.defaultColumns?_react2.default.createElement("div",{className:"form-content",style:{height:i.height-(i.h||175)}},_react2.default.createElement(_table2.default,{showHeader:!1,components:r,rowClassName:function(){return"editable-row"},bordered:!0,dataSource:s,columns:v,pagination:!1,scroll:{x:600}})):"",_react2.default.createElement("div",{className:"form-toolbar"},_react2.default.createElement(_button2.default,{className:"btn-submit",onClick:e},_react2.default.createElement("i",{className:"iconfont icon-sumit"}),"保存")))))};exports.default=App;