taskQuery.jsx 83 KB

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