From b3f6a4257759613f01f9d491914f0dbb0f640a4f Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期六, 07 十月 2023 14:59:04 +0800
Subject: [PATCH] 修改
---
/dev/null | 86 ----------
src/views/coalMine/cJobRegistration/index.vue | 162 ++++++++++++++-----
src/views/coalMine/cJobRegistration/components/jobRegistDialog.vue | 219 +++++++++++++++++++++++++++
src/views/notCoalMine/nJobRegistration/index.vue | 2
4 files changed, 335 insertions(+), 134 deletions(-)
diff --git a/src/views/coalMine/cJobRegistration/components/addDialog.vue b/src/views/coalMine/cJobRegistration/components/addDialog.vue
deleted file mode 100644
index 9856c67..0000000
--- a/src/views/coalMine/cJobRegistration/components/addDialog.vue
+++ /dev/null
@@ -1,86 +0,0 @@
-<template>
- <el-dialog
- :title="dialogStatus==='add'?'新增填报':''"
- :visible.sync="dialogVisible"
- :modal-append-to-body="false"
- :close-on-click-modal="false"
- width="50%"
- :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>
- <el-form-item label="IC卡编号:" prop="iCCard">
- <el-input v-model.trim="dataForm.iCCard"/>
- </el-form-item>
- <el-form-item label="电子证号:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
- </el-form-item>
- <el-form-item label="姓名:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
- </el-form-item>
- <el-form-item label="所属单位:" prop="remark">
- <el-input v-model.trim="dataForm.remark"/>
- </el-form-item>
- <el-form-item label="操作类型:" prop="remark">
- <el-cascader
- v-model="value"
- :options="options"
- @change="handleChange">
- </el-cascader>
- </el-form-item>
- </el-form>
- <span slot="footer" class="dialog-footer">
- <el-button @click="handleClose">取 消</el-button>
- <el-button type="primary" @click="onSubmit">确 定</el-button>
- </span>
- </el-dialog>
-</template>
-
-<script >
-export default {
- name: 'addUser',
- components: {
- },
- data() {
- return {
- dialogVisible: false,
- dialogStatus: '',
- rules: {
- name: [{ required: true, message: '身份证号', trigger: 'blur' }],
- },
- dataForm: {}
- }
- },
- created() {
-
- },
- methods: {
- openDialog (type, data) {
- this.resetDataForm();
- this.dialogVisible = true;
- this.dialogStatus = type;
- this.$nextTick(() => {
- this.$refs['dataForm'].clearValidate()
- })
- },
- handleClose() {
- this.dialogVisible = false;
- this.$emit("getList");
- },
- onSubmit() {
- this.$emit("getList");
- this.dialogVisible = false;
- },
- resetDataForm() {
- this.dataForm = {
- }
- },
- }
-}
-
-</script>
-<style scoped>
-
-</style>
diff --git a/src/views/coalMine/cJobRegistration/components/jobRegistDialog.vue b/src/views/coalMine/cJobRegistration/components/jobRegistDialog.vue
new file mode 100644
index 0000000..644db03
--- /dev/null
+++ b/src/views/coalMine/cJobRegistration/components/jobRegistDialog.vue
@@ -0,0 +1,219 @@
+<template>
+ <el-dialog
+ :title="title"
+ :visible.sync="open"
+ append-to-body
+ width="50%"
+ :before-close="handleClose"
+ >
+ <el-form ref="ruleForm" :model="form" :rules="rules" label-position="right" label-width="150px" style="padding-right: 50px" element-loading-text="保存中...">
+ <el-form-item label="姓名:" prop="name">
+ <el-input v-model.trim="form.name" :readonly="disable"/>
+ </el-form-item>
+ <el-form-item label="身份证号:" prop="idCard">
+ <el-input v-model.trim="form.idCard" :readonly="disable"/>
+ </el-form-item>
+ <el-form-item label="IC卡编号:" prop="icNum">
+ <el-input v-model.trim="form.icNum" :readonly="disable"/>
+ </el-form-item>
+ <el-form-item label="电子证号:" prop="electNum">
+ <el-input v-model.trim="form.electNum" :readonly="disable"/>
+ </el-form-item>
+ <el-form-item label="所属单位:" prop="dept">
+ <el-input v-model.trim="form.dept" :readonly="disable"/>
+ </el-form-item>
+ <el-form-item label="操作类型:" prop="operateTypeId">
+ <el-cascader
+ v-model="form.operateTypeId"
+ :options="typeList"
+ :disabled="disable"
+ :show-all-levels="false"
+ :props="{ expandTrigger: 'hover', value: 'id',label: 'name',emitPath:false}"></el-cascader>
+ </el-form-item>
+ <el-form-item label="作业时间:" prop="workTime">
+ <el-date-picker
+ v-model="form.workTime"
+ type="date"
+ format="yyyy-MM-dd"
+ value-format="yyyy-MM-dd 00:00:00"
+ placeholder="选择日期"
+ :disabled="disable">
+ </el-date-picker>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="handleClose">取消</el-button>
+ <el-button v-if="disable == false" type="primary" @click="submit">提交</el-button>
+ <el-button v-else type="primary" @click="handleClose">确定</el-button>
+ </span>
+ <el-dialog :visible.sync="dialogVisible" append-to-body>
+ <img width="100%" :src="dialogImageUrl" alt="">
+ </el-dialog>
+ </el-dialog>
+</template>
+
+<script >
+import {verifyIdCard} from "@/utils/validate";
+import {addJobRegist, editJobRegist} from "@/api/coalMine/jobRegist";
+
+export default {
+ name: 'violationDialog',
+ components: {
+ },
+ props: ['typeList'],
+ data() {
+ let verifyId = (rule, value, callback)=>{
+ if(value === ''){
+ callback(new Error('请输入身份证号'))
+ }else{
+ if(!verifyIdCard(value)){
+ callback(new Error('身份证号格式有误'))
+ }else{
+ callback()
+ }
+ }
+ }
+ return {
+ disable: false,
+ title: '新增登记',
+ open: false,
+ form:{
+ workId: null,
+ isCm: 1,
+ name: '',
+ idCard: '',
+ icNum: '',
+ electNum: '',
+ dept: '',
+ operateTypeId: null,
+ workTime: '',
+ remark: ''
+ },
+ fileList: [],
+ dialogImageUrl: '',
+ dialogVisible: false,
+ rules:{
+ name:[{ required: true, message: '请填写姓名', trigger: 'blur' }],
+ // idCard: [{ required: true, validator: verifyId, trigger: 'blur' }],
+ idCard: [{ required: true, message: '请填写身份证号', trigger: 'blur' }],
+ dept: [{ required: true, message: '请填写所在单位', trigger: 'blur' }],
+ operateTypeId: [{ required: true, message: '请选择操作类型', trigger: 'blur' }],
+ workTime: [{ required: true, message: '请选择作业时间', trigger: 'blur' }]
+ },
+ }
+ },
+ created() {
+
+ },
+ methods: {
+ openDialog (val,type) {
+ const t = this
+ t.fileList = []
+ t.open = true
+ if(type == 'add'){
+ t.title = '新增登记'
+ t.disable = false
+ t.form = {
+ workId: null,
+ isCm: 1,
+ name: '',
+ idCard: '',
+ icNum: '',
+ electNum: '',
+ dept: '',
+ operateTypeId: null,
+ workTime: '',
+ remark: ''
+ }
+ }else{
+ if(type == 'edit'){
+ t.title = '编辑'
+ t.disable = false
+ }else{
+ t.title = '查看'
+ t.disable = true
+ }
+ if(val){
+ for(let i in val){
+ if(t.isValidKey(i,this.form)){
+ t.form[i] = val[i]
+ }
+ }
+ }
+ t.form.workTime = t.form.workTime + ' 00:00:00'
+ }
+ },
+ isValidKey(key,obj){
+ return key in obj
+ },
+
+ handleClose() {
+ this.open = false;
+ this.resetForm();
+ },
+ async submit(){
+ this.$refs["ruleForm"].validate(async(valid) =>{
+ if(valid) {
+ if(this.title == '新增登记'){
+ const {workId,...data} = this.form
+ const res= await addJobRegist(data)
+ if(res.code == 200){
+ this.$message({
+ type:'success',
+ message: res.msg
+ })
+ this.fileList = []
+ this.open = false
+ this.$emit('getList')
+ }else{
+ this.$message({
+ type:'warning',
+ message: res.msg
+ })
+ }
+ }else{
+ const res= await editJobRegist(this.form)
+ if(res.code == 200){
+ this.$message({
+ type:'success',
+ message: res.msg
+ })
+ this.fileList = []
+ this.open = false
+ this.$emit('getList')
+ }else{
+ this.$message({
+ type:'warning',
+ message: res.msg
+ })
+ }
+ }
+ }else{
+ this.$message({
+ type:'warning',
+ message:'请完善必填信息'
+ })
+ }
+ })
+ },
+ resetForm() {
+ this.form = {
+ workId: null,
+ isCm: 1,
+ name: '',
+ idCard: '',
+ icNum: '',
+ electNum: '',
+ dept: '',
+ operateTypeId: null,
+ workTime: '',
+ remark: ''
+ }
+ },
+ }
+}
+
+</script>
+<style scoped>
+
+</style>
diff --git a/src/views/coalMine/cJobRegistration/index.vue b/src/views/coalMine/cJobRegistration/index.vue
index 5203744..4cbbf46 100644
--- a/src/views/coalMine/cJobRegistration/index.vue
+++ b/src/views/coalMine/cJobRegistration/index.vue
@@ -3,7 +3,7 @@
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户姓名" prop="userName">
<el-input
- v-model="queryParams.userName"
+ v-model="queryParams.name"
placeholder="请输入用户姓名"
clearable
@keyup.enter.native="handleQuery"
@@ -17,19 +17,20 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
- <el-form-item label="单位名称" prop="idCard">
+ <el-form-item label="单位名称" prop="dept">
<el-input
- v-model="queryParams.unit"
+ v-model="queryParams.dept"
placeholder="请输入单位名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
- <el-form-item label="作业类型">
+ <el-form-item label="操作类型">
<el-cascader
- v-model="classiFy"
- :options="expertTypes"
- :props="{ expandTrigger: 'hover', value: 'id',label: 'label'}"
+ v-model="queryParams.operateTypeId"
+ :options="typeList"
+ :show-all-levels="false"
+ :props="{ expandTrigger: 'hover', value: 'id',label: 'name',emitPath:false}"
@change="handleChange"></el-cascader>
</el-form-item>
<el-form-item>
@@ -44,27 +45,35 @@
type="primary"
plain
size="mini"
- @click="handleAdd"
+ @click="openJobRegist({},'add')"
v-hasPermi="['system:experts:add']"
- >新增填报</el-button>
+ >新增作业</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
- <el-table v-loading="loading" :data="expertList">
- <el-table-column label="作业日期" align="center" prop="name" />
+ <el-table v-loading="loading" :data="dataList">
+ <el-table-column label="发生时间" align="center" prop="workTime" />
<el-table-column label="姓名" align="center" prop="name" />
- <el-table-column label="身份证号" align="center" prop="name" />
- <el-table-column label="IC/电子证编号" 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="idCard" />
+ <el-table-column label="IC卡编号" align="center" prop="icNum"/>
+ <el-table-column label="电子证编号" align="center" prop="electNum"/>
+ <el-table-column label="所属单位" align="center" prop="dept"/>
+ <el-table-column label="作业种类" align="center" prop="jobCategory"/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
-<!-- <el-button-->
-<!-- size="mini"-->
-<!-- type="text"-->
-<!-- icon="el-icon-view"-->
-<!-- @click="handleView(scope.row)"-->
-<!-- >查看违规详情</el-button>-->
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-view"
+ @click="openJobRegist(scope.row,'view')"
+ >查看详情</el-button>
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-edit"
+ @click="openJobRegist(scope.row,'edit')"
+ v-hasPermi="['system:experts:remove']"
+ >编辑</el-button>
<el-button
size="mini"
type="text"
@@ -78,62 +87,121 @@
<pagination
v-show="total>0"
:total="total"
- :page.sync="queryParams.pageIndex"
+ :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
- <add-dialog ref="addDialogRef" @getList = "getList"></add-dialog>
+ <jobRegist-dialog ref="jobRegistDialog" @getList="getList" :typeList="typeList"></jobRegist-dialog>
</div>
</template>
<script>
-// import addDialog from "@/views/notCoalMine/nJobRegistration/components/addDialog.vue";
+import jobRegistDialog from "@/views/coalMine/cJobRegistration/components/jobRegistDialog";
+import {getOperatePage} from "@/api/coalMine/operateType";
+import {delJobRegist, getJobRegistPage} from "@/api/coalMine/jobRegist";
export default {
- name: "nViolationRegistration",
+ name: "cJobRegist",
dicts: [],
components: {
- addDialog
+ jobRegistDialog
},
data() {
return {
- addDialogRef: '',
+ violationDialog: '',
loading: false,
- single: true,
- multiple: true,
showSearch: true,
- addForm: false,
+ dataList: [],
total: 0,
- expertTypes: [],
- expertList: [],
- queryParams: {},
- classiFy: [],
- form: {},
- rules: {
- classifyName: [
- { required: true, message: "分类名称不能为空", trigger: "blur" }
- ]
- }
+ typeList: [],
+ queryParams: {
+ name: '',
+ idCard:'',
+ dept: '',
+ operateTypeId: null,
+ isCm: 1,
+ pageNum: 1,
+ pageSize: 10
+ },
};
},
created() {
-
+ this.getList()
+ this.getTypeList()
},
methods: {
- getList(){
-
+ async getList(){
+ const t = this
+ t.loading = true
+ const res = await getJobRegistPage(t.queryParams)
+ if(res.code == 200){
+ t.dataList = res.rows
+ t.total = res.total
+ }else{
+ t.$message({
+ message: res.msg,
+ type: 'warning'
+ })
+ }
+ t.loading = false
+ },
+ async getTypeList() {
+ this.loading = true;
+ const res = await getOperatePage({name: ''})
+ if(res.code == 200){
+ this.typeList = this.handleTree(res.data, "id");
+ }else{
+ this.$message({
+ type: 'warning',
+ message: res.msg
+ });
+ }
+ this.loading = false;
},
handleChange(){
},
- handleQuery(){
+ handleDelete(row){
+ this.$confirm('此操作将永久删除该条数据, 是否继续?', '提示', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning'
+ }).then(async () => {
+ const res = await delJobRegist(row.workId)
+ if(res.code == 200){
+ this.$message({
+ type: 'success',
+ message: '删除成功!'
+ });
+ await this.getList()
+ }else{
+ this.$message({
+ type: 'warning',
+ message: res.msg
+ });
+ }
+ }).catch(() => {
+ });
+ },
+ handleQuery(){
+ this.queryParams.pageNum = 1
+ this.getList()
},
resetQuery(){
-
+ this.queryParams = {
+ name: '',
+ idCard:'',
+ dept: '',
+ operateTypeId: null,
+ isCm: 1,
+ pageNum: 1,
+ pageSize: 10
+ }
+ this.getList()
},
- handleAdd(){
- this.$refs.addDialogRef.openDialog();
+ openJobRegist(data,type){
+ this.$refs.jobRegistDialog.openDialog(data,type);
}
}
};
diff --git a/src/views/notCoalMine/nJobRegistration/index.vue b/src/views/notCoalMine/nJobRegistration/index.vue
index 69bffec..5061edf 100644
--- a/src/views/notCoalMine/nJobRegistration/index.vue
+++ b/src/views/notCoalMine/nJobRegistration/index.vue
@@ -101,7 +101,7 @@
import {getOperatePage} from "@/api/coalMine/operateType";
import {delJobRegist, getJobRegistPage} from "@/api/coalMine/jobRegist";
export default {
- name: "cJobRegist",
+ name: "nJobRegist",
dicts: [],
components: {
jobRegistDialog
--
Gitblit v1.9.2