Commit 828e4992 by jiang'yun

修改问题

parent d81db9aa
# 页面标题
VUE_APP_TITLE = 若依管理系统
VUE_APP_TITLE = 会议签到
# 开发环境配置
ENV = 'development'
# 若依管理系统/开发环境
# 会议签到/开发环境
VUE_APP_BASE_API = '/dev-api'
# 路由懒加载
......
# 页面标题
VUE_APP_TITLE = 若依管理系统
VUE_APP_TITLE = 会议签到
# 生产环境配置
ENV = 'production'
# 若依管理系统/生产环境
# 会议签到/生产环境
VUE_APP_BASE_API = '/prod-api'
# 页面标题
VUE_APP_TITLE = 若依管理系统
VUE_APP_TITLE = 会议签到
NODE_ENV = production
# 测试环境配置
ENV = 'staging'
# 若依管理系统/测试环境
# 会议签到/测试环境
VUE_APP_BASE_API = '/stage-api'
{
"name": "ruoyi",
"version": "3.8.8",
"description": "若依管理系统",
"description": "会议签到",
"author": "若依",
"license": "MIT",
"scripts": {
"dev": "vue-cli-service serve",
"build:prod": "vue-cli-service build",
"dev": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
"build:prod": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src"
......@@ -52,6 +52,7 @@
"quill": "2.0.2",
"screenfull": "5.0.2",
"sortablejs": "1.10.2",
"vant": "latest-v2",
"vue": "2.6.12",
"vue-count-to": "1.0.13",
"vue-cropper": "0.5.5",
......
import request from '@/utils/request'
// 查询单位信息列表
export function listDwxx(query) {
return request({
url: '/system/dwxx/list',
method: 'get',
params: query
})
}
// 查询单位信息详细
export function getDwxx(id) {
return request({
url: '/system/dwxx/' + id,
method: 'get'
})
}
// 新增单位信息
export function addDwxx(data) {
return request({
url: '/system/dwxx',
method: 'post',
data: data
})
}
// 修改单位信息
export function updateDwxx(data) {
return request({
url: '/system/dwxx',
method: 'put',
data: data
})
}
// 删除单位信息
export function delDwxx(id) {
return request({
url: '/system/dwxx/' + id,
method: 'delete'
})
}
import request from '@/utils/request'
// 查询会议地点列表
export function listHydd(query) {
return request({
url: '/system/hydd/list',
method: 'get',
params: query
})
}
// 查询会议地点详细
export function getHydd(id) {
return request({
url: '/system/hydd/' + id,
method: 'get'
})
}
// 新增会议地点
export function addHydd(data) {
return request({
url: '/system/hydd',
method: 'post',
data: data
})
}
// 修改会议地点
export function updateHydd(data) {
return request({
url: '/system/hydd',
method: 'put',
data: data
})
}
// 删除会议地点
export function delHydd(id) {
return request({
url: '/system/hydd/' + id,
method: 'delete'
})
}
import request from '@/utils/request'
// 查询会议记录列表
export function listHyjl(query) {
return request({
url: '/system/hyjl/list',
method: 'get',
params: query
})
}
// 查询会议记录详细
export function getHyjl(id) {
return request({
url: '/system/hyjl/' + id,
method: 'get'
})
}
// 新增会议记录
export function addHyjl(data) {
return request({
url: '/system/hyjl',
method: 'post',
data: data
})
}
// 修改会议记录
export function updateHyjl(data) {
return request({
url: '/system/hyjl',
method: 'put',
data: data
})
}
// 删除会议记录
export function delHyjl(id) {
return request({
url: '/system/hyjl/' + id,
method: 'delete'
})
}
import request from '@/utils/request'
// 查询人员信息列表
export function listRyxx(query) {
return request({
url: '/system/ryxx/list',
method: 'get',
params: query
})
}
// 查询人员信息详细
export function getRyxx(id) {
return request({
url: '/system/ryxx/' + id,
method: 'get'
})
}
// 新增人员信息
export function addRyxx(data) {
return request({
url: '/system/ryxx',
method: 'post',
data: data
})
}
// 修改人员信息
export function updateRyxx(data) {
return request({
url: '/system/ryxx',
method: 'put',
data: data
})
}
// 删除人员信息
export function delRyxx(id) {
return request({
url: '/system/ryxx/' + id,
method: 'delete'
})
}
......@@ -9,14 +9,6 @@
<template v-if="device!=='mobile'">
<search id="header-search" class="right-menu-item" />
<el-tooltip content="源码地址" effect="dark" placement="bottom">
<ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
</el-tooltip>
<el-tooltip content="文档地址" effect="dark" placement="bottom">
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
</el-tooltip>
<screenfull id="screenfull" class="right-menu-item hover-effect" />
<el-tooltip content="布局大小" effect="dark" placement="bottom">
......
......@@ -37,6 +37,9 @@ import DictTag from '@/components/DictTag'
import VueMeta from 'vue-meta'
// 字典数据组件
import DictData from '@/components/DictData'
import Vant from 'vant';
import 'vant/lib/index.css';
Vue.use(Vant);
// 全局方法挂载
Vue.prototype.getDicts = getDicts
......
......@@ -8,7 +8,7 @@ import { isRelogin } from '@/utils/request'
NProgress.configure({ showSpinner: false })
const whiteList = ['/login', '/register']
const whiteList = ['/login', '/register','/hyjl']
router.beforeEach((to, from, next) => {
NProgress.start()
......
......@@ -52,6 +52,11 @@ export const constantRoutes = [
hidden: true
},
{
path: '/hyjl',
component: () => import('@/views/hy/hyjl/index'),
hidden: true
},
{
path: '/404',
component: () => import('@/views/error/404'),
hidden: true
......@@ -68,7 +73,7 @@ export const constantRoutes = [
children: [
{
path: 'index',
component: () => import('@/views/index'),
component: () => import('@/views/index_v2'),
name: 'Index',
meta: { title: '首页', icon: 'dashboard', affix: true }
}
......
<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="dwmc">
<el-input
v-model="queryParams.dwmc"
placeholder="请输入单位名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="备注" prop="bz">
<el-input
v-model="queryParams.bz"
placeholder="请输入备注"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @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="['system:dwxx:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:dwxx:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:dwxx:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['system:dwxx:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="dwxxList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="${comment}" align="center" prop="id" />
<el-table-column label="单位名称" align="center" prop="dwmc" />
<el-table-column label="备注" align="center" prop="bz" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:dwxx:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:dwxx:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改单位信息对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="单位名称" prop="dwmc">
<el-input v-model="form.dwmc" placeholder="请输入单位名称" />
</el-form-item>
<el-form-item label="备注" prop="bz">
<el-input v-model="form.bz" 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 { listDwxx, getDwxx, delDwxx, addDwxx, updateDwxx } from "@/api/hy/dwxx";
export default {
name: "Dwxx",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 单位信息表格数据
dwxxList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
dwmc: null,
bz: null
},
// 表单参数
form: {},
// 表单校验
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询单位信息列表 */
getList() {
this.loading = true;
listDwxx(this.queryParams).then(response => {
this.dwxxList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
dwmc: null,
bz: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加单位信息";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getDwxx(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改单位信息";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateDwxx(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addDwxx(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除单位信息编号为"' + ids + '"的数据项?').then(function() {
return delDwxx(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('system/dwxx/export', {
...this.queryParams
}, `dwxx_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<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="qy">
<el-input
v-model="queryParams.qy"
placeholder="请输入区域"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="地点名称" prop="ddmc">
<el-input
v-model="queryParams.ddmc"
placeholder="请输入地点名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="备注" prop="bz">
<el-input
v-model="queryParams.bz"
placeholder="请输入备注"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @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="['system:hydd:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['system:hydd:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['system:hydd:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['system:hydd:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="hyddList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="${comment}" align="center" prop="id" />
<el-table-column label="区域" align="center" prop="qy" />
<el-table-column label="地点名称" align="center" prop="ddmc" />
<el-table-column label="备注" align="center" prop="bz" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:hydd:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:hydd:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改会议地点对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="区域" prop="qy">
<el-input v-model="form.qy" placeholder="请输入区域" />
</el-form-item>
<el-form-item label="地点名称" prop="ddmc">
<el-input v-model="form.ddmc" placeholder="请输入地点名称" />
</el-form-item>
<el-form-item label="备注" prop="bz">
<el-input v-model="form.bz" 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 { listHydd, getHydd, delHydd, addHydd, updateHydd } from "@/api/hy/hydd";
export default {
name: "Hydd",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 会议地点表格数据
hyddList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
qy: null,
ddmc: null,
bz: null
},
// 表单参数
form: {},
// 表单校验
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询会议地点列表 */
getList() {
this.loading = true;
listHydd(this.queryParams).then(response => {
this.hyddList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
qy: null,
ddmc: null,
bz: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加会议地点";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getHydd(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改会议地点";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateHydd(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addHydd(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除会议地点编号为"' + ids + '"的数据项?').then(function() {
return delHydd(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('system/hydd/export', {
...this.queryParams
}, `hydd_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<template>
<div class="app-container" style="padding: 0px;width: 100%">
<img class="pic-404__parent" style="height: 180px;width: 100%;margin-bottom: 15px" src="@/assets/images/bj.png">
<div style="text-align: center;font-size: 18px;font-weight: bold;margin-bottom: 15px">参会信息</div>
<van-form @submit="submitForm2">
<van-field
readonly
clickable
name="picker"
:value="form.ryxx2"
label="参会人员"
placeholder="点击选择参会人员"
:rules="[{ required: true, message: '请选择参会人员' }]"
@click="djryxx()"
/>
<van-popup v-model="showPickerRy" position="bottom">
<van-picker @confirm="confirmRy" @cancel="showPickerRy=false" show-toolbar title="人员" :columns="columnsRy" />
</van-popup>
<van-field
readonly
clickable
name="picker"
:value="form.chdd2"
label="参会地点"
placeholder="点击选择参会地点"
:rules="[{ required: true, message: '请选择参会地点' }]"
@click="djDdxx()"
/>
<van-popup v-model="showPickerDd" position="bottom">
<van-picker @confirm="confirmDd" @cancel="showPickerDd=false" show-toolbar title="参会地点" :columns="columnsDd" />
</van-popup>
<van-field name="switch" label="是否请假">
<template #input>
<van-switch v-model="form.sfqj" size="20" />
</template>
</van-field>
<van-field
v-model="form.qjyy"
rows="5"
autosize
label="请假原因"
type="textarea"
placeholder="请输入请假原因"
/>
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit">提交</van-button>
</div>
</van-form>
</div>
</template>
<script>
import Vue from 'vue';
import { listHyjl, getHyjl, delHyjl, addHyjl, updateHyjl } from "@/api/hy/hyjl";
import { listDwxx } from "@/api/hy/dwxx";
import { listRyxx } from "@/api/hy/ryxx";
import { listHydd } from "@/api/hy/hydd";
import { Toast } from 'vant';
Vue.use(Toast);
export default {
name: "Hyjl",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 会议记录表格数据
hyjlList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
dwid: null,
ryxx: null,
chdd: null,
sfqj: null,
qjyy: null,
bz: null
},
// 表单参数
form: {},
chdd: [],
// 表单校验
rules: {
// dwid: [
// { required: true, message: '请选择单位', trigger: 'blur' },
// ],
ryxx2: [
{ required: true, message: '请选择人员', trigger: 'blur' },
],
chdd2: [
{ required: true, message: '请选择参会地点', trigger: 'blur' },
]
},
dwData:[],
ryData:[],
chddData:[],
showPickerRy:false,
columnsRy:[],
showPickerDd:false,
columnsDd:[]
};
},
created() {
// this.getList();
this.getRyList();
this.getHyddList();
},
methods: {
getDwList(){
listDwxx({}).then(res=>{
console.log(res)
this.dwData=res.rows
})
},
getRyList(){
listRyxx({dwid:this.form.dwid}).then(res=>{
console.log(res)
this.columnsRy=res.rows
})
},
getHyddList(){
listHydd({}).then(res=>{
console.log(res)
this.columnsDd=res.rows
})
},
/** 查询会议记录列表 */
getList() {
this.loading = true;
listHyjl(this.queryParams).then(response => {
this.hyjlList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if(this.form.sfqj){
if(!this.form.qjyy){
this.$message.warning("请输入请假原因")
return
}
}
if(this.form.chdd2){
this.form.chdd=this.form.chdd2[1]
}
if(this.form.ryxx2){
this.form.dwid=this.form.ryxx2[0]
this.form.ryxx=this.form.ryxx2[1]
}
if (this.form.id != null) {
updateHyjl(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addHyjl(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
djryxx(){
this.showPickerRy=true
},
confirmRy(event){
console.log(event)
this.form.ryxx2=event[0]+"/"+event[1]+"/"+event[2]
this.form.ryxx=event[2]
var deptlx=this.columnsRy.filter(it=>it.text==event[0])
this.form.dwid=deptlx[0].children.filter(it=>it.text==event[1])[0].id
this.showPickerRy=false
},
djDdxx(){
this.showPickerDd=true
},
confirmDd(event){
console.log(event)
this.form.chdd2=event[0]+"/"+event[1]
this.form.chdd=event[1]
this.showPickerDd=false
},
submitForm2() {
if(this.form.sfqj){
if(!this.form.qjyy){
// this.$message.warning("请输入请假原因")
Toast.fail('请输入请假原因');
return
}
}
addHyjl(this.form).then(response => {
Toast.success('签到成功');
});
}
}
};
</script>
<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="deptLx">
<el-select v-model="queryParams.deptLx" placeholder="公司类型" clearable>
<el-option
v-for="dict in dict.type.dept_lx"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="参会人员" prop="ryxx">
<el-input
v-model="queryParams.ryxx"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="参会地点" prop="chdd">-->
<!-- <el-input-->
<!-- v-model="queryParams.chdd"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="参加时间" prop="cjsj2">
<el-date-picker
v-model="queryParams.cjsj2"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" border :data="hyjlList" @selection-change="handleSelectionChange">
<el-table-column label="单位" align="center" prop="dwmc" />
<el-table-column label="东营参会" align="center" prop="dyryxx" />
<el-table-column label="乌鲁木齐参会" align="center" prop="wlmqryxx" />
<el-table-column label="克拉玛依参会" align="center" prop="klmyryxx" />
<el-table-column label="管理区参会" align="center" prop="glqryxx" />
<!-- <el-table-column label="春风基地参会" align="center" prop="cfjdryxx" />-->
<!-- <el-table-column label="乌尔禾参会" align="center" prop="wehryxx" />-->
<el-table-column label="请假人员" align="center" prop="qjryxx" />
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改会议记录对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="${comment}" prop="dwid">
<el-input v-model="form.dwid" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="ryxx">
<el-input v-model="form.ryxx" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="chdd">
<el-input v-model="form.chdd" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="sfqj">
<el-input v-model="form.sfqj" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="qjyy">
<el-input v-model="form.qjyy" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="${comment}" prop="bz">
<el-input v-model="form.bz" type="textarea" 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 { listHyjl, getHyjl, delHyjl, addHyjl, updateHyjl } from "@/api/hy/hyjl";
export default {
name: "Hyjl",
dicts: ['dept_lx'],
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 会议记录表格数据
hyjlList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 15,
dwid: null,
ryxx: null,
chdd: null,
sfqj: null,
qjyy: null,
bz: null
},
// 表单参数
form: {},
// 表单校验
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询会议记录列表 */
getList() {
this.loading = true;
listHyjl(this.queryParams).then(response => {
this.hyjlList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
dwid: null,
ryxx: null,
chdd: null,
sfqj: null,
qjyy: null,
bz: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加会议记录";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getHyjl(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改会议记录";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateHyjl(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addHyjl(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除会议记录编号为"' + ids + '"的数据项?').then(function() {
return delHyjl(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('system/hyjl/exportJl', {
...this.queryParams
}, `hyjl_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<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="ryxx">
<el-input
v-model="queryParams.ryxx"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="参会地点" prop="chdd">
<el-input
v-model="queryParams.chdd"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="参加时间" prop="cjsj2">
<el-date-picker
v-model="queryParams.cjsj2"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
>导出</el-button>
</el-form-item>
</el-form>
<el-table v-loading="loading" border :data="hyjlList" @selection-change="handleSelectionChange">
<el-table-column label="单位" align="center" prop="dwmc" />
<el-table-column label="参会人员" align="center" prop="ryxx" />
<el-table-column label="参会地点" align="center" prop="chdd" />
<el-table-column label="参会时间" align="center" prop="cjsj" />
<el-table-column label="是否请假" align="center" prop="sfqj" />
<el-table-column label="请假原因" align="center" show-overflow-tooltip prop="qjyy" />
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改会议记录对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="${comment}" prop="dwid">
<el-input v-model="form.dwid" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="ryxx">
<el-input v-model="form.ryxx" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="chdd">
<el-input v-model="form.chdd" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="sfqj">
<el-input v-model="form.sfqj" placeholder="请输入${comment}" />
</el-form-item>
<el-form-item label="${comment}" prop="qjyy">
<el-input v-model="form.qjyy" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="${comment}" prop="bz">
<el-input v-model="form.bz" type="textarea" 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 { listHyjl, getHyjl, delHyjl, addHyjl, updateHyjl } from "@/api/hy/hyjl";
export default {
name: "Hyjl",
data() {
return {
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 会议记录表格数据
hyjlList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
dwid: null,
ryxx: null,
chdd: null,
sfqj: null,
qjyy: null,
bz: null
},
// 表单参数
form: {},
// 表单校验
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询会议记录列表 */
getList() {
this.loading = true;
listHyjl(this.queryParams).then(response => {
this.hyjlList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: null,
dwid: null,
ryxx: null,
chdd: null,
sfqj: null,
qjyy: null,
bz: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加会议记录";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getHyjl(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改会议记录";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updateHyjl(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addHyjl(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除会议记录编号为"' + ids + '"的数据项?').then(function() {
return delHyjl(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('system/hyjl/export', {
...this.queryParams
}, `hyjl_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<template>
<div class="dashboard-editor-container">
<panel-group @handleSetLineChartData="handleSetLineChartData" />
<el-row style="background:#fff;padding:16px 16px 0;margin-bottom:32px;">
<line-chart :chart-data="lineChartData" />
</el-row>
<el-row :gutter="32">
<el-col :xs="24" :sm="24" :lg="8">
<div class="chart-wrapper">
<raddar-chart />
</div>
</el-col>
<el-col :xs="24" :sm="24" :lg="8">
<div class="chart-wrapper">
<pie-chart />
</div>
</el-col>
<el-col :xs="24" :sm="24" :lg="8">
<div class="chart-wrapper">
<bar-chart />
</div>
</el-col>
</el-row>
</div>
</template>
<script>
import PanelGroup from './dashboard/PanelGroup'
import LineChart from './dashboard/LineChart'
import RaddarChart from './dashboard/RaddarChart'
import PieChart from './dashboard/PieChart'
import BarChart from './dashboard/BarChart'
const lineChartData = {
newVisitis: {
expectedData: [100, 120, 161, 134, 105, 160, 165],
actualData: [120, 82, 91, 154, 162, 140, 145]
},
messages: {
expectedData: [200, 192, 120, 144, 160, 130, 140],
actualData: [180, 160, 151, 106, 145, 150, 130]
},
purchases: {
expectedData: [80, 100, 121, 104, 105, 90, 100],
actualData: [120, 90, 100, 138, 142, 130, 130]
},
shoppings: {
expectedData: [130, 140, 141, 142, 145, 150, 160],
actualData: [120, 82, 91, 154, 162, 140, 130]
}
}
export default {
name: 'Index',
components: {
PanelGroup,
LineChart,
RaddarChart,
PieChart,
BarChart
},
data() {
return {
lineChartData: lineChartData.newVisitis
}
},
methods: {
handleSetLineChartData(type) {
this.lineChartData = lineChartData[type]
}
}
}
</script>
<style lang="scss" scoped>
.dashboard-editor-container {
padding: 32px;
background-color: rgb(240, 242, 245);
position: relative;
.chart-wrapper {
background: #fff;
padding: 16px 16px 0;
margin-bottom: 32px;
}
}
@media (max-width:1024px) {
.chart-wrapper {
padding: 8px;
}
}
</style>
<template>
<div class="login">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
<h3 class="title">若依后台管理系统</h3>
<h3 class="title">会议签到</h3>
<el-form-item prop="username">
<el-input
v-model="loginForm.username"
......@@ -72,8 +72,8 @@ export default {
return {
codeUrl: "",
loginForm: {
username: "admin",
password: "admin123",
username: "",
password: "",
rememberMe: false,
code: "",
uuid: ""
......
<template>
<div class="register">
<el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
<h3 class="title">若依后台管理系统</h3>
<h3 class="title">会议签到</h3>
<el-form-item prop="username">
<el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
......
......@@ -7,7 +7,7 @@ function resolve(dir) {
const CompressionPlugin = require('compression-webpack-plugin')
const name = process.env.VUE_APP_TITLE || '若依管理系统' // 网页标题
const name = process.env.VUE_APP_TITLE || '会议签到' // 网页标题
const port = process.env.port || process.env.npm_config_port || 80 // 端口
......@@ -36,7 +36,7 @@ module.exports = {
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
target: `http://localhost:8080`,
target: `http://localhost:8084`,
changeOrigin: true,
pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: ''
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment