咨询档案

main
@zhu-yuefeng 1 year ago
parent 166c42ef80
commit aba625587a

@ -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,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>

@ -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