From 7d1b06c406be40b209a73019c00a49f7ec1b3f60 Mon Sep 17 00:00:00 2001 From: wl <173@qq.com> Date: 星期四, 21 七月 2022 17:36:32 +0800 Subject: [PATCH] 案件录入添加 --- src/views/cause/Entry.vue | 237 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 217 insertions(+), 20 deletions(-) diff --git a/src/views/cause/Entry.vue b/src/views/cause/Entry.vue index a98f71b..534a1b8 100644 --- a/src/views/cause/Entry.vue +++ b/src/views/cause/Entry.vue @@ -4,7 +4,7 @@ <template slot="header"> <el-form :inline="true" :model="queryInfo" class="demo-form-inline"> <el-form-item label="妗堜欢锛�"> - <el-input placeholder="璇疯緭鍏ユ浠剁紪鍙锋垨鍚嶇О" v-model="queryInfo.title"></el-input> + <el-input placeholder="璇疯緭鍏ユ浠剁紪鍙锋垨鍚嶇О" v-model="queryInfo.cause"></el-input> </el-form-item> <el-form-item label="妗堜欢鐘舵�侊細"> <el-select v-model="queryInfo.status" placeholder="璇烽�夋嫨"> @@ -16,10 +16,14 @@ <el-button type="primary" @click="search">鏌ヨ</el-button> </el-form-item> <el-form-item> - <el-button type="primary" @click="addDialogOpen">娣诲姞</el-button> + <el-button type="primary" @click="addAduitDialogVisible=true">娣诲姞</el-button> </el-form-item> + <el-form-item> - <el-button type="primary" @click="exportExcel">瀵煎叆</el-button> + <el-upload name="multipartFile" class="upload-demo" action="/api/cause/upload " :show-file-list="false" + :before-upload="beforeAvatarUpload" :on-success="respond" :limit="1"> + <el-button type="primary">瀵煎叆</el-button> + </el-upload> </el-form-item> </el-form> </template> @@ -33,48 +37,134 @@ </el-table-column> <el-table-column prop="firstTime" label="鏈�鏃╁彂妗堟棩鏈�" width="150" header-align="center" align="center"> </el-table-column> - <el-table-column prop="status" label="妗堜欢鐘舵��" width="110" header-align="center"> + <el-table-column prop="status" label="妗堜欢鐘舵��" width="110" header-align="center" align="center"> + <template slot-scope="scope"> + <span v-if="scope.row.status == 0">鏈鏍�</span> + <span v-if="scope.row.status == 1">涓嶄簣绔嬫</span> + <span v-if="scope.row.status == 2">鍙楃悊涓�</span> + <span v-if="scope.row.status == 3">宸茬粨妗�</span> + <span v-if="scope.row.status == 4">宸叉挙妗�</span> + </template> </el-table-column> <el-table-column prop="userName" label="璐熻矗浜�" width="130" header-align="center" align="center"> </el-table-column> <el-table-column prop="ctime" label="鍒涘缓鏃ユ湡" width="160" header-align="center" align="center"> </el-table-column> <el-table-column label="鎿嶄綔" width="240" header-align="center" align="center"> - <el-button type="text" size="medium" @click="handleAudit(scope.row)">缂栬緫</el-button> - <el-button type="text" size="medium" @click="handleAudit(scope.row)">鎶ユ浜哄憳</el-button> - <el-button type="text" size="medium" @click="handleAudit(scope.row)">缇ゅ叕鍛�</el-button> - <el-button type="text" size="medium" @click="handleAudit(scope.row)" style="color:#ff0000" >鍒犻櫎</el-button> + <template slot-scope="scope"> + <el-button type="text" size="medium" @click="handleAudit(scope.row)">缂栬緫</el-button> + <el-button type="text" size="medium" @click="handleAudit(scope.row)">鎶ユ浜哄憳</el-button> + <el-button type="text" size="medium" @click="handleAudit(scope.row)">缇ゅ叕鍛�</el-button> + <el-button type="text" size="medium" @click="removeCause(scope.row.id)" style="color:#ff0000">鍒犻櫎 + </el-button> + </template> </el-table-column> </el-table> </template> - - <el-pagination @current-change="handleCurrentChange" :current-page="queryInfo.current" :page-size="queryInfo.size" layout="prev, pager, next" :total="total"></el-pagination> - </el-pagination> </el-card> + + <!--娣诲姞浜哄憳寮圭獥--> + <el-dialog title="娣诲姞" :visible.sync="addAduitDialogVisible" width="50%" :before-close="addAduitClose"> + <el-row :gutter="15"> + <el-form ref="addAduitForm" :model="auditFrom" :rules="rules" size="medium" label-width="100px"> + <el-col :span="12"> + <el-form-item label="鎶ユ浜� " prop="reporterName"> + <el-input v-model="auditFrom.reporterName" placeholder="璇疯緭鍏ユ姤妗堜汉 " clearable + :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鎵嬫満鍙风爜" prop="mobile"> + <el-input v-model="auditFrom.mobile" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="韬唤璇佸彿" prop="idcard"> + <el-input v-model="auditFrom.idcard" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="琚獥鏃堕棿" prop="cheatTime"> + <el-date-picker v-model="auditFrom.tmpTime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" + :style="{ width: '100%' }" format="yyyy-MM-dd HH:mm:ss" :value-format="auditFrom.cheatTime"> + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="娑夋閲戦" prop="amountInvolved"> + <el-input v-model="auditFrom.amountInvolved" placeholder="璇疯緭鍏ユ秹妗堥噾棰�" clearable + :style="{ width: '100%' }"></el-input> + </el-form-item> + </el-col> + <el-col :span="24"> + <el-form-item label="妗堜欢鎻忚堪" prop="reportDescription"> + <el-input v-model="auditFrom.reportDescription" placeholder="璇疯緭鍏ユ浠舵弿杩�" clearable + :style="{ width: '100%' }"></el-input> + </el-form-item> + </el-col> + <el-col :span="24"> + <el-form-item label="琛ュ厖淇℃伅" prop="information"> + <el-input v-model="auditFrom.information" type="textarea" placeholder="璇疯緭鍏ヨˉ鍏呬俊鎭�" + :autosize="{ minRows: 4, maxRows: 4 }" :style="{ width: '100%' }"></el-input> + </el-form-item> + </el-col> + <el-col :span="24"> + <el-form-item label="鍏宠仈妗堜欢" prop="causeId"> + <el-select v-model="auditFrom.causeId" placeholder="璇烽�夋嫨涓嬫媺閫夋嫨" clearable :style="{ width: '50%' }"> + <el-option v-for="item in causeOptions" :key="item.id" :label="item.name" :value="item.id"> + </el-option> + </el-select> + </el-form-item> + </el-col> + </el-form> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-button @click="addAduitDialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="addAduit">纭� 瀹�</el-button> + </span> + </el-dialog> </div> </template> <script> import { - casueList + casueList, + remove } from '@/api/cause' export default { name: "Entry", data() { return { + causeOptions: [], + auditFrom: { + reporterName: '', + mobile: '', + idcard: '', + cheatTime: '', + amountInvolved: '', + reportDescription: '', + information: '', + reportMaterials: "", + causeId: '', + fileList: [], + tmpTime: '', + }, casueList: [], queryInfo: { - title: '', - status: '5', + cause: '', + status: null, current: 1, size: 10 }, options: [ { - value: '5', + value: null, label: '鍏ㄩ儴' }, { @@ -99,12 +189,98 @@ } ], total: 0, + addAduitDialogVisible: false, + rules: { + reporterName: [{ + required: true, + message: '璇疯緭鍏ユ姤妗堜汉 ', + trigger: 'blur' + }], + mobile: [{ + required: true, + message: '璇疯緭鍏ユ墜鏈哄彿鐮�', + trigger: 'blur' + }], + idcard: [{ + required: true, + message: '璇疯緭鍏ヨ韩浠借瘉鍙�', + trigger: 'blur' + }], + tmpTime: [{ + required: true, + message: '璇疯緭鍏ヨ楠楁椂闂�', + trigger: 'blur' + }], + amountInvolved: [{ + required: true, + message: '璇疯緭鍏ユ秹妗堥噾棰�', + trigger: 'blur' + }], + reportDescription: [{ + required: true, + message: '璇疯緭鍏ユ浠舵弿杩�', + trigger: 'blur' + }], + information: [{ + required: true, + message: '璇疯緭鍏ヨˉ鍏呬俊鎭�', + trigger: 'blur' + }], + causeId: [{ + required: true, + message: '璇烽�夋嫨涓嬫媺閫夋嫨', + trigger: 'change' + }], + }, } }, created() { this.init() }, - methods: { + methods: + { + addAduitClose() { + this.addAduitDialogVisible = false + this.$refs.addAduitForm.resetFields() + this.picShow = "" + }, + addAduit() { + this.$refs.addAduitForm.validate(async (vaild) => { + if (!vaild) return this.$message.error('杈撳叆鏈夎') + this.auditFrom.reportMaterials = this.auditFrom.fileList.map(i => i.data).join(',') + report(this.auditFrom).then(res => { + this.$message.success('鎻愪氦鎴愬姛') + this.addAduitDialogVisible = false + this.getList() + }).catch(err => { + this.addAduitClose() + }) + }) + }, + respond(res) { + if (res.code == 200) { + this.$message({ + message: '涓婁紶鎴愬姛', + type: 'success' + } + ) + } else { + this.$message({ + message: res.msg, + type: 'error' + }) + } + location.reload(); + }, + beforeAvatarUpload(file) { + let Xls = file.name.split('.'); + if (Xls[1] === 'xls' || Xls[1] === 'xlsx') { + return file + } else { + this.$message.error('涓婁紶鏂囦欢鍙兘鏄� xls/xlsx 鏍煎紡!') + return false + } + }, init() { casueList().then( res => { @@ -114,15 +290,25 @@ ) }, getList() { - this.$http.get('/api/entry/list', { + this.$http.get('/api/cause/getCauseList', { params: this.queryInfo }).then(res => { - this.total = res.data.total - this.list = res.data.list + this.total = res.data.data.total + this.casueList = res.data.data.records }) }, search() { - }, + this.$http.get('/api/cause/getCauseList', { + params: this.queryInfo + }).then( + res => { + this.total = res.data.data.total + this.casueList = res.data.data.records + } + ) + + } + , addDialogOpen() { }, exportExcel() { @@ -131,6 +317,17 @@ this.queryInfo.current = val; this.getList(); }, + removeCause(val) { + remove(val).then( + res => { + this.$message({ + message: '鍒犻櫎鎴愬姛', + type: 'success' + }); + this.getList(); + } + ) + } } } </script> -- Gitblit v1.8.0