From d6fb18b49cd61427a343fbe7a2a4f94e4b597bdc Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期四, 29 十二月 2022 14:00:41 +0800
Subject: [PATCH] fix:店铺状态
---
.history/src/views/operate/fivepack/threepack/components/content_20221229135909.vue | 372 +++++++++
.history/src/views/operate/fivepack/threepack/components/content_20221229135931.vue | 372 +++++++++
.history/src/views/operate/fivepack/threepack/components/content_20221229135307.vue | 371 +++++++++
.history/src/views/operate/fivepack/threepack/components/content_20221229135540.vue | 372 +++++++++
.history/src/views/operate/fivepack/threepack/components/content_20221229135951.vue | 372 +++++++++
src/views/operate/fivepack/threepack/components/content.vue | 6
.history/src/views/operate/fivepack/threepack/components/content_20221229133119.vue | 366 +++++++++
7 files changed, 2,231 insertions(+), 0 deletions(-)
diff --git a/.history/src/views/operate/fivepack/threepack/components/content_20221229133119.vue b/.history/src/views/operate/fivepack/threepack/components/content_20221229133119.vue
new file mode 100644
index 0000000..d07ac4e
--- /dev/null
+++ b/.history/src/views/operate/fivepack/threepack/components/content_20221229133119.vue
@@ -0,0 +1,366 @@
+<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>
+ <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="{
+ '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 scoreView from "@/views/operate/fivepack/threepack/components/score";
+import {
+ getStoreInfoList,
+ deleteStoreInfo,
+} from "@/api/operate/storeManagement";
+
+export default {
+ components: { updateUser, scoreView },
+
+ created() {
+ this.search();
+ },
+
+ props: ["model"],
+
+ data() {
+ return {
+ storeCode: null,
+ storeStatus: null,
+ 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,
+ storeInfoScoreView: {},
+ };
+ },
+
+ methods: {
+ search() {
+ 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.storeStatus = null;
+ this.search();
+ },
+
+ handleView(row, type) {
+ this.dialogUpdate = true;
+ 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 }));
+ },
+ handleCloseScoreView() {
+ this.dialogScore = false;
+ },
+ handleClose() {
+ this.dialogUpdate = false;
+ },
+
+ closeDialog() {
+ this.dialogUpdate = false;
+ this.search();
+ },
+
+ changeCurrentPage(currentPage) {
+ this.currentPage = currentPage;
+ this.search();
+ },
+
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 === 0) {
+ return "warning-row";
+ } else {
+ return "success-row";
+ }
+ },
+
+ isStorePage() {
+ 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;
+ }
+ }
+ }
+ }
+}
+</style>
\ No newline at end of file
diff --git a/.history/src/views/operate/fivepack/threepack/components/content_20221229135307.vue b/.history/src/views/operate/fivepack/threepack/components/content_20221229135307.vue
new file mode 100644
index 0000000..7d94fa9
--- /dev/null
+++ b/.history/src/views/operate/fivepack/threepack/components/content_20221229135307.vue
@@ -0,0 +1,371 @@
+<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>
+ <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="{
+ '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="status" label="鐘舵��" min-width="10">
+ <template v-if="scope.status" slot-scope="scope">
+ <span>{{ scope.row.status==1?'缁忚惀':'鍊掗棴' }}</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 scoreView from "@/views/operate/fivepack/threepack/components/score";
+import {
+ getStoreInfoList,
+ deleteStoreInfo,
+} from "@/api/operate/storeManagement";
+
+export default {
+ components: { updateUser, scoreView },
+
+ created() {
+ this.search();
+ },
+
+ props: ["model"],
+
+ data() {
+ return {
+ storeCode: null,
+ storeStatus: null,
+ 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,
+ storeInfoScoreView: {},
+ };
+ },
+
+ methods: {
+ search() {
+ 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.storeStatus = null;
+ this.search();
+ },
+
+ handleView(row, type) {
+ this.dialogUpdate = true;
+ 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 }));
+ },
+ handleCloseScoreView() {
+ this.dialogScore = false;
+ },
+ handleClose() {
+ this.dialogUpdate = false;
+ },
+
+ closeDialog() {
+ this.dialogUpdate = false;
+ this.search();
+ },
+
+ changeCurrentPage(currentPage) {
+ this.currentPage = currentPage;
+ this.search();
+ },
+
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 === 0) {
+ return "warning-row";
+ } else {
+ return "success-row";
+ }
+ },
+
+ isStorePage() {
+ 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;
+ }
+ }
+ }
+ }
+}
+</style>
\ No newline at end of file
diff --git a/.history/src/views/operate/fivepack/threepack/components/content_20221229135540.vue b/.history/src/views/operate/fivepack/threepack/components/content_20221229135540.vue
new file mode 100644
index 0000000..4965355
--- /dev/null
+++ b/.history/src/views/operate/fivepack/threepack/components/content_20221229135540.vue
@@ -0,0 +1,372 @@
+<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>
+ <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="{
+ '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="status" label="鐘舵��" min-width="10">
+ <template v-if="scope.status" slot-scope="scope">
+ <span>{{ scope.row.status==1?'缁忚惀':'鍊掗棴' }}</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 scoreView from "@/views/operate/fivepack/threepack/components/score";
+import {
+ getStoreInfoList,
+ deleteStoreInfo,
+} from "@/api/operate/storeManagement";
+
+export default {
+ components: { updateUser, scoreView },
+
+ created() {
+ this.search();
+ },
+
+ props: ["model"],
+
+ data() {
+ return {
+ storeCode: null,
+ storeStatus: null,
+ 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,
+ storeInfoScoreView: {},
+ };
+ },
+
+ methods: {
+ search() {
+ const status = this.storeStatus === 0 ? null : this.storeStatus;
+ getStoreInfoList({ keyword: this.storeCode, status })
+ .then(({ list, pageSize, totalPage }) => {
+ this.tableData = list;
+ console.log(list);
+ this.pageSize = pageSize;
+ this.totalNum = totalPage;
+ })
+ .catch((err) => this.$message({ type: "error", message: err }));
+ },
+
+ handleReset() {
+ this.storeCode = "";
+ this.storeStatus = null;
+ this.search();
+ },
+
+ handleView(row, type) {
+ this.dialogUpdate = true;
+ 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 }));
+ },
+ handleCloseScoreView() {
+ this.dialogScore = false;
+ },
+ handleClose() {
+ this.dialogUpdate = false;
+ },
+
+ closeDialog() {
+ this.dialogUpdate = false;
+ this.search();
+ },
+
+ changeCurrentPage(currentPage) {
+ this.currentPage = currentPage;
+ this.search();
+ },
+
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 === 0) {
+ return "warning-row";
+ } else {
+ return "success-row";
+ }
+ },
+
+ isStorePage() {
+ 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;
+ }
+ }
+ }
+ }
+}
+</style>
\ No newline at end of file
diff --git a/.history/src/views/operate/fivepack/threepack/components/content_20221229135909.vue b/.history/src/views/operate/fivepack/threepack/components/content_20221229135909.vue
new file mode 100644
index 0000000..7f85a15
--- /dev/null
+++ b/.history/src/views/operate/fivepack/threepack/components/content_20221229135909.vue
@@ -0,0 +1,372 @@
+<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>
+ <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="{
+ '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="status" label="鐘舵��" min-width="10">
+ <template slot-scope="scope">
+ <span>{{ scope.row.status==1?'缁忚惀':'鍊掗棴' }}</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 scoreView from "@/views/operate/fivepack/threepack/components/score";
+import {
+ getStoreInfoList,
+ deleteStoreInfo,
+} from "@/api/operate/storeManagement";
+
+export default {
+ components: { updateUser, scoreView },
+
+ created() {
+ this.search();
+ },
+
+ props: ["model"],
+
+ data() {
+ return {
+ storeCode: null,
+ storeStatus: null,
+ 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,
+ storeInfoScoreView: {},
+ };
+ },
+
+ methods: {
+ search() {
+ const status = this.storeStatus === 0 ? null : this.storeStatus;
+ getStoreInfoList({ keyword: this.storeCode, status })
+ .then(({ list, pageSize, totalPage }) => {
+ this.tableData = list;
+ console.log(list);
+ this.pageSize = pageSize;
+ this.totalNum = totalPage;
+ })
+ .catch((err) => this.$message({ type: "error", message: err }));
+ },
+
+ handleReset() {
+ this.storeCode = "";
+ this.storeStatus = null;
+ this.search();
+ },
+
+ handleView(row, type) {
+ this.dialogUpdate = true;
+ 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 }));
+ },
+ handleCloseScoreView() {
+ this.dialogScore = false;
+ },
+ handleClose() {
+ this.dialogUpdate = false;
+ },
+
+ closeDialog() {
+ this.dialogUpdate = false;
+ this.search();
+ },
+
+ changeCurrentPage(currentPage) {
+ this.currentPage = currentPage;
+ this.search();
+ },
+
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 === 0) {
+ return "warning-row";
+ } else {
+ return "success-row";
+ }
+ },
+
+ isStorePage() {
+ 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;
+ }
+ }
+ }
+ }
+}
+</style>
\ No newline at end of file
diff --git a/.history/src/views/operate/fivepack/threepack/components/content_20221229135931.vue b/.history/src/views/operate/fivepack/threepack/components/content_20221229135931.vue
new file mode 100644
index 0000000..03a2cc9
--- /dev/null
+++ b/.history/src/views/operate/fivepack/threepack/components/content_20221229135931.vue
@@ -0,0 +1,372 @@
+<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>
+ <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="{
+ '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="status" label="鐘舵��" min-width="10">
+ <template v-if="scope.status!=null" slot-scope="scope">
+ <span>{{ scope.row.status==1?'缁忚惀':'鍊掗棴' }}</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 scoreView from "@/views/operate/fivepack/threepack/components/score";
+import {
+ getStoreInfoList,
+ deleteStoreInfo,
+} from "@/api/operate/storeManagement";
+
+export default {
+ components: { updateUser, scoreView },
+
+ created() {
+ this.search();
+ },
+
+ props: ["model"],
+
+ data() {
+ return {
+ storeCode: null,
+ storeStatus: null,
+ 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,
+ storeInfoScoreView: {},
+ };
+ },
+
+ methods: {
+ search() {
+ const status = this.storeStatus === 0 ? null : this.storeStatus;
+ getStoreInfoList({ keyword: this.storeCode, status })
+ .then(({ list, pageSize, totalPage }) => {
+ this.tableData = list;
+ console.log(list);
+ this.pageSize = pageSize;
+ this.totalNum = totalPage;
+ })
+ .catch((err) => this.$message({ type: "error", message: err }));
+ },
+
+ handleReset() {
+ this.storeCode = "";
+ this.storeStatus = null;
+ this.search();
+ },
+
+ handleView(row, type) {
+ this.dialogUpdate = true;
+ 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 }));
+ },
+ handleCloseScoreView() {
+ this.dialogScore = false;
+ },
+ handleClose() {
+ this.dialogUpdate = false;
+ },
+
+ closeDialog() {
+ this.dialogUpdate = false;
+ this.search();
+ },
+
+ changeCurrentPage(currentPage) {
+ this.currentPage = currentPage;
+ this.search();
+ },
+
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 === 0) {
+ return "warning-row";
+ } else {
+ return "success-row";
+ }
+ },
+
+ isStorePage() {
+ 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;
+ }
+ }
+ }
+ }
+}
+</style>
\ No newline at end of file
diff --git a/.history/src/views/operate/fivepack/threepack/components/content_20221229135951.vue b/.history/src/views/operate/fivepack/threepack/components/content_20221229135951.vue
new file mode 100644
index 0000000..9e7e0b5
--- /dev/null
+++ b/.history/src/views/operate/fivepack/threepack/components/content_20221229135951.vue
@@ -0,0 +1,372 @@
+<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>
+ <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="{
+ '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="status" label="鐘舵��" min-width="10">
+ <template slot-scope="scope">
+ <span>{{ scope.row.status==1?'缁忚惀':'鍊掗棴' }}</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 scoreView from "@/views/operate/fivepack/threepack/components/score";
+import {
+ getStoreInfoList,
+ deleteStoreInfo,
+} from "@/api/operate/storeManagement";
+
+export default {
+ components: { updateUser, scoreView },
+
+ created() {
+ this.search();
+ },
+
+ props: ["model"],
+
+ data() {
+ return {
+ storeCode: null,
+ storeStatus: null,
+ 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,
+ storeInfoScoreView: {},
+ };
+ },
+
+ methods: {
+ search() {
+ const status = this.storeStatus === 0 ? null : this.storeStatus;
+ getStoreInfoList({ keyword: this.storeCode, status })
+ .then(({ list, pageSize, totalPage }) => {
+ this.tableData = list;
+ console.log(list);
+ this.pageSize = pageSize;
+ this.totalNum = totalPage;
+ })
+ .catch((err) => this.$message({ type: "error", message: err }));
+ },
+
+ handleReset() {
+ this.storeCode = "";
+ this.storeStatus = null;
+ this.search();
+ },
+
+ handleView(row, type) {
+ this.dialogUpdate = true;
+ 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 }));
+ },
+ handleCloseScoreView() {
+ this.dialogScore = false;
+ },
+ handleClose() {
+ this.dialogUpdate = false;
+ },
+
+ closeDialog() {
+ this.dialogUpdate = false;
+ this.search();
+ },
+
+ changeCurrentPage(currentPage) {
+ this.currentPage = currentPage;
+ this.search();
+ },
+
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 === 0) {
+ return "warning-row";
+ } else {
+ return "success-row";
+ }
+ },
+
+ isStorePage() {
+ 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;
+ }
+ }
+ }
+ }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/fivepack/threepack/components/content.vue b/src/views/operate/fivepack/threepack/components/content.vue
index d07ac4e..9e7e0b5 100644
--- a/src/views/operate/fivepack/threepack/components/content.vue
+++ b/src/views/operate/fivepack/threepack/components/content.vue
@@ -77,6 +77,11 @@
<span>{{ scope.row.videoPoint.name }}</span>
</template>
</el-table-column>
+ <el-table-column prop="status" label="鐘舵��" min-width="10">
+ <template slot-scope="scope">
+ <span>{{ scope.row.status==1?'缁忚惀':'鍊掗棴' }}</span>
+ </template>
+ </el-table-column>
<el-table-column prop="operation" label="鎿嶄綔" min-width="20">
<template slot-scope="scope">
<div v-if="!isStorePage()" class="operation">
@@ -208,6 +213,7 @@
getStoreInfoList({ keyword: this.storeCode, status })
.then(({ list, pageSize, totalPage }) => {
this.tableData = list;
+ console.log(list);
this.pageSize = pageSize;
this.totalNum = totalPage;
})
--
Gitblit v1.8.0