From 50e18f9d144e78d0f47247f46b5d712745e0035d Mon Sep 17 00:00:00 2001
From: zhouwenxuan <1175765986@qq.com>
Date: 星期三, 27 九月 2023 16:24:25 +0800
Subject: [PATCH] 场所管理
---
src/views/notCoalMine/nPlaceManage/nTrainManage/index.vue | 90 +++-
src/api/coalMine/placeManage/exam.js | 53 +++
src/views/notCoalMine/nPlaceManage/nExamManage/index.vue | 92 +++-
src/api/coalMine/placeManage/train.js | 44 ++
src/views/coalMine/cPlaceManage/cTrainManage/components/addDialog.vue | 110 +++++-
src/views/coalMine/cPlaceManage/cExamManage/components/addDialog.vue | 144 ++++++-
src/views/notCoalMine/nPlaceManage/nExamManage/components/addDialog.vue | 144 ++++++-
src/views/coalMine/cPlaceManage/cExamManage/index.vue | 96 +++-
src/views/coalMine/cPlaceManage/cTrainManage/index.vue | 93 +++-
src/views/notCoalMine/nPlaceManage/nTrainManage/components/addDialog.vue | 110 +++++-
10 files changed, 753 insertions(+), 223 deletions(-)
diff --git a/src/api/coalMine/placeManage/exam.js b/src/api/coalMine/placeManage/exam.js
new file mode 100644
index 0000000..eb26eb0
--- /dev/null
+++ b/src/api/coalMine/placeManage/exam.js
@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 数据分页
+export function getExamPage(query) {
+ return request({
+ url: '/exam/site/page/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 数据不分页
+export function getTrainList(query) {
+ return request({
+ url: '/training/institution/select',
+ method: 'get',
+ params: query
+ })
+}
+
+// 新增数据
+export function addExam(data) {
+ return request({
+ url: '/exam/site/add',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改数据
+export function updateExam(data) {
+ return request({
+ url: '/exam/site/mod',
+ method: 'post',
+ data: data
+ })
+}
+
+// 删除数据
+export function delExam(institutionIds) {
+ return request({
+ url: '/exam/site/del/batch/' + institutionIds,
+ method: 'delete'
+ })
+}
+
+//区划信息
+export function getAreaList() {
+ return request({
+ url: '/system/district/list',
+ method: 'get'
+ })
+}
diff --git a/src/api/coalMine/placeManage/train.js b/src/api/coalMine/placeManage/train.js
new file mode 100644
index 0000000..03f8720
--- /dev/null
+++ b/src/api/coalMine/placeManage/train.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 数据分页
+export function getTrainPage(query) {
+ return request({
+ url: '/training/institution/page/list',
+ method: 'get',
+ params: query
+ })
+}
+
+// 新增数据
+export function addTrain(data) {
+ return request({
+ url: '/training/institution/add',
+ method: 'post',
+ data: data
+ })
+}
+
+// 修改数据
+export function updateTrain(data) {
+ return request({
+ url: '/training/institution/mod',
+ method: 'post',
+ data: data
+ })
+}
+
+// 删除数据
+export function delTrain(institutionIds) {
+ return request({
+ url: '/training/institution/del/batch/' + institutionIds,
+ method: 'delete'
+ })
+}
+
+//区划信息
+export function getAreaList() {
+ return request({
+ url: '/system/district/list',
+ method: 'get'
+ })
+}
diff --git a/src/views/coalMine/cPlaceManage/cExamManage/components/addDialog.vue b/src/views/coalMine/cPlaceManage/cExamManage/components/addDialog.vue
index 491ef91..38f85b0 100644
--- a/src/views/coalMine/cPlaceManage/cExamManage/components/addDialog.vue
+++ b/src/views/coalMine/cPlaceManage/cExamManage/components/addDialog.vue
@@ -8,41 +8,41 @@
:before-close="handleClose"
>
<el-form ref="dataForm" :model="dataForm" :rules="rules" label-position="right" label-width="150px" style="padding-right: 50px" element-loading-text="保存中...">
- <el-form-item label="考试点名称:" prop="idCard">
- <el-input v-model.trim="dataForm.idCard"/>
+ <el-form-item label="考试点名称:" prop="siteName">
+ <el-input v-model.trim="dataForm.siteName"/>
</el-form-item>
- <el-form-item label="所属地区:" prop="iCCard">
- <el-select v-model="value" placeholder="请选择" style="width: 100%;">
+ <el-form-item label="所属地区:" prop="districtId">
+ <el-select v-model="dataForm.districtId" placeholder="请选择" style="width: 100%;">
<el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
+ v-for="item in areaList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="地址:" prop="remark">
- <el-input type="textarea" v-model.trim="dataForm.remark"/>
+ <el-form-item label="地址:" prop="address">
+ <el-input type="textarea" v-model.trim="dataForm.address"/>
</el-form-item>
- <el-form-item label="负责人:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
+ <el-form-item label="负责人:" prop="header">
+ <el-input v-model.trim="dataForm.header"/>
</el-form-item>
- <el-form-item label="电话:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
+ <el-form-item label="电话:" prop="hphone">
+ <el-input v-model.trim="dataForm.hphone" :maxlength="11" />
</el-form-item>
- <el-form-item label="联系人:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
+ <el-form-item label="联系人:" prop="contact">
+ <el-input v-model.trim="dataForm.contact"/>
</el-form-item>
- <el-form-item label="电话:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
+ <el-form-item label="电话:" prop="cphone">
+ <el-input v-model.trim="dataForm.cphone" :maxlength="11" />
</el-form-item>
- <el-form-item label="关联培训机构:" prop="iCCard">
- <el-select v-model="value" placeholder="请选择" style="width: 100%;">
+ <el-form-item label="关联培训机构:" prop="institutionId">
+ <el-select v-model="dataForm.institutionId" placeholder="请选择" style="width: 100%;">
<el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
+ v-for="item in trainList"
+ :key="item.institutionId"
+ :label="item.institutionName"
+ :value="item.institutionId">
</el-option>
</el-select>
</el-form-item>
@@ -58,39 +58,127 @@
</template>
<script >
+import {addExam, updateExam, getAreaList, getTrainList} from "@/api/coalMine/placeManage/exam";
+
export default {
name: 'addUser',
components: {
},
data() {
return {
+ areaList: [],
+ trainList: [],
dialogVisible: false,
dialogStatus: '',
rules: {
- name: [{ required: true, message: '身份证号', trigger: 'blur' }],
+ siteName: [{ required: true, message: '请输入考点名称', trigger: 'blur' }],
+ districtId: [{ required: true, message: '请选择地区', trigger: 'blur' }],
+ institutionId: [{ required: true, message: '请选择培训机构', trigger: 'blur' }],
+ hphone: [
+ {
+ pattern: /^1[0-9]{10}$/,
+ message: '手机号格式不正确',
+ trigger: 'blur'
+ }
+ ],
+ cphone: [
+ {
+ pattern: /^1[0-9]{10}$/,
+ message: '手机号格式不正确',
+ trigger: 'blur'
+ }
+ ],
},
dataForm: {}
}
},
created() {
-
+ this.getArea();
+ this.getTrain();
},
methods: {
openDialog (type, data) {
this.resetDataForm();
this.dialogVisible = true;
this.dialogStatus = type;
+ if(this.dialogStatus == 'edit') {
+ this.dataForm = data;
+ this.dataForm.institutionId = data.institutionId.toString()
+ }
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
+ },
+ async getTrain() {
+ const param = {
+ isCm: 1
+ }
+ const res = await getTrainList(param);
+ if(res.code == 200) {
+ this.trainList = res.data;
+ }else{
+ this.$message({
+ type:'warning',
+ message: res.msg
+ })
+ }
+ },
+ async getArea() {
+ const res = await getAreaList();
+ if(res.code == 200) {
+ this.areaList = res.data;
+ }else{
+ this.$message({
+ type:'warning',
+ message: res.msg
+ })
+ }
},
handleClose() {
this.dialogVisible = false;
this.$emit("getList");
},
onSubmit() {
- this.$emit("getList");
- this.dialogVisible = false;
+ this.$refs["dataForm"].validate( async valid => {
+ if (valid) {
+ if(this.dialogStatus == 'add'){
+ this.dataForm.isCm = 1;
+ console.log("this.dataForm",this.dataForm)
+ const res = await addExam(this.dataForm);
+ if(res.code == 200) {
+ this.$emit("getList");
+ this.dialogVisible = false;
+ this.$message({
+ type:'success',
+ message: '新增成功'
+ })
+ }else{
+ this.$message({
+ type:'warning',
+ message: res.msg
+ })
+ }
+ }else {
+ this.dataForm.isCm = 1;
+ console.log("this.dataForm",this.dataForm)
+ const res = await updateExam(this.dataForm);
+ if(res.code == 200) {
+ this.$emit("getList");
+ this.dialogVisible = false;
+ this.$message({
+ type:'success',
+ message: '编辑成功'
+ })
+ }else{
+ this.$message({
+ type:'warning',
+ message: res.msg
+ })
+ }
+ }
+ }
+ })
+
},
resetDataForm() {
this.dataForm = {
diff --git a/src/views/coalMine/cPlaceManage/cExamManage/index.vue b/src/views/coalMine/cPlaceManage/cExamManage/index.vue
index 5631ee0..f4edc8b 100644
--- a/src/views/coalMine/cPlaceManage/cExamManage/index.vue
+++ b/src/views/coalMine/cPlaceManage/cExamManage/index.vue
@@ -5,7 +5,7 @@
<el-button
type="primary"
plain
- icon="el-icon-refresh"
+ icon="el-icon-plus"
size="mini"
@click="handleAdd('add')"
v-hasPermi="['system:experts:add']"
@@ -14,22 +14,32 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
- <el-table v-loading="loading" :data="expertList">
+ <el-table v-loading="loading" :data="examList">
<el-table-column type="index" label="序号" width="55" align="center" />
- <el-table-column label="培训机构名称" align="center" prop="name" />
- <el-table-column label="所属地区" align="center" prop="name" />
- <el-table-column label="地址" align="center" prop="name" />
- <el-table-column label="关联培训机构" align="center" prop="name" />
- <el-table-column label="负责人及电话" align="center" prop="phone"/>
- <el-table-column label="联系人及电话" align="center" prop="phone"/>
- <el-table-column label="说明(备注)" align="center" prop="phone"/>
+ <el-table-column label="考试点名称" align="center" prop="siteName" />
+ <el-table-column label="所属地区" align="center" prop="districtName" />
+ <el-table-column label="地址" align="center" prop="address" />
+ <el-table-column label="关联培训机构" align="center" prop="institutionName" />
+ <el-table-column label="负责人及电话" align="center" prop="phone">
+ <template #default="scope">
+ <div>{{scope.row.header}}</div>
+ <div>{{scope.row.hphone}}</div>
+ </template>
+ </el-table-column>
+ <el-table-column label="联系人及电话" align="center" prop="phone">
+ <template #default="scope">
+ <div>{{scope.row.contact}}</div>
+ <div>{{scope.row.cphone}}</div>
+ </template>
+ </el-table-column>
+ <el-table-column label="说明(备注)" align="center" prop="remark"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
- @click="handleUpdate(scope.row)"
+ @click="handleAdd('edit',scope.row)"
>编辑</el-button>
<el-button
size="mini"
@@ -54,13 +64,13 @@
<script>
import addDialog from "@/views/coalMine/cPlaceManage/cExamManage/components/addDialog.vue";
+import {delExam, getExamPage} from "@/api/coalMine/placeManage/exam";
export default {
name: "nPeopleManage",
dicts: [],
- components: { addDialog},
+ components: {addDialog},
data() {
return {
- addDialogRef: '',
loading: false,
single: true,
multiple: true,
@@ -68,35 +78,57 @@
addForm: false,
total: 0,
expertTypes: [],
- expertList: [],
- queryParams: {},
- classiFy: [],
+ examList: [],
+ queryParams: {
+ pageIndex: 1,
+ pageSize: 10
+ },
form: {},
- rules: {
- classifyName: [
- { required: true, message: "分类名称不能为空", trigger: "blur" }
- ]
- }
};
},
created() {
-
+ this.getList()
},
methods: {
- getList(){
-
- },
- handleChange(){
-
- },
- handleQuery(){
-
- },
- resetQuery(){
-
+ async getList() {
+ this.loading = true;
+ const param = {
+ isCm: 1,
+ pageNum: this.queryParams.pageIndex,
+ pageSize: this.queryParams.pageSize
+ }
+ const res = await getExamPage(param);
+ console.log("res",res)
+ if(res.code == 200) {
+ this.examList = res.rows;
+ this.total = res.total
+ }else {
+ this.$message({
+ message: res.msg,
+ type: 'warning'
+ })
+ }
+ this.loading = false;
},
handleAdd(type, data){
this.$refs.addDialogRef.openDialog(type, data);
+ },
+ handleDelete(val) {
+ this.$confirm('删除此条信息,是否继续', '提示', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning'
+ }).then(() => {
+ delExam( val.siteId).then((res) => {
+ if (res.code == 200) {
+ this.$message({
+ type:'success',
+ message: '删除成功'
+ })
+ this.getList()
+ }
+ })
+ })
}
}
};
diff --git a/src/views/coalMine/cPlaceManage/cTrainManage/components/addDialog.vue b/src/views/coalMine/cPlaceManage/cTrainManage/components/addDialog.vue
index 728e126..c5590b8 100644
--- a/src/views/coalMine/cPlaceManage/cTrainManage/components/addDialog.vue
+++ b/src/views/coalMine/cPlaceManage/cTrainManage/components/addDialog.vue
@@ -8,33 +8,33 @@
:before-close="handleClose"
>
<el-form ref="dataForm" :model="dataForm" :rules="rules" label-position="right" label-width="150px" style="padding-right: 50px" element-loading-text="保存中...">
- <el-form-item label="机构名称:" prop="idCard">
- <el-input v-model.trim="dataForm.idCard"/>
+ <el-form-item label="机构名称:" prop="institutionName">
+ <el-input v-model.trim="dataForm.institutionName"/>
</el-form-item>
- <el-form-item label="所属地区:" prop="iCCard">
- <el-select v-model="value" placeholder="请选择" style="width: 100%;">
+ <el-form-item label="所属地区:" prop="districtId">
+ <el-select v-model="dataForm.districtId" placeholder="请选择" style="width: 100%;">
<el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
+ v-for="item in areaList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="地址:" prop="remark">
- <el-input type="textarea" v-model.trim="dataForm.remark"/>
+ <el-form-item label="地址:" prop="address">
+ <el-input type="textarea" v-model.trim="dataForm.address"/>
</el-form-item>
- <el-form-item label="负责人:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
+ <el-form-item label="负责人:" prop="header">
+ <el-input v-model.trim="dataForm.header"/>
</el-form-item>
- <el-form-item label="电话:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
+ <el-form-item label="电话:" prop="hphone" >
+ <el-input v-model.trim="dataForm.hphone" :maxlength="11" />
</el-form-item>
- <el-form-item label="联系人:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
+ <el-form-item label="联系人:" prop="contact">
+ <el-input v-model.trim="dataForm.contact"/>
</el-form-item>
- <el-form-item label="电话:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
+ <el-form-item label="电话:" prop="cphone" >
+ <el-input v-model.trim="dataForm.cphone" :maxlength="11" />
</el-form-item>
<el-form-item label="备注:" prop="remark">
<el-input type="textarea" v-model.trim="dataForm.remark"/>
@@ -48,6 +48,8 @@
</template>
<script >
+import {addTrain, getAreaList, updateTrain} from "@/api/coalMine/placeManage/train";
+
export default {
name: 'addUser',
components: {
@@ -56,13 +58,30 @@
return {
dialogVisible: false,
dialogStatus: '',
+ areaList: [],
rules: {
- name: [{ required: true, message: '身份证号', trigger: 'blur' }],
+ institutionName: [{ required: true, message: '请输入机构名称', trigger: 'blur' }],
+ districtId: [{ required: true, message: '请选择地区', trigger: 'blur' }],
+ hphone: [
+ {
+ pattern: /^1[0-9]{10}$/,
+ message: '手机号格式不正确',
+ trigger: 'blur'
+ }
+ ],
+ cphone: [
+ {
+ pattern: /^1[0-9]{10}$/,
+ message: '手机号格式不正确',
+ trigger: 'blur'
+ }
+ ],
},
dataForm: {}
}
},
created() {
+ this.getArea();
},
methods: {
@@ -70,21 +89,66 @@
this.resetDataForm();
this.dialogVisible = true;
this.dialogStatus = type;
+ if(this.dialogStatus == 'edit') {
+ this.dataForm = data;
+ }
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
+ },
+ async getArea() {
+ const res = await getAreaList();
+ if(res.code == 200) {
+ this.areaList = res.data;
+ }
},
handleClose() {
this.dialogVisible = false;
this.$emit("getList");
},
onSubmit() {
- this.$emit("getList");
- this.dialogVisible = false;
+ this.$refs["dataForm"].validate( async valid => {
+ if(valid){
+ if(this.dialogStatus == 'add'){
+ this.dataForm.isCm = 1;
+ console.log("this.dataForm",this.dataForm)
+ const res = await addTrain(this.dataForm);
+ if(res.code == 200) {
+ this.$emit("getList");
+ this.dialogVisible = false;
+ this.$message({
+ type:'success',
+ message: '新增成功'
+ })
+ }else{
+ this.$message({
+ type:'warning',
+ message: res.msg
+ })
+ }
+ }else {
+ this.dataForm.isCm = 1;
+ console.log("this.dataForm",this.dataForm)
+ const res = await updateTrain(this.dataForm);
+ if(res.code == 200) {
+ this.$emit("getList");
+ this.dialogVisible = false;
+ this.$message({
+ type:'success',
+ message: '编辑成功'
+ })
+ }else{
+ this.$message({
+ type:'warning',
+ message: res.msg
+ })
+ }
+ }
+ }
+ })
},
resetDataForm() {
- this.dataForm = {
- }
+ this.dataForm = {}
},
}
}
diff --git a/src/views/coalMine/cPlaceManage/cTrainManage/index.vue b/src/views/coalMine/cPlaceManage/cTrainManage/index.vue
index a155e86..9deab45 100644
--- a/src/views/coalMine/cPlaceManage/cTrainManage/index.vue
+++ b/src/views/coalMine/cPlaceManage/cTrainManage/index.vue
@@ -5,7 +5,7 @@
<el-button
type="primary"
plain
- icon="el-icon-refresh"
+ icon="el-icon-plus"
size="mini"
@click="handleAdd('add')"
v-hasPermi="['system:experts:add']"
@@ -14,21 +14,31 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
- <el-table v-loading="loading" :data="expertList">
+ <el-table v-loading="loading" :data="trainList">
<el-table-column type="index" label="序号" width="55" align="center" />
- <el-table-column label="考试点名称" align="center" prop="name" />
- <el-table-column label="所属地区" align="center" prop="name" />
- <el-table-column label="地址" align="center" prop="name" />
- <el-table-column label="负责人及电话" align="center" prop="phone"/>
- <el-table-column label="联系人及电话" align="center" prop="phone"/>
- <el-table-column label="说明(备注)" align="center" prop="phone"/>
+ <el-table-column label="培训机构名称" align="center" prop="institutionName" />
+ <el-table-column label="所属地区" align="center" prop="districtName" />
+ <el-table-column label="地址" align="center" prop="address" />
+ <el-table-column label="负责人及电话" align="center" prop="phone">
+ <template #default="scope">
+ <div>{{scope.row.header}}</div>
+ <div>{{scope.row.hphone}}</div>
+ </template>
+ </el-table-column>
+ <el-table-column label="联系人及电话" align="center" prop="phone">
+ <template #default="scope">
+ <div>{{scope.row.contact}}</div>
+ <div>{{scope.row.cphone}}</div>
+ </template>
+ </el-table-column>
+ <el-table-column label="说明(备注)" align="center" prop="remark"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
- @click="handleUpdate(scope.row)"
+ @click="handleAdd('edit',scope.row)"
>编辑</el-button>
<el-button
size="mini"
@@ -52,6 +62,7 @@
</template>
<script>
+import { getTrainPage, delTrain } from "@/api/coalMine/placeManage/train";
import addDialog from "@/views/coalMine/cPlaceManage/cTrainManage/components/addDialog.vue";
export default {
name: "nPeopleManage",
@@ -59,43 +70,63 @@
components: { addDialog },
data() {
return {
- addDialogRef: '',
loading: false,
single: true,
multiple: true,
showSearch: true,
addForm: false,
- total: 0,
+ total: 1,
expertTypes: [],
- expertList: [],
- queryParams: {},
- classiFy: [],
+ trainList: [],
+ queryParams: {
+ pageIndex: 1,
+ pageSize: 10
+ },
form: {},
- rules: {
- classifyName: [
- { required: true, message: "分类名称不能为空", trigger: "blur" }
- ]
- }
};
},
created() {
-
+ this.getList();
},
methods: {
- getList(){
-
- },
- handleChange(){
-
- },
- handleQuery(){
-
- },
- resetQuery(){
-
+ async getList() {
+ this.loading = true;
+ const param = {
+ isCm: 1,
+ pageNum: this.queryParams.pageIndex,
+ pageSize: this.queryParams.pageSize
+ }
+ const res = await getTrainPage(param);
+ if(res.code == 200) {
+ this.trainList = res.rows;
+ this.total = res.total
+ }else {
+ this.$message({
+ message: res.msg,
+ type: 'warning'
+ })
+ }
+ this.loading = false;
},
handleAdd(type, data){
this.$refs.addDialogRef.openDialog(type, data);
+ },
+ handleDelete(val) {
+ this.$confirm('删除此条信息,是否继续', '提示', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning'
+ }).then(() => {
+ delTrain(val.institutionId ).then((res) => {
+ if (res.code == 200) {
+ this.$message({
+ type:'success',
+ message: '删除成功'
+ })
+ this.getList()
+ }
+ })
+ })
}
}
};
diff --git a/src/views/notCoalMine/nPlaceManage/nExamManage/components/addDialog.vue b/src/views/notCoalMine/nPlaceManage/nExamManage/components/addDialog.vue
index 491ef91..477c9d2 100644
--- a/src/views/notCoalMine/nPlaceManage/nExamManage/components/addDialog.vue
+++ b/src/views/notCoalMine/nPlaceManage/nExamManage/components/addDialog.vue
@@ -8,41 +8,41 @@
:before-close="handleClose"
>
<el-form ref="dataForm" :model="dataForm" :rules="rules" label-position="right" label-width="150px" style="padding-right: 50px" element-loading-text="保存中...">
- <el-form-item label="考试点名称:" prop="idCard">
- <el-input v-model.trim="dataForm.idCard"/>
+ <el-form-item label="考试点名称:" prop="siteName">
+ <el-input v-model.trim="dataForm.siteName"/>
</el-form-item>
- <el-form-item label="所属地区:" prop="iCCard">
- <el-select v-model="value" placeholder="请选择" style="width: 100%;">
+ <el-form-item label="所属地区:" prop="districtId">
+ <el-select v-model="dataForm.districtId" placeholder="请选择" style="width: 100%;">
<el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
+ v-for="item in areaList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="地址:" prop="remark">
- <el-input type="textarea" v-model.trim="dataForm.remark"/>
+ <el-form-item label="地址:" prop="address">
+ <el-input type="textarea" v-model.trim="dataForm.address"/>
</el-form-item>
- <el-form-item label="负责人:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
+ <el-form-item label="负责人:" prop="header">
+ <el-input v-model.trim="dataForm.header"/>
</el-form-item>
- <el-form-item label="电话:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
+ <el-form-item label="电话:" prop="hphone">
+ <el-input v-model.trim="dataForm.hphone" :maxlength="11" />
</el-form-item>
- <el-form-item label="联系人:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
+ <el-form-item label="联系人:" prop="contact">
+ <el-input v-model.trim="dataForm.contact"/>
</el-form-item>
- <el-form-item label="电话:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
+ <el-form-item label="电话:" prop="cphone">
+ <el-input v-model.trim="dataForm.cphone" :maxlength="11" />
</el-form-item>
- <el-form-item label="关联培训机构:" prop="iCCard">
- <el-select v-model="value" placeholder="请选择" style="width: 100%;">
+ <el-form-item label="关联培训机构:" prop="institutionId">
+ <el-select v-model="dataForm.institutionId" placeholder="请选择" style="width: 100%;">
<el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
+ v-for="item in trainList"
+ :key="item.institutionId"
+ :label="item.institutionName"
+ :value="item.institutionId">
</el-option>
</el-select>
</el-form-item>
@@ -58,39 +58,127 @@
</template>
<script >
+import {addExam, updateExam, getAreaList, getTrainList} from "@/api/coalMine/placeManage/exam";
+
export default {
name: 'addUser',
components: {
},
data() {
return {
+ areaList: [],
+ trainList: [],
dialogVisible: false,
dialogStatus: '',
rules: {
- name: [{ required: true, message: '身份证号', trigger: 'blur' }],
+ siteName: [{ required: true, message: '请输入考点名称', trigger: 'blur' }],
+ districtId: [{ required: true, message: '请选择地区', trigger: 'blur' }],
+ institutionId: [{ required: true, message: '请选择培训机构', trigger: 'blur' }],
+ hphone: [
+ {
+ pattern: /^1[0-9]{10}$/,
+ message: '手机号格式不正确',
+ trigger: 'blur'
+ }
+ ],
+ cphone: [
+ {
+ pattern: /^1[0-9]{10}$/,
+ message: '手机号格式不正确',
+ trigger: 'blur'
+ }
+ ],
},
dataForm: {}
}
},
created() {
-
+ this.getArea();
+ this.getTrain();
},
methods: {
openDialog (type, data) {
this.resetDataForm();
this.dialogVisible = true;
this.dialogStatus = type;
+ if(this.dialogStatus == 'edit') {
+ this.dataForm = data;
+ this.dataForm.institutionId = data.institutionId.toString()
+ }
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
+ },
+ async getTrain() {
+ const param = {
+ isCm: 0
+ }
+ const res = await getTrainList(param);
+ if(res.code == 200) {
+ this.trainList = res.data;
+ }else{
+ this.$message({
+ type:'warning',
+ message: res.msg
+ })
+ }
+ },
+ async getArea() {
+ const res = await getAreaList();
+ if(res.code == 200) {
+ this.areaList = res.data;
+ }else{
+ this.$message({
+ type:'warning',
+ message: res.msg
+ })
+ }
},
handleClose() {
this.dialogVisible = false;
this.$emit("getList");
},
onSubmit() {
- this.$emit("getList");
- this.dialogVisible = false;
+ this.$refs["dataForm"].validate( async valid => {
+ if (valid) {
+ if(this.dialogStatus == 'add'){
+ this.dataForm.isCm = 0;
+ console.log("this.dataForm",this.dataForm)
+ const res = await addExam(this.dataForm);
+ if(res.code == 200) {
+ this.$emit("getList");
+ this.dialogVisible = false;
+ this.$message({
+ type:'success',
+ message: '新增成功'
+ })
+ }else{
+ this.$message({
+ type:'warning',
+ message: res.msg
+ })
+ }
+ }else {
+ this.dataForm.isCm = 0;
+ console.log("this.dataForm",this.dataForm)
+ const res = await updateExam(this.dataForm);
+ if(res.code == 200) {
+ this.$emit("getList");
+ this.dialogVisible = false;
+ this.$message({
+ type:'success',
+ message: '编辑成功'
+ })
+ }else{
+ this.$message({
+ type:'warning',
+ message: res.msg
+ })
+ }
+ }
+ }
+ })
+
},
resetDataForm() {
this.dataForm = {
diff --git a/src/views/notCoalMine/nPlaceManage/nExamManage/index.vue b/src/views/notCoalMine/nPlaceManage/nExamManage/index.vue
index 9df966b..901cc75 100644
--- a/src/views/notCoalMine/nPlaceManage/nExamManage/index.vue
+++ b/src/views/notCoalMine/nPlaceManage/nExamManage/index.vue
@@ -14,22 +14,32 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
- <el-table v-loading="loading" :data="expertList">
+ <el-table v-loading="loading" :data="examList">
<el-table-column type="index" label="序号" width="55" align="center" />
- <el-table-column label="培训机构名称" align="center" prop="name" />
- <el-table-column label="所属地区" align="center" prop="name" />
- <el-table-column label="地址" align="center" prop="name" />
- <el-table-column label="关联培训机构" align="center" prop="name" />
- <el-table-column label="负责人及电话" align="center" prop="phone"/>
- <el-table-column label="联系人及电话" align="center" prop="phone"/>
- <el-table-column label="说明(备注)" align="center" prop="phone"/>
+ <el-table-column label="考试点名称" align="center" prop="siteName" />
+ <el-table-column label="所属地区" align="center" prop="districtName" />
+ <el-table-column label="地址" align="center" prop="address" />
+ <el-table-column label="关联培训机构" align="center" prop="institutionName" />
+ <el-table-column label="负责人及电话" align="center" prop="phone">
+ <template #default="scope">
+ <div>{{scope.row.header}}</div>
+ <div>{{scope.row.hphone}}</div>
+ </template>
+ </el-table-column>
+ <el-table-column label="联系人及电话" align="center" prop="phone">
+ <template #default="scope">
+ <div>{{scope.row.contact}}</div>
+ <div>{{scope.row.cphone}}</div>
+ </template>
+ </el-table-column>
+ <el-table-column label="说明(备注)" align="center" prop="remark"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
- @click="handleUpdate(scope.row)"
+ @click="handleAdd('edit',scope.row)"
>编辑</el-button>
<el-button
size="mini"
@@ -54,6 +64,8 @@
<script>
import addDialog from "@/views/notCoalMine/nPlaceManage/nExamManage/components/addDialog.vue";
+import {delExam, getExamPage} from "@/api/coalMine/placeManage/exam";
+import {delTrain} from "@/api/coalMine/placeManage/train";
export default {
name: "nPeopleManage",
dicts: [],
@@ -67,35 +79,57 @@
addForm: false,
total: 0,
expertTypes: [],
- expertList: [],
- queryParams: {},
- classiFy: [],
+ examList: [],
+ queryParams: {
+ pageIndex: 1,
+ pageSize: 10
+ },
form: {},
- rules: {
- classifyName: [
- { required: true, message: "分类名称不能为空", trigger: "blur" }
- ]
- }
};
},
created() {
-
+ this.getList()
},
methods: {
- getList(){
-
- },
- handleChange(){
-
- },
- handleQuery(){
-
- },
- resetQuery(){
-
+ async getList() {
+ this.loading = true;
+ const param = {
+ isCm: 0,
+ pageNum: this.queryParams.pageIndex,
+ pageSize: this.queryParams.pageSize
+ }
+ const res = await getExamPage(param);
+ console.log("res",res)
+ if(res.code == 200) {
+ this.examList = res.rows;
+ this.total = res.total
+ }else {
+ this.$message({
+ message: res.msg,
+ type: 'warning'
+ })
+ }
+ this.loading = false;
},
handleAdd(type, data){
this.$refs.addDialogRef.openDialog(type, data);
+ },
+ handleDelete(val) {
+ this.$confirm('删除此条信息,是否继续', '提示', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning'
+ }).then(() => {
+ delExam( val.siteId).then((res) => {
+ if (res.code == 200) {
+ this.$message({
+ type:'success',
+ message: '删除成功'
+ })
+ this.getList()
+ }
+ })
+ })
}
}
};
diff --git a/src/views/notCoalMine/nPlaceManage/nTrainManage/components/addDialog.vue b/src/views/notCoalMine/nPlaceManage/nTrainManage/components/addDialog.vue
index 728e126..fe7f879 100644
--- a/src/views/notCoalMine/nPlaceManage/nTrainManage/components/addDialog.vue
+++ b/src/views/notCoalMine/nPlaceManage/nTrainManage/components/addDialog.vue
@@ -8,33 +8,33 @@
:before-close="handleClose"
>
<el-form ref="dataForm" :model="dataForm" :rules="rules" label-position="right" label-width="150px" style="padding-right: 50px" element-loading-text="保存中...">
- <el-form-item label="机构名称:" prop="idCard">
- <el-input v-model.trim="dataForm.idCard"/>
+ <el-form-item label="机构名称:" prop="institutionName">
+ <el-input v-model.trim="dataForm.institutionName"/>
</el-form-item>
- <el-form-item label="所属地区:" prop="iCCard">
- <el-select v-model="value" placeholder="请选择" style="width: 100%;">
+ <el-form-item label="所属地区:" prop="districtId">
+ <el-select v-model="dataForm.districtId" placeholder="请选择" style="width: 100%;">
<el-option
- v-for="item in options"
- :key="item.value"
- :label="item.label"
- :value="item.value">
+ v-for="item in areaList"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id">
</el-option>
</el-select>
</el-form-item>
- <el-form-item label="地址:" prop="remark">
- <el-input type="textarea" v-model.trim="dataForm.remark"/>
+ <el-form-item label="地址:" prop="address">
+ <el-input type="textarea" v-model.trim="dataForm.address"/>
</el-form-item>
- <el-form-item label="负责人:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
+ <el-form-item label="负责人:" prop="header">
+ <el-input v-model.trim="dataForm.header"/>
</el-form-item>
- <el-form-item label="电话:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
+ <el-form-item label="电话:" prop="hphone" >
+ <el-input v-model.trim="dataForm.hphone" :maxlength="11" />
</el-form-item>
- <el-form-item label="联系人:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
+ <el-form-item label="联系人:" prop="contact">
+ <el-input v-model.trim="dataForm.contact"/>
</el-form-item>
- <el-form-item label="电话:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
+ <el-form-item label="电话:" prop="cphone" >
+ <el-input v-model.trim="dataForm.cphone" :maxlength="11" />
</el-form-item>
<el-form-item label="备注:" prop="remark">
<el-input type="textarea" v-model.trim="dataForm.remark"/>
@@ -48,6 +48,8 @@
</template>
<script >
+import {addTrain, getAreaList, updateTrain} from "@/api/coalMine/placeManage/train";
+
export default {
name: 'addUser',
components: {
@@ -56,13 +58,30 @@
return {
dialogVisible: false,
dialogStatus: '',
+ areaList: [],
rules: {
- name: [{ required: true, message: '身份证号', trigger: 'blur' }],
+ institutionName: [{ required: true, message: '请输入机构名称', trigger: 'blur' }],
+ districtId: [{ required: true, message: '请选择地区', trigger: 'blur' }],
+ hphone: [
+ {
+ pattern: /^1[0-9]{10}$/,
+ message: '手机号格式不正确',
+ trigger: 'blur'
+ }
+ ],
+ cphone: [
+ {
+ pattern: /^1[0-9]{10}$/,
+ message: '手机号格式不正确',
+ trigger: 'blur'
+ }
+ ],
},
dataForm: {}
}
},
created() {
+ this.getArea();
},
methods: {
@@ -70,21 +89,66 @@
this.resetDataForm();
this.dialogVisible = true;
this.dialogStatus = type;
+ if(this.dialogStatus == 'edit') {
+ this.dataForm = data;
+ }
this.$nextTick(() => {
this.$refs['dataForm'].clearValidate()
})
+ },
+ async getArea() {
+ const res = await getAreaList();
+ if(res.code == 200) {
+ this.areaList = res.data;
+ }
},
handleClose() {
this.dialogVisible = false;
this.$emit("getList");
},
onSubmit() {
- this.$emit("getList");
- this.dialogVisible = false;
+ this.$refs["dataForm"].validate( async valid => {
+ if(valid){
+ if(this.dialogStatus == 'add'){
+ this.dataForm.isCm = 0;
+ console.log("this.dataForm",this.dataForm)
+ const res = await addTrain(this.dataForm);
+ if(res.code == 200) {
+ this.$emit("getList");
+ this.dialogVisible = false;
+ this.$message({
+ type:'success',
+ message: '新增成功'
+ })
+ }else{
+ this.$message({
+ type:'warning',
+ message: res.msg
+ })
+ }
+ }else {
+ this.dataForm.isCm = 0;
+ console.log("this.dataForm",this.dataForm)
+ const res = await updateTrain(this.dataForm);
+ if(res.code == 200) {
+ this.$emit("getList");
+ this.dialogVisible = false;
+ this.$message({
+ type:'success',
+ message: '编辑成功'
+ })
+ }else{
+ this.$message({
+ type:'warning',
+ message: res.msg
+ })
+ }
+ }
+ }
+ })
},
resetDataForm() {
- this.dataForm = {
- }
+ this.dataForm = {}
},
}
}
diff --git a/src/views/notCoalMine/nPlaceManage/nTrainManage/index.vue b/src/views/notCoalMine/nPlaceManage/nTrainManage/index.vue
index 43c3b51..d1faf76 100644
--- a/src/views/notCoalMine/nPlaceManage/nTrainManage/index.vue
+++ b/src/views/notCoalMine/nPlaceManage/nTrainManage/index.vue
@@ -14,21 +14,31 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
- <el-table v-loading="loading" :data="expertList">
+ <el-table v-loading="loading" :data="trainList">
<el-table-column type="index" label="序号" width="55" align="center" />
- <el-table-column label="考试点名称" align="center" prop="name" />
- <el-table-column label="所属地区" align="center" prop="name" />
- <el-table-column label="地址" align="center" prop="name" />
- <el-table-column label="负责人及电话" align="center" prop="phone"/>
- <el-table-column label="联系人及电话" align="center" prop="phone"/>
- <el-table-column label="说明(备注)" align="center" prop="phone"/>
+ <el-table-column label="培训机构名称" align="center" prop="institutionName" />
+ <el-table-column label="所属地区" align="center" prop="districtName" />
+ <el-table-column label="地址" align="center" prop="address" />
+ <el-table-column label="负责人及电话" align="center" prop="phone">
+ <template #default="scope">
+ <div>{{scope.row.header}}</div>
+ <div>{{scope.row.hphone}}</div>
+ </template>
+ </el-table-column>
+ <el-table-column label="联系人及电话" align="center" prop="phone">
+ <template #default="scope">
+ <div>{{scope.row.contact}}</div>
+ <div>{{scope.row.cphone}}</div>
+ </template>
+ </el-table-column>
+ <el-table-column label="说明(备注)" align="center" prop="remark"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
- @click="handleUpdate(scope.row)"
+ @click="handleAdd('edit',scope.row)"
>编辑</el-button>
<el-button
size="mini"
@@ -52,6 +62,7 @@
</template>
<script>
+import { getTrainPage, delTrain } from "@/api/coalMine/placeManage/train";
import addDialog from "@/views/notCoalMine/nPlaceManage/nTrainManage/components/addDialog.vue";
export default {
name: "nPeopleManage",
@@ -64,37 +75,58 @@
multiple: true,
showSearch: true,
addForm: false,
- total: 0,
+ total: 1,
expertTypes: [],
- expertList: [],
- queryParams: {},
- classiFy: [],
+ trainList: [],
+ queryParams: {
+ pageIndex: 1,
+ pageSize: 10
+ },
form: {},
- rules: {
- classifyName: [
- { required: true, message: "分类名称不能为空", trigger: "blur" }
- ]
- }
};
},
created() {
-
+ this.getList();
},
methods: {
- getList(){
-
- },
- handleChange(){
-
- },
- handleQuery(){
-
- },
- resetQuery(){
-
+ async getList() {
+ this.loading = true;
+ const param = {
+ isCm: 0,
+ pageNum: this.queryParams.pageIndex,
+ pageSize: this.queryParams.pageSize
+ }
+ const res = await getTrainPage(param);
+ if(res.code == 200) {
+ this.trainList = res.rows;
+ this.total = res.total
+ }else {
+ this.$message({
+ message: res.msg,
+ type: 'warning'
+ })
+ }
+ this.loading = false;
},
handleAdd(type, data){
this.$refs.addDialogRef.openDialog(type, data);
+ },
+ handleDelete(val) {
+ this.$confirm('删除此条信息,是否继续', '提示', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning'
+ }).then(() => {
+ delTrain(val.institutionId ).then((res) => {
+ if (res.code == 200) {
+ this.$message({
+ type:'success',
+ message: '删除成功'
+ })
+ this.getList()
+ }
+ })
+ })
}
}
};
--
Gitblit v1.9.2