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

outpatientChargesManagement.vue 50KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464
  1. <template>
  2. <div class="main-contain outpatientChargesManagement">
  3. <div class="position">
  4. <bread-crumb :crumbs='crumbs'></bread-crumb>
  5. </div>
  6. <div class="app-container" style="display:flex;flex: 1;padding: 10px 20px 0px 20px;">
  7. <div class="mainLeft">
  8. <!-- <div class="mainCell" style="justify-content: space-between;font-size:14px;">
  9. <p >未收费:<span style="color: red">{{cal_one}}</span>人</p>
  10. <p>已收费:<span style="color: red">{{cal_two}}</span>人</p>
  11. <p>已退费:<span style="color: red">{{cal_three}}</span>人</p>
  12. </div> -->
  13. <div class="mainCell">
  14. <el-radio-group v-model="radio" @change="changeRadio">
  15. <!-- <el-radio :label=1>未收费</el-radio>
  16. <el-radio :label=2>已收费</el-radio>
  17. <el-radio :label=3>已退费</el-radio>
  18. <el-radio :label=4>全部</el-radio> -->
  19. <el-radio :label=1>未收费<span style="color: red;margin-bottom:10px;display: inline-block;">{{cal_one}}</span>人
  20. </el-radio>
  21. <el-radio :label=2>已收费<span style="color: red;margin-bottom:10px;display: inline-block;">{{cal_two}}</span>人
  22. </el-radio>
  23. <el-radio :label=3>已退费<span
  24. style="color: red;margin-bottom:10px;display: inline-block;">{{cal_three}}</span>人
  25. </el-radio>
  26. <el-radio :label=4>全部</el-radio>
  27. </el-radio-group>
  28. </div>
  29. <div class="mainCell" style="margin-bottom:10px;">
  30. <!--<el-input size="small" v-model="key" class="filter-item"/>-->
  31. <el-input size="small" @keyup.enter.native='searchAction' v-model.trim="search_input" class="filter-item"/>
  32. <el-button size="small" style="margin-left:10px;" class="filter-item" type="primary" @click="searchAction">
  33. 搜索
  34. </el-button>
  35. </div>
  36. <div>
  37. <el-table :data="patientTableData" :height="tableHeight" border style="width: 100%;"
  38. :row-style="{ color: '#303133' }"
  39. :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}"
  40. highlight-current-row ref="tab"
  41. @current-change="handleCurrentChange">
  42. <el-table-column align="center" prop="name" label="姓名" wdith='89'>
  43. <template slot-scope="scope">{{scope.row.patients?scope.row.patients.name:''}}</template>
  44. </el-table-column>
  45. <el-table-column align="center" prop="name" label="就诊号" width="110">
  46. <template slot-scope="scope">{{ scope.row.his_patient ?scope.row.his_patient.number:''}}</template>
  47. </el-table-column>
  48. </el-table>
  49. </div>
  50. </div>
  51. <div class="mainRight">
  52. <div class="mainCell fixedCell" style="margin-bottom:10px;">
  53. <!-- <el-button size="small" @click="open(1)" type="primary" style="margin-left:10px;">打印处置单</el-button>
  54. <el-button size="small" @click="open(2)" type="primary">打印治疗单</el-button> -->
  55. <el-button size="small" @click="open(3)" type="primary">打印</el-button>
  56. <el-button v-loading="loadingone" size="small"
  57. @click="open(6)"
  58. v-if="this.hisPatientInfo && this.hisPatientInfo.id == 0"
  59. type="primary">挂号
  60. </el-button>
  61. <el-button v-loading="loadingtwo" v-if="this.info.prescription_status == 1" size="small"
  62. @click="open(4)"
  63. type="primary">收费
  64. </el-button>
  65. <el-button size="small" @click="open(5)" type="primary"
  66. v-if="this.info && this.info.prescription_status == 3">退费
  67. </el-button>
  68. <!--<el-button v-if="this.info.prescription_status >= 2" size="small" @click="open(7)" type="primary"-->
  69. <!--&gt;对账-->
  70. <!--</el-button>-->
  71. <!--<el-button v-if="this.info.prescription_status >= 2" size="small" @click="open(8)" type="primary"-->
  72. <!--&gt;明细对账-->
  73. <!--</el-button>-->
  74. <el-button v-if="this.info.prescription_status >= 2" size="small" @click="open(9)" type="primary"
  75. >结算单
  76. </el-button>
  77. <!--<el-button v-if="$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9919" size="small" @click="open(10)" type="primary"-->
  78. <!--&gt;退号-->
  79. <!--</el-button>-->
  80. <!--<el-button v-if="$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9919"-->
  81. <!--size="small" @click="open(11)" type="primary"-->
  82. <!--&gt;撤销明细-->
  83. <!--</el-button>-->
  84. <!--<el-button v-if="$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9919" size="small" @click="open(12)" type="primary"-->
  85. <!--&gt;查编码-->
  86. <!--</el-button>-->
  87. <!--<el-button v-if="$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9919"-->
  88. <!--size="small" @click="open(13)" type="primary"-->
  89. <!--&gt;查待遇-->
  90. <!--</el-button>-->
  91. </div>
  92. <div class="mainCenter">
  93. <el-tabs class="settlementTabs" v-model="activeName" @tab-click="handleClick">
  94. <el-tab-pane label="日结" name="first">
  95. <div style="display:flex;height:100%;">
  96. <div class="centerLeft">
  97. <div class="tabsBox">
  98. <!--<el-button type="text" class="addTab" @click="addCharges" icon="el-icon-circle-plus">附加收费</el-button>-->
  99. <el-tabs class="preTabs" v-model="editableTabsValue" type="border-card" @tab-click="tabclickEvent">
  100. <el-tab-pane
  101. v-for="(item, index) in prescriptions"
  102. :key="index"
  103. :label="item.name"
  104. :name="item.name"
  105. >
  106. </el-tab-pane>
  107. <div class="RP">
  108. Rp
  109. <el-date-picker
  110. v-model="record_date"
  111. type="date"
  112. :clearable="false"
  113. @change="changeDate"
  114. format="yyyy-MM-dd"
  115. value-format="yyyy-MM-dd"
  116. placeholder="选择日期">
  117. </el-date-picker>
  118. </div>
  119. <prescription-table ref="prescription_tables"
  120. :prescription="curPrescriptions"></prescription-table>
  121. </el-tabs>
  122. </div>
  123. <div class="costBox">
  124. <span>当前处方总费用:<span style="color:red;">{{ total}}元</span></span>
  125. <span v-if="this.curPrescriptions.order_status == 1">待结算</span>
  126. <span v-if="this.curPrescriptions.order_status == 2">已结算</span>
  127. <span v-if="this.curPrescriptions.order_status == 3">已退费</span>
  128. </div>
  129. </div>
  130. <div class="centerRight">
  131. <p class="centerRightTitle">人员信息</p>
  132. <div style="display:flex;justify-content: space-between;line-height:30px;">
  133. <span style="font-size:14px;">人员编码:{{patientInfo.dialysis_no}}</span>
  134. <span style="font-size:14px;">日期:{{record_date}}</span>
  135. </div>
  136. <ul class="basicUl">
  137. <li style="width:50%;">姓名:{{patientInfo.name}}</li>
  138. <li style="width:50%;">性别:{{patientInfo.gender == 1 ? '男' : '女' }}</li>
  139. <li style="width:50%;">年龄:{{patientInfo.age }}</li>
  140. <li style="width:50%;">身高:{{patientInfo.height?patientInfo.height:''}}</li>
  141. <li style="width:50%;">体重:{{patientInfo.weight?patientInfo.weight:''}}</li>
  142. <li style="width:50%;">电话:{{patientInfo.phone}}</li>
  143. <li style="width:100%;">地址:{{patientInfo.home_address}}</li>
  144. <li style="width:100%;">过敏史及其他病史:{{info.sick_history}}</li>
  145. </ul>
  146. <p class="centerRightTitle" style="padding-top: 10px;">诊断信息</p>
  147. <div style="display:flex;justify-content: space-between;line-height:30px;">
  148. <span style="font-size:14px;">门诊编号:{{ hisPatientInfo.number}}</span>
  149. </div>
  150. <ul class="basicUl">
  151. <li style="width:50%;">医生:{{ info.doctor }}</li>
  152. <li style="width:50%;">科室:{{ info.departments }}</li>
  153. <li style="width:100%;">总费用:{{ getTotal() }}</li>
  154. <li style="width:100%;">判断结果:{{info.diagnosis}}</li>
  155. <li style="width:100%;">是否有传染病:</li>
  156. <li style="width:100%;">血压:</li>
  157. </ul>
  158. </div>
  159. </div>
  160. </el-tab-pane>
  161. <el-tab-pane label="月结" name="second">
  162. <div style="display:flex;height:100%;">
  163. <div class="centerLeft">
  164. <div class="tabsBox">
  165. <!-- <el-button type="text" class="addTab" @click="addCharges" icon="el-icon-circle-plus">附加收费</el-button> -->
  166. <el-tabs class="preTabs" v-model="editableTabsValue" type="border-card" closable>
  167. <el-tab-pane
  168. v-for="(item, index) in month_prescriptions"
  169. :key="index"
  170. :label="item.name"
  171. :name="item.name">
  172. </el-tab-pane>
  173. <div class="RP">
  174. Rp
  175. <el-date-picker
  176. v-model="other_start_time"
  177. prefix-icon="el-icon-date"
  178. @change="changeTime"
  179. :editable="false"
  180. style="width: 150px;"
  181. type="date"
  182. :picker-options="pickerOptions"
  183. placeholder="选择开始时间"
  184. align="right"
  185. format="yyyy-MM-dd"
  186. value-format="yyyy-MM-dd">
  187. </el-date-picker>
  188. <span class>-</span>
  189. <el-date-picker
  190. v-model="other_end_time"
  191. prefix-icon="el-icon-date"
  192. @change="changeEndTime"
  193. :editable="false"
  194. style="width: 150px;"
  195. type="date"
  196. placeholder="选择结束时间"
  197. align="right"
  198. format="yyyy-MM-dd"
  199. value-format="yyyy-MM-dd">
  200. </el-date-picker>
  201. </div>
  202. <prescription-table :preTableData='preTableData'></prescription-table>
  203. </el-tabs>
  204. </div>
  205. <div class="costBox">
  206. <span>当前处方总费用:<span style="color:red;">{{ total }}元</span></span>
  207. <span>{{ state }}</span>
  208. </div>
  209. </div>
  210. <div class="centerRight">
  211. <p class="centerRightTitle">人员信息</p>
  212. <div style="display:flex;justify-content: space-between;line-height:30px;">
  213. <span style="font-size:14px;">人员编码:{{patientInfo.dialysis_no}}</span>
  214. <span style="font-size:14px;">日期:{{record_date}}</span>
  215. </div>
  216. <ul class="basicUl">
  217. <li style="width:50%;">姓名:{{patientInfo.name}}</li>
  218. <li style="width:50%;">性别:{{patientInfo.gender == 1 ? '男' : '女' }}</li>
  219. <li style="width:50%;">年龄:{{patientInfo.age }}</li>
  220. <li style="width:50%;">身高:{{patientInfo.height?patientInfo.height:''}}</li>
  221. <li style="width:50%;">体重:{{patientInfo.weight?patientInfo.weight:''}}</li>
  222. <li style="width:50%;">电话:{{patientInfo.phone}}</li>
  223. <li style="width:100%;">地址:{{patientInfo.home_address}}</li>
  224. <li style="width:100%;">过敏史及其他病史:{{info.sick_history}}</li>
  225. </ul>
  226. <p class="centerRightTitle" style="padding-top: 10px;">诊断信息</p>
  227. <div style="display:flex;justify-content: space-between;line-height:30px;">
  228. <span style="font-size:14px;">门诊编号:{{ hisPatientInfo.number}}</span>
  229. </div>
  230. <ul class="basicUl">
  231. <li style="width:50%;">医生:{{ info.doctor }}</li>
  232. <li style="width:50%;">科室:{{ info.departments }}</li>
  233. <li style="width:100%;">总费用:{{ getTotal() }}</li>
  234. <li style="width:100%;">判断结果:{{info.diagnosis}}</li>
  235. <li style="width:100%;">是否有传染病:</li>
  236. <li style="width:100%;">血压:</li>
  237. </ul>
  238. </div>
  239. </div>
  240. </el-tab-pane>
  241. </el-tabs>
  242. </div>
  243. </div>
  244. </div>
  245. <additionalCharges ref='additionalCharges' @click="addCharges"
  246. :addtions_charge="addtions_charge"></additionalCharges>
  247. <register-dialog ref='register' v-on:confirm="confirm" v-on:cancel="cancel"></register-dialog>
  248. <charge-dialog ref='charge' v-on:confirm="chargeConfirm" v-on:cancel="chargeCancel"></charge-dialog>
  249. <el-dialog
  250. class="centerDialog"
  251. width="900px"
  252. title="打印"
  253. :visible.sync="treatVisible">
  254. <treatPrint :paramsObj='paramsObj'></treatPrint>
  255. </el-dialog>
  256. <el-dialog
  257. class="centerDialog"
  258. width="1200px"
  259. title="打印"
  260. :visible.sync="statementVisible">
  261. <statementPrint ref="print" :paramsObj='orderObj'></statementPrint>
  262. </el-dialog>
  263. </div>
  264. </template>
  265. <script>
  266. import axios from 'axios'
  267. import BreadCrumb from '@/xt_pages/components/bread-crumb'
  268. import noCharge from './components/noCharge'
  269. import charged from './components/charged'
  270. import medicalInsuranceRefund from './components/medicalInsuranceRefund'
  271. import prescriptionTable from './components/prescriptionTable'
  272. import additionalCharges from './components/additionalCharges'
  273. import {getPatientInformation, getPatientList} from '@/api/project/project'
  274. import {getPatientInfo, getSchedulePatientList, Refund, register, upload} from '@/api/his/his'
  275. import RegisterDialog from "./components/registerDialog";
  276. import treatPrint from './treatPrint'
  277. import statementPrint from './statementPrint'
  278. import ChargeDialog from "./components/chargeDialog";
  279. const moment = require('moment')
  280. export default {
  281. components: {
  282. ChargeDialog,
  283. RegisterDialog,
  284. BreadCrumb,
  285. noCharge,
  286. charged,
  287. medicalInsuranceRefund,
  288. prescriptionTable,
  289. additionalCharges,
  290. treatPrint,
  291. statementPrint
  292. },
  293. data() {
  294. return {
  295. key: "",
  296. other_start_time: "",
  297. other_end_time: "",
  298. crumbs: [
  299. {path: false, name: '门诊收费'},
  300. {path: false, name: '门诊收费管理'}
  301. ],
  302. current_index: 0,
  303. cal_one: '',
  304. cal_two: '',
  305. cal_three: '',
  306. tableHeight: '',
  307. fullHeight: document.documentElement.clientHeight,
  308. activeName: 'first',
  309. info: {},
  310. curPrescriptions: {},
  311. prescriptions: [],
  312. month_prescriptions: [],
  313. record_date: '',
  314. tableData: [],
  315. editableTabsValue: '处方1',
  316. loadingone: false,
  317. editableTabs: [{
  318. title: '处方1',
  319. name: '1'
  320. }],
  321. tabIndex: 1,
  322. hisPatientInfo: {},
  323. loadingtwo: false,
  324. patientTableData: [{
  325. name: '杨美英',
  326. mdtrt_id: '1709946'
  327. }],
  328. patientInfo: {id: 0},
  329. doctor: {},
  330. total: 0,
  331. state: '未收费',
  332. radio: 1,
  333. radioStatus: 1,
  334. search_input: '',
  335. start_time: moment().locale('zh-cn').format('YYYY-MM-DD'),
  336. patient_id: 0,
  337. prescription_id: 0,
  338. all_table_data: [],
  339. order: {},
  340. addtions_charge: [],
  341. treatVisible: false,
  342. orderObj: {},
  343. paramsObj: {},
  344. statementVisible: false
  345. }
  346. },
  347. created() {
  348. let tableHeight = document.body.clientHeight - 243
  349. this.tableHeight = tableHeight
  350. var nowDate = new Date()
  351. var nowYear = nowDate.getFullYear()
  352. var nowMonth = nowDate.getMonth() + 1
  353. var nowDay = nowDate.getDate()
  354. this.record_date =
  355. nowYear +
  356. '-' +
  357. (nowMonth < 10 ? '0' + nowMonth : nowMonth) +
  358. '-' +
  359. (nowDay < 10 ? '0' + nowDay : nowDay)
  360. //获取患者信息
  361. this.getPatientList()
  362. },
  363. methods: {
  364. changeTime(val) {
  365. this.other_start_time = val
  366. }, changeEndTime(val) {
  367. this.other_end_time = val
  368. }, chargeConfirm(form) {
  369. form['id'] = this.patientInfo.id
  370. form['record_time'] = this.record_date
  371. form['admin_user_id'] = this.$store.getters.xt_user.user.id
  372. if (this.activeName == 'first') {
  373. form['settle_accounts_type'] = 1
  374. } else {
  375. form['start_time'] = this.other_start_time
  376. form['end_time'] = this.other_end_time
  377. form['settle_accounts_type'] = 2
  378. }
  379. this.loadingtwo = true
  380. if (this.$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9919) {
  381. var that = this
  382. axios.get('http://127.0.0.1:9532/api/upload/get', {
  383. params: form
  384. })
  385. .then(function (response) {
  386. if (response.data.state == 0) {
  387. that.$message.error(response.data.msg)
  388. that.loadingtwo = false
  389. that.$refs.charge.hide()
  390. return false
  391. } else {
  392. that.changeRadio(2)
  393. that.$refs.charge.hide()
  394. that.loadingtwo = false
  395. that.state = '已收费'
  396. that.$message({message: '收费成功', type: 'success'})
  397. that.loadingtwo = false
  398. that.cal_one = this.cal_one - 1
  399. that.cal_two = this.cal_two + 1
  400. that.patientTableData.splice(this.current_index, 1)
  401. }
  402. })
  403. .catch(function (error) {
  404. });
  405. } else {
  406. upload(form).then(response => {
  407. if (response.data.state == 0) {
  408. this.$message.error(response.data.msg)
  409. this.loadingtwo = false
  410. this.$refs.charge.hide()
  411. return false
  412. } else {
  413. this.$refs.charge.hide()
  414. this.loadingtwo = false
  415. this.state = '已收费'
  416. this.$message({message: '收费成功', type: 'success'})
  417. this.$refs.charge.hide()
  418. this.loadingtwo = false
  419. this.cal_one = this.cal_one - 1
  420. this.cal_two = this.cal_two + 1
  421. this.patientTableData.splice(this.current_index, 1)
  422. }
  423. })
  424. }
  425. }, chargeCancel() {
  426. this.$refs.charge.hide()
  427. },
  428. confirm(forms) {
  429. forms['id'] = this.patientInfo.id,
  430. forms['record_time'] = this.record_date,
  431. forms['admin_user_id'] = this.$store.getters.xt_user.user.id
  432. this.loadingone = true
  433. if (this.$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9919) {
  434. var that = this
  435. axios.get('http://127.0.0.1:9532/api/register/get', {
  436. params: forms
  437. })
  438. .then(function (response) {
  439. if (response.data.state == 0) {
  440. that.$message.error(response.data.msg)
  441. that.loadingone = false
  442. that.$refs.register.hide()
  443. return false
  444. } else {
  445. that.$refs.register.hide()
  446. that.getPatientList()
  447. that.$message({message: '挂号成功', type: 'success'})
  448. that.loadingone = false
  449. var his_info = response.data.data.his_info
  450. that.hisPatientInfo = his_info
  451. }
  452. })
  453. .catch(function (error) {
  454. });
  455. } else {
  456. register(forms).then(response => {
  457. if (response.data.state == 0) {
  458. this.$message.error(response.data.msg)
  459. this.loadingone = false
  460. this.$refs.register.hide()
  461. return false
  462. } else {
  463. this.getPatientList()
  464. this.$message({message: '挂号成功', type: 'success'})
  465. this.$refs.register.hide()
  466. this.loadingone = false
  467. var his_info = response.data.data.his_info
  468. this.hisPatientInfo = his_info
  469. }
  470. })
  471. }
  472. }, cancel() {
  473. this.$refs.register.hide()
  474. },
  475. addCharges() {
  476. this.$refs.additionalCharges.show()
  477. },
  478. changeDate(val) {
  479. if (this.patientInfo.id == 0) {
  480. this.$message.error('请先选择患者')
  481. return
  482. }
  483. this.prescriptions = []
  484. this.curPrescriptions = []
  485. let params = {
  486. 'record_date': val,
  487. 'patient_id': this.patientInfo.id
  488. }
  489. getPatientInfo(params).then(response => {
  490. if (response.data.state == 0) {
  491. this.$message.error(response.data.msg)
  492. return false
  493. } else {
  494. this.patientInfo = response.data.data.xt_info
  495. this.hisPatientInfo = response.data.data.his_info
  496. this.info = response.data.data.info
  497. this.addtions_charge = response.data.data.addtions_charge
  498. this.prescriptions = []
  499. for (let i = 0; i < response.data.data.prescription.length; i++) {
  500. var prescription = response.data.data.prescription[i]
  501. let tempAdvice = []
  502. let tempProject = []
  503. for (let b = 0; b < prescription.advices.length; b++) {
  504. let obj = {
  505. advice_id: prescription.advices[b].id,
  506. drug_name: prescription.advices[b].advice_name,
  507. single_dose: prescription.advices[b].single_dose,
  508. delivery_way: prescription.advices[b].delivery_way,
  509. execution_frequency: prescription.advices[b].execution_frequency,
  510. retail_price: prescription.advices[b].price,
  511. remark: prescription.advices[b].remark,
  512. day: prescription.advices[b].day,
  513. prescribing_number: prescription.advices[b].prescribing_number.toString(),
  514. single_dose_unit: prescription.advices[b].single_dose_unit,
  515. prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
  516. medical_insurance_number: prescription.advices[b].med_list_codg
  517. }
  518. tempAdvice.push(obj)
  519. }
  520. for (let b = 0; b < prescription.project.length; b++) {
  521. console.log(prescription.project[b].project.project_name)
  522. let obj = {
  523. id: prescription.project[b].id,
  524. project_id: prescription.project[b].project.id,
  525. project_name: prescription.project[b].project.project_name,
  526. statistical_classification: prescription.project[b].project.statistical_classification,
  527. single_dose: prescription.project[b].single_dose,
  528. delivery_way: prescription.project[b].delivery_way,
  529. execution_frequency: prescription.project[b].execution_frequency,
  530. number_days: prescription.project[b].day,
  531. total: prescription.project[b].count.toString(),
  532. price: prescription.project[b].price,
  533. remark: prescription.project[b].remark,
  534. medical_code: prescription.project[b].project.medical_code,
  535. unit: prescription.project[b].unit,
  536. }
  537. tempProject.push(obj)
  538. }
  539. let index = i + 1
  540. let obj = {
  541. id: prescription.id,
  542. name: '处方' + index,
  543. advices: tempAdvice,
  544. project: tempProject,
  545. type: response.data.data.prescription[i].type,
  546. order_status: response.data.data.prescription[i].order_status
  547. }
  548. this.prescriptions.push(obj)
  549. this.curPrescriptions = this.prescriptions[0]
  550. this.total = 0
  551. this.total = this.getTotalOne()
  552. }
  553. }
  554. })
  555. },
  556. handleClick() {
  557. },
  558. searchAction() {
  559. },
  560. tabclickEvent(val) {
  561. console.log('val', val.name)
  562. for (let i = 0; i < this.prescriptions.length; i++) {
  563. if (this.prescriptions[i].name == val.name) {
  564. this.curPrescriptions = {}
  565. var temp = this.deepClone(this.prescriptions[i])
  566. this.curPrescriptions = temp
  567. }
  568. }
  569. console.log('9999', this.curPrescriptions)
  570. this.prescription_id = this.curPrescriptions.id
  571. this.total = 0
  572. this.total = this.getTotalOne()
  573. }, deepClone(source) {
  574. if (!source && typeof source !== 'object') {
  575. throw new Error('error arguments', 'shallowClone')
  576. }
  577. const targetObj = source.constructor === Array ? [] : {}
  578. Object.keys(source).forEach((keys) => {
  579. if (source[keys] && typeof source[keys] === 'object') {
  580. targetObj[keys] = this.deepClone(source[keys])
  581. } else {
  582. targetObj[keys] = source[keys]
  583. }
  584. })
  585. return targetObj
  586. }, getTotalOne() {
  587. var total = 0
  588. if (this.curPrescriptions.type == 1) {
  589. if (this.curPrescriptions.advices != null) {
  590. for (let a = 0; a < this.curPrescriptions.advices.length; a++) {
  591. total = total + (this.curPrescriptions.advices[a].retail_price * this.curPrescriptions.advices[a].prescribing_number)
  592. }
  593. }
  594. } else {
  595. if (this.curPrescriptions.project != null) {
  596. for (let b = 0; b < this.curPrescriptions.project.length; b++) {
  597. total = total + (this.curPrescriptions.project[b].price * this.curPrescriptions.project[b].total)
  598. }
  599. }
  600. }
  601. if (this.curPrescriptions.addition != null) {
  602. for (let b = 0; b < this.curPrescriptions.addition.length; b++) {
  603. total = total + (this.curPrescriptions.addition[b].price * this.curPrescriptions.addition[b].count)
  604. }
  605. }
  606. return (total * 100) / 100
  607. },
  608. getTotal() {
  609. var total = 0
  610. for (let i = 0; i < this.prescriptions.length; i++) {
  611. if (this.prescriptions[i].advices != null) {
  612. for (let a = 0; a < this.prescriptions[i].advices.length; a++) {
  613. total = total + (this.prescriptions[i].advices[a].retail_price * this.prescriptions[i].advices[a].prescribing_number)
  614. }
  615. }
  616. if (this.prescriptions[i].project != null) {
  617. for (let b = 0; b < this.prescriptions[i].project.length; b++) {
  618. total = total + (this.prescriptions[i].project[b].price * this.prescriptions[i].project[b].total)
  619. }
  620. }
  621. if (this.prescriptions[i].addition != null) {
  622. for (let b = 0; b < this.prescriptions[i].addition.length; b++) {
  623. total = total + (this.prescriptions[i].addition[b].price * this.prescriptions[i].addition[b].count)
  624. }
  625. }
  626. }
  627. return (total * 100) / 100
  628. },
  629. moreState(tab, event) {
  630. if (tab == 'more') {
  631. return false
  632. }
  633. },
  634. open(index) {
  635. if (index == 1) {
  636. } else if (index == 2) {
  637. this.$router.push('/outpatientDoctorStation/printtwo?record=' + this.record_date)
  638. } else if (index == 3) {
  639. let obj = {
  640. record_date: this.record_date,
  641. patient_id: this.patient_id,
  642. prescription_id: this.prescription_id
  643. }
  644. this.paramsObj = obj
  645. this.treatVisible = true
  646. // this.$router.push('/outpatientCharges/treatPrint?record_date=' + this.record_date + '&patient_id=' + this.patient_id + '&prescription_id=' + this.prescription_id)
  647. } else if (index == 4) {
  648. // if (this.hisPatientInfo.id == 0) {
  649. // this.$message({message: '该患者尚未挂号,请先挂号', type: 'error'})
  650. // return
  651. // }
  652. this.$refs.charge.show(this.getTotal())
  653. } else if (index == 5) {
  654. if (this.$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9919) {
  655. var that = this
  656. this.$confirm('是否退费', '退费', {
  657. confirmButtonText: '确 定',
  658. cancelButtonText: '取 消',
  659. type: 'warning'
  660. }).then(() => {
  661. let params = {
  662. 'order_id': this.order.id,
  663. 'number': this.order.number,
  664. 'patient_id': this.patientInfo.id,
  665. 'record_time': this.record_date,
  666. 'admin_user_id':this.$store.getters.xt_user.user.id
  667. }
  668. axios.get('http://127.0.0.1:9532/api/refund/post', {
  669. params: params
  670. })
  671. .then(function (response) {
  672. if (response.data.state == 0) {
  673. that.$message.error(response.data.msg)
  674. that.loadingtwo = false
  675. return false
  676. } else {
  677. that.changeRadio(1)
  678. that.$message({message: '退费成功', type: 'success'})
  679. that.loadingtwo = false
  680. }
  681. })
  682. .catch(function (error) {
  683. });
  684. }).catch(() => {
  685. })
  686. } else {
  687. this.$confirm('是否退费', '退费', {
  688. confirmButtonText: '确 定',
  689. cancelButtonText: '取 消',
  690. type: 'warning'
  691. }).then(() => {
  692. let params = {
  693. 'order_id': this.order.id,
  694. 'number': this.order.number,
  695. 'patient_id': this.patientInfo.id,
  696. 'record_time': this.record_date,
  697. }
  698. Refund(params).then(response => {
  699. if (response.data.state == 0) {
  700. this.$message.error(response.data.msg)
  701. this.loadingtwo = false
  702. return false
  703. } else {
  704. this.$message({message: '退费成功', type: 'success'})
  705. this.loadingtwo = false
  706. }
  707. })
  708. }).catch(() => {
  709. })
  710. }
  711. } else if (index == 6) {
  712. if (this.patientInfo.id == 0) {
  713. this.$message.error('请先选择要挂号的病人')
  714. return
  715. }
  716. this.$refs.register.show(this.patientInfo)
  717. } else if (index == 7) {
  718. let params = {
  719. start_time: "2020-12-28",
  720. end_time: "2020-12-30",
  721. insutype: "390",
  722. clr_type: "11",
  723. }
  724. var that = this
  725. if (this.$store.getters.xt_user.org_id == 4 || this.$store.getters.xt_user.org_id == 9919) {
  726. axios.get('http://127.0.0.1:9532/api/checkaccount/get', {
  727. params: params
  728. })
  729. .then(function (response) {
  730. if (response.data.state == 0) {
  731. that.$message.error(response.data.msg)
  732. that.loadingtwo = false
  733. return false
  734. } else {
  735. }
  736. })
  737. .catch(function (error) {
  738. });
  739. }
  740. } else if (index == 8) {
  741. let params = {
  742. start_time: "2020-12-28",
  743. end_time: "2020-12-30",
  744. }
  745. var that = this
  746. axios.get('http://127.0.0.1:9532/api/checkdetailaccount/get', {
  747. params: params
  748. })
  749. .then(function (response) {
  750. if (response.data.state == 0) {
  751. that.$message.error(response.data.msg)
  752. that.loadingtwo = false
  753. return false
  754. } else {
  755. }
  756. })
  757. .catch(function (error) {
  758. });
  759. } else if (index == 9) {
  760. this.statementVisible = true
  761. let obj = {
  762. order_id: this.order.id
  763. }
  764. this.orderObj = obj
  765. // this.$refs.print.getInfo(this.order.id)
  766. } else if (index == 10) {
  767. let params = {
  768. 'patient_id': this.patientInfo.id,
  769. 'record_time': this.record_date,
  770. }
  771. axios.get('http://127.0.0.1:9532/api/refundnumber/post', {
  772. params: params
  773. })
  774. .then(function (response) {
  775. if (response.data.state == 0) {
  776. that.$message.error(response.data.msg)
  777. that.loadingtwo = false
  778. return false
  779. } else {
  780. that.$message({message: '退号成功', type: 'success'})
  781. that.loadingtwo = false
  782. }
  783. })
  784. .catch(function (error) {
  785. });
  786. } else if (index == 11) {
  787. let params = {
  788. 'order_id': this.order.id,
  789. 'number': this.order.number,
  790. 'patient_id': this.patientInfo.id,
  791. 'record_time': this.record_date,
  792. }
  793. axios.get('http://127.0.0.1:9532/api/refunddetail/post', {
  794. params: params
  795. })
  796. .then(function (response) {
  797. if (response.data.state == 0) {
  798. that.$message.error(response.data.msg)
  799. that.loadingtwo = false
  800. return false
  801. } else {
  802. that.$message({message: '退号成功', type: 'success'})
  803. that.loadingtwo = false
  804. }
  805. })
  806. .catch(function (error) {
  807. });
  808. } else if (index == 12) {
  809. let params = {
  810. 'name': "琥珀酸亚铁片",
  811. 'codg': "XB03AAH026A001010104942"
  812. }
  813. axios.get('http://127.0.0.1:9532/api/code/get', {
  814. params: params
  815. })
  816. .then(function (response) {
  817. if (response.data.state == 0) {
  818. that.$message.error(response.data.msg)
  819. that.loadingtwo = false
  820. return false
  821. } else {
  822. that.loadingtwo = false
  823. }
  824. })
  825. .catch(function (error) {
  826. });
  827. } else if (index == 13) {
  828. let params = {
  829. 'id': this.patientInfo.id,
  830. 'record_time': this.record_date,
  831. }
  832. axios.get('http://127.0.0.1:9532/api/record/put', {
  833. params: params
  834. })
  835. .then(function (response) {
  836. if (response.data.state == 0) {
  837. that.$message.error(response.data.msg)
  838. that.loadingtwo = false
  839. return false
  840. } else {
  841. that.loadingtwo = false
  842. }
  843. })
  844. .catch(function (error) {
  845. });
  846. }
  847. },
  848. choosePatient() {
  849. console.log(id)
  850. this.radioStatus = id
  851. this.getPatientList()
  852. },
  853. changeRadio(id) {
  854. // console.log(id)
  855. // this.radioStatus = id
  856. // this.getPatientList()
  857. let temp_id = id
  858. let params = {
  859. 'record_date': this.record_date
  860. }
  861. getSchedulePatientList(params).then(response => {
  862. if (response.data.state == 0) {
  863. this.$message.error(response.data.msg)
  864. return false
  865. } else {
  866. this.patientTableData = []
  867. this.all_table_data = []
  868. let one_count = 0
  869. let two_count = 0
  870. let three_count = 0
  871. for (let i = 0; i < response.data.data.list.length; i++) {
  872. if (response.data.data.list[i].info.prescription_status == 0 || response.data.data.list[i].info.prescription_status == 1 || response.data.data.list[i].info.prescription_status == 2) {
  873. if (response.data.data.list[i].prescription != null && response.data.data.list[i].prescription.length > 0) {
  874. one_count = one_count + 1
  875. this.patientTableData.push(response.data.data.list[i])
  876. }
  877. }
  878. if (response.data.data.list[i].info.prescription_status == 3) {
  879. if (response.data.data.list[i].prescription != null && response.data.data.list[i].prescription.length > 0) {
  880. two_count = two_count + 1
  881. }
  882. }
  883. if (response.data.data.list[i].info.prescription_status == 4) {
  884. if (response.data.data.list[i].prescription != null && response.data.data.list[i].prescription.length > 0) {
  885. three_count = three_count + 1
  886. }
  887. }
  888. if (response.data.data.list[i].prescription != null && response.data.data.list[i].prescription.length > 0) {
  889. this.all_table_data.push(response.data.data.list[i])
  890. }
  891. }
  892. this.cal_one = one_count
  893. this.cal_two = two_count
  894. this.cal_three = three_count
  895. switch (temp_id) {
  896. case 1:
  897. this.patientTableData = []
  898. for (let i = 0; i < this.all_table_data.length; i++) {
  899. if (this.all_table_data[i].info.prescription_status == 0 || this.all_table_data[i].info.prescription_status == 1 || this.all_table_data[i].info.prescription_status == 2) {
  900. this.patientTableData.push(this.all_table_data[i])
  901. }
  902. }
  903. break
  904. case 2:
  905. this.patientTableData = []
  906. for (let i = 0; i < this.all_table_data.length; i++) {
  907. if (this.all_table_data[i].info.prescription_status == 3) {
  908. this.patientTableData.push(this.all_table_data[i])
  909. }
  910. }
  911. break
  912. case 3:
  913. this.patientTableData = []
  914. for (let i = 0; i < this.all_table_data.length; i++) {
  915. if (this.all_table_data[i].info.prescription_status == 4) {
  916. this.patientTableData.push(this.all_table_data[i])
  917. }
  918. }
  919. break
  920. case 4:
  921. this.patientTableData = []
  922. this.patientTableData = this.all_table_data
  923. break
  924. }
  925. this.current_index = 0
  926. this.$refs.tab.setCurrentRow(this.patientTableData[0])
  927. this.getPatientInformation(this.patientTableData[0].patients.id, "")
  928. }
  929. })
  930. },
  931. //患者列表
  932. getPatientList() {
  933. let params = {
  934. 'record_date': this.record_date
  935. }
  936. getSchedulePatientList(params).then(response => {
  937. if (response.data.state == 0) {
  938. this.$message.error(response.data.msg)
  939. return false
  940. } else {
  941. this.patientTableData = []
  942. this.all_table_data = []
  943. let one_count = 0
  944. let two_count = 0
  945. let three_count = 0
  946. for (let i = 0; i < response.data.data.list.length; i++) {
  947. // console.log('99999999', response.data.data.list)
  948. if (response.data.data.list[i].info.prescription_status == 0 || response.data.data.list[i].info.prescription_status == 1 || response.data.data.list[i].info.prescription_status == 2) {
  949. if (response.data.data.list[i].prescription != null && response.data.data.list[i].prescription.length > 0) {
  950. one_count = one_count + 1
  951. this.patientTableData.push(response.data.data.list[i])
  952. }
  953. }
  954. if (response.data.data.list[i].info.prescription_status == 3) {
  955. if (response.data.data.list[i].prescription != null && response.data.data.list[i].prescription.length > 0) {
  956. two_count = two_count + 1
  957. }
  958. }
  959. if (response.data.data.list[i].info.prescription_status == 4) {
  960. if (response.data.data.list[i].prescription != null && response.data.data.list[i].prescription.length > 0) {
  961. three_count = three_count + 1
  962. }
  963. }
  964. if (response.data.data.list[i].prescription != null && response.data.data.list[i].prescription.length > 0) {
  965. this.all_table_data.push(response.data.data.list[i])
  966. }
  967. }
  968. this.cal_one = one_count
  969. this.cal_two = two_count
  970. this.cal_three = three_count
  971. this.current_index = 0
  972. this.$refs.tab.setCurrentRow(this.patientTableData[0])
  973. this.getPatientInformation(this.patientTableData[0].patients.id, "")
  974. }
  975. })
  976. },
  977. unique(arr) {
  978. const res = new Map()
  979. return arr.filter((arr) => !res.has(arr.id_card_no) && res.set(arr.id_card_no, 1))
  980. },
  981. handleCurrentChange(val) {
  982. console.log('val', val)
  983. this.getPatientInformation(val.patients.id, val.info.batch_number)
  984. this.patient_id = val.patients.id
  985. for (let i = 0; i < this.patientTableData.length; i++) {
  986. if (this.patientTableData[i].patients.id == val.patients.id) {
  987. this.current_index = i
  988. }
  989. }
  990. },
  991. //获取患者的基本信息
  992. getPatientInformation(id, batch_number) {
  993. let params = {
  994. 'record_date': this.record_date,
  995. 'patient_id': id,
  996. 'number': batch_number,
  997. }
  998. getPatientInfo(params).then(response => {
  999. if (response.data.state == 0) {
  1000. this.$message.error(response.data.msg)
  1001. return false
  1002. } else {
  1003. this.patientInfo = response.data.data.xt_info
  1004. this.hisPatientInfo = response.data.data.his_info
  1005. this.info = response.data.data.info
  1006. this.order = response.data.data.order
  1007. this.addtions_charge = response.data.data.addtions_charge
  1008. this.prescriptions = []
  1009. console.log("9991323242r5253535", response.data.data.prescription)
  1010. if (response.data.data.prescription[0].advices.length > 0) {
  1011. this.prescription_id = response.data.data.prescription[0].advices[0].prescription_id
  1012. } else {
  1013. this.prescription_id = 0
  1014. }
  1015. for (let i = 0; i < response.data.data.prescription.length; i++) {
  1016. var prescription = response.data.data.prescription[i]
  1017. let tempAdvice = []
  1018. let tempProject = []
  1019. let tempAddition = []
  1020. for (let b = 0; b < prescription.advices.length; b++) {
  1021. let obj = {
  1022. advice_id: prescription.advices[b].id,
  1023. drug_name: prescription.advices[b].advice_name,
  1024. single_dose: prescription.advices[b].single_dose,
  1025. delivery_way: prescription.advices[b].delivery_way,
  1026. execution_frequency: prescription.advices[b].execution_frequency,
  1027. retail_price: prescription.advices[b].price.toString(),
  1028. remark: prescription.advices[b].remark,
  1029. day: prescription.advices[b].day,
  1030. prescribing_number: prescription.advices[b].prescribing_number.toString(),
  1031. single_dose_unit: prescription.advices[b].single_dose_unit,
  1032. prescribing_number_unit: prescription.advices[b].prescribing_number_unit,
  1033. medical_insurance_number: prescription.advices[b].med_list_codg
  1034. }
  1035. tempAdvice.push(obj)
  1036. }
  1037. for (let b = 0; b < prescription.project.length; b++) {
  1038. console.log(prescription.project[b].project.project_name)
  1039. let obj = {
  1040. id: prescription.project[b].id,
  1041. project_id: prescription.project[b].project.id,
  1042. project_name: prescription.project[b].project.project_name,
  1043. statistical_classification: prescription.project[b].project.statistical_classification,
  1044. single_dose: prescription.project[b].single_dose,
  1045. delivery_way: prescription.project[b].delivery_way,
  1046. execution_frequency: prescription.project[b].execution_frequency,
  1047. number_days: prescription.project[b].day,
  1048. total: prescription.project[b].count.toString(),
  1049. price: prescription.project[b].price,
  1050. remark: prescription.project[b].remark,
  1051. medical_code: prescription.project[b].project.medical_code,
  1052. unit: prescription.project[b].project.unit
  1053. }
  1054. tempProject.push(obj)
  1055. }
  1056. for (let b = 0; b < prescription.addition.length; b++) {
  1057. let obj = {
  1058. id: prescription.addition[b].id,
  1059. item_name: prescription.addition[b].item_name,
  1060. price: prescription.addition[b].price,
  1061. count: prescription.addition[b].count,
  1062. item_id: prescription.addition[b].item_id,
  1063. }
  1064. tempAddition.push(obj)
  1065. }
  1066. let index = i + 1
  1067. let obj = {
  1068. id: prescription.id,
  1069. name: '处方' + index,
  1070. advices: tempAdvice,
  1071. project: tempProject,
  1072. addition: tempAddition,
  1073. order_status: response.data.data.prescription[i].order_status,
  1074. type: response.data.data.prescription[i].type
  1075. }
  1076. this.prescriptions.push(obj)
  1077. this.curPrescriptions = this.prescriptions[0]
  1078. this.total = 0
  1079. this.total = this.getTotalOne()
  1080. console.log(this.total)
  1081. }
  1082. }
  1083. })
  1084. }
  1085. },
  1086. mounted() {
  1087. console.log(this.$store.getters.xt_user.org_id)
  1088. const that = this
  1089. window.onresize = () => {
  1090. return (() => {
  1091. window.fullHeight = document.documentElement.clientHeight
  1092. that.fullHeight = window.fullHeight
  1093. })()
  1094. }
  1095. },
  1096. watch: {
  1097. fullHeight(val) {
  1098. if (!this.timer) {
  1099. this.fullHeight = val
  1100. let tableHeight = val - 243
  1101. this.tableHeight = tableHeight
  1102. this.timer = true
  1103. let that = this
  1104. setTimeout(function () {
  1105. that.timer = false
  1106. }, 400)
  1107. }
  1108. }
  1109. }
  1110. }
  1111. </script>
  1112. <style lang="scss" scoped>
  1113. .app-container {
  1114. height: 100%;
  1115. }
  1116. .outpatientChargesManagement {
  1117. height: 100%;
  1118. display: flex;
  1119. flex-direction: column;
  1120. .mainLeft {
  1121. width: 200px;
  1122. height: 100%;
  1123. display: flex;
  1124. flex-direction: column;
  1125. padding-top: 20px;
  1126. .el-radio {
  1127. margin-right: 5px;
  1128. }
  1129. }
  1130. .mainCell {
  1131. height: 36px;
  1132. display: flex;
  1133. align-items: center;
  1134. }
  1135. .fixedCell {
  1136. position: fixed;
  1137. z-index: 99;
  1138. right: 42px;
  1139. background: #fff;
  1140. display: flex;
  1141. justify-content: space-between;
  1142. }
  1143. .mainRight {
  1144. margin-left: 10px;
  1145. flex: 1;
  1146. height: 100%;
  1147. display: flex;
  1148. flex-direction: column;
  1149. overflow-y: auto;
  1150. .cellSpan {
  1151. min-width: 80px;
  1152. display: inline-block;
  1153. margin-right: 10px;
  1154. }
  1155. }
  1156. .tabsBox {
  1157. position: relative;
  1158. height: 90%;
  1159. overflow-y: auto;
  1160. margin-bottom: 60px;
  1161. .el-tabs__item {
  1162. padding: 0 10px;
  1163. }
  1164. }
  1165. .addTab {
  1166. position: absolute;
  1167. right: 6px;
  1168. top: 3px;
  1169. z-index: 20;
  1170. }
  1171. .mainCenter {
  1172. display: flex;
  1173. flex: 1;
  1174. height: 100%;
  1175. }
  1176. .costBox {
  1177. width: 100%;
  1178. height: 60px;
  1179. background: #fff;
  1180. position: absolute;
  1181. bottom: 0;
  1182. display: flex;
  1183. align-items: center;
  1184. justify-content: space-between;
  1185. }
  1186. .centerLeft {
  1187. flex: 1;
  1188. display: flex;
  1189. flex-direction: column;
  1190. position: relative;
  1191. }
  1192. .preTabs {
  1193. height: 100%;
  1194. display: flex;
  1195. flex-direction: column;
  1196. .el-tab-pane {
  1197. height: auto !important;
  1198. }
  1199. }
  1200. .settlementTabs {
  1201. flex: 1;
  1202. .el-tab-pane {
  1203. height: 100%;
  1204. }
  1205. .el-tabs__content {
  1206. height: 100%;
  1207. }
  1208. }
  1209. .centerRight {
  1210. width: 300px;
  1211. margin-left: 10px;
  1212. display: flex;
  1213. flex-direction: column;
  1214. overflow-y: auto;
  1215. }
  1216. .RP {
  1217. color: #409EFF;
  1218. font-size: 20px;
  1219. margin-bottom: 5px;
  1220. }
  1221. .centerRightTitle {
  1222. color: #409EFF;
  1223. }
  1224. .basicUl {
  1225. border-top: 1px solid #e5e5e5;
  1226. border-left: 1px solid #e5e5e5;
  1227. display: flex;
  1228. flex-wrap: wrap;
  1229. li {
  1230. border-bottom: 1px solid #e5e5e5;
  1231. border-right: 1px solid #e5e5e5;
  1232. width: 100%;
  1233. min-height: 38px;
  1234. /* line-height: 38px;
  1235. text-indent: 5px; */
  1236. font-size: 14px;
  1237. display: flex;
  1238. align-items: center;
  1239. padding: 5px;
  1240. box-sizing: border-box;
  1241. }
  1242. }
  1243. }
  1244. </style>
  1245. <style lang="scss">
  1246. #tab-more {
  1247. .el-icon-close {
  1248. display: none;
  1249. }
  1250. }
  1251. .settlementTabs {
  1252. .el-tabs__content {
  1253. height: 90%;
  1254. }
  1255. }
  1256. .preTabs {
  1257. .el-tabs__content {
  1258. flex: 1;
  1259. overflow-y: auto;
  1260. padding: 5px 0 5px 5px;
  1261. }
  1262. }
  1263. .centerDialog {
  1264. .el-dialog__body {
  1265. max-height: calc(100vh - 100px) !important;
  1266. padding: 0 20px;
  1267. }
  1268. }
  1269. </style>