Merge remote-tracking branch 'origin/main'

main
JiilingLee 1 year ago
commit ec365da8cc

@ -0,0 +1,54 @@
import request from '@/utils/request'
// 创建咨询档案
export function createElectronicConsultation(data) {
return request({
url: '/ea/electronic-consultation/create',
method: 'post',
data: data
})
}
// 更新咨询档案
export function updateElectronicConsultation(data) {
return request({
url: '/ea/electronic-consultation/update',
method: 'put',
data: data
})
}
// 删除咨询档案
export function deleteElectronicConsultation(id) {
return request({
url: '/ea/electronic-consultation/delete?id=' + id,
method: 'delete'
})
}
// 获得咨询档案
export function getElectronicConsultation(id) {
return request({
url: '/ea/electronic-consultation/get?id=' + id,
method: 'get'
})
}
// 获得咨询档案分页
export function getElectronicConsultationPage(query) {
return request({
url: '/ea/electronic-consultation/page',
method: 'get',
params: query
})
}
// 导出咨询档案 Excel
export function exportElectronicConsultationExcel(query) {
return request({
url: '/ea/electronic-consultation/export-excel',
method: 'get',
params: query,
responseType: 'blob'
})
}

@ -0,0 +1,54 @@
import request from '@/utils/request'
// 创建客诉档案
export function createElectronicCustomerComplaint(data) {
return request({
url: '/ea/electronic-customer-complaint/create',
method: 'post',
data: data
})
}
// 更新客诉档案
export function updateElectronicCustomerComplaint(data) {
return request({
url: '/ea/electronic-customer-complaint/update',
method: 'put',
data: data
})
}
// 删除客诉档案
export function deleteElectronicCustomerComplaint(id) {
return request({
url: '/ea/electronic-customer-complaint/delete?id=' + id,
method: 'delete'
})
}
// 获得客诉档案
export function getElectronicCustomerComplaint(id) {
return request({
url: '/ea/electronic-customer-complaint/get?id=' + id,
method: 'get'
})
}
// 获得客诉档案分页
export function getElectronicCustomerComplaintPage(query) {
return request({
url: '/ea/electronic-customer-complaint/page',
method: 'get',
params: query
})
}
// 导出客诉档案 Excel
export function exportElectronicCustomerComplaintExcel(query) {
return request({
url: '/ea/electronic-customer-complaint/export-excel',
method: 'get',
params: query,
responseType: 'blob'
})
}

@ -0,0 +1,54 @@
import request from '@/utils/request'
// 创建其他档案
export function createElectronicOther(data) {
return request({
url: '/ea/electronic-other/create',
method: 'post',
data: data
})
}
// 更新其他档案
export function updateElectronicOther(data) {
return request({
url: '/ea/electronic-other/update',
method: 'put',
data: data
})
}
// 删除其他档案
export function deleteElectronicOther(id) {
return request({
url: '/ea/electronic-other/delete?id=' + id,
method: 'delete'
})
}
// 获得其他档案
export function getElectronicOther(id) {
return request({
url: '/ea/electronic-other/get?id=' + id,
method: 'get'
})
}
// 获得其他档案分页
export function getElectronicOtherPage(query) {
return request({
url: '/ea/electronic-other/page',
method: 'get',
params: query
})
}
// 导出其他档案 Excel
export function exportElectronicOtherExcel(query) {
return request({
url: '/ea/electronic-other/export-excel',
method: 'get',
params: query,
responseType: 'blob'
})
}

@ -7,7 +7,7 @@
size="small" size="small"
:inline="true" :inline="true"
v-show="showSearch" v-show="showSearch"
label-width="98px" label-width="148px"
> >
<el-form-item label="凭证号" prop="voucherNum"> <el-form-item label="凭证号" prop="voucherNum">
<el-input <el-input
@ -17,14 +17,6 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="文件地址" prop="fileUrl">
<el-input
v-model="queryParams.fileUrl"
placeholder="请输入文件地址"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="OA/ERP流程编号" prop="flowCode"> <el-form-item label="OA/ERP流程编号" prop="flowCode">
<el-input <el-input
v-model="queryParams.flowCode" v-model="queryParams.flowCode"
@ -33,14 +25,6 @@
@keyup.enter.native="handleQuery" @keyup.enter.native="handleQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="文件名" prop="fileName">
<el-input
v-model="queryParams.fileName"
placeholder="请输入文件名"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery" <el-button type="primary" icon="el-icon-search" @click="handleQuery"
>搜索</el-button >搜索</el-button
@ -89,7 +73,7 @@
prop="voucherId" prop="voucherId"
/> --> /> -->
<el-table-column label="凭证号" align="center" prop="voucherNum" /> <el-table-column label="凭证号" align="center" prop="voucherNum" />
<el-table-column label="业务实体" align="center" prop="company" /> <!-- <el-table-column label="业务实体" align="center" prop="company" /> -->
<el-table-column label="文件地址" align="center" prop="fileUrl"> <el-table-column label="文件地址" align="center" prop="fileUrl">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="openLink(scope.row.fileUrl)"> <el-button type="text" @click="openLink(scope.row.fileUrl)">
@ -99,9 +83,9 @@
</el-table-column> </el-table-column>
<el-table-column label="流程号" align="center" prop="flowId" /> <el-table-column label="流程号" align="center" prop="flowId" />
<el-table-column label="OA/ERP流程编号" align="center" prop="flowCode" /> <el-table-column label="OA/ERP流程编号" align="center" prop="flowCode" />
<el-table-column label="制单人" align="center" prop="createBy" />
<el-table-column label="文件名" align="center" prop="fileName" /> <el-table-column label="文件名" align="center" prop="fileName" />
<el-table-column label="文件大小" align="center" prop="fileSize" /> <el-table-column label="文件大小" align="center" prop="fileSize" />
<el-table-column label="制单人" align="center" prop="createBy" />
<el-table-column <el-table-column
label="创建时间" label="创建时间"
align="center" align="center"
@ -154,28 +138,61 @@
width="1000px" width="1000px"
append-to-body append-to-body
> >
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-upload
<el-form-item label="凭证号" prop="voucherNum"> class="upload-demo"
<el-input v-model="form.voucherNum" placeholder="请输入凭证号" /> drag
</el-form-item> :limit="1"
<el-form-item label="业务实体" prop="company"> :action="uploadUrl"
<el-input v-model="form.company" placeholder="请输入业务实体" /> :file-list="fileList"
</el-form-item> :headers="headers"
<el-form-item label="文件地址" prop="fileUrl"> :on-success="handleSuccess"
<el-input v-model="form.fileUrl" placeholder="请输入文件地址" /> name="multipartFile"
</el-form-item> :multiple="false"
<el-form-item label="流程号" prop="flowId"> >
<el-input v-model="form.flowId" placeholder="请输入流程号" /> <i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处<em>点击上传</em></div>
</el-upload>
<el-form
ref="form"
:model="form"
:rules="rules"
label-width="140px"
style="margin-top: 20px"
>
<el-row>
<el-col :span="8">
<el-form-item label="会计凭证" prop="voucherNum">
<el-select
v-model="form.voucherNum"
filterable
placeholder="请选择会计凭证"
value-key="id"
@change="handleSelectVoucher"
>
<el-option
v-for="item in kjpzOptions"
:key="item.id"
:label="item.voucherNum"
:value="item"
>
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="OA/ERP流程编号" prop="flowCode"> <el-form-item label="OA/ERP流程编号" prop="flowCode">
<el-input <el-input
v-model="form.flowCode" v-model="form.flowCode"
placeholder="请输入OA/ERP流程编号" placeholder="请输入OA/ERP流程编号"
/> />
</el-form-item> </el-form-item>
<el-form-item label="文件名" prop="fileName"> </el-col>
<el-input v-model="form.fileName" placeholder="请输入文件名" /> <el-col :span="8">
<el-form-item label="流程号" prop="flowId">
<el-input v-model="form.flowId" placeholder="请输入流程号" />
</el-form-item> </el-form-item>
</el-col>
</el-row>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input <el-input
v-model="form.remark" v-model="form.remark"
@ -201,6 +218,8 @@ import {
getAttachmentPage, getAttachmentPage,
exportAttachmentExcel, exportAttachmentExcel,
} from "@/api/accounting/attachment"; } from "@/api/accounting/attachment";
import { getAccessToken, getTenantId } from "@/utils/auth";
import { getVoucherPage } from "@/api/accounting/voucher";
export default { export default {
name: "Attachment", name: "Attachment",
@ -221,6 +240,7 @@ export default {
title: "", title: "",
// //
open: false, open: false,
fileList: [],
// //
queryParams: { queryParams: {
pageNo: 1, pageNo: 1,
@ -253,10 +273,20 @@ export default {
}, },
], ],
}, },
fileList: [], //
uploadUrl:
process.env.VUE_APP_BASE_API +
"/admin-api/accounting/attachment/upload", //
headers: {
Authorization: "Bearer " + getAccessToken(),
"tenant-id": getTenantId(),
}, //
kjpzOptions: [], //
}; };
}, },
created() { created() {
this.getList(); this.getList();
this.getKJPZ();
}, },
methods: { methods: {
/** 查询列表 */ /** 查询列表 */
@ -269,6 +299,12 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
//
getKJPZ() {
getVoucherPage().then((res) => {
this.kjpzOptions = res.data.list || [];
});
},
/** /**
* 文件预览 * 文件预览
* @param fileUrl * @param fileUrl
@ -318,6 +354,7 @@ export default {
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd() { handleAdd() {
this.reset(); this.reset();
this.fileList = [];
this.open = true; this.open = true;
this.title = "添加会计附件"; this.title = "添加会计附件";
}, },
@ -331,6 +368,18 @@ export default {
this.title = "修改会计附件"; this.title = "修改会计附件";
}); });
}, },
//
handleSuccess(res) {
console.log(res);
this.form.fileUrl = res.data.url;
this.form.fileName = res.data.name;
this.form.fileSize = res.data.size;
},
//
handleSelectVoucher(val) {
this.form.voucherId = val.id;
this.form.voucherNum = val.voucherNum;
},
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {

@ -77,7 +77,6 @@
<!-- 列表 --> <!-- 列表 -->
<el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list">
<!-- <el-table-column label="主键Id" align="center" prop="id" /> -->
<el-table-column label="OA/ERP流程编号" align="center" prop="flowCode" /> <el-table-column label="OA/ERP流程编号" align="center" prop="flowCode" />
<el-table-column label="凭证号" align="center" prop="voucherNum" /> <el-table-column label="凭证号" align="center" prop="voucherNum" />
<el-table-column label="业务类型" align="center" prop="businessType"> <el-table-column label="业务类型" align="center" prop="businessType">
@ -180,8 +179,22 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="凭证号" prop="voucherNum"> <el-form-item label="会计凭证" prop="voucherNum">
<el-input v-model="form.voucherNum" placeholder="请输入凭证号" /> <el-select
v-model="form.voucherNum"
filterable
placeholder="请选择会计凭证"
value-key="id"
@change="handleSelectVoucher"
>
<el-option
v-for="item in kjpzOptions"
:key="item.id"
:label="item.voucherNum"
:value="item"
>
</el-option>
</el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -205,11 +218,6 @@
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<!-- <el-col :span="8">
<el-form-item label="文件地址" prop="fileUrl">
<el-input v-model="form.fileUrl" placeholder="请输入文件地址" />
</el-form-item>
</el-col> -->
<el-col :span="8"> <el-col :span="8">
<el-form-item label="流程号" prop="flowId"> <el-form-item label="流程号" prop="flowId">
<el-input v-model="form.flowId" placeholder="请输入流程号" /> <el-input v-model="form.flowId" placeholder="请输入流程号" />
@ -270,6 +278,7 @@ import {
downloadXml, downloadXml,
} from "@/api/accounting/flow"; } from "@/api/accounting/flow";
import { getAccessToken, getTenantId } from "@/utils/auth"; import { getAccessToken, getTenantId } from "@/utils/auth";
import { getVoucherPage } from "@/api/accounting/voucher";
export default { export default {
name: "Flow", name: "Flow",
@ -323,15 +332,17 @@ export default {
rules: {}, rules: {},
fileList: [], // fileList: [], //
uploadUrl: uploadUrl:
process.env.VUE_APP_BASE_API + "/admin-api//archives/flow/upload", // process.env.VUE_APP_BASE_API + "/admin-api/archives/flow/upload", //
headers: { headers: {
Authorization: "Bearer " + getAccessToken(), Authorization: "Bearer " + getAccessToken(),
"tenant-id": getTenantId(), "tenant-id": getTenantId(),
}, // }, //
kjpzOptions: [], //
}; };
}, },
created() { created() {
this.getList(); this.getList();
this.getKJPZ();
}, },
methods: { methods: {
/** 查询列表 */ /** 查询列表 */
@ -344,6 +355,12 @@ export default {
this.loading = false; this.loading = false;
}); });
}, },
//
getKJPZ() {
getVoucherPage().then((res) => {
this.kjpzOptions = res.data.list || [];
});
},
openLink(fileUrl) { openLink(fileUrl) {
window.open(fileUrl); window.open(fileUrl);
}, },
@ -352,7 +369,6 @@ export default {
this.open = false; this.open = false;
this.reset(); this.reset();
}, },
/** 取消按钮 */ /** 取消按钮 */
cancel1() { cancel1() {
this.open1 = false; this.open1 = false;
@ -408,6 +424,11 @@ export default {
this.title = "修改审批流程"; this.title = "修改审批流程";
}); });
}, },
//
handleSelectVoucher(val) {
this.form.voucherId = val.id;
this.form.voucherNum = val.voucherNum;
},
/** 提交按钮 */ /** 提交按钮 */
submitForm() { submitForm() {
this.$refs["form"].validate((valid) => { this.$refs["form"].validate((valid) => {

@ -149,7 +149,7 @@
<el-dialog <el-dialog
:title="title" :title="title"
:visible.sync="open" :visible.sync="open"
width="1000px" width="1200px"
append-to-body append-to-body
> >
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
@ -288,81 +288,51 @@
@tab-click="handleClick" @tab-click="handleClick"
> >
<el-tab-pane label="附件" name="first"> <el-tab-pane label="附件" name="first">
<!-- <el-upload
class="upload-demo"
drag
multiple
:action="uploadUrl1"
:file-list="fileList1"
:headers="headers"
name="multipartFile"
:on-success="handleSuccess1"
:show-file-list="false"
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
将文件拖到此处<em>点击上传</em>
</div>
</el-upload>
<el-divider>已上传附件</el-divider> -->
<div v-if="showNull" class="null1"></div> <div v-if="showNull" class="null1"></div>
<div v-for="(item, index) in fjList1"> <div v-for="(item, index) in fjList" @click="handleClickPdf(item)">
<el-image :src="item.fileUrl"> </el-image> <el-image
</div> :src="item.fileUrl"
<div v-for="(item, index) in fjList2" @click="handleClickPdf(item)">
<img
src="~@/assets/images/pdf.png"
style=" style="
object-fit: cover; object-fit: cover;
width: 240px; width: 240px;
height: 220px; height: 220px;
cursor: pointer; cursor: pointer;
margin: 0 10px;
" "
/> >
</el-image>
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="审批流程" name="second"> <el-tab-pane label="审批流程" name="second">
<!-- <el-upload <div v-if="showNul2" class="null1"></div>
class="upload-demo" <div v-for="(item, index) in splcList" @click="handleClickPdf(item)">
drag <el-image
action="https://jsonplaceholder.typicode.com/posts/" :src="item.fileUrl"
multiple style="
object-fit: cover;
width: 240px;
height: 220px;
cursor: pointer;
"
> >
<i class="el-icon-upload"></i> </el-image>
<div class="el-upload__text">
将文件拖到此处<em>点击上传</em>
</div> </div>
</el-upload>
<el-divider>已上传审批流程</el-divider> -->
<div v-if="showNul2" class="null1"></div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="电子发票" name="third"> <el-tab-pane label="电子发票" name="third">
<!-- <el-upload
class="upload-demo"
drag
multiple
:action="uploadUrl3"
:file-list="fileList3"
:headers="headers"
name="multipartFile"
:on-success="handleSuccess3"
:show-file-list="false"
:accept="imgType1"
>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
将文件拖到此处<em>点击上传</em>
</div>
<div class="el-upload__tip" slot="tip">
支持图片pdfofd格式上传
</div>
</el-upload>
<el-divider>已上传电子发票</el-divider> -->
<div v-if="showNul3" class="null1"></div> <div v-if="showNul3" class="null1"></div>
<div v-for="(item, index) in dzfpList1"> <div v-for="(item, index) in dzfpList" @click="handleClickPdf(item)">
<el-image :src="item.fileUrl"> </el-image> <el-image
:src="item.fileUrl"
style="
object-fit: cover;
width: 240px;
height: 220px;
cursor: pointer;
"
>
</el-image>
</div> </div>
<div v-for="(item, index) in dzfpList2" @click="handleClickPdf(item)"> <!-- <div v-for="(item, index) in dzfpList2" @click="handleClickPdf(item)">
<img <img
src="~@/assets/images/pdf.png" src="~@/assets/images/pdf.png"
style=" style="
@ -383,26 +353,22 @@
cursor: pointer; cursor: pointer;
" "
/> />
</div> </div> -->
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="银行回单" name="fourth"> <el-tab-pane label="银行回单" name="fourth">
<!-- <el-upload <div v-if="showNul4" class="null1"></div>
class="upload-demo" <div v-for="(item, index) in yhhdList" @click="handleClickPdf(item)">
drag <el-image
action="https://jsonplaceholder.typicode.com/posts/" :src="item.fileUrl"
multiple style="
:accept="imgType2" object-fit: cover;
width: 240px;
height: 220px;
cursor: pointer;
"
> >
<i class="el-icon-upload"></i> </el-image>
<div class="el-upload__text">
将文件拖到此处<em>点击上传</em>
</div>
<div class="el-upload__tip" slot="tip">
支持pdfjpgpng格式上传
</div> </div>
</el-upload>
<el-divider>已上传银行回单</el-divider> -->
<div v-if="showNul4" class="null1"></div>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -429,7 +395,7 @@ import { listData } from "@/api/system/dict/data";
import { getAttachmentPage } from "@/api/accounting/attachment"; import { getAttachmentPage } from "@/api/accounting/attachment";
import { getFlowPage } from "@/api/accounting/flow"; import { getFlowPage } from "@/api/accounting/flow";
import { getInvoicesPage } from "@/api/accounting/invoices"; import { getInvoicesPage } from "@/api/accounting/invoices";
import { getAccessToken, getTenantId } from "@/utils/auth"; import { getBankSlipPage } from "@/api/accounting/bankSlip";
export default { export default {
name: "Voucher", name: "Voucher",
@ -496,29 +462,10 @@ export default {
depotId: null, depotId: null,
cabinetId: null, cabinetId: null,
}, },
fileList1: [], // fjList: [],
fileList2: [], splcList: [],
fileList3: [], dzfpList: [],
fjList1: [], yhhdList: [],
fjList2: [],
dzfpList1: [],
dzfpList2: [],
dzfpList3: [],
uploadUrl1:
process.env.VUE_APP_BASE_API +
"/admin-api/accounting/attachment/upload", //
uploadUrl2:
process.env.VUE_APP_BASE_API + "/admin-api//archives/flow/upload", //
uploadUrl3:
process.env.VUE_APP_BASE_API +
"/admin-api/accounting/invoices/identify", //
uploadUrl4:
process.env.VUE_APP_BASE_API +
"/admin-api/accounting/attachment/upload", //
headers: {
Authorization: "Bearer " + getAccessToken(),
"tenant-id": getTenantId(),
}, //
// //
form: {}, form: {},
// //
@ -527,13 +474,14 @@ export default {
siteOptions: [], // siteOptions: [], //
siteArray: [], // siteArray: [], //
typeOptions: [], // typeOptions: [], //
url: "",
showNull: "", showNull: "",
showNul2: "", showNul2: "",
showNul3: true, showNul3: "",
showNul4: true, showNul4: "",
fjUrl: "",
}; };
}, },
watch() {},
created() { created() {
this.getList(); this.getList();
this.getUserList(); this.getUserList();
@ -567,18 +515,12 @@ export default {
} else { } else {
this.showNull = false; this.showNull = false;
} }
this.fjList2 = response.data.list.filter(function (item) { this.fjList = response.data.list;
return item.suffix == "pdf";
});
}); });
}, },
handleClickPdf(val) { handleClickPdf(val) {
window.open(val.fileUrl); window.open(val.fileUrl);
}, },
handleSuccess1(response, file, fileList) {
console.log(response, file, fileList);
this.getFJ();
},
/** 查询审批流程 */ /** 查询审批流程 */
getSPLC(val) { getSPLC(val) {
// //
@ -588,6 +530,7 @@ export default {
} else { } else {
this.showNul2 = false; this.showNul2 = false;
} }
this.splcList = response.data.list;
}); });
}, },
/** 查询电子发票 */ /** 查询电子发票 */
@ -599,16 +542,21 @@ export default {
} else { } else {
this.showNul3 = false; this.showNul3 = false;
} }
this.dzfpList2 = response.data.list.filter(function (item) { this.dzfpList = response.data.list;
return item.suffix == "pdf";
});
this.dzfpList3 = response.data.list.filter(function (item) {
return item.suffix == "ofd";
}); });
},
/** 查询银行回单 */
getYHHD(val) {
//
getBankSlipPage({ voucherId: val }).then((response) => {
if (response.data.total == 0) {
this.showNul4 = true;
} else {
this.showNul4 = false;
}
this.yhhdList = response.data.list;
}); });
}, },
handleClickOfd() {},
handleSuccess3() {},
// //
handleInitList() { handleInitList() {
// //
@ -741,6 +689,7 @@ export default {
this.getFJ(row.voucherNum); this.getFJ(row.voucherNum);
this.getSPLC(row.id); this.getSPLC(row.id);
this.getDZFP(row.id); this.getDZFP(row.id);
this.getYHHD(row.id);
}, },
handleClick(tab) {}, handleClick(tab) {},
/** 提交按钮 */ /** 提交按钮 */
@ -808,4 +757,7 @@ export default {
font-size: large; font-size: large;
justify-content: center; justify-content: center;
} }
.el-tab-pane {
display: flex;
}
</style> </style>

@ -0,0 +1,392 @@
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="制单人 " prop="createBy">
<el-input v-model="queryParams.createBy" placeholder="请输入制单人 " clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="创建日期 " prop="createTime">
<el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item label="业务实体 " prop="company">
<el-input v-model="queryParams.company" placeholder="请输入业务实体 " clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="所属部门 " prop="systemDept">
<el-input v-model="queryParams.systemDept" placeholder="请输入所属部门 " clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="咨询编号 " prop="consultationId">
<el-input v-model="queryParams.consultationId" placeholder="请输入咨询编号 " clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="咨询类型 " prop="consultationType">
<el-select v-model="queryParams.consultationType" placeholder="请选择咨询类型 " clearable size="small">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="咨询标题 " prop="consultationTitle">
<el-input v-model="queryParams.consultationTitle" placeholder="请输入咨询标题 " clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="咨询人 " prop="consultorName">
<el-input v-model="queryParams.consultorName" placeholder="请输入咨询人 " clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="咨询时间 " prop="consultationTime">
<el-date-picker v-model="queryParams.consultationTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item label="处理人员 " prop="handler">
<el-input v-model="queryParams.handler" placeholder="请输入处理人员 " clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="处理日期 " prop="handleTime">
<el-date-picker v-model="queryParams.handleTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item label="处理结果 " prop="handleResult">
<el-input v-model="queryParams.handleResult" placeholder="请输入处理结果 " clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="年度 " prop="year">
<el-input v-model="queryParams.year" placeholder="请输入年度 " clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="月份 " prop="period">
<el-input v-model="queryParams.period" placeholder="请输入月份 " clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="借阅状态 " prop="borrowStatus">
<el-select v-model="queryParams.borrowStatus" placeholder="请选择借阅状态 " clearable size="small">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="归档时间 " prop="recordTime">
<el-date-picker v-model="queryParams.recordTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item label="纸档位置 " prop="position">
<el-input v-model="queryParams.position" placeholder="请输入纸档位置 " clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="完整性 " prop="cherks">
<el-input v-model="queryParams.cherks" placeholder="请输入完整性 " clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="归档状态" prop="fileStatus">
<el-select v-model="queryParams.fileStatus" placeholder="请选择归档状态" clearable size="small">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['ea:electronic-consultation:create']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ea:electronic-consultation:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="主键 " align="center" prop="id" />
<el-table-column label="制单人 " align="center" prop="createBy" />
<el-table-column label="创建日期 " align="center" prop="createTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="业务实体 " align="center" prop="company" />
<el-table-column label="所属部门 " align="center" prop="systemDept" />
<el-table-column label="咨询编号 " align="center" prop="consultationId" />
<el-table-column label="咨询类型 " align="center" prop="consultationType" />
<el-table-column label="咨询标题 " align="center" prop="consultationTitle" />
<el-table-column label="咨询内容 " align="center" prop="consultationContent" />
<el-table-column label="咨询人 " align="center" prop="consultorName" />
<el-table-column label="咨询时间 " align="center" prop="consultationTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.consultationTime) }}</span>
</template>
</el-table-column>
<el-table-column label="处理人员 " align="center" prop="handler" />
<el-table-column label="处理日期 " align="center" prop="handleTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.handleTime) }}</span>
</template>
</el-table-column>
<el-table-column label="处理结果 " align="center" prop="handleResult" />
<el-table-column label="年度 " align="center" prop="year" />
<el-table-column label="月份 " align="center" prop="period" />
<el-table-column label="借阅状态 " align="center" prop="borrowStatus" />
<el-table-column label="归档时间 " align="center" prop="recordTime" />
<el-table-column label="纸档位置 " align="center" prop="position" />
<el-table-column label="完整性 " align="center" prop="cherks" />
<el-table-column label="归档状态" align="center" prop="fileStatus" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ea:electronic-consultation:update']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ea:electronic-consultation:delete']">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="制单人 " prop="createBy">
<el-input v-model="form.createBy" placeholder="请输入制单人 " />
</el-form-item>
<el-form-item label="业务实体 " prop="company">
<el-input v-model="form.company" placeholder="请输入业务实体 " />
</el-form-item>
<el-form-item label="所属部门 " prop="systemDept">
<el-input v-model="form.systemDept" placeholder="请输入所属部门 " />
</el-form-item>
<el-form-item label="咨询编号 " prop="consultationId">
<el-input v-model="form.consultationId" placeholder="请输入咨询编号 " />
</el-form-item>
<el-form-item label="咨询类型 " prop="consultationType">
<el-select v-model="form.consultationType" placeholder="请选择咨询类型 ">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="咨询标题 " prop="consultationTitle">
<el-input v-model="form.consultationTitle" placeholder="请输入咨询标题 " />
</el-form-item>
<el-form-item label="咨询内容 ">
<editor v-model="form.consultationContent" :min-height="192"/>
</el-form-item>
<el-form-item label="咨询人 " prop="consultorName">
<el-input v-model="form.consultorName" placeholder="请输入咨询人 " />
</el-form-item>
<el-form-item label="咨询时间 " prop="consultationTime">
<el-date-picker clearable v-model="form.consultationTime" type="date" value-format="timestamp" placeholder="选择咨询时间 " />
</el-form-item>
<el-form-item label="处理人员 " prop="handler">
<el-input v-model="form.handler" placeholder="请输入处理人员 " />
</el-form-item>
<el-form-item label="处理日期 " prop="handleTime">
<el-date-picker clearable v-model="form.handleTime" type="date" value-format="timestamp" placeholder="选择处理日期 " />
</el-form-item>
<el-form-item label="处理结果 " prop="handleResult">
<el-input v-model="form.handleResult" placeholder="请输入处理结果 " />
</el-form-item>
<el-form-item label="年度 " prop="year">
<el-input v-model="form.year" placeholder="请输入年度 " />
</el-form-item>
<el-form-item label="月份 " prop="period">
<el-input v-model="form.period" placeholder="请输入月份 " />
</el-form-item>
<el-form-item label="借阅状态 " prop="borrowStatus">
<el-select v-model="form.borrowStatus" placeholder="请选择借阅状态 ">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="归档时间 " prop="recordTime">
<el-date-picker clearable v-model="form.recordTime" type="date" value-format="timestamp" placeholder="选择归档时间 " />
</el-form-item>
<el-form-item label="纸档位置 " prop="position">
<el-input v-model="form.position" placeholder="请输入纸档位置 " />
</el-form-item>
<el-form-item label="完整性 " prop="cherks">
<el-input v-model="form.cherks" placeholder="请输入完整性 " />
</el-form-item>
<el-form-item label="归档状态" prop="fileStatus">
<el-radio-group v-model="form.fileStatus">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { createElectronicConsultation, updateElectronicConsultation, deleteElectronicConsultation, getElectronicConsultation, getElectronicConsultationPage, exportElectronicConsultationExcel } from "@/api/ea/electronicConsultation/electronicConsultation";
import Editor from '@/components/Editor';
export default {
name: "ElectronicConsultation",
components: {
Editor,
},
data() {
return {
//
loading: true,
//
exportLoading: false,
//
showSearch: true,
//
total: 0,
//
list: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNo: 1,
pageSize: 10,
createBy: null,
createTime: [],
company: null,
systemDept: null,
consultationId: null,
consultationType: null,
consultationTitle: null,
consultationContent: null,
consultorName: null,
consultationTime: [],
handler: null,
handleTime: [],
handleResult: null,
year: null,
period: null,
borrowStatus: null,
recordTime: [],
position: null,
cherks: null,
fileStatus: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
//
getElectronicConsultationPage(this.queryParams).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 取消按钮 */
cancel() {
this.open = false;
this.reset();
},
/** 表单重置 */
reset() {
this.form = {
id: undefined,
createBy: undefined,
company: undefined,
systemDept: undefined,
consultationId: undefined,
consultationType: undefined,
consultationTitle: undefined,
consultationContent: undefined,
consultorName: undefined,
consultationTime: undefined,
handler: undefined,
handleTime: undefined,
handleResult: undefined,
year: undefined,
period: undefined,
borrowStatus: undefined,
recordTime: undefined,
position: undefined,
cherks: undefined,
fileStatus: undefined,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加咨询档案";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id;
getElectronicConsultation(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改咨询档案";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (!valid) {
return;
}
//
if (this.form.id != null) {
updateElectronicConsultation(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
return;
}
//
createElectronicConsultation(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
});
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除咨询档案编号为"' + id + '"的数据项?').then(function() {
return deleteElectronicConsultation(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
//
let params = {...this.queryParams};
params.pageNo = undefined;
params.pageSize = undefined;
this.$modal.confirm('是否确认导出所有咨询档案数据项?').then(() => {
this.exportLoading = true;
return exportElectronicConsultationExcel(params);
}).then(response => {
this.$download.excel(response, '咨询档案.xls');
this.exportLoading = false;
}).catch(() => {});
}
}
};
</script>

@ -0,0 +1,392 @@
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label=" 制单人" prop="createBy">
<el-input v-model="queryParams.createBy" placeholder="请输入 制单人" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="创建日期" prop="createTime">
<el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item label="业务实体" prop="company">
<el-input v-model="queryParams.company" placeholder="请输入业务实体" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="所属部门" prop="deptName">
<el-input v-model="queryParams.deptName" placeholder="请输入所属部门" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="客诉编号" prop="complaintCode">
<el-input v-model="queryParams.complaintCode" placeholder="请输入客诉编号" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="queryParams.customerName" placeholder="请输入客户名称" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="客户电话" prop="customerPhone">
<el-input v-model="queryParams.customerPhone" placeholder="请输入客户电话" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="客诉时间" prop="complaintTime">
<el-date-picker v-model="queryParams.complaintTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item label="客诉类型" prop="complaintType">
<el-select v-model="queryParams.complaintType" placeholder="请选择客诉类型" clearable size="small">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="处理人" prop="handler">
<el-input v-model="queryParams.handler" placeholder="请输入处理人" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="处理时间" prop="handleTime">
<el-date-picker v-model="queryParams.handleTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item label="处理结果" prop="handleResult">
<el-input v-model="queryParams.handleResult" placeholder="请输入处理结果" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="年度" prop="year">
<el-input v-model="queryParams.year" placeholder="请输入年度" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="月份" prop="period">
<el-input v-model="queryParams.period" placeholder="请输入月份" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="借阅状态" prop="borrowStatus">
<el-select v-model="queryParams.borrowStatus" placeholder="请选择借阅状态" clearable size="small">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="归档时间" prop="recordTime">
<el-date-picker v-model="queryParams.recordTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item label="纸档位置" prop="position">
<el-input v-model="queryParams.position" placeholder="请输入纸档位置" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="完整性" prop="cherks">
<el-input v-model="queryParams.cherks" placeholder="请输入完整性" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="归档状态" prop="fileStatus">
<el-select v-model="queryParams.fileStatus" placeholder="请选择归档状态" clearable size="small">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['ea:electronic-customer-complaint:create']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ea:electronic-customer-complaint:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="主键" align="center" prop="id" />
<el-table-column label=" 制单人" align="center" prop="createBy" />
<el-table-column label="创建日期" align="center" prop="createTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="业务实体" align="center" prop="company" />
<el-table-column label="所属部门" align="center" prop="deptName" />
<el-table-column label="客诉编号" align="center" prop="complaintCode" />
<el-table-column label="客户名称" align="center" prop="customerName" />
<el-table-column label="客户电话" align="center" prop="customerPhone" />
<el-table-column label="客诉时间" align="center" prop="complaintTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.complaintTime) }}</span>
</template>
</el-table-column>
<el-table-column label="客诉类型" align="center" prop="complaintType" />
<el-table-column label="客诉内容" align="center" prop="complaintContent" />
<el-table-column label="处理人" align="center" prop="handler" />
<el-table-column label="处理时间" align="center" prop="handleTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.handleTime) }}</span>
</template>
</el-table-column>
<el-table-column label="处理结果" align="center" prop="handleResult" />
<el-table-column label="年度" align="center" prop="year" />
<el-table-column label="月份" align="center" prop="period" />
<el-table-column label="借阅状态" align="center" prop="borrowStatus" />
<el-table-column label="归档时间" align="center" prop="recordTime" />
<el-table-column label="纸档位置" align="center" prop="position" />
<el-table-column label="完整性" align="center" prop="cherks" />
<el-table-column label="归档状态" align="center" prop="fileStatus" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ea:electronic-customer-complaint:update']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ea:electronic-customer-complaint:delete']">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label=" 制单人" prop="createBy">
<el-input v-model="form.createBy" placeholder="请输入 制单人" />
</el-form-item>
<el-form-item label="业务实体" prop="company">
<el-input v-model="form.company" placeholder="请输入业务实体" />
</el-form-item>
<el-form-item label="所属部门" prop="deptName">
<el-input v-model="form.deptName" placeholder="请输入所属部门" />
</el-form-item>
<el-form-item label="客诉编号" prop="complaintCode">
<el-input v-model="form.complaintCode" placeholder="请输入客诉编号" />
</el-form-item>
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="form.customerName" placeholder="请输入客户名称" />
</el-form-item>
<el-form-item label="客户电话" prop="customerPhone">
<el-input v-model="form.customerPhone" placeholder="请输入客户电话" />
</el-form-item>
<el-form-item label="客诉时间" prop="complaintTime">
<el-date-picker clearable v-model="form.complaintTime" type="date" value-format="timestamp" placeholder="选择客诉时间" />
</el-form-item>
<el-form-item label="客诉类型" prop="complaintType">
<el-select v-model="form.complaintType" placeholder="请选择客诉类型">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="客诉内容">
<editor v-model="form.complaintContent" :min-height="192"/>
</el-form-item>
<el-form-item label="处理人" prop="handler">
<el-input v-model="form.handler" placeholder="请输入处理人" />
</el-form-item>
<el-form-item label="处理时间" prop="handleTime">
<el-date-picker clearable v-model="form.handleTime" type="date" value-format="timestamp" placeholder="选择处理时间" />
</el-form-item>
<el-form-item label="处理结果" prop="handleResult">
<el-input v-model="form.handleResult" placeholder="请输入处理结果" />
</el-form-item>
<el-form-item label="年度" prop="year">
<el-input v-model="form.year" placeholder="请输入年度" />
</el-form-item>
<el-form-item label="月份" prop="period">
<el-input v-model="form.period" placeholder="请输入月份" />
</el-form-item>
<el-form-item label="借阅状态" prop="borrowStatus">
<el-radio-group v-model="form.borrowStatus">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="归档时间" prop="recordTime">
<el-date-picker clearable v-model="form.recordTime" type="date" value-format="timestamp" placeholder="选择归档时间" />
</el-form-item>
<el-form-item label="纸档位置" prop="position">
<el-input v-model="form.position" placeholder="请输入纸档位置" />
</el-form-item>
<el-form-item label="完整性" prop="cherks">
<el-input v-model="form.cherks" placeholder="请输入完整性" />
</el-form-item>
<el-form-item label="归档状态" prop="fileStatus">
<el-radio-group v-model="form.fileStatus">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { createElectronicCustomerComplaint, updateElectronicCustomerComplaint, deleteElectronicCustomerComplaint, getElectronicCustomerComplaint, getElectronicCustomerComplaintPage, exportElectronicCustomerComplaintExcel } from "@/api/ea/electronicCustomerComplaint/electronicCustomerComplaint";
import Editor from '@/components/Editor';
export default {
name: "ElectronicCustomerComplaint",
components: {
Editor,
},
data() {
return {
//
loading: true,
//
exportLoading: false,
//
showSearch: true,
//
total: 0,
//
list: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNo: 1,
pageSize: 10,
createBy: null,
createTime: [],
company: null,
deptName: null,
complaintCode: null,
customerName: null,
customerPhone: null,
complaintTime: [],
complaintType: null,
complaintContent: null,
handler: null,
handleTime: [],
handleResult: null,
year: null,
period: null,
borrowStatus: null,
recordTime: [],
position: null,
cherks: null,
fileStatus: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
//
getElectronicCustomerComplaintPage(this.queryParams).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 取消按钮 */
cancel() {
this.open = false;
this.reset();
},
/** 表单重置 */
reset() {
this.form = {
id: undefined,
createBy: undefined,
company: undefined,
deptName: undefined,
complaintCode: undefined,
customerName: undefined,
customerPhone: undefined,
complaintTime: undefined,
complaintType: undefined,
complaintContent: undefined,
handler: undefined,
handleTime: undefined,
handleResult: undefined,
year: undefined,
period: undefined,
borrowStatus: undefined,
recordTime: undefined,
position: undefined,
cherks: undefined,
fileStatus: undefined,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加客诉档案";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id;
getElectronicCustomerComplaint(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改客诉档案";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (!valid) {
return;
}
//
if (this.form.id != null) {
updateElectronicCustomerComplaint(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
return;
}
//
createElectronicCustomerComplaint(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
});
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除客诉档案编号为"' + id + '"的数据项?').then(function() {
return deleteElectronicCustomerComplaint(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
//
let params = {...this.queryParams};
params.pageNo = undefined;
params.pageSize = undefined;
this.$modal.confirm('是否确认导出所有客诉档案数据项?').then(() => {
this.exportLoading = true;
return exportElectronicCustomerComplaintExcel(params);
}).then(response => {
this.$download.excel(response, '客诉档案.xls');
this.exportLoading = false;
}).catch(() => {});
}
}
};
</script>

@ -0,0 +1,333 @@
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="表名" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入表名" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="文件来源" prop="source">
<el-input v-model="queryParams.source" placeholder="请输入文件来源" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="年度" prop="year">
<el-input v-model="queryParams.year" placeholder="请输入年度" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="月份" prop="period">
<el-input v-model="queryParams.period" placeholder="请输入月份" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="业务类型" prop="businessType">
<el-select v-model="queryParams.businessType" placeholder="请选择业务类型" clearable size="small">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker v-model="queryParams.createTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" type="daterange"
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="['00:00:00', '23:59:59']" />
</el-form-item>
<el-form-item label="制单人" prop="createBy">
<el-input v-model="queryParams.createBy" placeholder="请输入制单人" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="业务实体" prop="company">
<el-input v-model="queryParams.company" placeholder="请输入业务实体" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="删除状态" prop="delStatus">
<el-select v-model="queryParams.delStatus" placeholder="请选择删除状态" clearable size="small">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="文件后缀" prop="suffix">
<el-input v-model="queryParams.suffix" placeholder="请输入文件后缀" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="文件地址" prop="fileUrl">
<el-input v-model="queryParams.fileUrl" placeholder="请输入文件地址" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="绝对路径" prop="fileAp">
<el-input v-model="queryParams.fileAp" placeholder="请输入绝对路径" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="摘要" prop="note">
<el-input v-model="queryParams.note" placeholder="请输入摘要" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="所属部门" prop="deptName">
<el-input v-model="queryParams.deptName" placeholder="请输入所属部门" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item label="归档状态" prop="archiveState">
<el-input v-model="queryParams.archiveState" placeholder="请输入归档状态" clearable @keyup.enter.native="handleQuery"/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<!-- 操作工具栏 -->
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['ea:electronic-other:create']">新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" :loading="exportLoading"
v-hasPermi="['ea:electronic-other:export']">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<!-- 列表 -->
<el-table v-loading="loading" :data="list">
<el-table-column label="主键" align="center" prop="id" />
<el-table-column label="表名" align="center" prop="name" />
<el-table-column label="文件来源" align="center" prop="source" />
<el-table-column label="年度" align="center" prop="year" />
<el-table-column label="月份" align="center" prop="period" />
<el-table-column label="业务类型" align="center" prop="businessType" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template v-slot="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="制单人" align="center" prop="createBy" />
<el-table-column label="业务实体" align="center" prop="company" />
<el-table-column label="删除状态" align="center" prop="delStatus" />
<el-table-column label="文件后缀" align="center" prop="suffix" />
<el-table-column label="文件地址" align="center" prop="fileUrl" />
<el-table-column label="绝对路径" align="center" prop="fileAp" />
<el-table-column label="摘要" align="center" prop="note" />
<el-table-column label="所属部门" align="center" prop="deptName" />
<el-table-column label="归档状态" align="center" prop="archiveState" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template v-slot="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['ea:electronic-other:update']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['ea:electronic-other:delete']">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNo" :limit.sync="queryParams.pageSize"
@pagination="getList"/>
<!-- 对话框(添加 / 修改) -->
<el-dialog :title="title" :visible.sync="open" width="500px" v-dialogDrag append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="表名" prop="name">
<el-input v-model="form.name" placeholder="请输入表名" />
</el-form-item>
<el-form-item label="文件来源" prop="source">
<el-input v-model="form.source" placeholder="请输入文件来源" />
</el-form-item>
<el-form-item label="年度" prop="year">
<el-input v-model="form.year" placeholder="请输入年度" />
</el-form-item>
<el-form-item label="月份" prop="period">
<el-input v-model="form.period" placeholder="请输入月份" />
</el-form-item>
<el-form-item label="业务类型" prop="businessType">
<el-select v-model="form.businessType" placeholder="请选择业务类型">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item label="制单人" prop="createBy">
<el-input v-model="form.createBy" placeholder="请输入制单人" />
</el-form-item>
<el-form-item label="业务实体" prop="company">
<el-input v-model="form.company" placeholder="请输入业务实体" />
</el-form-item>
<el-form-item label="删除状态" prop="delStatus">
<el-radio-group v-model="form.delStatus">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="文件后缀" prop="suffix">
<el-input v-model="form.suffix" placeholder="请输入文件后缀" />
</el-form-item>
<el-form-item label="文件地址" prop="fileUrl">
<el-input v-model="form.fileUrl" placeholder="请输入文件地址" />
</el-form-item>
<el-form-item label="绝对路径" prop="fileAp">
<el-input v-model="form.fileAp" placeholder="请输入绝对路径" />
</el-form-item>
<el-form-item label="摘要" prop="note">
<el-input v-model="form.note" placeholder="请输入摘要" />
</el-form-item>
<el-form-item label="所属部门" prop="deptName">
<el-input v-model="form.deptName" placeholder="请输入所属部门" />
</el-form-item>
<el-form-item label="归档状态" prop="archiveState">
<el-input v-model="form.archiveState" placeholder="请输入归档状态" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { createElectronicOther, updateElectronicOther, deleteElectronicOther, getElectronicOther, getElectronicOtherPage, exportElectronicOtherExcel } from "@/api/ea/electronicOther/electronicOther";
export default {
name: "ElectronicOther",
components: {
},
data() {
return {
//
loading: true,
//
exportLoading: false,
//
showSearch: true,
//
total: 0,
//
list: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNo: 1,
pageSize: 10,
name: null,
source: null,
year: null,
period: null,
businessType: null,
createTime: [],
createBy: null,
company: null,
delStatus: null,
suffix: null,
fileUrl: null,
fileAp: null,
note: null,
deptName: null,
archiveState: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询列表 */
getList() {
this.loading = true;
//
getElectronicOtherPage(this.queryParams).then(response => {
this.list = response.data.list;
this.total = response.data.total;
this.loading = false;
});
},
/** 取消按钮 */
cancel() {
this.open = false;
this.reset();
},
/** 表单重置 */
reset() {
this.form = {
id: undefined,
name: undefined,
source: undefined,
year: undefined,
period: undefined,
businessType: undefined,
createBy: undefined,
company: undefined,
delStatus: undefined,
suffix: undefined,
fileUrl: undefined,
fileAp: undefined,
note: undefined,
deptName: undefined,
archiveState: undefined,
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNo = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加其他档案";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id;
getElectronicOther(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改其他档案";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (!valid) {
return;
}
//
if (this.form.id != null) {
updateElectronicOther(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
return;
}
//
createElectronicOther(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
});
},
/** 删除按钮操作 */
handleDelete(row) {
const id = row.id;
this.$modal.confirm('是否确认删除其他档案编号为"' + id + '"的数据项?').then(function() {
return deleteElectronicOther(id);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
//
let params = {...this.queryParams};
params.pageNo = undefined;
params.pageSize = undefined;
this.$modal.confirm('是否确认导出所有其他档案数据项?').then(() => {
this.exportLoading = true;
return exportElectronicOtherExcel(params);
}).then(response => {
this.$download.excel(response, '其他档案.xls');
this.exportLoading = false;
}).catch(() => {});
}
}
};
</script>

@ -2332,7 +2332,7 @@ binary-extensions@^2.0.0:
bindings@^1.5.0: bindings@^1.5.0:
version "1.5.0" version "1.5.0"
resolved "https://registry.npmmirror.com/bindings/-/bindings-1.5.0.tgz" resolved "https://registry.npmmirror.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
dependencies: dependencies:
file-uri-to-path "1.0.0" file-uri-to-path "1.0.0"
@ -3584,7 +3584,7 @@ dashdash@^1.12.0:
dayjs@^1.11.9: dayjs@^1.11.9:
version "1.11.9" version "1.11.9"
resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.9.tgz#9ca491933fadd0a60a2c19f6c237c03517d71d1a" resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.9.tgz"
integrity sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA== integrity sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==
debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9:
@ -4684,7 +4684,7 @@ file-saver@2.0.5:
file-uri-to-path@1.0.0: file-uri-to-path@1.0.0:
version "1.0.0" version "1.0.0"
resolved "https://registry.npmmirror.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" resolved "https://registry.npmmirror.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
filesize@^3.6.1: filesize@^3.6.1:
@ -4906,16 +4906,16 @@ fs.realpath@^1.0.0:
fsevents@^1.2.7: fsevents@^1.2.7:
version "1.2.13" version "1.2.13"
resolved "https://registry.npmmirror.com/fsevents/-/fsevents-1.2.13.tgz" resolved "https://registry.npmmirror.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38"
integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw== integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==
dependencies: dependencies:
bindings "^1.5.0" bindings "^1.5.0"
nan "^2.12.1" nan "^2.12.1"
fsevents@~2.3.2: fsevents@~2.3.2:
version "2.3.2" version "2.3.3"
resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz" resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
function-bind@^1.1.1: function-bind@^1.1.1:
version "1.1.1" version "1.1.1"
@ -6902,9 +6902,9 @@ mz@^2.4.0:
thenify-all "^1.0.0" thenify-all "^1.0.0"
nan@^2.12.1: nan@^2.12.1:
version "2.17.0" version "2.18.0"
resolved "https://registry.npmmirror.com/nan/-/nan-2.17.0.tgz" resolved "https://registry.npmmirror.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554"
integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==
nanoid@^3.3.4: nanoid@^3.3.4:
version "3.3.4" version "3.3.4"

Loading…
Cancel
Save