tableConfig.ts 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636
  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. dicData: dicts.device_type,
  381. props: {
  382. label: "dictLabel",
  383. value: "dictValue",
  384. },
  385. },
  386. {
  387. label: "负责人",
  388. prop: "head",
  389. },
  390. {
  391. label: "设备位置",
  392. prop: "devicePosition",
  393. },
  394. {
  395. label: "规格",
  396. prop: "specifications",
  397. },
  398. {
  399. label: "品牌",
  400. prop: "brand",
  401. },
  402. ],
  403. },
  404. MARTERIAL_BOM: {
  405. url: "/api/v1/base/materialBom/list",
  406. column: [
  407. {
  408. label: "物料版本",
  409. prop: "bomVersion",
  410. search: true,
  411. type: "select",
  412. },
  413. {
  414. label: "物料编码",
  415. prop: "materialCode",
  416. hide: true,
  417. },
  418. {
  419. label: "物料名称",
  420. prop: "materialName",
  421. overHidden: true,
  422. hide: true,
  423. },
  424. {
  425. label: "物料编码",
  426. prop: "bomMaterialCode",
  427. },
  428. {
  429. label: "物料名称",
  430. prop: "bomMaterialName",
  431. overHidden: true,
  432. },
  433. {
  434. label: "物料属性",
  435. prop: "bomMaterialAttribute",
  436. type: "select",
  437. dicData: dicts.material_properties,
  438. props: { label: "dictLabel", value: "dictValue" },
  439. },
  440. {
  441. label: "物料数量",
  442. prop: "bomMaterialNumber",
  443. min: 0,
  444. slot: true,
  445. cell: true,
  446. type: "number",
  447. precision: 2,
  448. },
  449. { label: "物料规格", prop: "spec", search: true },
  450. ],
  451. },
  452. OP_CHECK: {
  453. url: "/api/v1/op/base/check",
  454. column: [
  455. {
  456. label: "点检项名称",
  457. prop: "checkName",
  458. span: 12,
  459. labelWidth: "150",
  460. search: true,
  461. editDisabled: true,
  462. },
  463. {
  464. label: "点检项编码",
  465. prop: "checkCode",
  466. labelWidth: "150",
  467. editDisabled: true,
  468. span: 12,
  469. search: true,
  470. },
  471. {
  472. label: "内容",
  473. prop: "content",
  474. span: 12,
  475. search: false,
  476. },
  477. ],
  478. },
  479. ESOP: {
  480. url: "/api/v1/base/drawing",
  481. column: [
  482. {
  483. label: "图纸编码",
  484. prop: "drawingCode",
  485. span: 12,
  486. labelWidth: "150",
  487. search: true,
  488. editDisabled: true,
  489. },
  490. {
  491. label: "标题",
  492. prop: "drawingTitle",
  493. labelWidth: "150",
  494. editDisabled: true,
  495. span: 12,
  496. search: false,
  497. },
  498. {
  499. label: "版本号",
  500. prop: "drawingVersion",
  501. span: 12,
  502. search: false,
  503. },
  504. /*{
  505. label: "图纸",
  506. prop: "drawingPath",
  507. span: 24,
  508. display: false,
  509. slot: true,
  510. // formatter: (row, column, cellValue, index) => {
  511. // return `${row.drawingPath}`;
  512. // },
  513. }*/
  514. ],
  515. },
  516. USERS: {
  517. url: "/api/v1/sys/employeeSkill/users",
  518. column: [
  519. {
  520. label: "员工编码",
  521. prop: "employeeCode",
  522. search: true,
  523. },
  524. {
  525. label: "用户id",
  526. prop: "id",
  527. /*display:false,*/
  528. },
  529. {
  530. label: "用户名",
  531. prop: "userName",
  532. search: true,
  533. width: "120",
  534. },
  535. {
  536. label: "用户电话",
  537. prop: "phone",
  538. search: true,
  539. },
  540. {
  541. label: "部门",
  542. prop: "deptName",
  543. overHidden: true,
  544. disabled: true,
  545. },
  546. {
  547. label: "所属机构",
  548. prop: "institution",
  549. filterable: true,
  550. type: "select",
  551. width: 100,
  552. overHidden: true,
  553. dicUrl: dictDataUtil.dept_list_url,
  554. dicMethod: "post",
  555. props: { label: "deptName", value: "id" },
  556. disabled: true,
  557. },
  558. ],
  559. },
  560. FAULT: {
  561. url: "/api/v1/process/escalationFault/order",
  562. column: [
  563. {
  564. label: "不合格审理单号",
  565. prop: "trackingNumber",
  566. search: true,
  567. width: 120,
  568. overHidden: true,
  569. },
  570. {
  571. label: "工单号",
  572. prop: "workOrderCode",
  573. width: 120,
  574. overHidden: true,
  575. search: true,
  576. },
  577. {
  578. label: "订单号",
  579. prop: "orderCode",
  580. width: 120,
  581. overHidden: true,
  582. search: true,
  583. },
  584. {
  585. label: "不合格数量",
  586. prop: "unqualifiedNum",
  587. width: 100,
  588. overHidden: true,
  589. },
  590. {
  591. label: "序列号",
  592. prop: "seqNo",
  593. overHidden: true,
  594. },
  595. {
  596. label: "报故人",
  597. prop: "creator",
  598. width: 100,
  599. },
  600. {
  601. label: "产品编码",
  602. prop: "materialCode",
  603. width: 120,
  604. overHidden: true,
  605. },
  606. {
  607. label: "产品名称",
  608. prop: "materialName",
  609. width: 100,
  610. overHidden: true,
  611. },
  612. {
  613. label: "规格",
  614. prop: "spec",
  615. width: 150,
  616. overHidden: true,
  617. },
  618. ],
  619. },
  620. };