add.vue 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688
  1. <template>
  2. <div class="apply_add">
  3. <el-tabs type="border-card" v-model="tabValue" @tab-click="handleClick">
  4. <el-tab-pane label="基本信息" name="first">
  5. <el-form :model="basicForm" :rules="basicRules" ref="basic" label-width="170px">
  6. <el-row :gutter="20">
  7. <el-col :span="8">
  8. <el-form-item label="单据编码" prop="code">
  9. <el-input disabled v-model="basicForm.code"></el-input>
  10. </el-form-item>
  11. </el-col>
  12. <el-col :span="8">
  13. <el-form-item label="所属组织" prop="orgId">
  14. <el-input disabled v-model="basicForm.orgId"></el-input>
  15. </el-form-item>
  16. </el-col>
  17. <el-col :span="8">
  18. <el-form-item label="物料编码" prop="materialCode">
  19. <el-input readonly :disabled="disable" v-model="basicForm.materialCode">
  20. <el-button :disabled="disable" slot="append" icon="el-icon-more" @click="test01"></el-button>
  21. </el-input>
  22. </el-form-item>
  23. </el-col>
  24. </el-row>
  25. <el-row :gutter="20">
  26. <el-col :span="8">
  27. <el-form-item label="物料名称" prop="materialName">
  28. <el-input :disabled="disable" v-model="basicForm.materialName"></el-input>
  29. </el-form-item>
  30. </el-col>
  31. <el-col :span="8">
  32. <el-form-item label="医药物料" prop="medicineMaterial">
  33. <el-select v-model="basicForm.medicineMaterial" placeholder="医药物料" clearable :disabled="disable"
  34. @change="controlMedic">
  35. <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
  36. </el-select>
  37. </el-form-item>
  38. </el-col>
  39. <el-col :span="8">
  40. <el-form-item label="物料分类" prop="materialClassifyId">
  41. <el-input readonly :disabled="disable" v-model="basicForm.fourClass">
  42. <el-button :disabled="disable" slot="append" icon="el-icon-more" @click="chooseFourClass"></el-button>
  43. </el-input>
  44. <el-input v-show="false" readonly :disabled="disable" v-model="basicForm.materialClassifyId"></el-input>
  45. </el-form-item>
  46. </el-col>
  47. </el-row>
  48. <el-row :gutter="20">
  49. <el-col :span="8">
  50. <el-form-item label="规格" prop="specification">
  51. <el-input :disabled="disable" v-model="basicForm.specification"></el-input>
  52. </el-form-item>
  53. </el-col>
  54. <el-col :span="8">
  55. <el-form-item label="型号" prop="model">
  56. <el-input :disabled="disable" v-model="basicForm.model"></el-input>
  57. </el-form-item>
  58. </el-col>
  59. <el-col :span="8">
  60. <el-form-item label="生产厂家/代理人" prop="factory">
  61. <el-select ref="factoryOrman" v-model="basicForm.factory" placeholder="生产厂家/代理人" clearable
  62. :disabled="disable" @focus="chooseFactory">
  63. <el-option v-for="item in factoryOptions" :key="item.id" :label="item.name" :value="item.id" />
  64. </el-select>
  65. <!-- <el-input :disabled="disable" v-model="basicForm.factory">
  66. <el-button :disabled="disable" slot="append" icon="el-icon-more" @click="test02"></el-button>
  67. </el-input> -->
  68. </el-form-item>
  69. </el-col>
  70. </el-row>
  71. <el-row :gutter="20">
  72. <el-col :span="8">
  73. <el-form-item label="注册人/上市许可持有人" prop="registrant">
  74. <el-input :disabled="disable" v-model="basicForm.registrant"></el-input>
  75. </el-form-item>
  76. </el-col>
  77. <el-col :span="8">
  78. <el-form-item label="存储条件" prop="storageConditions">
  79. <el-select v-model="basicForm.storageConditions" placeholder="存储条件" clearable :disabled="disable">
  80. <el-option v-for="dict in dict.type.sys_storage_condition" :key="dict.value" :label="dict.label"
  81. :value="dict.value" />
  82. </el-select>
  83. </el-form-item>
  84. </el-col>
  85. <el-col :span="8">
  86. <el-form-item label="运输条件" prop="transportCondition">
  87. <el-select v-model="basicForm.transportCondition" placeholder="运输条件" clearable :disabled="disable">
  88. <el-option v-for="dict in dict.type.sys_conditions_carriage" :key="dict.value" :label="dict.label"
  89. :value="dict.value" />
  90. </el-select>
  91. </el-form-item>
  92. </el-col>
  93. </el-row>
  94. <el-row :gutter="20">
  95. <el-col :span="8">
  96. <el-form-item label="交货周期" prop="leadTime">
  97. <el-input type="number" min="0" :disabled="disable" v-model="basicForm.leadTime"></el-input>
  98. </el-form-item>
  99. </el-col>
  100. <el-col :span="8">
  101. <el-form-item label="备注" prop="remark">
  102. <el-input :disabled="disable" v-model="basicForm.remark"></el-input>
  103. </el-form-item>
  104. </el-col>
  105. <el-col :span="8">
  106. <el-form-item label="一级分类" prop="oneClass">
  107. <el-input readonly disabled v-model="basicForm.oneClass"></el-input>
  108. </el-form-item>
  109. </el-col>
  110. </el-row>
  111. <el-row :gutter="20">
  112. <el-col :span="8">
  113. <el-form-item label="二级分类" prop="twoClass">
  114. <el-input readonly disabled v-model="basicForm.twoClass"></el-input>
  115. </el-form-item>
  116. </el-col>
  117. <el-col :span="8">
  118. <el-form-item label="三级分类" prop="threeClass">
  119. <el-input readonly disabled v-model="basicForm.threeClass"></el-input>
  120. </el-form-item>
  121. </el-col>
  122. <el-col :span="8">
  123. <el-form-item label="四级分类" prop="fourClass">
  124. <el-input readonly disabled v-model="basicForm.fourClass">
  125. </el-input>
  126. </el-form-item>
  127. </el-col>
  128. </el-row>
  129. </el-form>
  130. </el-tab-pane>
  131. <el-tab-pane label="医药属性" name="second">
  132. <el-form :model="basicForm2" ref="basic2" label-width="160px">
  133. <el-row :gutter="20">
  134. <el-col :span="8">
  135. <el-form-item label="药品" prop="drug">
  136. <el-select v-model="basicForm2.drug" placeholder="请选择" clearable :disabled="disable || isControl">
  137. <el-option v-for="dict in dict.type.sys_medicine" :key="dict.value" :label="dict.label"
  138. :value="dict.value" />
  139. </el-select>
  140. </el-form-item>
  141. </el-col>
  142. <el-col :span="8">
  143. <el-form-item label="注册证号/备案凭证编号" prop="registrationNo">
  144. <el-input :disabled="disable || isControl" v-model="basicForm2.registrationNo"></el-input>
  145. </el-form-item>
  146. </el-col>
  147. <el-col :span="8">
  148. <el-form-item label="医疗器械" prop="medicalDevices">
  149. <el-select v-model="basicForm2.medicalDevices" placeholder="请选择" clearable
  150. :disabled="disable || isControl">
  151. <el-option v-for="dict in dict.type.medical_instruments" :key="dict.value" :label="dict.label"
  152. :value="dict.value" />
  153. </el-select>
  154. </el-form-item>
  155. </el-col>
  156. </el-row>
  157. <el-row :gutter="20">
  158. <el-col :span="8">
  159. <el-form-item label="养护类型" prop="maintenanceType">
  160. <el-select v-model="basicForm2.maintenanceType" placeholder="请选择" clearable
  161. :disabled="disable || isControl">
  162. <el-option v-for="dict in dict.type.curing_type" :key="dict.value" :label="dict.label"
  163. :value="dict.value" />
  164. </el-select>
  165. </el-form-item>
  166. </el-col>
  167. </el-row>
  168. </el-form>
  169. <!-- <el-row style="margin-bottom: 12px;">
  170. <span>物料类别</span>
  171. </el-row>
  172. <el-row style="margin-bottom: 12px;">
  173. <el-button type="primary" size="small" plain @click="addLine">新增</el-button>
  174. <el-button type="primary" size="small" plain @click="handleDelete">删除</el-button>
  175. <el-button type="primary" size="small" plain @click="testsave">暂存</el-button>
  176. </el-row> -->
  177. <!-- <el-row>
  178. <el-col :span="12">
  179. <el-table
  180. :data="basicForm2.medicineTypeChanges"
  181. class="request-table"
  182. @selection-change="handleSelectionChange"
  183. >
  184. <el-table-column type="selection" width="55" />
  185. <el-table-column label="序号" align="center" prop="sort">
  186. <template slot-scope="scope">
  187. <el-input v-model="scope.row.sort"></el-input>
  188. </template>
  189. </el-table-column>
  190. <el-table-column label="物料类别" align="center" prop="medicineCode">
  191. <template slot-scope="scope">
  192. <el-input v-model="scope.row.medicineCode"></el-input>
  193. </template>
  194. </el-table-column>
  195. <el-table-column label="类别名称" align="center" prop="medicineName">
  196. <template slot-scope="scope">
  197. <el-input v-model="scope.row.medicineName"></el-input>
  198. </template>
  199. </el-table-column>
  200. </el-table>
  201. </el-col>
  202. </el-row> -->
  203. </el-tab-pane>
  204. <el-tab-pane label="修改记录" name="third">
  205. <el-table :data="basicForm.changeRecords" class="request-table">
  206. <el-table-column label="字段名称" align="center" prop="pageCondtion" />
  207. <el-table-column label="变更前" align="center" prop="beforeChangeValue" />
  208. <el-table-column label="变更后" align="center" prop="afterChangeValue" />
  209. </el-table>
  210. </el-tab-pane>
  211. <el-tab-pane label="单据信息" name="fourth">
  212. <el-form :model="basicForm" ref="info" label-width="160px">
  213. <el-row :gutter="20">
  214. <el-col :span="8">
  215. <el-form-item label="申请人" prop="createByName">
  216. <el-input disabled v-model="basicForm.createByName"></el-input>
  217. </el-form-item>
  218. </el-col>
  219. <el-col :span="8">
  220. <el-form-item label="申请时间" prop="createTime">
  221. <el-input disabled v-model="basicForm.createTime"></el-input>
  222. </el-form-item>
  223. </el-col>
  224. <el-col :span="8">
  225. <el-form-item label="创建人" prop="createByName">
  226. <el-input disabled v-model="basicForm.createByName"></el-input>
  227. </el-form-item>
  228. </el-col>
  229. </el-row>
  230. <el-row :gutter="20">
  231. <el-col :span="8">
  232. <el-form-item label="创建时间" prop="createTime">
  233. <el-input disabled v-model="basicForm.createTime"></el-input>
  234. </el-form-item>
  235. </el-col>
  236. <el-col :span="8">
  237. <el-form-item label="最后修改人" prop="updateByName">
  238. <el-input disabled v-model="basicForm.updateByName"></el-input>
  239. </el-form-item>
  240. </el-col>
  241. <el-col :span="8">
  242. <el-form-item label="最后修改时间" prop="updateTime">
  243. <el-input disabled v-model="basicForm.updateTime"></el-input>
  244. </el-form-item>
  245. </el-col>
  246. </el-row>
  247. <el-row :gutter="20">
  248. <!-- <el-col :span="8">
  249. <el-form-item label="最后审核人" prop="approver">
  250. <el-input disabled v-model="basicForm.approver"></el-input>
  251. </el-form-item>
  252. </el-col>
  253. <el-col :span="8">
  254. <el-form-item label="最后审核时间" prop="approvalTime">
  255. <el-input disabled v-model="basicForm.approvalTime"></el-input>
  256. </el-form-item>
  257. </el-col> -->
  258. <el-col :span="8">
  259. <el-form-item label="单据状态" prop="status">
  260. <el-select v-model="basicForm.status" size="small" disabled>
  261. <el-option v-for="item in statusOptions" :key="item.value" :label="item.label" :value="item.value">
  262. </el-option>
  263. </el-select>
  264. <!-- <el-input disabled v-model="basicForm.status"></el-input> -->
  265. </el-form-item>
  266. </el-col>
  267. </el-row>
  268. </el-form>
  269. </el-tab-pane>
  270. </el-tabs>
  271. <div class="btn_group">
  272. <el-col :span="1.5">
  273. <el-button type="primary" size="small" plain @click="save"
  274. v-if="pageStu == 'add' || pageStu == 'edit'">保存</el-button>
  275. </el-col>
  276. <el-col :span="1.5" style="margin: 0 10px;">
  277. <el-button type="primary" size="small" plain @click="submit" v-if="pageStu == 'edit'">提交</el-button>
  278. </el-col>
  279. <el-col :span="1.5">
  280. <el-button type="primary" size="small" plain @click="back">返回</el-button>
  281. </el-col>
  282. </div>
  283. <popDialog ref="contractSelect" @doSubmit="selectionsToInput" :selectData="selectData" :single="true" />
  284. <factory ref="factory" @doSubmit="acceptFactory" :selectData="selectData2" :single="true" />
  285. <fourClass ref="fourClass" @doSubmit="acceptFourClass" :selectData="selectData3" :single="true" />
  286. </div>
  287. </template>
  288. <script>
  289. import popDialog from '@/components/PopDialog/index.vue'
  290. import factory from '@/components/PopDialog/productFactory.vue'
  291. import { addChangeList, getMaterialDetails, getChangeDetails, editChangeList } from '@/api/changeApply/basic'
  292. // 生产厂商/代理人调用用于回显
  293. import { getProductFactory } from '@/api/changeApply/basic'
  294. // 四级分类
  295. import fourClass from '@/components/PopDialog/fourClass.vue'
  296. // 调用物料分类详情接口用于数据回显
  297. import { getDetail } from '@/api/classify/basic';
  298. export default {
  299. name: 'applyAdd',
  300. dicts: ['sys_storage_condition', 'sys_conditions_carriage', 'sys_medicine', 'medical_instruments', 'curing_type'],
  301. components: {
  302. popDialog,
  303. factory,
  304. fourClass
  305. },
  306. props: ['pageStu', 'row', 'disable'],
  307. model: {
  308. prop: 'isList',
  309. event: 'jugislist'
  310. },
  311. data() {
  312. return {
  313. factoryOptions: [],
  314. tabValue: 'first',
  315. isControl: true,
  316. basicForm: {
  317. code: '',
  318. orgId: '德荣集团',
  319. // 物料id
  320. materialId: '',
  321. materialCode: '',
  322. materialName: '',
  323. materialClassifyId: '',
  324. medicineMaterial: '2',
  325. oneClass: '',
  326. twoClass: '',
  327. threeClass: '',
  328. fourClass: '',
  329. specification: '',
  330. model: '',
  331. factory: '',
  332. registrant: '',
  333. storageConditions: '',
  334. transportCondition: '',
  335. leadTime: '',
  336. remark: '',
  337. // 修改记录
  338. changeRecords: [],
  339. // 单据信息字段
  340. createBy: '',
  341. applicationTime: '',
  342. createTime: '',
  343. updateBy: '',
  344. updateTime: '',
  345. approver: '',
  346. approvalTime: '',
  347. status: ''
  348. },
  349. options: [{
  350. value: '0',
  351. label: '是'
  352. }, {
  353. value: '2',
  354. label: '否'
  355. }],
  356. statusOptions: [{
  357. value: '0', label: '未提交'
  358. }, {
  359. value: '1', label: '审批中'
  360. }, {
  361. value: '2', label: '已完成'
  362. }, {
  363. value: '3', label: '已驳回'
  364. },],
  365. basicRules: {
  366. materialCode: [{ required: true, message: '请选择物料编码', trigger: 'blur' }],
  367. materialName: [{ required: true, message: '请填写物料名称', trigger: 'blur' }],
  368. specification: [{ required: true, message: '请填写规格', trigger: 'blur' }],
  369. materialClassifyId: [{ required: true, message: '请选择物料分类', trigger: 'blur' }],
  370. // model: [{required: true, message: '请填写型号', trigger: 'blur'}],
  371. factory: [{ required: true, message: '请选择生产厂家/代理人', trigger: 'blur' }],
  372. registrant: [{ required: true, message: '请填写注册人/上市许可持有人', trigger: 'blur' }],
  373. storageConditions: [{ required: true, message: '请选择存储条件', trigger: 'blur' }],
  374. // transportCondition: [{required: true, message: '请选择运输条件', trigger: 'blur'}],
  375. leadTime: [{ required: true, message: '请填写交货周期', trigger: 'blur' }],
  376. },
  377. basicForm2: {
  378. drug: '',
  379. registrationNo: '',
  380. medicalDevices: '',
  381. maintenanceType: '',
  382. // 医药属性子表
  383. // medicineTypeChanges:[
  384. // ],
  385. },
  386. // tableList: [],
  387. // 子表选中
  388. ids: [],
  389. // 弹窗
  390. name: '',
  391. selectData: [],
  392. selectData2: [],
  393. selectData3: []
  394. }
  395. },
  396. // watch: {
  397. // value: {
  398. // handler (newVal) {
  399. // this.selectData = []
  400. // if (newVal) {
  401. // newVal.split(',').forEach((id) => { // 回显拿数据
  402. // this.contractService.queryById(id).then(({data}) => {
  403. // if (data && data.id !== '') {
  404. // this.selectData.push(data)
  405. // }
  406. // })
  407. // })
  408. // }
  409. // },
  410. // immediate: true,
  411. // deep: false
  412. // },
  413. // selectData: {
  414. // handler (newVal) {
  415. // this.name = newVal.map(contract => contract.contractName).join(',')
  416. // },
  417. // immediate: false,
  418. // deep: false
  419. // }
  420. // },
  421. mounted() {
  422. this.$nextTick(() => {
  423. // console.log('页面状态',this.pageStu)
  424. if (this.pageStu == 'check') {
  425. // alert('详情页面:')
  426. console.log('页面状态', this.pageStu)
  427. console.log('数据', this.row)
  428. this.getDetails(this.row)
  429. // 生产厂家代理人用于回显
  430. if (this.row.factory) {
  431. this.getFactoryDetails(this.row.factory)
  432. }
  433. } else if (this.pageStu == 'edit') {
  434. // alert('修改页面')
  435. console.log('页面状态', this.pageStu)
  436. console.log('数据', this.row)
  437. this.getDetails(this.row)
  438. // 控制医药属性是否能够填写
  439. if (this.row.medicineMaterial == '0') {
  440. this.isControl = false
  441. } else {
  442. this.isControl = true
  443. }
  444. // 生产厂家代理人用于回显
  445. if (this.row.factory) {
  446. this.getFactoryDetails(this.row.factory)
  447. }
  448. } else if (this.pageStu == 'add') {
  449. // alert('新增页面')
  450. console.log('页面状态', this.pageStu)
  451. }
  452. })
  453. },
  454. methods: {
  455. // 生产厂家/代理人用于回显
  456. getFactoryDetails(id) {
  457. getProductFactory({ id: id }).then(res => {
  458. if (res.code === 200) {
  459. this.factoryOptions = res.data.tableBody
  460. }
  461. })
  462. },
  463. // 选择是否医药物料时控制医药属性
  464. controlMedic(val) {
  465. console.log('val', val)
  466. if (val == '0') {
  467. this.isControl = false
  468. } else {
  469. this.basicForm2.drug = ''
  470. this.basicForm2.registrationNo = ''
  471. this.basicForm2.medicalDevices = ''
  472. this.basicForm2.maintenanceType = ''
  473. this.isControl = true
  474. }
  475. },
  476. handleClick(tab, event) {
  477. console.log(tab, event);
  478. console.log('页面状态', this.pageStu)
  479. },
  480. // 如果是详情进入,则调用详情接口
  481. getDetails(row) {
  482. getChangeDetails(row.id).then(res => {
  483. if (res.code === 200) {
  484. this.basicForm = res.data
  485. if (res.data.medicineChange) {
  486. this.basicForm2 = res.data.medicineChange
  487. }
  488. }
  489. })
  490. },
  491. save() {
  492. // alert('保存传status:0')
  493. let sparams = { ...this.basicForm, ...{ status: 0 } }
  494. sparams.medicineChange = this.basicForm2
  495. console.log('保存参数', sparams)
  496. this.$refs['basic'].validate((valid) => {
  497. if (valid) {
  498. addChangeList(sparams).then(res => {
  499. if (res.code === 200) {
  500. this.$message({
  501. message: res.msg,
  502. type: 'success'
  503. });
  504. this.back()
  505. }
  506. })
  507. }
  508. })
  509. },
  510. submit() {
  511. // alert('提交传status:1')
  512. let sparams = { ...this.basicForm, ...{ status: 1 } }
  513. sparams.medicineChange = this.basicForm2
  514. console.log('提交参数', sparams)
  515. this.$refs['basic'].validate((valid) => {
  516. if (valid) {
  517. editChangeList(sparams).then(res => {
  518. if (res.code === 200) {
  519. this.$message({
  520. message: res.msg,
  521. type: 'success'
  522. });
  523. this.back()
  524. }
  525. })
  526. }
  527. })
  528. },
  529. back() {
  530. this.$emit('jugislist', true)
  531. let queryParams = {
  532. pageNum: 1,
  533. pageSize: 10
  534. }
  535. this.$emit('refresh', queryParams)
  536. },
  537. // 子表增删行
  538. // handleSelectionChange(val) {
  539. // this.ids = val
  540. // console.log('this.ids',this.ids)
  541. // },
  542. // addLine() {
  543. // //添加行数
  544. // let newValue = {
  545. // sort:'',
  546. // medicineCode: '',
  547. // medicineName: '',
  548. // };
  549. // this.basicForm2.medicineTypeChanges.push(newValue);
  550. // },
  551. // handleDelete(index) {
  552. // if(this.ids.length == 0) {
  553. // this.$message({
  554. // message: '请选择删除条目',
  555. // type: 'warning'
  556. // });
  557. // } else {
  558. // // console.log('index',index)
  559. // // this.basicForm2.medicineTypeChanges.splice(index, 1);
  560. // this.basicForm2.medicineTypeChanges = this.basicForm2.medicineTypeChanges.filter(item =>
  561. // !this.ids.some(ele =>
  562. // ele.sort == item.sort))
  563. // }
  564. // },
  565. // testsave() {
  566. // console.log('暂存表格:', this.basicForm2.medicineTypeChanges)
  567. // console.log('暂存表单1', this.basicForm)
  568. // let params = {...this.basicForm, ...this.basicForm2}
  569. // console.log('暂存总表单', params)
  570. // },
  571. // 设置选中
  572. selectionsToInput(selections) {
  573. console.log('父组件拿到的:', selections)
  574. this.selectData = selections
  575. this.$emit('getInfo', this.selectData)
  576. getMaterialDetails(selections[0].id).then(res => {
  577. console.log('res', res)
  578. if (res.code === 200) {
  579. let data = res.data.data
  580. // 物料id
  581. this.basicForm.materialId = data.id
  582. // 物料分类Id
  583. this.basicForm.materialClassifyId = data.classifyId
  584. this.basicForm.materialCode = data.code
  585. this.basicForm.materialName = data.name
  586. this.basicForm.medicineMaterial = data.isMedicine
  587. this.basicForm.oneClass = data.oneClass
  588. this.basicForm.twoClass = data.twoClass
  589. this.basicForm.threeClass = data.threeClass
  590. this.basicForm.fourClass = data.fourClass
  591. this.basicForm.specification = data.specification
  592. this.basicForm.model = data.model
  593. this.basicForm.factory = data.manufacturerId
  594. this.basicForm.registrant = data.registrant
  595. this.basicForm.storageConditions = data.storageCondition
  596. this.basicForm.transportCondition = data.transportationCondition
  597. this.basicForm.leadTime = data.deliveryPeriod
  598. if (data.manufacturerId) {
  599. this.getFactoryDetails(data.manufacturerId)
  600. }
  601. if (data.medcines.length !== 0) {
  602. this.basicForm2.drug = data.medcines[0].isDrug
  603. this.basicForm2.registrationNo = data.medcines[0].registrationNo
  604. this.basicForm2.medicalDevices = data.medcines[0].medicalInstruments
  605. this.basicForm2.maintenanceType = data.medcines[0].curingType
  606. }
  607. // 控制医药属性是否能够填写
  608. if (this.basicForm.medicineMaterial == '0') {
  609. this.isControl = false
  610. } else {
  611. this.isControl = true
  612. }
  613. }
  614. })
  615. },
  616. // selectionsToInput2 (selections) {
  617. // console.log('选择的数据',selections)
  618. // this.basicForm.factory = selections[0].manufactureName
  619. // },
  620. // 显示列表
  621. test01() {
  622. console.log('测试点击')
  623. this.$refs.contractSelect.init()
  624. },
  625. // test02() {
  626. // console.log('测试弹窗2');
  627. // this.$refs.contractSelect2.init()
  628. // },
  629. // 选择生产厂家/代理人
  630. acceptFactory(selections) {
  631. console.log('选择的数据', selections)
  632. this.factoryOptions = selections
  633. this.basicForm.factory = selections[0].id
  634. this.getFactoryDetails(selections[0].id)
  635. },
  636. // 生产厂家/代理人显示列表
  637. chooseFactory() {
  638. this.$refs.factoryOrman.blur()
  639. this.$refs.factory.init()
  640. },
  641. // 选择四级分类
  642. acceptFourClass(selections) {
  643. console.log('收到的四级分类', selections)
  644. this.basicForm.materialClassifyId = selections.id
  645. this.getTreeDetails(selections.id)
  646. },
  647. // 四级分类显示列表
  648. chooseFourClass() {
  649. this.$refs.fourClass.init()
  650. },
  651. // 选择四级分类后需要根据id再次查询一下123级分类
  652. getTreeDetails(id) {
  653. getDetail(id).then(res => {
  654. if (res.code === 200) {
  655. this.basicForm.oneClass = res.data.oneClass
  656. this.basicForm.twoClass = res.data.twoClass
  657. this.basicForm.threeClass = res.data.threeClass
  658. this.basicForm.fourClass = res.data.fourClass
  659. }
  660. })
  661. },
  662. }
  663. }
  664. </script>
  665. <style lang="scss" scoped>
  666. .apply_add {
  667. height: calc(100vh - 84px);
  668. padding: 12px;
  669. box-sizing: border-box;
  670. overflow-y: auto;
  671. }
  672. .btn_group {
  673. width: 100%;
  674. margin: 20px 0;
  675. display: flex;
  676. justify-content: center;
  677. }
  678. </style>