workInfo.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685
  1. <template>
  2. <view style="background-color: #fff;" v-if="content != null">
  3. <view
  4. style="height: 100rpx;display: flex;align-items: center;justify-content: space-around;border-bottom: 1px solid #ceccca;background-color: #fff;"
  5. v-if="type == 0">
  6. <!-- <u-tabs :list="list1" :current="current" @click="click"></u-tabs> -->
  7. <view class="tab" :class="current==0?'active':''" @click="current = 0">
  8. 基本信息
  9. </view>
  10. <view style="border-left: 1px solid #ceccca;height: 80%;">
  11. </view>
  12. <view class="tab" :class="current==0?'':'active'" @click="current = 1">
  13. 流转记录
  14. </view>
  15. </view>
  16. <swiper style="background-color:#fff ;" :style="{height:type==0?'calc(100vh - 100rpx)':'100vh'}"
  17. :current="current" disable-touch>
  18. <swiper-item>
  19. <view style="height: 100%;overflow: auto;">
  20. <u--form labelPosition="left" labelAlign="center" :model="content" ref="uForm"
  21. :labelStyle="{fontSize:'32rpx'}" labelWidth="100">
  22. <view v-if="fkFlow == '006'">
  23. <u-form-item label="出差处室:" borderBottom ref="item1">
  24. <view class="content">
  25. {{content.outWorkDept}}
  26. </view>
  27. </u-form-item>
  28. <u-form-item label="出差人:" borderBottom ref="item1">
  29. <view class="content">
  30. {{content.userName}}
  31. </view>
  32. </u-form-item>
  33. <u-form-item label="目的地:" borderBottom ref="item1">
  34. <view class="content">
  35. {{content.destination}}
  36. </view>
  37. </u-form-item>
  38. <u-form-item label="起止日期:" borderBottom ref="item1">
  39. <view class="content">
  40. {{content.startTime+' 至 '+content.endTime}}
  41. </view>
  42. </u-form-item>
  43. </view>
  44. <view v-if="fkFlow == '007'">
  45. <u-form-item label="申请人:" borderBottom ref="item1">
  46. <view class="content">
  47. {{content.userName}}
  48. </view>
  49. </u-form-item>
  50. <u-form-item label="邀请单位:" borderBottom ref="item1">
  51. <view class="content">
  52. {{content.inviteUnit}}
  53. </view>
  54. </u-form-item>
  55. <u-form-item label="培训名称:" borderBottom ref="item1">
  56. <view class="content">
  57. {{content.trainName}}
  58. </view>
  59. </u-form-item>
  60. <u-form-item label="目的地:" borderBottom ref="item1">
  61. <view class="content">
  62. {{content.destination}}
  63. </view>
  64. </u-form-item>
  65. <u-form-item label="起止日期:" borderBottom ref="item1">
  66. <view class="content">
  67. {{content.startTime+' 至 '+content.endTime}}
  68. </view>
  69. </u-form-item>
  70. <u-form-item label="授课题目:" borderBottom ref="item1">
  71. <view class="content">
  72. {{content.teacherTitle}}
  73. </view>
  74. </u-form-item>
  75. <u-form-item label="参加人数:" borderBottom ref="item1">
  76. <view class="content">
  77. {{content.numberOfParticipants}}
  78. </view>
  79. </u-form-item>
  80. </view>
  81. <view v-if="type==0" style="padding-bottom: 40rpx;">
  82. <u-form-item label="下一节点:" borderBottom ref="item1" v-if="overType==false">
  83. <uni-data-select v-model="content.jdindex" :clear="false" placeholder="请选择下一节点" :localdata="list"
  84. @change="change"></uni-data-select>
  85. </u-form-item>
  86. <!-- <u-form-item label="下发人员:" borderBottom v-if="DeliveryWay==4" ref="item1"
  87. @click="choosePeo">
  88. <view :style="{color:content.users==null?'rgb(192, 196, 204)':''}">
  89. {{content.users==null?'请选择人员': content.userList}}
  90. </view>
  91. </u-form-item> -->
  92. <u-form-item label="审批意见:" borderBottom ref="item1" v-if="gdType == false">
  93. <u--textarea v-model="content.reviewMsg" placeholder="请输入审批意见" autoHeight
  94. border="none"></u--textarea>
  95. </u-form-item>
  96. <view v-if="gdType == true">
  97. <u-form-item label="档案编号:" borderBottom ref="item1">
  98. <u--input v-model="content.archiveNo" placeholder="请输入档案编号"
  99. border="none"></u--input>
  100. </u-form-item>
  101. <u-form-item label="档案分类:" borderBottom ref="item1" @click="chooseGd">
  102. <view :style="{color:content.typeId==null?'rgb(192, 196, 204)':''}">
  103. {{content.typeId==null?'请选择档案分类': content.gdtype}}
  104. </view>
  105. </u-form-item>
  106. </view>
  107. <!-- <view v-if="backType == true">
  108. <u-form-item label="退回节点:" borderBottom ref="item1">
  109. <uni-data-select v-model="content.returnToNodeID" placeholder="请选择节点" :clear="false"
  110. :localdata="backlist"></uni-data-select>
  111. </u-form-item>
  112. <u-form-item label="退回意见:" borderBottom ref="item1">
  113. <u--textarea v-model="content.backMsg" placeholder="请输入退回意见" autoHeight
  114. border="none"></u--textarea>
  115. </u-form-item>
  116. </view> -->
  117. <view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;" v-if="gdType == false">
  118. <u-button type="primary" text="提交" @click="submit" ></u-button>
  119. </view>
  120. <view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;" v-if="gdType == true">
  121. <u-button type="primary" text="归档" @click="save" ></u-button>
  122. </view>
  123. <view style="margin-top: 40rpx;padding: 0 20rpx;box-sizing: border-box;" v-if="backType == true">
  124. <u-button type="error" text="退回" @click="show = true" ></u-button>
  125. </view>
  126. </view>
  127. <view style="padding: 20rpx;box-sizing: border-box;" v-else>
  128. <u-steps :current="100" direction="column" v-if="record != null">
  129. <view v-for="(v,i) in record" :key="i">
  130. <view v-if="v.ActionType22 != undefined">
  131. <u-steps-item :error="v.ActionType==2?true:false" v-for="(item,index) in v.ActionType22" :key="index" :title='item.NDFromT+"("+v.ActionTypeText+")"'>
  132. <view slot="desc" style="color:#606266;">
  133. <view style="font-size: 28rpx;">
  134. 收文部门:{{item.NodeData.split("DeptName=")[1]}}
  135. </view>
  136. <view style="font-size: 28rpx;">
  137. 处理人:{{item.Exer.split(',')[1]}}
  138. </view>
  139. <view style="font-size: 28rpx;">
  140. 处理时间:{{item.RDT}}
  141. </view>
  142. <view style="font-size: 28rpx;">
  143. 审核意见:{{item.Msg}}
  144. </view>
  145. </view>
  146. </u-steps-item>
  147. </view>
  148. <u-steps-item :error="v.ActionType==2?true:false" :title='v.NDFromT+"("+v.ActionTypeText+")"' v-else>
  149. <view slot="desc" style="color: #606266">
  150. <view style="font-size: 28rpx;">
  151. 收文部门:{{v.NodeData.split("DeptName=")[1]}}
  152. </view>
  153. <view style="font-size: 28rpx;">
  154. 处理人:{{v.Exer.split(',')[1]}}
  155. </view>
  156. <view style="font-size: 28rpx;">
  157. 处理时间:{{v.RDT}}
  158. </view>
  159. </view>
  160. </u-steps-item>
  161. </view>
  162. </u-steps>
  163. </view>
  164. </u--form>
  165. </view>
  166. </swiper-item>
  167. <swiper-item>
  168. <view
  169. style="padding: 20rpx;box-sizing: border-box;width: 100%;box-sizing: border-box;height: 100%;overflow: auto;">
  170. <u-steps :current="100" direction="column" v-if="record != null">
  171. <view v-for="(v,i) in record" :key="i">
  172. <view v-if="v.ActionType22 != undefined">
  173. <u-steps-item :error="v.ActionType==2?true:false" v-for="(item,index) in v.ActionType22" :key="index" :title='item.NDFromT+"("+v.ActionTypeText+")"'>
  174. <view slot="desc" style="color:#606266;">
  175. <view style="font-size: 28rpx;">
  176. 收文部门:{{item.NodeData.split("DeptName=")[1]}}
  177. </view>
  178. <view style="font-size: 28rpx;">
  179. 处理人:{{item.Exer.split(',')[1]}}
  180. </view>
  181. <view style="font-size: 28rpx;">
  182. 处理时间:{{item.RDT}}
  183. </view>
  184. <view style="font-size: 28rpx;">
  185. 审核意见:{{item.Msg}}
  186. </view>
  187. </view>
  188. </u-steps-item>
  189. </view>
  190. <u-steps-item :error="v.ActionType==2?true:false" :title='v.NDFromT+"("+v.ActionTypeText+")"' v-else>
  191. <view slot="desc" style="color: #606266">
  192. <view style="font-size: 28rpx;">
  193. 收文部门:{{v.NodeData.split("DeptName=")[1]}}
  194. </view>
  195. <view style="font-size: 28rpx;">
  196. 处理人:{{v.Exer.split(',')[1]}}
  197. </view>
  198. <view style="font-size: 28rpx;">
  199. 处理时间:{{v.RDT}}
  200. </view>
  201. </view>
  202. </u-steps-item>
  203. </view>
  204. </u-steps>
  205. </view>
  206. </swiper-item>
  207. </swiper>
  208. <u-modal :show="show" title="退回" :closeOnClickOverlay="true" showCancelButton @cancel="close" @close="close" @confirm="back">
  209. <view class="slot-content" style="width: 100%;" >
  210. <u--form labelPosition="left" labelAlign="center" :model="content" ref="uForm1"
  211. :labelStyle="{fontSize:'32rpx'}" labelWidth="100">
  212. <u-form-item label="退回节点:" borderBottom ref="item1">
  213. <uni-data-select v-model="content.returnToNodeID" placeholder="请选择节点" :clear="false"
  214. :localdata="backlist"></uni-data-select>
  215. </u-form-item>
  216. <u-form-item label="退回意见:" borderBottom ref="item1" >
  217. <u--textarea v-model="content.backMsg" placeholder="请输入退回意见" autoHeight
  218. border="none"></u--textarea>
  219. </u-form-item>
  220. </u--form>
  221. </view>
  222. </u-modal>
  223. </view>
  224. </template>
  225. <script>
  226. export default {
  227. data() {
  228. return {
  229. current: 0,
  230. content: null,
  231. statusList: [],
  232. //流转记录
  233. record: null,
  234. //待办已办
  235. type: 0,
  236. //节点列表
  237. list: [],
  238. //是否选择下发人员
  239. selectType: 3,
  240. workid: null,
  241. flowNo: null,
  242. id: null,
  243. //tabs
  244. list1: [{
  245. name: '待办内容'
  246. },
  247. {
  248. name: '流转记录'
  249. }
  250. ],
  251. DeliveryWay: null, //判断是否需要审核意见
  252. gd: null, //密级列表
  253. gdType: false, //判断是否是归档
  254. overType: false, //判断是否结束
  255. //上个页面传过来的参数
  256. parameter: null,
  257. fkFlow:null,// 006 中层出差 007 外出授课备案
  258. //退回状态
  259. backType:false,
  260. //退回节点列表
  261. backlist:[],
  262. show:false
  263. }
  264. },
  265. onLoad(options) {
  266. let that = this
  267. that.parameter = options
  268. that.fkFlow = options.fkFlow
  269. that.getDicts()
  270. that.getContent(options.workid)
  271. that.getRecord(options.workid)
  272. if (options.nodeName.indexOf('归档') != -1) {
  273. that.gdType = true
  274. // that.getgd()
  275. }
  276. that.type = options.type
  277. that.workid = options.workid
  278. that.flowNo = options.flowNo
  279. uni.setNavigationBarTitle({
  280. title: options.title
  281. })
  282. // if (options.type == 0) {
  283. // // that.jdList(options.workid, options.flowNo)
  284. // setTimeout(() => {
  285. // this.isOver(options)
  286. // }, 500)
  287. // // this.getjsPeo(options.workid, options.flowNo)
  288. // }
  289. },
  290. onShow() {
  291. uni.$once('query', (query) => {
  292. if (query.a == 1) {
  293. this.content.users = getApp().globalData.peoIdList
  294. this.content.userList = getApp().globalData.peoList
  295. this.$forceUpdate()
  296. } else if (query.a == 2) {
  297. this.content.typeId = getApp().globalData.gdId.split(",")[0]
  298. this.content.gdtype = getApp().globalData.gdId.split(",")[1]
  299. this.$forceUpdate()
  300. }
  301. })
  302. },
  303. methods: {
  304. click(e) {
  305. this.current = e.index
  306. },
  307. //查询收文详情
  308. getContent(id) {
  309. if(this.fkFlow == '006'){
  310. uni.$u.http.get('/system/work/sel/' + id).then(res => {
  311. // console.log(res)
  312. this.content = res.data
  313. if (this.gdType == true) {
  314. this.content.typeId = null //归档分类
  315. this.content.archiveNo = null //档案编号
  316. this.content.archiveFormNo = null
  317. this.content.printNum = null //打印份数
  318. this.content.name = res.data.title //档案名称
  319. this.content.gdtype = null //分类名称
  320. }
  321. if(this.type==0){
  322. this.isOver(this.parameter)
  323. this.getBackNo(this.parameter.nodeId)
  324. }
  325. this.statusList.forEach(item => {
  326. if (item.dictValue == res.data.emergencyDegree) {
  327. this.content.status = item.dictLabel
  328. }
  329. })
  330. })
  331. }else if(this.fkFlow == '007'){
  332. uni.$u.http.get('/system/registration/sel/' + id).then(res => {
  333. // console.log(res)
  334. this.content = res.data
  335. if (this.gdType == true) {
  336. this.content.typeId = null //归档分类
  337. this.content.archiveNo = null //档案编号
  338. this.content.archiveFormNo = null
  339. this.content.printNum = null //打印份数
  340. this.content.name = res.data.title //档案名称
  341. this.content.gdtype = null //分类名称
  342. }
  343. if(this.type==0){
  344. this.isOver(this.parameter)
  345. this.getBackNo(this.parameter.nodeId)
  346. }
  347. this.statusList.forEach(item => {
  348. if (item.dictValue == res.data.emergencyDegree) {
  349. this.content.status = item.dictLabel
  350. }
  351. })
  352. })
  353. }
  354. },
  355. // 查询字典数据详细 紧急程度
  356. getDicts() {
  357. uni.$u.http.get('/system/dict/data/type/urgent_type').then(res => {
  358. this.statusList = res.data
  359. })
  360. },
  361. //查询归档字典 秘籍
  362. getgd() {
  363. uni.$u.http.get('/system/dict/data/type/archive_levels').then(res => {
  364. this.gd = res.data.map((item, index) => {
  365. let obj = {
  366. value: item.dictCode,
  367. id: item.dictCode,
  368. text: item.dictLabel,
  369. }
  370. return obj
  371. })
  372. })
  373. },
  374. //查询流转记录
  375. getRecord(id) {
  376. uni.$u.http.get('/jflow/restful/getWfGenerWorkList', {
  377. params: {
  378. workID: id,
  379. token: uni.getStorageSync('jtoken')
  380. }
  381. }).then(res => {
  382. // console.log(res)
  383. this.record = res.trackList
  384. if (this.type == 0) {
  385. // this.content.jdindex = null //下一节点索引
  386. // this.content.nodeId = null //下一节点ID
  387. // this.content.optionName = null //节点名称
  388. this.content.reviewMsg = null //审批意见
  389. this.content.users = null //发送给指定人员
  390. // this.content.toNodeId = null
  391. this.content.userList = null //人员列表
  392. this.content.workid = this.workid
  393. }
  394. })
  395. },
  396. //查询下一步所有节点
  397. jdList(id, flow) {
  398. uni.$u.http.get('/jflow/restful/GenerNextStepNode', {
  399. params: {
  400. workid: id,
  401. token: uni.getStorageSync('jtoken'),
  402. flowNo: flow
  403. }
  404. }).then(res => {
  405. this.id = res[0].NodeID
  406. this.content.jdindex = 0 //下一节点索引
  407. this.DeliveryWay = res[0].DeliveryWay //下一节点状态
  408. this.content.toNodeId = res[0].NodeID //下一节点ID
  409. this.content.nodeId = res[0].NodeID //下一节点ID
  410. this.content.optionName = res[0].Name //节点名称
  411. this.list = res.map((item, index) => {
  412. let obj = {
  413. value: index,
  414. id: item.NodeID,
  415. text: item.Name,
  416. DeliveryWay: item.DeliveryWay
  417. }
  418. return obj
  419. })
  420. })
  421. },
  422. //节点选择
  423. change(e) {
  424. if (e >= 0) {
  425. this.id = this.list[e].id
  426. this.DeliveryWay = this.list[e].DeliveryWay
  427. this.content.toNodeId = this.list[e].id
  428. this.content.nodeId = this.list[e].id
  429. this.content.optionName = this.list[e].text
  430. }
  431. },
  432. //选择人员相关
  433. choosePeo() {
  434. if (this.id == null) {
  435. uni.showToast({
  436. title: "请先选择下一节点",
  437. icon: "none"
  438. })
  439. } else {
  440. uni.navigateTo({
  441. url: `/pages/peoChoose/peoChoose?workid=${this.workid}&flowNo=${this.flowNo}&id=${this.id}`,
  442. })
  443. }
  444. },
  445. //选择归档分类
  446. chooseGd() {
  447. uni.navigateTo({
  448. url: "/pages/file/file"
  449. })
  450. },
  451. //判断是否为最后一步
  452. isOver(v) {
  453. uni.$u.http.get("/jflow/restful/judgeNode", {
  454. params: {
  455. nodeId: v.nodeId
  456. }
  457. }).then(res => {
  458. if (res.msg == "Y") {
  459. this.overType = true
  460. } else {
  461. this.overType = false
  462. this.jdList(v.workid, v.flowNo)
  463. }
  464. })
  465. },
  466. //提交待办
  467. submit() {
  468. if (this.overType == false && this.id == null) {
  469. uni.showToast({
  470. title: "请先选择下一节点",
  471. icon: "none"
  472. })
  473. } else if (this.content.reviewMsg == null) {
  474. uni.showToast({
  475. title: "请填写审核意见",
  476. icon: "none"
  477. })
  478. } else {
  479. uni.showLoading({
  480. title: "提交中...",
  481. mask: true
  482. })
  483. uni.$u.http.post("/offcial/receive/sendFlowToUsers", this.content, {
  484. header: {
  485. // 'content-Type: 'multipart/form-data'
  486. 'content-Type': 'application/x-www-form-urlencoded'
  487. }
  488. }).then(res => {
  489. // uni.hideLoading()
  490. if (res.data.VarAcceptersName != "" && res.data.VarAcceptersName != "结束") {
  491. uni.showToast({
  492. title: "已发送到" + res.data.VarToNodeName + "节点,接收人:" + res
  493. .data.VarAcceptersName,
  494. icon: "none",
  495. mask: true,
  496. duration:3000
  497. })
  498. } else if (res.data.VarAcceptersName == "结束") {
  499. uni.showToast({
  500. title: res.data.Message,
  501. icon: "none",
  502. mask: true,
  503. duration:3000
  504. })
  505. } else {
  506. uni.showToast({
  507. title: res.data.Message.replaceAll("@", ""),
  508. icon: "none",
  509. mask: true,
  510. duration:3000
  511. })
  512. }
  513. uni.$emit('query', {
  514. a: 'back'
  515. })
  516. setTimeout(() => {
  517. uni.navigateBack()
  518. }, 2000)
  519. }).catch(res => {
  520. uni.hideLoading()
  521. uni.showToast({
  522. title:"请稍后重试",
  523. icon:"none"
  524. })
  525. })
  526. }
  527. },
  528. //保存归档
  529. save() {
  530. if (this.content.archiveNo == null) {
  531. uni.showToast({
  532. title: "请填写档案编号",
  533. icon: "none"
  534. })
  535. } else if (this.content.typeId == null) {
  536. uni.showToast({
  537. title: "请选择归档分类",
  538. icon: "none"
  539. })
  540. }else {
  541. this.content.reviewMsg = "同意"
  542. uni.showLoading({
  543. title: "提交中...",
  544. mask: true
  545. })
  546. uni.$u.http.post("/offcial/archive/save", this.content).then(res => {
  547. uni.$u.http.get('/jflow/restful/GenerNextStepAllNode', {
  548. params: {
  549. workid: this.parameter.workid,
  550. token: uni.getStorageSync('jtoken'),
  551. flowNo: this.parameter.flowNo,
  552. }
  553. }).then(qwe => {
  554. uni.showToast({
  555. title: "归档成功",
  556. icon: "none",
  557. mask: true
  558. })
  559. uni.$emit('query', {
  560. a: 'back'
  561. })
  562. setTimeout(() => {
  563. uni.navigateBack()
  564. }, 2000)
  565. })
  566. }).catch(res => {
  567. uni.hideLoading()
  568. uni.showToast({
  569. title:"请稍后重试",
  570. icon:"none"
  571. })
  572. })
  573. }
  574. },
  575. //查询是否能退回
  576. getBackNo(id){
  577. uni.$u.http.get("/jflow/restful/CurrNodeInfo?currNodeID="+id).then(res=>{
  578. if(res[0].ReturnRole != 0){
  579. this.getBackList()
  580. this.backType = true
  581. this.content.returnToNodeID = null
  582. this.content.backMsg = null
  583. }
  584. })
  585. },
  586. //获取退回节点列表
  587. getBackList(){
  588. uni.$u.http.get("/jflow/restful/getReturnWorkNode",{
  589. params:{
  590. workid: this.parameter.workid,
  591. token: uni.getStorageSync('jtoken')
  592. }
  593. }).then(res=>{
  594. this.backlist = res.map((item, index) => {
  595. let obj = {
  596. value: item.No,
  597. id: item.No,
  598. text: item.Name,
  599. }
  600. return obj
  601. })
  602. })
  603. },
  604. //退回上一节点
  605. back(){
  606. if(this.content.returnToNodeID == null){
  607. uni.showToast({
  608. title:"请选择退回节点",
  609. icon:"none"
  610. })
  611. }else if(this.content.backMsg == null){
  612. uni.showToast({
  613. title:"请填写退回意见",
  614. icon:"none"
  615. })
  616. }else{
  617. uni.showLoading({
  618. title:"退回中...",
  619. })
  620. uni.$u.http.get("/offcial/receive/NodeReturnWork",{
  621. params:{
  622. workid: this.parameter.workid,
  623. returnToNodeID: this.content.returnToNodeID,
  624. returnMsg:this.content.backMsg
  625. }
  626. }).then(res=>{
  627. uni.hideLoading()
  628. this.close()
  629. uni.showToast({
  630. title:res,
  631. icon:"none",
  632. duration:2000
  633. })
  634. uni.$emit('query', {
  635. a: 'back'
  636. })
  637. setTimeout(() => {
  638. uni.navigateBack()
  639. }, 2000)
  640. }).catch(error=>{
  641. uni.hideLoading()
  642. uni.showToast({
  643. title:"请稍后重试",
  644. icon:"none"
  645. })
  646. })
  647. }
  648. },
  649. //关闭模态框
  650. close(){
  651. this.content.returnToNodeID = null
  652. this.content.backMsg = null
  653. this.show = false
  654. }
  655. }
  656. }
  657. </script>
  658. <style lang="scss" scoped>
  659. .content {
  660. font-size: 32rpx;
  661. }
  662. .tab {
  663. width: 48%;
  664. height: 100%;
  665. box-sizing: border-box;
  666. display: flex;
  667. align-items: center;
  668. justify-content: center;
  669. }
  670. .active {
  671. color: #2979ff
  672. }
  673. </style>