123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463 |
- <template>
- <div style="width: 100%; height: 100%">
- <template-page
- v-show="showSurrender == 0"
- ref="pageRef"
- :operation="operation()"
- :optionsEvensGroup="optionsEvensGroup"
- :getList="getList"
- :exportList="exportList"
- :tableAttributes="tableAttributes"
- :tableEvents="tableEvents"
- :columnParsing="columnParsing"
- :replaceOrNotMap="false"
- >
- </template-page>
- <div class="app-container" v-if="showSurrender == 1">
- <refund-list-detail
- :detail-id="detailId"
- @updateList="updateList"
- @setShowPage="
- val => {
- $refs.pageRef.refreshList()
- showSurrender = val
- }
- "
- />
- </div>
- <div class="app-container" v-else-if="showSurrender == 2">
- <refund-replenish
- :detail-id="detailId"
- @updateList="updateList"
- @setShowPage="
- val => {
- $refs.pageRef.refreshList()
- showSurrender = val
- }
- "
- />
- </div>
- <div class="app-container" v-else-if="showSurrender == 3">
- <refund-reexamine
- :detail-id="detailId"
- @updateList="updateList"
- @setShowPage="
- val => {
- $refs.pageRef.refreshList()
- showSurrender = val
- }
- "
- />
- </div>
- <examine-dialog :is-show.sync="isShowExamineDialog" :examine-form.sync="examineForm" />
- </div>
- </template>
- <script>
- import {
- examineData,
- getDepositManageList,
- getDepositManageDate,
- getDepositManagExport,
- secondRefund,
- getDepositCountList
- } from '@/api/engin_deposit/refund_list'
- import { downloadFiles, handleImport } from '@/utils/util'
- import ExamineDialog from '@/components/Common/examine-dialog'
- import RefundListDetail from './components/refund_list-detail.vue'
- import RefundReplenish from './components/refund_replenish.vue'
- import RefundReexamine from './components/refund_reexamine.vue'
- import TemplatePage from '@/components/template/template-page-1.vue'
- import { depositManageHomeList, depositManageHomeListExport } from '@/api/deposit_list_v2.js'
- export default {
- components: {
- RefundListDetail,
- ExamineDialog,
- RefundReplenish,
- RefundReexamine,
- TemplatePage
- },
- data() {
- return {
- importFileList: [],
- enginOrderType: 'HOME', // 列表类型
- currentPage: 1, // 当前页码
- pageSize: 10, // 每页数量
- listTotal: 0, // 列表总数
- dataList: [], // 列表数据
- screenForm: {
- confirmName: '', // 审核人
- createName: '', // 创建人
- customerKeyword: '', // 客户编码/客户名称
- endDeliverTime: '', // 发货申请日期-结束
- enginOrderNo: '', // 工程订单编号
- enginOrderType: 'HOME', // 工程订单类型
- examineStatus: '', // 状态
- refEnginRecordNo: '', // 登录单号
- refProjectName: '', // 项目名称
- refUseUnit: '', // 使用单位
- startDeliverTime: '', // 发货申请日期-开始
- startSubmitTime: '',
- startConfirmTime: '',
- isRefundDeposit: null,
- startInstallTime: '',
- endConfirmTime: '',
- endInstallTime: '',
- specification: '',
- refFactoryNo: '',
- factoryNo: '',
- specialNo: '',
- refRegionWork: '',
- endSubmitTime: '',
- refTradeCategory: '',
- startAcceptTime: '',
- endAcceptTime: '',
- geLiInerNote: '',
- startFactoryNo: '',
- endFactoryNo: '',
- settlementStatus: '',
- mailFactoryStatus: '',
- endOrderDate: '',
- startOrderDate: '',
- dataStates: [],
- startInstallTime: '',
- endInstallTime: '',
- startSettlementDate: '',
- endSettlementDate: '',
- endMailFactoryDate: '',
- startMailFactoryDate: ''
- }, // 搜索表单
- refundDepositArr: [
- {
- label: '是',
- value: true
- },
- {
- label: '否',
- value: false
- }
- ],
- isCollapse: true,
- examineStatusArr: [
- {
- label: '保存',
- value: 'SAVE'
- },
- {
- label: '待审核',
- value: 'WAIT'
- },
- {
- label: '通过',
- value: 'OK'
- },
- {
- label: '不通过',
- value: 'FAIL'
- },
- {
- label: '关闭',
- value: 'CLOSE'
- }
- ],
- dataStatesArr: [
- {
- label: '正常',
- value: 'NORMAL'
- },
- {
- label: '补充',
- value: 'AMEND'
- },
- {
- label: '待复核',
- value: 'WAIT_REVIEW'
- },
- {
- label: '复核',
- value: 'REVIEW'
- }
- ],
- listLoading: false, // 列表加载loading
- examine: '',
- showSurrender: 0,
- detailId: '',
- selectData: [],
- mailFactoryStatus: '',
- settlementStatus: '',
- isShowExamineDialog: false,
- examineForm: {
- status: 'OK',
- remark: ''
- },
- numSum: {
- totalC: 0,
- amountC: 0
- },
- // 表格属性
- tableAttributes: {
- // 启用勾选列
- selectColumn: true
- },
- // 表格事件
- tableEvents: {
- 'selection-change': this.selectionChange
- },
- recordSelected: []
- }
- },
- computed: {
- optionsEvensGroup() {
- return [
- [
- [
- {
- name: '',
- isRole: this.$checkBtnRole('examine', this.$route.meta.roles),
- render: () => {
- return (
- <el-popconfirm
- title="批量审核吗?"
- onOnConfirm={() => {
- if (!this.selectData.length) {
- this.$errorMsg('请选择')
- return
- }
- this.batchExamine()
- }}
- >
- <span slot="reference">批量审核工程机已审单据</span>
- </el-popconfirm>
- )
- }
- }
- ]
- ],
- [
- [
- {
- name: '',
- render: () => {
- return (
- <el-upload
- action=""
- http-request={this.handleImport}
- file-list={this.importFileList}
- show-file-list={false}
- >
- <span>导入</span>
- </el-upload>
- )
- }
- }
- ]
- ]
- ]
- },
- isCustomer() {
- return this.$store.getters.customerId && this.$store.getters.customerNumber
- }
- },
- methods: {
- // 列表请求函数
- getList: depositManageHomeList,
- // 列表导出函数
- exportList: depositManageHomeListExport,
- // 表格列解析渲染数据更改
- columnParsing(item, defaultData) {
- return defaultData
- },
- // 监听勾选变化
- selectionChange(data) {
- this.selectData = data
- },
- operation() {
- return (h, { row, index, column }) => {
- return (
- <div class="operation-btns">
- {row.examineStatus == 'WAIT' && this.$checkBtnRole('examine', this.$route.meta.roles) ? (
- <el-button
- type="text"
- class="textColor"
- onClick={() => {
- this.examineFn(row.depositManageId)
- }}
- >
- 审批
- </el-button>
- ) : null}
- {row.dataState == 'WAIT_REVIEW' &&
- row.examineStatus == 'OK' &&
- this.$checkBtnRole('examine', this.$route.meta.roles) ? (
- <el-button
- type="text"
- class="textColor"
- onClick={() => {
- this.reexamineClick(row.depositManageId)
- }}
- >
- 复核
- </el-button>
- ) : null}
- {row.examineStatus == 'SAVE' ||
- row.examineStatus == 'OK' ||
- row.examineStatus == 'FAIL' ||
- row.dataState == 'WAIT_REVIEW' ||
- row.dataState == 'REVIEW' ||
- row.dataState == 'AMEND' ? (
- <el-button
- type="text"
- class="textColor"
- onClick={() => {
- this.infoFn(row.depositManageId)
- }}
- >
- 详情
- </el-button>
- ) : null}
- {row.examineStatus == 'OK' && !row.isRefundDeposit ? (
- <el-popconfirm
- style="margin-left: 10px"
- title="二次退押吗?"
- onOnConfirm={() => {
- this.secondRefund(row)
- }}
- >
- <el-button slot="reference" type="text" size="mini">
- 二次退押
- </el-button>
- </el-popconfirm>
- ) : null}
- </div>
- )
- }
- },
- // ------------------------------------
- replenishClick(id) {
- this.detailId = id
- this.showSurrender = 2
- },
- reexamineClick(id) {
- this.detailId = id
- this.showSurrender = 3
- },
- // 同步资料日期
- async syncDateFn() {
- await getDepositManageDate()
- this.$message.success('同步资料日期成功')
- },
- // 导入
- async handleImport(param) {
- const file = param.file
- const formData = new FormData()
- formData.append('file', file)
- const result = await handleImport('deposit-manage/import', formData)
- console.log(result)
- this.importFileList = []
- if (result.code == 200) {
- this.$message.success('导入成功')
- this.$refs.pageRef.refreshList()
- } else {
- this.$message.error(result.message)
- }
- },
- // 打开 批量审批
- batchExamine() {
- if (this.selectData.length) {
- this.submitExamineForm()
- // this.isShowExamineDialog = true;
- return
- }
- this.$errorMsg('请选择')
- },
- // 提交 批量审批
- submitExamineForm() {
- let ids = this.selectData.map(item => {
- return item.depositManageId
- })
- ids = [...new Set(ids)]
- examineData({
- ids: ids.join(',')
- // examineStatus: this.examineForm.status,
- // examineRemark: this.examineForm.remark,
- // serviceId: ''
- }).then(res => {
- this.isShowExamineDialog = false
- this.$successMsg('修改成功')
- this.$refs.pageRef.refreshList()
- })
- },
- // 审批后更新列表数据
- updateList() {
- this.$refs.pageRef.refreshList()
- },
- // 二次退押
- secondRefund(row) {
- delete row.sums1
- delete row.sums2
- secondRefund(row).then(res => {
- this.$successMsg('二次退押成功')
- this.$refs.pageRef.refreshList()
- })
- },
- // 导出
- exportFn() {
- const params = {
- ...this.screenForm,
- orderType: 'HOME',
- examine: this.examine
- }
- downloadFiles('deposit-manage/export', params)
- },
- // 详情
- infoFn(id) {
- this.detailId = id
- this.showSurrender = 1
- },
- examineFn(id) {
- this.detailId = id
- this.showSurrender = 1
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- .dateStyle {
- width: 100%;
- }
- .import-btn {
- margin-left: 10px;
- display: inline-block;
- }
- .fanwei {
- display: flex;
- span {
- margin: 0 20px;
- line-height: 28px;
- }
- }
- .ulStyle {
- list-style: none;
- margin: 0;
- padding: 10px 0;
- background-color: #ffffff;
- z-index: 1;
- }
- .title {
- display: inline-block;
- font-weight: 700;
- margin-right: 20px;
- }
- .num {
- padding-left: 6px;
- font-weight: 400;
- }
- </style>
|