From 27d35a9f1355e4a56aa1e8c1aad9c7f58002ed50 Mon Sep 17 00:00:00 2001
From: 明梦爽 <2972214568@qq.com>
Date: 星期三, 10 八月 2022 17:52:13 +0800
Subject: [PATCH] 修改login

---
 src/components/Administrator/Main.vue |  516 +++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 352 insertions(+), 164 deletions(-)

diff --git a/src/components/Administrator/Main.vue b/src/components/Administrator/Main.vue
index 1db10c7..0bb262b 100644
--- a/src/components/Administrator/Main.vue
+++ b/src/components/Administrator/Main.vue
@@ -1,247 +1,435 @@
 <template>
   <div>
-     <div class="block">
-      <el-cascader
-        v-model="value"
-        :options="options"
-        clearable
-        filterable
-        @change="handleChange">
-      </el-cascader>
-    </div>
+    <!-- 绾ц仈閫夋嫨鍣� -->
+    <el-row class="block">
+      <el-col :span="4">
+        <el-cascader v-model="value" :options="options" clearable filterable :getCheckedNodes="true" @change="handleChange"> </el-cascader>
+      </el-col>
+    </el-row>
     <div>
       <el-card class="box-card">
-        <el-button class="add" type="success" icon="el-icon-plus" @click="goEdit()">鐐瑰嚮鍦ㄨ鍒楄〃涓嬫坊鍔犱竴鏉℃柊闂�</el-button>
-        <el-table :data="tableData" border style="width: 100%" :header-cell-style="{textAlign: 'center'}" :cell-style="{ textAlign: 'center' }"
+        <el-row :gutter="40">
+          <el-col :span="4">
+            <!-- 娣诲姞鏂伴椈鎸夐挳 -->
+            <el-button el-button class="add" type="success" icon="el-icon-plus" @click="goEdit(newsCategoryId)">鐐瑰嚮鍦ㄨ鍒楄〃涓嬫坊鍔犱竴鏉℃柊闂�</el-button>
+          </el-col>
+          <el-col :span="10">
+            <!-- 鏂伴椈鎼滅储 -->
+            <el-input clearable placeholder="璇疯緭鍏ユ墍瑕佹煡璇㈢殑鏂伴椈鏍囬" v-model="search" class="input-with-select"> </el-input>
+          </el-col>
+        </el-row>
+        <!-- 鏂伴椈琛ㄦ牸鍖哄煙 -->
+        <el-table
+          :data="tableData.filter(data => !search || data.title.toLowerCase().includes(search.toLowerCase()))"
+          border
+          style="width: 100%"
+          :header-cell-style="{ textAlign: 'center' }"
+          :cell-style="{ textAlign: 'center' }"
         >
-          <!-- :header-cell-style="{textAlign: 'center'}"璁剧疆澶撮儴灞呬腑锛� -->
-          <!-- :cell-style="{ textAlign: 'center' }"璁剧疆鏁翠釜琛ㄦ牸鍐呭姘村钩灞呬腑锛� -->
-          <!-- 闂锛氭�庝箞鑾峰彇鏁扮粍涓瘡涓璞$殑key鍊硷紙姣忔潯鏂伴椈鐨刬d锛�?
-               瑙e喅锛氶�氳繃浣滅敤鍩熸彃妲� slot-scope 鑾峰彇姣忎釜瀵硅薄 -->
-          <el-table-column type="index"></el-table-column>
-          <el-table-column prop="releaseTime" label="鏃ユ湡" width="" >
+          <el-table-column type="index" label="搴忓彿" width="50">
+            <template slot-scope="scope">
+              <span>{{ (currentPage - 1) * pageSize + scope.$index + 1 }}</span>
+            </template>
           </el-table-column>
-          <el-table-column prop="title" label="鏂伴椈鏍囬" width="">
-          </el-table-column>
-          <el-table-column prop="id" label="id" width="">
-          </el-table-column>
+          <el-table-column prop="releaseTime" label="鏃ユ湡" width=""> </el-table-column>
+          <el-table-column prop="title" label="鏂伴椈鏍囬" width=""> </el-table-column>
+          <el-table-column prop="id" label="id" width=""> </el-table-column>
           <el-table-column label="鎿嶄綔" width="">
             <template slot-scope="scope">
               <!-- {{ 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>
             <el-pagination
               @size-change="handleSizeChange"
               @current-change="handleCurrentChange"
               :current-page="currentPage"
-              :page-sizes="[3,6,12, 18,]"
+              :page-sizes="[6, 12, 18]"
               :page-size="100"
               layout="total, sizes, prev, pager, next, jumper"
-              :total="total">
+              :total="total"
+            >
             </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-date-picker v-model="editForm.releaseTime" type="date" placeholder="璇烽�夋嫨鍙戝竷鏃ユ湡" format="yyyy 骞� MM 鏈� dd 鏃�" value-format="yyyy-MM-dd"></el-date-picker>
+          </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 axios from 'axios'
+import { getNewsList, getnew, update, deleteNew, fuzzy } from '../../api/api'
 export default {
   data() {
     return {
+      search: '',
+      getShow: true, //鑾峰彇鍒嗛〉鐨勬樉绀�(甯冨皵鍊�)
+      gettable: true, //鑾峰彇琛ㄦ牸鐨勬樉绀�
       visible: false,
-      newsCategoryId:1, //鍏堝瓨涓�涓皬鏍囬id
-      tableData:[],   //鏂伴椈鍒楄〃瀵硅薄
-      pageSize:6,     //姣忛〉鏉℃暟
-      currentPage:1,  //褰撳墠椤�
-      newsList:[],
-      total:0,        //鏂伴椈鎬绘潯鏁�
+      editDialogVisible: false, //鎺у埗淇敼瀵硅瘽妗嗙殑甯冨皵鍊�
+      AdDialogVisible: false, //瓒呯鐧诲綍瀵硅瘽妗�
+      Ad: { username: '', password: '' }, //瓒呯瀵硅薄
+      editForm: {}, //鏌ヨ鍒扮殑鏂伴椈瀵硅薄锛岀洰鍓嶄粎渚涗慨鏀逛娇鐢�
+      newsCategoryId: 1, //鍏堝瓨涓�涓皬鏍囬id
+      tableData: [], //鏂伴椈鍒楄〃瀵硅薄
+      fuzzytableData: [], //妯$硦鏌ヨ鍒楄〃瀵硅薄
+      pageSize: 6, //姣忛〉鏉℃暟
+      currentPage: 1, //褰撳墠椤�
+      total: 0, //鏂伴椈鎬绘潯鏁�
+      fuzzyShow: false, //妯$硦鏌ヨ鍒嗛〉鐨勬樉绀�(甯冨皵鍊�)
+      fuzzytable: false, //妯$硦鏌ヨ琛ㄦ牸鐨勬樉绀�
+      fuzzyForm: { fuzzytitle: '', fuzzytotal: 0, fuzzycurrent: 1, fuzzysize: 6 }, //妯$硦鏌ヨ鍒楄〃瀵硅薄
       value: [],
-      options: [{
-        value: 1,
-        label: '棣栭〉',
-        children: [{
-          value:42,
-          label: '閫氱煡鍏憡',
-        }, 
+      options: [
         {
-          value:43,
-          label: '宸ヤ綔鍔ㄦ��',
+          value: 1,
+          label: '棣栭〉',
+          children: [
+            {
+              value: 42,
+              label: '閫氱煡鍏憡'
+            },
+            {
+              value: 43,
+              label: '宸ヤ綔鍔ㄦ��'
+            },
+            {
+              value: 44,
+              label: '瀛﹂櫌鍔ㄦ��'
+            },
+            {
+              value: 45,
+              label: '杞挱鍥�'
+            }
+          ]
         },
         {
-          value:44,
-          label: '瀛﹂櫌鍔ㄦ��',
-        }],
-      },{
           value: 22,
           label: '绉戝崗姒傚喌',
-          children: [{
-            value:27,
-            label: '绠�浠�',
-          }, 
-          {
-            value:28,
-            label: '绔犵▼',
-          },
-          {
-            value:29,
-            label: '缁勭粐缁撴瀯',
-          },
-          {
-            value:30,
-            label: '宸ヤ綔鑱岃矗',
-          },
-          {
-            value:31,
-            label: '涓撹亴浜哄憳',
-          }],
+          children: [
+            {
+              value: 27,
+              label: '绠�浠�'
+            },
+            {
+              value: 28,
+              label: '绔犵▼'
+            },
+            {
+              value: 29,
+              label: '缁勭粐缁撴瀯'
+            },
+            {
+              value: 30,
+              label: '宸ヤ綔鑱岃矗'
+            },
+            {
+              value: 31,
+              label: '涓撹亴浜哄憳'
+            }
+          ]
         },
         {
           value: 23,
           label: '鏀跨瓥娉曡',
-          children: [{
-            value:35,
-            label: '涓浗绉戝崗鏀跨瓥鏂囦欢',
-          }, 
-          {
-            value:36,
-            label: '鍦版柟绉戝崗鏀跨瓥鏂囦欢',
-          },
-          {
-            value:37,
-            label: '绀惧洟绠$悊鏂囦欢',
-          }],
+          children: [
+            {
+              value: 35,
+              label: '涓浗绉戝崗鏀跨瓥鏂囦欢'
+            },
+            {
+              value: 36,
+              label: '鍦版柟绉戝崗鏀跨瓥鏂囦欢'
+            },
+            {
+              value: 37,
+              label: '绀惧洟绠$悊鏂囦欢'
+            }
+          ]
         },
         {
           value: 25,
           label: '瀛︽湳浜ゆ祦',
-          children: [{
-            value:38,
-            label: '瀛︽湳淇℃伅',
-          }, 
-          {
-            value:39,
-            label: '绉戞妧绔炶禌',
-          }],
+          children: [
+            {
+              value: 38,
+              label: '瀛︽湳淇℃伅'
+            },
+            {
+              value: 39,
+              label: '绉戞妧绔炶禌'
+            }
+          ]
         },
         {
           value: 27,
           label: '绉戞櫘椋庨噰',
-          children: [{
-            value:40,
-            label: '骞抽《灞卞闄㈢鏅椿鍔�',
-          }, 
-          {
-            value:41,
-            label: '骞抽《灞卞競鏀垮崗绉戞櫘娲诲姩',
-          }],
-      }]
+          children: [
+            {
+              value: 40,
+              label: '骞抽《灞卞闄㈢鏅椿鍔�'
+            },
+            {
+              value: 41,
+              label: '骞抽《灞卞競鏀垮崗绉戞櫘娲诲姩'
+            }
+          ]
+        }
+      ]
     }
   },
-  created(){
-  },
-  mounted(){
-  },
+  created() {},
+  mounted() {},
   methods: {
-    handleChange(value) {
-      console.log(value);
-      console.log(value[1]);
-      this.newsCategoryId = value[1]; //灏嗗緱鍒扮殑灏忔爣棰榠d瀛樻斁璧锋潵
-      this.query(this.newsCategoryId);
+    //淇敼瀵硅瘽妗嗗叧闂殑鏂规硶
+    handleClose(done) {
+      this.$confirm('纭鍏抽棴锛�')
+        .then(_ => {
+          done()
+        })
+        .catch(_ => {})
     },
-    // 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){
+    //绾ц仈閫夋嫨鍣ㄧ殑鏂规硶
+    handleChange(value) {
+      // console.log(value);
+      // console.log(value[1]);
+      this.currentPage = 1
+      this.newsCategoryId = value[1] //灏嗗緱鍒扮殑灏忔爣棰榠d瀛樻斁璧锋潵
+      this.query(this.newsCategoryId)
+    },
+    query(newsCategoryId) {
       const data = {
-        current:this.currentPage,
-        newsCategoryId:newsCategoryId,
-        size:this.pageSize
-      };
-      getNewsList(data).then(res=>{
-        console.log(res);
-        if (res.code !== 200) {
-          return this.$message.error('鑾峰彇鏂伴椈鍒楄〃澶辫触')
-        }else{
-          this.tableData = res.data.records
-          this.total = res.data.total
+        current: this.currentPage,
+        newsCategoryId: newsCategoryId,
+        size: this.pageSize
+      }
+      getNewsList(data)
+        .then(res => {
+          // console.log(res);
+          if (res.code !== 200) {
+            return this.$message.error('鑾峰彇鏂伴椈鍒楄〃澶辫触')
+          } else {
+            this.tableData = res.data.records
+            this.total = res.data.total
+          }
+        })
+        .catch(err => {
+          console.log(err)
+        })
+    },
+    //灞曠ず淇敼瀵硅瘽妗�
+    showEditDialog(id) {
+      getnew(id).then(res => {
+        // console.log(res);
+        if (res.code == 200) {
+          this.editForm = res.data
         }
-      }).catch(err => {
-        console.log(err);
+      })
+      this.editDialogVisible = true
+    },
+    //纭畾淇敼琛ㄥ崟鎻愪氦锛岄獙璇佸彂璧疯姹�
+    editNew() {
+      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)
+        }
       })
     },
-    //淇敼
-    amend(id){
-      alert('鐖变綘鍛�');
-      console.log('>>>'+id);
+    //妯$硦鏌ヨ
+    fuzzyList(title) {
+      // console.log(title);
+      if (title == '') {
+        return this.$message.error('璇峰厛杈撳叆鏌ヨ鏂伴椈鏍囬锛�')
+      }
+      this.fuzzyShow = true //妯$硦鍒嗛〉鏄剧ず
+      this.getShow = false //鑾峰彇鍒嗛〉闅愯棌
+      this.gettable = false
+      this.fuzzytable = true
+      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.fuzzytableData = res.data.records
+            this.fuzzyForm.fuzzytotal = res.data.total
+          }
+        })
+        .catch(err => {
+          console.log(err)
+        })
+    },
+    //娓呯┖鏌ヨ鍒楄〃鍐呭
+    qingKong() {
+      this.tableData = []
+      this.fuzzytableData = []
+      this.fuzzyForm.fuzzytotal = 0
+      this.fuzzyShow = false
+      this.getShow = true
+      this.fuzzytable = false
+      this.gettable = true
+    },
+    //鏍规嵁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){
-      this.$router.push({path:'news',query:{id:id}})
+    look(id) {
+      this.$router.push({ path: 'news', query: { id: id } })
+    },
+    //瓒呯鐧诲綍瀵硅瘽妗�
+    showAdDialog() {
+      this.AdDialogVisible = true
     },
     handleCurrentChange(val) {
       // console.log(`褰撳墠椤�: ${val}`);
-      this.currentPage = val;
+      this.currentPage = val
       this.query(this.newsCategoryId)
     },
     handleSizeChange(val) {
       // console.log(`姣忛〉 ${val} 鏉);
-      this.pageSize = 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(){
-      if (this.newsCategoryId==27||this.newsCategoryId==28||this.newsCategoryId==29||
-      this.newsCategoryId==30||this.newsCategoryId==31) {
-        this.$message.error('璇ユ柊闂绘爣棰樹笅涓嶈兘娣诲姞鏂伴椈')
-      }else if(this.newsCategoryId == 35||this.newsCategoryId==36||this.newsCategoryId==37||
-      this.newsCategoryId==38||this.newsCategoryId==39||this.newsCategoryId==40||
-      this.newsCategoryId==41||this.newsCategoryId==42||this.newsCategoryId==43||
-      this.newsCategoryId==44){
-        this.$router.push('/administrator/edit')
-      }else{
+    goEdit(id) {
+      let title = ''
+      console.log(this.value)
+      if ((this.value.length = 2)) {
+        let t = this.value[0]
+        let i = this.value[1]
+        this.options.forEach(item => {
+          if (item.value == t) {
+            title += item.label + '/'
+            item.children.forEach(e => {
+              if (e.value == i) title += e.label
+            })
+          }
+        })
+      }
+      if (
+        (this.newsCategoryId == 27 && this.total == 1) ||
+        (this.newsCategoryId == 28 && this.total == 1) ||
+        (this.newsCategoryId == 29 && this.total == 1) ||
+        (this.newsCategoryId == 30 && this.total == 1) ||
+        (this.newsCategoryId == 31 && this.total == 1)
+      ) {
+        this.$message.error('璇ユ柊闂绘爣棰樹笅鍙兘瀛樺湪涓�绡囨柊闂�')
+      } else if (
+        this.newsCategoryId == 27 ||
+        this.newsCategoryId == 28 ||
+        this.newsCategoryId == 29 ||
+        this.newsCategoryId == 30 ||
+        this.newsCategoryId == 31 ||
+        this.newsCategoryId == 35 ||
+        this.newsCategoryId == 36 ||
+        this.newsCategoryId == 37 ||
+        this.newsCategoryId == 38 ||
+        this.newsCategoryId == 39 ||
+        this.newsCategoryId == 40 ||
+        this.newsCategoryId == 41 ||
+        this.newsCategoryId == 42 ||
+        this.newsCategoryId == 43 ||
+        this.newsCategoryId == 44
+      ) {
+        this.$router.push({ path: '/administrator/edit', query: { id: id, title: title } })
+        console.log(this.newsCategoryId)
+      } else if (this.newsCategoryId == 45) {
+        this.$router.push({ path: '/administrator/editlunbo', query: { id: id, title: title } })
+        // console.log(this.newsCategoryId);
+      } else {
         this.$message.error('璇峰厛閫夋嫨鏂伴椈鏍囬')
-      } 
+      }
     }
-  },
+  }
 }
 </script>
 
 <style lang="less">
-.add{
+.add {
   margin-bottom: 10px !important;
 }
-.el-pagination{
+.block {
+  margin-bottom: 10px;
+}
+.el-pagination {
   margin-top: 10px;
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.8.0