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.

1735 lines
52 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. <template>
  2. <div class="mod-config">
  3. <!-- 条件查询 -->
  4. <div style="width: 1000px">
  5. <el-form label-position="top" :model="searchData" @keyup.enter.native="getDataList()">
  6. <el-row :gutter="10">
  7. <el-col :span="3">
  8. <el-form-item label="BU">
  9. <bu-select v-model="searchData.buId">
  10. <el-option label="全部" value=""></el-option>
  11. </bu-select>
  12. </el-form-item>
  13. </el-col>
  14. <el-col :span="3">
  15. <el-form-item label="加工中心编码">
  16. <el-input v-model="searchData.workCenterNo" clearable></el-input>
  17. </el-form-item>
  18. </el-col>
  19. <el-col :span="4">
  20. <el-form-item label="加工中心名称">
  21. <el-input v-model="searchData.workCenterDesc" clearable></el-input>
  22. </el-form-item>
  23. </el-col>
  24. <el-col :span="3">
  25. <el-form-item label="状态">
  26. <el-select v-model="searchData.active" style="width: 100%;" placeholder="请选择">
  27. <el-option label="全部" value=""></el-option>
  28. <el-option label="启用" value="Y"></el-option>
  29. <el-option label="停用" value="N"></el-option>
  30. </el-select>
  31. </el-form-item>
  32. </el-col>
  33. <el-col :span="3">
  34. <el-form-item label=" ">
  35. <el-button v-if="!authSearch" type="primary" @click="getDataList()">查询</el-button>
  36. </el-form-item>
  37. </el-col>
  38. </el-row>
  39. </el-form>
  40. </div>
  41. <!-- 展示列表 -->
  42. <el-table
  43. height="42vh"
  44. :data="dataList"
  45. @row-click="changeData"
  46. :row-style="rowStyle"
  47. border
  48. style="width: 100%;">
  49. <el-table-column
  50. v-for="(item,index) in columnList" :key="index"
  51. :sortable="item.columnSortable"
  52. :prop="item.columnProp"
  53. :header-align="item.headerAlign"
  54. :show-overflow-tooltip="item.showOverflowTooltip"
  55. :align="item.align"
  56. :fixed="item.fixed==''?false:item.fixed"
  57. :min-width="item.columnWidth"
  58. :label="item.columnLabel">
  59. <template slot-scope="scope">
  60. <template v-if="item.columnProp==='active'">
  61. <span> {{ scope.row[item.columnProp] === 'Y' ? '启用' : '停用' }}</span>
  62. </template>
  63. <template v-else>
  64. <span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
  65. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  66. style="width: 100px; height: 80px"/></span>
  67. </template>
  68. </template>
  69. </el-table-column>
  70. </el-table>
  71. <el-pagination
  72. @size-change="sizeChangeHandle"
  73. @current-change="currentChangeHandle"
  74. :current-page="pageIndex"
  75. :page-sizes="[20, 50, 100, 200, 500]"
  76. :page-size="pageSize"
  77. :total="totalPage"
  78. layout="total, sizes, prev, pager, next, jumper">
  79. </el-pagination>
  80. <el-tabs style="height: auto;min-height: 40vh" class="customer-tab" v-model="activeName" type="border-card" @tab-click="tabClick">
  81. <el-tab-pane label="详情" name="detail">
  82. <el-form label-position="top" :model="currentRow">
  83. <el-row :gutter="10">
  84. <el-col :span="3">
  85. <el-form-item label="工厂编码">
  86. <el-input v-model="currentRow.site" readonly></el-input>
  87. </el-form-item>
  88. </el-col>
  89. <el-col :span="3">
  90. <el-form-item label="BU">
  91. <el-input v-model="currentRow.buDesc" readonly></el-input>
  92. </el-form-item>
  93. </el-col>
  94. <el-col :span="3">
  95. <el-form-item label="加工中心编码">
  96. <el-input v-model="currentRow.workshopId" readonly></el-input>
  97. </el-form-item>
  98. </el-col>
  99. <el-col :span="3">
  100. <el-form-item label="加工中心名称">
  101. <el-input v-model="currentRow.workCenterDesc" readonly></el-input>
  102. </el-form-item>
  103. </el-col>
  104. <el-col :span="3">
  105. <el-form-item label="加工中心类型">
  106. <el-input v-model="currentRow.workCenterType" readonly></el-input>
  107. </el-form-item>
  108. </el-col>
  109. <el-col :span="3">
  110. <el-form-item label="加工中心组编码">
  111. <el-input v-model="currentRow.prolineNo" readonly></el-input>
  112. </el-form-item>
  113. </el-col>
  114. </el-row>
  115. <el-row :gutter="10">
  116. <el-col :span="3">
  117. <el-form-item label="机台数量">
  118. <el-input v-model="currentRow.resourceCount" readonly></el-input>
  119. </el-form-item>
  120. </el-col>
  121. <el-col :span="3">
  122. <el-form-item label="人均日产量">
  123. <el-input v-model="currentRow.refDailyProduction" readonly></el-input>
  124. </el-form-item>
  125. </el-col>
  126. <el-col :span="3">
  127. <el-form-item label="速度">
  128. <el-input v-model="currentRow.refSpeed" readonly></el-input>
  129. </el-form-item>
  130. </el-col>
  131. <el-col :span="3">
  132. <el-form-item label="时间">
  133. <el-input v-model="currentRow.refTime" readonly></el-input>
  134. </el-form-item>
  135. </el-col>
  136. <el-col :span="3">
  137. <el-form-item label="效率">
  138. <el-input v-model="currentRow.refEfficiency" readonly></el-input>
  139. </el-form-item>
  140. </el-col>
  141. </el-row>
  142. <el-row :gutter="10">
  143. <el-col :span="3">
  144. <el-form-item label="录入时间">
  145. <el-input v-model="currentRow.createdDate" readonly></el-input>
  146. </el-form-item>
  147. </el-col>
  148. <el-col :span="3">
  149. <el-form-item label="录入人">
  150. <el-input v-model="currentRow.createdBy" readonly></el-input>
  151. </el-form-item>
  152. </el-col>
  153. <el-col :span="3">
  154. <el-form-item label="最近修改时间">
  155. <el-input v-model="currentRow.updatedDate" readonly></el-input>
  156. </el-form-item>
  157. </el-col>
  158. <el-col :span="3">
  159. <el-form-item label="最近修改人">
  160. <el-input v-model="currentRow.updateBy" readonly></el-input>
  161. </el-form-item>
  162. </el-col>
  163. </el-row>
  164. <el-row :gutter="10">
  165. <el-col :span="15">
  166. <el-form-item :label="'备注'" class="auto">
  167. <el-input v-model="currentRow.remark" readonly resize='none' :rows="3" type="textarea"></el-input>
  168. </el-form-item>
  169. </el-col>
  170. </el-row>
  171. </el-form>
  172. </el-tab-pane>
  173. <el-tab-pane label="成本" name="cost">
  174. <el-button v-if="!authSave" type="primary" @click="addModal()">新增</el-button>
  175. <el-table
  176. :data="dataList2"
  177. height="33vh"
  178. border
  179. style="width: 100%; ">
  180. <el-table-column
  181. v-for="(item,index) in columnList2" :key="index"
  182. :sortable="item.columnSortable"
  183. :prop="item.columnProp"
  184. :header-align="item.headerAlign"
  185. :show-overflow-tooltip="item.showOverflowTooltip"
  186. :align="item.align"
  187. :fixed="item.fixed==''?false:item.fixed"
  188. :min-width="item.columnWidth"
  189. :label="item.columnLabel">
  190. <template slot-scope="scope">
  191. <span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
  192. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  193. style="width: 100px; height: 80px"/></span>
  194. </template>
  195. </el-table-column>
  196. <el-table-column
  197. fixed="right"
  198. header-align="center"
  199. align="center"
  200. width="160"
  201. label="操作">
  202. <template slot-scope="scope">
  203. <a type="text" size="small" @click="updateModal(scope.row)">修改</a>
  204. <a type="text" size="small" @click="deleteModal(scope.row)">删除</a>
  205. </template>
  206. </el-table-column>
  207. </el-table>
  208. </el-tab-pane>
  209. <el-tab-pane label="机台" name="resource">
  210. <el-table
  211. :data="dataList3"
  212. height="35vh"
  213. border
  214. style="width: 100%; ">
  215. <el-table-column
  216. v-for="(item,index) in columnList3" :key="index"
  217. :sortable="item.columnSortable"
  218. :prop="item.columnProp"
  219. :header-align="item.headerAlign"
  220. :show-overflow-tooltip="item.showOverflowTooltip"
  221. :align="item.align"
  222. :fixed="item.fixed==''?false:item.fixed"
  223. :min-width="item.columnWidth"
  224. :label="item.columnLabel">
  225. <template slot-scope="scope">
  226. <span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
  227. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  228. style="width: 100px; height: 80px"/></span>
  229. </template>
  230. </el-table-column>
  231. </el-table>
  232. </el-tab-pane>
  233. </el-tabs>
  234. <!-- 新增和修改 -->
  235. <el-dialog title="成本" :close-on-click-modal="false" v-drag :visible.sync="modalFlag" width="500px">
  236. <el-form label-position="top" :model="modalData1" :rules="rules">
  237. <el-row :gutter="10">
  238. <el-col :span="8">
  239. <el-form-item label="加工中心编码" prop="workCenterNo">
  240. <el-input v-model="modalData1.workCenterNo" :disabled="!isNew"></el-input>
  241. </el-form-item>
  242. </el-col>
  243. </el-row>
  244. <el-row :gutter="10">
  245. <el-col :span="8">
  246. <el-form-item label="单位成本" prop="unitCost">
  247. <el-input-number v-model="modalData1.unitCost" style="width: 100%" :controls="false"
  248. :step="0"></el-input-number>
  249. </el-form-item>
  250. </el-col>
  251. <el-col :span="8">
  252. <el-form-item label="单位制造费用成本" prop="overheadCost">
  253. <el-input-number v-model="modalData1.overheadCost" style="width: 100%" :controls="false"
  254. :step="0"></el-input-number>
  255. </el-form-item>
  256. </el-col>
  257. <el-col :span="8">
  258. <el-form-item label="单位人工成本" prop="laborCost">
  259. <el-input-number v-model="modalData1.laborCost" style="width: 100%" :controls="false"
  260. :step="0"></el-input-number>
  261. </el-form-item>
  262. </el-col>
  263. <el-col :span="8">
  264. <el-form-item :label="'启用日期'">
  265. <el-date-picker
  266. style="width: 100%"
  267. v-model="modalData1.beginDate"
  268. type="date"
  269. value-format="yyyy-MM-dd"
  270. placeholder="选择日期">
  271. </el-date-picker>
  272. </el-form-item>
  273. </el-col>
  274. <el-col :span="8">
  275. <el-form-item :label="'结束日期'">
  276. <el-date-picker
  277. style="width: 100%"
  278. v-model="modalData1.endDate"
  279. type="date"
  280. value-format="yyyy-MM-dd"
  281. placeholder="选择日期">
  282. </el-date-picker>
  283. </el-form-item>
  284. </el-col>
  285. <el-col :span="24">
  286. <el-form-item label="备注" class="auto">
  287. <el-input v-model="modalData.remark" :rows="3" type="textarea"></el-input>
  288. </el-form-item>
  289. </el-col>
  290. </el-row>
  291. </el-form>
  292. <el-footer style="height:30px;line-height:30px;text-align:center">
  293. <el-button type="primary" @click="saveData()">保存</el-button>
  294. <el-button type="primary" @click="modalFlag = false">关闭</el-button>
  295. </el-footer>
  296. </el-dialog>
  297. <!-- 修改 -->
  298. <el-dialog title="加工中心" :close-on-click-modal="false" v-drag :visible.sync="modalFlag1" width="500px">
  299. <el-form :inline="true" label-position="top" :model="modalData" :rules="rules"
  300. style="margin-left: 7px;margin-top: -5px;">
  301. <el-form-item label="加工中心编码:" prop="workCenterNo">
  302. <el-input v-model="modalData.workCenterNo" style="width: 221px"></el-input>
  303. </el-form-item>
  304. <el-form-item label="加工中心名称:" prop="workCenterDesc">
  305. <el-input v-model="modalData.workCenterDesc" style="width: 221px;text-align:end"></el-input>
  306. </el-form-item>
  307. <el-form-item label="加工中心类型:" prop="workCenterType">
  308. <el-input v-model="modalData.workCenterType" style="width: 221px"></el-input>
  309. </el-form-item>
  310. <el-form-item label="加工中心组编码:" prop="prolineNo">
  311. <el-input v-model="modalData.prolineNo" style="width: 221px"></el-input>
  312. </el-form-item>
  313. <el-form-item label="状态:" prop="active">
  314. <el-input v-model="modalData.active" style="width: 221px"></el-input>
  315. </el-form-item>
  316. </el-form>
  317. <el-footer style="height:40px;margin-top: 20px;text-align:center">
  318. <el-button type="primary" @click="saveData1()">保存</el-button>
  319. <el-button type="primary" @click="modalFlag1 = false">关闭</el-button>
  320. </el-footer>
  321. </el-dialog>
  322. </div>
  323. </template>
  324. <script>
  325. import {
  326. findAll, // 检验方法查询
  327. updateFanuc, // 检验方法修改
  328. findFanuc,//查询(传的list)
  329. appendByCost,//成本新增
  330. queryByCost, //成本查询
  331. amendByCost,//成本修改
  332. deleteByCost,//删除成本
  333. queryResourceInfo,//机台查询
  334. } from "@/api/fanucGroup/fanuc.js"
  335. import {getSiteAndBuByUserName} from "@/api/eam/eam.js"
  336. import BuSelect from "../../../components/selector/select/BuSelect.vue";
  337. export default {
  338. components: {BuSelect},
  339. data() {
  340. return {
  341. activeName: 'detail',
  342. currentRow: {},
  343. headerData: '',
  344. currentRow2: '',
  345. isNew: false,
  346. headerData2: '',
  347. // 是否收藏
  348. favorite: false,
  349. // 导出 start
  350. exportData: [],
  351. exportName: "检验方法" + this.dayjs().format('YYYYMMDDHHmmss'),
  352. exportHeader: ["检验方法"],
  353. exportFooter: [],
  354. exportList: [],
  355. // 导出 end
  356. searchData: {
  357. site: '',
  358. buNo: '',
  359. buId: '',
  360. workshopId: '',
  361. workCenterNo: '',
  362. workCenterDesc: '',
  363. workCenterTypeDb: '',
  364. workCenterType: '',
  365. updateBy: this.$store.state.user.name,
  366. updateDate: '',
  367. averageCapacity: '',
  368. efficiency: '',
  369. utilization: '',
  370. capacityTypeDb: '',
  371. capacityType: '',
  372. umid: '',
  373. active: '',
  374. prolineNo: '',
  375. needSetupFlag: '',
  376. createdBy: this.$store.state.user.name,
  377. createdDate: '',
  378. remark: '',
  379. delflag: '',
  380. version: '',
  381. page: 1,
  382. limit: 10,
  383. },
  384. pageIndex: 1,
  385. pageSize: 20,
  386. totalPage: 0,
  387. height: 200,
  388. dataList: [],
  389. dataList1: [],
  390. dataList2: [],
  391. dataList3: [],
  392. dataListLoading: false,
  393. modalFlag: false,
  394. modalDisableFlag: false,
  395. modalFlag1: false,
  396. modalDisableFlag1: false,
  397. modalData: {
  398. site: this.$store.state.user.site,
  399. bu: '',
  400. buNo: '',
  401. workshopId: '',
  402. workCenterNo: '',
  403. workCenterDesc: '',
  404. workCenterTypeDb: '',
  405. workCenterType: '',
  406. updateBy: this.$store.state.user.name,
  407. updateDate: '',
  408. averageCapacity: '',
  409. efficiency: '',
  410. utilization: '',
  411. capacityTypeDb: '',
  412. capacityType: '',
  413. umid: '',
  414. active: '',
  415. prolineNo: '',
  416. needSetupFlag: '',
  417. createdBy: this.$store.state.user.name,
  418. createdDate: '',
  419. remark: '',
  420. delflag: '',
  421. version: ''
  422. },
  423. modalData1: {
  424. site: this.$store.state.user.site,
  425. workCenterNo: '',
  426. itemNo: '',
  427. unitCost: '',
  428. overheadCost: '',
  429. laborCost: '',
  430. umId: '',
  431. beginDate: this.formatDate(new Date()),
  432. endDate: '',
  433. remark: '',
  434. serialNo: '',
  435. },
  436. // 标头展示
  437. columnList: [
  438. {
  439. userId: this.$store.state.user.name,
  440. functionId: 501002,
  441. serialNumber: '501002TableSite',
  442. tableId: "501002Table",
  443. tableName: "加工中心",
  444. columnWidth: 60,
  445. columnProp: 'site',
  446. headerAlign: 'center',
  447. align: "center",
  448. columnLabel: '工厂编码',
  449. columnHidden: false,
  450. columnImage: false,
  451. columnSortable: false,
  452. sortLv: 0,
  453. status: true,
  454. fixed: '',
  455. },
  456. {
  457. userId: this.$store.state.user.name,
  458. functionId: 501002,
  459. serialNumber: '501002TableBuDesc',
  460. tableId: "501002Table",
  461. tableName: "加工中心",
  462. columnWidth: 100,
  463. columnProp: 'buDesc',
  464. headerAlign: 'center',
  465. align: "left",
  466. columnLabel: 'BU',
  467. columnHidden: false,
  468. columnImage: false,
  469. columnSortable: false,
  470. sortLv: 0,
  471. status: true,
  472. fixed: '',
  473. },
  474. {
  475. userId: this.$store.state.user.name,
  476. functionId: 501002,
  477. serialNumber: '501002TableWorkCenterNo',
  478. tableId: "501002Table",
  479. tableName: "加工中心",
  480. columnWidth: 120,
  481. columnProp: 'workCenterNo',
  482. headerAlign: 'center',
  483. align: "left",
  484. columnLabel: '加工中心编码',
  485. columnHidden: false,
  486. columnImage: false,
  487. columnSortable: false,
  488. sortLv: 0,
  489. status: true,
  490. fixed: '',
  491. },
  492. {
  493. userId: this.$store.state.user.name,
  494. functionId: 501002,
  495. serialNumber: '501002TableWorkCenterDesc',
  496. tableId: "501002Table",
  497. tableName: "加工中心",
  498. columnWidth: 150,
  499. columnProp: 'workCenterDesc',
  500. headerAlign: 'center',
  501. align: "left",
  502. columnLabel: '加工中心名称',
  503. columnHidden: false,
  504. columnImage: false,
  505. columnSortable: false,
  506. sortLv: 0,
  507. status: true,
  508. fixed: '',
  509. },
  510. {
  511. userId: this.$store.state.user.name,
  512. functionId: 501002,
  513. serialNumber: '501002TableWorkCenterType',
  514. tableId: "501002Table",
  515. tableName: "加工中心",
  516. columnWidth: 100,
  517. columnProp: 'workCenterType',
  518. headerAlign: 'center',
  519. align: "center",
  520. columnLabel: '加工中心类型',
  521. columnHidden: false,
  522. columnImage: false,
  523. columnSortable: false,
  524. sortLv: 0,
  525. status: true,
  526. fixed: '',
  527. },
  528. {
  529. userId: this.$store.state.user.name,
  530. functionId: 501002,
  531. serialNumber: '501002TableProlineNo',
  532. tableId: "501002Table",
  533. tableName: "加工中心",
  534. columnWidth: 120,
  535. columnProp: 'prolineNo',
  536. headerAlign: 'center',
  537. align: "left",
  538. columnLabel: '加工中心组编码',
  539. columnHidden: false,
  540. columnImage: false,
  541. columnSortable: false,
  542. sortLv: 0,
  543. status: true,
  544. fixed: '',
  545. },
  546. {
  547. userId: this.$store.state.user.name,
  548. functionId: 501002,
  549. serialNumber: '501002TableResourceCount',
  550. tableId: "501002Table",
  551. tableName: "加工中心",
  552. columnWidth: 80,
  553. columnProp: 'resourceCount',
  554. headerAlign: 'center',
  555. align: "right",
  556. columnLabel: '机台数',
  557. columnHidden: false,
  558. columnImage: false,
  559. columnSortable: false,
  560. sortLv: 0,
  561. status: true,
  562. fixed: '',
  563. },
  564. {
  565. userId: this.$store.state.user.name,
  566. functionId: 501002,
  567. serialNumber: '501002TableRefDailyProduction',
  568. tableId: "501002Table",
  569. tableName: "加工中心",
  570. columnWidth: 100,
  571. columnProp: 'refDailyProduction',
  572. headerAlign: 'center',
  573. align: "right",
  574. columnLabel: '人均日产量',
  575. columnHidden: false,
  576. columnImage: false,
  577. columnSortable: false,
  578. sortLv: 0,
  579. status: true,
  580. fixed: '',
  581. },
  582. {
  583. userId: this.$store.state.user.name,
  584. functionId: 501002,
  585. serialNumber: '501002TableRefSpeed',
  586. tableId: "501002Table",
  587. tableName: "加工中心",
  588. columnWidth: 100,
  589. columnProp: 'refSpeed',
  590. headerAlign: 'center',
  591. align: "right",
  592. columnLabel: '速度',
  593. columnHidden: false,
  594. columnImage: false,
  595. columnSortable: false,
  596. sortLv: 0,
  597. status: true,
  598. fixed: '',
  599. },
  600. {
  601. userId: this.$store.state.user.name,
  602. functionId: 501002,
  603. serialNumber: '501002TableRefTime',
  604. tableId: "501002Table",
  605. tableName: "加工中心",
  606. columnWidth: 100,
  607. columnProp: 'refTime',
  608. headerAlign: 'center',
  609. align: "right",
  610. columnLabel: '时间',
  611. columnHidden: false,
  612. columnImage: false,
  613. columnSortable: false,
  614. sortLv: 0,
  615. status: true,
  616. fixed: '',
  617. },
  618. {
  619. userId: this.$store.state.user.name,
  620. functionId: 501002,
  621. serialNumber: '501002TableRefEfficiency',
  622. tableId: "501002Table",
  623. tableName: "加工中心",
  624. columnWidth: 100,
  625. columnProp: 'refEfficiency',
  626. headerAlign: 'center',
  627. align: "right",
  628. columnLabel: '效率',
  629. columnHidden: false,
  630. columnImage: false,
  631. columnSortable: false,
  632. sortLv: 0,
  633. status: true,
  634. fixed: '',
  635. },
  636. {
  637. userId: this.$store.state.user.name,
  638. functionId: 501002,
  639. serialNumber: '501002TableActive',
  640. tableId: "501002Table",
  641. tableName: "加工中心",
  642. columnWidth: 80,
  643. columnProp: 'active',
  644. headerAlign: 'center',
  645. align: "center",
  646. columnLabel: '状态',
  647. columnHidden: false,
  648. columnImage: false,
  649. columnSortable: false,
  650. sortLv: 0,
  651. status: true,
  652. fixed: '',
  653. },
  654. {
  655. userId: this.$store.state.user.name,
  656. functionId: 501002,
  657. serialNumber: '501002TableCreatedDate',
  658. tableId: "501002Table",
  659. tableName: "加工中心",
  660. columnWidth: 130,
  661. columnProp: 'createdDate',
  662. headerAlign: 'center',
  663. align: "center",
  664. columnLabel: '录入时间',
  665. columnHidden: false,
  666. columnImage: false,
  667. columnSortable: false,
  668. sortLv: 0,
  669. status: true,
  670. fixed: '',
  671. },
  672. {
  673. userId: this.$store.state.user.name,
  674. functionId: 501002,
  675. serialNumber: '501002TableCreatedBy',
  676. tableId: "501002Table",
  677. tableName: "加工中心",
  678. columnWidth: 100,
  679. columnProp: 'createdBy',
  680. headerAlign: 'center',
  681. align: "left",
  682. columnLabel: '录入人',
  683. columnHidden: false,
  684. columnImage: false,
  685. columnSortable: false,
  686. sortLv: 0,
  687. status: true,
  688. fixed: '',
  689. },
  690. {
  691. userId: this.$store.state.user.name,
  692. functionId: 501002,
  693. serialNumber: '501002TableUpdateDate',
  694. tableId: "501002Table",
  695. tableName: "加工中心",
  696. columnWidth: 130,
  697. columnProp: 'updatedDate',
  698. headerAlign: 'center',
  699. align: "center",
  700. columnLabel: '最近修改时间',
  701. columnHidden: false,
  702. columnImage: false,
  703. columnSortable: false,
  704. sortLv: 0,
  705. status: true,
  706. fixed: '',
  707. },
  708. {
  709. userId: this.$store.state.user.name,
  710. functionId: 501002,
  711. serialNumber: '501002TableUpdateBy',
  712. tableId: "501002Table",
  713. tableName: "加工中心",
  714. columnWidth: 100,
  715. columnProp: 'updateBy',
  716. headerAlign: 'center',
  717. align: "left",
  718. columnLabel: '最近修改人',
  719. columnHidden: false,
  720. columnImage: false,
  721. columnSortable: false,
  722. sortLv: 0,
  723. status: true,
  724. fixed: '',
  725. },
  726. ],
  727. columnList1: [
  728. {
  729. userId: this.$store.state.user.name,
  730. functionId: 501002,
  731. serialNumber: '501002TableSite',
  732. tableId: "501002Table",
  733. tableName: "工厂编码",
  734. columnWidth: 130,
  735. columnProp: 'site',
  736. headerAlign: 'center',
  737. align: "center",
  738. columnLabel: '工厂编码',
  739. columnHidden: false,
  740. columnImage: false,
  741. columnSortable: false,
  742. sortLv: 0,
  743. status: true,
  744. fixed: '',
  745. },
  746. {
  747. userId: this.$store.state.user.name,
  748. functionId: 501002,
  749. serialNumber: '501002TableBuNo',
  750. tableId: "501002Table",
  751. tableName: "BU",
  752. columnWidth: 130,
  753. columnProp: 'buNo',
  754. headerAlign: 'center',
  755. align: "left",
  756. columnLabel: 'Bu',
  757. columnHidden: false,
  758. columnImage: false,
  759. columnSortable: false,
  760. sortLv: 0,
  761. status: true,
  762. fixed: '',
  763. },
  764. {
  765. userId: this.$store.state.user.name,
  766. functionId: 501002,
  767. serialNumber: '501002TableWorkCenterNo',
  768. tableId: "501002Table",
  769. tableName: "加工中心编码",
  770. columnWidth: 130,
  771. columnProp: 'workCenterNo',
  772. headerAlign: 'center',
  773. align: "left",
  774. columnLabel: '加工中心编码',
  775. columnHidden: false,
  776. columnImage: false,
  777. columnSortable: false,
  778. sortLv: 0,
  779. status: true,
  780. fixed: '',
  781. },
  782. {
  783. userId: this.$store.state.user.name,
  784. functionId: 501002,
  785. serialNumber: '501002TableWorkCenterDesc',
  786. tableId: "501002Table",
  787. tableName: "加工中心名称",
  788. columnWidth: 130,
  789. columnProp: 'workCenterDesc',
  790. headerAlign: 'center',
  791. align: "left",
  792. columnLabel: '加工中心名称',
  793. columnHidden: false,
  794. columnImage: false,
  795. columnSortable: false,
  796. sortLv: 0,
  797. status: true,
  798. fixed: '',
  799. },
  800. {
  801. userId: this.$store.state.user.name,
  802. functionId: 501002,
  803. serialNumber: '501002TableWorkCenterType',
  804. tableId: "501002Table",
  805. tableName: "加工中心类型",
  806. columnWidth: 130,
  807. columnProp: 'workCenterType',
  808. headerAlign: 'center',
  809. align: "center",
  810. columnLabel: '加工中心类型',
  811. columnHidden: false,
  812. columnImage: false,
  813. columnSortable: false,
  814. sortLv: 0,
  815. status: true,
  816. fixed: '',
  817. },
  818. {
  819. userId: this.$store.state.user.name,
  820. functionId: 501002,
  821. serialNumber: '501002TableProlineNo',
  822. tableId: "501002Table",
  823. tableName: "加工中心组编码",
  824. columnWidth: 130,
  825. columnProp: 'prolineNo',
  826. headerAlign: 'center',
  827. align: "left",
  828. columnLabel: '加工中心组编码',
  829. columnHidden: false,
  830. columnImage: false,
  831. columnSortable: false,
  832. sortLv: 0,
  833. status: true,
  834. fixed: '',
  835. },
  836. {
  837. userId: this.$store.state.user.name,
  838. functionId: 501002,
  839. serialNumber: '501002TableActive',
  840. tableId: "501002Table",
  841. tableName: "状态",
  842. columnWidth: 130,
  843. columnProp: 'active',
  844. headerAlign: 'center',
  845. align: "center",
  846. columnLabel: '状态',
  847. columnHidden: false,
  848. columnImage: false,
  849. columnSortable: false,
  850. sortLv: 0,
  851. status: true,
  852. fixed: '',
  853. },
  854. {
  855. userId: this.$store.state.user.name,
  856. functionId: 501002,
  857. serialNumber: '501002TableCreatedDate',
  858. tableId: "501002Table",
  859. tableName: "创建时间",
  860. columnWidth: 130,
  861. columnProp: 'createdDate',
  862. headerAlign: 'center',
  863. align: "center",
  864. columnLabel: '创建时间',
  865. columnHidden: false,
  866. columnImage: false,
  867. columnSortable: false,
  868. sortLv: 0,
  869. status: true,
  870. fixed: '',
  871. },
  872. {
  873. userId: this.$store.state.user.name,
  874. functionId: 501002,
  875. serialNumber: '501002TableCreatedBy',
  876. tableId: "501002Table",
  877. tableName: "创建人",
  878. columnWidth: 130,
  879. columnProp: 'createdBy',
  880. headerAlign: 'center',
  881. align: "left",
  882. columnLabel: '创建人',
  883. columnHidden: false,
  884. columnImage: false,
  885. columnSortable: false,
  886. sortLv: 0,
  887. status: true,
  888. fixed: '',
  889. },
  890. {
  891. userId: this.$store.state.user.name,
  892. functionId: 501002,
  893. serialNumber: '501002TableUpdateDate',
  894. tableId: "501002Table",
  895. tableName: "修改时间",
  896. columnWidth: 130,
  897. columnProp: 'updateDate',
  898. headerAlign: 'center',
  899. align: "left",
  900. columnLabel: '修改时间',
  901. columnHidden: false,
  902. columnImage: false,
  903. columnSortable: false,
  904. sortLv: 0,
  905. status: true,
  906. fixed: '',
  907. },
  908. {
  909. userId: this.$store.state.user.name,
  910. functionId: 501002,
  911. serialNumber: '501002TableUpdateBy',
  912. tableId: "501002Table",
  913. tableName: "修改时间",
  914. columnWidth: 130,
  915. columnProp: 'updateBy',
  916. headerAlign: 'center',
  917. align: "left",
  918. columnLabel: '修改时间',
  919. columnHidden: false,
  920. columnImage: false,
  921. columnSortable: false,
  922. sortLv: 0,
  923. status: true,
  924. fixed: '',
  925. },
  926. {
  927. userId: this.$store.state.user.name,
  928. functionId: 501002,
  929. serialNumber: '501002TableRemark',
  930. tableId: "501002Table",
  931. tableName: "备注",
  932. columnWidth: 130,
  933. columnProp: 'remark',
  934. headerAlign: 'center',
  935. align: "left",
  936. columnLabel: '备注',
  937. columnHidden: false,
  938. columnImage: false,
  939. columnSortable: false,
  940. sortLv: 0,
  941. status: true,
  942. fixed: '',
  943. },
  944. ],
  945. columnList2: [
  946. // {
  947. // userId: this.$store.state.user.name,
  948. // functionId: 501002,
  949. // serialNumber: '501002TableSite',
  950. // tableId: "501002Table",
  951. // tableName: "工厂编码",
  952. // columnWidth: 130,
  953. // columnProp: 'site',
  954. // headerAlign: 'center',
  955. // align: "center",
  956. // columnLabel: '工厂编码',
  957. // columnHidden: false,
  958. // columnImage: false,
  959. // columnSortable: false,
  960. // sortLv: 0,
  961. // status: true,
  962. // fixed: '',
  963. // },
  964. {
  965. userId: this.$store.state.user.name,
  966. functionId: 501002,
  967. serialNumber: '501002TableItemNo',
  968. tableId: "501002Table",
  969. tableName: "序号",
  970. columnWidth: 130,
  971. columnProp: 'itemNo',
  972. headerAlign: 'center',
  973. align: "right",
  974. columnLabel: '序号',
  975. columnHidden: false,
  976. columnImage: false,
  977. columnSortable: false,
  978. sortLv: 0,
  979. status: true,
  980. fixed: '',
  981. },
  982. {
  983. userId: this.$store.state.user.name,
  984. functionId: 501002,
  985. serialNumber: '501002TableUnitCost',
  986. tableId: "501002Table",
  987. tableName: "单位成本",
  988. columnWidth: 130,
  989. columnProp: 'unitCost',
  990. headerAlign: 'center',
  991. align: "right",
  992. columnLabel: '单位成本',
  993. columnHidden: false,
  994. columnImage: false,
  995. columnSortable: false,
  996. sortLv: 0,
  997. status: true,
  998. fixed: '',
  999. },
  1000. {
  1001. userId: this.$store.state.user.name,
  1002. functionId: 501002,
  1003. serialNumber: '501002TableOverheadCost',
  1004. tableId: "501002Table",
  1005. tableName: "单位制造费用成本",
  1006. columnWidth: 130,
  1007. columnProp: 'overheadCost',
  1008. headerAlign: 'center',
  1009. align: "right",
  1010. columnLabel: '单位制造费用成本',
  1011. columnHidden: false,
  1012. columnImage: false,
  1013. columnSortable: false,
  1014. sortLv: 0,
  1015. status: true,
  1016. fixed: '',
  1017. },
  1018. {
  1019. userId: this.$store.state.user.name,
  1020. functionId: 501002,
  1021. serialNumber: '501002TableLaborCost',
  1022. tableId: "501002Table",
  1023. tableName: "单位人工成本",
  1024. columnWidth: 130,
  1025. columnProp: 'laborCost',
  1026. headerAlign: 'center',
  1027. align: "right",
  1028. columnLabel: '单位人工成本',
  1029. columnHidden: false,
  1030. columnImage: false,
  1031. columnSortable: false,
  1032. sortLv: 0,
  1033. status: true,
  1034. fixed: '',
  1035. },
  1036. {
  1037. userId: this.$store.state.user.name,
  1038. functionId: 501002,
  1039. serialNumber: '501002TableBeginDate',
  1040. tableId: "501002Table",
  1041. tableName: "启用日期",
  1042. columnWidth: 130,
  1043. columnProp: 'beginDate',
  1044. headerAlign: 'center',
  1045. align: "center",
  1046. columnLabel: '启用日期',
  1047. columnHidden: false,
  1048. columnImage: false,
  1049. columnSortable: false,
  1050. sortLv: 0,
  1051. status: true,
  1052. fixed: '',
  1053. },
  1054. {
  1055. userId: this.$store.state.user.name,
  1056. functionId: 501002,
  1057. serialNumber: '501002TableEndDate',
  1058. tableId: "501002Table",
  1059. tableName: "结束日期",
  1060. columnWidth: 130,
  1061. columnProp: 'endDate',
  1062. headerAlign: 'center',
  1063. align: "center",
  1064. columnLabel: '结束日期',
  1065. columnHidden: false,
  1066. columnImage: false,
  1067. columnSortable: false,
  1068. sortLv: 0,
  1069. status: true,
  1070. fixed: '',
  1071. },
  1072. {
  1073. userId: this.$store.state.user.name,
  1074. functionId: 501002,
  1075. serialNumber: '501002TableRemark',
  1076. tableId: "501002Table",
  1077. tableName: "备注",
  1078. columnWidth: 130,
  1079. columnProp: 'remark',
  1080. headerAlign: 'center',
  1081. align: "left",
  1082. columnLabel: '备注',
  1083. columnHidden: false,
  1084. columnImage: false,
  1085. columnSortable: false,
  1086. sortLv: 0,
  1087. status: true,
  1088. fixed: '',
  1089. },
  1090. ],
  1091. columnList3: [
  1092. {
  1093. userId: this.$store.state.user.name,
  1094. functionId: 501002,
  1095. serialNumber: '501002TableResourceId',
  1096. tableId: "501002Table",
  1097. tableName: "机台编码",
  1098. columnWidth: 130,
  1099. columnProp: 'resourceId',
  1100. headerAlign: 'center',
  1101. align: "left",
  1102. columnLabel: '机台编码',
  1103. columnHidden: false,
  1104. columnImage: false,
  1105. columnSortable: false,
  1106. sortLv: 0,
  1107. status: true,
  1108. fixed: '',
  1109. },
  1110. {
  1111. userId: this.$store.state.user.name,
  1112. functionId: 501002,
  1113. serialNumber: '501002TableResourceDesc',
  1114. tableId: "501002Table",
  1115. tableName: "机台名称",
  1116. columnWidth: 130,
  1117. columnProp: 'resourceDesc',
  1118. headerAlign: 'center',
  1119. align: "left",
  1120. columnLabel: '机台名称',
  1121. columnHidden: false,
  1122. columnImage: false,
  1123. columnSortable: false,
  1124. sortLv: 0,
  1125. status: true,
  1126. fixed: '',
  1127. },
  1128. {
  1129. userId: this.$store.state.user.name,
  1130. functionId: 501002,
  1131. serialNumber: '501002TableCreationDate',
  1132. tableId: "501002Table",
  1133. tableName: "创建时间",
  1134. columnWidth: 130,
  1135. columnProp: 'creationDate',
  1136. headerAlign: 'center',
  1137. align: "center",
  1138. columnLabel: '创建时间',
  1139. columnHidden: false,
  1140. columnImage: false,
  1141. columnSortable: false,
  1142. sortLv: 0,
  1143. status: true,
  1144. fixed: '',
  1145. },
  1146. {
  1147. userId: this.$store.state.user.name,
  1148. functionId: 501002,
  1149. serialNumber: '501002TableCreatedBy',
  1150. tableId: "501002Table",
  1151. tableName: "创建人",
  1152. columnWidth: 130,
  1153. columnProp: 'createdBy',
  1154. headerAlign: 'center',
  1155. align: "left",
  1156. columnLabel: '创建人',
  1157. columnHidden: false,
  1158. columnImage: false,
  1159. columnSortable: false,
  1160. sortLv: 0,
  1161. status: true,
  1162. fixed: '',
  1163. },
  1164. ],
  1165. rules: {
  1166. prodLineNo: [
  1167. {
  1168. required: true,
  1169. message: ' ',
  1170. trigger: ['blur', 'change']
  1171. }
  1172. ],
  1173. site: [
  1174. {
  1175. required: true,
  1176. message: ' ',
  1177. trigger: ['blur', 'change']
  1178. }
  1179. ],
  1180. bu: [
  1181. {
  1182. required: true,
  1183. message: ' ',
  1184. trigger: ['blur', 'change']
  1185. }
  1186. ],
  1187. unitCost: [
  1188. {
  1189. required: true,
  1190. message: ' ',
  1191. trigger: ['blur', 'change']
  1192. }
  1193. ],
  1194. overheadCost: [
  1195. {
  1196. required: true,
  1197. message: ' ',
  1198. trigger: ['blur', 'change']
  1199. }
  1200. ],
  1201. laborCost: [
  1202. {
  1203. required: true,
  1204. message: ' ',
  1205. trigger: ['blur', 'change']
  1206. }
  1207. ],
  1208. beginDate: [
  1209. {
  1210. required: true,
  1211. message: ' ',
  1212. trigger: ['blur', 'change']
  1213. }
  1214. ]
  1215. },
  1216. options: [],
  1217. userBuList: [],
  1218. authSearch: false,
  1219. authSave: false,
  1220. authUpdate: false,
  1221. authDelete: false,
  1222. menuId: this.$route.meta.menuId,
  1223. }
  1224. },
  1225. mounted() {
  1226. this.$nextTick(() => {
  1227. this.height = (window.innerHeight - 260) / 2
  1228. })
  1229. },
  1230. //编码自动转化成大写
  1231. watch: {
  1232. modalData: {
  1233. deep: true,
  1234. handler: function (newV, oldV) {
  1235. this.modalData.prodLineNo = this.modalData.prodLineNo.toUpperCase()
  1236. }
  1237. }
  1238. },
  1239. created() {
  1240. //页面在加载的时候就调用查询方法
  1241. this.getDataList()
  1242. // 获取用户的 site 和 bu
  1243. this.getSiteAndBuByUserName()
  1244. },
  1245. methods: {
  1246. formatDate(date) {
  1247. const year = date.getFullYear();
  1248. const month = (date.getMonth() + 1).toString().padStart(2, '0');
  1249. const day = date.getDate().toString().padStart(2, '0');
  1250. // const hours = date.getHours().toString().padStart(2, '0');
  1251. // const minutes = date.getMinutes().toString().padStart(2, '0');
  1252. // const seconds = date.getSeconds().toString().padStart(2, '0');
  1253. // return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
  1254. return `${year}-${month}-${day}`;
  1255. },
  1256. validateInput() {
  1257. // 只保留数字
  1258. this.inputValue = this.inputValue.replace(/\D/g, '');
  1259. },
  1260. // 获取用户的bu
  1261. getSiteAndBuByUserName() {
  1262. let tempData = {
  1263. username: this.$store.state.user.name,
  1264. }
  1265. getSiteAndBuByUserName(tempData).then(({data}) => {
  1266. if (data.code === 0) {
  1267. this.userBuList = data.rows
  1268. }
  1269. })
  1270. },
  1271. // 查询获取数据列表
  1272. getDataList() {
  1273. this.searchData.limit = this.pageSize
  1274. this.searchData.page = this.pageIndex
  1275. findAll(this.searchData).then(({data}) => {
  1276. if (data.code === 0) {
  1277. this.dataList = data.page.list
  1278. this.pageIndex = data.page.currPage
  1279. this.pageSize = data.page.pageSize
  1280. this.totalPage = data.page.totalCount
  1281. }
  1282. if (this.dataList.length > 0) {
  1283. this.currentRow = this.dataList[0]
  1284. this.refreshCurrentTabTable()
  1285. }
  1286. })
  1287. },
  1288. // 每页数
  1289. sizeChangeHandle(val) {
  1290. this.pageSize = val
  1291. this.pageIndex = 1
  1292. this.getDataList()
  1293. },
  1294. // 当前页
  1295. currentChangeHandle(val) {
  1296. this.pageIndex = val
  1297. this.getDataList()
  1298. },
  1299. //页签二插查询
  1300. tabClick(tab, event) {
  1301. // 刷新列表数据
  1302. if (this.activeName == 'detail') {
  1303. this.refreshCurrentTabTable()
  1304. } else if (this.activeName == 'cost') {
  1305. this.refreshCurrentTabTable2()
  1306. } else if (this.activeName == 'resource') {
  1307. this.refreshCurrentTabTable3()
  1308. }
  1309. },
  1310. changeData(row) {
  1311. this.currentRow = JSON.parse(JSON.stringify(row));
  1312. // this.headerData = row;
  1313. if (this.activeName === 'detail') {
  1314. // this.refreshCurrentTabTable()
  1315. } else if (this.activeName === 'cost') {
  1316. this.refreshCurrentTabTable2()
  1317. } else if (this.activeName === 'resource') {
  1318. this.refreshCurrentTabTable3()
  1319. }
  1320. },
  1321. rowStyle({row}) {
  1322. if (this.currentRow.workCenterNo === row.workCenterNo) {
  1323. return {'background-color': '#E8F7F6', cursor: 'pointer'};
  1324. }
  1325. },
  1326. refreshCurrentTabTable() {
  1327. findFanuc(this.currentRow).then(({data}) => {
  1328. //区分请求成功和失败的状况
  1329. if (data && data.code === 0) {
  1330. this.dataList1 = data.rows[0]
  1331. } else {
  1332. this.dataList1 = [];
  1333. }
  1334. });
  1335. },
  1336. refreshCurrentTabTable2() {
  1337. queryByCost(this.currentRow).then(({data}) => {
  1338. //区分请求成功和失败的状况
  1339. if (data && data.code == 0) {
  1340. this.dataList2 = data.rows
  1341. } else {
  1342. this.dataList2 = [];
  1343. }
  1344. });
  1345. },
  1346. refreshCurrentTabTable3() {
  1347. queryResourceInfo(this.currentRow).then(({data}) => {
  1348. //区分请求成功和失败的状况
  1349. if (data && data.code == 0) {
  1350. this.dataList3 = data.rows
  1351. } else {
  1352. this.dataList3 = [];
  1353. }
  1354. });
  1355. },
  1356. // 新增按钮
  1357. addModal() {
  1358. this.modalData1 = {
  1359. flag: '1',
  1360. site: this.$store.state.user.site,
  1361. workCenterNo: this.currentRow.workCenterNo,
  1362. itemNo: '',
  1363. unitCost: '',
  1364. overheadCost: '',
  1365. laborCost: '',
  1366. umId: '',
  1367. beginDate: this.formatDate(new Date()),
  1368. endDate: '',
  1369. remark: '',
  1370. }
  1371. this.modalDisableFlag = false
  1372. this.modalFlag = true
  1373. },
  1374. // 修改按钮
  1375. updateModal(row) {
  1376. this.modalData1 = {
  1377. flag: '2',
  1378. site: this.$store.state.user.site,
  1379. workCenterNo: this.currentRow.workCenterNo,
  1380. id: row.id,
  1381. itemNo: row.itemNo,
  1382. unitCost: row.unitCost,
  1383. overheadCost: row.overheadCost,
  1384. laborCost: row.laborCost,
  1385. umId: row.umid,
  1386. beginDate: row.beginDate,
  1387. endDate: row.endDate,
  1388. remark: row.remark,
  1389. }
  1390. this.modalDisableFlag = true
  1391. this.modalFlag = true
  1392. },
  1393. // 删除方法
  1394. deleteModal(row) {
  1395. this.$confirm(`是否删除此数据?`, '提示', {
  1396. confirmButtonText: '确定',
  1397. cancelButtonText: '取消',
  1398. type: 'warning'
  1399. }).then(() => {
  1400. deleteByCost(row).then(({data}) => {
  1401. if (data && data.code === 0) {
  1402. this.getDataList()
  1403. this.refreshCurrentTabTable2()
  1404. this.$message({
  1405. message: '操作成功',
  1406. type: 'success',
  1407. duration: 1500,
  1408. onClose: () => {
  1409. }
  1410. })
  1411. } else {
  1412. this.$alert(data.msg, '错误', {
  1413. confirmButtonText: '确定'
  1414. })
  1415. }
  1416. })
  1417. }).catch(() => {
  1418. })
  1419. },
  1420. // 新增/修改方法
  1421. saveData() {
  1422. if (this.modalData1.flag === '1') { // 新增
  1423. if (this.modalData1.workCenterNo == null || this.modalData1.workCenterNo === '') {
  1424. this.$message.warning('请选择一条加工中心数据!')
  1425. return
  1426. }
  1427. if (this.modalData1.beginDate == null || this.modalData1.beginDate === '') {
  1428. this.$message.warning('请选择启用日期!')
  1429. return
  1430. }
  1431. if (this.modalData1.unitCost == null || this.modalData1.unitCost < 0) {
  1432. this.$message.warning('单位成本不能小于0!')
  1433. return
  1434. }
  1435. appendByCost(this.modalData1).then(({data}) => {
  1436. if (data && data.code === 0) {
  1437. this.getDataList()
  1438. this.refreshCurrentTabTable2()
  1439. this.modalFlag = false
  1440. this.$message({
  1441. message: '操作成功',
  1442. type: 'success',
  1443. duration: 1500,
  1444. onClose: () => {
  1445. }
  1446. })
  1447. } else {
  1448. this.$alert(data.msg, '错误', {
  1449. confirmButtonText: '确定'
  1450. })
  1451. }
  1452. })
  1453. } else { // 修改
  1454. amendByCost(this.modalData1).then(({data}) => {
  1455. if (data && data.code === 0) {
  1456. this.getDataList()
  1457. this.refreshCurrentTabTable2()
  1458. this.modalFlag = false
  1459. this.$message({
  1460. message: '操作成功',
  1461. type: 'success',
  1462. duration: 1500,
  1463. onClose: () => {
  1464. }
  1465. })
  1466. } else {
  1467. this.$alert(data.msg, '错误', {
  1468. confirmButtonText: '确定'
  1469. })
  1470. }
  1471. })
  1472. }
  1473. },
  1474. //加工中心
  1475. updateModal1(row) {
  1476. this.modalData = {
  1477. flag: '2',
  1478. site: this.$store.state.user.site,
  1479. id: row.id,
  1480. bu: row.bu,
  1481. buNo: row.buNo,
  1482. workshopId: row.buNo,
  1483. workCenterNo: row.workCenterNo,
  1484. workCenterDesc: row.workCenterDesc,
  1485. workCenterTypeDb: row.workCenterTypeDb,
  1486. workCenterType: row.workCenterType,
  1487. updateBy: this.$store.state.user.name,
  1488. updateDate: row.updateDate,
  1489. averageCapacity: row.averageCapacity,
  1490. efficiency: row.efficiency,
  1491. utilization: row.utilization,
  1492. capacityTypeDb: row.capacityTypeDb,
  1493. capacityType: row.capacityType,
  1494. umid: row.umid,
  1495. active: row.active,
  1496. prolineNo: row.prolineNo,
  1497. needSetupFlag: row.needSetupFlag,
  1498. createdBy: this.$store.state.user.name,
  1499. createdDate: row.createDate,
  1500. remark: row.remark,
  1501. delflag: row.delflag,
  1502. version: row.version
  1503. }
  1504. this.modalDisableFlag1 = true
  1505. this.modalFlag1 = true
  1506. },
  1507. saveData1() {
  1508. if (this.modalData.flag === '2') { // 修改
  1509. updateFanuc(this.modalData).then(({data}) => {
  1510. if (data && data.code === 0) {
  1511. this.getDataList()
  1512. this.refreshCurrentTabTable2()
  1513. this.modalFlag1 = false
  1514. this.$message({
  1515. message: '操作成功',
  1516. type: 'success',
  1517. duration: 1500,
  1518. onClose: () => {
  1519. }
  1520. })
  1521. } else {
  1522. this.$alert(data.msg, '错误', {
  1523. confirmButtonText: '确定'
  1524. })
  1525. }
  1526. })
  1527. }
  1528. },
  1529. // 查询检验类型
  1530. inspectionTypeSearch() {
  1531. let tempData = {
  1532. site: this.$store.state.user.site
  1533. }
  1534. inspectionTypeSearch(tempData).then(({data}) => {
  1535. if (data.code === 0) {
  1536. this.options = data.rows
  1537. }
  1538. })
  1539. },
  1540. // 校验用户是否收藏
  1541. favoriteIsOk() {
  1542. let userFavorite = {
  1543. userId: this.$store.state.user.id,
  1544. languageCode: this.$i18n.locale
  1545. }
  1546. userFavoriteList(userFavorite).then(({data}) => {
  1547. for (let i = 0; i < data.list.length; i++) {
  1548. if (this.$route.meta.menuId === data.list[i].menuId) {
  1549. this.favorite = true
  1550. }
  1551. }
  1552. })
  1553. },
  1554. // 收藏 OR 取消收藏
  1555. favoriteFunction() {
  1556. let userFavorite = {
  1557. userId: this.$store.state.user.id,
  1558. functionId: this.$route.meta.menuId,
  1559. }
  1560. if (this.favorite) {
  1561. removeUserFavorite(userFavorite).then(({data}) => {
  1562. this.$message.success(data.msg)
  1563. this.favorite = false
  1564. })
  1565. } else {
  1566. // 收藏
  1567. saveUserFavorite(userFavorite).then(({data}) => {
  1568. this.$message.success(data.msg)
  1569. this.favorite = true
  1570. })
  1571. }
  1572. },
  1573. //导出excel
  1574. async createExportData() {
  1575. this.searchData.limit = -1
  1576. this.searchData.page = 1
  1577. await findAll(this.searchData).then(({data}) => {
  1578. this.exportList = data.rows
  1579. })
  1580. return this.exportList
  1581. },
  1582. startDownload() {
  1583. },
  1584. finishDownload() {
  1585. },
  1586. fields() {
  1587. let json = "{"
  1588. this.columnList.forEach((item, index) => {
  1589. if (index == this.columnList.length - 1) {
  1590. json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\""
  1591. } else {
  1592. json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + ","
  1593. }
  1594. })
  1595. json += "}"
  1596. let s = eval("(" + json + ")")
  1597. return s
  1598. },
  1599. // 动态列开始 获取 用户保存的 格式列
  1600. async getTableUserColumn(tableId, columnId) {
  1601. let queryTableUser = {
  1602. userId: this.$store.state.user.name,
  1603. functionId: this.$route.meta.menuId,
  1604. tableId: tableId,
  1605. status: true,
  1606. languageCode: this.$i18n.locale
  1607. }
  1608. await getTableUserListLanguage(queryTableUser).then(({data}) => {
  1609. if (data.rows.length > 0) {
  1610. //this.columnList1 = []
  1611. switch (columnId) {
  1612. case 1:
  1613. this.columnList = data.rows
  1614. break;
  1615. // case 2:
  1616. // this.columnDetailList = data.rows
  1617. // break;
  1618. // case 3:
  1619. // this.columnList2 = data.rows
  1620. // break;
  1621. // case 4:
  1622. // this.columnList3 = data.rows
  1623. // break;
  1624. }
  1625. } else {
  1626. this.getColumnList(tableId, columnId)
  1627. }
  1628. })
  1629. },
  1630. // 获取 tableDefault 列
  1631. async getColumnList(tableId, columnId) {
  1632. let queryTable = {
  1633. functionId: this.$route.meta.menuId,
  1634. tableId: tableId,
  1635. languageCode: this.$i18n.locale
  1636. }
  1637. await getTableDefaultListLanguage(queryTable).then(({data}) => {
  1638. if (!data.rows.length == 0) {
  1639. switch (columnId) {
  1640. case 1:
  1641. this.columnList = data.rows
  1642. break;
  1643. // case 2:
  1644. // this.columnDetailList = data.rows
  1645. // break;
  1646. // case 3:
  1647. // this.columnList2 = data.rows
  1648. // break;
  1649. // case 4:
  1650. // this.columnList3 = data.rows
  1651. // break;
  1652. }
  1653. } else {
  1654. // this.showDefault = true.
  1655. }
  1656. })
  1657. },
  1658. //获取按钮的权限数据
  1659. getButtonAuthData() {
  1660. let searchFlag = this.isAuth(this.menuId + ":search")
  1661. let saveFlag = this.isAuth(this.menuId + ":save")
  1662. let updateFlag = this.isAuth(this.menuId + ":update")
  1663. let deleteFlag = this.isAuth(this.menuId + ":delete")
  1664. //处理页面的权限数据
  1665. this.authSearch = !searchFlag
  1666. this.authSave = !saveFlag
  1667. this.authUpdate = !updateFlag
  1668. this.authDelete = !deleteFlag
  1669. },
  1670. }
  1671. }
  1672. </script>
  1673. <style scoped>
  1674. .numInput /deep/ .el-input__inner {
  1675. text-align: right;
  1676. padding-right: 5px !important;
  1677. }
  1678. .auto /deep/ .el-form-item__content {
  1679. height: auto;
  1680. line-height: 1.5;
  1681. }
  1682. </style>