index.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808
  1. <template>
  2. <template-page
  3. ref="pageRef"
  4. :getList="getList"
  5. :exportList="exportList"
  6. :columnParsing="columnParsing"
  7. :optionsEvensGroup="optionsEvensGroup"
  8. :tableAttributes="tableAttributes"
  9. :tableEvents="tableEvents"
  10. :operation="operation()"
  11. >
  12. <div class="cartographer_big">
  13. <el-dialog title="配置" width="100%" :modal="false" :visible.sync="formBool" :before-close="handleClose">
  14. <zj-page-container v-if="formBool">
  15. <zj-page-fill class="neibuview">
  16. <zj-form-container
  17. ref="formRef"
  18. :form-data="formData"
  19. :form-rules="formRules"
  20. :form-attributes="{ size: 'mini' }"
  21. >
  22. <zj-form-module title="评价信息" label-width="100px" :form-data="formData" :form-items="items" />
  23. <zj-form-module title="申诉信息" label-width="100px" :form-data="formData" :form-items="items2" />
  24. <zj-form-module
  25. v-if="[3, 4].includes(formType) || (this.formData.parentCategoryId && [5].includes(formType))"
  26. title="中心审核信息"
  27. label-width="140px"
  28. :form-data="formData"
  29. :form-items="items3"
  30. />
  31. </zj-form-container>
  32. </zj-page-fill>
  33. <!-- 操作按钮 -->
  34. <div style="box-sizing: border-box; padding: 10px; text-align: right">
  35. <el-button size="mini" @click="handleClose">取 消</el-button>
  36. <el-button v-if="[0, 1, 2].includes(formType)" size="mini" @click="formConfirm" type="primary"
  37. >确 定</el-button
  38. >
  39. <el-button v-if="[3, 4].includes(formType)" size="mini" @click="quedingshenhe" type="primary"
  40. >确 定</el-button
  41. >
  42. </div>
  43. </zj-page-container>
  44. </el-dialog>
  45. </div>
  46. </template-page>
  47. </template>
  48. <script>
  49. import TemplatePage from '@/components/template/template-page-1.vue'
  50. import import_mixin from '@/components/template/import_mixin.js'
  51. import {
  52. appraiseApplyApplyList,
  53. appraiseApplyApplyListExport,
  54. appraiseApplyApplyDetail,
  55. appraiseApplyApplySubmit,
  56. appraiseApplyApplyConfirm,
  57. appraiseApplyBatchUpdateEnd,
  58. appraiseApplyBatchUpdateReset
  59. } from '@/api/appraisalStatement'
  60. import operation_mixin from '@/components/template/operation_mixin.js'
  61. import { required, requiredValueMin } from '@/components/template/rules_verify.js'
  62. import { orderBaseDetail } from '@/api/workOrderPool.js'
  63. import { EventBus } from '@/utils/eventBus'
  64. import ImageUpload from '@/components/file-upload'
  65. import { appraiseApplyCategoryList } from '@/api/explainTypeConfig.js'
  66. export default {
  67. components: { TemplatePage, ImageUpload },
  68. mixins: [import_mixin, operation_mixin],
  69. data() {
  70. return {
  71. // 表格属性
  72. tableAttributes: {
  73. selectColumn: true
  74. },
  75. // 表格事件
  76. tableEvents: {
  77. 'selection-change': this.selectionChange
  78. },
  79. recordSelected: [],
  80. formBool: false,
  81. formType: 0, //0新增,1指定申诉,2二次申诉,3第一次审核信息部审核,4第二次审核结算组审核,5详情
  82. formData: {
  83. applyBy: '',
  84. applyTime: '',
  85. appraiseContent: '',
  86. appraiseStatus: '',
  87. categoryId: '',
  88. categoryName: '',
  89. examineResult: '',
  90. infoConfirmTime: '',
  91. isWebsitCall: '',
  92. items: [],
  93. orderBaseId: '',
  94. orderSmallType: '',
  95. orderSmallTypeText: '',
  96. orderType: '',
  97. overTime: '',
  98. parentCategoryId: '',
  99. parentCategoryName: '',
  100. reason: '',
  101. settleConfirmTime: '',
  102. websitId: '',
  103. websitName: '',
  104. websitResult: '',
  105. workerId: '',
  106. workerIdcard: '',
  107. workerMobile: '',
  108. workerName: '',
  109. workerNumber: '',
  110. workerResult: '',
  111. recordingFile: [],
  112. applicationDocument: []
  113. },
  114. formRules: {},
  115. appraiseApplyCategoryList: []
  116. }
  117. },
  118. computed: {
  119. optionsEvensGroup() {
  120. return [
  121. [
  122. [
  123. this.optionsEvensAuth('add', {
  124. click: () => {
  125. this.formType = 0
  126. this.formBool = true
  127. }
  128. })
  129. ],
  130. [
  131. this.optionsEvensAuth('dismissedWithoutAppeal', {
  132. click: () => {
  133. if (this.recordSelected.length === 0) {
  134. this.$message.warning('请勾选工单')
  135. return
  136. }
  137. appraiseApplyBatchUpdateEnd(this.recordSelected.map(item => item.id)).then(res => {
  138. this.$message({ type: 'success', message: '成功!' })
  139. this.$refs.pageRef.refreshList()
  140. })
  141. }
  142. })
  143. ],
  144. [
  145. this.optionsEvensAuth('reappealDenied', {
  146. click: () => {
  147. if (this.recordSelected.length === 0) {
  148. this.$message.warning('请勾选工单')
  149. return
  150. }
  151. appraiseApplyBatchUpdateReset(this.recordSelected.map(item => item.id)).then(res => {
  152. this.$message({ type: 'success', message: '成功!' })
  153. this.$refs.pageRef.refreshList()
  154. })
  155. }
  156. })
  157. ]
  158. ]
  159. ]
  160. },
  161. items() {
  162. return [
  163. ...(() => {
  164. if (this.formType == 0) {
  165. return [
  166. {
  167. name: 'el-input',
  168. md: 6,
  169. attributes: {
  170. disabled: false,
  171. placeholder: '请输入'
  172. },
  173. formItemAttributes: {
  174. label: '工单单号',
  175. prop: 'orderBaseId',
  176. rules: [...required]
  177. },
  178. slots: {
  179. append: (h, { props, onInput }) => {
  180. return (
  181. <el-button type="primary" onClick={this.fuzhigongdanneirong}>
  182. 确定
  183. </el-button>
  184. )
  185. }
  186. }
  187. }
  188. ]
  189. } else {
  190. return [
  191. {
  192. name: 'el-input',
  193. md: 6,
  194. attributes: {
  195. disabled: true,
  196. placeholder: '请输入'
  197. },
  198. formItemAttributes: {
  199. label: '工单单号',
  200. prop: 'orderBaseId',
  201. rules: [...required]
  202. }
  203. }
  204. ]
  205. }
  206. })(),
  207. {
  208. name: 'el-input',
  209. md: 6,
  210. attributes: {
  211. disabled: true,
  212. placeholder: '请输入'
  213. },
  214. formItemAttributes: {
  215. label: '工单类型',
  216. prop: 'orderSmallTypeText',
  217. rules: []
  218. }
  219. },
  220. {
  221. name: 'el-input',
  222. md: 6,
  223. attributes: {
  224. disabled: true,
  225. placeholder: '请输入'
  226. },
  227. formItemAttributes: {
  228. label: '客户姓名',
  229. prop: 'userName',
  230. rules: []
  231. }
  232. },
  233. {
  234. name: 'el-input',
  235. md: 6,
  236. attributes: {
  237. disabled: true,
  238. placeholder: '请输入'
  239. },
  240. formItemAttributes: {
  241. label: '联系电话',
  242. prop: 'userMobile',
  243. rules: []
  244. }
  245. },
  246. {
  247. name: 'el-input',
  248. md: 12,
  249. attributes: {
  250. disabled: true,
  251. placeholder: '请输入'
  252. },
  253. formItemAttributes: {
  254. label: '联系地址',
  255. prop: 'address',
  256. rules: []
  257. }
  258. },
  259. {
  260. name: 'el-input',
  261. md: 6,
  262. attributes: {
  263. disabled: true,
  264. placeholder: '请输入'
  265. },
  266. formItemAttributes: {
  267. label: '主要工程师',
  268. prop: 'workerName',
  269. rules: []
  270. }
  271. },
  272. {
  273. name: 'el-input',
  274. md: 6,
  275. attributes: {
  276. disabled: true,
  277. placeholder: '请输入'
  278. },
  279. formItemAttributes: {
  280. label: '完工时间',
  281. prop: 'overTime',
  282. rules: []
  283. }
  284. },
  285. {
  286. name: 'el-select',
  287. options: [
  288. { label: '默认好评', value: 'D' },
  289. { label: '好评', value: 'A' },
  290. { label: '中评', value: 'B' },
  291. { label: '差评', value: 'C' },
  292. { label: '未评价', value: 'N' },
  293. { label: '其他', value: 'O' }
  294. ],
  295. md: 6,
  296. attributes: { disabled: true, placeholder: '请选择', width: '100%' },
  297. formItemAttributes: { label: '评价类型', prop: 'appraiseStatus' }
  298. },
  299. {
  300. name: 'el-input',
  301. md: 18,
  302. attributes: {
  303. disabled: ![0, 1, 2].includes(this.formType),
  304. placeholder: '请输入'
  305. },
  306. formItemAttributes: {
  307. label: '评价内容',
  308. prop: 'appraiseContent',
  309. rules: [...required]
  310. }
  311. }
  312. ]
  313. },
  314. items2() {
  315. return [
  316. {
  317. name: 'el-input',
  318. md: 6,
  319. attributes: {
  320. disabled: true,
  321. placeholder: '请输入'
  322. },
  323. formItemAttributes: {
  324. label: '所属网点',
  325. prop: 'websitName',
  326. rules: []
  327. }
  328. },
  329. {
  330. name: 'el-input',
  331. md: 6,
  332. attributes: {
  333. disabled: true,
  334. placeholder: '请输入'
  335. },
  336. formItemAttributes: {
  337. label: '申诉人',
  338. prop: 'applyBy',
  339. rules: []
  340. }
  341. },
  342. {
  343. name: 'el-input',
  344. md: 6,
  345. attributes: {
  346. disabled: true,
  347. placeholder: '请输入'
  348. },
  349. formItemAttributes: {
  350. label: '申诉时间',
  351. prop: 'applyTime',
  352. rules: []
  353. }
  354. },
  355. {
  356. name: 'el-input',
  357. md: 24,
  358. attributes: {
  359. disabled: ![0, 1, 2].includes(this.formType),
  360. type: 'textarea',
  361. rows: 3,
  362. placeholder: '请输入'
  363. },
  364. formItemAttributes: {
  365. label: '申诉理由',
  366. prop: 'reason',
  367. rules: [...required]
  368. }
  369. },
  370. {
  371. md: 24,
  372. name: 'slot-component',
  373. formItemAttributes: {
  374. label: '录音文件',
  375. prop: 'recordingFile',
  376. rules: []
  377. },
  378. render: (h, { props, onInput }) => {
  379. return (
  380. <div>
  381. <ImageUpload
  382. fileList={this.formData.recordingFile}
  383. limit={1}
  384. isEdit={[0, 1, 2].includes(this.formType)}
  385. fileType={['video']}
  386. />
  387. <h4>仅支持MP3/MP4</h4>
  388. </div>
  389. )
  390. }
  391. },
  392. {
  393. md: 24,
  394. name: 'slot-component',
  395. formItemAttributes: {
  396. label: '申请图片',
  397. prop: 'applicationDocument',
  398. rules: []
  399. },
  400. render: (h, { props, onInput }) => {
  401. return (
  402. <ImageUpload
  403. fileList={this.formData.applicationDocument}
  404. limit={100}
  405. isEdit={[0, 1, 2].includes(this.formType)}
  406. fileType={['image']}
  407. />
  408. )
  409. }
  410. },
  411. {
  412. name: 'el-input',
  413. md: 24,
  414. attributes: {
  415. disabled: ![0, 1, 2].includes(this.formType),
  416. type: 'textarea',
  417. rows: 3,
  418. placeholder: '请输入'
  419. },
  420. formItemAttributes: {
  421. label: '申诉备注',
  422. prop: '',
  423. rules: []
  424. }
  425. }
  426. ]
  427. },
  428. items3() {
  429. return [
  430. {
  431. name: 'el-select',
  432. md: 6,
  433. options: this.appraiseApplyCategoryList
  434. .filter(item => item.parentId == 0)
  435. .map(item => ({ label: item.name, value: item.id })),
  436. attributes: {
  437. disabled: ![3, 4].includes(this.formType),
  438. placeholder: '请输入'
  439. },
  440. formItemAttributes: {
  441. label: '问题大类',
  442. prop: 'parentCategoryId',
  443. rules: [...required]
  444. }
  445. },
  446. {
  447. name: 'el-select',
  448. md: 6,
  449. options: this.appraiseApplyCategoryList
  450. .filter(item => item.parentId == this.formData.parentCategoryId)
  451. .map(item => ({ label: item.name, value: item.id })),
  452. attributes: {
  453. disabled: ![3, 4].includes(this.formType),
  454. placeholder: '请输入'
  455. },
  456. formItemAttributes: {
  457. label: '问题小类',
  458. prop: 'categoryId',
  459. rules: [...required]
  460. }
  461. },
  462. {
  463. name: 'el-input',
  464. md: 6,
  465. attributes: {
  466. disabled: true,
  467. placeholder: '请输入'
  468. },
  469. formItemAttributes: {
  470. label: '审核人',
  471. prop: 'confirmBy',
  472. rules: []
  473. }
  474. },
  475. ...(() => {
  476. if (this.formData.isSecond) {
  477. return [
  478. {
  479. name: 'el-input',
  480. md: 6,
  481. attributes: {
  482. disabled: true,
  483. placeholder: '请输入'
  484. },
  485. formItemAttributes: {
  486. label: '审核时间',
  487. prop: 'settleConfirmTime',
  488. rules: []
  489. }
  490. }
  491. ]
  492. } else {
  493. return [
  494. {
  495. name: 'el-input',
  496. md: 6,
  497. attributes: {
  498. disabled: true,
  499. placeholder: '请输入'
  500. },
  501. formItemAttributes: {
  502. label: '审核时间',
  503. prop: 'infoConfirmTime',
  504. rules: []
  505. }
  506. }
  507. ]
  508. }
  509. })(),
  510. {
  511. md: 24,
  512. isShow: [3, 4, 5].includes(this.formType),
  513. name: 'el-radio',
  514. options: [
  515. { label: '是', value: true },
  516. { label: '否', value: false }
  517. ],
  518. attributes: {},
  519. formItemAttributes: {
  520. label: '网点是否指引用户接听400回访电话',
  521. prop: 'isWebsitCall',
  522. rules: [...required]
  523. }
  524. },
  525. {
  526. md: 24,
  527. isShow: [3, 4, 5].includes(this.formType),
  528. name: 'el-radio',
  529. options: [
  530. { label: '无责', value: 'NOT' },
  531. { label: '全责', value: 'ALL' },
  532. { label: '半责', value: 'HALF' }
  533. ],
  534. attributes: {},
  535. formItemAttributes: {
  536. label: '判定网点',
  537. prop: 'websitResult',
  538. rules: [...required]
  539. }
  540. },
  541. {
  542. md: 24,
  543. isShow: [3, 4, 5].includes(this.formType),
  544. name: 'el-radio',
  545. options: [
  546. { label: '无责', value: 'NOT' },
  547. { label: '全责', value: 'ALL' },
  548. { label: '半责', value: 'HALF' }
  549. ],
  550. attributes: {},
  551. formItemAttributes: {
  552. label: '判定服务人员',
  553. prop: 'workerResult',
  554. rules: [...required]
  555. }
  556. },
  557. {
  558. name: 'el-input',
  559. md: 24,
  560. attributes: {
  561. disabled: ![3, 4].includes(this.formType),
  562. type: 'textarea',
  563. rows: 3,
  564. placeholder: '请输入'
  565. },
  566. formItemAttributes: {
  567. label: '审核备注',
  568. prop: 'examineResult',
  569. rules: [...required]
  570. }
  571. }
  572. ]
  573. }
  574. },
  575. created() {
  576. if (this.pageType == 'zhidingshenshu') {
  577. this.formData.orderBaseId = this.pageCode
  578. this.fuzhigongdanneirong()
  579. this.formType = 1
  580. this.formBool = true
  581. }
  582. },
  583. methods: {
  584. fuzhigongdanneirong() {
  585. if (!this.formData.orderBaseId) {
  586. return
  587. }
  588. orderBaseDetail({
  589. orderBaseId: this.formData.orderBaseId
  590. }).then(res => {
  591. var {
  592. orderSmallType,
  593. orderSmallTypeText,
  594. orderType,
  595. orderTypeText,
  596. websitId,
  597. websitName,
  598. workerId,
  599. workerIdcard,
  600. workerMobile,
  601. workerName,
  602. workerNumber,
  603. userName,
  604. address,
  605. userMobile,
  606. overTime,
  607. appraiseStatus,
  608. appraiseContent
  609. } = res.data
  610. Object.assign(this.formData, {
  611. orderSmallType,
  612. orderSmallTypeText,
  613. orderType,
  614. orderTypeText,
  615. websitId,
  616. websitName,
  617. workerId,
  618. workerIdcard,
  619. workerMobile,
  620. workerName,
  621. workerNumber,
  622. userName,
  623. address,
  624. userMobile,
  625. overTime,
  626. appraiseStatus,
  627. appraiseContent
  628. })
  629. })
  630. },
  631. // 列表请求函数
  632. getList: appraiseApplyApplyList,
  633. // 导出
  634. exportList: appraiseApplyApplyListExport,
  635. // 表格列解析渲染数据更改
  636. columnParsing(item, defaultData) {
  637. return defaultData
  638. },
  639. // 获取勾选框数据
  640. selectionChange(data) {
  641. this.recordSelected = data
  642. },
  643. handleClose() {
  644. if (this.pageType == 'zhidingshenshu') {
  645. EventBus.$emit('closeSelectedTag_wb')
  646. } else {
  647. this.$refs?.pageRef?.refreshList()
  648. this.$data.formData = this.$options.data().formData
  649. this.formType = 0
  650. this.formBool = false
  651. }
  652. },
  653. formConfirm() {
  654. this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
  655. if (valid) {
  656. appraiseApplyApplySubmit({
  657. ...this.formData,
  658. items: [
  659. ...this.formData.recordingFile.map(item => ({ ...item, type: 'C' })),
  660. ...this.formData.applicationDocument.map(item => ({ ...item, type: 'I' }))
  661. ]
  662. }).then(res => {
  663. this.$message({ type: 'success', message: '成功!' })
  664. if (this.pageType == 'zhidingshenshu') {
  665. this.$router.push({
  666. name: 'appraisalStatement'
  667. })
  668. } else {
  669. this.$refs.pageRef.refreshList()
  670. this.handleClose()
  671. }
  672. })
  673. }
  674. })
  675. },
  676. quedingshenhe() {
  677. this.$refs.formRef.validate((valid, invalidFields, errLabels) => {
  678. if (valid) {
  679. appraiseApplyApplyConfirm({
  680. ...this.formData,
  681. items: [
  682. ...this.formData.recordingFile.map(item => ({ ...item, type: 'C' })),
  683. ...this.formData.applicationDocument.map(item => ({ ...item, type: 'I' }))
  684. ]
  685. }).then(res => {
  686. this.$message({ type: 'success', message: '成功!' })
  687. this.$refs.pageRef.refreshList()
  688. this.handleClose()
  689. })
  690. }
  691. })
  692. },
  693. operation() {
  694. return this.operationBtn({
  695. // 详情
  696. details: {
  697. click: ({ row, index, column }) => {
  698. appraiseApplyApplyDetail({
  699. id: row.id
  700. }).then(res => {
  701. appraiseApplyCategoryList({ pageNum: 1, pageSize: -1, params: [] }).then(res => {
  702. this.appraiseApplyCategoryList = res.data.records
  703. })
  704. this.formData = {
  705. ...res.data,
  706. recordingFile: (res.data?.items || []).filter(item => item.type == 'C'),
  707. applicationDocument: (res.data?.items || []).filter(item => item.type == 'I')
  708. }
  709. this.$nextTick(() => {
  710. this.formType = 5
  711. this.formBool = true
  712. })
  713. })
  714. }
  715. },
  716. // 二次申诉
  717. secondStatement: {
  718. conditions: ({ row, index, column }) => {
  719. return row.isSecond == false && row.websitResult == 'All' && row.status == 'OK'
  720. },
  721. click: ({ row, index, column }) => {
  722. appraiseApplyApplyDetail({
  723. id: row.id
  724. }).then(res => {
  725. appraiseApplyCategoryList({ pageNum: 1, pageSize: -1, params: [] }).then(res => {
  726. this.appraiseApplyCategoryList = res.data.records
  727. })
  728. this.formData = {
  729. ...res.data,
  730. recordingFile: (res.data?.items || []).filter(item => item.type == 'C'),
  731. applicationDocument: (res.data?.items || []).filter(item => item.type == 'I')
  732. }
  733. this.$nextTick(() => {
  734. this.formType = 2
  735. this.formBool = true
  736. })
  737. })
  738. }
  739. },
  740. // 信息部审核
  741. InfoDepartmentAudit: {
  742. conditions: ({ row, index, column }) => {
  743. return row.isSecond == false && row.status == 'WAIT_CENTER'
  744. },
  745. click: ({ row, index, column }) => {
  746. appraiseApplyApplyDetail({
  747. id: row.id
  748. }).then(res => {
  749. appraiseApplyCategoryList({ pageNum: 1, pageSize: -1, params: [] }).then(res => {
  750. this.appraiseApplyCategoryList = res.data.records
  751. })
  752. this.formData = {
  753. ...res.data,
  754. recordingFile: (res.data?.items || []).filter(item => item.type == 'C'),
  755. applicationDocument: (res.data?.items || []).filter(item => item.type == 'I')
  756. }
  757. this.$nextTick(() => {
  758. this.formType = 3
  759. this.formBool = true
  760. })
  761. })
  762. }
  763. },
  764. // 结算组审核
  765. clearingSectionAudit: {
  766. conditions: ({ row, index, column }) => {
  767. return row.isSecond == true && row.status == 'WAIT_CENTER'
  768. },
  769. click: ({ row, index, column }) => {
  770. appraiseApplyApplyDetail({
  771. id: row.id
  772. }).then(res => {
  773. appraiseApplyCategoryList({ pageNum: 1, pageSize: -1, params: [] }).then(res => {
  774. this.appraiseApplyCategoryList = res.data.records
  775. })
  776. this.formData = {
  777. ...res.data,
  778. recordingFile: (res.data?.items || []).filter(item => item.type == 'C'),
  779. applicationDocument: (res.data?.items || []).filter(item => item.type == 'I')
  780. }
  781. this.$nextTick(() => {
  782. this.formType = 4
  783. this.formBool = true
  784. })
  785. })
  786. }
  787. }
  788. })
  789. }
  790. }
  791. }
  792. </script>
  793. <style lang="scss" scoped>
  794. .neibuview {
  795. box-sizing: border-box;
  796. padding-left: 16px;
  797. ::v-deep & > .zj-page-fill-scroll {
  798. box-sizing: border-box;
  799. padding-right: 16px;
  800. & > div:nth-child(1) {
  801. margin-top: 20px;
  802. }
  803. }
  804. }
  805. </style>