From 4d35cc54167abbaffe090a309ef4c9aaf171e579 Mon Sep 17 00:00:00 2001 From: wl <173@qq.com> Date: 星期一, 25 七月 2022 14:00:56 +0800 Subject: [PATCH] 添加和修改 --- src/views/cause/Entry.vue | 468 ++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 373 insertions(+), 95 deletions(-) diff --git a/src/views/cause/Entry.vue b/src/views/cause/Entry.vue index 534a1b8..54c4799 100644 --- a/src/views/cause/Entry.vue +++ b/src/views/cause/Entry.vue @@ -16,7 +16,7 @@ <el-button type="primary" @click="search">鏌ヨ</el-button> </el-form-item> <el-form-item> - <el-button type="primary" @click="addAduitDialogVisible=true">娣诲姞</el-button> + <el-button type="primary" @click="addAduitDialogVisible = true">娣诲姞</el-button> </el-form-item> <el-form-item> @@ -35,7 +35,7 @@ </el-table-column> <el-table-column prop="reportNumber" label="鎶ユ浜烘暟" width="100" header-align="center" align="center"> </el-table-column> - <el-table-column prop="firstTime" label="鏈�鏃╁彂妗堟棩鏈�" width="150" header-align="center" align="center"> + <el-table-column prop="firstTime" label="鏈�鏃╁彂妗堟棩鏈�" width="160" header-align="center" align="center"> </el-table-column> <el-table-column prop="status" label="妗堜欢鐘舵��" width="110" header-align="center" align="center"> <template slot-scope="scope"> @@ -52,8 +52,8 @@ </el-table-column> <el-table-column label="鎿嶄綔" width="240" header-align="center" align="center"> <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="updateCauseDialogVisible(scope.row)">缂栬緫</el-button> + <el-button type="text" size="medium" @click="reporterVisible=true">鎶ユ浜哄憳</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> @@ -65,95 +65,249 @@ layout="prev, pager, next" :total="total"></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> + <!--娣诲姞妗堜欢寮圭獥--> + <el-dialog title="娣诲姞妗堜欢" :visible.sync="addAduitDialogVisible" width="50%" :before-close="addAduitClose"> + <el-row :gutter="15"> + <el-form ref="addAduitForm" :model="causeForm" :rules="rules" size="medium" label-width="100px"> + <el-col :span="18"> + <el-form-item label="妗堜欢缂栧彿 " prop="number"> + <el-input v-model="causeForm.number" clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="妗堜欢鍚嶇О" prop="name"> + <el-input v-model="causeForm.name" clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="鏈�鏃╁彂妗堟椂闂�" prop="firstTime"> + <el-date-picker v-model="causeForm.firstTime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" + :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"> + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="妗堜欢鐘舵��" prop="status"> + <el-select v-model="causeForm.status" placeholder="璇烽�夋嫨涓嬫媺閫夋嫨" clearable :style="{ width: '100%' }"> + <el-option v-for="item in causeOptions" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="璐熻矗浜�" prop="userId"> + <el-select v-model="causeForm.userId" placeholder="璇烽�夋嫨涓嬫媺閫夋嫨" clearable :style="{ width: '100%' }"> + <el-option v-for="item in user" :key="item.userId" :label="item.userName" :value="item.userId" + :disabled="item.disabled"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="妗堜欢鎻忚堪" prop="description"> + <el-input v-model="causeForm.description" clearable :style="{ width: '100%', height: '50%' }"></el-input> + </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="createCause">纭� 瀹�</el-button> + </span> + </el-dialog> + + <!--淇敼妗堜欢寮圭獥--> + <el-dialog title="淇敼妗堜欢" :visible.sync="updateAduitDialogVisible" width="50%" :before-close="updateAduitClose"> + <el-row :gutter="15"> + <el-form ref="addAduitForm" :model="updataCauseForm" :rules="rules" size="medium" label-width="100px"> + <el-col :span="18"> + <el-form-item label="妗堜欢缂栧彿 " prop="number"> + <el-input v-model="updataCauseForm.number" clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="妗堜欢鍚嶇О" prop="name"> + <el-input v-model="updataCauseForm.name" clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="鏈�鍙戞棭妗堟椂闂�" prop="firstTime"> + <el-date-picker v-model="updataCauseForm.firstTime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" + :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"> + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="妗堜欢鐘舵��" prop="status"> + <el-select v-model="updataCauseForm.status" clearable :style="{ width: '100%' }"> + <el-option v-for="item in causeOptions" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="璐熻矗浜�" prop="userId"> + <el-select v-model="updataCauseForm.userName" clearable :style="{ width: '100%' }"> + <el-option v-for="item in user" :key="item.userId" :label="item.userName" :value="item.userId" + :disabled="item.disabled"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="妗堜欢鎻忚堪" prop="description"> + <el-input v-model="updataCauseForm.description" clearable :style="{ width: '100%', height: '50%' }"> + </el-input> + </el-form-item> + </el-col> + </el-form> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-button @click="updateAduitDialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="updateCause">纭� 瀹�</el-button> + </span> + </el-dialog> + + <!--淇敼妗堜欢寮圭獥--> + <el-dialog title="淇敼妗堜欢" :visible.sync="updateAduitDialogVisible" width="50%" :before-close="updateAduitClose"> + <el-row :gutter="15"> + <el-form ref="addAduitForm" :model="updataCauseForm" :rules="rules" size="medium" label-width="100px"> + <el-col :span="18"> + <el-form-item label="妗堜欢缂栧彿 " prop="number"> + <el-input v-model="updataCauseForm.number" clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="妗堜欢鍚嶇О" prop="name"> + <el-input v-model="updataCauseForm.name" clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="鏈�鍙戞棭妗堟椂闂�" prop="firstTime"> + <el-date-picker v-model="updataCauseForm.firstTime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" + :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"> + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="妗堜欢鐘舵��" prop="status"> + <el-select v-model="updataCauseForm.status" clearable :style="{ width: '100%' }"> + <el-option v-for="item in causeOptions" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="璐熻矗浜�" prop="userId"> + <el-select v-model="updataCauseForm.userName" clearable :style="{ width: '100%' }"> + <el-option v-for="item in user" :key="item.userId" :label="item.userName" :value="item.userId" + :disabled="item.disabled"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="妗堜欢鎻忚堪" prop="description"> + <el-input v-model="updataCauseForm.description" clearable :style="{ width: '100%', height: '50%' }"> + </el-input> + </el-form-item> + </el-col> + </el-form> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-button @click="updateAduitDialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="updateCause">纭� 瀹�</el-button> + </span> + </el-dialog> + + + <!--妗堜欢浜哄憳寮圭獥--> + <el-dialog title="鎶ユ浜哄憳" :visible.sync="reporterVisible" width="50%" :before-close="updateAduitClose"> + <el-row :gutter="15"> + <el-form ref="addAduitForm" :model="updataCauseForm" :rules="rules" size="medium" label-width="100px"> + <el-col :span="18"> + <el-form-item label="妗堜欢缂栧彿 " prop="number"> + <el-input v-model="updataCauseForm.number" clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="妗堜欢鍚嶇О" prop="name"> + <el-input v-model="updataCauseForm.name" clearable :style="{ width: '100%' }"> + </el-input> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="鏈�鍙戞棭妗堟椂闂�" prop="firstTime"> + <el-date-picker v-model="updataCauseForm.firstTime" type="datetime" placeholder="閫夋嫨鏃ユ湡鏃堕棿" + :style="{ width: '100%' }" value-format="yyyy-MM-dd HH:mm:ss"> + </el-date-picker> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="妗堜欢鐘舵��" prop="status"> + <el-select v-model="updataCauseForm.status" clearable :style="{ width: '100%' }"> + <el-option v-for="item in causeOptions" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="璐熻矗浜�" prop="userId"> + <el-select v-model="updataCauseForm.userName" clearable :style="{ width: '100%' }"> + <el-option v-for="item in user" :key="item.userId" :label="item.userName" :value="item.userId" + :disabled="item.disabled"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="18"> + <el-form-item label="妗堜欢鎻忚堪" prop="description"> + <el-input v-model="updataCauseForm.description" clearable :style="{ width: '100%', height: '50%' }"> + </el-input> + </el-form-item> + </el-col> + </el-form> + </el-row> + <span slot="footer" class="dialog-footer"> + <el-button @click="updateAduitDialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="updateCause">纭� 瀹�</el-button> + </span> + </el-dialog> </div> </template> <script> import { casueList, - remove + remove, + user, + //saveSubject } from '@/api/cause' export default { name: "Entry", data() { return { - causeOptions: [], - auditFrom: { - reporterName: '', - mobile: '', - idcard: '', - cheatTime: '', - amountInvolved: '', - reportDescription: '', - information: '', - reportMaterials: "", - causeId: '', - fileList: [], - tmpTime: '', + causeForm: { + name: '', + number: '', + firstTime: '', + userId: '', + status: '', + description: '', + }, + updataCauseForm: { + id: '', + name: '', + number: '', + firstTime: '', + userName: '', + status: '', + userId: '', + description: '', }, casueList: [], queryInfo: { @@ -162,6 +316,8 @@ current: 1, size: 10 }, + user: [], + updateUser: [], options: [ { value: null, @@ -185,11 +341,35 @@ }, { value: '4', + label: '宸叉挙妗�' + } + ], + causeOptions: [ + { + value: '0', + label: '鏈鏍�' + }, + { + value: '1', + label: '涓嶄簣绔嬫' + }, + { + value: '2', + label: '鍙楃悊涓�' + }, + { + value: '3', label: '宸茬粨妗�' + }, + { + value: '4', + label: '宸叉挙妗�' } ], total: 0, addAduitDialogVisible: false, + updateAduitDialogVisible: false, + reporterVisible:false, rules: { reporterName: [{ required: true, @@ -235,28 +415,126 @@ } }, created() { - this.init() + this.init(); + this.userList(); }, methods: { + updateCauseDialogVisible(row) { + this.updateAduitDialogVisible = true, + this.updataCauseForm = Object.assign({}, row); + if (this.updataCauseForm.status == 0) { + this.updataCauseForm.status = '鏈鏍�'; + }; + if (this.updataCauseForm.status == 1) { + this.updataCauseForm.status = '涓嶄簣绔嬫'; + }; + if (this.updataCauseForm.status == 2) { + this.updataCauseForm.status = '鍙楃悊涓�'; + }; + if (this.updataCauseForm.status == 3) { + this.updataCauseForm.status = '宸茬粨妗�'; + }; + if (this.updataCauseForm.status == 4) { + this.updataCauseForm.status = '宸叉挙妗�'; + }; + } + , 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() - }) + updateAduitClose() { + this.updateAduitDialogVisible = false + }, + async createCause() { + let form = null; + form = this.causeForm; + const data = form; + this.$http.post('/api/cause/addCause', + data + ).then(res => { + if (res.data.code == 200) { + this.$message({ + type: "success", + message: "娣诲姞鎴愬姛" + }); + this.addAduitDialogVisible = false; + this.getList(); + } else { + this.$message({ + type: "error", + message: "琛ㄥ崟涓嶈兘涓虹┖" + }) + } }) }, + + userList() { + user().then( + res => this.user = res + ) + }, + async updateCause() { + let form = null; + form = this.updataCauseForm; + const data = form; + //saveSubject(params); + data.userId = data.userName; + for (let key in this.user) { + if (data.userId == this.user[key].userName) { + data.userId = this.user[key].userId; + } + } + if (data.status == '鏈鏍�') { + data.status = 0; + } + if (data.status == '涓嶄簣绔嬫') { + data.status = 1; + } + if (data.status == '鍙楃悊涓�') { + data.status = 2; + } + if (data.status == '宸茬粨妗�') { + data.status = 3; + } + if (data.status == '宸叉挙妗�') { + data.status = 4; + } + this.$http.put('/api/cause/updateCause?id=' + data.id, + data + ).then(res => { + if (res.data.code == 200) { + this.$message({ + type: "success", + message: "淇敼鎴愬姛" + }); + if (this.updataCauseForm.status == 0) { + this.updataCauseForm.status = '鏈鏍�'; + }; + if (this.updataCauseForm.status == 1) { + this.updataCauseForm.status = '涓嶄簣绔嬫'; + }; + if (this.updataCauseForm.status == 2) { + this.updataCauseForm.status = '鍙楃悊涓�'; + }; + if (this.updataCauseForm.status == 3) { + this.updataCauseForm.status = '宸茬粨妗�'; + }; + if (this.updataCauseForm.status == 4) { + this.updataCauseForm.status = '宸叉挙妗�'; + }; + this.updateAduitDialogVisible = false; + // location.reload(); + this.getList(); + } else { + this.$message({ + type: "error", + message: "琛ㄥ崟涓嶈兘涓虹┖" + }) + } + }) + + }, respond(res) { if (res.code == 200) { this.$message({ -- Gitblit v1.8.0