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