You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1794 lines
54 KiB

7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
6 months ago
7 months ago
6 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
6 months ago
7 months ago
6 months ago
7 months ago
  1. <template>
  2. <div class="customer-css">
  3. <!-- 查询时间和产品 -->
  4. <el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;">
  5. <el-row>
  6. <el-form-item :label=labels.enterDate>
  7. <el-date-picker class="el-time-width" style="" v-model="pageData.enterTime1" value-format="yyyy-MM-dd"></el-date-picker>
  8. </el-form-item>
  9. <el-form-item :label="''" style="margin-top: -10px;">
  10. <el-date-picker class="el-time-width" style="margin-top: 30px;" v-model="pageData.enterTime2" value-format="yyyy-MM-dd" placeholder=""></el-date-picker>
  11. </el-form-item>
  12. <el-form-item :label=labels.orderNo>
  13. <el-input v-model="pageData.orderNo" style="width: 120px"></el-input>
  14. </el-form-item>
  15. <el-form-item :label=labels.siteNo>
  16. <el-input v-model="pageData.site" style="width: 120px"></el-input>
  17. </el-form-item>
  18. </el-row>
  19. <el-row>
  20. <el-form-item :label=labels.needDate>
  21. <el-date-picker class="el-time-width" style="" v-model="pageData.needTime1" value-format="yyyy-MM-dd" placeholder=""></el-date-picker>
  22. </el-form-item>
  23. <el-form-item :label="''" style="margin-top: -10px;">
  24. <el-date-picker class="el-time-width" style="margin-top: 30px;" v-model="pageData.needTime2" value-format="yyyy-MM-dd" placeholder=""></el-date-picker>
  25. </el-form-item>
  26. <el-form-item>
  27. <span slot="label" style="" @click="getBaseList(88)"><a herf="#">{{ labels.resourceId }}</a></span>
  28. <el-input v-model="pageData.resourceId" style="width: 120px"></el-input>
  29. </el-form-item>
  30. <el-form-item>
  31. <span slot="label" style="" @click="getBaseList(24)"><a herf="#">{{ labels.workCenterNo }}</a></span>
  32. <el-input v-model="pageData.workCenterNo" style="width: 120px"></el-input>
  33. </el-form-item>
  34. </el-row>
  35. </el-form>
  36. <!-- 排序规则 -->
  37. <fieldset class="customer-field" style="margin-left: 520px; margin-top: -75px; width: 135px;">
  38. <legend>{{ labels.sortNo }}</legend>
  39. <br>
  40. <el-form :inline="true" style="margin-top: -10px; margin-bottom: 10px;" label-position="top" label-width="100px">
  41. <el-form-item :label="''" style="margin-bottom: 10px;">
  42. <el-radio-group v-model="pageData.sortField">
  43. <el-radio label="needDate">{{ labels.sortNeedDate }}</el-radio>
  44. <el-radio label="orderNo">{{ labels.sortOrderNo }}</el-radio>
  45. <el-radio label="partNo">{{ labels.sortPartNo }}</el-radio>
  46. </el-radio-group>
  47. </el-form-item>
  48. </el-form>
  49. </fieldset>
  50. <!-- 菜单 -->
  51. <el-form :inline="true" label-position="top" label-width="100px" style="margin-left: 660px; margin-top: -40px;">
  52. <el-row>
  53. <el-col :span="24">
  54. <el-form-item :label="''">
  55. <el-form-item :label="''" style="margin-left: 30px;">
  56. <el-button class="customer-bun-min" type="primary" @click="refreshPageTables" style="margin-left: 10px; margin-bottom: 5px;">{{ buttons.refreshButton }}
  57. </el-button>
  58. <el-button :disabled="dataListSelections.length <= 0" type="primary" @click="scheduleBatchDialog()" style="margin-left: 10px; margin-bottom: 5px;">
  59. {{ buttons.scheduleBatch ? buttons.scheduleBatch : '批量排产' }}
  60. </el-button>
  61. </el-form-item>
  62. </el-form-item>
  63. </el-col>
  64. </el-row>
  65. </el-form>
  66. <!-- 工单主表信息 -->
  67. <el-main style="margin-top: 25px; padding: 0px; width: 100%;">
  68. <el-form :inline="true" label-position="top" label-width="100px">
  69. <el-form-item :label=labels.primaryRecord>
  70. </el-form-item>
  71. <el-dropdown trigger="click" class="customer-dropdown" size="small" @command="orderHandleCommand">
  72. <el-button type="primary" :disabled="authEdit" @click="controlPrimaryMenuBun">
  73. {{ buttons.primaryMenu }}<i class="el-icon-arrow-down el-icon--right"></i>
  74. </el-button>
  75. <el-dropdown-menu slot="dropdown">
  76. <el-dropdown-item class="customer-li" command="生产工单" :disabled="primaryMenuButton.shopOrderFlag">{{ buttons.shopOrder }}</el-dropdown-item>
  77. <hr width="95%"/>
  78. <el-dropdown-item class="customer-li" command="查看物料库存" :disabled="primaryMenuButton.partStockFlag">{{ buttons.viewPartStock }}</el-dropdown-item>
  79. </el-dropdown-menu>
  80. </el-dropdown>
  81. <!-- <el-button @click="userSetting" type="primary">{{ buttons.settingTable }}</el-button>-->
  82. </el-form>
  83. <el-table
  84. :height="height"
  85. :data="shopOrderList"
  86. border
  87. ref="routingTable"
  88. highlight-current-row
  89. @selection-change="handleSelectionChange"
  90. @row-click="setCurrentRoutingRow"
  91. :row-class-name="routingRowClassName"
  92. @row-dblclick="startScheduleOperation"
  93. v-loading="dataListLoading"
  94. style="margin-top: -20px; width: 100%;">
  95. <el-table-column
  96. type="selection"
  97. header-align="center"
  98. fixed="left"
  99. align="center"
  100. width="55">
  101. </el-table-column>
  102. <el-table-column
  103. v-for="(item,index) in columnList" :key="index"
  104. :sortable="item.columnSortable"
  105. :prop="item.columnProp"
  106. :header-align="item.headerAlign"
  107. :show-overflow-tooltip="item.showOverflowTooltip"
  108. :align="item.align"
  109. :fixed="item.fixed==''?false:item.fixed"
  110. :width="item.columnWidth"
  111. :label="item.columnLabel">
  112. <template slot-scope="scope">
  113. <span v-if="!item.columnHidden && item.columnProp == 'resourceList'">
  114. <el-select class="table-select-input" v-model="scope.row.resourceId">
  115. <el-option
  116. v-for="(item,index) in scope.row.resourceList"
  117. :key="index"
  118. :value="item.resourceId"
  119. :label="item.resourceDesc">
  120. </el-option>
  121. </el-select>
  122. </span>
  123. <span v-if="!item.columnHidden && item.columnProp == 'qtyToSchedule'">
  124. <el-input v-model="scope.row.qtyToSchedule" type="number"></el-input>
  125. </span>
  126. <span v-else> {{ scope.row[item.columnProp] }}</span>
  127. </template>
  128. </el-table-column>
  129. </el-table>
  130. <!-- 分页栏 -->
  131. <el-pagination
  132. style="margin-top: 0px"
  133. @size-change="sizeChangeHandle"
  134. @current-change="currentChangeHandle"
  135. :current-page="pageIndex"
  136. :page-sizes="[20, 50, 100, 200, 500]"
  137. :page-size="pageSize"
  138. :total="totalPage"
  139. layout="total, sizes, prev, pager, next, jumper">
  140. </el-pagination>
  141. </el-main>
  142. <!--列表的组件-->
  143. <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
  144. <!-- 物料库存查询 -->
  145. <comPartStock ref="comPartStock" :close-on-click-modal="false"
  146. :visible.sync="showPartStockFlag">
  147. </comPartStock>
  148. <!-- 物料库存查询 -->
  149. <comScheduleOrderExpand ref="comScheduleOrderExpand" :close-on-click-modal="false"
  150. :visible.sync="showScheduleOrderFlag"
  151. @refreshPageTables="refreshPageTables">
  152. </comScheduleOrderExpand>
  153. <!-- 动态列 -->
  154. <column v-if="visible" ref="column" @refreshData="getTableUserColumn" v-drag></column>
  155. <el-dialog
  156. width="702px"
  157. :title="'已选工单'"
  158. :close-on-click-modal="false"
  159. :visible.sync="scheduleVisible">
  160. <el-row>
  161. <el-col :span="24">
  162. <el-form :inline="true" label-position="top" style="height: 60px;"
  163. label-width="80px">
  164. <el-form-item :label=labels.scheduledDate>
  165. <el-date-picker class="el-time-width"
  166. style=""
  167. v-model="scheduleDate"
  168. value-format="yyyy-MM-dd">
  169. </el-date-picker>
  170. </el-form-item>
  171. <el-form-item :label="''" style="margin-top: -5px;">
  172. <el-checkbox v-model="specifiedTime" true-label="Y" false-label="N"
  173. style="margin-top: 28px; margin-right: -20px;"></el-checkbox>
  174. <el-time-picker
  175. format="HH:mm"
  176. style="margin-top: 30px; width: 65px"
  177. v-model="scheduleTime"
  178. value-format="HH:mm">
  179. </el-time-picker>
  180. </el-form-item>
  181. </el-form>
  182. </el-col>
  183. </el-row>
  184. <el-row>
  185. <el-col :span="24">
  186. <el-table
  187. :height="300"
  188. :data="dataListSelections"
  189. border
  190. style="margin-top: -15px; width: 100%;">
  191. <el-table-column
  192. v-for="(item,index) in scheduleColumnList" :key="index"
  193. :sortable="item.columnSortable"
  194. :prop="item.columnProp"
  195. :header-align="item.headerAlign"
  196. :show-overflow-tooltip="item.showOverflowTooltip"
  197. :align="item.align"
  198. :fixed="item.fixed==''?false:item.fixed"
  199. :width="item.columnWidth"
  200. :label="item.columnLabel">
  201. <template slot-scope="scope">
  202. <span v-if="!item.columnHidden">
  203. {{ scope.row[item.columnProp] }}
  204. </span>
  205. </template>
  206. </el-table-column>
  207. </el-table>
  208. </el-col>
  209. </el-row>
  210. <span slot="footer" class="dialog-footer">
  211. <el-button type="primary" @click="batchScheduleOrderWithExpandStart()">确定</el-button>
  212. <el-button type="primary" @click="scheduleVisible = false">取消</el-button>
  213. </span>
  214. </el-dialog>
  215. </div>
  216. </template>
  217. <script>
  218. import Chooselist from '@/views/modules/common/Chooselist';/*列表组件*/
  219. import comPartStock from "../common/com_part_stock";/*展示物料库存的组件*/
  220. import comScheduleOrderExpand from '@/views/modules/schedule/com_schedule_order_expand';/*排产扩展 排产单个工单*/
  221. import column from '@/views/modules/common/column';/*动态表头*/
  222. import {
  223. getShopOrderList,
  224. getCurrentWorkCenterNoByResourceId,
  225. batchScheduleOrderWithExpand
  226. } from '@/api/schedule/order_schedule_expand.js';
  227. /*动态表头*/
  228. import {
  229. saveTableDefaultList,
  230. getTableDefaultListLanguage,
  231. getTableUserListLanguage,
  232. removerDefault,
  233. removerUser
  234. } from "@/api/table.js";
  235. import {
  236. searchSysLanguagePackList,
  237. searchSysLanguageParam,
  238. searchFunctionButtonList,
  239. saveButtonList,
  240. searchSysLanguage,
  241. searchLanguageListByLanguageCode,
  242. saveSysLanguageOne,
  243. searchPageLanguageData,
  244. removerLanguage,
  245. saveSysLanguageList
  246. } from "@/api/sysLanguage.js";
  247. var functionId = '104002004';
  248. export default {
  249. data() {
  250. return {
  251. height: 200,
  252. pageIndex: 1,
  253. pageSize: 20,
  254. totalPage: 0,
  255. tagNo: '',
  256. authEdit: false,
  257. authAdd: false,
  258. authDelete: false,
  259. scheduleVisible: false,
  260. scheduleDate: this.dayjs().format('YYYY-MM-DD'),
  261. specifiedTime: 'N',
  262. scheduleTime: '08:30',
  263. dataListSelections: [],
  264. scheduleColumnList: [
  265. {
  266. userId: this.$store.state.user.name,
  267. functionId: 5301,
  268. serialNumber: '5301OrderOrderNo',
  269. tableId: "5301Order",
  270. tableName: "工单表",
  271. columnProp: "orderNo",
  272. headerAlign: "center",
  273. align: "center",
  274. columnLabel: "订单号",
  275. columnWidth: 80,
  276. columnHidden: false,
  277. columnImage: false,
  278. columnSortable: true,
  279. sortLv: 0,
  280. status: true,
  281. fixed: false
  282. },
  283. {
  284. userId: this.$store.state.user.name,
  285. functionId: 5301,
  286. serialNumber: '5301OrderItemNo',
  287. tableId: "5301Order",
  288. tableName: "工单表",
  289. columnProp: "itemNo",
  290. headerAlign: "center",
  291. align: "center",
  292. columnLabel: "工序号",
  293. columnWidth: 80,
  294. columnHidden: false,
  295. columnImage: false,
  296. columnSortable: true,
  297. sortLv: 0,
  298. status: true,
  299. fixed: false
  300. },
  301. {
  302. userId: this.$store.state.user.name,
  303. functionId: 5301,
  304. serialNumber: '5301OrderItemDesc',
  305. tableId: "5301Order",
  306. tableName: "工单表",
  307. columnProp: "itemDesc",
  308. headerAlign: "center",
  309. align: "center",
  310. columnLabel: "工序名称",
  311. columnWidth: 100,
  312. columnHidden: false,
  313. columnImage: false,
  314. columnSortable: true,
  315. sortLv: 0,
  316. status: true,
  317. fixed: false
  318. },
  319. {
  320. userId: this.$store.state.user.name,
  321. functionId: 5301,
  322. serialNumber: '5301OrderPartNo',
  323. tableId: "5301Order",
  324. tableName: "工单表",
  325. columnProp: "partNo",
  326. headerAlign: "center",
  327. align: "center",
  328. columnLabel: "产品编码",
  329. columnWidth: 100,
  330. columnHidden: false,
  331. columnImage: false,
  332. columnSortable: true,
  333. sortLv: 0,
  334. status: true,
  335. fixed: false
  336. },
  337. {
  338. userId: this.$store.state.user.name,
  339. functionId: 5301,
  340. serialNumber: '5301OrderQtyToSchedule',
  341. tableId: "5301Order",
  342. tableName: "工单表",
  343. columnProp: "qtyToSchedule",
  344. headerAlign: "center",
  345. align: "center",
  346. columnLabel: "待排产数量",
  347. columnWidth: 120,
  348. columnHidden: false,
  349. columnImage: false,
  350. columnSortable: true,
  351. sortLv: 0,
  352. status: true,
  353. fixed: false
  354. },
  355. {
  356. userId: this.$store.state.user.name,
  357. functionId: 5301,
  358. serialNumber: '5301OrderWorkCenterNo',
  359. tableId: "5301Order",
  360. tableName: "工单表",
  361. columnProp: "workCenterNo",
  362. headerAlign: "center",
  363. align: "center",
  364. columnLabel: "加工中心",
  365. columnWidth: 100,
  366. columnHidden: false,
  367. columnImage: false,
  368. columnSortable: true,
  369. sortLv: 0,
  370. status: true,
  371. fixed: false
  372. },
  373. {
  374. userId: this.$store.state.user.name,
  375. functionId: 5301,
  376. serialNumber: '5301OrderWorkCenterNo',
  377. tableId: "5301Order",
  378. tableName: "工单表",
  379. columnProp: "resourceId",
  380. headerAlign: "center",
  381. align: "center",
  382. columnLabel: "机台",
  383. columnWidth: 100,
  384. columnHidden: false,
  385. columnImage: false,
  386. columnSortable: true,
  387. sortLv: 0,
  388. status: true,
  389. fixed: false
  390. },
  391. ],
  392. menuId: this.$route.meta.menuId,
  393. showDefault: false,
  394. visible: false,
  395. showPartStockFlag: false,
  396. showScheduleOrderFlag: false,
  397. currentRoutingRow: {},
  398. pageData: {
  399. site: this.$store.state.user.site,
  400. username: this.$store.state.user.name,
  401. orderNo: '',
  402. itemNo: '',
  403. seqNo: 0,
  404. resourceId: '',
  405. workCenterNo: '',
  406. enterTime1: '',
  407. enterTime2: '',
  408. needTime1: '',
  409. needTime2: '',
  410. scheduleDate: this.dayjs(new Date()).format('YYYY-MM-DD'),
  411. scheduleTime: '08:30',
  412. specifiedTime: 'N',
  413. scheduledQty: 0,
  414. waitTimes: 0,
  415. scheduleSeqNo: 0,
  416. planStartTime: '',
  417. calendarId: '',
  418. calendarDesc: '',
  419. status: 1,
  420. sortField: 'needDate',
  421. page: 1,
  422. limit: 10,
  423. },
  424. shopOrderList: [],
  425. dataListLoading: false,
  426. columnList: [
  427. {
  428. userId: this.$store.state.user.name,
  429. functionId: 5301,
  430. serialNumber: '5301OrderOrderNo',
  431. tableId: "5301Order",
  432. tableName: "工单表",
  433. columnProp: "orderNo",
  434. headerAlign: "center",
  435. align: "center",
  436. columnLabel: "订单号",
  437. columnWidth: 80,
  438. columnHidden: false,
  439. columnImage: false,
  440. columnSortable: true,
  441. sortLv: 0,
  442. status: true,
  443. fixed: false
  444. },
  445. {
  446. userId: this.$store.state.user.name,
  447. functionId: 5301,
  448. serialNumber: '5301OrderItemNo',
  449. tableId: "5301Order",
  450. tableName: "工单表",
  451. columnProp: "itemNo",
  452. headerAlign: "center",
  453. align: "center",
  454. columnLabel: "工序号",
  455. columnWidth: 80,
  456. columnHidden: false,
  457. columnImage: false,
  458. columnSortable: true,
  459. sortLv: 0,
  460. status: true,
  461. fixed: false
  462. },
  463. {
  464. userId: this.$store.state.user.name,
  465. functionId: 5301,
  466. serialNumber: '5301OrderItemDesc',
  467. tableId: "5301Order",
  468. tableName: "工单表",
  469. columnProp: "itemDesc",
  470. headerAlign: "center",
  471. align: "center",
  472. columnLabel: "工序名称",
  473. columnWidth: 100,
  474. columnHidden: false,
  475. columnImage: false,
  476. columnSortable: true,
  477. sortLv: 0,
  478. status: true,
  479. fixed: false
  480. },
  481. {
  482. userId: this.$store.state.user.name,
  483. functionId: 5301,
  484. serialNumber: '5301OrderNeedDate',
  485. tableId: "5301Order",
  486. tableName: "工单表",
  487. columnProp: "needDate",
  488. headerAlign: "center",
  489. align: "center",
  490. columnLabel: "要求完工日期",
  491. columnWidth: 100,
  492. columnHidden: false,
  493. columnImage: false,
  494. columnSortable: true,
  495. sortLv: 0,
  496. status: true,
  497. fixed: false
  498. },
  499. {
  500. userId: this.$store.state.user.name,
  501. functionId: 5301,
  502. serialNumber: '5301OrderPartNo',
  503. tableId: "5301Order",
  504. tableName: "工单表",
  505. columnProp: "partNo",
  506. headerAlign: "center",
  507. align: "center",
  508. columnLabel: "产品编码",
  509. columnWidth: 100,
  510. columnHidden: false,
  511. columnImage: false,
  512. columnSortable: true,
  513. sortLv: 0,
  514. status: true,
  515. fixed: false
  516. },
  517. {
  518. userId: this.$store.state.user.name,
  519. functionId: 5301,
  520. serialNumber: '5301OrderCustomerName',
  521. tableId: "5301Order",
  522. tableName: "工单表",
  523. columnProp: "customerName",
  524. headerAlign: "center",
  525. align: "center",
  526. columnLabel: "客户名称",
  527. columnWidth: 80,
  528. columnHidden: false,
  529. columnImage: false,
  530. columnSortable: true,
  531. sortLv: 0,
  532. status: true,
  533. fixed: false
  534. },
  535. {
  536. userId: this.$store.state.user.name,
  537. functionId: 5301,
  538. serialNumber: '5301OrderCustPartNo',
  539. tableId: "5301Order",
  540. tableName: "工单表",
  541. columnProp: "custPartNo",
  542. headerAlign: "center",
  543. align: "center",
  544. columnLabel: "客户产品料号",
  545. columnWidth: 120,
  546. columnHidden: false,
  547. columnImage: false,
  548. columnSortable: true,
  549. sortLv: 0,
  550. status: true,
  551. fixed: false
  552. },
  553. {
  554. userId: this.$store.state.user.name,
  555. functionId: 5301,
  556. serialNumber: '5301OrderPartDesc',
  557. tableId: "5301Order",
  558. tableName: "工单表",
  559. columnProp: "partDesc",
  560. headerAlign: "center",
  561. align: "center",
  562. columnLabel: "产成品名称",
  563. columnWidth: 80,
  564. columnHidden: false,
  565. columnImage: false,
  566. columnSortable: false,
  567. sortLv: 0,
  568. status: true,
  569. fixed: false
  570. },
  571. {
  572. userId: this.$store.state.user.name,
  573. functionId: 5301,
  574. serialNumber: '5301OrderLotSize',
  575. tableId: "5301Order",
  576. tableName: "工单表",
  577. columnProp: "lotSize",
  578. headerAlign: "center",
  579. align: "center",
  580. columnLabel: "订单量",
  581. columnWidth: 80,
  582. columnHidden: false,
  583. columnImage: false,
  584. columnSortable: true,
  585. sortLv: 0,
  586. status: true,
  587. fixed: false
  588. },
  589. {
  590. userId: this.$store.state.user.name,
  591. functionId: 5301,
  592. serialNumber: '5301OrderQtyToSchedule',
  593. tableId: "5301Order",
  594. tableName: "工单表",
  595. columnProp: "qtyToSchedule",
  596. headerAlign: "center",
  597. align: "center",
  598. columnLabel: "待排产数量",
  599. columnWidth: 120,
  600. columnHidden: false,
  601. columnImage: false,
  602. columnSortable: true,
  603. sortLv: 0,
  604. status: true,
  605. fixed: false
  606. },
  607. {
  608. userId: this.$store.state.user.name,
  609. functionId: 5301,
  610. serialNumber: '5301OrderQtyScheduled',
  611. tableId: "5301Order",
  612. tableName: "工单表",
  613. columnProp: "qtyScheduled",
  614. headerAlign: "center",
  615. align: "center",
  616. columnLabel: "已排产数量",
  617. columnWidth: 120,
  618. columnHidden: false,
  619. columnImage: false,
  620. columnSortable: true,
  621. sortLv: 0,
  622. status: true,
  623. fixed: false
  624. },
  625. {
  626. userId: this.$store.state.user.name,
  627. functionId: 5301,
  628. serialNumber: '5301OrderQtyReported',
  629. tableId: "5301Order",
  630. tableName: "工单表",
  631. columnProp: "qtyReported",
  632. headerAlign: "center",
  633. align: "center",
  634. columnLabel: "已报工数量",
  635. columnWidth: 120,
  636. columnHidden: false,
  637. columnImage: false,
  638. columnSortable: true,
  639. sortLv: 0,
  640. status: true,
  641. fixed: false
  642. },
  643. {
  644. userId: this.$store.state.user.name,
  645. functionId: 5301,
  646. serialNumber: '5301OrderSpec',
  647. tableId: "5301Order",
  648. tableName: "工单表",
  649. columnProp: "spec",
  650. headerAlign: "center",
  651. align: "center",
  652. columnLabel: "规格型号",
  653. columnWidth: 80,
  654. columnHidden: false,
  655. columnImage: false,
  656. columnSortable: false,
  657. sortLv: 0,
  658. status: true,
  659. fixed: false
  660. },
  661. {
  662. userId: this.$store.state.user.name,
  663. functionId: 5301,
  664. serialNumber: '5301OrderSite',
  665. tableId: "5301Order",
  666. tableName: "工单表",
  667. columnProp: "site",
  668. headerAlign: "center",
  669. align: "center",
  670. columnLabel: "工厂编号",
  671. columnWidth: 80,
  672. columnHidden: false,
  673. columnImage: false,
  674. columnSortable: false,
  675. sortLv: 0,
  676. status: true,
  677. fixed: false
  678. },
  679. {
  680. userId: this.$store.state.user.name,
  681. functionId: 5301,
  682. serialNumber: '5301OrderWorkCenterNo',
  683. tableId: "5301Order",
  684. tableName: "工单表",
  685. columnProp: "workCenterNo",
  686. headerAlign: "center",
  687. align: "center",
  688. columnLabel: "加工中心",
  689. columnWidth: 100,
  690. columnHidden: false,
  691. columnImage: false,
  692. columnSortable: true,
  693. sortLv: 0,
  694. status: true,
  695. fixed: false
  696. },
  697. {
  698. userId: this.$store.state.user.name,
  699. functionId: 5301,
  700. serialNumber: '5301OrderNextItemNo',
  701. tableId: "5301Order",
  702. tableName: "工单表",
  703. columnProp: "nextItemNo",
  704. headerAlign: "center",
  705. align: "center",
  706. columnLabel: "下道工序",
  707. columnWidth: 100,
  708. columnHidden: false,
  709. columnImage: false,
  710. columnSortable: true,
  711. sortLv: 0,
  712. status: true,
  713. fixed: false
  714. },
  715. {
  716. userId: this.$store.state.user.name,
  717. functionId: 5301,
  718. serialNumber: '5301OrderNextItemDesc',
  719. tableId: "5301Order",
  720. tableName: "工单表",
  721. columnProp: "nextItemDesc",
  722. headerAlign: "center",
  723. align: "center",
  724. columnLabel: "下道工序名称",
  725. columnWidth: 80,
  726. columnHidden: false,
  727. columnImage: false,
  728. columnSortable: false,
  729. sortLv: 0,
  730. status: true,
  731. fixed: false
  732. },
  733. {
  734. userId: this.$store.state.user.name,
  735. functionId: 5301,
  736. serialNumber: '5301OrderNextScheduledFlag',
  737. tableId: "5301Order",
  738. tableName: "工单表",
  739. columnProp: "nextScheduledFlag",
  740. headerAlign: "center",
  741. align: "center",
  742. columnLabel: "下道工序已排产",
  743. columnWidth: 150,
  744. columnHidden: false,
  745. columnImage: false,
  746. columnSortable: true,
  747. sortLv: 0,
  748. status: true,
  749. fixed: false
  750. },
  751. {
  752. userId: this.$store.state.user.name,
  753. functionId: 5301,
  754. serialNumber: '5301OrderPreItemNo',
  755. tableId: "5301Order",
  756. tableName: "工单表",
  757. columnProp: "preItemNo",
  758. headerAlign: "center",
  759. align: "center",
  760. columnLabel: "上道工序",
  761. columnWidth: 80,
  762. columnHidden: false,
  763. columnImage: false,
  764. columnSortable: true,
  765. sortLv: 0,
  766. status: true,
  767. fixed: false
  768. },
  769. {
  770. userId: this.$store.state.user.name,
  771. functionId: 5301,
  772. serialNumber: '5301OrderPreItemDesc',
  773. tableId: "5301Order",
  774. tableName: "工单表",
  775. columnProp: "preItemDesc",
  776. headerAlign: "center",
  777. align: "center",
  778. columnLabel: "上道工序名称",
  779. columnWidth: 80,
  780. columnHidden: false,
  781. columnImage: false,
  782. columnSortable: false,
  783. sortLv: 0,
  784. status: true,
  785. fixed: false
  786. },
  787. {
  788. userId: this.$store.state.user.name,
  789. functionId: 5301,
  790. serialNumber: '5301OrderPreScheduledFlag',
  791. tableId: "5301Order",
  792. tableName: "工单表",
  793. columnProp: "preScheduledFlag",
  794. headerAlign: "center",
  795. align: "center",
  796. columnLabel: "上道工序已排产",
  797. columnWidth: 80,
  798. columnHidden: false,
  799. columnImage: false,
  800. columnSortable: false,
  801. sortLv: 0,
  802. status: true,
  803. fixed: false
  804. },
  805. {
  806. userId: this.$store.state.user.name,
  807. functionId: 5301,
  808. serialNumber: '5301OrderScheduledFlag',
  809. tableId: "5301Order",
  810. tableName: "工单表",
  811. columnProp: "scheduledFlag",
  812. headerAlign: "center",
  813. align: "center",
  814. columnLabel: "是否排产",
  815. columnWidth: 80,
  816. columnHidden: false,
  817. columnImage: false,
  818. columnSortable: true,
  819. sortLv: 0,
  820. status: true,
  821. fixed: false
  822. },
  823. {
  824. userId: this.$store.state.user.name,
  825. functionId: 5301,
  826. serialNumber: '5301OrderAvailResource',
  827. tableId: "5301Order",
  828. tableName: "工单表",
  829. columnProp: "availResource",
  830. headerAlign: "center",
  831. align: "center",
  832. columnLabel: "可用机台",
  833. columnWidth: 80,
  834. columnHidden: false,
  835. columnImage: false,
  836. columnSortable: false,
  837. sortLv: 0,
  838. status: true,
  839. fixed: false
  840. },
  841. {
  842. userId: this.$store.state.user.name,
  843. functionId: 5301,
  844. serialNumber: '5301OrderEnterDate',
  845. tableId: "5301Order",
  846. tableName: "工单表",
  847. columnProp: "enterDate",
  848. headerAlign: "center",
  849. align: "center",
  850. columnLabel: "录入日期",
  851. columnWidth: 125,
  852. columnHidden: false,
  853. columnImage: false,
  854. columnSortable: false,
  855. sortLv: 0,
  856. status: true,
  857. fixed: false
  858. },
  859. {
  860. userId: this.$store.state.user.name,
  861. functionId: 5301,
  862. serialNumber: '5301OrderScheduleToPlanTime',
  863. tableId: "5301Order",
  864. tableName: "工单表",
  865. columnProp: "scheduleToPlanTime",
  866. headerAlign: "center",
  867. align: "center",
  868. columnLabel: "计划时间",
  869. columnWidth: 80,
  870. columnHidden: false,
  871. columnImage: false,
  872. columnSortable: false,
  873. sortLv: 0,
  874. status: true,
  875. fixed: false
  876. },
  877. {
  878. userId: this.$store.state.user.name,
  879. functionId: 5301,
  880. serialNumber: '5301OrderMachRunFactor',
  881. tableId: "5301Order",
  882. tableName: "工单表",
  883. columnProp: "machRunFactor",
  884. headerAlign: "center",
  885. align: "center",
  886. columnLabel: "单位产出",
  887. columnWidth: 80,
  888. columnHidden: false,
  889. columnImage: false,
  890. columnSortable: false,
  891. sortLv: 0,
  892. status: true,
  893. fixed: false
  894. },
  895. {
  896. userId: this.$store.state.user.name,
  897. functionId: 5301,
  898. serialNumber: '5301OrderMachSetupTime',
  899. tableId: "5301Order",
  900. tableName: "工单表",
  901. columnProp: "machSetupTime",
  902. headerAlign: "center",
  903. align: "center",
  904. columnLabel: "调机时间",
  905. columnWidth: 80,
  906. columnHidden: false,
  907. columnImage: false,
  908. columnSortable: false,
  909. sortLv: 0,
  910. status: true,
  911. fixed: false
  912. },
  913. {
  914. userId: this.$store.state.user.name,
  915. functionId: 5301,
  916. serialNumber: '5301OrderFactorUnit',
  917. tableId: "5301Order",
  918. tableName: "工单表",
  919. columnProp: "factorUnit",
  920. headerAlign: "center",
  921. align: "center",
  922. columnLabel: "产出单位",
  923. columnWidth: 80,
  924. columnHidden: false,
  925. columnImage: false,
  926. columnSortable: false,
  927. sortLv: 0,
  928. status: true,
  929. fixed: false
  930. },
  931. {
  932. userId: this.$store.state.user.name,
  933. functionId: 5301,
  934. serialNumber: '5301OrderQtyScheduledPreOps',
  935. tableId: "5301Order",
  936. tableName: "工单表",
  937. columnProp: "qtyScheduledPreOps",
  938. headerAlign: "center",
  939. align: "center",
  940. columnLabel: "前道工序已排产数量",
  941. columnWidth: 80,
  942. columnHidden: false,
  943. columnImage: false,
  944. columnSortable: false,
  945. sortLv: 0,
  946. status: true,
  947. fixed: false
  948. },
  949. {
  950. userId: this.$store.state.user.name,
  951. functionId: 5301,
  952. serialNumber: '5301OrderQtyApprovedPreOps',
  953. tableId: "5301Order",
  954. tableName: "工单表",
  955. columnProp: "qtyApprovedPreOps",
  956. headerAlign: "center",
  957. align: "center",
  958. columnLabel: "前道工序已报合格数",
  959. columnWidth: 80,
  960. columnHidden: false,
  961. columnImage: false,
  962. columnSortable: false,
  963. sortLv: 0,
  964. status: true,
  965. fixed: false
  966. },
  967. // {
  968. // userId: this.$store.state.user.name,
  969. // functionId: 5301,
  970. // serialNumber: '5301OrderOriSOOrderNo',
  971. // tableId: "5301Order",
  972. // tableName: "工单表",
  973. // columnProp: "oriSOOrderNo",
  974. // headerAlign: "center",
  975. // align: "center",
  976. // columnLabel: "SAP参考号",
  977. // columnWidth: 80,
  978. // columnHidden: false,
  979. // columnImage: false,
  980. // columnSortable: false,
  981. // sortLv: 0,
  982. // status: true,
  983. // fixed: false
  984. // },
  985. {
  986. userId: this.$store.state.user.name,
  987. functionId: 5301,
  988. serialNumber: '5301OrderEficiency',
  989. tableId: "5301Order",
  990. tableName: "工单表",
  991. columnProp: "efficiency",
  992. headerAlign: "center",
  993. align: "center",
  994. columnLabel: "效率",
  995. columnWidth: 80,
  996. columnHidden: false,
  997. columnImage: false,
  998. columnSortable: false,
  999. sortLv: 0,
  1000. status: true,
  1001. fixed: false
  1002. },
  1003. // {
  1004. // userId: this.$store.state.user.name,
  1005. // functionId: 5301,
  1006. // serialNumber: '5301OrderCostRollUpFlag',
  1007. // tableId: "5301Order",
  1008. // tableName: "工单表",
  1009. // columnProp: "costRollUpFlag",
  1010. // headerAlign: "center",
  1011. // align: "center",
  1012. // columnLabel: "已排料",
  1013. // columnWidth: 80,
  1014. // columnHidden: false,
  1015. // columnImage: false,
  1016. // columnSortable: false,
  1017. // sortLv: 0,
  1018. // status: true,
  1019. // fixed: false
  1020. // },
  1021. // {
  1022. // userId: this.$store.state.user.name,
  1023. // functionId: 5301,
  1024. // serialNumber: '5301OrderManualFlag',
  1025. // tableId: "5301Order",
  1026. // tableName: "工单表",
  1027. // columnProp: "manualFlag",
  1028. // headerAlign: "center",
  1029. // align: "center",
  1030. // columnLabel: "刀模已发",
  1031. // columnWidth: 80,
  1032. // columnHidden: false,
  1033. // columnImage: false,
  1034. // columnSortable: false,
  1035. // sortLv: 0,
  1036. // status: true,
  1037. // fixed: false
  1038. // },
  1039. // {
  1040. // userId: this.$store.state.user.name,
  1041. // functionId: 5301,
  1042. // serialNumber: '5301OrderRepairSOFlag',
  1043. // tableId: "5301Order",
  1044. // tableName: "工单表",
  1045. // columnProp: "repairSOFlag",
  1046. // headerAlign: "center",
  1047. // align: "center",
  1048. // columnLabel: "印版已发",
  1049. // columnWidth: 80,
  1050. // columnHidden: false,
  1051. // columnImage: false,
  1052. // columnSortable: false,
  1053. // sortLv: 0,
  1054. // status: true,
  1055. // fixed: false
  1056. // },
  1057. ],
  1058. calendarOutList: [],
  1059. primaryMenuButton: {
  1060. shopOrderFlag: true,
  1061. partStockFlag: true,
  1062. },
  1063. queryTable: {
  1064. userId: this.$store.state.user.name,
  1065. functionId: this.$route.meta.menuId,
  1066. tableId: "5301Order",
  1067. languageCode: this.$i18n.locale
  1068. },
  1069. // 用户table 查询参数
  1070. queryTableUser: {
  1071. userId: this.$store.state.user.name,
  1072. functionId: this.$route.meta.menuId,
  1073. tableId: "5301Order",
  1074. status: true,
  1075. languageCode: this.$i18n.locale
  1076. },
  1077. // 用户table 配置集合
  1078. userColumnList: [],
  1079. buttons: {
  1080. refreshButton: '刷新',
  1081. primaryMenu: '主菜单',
  1082. shopOrder: '生产订单',
  1083. viewPartStock: '查看物料库存',
  1084. settingTable: '设置列表',
  1085. defaultTable: '设置默认配置',
  1086. scheduleBatch: '批量排产',
  1087. },
  1088. buttonList: [
  1089. {
  1090. functionId: functionId,
  1091. languageValue: '刷新',
  1092. objectId: 'refreshButton',
  1093. objectType: 'button',
  1094. tableId: '*'
  1095. }, {
  1096. functionId: functionId,
  1097. languageValue: '主菜单',
  1098. objectId: 'primaryMenu',
  1099. objectType: 'button',
  1100. tableId: '*'
  1101. }, {
  1102. functionId: functionId,
  1103. languageValue: '生产订单',
  1104. objectId: 'shopOrder',
  1105. objectType: 'button',
  1106. tableId: '*'
  1107. }, {
  1108. functionId: functionId,
  1109. languageValue: '查看物料库存',
  1110. objectId: 'viewPartStock',
  1111. objectType: 'button',
  1112. tableId: '*'
  1113. }, {
  1114. functionId: functionId,
  1115. languageValue: '设置列表',
  1116. objectId: 'settingTable',
  1117. objectType: 'button',
  1118. tableId: '*'
  1119. }, {
  1120. functionId: functionId,
  1121. languageValue: '设置默认配置',
  1122. objectId: 'defaultTable',
  1123. objectType: 'button',
  1124. tableId: '*'
  1125. },
  1126. ],
  1127. queryButton: {
  1128. functionId: functionId,
  1129. table_id: '*',
  1130. languageCode: this.$i18n.locale,
  1131. objectType: 'button'
  1132. },
  1133. labels: {
  1134. enterDate: '录入日期:',
  1135. needDate: '要求完工日期:',
  1136. orderNo: '生产订单号:',
  1137. siteNo: '工厂编号:',
  1138. resourceId: '机台编号:',
  1139. workCenterNo: '加工中心编码:',
  1140. sortNo: '排序',
  1141. sortNeedDate: '要求完工日期',
  1142. sortOrderNo: '订单号',
  1143. sortPartNo: '产品编码',
  1144. primaryRecord: '主记录',
  1145. pleaseSelectOrder: '请选择工单!',
  1146. scheduleBatchWarning: '选中的工单中,包含未选择的机台的工单!',
  1147. scheduledDate: '排产日期',
  1148. pleaseEnterThisScheduleQty: '请输入本次排产数量!',
  1149. thisScheduleQtyMustMoreThanZero: '本次排产数量必须大于零!',
  1150. pleaseSelectAvailableResourceId: '请选择可用机台!',
  1151. scheduleQtyMoreThanZeroWaitScheduleQty: '排产数量超过本次待排产数量!',
  1152. },
  1153. labelsList: [
  1154. {
  1155. functionId: functionId,
  1156. languageValue: '录入日期:',
  1157. objectId: 'enterDate',
  1158. objectType: 'label',
  1159. tableId: '*'
  1160. }, {
  1161. functionId: functionId,
  1162. languageValue: '要求完工日期:',
  1163. objectId: 'needDate',
  1164. objectType: 'label',
  1165. tableId: '*'
  1166. }, {
  1167. functionId: functionId,
  1168. languageValue: '生产订单号:',
  1169. objectId: 'orderNo',
  1170. objectType: 'label',
  1171. tableId: '*'
  1172. }, {
  1173. functionId: functionId,
  1174. languageValue: '工厂编号:',
  1175. objectId: 'siteNo',
  1176. objectType: 'label',
  1177. tableId: '*'
  1178. }, {
  1179. functionId: functionId,
  1180. languageValue: '机台编码:',
  1181. objectId: 'resourceId',
  1182. objectType: 'label',
  1183. tableId: '*'
  1184. }, {
  1185. functionId: functionId,
  1186. languageValue: '加工中心编码:',
  1187. objectId: 'workCenterNo',
  1188. objectType: 'label',
  1189. tableId: '*'
  1190. }, {
  1191. functionId: functionId,
  1192. languageValue: '排序',
  1193. objectId: 'sortNo',
  1194. objectType: 'label',
  1195. tableId: '*'
  1196. }, {
  1197. functionId: functionId,
  1198. languageValue: '要求完工日期',
  1199. objectId: 'sortNeedDate',
  1200. objectType: 'label',
  1201. tableId: '*'
  1202. }, {
  1203. functionId: functionId,
  1204. languageValue: '订单号',
  1205. objectId: 'sortOrderNo',
  1206. objectType: 'label',
  1207. tableId: '*'
  1208. }, {
  1209. functionId: functionId,
  1210. languageValue: '产品编码',
  1211. objectId: 'sortPartNo',
  1212. objectType: 'label',
  1213. tableId: '*'
  1214. }, {
  1215. functionId: functionId,
  1216. languageValue: '主记录',
  1217. objectId: 'primaryRecord',
  1218. objectType: 'label',
  1219. tableId: '*'
  1220. }, {
  1221. functionId: functionId,
  1222. languageValue: '请选择工单!',
  1223. objectId: 'pleaseSelectOrder',
  1224. objectType: 'label',
  1225. tableId: '*'
  1226. },
  1227. ],
  1228. queryLabel: {
  1229. functionId: functionId,
  1230. table_id: '*',
  1231. languageCode: this.$i18n.locale,
  1232. objectType: 'label'
  1233. },
  1234. }
  1235. },
  1236. /*组件*/
  1237. components: {
  1238. Chooselist,/*列表的组件*/
  1239. comPartStock,/*展示物料库存的组件*/
  1240. comScheduleOrderExpand,/*扩展排产 处理多加工中心排产*/
  1241. column,/*动态列*/
  1242. },
  1243. mounted() {
  1244. this.$nextTick(() => {
  1245. this.height = window.innerHeight - 235;
  1246. })
  1247. },
  1248. methods: {
  1249. // 开始排产
  1250. batchScheduleOrderWithExpandStart() {
  1251. let newItemList = []
  1252. for (let i = 0; i < this.dataListSelections.length; i++) {
  1253. let item = this.dataListSelections[i]
  1254. let qtyToSchedule = item.qtyToSchedule;
  1255. if (qtyToSchedule == null || qtyToSchedule == '') {
  1256. this.$message.error(this.labels.pleaseEnterThisScheduleQty)
  1257. return false;
  1258. }
  1259. //判断数量是否超限
  1260. if (item.scheduledQty <= 0) {
  1261. this.$message.error(this.labels.thisScheduleQtyMustMoreThanZero)
  1262. return false;
  1263. }
  1264. //验证可用机台
  1265. let resourceId = item.resourceId;
  1266. if (resourceId == null || resourceId == '' || resourceId == '请选择') {
  1267. this.$message.error(this.labels.pleaseSelectAvailableResourceId)
  1268. return false;
  1269. }
  1270. let scheduledQty = parseFloat(item.scheduledQty);
  1271. if (qtyToSchedule > scheduledQty) {
  1272. this.$message.error(this.labels.scheduleQtyMoreThanZeroWaitScheduleQty)
  1273. return false;
  1274. }
  1275. let newItem = {
  1276. checkFlag: true,
  1277. itemNo: item.itemNo,
  1278. orderNo: item.orderNo,
  1279. qtyToSchedule: item.scheduledQty,
  1280. resourceId: item.resourceId,
  1281. scheduleDate: this.scheduleDate,
  1282. scheduleTime: this.scheduleTime,
  1283. scheduledQty: item.qtyToSchedule,
  1284. site: item.site,
  1285. specifiedTime: this.specifiedTime,
  1286. username: this.$store.state.user.name,
  1287. workCenterNo: item.workCenterNo
  1288. }
  1289. newItemList.push(newItem)
  1290. }
  1291. batchScheduleOrderWithExpand(newItemList).then(({data}) => {
  1292. if (data.code == 200) {
  1293. this.$message.success(data.msg)
  1294. this.scheduleVisible = false
  1295. this.getShopOrderList()
  1296. } else if (data.code == 201) {
  1297. this.$message.warning(data.msg.substring(0, data.msg.indexOf(',')) + "!")
  1298. } else if (data.code == 500) {
  1299. this.$message.error(data.msg)
  1300. }
  1301. })
  1302. },
  1303. // scheduleBatchDialog
  1304. scheduleBatchDialog() {
  1305. if (this.dataListSelections.find(item => item.resourceId == '' || item.resourceId == null)) {
  1306. this.$message.warning(this.labels.scheduleBatchWarning)
  1307. return
  1308. }
  1309. this.scheduleVisible = true
  1310. },
  1311. // 选中记录
  1312. handleSelectionChange(val) {
  1313. this.dataListSelections = val
  1314. },
  1315. /*刷新页面table*/
  1316. refreshPageTables() {
  1317. this.getShopOrderList();
  1318. },
  1319. // 每页数
  1320. sizeChangeHandle (val) {
  1321. this.pageSize = val
  1322. this.pageIndex = 1
  1323. this.getShopOrderList()
  1324. },
  1325. // 当前页
  1326. currentChangeHandle (val) {
  1327. this.pageIndex = val
  1328. this.getShopOrderList()
  1329. },
  1330. /*获取工单信息*/
  1331. getShopOrderList() {
  1332. this.pageData.limit = this.pageSize
  1333. this.pageData.page = this.pageIndex
  1334. getShopOrderList(this.pageData).then(({data}) => {
  1335. if (this.pageData.resourceId) {
  1336. this.shopOrderList = data.page.list.map(item => {
  1337. item.resourceId = this.pageData.resourceId
  1338. item.resourceList = item.resourceList.split(';').map(resItem => {
  1339. let newItem = {
  1340. resourceId: resItem.split(':')[0],
  1341. resourceDesc: resItem.split(':')[1]
  1342. }
  1343. return newItem;
  1344. })
  1345. return item;
  1346. })
  1347. } else {
  1348. this.shopOrderList = data.page.list.map(item => {
  1349. item.resourceList = item.resourceList.split(';').map(resItem => {
  1350. let newItem = {
  1351. resourceId: resItem.split(':')[0],
  1352. resourceDesc: resItem.split(':')[1]
  1353. }
  1354. return newItem;
  1355. })
  1356. return item;
  1357. })
  1358. }
  1359. this.pageIndex = data.page.currPage
  1360. this.pageSize = data.page.pageSize
  1361. this.totalPage = data.page.totalCount
  1362. //清空已经选好的行数据
  1363. this.currentRoutingRow = null;
  1364. })
  1365. },
  1366. /*列表方法的回调*/
  1367. getBaseData(val) {
  1368. if (this.tagNo === 88) {
  1369. this.pageData.resourceId = val.ResourceID;
  1370. } else if (this.tagNo == 24) {
  1371. this.pageData.workCenterNo = val.WorkCenterNo;
  1372. }
  1373. },
  1374. // 获取基础数据列表
  1375. getBaseList(val) {
  1376. this.tagNo = val
  1377. this.$nextTick(() => {
  1378. let strVal = "";
  1379. if (val === 88) {
  1380. strVal = this.pageData.resourceId;
  1381. } else if (val === 24) {
  1382. strVal = this.pageData.workCenterNo;
  1383. }
  1384. this.$refs.baseList.init(val, strVal, " AND WorkCenterNo <> 'FQC'")
  1385. })
  1386. },
  1387. /*区分不同的菜单 调用不同的方法 调用不同的方法*/
  1388. orderHandleCommand(menuName) {
  1389. //区分是哪一个方法调用
  1390. if ('生产工单' === menuName) {
  1391. //判断是否选择好了工单
  1392. if (this.currentRoutingRow == null || this.currentRoutingRow == {}) {
  1393. //重置按钮
  1394. this.primaryMenuButton.shopOrderFlag = true;
  1395. //返回错误
  1396. this.$message.error(this.labels.pleaseSelectOrder);
  1397. return false;
  1398. }
  1399. this.$router.push({
  1400. path: '/shopOrder-shopOrder/shopOrder',
  1401. query: {
  1402. site: this.$store.state.user.site,
  1403. order: this.currentRoutingRow.orderNo,
  1404. user: this.$store.state.user.name
  1405. }
  1406. })
  1407. } else if ('查看物料库存' === menuName) {
  1408. //判断是否选择好了工单
  1409. if (this.currentRoutingRow == null || this.currentRoutingRow == {}) {
  1410. //重置按钮
  1411. this.primaryMenuButton.partStockFlag = true;
  1412. //返回错误
  1413. this.$message.error(this.labels.pleaseSelectOrder);
  1414. return false;
  1415. }
  1416. let tempData = {'site': this.pageData.site, 'orderNo': this.currentRoutingRow.orderNo};
  1417. //打开组件 需要的数据 展示需要的数据
  1418. this.$nextTick(() => {
  1419. this.showPartStockFlag = true;
  1420. this.$refs.comPartStock.init(tempData);
  1421. })
  1422. }
  1423. },
  1424. /*获取当前的机台对应的加工中心*/
  1425. getCurrentWorkCenterNoByResourceId() {
  1426. getCurrentWorkCenterNoByResourceId(this.pageData).then(({data}) => {
  1427. //区分是否成功
  1428. if (data.code == 500) {
  1429. //this.$message.error(data.msg);
  1430. } else {
  1431. this.pageData.workCenterNo = data.workCenterNo;
  1432. }
  1433. this.pageData.workCenterNo = data.workCenterNo;
  1434. });
  1435. },
  1436. /*设置当前行的下标*/
  1437. routingRowClassName({row, rowIndex}) {
  1438. row.index = rowIndex;
  1439. //判断当前行颜色参数
  1440. if (row.qtyScheduled > 0) {
  1441. return 'customer-row-gray';
  1442. }
  1443. },
  1444. /*设置工艺的行*/
  1445. setCurrentRoutingRow(row, column, event) {
  1446. this.currentRoutingRow = row;
  1447. },
  1448. /*开始排产的操作*/
  1449. startScheduleOperation(row, $event, column) {
  1450. //刷新当前派工单的数据 打开当前工单+工序的排产的
  1451. this.startScheduleOrderModal(row);
  1452. },
  1453. /*刷新当前的页面的显示数据*/
  1454. startScheduleOrderModal(orderRow) {
  1455. //刷新排产的数量
  1456. this.$nextTick(() => {
  1457. this.showScheduleOrderFlag = true;
  1458. this.$refs.comScheduleOrderExpand.init(orderRow);
  1459. });
  1460. },
  1461. /*判断主菜单的样式*/
  1462. controlPrimaryMenuBun() {
  1463. //没有选择行 所有的按钮都是灰色
  1464. if (this.currentRoutingRow == null || this.currentRoutingRow == {}) {
  1465. this.primaryMenuButton.shopOrderFlag = true;
  1466. this.primaryMenuButton.partStockFlag = true;
  1467. } else {
  1468. // 判断是否具有该页面权限
  1469. let menList = JSON.parse(sessionStorage.getItem('dynamicMenuRoutes') || '[]')
  1470. .filter(item => item.path == 'shopOrder-shopOrder/shopOrder')
  1471. if (menList.length > 0) {
  1472. this.primaryMenuButton.shopOrderFlag = false;
  1473. }
  1474. this.primaryMenuButton.partStockFlag = false;
  1475. }
  1476. },
  1477. // 打开页面设置
  1478. userSetting() {
  1479. this.visible = true;
  1480. let queryTable = {
  1481. userId: this.$store.state.user.name,
  1482. functionId: this.$route.meta.menuId,
  1483. tableId: "5301Order",
  1484. languageCode: this.$i18n.locale
  1485. }
  1486. this.$nextTick(() => {
  1487. this.$refs.column.init(queryTable);
  1488. });
  1489. },
  1490. // 获取 用户保存的 格式列
  1491. getTableUserColumn() {
  1492. getTableUserListLanguage(this.queryTableUser).then(({data}) => {
  1493. if (data.rows.length > 0) {
  1494. //this.columnList = []
  1495. this.columnList = data.rows
  1496. } else {
  1497. this.getColumnList()
  1498. }
  1499. })
  1500. },
  1501. // 保存 默认配置 列
  1502. async saveColumnList() {
  1503. // 删除所有的该页面下保存的数据
  1504. if (this.userColumnList) {
  1505. //删除 user自定义的数据
  1506. await removerUser(this.queryTable)
  1507. }
  1508. // 删除默认配置
  1509. await removerDefault(this.queryTable)
  1510. // 保存页面 table属性
  1511. let sumColumnList = this.columnList;//concat(this.columnList1);
  1512. sumColumnList = sumColumnList.map(item => {
  1513. return item = {
  1514. tableId: item.tableId,
  1515. tableName: item.tableName,
  1516. columnProp: item.columnProp,
  1517. columnLabel: item.columnLabel,
  1518. columnHidden: false,
  1519. columnImage: false,
  1520. columnSortable: item.columnSortable,
  1521. columnWidth: item.columnWidth,
  1522. format: item.format,
  1523. functionId: this.$route.meta.menuId,
  1524. sortLv: item.sortLv,
  1525. status: true,
  1526. fixed: item.fixed,
  1527. serialNumber: item.serialNumber,
  1528. columnType: item.columnType,
  1529. align: item.align
  1530. }
  1531. })
  1532. await saveTableDefaultList(sumColumnList)
  1533. // 保存页面 button label title 属性
  1534. /* let buttons = this.buttonList.map(item => {
  1535. return item = {
  1536. functionId: this.$route.meta.menuId,
  1537. languageValue: item.languageValue,
  1538. objectId: item.objectId,
  1539. objectType: item.objectType,
  1540. tableId: item.tableId
  1541. }
  1542. })
  1543. await saveButtonList(buttons)*/
  1544. this.getFunctionButtonList()
  1545. this.getColumnList()
  1546. },
  1547. // 获取 tableDefault 列
  1548. getColumnList() {
  1549. getTableDefaultListLanguage(this.queryTable).then(({data}) => {
  1550. if (!data.rows.length == 0) {
  1551. // this.showDefault = false
  1552. this.columnList = data.rows
  1553. } else {
  1554. // this.showDefault = true
  1555. }
  1556. })
  1557. },
  1558. //获取按钮的权限数据
  1559. getButtonAuthData() {
  1560. let updateFlag = this.isAuth(this.menuId + ":revise");
  1561. let fullControFlag = this.isAuth(this.menuId + ":fullContro");
  1562. let deleteFlag = this.isAuth(this.menuId + ":remove");
  1563. //处理页面的权限数据
  1564. this.authEdit = !updateFlag || !fullControFlag;
  1565. this.authAdd = !fullControFlag;
  1566. this.authDelete = !deleteFlag;
  1567. },
  1568. // 保存 默认配置 列
  1569. async saveMultiLanguage() {
  1570. // 保存页面 button label title 属性
  1571. let buttons = this.buttonList;
  1572. let labels = this.labelsList;
  1573. await saveButtonList(buttons)
  1574. await saveButtonList(labels)
  1575. },
  1576. //获取多语言的信息
  1577. getMultiLanguageList() {
  1578. //首先查询当前按钮的多语言
  1579. searchFunctionButtonList(this.queryButton).then(({data}) => {
  1580. if (data && data.code == 0) {
  1581. this.buttons = data.data
  1582. } else {
  1583. // saveButtonList(this.buttonList).then(({data}) => {
  1584. // })
  1585. }
  1586. });
  1587. //其次查询当前标签的多语言
  1588. searchFunctionButtonList(this.queryLabel).then(({data}) => {
  1589. if (data && data.code == 0) {
  1590. this.labels = data.data
  1591. } else {
  1592. // saveButtonList(this.buttonList).then(({data}) => {
  1593. // })
  1594. }
  1595. });
  1596. },
  1597. },
  1598. created() {
  1599. //查询工单的数据
  1600. this.getShopOrderList();
  1601. //初始化动态的表头
  1602. // this.getTableUserColumn();
  1603. //获取按钮的权限
  1604. this.getButtonAuthData();
  1605. // //判断是否启用多语言
  1606. // this.getMultiLanguageList(); //刷新多语言的信息
  1607. },
  1608. /*利用监听器处理大小写*/
  1609. watch: {
  1610. pageData: {
  1611. deep: true,
  1612. handler: function (newV, oldV) {
  1613. this.pageData.resourceId = this.pageData.resourceId.toUpperCase();
  1614. this.pageData.workCenterNo = this.pageData.workCenterNo.toUpperCase();
  1615. }
  1616. }
  1617. },
  1618. }
  1619. </script>
  1620. <!--当前页面的标签样式-->
  1621. <style scoped lang="scss">
  1622. /*针对el-card*/
  1623. .customer-card .el-form-item__content {
  1624. margin-top: -15px;
  1625. }
  1626. .customer-card .el-form-item {
  1627. height: 22px;
  1628. }
  1629. .customer-border .el-form-item__content {
  1630. margin-top: -30px;
  1631. }
  1632. /*全局年与日类型 宽度*/
  1633. div.el-time-width {
  1634. width: 110px !important;
  1635. }
  1636. /* 全局时间右边框*/
  1637. .customer-css input.el-input__inner {
  1638. height: 22px !important;
  1639. padding-right: 0px !important;
  1640. }
  1641. /* 控制el-card标签的数据*/
  1642. div.customer-el-card {
  1643. margin-left: 110px;
  1644. margin-top: -15px;
  1645. height: 20px;
  1646. width: 60px;
  1647. }
  1648. /* 颜色控制 */
  1649. div.customer-el-card-pink {
  1650. background: #FF00FF;
  1651. }
  1652. div.customer-el-card-orange {
  1653. background: #FFD700;
  1654. }
  1655. div.customer-el-card-blue {
  1656. background: #0000CD;
  1657. }
  1658. /*清掉样式*/
  1659. .el-radio + .el-radio {
  1660. margin-left: 0px;
  1661. }
  1662. /*当前按钮的通用样式*/
  1663. .customer-css .customer-bun-mid {
  1664. width: 60px;
  1665. text-align: center;
  1666. }
  1667. .customer-css .customer-bun-min {
  1668. width: 50px;
  1669. text-align: center;
  1670. }
  1671. .customer-css .customer-bun-max {
  1672. width: 80px;
  1673. text-align: center;
  1674. }
  1675. /*当前按钮的通用样式*/
  1676. .customer-css .el-button--medium {
  1677. padding: 5px 5px;
  1678. }
  1679. /*灰色的表格行背景颜色*/
  1680. .customer-css /deep/ tr.customer-row-gray:hover {
  1681. background: #7e819e;
  1682. }
  1683. /*灰色的表格行背景颜色*/
  1684. .customer-css /deep/ tr.customer-row-gray > td {
  1685. background: #7e819e;
  1686. }
  1687. /*去掉悬浮的样式*/
  1688. /*.customer-css /deep/ tr:hover > td{
  1689. background-color: transparent !important;
  1690. }
  1691. .customer-css /deep/ tr.hover-row.current-row > td{
  1692. background-color: transparent !important;
  1693. }
  1694. .customer-css /deep/ tr.hover-row > td{
  1695. background-color: transparent !important;
  1696. }*/
  1697. /*添加主菜单和明细菜单的样式*/
  1698. .customer-css .customer-dropdown .el-button--primary {
  1699. padding: 2px;
  1700. font-size: 12px;
  1701. }
  1702. /*设置间距*/
  1703. .el-dropdown-menu /deep/ li.customer-li {
  1704. font-size: 12px;
  1705. line-height: 16px;
  1706. padding: 4px 8px;
  1707. }
  1708. .el-input /deep/ .el-icon-time {
  1709. display: none;
  1710. }
  1711. /*控制上下间距*/
  1712. hr {
  1713. margin-top: 0px;
  1714. }
  1715. /deep/ .el-table .cell {
  1716. line-height: 20px;
  1717. font-size: 12px;
  1718. height: 20px;
  1719. }
  1720. </style>