index.vue 25 KB

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