Elizabeth's proactive approach involves introducing urinal toilet attachment , an ingenious concept that optimizes space and functionality.

vascularAccess.vue 32KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838
  1. <template>
  2. <div class="patient-container">
  3. <patient-sidebar :id="patientID" defaultActive="1-6" v-on:tran-patient="onTranPatient"></patient-sidebar>
  4. <div class="patient-app-container advice-container app-container">
  5. <div style="display:flex;justify-content: space-between;align-items: center;margin-bottom: 12px;">
  6. <span style="font-weight:bold;">血管通路列表</span>
  7. <el-button size="medium" type="primary" @click="dialogVisible =true">新增</el-button>
  8. </div>
  9. <el-table class="oictable" :data="tableData" border style="width:100%">
  10. <el-table-column prop="start_time" label="建立日期" width="100" align="center">
  11. <template slot-scope="scope">
  12. <span>{{ getTime(scope.row.start_time, "{y}-{m}-{d}")}}</span>
  13. </template>
  14. </el-table-column>
  15. <el-table-column prop="blood_access_part_opera_id" label="血管通路" align="center" width="120">
  16. <template slot-scope="scope">
  17. <router-link
  18. :to="'/patients/patient/' + scope.row.patient_id+'/vascularAccessDetail/'+scope.row.id"
  19. style="color:#409eff;width:100%;display:block;"
  20. >{{ scope.row.blood_access_part_opera_id }}
  21. </router-link
  22. >
  23. </template>
  24. </el-table-column>
  25. <el-table-column prop="blood_access_part_id" label="血管通路部位" width="200" align="center">
  26. <template slot-scope="scope">
  27. <span>{{scope.row.blood_access_part_id}}</span>
  28. </template>
  29. </el-table-column>
  30. <el-table-column prop="inflow_pass" label="血管通路部位(其他)" width="100" align="center">
  31. <template slot-scope="scope">
  32. <span>{{scope.row.other_vascular}}</span>
  33. </template>
  34. </el-table-column>
  35. <el-table-column prop="date" label="首次启用日期" width="120" align="center">
  36. <template slot-scope="scope">
  37. <span>{{ getTime(scope.row.first_start_time, "{y}-{m}-{d}")}}</span>
  38. </template>
  39. </el-table-column>
  40. <el-table-column prop="date" label="停用日期" align="center" width="100">
  41. <template slot-scope="scope">
  42. <span v-if="scope.row.stop_time>0">{{ getTime(scope.row.stop_time, "{y}-{m}-{d}")}}</span>
  43. <span v-if="scope.row.stop_time<0"></span>
  44. </template>
  45. </el-table-column>
  46. <el-table-column prop="date" label="停用原因" align="center" width="120">
  47. <template slot-scope="scope">
  48. <span>{{scope.row.stop_reason}}</span>
  49. </template>
  50. </el-table-column>
  51. <el-table-column prop="date" label="使用寿命(天)" align="center" width="120">
  52. <template slot-scope="scope">
  53. <span v-if="scope.row.stop_time>0&&(scope.row.stop_time - scope.row.start_time)/86400 == 0"></span>
  54. <span v-if="scope.row.stop_time>0&&(scope.row.stop_time - scope.row.start_time)/86400 != 0">{{(scope.row.stop_time - scope.row.start_time)/86400}}</span>
  55. </template>
  56. </el-table-column>
  57. <el-table-column prop="date" label="备注" align="center" width="180">
  58. <template slot-scope="scope">
  59. <span>{{scope.row.remark}}</span>
  60. </template>
  61. </el-table-column>
  62. <el-table-column prop="date" label="创始人" align="center" width="100">
  63. <template slot-scope="scope">
  64. <span>{{getDoctor(scope.row.creator)}}</span>
  65. </template>
  66. </el-table-column>
  67. <el-table-column prop="date" fixed="right" label="操作" width="140" align="center">
  68. <template slot-scope="scope">
  69. <el-tooltip class="item" effect="dark" content="编辑" placement="top">
  70. <el-button
  71. type="primary"
  72. size="small"
  73. icon="el-icon-edit-outline"
  74. @click="handleUpdateAdviceTemplate(scope.row.id)"
  75. >
  76. </el-button>
  77. </el-tooltip>
  78. <el-tooltip class="item" effect="dark" content="删除" placement="top">
  79. <el-button
  80. size="small"
  81. type="danger"
  82. icon="el-icon-delete"
  83. @click="handleDeleteAdviceTemplate(scope.row.id, scope.$index)"
  84. >
  85. </el-button>
  86. </el-tooltip>
  87. </template>
  88. </el-table-column>
  89. </el-table>
  90. <el-pagination
  91. @size-change="handleSizeChange"
  92. @current-change="handleCurrentChange"
  93. :page-sizes="[10,20,50,100]"
  94. :page-size="10"
  95. background
  96. style="margin-top:20px;"
  97. align="right"
  98. layout="total, sizes, prev, pager, next, jumper"
  99. :total="total"></el-pagination>
  100. <el-dialog
  101. title="新增通路"
  102. :visible.sync="dialogVisible"
  103. width="65%"
  104. center>
  105. <el-form label-width="120px" :model="form" ref="form" :rules="rules" >
  106. <el-row :gutter="24">
  107. <el-col :span="24">
  108. <el-form-item label="通路项目:" :required="true" prop="access_project" >
  109. <el-radio-group style="padding: 10px;" v-model="form.access_project" @change="changeRadio">
  110. <el-radio label="1">内瘘</el-radio>
  111. <el-radio label="2">导管</el-radio>
  112. </el-radio-group>
  113. </el-form-item>
  114. </el-col>
  115. </el-row>
  116. <el-row :gutter="24">
  117. <el-col :span="8">
  118. <el-form-item label="建立日期:" :required="true" prop="start_time">
  119. <el-date-picker
  120. type="datetime"
  121. format="yyyy-MM-dd"
  122. value-format="yyyy-MM-dd"
  123. placeholder="选择时间"
  124. v-model="form.start_time"
  125. style="width:150px">
  126. </el-date-picker>
  127. </el-form-item>
  128. </el-col>
  129. <el-col :span="8">
  130. <el-form-item label="血管通路类型:" :required="true" prop="blood_access_part_opera_id">
  131. <el-select v-model="form.blood_access_part_opera_id" placeholder="请选择" style="width:150px">
  132. <el-option
  133. v-for="item in blood_access_part_opera"
  134. :key="item.id"
  135. :label="item.name"
  136. :value="item.id"
  137. >
  138. </el-option>
  139. </el-select>
  140. </el-form-item>
  141. </el-col>
  142. <el-col :span="8">
  143. <el-form-item label="血管通路部位:" :required="true" prop="blood_access_part_id">
  144. <el-input v-model="form.blood_access_part_id" readonly @focus="showInnerDialog('17')" style="width:150px"></el-input>
  145. </el-form-item>
  146. </el-col>
  147. </el-row>
  148. <el-row :gutter="24">
  149. <el-col :span="8">
  150. <el-form-item label="血管通路部位(其他):" prop="inflow_pass">
  151. <!-- <el-select v-model="form.inflow_pass" placeholder="请选择" style="width:150px">
  152. <el-option
  153. v-for="item in optionsPass"
  154. :key="item.id"
  155. :label="item.name"
  156. :value="item.id">
  157. </el-option>
  158. </el-select> -->
  159. <el-input v-model="form.other_vascular" style="width:200"></el-input>
  160. </el-form-item>
  161. </el-col>
  162. <el-col :span="8">
  163. <el-form-item label="首次启用日期:" :required="true" prop="first_start_time">
  164. <el-date-picker
  165. type="datetime"
  166. format="yyyy-MM-dd"
  167. value-format="yyyy-MM-dd"
  168. placeholder="选择时间"
  169. v-model="form.first_start_time"
  170. style="width:150px">
  171. </el-date-picker>
  172. </el-form-item>
  173. </el-col>
  174. <el-col :span="8">
  175. <el-form-item label="使用状态:" :required="true" prop="user_status">
  176. <el-select v-model="form.user_status" placeholder="请选择" style="width:150px" @change="changeStatus">
  177. <el-option
  178. v-for="item in options"
  179. :key="item.id"
  180. :label="item.name"
  181. :value="item.id">
  182. </el-option>
  183. </el-select>
  184. </el-form-item>
  185. </el-col>
  186. </el-row>
  187. <el-row v-show="show">
  188. <el-col :span="8">
  189. <el-form-item label="停用日期:">
  190. <el-date-picker
  191. type="datetime"
  192. format="yyyy-MM-dd"
  193. value-format="yyyy-MM-dd"
  194. placeholder="选择时间"
  195. v-model="form.stop_time"
  196. style="width:150px">
  197. </el-date-picker>
  198. </el-form-item>
  199. </el-col>
  200. </el-row>
  201. <el-row v-show="show">
  202. <el-col>
  203. <el-form-item label="停用原因:">
  204. <el-input v-model="form.stop_reason"></el-input>
  205. </el-form-item>
  206. </el-col>
  207. </el-row>
  208. <el-row>
  209. <el-col>
  210. <el-form-item label="备注:">
  211. <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="form.remark"></el-input>
  212. </el-form-item>
  213. </el-col>
  214. </el-row>
  215. </el-form>
  216. <span slot="footer" class="dialog-footer">
  217. <el-button @click="dialogVisible = false">取 消</el-button>
  218. <el-button type="primary" @click="saveVasularAccess('form')">保存</el-button>
  219. </span>
  220. </el-dialog>
  221. <el-dialog
  222. title="编辑通路"
  223. :visible.sync="editDialogVisible"
  224. width="60%"
  225. center>
  226. <el-form label-width="120px" :model="form" ref="form" :rules="rules" >
  227. <el-row :gutter="24">
  228. <el-col :span="24">
  229. <el-form-item label="通路项目:" :required="true" prop="access_project">
  230. <el-radio-group style="padding: 10px;" v-model="form.access_project" @change="changeRadio">
  231. <el-radio label="1">内瘘</el-radio>
  232. <el-radio label="2">导管</el-radio>
  233. </el-radio-group>
  234. </el-form-item>
  235. </el-col>
  236. </el-row>
  237. <el-row :gutter="24">
  238. <el-col :span="8">
  239. <el-form-item label="建立日期:" :required="true" prop="start_time">
  240. <el-date-picker
  241. type="datetime"
  242. format="yyyy-MM-dd"
  243. value-format="yyyy-MM-dd"
  244. placeholder="选择时间"
  245. v-model="form.start_time"
  246. style="width:150px">
  247. </el-date-picker>
  248. </el-form-item>
  249. </el-col>
  250. <el-col :span="8">
  251. <el-form-item label="血管通路类型:" :required="true" prop="blood_access_part_opera_id">
  252. <el-select v-model="form.blood_access_part_opera_id" placeholder="请选择" style="width:150px">
  253. <el-option
  254. v-for="item in blood_access_part_opera"
  255. :key="item.id"
  256. :label="item.name"
  257. :value="item.id"
  258. >
  259. </el-option>
  260. </el-select>
  261. </el-form-item>
  262. </el-col>
  263. <el-col :span="8">
  264. <el-form-item label="血管通路部位:" :required="true" prop="blood_access_part_id">
  265. <!-- <el-select v-model="form.blood_access_part_id" placeholder="请选择" style="width:150px">
  266. <el-option
  267. v-for="item in blood_access_part"
  268. :key="item.id"
  269. :label="item.name"
  270. :value="item.id">
  271. </el-option>
  272. </el-select> -->
  273. <el-input v-model="form.blood_access_part_id" readonly @focus="showInnerDialog('17')" style="width:150px"></el-input>
  274. </el-form-item>
  275. </el-col>
  276. </el-row>
  277. <el-row :gutter="24">
  278. <el-col :span="8">
  279. <el-form-item label="血管通路部位(其他):" :required="true" prop="inflow_pass">
  280. <!-- <el-select v-model="form.inflow_pass" placeholder="请选择" style="width:150px">
  281. <el-option
  282. v-for="item in optionsPass"
  283. :key="item.id"
  284. :label="item.name"
  285. :value="item.id">
  286. </el-option>
  287. </el-select> -->
  288. <el-input v-model="form.other_vascular"></el-input>
  289. </el-form-item>
  290. </el-col>
  291. <el-col :span="8">
  292. <el-form-item label="首次启用日期:" :required="true" prop="first_start_time">
  293. <el-date-picker
  294. type="datetime"
  295. format="yyyy-MM-dd"
  296. value-format="yyyy-MM-dd"
  297. placeholder="选择时间"
  298. v-model="form.first_start_time"
  299. style="width:150px">
  300. </el-date-picker>
  301. </el-form-item>
  302. </el-col>
  303. <el-col :span="8">
  304. <el-form-item label="使用状态:" :required="true" prop="user_status">
  305. <el-select v-model="form.user_status" placeholder="请选择" style="width:150px" @change="changeStatus">
  306. <el-option
  307. v-for="item in options"
  308. :key="item.id"
  309. :label="item.name"
  310. :value="item.id">
  311. </el-option>
  312. </el-select>
  313. </el-form-item>
  314. </el-col>
  315. </el-row>
  316. <el-row v-show="show">
  317. <el-col :span="8">
  318. <el-form-item label="停用日期:">
  319. <el-date-picker
  320. type="datetime"
  321. format="yyyy-MM-dd"
  322. value-format="yyyy-MM-dd"
  323. placeholder="选择时间"
  324. v-model="form.stop_time"
  325. style="width:150px">
  326. </el-date-picker>
  327. </el-form-item>
  328. </el-col>
  329. </el-row>
  330. <el-row v-show="show">
  331. <el-col>
  332. <el-form-item label="停用原因:">
  333. <el-input v-model="form.stop_reason"></el-input>
  334. </el-form-item>
  335. </el-col>
  336. </el-row>
  337. <el-row>
  338. <el-col>
  339. <el-form-item label="备注:">
  340. <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="form.remark"></el-input>
  341. </el-form-item>
  342. </el-col>
  343. </el-row>
  344. </el-form>
  345. <span slot="footer" class="dialog-footer">
  346. <el-button @click="editDialogVisible= false">取 消</el-button>
  347. <el-button type="primary" @click="updatedVasularAccess('form')">保存</el-button>
  348. </span>
  349. </el-dialog>
  350. </div>
  351. <multi-select-box
  352. :propsForm="InnerDialogProps"
  353. v-on:dialog-comfirm="innerDialogComfirm"
  354. v-on:dialog-cancle="innerDialogCancle"
  355. ></multi-select-box>
  356. </div>
  357. </template>
  358. <script>
  359. const moment = require('moment')
  360. import PatientSidebar from './components/PatientSidebar'
  361. import { fetchAllAdminUsers, fetchAllDoctorAndNurse } from '@/api/doctor'
  362. import { saveVasularAccess,getAllVascularAccessList,getVascularAccessByDetail,updatedVasularAccess,DeleteVascularAccess,getAccessList } from '@/api/patient'
  363. import { jsGetAge, uParseTime } from '@/utils/tools'
  364. import { getDataConfig } from '@/utils/data'
  365. import multiSelectBox from '../dialysis/details/dialog/MultiSelectBox'
  366. export default {
  367. name: 'doctorAdvice',
  368. components: {
  369. PatientSidebar,
  370. multiSelectBox
  371. },
  372. data() {
  373. return {
  374. tableData: [],
  375. nowtime: moment(new Date()).format('YYYY-MM-DD'),
  376. page: 1,
  377. limit: 10,
  378. total: 0,
  379. rules: {
  380. start_time: [{ required: true, message: '请输入建立日期' }],
  381. access_project: [{ required: true, message: '请选择通路项目' }],
  382. blood_access_part_opera_id:[{required:true,message:'请选择血管通路类型'}],
  383. blood_access_part_id:[{required:true,message:"请选择血管通路"}],
  384. first_start_time:[{required:true,message:"请选择首次启用日期"}],
  385. user_status:[{required:true,message:"请选择使用状态"}]
  386. },
  387. dialogVisible:false,
  388. editDialogVisible:false,
  389. form:{
  390. id:0,
  391. access_project:"1",
  392. blood_access_part_id:"",
  393. blood_access_part_opera_id:"",
  394. inflow_pass:"",
  395. start_time:moment(new Date()).format('YYYY-MM-DD'),
  396. first_start_time:moment(new Date()).format('YYYY-MM-DD'),
  397. stop_reason:"",
  398. user_status:1,
  399. remark:"",
  400. stop_time:"",
  401. other_vascular:""
  402. },
  403. options:[
  404. {id:1,name:"启用"},
  405. {id:2,name:"停用"}
  406. ],
  407. optionsPass:[
  408. {id:1,name:"流入-动脉"},
  409. {id:2,name:"流出-静脉"},
  410. ],
  411. blood_access_part_opera:[],
  412. blood_access_part:[],
  413. show:false,
  414. doctorList:[],
  415. InnerDialogProps: {
  416. values: [],
  417. visibility: false,
  418. isShowTextArea: true,
  419. customContent: '',
  420. titles: '',
  421. type: '' // 不同弹框类型,用来匹配数据
  422. },
  423. new_blood_access_part_opera:[],
  424. new_blood_access_part:[],
  425. }
  426. },
  427. methods: {
  428. clickuseradvicecell(row, column, cell, event) {
  429. },
  430. onTranPatient: function(tranPatient) {
  431. this.currentPatient = tranPatient
  432. },
  433. CreateTime(time) {
  434. return uParseTime(time, '{y}-{m}-{d} {h}:{i}:{s}')
  435. },
  436. handleSizeChange(limit) {
  437. this.limit = limit
  438. this.getlist()
  439. },
  440. handleCurrentChange(page) {
  441. this.page = page
  442. this.getlist()
  443. },
  444. changeStatus(val){
  445. if(val == 1 ){
  446. this.show = false
  447. }
  448. if(val == 2){
  449. this.show = true
  450. }
  451. },
  452. saveVasularAccess(formName){
  453. this.$refs[formName].validate((valid)=>{
  454. if(valid){
  455. var blood_name = ""
  456. for(let i=0;i<this.blood_access_part_opera.length;i++){
  457. if(this.blood_access_part_opera[i].id == this.form.blood_access_part_opera_id){
  458. blood_name = this.blood_access_part_opera[i].name
  459. }
  460. }
  461. var inflow_pass = ""
  462. for(let i=0;i<this.optionsPass.length;i++){
  463. if(this.optionsPass[i].id == this.form.inflow_pass){
  464. inflow_pass = this.optionsPass[i].name
  465. }
  466. }
  467. console.log("params",this.form.blood_access_part_id)
  468. var params = {
  469. patient_id:this.patientID,
  470. access_project:parseInt(this.form.access_project),
  471. start_time:this.form.start_time,
  472. blood_access_part_opera_id:blood_name,
  473. blood_access_part_id:this.form.blood_access_part_id,
  474. inflow_pass:inflow_pass,
  475. first_start_time:this.form.first_start_time,
  476. user_status:this.form.user_status,
  477. stop_reason:this.form.stop_reason,
  478. remark:this.form.remark,
  479. stop_time:this.form.stop_time,
  480. other_vascular:this.form.other_vascular,
  481. }
  482. console.log("params",params)
  483. saveVasularAccess(params).then(response=>{
  484. if(response.data.state == 1){
  485. var access = response.data.data.access
  486. console.log("access",access)
  487. this.$message.success("保存成功")
  488. this.dialogVisible = false
  489. this.getlist()
  490. this.form.blood_access_part_opera_id=""
  491. this.form.blood_access_part_id = ""
  492. this.inflow_pass = ""
  493. this.user_status = ""
  494. this.stop_reason = ""
  495. this.remark = ""
  496. }else{
  497. this.$message.error("该日期数据已存在!")
  498. }
  499. })
  500. }
  501. })
  502. },
  503. getlist(){
  504. var params = {
  505. page:this.page,
  506. limit:this.limit,
  507. patient_id:this.patientID,
  508. }
  509. getAllVascularAccessList(params).then(response=>{
  510. if(response.data.state == 1){
  511. var list = response.data.data.list
  512. console.log("list",list)
  513. this.tableData = list
  514. var total = response.data.data.total
  515. console.log("total",total)
  516. this.total = total
  517. var doctor = response.data.data.doctor
  518. console.log("doctor",doctor)
  519. this.doctorList = doctor
  520. }
  521. })
  522. },
  523. getTime(value, temp) {
  524. if (value != undefined) {
  525. return uParseTime(value, temp);
  526. }
  527. return "";
  528. },
  529. handleUpdateAdviceTemplate(id){
  530. getVascularAccessByDetail(id).then(response=>{
  531. if(response.data.state ==1){
  532. var accessDetail = response.data.data.accessDetail
  533. console.log("accessDetail",accessDetail)
  534. this.form.id = accessDetail.id
  535. this.form.access_project = accessDetail.access_project.toString()
  536. var arr = []
  537. var arrOne = []
  538. var arrThree = []
  539. var arrFour = []
  540. if(accessDetail.access_project == "1"){
  541. for(let i=0;i<this.new_blood_access_part_opera.length;i++){
  542. if(this.new_blood_access_part_opera[i].field_type == 1){
  543. arr.push(this.new_blood_access_part_opera[i])
  544. }
  545. }
  546. this.blood_access_part_opera = arr
  547. for(let j=0;j<this.new_blood_access_part.length;j++){
  548. if(this.new_blood_access_part[j].field_type == 1){
  549. arrThree.push(this.new_blood_access_part[j])
  550. }
  551. }
  552. this.blood_access_part = arrThree
  553. }
  554. if(accessDetail.access_project == "2"){
  555. for(let i=0;i<this.new_blood_access_part_opera.length;i++){
  556. if(this.new_blood_access_part_opera[i].field_type == 2){
  557. arrOne.push(this.new_blood_access_part_opera[i])
  558. }
  559. }
  560. this.blood_access_part_opera = arrOne
  561. for(let j=0;j<this.new_blood_access_part.length;j++){
  562. if(this.new_blood_access_part[j].field_type == 2){
  563. arrFour.push(this.new_blood_access_part[j])
  564. }
  565. }
  566. this.blood_access_part = arrFour
  567. }
  568. this.form.blood_access_part_id = accessDetail.blood_access_part_id
  569. var blood_part = 0
  570. for(let i=0;i<this.blood_access_part_opera.length;i++){
  571. if(accessDetail.blood_access_part_opera_id == this.blood_access_part_opera[i].name){
  572. blood_part = this.blood_access_part_opera[i].id
  573. }
  574. }
  575. this.form.blood_access_part_opera_id = blood_part
  576. this.form.first_start_time = this.getTime(accessDetail.first_start_time,"{y}-{m}-{d}")
  577. var inflow_id = 0
  578. for(let i=0;i<this.optionsPass.length;i++){
  579. if(this.optionsPass[i].name == accessDetail.inflow_pass){
  580. inflow_id = this.optionsPass[i].id
  581. }
  582. }
  583. this.form.inflow_pass = inflow_id
  584. this.form.remark = accessDetail.remark
  585. this.form.start_time = this.getTime(accessDetail.start_time,"{y}-{m}-{d}")
  586. this.form.stop_reason = accessDetail.stop_reason
  587. this.form.stop_time = this.getTime(accessDetail.stop_time,"{y}-{m}-{d}")
  588. this.form.user_status = accessDetail.user_status
  589. this.form.other_vascular = accessDetail.other_vascular
  590. if(accessDetail.user_status == 1){
  591. this.show = false
  592. }
  593. if(accessDetail.user_status == 2){
  594. this.show = true
  595. }
  596. this.editDialogVisible = true
  597. }
  598. })
  599. },
  600. getDoctor(id){
  601. var name = ""
  602. for(let i=0;i<this.doctorList.length;i++){
  603. if(id == this.doctorList[i].admin_user_id){
  604. name = this.doctorList[i].user_name
  605. }
  606. }
  607. return name
  608. },
  609. handleDeleteAdviceTemplate(id,index){
  610. this.$confirm("确认删除吗?", "删除", {
  611. confirmButtonText: "确 定",
  612. cancelButtonText: "取 消",
  613. type: "warning"
  614. })
  615. .then(() => {
  616. DeleteVascularAccess(id).then(response => {
  617. if(response.data.state == 1){
  618. var msg = response.data.data.msg
  619. this.tableData.splice(index, 1);
  620. this.$message.success("删除成功!")
  621. }
  622. });
  623. })
  624. .catch(() => {});
  625. },
  626. updatedVasularAccess(formName){
  627. this.$refs[formName].validate((valid)=>{
  628. if(valid){
  629. var blood_name = ""
  630. for(let i=0;i<this.blood_access_part_opera.length;i++){
  631. if(this.blood_access_part_opera[i].id == this.form.blood_access_part_opera_id){
  632. blood_name = this.blood_access_part_opera[i].name
  633. }
  634. }
  635. // var blood_part = ""
  636. // for(let i=0;i<this.blood_access_part.length;i++){
  637. // if(this.form.blood_access_part_id == this.blood_access_part[i].id){
  638. // blood_part = this.blood_access_part[i].name
  639. // }
  640. // }
  641. var inflow_pass = ""
  642. for(let i=0;i<this.optionsPass.length;i++){
  643. if(this.optionsPass[i].id == this.form.inflow_pass){
  644. inflow_pass = this.optionsPass[i].name
  645. }
  646. }
  647. var params = {
  648. id:this.form.id,
  649. patient_id:this.patientID,
  650. access_project:parseInt(this.form.access_project),
  651. start_time:this.form.start_time,
  652. blood_access_part_opera_id:blood_name,
  653. blood_access_part_id:this.form.blood_access_part_id,
  654. inflow_pass:inflow_pass,
  655. first_start_time:this.form.first_start_time,
  656. user_status:this.form.user_status,
  657. stop_reason:this.form.stop_reason,
  658. remark:this.form.remark,
  659. stop_time:this.form.stop_time,
  660. patient_id:this.patientID,
  661. other_vascular:this.form.other_vascular
  662. }
  663. console.log("编辑",params)
  664. updatedVasularAccess(params).then(response=>{
  665. if(response.data.state == 1){
  666. var access = response.data.data.access
  667. console.log("access",access)
  668. this.$message.success("保存成功")
  669. this.editDialogVisible = false
  670. this.getlist()
  671. }else{
  672. this.$message.error("该日期数据已存在!")
  673. }
  674. })
  675. }
  676. })
  677. },
  678. rowClick(row){
  679. console.log("row",row)
  680. this.$router.push({path:'/patients/patient/'+this.patientID+'/vascularAccessDetail/'+row.id})
  681. },
  682. showInnerDialog: function(val) {
  683. this.InnerDialogProps.visibility = true
  684. switch (val) {
  685. case '17': // 血管通路
  686. this.InnerDialogProps.values = this.blood_access_part
  687. this.InnerDialogProps.titles = '血管通路部位'
  688. this.InnerDialogProps.type = 'blood_access_part_id'
  689. this.InnerDialogProps.selected = this.form.blood_access_part_id
  690. this.InnerDialogProps.isShowTextArea = false
  691. break
  692. }
  693. },
  694. innerDialogComfirm: function(val) {
  695. this.InnerDialogProps.visibility = false
  696. switch (val.type) {
  697. case 'blood_access_part_id':
  698. this.form.blood_access_part_id = val.value.join(',')
  699. break
  700. }
  701. },
  702. innerDialogCancle: function() {
  703. this.InnerDialogProps.visibility = false
  704. },
  705. getAccessList(){
  706. getAccessList().then(response=>{
  707. if(response.data.state == 1){
  708. var blood_access_part_opera = response.data.data.blood_access_part_opera
  709. console.log("blood_access_part_operahhahs",blood_access_part_opera)
  710. this.new_blood_access_part_opera = blood_access_part_opera
  711. var blood_access_part = response.data.data.blood_access_part
  712. console.log("blood_access",blood_access_part)
  713. this.new_blood_access_part = blood_access_part
  714. console.log("通路项目",this.form.access_project)
  715. var arr = []
  716. var arrOne = []
  717. if(this.form.access_project == 1 ){
  718. for(let i=0;i<this.new_blood_access_part_opera.length;i++){
  719. if(this.new_blood_access_part_opera[i].field_type == 1){
  720. arr.push(this.new_blood_access_part_opera[i])
  721. }
  722. }
  723. for(let i=0;i<this.new_blood_access_part.length;i++){
  724. if(this.new_blood_access_part[i].field_type == 1){
  725. arrOne.push(this.new_blood_access_part[i])
  726. }
  727. }
  728. }
  729. this.blood_access_part_opera = arr
  730. this.blood_access_part = arrOne
  731. }
  732. })
  733. },
  734. changeRadio(val){
  735. console.log("val",val)
  736. var arr = []
  737. var arrOne = []
  738. var arrTwo = []
  739. var arrThree = []
  740. for(let i=0;i<this.new_blood_access_part_opera.length;i++){
  741. if(this.new_blood_access_part_opera[i].field_type == 1){
  742. arr.push(this.new_blood_access_part_opera[i])
  743. }
  744. if(this.new_blood_access_part_opera[i].field_type == 2){
  745. arrOne.push(this.new_blood_access_part_opera[i])
  746. }
  747. }
  748. for(let i=0;i<this.new_blood_access_part.length;i++){
  749. if(this.new_blood_access_part[i].field_type == 1){
  750. arrTwo.push(this.new_blood_access_part[i])
  751. }
  752. if(this.new_blood_access_part[i].field_type == 2){
  753. arrThree.push(this.new_blood_access_part[i])
  754. }
  755. }
  756. if(val == 1){
  757. this.blood_access_part_opera = arr
  758. this.blood_access_part = arrTwo
  759. }
  760. if(val == 2){
  761. this.blood_access_part_opera = arrOne
  762. this.blood_access_part = arrThree
  763. }
  764. console.log("arr",arr)
  765. console.log("arrOne",arrOne)
  766. }
  767. },
  768. created() {
  769. const id = this.$route.params && this.$route.params.id
  770. this.patientID = parseInt(id)
  771. this.getlist()
  772. //获取血管通路
  773. this.getAccessList()
  774. },
  775. }
  776. </script>
  777. <style>
  778. .oictable ::-webkit-scrollbar {
  779. height: 15px;
  780. }
  781. </style>
  782. <style rel="stylesheet/scss" lang="scss">
  783. ::-webkit-scrollbar{
  784. height:15px;
  785. }
  786. </style>