Browse Source

始宁农业管理后台:内容管理-通知管理

panyong 2 years ago
parent
commit
2b9b9ee61f

+ 43 - 50
htmldev/shiningManage/src/views/contentManage/news/details.vue

@@ -12,33 +12,50 @@
         :rules="formRules"
         label-width="120px">
         <el-form-item
-          prop="user_name"
+          prop="user_id"
           label="农户编号:">
           <el-input
-            v-model="form.user_name"
+            v-model="form.user_id"
             placeholder=""
             disabled
             clearable></el-input>
         </el-form-item>
         <el-form-item
-          prop="user_card"
+          prop="user_name"
           label="农户名字:">
           <el-input
-            v-model="form.user_card"
+            v-model="form.user_name"
             placeholder=""
             disabled
             clearable></el-input>
         </el-form-item>
         <el-form-item
-          prop="shop_name"
+          prop="track_content"
           label="发布内容:">
+          <el-input
+            type="textarea"
+            :rows="4"
+            placeholder=""
+            disabled
+            v-model="form.track_content">
+          </el-input>
         </el-form-item>
         <el-form-item
-          prop="user_card"
-          label="显示状态:">
+          prop="track_img_url"
+          label="发布图片:">
+
+        </el-form-item>
+        <el-form-item
+          label="互动消息:">
+
+        </el-form-item>
+        <el-form-item
+          prop="track_status"
+          :rules="formRules.select"
+          label="状态:">
           <el-select
             style="width: 100%;"
-            v-model="form.lunbo_status"
+            v-model="form.track_status"
             filterable
             clearable
             placeholder="请选择是否显示">
@@ -74,44 +91,35 @@ export default {
       default: function () {
         return {}
       }
+    },
+    arrHideAndShow: {
+      type: Array,
+      default: function () {
+        return []
+      }
     }
   },
   data() {
     return {
       dialog: !!this.value,
       form: {
-        // 'shop_id': '', // 店铺ID
-        'user_name': '', // 用户名称
-        'user_card': '', // 身份证
-        'shop_phone': '', // 手机号码
-        'shop_name': '', // 店铺名称
-        'shop_img_url': [], // 店铺图片
-        'country_msg': '', // 村信息
-        'user_wechat_code': '', // 微信号
-        'user_code_url': [], // 微信二维码
-        'shop_address': '', // 地址
-        'shop_remark': '' // 备注
+        'user_id': '',
+        'user_name': '', // todo 发布人姓名
+        'track_content': '',
+        'track_img_url': [],
+        'track_status': 1 // 状态(0隐藏1显示)
       },
-      shop_img_url: [],
-      user_code_url: [],
       booLock: false
     }
   },
-  computed: {
-    arrHideAndShow() {
-      return this.$store.state.common.arrHideAndShow
-    }
-  },
   methods: {
     handleSubmit() {
-      const url = this.exData.id ? '/api/admin/shop/modify' : ''
+      const url = this.exData.id ? '/api/admin/track/set/status' : ''
       this.$refs.form.validate(async valid => {
         if (valid) {
           const formData = JSON.parse(JSON.stringify(this.form))
           const postData = {
-            ...formData,
-            user_code_url: formData.user_code_url[0],
-            shop_img_url: formData.shop_img_url[0]
+            ...formData
           }
           this.booLock = true
           const data = await this.$fetch(url, postData)
@@ -127,31 +135,16 @@ export default {
   },
   mounted() {
     if (this.exData.id) {
-      this.$set(this.form, 'shop_id', this.exData.id)
-      this.shop_img_url = [
-        {
-          name: '',
-          url: this.exData.shop_img_url
-        }
-      ]
-      this.user_code_url = [
-        {
-          name: '',
-          url: this.exData.user_code_url
-        }
-      ]
+      this.$set(this.form, 'id', this.exData.id)
       for (const key in this.exData) {
         if (this.form.hasOwnProperty(key)) {
           let value = this.exData[key]
           if ((Array.isArray(value) && value.length >= 1) || (Object.prototype.toString.call(value) === '[object Object]') || (typeof value === 'string' && value) || typeof value === 'number') {
-            if (key === 'user_code_url' || key === 'shop_img_url') {
-              value = [value]
-            }
-            if (key === 'sort_id') {
-              value = value.toString()
+            if (key === 'track_img_url') {
+              value = JSON.parse(value)
             }
-            if (key === 'shop_address' && Object.prototype.toString.call(value) === '[object Object]') {
-              value = value.address_name + value.name
+            if (key === 'track_status') {
+              value = value + ''
             }
             this.$set(this.form, key, value)
           }

+ 33 - 45
htmldev/shiningManage/src/views/contentManage/news/index.vue

@@ -1,6 +1,7 @@
 <template>
   <div class="padding-20">
     <div class="search-box">
+      <!--TODO  筛选-->
       <el-form
         ref="form"
         :inline="true"
@@ -9,14 +10,23 @@
         label-width="80px"
         class="mt-10">
         <el-form-item label="姓名:">
-          <el-input v-model="searchForm.user_name" placeholder="请输入姓名" clearable></el-input>
+          <el-input v-model="searchForm.user_name" placeholder="请输入发布人姓名" clearable></el-input>
         </el-form-item>
-        <el-form-item
-          class="key-word"
-          label="关键词:">
-          <el-input v-model="searchForm.key_word" placeholder="请输入手机号后4位或身份证后6位" clearable></el-input>
+        <el-form-item label="状态:">
+          <el-select
+            v-model="searchForm.track_status"
+            filterable
+            clearable
+            placeholder="请选择状态">
+            <el-option
+              v-for="item in arrHideAndShow"
+              :key="item.value"
+              :label="item.name"
+              :value="item.value">
+            </el-option>
+          </el-select>
         </el-form-item>
-        <el-form-item label="申请时间:">
+        <el-form-item label="发布时间:">
           <el-date-picker
             :editable="false"
             v-model="time"
@@ -44,10 +54,15 @@
       class="marginT-10 order-table"
       border
       :max-height="vheight">
-      <el-table-column label="发布人" prop="user_id"><!-- 农户编号、农户名字 --></el-table-column>
-      <el-table-column label="发布内容" prop="user_name"></el-table-column>
-      <el-table-column label="发布时间" prop="user_card"></el-table-column>
-      <el-table-column label="显示状态" prop="shop_phone"><!-- 隐藏、显示 --></el-table-column>
+      <el-table-column label="发布人" prop="user_id" min-width="140">
+        <!-- todo 农户名字 -->
+        <template slot-scope="scope">{{ scope.row.user_id }}{{ scope.row.user_name }}</template>
+      </el-table-column>
+      <el-table-column label="发布内容" prop="track_content" min-width="200" show-overflow-tooltip></el-table-column>
+      <el-table-column label="发布时间" prop="created_at" min-width="140"></el-table-column>
+      <el-table-column label="显示状态" prop="track_status">
+        <template slot-scope="scope">{{ getText(arrHideAndShow, scope.row.track_status + '') }}</template>
+      </el-table-column>
       <el-table-column label="操作">
         <template slot-scope="scope">
           <el-button type="text" @click="edit(scope.row)">操作</el-button>
@@ -69,6 +84,7 @@
       v-if="detailsDialog.show"
       v-model="detailsDialog.show"
       :exData="detailsDialog.exData"
+      :arrHideAndShow="arrHideAndShow"
       @success="init"></detail>
   </div>
 </template>
@@ -91,36 +107,15 @@ export default {
       time: [],
       searchForm: {},
       tableData: [],
-      tableUrl: '/api/admin/shop/list'
-    }
-  },
-  computed: {
-    // 店铺类型
-    shopType() {
-      return [
-        {
-          name: '普通',
-          value: '0'
-        },
-        {
-          name: '优秀',
-          value: '1'
-        }
-      ]
-    },
-    arrShopStatus() {
-      return [
+      tableUrl: '/api/admin/track/list',
+      arrHideAndShow: [
         {
-          name: '审核中',
+          name: '隐藏',
           value: '0'
         },
         {
-          name: '审核通过',
+          name: '显示',
           value: '1'
-        },
-        {
-          name: '未通过',
-          value: '2'
         }
       ]
     }
@@ -130,17 +125,10 @@ export default {
       this.detailsDialog.exData = row
       this.detailsDialog.show = true
     },
-    getShopStatusText(val) {
-      const index = this.arrShopStatus.findIndex(item => item.value === val + '')
-      if (index > -1) {
-        return this.arrShopStatus[index].name
-      }
-      return ''
-    },
-    getShopTypeText(val) {
-      const index = this.shopType.findIndex(item => item.value === val + '')
+    getText(arr, val) {
+      const index = arr.findIndex(item => item.value === val)
       if (index > -1) {
-        return this.shopType[index].name
+        return arr[index].name
       }
       return ''
     }

+ 1 - 1
htmldev/shiningManage/src/views/contentManage/notify/index.vue

@@ -93,7 +93,7 @@
 <script>
 import page from '@/mixin/page'
 import detail from './details'
-
+// TODO 缺列表、发布、编辑(含置顶)、删除接口
 export default {
   mixins: [page],
   components: {