contactDetailDialog.vue 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494
  1. <template>
  2. <ele-modal
  3. custom-class="ele-dialog-form long-dialog-form"
  4. :centered="true"
  5. v-if="visible"
  6. :visible.sync="visible"
  7. :title="title"
  8. :close-on-click-modal="false"
  9. append-to-body
  10. width="70%"
  11. @close="cancel"
  12. >
  13. <el-tabs v-model="activeName" type="card" @tab-click="handleActive">
  14. <el-tab-pane label="基本信息" name="base">
  15. <headerTitle title="基本信息" style="margin-top: 30px"></headerTitle>
  16. <el-form
  17. label-width="120px"
  18. ref="formRef"
  19. :model="form">
  20. <el-row>
  21. <el-col :span="8">
  22. <el-form-item
  23. label="生产厂家分类:"
  24. prop="categoryId">
  25. <el-input v-model="form.categoryName" disabled></el-input>
  26. </el-form-item>
  27. </el-col>
  28. <el-col :span="8">
  29. <el-form-item label="名称:" prop="name">
  30. <el-input v-model="form.name" disabled></el-input>
  31. </el-form-item>
  32. </el-col>
  33. <el-col :span="8">
  34. <el-form-item label="生产厂家代号:" prop="serialNo">
  35. <el-input v-model="form.serialNo" disabled></el-input>
  36. </el-form-item>
  37. </el-col>
  38. </el-row>
  39. <el-row>
  40. <el-col :span="8">
  41. <el-form-item label="生产厂家简称:" prop="simpleName">
  42. <el-input v-model="form.simpleName" disabled></el-input>
  43. </el-form-item>
  44. </el-col>
  45. <el-col :span="8">
  46. <el-form-item label="法定代表人:" prop="legalPerson">
  47. <el-input v-model="form.legalPerson" disabled></el-input>
  48. </el-form-item>
  49. </el-col>
  50. <el-col :span="8">
  51. <el-form-item label="注册资金:" prop="registeredCapital">
  52. <el-input v-model="form.registeredCapital" disabled></el-input>
  53. </el-form-item>
  54. </el-col>
  55. </el-row>
  56. <el-row>
  57. <el-col :span="8">
  58. <el-form-item label="授信额度:" prop="authorizationLimit">
  59. <el-input v-model="form.authorizationLimit" disabled></el-input>
  60. </el-form-item>
  61. </el-col>
  62. <el-col :span="8">
  63. <el-form-item label="单位电话:" prop="phone">
  64. <el-input v-model="form.phone" disabled></el-input>
  65. </el-form-item>
  66. </el-col>
  67. <el-col :span="8">
  68. <el-form-item label="地址:" prop="addressId">
  69. <el-input v-model="form.addressName" disabled></el-input>
  70. </el-form-item>
  71. </el-col>
  72. </el-row>
  73. <el-row>
  74. <el-col :span="8">
  75. <el-form-item label="详细地址:" prop="address">
  76. <el-input v-model="form.address" disabled></el-input>
  77. </el-form-item>
  78. </el-col>
  79. <el-col :span="8">
  80. <el-form-item
  81. label="统一社会信用代码:"
  82. prop="unifiedSocialCreditCode"
  83. class="form_item_label"
  84. >
  85. <el-input v-model="form.unifiedSocialCreditCode" disabled></el-input>
  86. </el-form-item>
  87. </el-col>
  88. <el-col :span="8">
  89. <el-form-item label="所属行业:" prop="industry">
  90. <el-input v-model="form.industryFullName" disabled></el-input>
  91. </el-form-item>
  92. </el-col>
  93. </el-row>
  94. <el-row>
  95. <el-col :span="8">
  96. <el-form-item label="营业类型:" prop="companyCategoryId">
  97. <el-input v-model="form.companyCategoryName" disabled></el-input>
  98. </el-form-item>
  99. </el-col>
  100. <el-col :span="8">
  101. <el-form-item label="登记日期:" prop="registerDate">
  102. <el-input v-model="form.registerDate" disabled></el-input>
  103. </el-form-item>
  104. </el-col>
  105. <el-col :span="8">
  106. <el-form-item label="经营范围:" prop="businessScope">
  107. <el-input v-model="form.businessScope" disabled></el-input>
  108. </el-form-item>
  109. </el-col>
  110. </el-row>
  111. <el-row>
  112. <el-col :span="8">
  113. <el-form-item label="主营产品:" prop="mainProduct">
  114. <el-input v-model="form.mainProduct" disabled></el-input>
  115. </el-form-item>
  116. </el-col>
  117. <el-col :span="8">
  118. <el-form-item
  119. label="是否存在上级集团公司:"
  120. prop="hasParentGroup"
  121. class="form_item_label">
  122. <el-input :value=" form.hasParentGroup === 1 ? '是' : '否'" disabled></el-input>
  123. </el-form-item>
  124. </el-col>
  125. <el-col :span="8">
  126. <el-form-item label="级别:" >
  127. <DictSelection dictName="生产厂家级别" disabled clearable v-model="form.level">
  128. </DictSelection>
  129. </el-form-item>
  130. </el-col>
  131. </el-row>
  132. <el-row>
  133. <el-col :span="16">
  134. <el-form-item label="备注:" prop="remark">
  135. <el-input v-model="form.remark" disabled type="textarea"></el-input>
  136. </el-form-item>
  137. </el-col>
  138. <el-col :span="8">
  139. <el-form-item prop="businessLicenseFile" label="营业执照附件:">
  140. <fileMain v-model="form.businessLicenseFiles" type="view"></fileMain>
  141. <!-- <el-link v-if="form.businessLicenseFile && form.businessLicenseFile !== ''"-->
  142. <!-- type="primary" :underline="false"-->
  143. <!-- @click="downloadFile(form.businessLicenseFile)"> {{ form.businessLicenseFile.name }}-->
  144. <!-- </el-link>-->
  145. </el-form-item>
  146. </el-col>
  147. </el-row>
  148. </el-form>
  149. <headerTitle title="银行信息" style="margin-top: 30px"></headerTitle>
  150. <ele-pro-table
  151. ref="table"
  152. :columns="bankColumns"
  153. :datasource="tableBankData"
  154. height="350px"
  155. :toolkit="[]"
  156. :need-page="false"
  157. >
  158. <template v-slot:accountNameHeader="{ column }">
  159. <span>{{ column.label }}</span><span style="color:red">*</span>
  160. </template>
  161. <template v-slot:accountName="{ row }">
  162. {{ row.accountName }}
  163. </template>
  164. <template v-slot:accountNo="{ row }">
  165. {{ row.accountNo }}
  166. </template>
  167. <template v-slot:bankName="{ row }">
  168. {{ row.bankName }}
  169. </template>
  170. <template v-slot:interbankNo="{ row }">
  171. {{ row.interbankNo }}
  172. </template>
  173. </ele-pro-table>
  174. <headerTitle title="联系人信息" style="margin-top: 30px"></headerTitle>
  175. <ele-pro-table
  176. ref="linkTable"
  177. :columns="linkColumns"
  178. :datasource="tableLinkData"
  179. :toolkit="[]"
  180. height="350px"
  181. :need-page="false"
  182. >
  183. <template v-slot:linkNameHeader="{ column }">
  184. <span>{{ column.label }}</span><span style="color:red">*</span>
  185. </template>
  186. <template v-slot:mobilePhoneHeader="{ column }">
  187. <span>{{ column.label }}</span><span style="color:red">*</span>
  188. </template>
  189. <template v-slot:statusHeader="{ column }">
  190. <span>{{ column.label }}</span><span style="color:red">*</span>
  191. </template>
  192. <template v-slot:linkName="{ row }">
  193. {{ row.linkName }}
  194. </template>
  195. <template v-slot:mobilePhone="{ row }">
  196. {{ row.mobilePhone }}
  197. </template>
  198. <template v-slot:phone="{ row }">
  199. {{ row.phone }}
  200. </template>
  201. <template v-slot:email="{ row }">
  202. {{ row.email }}
  203. </template>
  204. <template v-slot:post="{ row }">
  205. {{ row.post }}
  206. </template>
  207. <template v-slot:ifChief="{ row, $index }">
  208. <el-select v-model="row.ifChief" class="w100" disabled>
  209. <el-option
  210. v-for="item in ifChiefList"
  211. :key="item.value"
  212. :label="item.label"
  213. :value="item.value"
  214. ></el-option>
  215. </el-select>
  216. </template>
  217. <template v-slot:status="{ row }">
  218. <DictSelection
  219. dictName="联系人状态"
  220. v-model="row.status"
  221. :disabled="true"
  222. ></DictSelection>
  223. </template>
  224. <template v-slot:remark="{ row }">
  225. {{ row.remark }}
  226. </template>
  227. </ele-pro-table>
  228. <headerTitle title="其他信息" style="margin-top: 30px"></headerTitle>
  229. <el-form
  230. label-width="130px"
  231. ref="otherFormRef"
  232. :model="otherForm"
  233. style="margin-top: 30px"
  234. >
  235. <el-row>
  236. <el-col :span="8">
  237. <el-form-item label="结算方式:" prop="settlementMode">
  238. <el-input v-model="otherForm.settlementModeName" disabled></el-input>
  239. </el-form-item>
  240. </el-col>
  241. <el-col :span="8">
  242. <el-form-item label="税率:" prop="taxRate">
  243. <el-input v-model="otherForm.taxRate" disabled>
  244. <template v-slot:append>%</template>
  245. </el-input>
  246. </el-form-item>
  247. </el-col>
  248. <el-col :span="8">
  249. <el-form-item label="折扣率:" prop="discount">
  250. <el-input v-model="otherForm.discount" disabled>
  251. <template v-slot:append>%</template>
  252. </el-input>
  253. </el-form-item>
  254. </el-col>
  255. <!-- <el-col :span="8">
  256. <el-form-item
  257. label="分管部门:"
  258. prop="deptId"
  259. style="margin-bottom: 22px"
  260. >
  261. {{otherForm.deptName}}
  262. </el-form-item>
  263. </el-col>
  264. <el-col :span="8">
  265. <el-form-item label="业务员:" prop="salesmanId">
  266. {{otherForm.salesmanName}}
  267. </el-form-item>
  268. </el-col> -->
  269. <el-col :span="8">
  270. <el-form-item label="寄件人:" prop="sender">
  271. <el-input v-model="otherForm.sender" disabled></el-input>
  272. </el-form-item>
  273. </el-col>
  274. <el-col :span="8">
  275. <el-form-item label="寄件人电话:" prop="senderPhone">
  276. <el-input v-model="otherForm.senderPhone" disabled></el-input>
  277. </el-form-item>
  278. </el-col>
  279. <el-col :span="8">
  280. <el-form-item label="寄件人地址:" prop="addressId">
  281. <el-input v-model="otherForm.addressName" disabled></el-input>
  282. </el-form-item>
  283. </el-col>
  284. <el-col :span="8">
  285. <el-form-item label="寄件人详细地址:" prop="address">
  286. <el-input v-model="otherForm.address" disabled></el-input>
  287. </el-form-item>
  288. </el-col>
  289. </el-row>
  290. </el-form>
  291. </el-tab-pane>
  292. <!-- <el-tab-pane label="银行信息" name="bank">-->
  293. <!-- -->
  294. <!-- </el-tab-pane>-->
  295. <!-- <el-tab-pane label="联系人信息" name="link">-->
  296. <!-- -->
  297. <!-- </el-tab-pane>-->
  298. <!-- <el-tab-pane label="其他信息" name="other">-->
  299. <!-- </el-tab-pane>-->
  300. <el-tab-pane label="生产列表" name="supply">
  301. <headerTitle title="生产列表" style="margin-top: 30px"></headerTitle>
  302. <ele-pro-table ref="supplyRef" :columns="supplyColumns" :need-page="false"
  303. :datasource="supplyList"
  304. :toolkit="[]" height="350px">
  305. </ele-pro-table>
  306. </el-tab-pane>
  307. <el-tab-pane label="证书资质" name="certificate">
  308. <headerTitle title="证书资质" style="margin-top: 30px"></headerTitle>
  309. <ele-pro-table ref="certificateTable" :columns="certificateColumns" :needPage="false" :datasource="tableCertificateData"
  310. :toolkit="[]" height="350px">
  311. <!-- 操作栏 -->
  312. <template v-slot:action="scope">
  313. <el-link
  314. v-if="[1,2].includes(scope.row.approvalStatus)"
  315. type="primary"
  316. :underline="false"
  317. icon="el-icon-edit"
  318. @click="addCertificate('view',scope.row)">
  319. 详情
  320. </el-link>
  321. </template>
  322. </ele-pro-table>
  323. </el-tab-pane>
  324. <el-tab-pane label="订单记录" name="order">
  325. <headerTitle title="订单记录" style="margin-top: 30px"></headerTitle>
  326. <div class="ele-border-lighter form-content">
  327. <!-- 数据表格 -->
  328. <ele-pro-table
  329. ref="table"
  330. :columns="orderColumns"
  331. :datasource="orderDatasource"
  332. height="calc(100vh - 520px)"
  333. style="margin-bottom: 10px"
  334. full-height="calc(100vh - 116px)"
  335. tool-class="ele-toolbar-form"
  336. cache-key="eomContactPageTable">
  337. <!-- 查看详情列 -->
  338. <!-- 查看详情列 -->
  339. <template v-slot:contractNo="{ row }">
  340. <el-link
  341. type="primary"
  342. :underline="false"
  343. @click="opencontractDetail(row)"
  344. >
  345. {{ row.contractNo }}
  346. </el-link
  347. >
  348. </template>
  349. <template v-slot:orderNo="{ row }">
  350. <el-link
  351. type="primary"
  352. :underline="false"
  353. @click="openorderDetail(row)"
  354. >
  355. {{ row.orderNo }}
  356. </el-link
  357. >
  358. </template>
  359. </ele-pro-table>
  360. </div>
  361. </el-tab-pane>
  362. <el-tab-pane label="收货记录" name="send">
  363. <headerTitle title="收货记录" style="margin-top: 30px"></headerTitle>
  364. <div class="ele-border-lighter form-content" >
  365. <!-- 数据表格 -->
  366. <ele-pro-table
  367. ref="table"
  368. :columns="sendColumns"
  369. :datasource="sendDatasource"
  370. height="calc(100vh - 520px)"
  371. style="margin-bottom: 10px"
  372. full-height="calc(100vh - 116px)"
  373. tool-class="ele-toolbar-form"
  374. cache-key="eomContactPageTable"
  375. >
  376. <!-- 查看详情列 -->
  377. <template v-slot:receiveNo="{ row }">
  378. <el-link
  379. type="primary"
  380. :underline="false"
  381. @click="openorderDetail(row, 'receiveNo')"
  382. >
  383. {{ row.receiveNo }}
  384. </el-link
  385. >
  386. </template>
  387. <template v-slot:orderNo="{ row }">
  388. <el-link
  389. type="primary"
  390. :underline="false"
  391. @click="openorderDetail(row, 'orderNo')"
  392. >
  393. {{ row.orderNo }}
  394. </el-link
  395. >
  396. </template>
  397. </ele-pro-table>
  398. </div>
  399. </el-tab-pane>
  400. <el-tab-pane label="退货记录" name="return">
  401. <headerTitle title="退货记录" style="margin-top: 30px"></headerTitle>
  402. <div class="ele-border-lighter form-content">
  403. <!-- 数据表格 -->
  404. <ele-pro-table
  405. ref="table"
  406. :columns="returnColumns"
  407. :datasource="returnDatasource"
  408. height="calc(100vh - 520px)"
  409. style="margin-bottom: 10px"
  410. full-height="calc(100vh - 116px)"
  411. tool-class="ele-toolbar-form"
  412. cache-key="eomContactPageTable">
  413. <!-- 查看详情列 -->
  414. <template v-slot:returnNo="{ row }">
  415. <el-link
  416. type="primary"
  417. :underline="false"
  418. @click="openorderDetail(row, 'returnNo')">
  419. {{ row.returnNo }}</el-link>
  420. </template>
  421. <template v-slot:receiveNo="{ row }">
  422. <el-link
  423. type="primary"
  424. :underline="false"
  425. @click="openorderDetail(row, 'sendNo')"
  426. >
  427. {{ row.receiveId }}</el-link
  428. >
  429. </template>
  430. <template v-slot:orderNo="{ row }">
  431. <el-link
  432. type="primary"
  433. :underline="false"
  434. @click="openorderDetail(row, 'orderNo')"
  435. >
  436. {{ row.orderNo }}</el-link
  437. >
  438. </template>
  439. </ele-pro-table>
  440. </div>
  441. </el-tab-pane>
  442. <el-tab-pane label="对账记录" name="reconciliation">
  443. <headerTitle title="对账记录" style="margin-top: 30px"></headerTitle>
  444. <div class="ele-border-lighter form-content">
  445. <!-- 数据表格 -->
  446. <ele-pro-table
  447. ref="table"
  448. :columns="reconciliationColumns"
  449. :datasource="reconciliationDatasource"
  450. height="calc(100vh - 520px)"
  451. style="margin-bottom: 10px"
  452. full-height="calc(100vh - 116px)"
  453. tool-class="ele-toolbar-form"
  454. cache-key="eomContactPageTable">
  455. <!-- 查看详情列 -->
  456. <template v-slot:statementNo="{ row }">
  457. <el-link type="primary" :underline="false" @click="openorderDetail(row,'statementNo')"> {{
  458. row.statementNo
  459. }}
  460. </el-link>
  461. </template>
  462. <template v-slot:orderNo="{ row }">
  463. <el-link type="primary" :underline="false" @click="openorderDetail(row,'orderNo')"> {{
  464. row.orderNo
  465. }}
  466. </el-link>
  467. </template>
  468. </ele-pro-table>
  469. </div>
  470. </el-tab-pane>
  471. <el-tab-pane label="开票记录" name="invoice">
  472. <headerTitle title="开票记录" style="margin-top: 30px"></headerTitle>
  473. <el-card shadow="never" >
  474. <!-- 数据表格 -->
  475. <ele-pro-table
  476. ref="table"
  477. :columns="invoiceColumns"
  478. :datasource="invoiceDatasource"
  479. height="calc(100vh - 520px)"
  480. tool-class="ele-toolbar-form"
  481. cache-key="eomContactPageTable"
  482. >
  483. <!-- 收款信息 -->
  484. <template v-slot:code="{row}">
  485. <el-link
  486. type="primary"
  487. :underline="false"
  488. @click="handleDetail(row,'view')">
  489. {{ row.code }}
  490. </el-link>
  491. </template>
  492. <!-- 开票信息 -->
  493. <template v-slot:invoiceCode="{row}">
  494. <el-link
  495. type="primary"
  496. :underline="false"
  497. @click="handleInvoiceDetail(row,'view')">
  498. {{ row.invoiceCode }}
  499. </el-link>
  500. </template>
  501. </ele-pro-table>
  502. </el-card>
  503. </el-tab-pane>
  504. </el-tabs>
  505. <div slot="footer" class="footer">
  506. <el-button @click="cancel">返回</el-button>
  507. </div>
  508. <!-- 资质证书弹窗 -->
  509. <certificate-qualifications-dialog
  510. :certificate-qualifications-dialog-flag.sync="certificateQualificationsDialogFlag"
  511. v-if="certificateQualificationsDialogFlag"
  512. ref="certificateQualificationsDialogRef"
  513. :contactId="form.id"
  514. @reload="reload">
  515. </certificate-qualifications-dialog>
  516. </ele-modal>
  517. </template>
  518. <script>
  519. import {contactDetail, contactQcPackPageAPI} from '@/api/saleManage/contact';
  520. import {getFile} from '@/api/system/file';
  521. import {getInfoByIds as getCategoryInfo} from '@/api/classifyManage/index';
  522. import fileUpload from '@/components/upload/fileUpload';
  523. import dictMixins from '@/mixins/dictMixins';
  524. import deptSelect from '@/components/CommomSelect/dept-select.vue';
  525. import personSelect from '@/components/CommomSelect/person-select.vue';
  526. import {copyObj} from '@/utils/util';
  527. import {reviewStatus, reviewStatusEnum} from "@/enum/dict";
  528. import certificateQualificationsDialog
  529. from "@/views/purchasingManage/supplierManage/components/certificateQualificationsDialog.vue";
  530. import {getTableList} from '@/api/purchasingManage/purchaseOrder';
  531. import {getReceiveTableList} from "@/api/purchasingManage/purchaseorderreceive";
  532. import {getReturnTableList} from "@/api/purchasingManage/returnGoods";
  533. import {getAccountstatementList} from "@/api/saleManage/accountstatement";
  534. import {finPayablePageListAPI} from "@/api/financialManage/payableManage";
  535. import fileMain from "@/components/addDoc/index.vue";
  536. export default {
  537. props: {
  538. categoryTreeList: Array
  539. },
  540. mixins: [dictMixins],
  541. components: {
  542. fileMain,
  543. certificateQualificationsDialog,
  544. fileUpload,
  545. deptSelect,
  546. personSelect
  547. },
  548. data() {
  549. let formDef = {
  550. address: '',
  551. addressId: 0,
  552. addressName: '',
  553. authorizationLimit: 0,
  554. businessLicenseFile: {},
  555. businessScope: '',
  556. categoryId: '',
  557. categoryName: '',
  558. companyCategoryId: '',
  559. companyCategoryName: '',
  560. hasParentGroup: 0,
  561. industry: '',
  562. industryCode: '',
  563. industryFullName: '',
  564. mainProduct: '',
  565. name: '',
  566. officialIndustry: '',
  567. phone: '',
  568. registerDate: '',
  569. legalPerson: '',
  570. registeredCapital: '',
  571. remark: '',
  572. serialNo: '',
  573. simpleName: '',
  574. type: 1,
  575. unifiedSocialCreditCode: ''
  576. };
  577. let otherFormDef = {
  578. settlementMode: '',
  579. settlementModeName: '',
  580. taxRate: 0,
  581. address: '',
  582. addressId: '',
  583. deptId: '',
  584. deptName: '',
  585. discount: 0,
  586. salesmanId: '',
  587. salesmanName: '',
  588. sender: '',
  589. senderPhone: ''
  590. };
  591. return {
  592. visible: false,
  593. certificateQualificationsDialogFlag: false,
  594. title: '生产厂家详情',
  595. row: {},
  596. activeName: 'base',
  597. formDef,
  598. otherFormDef,
  599. form: copyObj(formDef),
  600. otherForm: copyObj(otherFormDef),
  601. tableBankData: [],
  602. tableLinkData: [],
  603. supplyList: [],
  604. ifChiefList: [
  605. {
  606. value: 0,
  607. label: '否'
  608. },
  609. {
  610. value: 1,
  611. label: '是'
  612. }
  613. ],
  614. bankColumns: [
  615. {
  616. type: 'index',
  617. width: 55,
  618. align: 'center'
  619. },
  620. {
  621. label: '单位名称',
  622. prop: 'accountName',
  623. slot: 'accountName',
  624. action: 'accountName',
  625. headerSlot: 'accountNameHeader',
  626. align: 'center'
  627. },
  628. {
  629. label: '银行账号',
  630. prop: 'accountNo',
  631. slot: 'accountNo',
  632. action: 'accountNo',
  633. align: 'center'
  634. },
  635. {
  636. label: '开户行',
  637. prop: 'bankName',
  638. slot: 'bankName',
  639. action: 'bankName',
  640. align: 'center'
  641. },
  642. {
  643. label: '银行银联号',
  644. prop: 'interbankNo',
  645. slot: 'interbankNo',
  646. action: 'interbankNo',
  647. align: 'center'
  648. },
  649. ],
  650. linkColumns: [
  651. {
  652. type: 'index',
  653. width: 55,
  654. align: 'center'
  655. },
  656. {
  657. label: '姓名',
  658. prop: 'linkName',
  659. slot: 'linkName',
  660. action: 'linkName',
  661. headerSlot: 'linkNameHeader',
  662. align: 'center'
  663. },
  664. {
  665. label: '手机',
  666. prop: 'mobilePhone',
  667. slot: 'mobilePhone',
  668. action: 'mobilePhone',
  669. headerSlot: 'mobilePhoneHeader',
  670. align: 'center'
  671. },
  672. {
  673. label: '电话',
  674. prop: 'phone',
  675. slot: 'phone',
  676. action: 'phone',
  677. align: 'center'
  678. },
  679. {
  680. label: '微信号',
  681. prop: 'wechat',
  682. slot: 'wechat',
  683. action: 'wechat',
  684. align: 'center'
  685. },
  686. {
  687. label: '邮箱',
  688. prop: 'email',
  689. slot: 'email',
  690. action: 'email',
  691. align: 'center'
  692. },
  693. {
  694. label: '职务',
  695. prop: 'post',
  696. slot: 'post',
  697. action: 'post',
  698. align: 'center'
  699. },
  700. {
  701. label: '状态',
  702. prop: 'status',
  703. slot: 'status',
  704. action: 'status',
  705. headerSlot: 'statusHeader',
  706. align: 'center'
  707. },
  708. {
  709. label: '是否首要',
  710. prop: 'ifChief',
  711. slot: 'ifChief',
  712. action: 'ifChief',
  713. align: 'center'
  714. },
  715. {
  716. label: '备注',
  717. prop: 'remark',
  718. slot: 'remark',
  719. action: 'remark',
  720. align: 'center'
  721. },
  722. ],
  723. certificateColumns: [
  724. {
  725. type: 'index',
  726. width: 55,
  727. align: 'center'
  728. },
  729. {
  730. label: '编码',
  731. prop: 'code',
  732. slot: 'code',
  733. align: "center",
  734. minWidth: 120
  735. },
  736. {
  737. label: '名称',
  738. prop: 'name',
  739. slot: 'name',
  740. align: "center",
  741. minWidth: 120
  742. },
  743. {
  744. label: '创建人',
  745. prop: 'createUserName',
  746. slot: 'createUserName',
  747. align: "center",
  748. width: 120
  749. },
  750. {
  751. label: '创建时间',
  752. prop: 'createTime',
  753. slot: 'createTime',
  754. align: "center",
  755. minWidth: 120
  756. },
  757. {
  758. label: '状态',
  759. prop: 'approvalStatus',
  760. slot: 'approvalStatus',
  761. align: "center",
  762. width: 120,
  763. formatter: (_row, _column, cellValue) => {
  764. return reviewStatus[_row.approvalStatus];
  765. }
  766. },
  767. {
  768. label: '备注',
  769. prop: 'remark',
  770. slot: 'remark',
  771. align: "center",
  772. minWidth: 120
  773. },
  774. {
  775. action: 'action',
  776. slot: 'action',
  777. label: '操作',
  778. align: "center",
  779. }
  780. ],
  781. orderColumns: [
  782. {
  783. columnKey: 'index',
  784. label: '序号',
  785. type: 'index',
  786. width: 55,
  787. align: 'center',
  788. showOverflowTooltip: true,
  789. },
  790. {
  791. prop: 'orderNo',
  792. label: '订单编码',
  793. sortable: true,
  794. align: 'center',
  795. slot: 'orderNo',
  796. showOverflowTooltip: true,
  797. minWidth: 200
  798. },
  799. {
  800. prop: 'contractNo',
  801. label: '合同编码',
  802. sortable: true,
  803. align: 'center',
  804. slot: 'contractNo',
  805. showOverflowTooltip: true,
  806. minWidth: 250
  807. },
  808. // {
  809. // prop: 'deliveryDate',
  810. // label: '交货日期',
  811. // align: 'center',
  812. // showOverflowTooltip: true,
  813. // minWidth: 200
  814. // },
  815. // {
  816. // prop: 'purchaseTypeName',
  817. // label: '采购订单类型',
  818. // align: 'center',
  819. // showOverflowTooltip: true,
  820. // minWidth: 140
  821. // },
  822. {
  823. prop: 'partaName',
  824. label: '采购方名称',
  825. align: 'center',
  826. showOverflowTooltip: true,
  827. minWidth: 200
  828. },
  829. {
  830. prop: 'partaLinkName',
  831. label: '采购方联系人',
  832. align: 'center',
  833. showOverflowTooltip: true,
  834. minWidth: 130
  835. },
  836. {
  837. prop: 'partaTel',
  838. label: '采购方联系电话',
  839. align: 'center',
  840. showOverflowTooltip: true,
  841. minWidth: 130
  842. },
  843. // {
  844. // prop: 'partbName',
  845. // label: '名称',
  846. // align: 'center',
  847. // showOverflowTooltip: true,
  848. // minWidth: 250
  849. // },
  850. {
  851. prop: 'partbLinkName',
  852. label: '生产厂家联系人',
  853. align: 'center',
  854. showOverflowTooltip: true,
  855. minWidth: 120
  856. },
  857. {
  858. prop: 'partbTel',
  859. label: '生产厂家联系电话',
  860. align: 'center',
  861. showOverflowTooltip: true,
  862. minWidth: 130
  863. },
  864. {
  865. prop: 'payAmount',
  866. label: '应付金额(元)',
  867. align: 'center',
  868. showOverflowTooltip: true,
  869. minWidth: 140
  870. },
  871. {
  872. prop: 'createTime',
  873. label: '创建时间',
  874. align: 'center',
  875. showOverflowTooltip: true,
  876. minWidth: 170
  877. },
  878. {
  879. prop: 'orderStatus',
  880. label: '审核状态',
  881. align: 'center',
  882. showOverflowTooltip: true,
  883. minWidth: 100,
  884. formatter: (_row, _column, cellValue) => {
  885. return reviewStatus[_row.orderStatus];
  886. }
  887. }
  888. ],
  889. sendColumns: [
  890. {
  891. columnKey: 'index',
  892. label: '序号',
  893. type: 'index',
  894. width: 55,
  895. align: 'center',
  896. showOverflowTooltip: true
  897. },
  898. {
  899. prop: 'receiveNo',
  900. label: '收货单编码',
  901. sortable: true,
  902. align: 'center',
  903. slot: 'receiveNo',
  904. showOverflowTooltip: true,
  905. minWidth: 180
  906. },
  907. {
  908. prop: 'orderNo',
  909. label: '采购订单编码',
  910. sortable: true,
  911. align: 'center',
  912. slot: 'orderNo',
  913. showOverflowTooltip: true,
  914. minWidth: 180
  915. },
  916. {
  917. prop: 'supplierName',
  918. label: '名称',
  919. align: 'center',
  920. showOverflowTooltip: true,
  921. minWidth: 300
  922. },
  923. {
  924. prop: 'sendNoteNo',
  925. label: '送货单号',
  926. align: 'center',
  927. showOverflowTooltip: true,
  928. minWidth: 200
  929. },
  930. // {
  931. // prop: 'replied',
  932. // label: '是否回执',
  933. // align: 'center',
  934. // showOverflowTooltip: true,
  935. // minWidth: 200,
  936. // formatter: (_row, _column, cellValue) => {
  937. // return _row.replied==1?'是':'否';
  938. // }
  939. // },
  940. {
  941. prop: 'reviewStatus',
  942. label: '状态',
  943. align: 'center',
  944. showOverflowTooltip: true,
  945. minWidth: 200,
  946. formatter: (_row, _column, cellValue) => {
  947. return reviewStatusEnum[_row.reviewStatus].label;
  948. }
  949. },
  950. {
  951. prop: 'createTime',
  952. label: '创建时间',
  953. align: 'center',
  954. showOverflowTooltip: true,
  955. minWidth: 170
  956. }
  957. ],
  958. returnColumns: [
  959. {
  960. columnKey: 'index',
  961. label: '序号',
  962. type: 'index',
  963. width: 55,
  964. align: 'center',
  965. showOverflowTooltip: true,
  966. },
  967. {
  968. prop: 'returnNo',
  969. label: '退货单编码',
  970. sortable: true,
  971. align: 'center',
  972. slot: 'returnNo',
  973. showOverflowTooltip: true,
  974. minWidth: 200
  975. },
  976. {
  977. prop: 'receiveNo',
  978. label: '收货单编码',
  979. sortable: true,
  980. align: 'center',
  981. slot: 'receiveNo',
  982. showOverflowTooltip: true,
  983. minWidth: 200
  984. },
  985. {
  986. prop: 'orderNo',
  987. label: '采购订单编码',
  988. sortable: true,
  989. align: 'center',
  990. slot: 'orderNo',
  991. showOverflowTooltip: true,
  992. minWidth: 200
  993. },
  994. {
  995. prop: 'supplierName',
  996. label: '名称',
  997. align: 'center',
  998. showOverflowTooltip: true,
  999. minWidth: 180
  1000. },
  1001. {
  1002. prop: 'returnSourceType',
  1003. label: '退货类型',
  1004. align: 'center',
  1005. showOverflowTooltip: true,
  1006. minWidth: 200,
  1007. formatter: (_row, _column, cellValue) => {
  1008. return _row.returnSourceType == 2? '委外发货退货':'采购收货退货'
  1009. }
  1010. },
  1011. // {
  1012. // prop: 'payAmount',
  1013. // label: '应付金额',
  1014. // align: 'center',
  1015. // slot: 'payAmount',
  1016. // showOverflowTooltip: true,
  1017. // minWidth: 200
  1018. // },
  1019. {
  1020. prop: 'reviewStatus',
  1021. label: '状态',
  1022. align: 'center',
  1023. showOverflowTooltip: true,
  1024. minWidth: 200,
  1025. formatter: (_row, _column, cellValue) => {
  1026. return reviewStatusEnum[_row.reviewStatus].label;
  1027. }
  1028. },
  1029. {
  1030. prop: 'createTime',
  1031. label: '创建时间',
  1032. align: 'center',
  1033. showOverflowTooltip: true,
  1034. minWidth: 170
  1035. }
  1036. ],
  1037. reconciliationColumns: [
  1038. {
  1039. columnKey: 'index',
  1040. label: '序号',
  1041. type: 'index',
  1042. width: 55,
  1043. align: 'center',
  1044. showOverflowTooltip: true
  1045. },
  1046. {
  1047. prop: 'statementNo',
  1048. label: '对账单编码',
  1049. sortable: true,
  1050. align: 'center',
  1051. slot: 'statementNo',
  1052. showOverflowTooltip: true,
  1053. minWidth: 200
  1054. },
  1055. {
  1056. prop: 'contactName',
  1057. label: '名称',
  1058. align: 'center',
  1059. showOverflowTooltip: true,
  1060. minWidth: 180,
  1061. },
  1062. // {
  1063. // prop: 'projectName',
  1064. // label: '项目名称',
  1065. // align: 'center',
  1066. // showOverflowTooltip: true,
  1067. // minWidth: 200,
  1068. // },
  1069. {
  1070. prop: 'startDate',
  1071. label: '对账开始日期',
  1072. align: 'center',
  1073. slot: 'startDate',
  1074. showOverflowTooltip: true,
  1075. minWidth: 200
  1076. },
  1077. {
  1078. prop: 'endDate',
  1079. label: '对账结束日期',
  1080. align: 'center',
  1081. slot: 'endDate',
  1082. showOverflowTooltip: true,
  1083. minWidth: 200
  1084. },
  1085. {
  1086. prop: 'amountTotalPrice',
  1087. label: '总金额',
  1088. align: 'center',
  1089. showOverflowTooltip: true,
  1090. minWidth: 130
  1091. },
  1092. {
  1093. prop: 'amountReceivablePrice',
  1094. label: '应收金额',
  1095. align: 'center',
  1096. showOverflowTooltip: true,
  1097. minWidth: 130
  1098. },
  1099. {
  1100. prop: 'amountPayablePrice',
  1101. label: '应付金额',
  1102. align: 'center',
  1103. showOverflowTooltip: true,
  1104. minWidth: 130
  1105. },
  1106. {
  1107. prop: 'reviewStatus',
  1108. label: '状态',
  1109. align: 'center',
  1110. showOverflowTooltip: true,
  1111. minWidth: 200,
  1112. formatter: (_row, _column, cellValue) => {
  1113. return reviewStatusEnum[_row.reviewStatus].label;
  1114. }
  1115. },
  1116. {
  1117. prop: 'replied',
  1118. label: '是否回执',
  1119. align: 'center',
  1120. slot: 'replied',
  1121. showOverflowTooltip: true,
  1122. minWidth: 200,
  1123. formatter: (_row, _column, cellValue) => {
  1124. return _row.replied ? '是' : '否';
  1125. }
  1126. },
  1127. {
  1128. prop: 'createTime',
  1129. label: '创建时间',
  1130. align: 'center',
  1131. showOverflowTooltip: true,
  1132. minWidth: 170
  1133. },
  1134. ],
  1135. invoiceColumns: [
  1136. {
  1137. width: 60,
  1138. label: '序号',
  1139. type: 'index',
  1140. columnKey: 'index',
  1141. align: 'center',
  1142. },
  1143. {
  1144. minWidth: 130,
  1145. prop: 'code',
  1146. label: '应付编码',
  1147. sortable: true,
  1148. align: 'center',
  1149. slot: 'code',
  1150. showOverflowTooltip: true
  1151. },
  1152. {
  1153. minWidth: 120,
  1154. prop: 'invoiceCode',
  1155. label: '发票编码',
  1156. sortable: true,
  1157. slot: 'invoiceCode',
  1158. align: 'center',
  1159. showOverflowTooltip: true
  1160. },
  1161. {
  1162. minWidth: 130,
  1163. prop: 'contactName',
  1164. label: '单位名称',
  1165. align: 'center',
  1166. slot: 'contactName',
  1167. showOverflowTooltip: true
  1168. },
  1169. {
  1170. minWidth: 140,
  1171. prop: 'payableDate',
  1172. label: '应付日期',
  1173. slot: 'payableDate',
  1174. align: 'center',
  1175. showOverflowTooltip: true
  1176. },
  1177. {
  1178. minWidth: 100,
  1179. prop: 'payableTotalPrice',
  1180. label: '应付金额',
  1181. align: 'center',
  1182. slot: 'payableTotalPrice',
  1183. showOverflowTooltip: true
  1184. },
  1185. {
  1186. minWidth: 100,
  1187. prop: 'paidTotalPrice',
  1188. label: '已付金额',
  1189. align: 'center',
  1190. slot: 'paidTotalPrice',
  1191. showOverflowTooltip: true
  1192. },
  1193. {
  1194. minWidth: 100,
  1195. prop: 'unpaidTotalPrice',
  1196. label: '未付金额',
  1197. align: 'center',
  1198. slot: 'unpaidTotalPrice',
  1199. showOverflowTooltip: true
  1200. },
  1201. {
  1202. minWidth: 100,
  1203. prop: 'sourceCode',
  1204. label: '来源编码',
  1205. align: 'center',
  1206. slot: 'sourceCode',
  1207. showOverflowTooltip: true
  1208. },
  1209. {
  1210. minWidth: 100,
  1211. prop: 'accountingSubjectName',
  1212. label: '会计科目',
  1213. align: 'center',
  1214. slot: 'accountingSubjectName',
  1215. showOverflowTooltip: true
  1216. },
  1217. {
  1218. minWidth: 100,
  1219. prop: 'status',
  1220. label: '收款状态',
  1221. align: 'center',
  1222. slot: 'status',
  1223. showOverflowTooltip: true,
  1224. formatter: (_row, _column, cellValue) => {
  1225. return this.statusList.find(item => item.value === cellValue).label
  1226. }
  1227. },
  1228. {
  1229. minWidth: 100,
  1230. prop: 'approvalStatus',
  1231. label: '审核状态',
  1232. align: 'center',
  1233. slot: 'approvalStatus',
  1234. formatter: (_row, _column, cellValue) => {
  1235. return reviewStatus[_row.approvalStatus];
  1236. }
  1237. }
  1238. ],
  1239. supplyColumns: [
  1240. {
  1241. columnKey: 'index',
  1242. type: 'index',
  1243. width: 50,
  1244. align: 'center',
  1245. showOverflowTooltip: true,
  1246. label: '序号'
  1247. },
  1248. {
  1249. prop: 'productCode',
  1250. label: '编码',
  1251. align: 'center',
  1252. showOverflowTooltip: true,
  1253. minWidth: 110
  1254. },
  1255. {
  1256. prop: 'productName',
  1257. label: '名称',
  1258. align: 'center',
  1259. showOverflowTooltip: true,
  1260. minWidth: 110
  1261. },
  1262. {
  1263. prop: 'imgCode',
  1264. align: 'center',
  1265. label: '图号/件号',
  1266. showOverflowTooltip: true,
  1267. minWidth: 110
  1268. },
  1269. {
  1270. prop: 'produceType',
  1271. align: 'center',
  1272. label: '生产类型',
  1273. showOverflowTooltip: true,
  1274. minWidth: 110
  1275. },
  1276. {
  1277. prop: 'approvalNumber',
  1278. align: 'center',
  1279. label: '批准文号',
  1280. showOverflowTooltip: true,
  1281. minWidth: 110
  1282. },
  1283. {
  1284. prop: 'packingSpecification',
  1285. align: 'center',
  1286. label: '包装规格',
  1287. showOverflowTooltip: true,
  1288. minWidth: 110
  1289. },
  1290. {
  1291. prop: 'brandNum',
  1292. align: 'center',
  1293. label: '牌号',
  1294. showOverflowTooltip: true
  1295. },
  1296. {
  1297. prop: 'modelType',
  1298. label: '型号',
  1299. align: 'center',
  1300. showOverflowTooltip: true
  1301. },
  1302. {
  1303. prop: 'specification',
  1304. label: '规格',
  1305. align: 'center',
  1306. showOverflowTooltip: true
  1307. },
  1308. {
  1309. prop: 'measuringUnit',
  1310. label: '计量单位',
  1311. showOverflowTooltip: true,
  1312. align: 'center',
  1313. minWidth: 90
  1314. },
  1315. // {
  1316. // prop: 'weightUnit',
  1317. // label: '重量单位',
  1318. // showOverflowTooltip: true,
  1319. // align: 'center',
  1320. // minWidth: 90
  1321. // },
  1322. //
  1323. // {
  1324. // prop: 'roughWeight',
  1325. // label: '毛重',
  1326. // showOverflowTooltip: true,
  1327. // align: 'center',
  1328. // minWidth: 90
  1329. // },
  1330. //
  1331. // {
  1332. // prop: 'netWeight',
  1333. // label: '净重',
  1334. // showOverflowTooltip: true,
  1335. // align: 'center',
  1336. // minWidth: 90
  1337. // },
  1338. //
  1339. // {
  1340. // prop: 'packingUnit',
  1341. // align: 'center',
  1342. // label: '包装单位',
  1343. // showOverflowTooltip: true
  1344. // },
  1345. // {
  1346. // prop: 'categoryLevelPath',
  1347. // label: '分类',
  1348. // align: 'center',
  1349. // showOverflowTooltip: true
  1350. // }
  1351. ],
  1352. };
  1353. },
  1354. methods: {
  1355. async open(row) {
  1356. this.row = row;
  1357. this.visible = true;
  1358. await this._getById(row.id);
  1359. },
  1360. cancel() {
  1361. this.$nextTick(() => {
  1362. // 关闭后,销毁所有的表单数据
  1363. this.form = copyObj(this.formDef),
  1364. this.otherForm = copyObj(this.otherFormDef),
  1365. this.tableBankData = []
  1366. this.tableLinkData = []
  1367. this.visible = false;
  1368. })
  1369. },
  1370. handleActive(val) {
  1371. if (val.name == 'certificate') {
  1372. this.reload()
  1373. }
  1374. },
  1375. //新增/查看/修改资质
  1376. addCertificate(type, row) {
  1377. this.certificateQualificationsDialogFlag = true
  1378. this.$nextTick(() => {
  1379. this.$refs.certificateQualificationsDialogRef.init(type, row)
  1380. })
  1381. },
  1382. /* 证书资质表格数据源 */
  1383. tableCertificateData({page, limit, where}) {
  1384. if (!this.form.id) return []
  1385. return contactQcPackPageAPI({
  1386. pageNum: page,
  1387. size: limit,
  1388. ...where,
  1389. contactId: this.form.id
  1390. });
  1391. },
  1392. /* 订单表格表格数据源 */
  1393. orderDatasource({page, limit, where, order}) {
  1394. return getTableList({
  1395. pageNum: page,
  1396. size: limit,
  1397. ...where,
  1398. partbName:this.row.name
  1399. });
  1400. },
  1401. /* 收货单表格数据源 */
  1402. sendDatasource({page, limit, where, order}) {
  1403. return getReceiveTableList({
  1404. pageNum: page,
  1405. size: limit,
  1406. ...where,
  1407. supplierName: this.row.name
  1408. });
  1409. },
  1410. /* 退货表格数据源 */
  1411. returnDatasource({ page, limit, where, order }) {
  1412. return getReturnTableList({
  1413. pageNum: page,
  1414. size: limit,
  1415. ...where,
  1416. supplierName: this.row.name
  1417. });
  1418. },
  1419. /* 对账单表格数据源 */
  1420. reconciliationDatasource({page, limit, where, order}) {
  1421. return getAccountstatementList({
  1422. pageNum: page,
  1423. size: limit,
  1424. type: 3,
  1425. ...where,
  1426. contactName: this.row.name
  1427. });
  1428. },
  1429. /* 开票记录表格数据源 */
  1430. invoiceDatasource({page, limit, where, order}) {
  1431. return finPayablePageListAPI({
  1432. pageNum: page,
  1433. size: limit,
  1434. ...where,
  1435. contactName:this.row.name
  1436. });
  1437. },
  1438. /* 刷新表格 */
  1439. reload(where) {
  1440. where = {
  1441. ...where,
  1442. contactId: this.form.id
  1443. }
  1444. this.$refs.certificateTable.reload({page: 1, where});
  1445. },
  1446. async _getById(id) {
  1447. const data = await contactDetail(id);
  1448. this.form = data.base||{};
  1449. this.otherForm = data.other||{};
  1450. this.tableBankData = data.bankList||[];
  1451. this.tableLinkData = data.linkList||[];
  1452. this.supplyList = data.productList||[];
  1453. if (this.tableLinkData && this.tableLinkData.length > 0) {
  1454. this.tableLinkData.forEach(e => e.status = e.status + "");
  1455. }
  1456. if (this.form.level) {
  1457. this.form.level = this.form.level + "";
  1458. }
  1459. await getCategoryInfo(this.form.categoryId).then((res) => {
  1460. let categoryName = res.data.map(item=>item.name)?.join(',')
  1461. this.$set(this.form, 'categoryName', categoryName)
  1462. });
  1463. },
  1464. downloadFile(file) {
  1465. getFile({objectName: file.storePath}, file.name);
  1466. },
  1467. }
  1468. };
  1469. </script>