From 17efddc6a667670dca682bf36b51a43e99615e6d Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 16 十月 2024 15:59:38 +0800
Subject: [PATCH] 代码初始化

---
 admin/src/views/business/retention.vue |  204 +++++++++++++++++++++++++++-----------------------
 1 files changed, 111 insertions(+), 93 deletions(-)

diff --git a/admin/src/views/business/retention.vue b/admin/src/views/business/retention.vue
index 3d9dbdb..d9fa1da 100644
--- a/admin/src/views/business/retention.vue
+++ b/admin/src/views/business/retention.vue
@@ -1,101 +1,100 @@
 <template>
-    <TableLayout :permissions="['business:retention:query']">
-        <!-- 鎼滅储琛ㄥ崟 -->
-        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-            <el-form-item label="濮撳悕/鎵嬫満鍙�" prop="keyWords">
-                <el-input v-model="searchForm.keyWords" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" @keypress.enter.native="search"></el-input>
-            </el-form-item>
-            <el-form-item label="鍏徃/閮ㄩ棬鍚嶇О" prop="companyName">
-                <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏ュ叕鍙�/閮ㄩ棬鍚嶇О" @keypress.enter.native="search"></el-input>
-            </el-form-item>
-            <el-form-item label="浜哄憳绫诲瀷" prop="type">
-                <el-select v-model="searchForm.type" placeholder="璇烽�夋嫨">
-                    <el-option label="鍔冲姟璁垮" value="0"></el-option>
-                    <el-option label="鏅�氳瀹�" value="1"></el-option>
-                    <el-option label="鍐呴儴鍛樺伐" value="2"></el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="璧峰鏃堕棿" prop="startTime">
-                <el-date-picker
-                    @change="seleTime"
-                    v-model="time"
-                    type="datetimerange"
-                    format="yyyy-MM-dd HH:mm:ss"
-                    value-format="yyyy-MM-dd HH:mm:ss"
-                    range-separator="鑷�"
-                    start-placeholder="寮�濮嬫棩鏈�"
-                    end-placeholder="缁撴潫鏃ユ湡">
-                </el-date-picker>
-            </el-form-item>
-            <section>
-                <el-button type="primary" @click="search">鎼滅储</el-button>
-                <el-button @click="reset">閲嶇疆</el-button>
-            </section>
-        </el-form>
-        <!-- 琛ㄦ牸鍜屽垎椤� -->
-        <template v-slot:table-wrap>
-            <ul class="toolbar" v-permissions="['business:retention:exportExcel']">
-                <li><el-button type="primary" :loading="isWorking.export" v-permissions="['business:retention:exportExcel']" @click="exportExcel">瀵煎嚭</el-button></li>
-            </ul>
-            <el-table
-                v-loading="isWorking.search"
-                :data="tableData.list"
-                stripe
-                @selection-change="handleSelectionChange"
-            >
-                <el-table-column type="selection" width="55"></el-table-column>
-                <el-table-column prop="companyName" label="鍏徃/缁勭粐" min-width="100px">
-                    <template slot-scope="{row}">
-                        <span v-if="row.type === 2 || row.type === 0">{{row.companyName}}</span>
-                        <span v-else>{{row.visitCompanyName}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="type" label="浜哄憳绫诲瀷" min-width="100px">
-                    <template slot-scope="{row}">
-                        <span v-if="row.type === 0">鍔冲姟璁垮</span>
-                        <span v-if="row.type === 1">鏅�氳瀹�</span>
-                        <span v-if="row.type === 2">鍐呴儴鍛樺伐</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="name" label="濮撳悕" min-width="100px"></el-table-column>
-                <el-table-column prop="phone" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
-                <el-table-column prop="idcardDecode" label="韬唤璇佸彿" min-width="130px"></el-table-column>
-                <el-table-column label="杩涘満闂ㄧ" min-width="100px">
-                    <template slot-scope="{row}">
-                        <span v-if="row.type === 1">-</span>
-                        <span v-else>{{row.deviceName}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="eventDate" label="杩涘満鏃堕棿" min-width="100px"></el-table-column>
-                <el-table-column label="浜鸿劯鐓х墖" min-width="100px">
-                  <template slot-scope="{row}">
-                    <el-image v-if="row.faceImgFull!=null"
-                              style="width: 80px; height: 80px"
-                              :src="row.faceImgFull"
-                              :preview-src-list="[row.faceImgFull]">
-                    </el-image>
-                  </template>
-                </el-table-column>
-            </el-table>
-            <pagination
-                @size-change="handleSizeChange"
-                @current-change="handlePageChange"
-                :pagination="tableData.pagination"
-            >
-            </pagination>
-        </template>
-    </TableLayout>
+  <TableLayout :permissions="['business:retention:query']">
+    <!-- 鎼滅储琛ㄥ崟 -->
+    <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
+      <el-form-item label="濮撳悕/鎵嬫満鍙�" prop="keyWords">
+        <el-input v-model="searchForm.keyWords" placeholder="璇疯緭鍏ュ鍚�/鎵嬫満鍙�" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <el-form-item label="缁勭粐" prop="companyName">
+        <el-input v-model="searchForm.companyName" placeholder="璇疯緭鍏ョ粍缁囧悕绉�" @keypress.enter.native="search"></el-input>
+      </el-form-item>
+      <el-form-item label="浜哄憳绫诲瀷" prop="queryUserType">
+        <el-select v-model="searchForm.queryUserType" placeholder="璇烽�夋嫨">
+          <el-option label="璁垮" value="0"></el-option>
+          <el-option label="鐩稿叧鏂圭粍缁�" value="1"></el-option>
+          <el-option label="鍐呴儴鍛樺伐" value="2"></el-option>
+        </el-select>
+      </el-form-item>
+      <el-form-item label="璧锋鏃堕棿" prop="startTime">
+        <el-date-picker @change="seleTime" v-model="time" type="datetimerange" format="yyyy-MM-dd HH:mm:ss"
+          value-format="yyyy-MM-dd HH:mm:ss" range-separator="鑷�" start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿">
+        </el-date-picker>
+      </el-form-item>
+      <el-radio-group v-model="searchForm.radio" size="small" @input="changeRadio">
+        <el-radio-button label="0">褰撳ぉ</el-radio-button>
+        <el-radio-button label="1">杩�7澶�</el-radio-button>
+        <el-radio-button label="2">杩�30澶�</el-radio-button>
+      </el-radio-group>
+      <section>
+        <el-button type="primary" @click="search">鎼滅储</el-button>
+        <el-button @click="reset">閲嶇疆</el-button>
+      </section>
+    </el-form>
+    <!-- 琛ㄦ牸鍜屽垎椤� -->
+    <template v-slot:table-wrap>
+      <ul class="toolbar" v-permissions="['business:retention:exportExcel']">
+        <li>
+          <el-button type="primary" :loading="isWorking.export" v-permissions="['business:retention:exportExcel']"
+            @click="exportExcel">瀵煎嚭</el-button>
+        </li>
+      </ul>
+      <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
+        <el-table-column type="selection" width="55"></el-table-column>
+        <el-table-column prop="companyName" label="缁勭粐" min-width="100px">
+          <template slot-scope="{ row }">
+            <span v-if="row.type === 2 || row.type === 0">{{
+              row.companyName
+              }}</span>
+            <span v-else>{{ row.visitCompanyName }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="type" label="浜哄憳绫诲瀷" min-width="100px">
+          <template slot-scope="{ row }">
+            <span v-if="row.companyType == 0">鐩稿叧鏂圭粍缁�</span>
+            <span v-else-if="row.companyType == 1">鍐呴儴鍛樺伐</span>
+            <span v-else>璁垮</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="name" label="濮撳悕" min-width="100px"></el-table-column>
+        <el-table-column prop="phone" label="鎵嬫満鍙�" min-width="100px"></el-table-column>
+        <el-table-column prop="idcardDecode" label="韬唤璇佸彿" min-width="130px"></el-table-column>
+        <el-table-column label="杩涘満闂ㄧ" min-width="100px">
+          <template slot-scope="{ row }">
+            <span v-if="row.type === 1">-</span>
+            <span v-else>{{ row.deviceName }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="eventDate" label="杩涘満鏃堕棿" min-width="100px"></el-table-column>
+        <el-table-column label="浜鸿劯鐓х墖" min-width="100px">
+          <template slot-scope="{ row }">
+            <el-image v-if="row.faceImgFull != null" style="width: 80px; height: 80px" :src="row.faceImgFull"
+              :preview-src-list="[row.faceImgFull]">
+            </el-image>
+          </template>
+        </el-table-column>
+        <el-table-column label="鎿嶄綔" min-width="120" fixed="right">
+          <template slot-scope="{ row }">
+            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete"
+              v-permissions="['business:retention:delete']">鏍囪绂诲満</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <pagination @size-change="handleSizeChange" @current-change="handlePageChange" :pagination="tableData.pagination">
+      </pagination>
+    </template>
+  </TableLayout>
 </template>
 
 <script>
 import BaseTable from '@/components/base/BaseTable'
 import TableLayout from '@/layouts/TableLayout'
 import Pagination from '@/components/common/Pagination'
+import { timeForMat } from '@/utils/util'
 export default {
   name: 'Retention',
   extends: BaseTable,
   components: { TableLayout, Pagination },
-  data () {
+  data() {
     return {
       // 鎼滅储
       searchForm: {
@@ -103,31 +102,50 @@
         type: '',
         keyWords: '',
         startTime: '',
-        endTime: ''
+        endTime: '',
+        radio: 0
       },
       time: []
     }
   },
-  created () {
+  created() {
     this.config({
-      module: '鍦ㄥ巶浜哄憳淇℃伅 琛紙婊炵暀锛�',
+      module: '鍦ㄥ洯浜哄憳淇℃伅 琛紙婊炵暀锛�',
       api: '/business/retention',
       'field.id': 'id',
       'field.main': 'id'
     })
-    this.search()
+    this.changeRadio('0')
   },
   methods: {
-    reset () {
+    changeRadio(e) {
+      if (e === '0') {
+        this.searchForm.startTime = timeForMat(0)[0]
+        this.searchForm.endTime = timeForMat(0)[1]
+        this.time = timeForMat(0)
+      } else if (e === '1') {
+        this.searchForm.startTime = timeForMat(6)[0]
+        this.searchForm.endTime = timeForMat(6)[1]
+        this.time = timeForMat(6)
+      } else if (e === '2') {
+        this.searchForm.startTime = timeForMat(29)[0]
+        this.searchForm.endTime = timeForMat(29)[1]
+        this.time = timeForMat(29)
+      }
+      this.search()
+    },
+    reset() {
       this.$refs.searchForm.resetFields()
       this.searchForm.startTime = ''
+      this.searchForm.radio = '0'
       this.searchForm.endTime = ''
       this.time = []
       this.search()
     },
-    seleTime (e) {
+    seleTime(e) {
       this.searchForm.startTime = e[0]
       this.searchForm.endTime = e[1]
+      this.searchForm.radio = null
     }
   }
 }

--
Gitblit v1.9.3