From 02ce22be65df8b717d5f1614e5d7dbfcdf1ce1b9 Mon Sep 17 00:00:00 2001
From: Oliver <1070107765@qq.com>
Date: 星期三, 14 十二月 2022 09:29:51 +0800
Subject: [PATCH] 预警研判 操作
---
src/views/operate/fivepack/threepack/components/content.vue | 487 +++++++++++++++++++++++++++++++++---------------------
1 files changed, 298 insertions(+), 189 deletions(-)
diff --git a/src/views/operate/fivepack/threepack/components/content.vue b/src/views/operate/fivepack/threepack/components/content.vue
index 766c2ce..a3ea27b 100644
--- a/src/views/operate/fivepack/threepack/components/content.vue
+++ b/src/views/operate/fivepack/threepack/components/content.vue
@@ -1,121 +1,224 @@
<template>
- <div class="content">
- <header>
- <div class="headerContent">
- <div class="find">
- <div class="search-item">
- <span>杈撳叆鏌ヨ:</span>
- <el-input style="flex: 1" :placeholder="isStorePage() ? '搴楅摵锛堥棬搴楋級鍚嶇О' : '璇疯緭鍏ュ簵閾虹紪鍙�'" v-model="storeCode" />
- </div>
- <div class="search-item">
- <span>搴楅摵鐘舵��:</span>
- <el-select v-model="storeStatus" placeholder="閫夋嫨搴楅摵鐘舵��">
- <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
- </el-select>
- </div>
- <div class="findBtn">
- <el-button type="primary" @click="search" icon="el-icon-search">鏌ヨ</el-button>
- <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
- </div>
+ <div class="content">
+ <header>
+ <div class="headerContent">
+ <div class="find">
+ <div class="search-item">
+ <span>杈撳叆鏌ヨ:</span>
+ <el-input
+ style="flex: 1"
+ :placeholder="
+ isStorePage() ? '搴楅摵锛堥棬搴楋級鍚嶇О' : '璇疯緭鍏ュ簵閾虹紪鍙�'
+ "
+ v-model="storeCode"
+ />
</div>
- <el-button v-if="isStorePage()" type="primary" icon="el-icon-plus" @click="handleView(null, 'create')">娣诲姞</el-button>
+ <div class="search-item">
+ <span>搴楅摵鐘舵��:</span>
+ <el-select v-model="storeStatus" placeholder="閫夋嫨搴楅摵鐘舵��">
+ <el-option
+ v-for="item in options"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </div>
+ <div class="findBtn">
+ <el-button type="primary" @click="search" icon="el-icon-search"
+ >鏌ヨ</el-button
+ >
+ <el-button icon="el-icon-delete-solid" @click="handleReset"
+ >閲嶇疆</el-button
+ >
+ </div>
</div>
- </header>
- <main>
- <!-- 鏁版嵁灞曠ず -->
- <el-table ref="multipleTable"
- :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}"
- :data="tableData" style="width: 100%" :row-class-name="tableRowClassName">
- <el-table-column type="selection" min-width="5">
- </el-table-column>
- <el-table-column prop="storeNumber" label="搴楅摵缂栧彿" min-width="10">
- </el-table-column>
- <el-table-column prop="storeName" label="搴楅摵鍚嶇О" min-width="10">
- </el-table-column>
- <el-table-column prop="owner" label="搴楅摵鑱旂郴浜�" min-width="10">
- </el-table-column>
- <el-table-column prop="contact" label="搴楅摵鑱旂郴鐢佃瘽" min-width="10">
- </el-table-column>
- <el-table-column prop="storeAddress" label="搴楅摵璇︾粏鍦板潃" min-width="10">
- </el-table-column>
- <el-table-column prop="videoPoint" label="鍏宠仈鎽勫儚鏈�" min-width="10">
- <template v-if="scope.row.videoId" slot-scope="scope">
- <span>{{ scope.row.videoPoint.name }}</span>
- </template>
- </el-table-column>
- <el-table-column prop="operation" label="鎿嶄綔" min-width="20">
- <template slot-scope="scope">
- <div v-if="!isStorePage()" class="operation">
- <el-link icon="el-icon-edit" :underline="false" @click="handleView(scope.row, 'update')">缂栬緫</el-link>
- <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false" @click="handleDelete(scope.row.id)">鍒犻櫎</el-link>
- <el-link class="leftPx" icon="el-icon-edit" :underline="false">鎺ㄩ�佷俊鎭�</el-link>
- <el-link class="leftPx" icon="el-icon-edit" :underline="false" @click="handleView(scope.row, 'view')">鏌ョ湅</el-link>
- </div>
- <div v-else class="operation">
- <el-link icon="el-icon-edit" :underline="false" @click="handleView(scope.row, 'update')">缂栬緫</el-link>
- <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
- @click="handleDelete(scope.row.id)">鍒犻櫎</el-link>
- </div>
- </template>
- </el-table-column>
- </el-table>
- <!-- 鏌ョ湅淇敼椤甸潰 -->
- <el-dialog :visible.sync="dialogUpdate" width="45%"
- :destroy-on-close="true"
- :title="dialogType === 'view' ? '鏌ョ湅搴楅摵淇℃伅' : '淇敼搴楅摵淇℃伅'" :before-close="handleClose">
- <updateUser v-if="dialogUpdate" :dialogType="dialogType" :storeInfo="storeInfo" :isStorePage="isStorePage()" @closeDialog="closeDialog" />
- </el-dialog>
- <!-- 鍒嗛〉 -->
- <div class="pagination">
- <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="totalNum"
- :page-size="pageSize" @current-change="changeCurrentPage">
- </el-pagination>
- </div>
- </main>
- </div>
+ <el-button
+ v-if="isStorePage()"
+ type="primary"
+ icon="el-icon-plus"
+ class="button-addition"
+ @click="handleView(null, 'create')"
+ >娣诲姞</el-button
+ >
+ </div>
+ </header>
+ <main>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table
+ ref="multipleTable"
+ :header-cell-style="{
+ background: '#06122c',
+ 'font-size': '12px',
+ color: '#4b9bb7',
+ 'font-weight': '650',
+ 'line-height': '45px',
+ }"
+ :data="tableData"
+ style="width: 100%"
+ :row-class-name="tableRowClassName"
+ >
+ <el-table-column type="selection" min-width="5"> </el-table-column>
+ <el-table-column prop="storeNumber" label="搴楅摵缂栧彿" min-width="10">
+ </el-table-column>
+ <el-table-column prop="storeName" label="搴楅摵鍚嶇О" min-width="10">
+ </el-table-column>
+ <el-table-column prop="owner" label="搴楅摵鑱旂郴浜�" min-width="10">
+ </el-table-column>
+ <el-table-column prop="contact" label="搴楅摵鑱旂郴鐢佃瘽" min-width="10">
+ </el-table-column>
+ <el-table-column
+ prop="storeAddress"
+ label="搴楅摵璇︾粏鍦板潃"
+ min-width="10"
+ >
+ </el-table-column>
+ <el-table-column prop="storeScore" label="搴楅摵绉垎" min-width="10">
+ </el-table-column>
+ <el-table-column prop="videoPoint" label="鍏宠仈鎽勫儚鏈�" min-width="10">
+ <template v-if="scope.row.videoId" slot-scope="scope">
+ <span>{{ scope.row.videoPoint.name }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="20">
+ <template slot-scope="scope">
+ <div v-if="!isStorePage()" class="operation">
+ <el-link
+ icon="el-icon-edit"
+ :underline="false"
+ @click="handleView(scope.row, 'update')"
+ >缂栬緫</el-link
+ >
+ <el-link
+ class="leftPx"
+ icon="el-icon-delete-solid"
+ :underline="false"
+ @click="handleDelete(scope.row.id)"
+ >鍒犻櫎</el-link
+ >
+ <el-link class="leftPx" icon="el-icon-edit" :underline="false"
+ >鎺ㄩ�佷俊鎭�</el-link
+ >
+ <el-link
+ class="leftPx"
+ icon="el-icon-edit"
+ :underline="false"
+ @click="handleScoreView(scope.row, 'view')"
+ >鏌ョ湅</el-link
+ >
+ </div>
+ <div v-else class="operation">
+ <el-link
+ icon="el-icon-edit"
+ :underline="false"
+ @click="handleView(scope.row, 'update')"
+ >缂栬緫</el-link
+ >
+ <el-link
+ class="leftPx"
+ icon="el-icon-delete-solid"
+ :underline="false"
+ @click="handleDelete(scope.row.id)"
+ >鍒犻櫎</el-link
+ >
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏌ョ湅淇敼椤甸潰 -->
+ <el-dialog
+ :visible.sync="dialogUpdate"
+ width="45%"
+ :destroy-on-close="true"
+ :title="dialogType === 'view' ? '鏌ョ湅搴楅摵淇℃伅' : '淇敼搴楅摵淇℃伅'"
+ :before-close="handleClose"
+ >
+ <updateUser
+ v-if="dialogUpdate"
+ :dialogType="dialogType"
+ :storeInfo="storeInfo"
+ :isStorePage="isStorePage()"
+ @closeDialog="closeDialog"
+ />
+ </el-dialog>
+ <!-- 鏌ョ湅淇敼椤甸潰 -->
+ <el-dialog
+ :visible.sync="dialogScore"
+ width="60%"
+ :destroy-on-close="true"
+ title="鏌ョ湅绉垎"
+ :before-close="handleCloseScoreView"
+ >
+ <scoreView v-if="dialogScore" :storeInfo="storeInfoScoreView" />
+ </el-dialog>
+ <!-- 鍒嗛〉 -->
+ <div class="pagination">
+ <el-pagination
+ background
+ :current-page="currentPage"
+ layout="prev, pager, next"
+ :total="totalNum"
+ :page-size="pageSize"
+ @current-change="changeCurrentPage"
+ >
+ </el-pagination>
+ </div>
+ </main>
+ </div>
</template>
<script>
import updateUser from "@/views/operate/fivepack/threepack/components/updateUser";
-import { getStoreInfoList, deleteStoreInfo } from "@/api/operate/storeManagement";
+import scoreView from "@/views/operate/fivepack/threepack/components/score";
+import {
+ getStoreInfoList,
+ deleteStoreInfo,
+} from "@/api/operate/storeManagement";
export default {
- components: { updateUser },
+ components: { updateUser, scoreView },
created() {
this.search();
},
- props: ['model'],
+ props: ["model"],
data() {
return {
storeCode: null,
storeStatus: null,
- options: [{ label: '缁忚惀', value: 1 }, { label: '鍊掗棴', value: 2 }],
+ options: [
+ { label: "鍏ㄩ儴", value: 0 },
+ { label: "缁忚惀", value: 1 },
+ { label: "鍊掗棴", value: 2 },
+ ],
tableData: [],
dialogUpdate: false,
+ dialogScore: false,
currentPage: 1,
totalNum: 0,
pageSize: 10,
userInfo: null,
- dialogType: '',
- storeInfo: null
- }
+ dialogType: "",
+ storeInfo: null,
+ storeInfoScoreView: {},
+ };
},
methods: {
search() {
- getStoreInfoList({ keyword: this.storeCode })
- .then(({ list, pageSize, totalPage }) => {
- this.tableData = list;
- this.pageSize = pageSize;
- this.totalNum = totalPage;
- })
- .catch(err => this.$message({ type: 'error', message: err }));
+ const status = this.storeStatus === 0 ? null : this.storeStatus;
+ getStoreInfoList({ keyword: this.storeCode, status })
+ .then(({ list, pageSize, totalPage }) => {
+ this.tableData = list;
+ this.pageSize = pageSize;
+ this.totalNum = totalPage;
+ })
+ .catch((err) => this.$message({ type: "error", message: err }));
},
handleReset() {
- this.storeCode = '';
+ this.storeCode = "";
this.storeStatus = null;
this.search();
},
@@ -125,16 +228,22 @@
this.storeInfo = row;
this.dialogType = type;
},
+ handleScoreView(row) {
+ this.storeInfoScoreView = row;
+ this.dialogScore = true;
+ },
handleDelete(id) {
deleteStoreInfo(id)
- .then(() => {
- this.$message({ type: 'success', message: '鎿嶄綔鎴愬姛' });
- this.search();
- })
- .catch(err => this.$message({ type: 'error', message: err }));
+ .then(() => {
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ this.search();
+ })
+ .catch((err) => this.$message({ type: "error", message: err }));
},
-
+ handleCloseScoreView() {
+ this.dialogScore = false;
+ },
handleClose() {
this.dialogUpdate = false;
},
@@ -158,103 +267,103 @@
},
isStorePage() {
- return this.model === 'store';
+ return this.model === "store";
+ },
+ },
+};
+</script>
+<style lang="scss" scoped>
+.content {
+ flex: 1;
+ height: 100%;
+ padding-left: 20px;
+
+ .headerContent {
+ display: flex;
+ line-height: 100px;
+ justify-content: space-between;
+ align-items: center;
+
+ .find {
+ display: flex;
+ }
+
+ .search-item {
+ display: flex;
+ padding: 10px;
+ }
+
+ .findBtn {
+ line-height: 100px;
+ margin-left: 15px;
+ display: flex;
+ align-items: center;
+
+ .el-button {
+ padding: 12px 25px;
+ }
+ }
+
+ .addBtn {
+ padding: 12px 30px;
+ margin-left: 20%;
+ }
+ }
+
+ main {
+ background-color: #09152f;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .mainTitle {
+ line-height: 60px;
+ }
+
+ .el-link {
+ color: #4b9bb7;
+ }
+
+ .leftPx {
+ margin-left: 10px;
+ }
+
+ .pagination {
+ margin-top: 50px;
+ display: flex;
+ line-height: 50px;
+ justify-content: center;
+
+ .el-pagination {
+ &::v-deep li,
+ &::v-deep .btn-prev,
+ &::v-deep .btn-next {
+ background-color: #071f39;
+ color: #4b9bb7;
+ }
+ }
+ }
+
+ .el-table {
+ color: #4b9bb7;
+ font-size: 10px;
+
+ &::v-deep .el-table__empty-block {
+ background-color: #09152f;
+ color: #4b9bb7;
+ }
+
+ .operation {
+ display: flex;
+
+ .el-button {
+ border: none;
+ }
+
+ span:hover {
+ cursor: pointer;
+ }
+ }
}
}
}
-</script>
-<style lang="scss" scoped>
-.content{
- flex: 1;
- height: 100%;
- padding-left: 20px;
-
- .headerContent {
- display: flex;
- line-height: 100px;
- justify-content: space-between;
- align-items: center;
-
- .find {
- display: flex;
- }
-
- .search-item {
- display: flex;
- padding: 10px;
- }
-
- .findBtn {
- line-height: 100px;
- margin-left: 15px;
- display: flex;
- align-items: center;
-
- .el-button {
- padding: 12px 25px;
- }
- }
-
- .addBtn {
- padding: 12px 30px;
- margin-left: 20%;
- }
- }
-
- main {
- background-color: #09152f;
- margin-top: 20px;
- padding-bottom: 50px;
-
- .mainTitle {
- line-height: 60px;
- }
-
- .el-link {
- color: #4b9bb7;
- }
-
- .leftPx {
- margin-left: 10px;
- }
-
- .pagination {
- margin-top: 50px;
- display: flex;
- line-height: 50px;
- justify-content: center;
-
- .el-pagination {
- &::v-deep li,
- &::v-deep .btn-prev,
- &::v-deep .btn-next {
- background-color: #071f39;
- color: #4b9bb7;
- }
- }
- }
-
- .el-table {
- color: #4b9bb7;
- font-size: 10px;
-
- &::v-deep .el-table__empty-block {
- background-color: #09152f;
- color: #4b9bb7;
- }
-
- .operation {
- display: flex;
-
- .el-button {
- border: none;
- }
-
- span:hover {
- cursor: pointer;
- }
- }
- }
- }
- }
</style>
\ No newline at end of file
--
Gitblit v1.8.0