From 3286dd82b83adf92cc576300e9e73a4dfb2aa880 Mon Sep 17 00:00:00 2001 From: luobisheng <727299681@qq.com> Date: 星期四, 10 十一月 2022 11:12:03 +0800 Subject: [PATCH] 店铺管理 --- src/views/operate/fivepack/threepack/components/updateUser/index.vue | 119 ++++++- /dev/null | 340 ------------------------ src/views/operate/fivepack/shop/index.vue | 27 - src/views/operate/fivepack/threepack/components/content.vue | 256 ++++++++++++++++++ src/views/operate/fivepack/threepack/index.vue | 71 ---- 5 files changed, 356 insertions(+), 457 deletions(-) diff --git a/src/views/operate/fivepack/shop/components/createUser/index.vue b/src/views/operate/fivepack/shop/components/createUser/index.vue deleted file mode 100644 index 6a17d2b..0000000 --- a/src/views/operate/fivepack/shop/components/createUser/index.vue +++ /dev/null @@ -1,343 +0,0 @@ -<template> - <div class="createUser"> - <main> - <div class="mainContent"> - <el-form ref="user" label-width="140px" autoComplete="on" :model="store" :rules="createUserRules" - label-position="right"> - <!-- 搴楅摵绫诲瀷 --> - <el-form-item class="optionItem" label="搴楅摵绫诲瀷:" prop="type"> - <el-select v-model="store.type" placeholder="璇烽�夋嫨搴楅摵绫诲瀷"> - <el-option value="1"> - <el-tree ref="tree" :check-strictly="true" :data="shopTypeList" :props="defaultProps" - show-checkbox @check-change="handleCheck" default-expand-all node-key="id"> - </el-tree> - </el-option> - </el-select> - </el-form-item> - <!-- 搴楅摵鍚嶇О --> - <el-form-item class="optionItems" label="搴楅摵鍚嶇О:" prop="storename"> - <el-input v-model="store.storename" placeholder="璇峰~鍐欏簵閾哄悕绉�"></el-input> - </el-form-item> - <!-- 璐熻矗浜� --> - <el-form-item class="optionItem" label="璐熻矗浜�:" prop="owner"> - <el-input v-model="store.owner" placeholder="璇峰~鍐欏簵閾鸿礋璐d汉鍚嶅瓧"></el-input> - </el-form-item> - <!-- 搴楅摵鎻忚堪 --> - <el-form-item class="optionItem" label="搴楅摵鎻忚堪:" prop="description"> - <el-input type="textarea" :autosize="{ minRows: 4, maxRows: 8 }" maxlength="300" show-word-limit - v-model="store.description" placeholder="杈撳叆搴楅摵鎻忚堪"></el-input> - <!-- <el-input type="textarea" v-model="user.storedesc" placeholder="杈撳叆閮ㄩ棬鎻忚堪"></el-input> --> - </el-form-item> - <!-- 鑱旂郴鏂瑰紡 --> - <el-form-item class="optionItem" label="鑱旂郴鏂瑰紡:" prop="contact"> - <el-input v-model="store.contact" placeholder="璇峰~鍐欏簵閾鸿仈绯绘柟寮�"></el-input> - </el-form-item> - <!-- 搴楅摵鍦板潃 --> - <el-form-item class="optionItem" label="搴楅摵鍦板潃:" prop="storeaddr"> - <el-input v-model="store.storeaddr" placeholder="璇峰~鍐欏簵閾鸿缁嗗湴鍧�"></el-input> - </el-form-item> - </el-form> - </div> - </main> - <footer> - <div class="optionBtn"> - <el-button class="btn reset" @click="handleBack">鍙栨秷</el-button> - <el-button type="primary" class="btn submit" @click="handleStore">纭畾</el-button> - </div> - </footer> - </div> -</template> -<script> -import { getCodeList } from '@/utils/helper' -export default { - data() { - const validateNickname = (rule, value, callback) => { - if (!value) { - callback(new Error("璐熻矗浜轰笉鑳戒负绌�")); - } else { - callback(); - } - }; - const validateShopName = (rule, value, callback) => { - if (!value) { - callback(new Error('搴楅摵鍚嶇О涓嶈兘涓虹┖')); - } else { - callback(); - } - }; - const validateTruename = (rule, value, callback) => { - if (!value) { - callback(new Error('搴楅摵鍦板潃涓嶈兘涓虹┖')); - } else { - callback() - } - }; - const validatePhone = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欐墜鏈哄彿鐮�")); - } else { - const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/ - if (!rep.test(value)) { - callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜"); - } else { - callback(); - } - } - }; - // const validateMail = (rule, value, callback) => { - // if (value) { - // callback(); - // } else { - // callback(new Error('搴楅摵鍚嶇О涓嶈兘涓虹┖')) - // } - // }; - const validateType = (rule, value, callback) => { - console.log(value) - if (!value) { - callback(new Error('闂ㄥ簵绫诲瀷涓嶈兘涓虹┖')); - } else { - callback(); - } - }; - const validateDesc = (rule, value, callback) => { - if (!value) { - callback(); - } else { - callback(); - } - }; - return { - store: { - contact: '', - idcardinfo: '', - owner: '', - storeaddr: '', - storename: '', - storedesc: '', - type: '', - }, - createUserRules: { - owner: [ - { required: true, trigger: "blur", validator: validateNickname }, - ], - type: [ - { - required: true, trigger: 'change', validator: validateType, - } - ], - // idcardinfo: [ - // { required: true, trigger: "blur", validator: validatePass }, - // ], - storeaddr: [ - { required: true, trigger: "blur", validator: validateTruename }, - ], - contact: [ - { required: true, trigger: "blur", validator: validatePhone }, - ], - description: [ - { required: false, trigger: "blur", validator: validateDesc }, - ], - storename: [ - { required: true, trigger: "blur", validator: validateShopName }, - ] - }, - shopTypeList: [ - { name: '绫诲瀷1', value: 1 }, { name: '绫诲瀷2', value: 2 } - ], - defaultProps: { - children: 'children', - label: 'name', - disabled: (data, node) => { - if (node.level === 1 && node.childNodes.length !== 0) { - return !data.leaf - } - } - }, - selectOrg: { - orgsid: [] - }, - } - }, - created() { - this.getShopTypeList(); - }, - methods: { - handleStore() { - const { store,selectOrg } = this; - this.$refs.user.validate((valid) => { - console.log(valid); - if (valid) { - this.$axios({ - method: 'post', - url: 'sccg/store/storeinfo/add', - data: { - contact: store.contact, - owner: store.owner, - storeaddr: store.storeaddr, - storename: store.storename, - description: store.description, - type: selectOrg.orgsid[0], - } - }) - .then(res => { - console.log(res); - if (res.code === 200) { - this.$message({ - type: 'success', - message: '娣诲姞鎴愬姛', - }) - this.$emit('sendDialog', { flag: false }); - } else { - this.$message({ - type: 'error', - message: res.message, - }) - } - }) - } else { - return false; - } - }) - }, - handleBack() { - this.$emit('sendDialog', { flag: false }) - }, - // 鑾峰彇瀛楀吀 - async getShopTypeList() { - let arr = await getCodeList('16'); - this.shopTypeList = this.createShopTypeTree(arr); - }, - // 鍒涘缓鍟嗛摵绫诲瀷鏍� - createShopTypeTree(arr) { - if (arr.length && arr.length !== 0) { - // 鑾峰彇椤剁骇鑿滃崟 - let treeRoot = arr.filter(item => { - return item.parentId === 0 - }) - console.log(treeRoot); - // 娣诲姞child - treeRoot.forEach(item => { - item.children = [] - arr.forEach(child => { - if (child.parentId === item.id) { - item.children.push(child) - } - }) - }) - return treeRoot; - } - }, - handleCheck(data, checked) { - console.log(data) - this.store.type = data.name; - // 鑾峰彇褰撳墠閫夋嫨鐨刬d鍦ㄦ暟缁勪腑鐨勭储寮� - const indexs = this.selectOrg.orgsid.indexOf(data.id) - // 濡傛灉涓嶅瓨鍦ㄦ暟缁勪腑锛屽苟涓旀暟缁勪腑宸茬粡鏈変竴涓猧d骞朵笖checked涓簍rue鐨勬椂鍊欙紝浠h〃涓嶈兘鍐嶆閫夋嫨銆� - if (indexs < 0 && this.selectOrg.orgsid.length === 1 && checked) { - this.$message({ - message: '鍙兘閫夋嫨涓�涓儴闂紒', - type: 'warning', - showClose: true - }) - // 璁剧疆宸查�夋嫨鐨勮妭鐐逛负false 寰堥噸瑕� - this.$refs.tree.setChecked(data, false) - } else if (this.selectOrg.orgsid.length === 0 && checked) { - // 鍙戠幇鏁扮粍涓虹┖ 骞朵笖鏄凡閫夋嫨 - // 闃叉鏁扮粍鏈夊�硷紝棣栧厛娓呯┖锛屽啀push - this.selectOrg.orgsid = [] - this.selectOrg.orgsid.push(data.id) - } else if ( - indexs >= 0 && - this.selectOrg.orgsid.length === 1 && - !checked - ) { - // 鍐嶆鐩存帴杩涜璧嬪�间负绌烘搷浣� - this.selectOrg.orgsid = [] - this.store.storetype = '' - } - }, - }, - props: ['sendDialog'] -} -</script> -<style lang="scss" scoped> -.createUser { - border-radius: 1px; - background-color: #09152f; - padding-bottom: 50px; - - main { - text-align: left; - padding: 0 55px; - background-color: #09152f; - padding-top: 20px; - - .mainContent { - display: flex; - justify-content: center; - margin-top: 50px; - - &::v-deep .el-form-item__label { - color: #4b9bb7; - } - - &::v-deep .el-input__inner { - background-color: #09152f; - border: 1px solid #17324c; - } - - &::v-deep .el-textarea__inner { - background-color: #09152f; - border: 1px solid #17324c; - } - - .el-form-item__content { - width: 400px; - - .el-select { - width: 100%; - } - } - - .optionHandleSp { - display: flex; - - .areaNumber, - .moreNumber { - flex: 1; - } - - .telNumber { - flex: 2; - } - } - - } - } - - footer { - border-top: 1px solid #4b9bb7; - display: flex; - justify-content: flex-end; - padding: 0 20px; - - .optionBtn { - display: flex; - margin-top: 20px; - - .btn { - padding: 12px 50px; - } - } - } - - ::v-deep .el-textarea__inner { - background-color: #09152f; - border: 1px solid #17324c; - } - - ::v-deep .el-input__count { - background-color: #09152f; - } -} -</style> \ No newline at end of file diff --git a/src/views/operate/fivepack/shop/components/header/index.vue b/src/views/operate/fivepack/shop/components/header/index.vue deleted file mode 100644 index bdda097..0000000 --- a/src/views/operate/fivepack/shop/components/header/index.vue +++ /dev/null @@ -1,131 +0,0 @@ -<template> - <header> - <div class="headerContent"> - <div class="find"> - <div class="search"> - <span>杈撳叆鏌ヨ:</span> - <el-input placeholder="搴楅摵(闂ㄥ簵)鍚嶇О" v-model="search"></el-input> - </div> - <!-- <div class="status"> - <span>搴楅摵鐘舵��:</span> - <el-input placeholder="閫夋嫨搴楅摵鐘舵��" v-model="shopStatus"></el-input> - </div> --> - <div class="findBtn"> - <el-button type="primary" @click="setSearch" icon="el-icon-search">鏌ヨ</el-button> - <el-button icon="el-icon-delete-solid" @click="clearSearch">閲嶇疆</el-button> - </div> - </div> - <div class="add"> - <el-button class="addBtn" type="primary" @click="dialogCreate = true" icon="el-icon-plus">娣诲姞</el-button> - </div> - - </div> - <div class="footer"> - <el-dialog :visible.sync="dialogCreate" title="娣诲姞搴楅摵" width="45%" v-if="dialogCreate" :before-close="handleClose"> - <createUser @sendDialog="sendDialog" /> - </el-dialog> - </div> - </header> -</template> -<script> -import createUser from "../createUser"; -export default { - components: { - createUser, - }, - data() { - return { - dialogCreate: false, - search: '', - shopStatus:'', - } - }, - methods: { - // 杩斿洖缁欑埗绾ф悳绱㈠唴瀹� - setSearch() { - this.$emit('getSearch', { text: this.search }) - }, - // 鐖剁骇鍏抽棴dialog - sendDialog(flag) { - console.log(flag); - this.dialogCreate = flag.flag; - this.$emit('setDialog', { flag: true }) - }, - //鍏抽棴dialog - handleClose(done){ - console.log(done); - this.$confirm('纭畾鍏抽棴锛�') - .then(_=>{ - done(); - }) - .catch(err=>{ - }) - }, - // 娓呯┖search - clearSearch(){ - this.search = ''; - this.$emit('getSearch',{text:this.search}); - }, - }, - props: ['setDialog', 'getSearch', 'flag'], -} -</script> -<style lang="scss" scoped> -header { - background-color: #09152f; - border: 1pox solid #fff; - - .headerContent { - padding: 0 40px; - display: flex; - line-height: 100px; - justify-content: space-between; - align-items: center; - .find{ - display: flex; - } - .search, - .status { - display: flex; - justify-content: flex-start; - - span { - flex: 1; - } - - .el-input { - flex: 2; - color: #1d3f57; - - &::v-deep .el-input__inner { - background-color: #09152f; - border: 1px solid #17324c; - } - } - - } - - .status { - margin-left: 20px; - } - - .findBtn { - line-height: 100px; - margin-left: 15px; - display: flex; - align-items: center; - - .el-button { - padding: 12px 25px; - } - } - - .addBtn { - padding: 12px 30px; - margin-left: 20%; - } - - - } -} -</style> \ No newline at end of file diff --git a/src/views/operate/fivepack/shop/components/main/index.vue b/src/views/operate/fivepack/shop/components/main/index.vue deleted file mode 100644 index 337323f..0000000 --- a/src/views/operate/fivepack/shop/components/main/index.vue +++ /dev/null @@ -1,285 +0,0 @@ -<template> - <main> - <div class="mainContent"> - <!-- 鏁版嵁灞曠ず --> - <el-table ref="multipleTable" - :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}" - :data="tableData" style="width: 100%" :row-class-name="tableRowClassName"> - <el-table-column type="selection" min-width="5"> - </el-table-column> - <el-table-column prop="storeNumber" label="搴楅摵缂栧彿" min-width="10"> - </el-table-column> - <el-table-column label="搴楅摵鍚嶇О" min-width="10"> - <template slot-scope="scope">{{ scope.row.storeName }}</template> - </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="operation" label="鎿嶄綔" min-width="15"> - <template slot-scope="scope"> - <div class="operation"> - <el-link icon="el-icon-edit" :underline="false" @click.native.prevent='handleEdit(scope.row)'>缂栬緫</el-link> - <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false" - @click.native.prevent="hadnleDelete(scope.row)">鍒犻櫎</el-link> - </div> - </template> - </el-table-column> - </el-table> - <!-- 鏌ョ湅淇敼椤甸潰 --> - <el-dialog :visible.sync="dialogUpdate" width="45%" v-if="dialogUpdate" - title="缂栬緫鍟嗛摵淇℃伅" :before-close="handleClose"> - <updateUser :userInfo=userInfo @changeDialog="changeDialog" /> - </el-dialog> - <!-- 鍒嗛〉 --> - <div class="pagination"> - <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="totalNum" - :page-size="pageSize" @current-change="changeCurrentPage" @prev-click="handlePrev" - @next-click="handleNext"> - </el-pagination> - </div> - </div> - </main> -</template> -<script> -import helper from '@/utils/mydate' -import updateUser from '../updateUser'; -export default { - components: { - updateUser - }, - data() { - return { - tableData: [], - search: "", - dialogUpdate: false, - userInfo: '', - totalNum: 0, - pageSize: 10, - currentPage: 1, - renderFlag: false, - } - }, - created() { - this.getUserList(); - }, - methods: { - // 鍏抽棴寮圭獥 - handleClose(done){ - this.$confirm('纭鍏抽棴') - .then(_=>{ - done(); - }) - .catch(err=>{ - console.log(err); - }) - }, - // 鏀瑰彉寮圭獥鐘舵�� - changeDialog({flag}){ - this.dialogUpdate = flag; - this.getUserList(); - }, - // 鍒犻櫎 - hadnleDelete({id}) { - console.log(id); - this.$confirm('纭畾鍒犻櫎锛�') - .then(_=>{ - this.$axios({ - method:'get', - url:`sccg/store/storeinfo/delete/${id}` - }) - .then(res=>{ - if(res.code === 200){ - this.$message({ - type:'success', - message:'鍒犻櫎鎴愬姛', - }) - this.getUserList(); - } - }) - .catch(err=>{ - console.log(err,2) - }) - }) - .catch(err=>{ - console.log(err,1); - }) - }, - // 缂栬緫 - async handleEdit({id}){ - this.userInfo = await this.getShopInfo(id); - this.dialogUpdate = true; - }, - // 鑾峰彇闂ㄥ簵淇℃伅 - async getShopInfo(id){ - let obj = {}; - await this.$axios({ - method:'get', - url:`sccg/store/storeinfo/${id}`, - }) - .then(res=>{ - obj = res.data - }) - return obj; - }, - // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠� - changeCurrentPage(page) { - this.currentPage = page; - this.getUserList(); - }, - // 涓婁竴椤电偣鍑讳簨浠� - handlePrev(page) { - this.currentPage = page; - this.getUserList(); - }, - // 涓嬩竴椤电偣鍑讳簨浠� - handleNext(page) { - this.currentPage = page; - this.getUserList(); - }, - // 鑾峰彇鐢ㄦ埛鍒楄〃 - getUserList() { - const that = this; - const { currentPage, pageSize, search } = this; - this.$axios.get(`sccg/store/storeinfo/list?keyword=${search}&pageNum=${currentPage}&pageSize=${pageSize}`) - .then(res => { - if (res.code === 200) { - res.data.list.forEach(item => { - item.createTime = helper(item.createTime); - item.status == 1 ? item.status = true : item.status = false; - }) - that.totalNum = res.data.total; - that.tableData = res.data.list; - this.renderFlag = true; - } - }) - }, - // 璁剧疆琛ㄦ牸鏂戦┈绾� - tableRowClassName({ row, rowIndex }) { - if ((rowIndex + 1) % 2 == 0) { - return 'warning-row'; - } else { - return 'success-row'; - } - return ''; - }, - }, - props: ['refresh', 'keyword', 'resetFresh'], - watch: { - refresh: { - handler(newValue, oldValue) { - if (newValue == true) { - this.search = ''; - if (this.keyword != '') { - this.search = this.keyword; - } - this.getUserList(); - this.$emit('resetFresh', { flag: false }) - } - }, - immediate: true - } - } -} -</script> -<style lang="scss" scoped> -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; - - .line { - padding: 0 5px; - } - - .el-button { - border: none; - } - - span:hover { - cursor: pointer; - } - } - } - - .el-table::v-deep .warning-row { - background: #06122c; - } - - .el-table::v-deep .success-row { - background: #071f39; - } - - &::v-deep .switchStyle .el-switch__label { - position: absolute; - display: none; - color: #fff; - } - - &::v-deep .el-switch__core { - background-color: rgba(166, 166, 166, 1); - } - - &::v-deep .switchStyle .el-switch__label--left { - z-index: 9; - left: 20px; - } - - &::v-deep .switchStyle .el-switch__label--right { - z-index: 9; - left: 4px; - } - - &::v-deep .switchStyle .el-switch__label.is-active { - display: block; - } - - &::v-deep .switchStyle.el-switch .el-switch__core, - &::v-deep .el-switch .el-switch__label { - width: 50px !important; - } -} -</style> \ No newline at end of file diff --git a/src/views/operate/fivepack/shop/components/updateUser/index.vue b/src/views/operate/fivepack/shop/components/updateUser/index.vue deleted file mode 100644 index bc4e04d..0000000 --- a/src/views/operate/fivepack/shop/components/updateUser/index.vue +++ /dev/null @@ -1,340 +0,0 @@ -<template> - <div class="createUser" v-if="showFlag"> - <main> - <div class="mainContent"> - <el-form ref="user" label-width="140px" autoComplete="on" :model="store" :rules="createUserRules" - label-position="right"> - <!-- 搴楅摵绫诲瀷 --> - <el-form-item class="optionItem" label="搴楅摵绫诲瀷:" prop="type"> - <el-select v-model="store.type" placeholder="璇烽�夋嫨搴楅摵绫诲瀷"> - <el-option value="1"> - <el-tree ref="tree" :check-strictly="true" :data="shopTypeList" :props="defaultProps" - show-checkbox @check-change="handleCheck" :default-checked-keys="[selectOrg.orgsid[0]]" default-expand-all node-key="id"> - </el-tree> - </el-option> - </el-select> - </el-form-item> - <!-- 搴楅摵鍚嶇О --> - <el-form-item class="optionItems" label="搴楅摵鍚嶇О:" prop="storeName"> - <el-input v-model="store.storeName" placeholder="璇峰~鍐欏簵閾哄悕绉�"></el-input> - </el-form-item> - <!-- 璐熻矗浜� --> - <el-form-item class="optionItem" label="璐熻矗浜�:" prop="owner"> - <el-input v-model="store.owner" placeholder="璇峰~鍐欏簵閾鸿礋璐d汉鍚嶅瓧"></el-input> - </el-form-item> - <!-- 搴楅摵鎻忚堪 --> - <el-form-item class="optionItem" label="搴楅摵鎻忚堪:" prop="description"> - <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" maxlength="300" show-word-limit - v-model="store.description" placeholder="杈撳叆搴楅摵鎻忚堪"></el-input> - </el-form-item> - <!-- 鑱旂郴鏂瑰紡 --> - <el-form-item class="optionItem" label="鑱旂郴鏂瑰紡:" prop="contact"> - <el-input v-model="store.contact" placeholder="璇峰~鍐欏簵閾鸿仈绯绘柟寮�"></el-input> - </el-form-item> - <!-- 搴楅摵鍦板潃 --> - <el-form-item class="optionItem" label="搴楅摵鍦板潃:" prop="storeAddress"> - <el-input v-model="store.storeAddress" placeholder="璇峰~鍐欏簵閾鸿缁嗗湴鍧�"></el-input> - </el-form-item> - </el-form> - </div> - </main> - <footer> - <div class="optionBtn"> - <el-button class="btn reset" @click="handleBack">鍙栨秷</el-button> - <el-button type="primary" class="btn submit" @click="handleUser">纭畾</el-button> - </div> - </footer> - </div> -</template> -<script> -import { getCodeList } from '@/utils/helper' -export default { - data() { - const validateNickname = (rule, value, callback) => { - if (!value) { - callback(new Error("璐熻矗浜轰笉鑳戒负绌�")); - } else { - callback(); - } - }; - const validatePass = (rule, value, callback) => { - if (!value) { - callback(); - } else { - callback(); - } - }; - const validateTruename = (rule, value, callback) => { - if (!value) { - callback(new Error('搴楅摵鍦板潃涓嶈兘涓虹┖')); - } else { - callback() - } - }; - const validatePhone = (rule, value, callback) => { - if (!value) { - callback(new Error("璇峰~鍐欐墜鏈哄彿鐮�")); - } else { - const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/ - if (!rep.test(value)) { - callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜"); - } else { - callback(); - } - } - }; - const validateMail = (rule, value, callback) => { - if (value) { - callback(); - } else { - callback(new Error('搴楅摵鍚嶇О涓嶈兘涓虹┖')) - } - }; - const validateType = (rule, value, callback) => { - if (!value) { - callback(new Error('闂ㄥ簵绫诲瀷涓嶈兘涓虹┖')); - } else { - callback(); - } - }; - const validateDesc = (rule, value, callback) => { - if (!value) { - callback(); - } else { - callback(); - } - }; - return { - store: { - }, - createUserRules: { - owner: [ - { required: true, trigger: "blur", validator: validateNickname }, - ], - storetype: [ - { - required: true, trigger: 'change', validator: validateType, - } - ], - idcardinfo: [ - { required: true, trigger: "blur", validator: validatePass }, - ], - storeAddress: [ - { required: true, trigger: "blur", validator: validateTruename }, - ], - contact: [ - { required: true, trigger: "blur", validator: validatePhone }, - ], - storeName: [ - { required: true, trigger: "blur", validator: validateMail }, - ], - description: [ - { required: false, trigger: "blur", validator: validateDesc }, - ], - }, - shopTypeList: [ - - ], - defaultProps: { - children: 'children', - label: 'name', - }, - selectOrg: { - orgsid: [] - }, - showFlag:false - } - }, - created() { - const { userInfo } = this; - this.store = userInfo - this.getShopTypeList(); - }, - methods: { - // 鑾峰彇瀛楀吀 - async getShopTypeList() { - let arr = await getCodeList('16'); - this.selectOrg.orgsid[0] = this.store.type - console.log(this.selectOrg.orgsid) - arr.forEach(item=>{ - item.id === this.store.type ? this.store.type = item.name : '鏆傛棤鍒嗙被' - }) - this.showFlag = true - this.shopTypeList = this.createShopTypeTree(arr); - }, - createShopTypeTree(arr) { - if (arr.length && arr.length !== 0) { - // 鑾峰彇椤剁骇鑿滃崟 - let treeRoot = arr.filter(item => { - return item.parentId === 0 - }) - console.log(treeRoot); - // 娣诲姞child - treeRoot.forEach(item => { - item.children = [] - arr.forEach(child => { - if (child.parentId === item.id) { - item.children.push(child) - } - }) - }) - return treeRoot; - } - }, - handleCheck(data, checked) { - // console.log(data) - this.store.type = data.name; - // 鑾峰彇褰撳墠閫夋嫨鐨刬d鍦ㄦ暟缁勪腑鐨勭储寮� - const indexs = this.selectOrg.orgsid.indexOf(data.id) - // 濡傛灉涓嶅瓨鍦ㄦ暟缁勪腑锛屽苟涓旀暟缁勪腑宸茬粡鏈変竴涓猧d骞朵笖checked涓簍rue鐨勬椂鍊欙紝浠h〃涓嶈兘鍐嶆閫夋嫨銆� - if (indexs < 0 && this.selectOrg.orgsid.length === 1 && checked) { - this.$message({ - message: '鍙兘閫夋嫨涓�涓儴闂紒', - type: 'warning', - showClose: true - }) - // 璁剧疆宸查�夋嫨鐨勮妭鐐逛负false 寰堥噸瑕� - this.$refs.tree.setChecked(data, false) - } else if (this.selectOrg.orgsid.length === 0 && checked) { - // 鍙戠幇鏁扮粍涓虹┖ 骞朵笖鏄凡閫夋嫨 - // 闃叉鏁扮粍鏈夊�硷紝棣栧厛娓呯┖锛屽啀push - this.selectOrg.orgsid = [] - this.selectOrg.orgsid.push(data.id) - } else if ( - indexs >= 0 && - this.selectOrg.orgsid.length === 1 && - !checked - ) { - // 鍐嶆鐩存帴杩涜璧嬪�间负绌烘搷浣� - this.selectOrg.orgsid = [] - this.store.storetype = '' - } - }, - handleUser() { - const { store } = this; - this.$refs.user.validate((valid) => { - console.log(valid); - if (valid) { - this.$axios({ - method: 'put', - url: 'sccg/store/storeinfo/update', - data: { - contact: store.contact, - idcardinfo: store.idCardInfo, - owner: store.owner, - storeAddress: store.storeAddress, - storeName: store.storeName, - id: store.id, - storePhoto: store.storePhoto, - storeScore: store.storeScore, - type:this.selectOrg.orgsid[0] - } - }) - .then(res => { - console.log(res); - if (res.code === 200) { - this.$message({ - type: 'success', - message: '淇敼鎴愬姛', - }) - this.$emit('changeDialog', { flag: false }); - } else { - this.$message({ - type: 'error', - message: res.message, - }) - } - }) - } else { - return false; - } - }) - }, - handleBack() { - this.$emit('changeDialog', { flag: false }) - } - }, - props: ['userInfo', 'changeDialog'] -} -</script> -<style lang="scss" scoped> -.createUser { - border-radius: 1px; - background-color: #09152f; - padding-bottom: 50px; - - main { - text-align: left; - padding: 0 55px; - background-color: #09152f; - padding-top: 20px; - - .mainContent { - display: flex; - justify-content: center; - margin-top: 50px; - - &::v-deep .el-form-item__label { - color: #4b9bb7; - } - - &::v-deep .el-input__inner { - background-color: #09152f; - border: 1px solid #17324c; - } - - &::v-deep .el-textarea__inner { - background-color: #09152f; - border: 1px solid #17324c; - } - - .el-form-item__content { - width: 400px; - - .el-select { - width: 100%; - } - } - - .optionHandleSp { - display: flex; - - .areaNumber, - .moreNumber { - flex: 1; - } - - .telNumber { - flex: 2; - } - } - - } - } - - footer { - border-top: 1px solid #4b9bb7; - display: flex; - justify-content: flex-end; - padding: 0 20px; - - .optionBtn { - display: flex; - margin-top: 20px; - - .btn { - padding: 12px 50px; - } - } - } - - ::v-deep .el-textarea__inner { - background-color: #09152f; - border: 1px solid #17324c; - } - - ::v-deep .el-input__count { - background-color: #09152f; - } -} -</style> \ No newline at end of file diff --git a/src/views/operate/fivepack/shop/index.vue b/src/views/operate/fivepack/shop/index.vue index 96b7aad..8cbb6a1 100644 --- a/src/views/operate/fivepack/shop/index.vue +++ b/src/views/operate/fivepack/shop/index.vue @@ -1,17 +1,12 @@ <template> <div class="userList"> - <myHeader @setDialog="changeDialog" @getSearch="getSearch"></myHeader> - <myMain :refresh="isFresh" :keyword="keyword" @resetFresh="resetFresh" /> + <store-content :model="'store'" /> </div> </template> <script> -import myHeader from "./components/header" -import myMain from "./components/main" +import storeContent from "@/views/operate/fivepack/threepack/components/content"; export default { - components: { - myHeader, - myMain - }, + components: { storeContent }, data() { return { isFresh: false, @@ -19,21 +14,6 @@ } }, methods: { - // 鑾峰彇鎼滅储杩斿洖缁撴灉 - getSearch({ text }) { - this.keyword = text; - this.isFresh = true; - }, - // 鑾峰彇鍒锋柊缁撴灉 - changeDialog({ flag }) { - console.log(flag); - this.isFresh = flag; - }, - // 閲嶇疆isFresh - resetFresh({ flag }) { - this.isFresh = flag; - console.log(this.isFresh); - } } } </script> @@ -63,7 +43,6 @@ &::v-deep .el-dialog__close { width: 20px; height: 20px; - // color: #fff; } &::v-deep .el-dialog__body { diff --git a/src/views/operate/fivepack/threepack/components/content.vue b/src/views/operate/fivepack/threepack/components/content.vue new file mode 100644 index 0000000..5efe156 --- /dev/null +++ b/src/views/operate/fivepack/threepack/components/content.vue @@ -0,0 +1,256 @@ +<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" @click="handleView(null, 'add')">娣诲姞</el-button> + </div> + </header> + <main> + <!-- 鏁版嵁灞曠ず --> + <el-table ref="multipleTable" + :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}" + :data="tableData" style="width: 100%" :row-class-name="tableRowClassName"> + <el-table-column type="selection" min-width="5"> + </el-table-column> + <el-table-column prop="storeNumber" label="搴楅摵缂栧彿" min-width="10"> + </el-table-column> + <el-table-column prop="storeName" label="搴楅摵鍚嶇О" min-width="10"> + </el-table-column> + <el-table-column prop="owner" label="搴楅摵鑱旂郴浜�" min-width="10"> + </el-table-column> + <el-table-column prop="contact" label="搴楅摵鑱旂郴鐢佃瘽" min-width="10"> + </el-table-column> + <el-table-column prop="storeAddress" label="搴楅摵璇︾粏鍦板潃" min-width="10"> + </el-table-column> + <el-table-column prop="relationVideo" label="鍏宠仈鎽勫儚鏈�" min-width="10"> + </el-table-column> + <el-table-column prop="operation" label="鎿嶄綔" min-width="20"> + <template slot-scope="scope"> + <div v-if="!isStorePage()" class="operation"> + <el-link icon="el-icon-edit" :underline="false" @click="handleView(scope.row, 'update')">缂栬緫</el-link> + <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false" @click="handleDelete(scope.row.id)">鍒犻櫎</el-link> + <el-link class="leftPx" icon="el-icon-edit" :underline="false">鎺ㄩ�佷俊鎭�</el-link> + <el-link class="leftPx" icon="el-icon-edit" :underline="false" @click="handleView(scope.row, 'view')">鏌ョ湅</el-link> + </div> + <div v-else class="operation"> + <el-link icon="el-icon-edit" :underline="false" @click="handleView(scope.row, 'update')">缂栬緫</el-link> + <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false" + @click="handleDelete(scope.row.id)">鍒犻櫎</el-link> + </div> + </template> + </el-table-column> + </el-table> + <!-- 鏌ョ湅淇敼椤甸潰 --> + <el-dialog :visible.sync="dialogUpdate" width="45%" + :title="dialogType ? '淇敼搴楅摵淇℃伅' : '鏌ョ湅搴楅摵淇℃伅'" :before-close="handleClose"> + <updateUser :dialogType="dialogType" :storeInfo="storeInfo" :isStorePage="isStorePage()" @closeDialog="closeDialog" /> + </el-dialog> + <!-- 鍒嗛〉 --> + <div class="pagination"> + <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="totalNum" + :page-size="pageSize" @current-change="changeCurrentPage"> + </el-pagination> + </div> + </main> + </div> +</template> +<script> +import updateUser from "@/views/operate/fivepack/threepack/components/updateUser"; +import { getStoreInfoList, deleteStoreInfo } from "@/api/operate/storeManagement"; + +export default { + components: { updateUser }, + + created() { + this.search(); + }, + + props: ['model'], + + data() { + return { + storeCode: null, + storeStatus: null, + options: [{ label: '缁忚惀', value: 1 }, { label: '鍊掗棴', value: 2 }], + tableData: [], + dialogUpdate: false, + currentPage: 1, + totalNum: 0, + pageSize: 10, + userInfo: null, + dialogType: '', + storeInfo: null + } + }, + + methods: { + search() { + getStoreInfoList({ keyword: this.storeCode }) + .then(({ list, pageSize, totalPage }) => { + this.tableData = list; + this.pageSize = pageSize; + this.totalNum = totalPage; + }) + .catch(err => this.$message({ type: 'error', message: err })); + }, + + handleReset() { + this.storeCode = ''; + this.storeStatus = null; + this.search(); + }, + + handleView(row, type) { + this.dialogUpdate = true; + this.storeInfo = row; + this.dialogType = type; + }, + + handleDelete(id) { + deleteStoreInfo(id) + .then(() => { + this.$message({ type: 'success', message }); + this.search(); + }) + .catch(err => this.$message({ type: 'error', message: err })); + }, + + 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/updateUser/index.vue b/src/views/operate/fivepack/threepack/components/updateUser/index.vue index 2607fba..b4c5f9a 100644 --- a/src/views/operate/fivepack/threepack/components/updateUser/index.vue +++ b/src/views/operate/fivepack/threepack/components/updateUser/index.vue @@ -4,31 +4,35 @@ <div class="mainContent"> <el-form ref="store" label-width="140px" autoComplete="on" :model="store" :rules="rules" label-position="right"> + <!-- 搴楅摵绫诲瀷 --> + <el-form-item v-if="isStorePage" class="optionItem" label="搴楅摵绫诲瀷:" prop="type"> + <el-cascader :options="shopTypeList" v-model="store.type" /> + </el-form-item> <!-- 搴楅摵缂栧彿 --> <el-form-item class="optionItem" label="搴楅摵缂栧彿:" prop="storeNumber"> - <el-input v-model="store.storeNumber" placeholder="璇峰~鍐欏簵閾虹紪鍙�" :disabled="!updateFlag"></el-input> + <el-input v-model="store.storeNumber" placeholder="璇峰~鍐欏簵閾虹紪鍙�" :disabled="isView()"></el-input> </el-form-item> <!-- 搴楅摵鍚嶇О --> - <el-form-item class="optionItem" label="搴楅摵鍚嶇О:" prop="storeName"> - <el-input v-model="store.storeName" placeholder="璇峰~鍐欏簵鍚嶇О" :disabled="!updateFlag"></el-input> + <el-form-item class="optionItem" label="搴楅摵鍚嶇О:" prop="storename"> + <el-input v-model="store.storename" placeholder="璇峰~鍐欏簵鍚嶇О" :disabled="isView()"></el-input> </el-form-item> <!-- 搴楅摵鑱旂郴浜� --> <el-form-item class="optionItem" label="搴楅摵鑱旂郴浜�:" prop="owner"> - <el-input v-model="store.owner" placeholder="璇峰~鍐欏簵閾鸿仈绯讳汉" :disabled="!updateFlag"></el-input> + <el-input v-model="store.owner" placeholder="璇峰~鍐欏簵閾鸿仈绯讳汉" :disabled="isView()"></el-input> </el-form-item> <!-- 搴楅摵鑱旂郴鐢佃瘽 --> <el-form-item class="optionItem" label="搴楅摵鑱旂郴鐢佃瘽:" prop="contact"> - <el-input v-model="store.contact" placeholder="璇峰~鍐欏簵閾鸿仈绯荤數璇�" :disabled="!updateFlag"></el-input> + <el-input v-model="store.contact" placeholder="璇峰~鍐欏簵閾鸿仈绯荤數璇�" :disabled="isView()"></el-input> </el-form-item> <!-- 搴楅摵璇︾粏鍦板潃 --> - <el-form-item class="optionItem" label="搴楅摵璇︾粏鍦板潃:" prop="storeAddress"> - <el-input v-model="store.storeAddress" placeholder="璇峰~鍐欏簵閾鸿缁嗗湴鍧�" :disabled="!updateFlag"></el-input> + <el-form-item class="optionItem" label="搴楅摵璇︾粏鍦板潃:" prop="storeaddr"> + <el-input v-model="store.storeaddr" placeholder="璇峰~鍐欏簵閾鸿缁嗗湴鍧�" :disabled="isView()"></el-input> </el-form-item> <!-- 鍏宠仈鎽勫儚鏈� --> - <el-form-item class="optionItem" label="鍏宠仈鎽勫儚鏈�:" prop="relationVideo"> - <el-input v-model="store.relationVideo" placeholder="璇峰~鍐欏叧鑱旀憚鍍忔満" :disabled="!updateFlag"></el-input> + <el-form-item v-if="!isStorePage" class="optionItem" label="鍏宠仈鎽勫儚鏈�:" prop="relationVideo"> + <el-input v-model="store.relationVideo" placeholder="璇峰~鍐欏叧鑱旀憚鍍忔満" :disabled="isView()"></el-input> </el-form-item> - <el-form-item v-if="updateFlag"> + <el-form-item v-if="!isView()"> <div class="optionBtn"> <el-button type="primary" class="btn submit" @click.native.prevent="onSubmit">鎻愪氦</el-button> </div> @@ -39,52 +43,115 @@ </div> </template> <script> -import { deepClone } from "@/utils/helper"; -import { updateStoreInfo } from "@/api/operate/storeManagement"; -import { SUCCESS_CODE } from "@/utils"; +import {deepClone, getCodeList} from "@/utils/helper"; +import {addStoreInfo, updateStoreInfo} from "@/api/operate/storeManagement"; export default { data() { + const validatePhone = (rule, value, callback) => { + if (!value) { + callback(new Error("璇峰~鍐欐墜鏈哄彿鐮�")); + } else { + const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/ + if (!rep.test(value)) { + callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜"); + } else { + callback(); + } + } + }; return { store: { storeNumber: '', - storeName: '', + storename: '', owner: '', contact: '', - storeAddress: '', - relationVideo: '' + storeaddr: '', + relationVideo: '', + type: null }, rules: { + type: [{ required: true, trigger: ['blue', 'change'], message: '璇烽�夋嫨搴楅摵绫诲瀷' }], storeNumber: [{ required: true, trigger:'blur', message: '璇疯緭鍏ュ簵閾虹紪鍙�' }], - storeName: [{ required: true, trigger:'blur', message: '璇疯緭鍏ュ簵閾哄悕绉�' }], - owner: [{ required: true, trigger:'blur', message: '璇疯緭鍏ュ簵閾鸿仈绯讳汉' }], - contact: [{ required: true, trigger:'blur', message: '璇疯緭鍏ュ簵閾鸿仈绯荤數璇�:' }], - storeAddress: [{ required: true, trigger:'blur', message: '璇疯緭鍏ュ簵閾鸿缁嗗湴鍧�' }], + storename: [{ required: true, trigger:'blur', message: '璇疯緭鍏ュ簵閾哄悕绉�' }], + owner: [{ required: true, trigger:'blur', message: '璇疯緭鍏ュ簵閾鸿仈绯讳汉' }], + contact: [{ required: true, trigger:'blur', validator: validatePhone }], + storeaddr: [{ required: true, trigger:'blur', message: '璇疯緭鍏ュ簵閾鸿缁嗗湴鍧�' }], relationVideo: [{ required: false, trigger:'blur', message: '璇疯緭鍏ュ叧鑱旀憚鍍忔満' }] }, + shopTypeList: [] } }, created() { this.store = deepClone(this.storeInfo); + if (this.isCreated()) { + this.getShopTypeList(); + } }, methods: { onSubmit() { this.$refs.store.validate(valid => { if (valid) { - updateStoreInfo(this.store) - .then(() => { + if (this.isCreated()) { + this.store.type = this.store.type[1]; + addStoreInfo(this.store) + .then(() => { this.$message({ type: 'success', message: '鎿嶄綔鎴愬姛' }); this.$emit('closeDialog'); - }) - .catch(err => this.$message({ type: 'error', message: err })); + }) + .catch(err => this.$message({ type: 'error', message: err })); + } else { + updateStoreInfo(this.store) + .then(() => { + this.$message({ type: 'success', message: '鎿嶄綔鎴愬姛' }); + this.$emit('closeDialog'); + }) + .catch(err => this.$message({ type: 'error', message: err })); + } } else { this.$message({ type: 'warning', message: '璇锋鏌ュ繀濉」' }); } }); + }, + + isView() { + return this.dialogType === 'view'; + }, + + isCreated() { + return this.dialogType === 'add'; + }, + + // 鑾峰彇瀛楀吀 + async getShopTypeList() { + let arr = await getCodeList('16'); + this.shopTypeList = this.createShopTypeTree(arr); + }, + + // 鍒涘缓鍟嗛摵绫诲瀷鏍� + createShopTypeTree(arr) { + if (arr.length && arr.length !== 0) { + // 鑾峰彇椤剁骇鑿滃崟 + let treeRoot = arr.filter(item => { + return item.parentId === 0 + }) + // 娣诲姞child + treeRoot.forEach(item => { + item.children = [] + arr.forEach(child => { + child.value = child.id; + child.label = child.name; + if (child.parentId === item.id) { + item.children.push(child) + } + }) + }) + return treeRoot; + } } }, - props: ['storeInfo', 'updateFlag'] + props: ['storeInfo', 'dialogType', 'isStorePage'] } </script> <style lang="scss" scoped> @@ -96,7 +163,6 @@ text-align: left; padding: 0 55px; background-color: #09152f; - padding-bottom: 50px; .mainContent { display: flex; @@ -145,4 +211,5 @@ background-color: #09152f; border: 1px solid #17324c; } + </style> \ No newline at end of file diff --git a/src/views/operate/fivepack/threepack/index.vue b/src/views/operate/fivepack/threepack/index.vue index 7c4b16e..188f628 100644 --- a/src/views/operate/fivepack/threepack/index.vue +++ b/src/views/operate/fivepack/threepack/index.vue @@ -1,80 +1,17 @@ <template> <div class="userList"> - <myAside /> - <div class="right"> - <header> - <div class="headerContent"> - <div class="find"> - <div class="search-item"> - <span>杈撳叆鏌ヨ:</span> - <el-input style="flex: 1" placeholder="璇疯緭鍏ュ簵閾虹紪鍙�" v-model="storeCode" slot="prefix"></el-input> - </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> - </div> - </header> - <main> - <!-- 鏁版嵁灞曠ず --> - <el-table ref="multipleTable" - :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}" - :data="tableData" style="width: 100%" :row-class-name="tableRowClassName"> - <el-table-column type="selection" min-width="5"> - </el-table-column> - <el-table-column prop="storeNumber" label="搴楅摵缂栧彿" min-width="10"> - </el-table-column> - <el-table-column prop="storeName" label="搴楅摵鍚嶇О" min-width="10"> - </el-table-column> - <el-table-column prop="owner" label="搴楅摵鑱旂郴浜�" min-width="10"> - </el-table-column> - <el-table-column prop="contact" label="搴楅摵鑱旂郴鐢佃瘽" min-width="10"> - </el-table-column> - <el-table-column prop="storeAddress" label="搴楅摵璇︾粏鍦板潃" min-width="10"> - </el-table-column> - <el-table-column prop="relationVideo" label="鍏宠仈鎽勫儚鏈�" min-width="10"> - </el-table-column> - <el-table-column prop="operation" label="鎿嶄綔" min-width="20"> - <template slot-scope="scope"> - <div class="operation"> - <el-link icon="el-icon-edit" :underline="false" @click="handleView(scope.row, 'update')">缂栬緫</el-link> - <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false" @click="handleDelete(scope.row.id)">鍒犻櫎</el-link> - <el-link class="leftPx" icon="el-icon-edit" :underline="false">鎺ㄩ�佷俊鎭�</el-link> - <el-link class="leftPx" icon="el-icon-edit" :underline="false" @click="handleView(scope.row, 'view')">鏌ョ湅</el-link> - </div> - </template> - </el-table-column> - </el-table> - <!-- 鏌ョ湅淇敼椤甸潰 --> - <el-dialog :visible.sync="dialogUpdate" width="45%" - :title="updateFlag ? '淇敼搴楅摵淇℃伅' : '鏌ョ湅搴楅摵淇℃伅'" :before-close="handleClose"> - <updateUser :updateFlag="updateFlag" :storeInfo="storeInfo" @closeDialog="closeDialog" /> - </el-dialog> - <!-- 鍒嗛〉 --> - <div class="pagination"> - <el-pagination background :current-page="currentPage" layout="prev, pager, next" :total="totalNum" - :page-size="pageSize" @current-change="changeCurrentPage"> - </el-pagination> - </div> - </main> - </div> + <myAside /> + <store-content :model="'three-pack'" /> </div> </template> <script> import myAside from "./components/aside"; import updateUser from "@/views/operate/fivepack/threepack/components/updateUser"; +import storeContent from "@/views/operate/fivepack/threepack/components/content"; import { getStoreInfoList, deleteStoreInfo } from "@/api/operate/storeManagement"; -import { SUCCESS_CODE } from "@/utils"; export default { - components: { myAside, updateUser }, + components: { myAside, storeContent, updateUser }, created() { this.search(); -- Gitblit v1.8.0