From f551b10b0c04a902ea089b4a434bb9537b94496e Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期四, 29 十二月 2022 17:14:59 +0800 Subject: [PATCH] Merge branch 'dev1.0' of http://42.193.1.25:9521/r/sccg_ui into dev1.0 --- .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