catalogdetailsadd.vue 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865
  1. <template>
  2. <!-- 非挂网目录新增 -->
  3. <div>
  4. <el-tabs v-model="activeName" @tab-click="handleClick">
  5. <el-tab-pane label="基础信息" name="first">
  6. <el-form
  7. :model="infoData"
  8. ref="planForm"
  9. label-width="150px"
  10. class="grid-form-class"
  11. >
  12. <div class="common-card">
  13. <h3>商品基本资料</h3>
  14. <!-- <div class="right-type" style="color: #3c64dc; font-weight: 800">
  15. {{ $store.state.user.username }}
  16. </div> -->
  17. <div class="form-body">
  18. <div class="flex-css">
  19. <el-form-item label="耗材名称" prop="prodName" :rules="rules.required">
  20. <el-input
  21. v-model="infoData.prodName"
  22. placeholder="请输入耗材名称"
  23. maxlength="50"
  24. ></el-input>
  25. </el-form-item>
  26. <el-form-item label="通用名称" prop="genName" :rules="rules.required">
  27. <el-input
  28. v-model="infoData.genName"
  29. placeholder="请输入通用名称"
  30. maxlength="50"
  31. ></el-input>
  32. </el-form-item>
  33. <el-form-item label="英文名称" prop="engName" :rules="rules.InterEng">
  34. <el-input
  35. v-model="infoData.engName"
  36. placeholder="请输入英文名称"
  37. maxlength="50"
  38. ></el-input>
  39. </el-form-item>
  40. </div>
  41. <div class="flex-css">
  42. <el-form-item label="品牌" prop="brad">
  43. <el-input
  44. v-model="infoData.brad"
  45. maxlength="50"
  46. placeholder="请输入品牌"
  47. ></el-input>
  48. </el-form-item>
  49. <el-form-item
  50. label="生产来源"
  51. prop="prodSouc"
  52. :rules="rules.selectRequired"
  53. >
  54. <el-select
  55. v-model="infoData.prodSouc"
  56. placeholder="请选择生产来源"
  57. clearable
  58. >
  59. <el-option
  60. v-for="item in sourceData"
  61. :key="item.value"
  62. :label="item.name"
  63. :value="item.value"
  64. ></el-option>
  65. </el-select>
  66. </el-form-item>
  67. <el-form-item label="生产企业" prop="prodEntp" :rules="rules.required">
  68. <el-input
  69. v-model="infoData.prodEntp"
  70. maxlength="50"
  71. placeholder="请输入生产企业"
  72. ></el-input>
  73. </el-form-item>
  74. </div>
  75. <div class="flex-css">
  76. <el-form-item label="代理企业" prop="agnt" :rules="rules.required">
  77. <el-input
  78. v-model="infoData.agnt"
  79. placeholder="请输入代理企业"
  80. maxlength="50"
  81. ></el-input>
  82. </el-form-item>
  83. <el-form-item label="挂网价格" prop="pubonlnPric" :rules="rules.numPotNo">
  84. <el-input
  85. v-model="infoData.pubonlnPric"
  86. placeholder="请输入挂网价格"
  87. maxlength="50"
  88. ></el-input>
  89. </el-form-item>
  90. <el-form-item label="规格" prop="spec" :rules="rules.required">
  91. <el-input
  92. v-model="infoData.spec"
  93. placeholder="请输入规格"
  94. maxlength="50"
  95. ></el-input>
  96. </el-form-item>
  97. </div>
  98. <div class="flex-css">
  99. <el-form-item label="型号" prop="mol" :rules="rules.required">
  100. <el-input
  101. v-model="infoData.mol"
  102. placeholder="请输入型号"
  103. maxlength="50"
  104. ></el-input>
  105. </el-form-item>
  106. <el-form-item label="材质" prop="matl" :rules="rules.required">
  107. <el-input
  108. v-model="infoData.matl"
  109. placeholder="请输入材质"
  110. maxlength="50"
  111. ></el-input>
  112. </el-form-item>
  113. <el-form-item label="包装材质" prop="pacmatl" :rules="rules.required">
  114. <el-input
  115. v-model="infoData.pacmatl"
  116. placeholder="请输入包装材质"
  117. maxlength="50"
  118. ></el-input>
  119. </el-form-item>
  120. </div>
  121. <div class="flex-css">
  122. <el-form-item label="注册证号" prop="regcertno" :rules="rules.required">
  123. <el-input
  124. v-model="infoData.regcertno"
  125. placeholder="请输入注册证号"
  126. maxlength="50"
  127. ></el-input>
  128. </el-form-item>
  129. </div>
  130. </div>
  131. </div>
  132. <div class="common-card">
  133. <h3>商品属性资料</h3>
  134. <div class="form-body">
  135. <div class="flex-css">
  136. <!-- <el-form-item label="商品大类" prop="prodType" :rules="rules.required">
  137. <el-select v-model="infoData.prodType" placeholder="请选择商品大类" clearable>
  138. <el-option
  139. v-for="item in prodTypeData"
  140. :key="item.value"
  141. :label="item.name"
  142. :value="item.value"
  143. ></el-option>
  144. </el-select>
  145. </el-form-item> -->
  146. <el-form-item
  147. label="耗材类别"
  148. prop="mcsType"
  149. :rules="rules.selectRequired"
  150. >
  151. <el-select
  152. v-model="infoData.mcsType"
  153. placeholder="请选择耗材类别"
  154. clearable
  155. >
  156. <el-option
  157. v-for="item in mcsTypeData"
  158. :key="item.value"
  159. :label="item.name"
  160. :value="item.value"
  161. ></el-option>
  162. </el-select>
  163. </el-form-item>
  164. <el-form-item label="是否集采" prop="isFas" :rules="rules.selectRequired">
  165. <el-select
  166. v-model="infoData.isFas"
  167. placeholder="请选择是否集采"
  168. clearable
  169. @change="clearType"
  170. >
  171. <el-option
  172. v-for="item in iFjcData"
  173. :key="item.value"
  174. :label="item.name"
  175. :value="item.value"
  176. ></el-option>
  177. </el-select>
  178. </el-form-item>
  179. </div>
  180. <div class="flex-css">
  181. <el-form-item
  182. label="集采批次"
  183. prop="fasBtch"
  184. v-if="infoData.isFas == '1'"
  185. :rules="rules.required"
  186. >
  187. <el-input
  188. v-model="infoData.fasBtch"
  189. placeholder="请输入集采批次"
  190. maxlength="50"
  191. ></el-input>
  192. </el-form-item>
  193. <el-form-item
  194. label="是否寄售"
  195. prop="isCgmt"
  196. :rules="rules.selectRequired"
  197. >
  198. <el-select
  199. v-model="infoData.isCgmt"
  200. placeholder="请选择是否寄售"
  201. clearable
  202. >
  203. <el-option
  204. v-for="item in iFjcData"
  205. :key="item.value"
  206. :label="item.name"
  207. :value="item.value"
  208. ></el-option>
  209. </el-select>
  210. </el-form-item>
  211. <!-- <el-form-item label="是否十八项重点耗材" prop="isEm" :rules="rules.selectRequired">
  212. <el-select v-model="infoData.isEm" placeholder="请选择是否十八项重点耗材" clearable>
  213. <el-option
  214. v-for="item in iFjcData"
  215. :key="item.value"
  216. :label="item.name"
  217. :value="item.value"
  218. ></el-option>
  219. </el-select>
  220. </el-form-item> -->
  221. </div>
  222. </div>
  223. </div>
  224. <div class="common-card">
  225. <h3>耗材编码资料</h3>
  226. <div class="form-body">
  227. <div class="flex-css">
  228. <el-form-item label="医保编码" prop="hiCode" :rules="rules.required">
  229. <el-input
  230. v-model="infoData.hiCode"
  231. placeholder="请输入医保编码"
  232. maxlength="50"
  233. ></el-input>
  234. </el-form-item>
  235. </div>
  236. </div>
  237. </div>
  238. <div class="common-card">
  239. <h3>商品包装资料</h3>
  240. <div class="form-body">
  241. <div class="flex-css">
  242. <el-form-item
  243. label="最小单位"
  244. prop="prcUnt"
  245. :rules="rules.selectRequired"
  246. >
  247. <el-select
  248. v-model="infoData.prcUnt"
  249. placeholder="请选择最小单位"
  250. clearable
  251. >
  252. <el-option
  253. v-for="item in purcUntData"
  254. :key="item.value"
  255. :label="item.label"
  256. :value="item.label"
  257. ></el-option>
  258. </el-select>
  259. </el-form-item>
  260. <el-form-item label="采购价" prop="purcPric" :rules="rules.numPot4">
  261. <el-input
  262. v-model="infoData.purcPric"
  263. maxlength="50"
  264. placeholder="请输入采购价"
  265. ></el-input>
  266. </el-form-item>
  267. </div>
  268. <div class="flex-css">
  269. <el-form-item
  270. label="采购单位"
  271. prop="purcUnt"
  272. :rules="rules.selectRequired"
  273. >
  274. <el-select
  275. v-model="infoData.purcUnt"
  276. placeholder="请选择采购单位"
  277. clearable
  278. >
  279. <el-option
  280. v-for="item in prcUntData"
  281. :key="item.value"
  282. :label="item.label"
  283. :value="item.label"
  284. ></el-option>
  285. </el-select>
  286. </el-form-item>
  287. <el-form-item label="包装内数量" prop="convrat" :rules="rules.InterNum">
  288. <template slot-scope="{}" slot="label">
  289. <span>包装内数量</span>
  290. <el-tooltip class="item" effect="dark" placement="top">
  291. <i
  292. class="el-icon-question"
  293. style="font-size: 14px; vertical-align: middle"
  294. ></i>
  295. <div slot="content">包含最小单位的数量</div>
  296. </el-tooltip>
  297. </template>
  298. <template>
  299. <el-input
  300. v-model="infoData.convrat"
  301. placeholder="请输入包装内数量"
  302. maxlength="50"
  303. ></el-input>
  304. </template>
  305. </el-form-item>
  306. </div>
  307. </div>
  308. </div>
  309. <div class="common-card">
  310. <h3>其他资料</h3>
  311. <div class="form-body">
  312. <div class="flex-css">
  313. <el-form-item
  314. label="存储方式"
  315. prop="stogType"
  316. :rules="rules.selectRequired"
  317. >
  318. <el-select
  319. v-model="infoData.stogType"
  320. placeholder="请选择存储方式"
  321. clearable
  322. >
  323. <el-option
  324. v-for="item in stogTypeData"
  325. :key="item.value"
  326. :label="item.name"
  327. :value="item.name"
  328. ></el-option>
  329. </el-select>
  330. </el-form-item>
  331. <el-form-item
  332. label="存储温度"
  333. prop="stogTemp"
  334. :rules="rules.selectRequired"
  335. >
  336. <el-select
  337. v-model="infoData.stogTemp"
  338. placeholder="请选择存储温度"
  339. clearable
  340. >
  341. <el-option
  342. v-for="item in stogTempData"
  343. :key="item.value"
  344. :label="item.name"
  345. :value="item.name"
  346. ></el-option>
  347. </el-select>
  348. </el-form-item>
  349. <el-form-item
  350. label="是否灭菌"
  351. prop="isStlz"
  352. :rules="rules.selectRequired"
  353. >
  354. <el-select
  355. v-model="infoData.isStlz"
  356. placeholder="请选择是否灭菌"
  357. clearable
  358. >
  359. <el-option
  360. v-for="item in isStlzdata"
  361. :key="item.value"
  362. :label="item.name"
  363. :value="item.name"
  364. ></el-option>
  365. </el-select>
  366. </el-form-item>
  367. </div>
  368. </div>
  369. </div>
  370. </el-form>
  371. <div class="foot-button" v-if="btnShow">
  372. <el-button type="success" @click="handleSave" :loading="saveLoad"
  373. >保存</el-button
  374. >
  375. <el-button type="primary" @click="handleSubmit" :loading="submitLoad"
  376. >提交</el-button
  377. >
  378. </div>
  379. </el-tab-pane>
  380. <el-tab-pane label="资质信息" name="second">
  381. <div class="common-card">
  382. <div>
  383. <h3>商品资质</h3>
  384. <div class="right-type">
  385. <el-button
  386. style="margin-bottom: 10px"
  387. type="primary"
  388. @click="handleAdd('one')"
  389. >添加资质</el-button
  390. >
  391. </div>
  392. </div>
  393. <el-table
  394. v-loading="listLoading"
  395. element-loading-text="加载中"
  396. :data="list"
  397. fit
  398. stripe
  399. border
  400. >
  401. <template slot="empty">
  402. <img src="@/assets/nopage.png" alt />
  403. <p>暂无数据</p>
  404. </template>
  405. <el-table-column fixed type="index" label="序号" width="60" />
  406. <el-table-column label="资质证书信息"> </el-table-column>
  407. <el-table-column label="资质证书编号" prop="hiCode" />
  408. <el-table-column label="发证日期" prop="spec" />
  409. <el-table-column label="截止日期" prop="mol" />
  410. <el-table-column label="资质证件" prop="isFas">
  411. <template #default="{ row }">
  412. <span v-if="row.isFas == '0'">否</span>
  413. <span v-if="row.isFas == '1'">是</span>
  414. </template>
  415. </el-table-column>
  416. <el-table-column label="备注" prop="purcUnt" />
  417. </el-table>
  418. </div>
  419. <div class="common-card">
  420. <div>
  421. <h3>生产厂商资质</h3>
  422. <div class="right-type">
  423. <el-button
  424. style="margin-bottom: 10px"
  425. type="primary"
  426. @click="handleAdd1('two')"
  427. >添加资质</el-button
  428. >
  429. </div>
  430. </div>
  431. <el-table
  432. v-loading="listLoading"
  433. element-loading-text="加载中"
  434. :data="list"
  435. fit
  436. stripe
  437. border
  438. >
  439. <template slot="empty">
  440. <img src="@/assets/nopage.png" alt />
  441. <p>暂无数据</p>
  442. </template>
  443. <el-table-column fixed type="index" label="序号" width="60" />
  444. <el-table-column label="资质证书信息"> </el-table-column>
  445. <el-table-column label="资质证书编号" prop="hiCode" />
  446. <el-table-column label="发证日期" prop="spec" />
  447. <el-table-column label="截止日期" prop="mol" />
  448. <el-table-column label="资质证件" prop="isFas">
  449. <template #default="{ row }">
  450. <span v-if="row.isFas == '0'">否</span>
  451. <span v-if="row.isFas == '1'">是</span>
  452. </template>
  453. </el-table-column>
  454. <el-table-column label="备注" prop="memo" />
  455. </el-table>
  456. </div>
  457. </el-tab-pane>
  458. </el-tabs>
  459. <el-dialog
  460. class="addclass"
  461. width="30%"
  462. :title="textMap[dialogStatus]"
  463. :close-on-click-modal="false"
  464. :visible.sync="dialogFormVisible"
  465. v-if="dialogFormVisible"
  466. >
  467. <el-form label-width="120px" :model="addform" ref="addForm">
  468. <el-form-item
  469. label="资质证书信息"
  470. prop="quaCertName"
  471. :rules="rules.selectRequired"
  472. >
  473. <el-select v-model.trim="addform.quaCertName" placeholder="请选择资质证书信息">
  474. <el-option
  475. v-for="item in qualData"
  476. :key="item.id"
  477. :label="item.dicVal"
  478. :value="item.dicVal"
  479. clearable
  480. ></el-option>
  481. </el-select>
  482. </el-form-item>
  483. <el-form-item label="资质证书编号" prop="quaCertNo" :rules="rules.required">
  484. <el-input
  485. v-model="addform.quaCertNo"
  486. placeholder="请输入资质证书编号"
  487. maxlength="50"
  488. ></el-input>
  489. </el-form-item>
  490. <el-form-item label="发证时间" prop="quaBeginTime" :rules="rules.dateRequired">
  491. <el-date-picker
  492. v-model.trim="addform.quaBeginTime"
  493. type="date"
  494. :picker-options="TimeOption1"
  495. placeholder="选择日期"
  496. value-format="yyyy-MM-dd"
  497. ></el-date-picker>
  498. </el-form-item>
  499. <el-form-item label="截止时间" prop="quaEndTime" :rules="rules.dateRequired">
  500. <el-date-picker
  501. v-model.trim="addform.quaEndTime"
  502. type="date"
  503. :picker-options="TimeOption"
  504. placeholder="选择日期"
  505. value-format="yyyy-MM-dd"
  506. ></el-date-picker>
  507. </el-form-item>
  508. <el-form-item label="资质证件" prop="invoFile" :rules="rules.uploadRequired">
  509. <yl-upload :fileId="addform.invoFile" @getUpload="getUpload" urlName="acco">
  510. <template v-slot:dec>只能上传pdf文件</template>
  511. </yl-upload>
  512. <!-- <yl-upload
  513. v-else
  514. :fileId="addform.invoFile"
  515. readonly
  516. >
  517. </yl-upload> -->
  518. </el-form-item>
  519. <el-form-item label="备注" prop="memo">
  520. <el-input
  521. v-model="addform.memo"
  522. placeholder="请输入备注"
  523. maxlength="50"
  524. ></el-input>
  525. </el-form-item>
  526. </el-form>
  527. <div slot="footer">
  528. <el-button @click="dialogFormVisible = false">取 消</el-button>
  529. <el-button
  530. type="primary"
  531. v-preventReClick
  532. v-loading="loading1"
  533. @click="handledialog()"
  534. >确 定</el-button
  535. >
  536. </div>
  537. </el-dialog>
  538. </div>
  539. </template>
  540. <script>
  541. import ylStep from "@/components/yl-step";
  542. import ylUpload from "@/components/yl-upload";
  543. import { selectMcsListById, insertSplerMcsList } from "@/api/consumCataManage-sup/index";
  544. import rules from "@/utils/rules";
  545. export default {
  546. components: { ylUpload, ylStep },
  547. data() {
  548. return {
  549. activeName: "first",
  550. saveLoad: false,
  551. submitLoad: false,
  552. rules,
  553. infoData: {
  554. spdId: "",
  555. materialId: "",
  556. prodName: "",
  557. hiCode: "",
  558. isFas: "",
  559. fasBtch: "",
  560. spec: "",
  561. mol: "",
  562. matl: "",
  563. pacmatl: "",
  564. prodSouc: "",
  565. regcertno: "",
  566. prodentpCode: null,
  567. prodEntp: "",
  568. purcPric: null,
  569. status: "",
  570. isPub: "0",
  571. },
  572. listLoading: false,
  573. planForm: {},
  574. sourceData: [
  575. { value: "1", name: "国产" },
  576. { value: "2", name: "进口" },
  577. ],
  578. iFjcData: [
  579. { value: "1", name: "是" },
  580. { value: "0", name: "否" },
  581. ],
  582. mcsTypeData: [
  583. { value: "0", name: "普通耗材" },
  584. { value: "1", name: "高值耗材" },
  585. { value: "2", name: "试剂" },
  586. ],
  587. prodTypeData: [
  588. { value: "0", name: "医用耗材" },
  589. { value: "1", name: "办公用品" },
  590. ],
  591. stogTypeData: [
  592. { value: "常温", name: "常温" },
  593. { value: "冷藏", name: "冷藏" },
  594. { value: "冷冻", name: "冷冻" },
  595. ],
  596. stogTempData: [
  597. { value: "15℃-25℃", name: "15℃-25℃" },
  598. { value: "2℃-8℃", name: "2℃-8℃" },
  599. { value: "-10℃-2℃", name: "-10℃-2℃" },
  600. ],
  601. isStlzdata: [
  602. { value: "灭菌", name: "灭菌" },
  603. { value: "非灭菌", name: "非灭菌" },
  604. ],
  605. purcUntData: [
  606. // 最小单位
  607. { value: "箱", label: "箱" },
  608. { value: "包", label: "包" },
  609. { value: "袋", label: "袋" },
  610. { value: "盒", label: "盒" },
  611. { value: "瓶", label: "瓶" },
  612. { value: "根", label: "根" },
  613. { value: "片", label: "片" },
  614. { value: "贴", label: "贴" },
  615. { value: "件", label: "件" },
  616. { value: "条", label: "条" },
  617. { value: "只", label: "只" },
  618. { value: "块", label: "块" },
  619. { value: "枚", label: "枚" },
  620. { value: "捆", label: "捆" },
  621. { value: "束", label: "束" },
  622. { value: "斤", label: "斤" },
  623. { value: "个", label: "个" },
  624. { value: "支", label: "支" },
  625. { value: "台", label: "台" },
  626. { value: "克", label: "克" },
  627. { value: "张", label: "张" },
  628. { value: "辆", label: "辆" },
  629. { value: "具", label: "具" },
  630. { value: "米", label: "米" },
  631. { value: "批", label: "批" },
  632. { value: "盘", label: "盘" },
  633. { value: "把", label: "把" },
  634. { value: "对", label: "对" },
  635. { value: "盆", label: "盆" },
  636. { value: "套", label: "套" },
  637. { value: "轴", label: "轴" },
  638. { value: "板", label: "板" },
  639. { value: "本", label: "本" },
  640. { value: "公斤", label: "公斤" },
  641. { value: "万只", label: "万只" },
  642. { value: "卷", label: "卷" },
  643. { value: "付", label: "付" },
  644. { value: "桶", label: "桶" },
  645. { value: "节", label: "节" },
  646. { value: "打", label: "打" },
  647. ],
  648. prcUntData: [
  649. { value: "箱", label: "箱" },
  650. { value: "包", label: "包" },
  651. { value: "袋", label: "袋" },
  652. { value: "盒", label: "盒" },
  653. { value: "大包", label: "大包" },
  654. { value: "大袋", label: "大袋" },
  655. { value: "大盒", label: "大盒" },
  656. { value: "中包", label: "中包" },
  657. { value: "中袋", label: "中袋" },
  658. { value: "中盒", label: "中盒" },
  659. { value: "小包", label: "小包" },
  660. { value: "小袋", label: "小袋" },
  661. { value: "小盒", label: "小盒" },
  662. { value: "瓶", label: "瓶" },
  663. { value: "个", label: "个" },
  664. { value: "根", label: "根" },
  665. { value: "管", label: "管" },
  666. { value: "件", label: "件" },
  667. { value: "颗", label: "颗" },
  668. { value: "支", label: "支" },
  669. { value: "只", label: "只" },
  670. { value: "把", label: "把" },
  671. { value: "罐", label: "罐" },
  672. { value: "杯", label: "杯" },
  673. { value: "对", label: "对" },
  674. { value: "枚", label: "枚" },
  675. { value: "套", label: "套" },
  676. { value: "条", label: "条" },
  677. { value: "桶", label: "桶" },
  678. { value: "张", label: "张" },
  679. { value: "束", label: "束" },
  680. ],
  681. btnShow: true,
  682. dialogFormVisible: false,
  683. loading1: false,
  684. addform: {
  685. quaCertName: "",
  686. quaCertNo: "",
  687. quaBeginTime: "",
  688. quaEndTime: "",
  689. quaAtt: "",
  690. memo: "",
  691. invoFile: "",
  692. },
  693. textMap: {
  694. one: "商品资质",
  695. two: "生产厂商资质",
  696. },
  697. dialogStatus: "",
  698. };
  699. },
  700. created() {
  701. // if (this.$route.query.status == "B") {
  702. // this.btnShow = false;
  703. // }else if(this.$route.query.status=="D"){
  704. // this.reaDiv = true
  705. // }
  706. // this.getData()
  707. },
  708. methods: {
  709. getUpload(id) {
  710. this.temp.fileId = id;
  711. if (id) {
  712. this.$refs.dataForm.clearValidate("fileId");
  713. } else {
  714. this.$refs.dataForm.validateField("fileId");
  715. }
  716. },
  717. // 信息保存
  718. handleSave() {
  719. // this.$refs["planForm"].validate((valid) => {
  720. // if (valid) {
  721. this.$confirm("确认保存", "提示", {
  722. confirmButtonText: "确定",
  723. cancelButtonText: "取消",
  724. type: "warning",
  725. })
  726. .then(() => {
  727. this.saveLoad = true;
  728. this.infoData.spdId = this.$route.query.spdId;
  729. this.infoData.status = "A";
  730. this.infoData.opeType = "新增";
  731. insertSplerMcsList(this.infoData)
  732. .then((response) => {
  733. this.$message({
  734. message: "保存成功",
  735. type: "success",
  736. });
  737. this.saveLoad = false;
  738. })
  739. .catch(() => {
  740. this.saveLoad = false;
  741. });
  742. })
  743. .catch(() => {});
  744. // }
  745. // });
  746. },
  747. // 整体提交
  748. handleSubmit() {
  749. this.$refs["planForm"].validate((valid) => {
  750. if (valid) {
  751. this.$confirm("确认提交", "提示", {
  752. confirmButtonText: "确定",
  753. cancelButtonText: "取消",
  754. type: "warning",
  755. })
  756. .then(() => {
  757. this.submitLoad = true;
  758. this.infoData.status = "B";
  759. this.infoData.opeType = "新增";
  760. insertSplerMcsList(this.infoData)
  761. .then((response) => {
  762. this.$message({
  763. message: "提交成功",
  764. type: "success",
  765. });
  766. this.submitLoad = false;
  767. this.$router.push({
  768. name: "consumCataManagement-sup",
  769. query: { spdId: this.$route.query.spdId },
  770. });
  771. })
  772. .catch(() => {
  773. this.submitLoad = false;
  774. });
  775. })
  776. .catch(() => {});
  777. }
  778. });
  779. },
  780. // 集采类型
  781. clearType() {
  782. this.infoData.fasBtch = "";
  783. },
  784. // getData() {
  785. // selectMcsListById({ id: this.$route.query.id })
  786. // .then((response) => {
  787. // this.infoData = response.data;
  788. // this.$refs['planForm'].resetFields();
  789. // })
  790. // .catch((err) => {
  791. // this.$message.error("获取数据失败");
  792. // });
  793. // },
  794. // 新增资质
  795. handleAdd(type) {
  796. this.dialogFormVisible = true;
  797. this.dialogStatus = type;
  798. },
  799. handleAdd1(type) {
  800. this.dialogFormVisible = true;
  801. this.dialogStatus = type;
  802. },
  803. getUpload(id) {
  804. this.addform.invoFile = id;
  805. if (id) {
  806. this.$refs.addForm.clearValidate("invoFile");
  807. console.log(this.addform.invoFile, "this.addform.invoFile");
  808. } else {
  809. this.$refs.addForm.validateField("invoFile");
  810. }
  811. },
  812. // 确认
  813. handledialog() {
  814. this.$refs["addForm"].validate((valid) => {
  815. if (valid) {
  816. this.$confirm("确认提交", "提示", {
  817. confirmButtonText: "确定",
  818. cancelButtonText: "取消",
  819. type: "warning",
  820. })
  821. .then(() => {
  822. this.loading1 = true;
  823. if (this.dialogStatus == "one") {
  824. } else if (this.dialogStatus == "two") {
  825. }
  826. aaaa(this.addform)
  827. .then((response) => {
  828. this.$message({
  829. message: "提交成功",
  830. type: "success",
  831. });
  832. this.loading1 = false;
  833. // this.$router.push({
  834. // name: "InvoiceManage",
  835. // query: {
  836. // spdId: this.$route.query.spdId,
  837. // activeNameTab: this.$route.query.activeNameTab,
  838. // },
  839. // });
  840. })
  841. .catch(() => {
  842. this.loading1 = false;
  843. this.$message({
  844. message: "提交失败",
  845. type: "error",
  846. });
  847. });
  848. })
  849. .catch(() => {});
  850. }
  851. });
  852. },
  853. },
  854. };
  855. </script>
  856. <style scoped lang="scss">
  857. // ::v-deep .el-input__inner {
  858. // width: 300px;
  859. // }
  860. </style>