catalogdetailsadd.vue 27 KB

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