plm前端
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.

1423 lines
47 KiB

2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
1 year ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
  1. <template>
  2. <div class="mod-config">
  3. <el-form :inline="true" label-position="top" label-width="100px" style="margin-top: 0px;">
  4. <el-form-item :label="'申请单号'">
  5. <el-input v-model="searchData.applyNo" style="width: 160px"></el-input>
  6. </el-form-item>
  7. <el-form-item label="申请日期">
  8. <el-date-picker
  9. value-format="yyyy-MM-dd"
  10. style="width: 100%"
  11. v-model="searchData.startDate"
  12. type="date"
  13. placeholder="开始日期">
  14. </el-date-picker>
  15. </el-form-item>
  16. <el-form-item label="到">
  17. <el-date-picker
  18. value-format="yyyy-MM-dd"
  19. style="width: 100%"
  20. v-model="searchData.endDate"
  21. type="date"
  22. placeholder="结束日期">
  23. </el-date-picker>
  24. </el-form-item>
  25. <el-form-item label=" ">
  26. <el-button @click="search()" type="primary" style="margin-left: 2px;margin-top:0px">查询</el-button>
  27. <!-- <el-button @click="addOrUpdateHandle('save')" type="primary" style="margin-left: 2px;margin-top: 0px">新增</el-button>-->
  28. <download-excel
  29. :fields="fields()"
  30. :data="exportData"
  31. type="xls"
  32. :name="exportName"
  33. :header="exportHeader"
  34. :footer="exportFooter"
  35. :fetch="createExportData"
  36. :before-generate="startDownload"
  37. :before-finish="finishDownload"
  38. worksheet="导出信息"
  39. class="el-button el-button--primary el-button--medium">
  40. {{ '导出' }}
  41. </download-excel>
  42. </el-form-item>
  43. </el-form>
  44. <el-table
  45. :height="height"
  46. :data="dataList1"
  47. border
  48. ref="mainTable"
  49. @row-click="changeData"
  50. highlight-current-row
  51. v-loading="dataListLoading"
  52. style="width: 100%;">
  53. <el-table-column
  54. header-align="center"
  55. align="center"
  56. width="150"
  57. fixed="right"
  58. label="操作">
  59. <template slot-scope="scope">
  60. <a type="text" size="small" v-if="scope.row.statusCode==='05'" @click="comfirmApply(scope.row)">下达</a>
  61. <a type="text" size="small" v-if="scope.row.status=='审批中'" @click="editModal(scope.row)">审批</a>
  62. <a type="text" size="small" v-if="scope.row.statusCode==='05'" @click="cancelApply(scope.row)">取消申请</a>
  63. </template>
  64. </el-table-column>
  65. <el-table-column
  66. v-for="(item,index) in columnList1" :key="index"
  67. :sortable="item.columnSortable"
  68. :prop="item.columnProp"
  69. :header-align="item.headerAlign"
  70. :show-overflow-tooltip="item.showOverflowTooltip"
  71. :align="item.align"
  72. :fixed="item.fixed==''?false:item.fixed"
  73. :min-width="item.columnWidth"
  74. :label="item.columnLabel">
  75. <template slot-scope="scope">
  76. <span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
  77. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  78. style="width: 100px; height: 80px"/></span>
  79. </template>
  80. </el-table-column>
  81. </el-table>
  82. <el-pagination
  83. @size-change="sizeChangeHandle"
  84. @current-change="currentChangeHandle"
  85. :current-page="pageIndex"
  86. :page-sizes="[20, 50, 100, 1000]"
  87. :page-size="pageSize"
  88. :total="totalPage"
  89. layout="total, sizes, prev, pager, next, jumper">
  90. </el-pagination>
  91. <el-tabs style="font-size: 12px;min-height: 330px" class="customer-tab" v-model="activeName" type="border-card" @tab-click="tabClick">
  92. <el-tab-pane label="工具明细" name="detail">
  93. <el-table
  94. :data="detailList"
  95. height="240"
  96. border
  97. v-loading="dataListLoading"
  98. style="width: 100%; ">
  99. <el-table-column
  100. v-for="(item,index) in columnList2" :key="index"
  101. :sortable="item.columnSortable"
  102. :prop="item.columnProp"
  103. :header-align="item.headerAlign"
  104. :show-overflow-tooltip="item.showOverflowTooltip"
  105. :align="item.align"
  106. :fixed="item.fixed==''?false:item.fixed"
  107. :min-width="item.columnWidth"
  108. :label="item.columnLabel">
  109. <template slot-scope="scope">
  110. <span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>
  111. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  112. style="width: 100px; height: 80px"/></span>
  113. </template>
  114. </el-table-column>
  115. <el-table-column
  116. header-align="center"
  117. align="center"
  118. width="120"
  119. fixed="right"
  120. label="操作">
  121. <template slot-scope="scope">
  122. <a type="text" size="small" @click="jumpBM(scope.row)">跳转BenchMark</a>
  123. </template>
  124. </el-table-column>
  125. <!-- <el-table-column-->
  126. <!-- fixed="right"-->
  127. <!-- header-align="center"-->
  128. <!-- align="center"-->
  129. <!-- width="100"-->
  130. <!-- label="操作">-->
  131. <!-- <template slot-scope="scope">-->
  132. <!-- &lt;!&ndash; <a :href="'http://192.168.1.130:80/file/'+scope.row.url" :download="scope.row.fileName">下载</a>&ndash;&gt;-->
  133. <!-- <a @click="downloadFile(scope.row)" >下载</a>-->
  134. <!-- <a type="text" size="small" @click="deleteFile(scope.row)">删除</a>-->
  135. <!-- </template>-->
  136. <!-- </el-table-column>-->
  137. </el-table>
  138. </el-tab-pane>
  139. <el-tab-pane label="附件信息" name="down">
  140. <oss-components height="25vh" label="附件" :columns="ossColumns" :order-ref1="currentRow.site" :order-ref2="currentRow.applyNo"></oss-components>
  141. <!--文件上传-->
  142. <!-- <el-form label-position="top" style="margin-top: 1px; margin-left: 0px;">-->
  143. <!-- <el-form :inline="true" label-position="top" style="margin-top: 0px">-->
  144. <!-- <el-button type="primary" @click="addUploadFileModal()">上传文件</el-button>-->
  145. <!-- </el-form>-->
  146. <!-- </el-form>-->
  147. <!-- <el-table-->
  148. <!-- :data="fileContentList"-->
  149. <!-- height="240"-->
  150. <!-- border-->
  151. <!-- v-loading="dataListLoading"-->
  152. <!-- style="width: 100%; ">-->
  153. <!-- <el-table-column-->
  154. <!-- v-for="(item,index) in columnFileContentArray" :key="index"-->
  155. <!-- :sortable="item.columnSortable"-->
  156. <!-- :prop="item.columnProp"-->
  157. <!-- :header-align="item.headerAlign"-->
  158. <!-- :show-overflow-tooltip="item.showOverflowTooltip"-->
  159. <!-- :align="item.align"-->
  160. <!-- :fixed="item.fixed==''?false:item.fixed"-->
  161. <!-- :min-width="item.columnWidth"-->
  162. <!-- :label="item.columnLabel">-->
  163. <!-- <template slot-scope="scope">-->
  164. <!-- <span v-if="!item.columnHidden"> {{ scope.row[item.columnProp] }}</span>-->
  165. <!-- <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"-->
  166. <!-- style="width: 100px; height: 80px"/></span>-->
  167. <!-- </template>-->
  168. <!-- </el-table-column>-->
  169. <!-- <el-table-column-->
  170. <!-- fixed="right"-->
  171. <!-- header-align="center"-->
  172. <!-- align="center"-->
  173. <!-- width="100"-->
  174. <!-- label="操作">-->
  175. <!-- <template slot-scope="scope">-->
  176. <!-- &lt;!&ndash; <a :href="'http://192.168.1.130:80/file/'+scope.row.url" :download="scope.row.fileName">下载</a>&ndash;&gt;-->
  177. <!-- <a @click="downloadFile(scope.row)" >下载</a>-->
  178. <!-- <a type="text" size="small" @click="deleteFile(scope.row)">删除</a>-->
  179. <!-- </template>-->
  180. <!-- </el-table-column>-->
  181. <!-- </el-table>-->
  182. </el-tab-pane>
  183. <!-- 审批信息 -->
  184. <el-tab-pane label="审批信息" name="approvalInformation">
  185. <approval-information ref="approvalTable" v-model:data-list="approvalList" :height="240"></approval-information>
  186. </el-tab-pane>
  187. <el-tab-pane label="处理信息" name="tab4">
  188. <el-form :inline="true" label-position="top" style="margin-top: 0px">
  189. <!-- <el-button type="primary" :disabled="!(currentRow.statusCode==='50'||currentRow.statusCode==='60')" @click="openMassageModel()">申请信息录入</el-button>-->
  190. <el-button type="primary" @click="openMassageModel()">申请信息录入</el-button>
  191. </el-form>
  192. <el-form label-position="top" :model="currentRow" >
  193. <el-row :gutter="15">
  194. <el-col :span="6">
  195. <el-form-item label="IFS PR编号" >
  196. <el-input v-model="currentRow.prNo" readonly></el-input>
  197. </el-form-item>
  198. </el-col>
  199. <el-col :span="18">
  200. <el-form-item label="备注" >
  201. <el-input v-model="currentRow.remark1" readonly></el-input>
  202. </el-form-item>
  203. </el-col>
  204. </el-row>
  205. <el-row :gutter="15" style="margin-top: 20px">
  206. <el-col :span="6">
  207. <el-form-item label="采购订单号" >
  208. <el-input v-model="currentRow.poNo" readonly ></el-input>
  209. </el-form-item>
  210. </el-col>
  211. <el-col :span="6">
  212. <el-form-item label="厂商名称" >
  213. <el-input v-model="currentRow.supplierName" readonly></el-input>
  214. </el-form-item>
  215. </el-col>
  216. <el-col :span="6">
  217. <el-form-item label="总成本(元)" >
  218. <el-input v-model="currentRow.allCost" readonly></el-input>
  219. </el-form-item>
  220. </el-col>
  221. </el-row>
  222. <el-row :gutter="15" style="margin-top: 0px">
  223. <el-col :span="24">
  224. <el-form-item label="备注" >
  225. <el-input v-model="currentRow.remark2" readonly></el-input>
  226. </el-form-item>
  227. </el-col>
  228. </el-row>
  229. </el-form>
  230. </el-tab-pane>
  231. </el-tabs>
  232. <el-dialog
  233. width="800px" v-drag
  234. :title="'刀模申请审批'"
  235. :close-on-click-modal="false"
  236. :visible.sync="visible">
  237. <el-form :inline="true" label-position="top" label-width="100px" >
  238. <el-form-item :label="'申请编号'">
  239. <el-input v-model="dataForm.applyNo" style="width: 130px" disabled></el-input>
  240. </el-form-item>
  241. <el-form-item :label="'申请人'" required="required">
  242. <el-input v-model="dataForm.applyBy" style="width: 130px" disabled></el-input>
  243. </el-form-item>
  244. <el-form-item :label="'申请日期'" required="required">
  245. <el-date-picker
  246. value-format="yyyy-MM-dd"
  247. style="width: 100%"
  248. v-model="dataForm.applyDate"
  249. type="date"
  250. disabled
  251. placeholder="结束日期">
  252. </el-date-picker>
  253. </el-form-item>
  254. <el-form-item :label="'申请总数'">
  255. <el-input v-model="dataForm.applySumQty" style="width: 130px" disabled></el-input>
  256. </el-form-item>
  257. </el-form>
  258. <el-form :inline="true" label-position="top" label-width="100px" >
  259. <el-form-item :label="'申请原因'">
  260. <el-input v-model="dataForm.applyReason" style="width: 770px" ></el-input>
  261. </el-form-item>
  262. </el-form>
  263. <el-form :inline="true" label-position="top" label-width="100px" >
  264. <el-form-item :label="'备注'">
  265. <el-input v-model="dataForm.remark" style="width: 770px" ></el-input>
  266. </el-form-item>
  267. </el-form>
  268. <div class="rq">
  269. <el-table
  270. height="250"
  271. :data="toolData"
  272. border
  273. ref="toolTable"
  274. v-loading="dataListLoading"
  275. style="width: 100%;">
  276. <el-table-column
  277. v-for="(item,index) in columnList2" :key="index"
  278. :sortable="item.columnSortable"
  279. :prop="item.columnProp"
  280. :header-align="item.headerAlign"
  281. :show-overflow-tooltip="item.showOverflowTooltip"
  282. :align="item.align"
  283. :fixed="item.fixed==''?false:item.fixed"
  284. :min-width="item.columnWidth"
  285. :label="item.columnLabel">
  286. <template slot-scope="scope">
  287. <div v-if="item.columnProp !== 'applyQty' ">
  288. <span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
  289. <span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
  290. style="width: 100px; height: 80px"/></span>
  291. </div>
  292. <div v-else>
  293. <el-input v-model="scope.row.applyQty" type="number" @change="changeSum(scope.row)" placeholder="请输入数量" onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')"
  294. style="width:98%"></el-input>
  295. </div>
  296. </template>
  297. </el-table-column>
  298. </el-table>
  299. </div>
  300. <span slot="footer" class="dialog-footer">
  301. <el-button type="primary" @click="saveData()">{{'保存'}}</el-button>
  302. <el-button type="primary" @click="visible = false">{{'取消'}}</el-button>
  303. </span>
  304. </el-dialog>
  305. <el-dialog
  306. width="600px" v-drag
  307. :title="'处理信息'"
  308. :close-on-click-modal="false"
  309. :visible.sync="modelFlag">
  310. <el-form label-position="top" >
  311. <el-row :gutter="15" >
  312. <el-col :span="6">
  313. <el-form-item label="IFS PR编号" >
  314. <el-input v-model="modelData.prNo" ></el-input>
  315. </el-form-item>
  316. </el-col>
  317. <el-col :span="18">
  318. <el-form-item label="备注" >
  319. <el-input v-model="modelData.remark1" ></el-input>
  320. </el-form-item>
  321. </el-col>
  322. </el-row>
  323. <el-row :gutter="15" style="margin-top: 20px" >
  324. <el-col :span="6">
  325. <el-form-item label="采购订单号" >
  326. <el-input v-model="modelData.poNo" ></el-input>
  327. </el-form-item>
  328. </el-col>
  329. <el-col :span="6">
  330. <el-form-item label="厂商名称" >
  331. <el-input v-model="modelData.supplierName" ></el-input>
  332. </el-form-item>
  333. </el-col>
  334. <el-col :span="6">
  335. <el-form-item label="总成本(元)" >
  336. <el-input v-model="modelData.allCost" type="number" ></el-input>
  337. </el-form-item>
  338. </el-col>
  339. </el-row>
  340. <el-row :gutter="15" style="margin-top: 0px">
  341. <el-col :span="24">
  342. <el-form-item label="备注" >
  343. <el-input v-model="modelData.remark2" ></el-input>
  344. </el-form-item>
  345. </el-col>
  346. </el-row>
  347. </el-form>
  348. <span slot="footer" class="dialog-footer">
  349. <el-button type="primary" @click="saveHeaderMessage()">{{'保存'}}</el-button>
  350. <el-button type="primary" @click="modelFlag = false">{{'取消'}}</el-button>
  351. </span>
  352. </el-dialog>
  353. <!-- 上传文件的modal -->
  354. <projectUploadFile ref="projectUploadFile" @refreshPageTables="getFileContentData()" v-drag></projectUploadFile>
  355. <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
  356. </div>
  357. </template>
  358. <script>
  359. import {
  360. customerInformationSearch, // 客户信息列表查询`
  361. } from '@/api/customer/customerInformation.js'
  362. import projectUploadFile from "./com_tool_upload_file";/*上传文件的組件*/
  363. import Chooselist from '@/views/modules/common/Chooselist'
  364. import {searchProjectToolApplyHeader,
  365. searchProjectToolApplyDetail,
  366. comfirmProjectToolApply,
  367. cancelProjectToolApply,
  368. saveProjectHeaderMessage,
  369. editToolApplication
  370. } from "@/api/tool/toolApply.js"
  371. import {
  372. deleteProjectFile,
  373. getFileContentList,
  374. downLoadProjectFile,
  375. getProjectPartNowBm,
  376. } from "@/api/project/project.js"
  377. import {
  378. getNodeAuthority, // 获取节点权限
  379. getApprovalList, // 查询审批信息
  380. } from '@/api/changeManagement/changeManagement.js'
  381. import ApprovalInformation from "../changeManagement/approvalInformation.vue";
  382. import OssComponents from "../oss/ossComponents";
  383. /*組件*/
  384. export default {
  385. components: {
  386. ApprovalInformation,
  387. OssComponents,
  388. Chooselist,
  389. projectUploadFile,
  390. },
  391. name: "null",
  392. data() {
  393. return {
  394. visible:false,
  395. fileContentList: [],
  396. activeName: 'detail',
  397. searchData:{
  398. page: 1,
  399. limit: 100,
  400. site:this.$store.state.user.site,
  401. applyNo:'',
  402. startDate:'',
  403. endDate:'',
  404. },
  405. toolData:[],
  406. dataForm:{
  407. site: '',
  408. applyNo: '',
  409. applyBy:'',
  410. applyDate:'',
  411. applySumQty:'',
  412. applyReason:'',
  413. remark:'',
  414. createBy:'',
  415. detailList:[],
  416. },
  417. modelData:{
  418. site:'',
  419. applyNo:'',
  420. prNo:'',
  421. remark1:'',
  422. poNo:'',
  423. supplierName:'',
  424. allCost:'',
  425. remark2:'',
  426. },
  427. modelFlag:false,
  428. currentRow:{},
  429. currentRow2:{},
  430. height: 200,
  431. dataList1:[],
  432. detailList:[],
  433. dataListLoading: false,
  434. // 导出 start
  435. exportData: [],
  436. exportName: "项目清单" + this.dayjs().format('YYYYMMDDHHmmss'),
  437. exportHeader: ["项目清单"],
  438. exportFooter: [],
  439. exportList:[],
  440. // 导出 start
  441. exportData2: [],
  442. exportName2: "项目客户联系人" + this.dayjs().format('YYYYMMDDHHmmss'),
  443. exportHeader2: ["项目客户联系人"],
  444. exportFooter2: [],
  445. exportList2:[],
  446. tagNo:'',
  447. tagNo2:'',
  448. pageIndex: 1,
  449. pageSize: 100,
  450. totalPage: 0,
  451. ossColumns:[
  452. {
  453. userId: this.$store.state.user.name,
  454. functionId: 103001,
  455. serialNumber: '103001Table2FileName',
  456. tableId: '103001Table2',
  457. tableName: '文件信息表',
  458. columnProp: 'fileName',
  459. headerAlign: 'center',
  460. align: 'center',
  461. columnLabel: '文件名称',
  462. columnHidden: false,
  463. columnImage: false,
  464. columnSortable: false,
  465. sortLv: 0,
  466. status: true,
  467. fixed: '',
  468. columnWidth: 140
  469. },
  470. {
  471. userId: this.$store.state.user.name,
  472. functionId: 103001,
  473. serialNumber: '103001Table2FileRemark',
  474. tableId: '103001Table2',
  475. tableName: '文件信息表',
  476. columnProp: 'fileRemark',
  477. headerAlign: 'center',
  478. align: 'center',
  479. columnLabel: '备注',
  480. columnHidden: false,
  481. columnImage: false,
  482. columnSortable: false,
  483. sortLv: 0,
  484. status: true,
  485. fixed: '',
  486. columnWidth: 240
  487. },
  488. // {
  489. // userId: this.$store.state.user.name,
  490. // functionId: 103001,
  491. // serialNumber: '103001Table2OrderRef3',
  492. // tableId: '103001Table2',
  493. // tableName: '文件信息表',
  494. // columnProp: 'orderRef3',
  495. // headerAlign: 'center',
  496. // align: 'center',
  497. // columnLabel: '文件描述',
  498. // columnHidden: false,
  499. // columnImage: false,
  500. // columnSortable: false,
  501. // sortLv: 0,
  502. // status: true,
  503. // fixed: '',
  504. // columnWidth: 120
  505. // },
  506. {
  507. userId: this.$store.state.user.name,
  508. functionId: 103001,
  509. serialNumber: '103001Table2CreateDate',
  510. tableId: '103001Table2',
  511. tableName: '文件信息表',
  512. columnProp: 'createDate',
  513. headerAlign: 'center',
  514. align: 'center',
  515. columnLabel: '上传时间',
  516. columnHidden: false,
  517. columnImage: false,
  518. columnSortable: false,
  519. sortLv: 0,
  520. status: true,
  521. fixed: '',
  522. columnWidth: 140
  523. },
  524. {
  525. userId: this.$store.state.user.name,
  526. functionId: 103001,
  527. serialNumber: '103001Table2CreatedBy',
  528. tableId: '103001Table2',
  529. tableName: '文件信息表',
  530. columnProp: 'createBy',
  531. headerAlign: 'center',
  532. align: 'center',
  533. columnLabel: '上传人',
  534. columnHidden: false,
  535. columnImage: false,
  536. columnSortable: false,
  537. sortLv: 0,
  538. status: true,
  539. fixed: '',
  540. columnWidth: 140
  541. }
  542. ],
  543. // 导出 end
  544. columnList1: [
  545. {
  546. userId: this.$store.state.user.name,
  547. functionId: 106002,
  548. serialNumber: '106002Table1Site',
  549. tableId: "106002Table1",
  550. tableName: "刀具申请主表",
  551. columnProp: "site",
  552. headerAlign: "center",
  553. align: "left",
  554. columnLabel: "工厂编码",
  555. columnHidden: false,
  556. columnImage: false,
  557. columnSortable: false,
  558. sortLv: 0,
  559. status: true,
  560. fixed: '',
  561. columnWidth: 70
  562. },
  563. {
  564. userId: this.$store.state.user.name,
  565. functionId: 106002,
  566. serialNumber: '106002Table1ApplyNo',
  567. tableId: "106002Table1",
  568. tableName: "刀具申请主表",
  569. columnProp: "applyNo",
  570. headerAlign: "center",
  571. align: "left",
  572. columnLabel: "申请单号",
  573. columnHidden: false,
  574. columnImage: false,
  575. columnSortable: false,
  576. sortLv: 0,
  577. status: true,
  578. fixed: '',
  579. columnWidth: 80
  580. },
  581. {
  582. userId: this.$store.state.user.name,
  583. functionId: 106002,
  584. serialNumber: '106002Table1ApplyBy',
  585. tableId: "106002Table1",
  586. tableName: "刀具申请主表",
  587. columnProp: "applyBy",
  588. headerAlign: "center",
  589. align: "left",
  590. columnLabel: "申请人",
  591. columnHidden: false,
  592. columnImage: false,
  593. columnSortable: false,
  594. sortLv: 0,
  595. status: true,
  596. fixed: '',
  597. columnWidth: 60
  598. },
  599. {
  600. userId: this.$store.state.user.name,
  601. functionId: 106002,
  602. serialNumber: '106002Table1Status',
  603. tableId: "106002Table1",
  604. tableName: "刀具申请主表",
  605. columnProp: "status",
  606. headerAlign: "center",
  607. align: "left",
  608. columnLabel: "状态",
  609. columnHidden: false,
  610. columnImage: false,
  611. columnSortable: false,
  612. sortLv: 0,
  613. status: true,
  614. fixed: '',
  615. columnWidth: 60
  616. },
  617. {
  618. userId: this.$store.state.user.name,
  619. functionId: 106002,
  620. serialNumber: '106002Table1ApplyDate',
  621. tableId: "106002Table1",
  622. tableName: "刀具申请主表",
  623. columnProp: "applyDate",
  624. headerAlign: "center",
  625. align: "left",
  626. columnLabel: "申请日期",
  627. columnHidden: false,
  628. columnImage: false,
  629. columnSortable: false,
  630. sortLv: 0,
  631. status: true,
  632. fixed: '',
  633. columnWidth: 80
  634. },
  635. {
  636. userId: this.$store.state.user.name,
  637. functionId: 106002,
  638. serialNumber: '106002Table1ApplyReason',
  639. tableId: "106002Table1",
  640. tableName: "刀具申请主表",
  641. columnProp: "applyReason",
  642. headerAlign: "center",
  643. align: "left",
  644. columnLabel: "申请原因",
  645. columnHidden: false,
  646. columnImage: false,
  647. columnSortable: false,
  648. sortLv: 0,
  649. status: true,
  650. fixed: '',
  651. columnWidth: 150
  652. },
  653. {
  654. userId: this.$store.state.user.name,
  655. functionId: 106002,
  656. serialNumber: '106002Table1Remark',
  657. tableId: "106002Table1",
  658. tableName: "刀具申请主表",
  659. columnProp: "remark",
  660. headerAlign: "center",
  661. align: "left",
  662. columnLabel: "申请备注",
  663. columnHidden: false,
  664. columnImage: false,
  665. columnSortable: false,
  666. sortLv: 0,
  667. status: true,
  668. fixed: '',
  669. columnWidth: 200
  670. },
  671. ],
  672. columnList2: [
  673. {
  674. userId: this.$store.state.user.name,
  675. functionId: 106002,
  676. serialNumber: '106002Table2SeqNo',
  677. tableId: '106002Table2',
  678. tableName: '工具申请明细',
  679. columnProp: 'seqNo',
  680. headerAlign: 'center',
  681. align: 'center',
  682. columnLabel: '序号',
  683. columnHidden: false,
  684. columnImage: false,
  685. columnSortable: false,
  686. sortLv: 0,
  687. status: true,
  688. fixed: '',
  689. columnWidth: 40
  690. },
  691. {
  692. userId: this.$store.state.user.name,
  693. functionId: 106002,
  694. serialNumber: '106002Table2QuotationNo',
  695. tableId: '106002Table2',
  696. tableName: '工具申请明细',
  697. columnProp: 'orderRef1',
  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. columnWidth: 100
  708. },
  709. {
  710. userId: this.$store.state.user.name,
  711. functionId: 106002,
  712. serialNumber: '106002Table2ToolNo',
  713. tableId: '106002Table2',
  714. tableName: '工具申请明细',
  715. columnProp: 'toolId',
  716. headerAlign: 'center',
  717. align: 'center',
  718. columnLabel: '工具编码',
  719. columnHidden: false,
  720. columnImage: false,
  721. columnSortable: false,
  722. sortLv: 0,
  723. status: true,
  724. fixed: '',
  725. columnWidth: 70
  726. },
  727. {
  728. userId: this.$store.state.user.name,
  729. functionId: 106002,
  730. serialNumber: '106002Table2ToolDescription',
  731. tableId: '106002Table2',
  732. tableName: '工具申请明细',
  733. columnProp: 'toolDesc',
  734. headerAlign: 'center',
  735. align: 'center',
  736. columnLabel: '工具描述',
  737. columnHidden: false,
  738. columnImage: false,
  739. columnSortable: false,
  740. sortLv: 0,
  741. status: true,
  742. fixed: '',
  743. columnWidth: 120
  744. },
  745. {
  746. userId: this.$store.state.user.name,
  747. functionId: 106002,
  748. serialNumber: '106002Table2ApplyQty',
  749. tableId: '106002Table2',
  750. tableName: '工具申请明细',
  751. columnProp: 'applyQty',
  752. headerAlign: 'center',
  753. align: 'center',
  754. columnLabel: '申请数量',
  755. columnHidden: false,
  756. columnImage: false,
  757. columnSortable: false,
  758. sortLv: 0,
  759. status: true,
  760. fixed: '',
  761. columnWidth: 80
  762. },
  763. {
  764. userId: this.$store.state.user.name,
  765. functionId: 106002,
  766. serialNumber: '106002Table2UnitCost',
  767. tableId: '106002Table2',
  768. tableName: '工具申请明细',
  769. columnProp: 'standardCost',
  770. headerAlign: 'center',
  771. align: 'center',
  772. columnLabel: '工具成本',
  773. columnHidden: false,
  774. columnImage: false,
  775. columnSortable: false,
  776. sortLv: 0,
  777. status: true,
  778. fixed: '',
  779. columnWidth: 60
  780. },
  781. {
  782. userId: this.$store.state.user.name,
  783. functionId: 106002,
  784. serialNumber: '106002Table2QuotationNo',
  785. tableId: '106002Table2',
  786. tableName: '工具申请明细',
  787. columnProp: 'orderRef2',
  788. headerAlign: 'center',
  789. align: 'center',
  790. columnLabel: '物料编码',
  791. columnHidden: false,
  792. columnImage: false,
  793. columnSortable: false,
  794. sortLv: 0,
  795. status: true,
  796. fixed: '',
  797. columnWidth: 70
  798. }, {
  799. userId: this.$store.state.user.name,
  800. functionId: 106002,
  801. serialNumber: '106002Table2QuotationNo',
  802. tableId: '106002Table2',
  803. tableName: '工具申请明细',
  804. columnProp: 'orderRef3',
  805. headerAlign: 'center',
  806. align: 'center',
  807. columnLabel: '工艺路线版本',
  808. columnHidden: false,
  809. columnImage: false,
  810. columnSortable: false,
  811. sortLv: 0,
  812. status: true,
  813. fixed: '',
  814. columnWidth: 70
  815. },
  816. {
  817. userId: this.$store.state.user.name,
  818. functionId: 106002,
  819. serialNumber: '106002Table2QuotationNo',
  820. tableId: '106002Table2',
  821. tableName: '工具申请明细',
  822. columnProp: 'orderRef5',
  823. headerAlign: 'center',
  824. align: 'center',
  825. columnLabel: '替代编码',
  826. columnHidden: false,
  827. columnImage: false,
  828. columnSortable: false,
  829. sortLv: 0,
  830. status: true,
  831. fixed: '',
  832. columnWidth: 70
  833. },{
  834. userId: this.$store.state.user.name,
  835. functionId: 106002,
  836. serialNumber: '106002Table2QuotationNo',
  837. tableId: '106002Table2',
  838. tableName: '工具申请明细',
  839. columnProp: 'operationNo',
  840. headerAlign: 'center',
  841. align: 'center',
  842. columnLabel: '工序号',
  843. columnHidden: false,
  844. columnImage: false,
  845. columnSortable: false,
  846. sortLv: 0,
  847. status: true,
  848. fixed: '',
  849. columnWidth: 70
  850. },{
  851. userId: this.$store.state.user.name,
  852. functionId: 106002,
  853. serialNumber: '106002Table2QuotationNo',
  854. tableId: '106002Table2',
  855. tableName: '工具申请明细',
  856. columnProp: 'operationName',
  857. headerAlign: 'center',
  858. align: 'center',
  859. columnLabel: '工序',
  860. columnHidden: false,
  861. columnImage: false,
  862. columnSortable: false,
  863. sortLv: 0,
  864. status: true,
  865. fixed: '',
  866. columnWidth: 70
  867. },
  868. ],
  869. columnFileContentArray: [
  870. {
  871. columnProp: 'fileName',
  872. headeralign: 'left',
  873. align: 'left',
  874. columnLabel: '文件名称',
  875. columnHidden: false,
  876. columnImage: false,
  877. columnSortable: false,
  878. sortLv: 0,
  879. status: true,
  880. fixed: false
  881. // }, {
  882. // columnProp: 'createdBy',
  883. // headeralign: 'left',
  884. // align: 'left',
  885. // columnLabel: '上传人',
  886. // columnHidden: false,
  887. // columnImage: false,
  888. // columnSortable: true,
  889. // sortLv: 0,
  890. // status: true,
  891. // fixed: false
  892. }, {
  893. columnProp: 'createDate',
  894. headeralign: 'left',
  895. align: 'left',
  896. columnLabel: '上传时间',
  897. columnHidden: false,
  898. columnImage: false,
  899. columnSortable: true,
  900. sortLv: 0,
  901. status: true,
  902. fixed: false
  903. }, {
  904. columnProp: 'orderRef3',
  905. headeralign: 'left',
  906. align: 'left',
  907. columnLabel: '类型',
  908. columnHidden: false,
  909. columnImage: false,
  910. columnSortable: true,
  911. sortLv: 0,
  912. status: true,
  913. fixed: false
  914. },
  915. ],
  916. approvalList: [],
  917. }
  918. },
  919. watch: {
  920. // columnList1: {
  921. // deep: true,
  922. // handler: function (newV, oldV) {
  923. // debugger
  924. //
  925. // }
  926. // }
  927. },
  928. mounted() {
  929. this.$nextTick(() => {
  930. this.height = window.innerHeight - 520;
  931. })
  932. },
  933. methods: {
  934. // 查询审批信息
  935. getApprovalList () {
  936. if (Object.keys(this.currentRow).length !== 0) {
  937. let tempData = {
  938. site: this.$store.state.user.site,
  939. menuId: this.$route.meta.menuId,
  940. documentNo: this.currentRow.applyNo
  941. }
  942. getApprovalList(tempData).then(({data}) => {
  943. if (data && data.code === 0) {
  944. this.approvalList = data.rows
  945. } else {
  946. this.approvalList = []
  947. }
  948. })
  949. }
  950. },
  951. // 获取基础数据列表S
  952. getBaseList (val, type) {
  953. this.tagNo = val
  954. this.tagNo2 = type
  955. this.$nextTick(() => {
  956. let strVal = ''
  957. if (val === 1010) {
  958. if(type==1) {
  959. strVal = this.searchData.projectType
  960. }
  961. }
  962. this.$refs.baseList.init(val, strVal)
  963. })
  964. },
  965. /* 列表方法的回调 */
  966. getBaseData (val) {
  967. if (this.tagNo === 1010) {
  968. if(this.tagNo2==1) {
  969. this.searchData.projectType = val.Base_desc
  970. }
  971. }
  972. },
  973. //导出excel
  974. async createExportData() {
  975. this.searchData.limit = -1
  976. this.searchData.page = 1
  977. await searchToolApplyHeader(this.searchData).then(({data}) => {
  978. this.exportList= data.page.list;
  979. })
  980. return this.exportList;
  981. },
  982. startDownload() {
  983. // this.exportData = this.dataList
  984. },
  985. finishDownload() {
  986. },
  987. fields() {
  988. let json = "{"
  989. this.columnList1.forEach((item, index) => {
  990. if (index == this.columnList1.length - 1) {
  991. json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\""
  992. } else {
  993. json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + ","
  994. }
  995. })
  996. json += "}"
  997. let s = eval("(" + json + ")")
  998. return s
  999. },
  1000. //导出excel
  1001. async createExportData2() {
  1002. return this.contactList;
  1003. },
  1004. startDownload2() {
  1005. // this.exportData = this.dataList
  1006. },
  1007. finishDownload2() {
  1008. },
  1009. fields2() {
  1010. let json = "{"
  1011. this.columnList2.forEach((item, index) => {
  1012. if (index == this.columnList2.length - 1) {
  1013. json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\""
  1014. } else {
  1015. json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + ","
  1016. }
  1017. })
  1018. json += "}"
  1019. let s = eval("(" + json + ")")
  1020. return s
  1021. },
  1022. // 导出 end
  1023. // 获取数据列表
  1024. search () {
  1025. this.searchData.limit = this.pageSize
  1026. this.searchData.page = this.pageIndex
  1027. searchProjectToolApplyHeader(this.searchData).then(({data}) => {
  1028. if (data.code == 0) {
  1029. this.dataList1 = data.page.list
  1030. this.pageIndex = data.page.currPage
  1031. this.pageSize = data.page.pageSize
  1032. this.totalPage = data.page.totalCount
  1033. if(this.dataList1.length>0){
  1034. this.$refs.mainTable.setCurrentRow(this.dataList1[0]);
  1035. this.currentRow = JSON.parse( JSON.stringify(this.dataList1[0]));
  1036. }else {
  1037. this.currentRow ={}
  1038. }
  1039. this.refreshCurrentTabTable ()
  1040. }
  1041. this.dataListLoading = false
  1042. })
  1043. },
  1044. //单击切换订单
  1045. changeData(row) {
  1046. this.currentRow = JSON.parse(JSON.stringify(row));
  1047. this.currentRow2 = row;
  1048. this.refreshCurrentTabTable ();
  1049. },
  1050. addUploadFileModal(){
  1051. let currentData = {
  1052. site: this.currentRow.site,
  1053. createBy: this.$store.state.user.name,
  1054. projectId: this.currentRow.applyNo,
  1055. projectName: '',
  1056. remark: '',
  1057. };
  1058. //打开组件 去做新增业务
  1059. this.$nextTick(() => {
  1060. this.$refs.projectUploadFile.init(currentData);
  1061. })
  1062. },
  1063. deleteFile(row){
  1064. this.$confirm('确定要删除此文件?', '提示', {
  1065. confirmButtonText: '确定',
  1066. cancelButtonText: '取消',
  1067. type: 'warning'
  1068. }).then(() => {
  1069. deleteProjectFile(row).then(({data}) => {
  1070. if (data && data.code == 0) {
  1071. this.getFileContentData();
  1072. this.$message({
  1073. message: '操作成功',
  1074. type: 'success',
  1075. duration: 1500,
  1076. onClose: () => {
  1077. }
  1078. })
  1079. } else {
  1080. this.$alert(data.msg, '错误', {
  1081. confirmButtonText: '确定'
  1082. })
  1083. }
  1084. })
  1085. }).catch(() => {
  1086. })
  1087. },
  1088. tabClick (tab, event) {
  1089. // 刷新列表数据
  1090. this.refreshCurrentTabTable()
  1091. },
  1092. // 刷新页签的table数据
  1093. refreshCurrentTabTable () {
  1094. if (this.activeName == 'detail') {
  1095. this.searchToolApplyDetail();
  1096. }
  1097. if (this.activeName == 'down') {
  1098. // this.getFileContentData();
  1099. }
  1100. if (this.activeName === 'approvalInformation') {
  1101. this.getApprovalList()
  1102. }
  1103. },
  1104. searchToolApplyDetail(){
  1105. if(this.currentRow.applyNo){
  1106. searchProjectToolApplyDetail(this.currentRow).then(({data}) => {
  1107. if (data.code == 0) {
  1108. this.detailList = data.rows
  1109. }
  1110. })
  1111. }else {
  1112. this.detailList =[]
  1113. }
  1114. },
  1115. editModal(row){
  1116. this.dataForm={
  1117. site: row.site,
  1118. applyNo: row.applyNo,
  1119. applyBy:row.applyBy,
  1120. applyDate:row.applyDate,
  1121. applySumQty:row.applySumQty,
  1122. applyReason:row.applyReason,
  1123. remark:row.remark,
  1124. createBy:row.createBy,
  1125. detailList:[],
  1126. }
  1127. searchProjectToolApplyDetail({ site: row.site,
  1128. applyNo: row.applyNo,}).then(({data}) => {
  1129. if (data.code == 0) {
  1130. this.toolData = data.rows
  1131. }
  1132. })
  1133. this.visible=true
  1134. },
  1135. comfirmApply (row) {
  1136. this.$confirm(`确定下达这个申请`, '提示', {
  1137. confirmButtonText: '确定',
  1138. cancelButtonText: '取消',
  1139. type: 'warning'
  1140. }).then(() => {
  1141. let tempData = {
  1142. site: row.site,
  1143. userName: this.$store.state.user.name,
  1144. applyNo: row.applyNo,
  1145. menuId: this.$route.meta.menuId
  1146. }
  1147. comfirmProjectToolApply(tempData).then(({data}) => {
  1148. if (data && data.code === 0) {
  1149. row.statusCode = '10'
  1150. row.status = '下达'
  1151. this.$message({
  1152. message: '操作成功',
  1153. type: 'success',
  1154. duration: 1500,
  1155. onClose: () => {}
  1156. })
  1157. } else {
  1158. this.$alert(data.msg, '错误', {
  1159. confirmButtonText: '确定'
  1160. })
  1161. }
  1162. })
  1163. })
  1164. },
  1165. cancelApply(row){
  1166. this.$confirm(`确定取消这个申请`, '提示', {
  1167. confirmButtonText: '确定',
  1168. cancelButtonText: '取消',
  1169. type: 'warning'
  1170. }).then(() => {
  1171. cancelProjectToolApply(row).then(({data}) => {
  1172. if (data && data.code === 0) {
  1173. this.search();
  1174. this.$message({
  1175. message: '操作成功',
  1176. type: 'success',
  1177. duration: 1500,
  1178. onClose: () => {
  1179. }
  1180. })
  1181. } else {
  1182. this.$alert(data.msg, '错误', {
  1183. confirmButtonText: '确定'
  1184. })
  1185. }
  1186. })
  1187. })
  1188. },
  1189. //刷新派设备文档的列表
  1190. getFileContentData() {
  1191. let currentData = {orderRef2: this.currentRow.applyNo};
  1192. getFileContentList(currentData).then(({data}) => {
  1193. //区分请求成功和失败的状况
  1194. if (data && data.code == 200) {
  1195. this.fileContentList = data.rows;
  1196. } else {
  1197. this.fileContentList = [];
  1198. }
  1199. });
  1200. },
  1201. // 下载
  1202. downloadFile(row){
  1203. // let inData={
  1204. // site:this.currentRow.site,
  1205. // username:this.$store.state.user.name,
  1206. // projectId:this.currentRow.projectId
  1207. // }
  1208. // getProjectUserRole(inData).then(({data}) => {
  1209. // if(this.$store.state.user.name=='admin'||data.row.downFlag=='Y') {
  1210. downLoadProjectFile(row)
  1211. .then(({data}) => {
  1212. // 不限制文件下载类型
  1213. const blob = new Blob([data], {type:'application/octet-stream;charset=utf-8'})
  1214. // 下载文件名称
  1215. const fileName = row.fileName
  1216. // a标签下载
  1217. const linkNode = document.createElement('a')
  1218. linkNode.download = fileName // a标签的download属性规定下载文件的名称
  1219. linkNode.style.display = 'none'
  1220. linkNode.href = URL.createObjectURL(blob) // 生成一个Blob URL
  1221. console.log(linkNode)
  1222. // if(val == 'Y'){
  1223. // this.pdfVisible = true
  1224. // this.pdfUrl = linkNode.href
  1225. // }else {
  1226. document.body.appendChild(linkNode)
  1227. linkNode.click() // 模拟在按钮上的一次鼠标单击
  1228. URL.revokeObjectURL(linkNode.href) // 释放URL 对象
  1229. document.body.removeChild(linkNode)
  1230. // }
  1231. })
  1232. // }else {
  1233. // this.$alert('没有权限下载这个项目的文件!', '错误', {
  1234. // confirmButtonText: '确定'
  1235. // })
  1236. // }
  1237. // })
  1238. },
  1239. // 每页数
  1240. sizeChangeHandle (val) {
  1241. this.pageSize = val
  1242. this.pageIndex = 1
  1243. this.search()
  1244. },
  1245. // 当前页
  1246. currentChangeHandle (val) {
  1247. this.pageIndex = val
  1248. this.search()
  1249. },
  1250. openMassageModel(){
  1251. if(Object.keys(this.currentRow).length === 0){
  1252. this.$alert('未选择记录!', '错误', {
  1253. confirmButtonText: '确定'
  1254. })
  1255. return false;
  1256. }
  1257. this.modelData={
  1258. site:this.currentRow.site,
  1259. applyNo:this.currentRow.applyNo,
  1260. prNo:this.currentRow.prNo,
  1261. remark1:this.currentRow.remark1,
  1262. poNo:this.currentRow.poNo,
  1263. supplierName:this.currentRow.supplierName,
  1264. allCost:this.currentRow.allCost,
  1265. remark2:this.currentRow.remark2,
  1266. }
  1267. this.modelFlag=true
  1268. },
  1269. changeSum() {
  1270. this.dataForm.applySumQty = 0
  1271. for (const item of this.toolData) {
  1272. // 累加之前先确保值存在,并将 null 或 undefined 转换为0
  1273. this.dataForm.applySumQty += Number(item.applyQty != null && item.applyQty !== '' ? item.applyQty : 0);
  1274. }
  1275. },
  1276. saveHeaderMessage(){
  1277. this.$confirm('确定是否保存','提示',{
  1278. confirmButtonText:'确定',
  1279. cancelButtonText:'取消',
  1280. type:'warning'
  1281. }).then(()=>{
  1282. saveProjectHeaderMessage(this.modelData).then(({data}) => {
  1283. if (data && data.code == 0) {
  1284. this.modelFlag=false;
  1285. this.currentRow.prNo=this.modelData.prNo
  1286. this.currentRow.remark1=this.modelData.remark1
  1287. this.currentRow.poNo=this.modelData.poNo
  1288. this.currentRow.supplierName=this.modelData.supplierName
  1289. this.currentRow.allCost=this.modelData.allCost
  1290. this.currentRow.remark2=this.modelData.remark2
  1291. this.currentRow2.prNo=this.modelData.prNo
  1292. this.currentRow2.remark1=this.modelData.remark1
  1293. this.currentRow2.poNo=this.modelData.poNo
  1294. this.currentRow2.supplierName=this.modelData.supplierName
  1295. this.currentRow2.allCost=this.modelData.allCost
  1296. this.currentRow2.remark2=this.modelData.remark2
  1297. this.$message({
  1298. message: '操作成功',
  1299. type: 'success',
  1300. duration: 1500,
  1301. onClose: () => {
  1302. }
  1303. })
  1304. } else {
  1305. this.$alert(data.msg, '错误', {
  1306. confirmButtonText: '确定'
  1307. })
  1308. }
  1309. })
  1310. })
  1311. },
  1312. saveData(){
  1313. this.dataForm.detailList=this.toolData
  1314. editToolApplication(this.dataForm).then(({data}) => {
  1315. if (data && data.code == 0) {
  1316. for (let i = 0; i <this.dataList1.length ; i++) {
  1317. if(this.dataList1[i].applyNo===this.dataForm.applyNo){
  1318. this.dataList1[i].remark=this.dataForm.remark
  1319. this.dataList1[i].applySumQty=this.dataForm.applySumQty
  1320. this.dataList1[i].applyReason=this.dataForm.applyReason
  1321. }
  1322. }
  1323. this.visible=false;
  1324. this.refreshCurrentTabTable ()
  1325. this.$message({
  1326. message: '操作成功',
  1327. type: 'success',
  1328. duration: 1500,
  1329. onClose: () => {
  1330. }
  1331. })
  1332. } else {
  1333. this.$alert(data.msg, '错误', {
  1334. confirmButtonText: '确定'
  1335. })
  1336. }
  1337. })
  1338. },
  1339. jumpBM(row){
  1340. if (this.$router.resolve(`/sampleManagement-technicalSpecificationList`).resolved.name === '404'){
  1341. this.$alert('权限不足,访问失败', '警告', {confirmButtonText: '确定',});
  1342. }else {
  1343. let inData={
  1344. site:row.site,
  1345. testPartNo:row.orderRef2
  1346. }
  1347. getProjectPartNowBm(inData).then(({data}) => {
  1348. //区分请求成功和失败的状况
  1349. if (data && data.code == 0) {
  1350. if(data.rows==null||data.rows.length==0){
  1351. this.$alert('该物料没有benchmark', '警告', {confirmButtonText: '确定',});
  1352. }
  1353. this.$router.push({name:`sampleManagement-technicalSpecificationList`,params:{nowCodeNo:data.rows[0].nowBm},})
  1354. } else {
  1355. }
  1356. });
  1357. }
  1358. },
  1359. },
  1360. activated() {
  1361. },
  1362. }
  1363. </script>
  1364. <style >
  1365. .el-transfer-panel {
  1366. border: 2px solid #17b3a3;
  1367. border-radius: 4px;
  1368. overflow: hidden;
  1369. background: #fff;
  1370. display: inline-block;
  1371. vertical-align: middle;
  1372. width: 200px;
  1373. max-height: 100%;
  1374. -webkit-box-sizing: border-box;
  1375. box-sizing: border-box;
  1376. position: relative;
  1377. }
  1378. .el-transfer-panel .el-transfer-panel__header {
  1379. height: 40px;
  1380. line-height: 40px;
  1381. background: #17b3a3;
  1382. margin: 0;
  1383. padding-left: 15px;
  1384. border-bottom: 1px solid #17b3a3;
  1385. -webkit-box-sizing: border-box;
  1386. box-sizing: border-box;
  1387. color: #000;
  1388. }
  1389. .el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label {
  1390. font-size: 14px;
  1391. color: #303133;
  1392. font-weight: 400;
  1393. }
  1394. </style>