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