血透系统PC前端

AddGroupAdvice.vue 49KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251
  1. <template>
  2. <div id="user-edit-group-advice">
  3. <el-dialog title="新增医嘱" :visible.sync="groupAddFormVisible" width="700px">
  4. <el-form ref="groupForm" :rules="groupRules" :model="groupForm" label-width="90px">
  5. <el-row>
  6. <el-col :span="12">
  7. <el-form-item label="医嘱类型 :" required prop="advice_type">
  8. <el-input value="临时" disabled></el-input>
  9. </el-form-item>
  10. </el-col>
  11. <el-col :span="12">
  12. <el-form-item label="开始时间 :" required prop="start_time" style="width:100%;">
  13. <el-date-picker
  14. type="datetime"
  15. format="yyyy-MM-dd HH:mm:ss"
  16. value-format="yyyy-MM-dd HH:mm:ss"
  17. placeholder="选择时间"
  18. v-model="groupForm.start_time"
  19. style="width:100%;"
  20. ></el-date-picker>
  21. </el-form-item>
  22. </el-col>
  23. </el-row>
  24. <el-form-item label="备注 :">
  25. <el-input type="textarea" v-model="groupForm.remark"></el-input>
  26. </el-form-item>
  27. <el-row>
  28. <el-col :span="12">
  29. <el-form-item label="开嘱医生 :">
  30. <span>{{adminusername}} </span>
  31. </el-form-item>
  32. </el-col>
  33. <el-col :span="12">
  34. <el-form-item label="开嘱时间 :">
  35. <span>{{groupForm.advice_date}} </span>
  36. </el-form-item>
  37. </el-col>
  38. </el-row>
  39. <el-row >
  40. <el-col :span="2">
  41. &nbsp;&nbsp;
  42. </el-col>
  43. <el-col :span="5">
  44. <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" round
  45. @click="openAdviceTemplate()">选择医嘱模板
  46. </el-button>
  47. </el-col>
  48. <el-col :span="5">
  49. <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" round
  50. @click="openGroupAdvice(0)">新增医嘱内容
  51. </el-button>
  52. </el-col>
  53. <el-col :span="5">
  54. <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" round
  55. @click="openGroupAdvice(1)">修改医嘱内容
  56. </el-button>
  57. </el-col>
  58. <el-col :span="5">
  59. <el-button :disabled="$store.getters.xt_user.subscibe.state==3?true:false" round
  60. @click="openDeleteGroupAdvice()">删除医嘱内容
  61. </el-button>
  62. </el-col>
  63. </el-row>
  64. <el-row>
  65. <el-col :span="24">
  66. <el-table
  67. id="user-edit-advice-name-table"
  68. :data="groupForm.adviceNames"
  69. border
  70. fit
  71. highlight-current-row
  72. :row-class-name="groupClassName"
  73. @current-change="selectGroupAdvice"
  74. style="width: 100%;margin-top: 10px;margin-bottom: 10px;"
  75. :row-key="getRowKey"
  76. ref="advicenametable"
  77. :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
  78. >
  79. <el-table-column
  80. label="医嘱名称"
  81. property="advice_name"
  82. style="word-break: keep-all;white-space:nowrap;"
  83. align="center"
  84. ></el-table-column>
  85. <el-table-column
  86. label="规格"
  87. property="advice_desc"
  88. align="center"
  89. ></el-table-column>
  90. <!-- <el-table-column label="药品规格*数量" min-width="80" property="drug_spec" align="center">
  91. <template slot-scope="scope">
  92. <span
  93. v-if="scope.row.drug_spec!=0"
  94. >{{scope.row.drug_spec}}{{scope.row.drug_spec_unit}}</span>
  95. <span
  96. vf-i="scope.row.prescribing_number!=0"
  97. >*{{scope.row.prescribing_number}}{{scope.row.prescribing_number_unit}}</span>
  98. </template>
  99. </el-table-column> -->
  100. <el-table-column label="开药数量" min-width="80" property="prescribing_number" align="center">
  101. <template slot-scope="scope">
  102. <span
  103. v-if="scope.row.prescribing_number!=0"
  104. >{{scope.row.prescribing_number}}{{scope.row.prescribing_number_unit}}</span>
  105. </template>
  106. </el-table-column>
  107. <el-table-column label="单次用量" min-width="80" property="single_dose" align="center">
  108. <template slot-scope="scope">
  109. <span
  110. v-if="scope.row.single_dose!=0"
  111. >{{scope.row.single_dose}}{{scope.row.single_dose_unit}}</span>
  112. </template>
  113. </el-table-column>
  114. <el-table-column label="给药途径" min-width="80" property="delivery_way" align="center">
  115. <template slot-scope="scope">
  116. <span v-if="scope.row.parent_row==0">{{scope.row.delivery_way}}</span>
  117. </template>
  118. </el-table-column>
  119. <el-table-column
  120. label="执行频率"
  121. min-width="80"
  122. property="execution_frequency"
  123. align="center"
  124. >
  125. <template slot-scope="scope">
  126. <span v-if="scope.row.parent_row==0">{{scope.row.execution_frequency}}</span>
  127. </template>
  128. </el-table-column>
  129. </el-table>
  130. </el-col>
  131. </el-row>
  132. </el-form>
  133. <div slot="footer" class="dialog-footer">
  134. <el-button
  135. :disabled="$store.getters.xt_user.subscibe.state==3 || groupForm.adviceNames.length == 0?true:false"
  136. type="primary"
  137. @click="submitgroupAdvice('groupForm')"
  138. >保 存
  139. </el-button>
  140. </div>
  141. </el-dialog>
  142. <el-dialog title="选择医嘱模板" :close-on-click-modal="false" :visible.sync="templateFormVisible" width="72%">
  143. <el-row :gutter="20">
  144. <el-col :span="8">
  145. <el-table
  146. :data="adviceTemplates"
  147. ref="templatetable"
  148. border
  149. :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
  150. highlight-current-row
  151. @current-change="templateTableChange"
  152. style="width: 100%">
  153. <el-table-column
  154. prop="name"
  155. align="center"
  156. label="模板名称">
  157. </el-table-column>
  158. </el-table>
  159. </el-col>
  160. <el-col :span="16">
  161. <el-table
  162. id='dialysis-add-select-template-table'
  163. :data="selectedTemp.list"
  164. border
  165. :span-method="spanselecttable"
  166. @select="selectAdvice"
  167. @select-all="selectAllTemplateAdvice"
  168. @selection-change="changeAdvice"
  169. row-key="row_key"
  170. ref="selecttemplatetable"
  171. style="width: 100%"
  172. :header-cell-style="{ backgroundColor: 'rgb(245, 247, 250)'}"
  173. >
  174. <el-table-column
  175. type="selection"
  176. align="center"
  177. width="55">
  178. </el-table-column>
  179. <el-table-column
  180. label="医嘱内容"
  181. property="advice_name"
  182. style="word-break: keep-all;white-space:nowrap;"
  183. align="center"
  184. ></el-table-column>
  185. <el-table-column
  186. label="规格"
  187. property="advice_desc"
  188. align="center"
  189. ></el-table-column>
  190. <el-table-column label="开药数量" min-width="80" property="prescribing_number" align="center">
  191. <template slot-scope="scope">
  192. <span
  193. v-if="scope.row.prescribing_number!=0"
  194. >{{scope.row.prescribing_number}}{{scope.row.prescribing_number_unit}}</span>
  195. </template>
  196. </el-table-column>
  197. <el-table-column label="单次用量" min-width="80" property="single_dose" align="center">
  198. <template slot-scope="scope">
  199. <span
  200. v-if="scope.row.single_dose!=0"
  201. >{{scope.row.single_dose}}{{scope.row.single_dose_unit}}</span>
  202. </template>
  203. </el-table-column>
  204. <el-table-column label="给药途径" min-width="80" property="delivery_way" align="center">
  205. <template slot-scope="scope">
  206. <span v-if="scope.row.parent_row==0">{{scope.row.delivery_way}}</span>
  207. </template>
  208. </el-table-column>
  209. <el-table-column
  210. label="执行频率"
  211. min-width="80"
  212. property="execution_frequency"
  213. align="center"
  214. >
  215. <template slot-scope="scope">
  216. <span v-if="scope.row.parent_row==0">{{scope.row.execution_frequency}}</span>
  217. </template>
  218. </el-table-column>
  219. </el-table>
  220. </el-col>
  221. </el-row>
  222. <div slot="footer" class="dialog-footer">
  223. <el-button @click="cancleDialog()">取消</el-button>
  224. <el-button
  225. :disabled="$store.getters.xt_user.subscibe.state==3?true:false"
  226. type="primary"
  227. @click="newAddTempForm()"
  228. >保 存
  229. </el-button>
  230. </div>
  231. </el-dialog>
  232. <el-dialog title="选择医嘱模板" :visible.sync="oldTemplateFormVisible" width="700px" >
  233. <el-form ref="templateForm" :rules="templateRules" :model="templateForm">
  234. <el-row>
  235. <el-col :span="24">
  236. <el-form-item prop="id">
  237. <el-select
  238. v-model="templateForm.id"
  239. filterable
  240. clearable
  241. placeholder="请选择(输入可搜索)"
  242. style="width:100%"
  243. >
  244. <el-option
  245. v-for="item in adviceTemplates"
  246. :key="item.id"
  247. :label="item.name"
  248. :value="item.id"
  249. ></el-option>
  250. </el-select>
  251. </el-form-item>
  252. </el-col>
  253. </el-row>
  254. </el-form>
  255. <div slot="footer" class="dialog-footer">
  256. <el-button @click="templateFormVisible = false">取消</el-button>
  257. <el-button
  258. :disabled="$store.getters.xt_user.subscibe.state==3?true:false"
  259. type="primary"
  260. @click="addTempForm('templateForm')"
  261. >保 存
  262. </el-button>
  263. </div>
  264. </el-dialog>
  265. <el-dialog :title="nameFormTitle" :visible.sync="nameFormVisible" width="854px">
  266. <el-form ref="nameForm" :rules="nameRules" :model="nameForm" label-width="90px">
  267. <el-row>
  268. <el-col :span="12">
  269. <el-form-item label="医嘱内容 :" required prop="advice_name">
  270. <el-input v-model="nameForm.advice_name"></el-input>
  271. </el-form-item>
  272. </el-col>
  273. <el-col :span="12">
  274. <el-form-item label="规格 :" prop="advice_desc">
  275. <el-input v-model="nameForm.advice_desc"></el-input>
  276. </el-form-item>
  277. <!-- <el-form-item label="药品规格 :" prop="drug_spec">
  278. <el-col :span="8">
  279. <el-input v-model="nameForm.drug_spec"></el-input>
  280. </el-col>
  281. <el-col class="line" :span="2">&nbsp;</el-col>
  282. <el-col :span="14">
  283. <el-select
  284. v-model="nameForm.drug_spec_unit"
  285. filterable
  286. clearable
  287. allow-create
  288. placeholder="选择"
  289. >
  290. <el-option
  291. v-for="item in unitsOption"
  292. :key="item.id"
  293. :label="item.name "
  294. :value="item.name"
  295. ></el-option>
  296. </el-select>
  297. </el-col>
  298. </el-form-item> -->
  299. </el-col>
  300. </el-row>
  301. <el-row>
  302. <el-col :span="12">
  303. <el-form-item label="单次用量 :" prop="single_dose">
  304. <el-col :span="8">
  305. <el-input v-model="nameForm.single_dose"></el-input>
  306. </el-col>
  307. <el-col class="line" :span="2">&nbsp;</el-col>
  308. <el-col :span="14">
  309. <el-select
  310. v-model="nameForm.single_dose_unit"
  311. filterable
  312. clearable
  313. allow-create
  314. placeholder="选择"
  315. >
  316. <el-option
  317. v-for="item in unitsOption"
  318. :key="item.id"
  319. :label="item.name "
  320. :value="item.name"
  321. ></el-option>
  322. </el-select>
  323. </el-col>
  324. </el-form-item>
  325. </el-col>
  326. <el-col :span="12">
  327. <el-form-item label="开药数量 :" prop="prescribing_number">
  328. <el-col :span="8">
  329. <el-input v-model="nameForm.prescribing_number"></el-input>
  330. </el-col>
  331. <el-col class="line" :span="2">&nbsp;</el-col>
  332. <el-col :span="14">
  333. <el-select
  334. v-model="nameForm.prescribing_number_unit"
  335. filterable
  336. clearable
  337. allow-create
  338. placeholder="选择"
  339. >
  340. <el-option
  341. v-for="item in unitsOption"
  342. :key="item.id"
  343. :label="item.name "
  344. :value="item.name"
  345. ></el-option>
  346. </el-select>
  347. </el-col>
  348. </el-form-item>
  349. </el-col>
  350. </el-row>
  351. <el-row>
  352. <el-col :span="12">
  353. <el-form-item label="给药途径 :" prop="delivery_way">
  354. <el-select
  355. v-model="nameForm.delivery_way"
  356. filterable
  357. clearable
  358. allow-create
  359. :disabled="isChild"
  360. placeholder="请选择(输入可搜索)"
  361. style="width:100%"
  362. >
  363. <el-option
  364. v-for="item in deliveryWayOptions"
  365. :key="item.id"
  366. :label="item.name "
  367. :value="item.name"
  368. ></el-option>
  369. </el-select>
  370. </el-form-item>
  371. </el-col>
  372. <el-col :span="12">
  373. <el-form-item label="执行频率 :" prop="execution_frequency">
  374. <el-select
  375. v-model="nameForm.execution_frequency"
  376. filterable
  377. clearable
  378. allow-create
  379. :disabled="isChild"
  380. placeholder="请选择(输入可搜索)"
  381. style="width:100%"
  382. >
  383. <el-option
  384. v-for="item in executionFrequencyOptions"
  385. :key="item.id"
  386. :label="item.name"
  387. :value="item.name"
  388. ></el-option>
  389. </el-select>
  390. </el-form-item>
  391. </el-col>
  392. </el-row>
  393. </el-form>
  394. <div slot="footer" class="dialog-footer">
  395. <el-button @click="nameFormVisible = false">取消</el-button>
  396. <el-button
  397. :disabled="$store.getters.xt_user.subscibe.state==3?true:false"
  398. type="primary"
  399. @click="submitNameForm('nameForm')"
  400. >保 存
  401. </el-button>
  402. </div>
  403. </el-dialog>
  404. </div>
  405. </template>
  406. <script>
  407. import {
  408. CreateDoctorAdvice,
  409. CreateGroupAdvice,
  410. DeleteDoctorAdvice,
  411. DeleteGroupAdvice,
  412. EditDoctorAdvice,
  413. getAdviceConfig,
  414. getDoctorAdviceList,
  415. StopDoctorAdvice
  416. } from '@/api/advice'
  417. export default {
  418. name: 'AddGroupAdvice',
  419. data() {
  420. return {
  421. editRowKey: 0,
  422. oldTemplateFormVisible: false,
  423. templateFormVisible: false,
  424. groupAddFormVisible: false,
  425. nameFormVisible: false,
  426. groupSelectRow: null,
  427. nameFormTitle: '',
  428. isChild: false,
  429. isEdit: false,
  430. adminusername: '',
  431. groupRules: {
  432. advice_type: [{ required: true, message: '请选择医嘱类型' }],
  433. advice_date: [{ required: true, message: '请选择医嘱时间' }],
  434. start_time: [{ required: true, message: '请选择开始时间' }],
  435. advice_name: [{ required: true, message: '请填写医嘱名称' }],
  436. advice_doctor: [{ required: true, message: '请选择开嘱医生' }]
  437. },
  438. nameRules: {
  439. advice_name: [{ required: true, message: '请填写医嘱内容' }]
  440. },
  441. templateRules: {
  442. id: [{ required: true, message: '请选择医嘱模板' }]
  443. },
  444. templateForm: { id: '' },
  445. nameForm: {
  446. advice_name: '',
  447. advice_desc: '',
  448. single_dose: '',
  449. single_dose_unit: '',
  450. drug_spec: '',
  451. drug_spec_unit: '',
  452. prescribing_number: '',
  453. prescribing_number_unit: '',
  454. delivery_way: '',
  455. execution_frequency: '',
  456. isEdit: 0,
  457. index: 0,
  458. id: 0,
  459. children: []
  460. },
  461. submitGroupForm: {
  462. advice_type: '',
  463. advice_date: '',
  464. start_time: '',
  465. adviceNames: [],
  466. advice_doctor: '',
  467. remark: '',
  468. parent_id: 0
  469. },
  470. groupForm: {
  471. advice_type: '',
  472. advice_date: '',
  473. start_time: '',
  474. adviceNames: [],
  475. advice_doctor: '',
  476. remark: '',
  477. parent_id: 0
  478. },
  479. selectedTemp: { 'id': 0, name: '', org_id: 0, 'list': [], 'rows': [] },
  480. selectedTemplate: [],
  481. allSelectedTemplate: []
  482. }
  483. },
  484. props: {
  485. patientID: 0,
  486. adviceType: 0,
  487. rowKey: 0,
  488. adviceTemplates: {
  489. type: Array,
  490. default: function() {
  491. return []
  492. }
  493. },
  494. recordDate: '',
  495. adviceTypeOptions: {
  496. type: Array,
  497. default: function() {
  498. return []
  499. }
  500. },
  501. deliveryWayOptions: {
  502. type: Array,
  503. default: () => []
  504. },
  505. unitsOption: {
  506. type: Array,
  507. default: function() {
  508. return []
  509. }
  510. },
  511. executionFrequencyOptions: {
  512. type: Array,
  513. default: function() {
  514. return []
  515. }
  516. },
  517. adviceTemplateMaps: {
  518. type: Object,
  519. default: function() {
  520. return {}
  521. }
  522. },
  523. adviceTableData: {
  524. type: Array,
  525. default: function() {
  526. return []
  527. }
  528. }
  529. },
  530. methods: {
  531. submitgroupAdvice(formName) {
  532. this.$refs[formName].validate((valid) => {
  533. if (valid) {
  534. var submitForm = {
  535. advice_type: this.groupForm.advice_type,
  536. advice_date: this.groupForm.advice_date,
  537. start_time: this.groupForm.start_time,
  538. adviceNames: [],
  539. advice_doctor: this.groupForm.advice_doctor,
  540. remark: this.groupForm.remark,
  541. parent_id: this.groupForm.parent_id
  542. }
  543. var adviceNames = []
  544. for (const index in this.groupForm.adviceNames) {
  545. adviceNames.unshift(this.groupForm.adviceNames[index])
  546. }
  547. submitForm.adviceNames = adviceNames
  548. CreateGroupAdvice(this.patientID, 0, submitForm).then(response => {
  549. if (response.data.state == 0) {
  550. this.$message.error(response.data.msg)
  551. return false
  552. } else {
  553. this.$notify({
  554. title: '成功',
  555. message: '新增成功',
  556. type: 'success',
  557. duration: 2000
  558. })
  559. var childMap = {}
  560. for (const index in response.data.data.advices) {
  561. if (response.data.data.advices[index].parent_id == 0) {
  562. continue
  563. }
  564. if ((response.data.data.advices[index].parent_id in childMap) === false) {
  565. childMap[response.data.data.advices[index].parent_id] = []
  566. }
  567. childMap[response.data.data.advices[index].parent_id].unshift(response.data.data.advices[index])
  568. }
  569. var parentArr = []
  570. for (const index in response.data.data.advices) {
  571. if (response.data.data.advices[index].parent_id > 0) {
  572. continue
  573. }
  574. parentArr.push(response.data.data.advices[index])
  575. }
  576. for (const index in parentArr) {
  577. if (parentArr[index].id in childMap) {
  578. for (const j in childMap[parentArr[index].id]) {
  579. this.adviceTableData.unshift(childMap[parentArr[index].id][j])
  580. }
  581. }
  582. this.adviceTableData.unshift(parentArr[index])
  583. }
  584. // var alen = response.data.data.advices.length
  585. // for (let index = alen-1; index >=0; index--) {
  586. // this.adviceTableData.unshift(response.data.data.advices[index]);
  587. // }
  588. this.resetForm(formName)
  589. this.groupAddFormVisible = false
  590. return false
  591. }
  592. })
  593. }
  594. })
  595. },
  596. openDeleteGroupAdvice() {
  597. if (this.groupSelectRow === null) {
  598. this.$message.error("未选择要删除的医嘱内容")
  599. return
  600. }
  601. var content = ''
  602. if (this.groupSelectRow.children.length > 0) {
  603. content = '确认删除此医嘱内容,包括它的子药?'
  604. } else {
  605. content = '确认删除此医嘱内容?'
  606. }
  607. var isChild = !!this.groupSelectRow.parent_row
  608. var title = isChild ? '删除子药内容' : '删除医嘱内容'
  609. var msg = isChild ? '确认删除此子药内容?' : content
  610. this.$confirm(msg, title, {
  611. confirmButtonText: '确定',
  612. cancelButtonText: '取消',
  613. type: 'warning'
  614. }).then(() => {
  615. if (isChild) {
  616. for (const index in this.groupForm.adviceNames) {
  617. if (this.groupForm.adviceNames[index].row_key == this.groupSelectRow.parent_row) {
  618. for (const j in this.groupForm.adviceNames[index].children) {
  619. if (this.groupForm.adviceNames[index].children[j].row_key == this.groupSelectRow.row_key) {
  620. this.groupForm.adviceNames[index].children.splice(j, 1)
  621. this.$set(this.groupForm.adviceNames, index, this.groupForm.adviceNames[index])
  622. break
  623. }
  624. }
  625. }
  626. }
  627. } else {
  628. for (const index in this.groupForm.adviceNames) {
  629. if (this.groupForm.adviceNames[index].row_key == this.groupSelectRow.row_key) {
  630. this.groupForm.adviceNames.splice(index, 1)
  631. break
  632. }
  633. }
  634. }
  635. }).catch(() => {
  636. })
  637. },
  638. submitNameForm(formName) {
  639. var _this = this
  640. this.$refs[formName].validate((valid) => {
  641. if (valid) {
  642. if (_this.nameForm.isEdit) {
  643. var ale = _this.groupForm.adviceNames.length
  644. if (_this.isChild) {
  645. for (let index = 0; index < ale; index++) {
  646. if (_this.groupSelectRow.parent_row == _this.groupForm.adviceNames[index].row_key) {
  647. var cle = _this.groupForm.adviceNames[index].children.length
  648. var children = _this.groupForm.adviceNames[index].children
  649. for (let j = 0; j < ale; j++) {
  650. if (_this.groupSelectRow.row_key == children[j].row_key) {
  651. _this.groupForm.adviceNames[index].children[j].advice_name = _this.nameForm.advice_name
  652. _this.groupForm.adviceNames[index].children[j].advice_desc = _this.nameForm.advice_desc
  653. _this.groupForm.adviceNames[index].children[j].single_dose = '' + _this.nameForm.single_dose
  654. _this.groupForm.adviceNames[index].children[j].single_dose_unit = _this.nameForm.single_dose_unit
  655. _this.groupForm.adviceNames[index].children[j].drug_spec = '' + _this.nameForm.drug_spec
  656. _this.groupForm.adviceNames[index].children[j].drug_spec_unit = _this.nameForm.drug_spec_unit
  657. _this.groupForm.adviceNames[index].children[j].prescribing_number = '' + _this.nameForm.prescribing_number
  658. _this.groupForm.adviceNames[index].children[j].prescribing_number_unit = _this.nameForm.prescribing_number_unit
  659. _this.groupForm.adviceNames[index].children[j].delivery_way = _this.nameForm.delivery_way
  660. _this.groupForm.adviceNames[index].children[j].execution_frequency = _this.nameForm.execution_frequency
  661. _this.$set(_this.groupForm.adviceNames[index].children, j, _this.groupForm.adviceNames[index].children[j])
  662. break
  663. }
  664. }
  665. }
  666. }
  667. } else {
  668. for (let index = 0; index < ale; index++) {
  669. if (_this.groupSelectRow.row_key == _this.groupForm.adviceNames[index].row_key) {
  670. _this.groupForm.adviceNames[index].advice_name = _this.nameForm.advice_name
  671. _this.groupForm.adviceNames[index].advice_desc = _this.nameForm.advice_desc
  672. _this.groupForm.adviceNames[index].single_dose = '' + _this.nameForm.single_dose
  673. _this.groupForm.adviceNames[index].single_dose_unit = _this.nameForm.single_dose_unit
  674. _this.groupForm.adviceNames[index].drug_spec = '' + _this.nameForm.drug_spec
  675. _this.groupForm.adviceNames[index].drug_spec_unit = _this.nameForm.drug_spec_unit
  676. _this.groupForm.adviceNames[index].prescribing_number = '' + _this.nameForm.prescribing_number
  677. _this.groupForm.adviceNames[index].prescribing_number_unit = _this.nameForm.prescribing_number_unit
  678. _this.groupForm.adviceNames[index].delivery_way = _this.nameForm.delivery_way
  679. _this.groupForm.adviceNames[index].execution_frequency = _this.nameForm.execution_frequency
  680. _this.$set(_this.groupForm.adviceNames, index, _this.groupForm.adviceNames[index])
  681. break
  682. }
  683. }
  684. }
  685. } else {
  686. if (_this.isChild) {
  687. _this.editRowKey++
  688. _this.nameForm.row_key = _this.editRowKey
  689. var ale = _this.groupForm.adviceNames.length
  690. for (let index = 0; index < ale; index++) {
  691. if (_this.nameForm.parent_row == _this.groupForm.adviceNames[index].row_key) {
  692. _this.groupForm.adviceNames[index].children.push(_this.nameForm)
  693. _this.$set(_this.groupForm.adviceNames, index, _this.groupForm.adviceNames[index])
  694. break
  695. }
  696. }
  697. } else {
  698. _this.editRowKey++
  699. _this.nameForm.row_key = _this.editRowKey
  700. _this.groupForm.adviceNames.push(_this.nameForm)
  701. }
  702. }
  703. _this.nameFormVisible = false
  704. }
  705. })
  706. console.log(_this.groupForm.adviceNames)
  707. },
  708. openGroupChild() {
  709. if (this.groupSelectRow === null) {
  710. this.$message.error("未选择医嘱内容,无法添加子药")
  711. return
  712. } else if (this.groupSelectRow.parent_row > 0) {
  713. this.$notify.error({
  714. title: '错误',
  715. message: '子药不能添加子药'
  716. })
  717. return
  718. }
  719. this.nameForm = {
  720. advice_name: '',
  721. advice_desc: '',
  722. single_dose: '',
  723. single_dose_unit: '',
  724. drug_spec: '',
  725. drug_spec_unit: '',
  726. prescribing_number: '',
  727. prescribing_number_unit: '',
  728. delivery_way: this.groupSelectRow.delivery_way,
  729. execution_frequency: this.groupSelectRow.execution_frequency,
  730. isEdit: 0,
  731. index: 0,
  732. children: [],
  733. parent_row: this.groupSelectRow.row_key,
  734. id: 0
  735. }
  736. this.isChild = true
  737. this.nameFormVisible = true
  738. this.nameFormTitle = '添加子药内容'
  739. },
  740. openGroupAdvice(isEdit) {
  741. this.isChild = false
  742. if (isEdit) {
  743. if (this.groupSelectRow === null) {
  744. this.$message.error("未选择要修改的医嘱内容")
  745. return
  746. }
  747. if (this.groupSelectRow.parent_row) {
  748. this.isChild = true
  749. }
  750. this.nameForm = {
  751. advice_name: this.groupSelectRow.advice_name,
  752. advice_desc: this.groupSelectRow.advice_desc,
  753. single_dose: this.groupSelectRow.single_dose != 0 ? this.groupSelectRow.single_dose : '',
  754. single_dose_unit: this.groupSelectRow.single_dose_unit,
  755. drug_spec: this.groupSelectRow.drug_spec != 0 ? this.groupSelectRow.drug_spec : '',
  756. drug_spec_unit: this.groupSelectRow.drug_spec_unit,
  757. prescribing_number: this.groupSelectRow.prescribing_number != 0 ? this.groupSelectRow.prescribing_number : '',
  758. prescribing_number_unit: this.groupSelectRow.prescribing_number_unit,
  759. delivery_way: this.isChild ? '' : this.groupSelectRow.delivery_way,
  760. execution_frequency: this.isChild ? '' : this.groupSelectRow.execution_frequency,
  761. isEdit: 1,
  762. index: this.groupSelectRow.index,
  763. id: this.groupSelectRow.id,
  764. children: [],
  765. parent_row: this.groupSelectRow.parent_row
  766. // row_key:this.groupSelectRow.row_key,
  767. }
  768. this.nameFormTitle = '修改医嘱内容'
  769. } else {
  770. this.nameForm = {
  771. advice_name: '',
  772. advice_desc: '',
  773. single_dose: '',
  774. single_dose_unit: '',
  775. drug_spec: '',
  776. drug_spec_unit: '',
  777. prescribing_number: '',
  778. prescribing_number_unit: '',
  779. delivery_way: '',
  780. execution_frequency: '',
  781. isEdit: 0,
  782. index: 0,
  783. id: 0,
  784. children: [],
  785. parent_row: 0
  786. }
  787. this.nameFormTitle = '添加医嘱内容'
  788. }
  789. this.nameFormVisible = true
  790. },
  791. changeAdvice(selection) {
  792. this.selectedTemplate = selection
  793. },
  794. selectAdvice(selection, row) {
  795. // this.selectedTemplate = [];
  796. console.log(selection)
  797. var adviceArray = this.adviceTemplateMaps[this.selectedTemp.id].DoctorAdviceTemplate
  798. console.log(adviceArray)
  799. for (let y = 0; y < adviceArray.length; y++) {
  800. adviceArray[y].selection = false
  801. }
  802. if (selection.length > 0) {
  803. for (let y = 0; y < adviceArray.length; y++) {
  804. for (let i = 0; i < selection.length; i++) {
  805. if (adviceArray[y].id == selection[i].advice_id) {
  806. adviceArray[y].selection = true
  807. }
  808. }
  809. }
  810. }
  811. console.log(adviceArray)
  812. if (row.children.length > 0) {
  813. for (const index in row.children) {
  814. this.$refs.selecttemplatetable.toggleRowSelection(row.children[index])
  815. }
  816. }
  817. // 下面两步的作用是为了上选中的数据的输出顺序不变
  818. for (const index in this.selectedTemp.list) {
  819. this.$refs.selecttemplatetable.toggleRowSelection(this.selectedTemp.list[index])
  820. if (this.selectedTemp.list[index].children.length > 0) {
  821. for (const j in this.selectedTemp.list[index].children) {
  822. this.$refs.selecttemplatetable.toggleRowSelection(this.selectedTemp.list[index].children[j])
  823. }
  824. }
  825. }
  826. for (const index in this.selectedTemp.list) {
  827. this.$refs.selecttemplatetable.toggleRowSelection(this.selectedTemp.list[index])
  828. if (this.selectedTemp.list[index].children.length > 0) {
  829. for (const j in this.selectedTemp.list[index].children) {
  830. this.$refs.selecttemplatetable.toggleRowSelection(this.selectedTemp.list[index].children[j])
  831. }
  832. }
  833. }
  834. },
  835. spanselecttable({ row, column, rowIndex, columnIndex }) {
  836. if (columnIndex == 0) {
  837. const _row = this.selectedTemp.rows[rowIndex]
  838. const _col = _row > 0 ? 1 : 0
  839. return {
  840. rowspan: _row,
  841. colspan: _col
  842. }
  843. }
  844. },
  845. calcselectedTemp() {
  846. var rowKeys = 0
  847. for (const index in this.selectedTemp.list) {
  848. var pkey = rowKeys
  849. this.selectedTemp.rows[rowKeys] = 1
  850. if (this.selectedTemp.list[index].children.length > 0) {
  851. for (const childindex in this.selectedTemp.list[index].children) {
  852. rowKeys++
  853. this.selectedTemp.rows[pkey] += 1
  854. this.selectedTemp.rows[rowKeys] = 0
  855. }
  856. }
  857. rowKeys++
  858. this.$nextTick(function() {
  859. if (this.selectedTemp.list[index].selection) {
  860. this.$refs.selecttemplatetable.toggleRowSelection(this.selectedTemp.list[index])
  861. }
  862. })
  863. }
  864. },
  865. templateTableChange(currentRow, oldCurrentRow) {
  866. this.selectedTemp = { 'id': 0, name: '', org_id: 0, 'list': [], 'rows': [] }
  867. if (currentRow == null) {
  868. return false
  869. }
  870. this.selectedTemp.id = currentRow.id
  871. this.selectedTemp.name = currentRow.name
  872. this.selectedTemp.org_id = currentRow.org_id
  873. if (this.selectedTemp.id in this.adviceTemplateMaps) {
  874. var mapid = this.selectedTemp.id
  875. var thisRowKey = 0
  876. for (const index in this.adviceTemplateMaps[mapid].DoctorAdviceTemplate) {
  877. thisRowKey++
  878. var item = {
  879. advice_name: this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].advice_name,
  880. advice_desc: this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].advice_desc,
  881. single_dose: '' + this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].single_dose,
  882. single_dose_unit: this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].single_dose_unit,
  883. drug_spec: '' + this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].drug_spec,
  884. drug_spec_unit: this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].drug_spec_unit,
  885. prescribing_number: '' + this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].prescribing_number,
  886. prescribing_number_unit: this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].prescribing_number_unit,
  887. delivery_way: this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].delivery_way,
  888. execution_frequency: this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].execution_frequency,
  889. selection: this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].selection,
  890. advice_id: this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].id,
  891. isEdit: 0,
  892. id: 0,
  893. children: [],
  894. parent_row: 0,
  895. row_key: thisRowKey
  896. }
  897. if ('children' in this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index] && this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].children.length > 0) {
  898. var parentRow = thisRowKey
  899. var children = this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].children
  900. for (const key in children) {
  901. thisRowKey++
  902. var child = {
  903. advice_id: children[key].id,
  904. advice_name: children[key].advice_name,
  905. advice_desc: children[key].advice_desc,
  906. single_dose: '' + children[key].single_dose,
  907. single_dose_unit: children[key].single_dose_unit,
  908. drug_spec: '' + children[key].drug_spec,
  909. drug_spec_unit: children[key].drug_spec_unit,
  910. prescribing_number: '' + children[key].prescribing_number,
  911. prescribing_number_unit: children[key].prescribing_number_unit,
  912. delivery_way: children[key].delivery_way,
  913. execution_frequency: children[key].execution_frequency,
  914. isEdit: 0,
  915. id: 0,
  916. children: [],
  917. parent_row: parentRow,
  918. row_key: thisRowKey
  919. }
  920. item.children.push(child)
  921. }
  922. this.$set(item, 'children', item.children)
  923. }
  924. this.selectedTemp.list.unshift(item)
  925. }
  926. }
  927. },
  928. newAddTempForm() {
  929. this.allSelectedTemplate = []
  930. var thisRowKey = 0
  931. for (const indexs in this.adviceTemplateMaps) {
  932. const adviceTemplate = this.adviceTemplateMaps[indexs]
  933. for (const index in adviceTemplate.DoctorAdviceTemplate) {
  934. if (adviceTemplate.DoctorAdviceTemplate[index].selection) {
  935. thisRowKey++
  936. var item = {
  937. advice_name: adviceTemplate.DoctorAdviceTemplate[index].advice_name,
  938. advice_desc: adviceTemplate.DoctorAdviceTemplate[index].advice_desc,
  939. single_dose: '' + adviceTemplate.DoctorAdviceTemplate[index].single_dose,
  940. single_dose_unit: adviceTemplate.DoctorAdviceTemplate[index].single_dose_unit,
  941. drug_spec: '' + adviceTemplate.DoctorAdviceTemplate[index].drug_spec,
  942. drug_spec_unit: adviceTemplate.DoctorAdviceTemplate[index].drug_spec_unit,
  943. prescribing_number: '' + adviceTemplate.DoctorAdviceTemplate[index].prescribing_number,
  944. prescribing_number_unit: adviceTemplate.DoctorAdviceTemplate[index].prescribing_number_unit,
  945. delivery_way: adviceTemplate.DoctorAdviceTemplate[index].delivery_way,
  946. execution_frequency: adviceTemplate.DoctorAdviceTemplate[index].execution_frequency,
  947. advice_id: adviceTemplate.DoctorAdviceTemplate[index].id,
  948. selection: adviceTemplate.DoctorAdviceTemplate[index].selection,
  949. isEdit: 0,
  950. id: 0,
  951. children: [],
  952. parent_row: 0,
  953. row_key: thisRowKey
  954. }
  955. if ('children' in adviceTemplate.DoctorAdviceTemplate[index] && adviceTemplate.DoctorAdviceTemplate[index].children.length > 0) {
  956. var parentRow = thisRowKey
  957. var children = adviceTemplate.DoctorAdviceTemplate[index].children
  958. for (const key in children) {
  959. thisRowKey++
  960. var child = {
  961. advice_id: children[key].id,
  962. advice_name: children[key].advice_name,
  963. advice_desc: children[key].advice_desc,
  964. single_dose: '' + children[key].single_dose,
  965. single_dose_unit: children[key].single_dose_unit,
  966. drug_spec: '' + children[key].drug_spec,
  967. drug_spec_unit: children[key].drug_spec_unit,
  968. prescribing_number: '' + children[key].prescribing_number,
  969. prescribing_number_unit: children[key].prescribing_number_unit,
  970. delivery_way: children[key].delivery_way,
  971. execution_frequency: children[key].execution_frequency,
  972. isEdit: 0,
  973. id: 0,
  974. children: [],
  975. parent_row: parentRow,
  976. row_key: thisRowKey
  977. }
  978. item.children.push(child)
  979. this.allSelectedTemplate.unshift(child)
  980. }
  981. this.$set(item, 'children', item.children)
  982. }
  983. this.allSelectedTemplate.unshift(item)
  984. adviceTemplate.DoctorAdviceTemplate[index].selection = false
  985. }
  986. }
  987. }
  988. var childMap = {}
  989. for (const index in this.allSelectedTemplate) {
  990. if (this.allSelectedTemplate[index].parent_row > 0) {
  991. if (!(this.allSelectedTemplate[index].parent_row in childMap)) {
  992. childMap[this.allSelectedTemplate[index].parent_row] = []
  993. }
  994. childMap[this.allSelectedTemplate[index].parent_row].push(this.allSelectedTemplate[index])
  995. }
  996. }
  997. for (const index in this.allSelectedTemplate) {
  998. if (this.allSelectedTemplate[index].parent_row > 0) {
  999. continue
  1000. }
  1001. this.editRowKey++
  1002. var item = {
  1003. advice_name: this.allSelectedTemplate[index].advice_name,
  1004. advice_desc: this.allSelectedTemplate[index].advice_desc,
  1005. single_dose: '' + this.allSelectedTemplate[index].single_dose,
  1006. single_dose_unit: this.allSelectedTemplate[index].single_dose_unit,
  1007. drug_spec: '' + this.allSelectedTemplate[index].drug_spec,
  1008. drug_spec_unit: this.allSelectedTemplate[index].drug_spec_unit,
  1009. prescribing_number: '' + this.allSelectedTemplate[index].prescribing_number,
  1010. prescribing_number_unit: this.allSelectedTemplate[index].prescribing_number_unit,
  1011. delivery_way: this.allSelectedTemplate[index].delivery_way,
  1012. execution_frequency: this.allSelectedTemplate[index].execution_frequency,
  1013. isEdit: 0,
  1014. id: 0,
  1015. children: [],
  1016. parent_row: 0,
  1017. row_key: this.editRowKey
  1018. }
  1019. if (this.allSelectedTemplate[index].children.length > 0) {
  1020. if (this.allSelectedTemplate[index].row_key in childMap) {
  1021. var parentRow = this.editRowKey
  1022. var children = childMap[this.allSelectedTemplate[index].row_key]
  1023. for (const key in children) {
  1024. this.editRowKey++
  1025. var child = {
  1026. advice_name: children[key].advice_name,
  1027. advice_desc: children[key].advice_desc,
  1028. single_dose: '' + children[key].single_dose,
  1029. single_dose_unit: children[key].single_dose_unit,
  1030. drug_spec: '' + children[key].drug_spec,
  1031. drug_spec_unit: children[key].drug_spec_unit,
  1032. prescribing_number: '' + children[key].prescribing_number,
  1033. prescribing_number_unit: children[key].prescribing_number_unit,
  1034. delivery_way: children[key].delivery_way,
  1035. execution_frequency: children[key].execution_frequency,
  1036. isEdit: 0,
  1037. id: 0,
  1038. children: [],
  1039. parent_row: parentRow,
  1040. row_key: this.editRowKey
  1041. }
  1042. item.children.push(child)
  1043. }
  1044. this.$set(item, 'children', item.children)
  1045. }
  1046. }
  1047. this.groupForm.adviceNames.push(item)
  1048. }
  1049. this.templateFormVisible = false
  1050. },
  1051. addTempForm(formName) {
  1052. var _this = this
  1053. this.$refs[formName].validate((valid) => {
  1054. if (valid) {
  1055. if (_this.templateForm.id in _this.adviceTemplateMaps) {
  1056. var mapid = _this.templateForm.id
  1057. for (const index in _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate) {
  1058. this.editRowKey++
  1059. var item = {
  1060. advice_name: _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].advice_name,
  1061. advice_desc: _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].advice_desc,
  1062. single_dose: '' + _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].single_dose,
  1063. single_dose_unit: _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].single_dose_unit,
  1064. drug_spec: '' + _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].drug_spec,
  1065. drug_spec_unit: _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].drug_spec_unit,
  1066. prescribing_number: '' + _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].prescribing_number,
  1067. prescribing_number_unit: _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].prescribing_number_unit,
  1068. delivery_way: _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].delivery_way,
  1069. execution_frequency: _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].execution_frequency,
  1070. isEdit: 0,
  1071. id: 0,
  1072. children: [],
  1073. parent_row: 0,
  1074. row_key: this.editRowKey
  1075. }
  1076. if ('children' in _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index] && _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].children) {
  1077. var parentRow = this.editRowKey
  1078. var children = _this.adviceTemplateMaps[mapid].DoctorAdviceTemplate[index].children
  1079. for (const key in children) {
  1080. this.editRowKey++
  1081. var child = {
  1082. advice_name: children[key].advice_name,
  1083. advice_desc: children[key].advice_desc,
  1084. single_dose: '' + children[key].single_dose,
  1085. single_dose_unit: children[key].single_dose_unit,
  1086. drug_spec: '' + children[key].drug_spec,
  1087. drug_spec_unit: children[key].drug_spec_unit,
  1088. prescribing_number: '' + children[key].prescribing_number,
  1089. prescribing_number_unit: children[key].prescribing_number_unit,
  1090. delivery_way: children[key].delivery_way,
  1091. execution_frequency: children[key].execution_frequency,
  1092. isEdit: 0,
  1093. id: 0,
  1094. children: [],
  1095. parent_row: parentRow,
  1096. row_key: this.editRowKey
  1097. }
  1098. item.children.push(child)
  1099. }
  1100. _this.$set(item, 'children', item.children)
  1101. }
  1102. _this.groupForm.adviceNames.unshift(item)
  1103. }
  1104. }
  1105. _this.templateFormVisible = false
  1106. }
  1107. })
  1108. },
  1109. openAdviceTemplate() {
  1110. this.templateForm = { id: '' }
  1111. this.selectedTemp = { 'id': 0, name: '', org_id: 0, 'list': [], 'rows': [] }
  1112. this.selectedTemplate = []
  1113. if (typeof (this.$refs.templatetable) !== 'undefined') {
  1114. this.$refs.templatetable.setCurrentRow(null)
  1115. }
  1116. this.templateFormVisible = true
  1117. },
  1118. selectGroupAdvice(row) {
  1119. this.groupSelectRow = row
  1120. },
  1121. groupClassName({ row, rowIndex }) {
  1122. row.index = rowIndex
  1123. },
  1124. getRowKey(row) {
  1125. return row.row_key
  1126. },
  1127. resetForm(formName) {
  1128. this.$refs[formName].resetFields()
  1129. },
  1130. open() {
  1131. this.groupAddFormVisible = true
  1132. this.groupSelectRow = null
  1133. if (typeof (this.$refs.advicenametable) !== 'undefined') {
  1134. this.$refs.advicenametable.setCurrentRow(null)
  1135. }
  1136. this.editRowKey = 0
  1137. this.groupForm = {
  1138. advice_type: 2,
  1139. advice_date: this.recordDate,
  1140. start_time: '',
  1141. adviceNames: [],
  1142. advice_doctor: '',
  1143. remark: '',
  1144. parent_id: 0
  1145. }
  1146. var xtuser = this.$store.getters.xt_user
  1147. // this.orgname = xtuser.org.org_name;
  1148. this.adminusername = xtuser.user.user_name
  1149. }, selectAllTemplateAdvice(selection) {
  1150. var adviceArray = this.adviceTemplateMaps[this.selectedTemp.id].DoctorAdviceTemplate
  1151. for (let y = 0; y < adviceArray.length; y++) {
  1152. adviceArray[y].selection = false
  1153. }
  1154. if (selection.length > 0) {
  1155. for (let y = 0; y < adviceArray.length; y++) {
  1156. for (let i = 0; i < selection.length; i++) {
  1157. if (adviceArray[y].id == selection[i].advice_id) {
  1158. adviceArray[y].selection = true
  1159. }
  1160. }
  1161. }
  1162. }
  1163. }, cancleDialog() {
  1164. this.templateFormVisible = false
  1165. for (const indexs in this.adviceTemplateMaps) {
  1166. const adviceTemplate = this.adviceTemplateMaps[indexs]
  1167. for (const index in adviceTemplate.DoctorAdviceTemplate) {
  1168. adviceTemplate.DoctorAdviceTemplate[index].selection = false
  1169. }
  1170. }
  1171. }
  1172. },
  1173. watch: {
  1174. 'selectedTemp.list': function() {
  1175. this.calcselectedTemp()
  1176. }
  1177. }
  1178. }
  1179. </script>
  1180. <style>
  1181. #user-edit-advice-name-table .el-table__row {
  1182. display: table-row !important;
  1183. }
  1184. #user-edit-advice-name-table .el-table__expand-icon {
  1185. -webkit-transform: rotate(90deg) !important;
  1186. transform: rotate(90deg) !important;
  1187. }
  1188. #dialysis-add-select-template-table .el-table__row {
  1189. display: table-row !important;
  1190. }
  1191. #dialysis-add-select-template-table .el-table__expand-icon {
  1192. -webkit-transform: rotate(90deg) !important;
  1193. transform: rotate(90deg) !important;
  1194. }
  1195. </style>