app-base-react
Version:
react development common base package.
1 lines • 10.5 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var _modal=require("antd/lib/modal"),_modal2=_interopRequireDefault(_modal),_table=require("antd/lib/table"),_table2=_interopRequireDefault(_table),_button=require("antd/lib/button"),_button2=_interopRequireDefault(_button),_popconfirm=require("antd/lib/popconfirm"),_popconfirm2=_interopRequireDefault(_popconfirm),_typography=require("antd/lib/typography"),_typography2=_interopRequireDefault(_typography),_regenerator=require("babel-runtime/regenerator"),_regenerator2=_interopRequireDefault(_regenerator),_message2=require("antd/lib/message"),_message3=_interopRequireDefault(_message2),_form=require("antd/lib/form"),_form2=_interopRequireDefault(_form),_input=require("antd/lib/input"),_input2=_interopRequireDefault(_input),_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,l=e[Symbol.iterator]();!(n=(u=l.next()).done)&&(a.push(u.value),!r||a.length!==r);n=!0);}catch(e){t=!0,i=e}finally{try{!n&&l.return&&l.return()}finally{if(t)throw i}}return a}throw new TypeError("Invalid attempt to destructure non-iterable instance")},_antd=(require("antd/lib/modal/style/css"),require("antd/lib/table/style/css"),require("antd/lib/button/style/css"),require("antd/lib/popconfirm/style/css"),require("antd/lib/typography/style/css"),require("antd/lib/message/style/css"),require("antd/lib/form/style/css"),require("antd/lib/input/style/css"),require("antd")),_react=require("react"),_react2=_interopRequireDefault(_react),_moment=require("../moment"),_moment2=_interopRequireDefault(_moment),_utilAxios=require("../util-axios"),_utilAxios2=_interopRequireDefault(_utilAxios),_utilDate=require("../util-date"),_utilDate2=_interopRequireDefault(_utilDate),_utilString=require("../util-string"),_utilString2=_interopRequireDefault(_utilString);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _asyncToGenerator(e){return function(){var l=e.apply(this,arguments);return new Promise(function(i,u){return function t(e,r){try{var a=l[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 _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 _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 EditableCell=function(e){var t=e.editing,r=e.dataIndex,a=e.title,n=e.inputType,i=(e.record,e.index,e.children),u=e.onSearch,l=e.disabled,e=_objectWithoutProperties(e,["editing","dataIndex","title","inputType","record","index","children","onSearch","disabled"]),n="search"===n?_react2.default.createElement(_input2.default.Search,{disabled:l,onSearch:function(e,t){return u(e,t)},enterButton:!0}):_react2.default.createElement(_input2.default,{disabled:l});return _react2.default.createElement("td",e,t?_react2.default.createElement(_form2.default.Item,{name:r,style:{margin:0},rules:[{required:"legal"!=r,message:"请输入"+a+"!"}]},n):i)},EditableTable=function(l){function r(e){return e.key===p}function a(e){return t.apply(this,arguments)}function e(){return u.apply(this,arguments)}var t,n,i,u,o=l.value?JSON.parse(l.value):[],s=l.disabled||!1,c=(l.company,_form2.default.useForm()),d=_slicedToArray(c,1)[0],c=(0,_react.useState)(o),o=_slicedToArray(c,2),_=o[0],f=o[1],c=(0,_react.useState)(""),o=_slicedToArray(c,2),p=o[0],m=o[1],c=(0,_react.useState)(!1),o=_slicedToArray(c,2),c=o[0],y=o[1],o=(0,_react.useState)(!1),o=_slicedToArray(o,2),b=o[0],g=o[1],o=_form2.default.useForm(),h=_slicedToArray(o,1)[0],v=(t=_asyncToGenerator(_regenerator2.default.mark(function e(t){var r,a;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=3;break}return _message3.default.info("请输入专利申请号"),e.abrupt("return");case 3:return y(!0),e.prev=4,e.next=7,x(t);case 7:if(r=e.sent,a={key:_utilString2.default.uuid(),num:r[0].application_num_sear,name:r[0].title_sear,type:r[0].patent_type_cn_stat,legal:r[0].patent_status_v3}){if(_.some(function(e){return e.num===a.num}))return _message3.default.error("专利申请号已存在,请勿重复添加"),e.abrupt("return");e.next=14}else e.next=15;break;case 14:d.setFieldsValue(a);case 15:e.next=20;break;case 17:e.prev=17,e.t0=e.catch(4),_message3.default.error("数据查询失败");case 20:return e.prev=20,y(!1),e.finish(20);case 23:case"end":return e.stop()}},e,void 0,[[4,17,20,23]])})),n=_asyncToGenerator(_regenerator2.default.mark(function e(a){var n;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,d.validateFields();case 3:n=e.sent,f(function(e){var t,e=[].concat(_toConsumableArray(e)),r=e.findIndex(function(e){return e.key===a});return-1<r?(t=e[r],e.splice(r,1,_extends({},t,n,{applyDay:_utilDate2.default.getDate(n.applyDay)}))):e.push(_extends({},n,{key:_utilString2.default.uuid()})),l.onChange(JSON.stringify(e)),e}),m(""),e.next=11;break;case 8:e.prev=8,e.t0=e.catch(0),console.log("Validate Failed:",e.t0);case 11:case"end":return e.stop()}},e,void 0,[[0,8]])})),function(e){return n.apply(this,arguments)}),x=(i=_asyncToGenerator(_regenerator2.default.mark(function e(t){var r;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return r={formatResult:!0,needPic:!1,offset:0,pageSize:50,requestCols:[{alias:"title_sear"},{alias:"application_num_sear"},{alias:"patent_type"},{alias:"patent_status"},{alias:"publication_date",sortType:"DESC",sortOrder:0}],searchExpre:"AN="+t},e.next=3,_utilAxios2.default.post(_utilAxios2.default.config().di2Path+"/ourchem/big/data/search",r).then(function(e){if(y(!1),e.success)try{if(e.data&&e.data.result&&0<e.data.result.length)return e.data.result;_message3.default.error("请输入正确的专利申请号")}catch(e){console.log("Validate Failed:",e)}else _message3.default.error(e.message||"请输入正确的专利申请号")});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}},e,void 0)})),function(e){return i.apply(this,arguments)}),o=(u=_asyncToGenerator(_regenerator2.default.mark(function e(){var t,r,a,n,i,u;return _regenerator2.default.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return y(!0),e.prev=1,e.next=4,h.validateFields();case 4:if(t=e.sent,0<(t=t.numList.split(/[\s,,]+/).filter(function(e){return""!==e.trim()})).length)return r=t.join(" or "),e.next=10,x(r);e.next=18;break;case 10:r=e.sent,a=new Set,u=r.filter(function(e){var t=!a.has(e.application_num_sear);return a.add(e.application_num_sear),e.application_num_sear&&t}),n=new Set,i=u.filter(function(t){var e=_.some(function(e){return e.num===t.application_num_sear}),r=n.has(t.application_num_sear);return n.add(t.application_num_sear),!e&&!r}).map(function(e){return{key:_utilString2.default.uuid(),num:e.application_num_sear,name:e.title_sear,type:e.patent_type_cn_stat,legal:e.patent_status_v3}}),0<(u=t.length-i.length)&&_message3.default.error("发现"+u+"条重复申请号,已自动过滤"),0<i.length&&f(function(e){e=[].concat(_toConsumableArray(e),_toConsumableArray(i));return l.onChange(JSON.stringify(e)),e});case 18:e.next=23;break;case 20:e.prev=20,e.t0=e.catch(1),console.error("批量新增失败:",e.t0);case 23:return e.prev=23,y(!1),g(!1),h.resetFields(),e.finish(23);case 28:case"end":return e.stop()}},e,void 0,[[1,20,23,28]])})),[{title:"序号",width:"4%",render:function(e,t,r){return r+1}},{title:"专利申请号",dataIndex:"num",width:"26%",editable:!0,disabled:s},{title:"专利名称",dataIndex:"name",width:"26%",editable:!0,disabled:s},{title:"专利类型",dataIndex:"type",width:"18%",editable:!0,disabled:s},{title:"法律状态",dataIndex:"legal",width:"18%",editable:!0,disabled:s}].concat(_toConsumableArray(s?[]:[{title:"操作",dataIndex:"operation",render:function(e,a){return r(a)?_react2.default.createElement("span",null,_react2.default.createElement(_typography2.default.Link,{onClick:function(){return v(a.key)},style:{marginRight:8}},"保存"),_react2.default.createElement(_popconfirm2.default,{title:"确认删除?",overlayStyle:{width:"150px"},getPopupContainer:function(e){return e||document.body},onConfirm:function(){return t=a.key,e=[].concat(_toConsumableArray(_)),r=e.findIndex(function(e){return t===e.key}),e.splice(r,1),f(e),l.onChange(JSON.stringify(e)),void m("");var t,e,r}},_react2.default.createElement("a",null,"删除"))):_react2.default.createElement(_typography2.default.Link,{disabled:""!==p,onClick:function(){return e=a,d.setFieldsValue(_extends({},e,{applyDay:(0,_moment2.default)(e.applyDay)})),void m(e.key);var e}},"编辑")}}])).map(function(t){return t.editable?_extends({},t,{onCell:function(e){return{record:e,inputType:"applyDay"===t.dataIndex?"date":"num"===t.dataIndex?"search":"text",dataIndex:t.dataIndex,title:t.title,editing:r(e),onSearch:a}}}):t}));return _react2.default.createElement("div",null,_react2.default.createElement(_form2.default,{form:d,component:!1},s?"":_react2.default.createElement(_react.Fragment,null,_react2.default.createElement(_button2.default,{onClick:function(){var e,t;p?_message3.default.info("请先保存当前记录!"):(e=[].concat(_toConsumableArray(_)),t={key:_utilString2.default.uuid(),num:"",name:"",type:"",legal:""},e.push(t),f(e),d.setFieldsValue(_extends({},t)),m(t.key))},style:{marginBottom:"10px",marginRight:"10px"}},"新增"),_react2.default.createElement(_button2.default,{onClick:function(){g(!0)},style:{marginBottom:"10px"}},"批量新增")),_react2.default.createElement(_table2.default,{components:{body:{cell:EditableCell}},bordered:!0,dataSource:_,columns:o,rowClassName:"editable-row",pagination:!1})),_react2.default.createElement(_modal2.default,{title:"批量新增",visible:b,onOk:e,okButtonProps:{loading:c},onCancel:function(){g(!1)}},_react2.default.createElement(_form2.default,{form:h},_react2.default.createElement(_form2.default.Item,{name:"numList"},_react2.default.createElement(_input2.default.TextArea,{rows:8,placeholder:"请输入申请号,申请号之间请用逗号或换行隔开,单次最多批量导入50条数据,批量导入的数据将按公开日倒序返回"})))))};exports.default=EditableTable;