addDialog.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728
  1. <template>
  2. <div class="ele-body">
  3. <el-card shadow="never">
  4. <el-form ref="form" :model="form" :rules="rules" label-width="120px">
  5. <headerTitle title="基本信息">
  6. <template slot-scope="right">
  7. <div style="padding-bottom: 10px">
  8. <el-button @click="cancel">返回</el-button>
  9. <el-button type="primary" @click="save">保存</el-button>
  10. <el-button
  11. type="primary"
  12. v-if="isNeed_process_is_close"
  13. @click="save('sub')"
  14. >提交</el-button
  15. >
  16. </div>
  17. </template>
  18. </headerTitle>
  19. <el-row>
  20. <el-col :span="8">
  21. <el-form-item label="采购计划单名称" prop="planCode">
  22. <el-input
  23. @click.native="handParent"
  24. v-model="form.planName"
  25. placeholder="请选择"
  26. ></el-input>
  27. </el-form-item>
  28. </el-col>
  29. <el-col :span="8">
  30. <el-form-item
  31. label="询价单名称"
  32. prop="inquiryName"
  33. style="margin-bottom: 22px"
  34. >
  35. <el-input v-model="form.inquiryName"></el-input>
  36. </el-form-item>
  37. </el-col>
  38. <!-- <el-col :span="12">
  39. <el-form-item
  40. label="供应商"
  41. prop="supplierName"
  42. style="margin-bottom: 22px"
  43. >
  44. <el-input
  45. @click.native="openSupplier"
  46. v-model="form.supplierName"
  47. placeholder="请选择"
  48. ></el-input>
  49. </el-form-item>
  50. </el-col> -->
  51. <el-col :span="8">
  52. <el-form-item
  53. prop="remark"
  54. label="是否接受拆单"
  55. label-width="120px"
  56. >
  57. <el-select
  58. v-model="form.acceptUnpack"
  59. clearable
  60. style="width: 100%"
  61. disabled
  62. >
  63. <el-option
  64. v-for="item in acceptUnpackList"
  65. :key="item.value"
  66. :label="item.label"
  67. :value="item.value"
  68. >
  69. </el-option>
  70. </el-select>
  71. </el-form-item>
  72. </el-col>
  73. <el-col :span="8">
  74. <el-form-item prop="remark" label="备注">
  75. <el-input
  76. type="textarea"
  77. resize="none"
  78. v-model="form.remark"
  79. :rows="2"
  80. placeholder="请输入"
  81. size="small"
  82. maxlength="200"
  83. ></el-input>
  84. </el-form-item>
  85. </el-col>
  86. <el-col :span="8">
  87. <el-form-item prop="files" label="附件">
  88. <fileMain v-model="form.files" type="view"></fileMain>
  89. <!-- <fileUpload-->
  90. <!-- v-model="form.files"-->
  91. <!-- module="main"-->
  92. <!-- :showLib="false"-->
  93. <!-- :limit="1"-->
  94. <!-- />-->
  95. </el-form-item>
  96. </el-col>
  97. </el-row>
  98. </el-form>
  99. <headerTitle title="物品清单" style="margin-top: 15px"></headerTitle>
  100. <el-button
  101. type="primary"
  102. style="margin-bottom: 10px"
  103. @click="openSupplier"
  104. v-click-once
  105. >新增报价单</el-button
  106. >
  107. <inventoryTable
  108. ref="inventoryTable"
  109. @delList="delList"
  110. :acceptUnpack="form.acceptUnpack"
  111. @supplierSelect="supplierSelect"
  112. >
  113. </inventoryTable>
  114. <!-- <el-tabs v-model="activeName" style="margin-top: 15px" type="border-card">
  115. <el-tab-pane label="物品清单" name="1">
  116. <el-button
  117. type="primary"
  118. style="margin-bottom: 10px"
  119. @click="openSupplier"
  120. >新增报价单</el-button
  121. >
  122. <inventoryTable
  123. ref="inventoryTable"
  124. @delList="delList"
  125. :acceptUnpack="form.acceptUnpack"
  126. @supplierSelect="supplierSelect"
  127. >
  128. </inventoryTable>
  129. </el-tab-pane>
  130. <el-tab-pane label="原料" name="2">
  131. <inventoryTable
  132. ref="rawDetailListRef"
  133. :acceptUnpack="form.acceptUnpack"
  134. @supplierSelect="supplierSelect"
  135. :isSupplier="false"
  136. >
  137. </inventoryTable>
  138. </el-tab-pane>
  139. <el-tab-pane label="产成品" name="3">
  140. <inventoryTable
  141. ref="outputDetailListRef"
  142. :acceptUnpack="form.acceptUnpack"
  143. :isSupplier="false"
  144. >
  145. </inventoryTable>
  146. </el-tab-pane>
  147. </el-tabs> -->
  148. <headerTitle title="报价清单" style="margin-top: 15px"></headerTitle>
  149. <inquiryManageList
  150. generatedType="inquiry"
  151. ref="inquiryManageRef"
  152. @changeInquiryManageList="changeInquiryManageList"
  153. @supplierManageChange="supplierManageChange"
  154. @supplierSelect="supplierSelect"
  155. ></inquiryManageList>
  156. <supplierManageDialog
  157. ref="supplierManageDialogRef"
  158. @supplierManageChange="supplierManageChange"
  159. ></supplierManageDialog>
  160. <inquiryTable
  161. @removeSupplier="removeSupplier"
  162. :ref="'inquiryTable' + item.supplierId"
  163. v-for="item in supplierList"
  164. :key="item.supplierId"
  165. style="margin-top: 15px"
  166. :obj="item"
  167. :isUpdate="isUpdate"
  168. @deliveryDateChange="deliveryDateChange"
  169. @setIsInquiry="setIsInquiry"
  170. ></inquiryTable>
  171. <process-submit-dialog
  172. api-fun-name="purchaseinquiryStatusAPI"
  173. :processSubmitDialogFlag.sync="processSubmitDialogFlag"
  174. v-if="processSubmitDialogFlag"
  175. ref="processSubmitDialogRef"
  176. @reload="reload"
  177. ></process-submit-dialog>
  178. </el-card>
  179. </div>
  180. <!-- </ele-modal>-->
  181. </template>
  182. <script>
  183. import inventoryTable from './inventoryTable.vue';
  184. import inquiryTable from './inquiryTable.vue';
  185. import inquiryManageList from './inquiryManage-list.vue';
  186. import supplierManageDialog from './supplierManageDialog.vue';
  187. import fileUpload from '@/components/upload/fileUpload';
  188. import dictMixins from '@/mixins/dictMixins';
  189. import {
  190. getplanDetail,
  191. isHasGeneratedInquiryAPI
  192. } from '@/api/purchasingManage/purchasePlanManage';
  193. import {
  194. UpdateInformation,
  195. getpurchaseinquiry,
  196. addPurchaseinquiry,
  197. chooseWinner,
  198. submit
  199. } from '@/api/purchasingManage/inquiryManage';
  200. import { copyObj } from '@/utils/util';
  201. import { getFile } from '@/api/system/file';
  202. import {
  203. contactDetail,
  204. contactQueryByCategoryIdsAPI
  205. } from '@/api/saleManage/contact';
  206. import { deepClone } from '@/utils';
  207. import {
  208. finishPageTab,
  209. getRouteTabKey,
  210. reloadPageTab,
  211. removePageTab
  212. } from '@/utils/page-tab-util';
  213. import _ from 'lodash';
  214. import fileMain from '@/components/addDoc/index.vue';
  215. import processSubmitDialog from '@/BIZComponents/processSubmitDialog/processSubmitDialog.vue';
  216. export default {
  217. props: {
  218. categoryTreeList: Array
  219. },
  220. mixins: [dictMixins],
  221. components: {
  222. processSubmitDialog,
  223. fileMain,
  224. fileUpload,
  225. inventoryTable,
  226. inquiryManageList,
  227. supplierManageDialog,
  228. inquiryTable
  229. },
  230. data() {
  231. let formDef = {
  232. id: '',
  233. planCode: null,
  234. planName: null,
  235. inquiryName: null,
  236. remark: null,
  237. planId: '',
  238. detailList: '',
  239. resultList: [],
  240. supplierName: '',
  241. files: [],
  242. acceptUnpack: '',
  243. isFirstProcess: 0
  244. };
  245. return {
  246. activeName: '1',
  247. businessId: '',
  248. visible: false,
  249. supplierVisible: false,
  250. processSubmitDialogFlag: false,
  251. title: '',
  252. supplierList: [],
  253. detailList: [],
  254. list: [],
  255. delDetailIds: [],
  256. supplierProducts: {},
  257. formDef,
  258. rawList: [],
  259. outputList: [],
  260. acceptUnpackList: [
  261. {
  262. label: '接受',
  263. value: 1
  264. },
  265. {
  266. label: '不接受',
  267. value: 0
  268. }
  269. ],
  270. form: copyObj(formDef),
  271. rules: {
  272. responsibleName: [
  273. { required: true, message: '请选择负责人', trigger: 'change' }
  274. ],
  275. requireDeptId: [
  276. { required: true, message: '请选择需求部门', trigger: 'change' }
  277. ],
  278. inquiryName: [
  279. { required: true, message: '请输入询价单名称', trigger: 'blur' }
  280. ]
  281. },
  282. // 提交状态
  283. loading: false,
  284. // 是否是修改
  285. isUpdate: false
  286. };
  287. },
  288. created() {
  289. if (this.$route.query.id) {
  290. this.open(this.$route.query);
  291. }
  292. },
  293. methods: {
  294. openSupplier() {
  295. if (!this.form.planCode)
  296. return this.$message.warning('请先选择采购计划');
  297. if (!this.$refs.inventoryTable.selection.length)
  298. return this.$message.warning('请选择产品');
  299. this.$refs.supplierManageDialogRef.open();
  300. },
  301. //获取询价详情
  302. async getDetailData(id, type) {
  303. this.businessId = id;
  304. this.loading = true;
  305. let data = await getpurchaseinquiry(id);
  306. this.loading = false;
  307. if (data) {
  308. this.form = data;
  309. this.supplierList = data.supplierList;
  310. let categoryIds = [...data.detailList].map((item) => item.productId);
  311. let supplierObj = await contactQueryByCategoryIdsAPI({ categoryIds });
  312. [...data.detailList].forEach((item) => {
  313. item.supplierList = supplierObj[item.productId] || [];
  314. });
  315. this.list = [...data.detailList, ...data.rawList, ...data.outputList];
  316. this.$nextTick(() => {
  317. this.$refs.inventoryTable &&
  318. this.$refs.inventoryTable.putTableValue(data.detailList);
  319. this.setIsInquiry()
  320. // this.$refs.rawDetailListRef &&
  321. // this.$refs.rawDetailListRef.putTableValue(data.rawDetailList); //原料
  322. // this.$refs.outputDetailListRef &&
  323. // this.$refs.outputDetailListRef.putTableValue(
  324. // data.outputDetailList
  325. // );
  326. });
  327. if (type == 'init') {
  328. await this.getplanData(data.planId, type);
  329. }
  330. // this.$nextTick(() => {
  331. // });
  332. }
  333. },
  334. deliveryDateChange(fn) {
  335. let data = this.$refs.inventoryTable.getTableValue() || [];
  336. fn(data);
  337. },
  338. //获取计划详情
  339. async getplanData(id, type) {
  340. this.loading = true;
  341. let data = await getplanDetail(id);
  342. this.rawList = data.rawDetailList;
  343. this.outputList = data.outputDetailList;
  344. this.supplierList = [];
  345. this.loading = false;
  346. if (data) {
  347. let categoryIds = [...data.detailList].map((item) => item.productId);
  348. let supplierObj = await contactQueryByCategoryIdsAPI({ categoryIds });
  349. [...data.detailList].forEach((item) => {
  350. if (item.arrivalWay == 2 && item.arrivalBatch.length > 0) {
  351. item.expectReceiveDate =
  352. item.arrivalBatch[item.arrivalBatch.length - 1].arriveDate;
  353. }
  354. item.supplierList = supplierObj[item.productId] || [];
  355. if (item.supplierList.length === 1) {
  356. item.supplierIds = [item.supplierList[0].id];
  357. // this.supplierSelect(item);
  358. }
  359. });
  360. this.$set(this.form, 'acceptUnpack', data.acceptUnpack);
  361. this.form.planId = data.id;
  362. this.form.planCode = data.planCode;
  363. this.form.planName = data.planName;
  364. this.form.isFirstProcess = data.isFirstProcess;
  365. this.form.inquiryName = data.planName;
  366. // if (type == 'change') {
  367. // this.supplierList.forEach((item) => {
  368. // this.$refs['inquiryTable' + item.supplierId][0]&&this.$refs['inquiryTable' + item.supplierId][0].putTableValue(
  369. // data.detailList
  370. // );
  371. // });
  372. // }
  373. if (type == 'init') {
  374. return;
  375. }
  376. this.list = [
  377. ...data.detailList,
  378. ...data.rawDetailList,
  379. ...data.outputDetailList
  380. ];
  381. data.detailList.forEach((item) => {
  382. item.isWinner = 1;
  383. });
  384. this.$nextTick(() => {
  385. this.$refs.inventoryTable &&
  386. this.$refs.inventoryTable.putTableValue(data.detailList);
  387. // this.$refs.rawDetailListRef &&
  388. // this.$refs.rawDetailListRef.putTableValue(data.rawDetailList); //原料
  389. // this.$refs.outputDetailListRef &&
  390. // this.$refs.outputDetailListRef.putTableValue(
  391. // data.outputDetailList
  392. // );
  393. });
  394. }
  395. },
  396. async open({ type, id }) {
  397. this.title = type === 'add' ? '新增' : '修改';
  398. this.activeName = '1';
  399. this.visible = true;
  400. if (type == 'add') {
  401. this.isUpdate = false;
  402. if (id) {
  403. await this.getplanData(id);
  404. //是否生成过核价单
  405. let res = await isHasGeneratedInquiryAPI(id);
  406. if (res) this.$message.warning('该计划已生成过核价单,请注意。');
  407. }
  408. } else {
  409. this.isUpdate = true;
  410. await this.getDetailData(id);
  411. }
  412. // this.init(row.id);
  413. },
  414. getValidate() {
  415. let promises = [];
  416. this.supplierList.forEach((item) => {
  417. promises.push(
  418. new Promise((resolve, reject) => {
  419. this.$refs['inquiryTable' + item.supplierId][0].validateForm(
  420. (valid) => {
  421. if (!valid) {
  422. reject(false);
  423. } else {
  424. resolve(true);
  425. }
  426. }
  427. );
  428. })
  429. );
  430. });
  431. return Promise.all([
  432. new Promise((resolve, reject) => {
  433. this.$refs.form.validate((valid) => {
  434. if (!valid) {
  435. reject(false);
  436. } else {
  437. resolve(true);
  438. }
  439. });
  440. }),
  441. ...promises
  442. ]);
  443. },
  444. //计划删除
  445. delList(productCode) {
  446. this.supplierList.forEach((item) => {
  447. this.$refs['inquiryTable' + item.supplierId][0] &&
  448. this.$refs['inquiryTable' + item.supplierId][0].remove(productCode);
  449. });
  450. },
  451. removeSupplier(supplierId) {
  452. this.supplierList = this.supplierList.filter(
  453. (item) => item.supplierId != supplierId
  454. );
  455. this.setIsInquiry()
  456. },
  457. //选择产品
  458. handParent() {
  459. this.$refs.inquiryManageRef.open(this.form.planCode);
  460. },
  461. changeInquiryManageList(data) {
  462. // this.form.planId = data.id;
  463. // this.form.planCode = data.planCode;
  464. this.getplanData(data.id, 'change');
  465. },
  466. async supplierSelect(row) {
  467. if (!row) {
  468. this.$message.warning('请选择供应商');
  469. return;
  470. }
  471. let supplierIds = Object.keys(this.supplierProducts);
  472. const promises = [];
  473. row.supplierIds.forEach((item) => {
  474. if (!supplierIds.includes(item)) {
  475. promises.push(contactDetail(item));
  476. } else {
  477. this.productSetSupplier(this.supplierProducts[item], row);
  478. }
  479. });
  480. Promise.all(promises).then((results) => {
  481. results.forEach((data, index) => {
  482. this.supplierProducts[data.base.id] = data;
  483. this.productSetSupplier(this.supplierProducts[data.base.id], row);
  484. });
  485. });
  486. },
  487. setIsInquiry() {
  488. let supplierList = [];
  489. this.$nextTick(() => {
  490. this.supplierList.forEach((item) => {
  491. supplierList.push(
  492. this.$refs['inquiryTable' + item.supplierId][0].getTableValue()
  493. );
  494. });
  495. this.$refs.inventoryTable.setIsInquiry(supplierList)
  496. });
  497. },
  498. productSetSupplier(data, row) {
  499. let obj = deepClone(row);
  500. obj.supplierProductName = data.productList.find(
  501. (item) => item.productCode == row.productCode
  502. )?.productName;
  503. obj.supplierProductCode = data.productList.find(
  504. (item) => item.productCode == row.productCode
  505. )?.productCode;
  506. obj.supplierName = data.base.name;
  507. let params = {
  508. ...data.base,
  509. supplierId: data.base.id,
  510. supplierName: data.base.name,
  511. supplierCode: data.base.code,
  512. files: [],
  513. preferentialPrice: '',
  514. settlementMode: '',
  515. settlementModeName: '',
  516. taxRate: '',
  517. totalPrice: '',
  518. resultList: [obj]
  519. };
  520. let supplierIds = this.supplierList.map((item) => item.supplierId);
  521. let supplierIndex = supplierIds.indexOf(data.base.id);
  522. if (supplierIndex == -1) {
  523. this.supplierList.push(params);
  524. } else {
  525. let isHave = this.supplierList[supplierIndex].resultList.some(
  526. (item) => item.productCode == obj.productCode
  527. );
  528. if (!isHave) {
  529. // putTableValue
  530. //this.supplierList[supplierIndex].resultList.push(obj)
  531. this.$set(this.supplierList[supplierIndex], 'resultList', [
  532. ...this.supplierList[supplierIndex].resultList,
  533. obj
  534. ]);
  535. this.$nextTick(() => {
  536. this.$refs['inquiryTable' + data.base.id][0]?.putTableValue(
  537. this.supplierList[supplierIndex].resultList
  538. );
  539. this.$refs['inquiryTable' + data.base.id][0]?.getSpanArr();
  540. });
  541. }
  542. }
  543. },
  544. //供应商回调
  545. supplierManageChange(data) {
  546. let supplierIds = this.supplierList.map((item) => item.supplierId);
  547. data.forEach((item) => {
  548. item['files'] = [];
  549. item['supplierName'] = item.name;
  550. item['preferentialPrice'] = '';
  551. item['settlementMode'] = '';
  552. item['settlementModeName'] = '';
  553. item['taxRate'] = '';
  554. item['totalPrice'] = '';
  555. item['resultList'] = copyObj(this.$refs.inventoryTable.selection);
  556. item['resultList'].forEach((val) => {
  557. item['deliveryDate'] = val.expectReceiveDate;
  558. val['remark'] = '';
  559. val.supplierName = item.name;
  560. val.supplierProductCode = val.productCode;
  561. val.supplierProductName = val.productName;
  562. val.isWinner = 1;
  563. });
  564. let supplierIndex = supplierIds.indexOf(item.supplierId);
  565. if (supplierIndex == -1) {
  566. this.supplierList.push(item);
  567. } else {
  568. console.log(1);
  569. item['resultList'].forEach((val) => {
  570. let isHave = this.supplierList[supplierIndex].resultList.some(
  571. (i) => i.productCode == val.productCode
  572. );
  573. console.log(isHave, supplierIndex);
  574. if (!isHave) {
  575. this.$set(this.supplierList[supplierIndex], 'resultList', [
  576. ...this.supplierList[supplierIndex].resultList,
  577. val
  578. ]);
  579. this.$refs['inquiryTable' + item.id][0]?.putTableValue(
  580. this.supplierList[supplierIndex].resultList
  581. );
  582. this.$nextTick(() => {
  583. this.$refs['inquiryTable' + item.id][0]?.getSpanArr();
  584. });
  585. }
  586. });
  587. }
  588. });
  589. },
  590. async save(type) {
  591. let supplierList = [];
  592. this.supplierList.forEach((item) => {
  593. supplierList.push(
  594. this.$refs['inquiryTable' + item.supplierId][0].getTableValue()
  595. );
  596. });
  597. supplierList.forEach((item) => {
  598. item.resultList.forEach((val) => {
  599. val['technicalDrawings'] = [];
  600. });
  601. });
  602. this.form.detailList = this.list;
  603. this.form.supplierList = supplierList;
  604. try {
  605. await this.getValidate();
  606. // let arr = this.form.supplierList.map(item => item.resultList).flat(2);
  607. // console.log(arr);
  608. // let a = _.groupBy(arr,'productName')
  609. // for (let key in a) {
  610. // console.log(key,a[key]);
  611. // if(a[key].some(item => item.isWinner ==='')) return this.$message.warning(key+'至少选择一家中标供应商')
  612. // }
  613. // console.log(a);
  614. // return
  615. // 表单验证通过,执行保存操作
  616. this.loading = true;
  617. if (this.$refs.inventoryTable.getTableValue().length == 0) {
  618. this.$message.warning('产品清单不能为空');
  619. return;
  620. }
  621. if (!this.isUpdate) {
  622. delete this.form.id;
  623. }
  624. this.form.supplierList.forEach((item) => {
  625. item.resultList = [
  626. ...item.resultList,
  627. ...this.rawList,
  628. ...this.outputList
  629. ];
  630. });
  631. this.form.files = this.form.files || [];
  632. let API = this.isUpdate ? UpdateInformation : addPurchaseinquiry;
  633. API(this.form)
  634. .then((res) => {
  635. this.loading = false;
  636. this.$message.success('操作成功');
  637. if (type === 'sub') {
  638. this.sub(res);
  639. return;
  640. }
  641. this.cancel();
  642. this.$emit('done');
  643. })
  644. .catch((e) => {
  645. //this.loading = false;
  646. });
  647. } catch (error) {
  648. console.log(error);
  649. // 表单验证未通过,不执行保存操作
  650. }
  651. },
  652. async sub(res) {
  653. let data = await getpurchaseinquiry(this.businessId || res);
  654. this.processSubmitDialogFlag = true;
  655. this.$nextTick(() => {
  656. let params = {
  657. businessId: data.id,
  658. businessKey: 'purchase_inquiry_approve',
  659. formCreateUserId: data.createUserId,
  660. variables: {
  661. businessCode: data.inquiryCode
  662. }
  663. // callBackMethodType : '1',
  664. // callBackMethod : 'proTargetPlanApproveApiImpl.updatePlanApprovalStatus',
  665. // pcHandle : '/bpm/handleTask/components/project-manage/plan-manage/submit.vue',
  666. // pcView : '/bpm/handleTask/components/project-manage/plan-manage/detailDialog.vue',
  667. // miniHandle : '',
  668. // miniView : '',
  669. };
  670. this.$refs.processSubmitDialogRef.init(params);
  671. });
  672. // submit({
  673. // businessId: this.businessId || res
  674. // }).then((res) => {
  675. // this.cancel();
  676. // this.$emit('done');
  677. // });
  678. },
  679. reload() {
  680. this.cancel();
  681. this.$emit('done');
  682. },
  683. downloadFile(file) {
  684. getFile({ objectName: file.storePath }, file.name);
  685. },
  686. cancel() {
  687. reloadPageTab({ fullPath: '/inquiryManage' });
  688. removePageTab({
  689. key: '/purchasingManage/inquiryManage/components/addDialog'
  690. });
  691. }
  692. }
  693. };
  694. </script>
  695. <style scoped lang="scss">
  696. .TotalAmount {
  697. font-size: 16px;
  698. padding-right: 30px;
  699. }
  700. </style>