<template>
|
<div class="app-container">
|
<div>
|
<el-button
|
type="primary"
|
plain
|
icon="el-icon-plus"
|
@click="handleView('add')"
|
v-hasPermi="['system:experts:add']"
|
>新增</el-button>
|
<el-button
|
type="primary"
|
plain
|
icon="el-icon-plus"
|
@click="openTicket()"
|
v-hasPermi="['system:experts:add']"
|
>开票信息维护</el-button>
|
<el-radio-group v-model="queryParams.categoryType" style="margin-left: 10px;" @change="changeStatus">
|
<el-radio-button>全部</el-radio-button>
|
<el-radio-button :label="1">理论</el-radio-button>
|
<el-radio-button :label="2">实操</el-radio-button>
|
</el-radio-group>
|
</div>
|
|
<el-table v-loading="loading" :data="dataList" style="margin-top: 20px" :row-class-name="tableAddClass">
|
<el-table-column label="类别" align="center" prop="categoryType">
|
<template #default="scope">
|
{{scope.row.categoryType == 1?'理论':scope.row.categoryType == 2?'实操':''}}
|
</template>
|
</el-table-column>
|
<el-table-column label="科目名称" align="center" prop="subjectName" :show-overflow-tooltip="true" />
|
<el-table-column label="金额(元)" align="center" prop="amount" />
|
<el-table-column label="业务代码" align="center" prop="businessCode" />
|
<el-table-column label="描述" align="center" prop="describe" />
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<template #default="scope">
|
<el-button
|
size="mini"
|
type="text"
|
icon="el-icon-edit"
|
@click="handleView('edit',scope.row)"
|
>编辑</el-button>
|
<el-button
|
size="mini"
|
type="text"
|
style="color: #f56c6c"
|
icon="el-icon-delete"
|
@click="handleDelete(scope.row)"
|
v-hasPermi="['system:experts:remove']"
|
>删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
<el-dialog
|
title="开票信息"
|
:visible.sync="ticketDialog"
|
:modal-append-to-body="false"
|
:close-on-click-modal="false"
|
width="50%"
|
>
|
<el-form ref="dataForm" :model="ticketForm" :rules="ticketRules" label-position="right" label-width="150px" style="padding-right: 50px" element-loading-text="保存中...">
|
<el-form-item label="开票单位名称:" prop="ticketCompanyName">
|
<el-input v-model.trim="ticketForm.ticketCompanyName"/>
|
</el-form-item>
|
<el-form-item label="开票单位社会信用代码:" prop="ticketCompanyCode">
|
<el-input v-model.trim="ticketForm.ticketCompanyCode"/>
|
</el-form-item>
|
<el-form-item label="开票人:" prop="drawer">
|
<el-input v-model.trim="ticketForm.drawer"/>
|
</el-form-item>
|
<el-form-item label="复核人:" prop="check">
|
<el-input v-model.trim="ticketForm.check"/>
|
</el-form-item>
|
<el-form-item label="单位编码:" prop="companyCode">
|
<el-input v-model.trim="ticketForm.companyCode"/>
|
</el-form-item>
|
</el-form>
|
<span slot="footer" class="dialog-footer">
|
<el-button @click="ticketDialog = false">取 消</el-button>
|
<el-button type="primary" @click="onSubmit">确 定</el-button>
|
</span>
|
</el-dialog>
|
<pagination
|
v-show="total>0"
|
:total="total"
|
:page.sync="queryParams.pageNum"
|
:limit.sync="queryParams.pageSize"
|
@pagination="getList"
|
/>
|
<detail-dialog ref="detailDialogRef" @getList = "getList"></detail-dialog>
|
</div>
|
</template>
|
|
<script>
|
import detailDialog from './components/detailDialog.vue'
|
import {
|
addCoalPayStu, addTicket,
|
delCoalPayCategory,
|
editCoalPayStu, editTicket,
|
getCoalPayCategory,
|
getTicketList
|
} from '@/api/specialOperationsPay/coalPay'
|
import Cookies from 'js-cookie'
|
import {delNotCoalPayCategory} from "@/api/specialOperationsPay/notCoalPay";
|
export default {
|
name: "coalWorkType",
|
dicts: [],
|
components: { detailDialog},
|
data() {
|
return {
|
loading: false,
|
single: true,
|
multiple: true,
|
showSearch: true,
|
addForm: false,
|
total: 0,
|
expertTypes: [],
|
dataList: [],
|
queryParams: {
|
pageNum: 1,
|
pageSize: 10,
|
categoryType: null,
|
},
|
ticketDialog: false,
|
ticketForm: {},
|
ticketRules:{
|
ticketCompanyName: [{ required: true, message: '请输入开票单位名称', trigger: 'blur' }],
|
ticketCompanyCode: [{ required: true, message: '请输入开票单位社会信用代码', trigger: 'blur' }],
|
drawer:[{ required: true, message: '请输入开票人', trigger: 'blur' }],
|
check: [{ required: true, message: '请输入复核人', trigger: 'blur' }],
|
companyCode: [{ required: true, message: '请输入单位编码', trigger: 'blur' }]
|
},
|
ticketStatus: ''
|
};
|
},
|
created() {
|
this.getList();
|
},
|
methods: {
|
getList(){
|
this.loading = true;
|
getCoalPayCategory(this.queryParams).then((res) => {
|
if (res.code == 200) {
|
this.dataList = res.rows
|
this.total = res.total
|
this.loading = false
|
}
|
})
|
},
|
changeStatus(val) {
|
this.getList()
|
},
|
tableAddClass({ row, rowIndex }) {
|
if (row.difference < row.duration) {
|
return "tr-red";
|
}
|
return "";
|
},
|
async openTicket(){
|
const res = await getTicketList()
|
if(res.code == 200){
|
if(res.data){
|
this.ticketForm = res.data
|
this.ticketStatus = 'edit'
|
}else{
|
this.ticketForm = {}
|
this.ticketStatus = 'add'
|
}
|
}
|
this.ticketDialog = true
|
},
|
|
onSubmit() {
|
this.$refs["dataForm"].validate( async valid => {
|
if (valid) {
|
if(this.ticketStatus == 'add'){
|
const res = await addTicket(this.ticketForm)
|
if(res.code == 200) {
|
this.getList()
|
this.ticketDialog = false
|
this.$message({
|
type:'success',
|
message: '新增成功'
|
})
|
}else{
|
this.$message({
|
type:'warning',
|
message: res.msg
|
})
|
}
|
}else {
|
const res = await editTicket(this.ticketForm)
|
if(res.code == 200) {
|
this.getList()
|
this.ticketDialog = false
|
this.$message({
|
type:'success',
|
message: '修改成功'
|
})
|
}else{
|
this.$message({
|
type:'warning',
|
message: res.msg
|
})
|
}
|
}
|
}
|
})
|
},
|
|
handleQuery(){
|
|
},
|
resetQuery(){
|
|
},
|
handleDelete(row){
|
this.$confirm('此操作将永久删除该条数据, 是否继续?', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(async () => {
|
const res = await delCoalPayCategory([row.id])
|
if(res.code == 200){
|
this.$message({
|
type: 'success',
|
message: '删除成功!'
|
});
|
await this.getList()
|
}else{
|
this.$message({
|
type: 'warning',
|
message: res.msg
|
});
|
}
|
}).catch(() => {
|
|
});
|
},
|
handleView(type,data){
|
this.$refs.detailDialogRef.openDialog(type,data);
|
}
|
}
|
};
|
</script>
|
|
<style scoped>
|
.app-container /deep/ .el-table .tr-red {
|
color: red !important;
|
}
|
</style>
|