tableConfig.ts 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788
  1. import { useDictionaryStore } from "@/store";
  2. const { dicts } = useDictionaryStore();
  3. import dictDataUtil from "@/common/configs/dictDataUtil";
  4. export const tableConfig = {
  5. MARTERIAL: {
  6. url: "/api/v1/base/material",
  7. column: [
  8. { label: "物料编码", prop: "materialCode", search: true },
  9. { label: "物料名称", prop: "materialName", search: true },
  10. { label: "保质期", prop: "qualityGuaranteePeriod" },
  11. { label: "物料规格", prop: "spec" },
  12. {
  13. label: "物料属性",
  14. prop: "attributeDictValue",
  15. search: true,
  16. filterable: true,
  17. type: "select",
  18. dataType: "string",
  19. dicData: dicts.material_properties,
  20. props: { label: "dictLabel", value: "dictValue" },
  21. },
  22. {
  23. label: "是否工装",
  24. prop: "frock",
  25. filterable: true,
  26. type: "radio", //类型为单选框
  27. dicData: [
  28. {
  29. label: "否",
  30. value: 0,
  31. },
  32. {
  33. label: "是",
  34. value: 1,
  35. },
  36. ],
  37. value: 0,
  38. },
  39. {
  40. label: "质检方案",
  41. prop: "inspectDictValue",
  42. search: true,
  43. filterable: true,
  44. type: "select",
  45. dataType: "string",
  46. dicData: dicts.quality_testing_plan,
  47. props: { label: "dictLabel", value: "dictValue" },
  48. },
  49. {
  50. label: "物料级别",
  51. prop: "levelDictValue",
  52. search: true,
  53. filterable: true,
  54. type: "select",
  55. dataType: "string",
  56. dicData: dicts.material_level,
  57. props: { label: "dictLabel", value: "dictValue" },
  58. },
  59. {
  60. label: "封装方法",
  61. prop: "packageDictValue",
  62. search: true,
  63. filterable: true,
  64. type: "select",
  65. dataType: "string",
  66. dicData: dicts.packaging_method,
  67. props: { label: "dictLabel", value: "dictValue" },
  68. },
  69. {
  70. label: "质量等级",
  71. prop: "qualityLevelDictValue",
  72. search: true,
  73. filterable: true,
  74. type: "select",
  75. dataType: "string",
  76. dicData: dicts.quality_grade,
  77. props: { label: "dictLabel", value: "dictValue" },
  78. },
  79. {
  80. label: "选用类型",
  81. prop: "selectionDictValue",
  82. search: true,
  83. filterable: true,
  84. type: "select",
  85. dataType: "string",
  86. dicData: dicts.selection_type,
  87. props: { label: "dictLabel", value: "dictValue" },
  88. },
  89. {
  90. label: "阶段",
  91. prop: "stageDictValue",
  92. search: true,
  93. filterable: true,
  94. type: "select",
  95. dataType: "string",
  96. dicData: dicts.stage,
  97. props: { label: "dictLabel", value: "dictValue" },
  98. },
  99. {
  100. label: "物料单位",
  101. prop: "unitDictValue",
  102. search: true,
  103. filterable: true,
  104. type: "select",
  105. dataType: "string",
  106. dicData: dicts.danwei_type,
  107. props: { label: "dictLabel", value: "dictValue" },
  108. },
  109. { label: "备注", prop: "remark", type: "textarea" },
  110. ],
  111. },
  112. FACTORY: {
  113. url: "/api/v1/base/workShop",
  114. column: [
  115. {
  116. label: "车间名称",
  117. prop: "name",
  118. search: true,
  119. },
  120. {
  121. label: "车间负责人",
  122. prop: "manager",
  123. rules: [
  124. {
  125. required: true,
  126. message: "请选择厂区负责人",
  127. trigger: "blur",
  128. },
  129. ],
  130. type: "select",
  131. dicUrl: import.meta.env.VITE_APP_BASE_API + "/api/v1/sys/user/list",
  132. dicMethod: "post",
  133. props: {
  134. label: "userName", // 下拉菜单显示的字段
  135. value: "userName", // 下拉菜单值的字段
  136. },
  137. },
  138. {
  139. label: "车间位置",
  140. prop: "position",
  141. },
  142. {
  143. label: "所属工厂",
  144. prop: "factoryName",
  145. display: false,
  146. },
  147. {
  148. label: "车间描述",
  149. prop: "remark",
  150. },
  151. {
  152. label: "创建人",
  153. prop: "creator",
  154. display: false,
  155. },
  156. {
  157. label: "创建时间",
  158. prop: "created",
  159. display: false,
  160. },
  161. ],
  162. },
  163. PRODUCTIONLINE: {
  164. url: "/api/v1/base/productionLine/list",
  165. column: [
  166. {
  167. label: "产线名称",
  168. prop: "name",
  169. search: true,
  170. rules: [
  171. {
  172. required: true,
  173. message: "请填写产线名称",
  174. trigger: "blur",
  175. },
  176. ],
  177. },
  178. {
  179. label: "产线负责人",
  180. prop: "manager",
  181. rules: [
  182. {
  183. required: true,
  184. message: "请选择产线负责人",
  185. trigger: "blur",
  186. },
  187. ],
  188. type: "select",
  189. dicUrl: import.meta.env.VITE_APP_BASE_API + "/api/v1/sys/user/list",
  190. dicMethod: "post",
  191. props: {
  192. label: "userName", // 下拉菜单显示的字段
  193. value: "userName", // 下拉菜单值的字段
  194. },
  195. },
  196. {
  197. label: "产线位置",
  198. prop: "position",
  199. },
  200. {
  201. label: "所属车间",
  202. prop: "workShopName",
  203. display: false,
  204. },
  205. {
  206. label: "产线描述",
  207. prop: "remark",
  208. },
  209. {
  210. label: "创建人",
  211. prop: "creator",
  212. display: false,
  213. },
  214. {
  215. label: "创建时间",
  216. prop: "created",
  217. display: false,
  218. },
  219. ],
  220. },
  221. STATION: {
  222. url: "/api/v1/base/station",
  223. column: [
  224. {
  225. label: "工位编号",
  226. prop: "stationCode",
  227. search: true,
  228. rules: [
  229. {
  230. required: true,
  231. message: "请填写工位编号",
  232. trigger: "blur",
  233. },
  234. ],
  235. },
  236. {
  237. label: "工位名称",
  238. prop: "name",
  239. search: true,
  240. rules: [
  241. {
  242. required: true,
  243. message: "请填写工位名称",
  244. trigger: "blur",
  245. },
  246. ],
  247. },
  248. {
  249. label: "工位类型",
  250. prop: "stationDictValue",
  251. search: true,
  252. rules: [
  253. {
  254. required: true,
  255. message: "请选择工位类型",
  256. trigger: "blur",
  257. },
  258. ],
  259. type: "select",
  260. dicData: dicts.station_type,
  261. searchClearable: false, //可清空的输入框,默认为true
  262. filterable: true, //添加filterable属性即可启用搜索功能
  263. props: {
  264. label: "dictLabel", // 下拉菜单显示的字段
  265. value: "dictValue", // 下拉菜单值的字段
  266. },
  267. },
  268. {
  269. label: "工位操作方式",
  270. prop: "operateDictValue",
  271. rules: [
  272. {
  273. required: true,
  274. message: "请选择工位方式",
  275. trigger: "blur",
  276. },
  277. ],
  278. type: "select",
  279. dicData: dicts.station_operate_type,
  280. props: {
  281. label: "dictLabel", // 下拉菜单显示的字段
  282. value: "dictValue", // 下拉菜单值的字
  283. },
  284. },
  285. {
  286. label: "工位负责人",
  287. prop: "manager",
  288. rules: [
  289. {
  290. required: true,
  291. message: "请选择工位负责人",
  292. trigger: "blur",
  293. },
  294. ],
  295. type: "select",
  296. dicUrl: import.meta.env.VITE_APP_BASE_API + "/api/v1/sys/user/list",
  297. dicMethod: "post",
  298. props: {
  299. label: "userName", // 下拉菜单显示的字段
  300. value: "userName", // 下拉菜单值的字段
  301. },
  302. },
  303. {
  304. label: "所属产线",
  305. prop: "productionLineName",
  306. display: false,
  307. },
  308. {
  309. label: "工位地址",
  310. prop: "position",
  311. rules: [
  312. {
  313. required: true,
  314. message: "请填写工位地址",
  315. trigger: "blur",
  316. },
  317. ],
  318. },
  319. {
  320. label: "工位IP地址",
  321. prop: "stationIp",
  322. rules: [
  323. {
  324. required: true,
  325. message: "请填写工位IP地址",
  326. trigger: "blur",
  327. },
  328. ],
  329. },
  330. {
  331. label: "工位描述",
  332. prop: "remark",
  333. type: "textarea",
  334. span: 24,
  335. },
  336. {
  337. label: "创建人",
  338. prop: "creator",
  339. display: false,
  340. },
  341. {
  342. label: "创建时间",
  343. prop: "created",
  344. display: false,
  345. },
  346. ],
  347. },
  348. DEVICE: {
  349. url: "/api/v1/device",
  350. column: [
  351. {
  352. label: "资产编号",
  353. prop: "deviceNo",
  354. search: true,
  355. rules: [
  356. {
  357. required: true,
  358. message: "设备编号不能为空",
  359. trigger: "trigger",
  360. },
  361. ],
  362. },
  363. {
  364. label: "设备名称",
  365. prop: "deviceName",
  366. search: true,
  367. rules: [
  368. {
  369. required: true,
  370. message: "设备名称不能为空",
  371. trigger: "trigger",
  372. },
  373. ],
  374. },
  375. {
  376. label: "设备类型",
  377. prop: "deviceType",
  378. type: "select",
  379. search: true,
  380. hide: true,
  381. dicData: dicts.device_type,
  382. props: {
  383. label: "dictLabel",
  384. value: "dictValue",
  385. },
  386. },
  387. {
  388. label: "负责人",
  389. prop: "head",
  390. },
  391. {
  392. label: "存放位置",
  393. prop: "devicePosition",
  394. },
  395. {
  396. label: "型号",
  397. prop: "specifications",
  398. },
  399. {
  400. label: "制造厂",
  401. prop: "brand",
  402. },
  403. {
  404. label: "所属部门",
  405. prop: "deptId",
  406. width: 100,
  407. overHidden: true,
  408. type: "tree",
  409. dicUrl: dictDataUtil.dept_tree_url,
  410. props: {
  411. label: "deptName",
  412. value: "id",
  413. },
  414. rules: [
  415. {
  416. required: true,
  417. message: "所属部门不能为空",
  418. trigger: "trigger",
  419. },
  420. ],
  421. },
  422. {
  423. label: "设备状态",
  424. prop: "state",
  425. type: "select",
  426. dicData: [
  427. {
  428. label: "启用",
  429. value: "0",
  430. },
  431. {
  432. label: "停用",
  433. value: "1",
  434. },
  435. ],
  436. },
  437. ],
  438. },
  439. MARTERIAL_BOM: {
  440. url: "/api/v1/base/materialBom",
  441. column: [
  442. {
  443. label: "物料版本",
  444. prop: "bomVersion",
  445. type: "select",
  446. // search: true, 先选择版本代替了
  447. },
  448. {
  449. label: "物料编码",
  450. search: true,
  451. prop: "bomMaterialCode",
  452. },
  453. {
  454. label: "物料编码",
  455. prop: "materialCode",
  456. hide: true,
  457. },
  458. {
  459. label: "物料名称",
  460. prop: "materialName",
  461. overHidden: true,
  462. hide: true,
  463. },
  464. {
  465. label: "物料名称",
  466. prop: "bomMaterialName",
  467. overHidden: true,
  468. },
  469. {
  470. label: "物料属性",
  471. prop: "bomMaterialAttribute",
  472. type: "select",
  473. dicData: dicts.material_properties,
  474. props: { label: "dictLabel", value: "dictValue" },
  475. },
  476. {
  477. label: "物料数量",
  478. prop: "bomMaterialNumber",
  479. min: 0,
  480. slot: true,
  481. cell: true,
  482. type: "number",
  483. precision: 2,
  484. },
  485. { label: "物料规格", prop: "spec" },
  486. ],
  487. },
  488. OP_CHECK: {
  489. url: "/api/v1/op/base/check",
  490. column: [
  491. {
  492. label: "点检项名称",
  493. prop: "checkName",
  494. span: 12,
  495. labelWidth: "150",
  496. search: true,
  497. editDisabled: true,
  498. },
  499. {
  500. label: "点检项编码",
  501. prop: "checkCode",
  502. labelWidth: "150",
  503. editDisabled: true,
  504. span: 12,
  505. search: true,
  506. },
  507. {
  508. label: "内容",
  509. prop: "content",
  510. span: 12,
  511. search: false,
  512. },
  513. ],
  514. },
  515. ESOP: {
  516. url: "/api/v1/base/drawing",
  517. column: [
  518. {
  519. label: "图纸编码",
  520. prop: "drawingCode",
  521. span: 12,
  522. labelWidth: "150",
  523. search: true,
  524. editDisabled: true,
  525. },
  526. {
  527. label: "标题",
  528. prop: "drawingTitle",
  529. labelWidth: "150",
  530. editDisabled: true,
  531. span: 12,
  532. search: false,
  533. },
  534. {
  535. label: "版本号",
  536. prop: "drawingVersion",
  537. span: 12,
  538. search: false,
  539. },
  540. /*{
  541. label: "图纸",
  542. prop: "drawingPath",
  543. span: 24,
  544. display: false,
  545. slot: true,
  546. // formatter: (row, column, cellValue, index) => {
  547. // return `${row.drawingPath}`;
  548. // },
  549. }*/
  550. ],
  551. },
  552. USERS: {
  553. url: "/api/v1/sys/employeeSkill/users",
  554. column: [
  555. {
  556. label: "用户名",
  557. prop: "userName",
  558. search: true,
  559. width: "120",
  560. },
  561. {
  562. label: "员工编码",
  563. prop: "employeeCode",
  564. search: true,
  565. },
  566. {
  567. label: "用户id",
  568. prop: "id",
  569. hide: true,
  570. /*display:false,*/
  571. },
  572. {
  573. label: "用户电话",
  574. prop: "phone",
  575. search: true,
  576. },
  577. {
  578. label: "部门",
  579. prop: "deptName",
  580. overHidden: true,
  581. disabled: true,
  582. },
  583. /*{
  584. label: "所属机构",
  585. prop: "deptName",
  586. filterable: true,
  587. type: "select",
  588. width: 100,
  589. overHidden: true,
  590. dicUrl: dictDataUtil.dept_list_url,
  591. dicMethod: "post",
  592. props: { label: "deptName", value: "id" },
  593. disabled: true,
  594. },*/
  595. ],
  596. },
  597. FAULT: {
  598. url: "/api/v1/process/escalationFault/order",
  599. column: [
  600. {
  601. label: "不合格审理单号",
  602. prop: "trackingNumber",
  603. search: true,
  604. width: 120,
  605. overHidden: true,
  606. },
  607. {
  608. label: "工单号",
  609. prop: "workOrderCode",
  610. width: 120,
  611. overHidden: true,
  612. search: true,
  613. },
  614. {
  615. label: "订单号",
  616. prop: "orderCode",
  617. width: 120,
  618. overHidden: true,
  619. search: true,
  620. },
  621. {
  622. label: "不合格数量",
  623. prop: "unqualifiedNum",
  624. width: 100,
  625. overHidden: true,
  626. },
  627. {
  628. label: "序列号",
  629. prop: "seqNo",
  630. overHidden: true,
  631. },
  632. {
  633. label: "报故人",
  634. prop: "creator",
  635. width: 100,
  636. },
  637. {
  638. label: "产品编码",
  639. prop: "materialCode",
  640. width: 120,
  641. overHidden: true,
  642. },
  643. {
  644. label: "产品名称",
  645. prop: "materialName",
  646. width: 100,
  647. overHidden: true,
  648. },
  649. {
  650. label: "规格",
  651. prop: "spec",
  652. width: 150,
  653. overHidden: true,
  654. },
  655. ],
  656. },
  657. ROUTE_COMMON: {
  658. url: "/api/v1/op/route/common",
  659. column: [
  660. {
  661. label: "工艺编号",
  662. prop: "processRouteCode",
  663. search: true,
  664. width: 150,
  665. addDisplay: true,
  666. editDisabled: true,
  667. overHidden: true,
  668. rules: [
  669. {
  670. required: true,
  671. message: "工艺路线名称不能为空",
  672. trigger: "blur",
  673. },
  674. ],
  675. },
  676. {
  677. label: "工艺名称",
  678. prop: "processRouteName",
  679. width: 150,
  680. search: true,
  681. overHidden: true,
  682. rules: [
  683. {
  684. required: true,
  685. message: "工艺路线名称不能为空",
  686. trigger: "blur",
  687. },
  688. ],
  689. },
  690. {
  691. label: "工艺类型",
  692. prop: "processRouteType",
  693. minWidth: 120,
  694. search: true,
  695. overHidden: true,
  696. rules: [
  697. {
  698. required: true,
  699. message: "工艺路线类型不能为空",
  700. trigger: "change",
  701. },
  702. ],
  703. type: "select",
  704. dicUrl: dictDataUtil.request_url + dictDataUtil.TYPE_CODE.routing_type,
  705. props: {
  706. label: "dictLabel",
  707. value: "dictValue",
  708. },
  709. },
  710. {
  711. label: "启用状态",
  712. prop: "enabled",
  713. addDisplay: false,
  714. // editDisplay: false,
  715. slot: true,
  716. width: 100,
  717. type: "radio",
  718. dicData: [
  719. {
  720. label: "未启用",
  721. value: 1,
  722. },
  723. {
  724. label: "启用",
  725. value: 0,
  726. },
  727. ],
  728. value: 0,
  729. },
  730. // 只有绑定了工序才可以复制。
  731. {
  732. label: "是否可复制",
  733. prop: "usable2",
  734. slot: true,
  735. width: 100,
  736. search: false,
  737. filterable: true,
  738. hide: true,
  739. addDisplay: false,
  740. editDisplay: false,
  741. type: "radio",
  742. dicData: [
  743. {
  744. label: "否",
  745. value: 0,
  746. },
  747. {
  748. label: "是",
  749. value: 1,
  750. },
  751. ],
  752. value: 0,
  753. },
  754. {
  755. label: "创建人",
  756. prop: "creator",
  757. addDisplay: false,
  758. editDisplay: false,
  759. overHidden: true,
  760. },
  761. {
  762. label: "创建时间",
  763. prop: "created",
  764. addDisplay: false,
  765. editDisplay: false,
  766. width: 150,
  767. overHidden: true,
  768. },
  769. ],
  770. },
  771. };