SaleContract.data.ts 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776
  1. import { BasicColumn } from '/@/components/Table';
  2. import { FormSchema } from '/@/components/Table';
  3. import { JVxeTypes, JVxeColumn } from '/@/components/jeecg/JVxeTable/types';
  4. import { defHttp } from '/@/utils/http/axios';
  5. import { ProjectOption, CustomerOption } from './SaleContract.api';
  6. //列表数据
  7. export const columns: BasicColumn[] = [
  8. {
  9. title: '单据编码(bill code)',
  10. align: 'center',
  11. dataIndex: 'billCode',
  12. },
  13. {
  14. title: '单据日期(bill date)',
  15. align: 'center',
  16. sorter: true,
  17. dataIndex: 'billDate',
  18. customRender: ({ text }) => {
  19. text = !text ? '' : text.length > 10 ? text.substr(0, 10) : text;
  20. return text;
  21. },
  22. },
  23. {
  24. title: '项目(Project)',
  25. align: 'center',
  26. dataIndex: 'quotationProjectName',
  27. customRender:({text,record}) =>{
  28. if(record.quotationProject_dictText==1){
  29. return text;
  30. }else if(record.quotationProject_dictText==0){
  31. return text+'(停用)'
  32. }
  33. }
  34. },
  35. {
  36. title: '客户(Customer)',
  37. align: 'center',
  38. dataIndex: 'quotationCustomerName',
  39. },
  40. {
  41. title: '优先级(priority)',
  42. align: 'center',
  43. dataIndex: 'priority_dictText',
  44. },
  45. {
  46. title: '产品分类(production class)',
  47. align: 'center',
  48. dataIndex: 'productionClass_dictText',
  49. },
  50. {
  51. title: '机型(model)',
  52. align: 'center',
  53. dataIndex: 'model',
  54. },
  55. {
  56. title: '厂家(maker)',
  57. align: 'center',
  58. dataIndex: 'maker',
  59. width: 250,
  60. },
  61. // {
  62. // title: '业务类型(busyness type)',
  63. // align:"center",
  64. // dataIndex: 'busynessType',
  65. // // width:250,
  66. // },
  67. {
  68. title: '销售部门(sale department)',
  69. align: 'center',
  70. dataIndex: 'saleDepartmentName',
  71. },
  72. {
  73. title: '业务员(salesman)',
  74. align: 'center',
  75. dataIndex: 'saleDepartmentName',
  76. },
  77. {
  78. title: '来源(sourceCode)',
  79. align:"center",
  80. dataIndex: 'sourceCode',
  81. width: 200,
  82. },
  83. {
  84. title: '关闭(close)',
  85. align: 'center',
  86. dataIndex: 'isClose_dictText',
  87. width: 150,
  88. },
  89. {
  90. title: '关闭原因(close reason)',
  91. align:"center",
  92. dataIndex: 'closeReason',
  93. width: 300,
  94. },
  95. {
  96. title: '提交(submit)',
  97. align: 'center',
  98. dataIndex: 'status_dictText',
  99. width: 150,
  100. },
  101. {
  102. title: '版本号',
  103. align: 'center',
  104. dataIndex: 'version',
  105. width: 150,
  106. },
  107. ];
  108. //查询数据
  109. export const searchFormSchema: FormSchema[] = [
  110. {
  111. label: '单据编码(bill code)',
  112. field: 'billCode',
  113. component: 'JInput',
  114. labelWidth: 150,
  115. componentProps: {
  116. AutoComplete: 'off',
  117. },
  118. //colProps: {span: 6},
  119. },
  120. {
  121. label: '单据日期(bill date)',
  122. field: 'billDate',
  123. component: 'RangePicker',
  124. labelWidth: 180,
  125. componentProps: {
  126. valueType: 'Date',
  127. },
  128. //colProps: {span: 6},
  129. },
  130. {
  131. label: '项目(Project)',
  132. field: 'quotationProject',
  133. labelWidth: 180,
  134. component: 'ApiSelect',
  135. componentProps: {
  136. // mode: 'multiple',//multiple: 多选;不填写为单选
  137. //请求api,返回结果{ result: { records: [{'id':'1',name:'scott'},{'id':'2',name:'小张'}] }}
  138. api: ProjectOption,
  139. //数值转成String
  140. numberToString: false,
  141. //标题字段
  142. labelField: 'code',
  143. //值字段
  144. valueField: 'id',
  145. //请求参数
  146. params: { pageSize: -1 ,status:1},
  147. //返回结果字段
  148. resultField: 'records',
  149. filterOption: 'true',
  150. showSearch: 'true',
  151. optionFilterProp: 'label',
  152. },
  153. //colProps: {span: 6},
  154. },
  155. {
  156. label: '优先级(priority)',
  157. field: 'priority',
  158. labelWidth: 150,
  159. component: 'JDictSelectTag',
  160. componentProps: {
  161. dictCode: 'priority',
  162. },
  163. //colProps: {span: 6},
  164. },
  165. {
  166. label: '客户(Customer)',
  167. field: 'quotationCustomer',
  168. labelWidth: 150,
  169. component: 'JSelect',
  170. componentProps: {
  171. // mode: 'multiple',//multiple: 多选;不填写为单选
  172. //请求api,返回结果{ result: { records: [{'id':'1',name:'scott'},{'id':'2',name:'小张'}] }}
  173. getOptionUrl: CustomerOption,
  174. //数值转成String
  175. showField: 'currency_dictText+name',
  176. //标题字段
  177. labelField: 'abbreviation',
  178. param:{status:1}
  179. },
  180. colProps: {span: 12},
  181. },
  182. {
  183. label: '产品分类(production class)',
  184. field: 'productionClass',
  185. labelWidth: 180,
  186. component: 'ApiSelect',
  187. componentProps: {
  188. // mode: 'multiple',//multiple: 多选;不填写为单选
  189. //请求api,返回结果{ result: { records: [{'id':'1',name:'scott'},{'id':'2',name:'小张'}] }}
  190. api: () => defHttp.get({ url: 'baseCode/baseProductClass/list?pageSize=-1' }),
  191. //数值转成String
  192. numberToString: false,
  193. //标题字段
  194. labelField: 'name',
  195. //值字段
  196. valueField: 'id',
  197. //请求参数
  198. params: {},
  199. //返回结果字段
  200. resultField: 'records',
  201. filterOption: 'true',
  202. showSearch: 'true',
  203. optionFilterProp: 'label',
  204. },
  205. //colProps: {span: 6},
  206. },
  207. {
  208. label: '机型(model)',
  209. field: 'model',
  210. labelWidth: 150,
  211. component: 'JDictSelectTag',
  212. componentProps: {
  213. dictCode: 'model_typer',
  214. },
  215. //colProps: {span: 6},
  216. },
  217. {
  218. label: '厂家(maker)',
  219. field: 'maker',
  220. labelWidth: 150,
  221. component: 'JDictSelectTag',
  222. componentProps: {
  223. dictCode: 'factory',
  224. },
  225. //colProps: {span: 6},
  226. },
  227. {
  228. label: '来源(sourceCode)',
  229. field: 'sourceCode',
  230. labelWidth: 180,
  231. component: 'JInput',
  232. //colProps: {span: 6},
  233. },
  234. {
  235. label: '提交(submit)',
  236. field: 'status',
  237. labelWidth: 180,
  238. component: 'JDictSelectTag',
  239. componentProps: {
  240. dictCode: 'yes_or_no',
  241. },
  242. //colProps: {span: 6},
  243. },
  244. {
  245. label: '关闭(close)',
  246. field: 'isClose',
  247. labelWidth: 150,
  248. component: 'JDictSelectTag',
  249. componentProps: {
  250. dictCode: 'yes_or_no',
  251. },
  252. //colProps: {span: 6},
  253. },
  254. ];
  255. //表单数据
  256. export const formSchema: FormSchema[] = [
  257. {
  258. label: '合同编号(bill code)',
  259. field: 'billCode',
  260. labelWidth: 200,
  261. component: 'Input',
  262. dynamicDisabled: true,
  263. componentProps: {
  264. placeholder: '自动生成',
  265. },
  266. },
  267. {
  268. label: '单据日期(bill date)',
  269. field: 'billDate',
  270. component: 'DatePicker',
  271. componentProps: {
  272. valueFormat: 'YYYY-MM-DD',
  273. },
  274. dynamicDisabled: true,
  275. labelWidth: 200,
  276. },
  277. {
  278. label: '报价项目(quotation project)',
  279. labelWidth: 200,
  280. field: 'quotationProjectName',
  281. component: 'InputSearch',
  282. slot: 'quotationProjectName',
  283. dynamicRules: ({ model, schema }) => {
  284. return [{ required: true, message: '请输入报价项目名称!' }];
  285. },
  286. },
  287. {
  288. label: '客户(customer)',
  289. labelWidth: 200,
  290. field: 'quotationCustomerName',
  291. component: 'Input',
  292. dynamicDisabled: true,
  293. componentProps: {
  294. AutoComplete: 'off',
  295. },
  296. },
  297. {
  298. label: '业务类型(busyness type)',
  299. labelWidth: 200,
  300. field: 'busynessType',
  301. component: 'JDictSelectTag',
  302. componentProps: {
  303. dictCode: 'busyness_type',
  304. },
  305. },
  306. {
  307. label: '优先级(priority)',
  308. labelWidth: 200,
  309. field: 'priority',
  310. component: 'JDictSelectTag',
  311. componentProps: {
  312. dictCode: 'priority',
  313. },
  314. },
  315. {
  316. label: '产品分类(production class)',
  317. labelWidth: 200,
  318. field: 'productionClass',
  319. component: 'ApiSelect',
  320. componentProps: {
  321. // mode: 'multiple',//multiple: 多选;不填写为单选
  322. //请求api,返回结果{ result: { records: [{'id':'1',name:'scott'},{'id':'2',name:'小张'}] }}
  323. api: () => defHttp.get({ url: 'baseCode/baseProductClass/list?pageSize=-1' }),
  324. //数值转成String
  325. numberToString: false,
  326. //标题字段
  327. labelField: 'name',
  328. //值字段
  329. valueField: 'id',
  330. //请求参数
  331. params: {},
  332. //返回结果字段
  333. resultField: 'records',
  334. filterOption: 'true',
  335. showSearch: 'true',
  336. optionFilterProp: 'label',
  337. },
  338. },
  339. {
  340. label: '机型(model)',
  341. field: 'model',
  342. labelWidth: 200,
  343. component: 'JDictSelectTag',
  344. dynamicRules: ({ model, schema }) => {
  345. return [{ required: true, message: '请输入机型!' }];
  346. },
  347. componentProps: {
  348. dictCode: 'model_typer',
  349. },
  350. },
  351. {
  352. label: '厂家(maker)',
  353. labelWidth: 200,
  354. field: 'maker',
  355. component: 'JDictSelectTag',
  356. componentProps: {
  357. dictCode: 'factory',
  358. },
  359. },
  360. {
  361. label: '币种(currency)',
  362. labelWidth: 200,
  363. field: 'currency',
  364. component: 'JDictSelectTag',
  365. dynamicDisabled: true,
  366. dynamicRules: ({ model, schema }) => {
  367. return [{ required: true, message: '请输入币种!' }];
  368. },
  369. componentProps: {
  370. dictCode: 'currency',
  371. },
  372. },
  373. {
  374. label: '交货条款(delivery terms)',
  375. labelWidth: 200,
  376. field: 'deliveryTerms',
  377. component: 'JDictSelectTag',
  378. componentProps: {
  379. dictCode: 'delivery_terms',
  380. },
  381. },
  382. {
  383. label: '付款条件(payment terms)',
  384. field: 'paymentTerms',
  385. labelWidth: 200,
  386. component: 'JDictSelectTag',
  387. componentProps: {
  388. dictCode: 'payment_terms',
  389. },
  390. },
  391. {
  392. label: '付款条件2',
  393. field: 'paymentInfo',
  394. labelWidth: 200,
  395. component: 'Input',
  396. componentProps: {
  397. AutoComplete: 'off',
  398. },
  399. },
  400. {
  401. label: '销售部门(sale department)',
  402. field: 'saleDepartmentName',
  403. labelWidth: 200,
  404. component: 'Input',
  405. dynamicDisabled: true,
  406. componentProps: {},
  407. },
  408. {
  409. label: '',
  410. field: 'saleDepartment',
  411. component: 'Input',
  412. show: false,
  413. },
  414. {
  415. label: '业务员(salesman)',
  416. field: 'salesmanName',
  417. labelWidth: 200,
  418. component: 'Input',
  419. dynamicDisabled: true,
  420. componentProps: {},
  421. },
  422. {
  423. label: '',
  424. field: 'salesman',
  425. component: 'Input',
  426. show: false,
  427. },
  428. {
  429. label: '汇率(exchange rate)',
  430. field: 'exchangeRate',
  431. labelWidth: 200,
  432. component: 'Input',
  433. dynamicDisabled: true,
  434. componentProps: {
  435. AutoComplete: 'off',
  436. },
  437. },
  438. {
  439. label: '备注(notes)',
  440. field: 'notes',
  441. labelWidth: 200,
  442. component: 'Input',
  443. componentProps: {
  444. AutoComplete: 'off',
  445. },
  446. },
  447. {
  448. label: '附件(attachs)',
  449. field: 'attachs',
  450. labelWidth: 200,
  451. component: 'JUpload',
  452. },
  453. {
  454. label: '',
  455. field: 'id',
  456. component: 'Input',
  457. show: false,
  458. },
  459. {
  460. label: '',
  461. field: 'quotationCustomer',
  462. component: 'Input',
  463. show: false,
  464. },
  465. {
  466. label: '',
  467. field: 'quotationProject',
  468. component: 'Input',
  469. show: false,
  470. },
  471. {
  472. label: '',
  473. field: 'status',
  474. component: 'Input',
  475. show: false,
  476. },
  477. {
  478. label: '',
  479. field: 'sourceCode',
  480. component: 'Input',
  481. show: false,
  482. },
  483. ];
  484. //子表单数据
  485. //子表表格配置
  486. export const saleContractShipColumns: JVxeColumn[] = [
  487. {
  488. title: '船名(ship name)',
  489. key: 'shipName',
  490. type: JVxeTypes.normal,
  491. placeholder: '请输入${title}',
  492. defaultValue: '',
  493. },
  494. {
  495. title: '主机号(hostN number)',
  496. key: 'hostNumber',
  497. type: JVxeTypes.input,
  498. placeholder: '请输入${title}',
  499. defaultValue: '',
  500. },
  501. {
  502. title: '工程编号(project No)',
  503. key: 'projectNo',
  504. type: JVxeTypes.input,
  505. placeholder: '请输入${title}',
  506. defaultValue: '',
  507. },
  508. {
  509. title: '船厂(ship factory)',
  510. key: 'shipFactory',
  511. type: JVxeTypes.normal,
  512. width: '200px',
  513. placeholder: '请输入${title}',
  514. defaultValue: '',
  515. },
  516. {
  517. title: '船东(shipowner)',
  518. key: 'shipowner',
  519. type: JVxeTypes.normal,
  520. placeholder: '请输入${title}',
  521. defaultValue: '',
  522. },
  523. {
  524. title: '操作(operation)',
  525. key: 'action',
  526. width: '400px',
  527. // 固定在右侧
  528. fixed: 'right',
  529. // 对齐方式为居中
  530. align: 'center',
  531. // 组件类型定义为【插槽】
  532. type: JVxeTypes.slot,
  533. // slot 的名称,对应 v-slot 冒号后面和等号前面的内容
  534. slotName: 'action',
  535. },
  536. ];
  537. export const saleContractProductColumns: JVxeColumn[] = [
  538. {
  539. title: '交期(delivery time)',
  540. key: 'deliveryTime',
  541. type: JVxeTypes.date,
  542. width: '200px',
  543. placeholder: '请输入${title}',
  544. defaultValue: '',
  545. },
  546. // {
  547. // title: '产品分类(product class)',
  548. // key: 'productClass',
  549. // type: JVxeTypes.normal,
  550. // width: '200px',
  551. // placeholder: '请输入${title}',
  552. // defaultValue: '',
  553. // },
  554. {
  555. title: '产品编码(product code)',
  556. key: 'productCode',
  557. type: JVxeTypes.normal,
  558. width: '200px',
  559. placeholder: '请输入${title}',
  560. defaultValue: '',
  561. },
  562. {
  563. title: '产品中文名chinese name)',
  564. key: 'chineseName',
  565. type: JVxeTypes.normal,
  566. width: '200px',
  567. placeholder: '请输入${title}',
  568. defaultValue: '',
  569. },
  570. {
  571. title: '产品英文名(english name)',
  572. key: 'englishName',
  573. type: JVxeTypes.input,
  574. width: '200px',
  575. placeholder: '请输入${title}',
  576. defaultValue: '',
  577. },
  578. {
  579. title: '型号(model)',
  580. key: 'model',
  581. type: JVxeTypes.normal,
  582. width: '200px',
  583. placeholder: '请输入${title}',
  584. defaultValue: '',
  585. },
  586. {
  587. title: '备件号(partno)',
  588. key: 'partno',
  589. type: JVxeTypes.normal,
  590. width: '200px',
  591. placeholder: '请输入${title}',
  592. defaultValue: '',
  593. },
  594. {
  595. title: '图号(drawingno)',
  596. key: 'drawingno',
  597. type: JVxeTypes.normal,
  598. width: '200px',
  599. placeholder: '请输入${title}',
  600. defaultValue: '',
  601. },
  602. {
  603. title: '订货号(orderno)',
  604. key: 'orderno',
  605. type: JVxeTypes.normal,
  606. width: '200px',
  607. placeholder: '请输入${title}',
  608. defaultValue: '',
  609. },
  610. // {
  611. // title: '厂家(factory)',
  612. // key: 'factory',
  613. // type: JVxeTypes.normal,
  614. // width: '200px',
  615. // placeholder: '请输入${title}',
  616. // defaultValue: '',
  617. // },
  618. {
  619. title: '质量等级(quality grade)',
  620. key: 'qualityGrade',
  621. type: JVxeTypes.normal,
  622. width: '200px',
  623. placeholder: '请输入${title}',
  624. defaultValue: '',
  625. },
  626. {
  627. title: '数量(quantity)',
  628. key: 'quantity',
  629. type: JVxeTypes.normal,
  630. width: '200px',
  631. placeholder: '请输入${title}',
  632. defaultValue: '',
  633. },
  634. {
  635. title: '税率(tax rate)',
  636. key: 'taxRate',
  637. type: JVxeTypes.normal,
  638. width: '200px',
  639. placeholder: '请输入${title}',
  640. defaultValue: '',
  641. },
  642. {
  643. title: '折扣(discount)',
  644. key: 'discount',
  645. type: JVxeTypes.normal,
  646. width: '200px',
  647. placeholder: '请输入${title}',
  648. defaultValue: '',
  649. },
  650. {
  651. title: '折前单价(pre discount price)',
  652. key: 'preDiscountPrice',
  653. type: JVxeTypes.normal,
  654. width: '200px',
  655. placeholder: '请输入${title}',
  656. defaultValue: '',
  657. },
  658. {
  659. title: '单价(price)',
  660. key: 'taxPrice',
  661. type: JVxeTypes.normal,
  662. width: '200px',
  663. placeholder: '请输入${title}',
  664. defaultValue: '',
  665. },
  666. {
  667. title: '金额(amount)',
  668. key: 'taxAmount',
  669. type: JVxeTypes.normal,
  670. width: '200px',
  671. placeholder: '请输入${title}',
  672. defaultValue: '',
  673. },
  674. {
  675. title: '备注(notes)',
  676. key: 'notes',
  677. type: JVxeTypes.input,
  678. width: '200px',
  679. placeholder: '请输入${title}',
  680. defaultValue: '',
  681. },
  682. {
  683. title: '操作(operation)',
  684. key: 'action',
  685. width: '200px',
  686. // 固定在右侧
  687. fixed: 'right',
  688. // 对齐方式为居中
  689. align: 'center',
  690. // 组件类型定义为【插槽】
  691. type: JVxeTypes.slot,
  692. // slot 的名称,对应 v-slot 冒号后面和等号前面的内容
  693. slotName: 'action',
  694. },
  695. ];
  696. // 高级查询数据
  697. export const superQuerySchema = {
  698. hisId: { title: '历史主键', order: 0, view: 'text', type: 'string' },
  699. status: { title: '状态(1-已提交,0-未提交)', order: 1, view: 'number', type: 'number' },
  700. billDate: { title: '单据日期', order: 2, view: 'date', type: 'string' },
  701. billCode: { title: '单据编码', order: 3, view: 'text', type: 'string' },
  702. quotationProject: { title: '报价项目', order: 4, view: 'text', type: 'string' },
  703. quotationProjectName: { title: '报价项目名称', order: 5, view: 'text', type: 'string' },
  704. quotationCustomer: { title: '报价客户', order: 6, view: 'text', type: 'string' },
  705. quotationCustomerName: { title: '报价客户名称', order: 7, view: 'text', type: 'string' },
  706. busynessType: { title: '业务类型(busyness type)', order: 8, view: 'text', type: 'string' },
  707. priority: { title: '优先级(priority)', order: 9, view: 'text', type: 'string' },
  708. productionClass: { title: '产品分类(production class)', order: 10, view: 'text', type: 'string' },
  709. model: { title: '机型(model)', order: 11, view: 'text', type: 'string' },
  710. maker: { title: '厂家(maker)', order: 12, view: 'text', type: 'string' },
  711. currency: { title: '币种(currency)', order: 13, view: 'text', type: 'string' },
  712. deliveryTerms: { title: '交货条款(delivery terms)', order: 14, view: 'text', type: 'string' },
  713. paymentTerms: { title: '付款条件(payment terms)', order: 15, view: 'text', type: 'string' },
  714. paymentInfo: { title: '付款条件2', order: 16, view: 'text', type: 'string' },
  715. saleDepartment: { title: '销售部门(sale department)', order: 17, view: 'sel_depart', type: 'string' },
  716. salesman: { title: '业务员(salesman)', order: 18, view: 'sel_user', type: 'string' },
  717. exchangeRate: { title: '汇率(exchange rate)', order: 19, view: 'text', type: 'string' },
  718. notes: { title: '备注(notes)', order: 20, view: 'text', type: 'string' },
  719. attachs: { title: '附件(attachs)', order: 21, view: 'text', type: 'string' },
  720. version: { title: '版本号', order: 22, view: 'text', type: 'string' },
  721. isClose: { title: '关闭(1-是,0-否)', order: 23, view: 'number', type: 'number' },
  722. //子表高级查询
  723. saleContractShip: {
  724. title: '销售合同-船明细',
  725. view: 'table',
  726. fields: {
  727. status: { title: '状态(1-启用,0-停用)', order: 0, view: 'number', type: 'number' },
  728. headId: { title: '表头主键(销售合同)', order: 2, view: 'text', type: 'string' },
  729. shipId: { title: '船id', order: 3, view: 'text', type: 'string' },
  730. shipName: { title: '船名', order: 4, view: 'text', type: 'string' },
  731. hostNumber: { title: '主机号', order: 5, view: 'text', type: 'string' },
  732. projectNo: { title: '工程编号', order: 6, view: 'text', type: 'string' },
  733. shipFactory: { title: '船厂', order: 7, view: 'text', type: 'string' },
  734. shipowner: { title: '船东', order: 8, view: 'text', type: 'string' },
  735. },
  736. },
  737. saleContractProduct: {
  738. title: '销售合同-产品明细',
  739. view: 'table',
  740. fields: {
  741. status: { title: '状态(1-启用,0-停用)', order: 0, view: 'number', type: 'number' },
  742. headId: { title: '表头主键(销售报价单)', order: 2, view: 'text', type: 'string' },
  743. deliveryTime: { title: '交期', order: 3, view: 'datetime', type: 'string' },
  744. productId: { title: '产品id', order: 4, view: 'text', type: 'string' },
  745. productClass: { title: '产品分类', order: 5, view: 'text', type: 'string' },
  746. productCode: { title: '产品编码', order: 6, view: 'text', type: 'string' },
  747. chineseName: { title: '产品中文名', order: 7, view: 'text', type: 'string' },
  748. englishName: { title: '产品英文名', order: 8, view: 'text', type: 'string' },
  749. specifications: { title: '规格', order: 9, view: 'text', type: 'string' },
  750. model: { title: '型号', order: 10, view: 'text', type: 'string' },
  751. partno: { title: '备件号', order: 11, view: 'text', type: 'string' },
  752. drawingno: { title: '图号', order: 12, view: 'text', type: 'string' },
  753. orderno: { title: '订货号', order: 13, view: 'text', type: 'string' },
  754. factory: { title: '厂家', order: 14, view: 'text', type: 'string' },
  755. qualityGrade: { title: '质量等级', order: 15, view: 'text', type: 'string' },
  756. quantity: { title: '数量', order: 16, view: 'number', type: 'number' },
  757. unit: { title: '单位', order: 17, view: 'text', type: 'string' },
  758. taxRate: { title: '税率(tax rate)', order: 18, view: 'number', type: 'number' },
  759. discount: { title: '折扣(discount)', order: 19, view: 'text', type: 'string' },
  760. taxPrice: { title: '单价(price)', order: 20, view: 'number', type: 'number' },
  761. taxAmount: { title: '金额(amount)', order: 21, view: 'number', type: 'number' },
  762. notes: { title: '备注(notes)', order: 22, view: 'text', type: 'string' },
  763. },
  764. },
  765. };
  766. /**
  767. * 流程表单调用这个方法获取formSchema
  768. * @param param
  769. */
  770. export function getBpmFormSchema(_formData): FormSchema[] {
  771. // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema
  772. return formSchema;
  773. }