jtoms 4 tahun lalu
induk
melakukan
7198ecc8f1

+ 92 - 0
src/views/statistics/popularFeelings/DialogForm.vue

@@ -0,0 +1,92 @@
+<template>
+  <el-dialog
+    v-if="visible"
+    :title="form.id?'编辑舆情监控':'新建舆情监控'"
+    :visible.sync="visible"
+    width="800px"
+  >
+    <el-form v-loading="isLoading" :model="form" label-width="100px" label-position="top">
+      <el-row :gutter="24">
+        <el-col :span="12">
+          <el-form-item label="标题">
+            <el-input v-model="form.title"/>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row :gutter="24">
+        <el-col :span="12">
+          <el-form-item label="监控词">
+            <el-input v-model="form.keywords"/>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="监控网站">
+            <el-input v-model="form.siteUrl"/>
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+    <div slot="footer" class="dialog-footer">
+      <el-button @click="visible = false">取 消</el-button>
+      <el-button type="primary" @click="handleSubmit">确 定</el-button>
+    </div>
+  </el-dialog>
+</template>
+
+<script>
+
+import { save, updateById } from '@/api/statistics/popular_feelings'
+
+export default {
+  components: {},
+  data() {
+    return {
+      visible: false,
+      isLoading: false,
+      form: {},
+      fileList: []
+    }
+  },
+  mounted() {
+  },
+  methods: {
+    open(data) {
+      this.visible = true
+      this.isLoading = false
+      this.fileList = []
+      this.form = {}
+      console.log(data)
+      if (data.litpics) {
+        data.litpics.forEach(o => {
+          this.fileList.push({ url: o })
+        })
+      }
+      this.form = Object.assign({}, data)
+    },
+    handleSubmit() {
+      const litpics = []
+      this.fileList.forEach(o => {
+        litpics.push(o.url)
+      })
+      this.isLoading = true
+      const param = { ...this.form, 'litpics': litpics }
+      console.log(param)
+      if (this.form.id) {
+        updateById(this.form.id, param).then(() => {
+          this.visible = false
+          this.$emit('ok')
+        }).finally(() => {
+          this.isLoading = false
+        })
+      } else {
+        save(param).then(res => {
+          this.visible = false
+          this.$emit('ok')
+        }).finally(() => {
+          this.isLoading = false
+        })
+      }
+    }
+  }
+}
+</script>

+ 29 - 21
src/views/statistics/popularFeelings/index.vue

@@ -2,24 +2,20 @@
   <div class="app-container">
   <div class="app-container">
 
 
     <el-form :model="queryForm" inline size="small">
     <el-form :model="queryForm" inline size="small">
-      <el-form-item label="文件名">
-        <el-input v-model="queryForm.originalFileName" placeholder="文件名" />
+      <el-form-item label="标题">
+        <el-input v-model="queryForm.title" placeholder="标题"/>
       </el-form-item>
       </el-form-item>
-      <el-form-item label="上传时间">
-        <el-date-picker
-          v-model="queryForm.createdTime"
-          type="daterange"
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          value-format="yyyy-MM-dd"
-        />
+      <el-form-item label="监控词">
+        <el-input v-model="queryForm.keywords" placeholder="监控词"/>
+      </el-form-item>
+      <el-form-item label="监控网站">
+        <el-input v-model="queryForm.siteUrl" placeholder="监控网站"/>
       </el-form-item>
       </el-form-item>
     </el-form>
     </el-form>
     <el-row class="action-bar-container" type="flex" justify="end">
     <el-row class="action-bar-container" type="flex" justify="end">
       <el-button type="primary" size="small" @click.native="fetchData">查询</el-button>
       <el-button type="primary" size="small" @click.native="fetchData">查询</el-button>
       <el-button-group>
       <el-button-group>
-        <el-button v-permission="['popular.feelings.add']" size="small" @click.native="deleteByIds(multipleSelection)">
+        <el-button v-permission="['popular.feelings.add']" size="small" @click.native="$refs.dialogForm.open({})">
           添加
           添加
         </el-button>
         </el-button>
         <el-button v-permission="['popular.feelings.delete']" size="small" @click.native="deleteByIds(multipleSelection)">
         <el-button v-permission="['popular.feelings.delete']" size="small" @click.native="deleteByIds(multipleSelection)">
@@ -35,14 +31,24 @@
       highlight-current-row
       highlight-current-row
       @selection-change="selectionChange"
       @selection-change="selectionChange"
     >
     >
-      <el-table-column type="selection" width="55" />
-      <el-table-column label="ID" prop="id" width="150" />
-      <el-table-column label="文件名" prop="originalFileName" width="300" />
-      <el-table-column label="地址" prop="src" />
-      <el-table-column label="大小" prop="size" width="150" />
-      <el-table-column label="类型" prop="mimeType" width="150" />
-      <el-table-column label="扩展名" prop="extension" width="150" />
-      <el-table-column label="上传时间" prop="createdTime" :formatter="dateTimeFormatter" width="200" />
+      <el-table-column type="selection" width="55"/>
+      <el-table-column label="ID" prop="id" width="150"/>
+      <el-table-column label="标题" prop="title" width="300"/>
+      <el-table-column label="关键词" prop="keywords" width="300"/>
+      <el-table-column label="监控网站" prop="siteUrl"/>
+      <el-table-column label="操作" width="70" fixed="right">
+        <template slot-scope="scope">
+          <el-dropdown>
+            <el-button type="text">
+              操作<i class="el-icon-arrow-down el-icon--right"/>
+            </el-button>
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item v-permission="['popular.feelings.edit']" type="text" @click.native="$refs.dialogForm.open(scope.row)">编辑</el-dropdown-item>
+              <el-dropdown-item v-permission="['popular.feelings.delete']" @click.native="deleteByIds([scope.row.id])"> 删除</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+        </template>
+      </el-table-column>
     </el-table>
     </el-table>
     <el-pagination
     <el-pagination
       class="pagination-container"
       class="pagination-container"
@@ -52,15 +58,17 @@
       :page-size="pageData.pageSize"
       :page-size="pageData.pageSize"
       @current-change="paginationChange"
       @current-change="paginationChange"
     />
     />
+    <dialog-form ref="dialogForm" @ok="fetchData"/>
   </div>
   </div>
 </template>
 </template>
 
 
 <script>
 <script>
 import { deleteByIds, findPage } from '@/api/statistics/popular_feelings'
 import { deleteByIds, findPage } from '@/api/statistics/popular_feelings'
 import { dateTimeFormatter } from '@/utils/formater'
 import { dateTimeFormatter } from '@/utils/formater'
+import DialogForm from './DialogForm'
 
 
 export default {
 export default {
-  name: 'StatisticsComplaint',
+  components: { DialogForm },
   data() {
   data() {
     return {
     return {
       queryForm: {},
       queryForm: {},