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