SaleContract.data.ts 20 KB

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