myTaskCount.jsx 75 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202
  1. import React from 'react';
  2. import {
  3. Button,
  4. Input,
  5. Spin,
  6. Table,
  7. message,
  8. DatePicker,
  9. Upload,
  10. Form,
  11. Modal,
  12. Select,
  13. Tabs,
  14. Tag
  15. } from "antd";
  16. import $ from 'jquery/src/ajax';
  17. import moment from 'moment';
  18. import ResolutionDetail from "@/resolutionDetail";
  19. import {
  20. getLiquidationStatus,
  21. getProcessStatus,
  22. splitUrl,
  23. getboutique,
  24. getTaskStatus,
  25. getApproval,
  26. getprovince,
  27. getProjectStatus
  28. } from "@/tools.js";
  29. import {ChooseList} from "../../order/orderNew/chooseList";
  30. import PatentSchedule from './patentSchedule';
  31. const { TabPane } = Tabs
  32. const MyTaskCount = Form.create()(
  33. React.createClass({
  34. departmentList() {
  35. $.ajax({
  36. method: "get",
  37. dataType: "json",
  38. crossDomain: false,
  39. url: globalConfig.context + "/api/admin/organization/selectSuperId",
  40. data: {},
  41. success: function(data) {
  42. let thedata = data.data;
  43. let theArr = [];
  44. if (!thedata) {
  45. if (data.error && data.error.length) {
  46. message.warning(data.error[0].message);
  47. }
  48. } else {
  49. thedata.map(function(item, index) {
  50. theArr.push({
  51. key: index,
  52. name: item.name,
  53. id: item.id
  54. });
  55. });
  56. }
  57. this.setState({
  58. departmentArr: theArr
  59. });
  60. }.bind(this)
  61. }).always(
  62. function() {
  63. }.bind(this)
  64. );
  65. },
  66. loadData(pageNo) {
  67. this.setState({
  68. visitModul: false,
  69. loading: true,
  70. ispage: pageNo,
  71. modalVisible: false
  72. });
  73. let nameText = this.state.SuperArr;
  74. let superText =
  75. this.state.cid && typeof this.state.cid != "object"
  76. ? nameText[parseInt(this.state.cid)].id
  77. : "";
  78. if (superText) {
  79. $.ajax({
  80. method: "get",
  81. dataType: "json",
  82. crossDomain: false,
  83. url: globalConfig.context + "/api/admin/orderProject/taskHoursList",
  84. data: {
  85. pageNo: pageNo || 1,
  86. pageSize: this.state.pagination.pageSize,
  87. name: this.state.customerName, //名称
  88. taskId: this.state.idSearch, //订单编号
  89. orderNo: this.state.orderNoSearch,
  90. starTime: this.state.releaseDate[0], //开始时间
  91. endTime: this.state.releaseDate[1], //结束时间
  92. contractNo: this.state.contractNoSearch,
  93. cid: superText, //业务分类
  94. depId: this.state.departmenttList, //部门ID
  95. outsource: this.state.outsourceSearch
  96. },
  97. success: function(data) {
  98. let theArr = [];
  99. if (data.error.length || data.data.list == "") {
  100. if (data.error && data.error.length) {
  101. message.warning(data.error[0].message);
  102. }
  103. } else {
  104. for (let i = 0; i < data.data.list.length; i++) {
  105. let thisdata = data.data.list[i];
  106. theArr.push({
  107. key: i,
  108. id: thisdata.id, //ID
  109. orderNo: thisdata.orderNo, //订单编号
  110. taskName: thisdata.taskName, //任务名称
  111. userName: thisdata.userName, //客户名称
  112. cname: thisdata.cname, //项目品类
  113. taskStatus: thisdata.taskStatus, //任务状态
  114. receiverName: thisdata.receiverName, //负责人
  115. hours: thisdata.hours, //任务工时
  116. depName: thisdata.depName, //派单公司
  117. contractNo: thisdata.contractNo,
  118. signTime: thisdata.signTime,
  119. creteTime: thisdata.creteTime,
  120. projectStatus: thisdata.projectStatus,
  121. commodityPrice: thisdata.commodityPrice, //价格
  122. commodityQuantity: thisdata.commodityQuantity, //数量
  123. salesmanName: thisdata.salesmanName, //订单负责人
  124. taskDistributionTime: thisdata.taskDistributionTime,
  125. taskEndTime: thisdata.taskEndTime,
  126. outsource: thisdata.outsource,
  127. splitStatus: thisdata.splitStatus,
  128. splitSuper: thisdata.splitSuper,
  129. splitId: thisdata.splitId
  130. });
  131. }
  132. this.state.pagination.total = data.data.totalCount;
  133. }
  134. if (data.data && data.data.list && !data.data.list.length) {
  135. this.state.pagination.total = 0;
  136. }
  137. this.setState({
  138. dataSource: theArr,
  139. pageNo: pageNo,
  140. pagination: this.state.pagination,
  141. selectedRowKeys: []
  142. });
  143. }.bind(this)
  144. }).always(
  145. function() {
  146. this.setState({
  147. loading: false
  148. });
  149. }.bind(this)
  150. );
  151. } else {
  152. $.ajax({
  153. method: "get",
  154. dataType: "json",
  155. crossDomain: false,
  156. url: globalConfig.context + "/api/admin/orderProject/taskHoursList",
  157. data: {
  158. pageNo: pageNo || 1,
  159. pageSize: this.state.pagination.pageSize,
  160. name: this.state.customerName, //名称
  161. taskId: this.state.idSearch, //订单编号
  162. orderNo: this.state.orderNoSearch,
  163. starTime: this.state.releaseDate[0], //开始时间
  164. endTime: this.state.releaseDate[1], //结束时间
  165. contractNo: this.state.contractNoSearch,
  166. depId: this.state.departmenttList, //部门ID
  167. outsource: this.state.outsourceSearch
  168. },
  169. success: function(data) {
  170. let theArr = [];
  171. if (data.error.length || data.data.list == "") {
  172. if (data.error && data.error.length) {
  173. message.warning(data.error[0].message);
  174. }
  175. } else {
  176. for (let i = 0; i < data.data.list.length; i++) {
  177. let thisdata = data.data.list[i];
  178. thisdata.key = i;
  179. theArr.push(thisdata);
  180. }
  181. this.state.pagination.total = data.data.totalCount;
  182. }
  183. if (data.data && data.data.list && !data.data.list.length) {
  184. this.state.pagination.total = 0;
  185. }
  186. this.setState({
  187. dataSource: theArr,
  188. pageNo: pageNo,
  189. pagination: this.state.pagination,
  190. selectedRowKeys: []
  191. });
  192. }.bind(this)
  193. }).always(
  194. function() {
  195. this.setState({
  196. loading: false
  197. });
  198. }.bind(this)
  199. );
  200. }
  201. },
  202. getInitialState() {
  203. return {
  204. loading: false,
  205. page: 1,
  206. releaseDate: [],
  207. selectedRowKeys: [],
  208. orgCodeUrl: [],
  209. paginations: false,
  210. pagination: {
  211. defaultCurrent: 1,
  212. defaultPageSize: 10,
  213. showQuickJumper: true,
  214. pageSize: 10,
  215. onChange: function(page) {
  216. this.loadData(page);
  217. }.bind(this),
  218. showTotal: function(total) {
  219. return "共" + total + "条数据";
  220. }
  221. },
  222. columns: [
  223. {
  224. title: "合同编号",
  225. dataIndex: "contractNo",
  226. key: "contractNo"
  227. },
  228. {
  229. title: "订单编号",
  230. dataIndex: "orderNo",
  231. key: "orderNo"
  232. },
  233. {
  234. title: "项目编号",
  235. dataIndex: "id",
  236. key: "id",
  237. render: (text, record) => {
  238. if (record.splitStatus == 2) {
  239. return <span>{record.splitSuper + "-" + record.splitId}</span>;
  240. } else {
  241. return text;
  242. }
  243. }
  244. },
  245. {
  246. title: "客户名称",
  247. dataIndex: "userName",
  248. key: "userName",
  249. render: text => {
  250. return text && text.length > 9 ? text.substr(0, 9) + "..." : text;
  251. }
  252. },
  253. {
  254. title: "订单部门",
  255. dataIndex: "depName",
  256. key: "depName"
  257. },
  258. {
  259. title: "订单负责人",
  260. dataIndex: "salesmanName",
  261. key: "salesmanName"
  262. },
  263. {
  264. title: "项目类别",
  265. dataIndex: "cname",
  266. key: "cname"
  267. },
  268. {
  269. title: "项目名称",
  270. dataIndex: "taskName",
  271. key: "taskName"
  272. },
  273. {
  274. title: "项目负责人",
  275. dataIndex: "receiverName",
  276. key: "receiverName"
  277. },
  278. {
  279. title: "项目价格(万元)",
  280. dataIndex: "commodityPrice",
  281. key: "commodityPrice"
  282. },
  283. {
  284. title: "实际成本(万元)",
  285. dataIndex: "costAmount",
  286. key: "costAmount"
  287. },
  288. {
  289. title: "已付成本(万元)",
  290. dataIndex: "partyAmount",
  291. key: "partyAmount"
  292. },
  293. {
  294. title: "数量(个)",
  295. dataIndex: "commodityQuantity",
  296. key: "commodityQuantity"
  297. },
  298. {
  299. title: "任务状态",
  300. dataIndex: "taskStatus",
  301. key: "taskStatus",
  302. render: text => {
  303. return getTaskStatus(text);
  304. }
  305. },
  306. {
  307. title: "项目状态",
  308. dataIndex: "projectStatus",
  309. key: "projectStatus",
  310. render: text => {
  311. return getProjectStatus(text);
  312. }
  313. },
  314. {
  315. title: "工时",
  316. dataIndex: "hours",
  317. key: "hours"
  318. },
  319. {
  320. title: "是否外包",
  321. dataIndex: "outsource",
  322. key: "outsource",
  323. render: text => {
  324. if (text == 0) {
  325. return "否";
  326. } else if (text == 1) {
  327. return "是";
  328. }
  329. }
  330. },
  331. {
  332. title: "签单日期",
  333. dataIndex: "signTime",
  334. key: "signTime"
  335. },
  336. {
  337. title: "派单日期",
  338. dataIndex: "creteTime",
  339. key: "creteTime"
  340. },
  341. {
  342. title: "分配时间",
  343. dataIndex: "taskDistributionTime",
  344. key: "taskDistributionTime"
  345. },
  346. {
  347. title: "完成时间",
  348. dataIndex: "taskEndTime",
  349. key: "taskEndTime"
  350. }
  351. ],
  352. data: [],
  353. dataSource: [],
  354. columnsX: [
  355. {
  356. title: "业务项目名称",
  357. dataIndex: "commodityName",
  358. key: "commodityName"
  359. },
  360. {
  361. title: "项目类别",
  362. dataIndex: "cname",
  363. key: "cname"
  364. },
  365. {
  366. title: "项目数量",
  367. dataIndex: "commodityQuantity",
  368. key: "commodityQuantity",
  369. render: (text, record) => {
  370. if (record.splitStatus == 1) {
  371. return (
  372. <span>
  373. {text}{" "}
  374. <Tag
  375. color="#108ee9"
  376. onClick={e => {
  377. e.stopPropagation();
  378. this.showRes(record);
  379. }}
  380. >
  381. 已拆
  382. </Tag>
  383. </span>
  384. );
  385. } else {
  386. return text;
  387. }
  388. }
  389. },
  390. {
  391. title: "金额(万元)",
  392. dataIndex: "commodityPrice",
  393. key: "commodityPrice"
  394. },
  395. {
  396. title: "负责人",
  397. dataIndex: "contacts",
  398. key: "contacts"
  399. },
  400. {
  401. title: "负责人电话",
  402. dataIndex: "contactsMobile",
  403. key: "contactsMobile"
  404. },
  405. {
  406. title: "主要项目",
  407. dataIndex: "main",
  408. key: "main",
  409. render: text => {
  410. return text ? "是" : "否";
  411. }
  412. },
  413. {
  414. title: "项目说明",
  415. dataIndex: "taskComment",
  416. key: "taskComment",
  417. render: text => {
  418. return text && text.length > 8 ? text.substr(0, 8) + "…" : text;
  419. }
  420. }
  421. ],
  422. columnsA: [
  423. {
  424. title: "流程",
  425. dataIndex: "content",
  426. key: "content",
  427. align: "center"
  428. },
  429. {
  430. title: "操作人",
  431. dataIndex: "aName",
  432. key: "aName",
  433. align: "center"
  434. },
  435. {
  436. title: "时间",
  437. dataIndex: "createTimes",
  438. key: "createTimes",
  439. align: "center"
  440. }
  441. ],
  442. dataSourceX: [],
  443. dataSourceA: [],
  444. ContactsLists: [
  445. {
  446. title: "批次",
  447. dataIndex: "num",
  448. key: "num"
  449. },
  450. {
  451. title: "下证时间",
  452. dataIndex: "licenceTimes",
  453. key: "licenceTimes"
  454. },
  455. {
  456. title: "下证数量",
  457. dataIndex: "alreadyNumber",
  458. key: "alreadyNumber"
  459. },
  460. {
  461. title: "未下证数量",
  462. dataIndex: "notCount",
  463. key: "notCount"
  464. }
  465. ]
  466. };
  467. },
  468. //页面加载函数
  469. componentWillMount() {
  470. this.loadData();
  471. this.selectSuperId();
  472. this.departmentList();
  473. },
  474. // //整行点击
  475. tableRowClick(record) {
  476. this.state.RowData = record;
  477. if (record.taskName.substring(0, 5) === "软件著作权") {
  478. this.setState({
  479. speVisible: true,
  480. id: record.id,
  481. splitStatus: record.splitStatus,
  482. splitSuper: record.splitSuper,
  483. splitId: record.splitId,
  484. dataArr: record,
  485. commodityQuantity: record.commodityQuantity
  486. });
  487. } else {
  488. this.setState({
  489. visible: true,
  490. splitStatus: record.splitStatus,
  491. splitSuper: record.splitSuper,
  492. splitId: record.splitId
  493. });
  494. }
  495. this.xiangqing(record.id, record.taskName);
  496. this.xiangqings(record.orderNo);
  497. this.xiangmu(record.orderNo);
  498. this.loaduserss(record);
  499. },
  500. //订单详情
  501. xiangqing(id) {
  502. $.ajax({
  503. method: "get",
  504. dataType: "json",
  505. crossDomain: false,
  506. url: globalConfig.context + "/api/admin/orderProject/orderTaskDetail",
  507. data: {
  508. id: id
  509. },
  510. success: function(data) {
  511. if (data.error.length || data.data.list == "") {
  512. if (data.error && data.error.length) {
  513. message.warning(data.error[0].message);
  514. }
  515. } else {
  516. let thisdata = data.data;
  517. this.setState({
  518. id: thisdata.id, //ID
  519. orderNo: thisdata.orderNo, //订单编号
  520. userName: thisdata.userName, //客户名称
  521. taskName: thisdata.taskName, //任务名称
  522. cname: thisdata.cname, //项目品类
  523. contractNo: thisdata.contractNo, //合同编号
  524. projectStatus: thisdata.projectStatus, //项目状态
  525. taskStatus: thisdata.taskStatus, //任务状态
  526. taskDate: thisdata.taskDate, //分配时间
  527. taskComment: thisdata.taskComment, //说明
  528. attachmentUrl: thisdata.attachmentUrl
  529. ? splitUrl(
  530. thisdata.attachmentUrl,
  531. ",",
  532. globalConfig.avatarHost + "/upload"
  533. )
  534. : [], //图片地址
  535. salesmanName: thisdata.salesmanName, //订单负责人
  536. startDate: thisdata.startDate, //启动日期
  537. endDate: thisdata.endDate, //结束日期
  538. acceptDate: thisdata.acceptDate, //受理日期
  539. reviewDate: thisdata.reviewDate, //评审日期
  540. publicityDate: thisdata.publicityDate, //公示日期
  541. licenceDate: thisdata.licenceDate, //发证日期
  542. contacts: thisdata.contacts, //联系人
  543. contactMobile: thisdata.contactMobile, //联系人电话
  544. legalPerson: thisdata.legalPerson, //法人
  545. legalPersonTel: thisdata.legalPersonTel, //法人电话
  546. certificateNumber: thisdata.certificateNumber, //证书编号
  547. status: thisdata.status, //状态
  548. formRetrieve: thisdata.formRetrieve, //满意度表格
  549. taskRefund: thisdata.taskRefund, //退单
  550. refundContent: thisdata.refundContent, //退单信息
  551. retrieveContent: thisdata.retrieveContent, //回收信息
  552. arrivalMoney: thisdata.arrivalMoney, //是否到款
  553. setUpAmount: thisdata.setUpAmount, //立项金额
  554. declareUser: thisdata.declareUser, //账号
  555. declarePwd: thisdata.declarePwd, //密码
  556. depName: thisdata.depName, //订单部门
  557. outsourceName: thisdata.outsourceName, //外包公司名称
  558. outsourcePrice: thisdata.outsourcePrice, //外包价格
  559. declarationBatch: thisdata.declarationBatch,
  560. bpType:thisdata.bpType,//0 正常 1专利 2软著 3审计 4双软 5高新 6商标
  561. specialComment: thisdata.specialComment,
  562. urgentDay: thisdata.urgentDay, //有无材料
  563. ifMaterial: thisdata.ifMaterial, //加急情况
  564. spotCheckStatus: thisdata.spotCheckStatus,
  565. setUpStatus: thisdata.setUpStatus,
  566. setUpTime: thisdata.setUpTime,
  567. highTechStatus: thisdata.highTechStatus,
  568. acceptCount:thisdata.acceptCount, //受理数
  569. certificatesCount:thisdata.certificatesCount, //授权数
  570. rejectCount:thisdata.rejectCount, //驳回数
  571. commodityQuantity:thisdata.commodityQuantity, //派单项目数
  572. });
  573. }
  574. }.bind(this)
  575. }).always(
  576. function() {
  577. this.setState({
  578. loading: false
  579. });
  580. }.bind(this)
  581. );
  582. },
  583. // 拆分详细
  584. showRes(record) {
  585. this.setState({
  586. resVisible: true,
  587. resRecord: record
  588. });
  589. },
  590. resCancel() {
  591. this.setState({
  592. resVisible: false
  593. });
  594. },
  595. //订单详情
  596. xiangqings(orderNos) {
  597. $.ajax({
  598. method: "get",
  599. dataType: "json",
  600. crossDomain: false,
  601. url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail",
  602. data: {
  603. orderNo: orderNos
  604. },
  605. success: function(data) {
  606. let thisdata = data.data;
  607. let ProvinceCityArr = [];
  608. let ProvinceS = thisdata.locationProvince; //省
  609. let citys = thisdata.locationCity; //市
  610. let Areas = thisdata.locationArea; //区
  611. ProvinceCityArr.push(ProvinceS, citys, Areas);
  612. if (data.error.length || data.data.list == "") {
  613. if (data.error && data.error.length) {
  614. message.warning(data.error[0].message);
  615. }
  616. } else {
  617. this.setState({
  618. processStatus: thisdata.processStatus, //流程状态
  619. liquidationStatus: thisdata.liquidationStatus, //结算状态
  620. approval: thisdata.approval, //特批状态
  621. orderRemarks: thisdata.orderRemarks, //订单留言
  622. salesmanName: thisdata.salesmanName, //营销员名称
  623. salesmanMobile: thisdata.salesmanMobile, //营销员电话
  624. financeName: thisdata.financeName, //财务名称
  625. financeMobile: thisdata.financeMobile, //财务电话
  626. depName: thisdata.depName, //订单部门
  627. locationProvince: thisdata.locationProvince,
  628. locationCity: thisdata.locationCity,
  629. locationArea: thisdata.locationArea,
  630. ProvinceCity: ProvinceCityArr,
  631. postalAddress: thisdata.postalAddress, //详细地址
  632. outsource: thisdata.outsource,
  633. });
  634. }
  635. }.bind(this)
  636. }).always(
  637. function() {
  638. this.setState({
  639. loading: false
  640. });
  641. }.bind(this)
  642. );
  643. },
  644. //查看下证信息
  645. loaduserss(record) {
  646. $.ajax({
  647. method: "get",
  648. dataType: "json",
  649. crossDomain: false,
  650. url:
  651. globalConfig.context + "/api/admin/orderProject/selectTaskProgress",
  652. data: {
  653. tid: record.id
  654. },
  655. success: function(data) {
  656. let theArr = [];
  657. let thisData = [];
  658. if (!thisData) {
  659. if (data.error && data.error.length) {
  660. message.warning(data.error[0].message);
  661. }
  662. thisData = {};
  663. } else {
  664. for (let i = 0; i < data.data.length; i++) {
  665. thisData = data.data[i];
  666. theArr.push({
  667. num: i + 1,
  668. key: i,
  669. id: thisData.id, //编号
  670. alreadyNumber: thisData.alreadyNumber, //下证数
  671. licenceTimes: thisData.licenceTimes, //下证时间
  672. notCount: thisData.notCount, //未下证数
  673. flag: true
  674. });
  675. }
  676. this.setState({
  677. contactList: theArr
  678. });
  679. }
  680. }.bind(this)
  681. }).always(
  682. function() {
  683. this.setState({
  684. loading: false
  685. });
  686. }.bind(this)
  687. );
  688. },
  689. caozuorizhi() {
  690. this.setState({
  691. visibleA: true
  692. });
  693. $.ajax({
  694. method: "get",
  695. dataType: "json",
  696. crossDomain: false,
  697. url: globalConfig.context + "/api/admin/orderProject/TaskLogList",
  698. data: {
  699. id: this.state.id
  700. },
  701. success: function(data) {
  702. let theArr = [];
  703. if (data.error.length || data.data.list == "") {
  704. if (data.error && data.error.length) {
  705. message.warning(data.error[0].message);
  706. }
  707. } else {
  708. for (let i = 0; i < data.data.length; i++) {
  709. let thisdata = data.data[i];
  710. theArr.push({
  711. key: i,
  712. id: thisdata.id, //日志ID
  713. content: thisdata.content, //流程
  714. taskId: thisdata.taskId, //任务ID
  715. aName: thisdata.aName, //负责人
  716. createTimes: thisdata.createTimes //时间
  717. });
  718. }
  719. }
  720. this.setState({
  721. dataSourceA: theArr
  722. });
  723. }.bind(this)
  724. }).always(
  725. function() {
  726. this.setState({
  727. loading: false
  728. });
  729. }.bind(this)
  730. );
  731. },
  732. //关闭操作工时
  733. visitCancelA() {
  734. this.setState({
  735. visibleA: false
  736. });
  737. },
  738. //项目列表
  739. xiangmu(orderNos) {
  740. $.ajax({
  741. method: "get",
  742. dataType: "json",
  743. crossDomain: false,
  744. url: globalConfig.context + "/api/admin/newOrder/getOrderTask",
  745. data: {
  746. orderNo: orderNos
  747. },
  748. success: function(data) {
  749. let theArr = [];
  750. if (data.error.length || data.data.list == "") {
  751. if (data.error && data.error.length) {
  752. message.warning(data.error[0].message);
  753. }
  754. } else {
  755. for (let i = 0; i < data.data.length; i++) {
  756. let thisdata = data.data[i];
  757. theArr.push({
  758. key: i,
  759. id: thisdata.id,
  760. orderNo: thisdata.orderNo, //订单编号
  761. commodityId: thisdata.commodityId, //项目ID
  762. commodityName: thisdata.commodityName, //项目名称
  763. cname: thisdata.cname, //项目类别
  764. commodityPrice: thisdata.commodityPrice, //项目价格
  765. commodityQuantity: thisdata.commodityQuantity, //项目数量
  766. main: thisdata.main, //是否为主要任务
  767. taskComment: thisdata.taskComment, //任务说明
  768. contacts: thisdata.contacts, //联系人
  769. contactsMobile: thisdata.contactsMobile, //联系人电话
  770. taskStatus: thisdata.taskStatus, //是否分配
  771. splitStatus: thisdata.splitStatus, //是否为子项目 2是 1主项目
  772. splitSuper: thisdata.splitSuper,
  773. splitId: thisdata.splitId
  774. });
  775. }
  776. }
  777. this.setState({
  778. dataSourceX: theArr
  779. });
  780. }.bind(this)
  781. }).always(
  782. function() {
  783. this.setState({
  784. loading: false
  785. });
  786. }.bind(this)
  787. );
  788. },
  789. //关闭输入理由框
  790. noCancel() {
  791. this.setState({
  792. noVisible: false
  793. });
  794. },
  795. //搜索
  796. search() {
  797. this.setState({
  798. //signBillVisible:false
  799. });
  800. this.loadData();
  801. },
  802. //重置
  803. reset() {
  804. this.setState({
  805. signBillVisible: false
  806. });
  807. this.state.idSearch = "";
  808. this.state.customerName = "";
  809. this.state.releaseDate[0] = undefined;
  810. this.state.releaseDate[1] = undefined;
  811. this.state.orderNoSearch = "";
  812. this.state.departmenttList = [];
  813. this.state.cid = [];
  814. this.state.contractNoSearch = "";
  815. this.state.outsourceSearch = [];
  816. this.setState({
  817. urgentDay: '', //有无材料
  818. ifMaterial: '', //加急情况
  819. specialComment: '', //特别说明
  820. spotCheckStatus: '',
  821. setUpStatus: '',
  822. setUpTime: '',
  823. highTechStatus: '',
  824. })
  825. this.loadData(this.state.page);
  826. },
  827. resets() {
  828. this.state.orderNo = "";
  829. this.state.customerName = "";
  830. this.state.releaseDate[0] = undefined;
  831. this.state.releaseDate[1] = undefined;
  832. },
  833. getOrgCodeUrl(e) {
  834. this.setState({ orgCodeUrl: e });
  835. },
  836. setColor() {
  837. $(".userName span").after(
  838. "(<span class='ruanzhu'>软著数</span>/<span class='xiazheng'>下证数</span>)"
  839. );
  840. },
  841. closeDesc(e, s) {
  842. this.state.showDesc = e;
  843. if (s) {
  844. this.loadData(this.state.page);
  845. }
  846. },
  847. closeAssign(e, s) {
  848. this.state.roleName = "";
  849. this.state.assignVisible = e;
  850. if (s) {
  851. this.loadData(this.state.page);
  852. }
  853. },
  854. nextCancel() {
  855. this.setState({
  856. addnextVisible: false
  857. });
  858. },
  859. //点击打卡项目详情
  860. tableRowClickX(record) {
  861. this.setState({
  862. jid: record.id, //项目ID
  863. kid: record.commodityId, //商品ID
  864. commodityName: record.commodityName, //金额
  865. commodityPrice: record.commodityPrice, //金额
  866. commodityQuantity: record.commodityQuantity, //数量
  867. taskComment: record.taskComment, //备注
  868. main: record.main.toString(), //是否为主要
  869. addnextVisible: true,
  870. addState: 0
  871. });
  872. },
  873. //关闭详情
  874. visitCancel() {
  875. this.setState({
  876. visible: false,
  877. speVisible: false
  878. });
  879. this.resets();
  880. },
  881. visitOk() {
  882. this.setState({
  883. visible: false
  884. });
  885. this.resets();
  886. },
  887. //关闭详情
  888. visitCancels() {
  889. this.setState({
  890. visibles: false
  891. });
  892. this.resets();
  893. },
  894. //导出
  895. exportExec() {
  896. let nameText = this.state.SuperArr;
  897. let superText =
  898. this.state.cid && typeof this.state.cid != "object"
  899. ? nameText[parseInt(this.state.cid)].id
  900. : "";
  901. if (superText) {
  902. var data = {
  903. orderNo: this.state.orderNoSearch
  904. ? this.state.orderNoSearch
  905. : undefined,
  906. name: this.state.customerName ? this.state.customerName : undefined, //订单负责人
  907. taskId: this.state.idSearch ? this.state.idSearch : undefined, //订单编号
  908. starTime: this.state.releaseDate[0]
  909. ? this.state.releaseDate[0]
  910. : undefined,
  911. endTime: this.state.releaseDate[1]
  912. ? this.state.releaseDate[1]
  913. : undefined,
  914. depId: this.state.departmenttList
  915. ? this.state.departmenttList
  916. : undefined,
  917. cid: superText
  918. };
  919. } else {
  920. var data = {
  921. orderNo: this.state.orderNoSearch
  922. ? this.state.orderNoSearch
  923. : undefined,
  924. name: this.state.customerName ? this.state.customerName : undefined, //订单负责人
  925. taskId: this.state.idSearch ? this.state.idSearch : undefined, //订单编号
  926. starTime: this.state.releaseDate[0]
  927. ? this.state.releaseDate[0]
  928. : undefined,
  929. endTime: this.state.releaseDate[1]
  930. ? this.state.releaseDate[1]
  931. : undefined,
  932. depId: this.state.departmenttList
  933. ? this.state.departmenttList
  934. : undefined
  935. };
  936. }
  937. window.location.href =
  938. globalConfig.context +
  939. "/api/admin/orderProject/exportMyTaskList?" +
  940. $.param(data);
  941. },
  942. visitOks() {
  943. this.setState({
  944. visibles: false
  945. });
  946. this.resets();
  947. },
  948. selectSuperId() {
  949. this.state.data = [];
  950. $.ajax({
  951. method: "get",
  952. dataType: "json",
  953. crossDomain: false,
  954. url: globalConfig.context + "/api/admin/ProjectSize/getAllCname",
  955. data: {
  956. flag: 0
  957. },
  958. success: function(data) {
  959. let theArr = [];
  960. let thedata = data.data;
  961. if (!thedata) {
  962. if (data.error && data.error.length) {
  963. message.warning(data.error[0].message);
  964. }
  965. thedata = {};
  966. }
  967. var contactIds = [];
  968. for (var i = 0; i < data.data.length; i++) {
  969. let theData = data.data[i];
  970. theArr.push(
  971. <Select.Option value={i.toString()} key={theData.cname}>
  972. {theData.cname}
  973. </Select.Option>
  974. );
  975. }
  976. this.setState({
  977. SuperArr: thedata,
  978. contactsOption: theArr,
  979. orderStatusOptions: data.data
  980. });
  981. }.bind(this)
  982. }).always(
  983. function() {
  984. this.loadData(this.state.ispage);
  985. }.bind(this)
  986. );
  987. },
  988. changeList(arr) {
  989. const newArr = [];
  990. this.state.columns.forEach(item => {
  991. arr.forEach(val => {
  992. if (val === item.title) {
  993. newArr.push(item);
  994. }
  995. });
  996. });
  997. this.setState({
  998. changeList: newArr
  999. });
  1000. },
  1001. render() {
  1002. const formItemLayout = {
  1003. labelCol: { span: 8 },
  1004. wrapperCol: { span: 14 }
  1005. };
  1006. const utils = {
  1007. getSatisfaction: function(num) {
  1008. switch (num) {
  1009. case 0:
  1010. return "未收回";
  1011. case 1:
  1012. return "已收回";
  1013. default:
  1014. return "其它";
  1015. }
  1016. },
  1017. getChargeback: function(num) {
  1018. switch (num) {
  1019. case 0:
  1020. return "已完成";
  1021. case 1:
  1022. return "未完成";
  1023. default:
  1024. return "其它";
  1025. }
  1026. }
  1027. };
  1028. const isWai = [
  1029. {
  1030. id: 0,
  1031. name: "非外包"
  1032. },
  1033. {
  1034. id: 1,
  1035. name: "外包"
  1036. }
  1037. ];
  1038. const FormItem = Form.Item;
  1039. const { RangePicker } = DatePicker;
  1040. const departmentArr = this.state.departmentArr || [];
  1041. return (
  1042. <div className="user-content">
  1043. {this.state.resVisible ? (
  1044. <ResolutionDetail
  1045. cancel={this.resCancel}
  1046. detail={this.state.resRecord}
  1047. visible={this.state.resVisible}
  1048. id={this.state.resRecord.orderNo}
  1049. />
  1050. ) : (
  1051. ""
  1052. )}
  1053. <div className="content-title">
  1054. <span>工时数据统计</span>
  1055. </div>
  1056. <div className="user-search">
  1057. <Tabs
  1058. defaultActiveKey="1"
  1059. onChange={this.callback}
  1060. className="test"
  1061. >
  1062. <TabPane tab="搜索" key="1">
  1063. <Input
  1064. placeholder="客户名称"
  1065. style={{
  1066. width: "150px",
  1067. marginBottom: "10px",
  1068. marginLeft: 10,
  1069. marginRight: 10,
  1070. }}
  1071. value={this.state.customerName}
  1072. onChange={(e) => {
  1073. this.setState({ customerName: e.target.value });
  1074. }}
  1075. />
  1076. <Input
  1077. placeholder="任务编号"
  1078. style={{ width: "150px", marginRight: 10 }}
  1079. value={this.state.idSearch}
  1080. onChange={(e) => {
  1081. this.setState({ idSearch: e.target.value });
  1082. }}
  1083. />
  1084. <Input
  1085. placeholder="订单编号"
  1086. style={{ width: "150px", marginRight: 10 }}
  1087. value={this.state.orderNoSearch}
  1088. onChange={(e) => {
  1089. this.setState({
  1090. orderNoSearch: e.target.value,
  1091. });
  1092. }}
  1093. />
  1094. <Input
  1095. placeholder="合同编号"
  1096. style={{ width: "150px", marginRight: 10 }}
  1097. value={this.state.contractNoSearch}
  1098. onChange={(e) => {
  1099. this.setState({
  1100. contractNoSearch: e.target.value,
  1101. });
  1102. }}
  1103. />
  1104. <Select
  1105. placeholder="订单部门"
  1106. style={{ width: 150, marginRight: 10 }}
  1107. value={this.state.departmenttList}
  1108. onChange={(e) => {
  1109. this.setState({ departmenttList: e });
  1110. }}
  1111. >
  1112. {departmentArr.map(function (item) {
  1113. return (
  1114. <Select.Option key={item.id}>{item.name}</Select.Option>
  1115. );
  1116. })}
  1117. </Select>
  1118. <Select
  1119. placeholder="项目类别"
  1120. style={{ width: "150", marginRight: "10px" }}
  1121. value={this.state.cid}
  1122. onChange={(e) => {
  1123. this.setState({ cid: e });
  1124. }}
  1125. notFoundContent="未获取到上级品类列表"
  1126. >
  1127. {this.state.contactsOption}
  1128. </Select>
  1129. <Select
  1130. placeholder="是否外包"
  1131. style={{ width: "150", marginRight: "10px" }}
  1132. value={this.state.outsourceSearch}
  1133. onChange={(e) => {
  1134. this.setState({ outsourceSearch: e });
  1135. }}
  1136. >
  1137. {isWai.map(function (item) {
  1138. return (
  1139. <Select.Option key={item.id}>{item.name}</Select.Option>
  1140. );
  1141. })}
  1142. </Select>
  1143. <span style={{ marginRight: "10px" }}>合同签订时间 :</span>
  1144. <RangePicker
  1145. value={[
  1146. this.state.releaseDate[0]
  1147. ? moment(this.state.releaseDate[0])
  1148. : null,
  1149. this.state.releaseDate[1]
  1150. ? moment(this.state.releaseDate[1])
  1151. : null,
  1152. ]}
  1153. onChange={(data, dataString) => {
  1154. this.setState({ releaseDate: dataString });
  1155. }}
  1156. />
  1157. <Button
  1158. type="primary"
  1159. onClick={this.search}
  1160. style={{
  1161. marginLeft: "10px",
  1162. marginRight: 10,
  1163. marginBottom: 10,
  1164. }}
  1165. >
  1166. 搜索
  1167. </Button>
  1168. <Button onClick={this.reset}>重置</Button>
  1169. </TabPane>
  1170. <TabPane tab="导出" key="2">
  1171. <Button
  1172. type="primary"
  1173. onClick={this.exportExec}
  1174. style={{ margin: 10 }}
  1175. >
  1176. 导出工时数据
  1177. </Button>
  1178. </TabPane>
  1179. <TabPane tab="更改表格显示数据" key="3">
  1180. <div style={{ marginLeft: 10 }}>
  1181. <ChooseList
  1182. columns={this.state.columns}
  1183. changeFn={this.changeList}
  1184. changeList={this.state.changeList}
  1185. top={55}
  1186. margin={11}
  1187. />
  1188. </div>
  1189. </TabPane>
  1190. </Tabs>
  1191. <div className="patent-table">
  1192. <Spin spinning={this.state.loading}>
  1193. <Table
  1194. columns={
  1195. this.state.changeList
  1196. ? this.state.changeList
  1197. : this.state.columns
  1198. }
  1199. dataSource={this.state.dataSource}
  1200. pagination={this.state.pagination}
  1201. onRowClick={this.tableRowClick.bind(this)}
  1202. scroll={{ x: "max-content", y: 0 }}
  1203. bordered
  1204. size="small"
  1205. />
  1206. </Spin>
  1207. </div>
  1208. </div>
  1209. <Modal
  1210. className="customeDetails"
  1211. footer=""
  1212. title="项目概况"
  1213. width="900px"
  1214. visible={this.state.visible}
  1215. onOk={this.visitOk}
  1216. onCancel={this.visitCancel}
  1217. >
  1218. <Form
  1219. layout="horizontal"
  1220. onSubmit={this.handleSubmit}
  1221. id="demand-form"
  1222. style={{ paddingBottom: "00px" }}
  1223. >
  1224. <Spin spinning={this.state.loading}>
  1225. <div className="clearfix">
  1226. <div className="clearfix">
  1227. <FormItem
  1228. className="half-item"
  1229. {...formItemLayout}
  1230. label="当前项目情况"
  1231. >
  1232. <span>
  1233. {
  1234. this.state.status === 0 ? '未开始':
  1235. this.state.status === 1 ? '进行中':
  1236. this.state.status === 2 ? '已暂停':
  1237. this.state.status === 3 ? '已驳回(专利、软著项目编写)':
  1238. this.state.status === 4 ? '已完成':
  1239. this.state.status === 5 ? '项目已完成 已退单':
  1240. this.state.status === 6 ? '项目未完成 已退单': ''
  1241. }
  1242. </span>
  1243. <Button
  1244. type="primary"
  1245. size="small"
  1246. style={{ marginTop: "5px", position: "absolute" }}
  1247. onClick={this.caozuorizhi}
  1248. >
  1249. 操作日志
  1250. </Button>
  1251. </FormItem>
  1252. <FormItem
  1253. className="half-item"
  1254. {...formItemLayout}
  1255. label="合同编号"
  1256. >
  1257. <span>{this.state.contractNo}</span>
  1258. </FormItem>
  1259. </div>
  1260. <div className="clearfix">
  1261. <FormItem
  1262. className="half-item"
  1263. {...formItemLayout}
  1264. label="项目状态"
  1265. >
  1266. <span>{getProcessStatus(this.state.projectStatus)}</span>
  1267. </FormItem>
  1268. <FormItem
  1269. className="half-item"
  1270. {...formItemLayout}
  1271. label="是否特批"
  1272. >
  1273. <span>{getApproval(this.state.approval)}</span>
  1274. </FormItem>
  1275. <FormItem
  1276. className="half-item"
  1277. {...formItemLayout}
  1278. label="结算状态"
  1279. >
  1280. <span>
  1281. {getLiquidationStatus(this.state.liquidationStatus)}
  1282. </span>
  1283. </FormItem>
  1284. <FormItem
  1285. className="half-item"
  1286. {...formItemLayout}
  1287. label="流程状态"
  1288. >
  1289. <span>{getProcessStatus(this.state.processStatus)}</span>
  1290. </FormItem>
  1291. <FormItem
  1292. className="half-item"
  1293. {...formItemLayout}
  1294. label="订单编号"
  1295. >
  1296. <span>{this.state.orderNo}</span>
  1297. </FormItem>
  1298. </div>
  1299. <div className="clearfix">
  1300. <FormItem
  1301. className="half-item"
  1302. {...formItemLayout}
  1303. label="满意度表格"
  1304. >
  1305. <span>
  1306. {utils.getSatisfaction(this.state.formRetrieve)}
  1307. </span>
  1308. </FormItem>
  1309. {
  1310. <FormItem
  1311. className="half-item"
  1312. {...formItemLayout}
  1313. label="(满意度)备注"
  1314. >
  1315. <span>{this.state.retrieveContent}</span>
  1316. </FormItem>
  1317. }
  1318. {/*<FormItem*/}
  1319. {/* className="half-item"*/}
  1320. {/* {...formItemLayout}*/}
  1321. {/* label="退单"*/}
  1322. {/*>*/}
  1323. {/* <span>{utils.getChargeback(this.state.taskRefund)}</span>*/}
  1324. {/*</FormItem>*/}
  1325. </div>
  1326. <div className="clearfix">
  1327. <div style={{
  1328. paddingLeft: '8%',
  1329. }}>
  1330. <div style={{color:'#000',fontWeight:500}}>
  1331. 特别说明
  1332. <span style={{color: '#58a3ff',}}>(针对项目的特殊情况说明)</span>
  1333. </div>
  1334. <div style={{
  1335. display:'flex',
  1336. }}>
  1337. <span style={{paddingRight:'10px',whiteSpace:"nowrap"}}>备注:</span>
  1338. <span style={{
  1339. flex: 1,
  1340. wordBreak: 'break-all',
  1341. }}>{this.state.specialComment}</span>
  1342. </div>
  1343. </div>
  1344. {/*<FormItem*/}
  1345. {/* className="half-item"*/}
  1346. {/* {...formItemLayout}*/}
  1347. {/* label="(退单)备注"*/}
  1348. {/*>*/}
  1349. {/* <span>{this.state.refundContent}</span>*/}
  1350. {/*</FormItem>*/}
  1351. </div>
  1352. <div className="clearfix">
  1353. <h3 className="sub-title">任务信息</h3>
  1354. <FormItem
  1355. className="half-item"
  1356. {...formItemLayout}
  1357. label="任务编号"
  1358. >
  1359. <span>
  1360. {this.state.splitStatus == 2
  1361. ? this.state.splitSuper + "-" + this.state.splitId
  1362. : this.state.id}
  1363. </span>
  1364. </FormItem>
  1365. <FormItem
  1366. className="half-item"
  1367. {...formItemLayout}
  1368. label="任务名称"
  1369. >
  1370. <span>{this.state.taskName}</span>
  1371. </FormItem>
  1372. <FormItem
  1373. className="half-item"
  1374. {...formItemLayout}
  1375. label="任务状态"
  1376. >
  1377. <span>{getTaskStatus(this.state.taskStatus)}</span>
  1378. </FormItem>
  1379. <FormItem
  1380. className="half-item"
  1381. {...formItemLayout}
  1382. label="任务类别"
  1383. >
  1384. <span>{this.state.cname}</span>
  1385. </FormItem>
  1386. <FormItem
  1387. className="half-item"
  1388. {...formItemLayout}
  1389. label="证书编号"
  1390. >
  1391. <span>{this.state.certificateNumber}</span>
  1392. </FormItem>
  1393. </div>
  1394. {/*{this.state.outsource === 1 ? (*/}
  1395. {/* <div className="clearfix">*/}
  1396. {/* <h3 className="sub-title">外包信息</h3>*/}
  1397. {/* <FormItem*/}
  1398. {/* className="half-item"*/}
  1399. {/* {...formItemLayout}*/}
  1400. {/* label="外包公司"*/}
  1401. {/* >*/}
  1402. {/* <span>{this.state.outsourceName}</span>*/}
  1403. {/* </FormItem>*/}
  1404. {/* <FormItem*/}
  1405. {/* className="half-item"*/}
  1406. {/* {...formItemLayout}*/}
  1407. {/* label="外包成本(万元)"*/}
  1408. {/* >*/}
  1409. {/* <span>{this.state.outsourcePrice}</span>*/}
  1410. {/* </FormItem>*/}
  1411. {/* </div>*/}
  1412. {/*) : (*/}
  1413. {/* ""*/}
  1414. {/*)}*/}
  1415. {/*<hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>*/}
  1416. <div className="clearfix">
  1417. <h3 className="sub-title">联系信息</h3>
  1418. <FormItem
  1419. className="half-item"
  1420. {...formItemLayout}
  1421. label="客户名称"
  1422. >
  1423. <span>{this.state.userName}</span>
  1424. </FormItem>
  1425. <FormItem
  1426. className="half-item"
  1427. {...formItemLayout}
  1428. label="企业法人"
  1429. >
  1430. <span>{this.state.legalPerson}</span>
  1431. </FormItem>
  1432. <FormItem
  1433. className="half-item"
  1434. {...formItemLayout}
  1435. label="法人电话"
  1436. >
  1437. <span>{this.state.legalPersonTel}</span>
  1438. </FormItem>
  1439. <FormItem
  1440. className="half-item"
  1441. {...formItemLayout}
  1442. label="客户联系人"
  1443. >
  1444. <span>{this.state.contacts}</span>
  1445. </FormItem>
  1446. <FormItem
  1447. className="half-item"
  1448. {...formItemLayout}
  1449. label="联系人电话"
  1450. >
  1451. <span>{this.state.contactMobile}</span>
  1452. </FormItem>
  1453. <FormItem
  1454. className="half-item"
  1455. {...formItemLayout}
  1456. label="企业地址"
  1457. >
  1458. <span>
  1459. {getprovince(this.state.locationProvince)}/
  1460. {getprovince(this.state.locationCity)}/
  1461. {getprovince(this.state.locationArea)}
  1462. </span>
  1463. </FormItem>
  1464. <FormItem
  1465. className="half-item"
  1466. {...formItemLayout}
  1467. label=""
  1468. ></FormItem>
  1469. <FormItem className="half-item" {...formItemLayout}>
  1470. <span style={{ paddingLeft: "12em" }}>
  1471. {this.state.postalAddress}
  1472. </span>
  1473. </FormItem>
  1474. </div>
  1475. {/*<hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>*/}
  1476. <div className="clearfix">
  1477. <h3 className="sub-title">订单负责人信息</h3>
  1478. <FormItem
  1479. className="half-item"
  1480. {...formItemLayout}
  1481. label="负责人"
  1482. >
  1483. <span>
  1484. {this.state.salesmanName +
  1485. "(" +
  1486. this.state.depName +
  1487. ")"}
  1488. </span>
  1489. </FormItem>
  1490. <FormItem
  1491. className="half-item"
  1492. {...formItemLayout}
  1493. label="负责人电话"
  1494. >
  1495. <span>{this.state.salesmanMobile}</span>
  1496. </FormItem>
  1497. <FormItem
  1498. className="half-item"
  1499. {...formItemLayout}
  1500. label="财务负责人"
  1501. >
  1502. <span>{this.state.financeName}</span>
  1503. </FormItem>
  1504. <FormItem
  1505. className="half-item"
  1506. {...formItemLayout}
  1507. label="财务负责人电话"
  1508. >
  1509. <span>{this.state.financeMobile}</span>
  1510. </FormItem>
  1511. </div>
  1512. <div className="clearfix">
  1513. <h3 className="sub-title">申报系统账户信息</h3>
  1514. {/*<span style={{color:'red'}}>注:仅技术部可见</span>*/}
  1515. <FormItem
  1516. className="half-item"
  1517. {...formItemLayout}
  1518. label="用户名"
  1519. >
  1520. <span>{this.state.declareUser ? "*" : ""}</span>
  1521. </FormItem>
  1522. <FormItem
  1523. className="half-item"
  1524. {...formItemLayout}
  1525. label="密码"
  1526. >
  1527. <span>{this.state.declarePwd ? "*" : ""}</span>
  1528. </FormItem>
  1529. </div>
  1530. <div className="clearfix">
  1531. <h3 className="sub-title">项目申报进度</h3>
  1532. {/*专利显示 bpType: 0 正常 1专利 2软著 3审计 4双软 5高新 6商标*/}
  1533. {
  1534. this.state.bpType === 1 || this.state.bpType === 6 ?
  1535. <div>
  1536. <FormItem
  1537. labelCol={{ span: 3 }}
  1538. wrapperCol={{ span: 16 }}
  1539. label="是否高新企业"
  1540. >
  1541. <span>
  1542. {
  1543. this.state.highTechStatus === 1 ? '是':
  1544. this.state.highTechStatus === 0 ? '否' : ''
  1545. }
  1546. </span>
  1547. </FormItem>
  1548. <FormItem/>
  1549. <PatentSchedule
  1550. readOnly
  1551. bpType={this.state.bpType}
  1552. taskId={this.state.id}
  1553. acceptCount={this.state.acceptCount}
  1554. certificatesCount={this.state.certificatesCount}
  1555. rejectCount={this.state.rejectCount}
  1556. commodityQuantity={this.state.commodityQuantity}
  1557. refresh={()=>{this.xiangqing(this.state.id)}}
  1558. />
  1559. </div> :
  1560. <div>
  1561. <FormItem
  1562. className="half-item"
  1563. {...formItemLayout}
  1564. label="申报批次"
  1565. >
  1566. <span>{this.state.declarationBatch}</span>
  1567. </FormItem>
  1568. <FormItem
  1569. className="half-item"
  1570. {...formItemLayout}
  1571. label="启动时间"
  1572. >
  1573. <span>{this.state.startDate}</span>
  1574. </FormItem>
  1575. <FormItem
  1576. className="half-item"
  1577. {...formItemLayout}
  1578. label="完成时间"
  1579. >
  1580. <span>{this.state.endDate}</span>
  1581. </FormItem>
  1582. <FormItem
  1583. className="half-item"
  1584. {...formItemLayout}
  1585. label="受理时间"
  1586. >
  1587. <span>{this.state.acceptDate}</span>
  1588. </FormItem>
  1589. <FormItem
  1590. className="half-item"
  1591. {...formItemLayout}
  1592. label="评审时间"
  1593. >
  1594. <span>{this.state.reviewDate}</span>
  1595. </FormItem>
  1596. <FormItem
  1597. className="half-item"
  1598. {...formItemLayout}
  1599. label="公示时间"
  1600. >
  1601. <span>{this.state.publicityDate}</span>
  1602. </FormItem>
  1603. <FormItem
  1604. className="half-item"
  1605. {...formItemLayout}
  1606. label="发证时间"
  1607. >
  1608. <span>{this.state.licenceDate}</span>
  1609. </FormItem>
  1610. <FormItem
  1611. className="half-item"
  1612. {...formItemLayout}
  1613. label="立项金额(万元)"
  1614. >
  1615. <span>{this.state.setUpAmount}</span>
  1616. </FormItem>
  1617. <FormItem
  1618. className="half-item"
  1619. {...formItemLayout}
  1620. label="是否到款"
  1621. >
  1622. <span>
  1623. {this.state.arrivalMoney ? "已到企业" : "未到企业"}
  1624. </span>
  1625. </FormItem>
  1626. </div>}
  1627. </div>
  1628. {this.state.bpType !== 1 && this.state.bpType !== 6 ? <div className="clearfix">
  1629. <FormItem
  1630. labelCol={{ span: 3 }}
  1631. wrapperCol={{ span: 18 }}
  1632. label="附件"
  1633. >
  1634. <Upload
  1635. className="demandDetailShow-upload"
  1636. listType="picture-card"
  1637. fileList={this.state.attachmentUrl}
  1638. onPreview={(file) => {
  1639. this.setState({
  1640. previewImage: file.url || file.thumbUrl,
  1641. previewVisible: true,
  1642. });
  1643. }}
  1644. />
  1645. <Modal
  1646. maskClosable={false}
  1647. footer={null}
  1648. visible={this.state.previewVisible}
  1649. onCancel={() => {
  1650. this.setState({ previewVisible: false });
  1651. }}
  1652. >
  1653. <img
  1654. alt=""
  1655. style={{ width: "100%" }}
  1656. src={this.state.previewImage || ""}
  1657. />
  1658. </Modal>
  1659. </FormItem>
  1660. </div> : null}
  1661. {this.state.bpType !== 1 && this.state.bpType !== 6 ? <div className="clearfix">
  1662. <FormItem
  1663. labelCol={{ span: 3 }}
  1664. wrapperCol={{ span: 16 }}
  1665. label="项目说明"
  1666. >
  1667. <span>{this.state.taskComment}</span>
  1668. </FormItem>
  1669. </div> : null}
  1670. <div>
  1671. <h3 className="sub-title">项目业务</h3>
  1672. {this.state.processStatus == 0 ? (
  1673. <Button
  1674. type="primary"
  1675. onClick={this.addDetailed}
  1676. style={{
  1677. float: "right",
  1678. marginRight: "50px",
  1679. marginBottom: "15px",
  1680. }}
  1681. >
  1682. 添加项目明细
  1683. </Button>
  1684. ) : (
  1685. ""
  1686. )}
  1687. </div>
  1688. <div className="patent-table">
  1689. <Spin spinning={this.state.loading}>
  1690. <Table
  1691. columns={this.state.columnsX}
  1692. dataSource={this.state.dataSourceX}
  1693. pagination={this.state.paginations}
  1694. onRowClick={this.tableRowClickX}
  1695. bordered
  1696. size={"small"}
  1697. />
  1698. </Spin>
  1699. </div>
  1700. </div>
  1701. </Spin>
  1702. </Form>
  1703. </Modal>
  1704. <Modal
  1705. maskClosable={false}
  1706. visible={this.state.addnextVisible}
  1707. onOk={this.nextCancel}
  1708. onCancel={this.nextCancel}
  1709. width="900px"
  1710. title="项目任务详情"
  1711. footer=""
  1712. className="admin-desc-content"
  1713. >
  1714. <Form
  1715. layout="horizontal"
  1716. onSubmit={this.nextSubmit}
  1717. id="demand-form"
  1718. >
  1719. <Spin spinning={this.state.loading}>
  1720. <div className="clearfix">
  1721. <FormItem
  1722. className="half-item"
  1723. {...formItemLayout}
  1724. label="项目名称"
  1725. >
  1726. <span>{this.state.commodityName}</span>
  1727. </FormItem>
  1728. <FormItem
  1729. className="half-item"
  1730. {...formItemLayout}
  1731. label="项目数量"
  1732. >
  1733. <span>{this.state.commodityQuantity}</span>
  1734. </FormItem>
  1735. <FormItem
  1736. className="half-item"
  1737. {...formItemLayout}
  1738. label="金额(万元)"
  1739. >
  1740. <span>{this.state.commodityPrice}</span>
  1741. </FormItem>
  1742. <FormItem
  1743. className="half-item"
  1744. {...formItemLayout}
  1745. label="主要项目"
  1746. >
  1747. <span>{getboutique(this.state.main)}</span>
  1748. </FormItem>
  1749. <div className="clearfix">
  1750. <FormItem
  1751. labelCol={{ span: 4 }}
  1752. wrapperCol={{ span: 16 }}
  1753. label="服务说明"
  1754. >
  1755. <span>{this.state.taskComment}</span>
  1756. </FormItem>
  1757. </div>
  1758. </div>
  1759. </Spin>
  1760. </Form>
  1761. </Modal>
  1762. <Modal
  1763. width="800px"
  1764. title="操作日志"
  1765. footer=""
  1766. className="admin-desc-content"
  1767. >
  1768. <div className="patent-table patent-table-center">
  1769. <Spin spinning={this.state.loading}>
  1770. <Table columns={this.state.columnsY} bordered size={"small"} />
  1771. </Spin>
  1772. </div>
  1773. </Modal>
  1774. <Modal
  1775. maskClosable={false}
  1776. visible={this.state.speVisible}
  1777. onOk={this.visitOk}
  1778. onCancel={this.visitCancel}
  1779. width="900px"
  1780. title="项目概况"
  1781. footer=""
  1782. className="admin-desc-content"
  1783. >
  1784. <div className="clearfix">
  1785. <FormItem
  1786. className="half-item"
  1787. {...formItemLayout}
  1788. label="当前项目情况"
  1789. >
  1790. <span>
  1791. {
  1792. this.state.status === 0 ? '未开始':
  1793. this.state.status === 1 ? '进行中':
  1794. this.state.status === 2 ? '已暂停':
  1795. this.state.status === 3 ? '已驳回(专利、软著项目编写)':
  1796. this.state.status === 4 ? '已完成':
  1797. this.state.status === 5 ? '项目已完成 已退单':
  1798. this.state.status === 6 ? '项目未完成 已退单': ''
  1799. }
  1800. </span>
  1801. <Button
  1802. type="primary"
  1803. size="small"
  1804. style={{ marginTop: "5px", position: "absolute" }}
  1805. onClick={this.caozuorizhi}
  1806. >
  1807. 操作日志
  1808. </Button>
  1809. </FormItem>
  1810. <FormItem
  1811. className="half-item"
  1812. {...formItemLayout}
  1813. label="合同编号"
  1814. >
  1815. <span>{this.state.contractNo}</span>
  1816. </FormItem>
  1817. </div>
  1818. <div className="clearfix">
  1819. <FormItem
  1820. className="half-item"
  1821. {...formItemLayout}
  1822. label="项目状态"
  1823. >
  1824. <span>{getProcessStatus(this.state.projectStatus)}</span>
  1825. </FormItem>
  1826. <FormItem
  1827. className="half-item"
  1828. {...formItemLayout}
  1829. label="是否特批"
  1830. >
  1831. <span>{getApproval(this.state.approval)}</span>
  1832. </FormItem>
  1833. <FormItem
  1834. className="half-item"
  1835. {...formItemLayout}
  1836. label="结算状态"
  1837. >
  1838. <span>
  1839. {getLiquidationStatus(this.state.liquidationStatus)}
  1840. </span>
  1841. </FormItem>
  1842. <FormItem
  1843. className="half-item"
  1844. {...formItemLayout}
  1845. label="流程状态"
  1846. >
  1847. <span>{getProcessStatus(this.state.processStatus)}</span>
  1848. </FormItem>
  1849. <FormItem
  1850. className="half-item"
  1851. {...formItemLayout}
  1852. label="订单编号"
  1853. >
  1854. <span>{this.state.orderNo}</span>
  1855. </FormItem>
  1856. </div>
  1857. <div className="clearfix">
  1858. <FormItem
  1859. className="half-item"
  1860. {...formItemLayout}
  1861. label="满意度表格"
  1862. >
  1863. <span>{utils.getSatisfaction(this.state.formRetrieve)}</span>
  1864. </FormItem>
  1865. {
  1866. <FormItem
  1867. className="half-item"
  1868. {...formItemLayout}
  1869. label="(满意度)备注"
  1870. >
  1871. <span>{this.state.retrieveContent}</span>
  1872. </FormItem>
  1873. }
  1874. {/*<FormItem className="half-item" {...formItemLayout} label="退单">*/}
  1875. {/* <span>{utils.getChargeback(this.state.taskRefund)}</span>*/}
  1876. {/*</FormItem>*/}
  1877. </div>
  1878. {/*软著显示 bpType: 0 正常 1专利 2软著 3审计 4双软 5高新 6商标*/}
  1879. {this.state.bpType === 2 ? <div className="clearfix">
  1880. <FormItem
  1881. className="half-item"
  1882. {...formItemLayout}
  1883. label="加急天数"
  1884. >
  1885. {
  1886. this.state.urgentDay === 1 ? '是' :
  1887. this.state.urgentDay === 0 ? '否' : ''
  1888. }
  1889. </FormItem>
  1890. <FormItem
  1891. className="half-item"
  1892. {...formItemLayout}
  1893. label="有无材料"
  1894. >
  1895. {
  1896. this.state.ifMaterial === 1 ? '是':
  1897. this.state.ifMaterial === 0 ? '否': ''
  1898. }
  1899. </FormItem>
  1900. </div> : null}
  1901. <div className="clearfix">
  1902. <div style={{
  1903. paddingLeft: '8%',
  1904. }}>
  1905. <div style={{color:'#000',fontWeight:500}}>
  1906. 特别说明
  1907. <span style={{color: '#58a3ff',}}>(针对项目的特殊情况说明)</span>
  1908. </div>
  1909. <div style={{
  1910. display:'flex',
  1911. }}>
  1912. <span style={{paddingRight:'10px',whiteSpace:"nowrap"}}>备注:</span>
  1913. <span style={{
  1914. flex: 1,
  1915. wordBreak: 'break-all',
  1916. }}>{this.state.specialComment}</span>
  1917. </div>
  1918. </div>
  1919. {
  1920. // <FormItem
  1921. // className="half-item"
  1922. // {...formItemLayout}
  1923. // label="(退单)备注"
  1924. // >
  1925. // <span>{this.state.refundContent}</span>
  1926. // </FormItem>
  1927. }
  1928. </div>
  1929. <div className="clearfix">
  1930. <h3 className="sub-title">任务信息</h3>
  1931. <FormItem
  1932. className="half-item"
  1933. {...formItemLayout}
  1934. label="任务编号"
  1935. >
  1936. <span>
  1937. {this.state.splitStatus == 2
  1938. ? this.state.splitSuper + "-" + this.state.splitId
  1939. : this.state.id}
  1940. </span>
  1941. </FormItem>
  1942. <FormItem
  1943. className="half-item"
  1944. {...formItemLayout}
  1945. label="任务名称"
  1946. >
  1947. <span>{this.state.taskName}</span>
  1948. </FormItem>
  1949. <FormItem
  1950. className="half-item"
  1951. {...formItemLayout}
  1952. label="任务状态"
  1953. >
  1954. <span>{getTaskStatus(this.state.taskStatus)}</span>
  1955. </FormItem>
  1956. <FormItem
  1957. className="half-item"
  1958. {...formItemLayout}
  1959. label="任务类别"
  1960. >
  1961. <span>{this.state.cname}</span>
  1962. </FormItem>
  1963. <FormItem
  1964. className="half-item"
  1965. {...formItemLayout}
  1966. label="证书编号"
  1967. >
  1968. <span>{this.state.certificateNumber}</span>
  1969. </FormItem>
  1970. </div>
  1971. {/*<hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>*/}
  1972. <div className="clearfix">
  1973. <h3 className="sub-title">联系信息</h3>
  1974. <FormItem
  1975. className="half-item"
  1976. {...formItemLayout}
  1977. label="客户名称"
  1978. >
  1979. <span>{this.state.userName}</span>
  1980. </FormItem>
  1981. <FormItem
  1982. className="half-item"
  1983. {...formItemLayout}
  1984. label="企业法人"
  1985. >
  1986. <span>{this.state.legalPerson}</span>
  1987. </FormItem>
  1988. <FormItem
  1989. className="half-item"
  1990. {...formItemLayout}
  1991. label="法人电话"
  1992. >
  1993. <span>{this.state.legalPersonTel}</span>
  1994. </FormItem>
  1995. <FormItem
  1996. className="half-item"
  1997. {...formItemLayout}
  1998. label="客户联系人"
  1999. >
  2000. <span>{this.state.contacts}</span>
  2001. </FormItem>
  2002. <FormItem
  2003. className="half-item"
  2004. {...formItemLayout}
  2005. label="联系人电话"
  2006. >
  2007. <span>{this.state.contactMobile}</span>
  2008. </FormItem>
  2009. <FormItem
  2010. className="half-item"
  2011. {...formItemLayout}
  2012. label="企业地址"
  2013. >
  2014. <span>
  2015. {getprovince(this.state.locationProvince)}/
  2016. {getprovince(this.state.locationCity)}/
  2017. {getprovince(this.state.locationArea)}
  2018. </span>
  2019. </FormItem>
  2020. <FormItem
  2021. className="half-item"
  2022. {...formItemLayout}
  2023. label=""
  2024. ></FormItem>
  2025. <FormItem className="half-item" {...formItemLayout} label="">
  2026. <span style={{ paddingLeft: "12em" }}>
  2027. {this.state.postalAddress}
  2028. </span>
  2029. </FormItem>
  2030. </div>
  2031. {/*<hr style={{border:'1px dashed #aaa', width:"90%",margin:'auto'}}/>*/}
  2032. <div className="clearfix">
  2033. <h3 className="sub-title">订单负责人信息</h3>
  2034. <FormItem
  2035. className="half-item"
  2036. {...formItemLayout}
  2037. label="负责人"
  2038. >
  2039. <span>
  2040. {this.state.salesmanName + "(" + this.state.depName + ")"}
  2041. </span>
  2042. </FormItem>
  2043. <FormItem
  2044. className="half-item"
  2045. {...formItemLayout}
  2046. label="负责人电话"
  2047. >
  2048. <span>{this.state.salesmanMobile}</span>
  2049. </FormItem>
  2050. <FormItem
  2051. className="half-item"
  2052. {...formItemLayout}
  2053. label="财务负责人"
  2054. >
  2055. <span>{this.state.financeName}</span>
  2056. </FormItem>
  2057. <FormItem
  2058. className="half-item"
  2059. {...formItemLayout}
  2060. label="财务负责人电话"
  2061. >
  2062. <span>{this.state.financeMobile}</span>
  2063. </FormItem>
  2064. </div>
  2065. <div className="clearfix" style={{ marginTop: "10px" }}>
  2066. <FormItem
  2067. labelCol={{ span: 3 }}
  2068. wrapperCol={{ span: 18 }}
  2069. label="附件"
  2070. >
  2071. <Upload
  2072. className="demandDetailShow-upload"
  2073. listType="picture-card"
  2074. fileList={this.state.attachmentUrl}
  2075. onPreview={(file) => {
  2076. this.setState({
  2077. previewImage: file.url || file.thumbUrl,
  2078. previewVisible: true,
  2079. });
  2080. }}
  2081. ></Upload>
  2082. <Modal
  2083. maskClosable={false}
  2084. footer={null}
  2085. visible={this.state.previewVisible}
  2086. onCancel={() => {
  2087. this.setState({ previewVisible: false });
  2088. }}
  2089. >
  2090. <img
  2091. alt=""
  2092. style={{ width: "100%" }}
  2093. src={this.state.previewImage || ""}
  2094. />
  2095. </Modal>
  2096. </FormItem>
  2097. </div>
  2098. <div className="clearfix">
  2099. <FormItem
  2100. labelCol={{ span: 3 }}
  2101. wrapperCol={{ span: 16 }}
  2102. label="备注"
  2103. >
  2104. <span>{this.state.taskComment}</span>
  2105. </FormItem>
  2106. </div>
  2107. <div className="clearfix">
  2108. <h3 className="sub-title">项目申报进度</h3>
  2109. <FormItem
  2110. className="half-item"
  2111. {...formItemLayout}
  2112. label="申报批次"
  2113. >
  2114. <span>{this.state.declarationBatch}</span>
  2115. </FormItem>
  2116. <FormItem
  2117. className="half-item"
  2118. {...formItemLayout}
  2119. label="启动时间"
  2120. >
  2121. <span>{this.state.startDate}</span>
  2122. </FormItem>
  2123. <FormItem
  2124. className="half-item"
  2125. {...formItemLayout}
  2126. label="软著派单数量"
  2127. >
  2128. <span>{this.state.commodityQuantity}</span>
  2129. </FormItem>
  2130. <div className="patent-table patent-table-center">
  2131. <Spin spinning={this.state.loading}>
  2132. <Table
  2133. columns={this.state.ContactsLists}
  2134. dataSource={this.state.contactList}
  2135. bordered
  2136. size="small"
  2137. pagination={false}
  2138. />
  2139. </Spin>
  2140. </div>
  2141. </div>
  2142. <div className="clearfix">
  2143. <h3 className="sub-title">项目业务</h3>
  2144. <div className="patent-table">
  2145. <Spin spinning={this.state.loading}>
  2146. <Table
  2147. columns={this.state.columnsX}
  2148. dataSource={this.state.dataSourceX}
  2149. pagination={this.state.paginations}
  2150. onRowClick={this.tableRowClickX}
  2151. bordered
  2152. size="small"
  2153. />
  2154. </Spin>
  2155. </div>
  2156. </div>
  2157. </Modal>
  2158. <Modal
  2159. width="800px"
  2160. visible={this.state.visibleA}
  2161. onCancel={this.visitCancelA}
  2162. title="操作日志"
  2163. footer=""
  2164. className="admin-desc-content"
  2165. >
  2166. <div className="patent-table patent-table-center">
  2167. <Spin spinning={this.state.loading}>
  2168. <Table
  2169. columns={this.state.columnsA}
  2170. dataSource={this.state.dataSourceA}
  2171. bordered
  2172. size="small"
  2173. pagination={false}
  2174. />
  2175. </Spin>
  2176. </div>
  2177. </Modal>
  2178. </div>
  2179. );
  2180. }
  2181. })
  2182. );
  2183. export default MyTaskCount;