对比新文件 |
| | |
| | | <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> |
| | |
| | | <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" |
| | |
| | | @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> |
| | |
| | | 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" |
| | |
| | | <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); |
| | | } |
| | | } |
| | | }; |
| | |
| | | import {getOperatePage} from "@/api/coalMine/operateType"; |
| | | import {delJobRegist, getJobRegistPage} from "@/api/coalMine/jobRegist"; |
| | | export default { |
| | | name: "cJobRegist", |
| | | name: "nJobRegist", |
| | | dicts: [], |
| | | components: { |
| | | jobRegistDialog |