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.

1276 lines
44 KiB

2 years ago
10 months ago
1 year ago
2 years ago
2 years ago
2 years ago
10 months ago
2 years ago
11 months 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
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
9 months ago
9 months ago
9 months ago
9 months ago
2 years ago
2 years ago
1 year ago
2 years ago
2 years ago
1 year ago
2 years ago
11 months 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
1 year ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
1 year ago
9 months ago
1 year ago
9 months ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
1 year ago
2 years ago
2 years ago
1 year ago
1 year ago
1 year ago
2 years ago
1 year 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
9 months ago
2 years ago
1 year ago
2 years ago
2 years ago
1 year ago
11 months ago
1 year ago
10 months ago
2 years ago
9 months ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
10 months 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
2 years ago
2 years ago
2 years ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year 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
9 months 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
1 year ago
1 year ago
1 year ago
1 year ago
9 months ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
9 months ago
2 years ago
9 months ago
2 years ago
9 months ago
2 years ago
2 years ago
2 years ago
9 months 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
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
8 months ago
2 years ago
8 months 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
1 year ago
1 year ago
1 year 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. <bu-select v-model="searchData.buNo" style="width: 120px"></bu-select>
  6. </el-form-item>
  7. <el-form-item :label="'参数卡编码'">
  8. <el-input v-model="searchData.oriCodeNo" style="width: 130px"></el-input>
  9. </el-form-item>
  10. <el-form-item >
  11. <span slot="label" style="" @click="getBaseList(105,1)"><a herf="#">料号</a></span>
  12. <el-input v-model="searchData.testPartNo" style="width: 120px" clearable></el-input>
  13. </el-form-item>
  14. <el-form-item label="客户">
  15. <el-input v-model="searchData.customerDesc" style="width: 120px" clearable></el-input>
  16. </el-form-item>
  17. <el-form-item label="刀版号">
  18. <el-input v-model="searchData.cutterNumber" style="width: 120px" clearable></el-input>
  19. </el-form-item>
  20. <el-form-item :label="'状态'">
  21. <el-select v-model="searchData.statusDesc" clearable style="width: 130px">
  22. <el-option label="全部" value=""></el-option>
  23. <el-option label="草稿" value="草稿"></el-option>
  24. <el-option label="审批中" value="审批中"></el-option>
  25. <el-option label="已升版" value="已升版"></el-option>
  26. <el-option label="已完成" value="已完成"></el-option>
  27. </el-select>
  28. </el-form-item>
  29. <el-form-item :label="'ECN'">
  30. <el-select v-model="searchData.ecnFlag" clearable style="width: 130px">
  31. <el-option label="全部" value=""></el-option>
  32. <el-option label="Y" value="Y"></el-option>
  33. <el-option label="N" value="N"></el-option>
  34. </el-select>
  35. </el-form-item>
  36. <el-form-item label=" ">
  37. <el-button @click="search()" type="primary" style="margin-left: 2px;margin-top:0px">查询</el-button>
  38. <el-button @click="addOrUpdateHandle()" type="primary" style="margin-left: 2px;margin-top: 0px">新增</el-button>
  39. <download-excel
  40. :fields="fields()"
  41. :data="exportData"
  42. type="xls"
  43. :name="exportName"
  44. :header="exportHeader"
  45. :footer="exportFooter"
  46. :fetch="createExportData"
  47. :before-generate="startDownload"
  48. :before-finish="finishDownload"
  49. worksheet="导出信息"
  50. class="el-button el-button--primary el-button--medium">
  51. {{ '导出' }}
  52. </download-excel>
  53. <!-- <el-button @click="test()" type="primary" style="margin-left: 2px;margin-top:0px">测试</el-button>-->
  54. </el-form-item>
  55. </el-form>
  56. <el-table
  57. :data="dataList1"
  58. :height="height"
  59. border
  60. ref="mainTable"
  61. @row-click="changeData"
  62. highlight-current-row
  63. v-loading="dataListLoading"
  64. style="width: 100%; ">
  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]" style="width: 100px; height: 80px"/></span>
  78. </template>
  79. </el-table-column>
  80. <el-table-column
  81. header-align="center"
  82. align="center"
  83. width="150"
  84. fixed="right"
  85. label="操作">
  86. <template slot-scope="scope">
  87. <!-- <a type="text" size="small" @click="addRevModel(scope.row)" v-if="scope.row.statusDesc!=='已完成'">升版</a>-->
  88. <a type="text" size="small" v-if="scope.row.statusDesc==='已完成'||scope.row.statusDesc==='已升版'" @click="jumpDetail(scope.row)">详情</a>
  89. <a type="text" size="small" v-if="scope.row.statusDesc!=='已完成'&&scope.row.statusDesc!=='已升版'" @click="jumpDetail(scope.row)">修改</a>
  90. <!-- <a type="text" size="small" @click="addOrUpdateHandle(scope.row.id)" v-if="scope.row.statusDesc!=='已完成'">修改</a>-->
  91. <a type="text" size="small" @click="deleteData(scope.row)" v-if="scope.row.statusDesc!=='已完成'&&scope.row.statusDesc!=='已升版'">删除</a>
  92. <a type="text" size="small" v-if="scope.row.status === 'cg'" @click="issueModal(scope.row)">下达</a>
  93. <a type="text" size="small" v-if="scope.row.statusDesc!=='已升版'" @click="copyBM(scope.row)">拷贝</a>
  94. </template>
  95. </el-table-column>
  96. </el-table>
  97. <el-pagination
  98. @size-change="sizeChangeHandle"
  99. @current-change="currentChangeHandle"
  100. :current-page="pageIndex"
  101. :page-sizes="[20, 50, 100, 1000]"
  102. :page-size="pageSize"
  103. :total="totalPage"
  104. layout="total, sizes, prev, pager, next, jumper">
  105. </el-pagination>
  106. <el-tabs style="font-size: 12px;min-height: 330px" class="customer-tab" v-model="activeName" type="border-card" @tab-click="refreshCurrentTabTable">
  107. <el-tab-pane label="基本信息" name="info">
  108. <el-form label-position="top" label-width="100px" >
  109. <el-row :gutter="20">
  110. <el-col :span="6">
  111. <div class="grid-content bg-purple">
  112. <el-form-item :label="'项目号'">
  113. <el-input v-model="infoData.projectId" readonly></el-input>
  114. </el-form-item>
  115. </div>
  116. </el-col>
  117. <el-col :span="6">
  118. <div class="grid-content bg-purple">
  119. <el-form-item :label="'项目名称'">
  120. <el-input v-model="infoData.projectName" readonly></el-input>
  121. </el-form-item>
  122. </div>
  123. </el-col>
  124. <el-col :span="6">
  125. <div class="grid-content bg-purple">
  126. <el-form-item :label="'物料类型'">
  127. <el-input v-model="infoData.partTypeDesc" readonly></el-input>
  128. </el-form-item>
  129. </div>
  130. </el-col>
  131. <el-col :span="6">
  132. <div class="grid-content bg-purple">
  133. <el-form-item :label="'版本号'">
  134. <el-input v-model="infoData.revNo" readonly></el-input>
  135. </el-form-item>
  136. </div>
  137. </el-col>
  138. </el-row>
  139. <el-row :gutter="20">
  140. <el-col :span="6">
  141. <div class="grid-content bg-purple">
  142. <el-form-item :label="'ECN变更'">
  143. <el-input v-model="infoData.ecnFlag" readonly></el-input>
  144. </el-form-item>
  145. </div>
  146. </el-col>
  147. <el-col :span="6">
  148. <div class="grid-content bg-purple">
  149. <el-form-item :label="'ECN单据号'">
  150. <el-input v-model="infoData.ecnNo" readonly></el-input>
  151. </el-form-item>
  152. </div>
  153. </el-col>
  154. <el-col :span="12"><div class="grid-content bg-purple">
  155. <el-form-item :label="'ECN文档链接'">
  156. <el-input v-model="infoData.ecnAddress" readonly></el-input>
  157. </el-form-item>
  158. </div></el-col>
  159. </el-row>
  160. <el-row :gutter="20">
  161. <el-col :span="6">
  162. <div class="grid-content bg-purple">
  163. <el-form-item :label="'Select CS'">
  164. <el-input v-model="infoData.csOperaterName" ref="csOperaterName" placeholder="未选择人员" readonly></el-input>
  165. </el-form-item>
  166. </div>
  167. </el-col>
  168. <el-col :span="6">
  169. <div class="grid-content bg-purple">
  170. <el-form-item :label="'Select Engineer'">
  171. <el-input v-model="infoData.engineer" ref="peOperaterName" placeholder="未选择人员" readonly></el-input>
  172. </el-form-item>
  173. </div>
  174. </el-col>
  175. <el-col :span="6">
  176. <div class="grid-content bg-purple">
  177. <el-form-item :label="'Select Artwork'">
  178. <el-input v-model="infoData.technician" ref="csOperaterName" placeholder="未选择人员" readonly></el-input>
  179. </el-form-item>
  180. </div>
  181. </el-col>
  182. <el-col :span="6">
  183. <div class="grid-content bg-purple">
  184. <el-form-item :label="'Select Technical'">
  185. <el-input v-model="infoData.mpOperatorName" ref="mpOperatorName" placeholder="未选择人员" readonly></el-input>
  186. </el-form-item>
  187. </div>
  188. </el-col>
  189. </el-row>
  190. <el-row :gutter="20">
  191. <!-- <el-col :span="6">-->
  192. <!-- <div class="grid-content bg-purple">-->
  193. <!-- <el-form-item :label="'PE人员'">-->
  194. <!-- <el-input v-model="infoData.peOperaterName" ref="peOperaterName" placeholder="未选择人员" readonly ></el-input>-->
  195. <!-- </el-form-item>-->
  196. <!-- </div>-->
  197. <!-- </el-col>-->
  198. <el-col :span="6">
  199. <div class="grid-content bg-purple">
  200. <el-form-item :label="'Select CQC'">
  201. <el-input v-model="infoData.cqcOperatorName" ref="dccOperaterName" placeholder="未选择人员" readonly></el-input>
  202. </el-form-item>
  203. </div>
  204. </el-col>
  205. <el-col :span="6">
  206. <div class="grid-content bg-purple">
  207. <el-form-item :label="'Select FAI'">
  208. <el-input v-model="infoData.faiOperatorName" ref="mpOperatorName" placeholder="未选择人员" readonly></el-input>
  209. </el-form-item>
  210. </div>
  211. </el-col>
  212. <el-col :span="6">
  213. <div class="grid-content bg-purple">
  214. <el-form-item :label="'Select DCC'">
  215. <el-input v-model="infoData.dccOperaterName" ref="dccOperaterName" placeholder="未选择人员" readonly></el-input>
  216. </el-form-item>
  217. </div>
  218. </el-col>
  219. </el-row>
  220. <el-row :gutter="20">
  221. <el-col :span="24"><div class="grid-content bg-purple">
  222. <el-form-item :label="'备注信息'" style="height: 70px">
  223. <el-input
  224. type="textarea"
  225. v-model="infoData.remarkPage "
  226. :rows="3"
  227. resize='none'
  228. maxlength="120"
  229. show-word-limit
  230. readonly
  231. style="height: 60px">
  232. </el-input>
  233. </el-form-item>
  234. </div></el-col>
  235. </el-row>
  236. </el-form>
  237. </el-tab-pane>
  238. <el-tab-pane label="客户信息" name="customerInfo">
  239. <customer-info :project="currentRow"></customer-info>
  240. <!-- <el-form label-position="top" label-width="100px" >-->
  241. <!-- <el-row :gutter="20">-->
  242. <!-- <el-col :span="6"><div class="grid-content bg-purple">-->
  243. <!-- <el-form-item :label="'客户代码'">-->
  244. <!-- <el-input v-model="customerData.customerId" readonly ></el-input>-->
  245. <!-- </el-form-item>-->
  246. <!-- </div></el-col>-->
  247. <!-- <el-col :span="6"><div class="grid-content bg-purple">-->
  248. <!-- <el-form-item :label="'客户名称'">-->
  249. <!-- <el-input v-model="customerData.customerName" readonly ></el-input>-->
  250. <!-- </el-form-item>-->
  251. <!-- </div></el-col>-->
  252. <!-- <el-col :span="12"><div class="grid-content bg-purple">-->
  253. <!-- <el-form-item :label="'客户描述'">-->
  254. <!-- <el-input v-model="customerData.customerDesc" readonly ></el-input>-->
  255. <!-- </el-form-item>-->
  256. <!-- </div></el-col>-->
  257. <!-- </el-row>-->
  258. <!-- <el-row :gutter="20">-->
  259. <!-- <el-col :span="24"><div class="grid-content bg-purple">-->
  260. <!-- <el-form-item :label="'客户要求'" style="height: 70px">-->
  261. <!-- <el-input-->
  262. <!-- type="textarea"-->
  263. <!-- v-model="customerData.customerRemark "-->
  264. <!-- :rows="3"-->
  265. <!-- resize='none'-->
  266. <!-- maxlength="120"-->
  267. <!-- show-word-limit-->
  268. <!-- readonly-->
  269. <!-- style=";height: 60px">-->
  270. <!-- </el-input>-->
  271. <!-- </el-form-item>-->
  272. <!-- </div></el-col>-->
  273. <!-- </el-row>-->
  274. <!-- <el-row :gutter="20">-->
  275. <!-- <el-col :span="24"><div class="grid-content bg-purple">-->
  276. <!-- <el-form-item :label="'客户图纸'" style="margin-top: 15px">-->
  277. <!-- <el-input v-model="customerData.pictureAddess" readonly ></el-input>-->
  278. <!-- </el-form-item>-->
  279. <!-- </div></el-col>-->
  280. <!-- </el-row>-->
  281. <!-- <el-row :gutter="20">-->
  282. <!-- <el-col :span="24"><div class="grid-content bg-purple">-->
  283. <!-- <el-form-item :label="'客户图纸变更说明'">-->
  284. <!-- <el-input v-model="customerData.customerPictureChangeRemark" readonly ></el-input>-->
  285. <!-- </el-form-item>-->
  286. <!-- </div></el-col>-->
  287. <!-- </el-row>-->
  288. <!-- <el-row :gutter="20">-->
  289. <!-- <el-col :span="24"><div class="grid-content bg-purple" >-->
  290. <!-- <el-form-item :label="'转量产附档说明'" style="height: 70px">-->
  291. <!-- <el-input-->
  292. <!-- type="textarea"-->
  293. <!-- v-model="customerData.productionFileComments "-->
  294. <!-- :rows="3"-->
  295. <!-- resize='none'-->
  296. <!-- maxlength="120"-->
  297. <!-- show-word-limit-->
  298. <!-- readonly-->
  299. <!-- style="height: 60px">-->
  300. <!-- </el-input>-->
  301. <!-- </el-form-item>-->
  302. <!-- </div></el-col>-->
  303. <!-- </el-row>-->
  304. <!-- <el-row :gutter="20">-->
  305. <!-- <el-col :span="24"><div class="grid-content bg-purple" >-->
  306. <!-- <el-form-item :label="'其他特殊要求'" style="height: 70px;margin-top: 15px">-->
  307. <!-- <el-input-->
  308. <!-- type="textarea"-->
  309. <!-- v-model="customerData.remark "-->
  310. <!-- :rows="3"-->
  311. <!-- resize='none'-->
  312. <!-- maxlength="120"-->
  313. <!-- show-word-limit-->
  314. <!-- readonly-->
  315. <!-- style="height: 60px">-->
  316. <!-- </el-input>-->
  317. <!-- </el-form-item>-->
  318. <!-- </div></el-col>-->
  319. <!-- </el-row>-->
  320. <!-- </el-form>-->
  321. <!-- <el-form :inline="true" label-position="top" label-width="100px" style="height: 70px;margin-top: 15px">-->
  322. <!-- <el-form-item :label="'客户应用/要求'">-->
  323. <!-- <el-input-->
  324. <!-- type="textarea"-->
  325. <!-- v-model="customerData.remark "-->
  326. <!-- :rows="3"-->
  327. <!-- resize='none'-->
  328. <!-- maxlength="120"-->
  329. <!-- show-word-limit-->
  330. <!-- readonly-->
  331. <!-- style="width: 926px;height: 60px">-->
  332. <!-- </el-input>-->
  333. <!-- </el-form-item>-->
  334. <!-- </el-form>-->
  335. </el-tab-pane>
  336. <!-- 审批信息 -->
  337. <el-tab-pane label="审批信息" name="approvalInformation">
  338. <approval-information ref="approvalTable" v-model:data-list="approvalList" :height="240"></approval-information>
  339. </el-tab-pane>
  340. </el-tabs>
  341. <add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="search" v-drag></add-or-update>
  342. <el-dialog width="500px"
  343. :title="'升版'"
  344. :close-on-click-modal="false"
  345. :visible.sync="revNoFlag">
  346. <el-form :inline="true" label-position="top" label-width="100px" >
  347. <el-form-item :label="'参数卡编码'">
  348. <el-input v-model="revNoData.oriCodeNo" style="width: 130px" disabled></el-input>
  349. </el-form-item>
  350. <el-form-item :label="'版本号'">
  351. <el-input v-model="revNoData.oldRevNo" style="width: 130px" disabled></el-input>
  352. </el-form-item>
  353. <el-form-item :label="'项目物料'">
  354. <el-input v-model="revNoData.testPartNo" style="width: 130px" disabled></el-input>
  355. </el-form-item>
  356. </el-form>
  357. <el-form :inline="true" label-position="top" label-width="100px" >
  358. <el-form-item :label="'版本号'">
  359. <el-input v-model="revNoData.revNo" style="width: 130px" ></el-input>
  360. </el-form-item>
  361. </el-form>
  362. <el-form label-position="top" style="margin-top: 60px; margin-left: 0px;text-align:center">
  363. <el-button type="primary" @click="upBMRevNo()">{{'确定'}}</el-button>
  364. <el-button type="primary" @click="revNoFlag = false">{{'关闭'}}</el-button>
  365. </el-form>
  366. </el-dialog>
  367. <el-dialog
  368. width="750px"
  369. title="选择物料"
  370. :close-on-click-modal="false"
  371. :visible.sync="partModelFlag">
  372. <el-form :inline="true" label-position="top" label-width="100px" >
  373. <el-form-item style="margin-left: 0px" label="技术参数卡">
  374. <el-input v-model="copyData.oriCodeNo" style="width: 130px" disabled ></el-input>
  375. </el-form-item>
  376. <el-form-item style="margin-left: 0px" label="版本">
  377. <el-input v-model="copyData.revNo" style="width: 130px" disabled ></el-input>
  378. </el-form-item>
  379. <el-form-item style="margin-left: 0px" label="项目料号">
  380. <el-input v-model="copyData.testPartNo" style="width: 130px" disabled ></el-input>
  381. </el-form-item>
  382. <el-form-item style="margin-left: 0px" label="项目号">
  383. <el-input v-model="copyData.projectId" style="width: 130px" disabled ></el-input>
  384. </el-form-item>
  385. </el-form>
  386. <el-table
  387. height="450"
  388. :data="partList"
  389. border
  390. @row-dblclick="choosePartNo"
  391. style="width: 100%;">
  392. <el-table-column
  393. prop="finalPartNo"
  394. header-align="center"
  395. align="left"
  396. min-width="120"
  397. style="font-size: 20px"
  398. label="正式料号">
  399. </el-table-column>
  400. <el-table-column
  401. prop="testPartNo"
  402. header-align="center"
  403. align="left"
  404. min-width="120"
  405. style="font-size: 20px"
  406. label="项目料号">
  407. </el-table-column>
  408. <el-table-column
  409. prop="projectId"
  410. header-align="center"
  411. align="left"
  412. min-width="120"
  413. style="font-size: 20px"
  414. label="项目号">
  415. </el-table-column>
  416. <el-table-column
  417. prop="customerPartNo"
  418. header-align="center"
  419. align="left"
  420. min-width="120"
  421. label="客户料号">
  422. </el-table-column>
  423. <el-table-column
  424. prop="partDesc"
  425. header-align="center"
  426. align="left"
  427. min-width="120"
  428. label="物料名称">
  429. </el-table-column>
  430. <el-table-column
  431. prop="buNo"
  432. header-align="center"
  433. align="left"
  434. min-width="70"
  435. label="BU">
  436. </el-table-column>
  437. </el-table>
  438. </el-dialog>
  439. <Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist>
  440. </div>
  441. </template>
  442. <script>
  443. import {
  444. getTechnicalCustomerInfoData,
  445. technicalSpecificationListSearch,
  446. deleteTechnicalSpecificationList,
  447. upBMRevNo,
  448. issueChange, // 下达
  449. searchCopyPart,
  450. copyBm,
  451. } from "@/api/sampleManagement/technicalSpecificationList.js"
  452. import Chooselist from '@/views/modules/common/Chooselist'
  453. import AddOrUpdate from './com_technical-add-or-update'
  454. import BuSelect from "../base/BuSelect.vue";
  455. import {
  456. getNodeAuthority, // 获取节点权限
  457. getApprovalList, // 查询审批信息
  458. } from '@/api/changeManagement/changeManagement.js'
  459. import ApprovalInformation from "../changeManagement/approvalInformation.vue";
  460. import CustomerInfo from "../quotation/sellForQuotation/customerInfo.vue";
  461. export default {
  462. components: {
  463. CustomerInfo,
  464. ApprovalInformation,
  465. Chooselist,
  466. AddOrUpdate,
  467. BuSelect,
  468. },
  469. data() {
  470. return {
  471. approvalList:[],
  472. activeName:'info',
  473. addOrUpdateVisible:false,
  474. height:200,
  475. dataList1: [],
  476. partList:[],
  477. copyData:{
  478. site:'',
  479. codeNo:'',
  480. oriCodeNo:'',
  481. testPartNo:'',
  482. projectId:'',
  483. revNo:'',
  484. newPartNo:'',
  485. },
  486. partModelFlag:false,
  487. searchData: {
  488. page: 1,
  489. limit: 20,
  490. site: this.$store.state.user.site,
  491. userName: this.$store.state.user.name,
  492. testPartNo: '',
  493. oriCodeNo: '',
  494. statusDesc: '',
  495. codeNo:'',
  496. ecnFlag: '',
  497. buNo:'',
  498. customerDesc:'',
  499. },
  500. pageIndex: 1,
  501. pageSize: 20,
  502. totalPage: 0,
  503. dataListLoading: false,
  504. currentRow:'',
  505. exportList:[],
  506. columnList1:[
  507. {
  508. userId: this.$store.state.user.name,
  509. functionId: 103002,
  510. serialNumber: '103002Table1BuNo',
  511. tableId: "103002Table1",
  512. tableName: "技术参数卡列表",
  513. columnProp: "buNo",
  514. headerAlign: "center",
  515. align: "center",
  516. columnLabel: "工艺",
  517. columnHidden: false,
  518. columnImage: false,
  519. columnSortable: false,
  520. sortLv: 0,
  521. status: true,
  522. fixed: '',
  523. columnWidth: 80
  524. },{
  525. userId: this.$store.state.user.name,
  526. functionId: 103002,
  527. serialNumber: '103002Table1OriCodeNo',
  528. tableId: "103002Table1",
  529. tableName: "技术参数卡列表",
  530. columnProp: "oriCodeNo",
  531. headerAlign: "center",
  532. align: "left",
  533. columnLabel: "参数卡编码",
  534. columnHidden: false,
  535. columnImage: false,
  536. columnSortable: false,
  537. sortLv: 0,
  538. status: true,
  539. fixed: '',
  540. columnWidth: 100
  541. },{
  542. userId: this.$store.state.user.name,
  543. functionId: 103002,
  544. serialNumber: '103002Table1RevNo',
  545. tableId: "103002Table1",
  546. tableName: "技术参数卡列表",
  547. columnProp: "revNo",
  548. headerAlign: "center",
  549. align: "left",
  550. columnLabel: "版本号",
  551. columnHidden: false,
  552. columnImage: false,
  553. columnSortable: false,
  554. sortLv: 0,
  555. status: true,
  556. fixed: '',
  557. columnWidth: 80
  558. },{
  559. userId: this.$store.state.user.name,
  560. functionId: 103002,
  561. serialNumber: '103002Table1ProofingNo',
  562. tableId: "103002Table1",
  563. tableName: "技术参数卡列表",
  564. columnProp: "proofingNo",
  565. headerAlign: "center",
  566. align: "center",
  567. columnLabel: "打样单号",
  568. columnHidden: false,
  569. columnImage: false,
  570. columnSortable: false,
  571. sortLv: 0,
  572. status: true,
  573. fixed: '',
  574. columnWidth: 100
  575. },{
  576. userId: this.$store.state.user.name,
  577. functionId: 103002,
  578. serialNumber: '103002Table1Status',
  579. tableId: "103002Table1",
  580. tableName: "技术参数卡列表",
  581. columnProp: "statusDesc",
  582. headerAlign: "center",
  583. align: "left",
  584. columnLabel: "状态",
  585. columnHidden: false,
  586. columnImage: false,
  587. columnSortable: false,
  588. sortLv: 0,
  589. status: true,
  590. fixed: '',
  591. columnWidth: 80
  592. },
  593. {
  594. userId: this.$store.state.user.name,
  595. functionId: 103002,
  596. serialNumber: '103002Table1NodeId',
  597. tableId: "103002Table1",
  598. tableName: "技术参数卡列表",
  599. columnProp: "nodeId",
  600. headerAlign: "center",
  601. align: "left",
  602. columnLabel: "当前节点",
  603. columnHidden: false,
  604. columnImage: false,
  605. columnSortable: false,
  606. sortLv: 0,
  607. status: true,
  608. fixed: '',
  609. columnWidth: 70
  610. },
  611. {
  612. userId: this.$store.state.user.name,
  613. functionId: 103002,
  614. serialNumber: '103002Table1NodeName',
  615. tableId: "103002Table1",
  616. tableName: "技术参数卡列表",
  617. columnProp: "nodeName",
  618. headerAlign: "center",
  619. align: "left",
  620. columnLabel: "节点名称",
  621. columnHidden: false,
  622. columnImage: false,
  623. columnSortable: false,
  624. sortLv: 0,
  625. status: true,
  626. fixed: '',
  627. columnWidth: 150
  628. },{
  629. userId: this.$store.state.user.name,
  630. functionId: 103002,
  631. serialNumber: '103002Table1SP',
  632. tableId: "103002Table1",
  633. tableName: "技术参数卡列表",
  634. columnProp: "sp",
  635. headerAlign: "center",
  636. align: "left",
  637. columnLabel: "当前审批人",
  638. columnHidden: false,
  639. columnImage: false,
  640. columnSortable: false,
  641. sortLv: 0,
  642. status: true,
  643. fixed: '',
  644. columnWidth: 80
  645. },
  646. {
  647. userId: this.$store.state.user.name,
  648. functionId: 103002,
  649. serialNumber: '103002Table1TestPartNo',
  650. tableId: "103002Table1",
  651. tableName: "技术参数卡列表",
  652. columnProp: "testPartNo",
  653. headerAlign: "center",
  654. align: "center",
  655. columnLabel: "PLM物料编码",
  656. columnHidden: false,
  657. columnImage: false,
  658. columnSortable: false,
  659. sortLv: 0,
  660. status: true,
  661. fixed: '',
  662. columnWidth: 140
  663. },
  664. {
  665. userId: this.$store.state.user.name,
  666. functionId: 103002,
  667. serialNumber: '103002Table1FinalPartNo',
  668. tableId: "103002Table1",
  669. tableName: "技术参数卡列表",
  670. columnProp: "finalPartNo",
  671. headerAlign: "center",
  672. align: "center",
  673. columnLabel: "IFS物料编码",
  674. columnHidden: false,
  675. columnImage: false,
  676. columnSortable: false,
  677. sortLv: 0,
  678. status: true,
  679. fixed: '',
  680. columnWidth: 100
  681. },
  682. {
  683. userId: this.$store.state.user.name,
  684. functionId: 103002,
  685. serialNumber: '103002Table1TestPartNo',
  686. tableId: "103002Table1",
  687. tableName: "技术参数卡列表",
  688. columnProp: "projectId",
  689. headerAlign: "center",
  690. align: "center",
  691. columnLabel: "项目号",
  692. columnHidden: false,
  693. columnImage: false,
  694. columnSortable: false,
  695. sortLv: 0,
  696. status: true,
  697. fixed: '',
  698. columnWidth: 100
  699. // },{
  700. // userId: this.$store.state.user.name,
  701. // functionId: 103002,
  702. // serialNumber: '103002Table1TestPartNo',
  703. // tableId: "103002Table1",
  704. // tableName: "技术参数卡列表",
  705. // columnProp: "buNo",
  706. // headerAlign: "center",
  707. // align: "center",
  708. // columnLabel: "BU",
  709. // columnHidden: false,
  710. // columnImage: false,
  711. // columnSortable: false,
  712. // sortLv: 0,
  713. // status: true,
  714. // fixed: '',
  715. // columnWidth: 80
  716. // },{
  717. // userId: this.$store.state.user.name,
  718. // functionId: 103002,
  719. // serialNumber: '103002Table1TestPartNo',
  720. // tableId: "103002Table1",
  721. // tableName: "技术参数卡列表",
  722. // columnProp: "buDesc",
  723. // headerAlign: "center",
  724. // align: "left",
  725. // columnLabel: "BU名称",
  726. // columnHidden: false,
  727. // columnImage: false,
  728. // columnSortable: false,
  729. // sortLv: 0,
  730. // status: true,
  731. // fixed: '',
  732. // columnWidth: 80
  733. },{
  734. userId: this.$store.state.user.name,
  735. functionId: 103002,
  736. serialNumber: '103002Table1PartName',
  737. tableId: "103002Table1",
  738. tableName: "技术参数卡列表",
  739. columnProp: "partDesc",
  740. headerAlign: "center",
  741. align: "left",
  742. columnLabel: "物料名称",
  743. columnHidden: false,
  744. columnImage: false,
  745. columnSortable: false,
  746. sortLv: 0,
  747. status: true,
  748. fixed: '',
  749. columnWidth: 150
  750. },{
  751. userId: this.$store.state.user.name,
  752. functionId: 103002,
  753. serialNumber: '103002Table1ECNFlag',
  754. tableId: "103002Table1",
  755. tableName: "技术参数卡列表",
  756. columnProp: "ecnFlag",
  757. headerAlign: "center",
  758. align: "center",
  759. columnLabel: "ECN变更",
  760. columnHidden: false,
  761. columnImage: false,
  762. columnSortable: false,
  763. sortLv: 0,
  764. status: true,
  765. fixed: '',
  766. columnWidth: 65
  767. },{
  768. userId: this.$store.state.user.name,
  769. functionId: 103002,
  770. serialNumber: '103002Table1EcnNo',
  771. tableId: "103002Table1",
  772. tableName: "技术参数卡列表",
  773. columnProp: "ecnNo",
  774. headerAlign: "center",
  775. align: "center",
  776. columnLabel: "ECN单据号",
  777. columnHidden: false,
  778. columnImage: false,
  779. columnSortable: false,
  780. sortLv: 0,
  781. status: true,
  782. fixed: '',
  783. columnWidth: 100
  784. },{
  785. userId: this.$store.state.user.name,
  786. functionId: 103002,
  787. serialNumber: '103002Table1CreateDate',
  788. tableId: "103002Table1",
  789. tableName: "技术参数卡列表",
  790. columnProp: "createDate",
  791. headerAlign: "center",
  792. align: "center",
  793. columnLabel: "创建时间",
  794. columnHidden: false,
  795. columnImage: false,
  796. columnSortable: false,
  797. sortLv: 0,
  798. status: true,
  799. fixed: '',
  800. columnWidth: 120
  801. },{
  802. userId: this.$store.state.user.name,
  803. functionId: 103002,
  804. serialNumber: '103002Table1CreateBy',
  805. tableId: "103002Table1",
  806. tableName: "技术参数卡列表",
  807. columnProp: "createBy",
  808. headerAlign: "center",
  809. align: "left",
  810. columnLabel: "创建人",
  811. columnHidden: false,
  812. columnImage: false,
  813. columnSortable: false,
  814. sortLv: 0,
  815. status: true,
  816. fixed: '',
  817. columnWidth: 80
  818. },{
  819. userId: this.$store.state.user.name,
  820. functionId: 103002,
  821. serialNumber: '103002Table1UpdateDate',
  822. tableId: "103002Table1",
  823. tableName: "技术参数卡列表",
  824. columnProp: "updateDate",
  825. headerAlign: "center",
  826. align: "center",
  827. columnLabel: "上次修改日期",
  828. columnHidden: false,
  829. columnImage: false,
  830. columnSortable: false,
  831. sortLv: 0,
  832. status: true,
  833. fixed: '',
  834. columnWidth: 120
  835. },{
  836. userId: this.$store.state.user.name,
  837. functionId: 103002,
  838. serialNumber: '103002Table1UpdateBy',
  839. tableId: "103002Table1",
  840. tableName: "技术参数卡列表",
  841. columnProp: "updateBy",
  842. headerAlign: "center",
  843. align: "left",
  844. columnLabel: "修改人",
  845. columnHidden: false,
  846. columnImage: false,
  847. columnSortable: false,
  848. sortLv: 0,
  849. status: true,
  850. fixed: '',
  851. columnWidth: 80
  852. },{
  853. userId: this.$store.state.user.name,
  854. functionId: 103002,
  855. serialNumber: '103002Table1ecnAddress',
  856. tableId: "103002Table1",
  857. tableName: "技术参数卡列表",
  858. columnProp: "ecnAddress",
  859. headerAlign: "center",
  860. align: "left",
  861. columnLabel: "ECN文档链接",
  862. columnHidden: false,
  863. columnImage: false,
  864. columnSortable: false,
  865. sortLv: 0,
  866. status: true,
  867. fixed: '',
  868. columnWidth: 200
  869. },
  870. ],
  871. infoData:{
  872. testPartNo:'',
  873. partTypeDesc:'',
  874. revNo:'',
  875. projectId:'',
  876. ecnFlag:'',
  877. ecnNo:'',
  878. ecnAddress:'',
  879. quotationOfficer:'',
  880. engineer:'',
  881. technician:'',
  882. remark:'',
  883. },
  884. customerData:{
  885. customerId:'',
  886. customerName:'',
  887. customerDesc:'',
  888. finalCustomer:'',
  889. customerRemark:'',
  890. remark:'',
  891. },
  892. dataRole: {
  893. partTypeDesc: [
  894. {
  895. required: true,
  896. message: ' ',
  897. trigger: 'change'
  898. }
  899. ],
  900. partName: [
  901. {
  902. required: true,
  903. message: ' ',
  904. trigger: 'change'
  905. }
  906. ],
  907. },
  908. revNoFlag:false,
  909. revNoData: {
  910. site:'',
  911. oriCodeNo:'',
  912. oldCodeNo:'',
  913. oldRevNo:'',
  914. revNo:'',
  915. testPartNo:'',
  916. },
  917. // 导出 start
  918. exportData: [],
  919. exportName: '技术参数卡清单'+this.dayjs().format('YYYYMMDDHHmmss'),
  920. exportHeader: ["技术参数卡清单"],
  921. exportFooter: [],
  922. // 导出 end
  923. }
  924. },
  925. mounted() {
  926. this.$nextTick(() => {
  927. this.height = window.innerHeight - 520;
  928. })
  929. },
  930. activated() {
  931. if (this.$route.params.type === 'tokenLogin') {
  932. if (this.$route.params.docNo) {
  933. // this.searchData.applyNo = this.$route.params.docNo
  934. let inData={
  935. page: 1,
  936. limit: 100,
  937. site: this.$store.state.user.site,
  938. userName: this.$store.state.user.name,
  939. codeNo:this.$route.params.docNo,
  940. }
  941. technicalSpecificationListSearch(inData).then(({data}) => {
  942. if (data.code == 0) {
  943. this.dataList1 = data.page.list
  944. this.pageIndex = data.page.currPage
  945. this.pageSize = data.page.pageSize
  946. this.totalPage = data.page.totalCount
  947. if(this.dataList1.length>0){
  948. this.$refs.mainTable.setCurrentRow(this.dataList1[0]);
  949. this.changeData(this.dataList1[0])
  950. this.jumpDetail(this.dataList1[0])
  951. }
  952. }
  953. this.dataListLoading = false
  954. })
  955. }
  956. }else if (this.$route.params.type === 'test'){
  957. this.searchData.buNo = this.$route.params.buNo
  958. this.searchData.testPartNo = this.$route.params.testPartNo
  959. this.search();
  960. setTimeout(() => {
  961. this.searchData.buNo = '';
  962. this.searchData.testPartNo = '';
  963. }, 200)
  964. }
  965. if (this.$route.params.codeNo){
  966. this.searchData.oriCodeNo = this.$route.params.codeNo;
  967. this.search();
  968. setTimeout(() => {
  969. this.searchData.oriCodeNo = '';
  970. }, 200)
  971. }
  972. if (this.$route.params.nowCodeNo){
  973. this.searchData.codeNo = this.$route.params.nowCodeNo;
  974. this.search();
  975. setTimeout(() => {
  976. this.searchData.codeNo = '';
  977. }, 200)
  978. }
  979. },
  980. methods: {
  981. // 下达
  982. issueModal (row) {
  983. this.$confirm(`是否确认下达?`, '提示', {
  984. confirmButtonText: '确定',
  985. cancelButtonText: '取消',
  986. type: 'warning'
  987. }).then(() => {
  988. let tempData = {
  989. site: row.site,
  990. userName: this.$store.state.user.name,
  991. codeNo: row.codeNo,
  992. menuId: this.$route.meta.menuId
  993. }
  994. issueChange(tempData).then(({data}) => {
  995. if (data && data.code === 0) {
  996. this.search()
  997. this.$message({message: '操作成功', type: 'success'})
  998. } else {
  999. this.$alert(data.msg, '错误', {
  1000. confirmButtonText: '确定'
  1001. })
  1002. }
  1003. })
  1004. })
  1005. },
  1006. // 每页数
  1007. sizeChangeHandle (val) {
  1008. this.pageSize = val
  1009. this.pageIndex = 1
  1010. this.search()
  1011. },
  1012. // 当前页
  1013. currentChangeHandle (val) {
  1014. this.pageIndex = val
  1015. this.search()
  1016. },
  1017. search(){
  1018. this.searchData.limit = this.pageSize
  1019. this.searchData.page = this.pageIndex
  1020. this.dataListLoading = true;
  1021. technicalSpecificationListSearch(this.searchData).then(({data}) => {
  1022. if (data && data.code === 0) {
  1023. this.dataList1 = data.page.list
  1024. // this.pageIndex = data.page.currPage
  1025. // this.pageSize = data.page.pageSize
  1026. this.totalPage = data.page.totalCount
  1027. if(this.dataList1.length>0){
  1028. this.$refs.mainTable.setCurrentRow(this.dataList1[0]);
  1029. this.changeData(this.dataList1[0])
  1030. }
  1031. }
  1032. this.dataListLoading = false
  1033. }).catch((error)=>{
  1034. this.$message.error(error);
  1035. this.dataListLoading = false;
  1036. })
  1037. },
  1038. changeData(row) {
  1039. this.currentRow = JSON.parse(JSON.stringify(row));
  1040. this.infoData=row;
  1041. this.refreshCurrentTabTable ();
  1042. },
  1043. // 获取基础数据列表S
  1044. getBaseList (val, type) {
  1045. this.tagNo = val
  1046. this.tagNo1 = type
  1047. this.$nextTick(() => {
  1048. let strVal = ''
  1049. if (val === 1013) {
  1050. if(type==1) {
  1051. strVal = this.dataForm.partType
  1052. }
  1053. }
  1054. if (val === 105) {
  1055. if(type==1) {
  1056. strVal = this.searchData.testPartNo
  1057. }
  1058. }
  1059. this.$refs.baseList.init(val, strVal)
  1060. })
  1061. },
  1062. refreshCurrentTabTable () {
  1063. if (this.activeName == 'customerInfo') {
  1064. this.getTechnicalCustomerInfoData();
  1065. }
  1066. if (this.activeName === 'approvalInformation') {
  1067. this.getApprovalList()
  1068. }
  1069. },
  1070. getTechnicalCustomerInfoData(){
  1071. let inData={
  1072. id:this.currentRow.id
  1073. }
  1074. getTechnicalCustomerInfoData(inData).then(({data}) => {
  1075. //区分请求成功和失败的状况
  1076. if (data && data.code == 0) {
  1077. this.customerData = data.row;
  1078. } else {
  1079. this.customerData = [];
  1080. }
  1081. });
  1082. },
  1083. /* 列表方法的回调 */
  1084. getBaseData (val) {
  1085. if (this.tagNo === 1013) {
  1086. if(this.tagNo1==1) {
  1087. this.dataForm.partType = val.Base_id
  1088. this.dataForm.partTypeDesc = val.Base_desc
  1089. }
  1090. }
  1091. if (this.tagNo === 105) {
  1092. if(this.tagNo1==1) {
  1093. this.searchData.testPartNo = val.Test_part_no
  1094. }
  1095. }
  1096. },
  1097. // 新增 / 修改
  1098. addOrUpdateHandle (id) {
  1099. this.addOrUpdateVisible = true
  1100. this.$nextTick(() => {
  1101. this.$refs.addOrUpdate.init(id)
  1102. })
  1103. },
  1104. jumpDetail(row){
  1105. let now = Date.now();
  1106. let inData = {
  1107. site: this.$store.state.user.site,
  1108. codeNo: row.codeNo,
  1109. buNo: row.buNo,
  1110. username: this.$store.state.user.name,
  1111. uuid:now+'',
  1112. activeName:'baseInfo'
  1113. };
  1114. localStorage.setItem('tsfData', JSON.stringify(inData))
  1115. window.open('#/BMPage/'+now);
  1116. // this.$router.replace('sampleManagement-technicalSpecificationDetail/technicalSpecificationDetail')
  1117. },
  1118. deleteData(row){
  1119. this.$confirm('确定要删除这条数据?', '提示', {
  1120. confirmButtonText: '确定',
  1121. cancelButtonText: '取消',
  1122. type: 'warning'
  1123. }).then(() => {
  1124. deleteTechnicalSpecificationList(row).then(({data}) => {
  1125. if (data && data.code === 0) {
  1126. this.$message.success( '操作成功')
  1127. this.search();
  1128. } else {
  1129. this.$message.error(data.msg)
  1130. }
  1131. })
  1132. }).catch(() => {
  1133. })
  1134. },
  1135. addRevModel(row){
  1136. this.revNoData={
  1137. site:row.site,
  1138. oriCodeNo:row.oriCodeNo,
  1139. oldCodeNo:row.codeNo,
  1140. oldRevNo:row.revNo,
  1141. revNo:'',
  1142. testPartNo:row.testPartNo,
  1143. }
  1144. this.revNoFlag=true;
  1145. },
  1146. upBMRevNo(){
  1147. this.$confirm('确定要升版?', '提示', {
  1148. confirmButtonText: '确定',
  1149. cancelButtonText: '取消',
  1150. type: 'warning'
  1151. }).then(() => {
  1152. upBMRevNo(this.revNoData).then(({data}) => {
  1153. if (data && data.code === 0) {
  1154. this.$message.success( '操作成功')
  1155. this.revNoFlag=false;
  1156. this.search();
  1157. } else {
  1158. this.$message.error(data.msg)
  1159. }
  1160. })
  1161. }).catch(() => {
  1162. })
  1163. },
  1164. //导出excel
  1165. async createExportData() {
  1166. this.searchData.limit = -1
  1167. this.searchData.page = 1
  1168. await technicalSpecificationListSearch(this.searchData).then(({data}) => {
  1169. this.exportList= data.page.list;
  1170. })
  1171. return this.exportList;
  1172. },
  1173. startDownload() {
  1174. // this.exportData = this.dataList
  1175. },
  1176. finishDownload() {
  1177. },
  1178. fields() {
  1179. let json = "{"
  1180. this.columnList1.forEach((item, index) => {
  1181. if (index == this.columnList1.length - 1) {
  1182. json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\""
  1183. } else {
  1184. json += "\"" + item.columnLabel + "\"" + ":" + "\"" + item.columnProp + "\"" + ","
  1185. }
  1186. })
  1187. json += "}"
  1188. let s = eval("(" + json + ")")
  1189. return s
  1190. },
  1191. // test() {
  1192. // this.$router.push('quotation-sellForQuotation-quoteDetail')
  1193. // },
  1194. getApprovalList () {
  1195. if (Object.keys(this.currentRow).length !== 0) {
  1196. let tempData = {
  1197. site: this.$store.state.user.site,
  1198. menuId: this.$route.meta.menuId,
  1199. documentNo:this.currentRow.codeNo
  1200. }
  1201. getApprovalList(tempData).then(({data}) => {
  1202. if (data && data.code === 0) {
  1203. this.approvalList = data.rows
  1204. } else {
  1205. this.approvalList = []
  1206. }
  1207. })
  1208. }
  1209. },
  1210. copyBM(row){
  1211. this.copyData={
  1212. site:row.site,
  1213. codeNo:row.codeNo,
  1214. oriCodeNo:row.oriCodeNo,
  1215. testPartNo:row.testPartNo,
  1216. projectId:row.projectId,
  1217. revNo:row.revNo,
  1218. newPartNo:'',
  1219. }
  1220. searchCopyPart(this.copyData).then(({data}) => {
  1221. if (data.code == 0) {
  1222. this.partList=data.rows
  1223. }
  1224. this.dataListLoading = false
  1225. })
  1226. this.partModelFlag=true
  1227. },
  1228. choosePartNo(row){
  1229. let saveData={
  1230. site:this.copyData.site,
  1231. codeNo:this.copyData.codeNo,
  1232. testPartNo:this.copyData.testPartNo,
  1233. projectId:this.copyData.projectId,
  1234. revNo:this.copyData.revNo,
  1235. newPartNo:row.testPartNo,
  1236. username:this.$store.state.user.name
  1237. }
  1238. this.$confirm('确定要拷贝?', '提示', {
  1239. confirmButtonText: '确定',
  1240. cancelButtonText: '取消',
  1241. type: 'warning'
  1242. }).then(() => {
  1243. copyBm(saveData).then(({data}) => {
  1244. if (data && data.code === 0) {
  1245. this.$message.success( '操作成功')
  1246. this.partModelFlag=false;
  1247. this.search();
  1248. } else {
  1249. this.$message.error(data.msg)
  1250. }
  1251. })
  1252. }).catch(() => {
  1253. })
  1254. },
  1255. },
  1256. }
  1257. </script>
  1258. <style scoped>
  1259. </style>