From ddfc75ed45d427bb8b407133b5e2bde0e6ec581a Mon Sep 17 00:00:00 2001
From: 明梦爽 <2972214568@qq.com>
Date: 星期六, 22 一月 2022 16:22:45 +0800
Subject: [PATCH] 新闻查询功能完毕

---
 src/components/Administrator/Main.vue |  207 +++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 173 insertions(+), 34 deletions(-)

diff --git a/src/components/Administrator/Main.vue b/src/components/Administrator/Main.vue
index 1db10c7..16ed775 100644
--- a/src/components/Administrator/Main.vue
+++ b/src/components/Administrator/Main.vue
@@ -1,5 +1,6 @@
 <template>
   <div>
+    <!-- 绾ц仈閫夋嫨鍣� -->
      <div class="block">
       <el-cascader
         v-model="value"
@@ -11,7 +12,19 @@
     </div>
     <div>
       <el-card class="box-card">
-        <el-button class="add" type="success" icon="el-icon-plus" @click="goEdit()">鐐瑰嚮鍦ㄨ鍒楄〃涓嬫坊鍔犱竴鏉℃柊闂�</el-button>
+        <el-row :gutter="40">
+          <el-col :span="4">
+            <!-- 娣诲姞鏂伴椈鎸夐挳 -->
+            <el-button el-button class="add" type="success" icon="el-icon-plus" @click="goEdit()">鐐瑰嚮鍦ㄨ鍒楄〃涓嬫坊鍔犱竴鏉℃柊闂�</el-button>
+          </el-col>
+          <el-col :span="10">
+            <!-- 鏂伴椈鎼滅储 -->
+            <el-input clearable @clear="qingKong()" placeholder="璇疯緭鍏ユ墍瑕佹煡璇㈢殑鏂伴椈鏍囬" v-model="fuzzyForm.fuzzytitle" class="input-with-select">
+              <el-button class="btn" slot="append" icon="el-icon-search" @click="fuzzyList(fuzzyForm.fuzzytitle)"></el-button>
+            </el-input>
+          </el-col>
+        </el-row>
+        <!-- 鏂伴椈琛ㄦ牸鍖哄煙 -->
         <el-table :data="tableData" border style="width: 100%" :header-cell-style="{textAlign: 'center'}" :cell-style="{ textAlign: 'center' }"
         >
           <!-- :header-cell-style="{textAlign: 'center'}"璁剧疆澶撮儴灞呬腑锛� -->
@@ -30,23 +43,16 @@
               <!-- {{ scope.row.id }} -->
               <div>
                 <el-button type="success" @click="look(scope.row.id)">鏌ョ湅</el-button>
-                <el-button type="warning" @click="amend(scope.row.id)">淇敼</el-button>&nbsp
-                <el-popconfirm
-                  confirm-button-text='鏄殑'
-                  cancel-button-text='鍙栨秷'
-                  icon="el-icon-info"
-                  icon-color="red"
-                  title="纭畾鍒犻櫎璇ユ潯鏂伴椈锛�"
-                >
-                  <el-button slot="reference">鍒犻櫎</el-button>
-                </el-popconfirm>
+                <el-button type="warning" @click="showEditDialog(scope.row.id)">淇敼</el-button>
+                <el-button type="info" @click="deleteNews(scope.row.id)">鍒犻櫎</el-button>
               </div>
             </template>
             
           </el-table-column>
         </el-table>
-        <!-- 鍒嗛〉 -->
-          <div>
+        <div class="fenye">
+          <!-- 鑾峰彇鏂伴椈鍒楄〃鍒嗛〉 -->
+          <div class="get">
             <el-pagination
               @size-change="handleSizeChange"
               @current-change="handleCurrentChange"
@@ -57,24 +63,62 @@
               :total="total">
             </el-pagination>
           </div>
+          <!-- 妯$硦鏂伴椈鍒楄〃鍒嗛〉 -->
+          <div class="fuzzy">
+            <el-pagination
+              @size-change="handleSizeChangefuzzy"
+              @current-change="handleCurrentChangefuzzy"
+              :current-page="fuzzyForm.fuzzycurrent"
+              :page-sizes="[6,12, 18,]"
+              :page-size="100"
+              layout="total, sizes, prev, pager, next, jumper"
+              :total="fuzzyForm.fuzzytotal">
+            </el-pagination>
+          </div>
+        </div>
       </el-card>
+      <!-- 淇敼鏂伴椈鐨勫璇濇 -->
+      <el-dialog
+        title="淇敼鏂伴椈"
+        :visible.sync="editDialogVisible"
+        width="50%"
+        :before-close="handleClose">
+        <!-- rules琛ㄥ崟楠岃瘉瑙勫垯锛宺ef褰撳墠琛ㄥ崟鐨勯獙璇佸璞� -->
+        <el-form ref="editFormRef" :model="editForm"  label-width="80px" status-icon>
+          <el-form-item label="id:">
+            <el-input v-model="editForm.id" disabled></el-input>
+          </el-form-item>
+          <el-form-item label="鏂伴椈鏍囬:">
+            <el-input v-model="editForm.title"></el-input>
+          </el-form-item>
+          <el-form-item label="鍙戝竷鏃ユ湡:">
+            <el-input v-model="editForm.releaseTime"></el-input>
+          </el-form-item>
+        </el-form>
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="editDialogVisible = false">鍙� 娑�</el-button>
+          <el-button type="primary" @click="editNew()">纭� 瀹�</el-button>
+        </span>
+      </el-dialog>
     </div>
   </div>
 </template>
 
 <script>
-import { getNewsList } from '../../api/api'
+import { getNewsList,getnew,update,deleteNew,fuzzy } from '../../api/api'
 import axios from 'axios'
 export default {
   data() {
     return {
       visible: false,
+      editDialogVisible:false,  //鎺у埗淇敼瀵硅瘽妗嗙殑甯冨皵鍊�
+      editForm:{},  //鏌ヨ鍒扮殑鏂伴椈瀵硅薄锛岀洰鍓嶄粎渚涗慨鏀逛娇鐢�
       newsCategoryId:1, //鍏堝瓨涓�涓皬鏍囬id
       tableData:[],   //鏂伴椈鍒楄〃瀵硅薄
-      pageSize:6,     //姣忛〉鏉℃暟
+      pageSize:3,     //姣忛〉鏉℃暟
       currentPage:1,  //褰撳墠椤�
-      newsList:[],
       total:0,        //鏂伴椈鎬绘潯鏁�
+      fuzzyForm:{ fuzzytitle:'',fuzzytotal:0,fuzzycurrent:1,fuzzysize:6 },  //妯$硦鏌ヨ鍒楄〃瀵硅薄
       value: [],
       options: [{
         value: 1,
@@ -162,26 +206,21 @@
   mounted(){
   },
   methods: {
+    //淇敼瀵硅瘽妗嗗叧闂殑鏂规硶
+    handleClose(done) {
+      this.$confirm('纭鍏抽棴锛�')
+        .then(_ => {
+          done();
+        })
+        .catch(_ => {});
+    },
+    //绾ц仈閫夋嫨鍣ㄧ殑鏂规硶
     handleChange(value) {
       console.log(value);
       console.log(value[1]);
       this.newsCategoryId = value[1]; //灏嗗緱鍒扮殑灏忔爣棰榠d瀛樻斁璧锋潵
       this.query(this.newsCategoryId);
     },
-    // query(value){
-    //   const data = {
-    //     current:this.currentPage,
-    //     newsCategoryId:value[1],
-    //     size:this.pageSize
-    //   };
-    //   getNewsList(data).then(res=>{
-    //     console.log(res);
-    //     this.tableData = res.data.records
-    //     this.total = res.data.total
-    //   }).catch(err => {
-    //     console.log(err);
-    //   })
-    // },
     query(newsCategoryId){
       const data = {
         current:this.currentPage,
@@ -200,10 +239,98 @@
         console.log(err);
       })
     },
-    //淇敼
-    amend(id){
-      alert('鐖变綘鍛�');
-      console.log('>>>'+id);
+    //灞曠ず淇敼瀵硅瘽妗�
+    showEditDialog(id){
+      getnew(id).then(res => {
+        console.log(res);
+        if (res.code == 200) {
+          this.editForm = res.data
+        }     
+      })
+      this.editDialogVisible = true;
+    },
+    //纭畾淇敼琛ㄥ崟鎻愪氦锛岄獙璇佸彂璧疯姹�
+    editNew(){
+      // console.log(typeof(this.editForm.releaseTime)); 
+      // console.log(this.editForm.releaseTime);
+      let arr = this.editForm.releaseTime.split('')
+      if(arr[4] !== '/' || arr[7] !== '/'){
+        return this.$message.error('璇锋寜鐓р�淴XXX/XX/XX鈥濈殑鏍煎紡濉啓鏃ユ湡')
+      }else{
+        const data = {
+          id: this.editForm.id,
+          releaseTime: this.editForm.releaseTime,
+          title:this.editForm.title
+        }
+        update(data).then(res=>{
+          console.log('dsadasas'+res);
+          if (res.code == 200) {
+            this.editDialogVisible =false;
+            this.$message.success('淇敼鏂伴椈鎴愬姛锛�')
+            this.query(this.newsCategoryId);
+          }
+        })
+      }
+    },
+    //妯$硦鏌ヨ
+    fuzzyList(title){
+      console.log(title);
+      if(title == ''){
+        return  this.$message.error('璇峰厛杈撳叆鏌ヨ鏂伴椈鏍囬锛�')
+      }
+      const data = {
+        current: this.fuzzyForm.fuzzycurrent,
+        size: this.fuzzyForm.fuzzysize,
+        title:title
+      }
+      fuzzy(data).then(res => {
+        console.log(res);
+        if (res.code !== 200) {
+          return this.$message.error('鏌ヨ鏂伴椈鍒楄〃澶辫触')
+        }else{
+          this.tableData = res.data.records
+          this.fuzzyForm.fuzzytotal = res.data.total
+        }
+      }).catch(err => {
+        console.log(err);
+      })
+    },
+    //娓呯┖鏌ヨ鍒楄〃鍐呭
+    qingKong(){
+      this.tableData = []
+      this.fuzzyForm.fuzzytotal = 0
+    },
+    //鏍规嵁id鍒犻櫎鏂伴椈
+    async deleteNews(id){
+      console.log(id);
+      const res = await this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ユ潯鏂伴椈, 鏄惁缁х画?', '鎻愮ず', {
+        confirmButtonText: '纭畾',
+        cancelButtonText: '鍙栨秷',
+        type: 'warning'
+      }).catch(err => {
+        return err
+      })
+      //濡傛灉鐢ㄦ埛鐐瑰嚮纭畾鍒欒繑鍥瀋onfirm
+      //濡傛灉鐢ㄦ埛鐐瑰嚮鍙栨秷鍒欒繑鍥瀋ancel
+      console.log(res);
+      if(res !== 'confirm'){
+        return this.$message.info('宸插彇娑堝垹闄')
+      }else{
+        console.log(id);
+        const data = {
+          id:id
+        }
+        //鍙傛暟data 瑕佷互瀵硅薄鐨勫舰寮忎紶鍏�
+        deleteNew(data).then(res => {
+          console.log('>>>'+res);
+          if(res.code == 200){
+            this.$message.success('鍒犻櫎鏂伴椈鎴愬姛锛�')
+            this.query(this.newsCategoryId);
+          }else{
+            return this.$message.error('鍒犻櫎鏂伴椈澶辫触锛�')
+          }
+        })
+      }
     },
     //鏌ョ湅
     look(id){
@@ -218,6 +345,14 @@
       // console.log(`姣忛〉 ${val} 鏉);
       this.pageSize = val;
       this.query(this.newsCategoryId)
+    },
+    handleCurrentChangefuzzy(val){
+      this.fuzzyForm.fuzzycurrent = val
+      this.fuzzyList(this.fuzzyForm.fuzzytitle) //妯$硦鏌ヨ
+    },
+    handleSizeChangefuzzy(val){
+      this.fuzzyForm.fuzzysize = val
+      this.fuzzyList(this.fuzzyForm.fuzzytitle) //妯$硦鏌ヨ
     },
     //鍘诲線娣诲姞缂栬緫椤甸潰
     goEdit(){
@@ -244,4 +379,8 @@
 .el-pagination{
   margin-top: 10px;
 }
+.fenye{
+  display: flex;
+  justify-content: space-between;
+}
 </style>
\ No newline at end of file

--
Gitblit v1.8.0