table不随屏幕改变尺寸问题
							parent
							
								
									087ffe230d
								
							
						
					
					
						commit
						0df88e08e4
					
				|  | @ -1,263 +1,329 @@ | |||
| <template> | ||||
|     <div class="search"> | ||||
|         <Row> | ||||
|             <Col> | ||||
|                 <Card> | ||||
|                     <Row @keydown.enter.native="handleSearch"> | ||||
|                         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|                           <Form-item label="会员名称" prop="memberName"> | ||||
|                             <Input | ||||
|                               type="text" | ||||
|                               v-model="searchForm.memberName" | ||||
|                               placeholder="请输入会员名称" | ||||
|                               clearable | ||||
|                               style="width: 200px" | ||||
|                             /> | ||||
|                           </Form-item> | ||||
|                             <Form-item label="状态"> | ||||
|                                 <Select v-model="searchForm.distributionStatus" style="width:200px"> | ||||
|                                     <Option v-for="item in distributionStatusList" :value="item.value" :key="item.value">{{ item.label }}</Option> | ||||
|                                 </Select> | ||||
|                             </Form-item> | ||||
|                           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|                         </Form> | ||||
|                     </Row> | ||||
|                     <Row class="padding-row"> | ||||
|                         <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|                     </Row> | ||||
|                     <Row type="flex" justify="end" class="page"> | ||||
|                         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" size="small" show-total show-elevator show-sizer></Page> | ||||
|                     </Row> | ||||
|                 </Card> | ||||
|             </Col> | ||||
|         </Row> | ||||
| 
 | ||||
|     </div> | ||||
|   <div class="search"> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form | ||||
|           ref="searchForm" | ||||
|           :model="searchForm" | ||||
|           inline | ||||
|           :label-width="70" | ||||
|           class="search-form" | ||||
|         > | ||||
|           <Form-item label="会员名称" prop="memberName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.memberName" | ||||
|               placeholder="请输入会员名称" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="状态"> | ||||
|             <Select | ||||
|               v-model="searchForm.distributionStatus" | ||||
|               style="width: 200px" | ||||
|             > | ||||
|               <Option | ||||
|                 v-for="item in distributionStatusList" | ||||
|                 :value="item.value" | ||||
|                 :key="item.value" | ||||
|                 >{{ item.label }}</Option | ||||
|               > | ||||
|             </Select> | ||||
|           </Form-item> | ||||
|           <Button | ||||
|             @click="handleSearch" | ||||
|             type="primary" | ||||
|             icon="ios-search" | ||||
|             class="search-btn" | ||||
|             >搜索</Button | ||||
|           > | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
|     import { | ||||
|         getDistributionListData, | ||||
|         retreatDistribution, | ||||
|         resumeDistribution, | ||||
|         auditDistribution, | ||||
|     } from "@/api/distribution"; | ||||
|     import  {distributionStatusList}  from './dataJson.js'; | ||||
|     export default { | ||||
|         name: "distribution", | ||||
|         components: { | ||||
| import { | ||||
|   getDistributionListData, | ||||
|   retreatDistribution, | ||||
|   resumeDistribution, | ||||
|   auditDistribution, | ||||
| } from "@/api/distribution"; | ||||
| import { distributionStatusList } from "./dataJson.js"; | ||||
| export default { | ||||
|   name: "distribution", | ||||
|   components: {}, | ||||
|   data() { | ||||
|     return { | ||||
|       distributionStatusList, // 分销状态 | ||||
|       openSearch: true, // 显示搜索 | ||||
|       loading: true, // 表单加载状态 | ||||
|       searchForm: { | ||||
|         // 搜索框初始化对象 | ||||
|         pageNumber: 1, // 当前页数 | ||||
|         pageSize: 10, // 页面大小 | ||||
|       }, | ||||
|       selectList: [], // 多选数据 | ||||
|       selectCount: 0, // 多选计数 | ||||
|       columns: [ | ||||
|         { | ||||
|           title: "会员名称", | ||||
|           key: "memberName", | ||||
|           minWidth: 120, | ||||
|           tooltip: true, | ||||
|         }, | ||||
|         data() { | ||||
|             return { | ||||
|                 distributionStatusList, // 分销状态 | ||||
|                 openSearch: true, // 显示搜索 | ||||
|                 loading: true, // 表单加载状态 | ||||
|                 searchForm: { // 搜索框初始化对象 | ||||
|                     pageNumber: 1, // 当前页数 | ||||
|                     pageSize: 10, // 页面大小 | ||||
|                 }, | ||||
|                 selectList: [], // 多选数据 | ||||
|                 selectCount: 0, // 多选计数 | ||||
|                 columns: [ | ||||
|                     { | ||||
|                         title: "会员名称", | ||||
|                         key: "memberName", | ||||
|                         minWidth: 120, | ||||
|                         tooltip: true | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "推广单数", | ||||
|                         key: "orderNum", | ||||
|                         minWidth: 120, | ||||
|                         width: 150, | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "分销金额", | ||||
|                         key: "rebateTotal", | ||||
|                         width: 150, | ||||
|                         sortable: false, | ||||
|                         render: (h, params) => { | ||||
|                             return h('div', this.$options.filters.unitPrice(params.row.rebateTotal, '¥')) | ||||
|                         } | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "可用金额", | ||||
|                         key: "canRebate", | ||||
|                         width: 150, | ||||
|                         sortable: false, | ||||
|                         render: (h, params) => { | ||||
|                             return h('div', this.$options.filters.unitPrice(params.row.rebateTotal, '¥')) | ||||
|                         } | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "冻结金额", | ||||
|                         key: "commissionFrozen", | ||||
|                         width: 150, | ||||
|                         sortable: false, | ||||
|                         render: (h, params) => { | ||||
|                             return h('div', this.$options.filters.unitPrice(params.row.rebateTotal, '¥')) | ||||
|                         } | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "状态", | ||||
|                         key: "distributionStatus", | ||||
|                         width: 150, | ||||
|                         sortable: false, | ||||
|                         render: (h, params) => { | ||||
|                             if (params.row.distributionStatus == "PASS") { | ||||
|                                 return h( "Badge", {props: { status: "success",text: "审核通过" } }) | ||||
|                             } else if (params.row.distributionStatus == "APPLY") { | ||||
|                                 return h( "Badge", {props: { status: "processing",text: "申请中" } }) | ||||
|                             } else if (params.row.distributionStatus == "RETREAT") { | ||||
|                                 return h( "Badge", {props: { status: "warning",text: "已清退" } }) | ||||
|                             } else if (params.row.distributionStatus == "REFUSE") { | ||||
|                                 return h( "Badge", {props: { status: "error",text: "审核拒绝" } }) | ||||
|                             } | ||||
|                         } | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "操作", | ||||
|                         key: "action", | ||||
|                         align: "center", | ||||
|                         fixed: "right", | ||||
|                         width: 140, | ||||
|                         render: (h, params) => { | ||||
|                             return h("div",{ | ||||
|                                 style:{ | ||||
|                                     display:'flex', | ||||
|                                     justifyContent:'center' | ||||
|                                 } | ||||
|                             }, | ||||
|                             [ | ||||
|                                 h( | ||||
|                                     "Button", | ||||
|                                     { | ||||
|                                         props: { | ||||
|                                             type: "error", | ||||
|                                             size: "small" | ||||
|                                         }, | ||||
|                                         style:{marginRight:'5px', display:params.row.distributionStatus!='RETREAT'?'block':'none'}, | ||||
|                                         on: { | ||||
|                                             click: () => { | ||||
|                                                 this.retreat(params.row); | ||||
|                                             } | ||||
|                                         } | ||||
|                                     }, | ||||
|                                     "清退" | ||||
|                                 ), | ||||
|                                 h( | ||||
|                                     "Button", | ||||
|                                     { | ||||
|                                         props: { | ||||
|                                             type: "success", | ||||
|                                             size: "small" | ||||
|                                         }, | ||||
|                                         style:{marginRight:'5px', display:params.row.distributionStatus=='RETREAT'?'block':'none'}, | ||||
|                                         on: { | ||||
|                                             click: () => { | ||||
|                                                 this.resume(params.row); | ||||
|                                             } | ||||
|                                         } | ||||
|                                     }, | ||||
|                                     "恢复" | ||||
|                                 ) | ||||
|                             ]); | ||||
|                         } | ||||
|                     } | ||||
|                 ], | ||||
|                 data: [], // 表单数据 | ||||
|                 total: 0 // 表单数据总数 | ||||
|             }; | ||||
|         { | ||||
|           title: "推广单数", | ||||
|           key: "orderNum", | ||||
|           minWidth: 120, | ||||
|           width: 150, | ||||
|         }, | ||||
|         methods: { | ||||
|             init() { | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             see(v) { | ||||
|                 this.$router.push({ | ||||
|                     name: "distributionOrder", | ||||
|                     query: { id:v.memberId } | ||||
|                 }); | ||||
|             }, | ||||
|             changePage(v) { | ||||
|                 this.searchForm.pageNumber = v; | ||||
|                 this.getDataList(); | ||||
|                 this.clearSelectAll(); | ||||
|             }, | ||||
|             changePageSize(v) { | ||||
|                 this.searchForm.pageSize = v; | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             handleSearch() { | ||||
|                 this.searchForm.pageNumber = 1; | ||||
|                 this.searchForm.pageSize = 10; | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
| 
 | ||||
|             clearSelectAll() { // 清空 | ||||
|                 this.$refs.table.selectAll(false); | ||||
|             }, | ||||
|             changeSelect(e) { | ||||
|                 this.selectList = e; | ||||
|                 this.selectCount = e.length; | ||||
|             }, | ||||
| 
 | ||||
|             getDataList() { | ||||
|                 this.loading = true; | ||||
|                 this.searchForm.status = "PASS"; | ||||
|                 // 带多条件搜索参数获取表单数据 请自行修改接口 | ||||
|                 getDistributionListData(this.searchForm).then(res => { | ||||
|                     this.loading = false; | ||||
|                     if (res.success) { | ||||
|                         this.data = res.result.records; | ||||
|                         this.total = res.result.total; | ||||
|                     } | ||||
|                 }); | ||||
|             }, | ||||
|             // 清退分销商 | ||||
|             retreat(v) { | ||||
|                 this.$Modal.confirm({ | ||||
|                     title: "提示", | ||||
|                     // 记得确认修改此处 | ||||
|                     content: "您确认要清退 " + v.memberName + " ?", | ||||
|                     loading: true, | ||||
|                     onOk: () => { | ||||
|                         // 删除 | ||||
|                         retreatDistribution(v.id).then(res => { | ||||
|                             this.$Modal.remove(); | ||||
|                             if (res.success) { | ||||
|                                 this.$Message.success("操作成功"); | ||||
|                                 this.getDataList(); | ||||
|                             } | ||||
|                         }); | ||||
|                     } | ||||
|                 }); | ||||
|             }, | ||||
|             // 恢复分销商 | ||||
|             resume(v){ | ||||
|                 this.$Modal.confirm({ | ||||
|                     title: '提示', | ||||
|                     // 记得确认修改此处 | ||||
|                     content: "您确认要恢复 " + v.memberName + " ?", | ||||
|                     loading: true, | ||||
|                     onOk: () => { | ||||
|                         // 删除 | ||||
|                         resumeDistribution(v.id).then(res => { | ||||
|                             this.$Modal.remove(); | ||||
|                             if (res.success) { | ||||
|                                 this.$Message.success("操作成功"); | ||||
|                                 this.getDataList(); | ||||
|                             } | ||||
|                         }); | ||||
|                     } | ||||
|                 }); | ||||
|         { | ||||
|           title: "分销金额", | ||||
|           key: "rebateTotal", | ||||
|           width: 150, | ||||
|           sortable: false, | ||||
|           render: (h, params) => { | ||||
|             return h( | ||||
|               "div", | ||||
|               this.$options.filters.unitPrice(params.row.rebateTotal, "¥") | ||||
|             ); | ||||
|           }, | ||||
|         }, | ||||
|         { | ||||
|           title: "可用金额", | ||||
|           key: "canRebate", | ||||
|           width: 150, | ||||
|           sortable: false, | ||||
|           render: (h, params) => { | ||||
|             return h( | ||||
|               "div", | ||||
|               this.$options.filters.unitPrice(params.row.rebateTotal, "¥") | ||||
|             ); | ||||
|           }, | ||||
|         }, | ||||
|         { | ||||
|           title: "冻结金额", | ||||
|           key: "commissionFrozen", | ||||
|           width: 150, | ||||
|           sortable: false, | ||||
|           render: (h, params) => { | ||||
|             return h( | ||||
|               "div", | ||||
|               this.$options.filters.unitPrice(params.row.rebateTotal, "¥") | ||||
|             ); | ||||
|           }, | ||||
|         }, | ||||
|         { | ||||
|           title: "状态", | ||||
|           key: "distributionStatus", | ||||
|           width: 150, | ||||
|           sortable: false, | ||||
|           render: (h, params) => { | ||||
|             if (params.row.distributionStatus == "PASS") { | ||||
|               return h("Badge", { | ||||
|                 props: { status: "success", text: "审核通过" }, | ||||
|               }); | ||||
|             } else if (params.row.distributionStatus == "APPLY") { | ||||
|               return h("Badge", { | ||||
|                 props: { status: "processing", text: "申请中" }, | ||||
|               }); | ||||
|             } else if (params.row.distributionStatus == "RETREAT") { | ||||
|               return h("Badge", { | ||||
|                 props: { status: "warning", text: "已清退" }, | ||||
|               }); | ||||
|             } else if (params.row.distributionStatus == "REFUSE") { | ||||
|               return h("Badge", { | ||||
|                 props: { status: "error", text: "审核拒绝" }, | ||||
|               }); | ||||
|             } | ||||
|           }, | ||||
|         }, | ||||
|         mounted() { | ||||
|             this.init(); | ||||
|         } | ||||
|         { | ||||
|           title: "操作", | ||||
|           key: "action", | ||||
|           align: "center", | ||||
|           fixed: "right", | ||||
|           width: 140, | ||||
|           render: (h, params) => { | ||||
|             return h( | ||||
|               "div", | ||||
|               { | ||||
|                 style: { | ||||
|                   display: "flex", | ||||
|                   justifyContent: "center", | ||||
|                 }, | ||||
|               }, | ||||
|               [ | ||||
|                 h( | ||||
|                   "Button", | ||||
|                   { | ||||
|                     props: { | ||||
|                       type: "error", | ||||
|                       size: "small", | ||||
|                     }, | ||||
|                     style: { | ||||
|                       marginRight: "5px", | ||||
|                       display: | ||||
|                         params.row.distributionStatus != "RETREAT" | ||||
|                           ? "block" | ||||
|                           : "none", | ||||
|                     }, | ||||
|                     on: { | ||||
|                       click: () => { | ||||
|                         this.retreat(params.row); | ||||
|                       }, | ||||
|                     }, | ||||
|                   }, | ||||
|                   "清退" | ||||
|                 ), | ||||
|                 h( | ||||
|                   "Button", | ||||
|                   { | ||||
|                     props: { | ||||
|                       type: "success", | ||||
|                       size: "small", | ||||
|                     }, | ||||
|                     style: { | ||||
|                       marginRight: "5px", | ||||
|                       display: | ||||
|                         params.row.distributionStatus == "RETREAT" | ||||
|                           ? "block" | ||||
|                           : "none", | ||||
|                     }, | ||||
|                     on: { | ||||
|                       click: () => { | ||||
|                         this.resume(params.row); | ||||
|                       }, | ||||
|                     }, | ||||
|                   }, | ||||
|                   "恢复" | ||||
|                 ), | ||||
|               ] | ||||
|             ); | ||||
|           }, | ||||
|         }, | ||||
|       ], | ||||
|       data: [], // 表单数据 | ||||
|       total: 0, // 表单数据总数 | ||||
|     }; | ||||
|   }, | ||||
|   methods: { | ||||
|     init() { | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     see(v) { | ||||
|       this.$router.push({ | ||||
|         name: "distributionOrder", | ||||
|         query: { id: v.memberId }, | ||||
|       }); | ||||
|     }, | ||||
|     changePage(v) { | ||||
|       this.searchForm.pageNumber = v; | ||||
|       this.getDataList(); | ||||
|       this.clearSelectAll(); | ||||
|     }, | ||||
|     changePageSize(v) { | ||||
|       this.searchForm.pageSize = v; | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     handleSearch() { | ||||
|       this.searchForm.pageNumber = 1; | ||||
|       this.searchForm.pageSize = 10; | ||||
|       this.getDataList(); | ||||
|     }, | ||||
| 
 | ||||
|     clearSelectAll() { | ||||
|       // 清空 | ||||
|       this.$refs.table.selectAll(false); | ||||
|     }, | ||||
|     changeSelect(e) { | ||||
|       this.selectList = e; | ||||
|       this.selectCount = e.length; | ||||
|     }, | ||||
| 
 | ||||
|     getDataList() { | ||||
|       this.loading = true; | ||||
|       this.searchForm.status = "PASS"; | ||||
|       // 带多条件搜索参数获取表单数据 请自行修改接口 | ||||
|       getDistributionListData(this.searchForm).then((res) => { | ||||
|         this.loading = false; | ||||
|         if (res.success) { | ||||
|           this.data = res.result.records; | ||||
|           this.total = res.result.total; | ||||
|         } | ||||
|       }); | ||||
|     }, | ||||
|     // 清退分销商 | ||||
|     retreat(v) { | ||||
|       this.$Modal.confirm({ | ||||
|         title: "提示", | ||||
|         // 记得确认修改此处 | ||||
|         content: "您确认要清退 " + v.memberName + " ?", | ||||
|         loading: true, | ||||
|         onOk: () => { | ||||
|           // 删除 | ||||
|           retreatDistribution(v.id).then((res) => { | ||||
|             this.$Modal.remove(); | ||||
|             if (res.success) { | ||||
|               this.$Message.success("操作成功"); | ||||
|               this.getDataList(); | ||||
|             } | ||||
|           }); | ||||
|         }, | ||||
|       }); | ||||
|     }, | ||||
|     // 恢复分销商 | ||||
|     resume(v) { | ||||
|       this.$Modal.confirm({ | ||||
|         title: "提示", | ||||
|         // 记得确认修改此处 | ||||
|         content: "您确认要恢复 " + v.memberName + " ?", | ||||
|         loading: true, | ||||
|         onOk: () => { | ||||
|           // 删除 | ||||
|           resumeDistribution(v.id).then((res) => { | ||||
|             this.$Modal.remove(); | ||||
|             if (res.success) { | ||||
|               this.$Message.success("操作成功"); | ||||
|               this.getDataList(); | ||||
|             } | ||||
|           }); | ||||
|         }, | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
|   mounted() { | ||||
|     this.init(); | ||||
|   }, | ||||
| }; | ||||
| </script> | ||||
| <style lang="scss"> | ||||
|   @import "@/styles/table-common.scss"; | ||||
| @import "@/styles/table-common.scss"; | ||||
| </style> | ||||
|  |  | |||
|  | @ -1,217 +1,240 @@ | |||
| <template> | ||||
|     <div class="search"> | ||||
|         <Row> | ||||
|             <Col> | ||||
|                 <Card> | ||||
|                     <Row @keydown.enter.native="handleSearch"> | ||||
|                         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|                           <Form-item label="会员名称" prop="memberName"> | ||||
|                             <Input | ||||
|                               type="text" | ||||
|                               v-model="searchForm.memberName" | ||||
|                               placeholder="请输入会员名称" | ||||
|                               clearable | ||||
|                               style="width: 200px" | ||||
|                             /> | ||||
|                           </Form-item> | ||||
|                           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|                         </Form> | ||||
|                     </Row> | ||||
|                     <Row style="margin-top: 10px"> | ||||
|                         <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" | ||||
|                                @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|                     </Row> | ||||
|                     <Row type="flex" justify="end" class="page"> | ||||
|                         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" | ||||
|                               @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" | ||||
|                               size="small" show-total show-elevator show-sizer></Page> | ||||
|                     </Row> | ||||
|                 </Card> | ||||
|             </Col> | ||||
|         </Row> | ||||
|     </div> | ||||
|   <div class="search"> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form | ||||
|           ref="searchForm" | ||||
|           :model="searchForm" | ||||
|           inline | ||||
|           :label-width="70" | ||||
|           class="search-form" | ||||
|         > | ||||
|           <Form-item label="会员名称" prop="memberName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.memberName" | ||||
|               placeholder="请输入会员名称" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Button | ||||
|             @click="handleSearch" | ||||
|             type="primary" | ||||
|             icon="ios-search" | ||||
|             class="search-btn" | ||||
|             >搜索</Button | ||||
|           > | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table | ||||
|         class="mt_10" | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
|     import { | ||||
|         getDistributionListData, | ||||
|         auditDistribution | ||||
|     } from "@/api/distribution"; | ||||
| import { getDistributionListData, auditDistribution } from "@/api/distribution"; | ||||
| 
 | ||||
|     export default { | ||||
|         name: "distributionApply", | ||||
|         components: {}, | ||||
|         data() { | ||||
|             return { | ||||
|                 loading: true, // 表单加载状态 | ||||
|                 searchForm: { // 搜索框初始化对象 | ||||
|                     pageNumber: 1, // 当前页数 | ||||
|                     pageSize: 10, // 页面大小 | ||||
|                     sort: "createTime", // 默认排序字段 | ||||
|                     order: "desc", // 默认排序方式 | ||||
|                     startDate: "", // 起始时间 | ||||
|                     endDate: "" // 终止时间 | ||||
|                 }, | ||||
|                 form: { // 添加或编辑表单对象初始化数据 | ||||
|                     memberName: "", | ||||
|                 }, | ||||
|                 // 表单验证规则 | ||||
|                 submitLoading: false, // 添加或编辑提交状态 | ||||
|                 selectList: [], // 多选数据 | ||||
|                 selectCount: 0, // 多选计数 | ||||
|                 columns: [ | ||||
|                     { | ||||
|                         title: "会员名称", | ||||
|                         key: "memberName", | ||||
|                         minWidth: 150, | ||||
|                         tooltip: true, | ||||
|                     }, | ||||
|                   { | ||||
|                     title: "会员姓名", | ||||
|                     key: "name", | ||||
|                     minWidth: 120, | ||||
| export default { | ||||
|   name: "distributionApply", | ||||
|   components: {}, | ||||
|   data() { | ||||
|     return { | ||||
|       loading: true, // 表单加载状态 | ||||
|       searchForm: { | ||||
|         // 搜索框初始化对象 | ||||
|         pageNumber: 1, // 当前页数 | ||||
|         pageSize: 10, // 页面大小 | ||||
|         sort: "createTime", // 默认排序字段 | ||||
|         order: "desc", // 默认排序方式 | ||||
|         startDate: "", // 起始时间 | ||||
|         endDate: "", // 终止时间 | ||||
|       }, | ||||
|       form: { | ||||
|         // 添加或编辑表单对象初始化数据 | ||||
|         memberName: "", | ||||
|       }, | ||||
|       // 表单验证规则 | ||||
|       submitLoading: false, // 添加或编辑提交状态 | ||||
|       selectList: [], // 多选数据 | ||||
|       selectCount: 0, // 多选计数 | ||||
|       columns: [ | ||||
|         { | ||||
|           title: "会员名称", | ||||
|           key: "memberName", | ||||
|           minWidth: 150, | ||||
|           tooltip: true, | ||||
|         }, | ||||
|         { | ||||
|           title: "会员姓名", | ||||
|           key: "name", | ||||
|           minWidth: 120, | ||||
|         }, | ||||
|         { | ||||
|           title: "提交时间", | ||||
|           key: "createTime", | ||||
|           minWidth: 150, | ||||
|         }, | ||||
|         { | ||||
|           title: "操作", | ||||
|           key: "action", | ||||
|           align: "center", | ||||
|           fixed: "right", | ||||
|           width: 200, | ||||
|           render: (h, params) => { | ||||
|             return h("div", [ | ||||
|               h( | ||||
|                 "Button", | ||||
|                 { | ||||
|                   props: { | ||||
|                     type: "success", | ||||
|                     size: "small", | ||||
|                   }, | ||||
|                     { | ||||
|                         title: "提交时间", | ||||
|                         key: "createTime", | ||||
|                         minWidth: 150, | ||||
|                   style: { | ||||
|                     marginRight: "5px", | ||||
|                   }, | ||||
|                   on: { | ||||
|                     click: () => { | ||||
|                       this.audit(params.row, "PASS"); | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "操作", | ||||
|                         key: "action", | ||||
|                         align: "center", | ||||
|                         fixed: "right", | ||||
|                         width: 200, | ||||
|                         render: (h, params) => { | ||||
|                             return h("div", [ | ||||
|                                 h( | ||||
|                                     "Button", | ||||
|                                     { | ||||
|                                         props: { | ||||
|                                             type: "success", | ||||
|                                             size: "small", | ||||
|                                         }, | ||||
|                                         style: { | ||||
|                                             marginRight: "5px" | ||||
|                                         }, | ||||
|                                         on: { | ||||
|                                             click: () => { | ||||
|                                                 this.audit(params.row, "PASS"); | ||||
|                                             } | ||||
|                                         } | ||||
|                                     }, | ||||
|                                     "通过" | ||||
|                                 ), | ||||
|                                 h( | ||||
|                                     "Button", | ||||
|                                     { | ||||
|                                         props: { | ||||
|                                             type: "error", | ||||
|                                             size: "small", | ||||
|                                         }, | ||||
|                                         on: { | ||||
|                                             click: () => { | ||||
|                                                 this.audit(params.row, "REFUSE"); | ||||
|                                             } | ||||
|                                         } | ||||
|                                     }, | ||||
|                                     "拒绝" | ||||
|                                 ) | ||||
|                             ]); | ||||
|                         } | ||||
|                     } | ||||
|                 ], | ||||
|                 data: [], // 表单数据 | ||||
|                 total: 0 // 表单数据总数 | ||||
|             }; | ||||
|                   }, | ||||
|                 }, | ||||
|                 "通过" | ||||
|               ), | ||||
|               h( | ||||
|                 "Button", | ||||
|                 { | ||||
|                   props: { | ||||
|                     type: "error", | ||||
|                     size: "small", | ||||
|                   }, | ||||
|                   on: { | ||||
|                     click: () => { | ||||
|                       this.audit(params.row, "REFUSE"); | ||||
|                     }, | ||||
|                   }, | ||||
|                 }, | ||||
|                 "拒绝" | ||||
|               ), | ||||
|             ]); | ||||
|           }, | ||||
|         }, | ||||
|         methods: { | ||||
|             init() { | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             changePage(v) { | ||||
|                 this.searchForm.pageNumber = v; | ||||
|                 this.getDataList(); | ||||
|                 this.clearSelectAll(); | ||||
|             }, | ||||
|             changePageSize(v) { | ||||
|                 this.searchForm.pageSize = v; | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             handleSearch() { | ||||
|                 this.searchForm.pageNumber = 1; | ||||
|                 this.searchForm.pageSize = 10; | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             changeSort(e) { | ||||
|                 this.searchForm.sort = e.key; | ||||
|                 this.searchForm.order = e.order; | ||||
|                 if (e.order === "normal") { | ||||
|                     this.searchForm.order = ""; | ||||
|                 } | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             clearSelectAll() { | ||||
|                 this.$refs.table.selectAll(false); | ||||
|             }, | ||||
|             changeSelect(e) { | ||||
|                 this.selectList = e; | ||||
|                 this.selectCount = e.length; | ||||
|             }, | ||||
|             selectDateRange(v) { | ||||
|                 if (v) { | ||||
|                     this.searchForm.startDate = v[0]; | ||||
|                     this.searchForm.endDate = v[1]; | ||||
|                 } | ||||
|             }, | ||||
|             getDataList() { | ||||
|                 this.loading = true; | ||||
|                 this.searchForm.distributionStatus = "APPLY"; | ||||
|                 // 带多条件搜索参数获取表单数据 请自行修改接口 | ||||
|                 getDistributionListData(this.searchForm).then(res => { | ||||
|                     this.loading = false; | ||||
|                     if (res.success) { | ||||
|                         this.data = res.result.records; | ||||
|                         this.total = res.result.total; | ||||
|                     } | ||||
|                 }); | ||||
|                 // 以下为模拟数据 | ||||
|                 //this.data = [ | ||||
|                 //]; | ||||
|                 this.total = this.data.length; | ||||
|                 this.loading = false; | ||||
|             }, | ||||
|             //审核 | ||||
|             audit(v, status) { | ||||
|                 let test = "拒绝" | ||||
|                 if (status == "PASS") { | ||||
|                     test = "通过" | ||||
|                 } | ||||
|                 let params = { | ||||
|                     status : status | ||||
|                 } | ||||
|                 this.$Modal.confirm({ | ||||
|                     title: "确认" + test, | ||||
|                     // 记得确认修改此处 | ||||
|                     content: "您确认要" + test + " " + v.memberName + " ?", | ||||
|                     loading: true, | ||||
|                     onOk: () => { | ||||
|                         auditDistribution(v.id, params).then(res => { | ||||
|                             this.$Modal.remove(); | ||||
|                             if (res.success) { | ||||
|                                 this.$Message.success("操作成功"); | ||||
|                                 this.getDataList(); | ||||
|                             } | ||||
|                         }); | ||||
|                     } | ||||
|                 }); | ||||
|             } | ||||
|         }, | ||||
|         mounted() { | ||||
|             this.init(); | ||||
|         } | ||||
|       ], | ||||
|       data: [], // 表单数据 | ||||
|       total: 0, // 表单数据总数 | ||||
|     }; | ||||
|   }, | ||||
|   methods: { | ||||
|     init() { | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     changePage(v) { | ||||
|       this.searchForm.pageNumber = v; | ||||
|       this.getDataList(); | ||||
|       this.clearSelectAll(); | ||||
|     }, | ||||
|     changePageSize(v) { | ||||
|       this.searchForm.pageSize = v; | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     handleSearch() { | ||||
|       this.searchForm.pageNumber = 1; | ||||
|       this.searchForm.pageSize = 10; | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     changeSort(e) { | ||||
|       this.searchForm.sort = e.key; | ||||
|       this.searchForm.order = e.order; | ||||
|       if (e.order === "normal") { | ||||
|         this.searchForm.order = ""; | ||||
|       } | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     clearSelectAll() { | ||||
|       this.$refs.table.selectAll(false); | ||||
|     }, | ||||
|     changeSelect(e) { | ||||
|       this.selectList = e; | ||||
|       this.selectCount = e.length; | ||||
|     }, | ||||
|     selectDateRange(v) { | ||||
|       if (v) { | ||||
|         this.searchForm.startDate = v[0]; | ||||
|         this.searchForm.endDate = v[1]; | ||||
|       } | ||||
|     }, | ||||
|     getDataList() { | ||||
|       this.loading = true; | ||||
|       this.searchForm.distributionStatus = "APPLY"; | ||||
|       // 带多条件搜索参数获取表单数据 请自行修改接口 | ||||
|       getDistributionListData(this.searchForm).then((res) => { | ||||
|         this.loading = false; | ||||
|         if (res.success) { | ||||
|           this.data = res.result.records; | ||||
|           this.total = res.result.total; | ||||
|         } | ||||
|       }); | ||||
|       // 以下为模拟数据 | ||||
|       //this.data = [ | ||||
|       //]; | ||||
|       this.total = this.data.length; | ||||
|       this.loading = false; | ||||
|     }, | ||||
|     //审核 | ||||
|     audit(v, status) { | ||||
|       let test = "拒绝"; | ||||
|       if (status == "PASS") { | ||||
|         test = "通过"; | ||||
|       } | ||||
|       let params = { | ||||
|         status: status, | ||||
|       }; | ||||
|       this.$Modal.confirm({ | ||||
|         title: "确认" + test, | ||||
|         // 记得确认修改此处 | ||||
|         content: "您确认要" + test + " " + v.memberName + " ?", | ||||
|         loading: true, | ||||
|         onOk: () => { | ||||
|           auditDistribution(v.id, params).then((res) => { | ||||
|             this.$Modal.remove(); | ||||
|             if (res.success) { | ||||
|               this.$Message.success("操作成功"); | ||||
|               this.getDataList(); | ||||
|             } | ||||
|           }); | ||||
|         }, | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
|   mounted() { | ||||
|     this.init(); | ||||
|   }, | ||||
| }; | ||||
| </script> | ||||
| <style lang="scss"> | ||||
|   @import "@/styles/table-common.scss"; | ||||
| @import "@/styles/table-common.scss"; | ||||
| </style> | ||||
|  |  | |||
|  | @ -1,35 +1,29 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch" > | ||||
|             <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|               <Input class="search-input" v-model="searchForm.memberName"> | ||||
|                 <span slot="prepend">会员名称</span> | ||||
|               </Input> | ||||
|               <Input class="search-input" v-model="searchForm.sn"> | ||||
|                 <span slot="prepend">编号</span> | ||||
|               </Input> | ||||
|               <Form-item label="状态" style="margin-left: -20px"> | ||||
|                 <Select v-model="searchForm.distributionCashStatus" style="width:150px;"> | ||||
|                     <Option v-for="item in cashStatusList" :value="item.value" :key="item.value">{{ item.label }}</Option> | ||||
|                 </Select> | ||||
|               </Form-item> | ||||
|               <Form-item style="margin-left:-35px;" class="br"> | ||||
|                 <Button @click="handleSearch" type="primary" icon="ios-search">搜索</Button> | ||||
|               </Form-item> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page padding-row"> | ||||
|             <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" size="small" show-total show-elevator show-sizer></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch" > | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Input class="search-input" v-model="searchForm.memberName"> | ||||
|             <span slot="prepend">会员名称</span> | ||||
|           </Input> | ||||
|           <Input class="search-input" v-model="searchForm.sn"> | ||||
|             <span slot="prepend">编号</span> | ||||
|           </Input> | ||||
|           <Form-item label="状态" style="margin-left: -20px"> | ||||
|             <Select v-model="searchForm.distributionCashStatus" style="width:150px;"> | ||||
|                 <Option v-for="item in cashStatusList" :value="item.value" :key="item.value">{{ item.label }}</Option> | ||||
|             </Select> | ||||
|           </Form-item> | ||||
|           <Form-item style="margin-left:-35px;" class="br"> | ||||
|             <Button @click="handleSearch" type="primary" icon="ios-search">搜索</Button> | ||||
|           </Form-item> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|       <Row type="flex" justify="end" class="page padding-row"> | ||||
|         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" size="small" show-total show-elevator show-sizer></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|     <Modal :title="modalTitle" v-model="modalVisible" :mask-closable='false' :width="500"> | ||||
|       <Form ref="form" :model="form" :label-width="100" :rules="formValidate" > | ||||
|       <FormItem label="编号"> | ||||
|  |  | |||
|  | @ -1,48 +1,42 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|               <Form-item label="商品名称" prop="goodsName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.goodsName" | ||||
|                   placeholder="请输入商品名称" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="operation" style="margin-top: 10px"> | ||||
|             <Button @click="delAll">批量删除</Button> | ||||
|           </Row> | ||||
|           <Row> | ||||
|             <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"> | ||||
|               <template slot="goodsName" slot-scope="{row}"> | ||||
|                 <div> | ||||
|                     <div class="div-zoom"> | ||||
|                       <a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a> | ||||
|                     </div> | ||||
|                     <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|                       <div slot="content"> | ||||
|                         <vue-qr :text="wapLinkTo(row.goodsId,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|                       </div> | ||||
|                       <img src="../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt=""> | ||||
|                     </Poptip> | ||||
|                   </div> | ||||
|               </template> | ||||
|             </Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" size="small" show-total show-elevator show-sizer></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="商品名称" prop="goodsName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.goodsName" | ||||
|               placeholder="请输入商品名称" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Row class="operation" style="margin-top: 10px"> | ||||
|         <Button @click="delAll">批量删除</Button> | ||||
|       </Row> | ||||
|       <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"> | ||||
|         <template slot="goodsName" slot-scope="{row}"> | ||||
|           <div> | ||||
|               <div class="div-zoom"> | ||||
|                 <a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a> | ||||
|               </div> | ||||
|               <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|                 <div slot="content"> | ||||
|                   <vue-qr :text="wapLinkTo(row.goodsId,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|                 </div> | ||||
|                 <img src="../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt=""> | ||||
|               </Poptip> | ||||
|             </div> | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" size="small" show-total show-elevator show-sizer></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,54 +1,46 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row v-show="openSearch" @keydown.enter.native="handleSearch"> | ||||
|             <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|               <Form-item label="订单编号" prop="orderSn"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.orderSn" | ||||
|                   placeholder="请输入订单编号" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="分销商" prop="distributionName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.distributionName" | ||||
|                   placeholder="请输入分销商名称" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="店铺名称"> | ||||
|                 <Select v-model="searchForm.shopId" placeholder="请选择" @on-query-change="searchChange" filterable | ||||
|                         clearable style="width: 150px"> | ||||
|                   <Option v-for="item in shopList" :value="item.id" :key="item.id">{{ item.storeName }}</Option> | ||||
|                 </Select> | ||||
|               </Form-item> | ||||
|               <Form-item label="订单时间"> | ||||
|                 <DatePicker type="daterange" v-model="timeRange" format="yyyy-MM-dd" placeholder="选择时间" | ||||
|                             style="width: 210px"></DatePicker> | ||||
|               </Form-item> | ||||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
| 
 | ||||
|           <Row class="padding-row"> | ||||
|             <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom"></Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" | ||||
|                   @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" | ||||
|                   size="small" show-total show-elevator show-sizer></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
| 
 | ||||
|     <Card> | ||||
|       <Row v-show="openSearch" @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="订单编号" prop="orderSn"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.orderSn" | ||||
|               placeholder="请输入订单编号" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="分销商" prop="distributionName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.distributionName" | ||||
|               placeholder="请输入分销商名称" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="店铺名称"> | ||||
|             <Select v-model="searchForm.shopId" placeholder="请选择" @on-query-change="searchChange" filterable | ||||
|                     clearable style="width: 150px"> | ||||
|               <Option v-for="item in shopList" :value="item.id" :key="item.id">{{ item.storeName }}</Option> | ||||
|             </Select> | ||||
|           </Form-item> | ||||
|           <Form-item label="订单时间"> | ||||
|             <DatePicker type="daterange" v-model="timeRange" format="yyyy-MM-dd" placeholder="选择时间" | ||||
|                         style="width: 210px"></DatePicker> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom"></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" | ||||
|           size="small" show-total show-elevator show-sizer></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,43 +1,37 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> </Row> | ||||
|           <Row class="operation"> | ||||
|             <Button @click="add" type="primary" >添加</Button> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> </Row> | ||||
|       <Row class="operation"> | ||||
|         <Button @click="add" type="primary" >添加</Button> | ||||
| 
 | ||||
|             <Button @click="delAll">批量删除</Button> | ||||
|           </Row> | ||||
|           <Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             ></Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|         <Button @click="delAll">批量删除</Button> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|     <Modal | ||||
|       :title="modalTitle" | ||||
|       v-model="modalVisible" | ||||
|  |  | |||
|  | @ -70,7 +70,6 @@ | |||
|     <Tabs v-model="orderStatus" @on-click="handleClickType"> | ||||
|       <TabPane label="行业订单数量" name="NUM"> | ||||
|         <Table :columns="columns" :data="data"></Table> | ||||
| 
 | ||||
|       </TabPane> | ||||
|       <TabPane label="行业订单金额" name="PRICE"> | ||||
|         <Table :columns="columns" :data="data"></Table> | ||||
|  |  | |||
|  | @ -1,100 +1,94 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form | ||||
|               ref="searchForm" | ||||
|               :model="searchForm" | ||||
|               inline | ||||
|               :label-width="70" | ||||
|               class="search-form" | ||||
|             > | ||||
|               <Form-item label="商品名称" prop="goodsName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.goodsName" | ||||
|                   placeholder="请输入商品名称" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="商品编号" prop="sn"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.sn" | ||||
|                   placeholder="请输入商品编号" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="状态" prop="status"> | ||||
|                 <Select | ||||
|                   v-model="searchForm.marketEnable" | ||||
|                   placeholder="请选择" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 > | ||||
|                   <Option value="UPPER">上架</Option> | ||||
|                   <Option value="DOWN">下架</Option> | ||||
|                 </Select> | ||||
|               </Form-item> | ||||
|               <Button @click="handleSearch" class="search-btn" type="primary" icon="ios-search" >搜索</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form | ||||
|           ref="searchForm" | ||||
|           :model="searchForm" | ||||
|           inline | ||||
|           :label-width="70" | ||||
|           class="search-form" | ||||
|         > | ||||
|           <Form-item label="商品名称" prop="goodsName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.goodsName" | ||||
|               placeholder="请输入商品名称" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="商品编号" prop="sn"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.sn" | ||||
|               placeholder="请输入商品编号" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="状态" prop="status"> | ||||
|             <Select | ||||
|               v-model="searchForm.marketEnable" | ||||
|               placeholder="请选择" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             > | ||||
|               <Option value="UPPER">上架</Option> | ||||
|               <Option value="DOWN">下架</Option> | ||||
|             </Select> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" class="search-btn" type="primary" icon="ios-search" >搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       > | ||||
| 
 | ||||
|               <!-- 商品栏目格式化 --> | ||||
|               <template slot="goodsSlot" slot-scope="{row}"> | ||||
|                 <div style="margin: 5px 0px;height: 80px; display: flex;"> | ||||
|                   <div style=""> | ||||
|                     <img :src="row.original" style="height: 60px;margin-top: 1px;width: 60px"> | ||||
|                   </div> | ||||
|         <!-- 商品栏目格式化 --> | ||||
|         <template slot="goodsSlot" slot-scope="{row}"> | ||||
|           <div style="margin: 5px 0px;height: 80px; display: flex;"> | ||||
|             <div style=""> | ||||
|               <img :src="row.original" style="height: 60px;margin-top: 1px;width: 60px"> | ||||
|             </div> | ||||
| 
 | ||||
|                   <div style="margin-left: 13px;"> | ||||
|                     <div class="div-zoom"> | ||||
|                       <a @click="linkTo(row.id,row.skuId)">{{row.goodsName}}</a> | ||||
|                     </div> | ||||
|                     <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|                       <div slot="content"> | ||||
|                         <vue-qr :text="wapLinkTo(row.id,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|                       </div> | ||||
|                       <img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt=""> | ||||
|                     </Poptip> | ||||
|                   </div> | ||||
|             <div style="margin-left: 13px;"> | ||||
|               <div class="div-zoom"> | ||||
|                 <a @click="linkTo(row.id,row.skuId)">{{row.goodsName}}</a> | ||||
|               </div> | ||||
|               <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|                 <div slot="content"> | ||||
|                   <vue-qr :text="wapLinkTo(row.id,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|                 </div> | ||||
|                 <img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt=""> | ||||
|               </Poptip> | ||||
|             </div> | ||||
|           </div> | ||||
| 
 | ||||
|               </template> | ||||
|             </Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|     <Modal | ||||
|       :title="modalTitle" | ||||
|       v-model="modalVisible" | ||||
|  |  | |||
|  | @ -1,83 +1,77 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form | ||||
|               ref="searchForm" | ||||
|               :model="searchForm" | ||||
|               inline | ||||
|               :label-width="70" | ||||
|               class="search-form" | ||||
|             > | ||||
|               <Form-item label="商品名称" prop="goodsName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.goodsName" | ||||
|                   placeholder="请输入商品名称" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="商品编号" prop="sn"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.sn" | ||||
|                   placeholder="请输入商品编号" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Button @click="handleSearch" class="search-btn" type="primary" icon="ios-search" >搜索</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             > | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form | ||||
|           ref="searchForm" | ||||
|           :model="searchForm" | ||||
|           inline | ||||
|           :label-width="70" | ||||
|           class="search-form" | ||||
|         > | ||||
|           <Form-item label="商品名称" prop="goodsName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.goodsName" | ||||
|               placeholder="请输入商品名称" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="商品编号" prop="sn"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.sn" | ||||
|               placeholder="请输入商品编号" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" class="search-btn" type="primary" icon="ios-search" >搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       > | ||||
| 
 | ||||
|               <!-- 商品栏目格式化 --> | ||||
|               <template slot="goodsSlot" slot-scope="scope"> | ||||
|                 <div style="margin-top: 5px;height: 80px; display: flex;"> | ||||
|                   <div style=""> | ||||
|                     <img :src="scope.row.original" style="height: 60px;margin-top: 3px;width: 60px"> | ||||
|                   </div> | ||||
|         <!-- 商品栏目格式化 --> | ||||
|         <template slot="goodsSlot" slot-scope="scope"> | ||||
|           <div style="margin-top: 5px;height: 80px; display: flex;"> | ||||
|             <div style=""> | ||||
|               <img :src="scope.row.original" style="height: 60px;margin-top: 3px;width: 60px"> | ||||
|             </div> | ||||
| 
 | ||||
|                   <div style="margin-left: 13px"> | ||||
|                     <div class="div-zoom" > | ||||
|                       <a>{{scope.row.goodsName}}</a> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                 </div> | ||||
|             <div style="margin-left: 13px"> | ||||
|               <div class="div-zoom" > | ||||
|                 <a>{{scope.row.goodsName}}</a> | ||||
|               </div> | ||||
|             </div> | ||||
|           </div> | ||||
| 
 | ||||
|               </template> | ||||
|             </Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -3,62 +3,56 @@ | |||
| </style> | ||||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form | ||||
|               ref="searchForm" | ||||
|               :model="searchForm" | ||||
|               inline | ||||
|               :label-width="70" | ||||
|               class="search-form" | ||||
|             > | ||||
|               <Form-item label="品牌名称" prop="name"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.name" | ||||
|                   placeholder="请输入品牌名称" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form | ||||
|           ref="searchForm" | ||||
|           :model="searchForm" | ||||
|           inline | ||||
|           :label-width="70" | ||||
|           class="search-form" | ||||
|         > | ||||
|           <Form-item label="品牌名称" prop="name"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.name" | ||||
|               placeholder="请输入品牌名称" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
| 
 | ||||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="operation padding-row"> | ||||
|             <Button @click="add" type="primary">添加</Button> | ||||
|           </Row> | ||||
|           <Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             ></Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Row class="operation padding-row"> | ||||
|         <Button @click="add" type="primary">添加</Button> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|     <Modal | ||||
|       :title="modalTitle" | ||||
|       v-model="modalVisible" | ||||
|  |  | |||
|  | @ -1,64 +1,57 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form | ||||
|               ref="searchForm" | ||||
|               :model="searchForm" | ||||
|               inline | ||||
|               :label-width="70" | ||||
|               class="search-form" | ||||
|             > | ||||
|               <Form-item label="规格名称" prop="specName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.specName" | ||||
|                   placeholder="请输入规格名称" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form | ||||
|           ref="searchForm" | ||||
|           :model="searchForm" | ||||
|           inline | ||||
|           :label-width="70" | ||||
|           class="search-form" | ||||
|         > | ||||
|           <Form-item label="规格名称" prop="specName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.specName" | ||||
|               placeholder="请输入规格名称" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
| 
 | ||||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="operation padding-row"> | ||||
|             <Button @click="add" type="primary" >添加</Button> | ||||
|             <Button @click="delAll" >批量删除</Button> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             > | ||||
| 
 | ||||
|             </Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Row class="operation padding-row"> | ||||
|         <Button @click="add" type="primary" >添加</Button> | ||||
|         <Button @click="delAll" >批量删除</Button> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       > | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|     <Modal | ||||
|       :title="modalTitle" | ||||
|       v-model="modalVisible" | ||||
|  |  | |||
|  | @ -1,38 +1,33 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Card> | ||||
|         <Row @keydown.enter.native="handleSearch"> | ||||
|           <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|             <Form-item label="会员名称" prop="memberName"> | ||||
|               <Input type="text" v-model="searchForm.memberName" placeholder="请输入会员名称" clearable style="width: 200px"/> | ||||
|             </Form-item> | ||||
|             <Button @click="handleSearch" type="primary" class="search-btn" icon="ios-search">搜索</Button> | ||||
|           </Form> | ||||
|         </Row> | ||||
|         <Row class="padding-row"> | ||||
|           <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" | ||||
|                  @on-sort-change="changeSort" @on-selection-change="changeSelect"> | ||||
|             <!-- 页面展示 --> | ||||
|             <template slot="shopDisableSlot" slot-scope="scope"> | ||||
|               <div> | ||||
|               </div> | ||||
|               <i-switch size="large" true-value="OPEN" false-value="CLOSE" v-model="scope.row.status" | ||||
|                         @on-change="changeSwitch(scope.row)"> | ||||
|                 <span slot="open">展示</span> | ||||
|                 <span slot="close">隐藏</span> | ||||
|               </i-switch> | ||||
|             </template> | ||||
|           </Table> | ||||
| 
 | ||||
|         </Row> | ||||
|         <Row type="flex" justify="end" class="page"> | ||||
|           <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" | ||||
|                 @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|                 size="small" show-total show-elevator show-sizer></Page> | ||||
|         </Row> | ||||
|       </Card> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="会员名称" prop="memberName"> | ||||
|             <Input type="text" v-model="searchForm.memberName" placeholder="请输入会员名称" clearable style="width: 200px"/> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" class="search-btn" icon="ios-search">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" | ||||
|               @on-sort-change="changeSort" @on-selection-change="changeSelect"> | ||||
|         <!-- 页面展示 --> | ||||
|         <template slot="shopDisableSlot" slot-scope="scope"> | ||||
|           <div> | ||||
|           </div> | ||||
|           <i-switch size="large" true-value="OPEN" false-value="CLOSE" v-model="scope.row.status" | ||||
|                     @on-change="changeSwitch(scope.row)"> | ||||
|             <span slot="open">展示</span> | ||||
|             <span slot="close">隐藏</span> | ||||
|           </i-switch> | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|               size="small" show-total show-elevator show-sizer></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
| 
 | ||||
|     <Modal v-model="infoFlag" width="800" :title="infoTitle"> | ||||
| 
 | ||||
|  | @ -68,7 +63,7 @@ | |||
|                 <div style="margin-left: 40px"> | ||||
|                   <img style="width: 100px;height: 110px;margin-left: 2px" | ||||
|                        v-for="(img,index) in infoData.image.split(',')" v-if="infoData.image.length !=0" :src="img" | ||||
|                        alt="" /> | ||||
|                        alt="" :key="index"/> | ||||
|                 </div> | ||||
|               </div> | ||||
|             </List> | ||||
|  | @ -81,7 +76,7 @@ | |||
|               </div> | ||||
|               <div v-if="infoData.haveReplyImage == 1"> | ||||
|                 <div style="margin-left: 60px"> | ||||
|                   <img style="width: 100px;height: 110px" v-for="(img,index) in infoData.replyImage.split(',')" | ||||
|                   <img style="width: 100px;height: 110px" v-for="(img,index) in infoData.replyImage.split(',')" :key="index" | ||||
|                        v-if="infoData.replyImage.length !=0" :src="img" alt=""/> | ||||
|                 </div> | ||||
|               </div> | ||||
|  |  | |||
|  | @ -1,49 +1,43 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"></Row> | ||||
|           <Row class="operation padding-row"> | ||||
|             <Button @click="add" type="primary">添加</Button> | ||||
|           </Row> | ||||
|           <Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             > | ||||
|               <!-- 页面展示 --> | ||||
|               <template slot="disableSlot" slot-scope="scope"> | ||||
|                 <i-switch size="large" v-model="scope.row.disabled == 'OPEN'?true:false" @on-change="changeSwitch(scope.row)"> | ||||
|                   <span slot="open">展示</span> | ||||
|                   <span slot="close">隐藏</span> | ||||
|                 </i-switch> | ||||
|               </template> | ||||
|             </Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"></Row> | ||||
|       <Row class="operation padding-row"> | ||||
|         <Button @click="add" type="primary">添加</Button> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       > | ||||
|         <!-- 页面展示 --> | ||||
|         <template slot="disableSlot" slot-scope="scope"> | ||||
|           <i-switch size="large" v-model="scope.row.disabled == 'OPEN'?true:false" @on-change="changeSwitch(scope.row)"> | ||||
|             <span slot="open">展示</span> | ||||
|             <span slot="close">隐藏</span> | ||||
|           </i-switch> | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|     <Modal | ||||
|       :title="modalTitle" | ||||
|       v-model="modalVisible" | ||||
|  |  | |||
|  | @ -1,77 +1,71 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form | ||||
|               ref="searchForm" | ||||
|               :model="searchForm" | ||||
|               inline | ||||
|               :label-width="70" | ||||
|               class="search-form" | ||||
|             > | ||||
|               <Form-item label="会员名称" prop="memberName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.memberName" | ||||
|                   placeholder="请输入会员名称" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="充值单号" prop="rechargeSn"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.rechargeSn" | ||||
|                   placeholder="请输入充值单号" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="支付时间"> | ||||
|               <DatePicker | ||||
|                 v-model="selectDate" | ||||
|                 type="datetimerange" | ||||
|                 format="yyyy-MM-dd HH:mm:ss" | ||||
|                 clearable | ||||
|                 @on-change="selectDateRange" | ||||
|                 placeholder="选择起始时间" | ||||
|                 style="width: 200px" | ||||
|               ></DatePicker> | ||||
|             </Form-item> | ||||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             ></Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form | ||||
|           ref="searchForm" | ||||
|           :model="searchForm" | ||||
|           inline | ||||
|           :label-width="70" | ||||
|           class="search-form" | ||||
|         > | ||||
|           <Form-item label="会员名称" prop="memberName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.memberName" | ||||
|               placeholder="请输入会员名称" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="充值单号" prop="rechargeSn"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.rechargeSn" | ||||
|               placeholder="请输入充值单号" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="支付时间"> | ||||
|           <DatePicker | ||||
|             v-model="selectDate" | ||||
|             type="datetimerange" | ||||
|             format="yyyy-MM-dd HH:mm:ss" | ||||
|             clearable | ||||
|             @on-change="selectDateRange" | ||||
|             placeholder="选择起始时间" | ||||
|             style="width: 200px" | ||||
|           ></DatePicker> | ||||
|         </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,30 +1,24 @@ | |||
| 
 | ||||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|       <Card> | ||||
|         <Row @keydown.enter.native="handleSearch"> | ||||
|           <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|             <Form-item label="会员名称" prop="memberName"> | ||||
|               <Input type="text" v-model="searchForm.memberName" placeholder="请输入会员名称" clearable style="width: 200px" /> | ||||
|             </Form-item> | ||||
|             <Form-item label="支付时间"> | ||||
|               <DatePicker v-model="selectDate" type="datetimerange" format="yyyy-MM-dd HH:mm:ss" clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"></DatePicker> | ||||
|             </Form-item> | ||||
|             <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|           </Form> | ||||
|         </Row> | ||||
|         <Row class="padding-row"> | ||||
|           <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|         </Row> | ||||
|         <Row type="flex" justify="end" class="page"> | ||||
|           <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|             size="small" show-total show-elevator show-sizer></Page> | ||||
|         </Row> | ||||
|       </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="会员名称" prop="memberName"> | ||||
|             <Input type="text" v-model="searchForm.memberName" placeholder="请输入会员名称" clearable style="width: 200px" /> | ||||
|           </Form-item> | ||||
|           <Form-item label="支付时间"> | ||||
|             <DatePicker v-model="selectDate" type="datetimerange" format="yyyy-MM-dd HH:mm:ss" clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"></DatePicker> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|         <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|           size="small" show-total show-elevator show-sizer></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,84 +1,78 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form | ||||
|               ref="searchForm" | ||||
|               :model="searchForm" | ||||
|               inline | ||||
|               :label-width="70" | ||||
|               class="search-form" | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form | ||||
|           ref="searchForm" | ||||
|           :model="searchForm" | ||||
|           inline | ||||
|           :label-width="70" | ||||
|           class="search-form" | ||||
|         > | ||||
|           <Form-item label="会员名称" prop="memberName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.memberName" | ||||
|               placeholder="请输入会员名称" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="审核状态" prop="applyStatus"> | ||||
|             <Select | ||||
|               v-model="searchForm.memberName" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             > | ||||
|               <Form-item label="会员名称" prop="memberName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.memberName" | ||||
|                   placeholder="请输入会员名称" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="审核状态" prop="applyStatus"> | ||||
|                 <Select | ||||
|                   v-model="searchForm.memberName" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 > | ||||
|                   <Option value="APPLY">申请中</Option> | ||||
|                   <Option value="VIA_AUDITING">审核通过(提现成功)</Option> | ||||
|                   <Option value="FAIL_AUDITING">审核拒绝</Option> | ||||
|                 </Select> | ||||
|               </Form-item> | ||||
|               <Form-item label="申请时间"> | ||||
|                 <DatePicker | ||||
|                   v-model="selectDate" | ||||
|                   type="datetimerange" | ||||
|                   format="yyyy-MM-dd HH:mm:ss" | ||||
|                   clearable | ||||
|                   @on-change="selectDateRange" | ||||
|                   placeholder="选择起始时间" | ||||
|                   style="width: 200px" | ||||
|                 ></DatePicker> | ||||
|               </Form-item> | ||||
|               <Form-item style="margin-left: -35px" class="br"> | ||||
|                 <Button @click="handleSearch" type="primary" icon="ios-search" | ||||
|                 >搜索 | ||||
|                 </Button | ||||
|                 > | ||||
|               </Form-item> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             ></Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|               <Option value="APPLY">申请中</Option> | ||||
|               <Option value="VIA_AUDITING">审核通过(提现成功)</Option> | ||||
|               <Option value="FAIL_AUDITING">审核拒绝</Option> | ||||
|             </Select> | ||||
|           </Form-item> | ||||
|           <Form-item label="申请时间"> | ||||
|             <DatePicker | ||||
|               v-model="selectDate" | ||||
|               type="datetimerange" | ||||
|               format="yyyy-MM-dd HH:mm:ss" | ||||
|               clearable | ||||
|               @on-change="selectDateRange" | ||||
|               placeholder="选择起始时间" | ||||
|               style="width: 200px" | ||||
|             ></DatePicker> | ||||
|           </Form-item> | ||||
|           <Form-item style="margin-left: -35px" class="br"> | ||||
|             <Button @click="handleSearch" type="primary" icon="ios-search" | ||||
|             >搜索 | ||||
|             </Button | ||||
|             > | ||||
|           </Form-item> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|     <Modal | ||||
|       :title="modalTitle" | ||||
|       v-model="roleModalVisible" | ||||
|  |  | |||
|  | @ -1,38 +1,33 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Card> | ||||
|         <Row @keydown.enter.native="handleSearch"> | ||||
|           <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|             <Form-item label="会员名称" prop="username"> | ||||
|               <Input type="text" v-model="searchForm.username" placeholder="请输入会员名称" clearable style="width: 200px" /> | ||||
|             </Form-item> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="会员名称" prop="username"> | ||||
|             <Input type="text" v-model="searchForm.username" placeholder="请输入会员名称" clearable style="width: 200px" /> | ||||
|           </Form-item> | ||||
| 
 | ||||
|             <Form-item label="会员昵称" prop="nickName"> | ||||
|               <Input type="text" v-model="searchForm.nickName" placeholder="请输入会员昵称" clearable style="width: 200px" /> | ||||
|             </Form-item> | ||||
|           <Form-item label="会员昵称" prop="nickName"> | ||||
|             <Input type="text" v-model="searchForm.nickName" placeholder="请输入会员昵称" clearable style="width: 200px" /> | ||||
|           </Form-item> | ||||
| 
 | ||||
|             <Form-item label="联系方式" prop="mobile"> | ||||
|               <Input type="text" v-model="searchForm.mobile" placeholder="请输入会员联系方式" clearable style="width: 200px" /> | ||||
|             </Form-item> | ||||
|             <Button @click="handleSearch" class="search-btn" type="primary" icon="ios-search">搜索</Button> | ||||
|           </Form> | ||||
|         </Row> | ||||
|         <Row class="operation padding-row"> | ||||
|           <Button @click="addMember" type="primary">添加会员</Button> | ||||
|         </Row> | ||||
|           <Form-item label="联系方式" prop="mobile"> | ||||
|             <Input type="text" v-model="searchForm.mobile" placeholder="请输入会员联系方式" clearable style="width: 200px" /> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" class="search-btn" type="primary" icon="ios-search">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Row class="operation padding-row"> | ||||
|         <Button @click="addMember" type="primary">添加会员</Button> | ||||
|       </Row> | ||||
| 
 | ||||
|         <Row> | ||||
|           <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"> | ||||
|           </Table> | ||||
| 
 | ||||
|         </Row> | ||||
|         <Row type="flex" justify="end" class="page"> | ||||
|           <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|             size="small" show-total show-elevator show-sizer></Page> | ||||
|         </Row> | ||||
|       </Card> | ||||
|     </Row> | ||||
|         <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"> | ||||
|         </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|           size="small" show-total show-elevator show-sizer></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
| 
 | ||||
|     <!-- 添加用户模态框 --> | ||||
|     <Modal v-model="addFlag" title="添加用户"> | ||||
|  |  | |||
|  | @ -78,7 +78,6 @@ | |||
|             </div> | ||||
|           </div> | ||||
|           <div class="point-data" style="margin-top: -5px"> | ||||
|             <Row> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|  | @ -89,7 +88,6 @@ | |||
|                 @on-sort-change="pointChangeSort" | ||||
|               > | ||||
|               </Table> | ||||
|             </Row> | ||||
| 
 | ||||
|             <Row type="flex" justify="end" class="page" style="margin-top: 10px"> | ||||
|               <Page | ||||
|  | @ -168,18 +166,16 @@ | |||
|             </Form> | ||||
|           </Row> | ||||
|           <div style="min-height: 180px"> | ||||
|             <Row class="padding-row"> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|                 :columns="orderColumns" | ||||
|                 :data="orderData" | ||||
|                 ref="table" | ||||
|                 sortable="custom" | ||||
|                 @on-sort-change="orderChangeSort" | ||||
|               > | ||||
|               </Table> | ||||
|             </Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="orderColumns" | ||||
|               :data="orderData" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="orderChangeSort" | ||||
|             > | ||||
|             </Table> | ||||
| 
 | ||||
|             <Row type="flex" justify="end" class="page" style="margin-top: 10px"> | ||||
|               <Page | ||||
|  | @ -201,18 +197,16 @@ | |||
|           <Row class="operation padding-row"> | ||||
|             <Button @click="addMemberAddress" type="primary">新增</Button> | ||||
|           </Row> | ||||
|           <Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="addressColumns" | ||||
|               :data="addressData" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="addressChangeSort" | ||||
|             > | ||||
|             </Table> | ||||
|           </Row> | ||||
|           <Table | ||||
|             :loading="loading" | ||||
|             border | ||||
|             :columns="addressColumns" | ||||
|             :data="addressData" | ||||
|             ref="table" | ||||
|             sortable="custom" | ||||
|             @on-sort-change="addressChangeSort" | ||||
|           > | ||||
|           </Table> | ||||
| 
 | ||||
|           <Row type="flex" justify="end" class="page" style="margin-top: 10px"> | ||||
|             <Page | ||||
|  | @ -249,18 +243,16 @@ | |||
|               </div> | ||||
|             </div> | ||||
|           </div> | ||||
|           <Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="walletColumns" | ||||
|               :data="walletData" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="walletChangeSort" | ||||
|             > | ||||
|             </Table> | ||||
|           </Row> | ||||
|           <Table | ||||
|             :loading="loading" | ||||
|             border | ||||
|             :columns="walletColumns" | ||||
|             :data="walletData" | ||||
|             ref="table" | ||||
|             sortable="custom" | ||||
|             @on-sort-change="walletChangeSort" | ||||
|           > | ||||
|           </Table> | ||||
| 
 | ||||
|           <Row type="flex" justify="end" class="page" style="margin-top: 10px"> | ||||
|             <Page | ||||
|  | @ -292,23 +284,21 @@ | |||
|               <Button @click="getReceiptRecordData" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="receiptRecordColumns" | ||||
|               :data="receiptRecordData" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="walletChangeSort" | ||||
|             > | ||||
|               <template slot="orderSnSlot" slot-scope="scope"> | ||||
|           <Table | ||||
|             :loading="loading" | ||||
|             border | ||||
|             :columns="receiptRecordColumns" | ||||
|             :data="receiptRecordData" | ||||
|             ref="table" | ||||
|             sortable="custom" | ||||
|             @on-sort-change="walletChangeSort" | ||||
|           > | ||||
|             <template slot="orderSnSlot" slot-scope="scope"> | ||||
| 
 | ||||
|                 <a @click="orderDetail(scope.row.orderSn)">{{scope.row.orderSn}}</a> | ||||
|               <a @click="orderDetail(scope.row.orderSn)">{{scope.row.orderSn}}</a> | ||||
| 
 | ||||
|               </template> | ||||
|             </Table> | ||||
|           </Row> | ||||
|             </template> | ||||
|           </Table> | ||||
| 
 | ||||
|           <Row type="flex" justify="end" class="page" style="margin-top: 10px"> | ||||
|             <Page | ||||
|  |  | |||
|  | @ -32,20 +32,17 @@ | |||
|             <Button @click="handleSearch" class="search-btn" type="primary" icon="ios-search">搜索</Button > | ||||
|           </Form> | ||||
|         </Row> | ||||
|         <Row class="padding-row"> | ||||
|           <Table | ||||
|             :loading="loading" | ||||
|             border | ||||
|             :columns="columns" | ||||
|             :data="data" | ||||
|             ref="table" | ||||
|             sortable="custom" | ||||
|             @on-sort-change="changeSort" | ||||
|             @on-selection-change="changeSelect" | ||||
|           > | ||||
|           </Table> | ||||
| 
 | ||||
|         </Row> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           ref="table" | ||||
|           sortable="custom" | ||||
|           @on-sort-change="changeSort" | ||||
|           @on-selection-change="changeSelect" | ||||
|         > | ||||
|         </Table> | ||||
|         <Row type="flex" justify="end" class="page"> | ||||
|           <Page | ||||
|             :current="searchForm.pageNumber" | ||||
|  |  | |||
|  | @ -101,18 +101,16 @@ | |||
|                 <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|               </Alert> | ||||
|             </Row> | ||||
|             <Row> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|                 :columns="columns" | ||||
|                 :data="data" | ||||
|                 sortable="custom" | ||||
|                 @on-sort-change="changeSort" | ||||
|                 @on-selection-change="showSelect" | ||||
|                 ref="memberTable" | ||||
|               ></Table> | ||||
|             </Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="showSelect" | ||||
|               ref="memberTable" | ||||
|             ></Table> | ||||
|             <Row type="flex" justify="end" class="page"> | ||||
|               <Page | ||||
|                 :current="searchForm.pageNumber" | ||||
|  | @ -145,18 +143,16 @@ | |||
|                 <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|               </Alert> | ||||
|             </Row> | ||||
|             <Row> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|                 :columns="columns" | ||||
|                 :data="data" | ||||
|                 sortable="custom" | ||||
|                 @on-sort-change="changeSort" | ||||
|                 @on-selection-change="showSelect" | ||||
|                 ref="shopTable" | ||||
|               ></Table> | ||||
|             </Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="showSelect" | ||||
|               ref="shopTable" | ||||
|             ></Table> | ||||
|             <Row type="flex" justify="end" class="page"> | ||||
|               <Page | ||||
|                 :current="searchForm.pageNumber" | ||||
|  | @ -191,18 +187,16 @@ | |||
|                 <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|               </Alert> | ||||
|             </Row> | ||||
|             <Row> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|                 :columns="weChatColumns" | ||||
|                 :data="weChatData" | ||||
|                 sortable="custom" | ||||
|                 @on-sort-change="changeSort" | ||||
|                 @on-selection-change="showSelect" | ||||
|                 ref="weChatTable" | ||||
|               ></Table> | ||||
|             </Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="weChatColumns" | ||||
|               :data="weChatData" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="showSelect" | ||||
|               ref="weChatTable" | ||||
|             ></Table> | ||||
|             <Row type="flex" justify="end" class="page"> | ||||
|               <Page | ||||
|                 :current="weChatSearchForm.pageNumber" | ||||
|  | @ -236,18 +230,16 @@ | |||
|                 <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|               </Alert> | ||||
|             </Row> | ||||
|             <Row> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|                 :columns="columns" | ||||
|                 :data="data" | ||||
|                 sortable="custom" | ||||
|                 @on-sort-change="changeSort" | ||||
|                 @on-selection-change="showSelect" | ||||
|                 ref="otherTable" | ||||
|               ></Table> | ||||
|             </Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="showSelect" | ||||
|               ref="otherTable" | ||||
|             ></Table> | ||||
|             <Row type="flex" justify="end" class="page"> | ||||
|               <Page | ||||
|                 :current="searchForm.pageNumber" | ||||
|  |  | |||
|  | @ -75,18 +75,16 @@ | |||
|           <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|         </Alert> | ||||
|       </Row> | ||||
|       <Row> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           sortable="custom" | ||||
|           @on-sort-change="changeSort" | ||||
|           @on-selection-change="showSelect" | ||||
|           ref="table" | ||||
|         ></Table> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="showSelect" | ||||
|         ref="table" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|  |  | |||
|  | @ -41,18 +41,16 @@ | |||
|           <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|         </Alert> | ||||
|       </Row> | ||||
|       <Row> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           ref="table" | ||||
|           sortable="custom" | ||||
|           @on-sort-change="changeSort" | ||||
|           @on-selection-change="changeSelect" | ||||
|         ></Table> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="pageNumber" | ||||
|  |  | |||
|  | @ -46,15 +46,13 @@ | |||
|             <Row class="operation"> | ||||
|               <Button @click="weChatSync" type="primary">同步微信消息</Button> | ||||
|             </Row> | ||||
|             <Row> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|                 :columns="weChatColumns" | ||||
|                 :data="weChatData" | ||||
|                 ref="weChatTable" | ||||
|               ></Table> | ||||
|             </Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="weChatColumns" | ||||
|               :data="weChatData" | ||||
|               ref="weChatTable" | ||||
|             ></Table> | ||||
|             <Row type="flex" justify="end" class="page"> | ||||
|               <Page | ||||
|                 :current="weChatSearchForm.pageNumber" | ||||
|  | @ -77,16 +75,14 @@ | |||
|             <Row class="operation"> | ||||
|               <Button @click="weChatSync('mp')" type="primary">同步微信小程序订阅消息</Button> | ||||
|             </Row> | ||||
|             <Row> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|                 :columns="weChatColumns" | ||||
|                 :data="weChatMPData" | ||||
|                 sortable="custom" | ||||
|                 ref="weChatMPTable" | ||||
|               ></Table> | ||||
|             </Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="weChatColumns" | ||||
|               :data="weChatMPData" | ||||
|               sortable="custom" | ||||
|               ref="weChatMPTable" | ||||
|             ></Table> | ||||
|             <Row type="flex" justify="end" class="page"> | ||||
|               <Page | ||||
|                 :current="weChatMPSearchForm.pageNumber" | ||||
|  |  | |||
|  | @ -1,342 +1,392 @@ | |||
| <template> | ||||
|     <div class="search"> | ||||
|         <Row> | ||||
|             <Col> | ||||
|                 <Card> | ||||
|                     <Row @keydown.enter.native="handleSearch"> | ||||
|                         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|                             <Form-item label="标题" prop="title"> | ||||
|                                 <Input type="text" v-model="searchForm.title" placeholder="请输入标题" clearable style="width: 200px"/> | ||||
|                             </Form-item> | ||||
|                             <Form-item label="消息内容" prop="content"> | ||||
|                                 <Input type="text" v-model="searchForm.content" placeholder="请输入消息内容" clearable style="width: 200px"/> | ||||
|                             </Form-item> | ||||
|                             <span v-if="drop"> | ||||
|                 <Form-item label="发送类型" prop="sendType"> | ||||
|                   <Select v-model="searchForm.sendType" placeholder="请选择" clearable style="width: 200px"> | ||||
|                     <Option value="ALL">全站会员</Option> | ||||
|                     <Option value="SELECT">指定会员</Option> | ||||
|                   </Select> | ||||
|                 </Form-item> | ||||
|                 <Form-item label="创建人" prop="createBy"> | ||||
|                   <Input type="text" v-model="searchForm.createBy" placeholder="请输入创建人" clearable style="width: 200px"/> | ||||
|                 </Form-item> | ||||
|               </span> | ||||
|                             <Form-item style="margin-left:-35px;" class="br"> | ||||
|                                 <Button @click="handleSearch" type="primary" icon="ios-search">搜索</Button> | ||||
|                                 <Button @click="handleReset">重置</Button> | ||||
|                                 <a class="drop-down" @click="dropDown"> | ||||
|                                     {{dropDownContent}} | ||||
|                                     <Icon :type="dropDownIcon"></Icon> | ||||
|                                 </a> | ||||
|                             </Form-item> | ||||
|                         </Form> | ||||
|                     </Row> | ||||
|                     <Row class="operation"> | ||||
|                         <Button @click="add" type="primary" icon="md-add">发送新消息</Button> | ||||
|                         <Button @click="delAll" icon="md-trash">批量删除</Button> | ||||
|                         <Button @click="getDataList" icon="md-refresh">刷新</Button> | ||||
|                     </Row> | ||||
|                     <Row v-show="openTip"> | ||||
|                         <Alert show-icon> | ||||
|                             已选择 <span class="select-count">{{selectCount}}</span> 项 | ||||
|                             <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|                         </Alert> | ||||
|                     </Row> | ||||
|                     <Row> | ||||
|                         <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|                     </Row> | ||||
|                     <Row type="flex" justify="end" class="page"> | ||||
|                         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" size="small" show-total show-elevator show-sizer></Page> | ||||
|                     </Row> | ||||
|                 </Card> | ||||
|             </Col> | ||||
|         </Row> | ||||
|     </div> | ||||
|   <div class="search"> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form | ||||
|           ref="searchForm" | ||||
|           :model="searchForm" | ||||
|           inline | ||||
|           :label-width="70" | ||||
|           class="search-form" | ||||
|         > | ||||
|           <Form-item label="标题" prop="title"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.title" | ||||
|               placeholder="请输入标题" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="消息内容" prop="content"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.content" | ||||
|               placeholder="请输入消息内容" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <span v-if="drop"> | ||||
|             <Form-item label="发送类型" prop="sendType"> | ||||
|               <Select | ||||
|                 v-model="searchForm.sendType" | ||||
|                 placeholder="请选择" | ||||
|                 clearable | ||||
|                 style="width: 200px" | ||||
|               > | ||||
|                 <Option value="ALL">全站会员</Option> | ||||
|                 <Option value="SELECT">指定会员</Option> | ||||
|               </Select> | ||||
|             </Form-item> | ||||
|             <Form-item label="创建人" prop="createBy"> | ||||
|               <Input | ||||
|                 type="text" | ||||
|                 v-model="searchForm.createBy" | ||||
|                 placeholder="请输入创建人" | ||||
|                 clearable | ||||
|                 style="width: 200px" | ||||
|               /> | ||||
|             </Form-item> | ||||
|           </span> | ||||
|           <Form-item style="margin-left: -35px" class="br"> | ||||
|             <Button @click="handleSearch" type="primary" icon="ios-search" | ||||
|               >搜索</Button | ||||
|             > | ||||
|             <Button @click="handleReset">重置</Button> | ||||
|             <a class="drop-down" @click="dropDown"> | ||||
|               {{ dropDownContent }} | ||||
|               <Icon :type="dropDownIcon"></Icon> | ||||
|             </a> | ||||
|           </Form-item> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Row class="operation"> | ||||
|         <Button @click="add" type="primary" icon="md-add">发送新消息</Button> | ||||
|         <Button @click="delAll" icon="md-trash">批量删除</Button> | ||||
|         <Button @click="getDataList" icon="md-refresh">刷新</Button> | ||||
|       </Row> | ||||
|       <Row v-show="openTip"> | ||||
|         <Alert show-icon> | ||||
|           已选择 <span class="select-count">{{ selectCount }}</span> 项 | ||||
|           <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|         </Alert> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
|     export default { | ||||
|         name: "member-notice-sender", | ||||
|         components: { | ||||
| export default { | ||||
|   name: "member-notice-sender", | ||||
|   components: {}, | ||||
|   data() { | ||||
|     return { | ||||
|       openSearch: true, // 显示搜索 | ||||
|       openTip: true, // 显示提示 | ||||
|       loading: true, // 表单加载状态 | ||||
|       modalType: 0, // 添加或编辑标识 | ||||
|       modalVisible: false, // 添加或编辑显示 | ||||
|       modalTitle: "", // 添加或编辑标题 | ||||
|       drop: false, // 更多搜索项 | ||||
|       dropDownContent: "展开", // drop中文提示 | ||||
|       dropDownIcon: "ios-arrow-down", // drop图标 | ||||
|       searchForm: { | ||||
|         // 搜索框初始化对象 | ||||
|         pageNumber: 1, // 当前页数 | ||||
|         pageSize: 10, // 页面大小 | ||||
|         sort: "createTime", // 默认排序字段 | ||||
|         order: "desc", // 默认排序方式 | ||||
|       }, | ||||
|       submitLoading: false, // 添加或编辑提交状态 | ||||
|       selectList: [], // 多选数据 | ||||
|       selectCount: 0, // 多选计数 | ||||
|       columns: [ | ||||
|         // 表头 | ||||
|         { | ||||
|           type: "selection", | ||||
|           width: 60, | ||||
|           align: "center", | ||||
|         }, | ||||
|         data() { | ||||
|             return { | ||||
|                 openSearch: true, // 显示搜索 | ||||
|                 openTip: true, // 显示提示 | ||||
|                 loading: true, // 表单加载状态 | ||||
|                 modalType: 0, // 添加或编辑标识 | ||||
|                 modalVisible: false, // 添加或编辑显示 | ||||
|                 modalTitle: "", // 添加或编辑标题 | ||||
|                 drop: false, // 更多搜索项 | ||||
|                 dropDownContent: "展开", // drop中文提示 | ||||
|                 dropDownIcon: "ios-arrow-down", // drop图标 | ||||
|                 searchForm: { // 搜索框初始化对象 | ||||
|                     pageNumber: 1, // 当前页数 | ||||
|                     pageSize: 10, // 页面大小 | ||||
|                     sort: "createTime", // 默认排序字段 | ||||
|                     order: "desc", // 默认排序方式 | ||||
|                 }, | ||||
|                 submitLoading: false, // 添加或编辑提交状态 | ||||
|                 selectList: [], // 多选数据 | ||||
|                 selectCount: 0, // 多选计数 | ||||
|                 columns: [ | ||||
|                     // 表头 | ||||
|                     { | ||||
|                         type: "selection", | ||||
|                         width: 60, | ||||
|                         align: "center" | ||||
|                     }, | ||||
|                     { | ||||
|                         type: "index", | ||||
|                         width: 60, | ||||
|                         align: "center" | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "标题", | ||||
|                         key: "title", | ||||
|                         minWidth: 120, | ||||
|                         sortable: false, | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "发送类型", | ||||
|                         key: "sendType", | ||||
|                         minWidth: 120, | ||||
|                         sortable: false, | ||||
| 
 | ||||
|                         render: (h, params) => { | ||||
|                             if (params.row.sendType == "ALL") { | ||||
|                                 return h("div", [ | ||||
|                                     h("Badge", { | ||||
|                                         props: { | ||||
|                                             status: "success", | ||||
|                                             text: "全部会员" | ||||
|                                         } | ||||
|                                     }) | ||||
|                                 ]); | ||||
|                             }else{ | ||||
|                                 return h("div", [ | ||||
|                                     h("Badge", { | ||||
|                                         props: { | ||||
|                                             status: "success", | ||||
|                                             text: "指定会员" | ||||
|                                         } | ||||
|                                     }) | ||||
|                                 ]); | ||||
|                             } | ||||
|                         } | ||||
| 
 | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "创建人", | ||||
|                         key: "createBy", | ||||
|                         minWidth: 120, | ||||
|                         sortable: false, | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "创建时间", | ||||
|                         key: "createTime", | ||||
|                         minWidth: 120, | ||||
|                         sortable: true, | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "操作", | ||||
|                         key: "action", | ||||
|                         align: "center", | ||||
|                         width: 200, | ||||
|                         render: (h, params) => { | ||||
|                             return h("div", [ | ||||
|                                 h( | ||||
|                                     "Button", | ||||
|                                     { | ||||
|                                         props: { | ||||
|                                             type: "error", | ||||
|                                             size: "small", | ||||
|                                             icon: "md-trash" | ||||
|                                         }, | ||||
|                                         on: { | ||||
|                                             click: () => { | ||||
|                                                 this.remove(params.row); | ||||
|                                             } | ||||
|                                         } | ||||
|                                     }, | ||||
|                                     "删除" | ||||
|                                 ) | ||||
|                             ]); | ||||
|                         } | ||||
|                     } | ||||
|                 ], | ||||
|                 data: [], // 表单数据 | ||||
|                 total: 0 // 表单数据总数 | ||||
|             }; | ||||
|         { | ||||
|           type: "index", | ||||
|           width: 60, | ||||
|           align: "center", | ||||
|         }, | ||||
|         methods: { | ||||
|             init() { | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             changePage(v) { | ||||
|                 this.searchForm.pageNumber = v; | ||||
|                 this.getDataList(); | ||||
|                 this.clearSelectAll(); | ||||
|             }, | ||||
|             changePageSize(v) { | ||||
|                 this.searchForm.pageSize = v; | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             handleSearch() { | ||||
|                 this.searchForm.pageNumber = 1; | ||||
|                 this.searchForm.pageSize = 10; | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             handleReset() { | ||||
|                 this.$refs.searchForm.resetFields(); | ||||
|                 this.searchForm.pageNumber = 1; | ||||
|                 this.searchForm.pageSize = 10; | ||||
|                 // 重新加载数据 | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             changeSort(e) { | ||||
|                 this.searchForm.sort = e.key; | ||||
|                 this.searchForm.order = e.order; | ||||
|                 if (e.order === "normal") { | ||||
|                     this.searchForm.order = ""; | ||||
|                 } | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             clearSelectAll() { | ||||
|                 this.$refs.table.selectAll(false); | ||||
|             }, | ||||
|             changeSelect(e) { | ||||
|                 this.selectList = e; | ||||
|                 this.selectCount = e.length; | ||||
|             }, | ||||
|             dropDown() { | ||||
|                 if (this.drop) { | ||||
|                     this.dropDownContent = "展开"; | ||||
|                     this.dropDownIcon = "ios-arrow-down"; | ||||
|                 } else { | ||||
|                     this.dropDownContent = "收起"; | ||||
|                     this.dropDownIcon = "ios-arrow-up"; | ||||
|                 } | ||||
|                 this.drop = !this.drop; | ||||
|             }, | ||||
|             getDataList() { | ||||
|                 this.loading = true; | ||||
|                 // 带多条件搜索参数获取表单数据 请自行修改接口 | ||||
|                 this.getRequest("/memberNoticeSenter/getByPage", this.searchForm).then(res => { | ||||
|                     this.loading = false; | ||||
|                     if (res.success) { | ||||
|                         this.data = res.result.records; | ||||
|                         this.total = res.result.total; | ||||
|                     } | ||||
|                 }); | ||||
|                 // 以下为模拟数据 | ||||
|                 //this.data = [ | ||||
|                 //]; | ||||
|                 this.total = this.data.length; | ||||
|                 this.loading = false; | ||||
|             }, | ||||
|             add() { | ||||
|                 let query = { type: 0, backRoute: this.$route.name }; | ||||
|                 this.$router.push({ | ||||
|                     name: "add_message", | ||||
|                     query: query | ||||
|                 }); | ||||
|             }, | ||||
|             edit(v) { | ||||
|                 this.modalType = 1; | ||||
|                 this.modalTitle = "编辑"; | ||||
|                 this.$refs.form.resetFields(); | ||||
|                 // 转换null为"" | ||||
|                 for (let attr in v) { | ||||
|                     if (v[attr] === null) { | ||||
|                         v[attr] = ""; | ||||
|                     } | ||||
|                 } | ||||
|                 let str = JSON.stringify(v); | ||||
|                 let data = JSON.parse(str); | ||||
|                 this.form = data; | ||||
|                 this.modalVisible = true; | ||||
|             }, | ||||
|             remove(v) { | ||||
|                 this.$Modal.confirm({ | ||||
|                     title: "确认删除", | ||||
|                     // 记得确认修改此处 | ||||
|                     content: "您确认要删除么?", | ||||
|                     loading: true, | ||||
|                     onOk: () => { | ||||
|                         // 删除 | ||||
|                         this.deleteRequest("/memberNoticeSenter/delByIds/" + v.id).then(res => { | ||||
|                             this.$Modal.remove(); | ||||
|                             if (res.success) { | ||||
|                                 this.$Message.success("操作成功"); | ||||
|                                 this.getDataList(); | ||||
|                             } | ||||
|                         }); | ||||
|                         // 模拟请求成功 | ||||
|                         //this.$Message.success("操作成功"); | ||||
|                         //this.$Modal.remove(); | ||||
|                         //this.getDataList(); | ||||
|                     } | ||||
|                 }); | ||||
|             }, | ||||
|             delAll() { | ||||
|                 if (this.selectCount <= 0) { | ||||
|                     this.$Message.warning("您还未选择要删除的数据"); | ||||
|                     return; | ||||
|                 } | ||||
|                 this.$Modal.confirm({ | ||||
|                     title: "确认删除", | ||||
|                     content: "您确认要删除所选的 " + this.selectCount + " 条数据?", | ||||
|                     loading: true, | ||||
|                     onOk: () => { | ||||
|                         let ids = ""; | ||||
|                         this.selectList.forEach(function(e) { | ||||
|                             ids += e.id + ","; | ||||
|                         }); | ||||
|                         ids = ids.substring(0, ids.length - 1); | ||||
|                         // 批量删除 | ||||
|                         this.deleteRequest("/memberNoticeSenter/delByIds/" + ids).then(res => { | ||||
|                             this.$Modal.remove(); | ||||
|                             if (res.success) { | ||||
|                                 this.$Message.success("操作成功"); | ||||
|                                 this.clearSelectAll(); | ||||
|                                 this.getDataList(); | ||||
|                             } | ||||
|                         }); | ||||
|                         // 模拟请求成功 | ||||
|                         //this.$Message.success("操作成功"); | ||||
|                         //this.$Modal.remove(); | ||||
|                         //this.clearSelectAll(); | ||||
|                         //this.getDataList(); | ||||
|                     } | ||||
|                 }); | ||||
|         { | ||||
|           title: "标题", | ||||
|           key: "title", | ||||
|           minWidth: 120, | ||||
|           sortable: false, | ||||
|         }, | ||||
|         { | ||||
|           title: "发送类型", | ||||
|           key: "sendType", | ||||
|           minWidth: 120, | ||||
|           sortable: false, | ||||
| 
 | ||||
|           render: (h, params) => { | ||||
|             if (params.row.sendType == "ALL") { | ||||
|               return h("div", [ | ||||
|                 h("Badge", { | ||||
|                   props: { | ||||
|                     status: "success", | ||||
|                     text: "全部会员", | ||||
|                   }, | ||||
|                 }), | ||||
|               ]); | ||||
|             } else { | ||||
|               return h("div", [ | ||||
|                 h("Badge", { | ||||
|                   props: { | ||||
|                     status: "success", | ||||
|                     text: "指定会员", | ||||
|                   }, | ||||
|                 }), | ||||
|               ]); | ||||
|             } | ||||
|           }, | ||||
|         }, | ||||
|         mounted() { | ||||
|             this.init(); | ||||
|         } | ||||
|         { | ||||
|           title: "创建人", | ||||
|           key: "createBy", | ||||
|           minWidth: 120, | ||||
|           sortable: false, | ||||
|         }, | ||||
|         { | ||||
|           title: "创建时间", | ||||
|           key: "createTime", | ||||
|           minWidth: 120, | ||||
|           sortable: true, | ||||
|         }, | ||||
|         { | ||||
|           title: "操作", | ||||
|           key: "action", | ||||
|           align: "center", | ||||
|           width: 200, | ||||
|           render: (h, params) => { | ||||
|             return h("div", [ | ||||
|               h( | ||||
|                 "Button", | ||||
|                 { | ||||
|                   props: { | ||||
|                     type: "error", | ||||
|                     size: "small", | ||||
|                     icon: "md-trash", | ||||
|                   }, | ||||
|                   on: { | ||||
|                     click: () => { | ||||
|                       this.remove(params.row); | ||||
|                     }, | ||||
|                   }, | ||||
|                 }, | ||||
|                 "删除" | ||||
|               ), | ||||
|             ]); | ||||
|           }, | ||||
|         }, | ||||
|       ], | ||||
|       data: [], // 表单数据 | ||||
|       total: 0, // 表单数据总数 | ||||
|     }; | ||||
|   }, | ||||
|   methods: { | ||||
|     init() { | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     changePage(v) { | ||||
|       this.searchForm.pageNumber = v; | ||||
|       this.getDataList(); | ||||
|       this.clearSelectAll(); | ||||
|     }, | ||||
|     changePageSize(v) { | ||||
|       this.searchForm.pageSize = v; | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     handleSearch() { | ||||
|       this.searchForm.pageNumber = 1; | ||||
|       this.searchForm.pageSize = 10; | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     handleReset() { | ||||
|       this.$refs.searchForm.resetFields(); | ||||
|       this.searchForm.pageNumber = 1; | ||||
|       this.searchForm.pageSize = 10; | ||||
|       // 重新加载数据 | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     changeSort(e) { | ||||
|       this.searchForm.sort = e.key; | ||||
|       this.searchForm.order = e.order; | ||||
|       if (e.order === "normal") { | ||||
|         this.searchForm.order = ""; | ||||
|       } | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     clearSelectAll() { | ||||
|       this.$refs.table.selectAll(false); | ||||
|     }, | ||||
|     changeSelect(e) { | ||||
|       this.selectList = e; | ||||
|       this.selectCount = e.length; | ||||
|     }, | ||||
|     dropDown() { | ||||
|       if (this.drop) { | ||||
|         this.dropDownContent = "展开"; | ||||
|         this.dropDownIcon = "ios-arrow-down"; | ||||
|       } else { | ||||
|         this.dropDownContent = "收起"; | ||||
|         this.dropDownIcon = "ios-arrow-up"; | ||||
|       } | ||||
|       this.drop = !this.drop; | ||||
|     }, | ||||
|     getDataList() { | ||||
|       this.loading = true; | ||||
|       // 带多条件搜索参数获取表单数据 请自行修改接口 | ||||
|       this.getRequest("/memberNoticeSenter/getByPage", this.searchForm).then( | ||||
|         (res) => { | ||||
|           this.loading = false; | ||||
|           if (res.success) { | ||||
|             this.data = res.result.records; | ||||
|             this.total = res.result.total; | ||||
|           } | ||||
|         } | ||||
|       ); | ||||
|       // 以下为模拟数据 | ||||
|       //this.data = [ | ||||
|       //]; | ||||
|       this.total = this.data.length; | ||||
|       this.loading = false; | ||||
|     }, | ||||
|     add() { | ||||
|       let query = { type: 0, backRoute: this.$route.name }; | ||||
|       this.$router.push({ | ||||
|         name: "add_message", | ||||
|         query: query, | ||||
|       }); | ||||
|     }, | ||||
|     edit(v) { | ||||
|       this.modalType = 1; | ||||
|       this.modalTitle = "编辑"; | ||||
|       this.$refs.form.resetFields(); | ||||
|       // 转换null为"" | ||||
|       for (let attr in v) { | ||||
|         if (v[attr] === null) { | ||||
|           v[attr] = ""; | ||||
|         } | ||||
|       } | ||||
|       let str = JSON.stringify(v); | ||||
|       let data = JSON.parse(str); | ||||
|       this.form = data; | ||||
|       this.modalVisible = true; | ||||
|     }, | ||||
|     remove(v) { | ||||
|       this.$Modal.confirm({ | ||||
|         title: "确认删除", | ||||
|         // 记得确认修改此处 | ||||
|         content: "您确认要删除么?", | ||||
|         loading: true, | ||||
|         onOk: () => { | ||||
|           // 删除 | ||||
|           this.deleteRequest("/memberNoticeSenter/delByIds/" + v.id).then( | ||||
|             (res) => { | ||||
|               this.$Modal.remove(); | ||||
|               if (res.success) { | ||||
|                 this.$Message.success("操作成功"); | ||||
|                 this.getDataList(); | ||||
|               } | ||||
|             } | ||||
|           ); | ||||
|           // 模拟请求成功 | ||||
|           //this.$Message.success("操作成功"); | ||||
|           //this.$Modal.remove(); | ||||
|           //this.getDataList(); | ||||
|         }, | ||||
|       }); | ||||
|     }, | ||||
|     delAll() { | ||||
|       if (this.selectCount <= 0) { | ||||
|         this.$Message.warning("您还未选择要删除的数据"); | ||||
|         return; | ||||
|       } | ||||
|       this.$Modal.confirm({ | ||||
|         title: "确认删除", | ||||
|         content: "您确认要删除所选的 " + this.selectCount + " 条数据?", | ||||
|         loading: true, | ||||
|         onOk: () => { | ||||
|           let ids = ""; | ||||
|           this.selectList.forEach(function (e) { | ||||
|             ids += e.id + ","; | ||||
|           }); | ||||
|           ids = ids.substring(0, ids.length - 1); | ||||
|           // 批量删除 | ||||
|           this.deleteRequest("/memberNoticeSenter/delByIds/" + ids).then( | ||||
|             (res) => { | ||||
|               this.$Modal.remove(); | ||||
|               if (res.success) { | ||||
|                 this.$Message.success("操作成功"); | ||||
|                 this.clearSelectAll(); | ||||
|                 this.getDataList(); | ||||
|               } | ||||
|             } | ||||
|           ); | ||||
|           // 模拟请求成功 | ||||
|           //this.$Message.success("操作成功"); | ||||
|           //this.$Modal.remove(); | ||||
|           //this.clearSelectAll(); | ||||
|           //this.getDataList(); | ||||
|         }, | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
|   mounted() { | ||||
|     this.init(); | ||||
|   }, | ||||
| }; | ||||
| </script> | ||||
| <style lang="scss"> | ||||
|     // 建议引入通用样式 可删除下面样式代码 | ||||
|     // @import "@/styles/table-common.scss"; | ||||
|     .search { | ||||
|         .operation { | ||||
|             margin-bottom: 2vh; | ||||
|         } | ||||
|         .select-count { | ||||
|             font-weight: 600; | ||||
|             color: #40a9ff; | ||||
|         } | ||||
|         .select-clear { | ||||
|             margin-left: 10px; | ||||
|         } | ||||
|         .page { | ||||
|             margin-top: 2vh; | ||||
|         } | ||||
|         .drop-down { | ||||
|             margin-left: 5px; | ||||
|         } | ||||
|     } | ||||
| // 建议引入通用样式 可删除下面样式代码 | ||||
| // @import "@/styles/table-common.scss"; | ||||
| .search { | ||||
|   .operation { | ||||
|     margin-bottom: 2vh; | ||||
|   } | ||||
|   .select-count { | ||||
|     font-weight: 600; | ||||
|     color: #40a9ff; | ||||
|   } | ||||
|   .select-clear { | ||||
|     margin-left: 10px; | ||||
|   } | ||||
|   .page { | ||||
|     margin-top: 2vh; | ||||
|   } | ||||
|   .drop-down { | ||||
|     margin-left: 5px; | ||||
|   } | ||||
| } | ||||
| </style> | ||||
|  |  | |||
|  | @ -22,20 +22,17 @@ | |||
|             <Button @click="handleSearch" class="search-btn" type="primary" icon="ios-search">搜索</Button > | ||||
|           </Form> | ||||
|         </Row> | ||||
|         <Row class="padding-row"> | ||||
|           <Table | ||||
|             :loading="loading" | ||||
|             border | ||||
|             :columns="columns" | ||||
|             :data="data" | ||||
|             ref="table" | ||||
|             sortable="custom" | ||||
|             @on-sort-change="changeSort" | ||||
|             @on-selection-change="changeSelect" | ||||
|           > | ||||
|           </Table> | ||||
| 
 | ||||
|         </Row> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           ref="table" | ||||
|           sortable="custom" | ||||
|           @on-sort-change="changeSort" | ||||
|           @on-selection-change="changeSelect" | ||||
|         > | ||||
|         </Table> | ||||
|         <Row type="flex" justify="end" class="page"> | ||||
|           <Page | ||||
|             :current="searchForm.pageNumber" | ||||
|  |  | |||
|  | @ -10,18 +10,16 @@ | |||
|                   <Row class="operation" style="margin-bottom: 10px"> | ||||
|                     <Button @click="add"  type="primary" >添加</Button> | ||||
|                   </Row> | ||||
|                   <Row> | ||||
|                     <Table | ||||
|                       :loading="loading" | ||||
|                       border | ||||
|                       :columns="columns" | ||||
|                       :data="data" | ||||
|                       ref="table" | ||||
|                       sortable="custom" | ||||
|                       @on-sort-change="changeSort" | ||||
|                       @on-selection-change="changeSelect" | ||||
|                     ></Table> | ||||
|                   </Row> | ||||
|                   <Table | ||||
|                     :loading="loading" | ||||
|                     border | ||||
|                     :columns="columns" | ||||
|                     :data="data" | ||||
|                     ref="table" | ||||
|                     sortable="custom" | ||||
|                     @on-sort-change="changeSort" | ||||
|                     @on-selection-change="changeSelect" | ||||
|                   ></Table> | ||||
|                   <Row type="flex" justify="end" class="page"> | ||||
|                     <Page | ||||
|                       :current="searchForm.pageNumber" | ||||
|  | @ -45,18 +43,16 @@ | |||
|                   <Row class="operation" style="margin-bottom: 10px"> | ||||
|                     <Button @click="add" type="primary" icon="md-add">添加</Button> | ||||
|                   </Row> | ||||
|                   <Row> | ||||
|                     <Table | ||||
|                       :loading="loading" | ||||
|                       border | ||||
|                       :columns="columns" | ||||
|                       :data="data" | ||||
|                       ref="table" | ||||
|                       sortable="custom" | ||||
|                       @on-sort-change="changeSort" | ||||
|                       @on-selection-change="changeSelect" | ||||
|                     ></Table> | ||||
|                   </Row> | ||||
|                   <Table | ||||
|                     :loading="loading" | ||||
|                     border | ||||
|                     :columns="columns" | ||||
|                     :data="data" | ||||
|                     ref="table" | ||||
|                     sortable="custom" | ||||
|                     @on-sort-change="changeSort" | ||||
|                     @on-selection-change="changeSelect" | ||||
|                   ></Table> | ||||
|                   <Row type="flex" justify="end" class="page"> | ||||
|                     <Page | ||||
|                       :current="searchForm.pageNumber" | ||||
|  | @ -80,18 +76,16 @@ | |||
|                   <Row class="operation" style="margin-bottom: 10px"> | ||||
|                     <Button @click="add" type="primary" icon="md-add">添加</Button> | ||||
|                   </Row> | ||||
|                   <Row> | ||||
|                     <Table | ||||
|                       :loading="loading" | ||||
|                       border | ||||
|                       :columns="columns" | ||||
|                       :data="data" | ||||
|                       ref="table" | ||||
|                       sortable="custom" | ||||
|                       @on-sort-change="changeSort" | ||||
|                       @on-selection-change="changeSelect" | ||||
|                     ></Table> | ||||
|                   </Row> | ||||
|                   <Table | ||||
|                     :loading="loading" | ||||
|                     border | ||||
|                     :columns="columns" | ||||
|                     :data="data" | ||||
|                     ref="table" | ||||
|                     sortable="custom" | ||||
|                     @on-sort-change="changeSort" | ||||
|                     @on-selection-change="changeSelect" | ||||
|                   ></Table> | ||||
|                   <Row type="flex" justify="end" class="page"> | ||||
|                     <Page | ||||
|                       :current="searchForm.pageNumber" | ||||
|  | @ -116,18 +110,16 @@ | |||
|                     <Button @click="add" type="primary" icon="md-add">添加</Button> | ||||
|                     <Button @click="getDataList" icon="md-refresh">刷新</Button> | ||||
|                   </Row> | ||||
|                   <Row> | ||||
|                     <Table | ||||
|                       :loading="loading" | ||||
|                       border | ||||
|                       :columns="columns" | ||||
|                       :data="data" | ||||
|                       ref="table" | ||||
|                       sortable="custom" | ||||
|                       @on-sort-change="changeSort" | ||||
|                       @on-selection-change="changeSelect" | ||||
|                     ></Table> | ||||
|                   </Row> | ||||
|                   <Table | ||||
|                     :loading="loading" | ||||
|                     border | ||||
|                     :columns="columns" | ||||
|                     :data="data" | ||||
|                     ref="table" | ||||
|                     sortable="custom" | ||||
|                     @on-sort-change="changeSort" | ||||
|                     @on-selection-change="changeSelect" | ||||
|                   ></Table> | ||||
|                   <Row type="flex" justify="end" class="page"> | ||||
|                     <Page | ||||
|                       :current="searchForm.pageNumber" | ||||
|  |  | |||
|  | @ -73,40 +73,38 @@ | |||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             > | ||||
|               <!-- 商品栏目格式化 --> | ||||
|               <template slot="goodsSlot" slot-scope="{row}"> | ||||
|                 <div style="margin-top: 5px;height: 80px; display: flex;"> | ||||
|                   <div style=""> | ||||
|                     <img :src="row.goodsImage" style="height: 60px;margin-top: 3px"> | ||||
|                   </div> | ||||
| 
 | ||||
|                   <div style="margin-left: 13px;"> | ||||
|                     <div class="div-zoom"> | ||||
|                       <a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a> | ||||
|                     </div> | ||||
|                     <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|                       <div slot="content"> | ||||
|                         <vue-qr :text="wapLinkTo(row.goodsId,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|                       </div> | ||||
|                       <img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt=""> | ||||
|                     </Poptip> | ||||
|                   </div> | ||||
|           <Table | ||||
|             :loading="loading" | ||||
|             border | ||||
|             :columns="columns" | ||||
|             :data="data" | ||||
|             ref="table" | ||||
|             sortable="custom" | ||||
|             @on-sort-change="changeSort" | ||||
|             @on-selection-change="changeSelect" | ||||
|           > | ||||
|             <!-- 商品栏目格式化 --> | ||||
|             <template slot="goodsSlot" slot-scope="{row}"> | ||||
|               <div style="margin-top: 5px;height: 80px; display: flex;"> | ||||
|                 <div style=""> | ||||
|                   <img :src="row.goodsImage" style="height: 60px;margin-top: 3px"> | ||||
|                 </div> | ||||
| 
 | ||||
|               </template> | ||||
|             </Table> | ||||
|           </Row> | ||||
|                 <div style="margin-left: 13px;"> | ||||
|                   <div class="div-zoom"> | ||||
|                     <a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a> | ||||
|                   </div> | ||||
|                   <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|                     <div slot="content"> | ||||
|                       <vue-qr :text="wapLinkTo(row.goodsId,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|                     </div> | ||||
|                     <img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt=""> | ||||
|                   </Poptip> | ||||
|                 </div> | ||||
|               </div> | ||||
| 
 | ||||
|             </template> | ||||
|           </Table> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|  |  | |||
|  | @ -1,81 +1,74 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|               <Form-item label="订单编号" prop="orderSn"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.orderSn" | ||||
|                   placeholder="请输入订单编号" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="会员名称" prop="memberName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.memberName" | ||||
|                   placeholder="请输入会员名称" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="状态" prop="status"> | ||||
|                 <Select v-model="searchForm.status" placeholder="请选择" clearable style="width: 200px"> | ||||
|                   <Option value="NEW">新投诉</Option> | ||||
|                   <Option value="CANCEL">已撤销</Option> | ||||
|                   <Option value="WAIT_APPEAL">待申诉</Option> | ||||
|                   <Option value="COMMUNICATION">对话中</Option> | ||||
|                   <Option value="WAIT_ARBITRATION">等待仲裁</Option> | ||||
|                   <Option value="COMPLETE">已完成</Option> | ||||
|                 </Select> | ||||
|               </Form-item> | ||||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
| 
 | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             > | ||||
|               <template slot-scope="{row}" slot="goodsName"> | ||||
|                 <a class="mr_10" @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a> | ||||
|                 <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|                   <div slot="content"> | ||||
|                     <vue-qr :text="wapLinkTo(row.goodsId,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|                   </div> | ||||
|                   <img src="../../../assets/qrcode.svg" style="vertical-align:bottom;" class="hover-pointer" width="20" height="20" alt=""> | ||||
|                 </Poptip> | ||||
|               </template> | ||||
|             </Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="订单编号" prop="orderSn"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.orderSn" | ||||
|               placeholder="请输入订单编号" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="会员名称" prop="memberName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.memberName" | ||||
|               placeholder="请输入会员名称" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="状态" prop="status"> | ||||
|             <Select v-model="searchForm.status" placeholder="请选择" clearable style="width: 200px"> | ||||
|               <Option value="NEW">新投诉</Option> | ||||
|               <Option value="CANCEL">已撤销</Option> | ||||
|               <Option value="WAIT_APPEAL">待申诉</Option> | ||||
|               <Option value="COMMUNICATION">对话中</Option> | ||||
|               <Option value="WAIT_ARBITRATION">等待仲裁</Option> | ||||
|               <Option value="COMPLETE">已完成</Option> | ||||
|             </Select> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       > | ||||
|         <template slot-scope="{row}" slot="goodsName"> | ||||
|           <a class="mr_10" @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a> | ||||
|           <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|             <div slot="content"> | ||||
|               <vue-qr :text="wapLinkTo(row.goodsId,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|             </div> | ||||
|             <img src="../../../assets/qrcode.svg" style="vertical-align:bottom;" class="hover-pointer" width="20" height="20" alt=""> | ||||
|           </Poptip> | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|     <Modal | ||||
|       :title="modalTitle" | ||||
|       v-model="modalVisible" | ||||
|  |  | |||
|  | @ -1,44 +1,38 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|       <Card> | ||||
|         <Row @keydown.enter.native="handleSearch"> | ||||
|           <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|             <Form-item label="订单号" prop="sn"> | ||||
|               <Input type="text" v-model="searchForm.sn" placeholder="订单/交易号" clearable style="width: 200px" /> | ||||
|             </Form-item> | ||||
|             <Form-item label="付款状态" prop="orderStatus"> | ||||
|               <Select v-model="searchForm.payStatus" placeholder="请选择" clearable style="width: 200px"> | ||||
|                 <Option value="UNPAID">未付款</Option> | ||||
|                 <Option value="PAID">已付款</Option> | ||||
|               </Select> | ||||
|             </Form-item> | ||||
|             <Form-item label="支付方式" prop="orderStatus"> | ||||
|               <Select v-model="searchForm.paymentMethod" placeholder="请选择" clearable style="width: 200px"> | ||||
|                 <Option value="WECHAT">微信</Option> | ||||
|                 <Option value="ALIPAY">支付宝</Option> | ||||
|                 <Option value="WALLET">余额</Option> | ||||
|                 <Option value="BANK_TRANSFER">银行转账</Option> | ||||
|                 <Option value="">暂未付款</Option> | ||||
|               </Select> | ||||
|             </Form-item> | ||||
|             <Form-item label="支付时间"> | ||||
|               <DatePicker v-model="searchForm" type="datetimerange" format="yyyy-MM-dd" clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"></DatePicker> | ||||
|             </Form-item> | ||||
|             <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|           </Form> | ||||
|         </Row> | ||||
|         <Row class="padding-row"> | ||||
|           <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|         </Row> | ||||
|         <Row type="flex" justify="end" class="page"> | ||||
|           <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|             size="small" show-total show-elevator show-sizer></Page> | ||||
|         </Row> | ||||
|       </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="订单号" prop="sn"> | ||||
|             <Input type="text" v-model="searchForm.sn" placeholder="订单/交易号" clearable style="width: 200px" /> | ||||
|           </Form-item> | ||||
|           <Form-item label="付款状态" prop="orderStatus"> | ||||
|             <Select v-model="searchForm.payStatus" placeholder="请选择" clearable style="width: 200px"> | ||||
|               <Option value="UNPAID">未付款</Option> | ||||
|               <Option value="PAID">已付款</Option> | ||||
|             </Select> | ||||
|           </Form-item> | ||||
|           <Form-item label="支付方式" prop="orderStatus"> | ||||
|             <Select v-model="searchForm.paymentMethod" placeholder="请选择" clearable style="width: 200px"> | ||||
|               <Option value="WECHAT">微信</Option> | ||||
|               <Option value="ALIPAY">支付宝</Option> | ||||
|               <Option value="WALLET">余额</Option> | ||||
|               <Option value="BANK_TRANSFER">银行转账</Option> | ||||
|               <Option value="">暂未付款</Option> | ||||
|             </Select> | ||||
|           </Form-item> | ||||
|           <Form-item label="支付时间"> | ||||
|             <DatePicker v-model="searchForm" type="datetimerange" format="yyyy-MM-dd" clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"></DatePicker> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|           size="small" show-total show-elevator show-sizer></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,38 +1,32 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|               <Form-item label="订单号" prop="orderSn"> | ||||
|                 <Input type="text" v-model="searchForm.orderSn" placeholder="订单/交易号" clearable style="width: 200px"/> | ||||
|               </Form-item> | ||||
|               <Form-item label="退款状态" prop="orderStatus"> | ||||
|                 <Select v-model="searchForm.isRefund" placeholder="请选择" clearable style="width: 200px"> | ||||
|                   <Option value="false">未退款</Option> | ||||
|                   <Option value="true">已退款</Option> | ||||
|                 </Select> | ||||
|               </Form-item> | ||||
|               <Form-item label="退款时间"> | ||||
|                 <DatePicker v-model="selectDate" type="datetimerange" format="yyyy-MM-dd" clearable | ||||
|                             @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"></DatePicker> | ||||
|               </Form-item> | ||||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" | ||||
|                    @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" | ||||
|                   @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|                   size="small" show-total show-elevator show-sizer></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="订单号" prop="orderSn"> | ||||
|             <Input type="text" v-model="searchForm.orderSn" placeholder="订单/交易号" clearable style="width: 200px"/> | ||||
|           </Form-item> | ||||
|           <Form-item label="退款状态" prop="orderStatus"> | ||||
|             <Select v-model="searchForm.isRefund" placeholder="请选择" clearable style="width: 200px"> | ||||
|               <Option value="false">未退款</Option> | ||||
|               <Option value="true">已退款</Option> | ||||
|             </Select> | ||||
|           </Form-item> | ||||
|           <Form-item label="退款时间"> | ||||
|             <DatePicker v-model="selectDate" type="datetimerange" format="yyyy-MM-dd" clearable | ||||
|                         @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"></DatePicker> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" | ||||
|               @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|               size="small" show-total show-elevator show-sizer></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -51,18 +51,16 @@ | |||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             ></Table> | ||||
|           </Row> | ||||
|           <Table | ||||
|             :loading="loading" | ||||
|             border | ||||
|             :columns="columns" | ||||
|             :data="data" | ||||
|             ref="table" | ||||
|             sortable="custom" | ||||
|             @on-sort-change="changeSort" | ||||
|             @on-selection-change="changeSelect" | ||||
|           ></Table> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|  |  | |||
|  | @ -1,43 +1,37 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|       <Card> | ||||
|         <Row @keydown.enter.native="handleSearch"> | ||||
|           <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|             <Form-item label="订单号" prop="orderSn"> | ||||
|               <Input type="text" v-model="searchForm.orderSn" placeholder="请输入订单号" clearable style="width: 200px" /> | ||||
|             </Form-item> | ||||
|             <Form-item label="会员名称" prop="buyerName"> | ||||
|               <Input type="text" v-model="searchForm.buyerName" placeholder="请输入会员名称" clearable style="width: 200px" /> | ||||
|             </Form-item> | ||||
|             <Form-item label="订单状态" prop="orderStatus"> | ||||
|               <Select v-model="searchForm.orderStatus" placeholder="请选择" clearable style="width: 200px"> | ||||
|                 <Option value="UNPAID">未付款</Option> | ||||
|                 <Option value="PAID">已付款</Option> | ||||
|                 <Option value="UNDELIVERED">待发货</Option> | ||||
|                 <Option value="DELIVERED">已发货</Option> | ||||
|                 <Option value="COMPLETED">已完成</Option> | ||||
|                 <Option value="TAKE">待核验</Option> | ||||
|                 <Option value="CANCELLED">已取消</Option> | ||||
|               </Select> | ||||
|             </Form-item> | ||||
|             <Form-item label="下单时间"> | ||||
|               <DatePicker v-model="selectDate" type="datetimerange" format="yyyy-MM-dd" clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"></DatePicker> | ||||
|             </Form-item> | ||||
|             <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|           </Form> | ||||
|         </Row> | ||||
|         <Row class="padding-row"> | ||||
|           <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|         </Row> | ||||
|         <Row type="flex" justify="end" class="page"> | ||||
|           <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|             size="small" show-total show-elevator show-sizer></Page> | ||||
|         </Row> | ||||
|       </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="订单号" prop="orderSn"> | ||||
|             <Input type="text" v-model="searchForm.orderSn" placeholder="请输入订单号" clearable style="width: 200px" /> | ||||
|           </Form-item> | ||||
|           <Form-item label="会员名称" prop="buyerName"> | ||||
|             <Input type="text" v-model="searchForm.buyerName" placeholder="请输入会员名称" clearable style="width: 200px" /> | ||||
|           </Form-item> | ||||
|           <Form-item label="订单状态" prop="orderStatus"> | ||||
|             <Select v-model="searchForm.orderStatus" placeholder="请选择" clearable style="width: 200px"> | ||||
|               <Option value="UNPAID">未付款</Option> | ||||
|               <Option value="PAID">已付款</Option> | ||||
|               <Option value="UNDELIVERED">待发货</Option> | ||||
|               <Option value="DELIVERED">已发货</Option> | ||||
|               <Option value="COMPLETED">已完成</Option> | ||||
|               <Option value="TAKE">待核验</Option> | ||||
|               <Option value="CANCELLED">已取消</Option> | ||||
|             </Select> | ||||
|           </Form-item> | ||||
|           <Form-item label="下单时间"> | ||||
|             <DatePicker v-model="selectDate" type="datetimerange" format="yyyy-MM-dd" clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"></DatePicker> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|           size="small" show-total show-elevator show-sizer></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -58,24 +58,22 @@ | |||
| 
 | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             > | ||||
|               <!-- 订单详情格式化 --> | ||||
|               <template slot="orderSlot" slot-scope="scope"> | ||||
|                 <a | ||||
|                   @click="$router.push({name: 'order-detail',query: {sn: scope.row.orderSn}})">{{scope.row.orderSn}}</a> | ||||
|               </template> | ||||
|             </Table> | ||||
|           </Row> | ||||
|           <Table | ||||
|             :loading="loading" | ||||
|             border | ||||
|             :columns="columns" | ||||
|             :data="data" | ||||
|             ref="table" | ||||
|             sortable="custom" | ||||
|             @on-sort-change="changeSort" | ||||
|             @on-selection-change="changeSelect" | ||||
|           > | ||||
|             <!-- 订单详情格式化 --> | ||||
|             <template slot="orderSlot" slot-scope="scope"> | ||||
|               <a | ||||
|                 @click="$router.push({name: 'order-detail',query: {sn: scope.row.orderSn}})">{{scope.row.orderSn}}</a> | ||||
|             </template> | ||||
|           </Table> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|  |  | |||
|  | @ -20,20 +20,18 @@ | |||
|         <Row class="operation padding-row"> | ||||
|           <Button @click="add" type="primary" style="">添加</Button> | ||||
|         </Row> | ||||
|         <Row> | ||||
|           <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"> | ||||
|             <!-- 页面展示 --> | ||||
|             <template slot="openStatusSlot" slot-scope="scope"> | ||||
|               <div> | ||||
|         <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"> | ||||
|           <!-- 页面展示 --> | ||||
|           <template slot="openStatusSlot" slot-scope="scope"> | ||||
|             <div> | ||||
| 
 | ||||
|               </div> | ||||
|               <i-switch size="large" v-model="scope.row.openStatus" @on-change="changeSwitch(scope.row)"> | ||||
|                 <span slot="open">展示</span> | ||||
|                 <span slot="close">隐藏</span> | ||||
|               </i-switch> | ||||
|             </template> | ||||
|           </Table> | ||||
|         </Row> | ||||
|             </div> | ||||
|             <i-switch size="large" v-model="scope.row.openStatus" @on-change="changeSwitch(scope.row)"> | ||||
|               <span slot="open">展示</span> | ||||
|               <span slot="close">隐藏</span> | ||||
|             </i-switch> | ||||
|           </template> | ||||
|         </Table> | ||||
|         <Row type="flex" justify="end" class="page"> | ||||
|           <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|             size="small" show-total show-elevator> | ||||
|  |  | |||
|  | @ -4,18 +4,16 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Card> | ||||
|       <Row> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           ref="table" | ||||
|           sortable="custom" | ||||
|           @on-sort-change="changeSort" | ||||
|           @on-selection-change="changeSelect" | ||||
|         ></Table> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="pageNumber" | ||||
|  |  | |||
|  | @ -1,477 +1,511 @@ | |||
| <template> | ||||
|     <div class="search"> | ||||
|         <Row> | ||||
|             <Col> | ||||
|                 <Card> | ||||
|                     <Row class="operation"> | ||||
|                         <Button @click="add" type="primary" icon="md-add">添加</Button> | ||||
|                         <Button @click="disableAll" icon="md-trash">批量禁用</Button> | ||||
|                         <Button @click="getDataList" icon="md-refresh">刷新</Button> | ||||
|                         <Button type="dashed" @click="openTip=!openTip">{{openTip ? "关闭提示" : "开启提示"}}</Button> | ||||
|                     </Row> | ||||
|                     <Row v-show="openTip"> | ||||
|                         <Alert show-icon> | ||||
|                             已选择 <span class="select-count">{{selectCount}}</span> 项 | ||||
|                             <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|                         </Alert> | ||||
|                     </Row> | ||||
|                     <Row> | ||||
|                         <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|                     </Row> | ||||
|                     <Row type="flex" justify="end" class="page"> | ||||
|                         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" size="small" show-total show-elevator show-sizer></Page> | ||||
|                     </Row> | ||||
|                 </Card> | ||||
|             </Col> | ||||
|         </Row> | ||||
|         <Modal :title="modalTitle" v-model="modalVisible" :mask-closable='false' :width="500"> | ||||
|             <Form ref="form" :model="form" :label-width="100" :rules="formValidate" >        <FormItem label="名称" prop="name" > | ||||
|                 <Input v-model="form.name" clearable style="width:100%"/> | ||||
|             </FormItem> | ||||
|                 <FormItem label="图片" prop="url"> | ||||
|                     <upload-pic-input v-model="form.url" style="width:100%"></upload-pic-input> | ||||
|                 </FormItem> | ||||
|                 <FormItem label="操作类型" prop="operationType" > | ||||
|                     <Select v-model="form.operationType" placeholder="请选择" clearable style="width: 200px"> | ||||
|                         <Option value="NONE">无操作</Option> | ||||
|                         <Option value="URL">链接地址</Option> | ||||
|                         <Option value="GOODS">商品序号</Option> | ||||
|                         <Option value="SHOP">店铺编号</Option> | ||||
|                         <Option value="KEYWORD">关键字</Option> | ||||
|                         <Option value="CATEGORY">商品分类</Option> | ||||
|                     </Select> | ||||
|                 </FormItem> | ||||
|                 <FormItem label="链接值" prop="sort" > | ||||
|                     <Input v-model="form.operationUrl" clearable style="width:100%"/> | ||||
|                 </FormItem> | ||||
|                 <FormItem label="排序" prop="sort" > | ||||
|                     <InputNumber :max="999" :min="0" v-model="form.sort"></InputNumber> | ||||
|                 </FormItem> | ||||
|             </Form> | ||||
|             <div slot="footer"> | ||||
|                 <Button type="text" @click="modalVisible=false">取消</Button> | ||||
|                 <Button type="primary" :loading="submitLoading" @click="handleSubmit">提交</Button> | ||||
|             </div> | ||||
|         </Modal> | ||||
|     </div> | ||||
|   <div class="search"> | ||||
|     <Card> | ||||
|       <Row class="operation"> | ||||
|         <Button @click="add" type="primary" icon="md-add">添加</Button> | ||||
|         <Button @click="disableAll" icon="md-trash">批量禁用</Button> | ||||
|         <Button @click="getDataList" icon="md-refresh">刷新</Button> | ||||
|         <Button type="dashed" @click="openTip = !openTip">{{ | ||||
|           openTip ? "关闭提示" : "开启提示" | ||||
|         }}</Button> | ||||
|       </Row> | ||||
|       <Row v-show="openTip"> | ||||
|         <Alert show-icon> | ||||
|           已选择 <span class="select-count">{{ selectCount }}</span> 项 | ||||
|           <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|         </Alert> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|     <Modal | ||||
|       :title="modalTitle" | ||||
|       v-model="modalVisible" | ||||
|       :mask-closable="false" | ||||
|       :width="500" | ||||
|     > | ||||
|       <Form ref="form" :model="form" :label-width="100" :rules="formValidate"> | ||||
|         <FormItem label="名称" prop="name"> | ||||
|           <Input v-model="form.name" clearable style="width: 100%" /> | ||||
|         </FormItem> | ||||
|         <FormItem label="图片" prop="url"> | ||||
|           <upload-pic-input | ||||
|             v-model="form.url" | ||||
|             style="width: 100%" | ||||
|           ></upload-pic-input> | ||||
|         </FormItem> | ||||
|         <FormItem label="操作类型" prop="operationType"> | ||||
|           <Select | ||||
|             v-model="form.operationType" | ||||
|             placeholder="请选择" | ||||
|             clearable | ||||
|             style="width: 200px" | ||||
|           > | ||||
|             <Option value="NONE">无操作</Option> | ||||
|             <Option value="URL">链接地址</Option> | ||||
|             <Option value="GOODS">商品序号</Option> | ||||
|             <Option value="SHOP">店铺编号</Option> | ||||
|             <Option value="KEYWORD">关键字</Option> | ||||
|             <Option value="CATEGORY">商品分类</Option> | ||||
|           </Select> | ||||
|         </FormItem> | ||||
|         <FormItem label="链接值" prop="sort"> | ||||
|           <Input v-model="form.operationUrl" clearable style="width: 100%" /> | ||||
|         </FormItem> | ||||
|         <FormItem label="排序" prop="sort"> | ||||
|           <InputNumber :max="999" :min="0" v-model="form.sort"></InputNumber> | ||||
|         </FormItem> | ||||
|       </Form> | ||||
|       <div slot="footer"> | ||||
|         <Button type="text" @click="modalVisible = false">取消</Button> | ||||
|         <Button type="primary" :loading="submitLoading" @click="handleSubmit" | ||||
|           >提交</Button | ||||
|         > | ||||
|       </div> | ||||
|     </Modal> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
|     import { | ||||
|         getFocusData, | ||||
|         saveFocusData, | ||||
|         disableFocus, | ||||
|         enableFocus, | ||||
|         delFocus | ||||
|     } from "@/api/pages"; | ||||
|     import uploadPicInput from "@/views/my-components/lili/upload-pic-input"; | ||||
| import { | ||||
|   getFocusData, | ||||
|   saveFocusData, | ||||
|   disableFocus, | ||||
|   enableFocus, | ||||
|   delFocus, | ||||
| } from "@/api/pages"; | ||||
| import uploadPicInput from "@/views/my-components/lili/upload-pic-input"; | ||||
| 
 | ||||
|     export default { | ||||
|         name: "mobileFocus", | ||||
|         components: { | ||||
|             uploadPicInput | ||||
| export default { | ||||
|   name: "mobileFocus", | ||||
|   components: { | ||||
|     uploadPicInput, | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       openTip: true, // 显示提示 | ||||
|       loading: true, // 表单加载状态 | ||||
|       modalType: 0, // 添加或编辑标识 | ||||
|       modalVisible: false, // 添加或编辑显示 | ||||
|       modalTitle: "", // 添加或编辑标题 | ||||
|       searchForm: { | ||||
|         // 搜索框初始化对象 | ||||
|         clientType: "MOBILE", //客户端类型 | ||||
|         pageNumber: 1, // 当前页数 | ||||
|         pageSize: 10, // 页面大小 | ||||
|         sort: "createTime", // 默认排序字段 | ||||
|         order: "desc", // 默认排序方式 | ||||
|       }, | ||||
|       form: { | ||||
|         // 添加或编辑表单对象初始化数据 | ||||
|         name: "", | ||||
|         operationType: "", | ||||
|         operationUrl: "", | ||||
|         url: "", | ||||
|         sort: 0, | ||||
|       }, | ||||
|       // 表单验证规则 | ||||
|       formValidate: { | ||||
|         name: [{ required: true, message: "不能为空", trigger: "blur" }], | ||||
|       }, | ||||
|       submitLoading: false, // 添加或编辑提交状态 | ||||
|       selectList: [], // 多选数据 | ||||
|       selectCount: 0, // 多选计数 | ||||
|       columns: [ | ||||
|         // 表头 | ||||
|         { | ||||
|           type: "selection", | ||||
|           width: 60, | ||||
|           align: "center", | ||||
|         }, | ||||
|         data() { | ||||
|             return { | ||||
|                 openTip: true, // 显示提示 | ||||
|                 loading: true, // 表单加载状态 | ||||
|                 modalType: 0, // 添加或编辑标识 | ||||
|                 modalVisible: false, // 添加或编辑显示 | ||||
|                 modalTitle: "", // 添加或编辑标题 | ||||
|                 searchForm: { // 搜索框初始化对象 | ||||
|                     clientType: "MOBILE", //客户端类型 | ||||
|                     pageNumber: 1, // 当前页数 | ||||
|                     pageSize: 10, // 页面大小 | ||||
|                     sort: "createTime", // 默认排序字段 | ||||
|                     order: "desc", // 默认排序方式 | ||||
|                 }, | ||||
|                 form: { // 添加或编辑表单对象初始化数据 | ||||
|                     name: "", | ||||
|                     operationType: "", | ||||
|                     operationUrl: "", | ||||
|                     url: "", | ||||
|                     sort: 0, | ||||
|                 }, | ||||
|                 // 表单验证规则 | ||||
|                 formValidate: { | ||||
|                     name: [{ required: true, message: "不能为空", trigger: "blur" }], | ||||
|                 }, | ||||
|                 submitLoading: false, // 添加或编辑提交状态 | ||||
|                 selectList: [], // 多选数据 | ||||
|                 selectCount: 0, // 多选计数 | ||||
|                 columns: [ | ||||
|                     // 表头 | ||||
|                     { | ||||
|                         type: "selection", | ||||
|                         width: 60, | ||||
|                         align: "center" | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "名称", | ||||
|                         key: "name", | ||||
|                         minWidth: 120, | ||||
|                         sortable: false, | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "状态", | ||||
|                         key: "status", | ||||
|                         minWidth: 100, | ||||
|                         sortable: false, | ||||
|                         render: (h, params) => { | ||||
|                             if (params.row.status == 'CLOSE') { | ||||
|                                 return h("div", [ | ||||
|                                     h("Badge", { | ||||
|                                         props: { | ||||
|                                             status: "error", | ||||
|                                             text: "禁用" | ||||
|                                         } | ||||
|                                     }) | ||||
|                                 ]); | ||||
|                             } else if (params.row.status == 'OPEN') { | ||||
|                                 return h("div", [ | ||||
|                                     h("Badge", { | ||||
|                                         props: { | ||||
|                                             status: "success", | ||||
|                                             text: "启用" | ||||
|                                         } | ||||
|                                     }) | ||||
|                                 ]); | ||||
|                             } | ||||
|                         } | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "图片", | ||||
|                         key: "url", | ||||
|                         minWidth: 120, | ||||
|                         sortable: false, | ||||
|                         render: (h, params) => { | ||||
|                             return h("img", { | ||||
|                                 attrs: { | ||||
|                                     src: params.row.url, | ||||
|                                     alt: "加载图片失败" | ||||
|                                 }, | ||||
|                                 style: { | ||||
|                                     cursor: "pointer", | ||||
|                                     width: "80px", | ||||
|                                     height: "60px", | ||||
|                                     margin: "10px 0", | ||||
|                                     "object-fit": "contain" | ||||
|                                 } | ||||
|                             }); | ||||
|                         } | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "排序", | ||||
|                         key: "sort", | ||||
|                         minWidth: 120, | ||||
|                         sortable: false, | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "操作", | ||||
|                         key: "action", | ||||
|                         align: "center", | ||||
|                         width: 200, | ||||
|                         render: (h, params) => { | ||||
|                             let enableOrDisable = ""; | ||||
|                             if (params.row.status == "CLOSE") { | ||||
|                                 enableOrDisable = h( | ||||
|                                     "Button", | ||||
|                                     { | ||||
|                                         props: { | ||||
|                                             type: "success", | ||||
|                                             size: "small" | ||||
|                                         }, | ||||
|                                         style: { | ||||
|                                             marginRight: "5px" | ||||
|                                         }, | ||||
|                                         on: { | ||||
|                                             click: () => { | ||||
|                                                 this.enable(params.row); | ||||
|                                             } | ||||
|                                         } | ||||
|                                     }, | ||||
|                                     "启用" | ||||
|                                 ); | ||||
|                             } else { | ||||
|                                 enableOrDisable = h( | ||||
|                                     "Button", | ||||
|                                     { | ||||
|                                         props: { | ||||
|                                             size: "small" | ||||
|                                         }, | ||||
|                                         style: { | ||||
|                                             marginRight: "5px" | ||||
|                                         }, | ||||
|                                         on: { | ||||
|                                             click: () => { | ||||
|                                                 this.disable(params.row); | ||||
|                                             } | ||||
|                                         } | ||||
|                                     }, | ||||
|                                     "禁用" | ||||
|                                 ); | ||||
|                             } | ||||
|                             return h("div", [ | ||||
|                                 h( | ||||
|                                     "Button", | ||||
|                                     { | ||||
|                                         props: { | ||||
|                                             type: "primary", | ||||
|                                             size: "small" | ||||
|                                         }, | ||||
|                                         style: { | ||||
|                                             marginRight: "5px" | ||||
|                                         }, | ||||
|                                         on: { | ||||
|                                             click: () => { | ||||
|                                                 this.edit(params.row); | ||||
|                                             } | ||||
|                                         } | ||||
|                                     }, | ||||
|                                     "编辑" | ||||
|                                 ), | ||||
|                                 h( | ||||
|                                     "Button", | ||||
|                                     { | ||||
|                                         props: { | ||||
|                                             type: "error", | ||||
|                                             size: "small", | ||||
|                                         }, | ||||
|                                         style: { | ||||
|                                             marginRight: "5px" | ||||
|                                         }, | ||||
|                                         on: { | ||||
|                                             click: () => { | ||||
|                                                 this.remove(params.row); | ||||
|                                             } | ||||
|                                         } | ||||
|                                     }, | ||||
|                                     "删除" | ||||
|                                 ), | ||||
|                                 enableOrDisable, | ||||
|                             ]); | ||||
|                         } | ||||
|                     } | ||||
|                 ], | ||||
|                 data: [], // 表单数据 | ||||
|                 total: 0 // 表单数据总数 | ||||
|             }; | ||||
|         { | ||||
|           title: "名称", | ||||
|           key: "name", | ||||
|           minWidth: 120, | ||||
|           sortable: false, | ||||
|         }, | ||||
|         methods: { | ||||
|             init() { | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             changePage(v) { | ||||
|                 this.searchForm.pageNumber = v; | ||||
|                 this.getDataList(); | ||||
|                 this.clearSelectAll(); | ||||
|             }, | ||||
|             changePageSize(v) { | ||||
|                 this.searchForm.pageSize = v; | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             handleSearch() { | ||||
|                 this.searchForm.pageNumber = 1; | ||||
|                 this.searchForm.pageSize = 10; | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             handleReset() { | ||||
|                 this.$refs.searchForm.resetFields(); | ||||
|                 this.searchForm.pageNumber = 1; | ||||
|                 this.searchForm.pageSize = 10; | ||||
|                 // 重新加载数据 | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             changeSort(e) { | ||||
|                 this.searchForm.sort = e.key; | ||||
|                 this.searchForm.order = e.order; | ||||
|                 if (e.order === "normal") { | ||||
|                     this.searchForm.order = ""; | ||||
|                 } | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             clearSelectAll() { | ||||
|                 this.$refs.table.selectAll(false); | ||||
|             }, | ||||
|             changeSelect(e) { | ||||
|                 this.selectList = e; | ||||
|                 this.selectCount = e.length; | ||||
|             }, | ||||
|             getDataList() { | ||||
|                 this.loading = true; | ||||
|                 // 带多条件搜索参数获取表单数据 请自行修改接口 | ||||
|                 getFocusData(this.searchForm).then(res => { | ||||
|                     this.loading = false; | ||||
|                     if (res.success) { | ||||
|                         this.data = res.result.records; | ||||
|                         this.total = res.result.total; | ||||
|                     } | ||||
|                 }); | ||||
|                 // 以下为模拟数据 | ||||
|                 //this.data = [ | ||||
|                 //]; | ||||
|                 this.total = this.data.length; | ||||
|                 this.loading = false; | ||||
|             }, | ||||
|             enable(v){ | ||||
|                 this.$Modal.confirm({ | ||||
|                     title: "确认启用", | ||||
|                     // 记得确认修改此处 | ||||
|                     content: "您确认要确认启用 " + v.name + " ?", | ||||
|                     loading: true, | ||||
|                     onOk: () => { | ||||
|                         // 删除 | ||||
|                         enableFocus(v.id).then(res => { | ||||
|                             this.$Modal.remove(); | ||||
|                             if (res.success) { | ||||
|                                 this.$Message.success("操作成功"); | ||||
|                                 this.getDataList(); | ||||
|                             } | ||||
|                         }); | ||||
|                     } | ||||
|                 }); | ||||
|             }, | ||||
|             disable(v) { | ||||
|                 this.$Modal.confirm({ | ||||
|                     title: "确认禁用", | ||||
|                     // 记得确认修改此处 | ||||
|                     content: "您确认要禁用 " + v.name + " ?", | ||||
|                     loading: true, | ||||
|                     onOk: () => { | ||||
|                         // 删除 | ||||
|                         disableFocus(v.id).then(res => { | ||||
|                             this.$Modal.remove(); | ||||
|                             if (res.success) { | ||||
|                                 this.$Message.success("操作成功"); | ||||
|                                 this.getDataList(); | ||||
|                             } | ||||
|                         }); | ||||
|                     } | ||||
|                 }); | ||||
|             }, | ||||
|             handleSubmit() { | ||||
|                 this.$refs.form.validate(valid => { | ||||
|                     if (valid) { | ||||
|                         this.form.ClientType = "MOBILE" | ||||
|                         this.submitLoading = true; | ||||
|                         if (this.modalType === 0) { | ||||
|                             this.form.status = "OPEN" | ||||
|                             // 添加 避免编辑后传入id等数据 记得删除 | ||||
|                             delete this.form.id; | ||||
|                             saveFocusData(this.form).then(res => { | ||||
|                                 this.submitLoading = false; | ||||
|                                 if (res.success) { | ||||
|                                     this.$Message.success("操作成功"); | ||||
|                                     this.getDataList(); | ||||
|                                     this.modalVisible = false; | ||||
|                                 } | ||||
|                             }); | ||||
|                         } else { | ||||
|                             // 编辑 | ||||
|                             saveFocusData(this.form).then(res => { | ||||
|                                 this.submitLoading = false; | ||||
|                                 if (res.success) { | ||||
|                                     this.$Message.success("操作成功"); | ||||
|                                     this.getDataList(); | ||||
|                                     this.modalVisible = false; | ||||
|                                 } | ||||
|                             }); | ||||
|                         } | ||||
|                     } | ||||
|                 }); | ||||
|             }, | ||||
|             add() { | ||||
|                 this.modalType = 0; | ||||
|                 this.modalTitle = "添加"; | ||||
|                 this.$refs.form.resetFields(); | ||||
|                 delete this.form.id; | ||||
|                 this.modalVisible = true; | ||||
|             }, | ||||
|             edit(v) { | ||||
|                 this.modalType = 1; | ||||
|                 this.modalTitle = "编辑"; | ||||
|                 this.$refs.form.resetFields(); | ||||
|                 // 转换null为"" | ||||
|                 for (let attr in v) { | ||||
|                     if (v[attr] === null) { | ||||
|                         v[attr] = ""; | ||||
|                     } | ||||
|                 } | ||||
|                 let str = JSON.stringify(v); | ||||
|                 let data = JSON.parse(str); | ||||
|                 this.form = data; | ||||
|                 this.modalVisible = true; | ||||
|             }, | ||||
|             remove(v) { | ||||
|                 this.$Modal.confirm({ | ||||
|                     title: "确认删除", | ||||
|                     // 记得确认修改此处 | ||||
|                     content: "您确认要删除么?", | ||||
|                     loading: true, | ||||
|                     onOk: () => { | ||||
|                         // 删除 | ||||
|                         delFocus(v.id).then(res => { | ||||
|                             this.$Modal.remove(); | ||||
|                             if (res.success) { | ||||
|                                 this.$Message.success("操作成功"); | ||||
|                                 this.getDataList(); | ||||
|                             } | ||||
|                         }); | ||||
|                     } | ||||
|                 }); | ||||
|             }, | ||||
|             disableAll() { | ||||
|                 if (this.selectCount <= 0) { | ||||
|                     this.$Message.warning("您还未选择要禁用的数据"); | ||||
|                     return; | ||||
|                 } | ||||
|                 this.$Modal.confirm({ | ||||
|                     title: "确认禁用", | ||||
|                     content: "您确认要禁用所选的 " + this.selectCount + " 条数据?", | ||||
|                     loading: true, | ||||
|                     onOk: () => { | ||||
|                         let ids = ""; | ||||
|                         this.selectList.forEach(function(e) { | ||||
|                             ids += e.id + ","; | ||||
|                         }); | ||||
|                         ids = ids.substring(0, ids.length - 1); | ||||
|                         // 批量删除 | ||||
|                         disableFocus(ids).then(res => { | ||||
|                             this.$Modal.remove(); | ||||
|                             if (res.success) { | ||||
|                                 this.$Message.success("禁用成功"); | ||||
|                                 this.clearSelectAll(); | ||||
|                                 this.getDataList(); | ||||
|                             } | ||||
|                         }); | ||||
|                     } | ||||
|                 }); | ||||
|         { | ||||
|           title: "状态", | ||||
|           key: "status", | ||||
|           minWidth: 100, | ||||
|           sortable: false, | ||||
|           render: (h, params) => { | ||||
|             if (params.row.status == "CLOSE") { | ||||
|               return h("div", [ | ||||
|                 h("Badge", { | ||||
|                   props: { | ||||
|                     status: "error", | ||||
|                     text: "禁用", | ||||
|                   }, | ||||
|                 }), | ||||
|               ]); | ||||
|             } else if (params.row.status == "OPEN") { | ||||
|               return h("div", [ | ||||
|                 h("Badge", { | ||||
|                   props: { | ||||
|                     status: "success", | ||||
|                     text: "启用", | ||||
|                   }, | ||||
|                 }), | ||||
|               ]); | ||||
|             } | ||||
|           }, | ||||
|         }, | ||||
|         mounted() { | ||||
|             this.init(); | ||||
|         } | ||||
|         { | ||||
|           title: "图片", | ||||
|           key: "url", | ||||
|           minWidth: 120, | ||||
|           sortable: false, | ||||
|           render: (h, params) => { | ||||
|             return h("img", { | ||||
|               attrs: { | ||||
|                 src: params.row.url, | ||||
|                 alt: "加载图片失败", | ||||
|               }, | ||||
|               style: { | ||||
|                 cursor: "pointer", | ||||
|                 width: "80px", | ||||
|                 height: "60px", | ||||
|                 margin: "10px 0", | ||||
|                 "object-fit": "contain", | ||||
|               }, | ||||
|             }); | ||||
|           }, | ||||
|         }, | ||||
|         { | ||||
|           title: "排序", | ||||
|           key: "sort", | ||||
|           minWidth: 120, | ||||
|           sortable: false, | ||||
|         }, | ||||
|         { | ||||
|           title: "操作", | ||||
|           key: "action", | ||||
|           align: "center", | ||||
|           width: 200, | ||||
|           render: (h, params) => { | ||||
|             let enableOrDisable = ""; | ||||
|             if (params.row.status == "CLOSE") { | ||||
|               enableOrDisable = h( | ||||
|                 "Button", | ||||
|                 { | ||||
|                   props: { | ||||
|                     type: "success", | ||||
|                     size: "small", | ||||
|                   }, | ||||
|                   style: { | ||||
|                     marginRight: "5px", | ||||
|                   }, | ||||
|                   on: { | ||||
|                     click: () => { | ||||
|                       this.enable(params.row); | ||||
|                     }, | ||||
|                   }, | ||||
|                 }, | ||||
|                 "启用" | ||||
|               ); | ||||
|             } else { | ||||
|               enableOrDisable = h( | ||||
|                 "Button", | ||||
|                 { | ||||
|                   props: { | ||||
|                     size: "small", | ||||
|                   }, | ||||
|                   style: { | ||||
|                     marginRight: "5px", | ||||
|                   }, | ||||
|                   on: { | ||||
|                     click: () => { | ||||
|                       this.disable(params.row); | ||||
|                     }, | ||||
|                   }, | ||||
|                 }, | ||||
|                 "禁用" | ||||
|               ); | ||||
|             } | ||||
|             return h("div", [ | ||||
|               h( | ||||
|                 "Button", | ||||
|                 { | ||||
|                   props: { | ||||
|                     type: "primary", | ||||
|                     size: "small", | ||||
|                   }, | ||||
|                   style: { | ||||
|                     marginRight: "5px", | ||||
|                   }, | ||||
|                   on: { | ||||
|                     click: () => { | ||||
|                       this.edit(params.row); | ||||
|                     }, | ||||
|                   }, | ||||
|                 }, | ||||
|                 "编辑" | ||||
|               ), | ||||
|               h( | ||||
|                 "Button", | ||||
|                 { | ||||
|                   props: { | ||||
|                     type: "error", | ||||
|                     size: "small", | ||||
|                   }, | ||||
|                   style: { | ||||
|                     marginRight: "5px", | ||||
|                   }, | ||||
|                   on: { | ||||
|                     click: () => { | ||||
|                       this.remove(params.row); | ||||
|                     }, | ||||
|                   }, | ||||
|                 }, | ||||
|                 "删除" | ||||
|               ), | ||||
|               enableOrDisable, | ||||
|             ]); | ||||
|           }, | ||||
|         }, | ||||
|       ], | ||||
|       data: [], // 表单数据 | ||||
|       total: 0, // 表单数据总数 | ||||
|     }; | ||||
|   }, | ||||
|   methods: { | ||||
|     init() { | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     changePage(v) { | ||||
|       this.searchForm.pageNumber = v; | ||||
|       this.getDataList(); | ||||
|       this.clearSelectAll(); | ||||
|     }, | ||||
|     changePageSize(v) { | ||||
|       this.searchForm.pageSize = v; | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     handleSearch() { | ||||
|       this.searchForm.pageNumber = 1; | ||||
|       this.searchForm.pageSize = 10; | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     handleReset() { | ||||
|       this.$refs.searchForm.resetFields(); | ||||
|       this.searchForm.pageNumber = 1; | ||||
|       this.searchForm.pageSize = 10; | ||||
|       // 重新加载数据 | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     changeSort(e) { | ||||
|       this.searchForm.sort = e.key; | ||||
|       this.searchForm.order = e.order; | ||||
|       if (e.order === "normal") { | ||||
|         this.searchForm.order = ""; | ||||
|       } | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     clearSelectAll() { | ||||
|       this.$refs.table.selectAll(false); | ||||
|     }, | ||||
|     changeSelect(e) { | ||||
|       this.selectList = e; | ||||
|       this.selectCount = e.length; | ||||
|     }, | ||||
|     getDataList() { | ||||
|       this.loading = true; | ||||
|       // 带多条件搜索参数获取表单数据 请自行修改接口 | ||||
|       getFocusData(this.searchForm).then((res) => { | ||||
|         this.loading = false; | ||||
|         if (res.success) { | ||||
|           this.data = res.result.records; | ||||
|           this.total = res.result.total; | ||||
|         } | ||||
|       }); | ||||
|       // 以下为模拟数据 | ||||
|       //this.data = [ | ||||
|       //]; | ||||
|       this.total = this.data.length; | ||||
|       this.loading = false; | ||||
|     }, | ||||
|     enable(v) { | ||||
|       this.$Modal.confirm({ | ||||
|         title: "确认启用", | ||||
|         // 记得确认修改此处 | ||||
|         content: "您确认要确认启用 " + v.name + " ?", | ||||
|         loading: true, | ||||
|         onOk: () => { | ||||
|           // 删除 | ||||
|           enableFocus(v.id).then((res) => { | ||||
|             this.$Modal.remove(); | ||||
|             if (res.success) { | ||||
|               this.$Message.success("操作成功"); | ||||
|               this.getDataList(); | ||||
|             } | ||||
|           }); | ||||
|         }, | ||||
|       }); | ||||
|     }, | ||||
|     disable(v) { | ||||
|       this.$Modal.confirm({ | ||||
|         title: "确认禁用", | ||||
|         // 记得确认修改此处 | ||||
|         content: "您确认要禁用 " + v.name + " ?", | ||||
|         loading: true, | ||||
|         onOk: () => { | ||||
|           // 删除 | ||||
|           disableFocus(v.id).then((res) => { | ||||
|             this.$Modal.remove(); | ||||
|             if (res.success) { | ||||
|               this.$Message.success("操作成功"); | ||||
|               this.getDataList(); | ||||
|             } | ||||
|           }); | ||||
|         }, | ||||
|       }); | ||||
|     }, | ||||
|     handleSubmit() { | ||||
|       this.$refs.form.validate((valid) => { | ||||
|         if (valid) { | ||||
|           this.form.ClientType = "MOBILE"; | ||||
|           this.submitLoading = true; | ||||
|           if (this.modalType === 0) { | ||||
|             this.form.status = "OPEN"; | ||||
|             // 添加 避免编辑后传入id等数据 记得删除 | ||||
|             delete this.form.id; | ||||
|             saveFocusData(this.form).then((res) => { | ||||
|               this.submitLoading = false; | ||||
|               if (res.success) { | ||||
|                 this.$Message.success("操作成功"); | ||||
|                 this.getDataList(); | ||||
|                 this.modalVisible = false; | ||||
|               } | ||||
|             }); | ||||
|           } else { | ||||
|             // 编辑 | ||||
|             saveFocusData(this.form).then((res) => { | ||||
|               this.submitLoading = false; | ||||
|               if (res.success) { | ||||
|                 this.$Message.success("操作成功"); | ||||
|                 this.getDataList(); | ||||
|                 this.modalVisible = false; | ||||
|               } | ||||
|             }); | ||||
|           } | ||||
|         } | ||||
|       }); | ||||
|     }, | ||||
|     add() { | ||||
|       this.modalType = 0; | ||||
|       this.modalTitle = "添加"; | ||||
|       this.$refs.form.resetFields(); | ||||
|       delete this.form.id; | ||||
|       this.modalVisible = true; | ||||
|     }, | ||||
|     edit(v) { | ||||
|       this.modalType = 1; | ||||
|       this.modalTitle = "编辑"; | ||||
|       this.$refs.form.resetFields(); | ||||
|       // 转换null为"" | ||||
|       for (let attr in v) { | ||||
|         if (v[attr] === null) { | ||||
|           v[attr] = ""; | ||||
|         } | ||||
|       } | ||||
|       let str = JSON.stringify(v); | ||||
|       let data = JSON.parse(str); | ||||
|       this.form = data; | ||||
|       this.modalVisible = true; | ||||
|     }, | ||||
|     remove(v) { | ||||
|       this.$Modal.confirm({ | ||||
|         title: "确认删除", | ||||
|         // 记得确认修改此处 | ||||
|         content: "您确认要删除么?", | ||||
|         loading: true, | ||||
|         onOk: () => { | ||||
|           // 删除 | ||||
|           delFocus(v.id).then((res) => { | ||||
|             this.$Modal.remove(); | ||||
|             if (res.success) { | ||||
|               this.$Message.success("操作成功"); | ||||
|               this.getDataList(); | ||||
|             } | ||||
|           }); | ||||
|         }, | ||||
|       }); | ||||
|     }, | ||||
|     disableAll() { | ||||
|       if (this.selectCount <= 0) { | ||||
|         this.$Message.warning("您还未选择要禁用的数据"); | ||||
|         return; | ||||
|       } | ||||
|       this.$Modal.confirm({ | ||||
|         title: "确认禁用", | ||||
|         content: "您确认要禁用所选的 " + this.selectCount + " 条数据?", | ||||
|         loading: true, | ||||
|         onOk: () => { | ||||
|           let ids = ""; | ||||
|           this.selectList.forEach(function (e) { | ||||
|             ids += e.id + ","; | ||||
|           }); | ||||
|           ids = ids.substring(0, ids.length - 1); | ||||
|           // 批量删除 | ||||
|           disableFocus(ids).then((res) => { | ||||
|             this.$Modal.remove(); | ||||
|             if (res.success) { | ||||
|               this.$Message.success("禁用成功"); | ||||
|               this.clearSelectAll(); | ||||
|               this.getDataList(); | ||||
|             } | ||||
|           }); | ||||
|         }, | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
|   mounted() { | ||||
|     this.init(); | ||||
|   }, | ||||
| }; | ||||
| </script> | ||||
| <style lang="scss"> | ||||
|     // 建议引入通用样式 可删除下面样式代码 | ||||
|     // @import "@/styles/table-common.scss"; | ||||
|     .search { | ||||
|         .operation { | ||||
|             margin-bottom: 2vh; | ||||
|         } | ||||
|         .select-count { | ||||
|             font-weight: 600; | ||||
|             color: #40a9ff; | ||||
|         } | ||||
|         .select-clear { | ||||
|             margin-left: 10px; | ||||
|         } | ||||
|         .page { | ||||
|             margin-top: 2vh; | ||||
|         } | ||||
|         .drop-down { | ||||
|             margin-left: 5px; | ||||
|         } | ||||
|     } | ||||
| // 建议引入通用样式 可删除下面样式代码 | ||||
| // @import "@/styles/table-common.scss"; | ||||
| .search { | ||||
|   .operation { | ||||
|     margin-bottom: 2vh; | ||||
|   } | ||||
|   .select-count { | ||||
|     font-weight: 600; | ||||
|     color: #40a9ff; | ||||
|   } | ||||
|   .select-clear { | ||||
|     margin-left: 10px; | ||||
|   } | ||||
|   .page { | ||||
|     margin-top: 2vh; | ||||
|   } | ||||
|   .drop-down { | ||||
|     margin-left: 5px; | ||||
|   } | ||||
| } | ||||
| </style> | ||||
|  |  | |||
|  | @ -1,477 +1,511 @@ | |||
| <template> | ||||
|     <div class="search"> | ||||
|         <Row> | ||||
|             <Col> | ||||
|                 <Card> | ||||
|                     <Row class="operation"> | ||||
|                         <Button @click="add" type="primary" icon="md-add">添加</Button> | ||||
|                         <Button @click="disableAll" icon="md-trash">批量禁用</Button> | ||||
|                         <Button @click="getDataList" icon="md-refresh">刷新</Button> | ||||
|                         <Button type="dashed" @click="openTip=!openTip">{{openTip ? "关闭提示" : "开启提示"}}</Button> | ||||
|                     </Row> | ||||
|                     <Row v-show="openTip"> | ||||
|                         <Alert show-icon> | ||||
|                             已选择 <span class="select-count">{{selectCount}}</span> 项 | ||||
|                             <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|                         </Alert> | ||||
|                     </Row> | ||||
|                     <Row> | ||||
|                         <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|                     </Row> | ||||
|                     <Row type="flex" justify="end" class="page"> | ||||
|                         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" size="small" show-total show-elevator show-sizer></Page> | ||||
|                     </Row> | ||||
|                 </Card> | ||||
|             </Col> | ||||
|         </Row> | ||||
|         <Modal :title="modalTitle" v-model="modalVisible" :mask-closable='false' :width="500"> | ||||
|             <Form ref="form" :model="form" :label-width="100" :rules="formValidate" >        <FormItem label="名称" prop="name" > | ||||
|                 <Input v-model="form.name" clearable style="width:100%"/> | ||||
|             </FormItem> | ||||
|                 <FormItem label="图片" prop="url"> | ||||
|                     <upload-pic-input v-model="form.url" style="width:100%"></upload-pic-input> | ||||
|                 </FormItem> | ||||
|                 <FormItem label="操作类型" prop="operationType" > | ||||
|                     <Select v-model="form.operationType" placeholder="请选择" clearable style="width: 200px"> | ||||
|                         <Option value="NONE">无操作</Option> | ||||
|                         <Option value="URL">链接地址</Option> | ||||
|                         <Option value="GOODS">商品序号</Option> | ||||
|                         <Option value="SHOP">店铺编号</Option> | ||||
|                         <Option value="KEYWORD">关键字</Option> | ||||
|                         <Option value="CATEGORY">商品分类</Option> | ||||
|                     </Select> | ||||
|                 </FormItem> | ||||
|                 <FormItem label="链接值" prop="sort" > | ||||
|                     <Input v-model="form.operationUrl" clearable style="width:100%"/> | ||||
|                 </FormItem> | ||||
|                 <FormItem label="排序" prop="sort" > | ||||
|                     <InputNumber :max="999" :min="0" v-model="form.sort"></InputNumber> | ||||
|                 </FormItem> | ||||
|             </Form> | ||||
|             <div slot="footer"> | ||||
|                 <Button type="text" @click="modalVisible=false">取消</Button> | ||||
|                 <Button type="primary" :loading="submitLoading" @click="handleSubmit">提交</Button> | ||||
|             </div> | ||||
|         </Modal> | ||||
|     </div> | ||||
|   <div class="search"> | ||||
|     <Card> | ||||
|       <Row class="operation"> | ||||
|         <Button @click="add" type="primary" icon="md-add">添加</Button> | ||||
|         <Button @click="disableAll" icon="md-trash">批量禁用</Button> | ||||
|         <Button @click="getDataList" icon="md-refresh">刷新</Button> | ||||
|         <Button type="dashed" @click="openTip = !openTip">{{ | ||||
|           openTip ? "关闭提示" : "开启提示" | ||||
|         }}</Button> | ||||
|       </Row> | ||||
|       <Row v-show="openTip"> | ||||
|         <Alert show-icon> | ||||
|           已选择 <span class="select-count">{{ selectCount }}</span> 项 | ||||
|           <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|         </Alert> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|     <Modal | ||||
|       :title="modalTitle" | ||||
|       v-model="modalVisible" | ||||
|       :mask-closable="false" | ||||
|       :width="500" | ||||
|     > | ||||
|       <Form ref="form" :model="form" :label-width="100" :rules="formValidate"> | ||||
|         <FormItem label="名称" prop="name"> | ||||
|           <Input v-model="form.name" clearable style="width: 100%" /> | ||||
|         </FormItem> | ||||
|         <FormItem label="图片" prop="url"> | ||||
|           <upload-pic-input | ||||
|             v-model="form.url" | ||||
|             style="width: 100%" | ||||
|           ></upload-pic-input> | ||||
|         </FormItem> | ||||
|         <FormItem label="操作类型" prop="operationType"> | ||||
|           <Select | ||||
|             v-model="form.operationType" | ||||
|             placeholder="请选择" | ||||
|             clearable | ||||
|             style="width: 200px" | ||||
|           > | ||||
|             <Option value="NONE">无操作</Option> | ||||
|             <Option value="URL">链接地址</Option> | ||||
|             <Option value="GOODS">商品序号</Option> | ||||
|             <Option value="SHOP">店铺编号</Option> | ||||
|             <Option value="KEYWORD">关键字</Option> | ||||
|             <Option value="CATEGORY">商品分类</Option> | ||||
|           </Select> | ||||
|         </FormItem> | ||||
|         <FormItem label="链接值" prop="sort"> | ||||
|           <Input v-model="form.operationUrl" clearable style="width: 100%" /> | ||||
|         </FormItem> | ||||
|         <FormItem label="排序" prop="sort"> | ||||
|           <InputNumber :max="999" :min="0" v-model="form.sort"></InputNumber> | ||||
|         </FormItem> | ||||
|       </Form> | ||||
|       <div slot="footer"> | ||||
|         <Button type="text" @click="modalVisible = false">取消</Button> | ||||
|         <Button type="primary" :loading="submitLoading" @click="handleSubmit" | ||||
|           >提交</Button | ||||
|         > | ||||
|       </div> | ||||
|     </Modal> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
|     import { | ||||
|         getFocusData, | ||||
|         saveFocusData, | ||||
|         disableFocus, | ||||
|         enableFocus, | ||||
|         delFocus | ||||
|     } from "@/api/pages"; | ||||
|     import uploadPicInput from "@/views/my-components/lili/upload-pic-input"; | ||||
| import { | ||||
|   getFocusData, | ||||
|   saveFocusData, | ||||
|   disableFocus, | ||||
|   enableFocus, | ||||
|   delFocus, | ||||
| } from "@/api/pages"; | ||||
| import uploadPicInput from "@/views/my-components/lili/upload-pic-input"; | ||||
| 
 | ||||
|     export default { | ||||
|         name: "pcFocus", | ||||
|         components: { | ||||
|             uploadPicInput | ||||
| export default { | ||||
|   name: "pcFocus", | ||||
|   components: { | ||||
|     uploadPicInput, | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       openTip: true, // 显示提示 | ||||
|       loading: true, // 表单加载状态 | ||||
|       modalType: 0, // 添加或编辑标识 | ||||
|       modalVisible: false, // 添加或编辑显示 | ||||
|       modalTitle: "", // 添加或编辑标题 | ||||
|       searchForm: { | ||||
|         // 搜索框初始化对象 | ||||
|         clientType: "PC", //客户端类型 | ||||
|         pageNumber: 1, // 当前页数 | ||||
|         pageSize: 10, // 页面大小 | ||||
|         sort: "createTime", // 默认排序字段 | ||||
|         order: "desc", // 默认排序方式 | ||||
|       }, | ||||
|       form: { | ||||
|         // 添加或编辑表单对象初始化数据 | ||||
|         name: "", | ||||
|         operationType: "", | ||||
|         operationUrl: "", | ||||
|         url: "", | ||||
|         sort: 0, | ||||
|       }, | ||||
|       // 表单验证规则 | ||||
|       formValidate: { | ||||
|         name: [{ required: true, message: "不能为空", trigger: "blur" }], | ||||
|       }, | ||||
|       submitLoading: false, // 添加或编辑提交状态 | ||||
|       selectList: [], // 多选数据 | ||||
|       selectCount: 0, // 多选计数 | ||||
|       columns: [ | ||||
|         // 表头 | ||||
|         { | ||||
|           type: "selection", | ||||
|           width: 60, | ||||
|           align: "center", | ||||
|         }, | ||||
|         data() { | ||||
|             return { | ||||
|                 openTip: true, // 显示提示 | ||||
|                 loading: true, // 表单加载状态 | ||||
|                 modalType: 0, // 添加或编辑标识 | ||||
|                 modalVisible: false, // 添加或编辑显示 | ||||
|                 modalTitle: "", // 添加或编辑标题 | ||||
|                 searchForm: { // 搜索框初始化对象 | ||||
|                     clientType: "PC", //客户端类型 | ||||
|                     pageNumber: 1, // 当前页数 | ||||
|                     pageSize: 10, // 页面大小 | ||||
|                     sort: "createTime", // 默认排序字段 | ||||
|                     order: "desc", // 默认排序方式 | ||||
|                 }, | ||||
|                 form: { // 添加或编辑表单对象初始化数据 | ||||
|                     name: "", | ||||
|                     operationType: "", | ||||
|                     operationUrl: "", | ||||
|                     url: "", | ||||
|                     sort: 0, | ||||
|                 }, | ||||
|                 // 表单验证规则 | ||||
|                 formValidate: { | ||||
|                     name: [{ required: true, message: "不能为空", trigger: "blur" }], | ||||
|                 }, | ||||
|                 submitLoading: false, // 添加或编辑提交状态 | ||||
|                 selectList: [], // 多选数据 | ||||
|                 selectCount: 0, // 多选计数 | ||||
|                 columns: [ | ||||
|                     // 表头 | ||||
|                     { | ||||
|                         type: "selection", | ||||
|                         width: 60, | ||||
|                         align: "center" | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "名称", | ||||
|                         key: "name", | ||||
|                         minWidth: 120, | ||||
|                         sortable: false, | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "状态", | ||||
|                         key: "status", | ||||
|                         minWidth: 100, | ||||
|                         sortable: false, | ||||
|                         render: (h, params) => { | ||||
|                             if (params.row.status == 'CLOSE') { | ||||
|                                 return h("div", [ | ||||
|                                     h("Badge", { | ||||
|                                         props: { | ||||
|                                             status: "error", | ||||
|                                             text: "禁用" | ||||
|                                         } | ||||
|                                     }) | ||||
|                                 ]); | ||||
|                             } else if (params.row.status == 'OPEN') { | ||||
|                                 return h("div", [ | ||||
|                                     h("Badge", { | ||||
|                                         props: { | ||||
|                                             status: "success", | ||||
|                                             text: "启用" | ||||
|                                         } | ||||
|                                     }) | ||||
|                                 ]); | ||||
|                             } | ||||
|                         } | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "图片", | ||||
|                         key: "url", | ||||
|                         minWidth: 120, | ||||
|                         sortable: false, | ||||
|                         render: (h, params) => { | ||||
|                             return h("img", { | ||||
|                                 attrs: { | ||||
|                                     src: params.row.url, | ||||
|                                     alt: "加载图片失败" | ||||
|                                 }, | ||||
|                                 style: { | ||||
|                                     cursor: "pointer", | ||||
|                                     width: "80px", | ||||
|                                     height: "60px", | ||||
|                                     margin: "10px 0", | ||||
|                                     "object-fit": "contain" | ||||
|                                 } | ||||
|                             }); | ||||
|                         } | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "排序", | ||||
|                         key: "sort", | ||||
|                         minWidth: 120, | ||||
|                         sortable: false, | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "操作", | ||||
|                         key: "action", | ||||
|                         align: "center", | ||||
|                         width: 200, | ||||
|                         render: (h, params) => { | ||||
|                             let enableOrDisable = ""; | ||||
|                             if (params.row.status == "CLOSE") { | ||||
|                                 enableOrDisable = h( | ||||
|                                     "Button", | ||||
|                                     { | ||||
|                                         props: { | ||||
|                                             type: "success", | ||||
|                                             size: "small" | ||||
|                                         }, | ||||
|                                         style: { | ||||
|                                             marginRight: "5px" | ||||
|                                         }, | ||||
|                                         on: { | ||||
|                                             click: () => { | ||||
|                                                 this.enable(params.row); | ||||
|                                             } | ||||
|                                         } | ||||
|                                     }, | ||||
|                                     "启用" | ||||
|                                 ); | ||||
|                             } else { | ||||
|                                 enableOrDisable = h( | ||||
|                                     "Button", | ||||
|                                     { | ||||
|                                         props: { | ||||
|                                             size: "small" | ||||
|                                         }, | ||||
|                                         style: { | ||||
|                                             marginRight: "5px" | ||||
|                                         }, | ||||
|                                         on: { | ||||
|                                             click: () => { | ||||
|                                                 this.disable(params.row); | ||||
|                                             } | ||||
|                                         } | ||||
|                                     }, | ||||
|                                     "禁用" | ||||
|                                 ); | ||||
|                             } | ||||
|                             return h("div", [ | ||||
|                                 h( | ||||
|                                     "Button", | ||||
|                                     { | ||||
|                                         props: { | ||||
|                                             type: "primary", | ||||
|                                             size: "small" | ||||
|                                         }, | ||||
|                                         style: { | ||||
|                                             marginRight: "5px" | ||||
|                                         }, | ||||
|                                         on: { | ||||
|                                             click: () => { | ||||
|                                                 this.edit(params.row); | ||||
|                                             } | ||||
|                                         } | ||||
|                                     }, | ||||
|                                     "编辑" | ||||
|                                 ), | ||||
|                                 h( | ||||
|                                     "Button", | ||||
|                                     { | ||||
|                                         props: { | ||||
|                                             type: "error", | ||||
|                                             size: "small", | ||||
|                                         }, | ||||
|                                         style: { | ||||
|                                             marginRight: "5px" | ||||
|                                         }, | ||||
|                                         on: { | ||||
|                                             click: () => { | ||||
|                                                 this.remove(params.row); | ||||
|                                             } | ||||
|                                         } | ||||
|                                     }, | ||||
|                                     "删除" | ||||
|                                 ), | ||||
|                                 enableOrDisable, | ||||
|                             ]); | ||||
|                         } | ||||
|                     } | ||||
|                 ], | ||||
|                 data: [], // 表单数据 | ||||
|                 total: 0 // 表单数据总数 | ||||
|             }; | ||||
|         { | ||||
|           title: "名称", | ||||
|           key: "name", | ||||
|           minWidth: 120, | ||||
|           sortable: false, | ||||
|         }, | ||||
|         methods: { | ||||
|             init() { | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             changePage(v) { | ||||
|                 this.searchForm.pageNumber = v; | ||||
|                 this.getDataList(); | ||||
|                 this.clearSelectAll(); | ||||
|             }, | ||||
|             changePageSize(v) { | ||||
|                 this.searchForm.pageSize = v; | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             handleSearch() { | ||||
|                 this.searchForm.pageNumber = 1; | ||||
|                 this.searchForm.pageSize = 10; | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             handleReset() { | ||||
|                 this.$refs.searchForm.resetFields(); | ||||
|                 this.searchForm.pageNumber = 1; | ||||
|                 this.searchForm.pageSize = 10; | ||||
|                 // 重新加载数据 | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             changeSort(e) { | ||||
|                 this.searchForm.sort = e.key; | ||||
|                 this.searchForm.order = e.order; | ||||
|                 if (e.order === "normal") { | ||||
|                     this.searchForm.order = ""; | ||||
|                 } | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             clearSelectAll() { | ||||
|                 this.$refs.table.selectAll(false); | ||||
|             }, | ||||
|             changeSelect(e) { | ||||
|                 this.selectList = e; | ||||
|                 this.selectCount = e.length; | ||||
|             }, | ||||
|             getDataList() { | ||||
|                 this.loading = true; | ||||
|                 // 带多条件搜索参数获取表单数据 请自行修改接口 | ||||
|                 getFocusData(this.searchForm).then(res => { | ||||
|                     this.loading = false; | ||||
|                     if (res.success) { | ||||
|                         this.data = res.result.records; | ||||
|                         this.total = res.result.total; | ||||
|                     } | ||||
|                 }); | ||||
|                 // 以下为模拟数据 | ||||
|                 //this.data = [ | ||||
|                 //]; | ||||
|                 this.total = this.data.length; | ||||
|                 this.loading = false; | ||||
|             }, | ||||
|             enable(v){ | ||||
|                 this.$Modal.confirm({ | ||||
|                     title: "确认启用", | ||||
|                     // 记得确认修改此处 | ||||
|                     content: "您确认要确认启用 " + v.name + " ?", | ||||
|                     loading: true, | ||||
|                     onOk: () => { | ||||
|                         // 删除 | ||||
|                         enableFocus(v.id).then(res => { | ||||
|                             this.$Modal.remove(); | ||||
|                             if (res.success) { | ||||
|                                 this.$Message.success("操作成功"); | ||||
|                                 this.getDataList(); | ||||
|                             } | ||||
|                         }); | ||||
|                     } | ||||
|                 }); | ||||
|             }, | ||||
|             disable(v) { | ||||
|                 this.$Modal.confirm({ | ||||
|                     title: "确认禁用", | ||||
|                     // 记得确认修改此处 | ||||
|                     content: "您确认要禁用 " + v.name + " ?", | ||||
|                     loading: true, | ||||
|                     onOk: () => { | ||||
|                         // 删除 | ||||
|                         disableFocus(v.id).then(res => { | ||||
|                             this.$Modal.remove(); | ||||
|                             if (res.success) { | ||||
|                                 this.$Message.success("操作成功"); | ||||
|                                 this.getDataList(); | ||||
|                             } | ||||
|                         }); | ||||
|                     } | ||||
|                 }); | ||||
|             }, | ||||
|             handleSubmit() { | ||||
|                 this.$refs.form.validate(valid => { | ||||
|                     if (valid) { | ||||
|                         this.form.ClientType = "PC" | ||||
|                         this.submitLoading = true; | ||||
|                         if (this.modalType === 0) { | ||||
|                             this.form.status = "OPEN" | ||||
|                             // 添加 避免编辑后传入id等数据 记得删除 | ||||
|                             delete this.form.id; | ||||
|                             saveFocusData(this.form).then(res => { | ||||
|                                 this.submitLoading = false; | ||||
|                                 if (res.success) { | ||||
|                                     this.$Message.success("操作成功"); | ||||
|                                     this.getDataList(); | ||||
|                                     this.modalVisible = false; | ||||
|                                 } | ||||
|                             }); | ||||
|                         } else { | ||||
|                             // 编辑 | ||||
|                             saveFocusData(this.form).then(res => { | ||||
|                                 this.submitLoading = false; | ||||
|                                 if (res.success) { | ||||
|                                     this.$Message.success("操作成功"); | ||||
|                                     this.getDataList(); | ||||
|                                     this.modalVisible = false; | ||||
|                                 } | ||||
|                             }); | ||||
|                         } | ||||
|                     } | ||||
|                 }); | ||||
|             }, | ||||
|             add() { | ||||
|                 this.modalType = 0; | ||||
|                 this.modalTitle = "添加"; | ||||
|                 this.$refs.form.resetFields(); | ||||
|                 delete this.form.id; | ||||
|                 this.modalVisible = true; | ||||
|             }, | ||||
|             edit(v) { | ||||
|                 this.modalType = 1; | ||||
|                 this.modalTitle = "编辑"; | ||||
|                 this.$refs.form.resetFields(); | ||||
|                 // 转换null为"" | ||||
|                 for (let attr in v) { | ||||
|                     if (v[attr] === null) { | ||||
|                         v[attr] = ""; | ||||
|                     } | ||||
|                 } | ||||
|                 let str = JSON.stringify(v); | ||||
|                 let data = JSON.parse(str); | ||||
|                 this.form = data; | ||||
|                 this.modalVisible = true; | ||||
|             }, | ||||
|             remove(v) { | ||||
|                 this.$Modal.confirm({ | ||||
|                     title: "确认删除", | ||||
|                     // 记得确认修改此处 | ||||
|                     content: "您确认要删除么?", | ||||
|                     loading: true, | ||||
|                     onOk: () => { | ||||
|                         // 删除 | ||||
|                         delFocus(v.id).then(res => { | ||||
|                             this.$Modal.remove(); | ||||
|                             if (res.success) { | ||||
|                                 this.$Message.success("操作成功"); | ||||
|                                 this.getDataList(); | ||||
|                             } | ||||
|                         }); | ||||
|                     } | ||||
|                 }); | ||||
|             }, | ||||
|             disableAll() { | ||||
|                 if (this.selectCount <= 0) { | ||||
|                     this.$Message.warning("您还未选择要禁用的数据"); | ||||
|                     return; | ||||
|                 } | ||||
|                 this.$Modal.confirm({ | ||||
|                     title: "确认禁用", | ||||
|                     content: "您确认要禁用所选的 " + this.selectCount + " 条数据?", | ||||
|                     loading: true, | ||||
|                     onOk: () => { | ||||
|                         let ids = ""; | ||||
|                         this.selectList.forEach(function(e) { | ||||
|                             ids += e.id + ","; | ||||
|                         }); | ||||
|                         ids = ids.substring(0, ids.length - 1); | ||||
|                         // 批量删除 | ||||
|                         disableFocus(ids).then(res => { | ||||
|                             this.$Modal.remove(); | ||||
|                             if (res.success) { | ||||
|                                 this.$Message.success("禁用成功"); | ||||
|                                 this.clearSelectAll(); | ||||
|                                 this.getDataList(); | ||||
|                             } | ||||
|                         }); | ||||
|                     } | ||||
|                 }); | ||||
|         { | ||||
|           title: "状态", | ||||
|           key: "status", | ||||
|           minWidth: 100, | ||||
|           sortable: false, | ||||
|           render: (h, params) => { | ||||
|             if (params.row.status == "CLOSE") { | ||||
|               return h("div", [ | ||||
|                 h("Badge", { | ||||
|                   props: { | ||||
|                     status: "error", | ||||
|                     text: "禁用", | ||||
|                   }, | ||||
|                 }), | ||||
|               ]); | ||||
|             } else if (params.row.status == "OPEN") { | ||||
|               return h("div", [ | ||||
|                 h("Badge", { | ||||
|                   props: { | ||||
|                     status: "success", | ||||
|                     text: "启用", | ||||
|                   }, | ||||
|                 }), | ||||
|               ]); | ||||
|             } | ||||
|           }, | ||||
|         }, | ||||
|         mounted() { | ||||
|             this.init(); | ||||
|         } | ||||
|         { | ||||
|           title: "图片", | ||||
|           key: "url", | ||||
|           minWidth: 120, | ||||
|           sortable: false, | ||||
|           render: (h, params) => { | ||||
|             return h("img", { | ||||
|               attrs: { | ||||
|                 src: params.row.url, | ||||
|                 alt: "加载图片失败", | ||||
|               }, | ||||
|               style: { | ||||
|                 cursor: "pointer", | ||||
|                 width: "80px", | ||||
|                 height: "60px", | ||||
|                 margin: "10px 0", | ||||
|                 "object-fit": "contain", | ||||
|               }, | ||||
|             }); | ||||
|           }, | ||||
|         }, | ||||
|         { | ||||
|           title: "排序", | ||||
|           key: "sort", | ||||
|           minWidth: 120, | ||||
|           sortable: false, | ||||
|         }, | ||||
|         { | ||||
|           title: "操作", | ||||
|           key: "action", | ||||
|           align: "center", | ||||
|           width: 200, | ||||
|           render: (h, params) => { | ||||
|             let enableOrDisable = ""; | ||||
|             if (params.row.status == "CLOSE") { | ||||
|               enableOrDisable = h( | ||||
|                 "Button", | ||||
|                 { | ||||
|                   props: { | ||||
|                     type: "success", | ||||
|                     size: "small", | ||||
|                   }, | ||||
|                   style: { | ||||
|                     marginRight: "5px", | ||||
|                   }, | ||||
|                   on: { | ||||
|                     click: () => { | ||||
|                       this.enable(params.row); | ||||
|                     }, | ||||
|                   }, | ||||
|                 }, | ||||
|                 "启用" | ||||
|               ); | ||||
|             } else { | ||||
|               enableOrDisable = h( | ||||
|                 "Button", | ||||
|                 { | ||||
|                   props: { | ||||
|                     size: "small", | ||||
|                   }, | ||||
|                   style: { | ||||
|                     marginRight: "5px", | ||||
|                   }, | ||||
|                   on: { | ||||
|                     click: () => { | ||||
|                       this.disable(params.row); | ||||
|                     }, | ||||
|                   }, | ||||
|                 }, | ||||
|                 "禁用" | ||||
|               ); | ||||
|             } | ||||
|             return h("div", [ | ||||
|               h( | ||||
|                 "Button", | ||||
|                 { | ||||
|                   props: { | ||||
|                     type: "primary", | ||||
|                     size: "small", | ||||
|                   }, | ||||
|                   style: { | ||||
|                     marginRight: "5px", | ||||
|                   }, | ||||
|                   on: { | ||||
|                     click: () => { | ||||
|                       this.edit(params.row); | ||||
|                     }, | ||||
|                   }, | ||||
|                 }, | ||||
|                 "编辑" | ||||
|               ), | ||||
|               h( | ||||
|                 "Button", | ||||
|                 { | ||||
|                   props: { | ||||
|                     type: "error", | ||||
|                     size: "small", | ||||
|                   }, | ||||
|                   style: { | ||||
|                     marginRight: "5px", | ||||
|                   }, | ||||
|                   on: { | ||||
|                     click: () => { | ||||
|                       this.remove(params.row); | ||||
|                     }, | ||||
|                   }, | ||||
|                 }, | ||||
|                 "删除" | ||||
|               ), | ||||
|               enableOrDisable, | ||||
|             ]); | ||||
|           }, | ||||
|         }, | ||||
|       ], | ||||
|       data: [], // 表单数据 | ||||
|       total: 0, // 表单数据总数 | ||||
|     }; | ||||
|   }, | ||||
|   methods: { | ||||
|     init() { | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     changePage(v) { | ||||
|       this.searchForm.pageNumber = v; | ||||
|       this.getDataList(); | ||||
|       this.clearSelectAll(); | ||||
|     }, | ||||
|     changePageSize(v) { | ||||
|       this.searchForm.pageSize = v; | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     handleSearch() { | ||||
|       this.searchForm.pageNumber = 1; | ||||
|       this.searchForm.pageSize = 10; | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     handleReset() { | ||||
|       this.$refs.searchForm.resetFields(); | ||||
|       this.searchForm.pageNumber = 1; | ||||
|       this.searchForm.pageSize = 10; | ||||
|       // 重新加载数据 | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     changeSort(e) { | ||||
|       this.searchForm.sort = e.key; | ||||
|       this.searchForm.order = e.order; | ||||
|       if (e.order === "normal") { | ||||
|         this.searchForm.order = ""; | ||||
|       } | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     clearSelectAll() { | ||||
|       this.$refs.table.selectAll(false); | ||||
|     }, | ||||
|     changeSelect(e) { | ||||
|       this.selectList = e; | ||||
|       this.selectCount = e.length; | ||||
|     }, | ||||
|     getDataList() { | ||||
|       this.loading = true; | ||||
|       // 带多条件搜索参数获取表单数据 请自行修改接口 | ||||
|       getFocusData(this.searchForm).then((res) => { | ||||
|         this.loading = false; | ||||
|         if (res.success) { | ||||
|           this.data = res.result.records; | ||||
|           this.total = res.result.total; | ||||
|         } | ||||
|       }); | ||||
|       // 以下为模拟数据 | ||||
|       //this.data = [ | ||||
|       //]; | ||||
|       this.total = this.data.length; | ||||
|       this.loading = false; | ||||
|     }, | ||||
|     enable(v) { | ||||
|       this.$Modal.confirm({ | ||||
|         title: "确认启用", | ||||
|         // 记得确认修改此处 | ||||
|         content: "您确认要确认启用 " + v.name + " ?", | ||||
|         loading: true, | ||||
|         onOk: () => { | ||||
|           // 删除 | ||||
|           enableFocus(v.id).then((res) => { | ||||
|             this.$Modal.remove(); | ||||
|             if (res.success) { | ||||
|               this.$Message.success("操作成功"); | ||||
|               this.getDataList(); | ||||
|             } | ||||
|           }); | ||||
|         }, | ||||
|       }); | ||||
|     }, | ||||
|     disable(v) { | ||||
|       this.$Modal.confirm({ | ||||
|         title: "确认禁用", | ||||
|         // 记得确认修改此处 | ||||
|         content: "您确认要禁用 " + v.name + " ?", | ||||
|         loading: true, | ||||
|         onOk: () => { | ||||
|           // 删除 | ||||
|           disableFocus(v.id).then((res) => { | ||||
|             this.$Modal.remove(); | ||||
|             if (res.success) { | ||||
|               this.$Message.success("操作成功"); | ||||
|               this.getDataList(); | ||||
|             } | ||||
|           }); | ||||
|         }, | ||||
|       }); | ||||
|     }, | ||||
|     handleSubmit() { | ||||
|       this.$refs.form.validate((valid) => { | ||||
|         if (valid) { | ||||
|           this.form.ClientType = "PC"; | ||||
|           this.submitLoading = true; | ||||
|           if (this.modalType === 0) { | ||||
|             this.form.status = "OPEN"; | ||||
|             // 添加 避免编辑后传入id等数据 记得删除 | ||||
|             delete this.form.id; | ||||
|             saveFocusData(this.form).then((res) => { | ||||
|               this.submitLoading = false; | ||||
|               if (res.success) { | ||||
|                 this.$Message.success("操作成功"); | ||||
|                 this.getDataList(); | ||||
|                 this.modalVisible = false; | ||||
|               } | ||||
|             }); | ||||
|           } else { | ||||
|             // 编辑 | ||||
|             saveFocusData(this.form).then((res) => { | ||||
|               this.submitLoading = false; | ||||
|               if (res.success) { | ||||
|                 this.$Message.success("操作成功"); | ||||
|                 this.getDataList(); | ||||
|                 this.modalVisible = false; | ||||
|               } | ||||
|             }); | ||||
|           } | ||||
|         } | ||||
|       }); | ||||
|     }, | ||||
|     add() { | ||||
|       this.modalType = 0; | ||||
|       this.modalTitle = "添加"; | ||||
|       this.$refs.form.resetFields(); | ||||
|       delete this.form.id; | ||||
|       this.modalVisible = true; | ||||
|     }, | ||||
|     edit(v) { | ||||
|       this.modalType = 1; | ||||
|       this.modalTitle = "编辑"; | ||||
|       this.$refs.form.resetFields(); | ||||
|       // 转换null为"" | ||||
|       for (let attr in v) { | ||||
|         if (v[attr] === null) { | ||||
|           v[attr] = ""; | ||||
|         } | ||||
|       } | ||||
|       let str = JSON.stringify(v); | ||||
|       let data = JSON.parse(str); | ||||
|       this.form = data; | ||||
|       this.modalVisible = true; | ||||
|     }, | ||||
|     remove(v) { | ||||
|       this.$Modal.confirm({ | ||||
|         title: "确认删除", | ||||
|         // 记得确认修改此处 | ||||
|         content: "您确认要删除么?", | ||||
|         loading: true, | ||||
|         onOk: () => { | ||||
|           // 删除 | ||||
|           delFocus(v.id).then((res) => { | ||||
|             this.$Modal.remove(); | ||||
|             if (res.success) { | ||||
|               this.$Message.success("操作成功"); | ||||
|               this.getDataList(); | ||||
|             } | ||||
|           }); | ||||
|         }, | ||||
|       }); | ||||
|     }, | ||||
|     disableAll() { | ||||
|       if (this.selectCount <= 0) { | ||||
|         this.$Message.warning("您还未选择要禁用的数据"); | ||||
|         return; | ||||
|       } | ||||
|       this.$Modal.confirm({ | ||||
|         title: "确认禁用", | ||||
|         content: "您确认要禁用所选的 " + this.selectCount + " 条数据?", | ||||
|         loading: true, | ||||
|         onOk: () => { | ||||
|           let ids = ""; | ||||
|           this.selectList.forEach(function (e) { | ||||
|             ids += e.id + ","; | ||||
|           }); | ||||
|           ids = ids.substring(0, ids.length - 1); | ||||
|           // 批量删除 | ||||
|           disableFocus(ids).then((res) => { | ||||
|             this.$Modal.remove(); | ||||
|             if (res.success) { | ||||
|               this.$Message.success("禁用成功"); | ||||
|               this.clearSelectAll(); | ||||
|               this.getDataList(); | ||||
|             } | ||||
|           }); | ||||
|         }, | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
|   mounted() { | ||||
|     this.init(); | ||||
|   }, | ||||
| }; | ||||
| </script> | ||||
| <style lang="scss"> | ||||
|     // 建议引入通用样式 可删除下面样式代码 | ||||
|     // @import "@/styles/table-common.scss"; | ||||
|     .search { | ||||
|         .operation { | ||||
|             margin-bottom: 2vh; | ||||
|         } | ||||
|         .select-count { | ||||
|             font-weight: 600; | ||||
|             color: #40a9ff; | ||||
|         } | ||||
|         .select-clear { | ||||
|             margin-left: 10px; | ||||
|         } | ||||
|         .page { | ||||
|             margin-top: 2vh; | ||||
|         } | ||||
|         .drop-down { | ||||
|             margin-left: 5px; | ||||
|         } | ||||
|     } | ||||
| // 建议引入通用样式 可删除下面样式代码 | ||||
| // @import "@/styles/table-common.scss"; | ||||
| .search { | ||||
|   .operation { | ||||
|     margin-bottom: 2vh; | ||||
|   } | ||||
|   .select-count { | ||||
|     font-weight: 600; | ||||
|     color: #40a9ff; | ||||
|   } | ||||
|   .select-clear { | ||||
|     margin-left: 10px; | ||||
|   } | ||||
|   .page { | ||||
|     margin-top: 2vh; | ||||
|   } | ||||
|   .drop-down { | ||||
|     margin-left: 5px; | ||||
|   } | ||||
| } | ||||
| </style> | ||||
|  |  | |||
|  | @ -1,467 +1,496 @@ | |||
| <template> | ||||
|     <div class="search"> | ||||
|         <Row> | ||||
|             <Col> | ||||
|                 <Card> | ||||
|                     <Row class="operation"> | ||||
|                         <Button @click="add" type="primary" icon="md-add">添加</Button> | ||||
|                         <Button @click="disableAll" icon="md-trash">批量禁用</Button> | ||||
|                         <Button @click="getDataList" icon="md-refresh">刷新</Button> | ||||
|                         <Button type="dashed" @click="openTip=!openTip">{{openTip ? "关闭提示" : "开启提示"}}</Button> | ||||
|                     </Row> | ||||
|                     <Row v-show="openTip"> | ||||
|                         <Alert show-icon> | ||||
|                             已选择 <span class="select-count">{{selectCount}}</span> 项 | ||||
|                             <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|                         </Alert> | ||||
|                     </Row> | ||||
|                     <Row> | ||||
|                         <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" | ||||
|                                @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|                     </Row> | ||||
|                     <Row type="flex" justify="end" class="page"> | ||||
|                         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" | ||||
|                               @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" | ||||
|                               size="small" show-total show-elevator show-sizer></Page> | ||||
|                     </Row> | ||||
|                 </Card> | ||||
|             </Col> | ||||
|         </Row> | ||||
|         <Modal :title="modalTitle" v-model="modalVisible" :mask-closable='false' :width="500"> | ||||
|             <Form ref="form" :model="form" :label-width="100" :rules="formValidate"> | ||||
|                 <FormItem label="导航栏名称" prop="navigationName"> | ||||
|                     <Input v-model="form.navigationName" clearable style="width:100%"/> | ||||
|                 </FormItem> | ||||
|                 <FormItem label="导航栏链接" prop="url"> | ||||
|                     <Input v-model="form.url" clearable style="width:100%"/> | ||||
|                 </FormItem> | ||||
|                 <FormItem label="品牌图标" prop="image"> | ||||
|                     <upload-pic-input v-model="form.image" style="width:100%"></upload-pic-input> | ||||
|                 </FormItem> | ||||
|             </Form> | ||||
|             <div slot="footer"> | ||||
|                 <Button type="text" @click="modalVisible=false">取消</Button> | ||||
|                 <Button type="primary" :loading="submitLoading" @click="handleSubmit">提交</Button> | ||||
|             </div> | ||||
|         </Modal> | ||||
|     </div> | ||||
|   <div class="search"> | ||||
|     <Card> | ||||
|       <Row class="operation"> | ||||
|         <Button @click="add" type="primary" icon="md-add">添加</Button> | ||||
|         <Button @click="disableAll" icon="md-trash">批量禁用</Button> | ||||
|         <Button @click="getDataList" icon="md-refresh">刷新</Button> | ||||
|         <Button type="dashed" @click="openTip = !openTip">{{ | ||||
|           openTip ? "关闭提示" : "开启提示" | ||||
|         }}</Button> | ||||
|       </Row> | ||||
|       <Row v-show="openTip"> | ||||
|         <Alert show-icon> | ||||
|           已选择 <span class="select-count">{{ selectCount }}</span> 项 | ||||
|           <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|         </Alert> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|     <Modal | ||||
|       :title="modalTitle" | ||||
|       v-model="modalVisible" | ||||
|       :mask-closable="false" | ||||
|       :width="500" | ||||
|     > | ||||
|       <Form ref="form" :model="form" :label-width="100" :rules="formValidate"> | ||||
|         <FormItem label="导航栏名称" prop="navigationName"> | ||||
|           <Input v-model="form.navigationName" clearable style="width: 100%" /> | ||||
|         </FormItem> | ||||
|         <FormItem label="导航栏链接" prop="url"> | ||||
|           <Input v-model="form.url" clearable style="width: 100%" /> | ||||
|         </FormItem> | ||||
|         <FormItem label="品牌图标" prop="image"> | ||||
|           <upload-pic-input | ||||
|             v-model="form.image" | ||||
|             style="width: 100%" | ||||
|           ></upload-pic-input> | ||||
|         </FormItem> | ||||
|       </Form> | ||||
|       <div slot="footer"> | ||||
|         <Button type="text" @click="modalVisible = false">取消</Button> | ||||
|         <Button type="primary" :loading="submitLoading" @click="handleSubmit" | ||||
|           >提交</Button | ||||
|         > | ||||
|       </div> | ||||
|     </Modal> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
|     import { | ||||
|         save, | ||||
|         getNavigationData, | ||||
|         disableNavigation, | ||||
|         enableNavigation, | ||||
|         delNavigation, | ||||
|         update | ||||
|     } from "@/api/pages"; | ||||
|     import uploadPicInput from "@/views/my-components/lili/upload-pic-input"; | ||||
| import { | ||||
|   save, | ||||
|   getNavigationData, | ||||
|   disableNavigation, | ||||
|   enableNavigation, | ||||
|   delNavigation, | ||||
|   update, | ||||
| } from "@/api/pages"; | ||||
| import uploadPicInput from "@/views/my-components/lili/upload-pic-input"; | ||||
| 
 | ||||
|     export default { | ||||
|         name: "mobileNavigation", | ||||
|         components: { | ||||
|             uploadPicInput | ||||
| export default { | ||||
|   name: "mobileNavigation", | ||||
|   components: { | ||||
|     uploadPicInput, | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       openTip: true, // 显示提示 | ||||
|       loading: true, // 表单加载状态 | ||||
|       type: "MOBILE", // 手机还是pc | ||||
|       modalType: 0, // 添加或编辑标识 | ||||
|       modalVisible: false, // 添加或编辑显示 | ||||
|       modalTitle: "", // 添加或编辑标题 | ||||
|       searchForm: { | ||||
|         // 搜索框初始化对象 | ||||
|         pageNumber: 1, // 当前页数 | ||||
|         pageSize: 10, // 页面大小 | ||||
|         sort: "createTime", // 默认排序字段 | ||||
|         order: "desc", // 默认排序方式 | ||||
|       }, | ||||
|       form: { | ||||
|         // 添加或编辑表单对象初始化数据 | ||||
|         navigationName: "", | ||||
|         image: "", | ||||
|         url: "", | ||||
|       }, | ||||
|       // 表单验证规则 | ||||
|       formValidate: { | ||||
|         url: [ | ||||
|           { required: true, message: "导航栏url不能为空", trigger: "blur" }, | ||||
|         ], | ||||
|         navigationName: [ | ||||
|           { required: true, message: "导航栏不能为空", trigger: "blur" }, | ||||
|         ], | ||||
|       }, | ||||
|       submitLoading: false, // 添加或编辑提交状态 | ||||
|       selectList: [], // 多选数据 | ||||
|       selectCount: 0, // 多选计数 | ||||
|       columns: [ | ||||
|         // 表头 | ||||
|         { | ||||
|           type: "selection", | ||||
|           width: 60, | ||||
|           align: "center", | ||||
|         }, | ||||
|         data() { | ||||
|             return { | ||||
|                 openTip: true, // 显示提示 | ||||
|                 loading: true, // 表单加载状态 | ||||
|                 type: "MOBILE", // 手机还是pc | ||||
|                 modalType: 0, // 添加或编辑标识 | ||||
|                 modalVisible: false, // 添加或编辑显示 | ||||
|                 modalTitle: "", // 添加或编辑标题 | ||||
|                 searchForm: { // 搜索框初始化对象 | ||||
|                     pageNumber: 1, // 当前页数 | ||||
|                     pageSize: 10, // 页面大小 | ||||
|                     sort: "createTime", // 默认排序字段 | ||||
|                     order: "desc", // 默认排序方式 | ||||
|                 }, | ||||
|                 form: { // 添加或编辑表单对象初始化数据 | ||||
|                     navigationName: "", | ||||
|                     image: "", | ||||
|                     url: "", | ||||
|                 }, | ||||
|                 // 表单验证规则 | ||||
|                 formValidate: { | ||||
|                     url: [{required: true, message: "导航栏url不能为空", trigger: "blur"}], | ||||
|                     navigationName: [{required: true, message: "导航栏不能为空", trigger: "blur"}], | ||||
|                 }, | ||||
|                 submitLoading: false, // 添加或编辑提交状态 | ||||
|                 selectList: [], // 多选数据 | ||||
|                 selectCount: 0, // 多选计数 | ||||
|                 columns: [ | ||||
|                     // 表头 | ||||
|                     { | ||||
|                         type: "selection", | ||||
|                         width: 60, | ||||
|                         align: "center" | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "导航名称", | ||||
|                         key: "navigationName", | ||||
|                         minWidth: 120, | ||||
|                         sortable: false, | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "状态", | ||||
|                         key: "status", | ||||
|                         minWidth: 100, | ||||
|                         sortable: false, | ||||
|                         render: (h, params) => { | ||||
|                             if (params.row.status == 'CLOSE') { | ||||
|                                 return h("div", [ | ||||
|                                     h("Badge", { | ||||
|                                         props: { | ||||
|                                             status: "error", | ||||
|                                             text: "禁用" | ||||
|                                         } | ||||
|                                     }) | ||||
|                                 ]); | ||||
|                             } else if (params.row.status == 'OPEN') { | ||||
|                                 return h("div", [ | ||||
|                                     h("Badge", { | ||||
|                                         props: { | ||||
|                                             status: "success", | ||||
|                                             text: "启用" | ||||
|                                         } | ||||
|                                     }) | ||||
|                                 ]); | ||||
|                             } | ||||
|                         } | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "图片", | ||||
|                         key: "image", | ||||
|                         minWidth: 120, | ||||
|                         sortable: false, | ||||
|                         render: (h, params) => { | ||||
|                             return h("img", { | ||||
|                                 attrs: { | ||||
|                                     src: params.row.image, | ||||
|                                     alt: "加载图片失败" | ||||
|                                 }, | ||||
|                                 style: { | ||||
|                                     cursor: "pointer", | ||||
|                                     width: "80px", | ||||
|                                     height: "60px", | ||||
|                                     margin: "10px 0", | ||||
|                                     "object-fit": "contain" | ||||
|                                 } | ||||
|                             }); | ||||
|                         } | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "排序", | ||||
|                         key: "sort", | ||||
|                         minWidth: 120, | ||||
|                         sortable: false, | ||||
|                     }, | ||||
|                     { | ||||
|                         title: "操作", | ||||
|                         key: "action", | ||||
|                         align: "center", | ||||
|                         width: 250, | ||||
|                         render: (h, params) => { | ||||
|                             console.warn(params.status) | ||||
|                             let enableOrDisable = ""; | ||||
|                             if (params.row.status == "CLOSE") { | ||||
|                                 enableOrDisable = h( | ||||
|                                     "Button", | ||||
|                                     { | ||||
|                                         props: { | ||||
|                                             type: "success", | ||||
|                                             size: "small" | ||||
|                                         }, | ||||
|                                         style: { | ||||
|                                             marginRight: "5px" | ||||
|                                         }, | ||||
|                                         on: { | ||||
|                                             click: () => { | ||||
|                                                 this.enable(params.row); | ||||
|                                             } | ||||
|                                         } | ||||
|                                     }, | ||||
|                                     "启用" | ||||
|                                 ); | ||||
|                             } else { | ||||
|                                 enableOrDisable = h( | ||||
|                                     "Button", | ||||
|                                     { | ||||
|                                         props: { | ||||
|                                             size: "small" | ||||
|                                         }, | ||||
|                                         style: { | ||||
|                                             marginRight: "5px" | ||||
|                                         }, | ||||
|                                         on: { | ||||
|                                             click: () => { | ||||
|                                                 this.disable(params.row); | ||||
|                                             } | ||||
|                                         } | ||||
|                                     }, | ||||
|                                     "禁用" | ||||
|                                 ); | ||||
|                             } | ||||
|                             return h("div", [ | ||||
|                                 h( | ||||
|                                     "Button", | ||||
|                                     { | ||||
|                                         props: { | ||||
|                                             type: "primary", | ||||
|                                             size: "small" | ||||
|                                         }, | ||||
|                                         style: { | ||||
|                                             marginRight: "5px" | ||||
|                                         }, | ||||
|                                         on: { | ||||
|                                             click: () => { | ||||
|                                                 this.edit(params.row); | ||||
|                                             } | ||||
|                                         } | ||||
|                                     }, | ||||
|                                     "编辑" | ||||
|                                 ), | ||||
|                                 h( | ||||
|                                     "Button", | ||||
|                                     { | ||||
|                                         props: { | ||||
|                                             type: "error", | ||||
|                                             size: "small", | ||||
|                                         }, | ||||
|                                         style: { | ||||
|                                             marginRight: "5px" | ||||
|                                         }, | ||||
|                                         on: { | ||||
|                                             click: () => { | ||||
|                                                 this.del(params.row); | ||||
|                                             } | ||||
|                                         } | ||||
|                                     }, | ||||
|                                     "删除" | ||||
|                                 ), | ||||
|                                 enableOrDisable, | ||||
|                             ]); | ||||
|                         } | ||||
|                     } | ||||
|                 ], | ||||
|                 data: [], // 表单数据 | ||||
|                 total: 0 // 表单数据总数 | ||||
|             }; | ||||
|         { | ||||
|           title: "导航名称", | ||||
|           key: "navigationName", | ||||
|           minWidth: 120, | ||||
|           sortable: false, | ||||
|         }, | ||||
|         methods: { | ||||
|             init() { | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             changePage(v) { | ||||
|                 this.searchForm.pageNumber = v; | ||||
|                 this.getDataList(); | ||||
|                 this.clearSelectAll(); | ||||
|             }, | ||||
|             changePageSize(v) { | ||||
|                 this.searchForm.pageSize = v; | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             handleSearch() { | ||||
|                 this.searchForm.pageNumber = 1; | ||||
|                 this.searchForm.pageSize = 10; | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             handleReset() { | ||||
|                 this.$refs.searchForm.resetFields(); | ||||
|                 this.searchForm.pageNumber = 1; | ||||
|                 this.searchForm.pageSize = 10; | ||||
|                 // 重新加载数据 | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             changeSort(e) { | ||||
|                 this.searchForm.sort = e.key; | ||||
|                 this.searchForm.order = e.order; | ||||
|                 if (e.order === "normal") { | ||||
|                     this.searchForm.order = ""; | ||||
|                 } | ||||
|                 this.getDataList(); | ||||
|             }, | ||||
|             clearSelectAll() { | ||||
|                 this.$refs.table.selectAll(false); | ||||
|             }, | ||||
|             changeSelect(e) { | ||||
|                 this.selectList = e; | ||||
|                 this.selectCount = e.length; | ||||
|             }, | ||||
|             getDataList() { | ||||
|                 this.searchForm.clientType = this.type | ||||
|                 this.loading = true; | ||||
|                 // 带多条件搜索参数获取表单数据 请自行修改接口 | ||||
|                 getNavigationData(this.searchForm).then(res => { | ||||
|                     this.loading = false; | ||||
|                     if (res.success) { | ||||
|                         this.data = res.result.records; | ||||
|                         this.total = res.result.total; | ||||
|                     } | ||||
|                 }); | ||||
|                 this.total = this.data.length; | ||||
|                 this.loading = false; | ||||
|             }, | ||||
|             handleSubmit() { | ||||
|                 this.$refs.form.validate(valid => { | ||||
|                     if (valid) { | ||||
|                         this.submitLoading = true; | ||||
|                         this.form.clientType = this.type | ||||
|                         if (this.modalType === 0) { | ||||
|                             // 添加 避免编辑后传入id等数据 记得删除 | ||||
|                             delete this.form.id; | ||||
|                             save(this.form).then(res => { | ||||
|                                 this.submitLoading = false; | ||||
|                                 if (res.success) { | ||||
|                                     this.$Message.success("操作成功"); | ||||
|                                     this.getDataList(); | ||||
|                                     this.modalVisible = false; | ||||
|                                 } | ||||
|                             }); | ||||
|                         } else { | ||||
|                             // 编辑 | ||||
|                             update(this.form).then(res => { | ||||
|                                 this.submitLoading = false; | ||||
|                                 if (res.success) { | ||||
|                                     this.$Message.success("操作成功"); | ||||
|                                     this.getDataList(); | ||||
|                                     this.modalVisible = false; | ||||
|                                 } | ||||
|                             }); | ||||
|                         } | ||||
|                     } | ||||
|                 }); | ||||
|             }, | ||||
|             add() { | ||||
|                 this.modalType = 0; | ||||
|                 this.modalTitle = "添加"; | ||||
|                 this.$refs.form.resetFields(); | ||||
|                 delete this.form.id; | ||||
|                 this.modalVisible = true; | ||||
|             }, | ||||
|             edit(v) { | ||||
|                 this.modalType = 1; | ||||
|                 this.modalTitle = "编辑"; | ||||
|                 this.$refs.form.resetFields(); | ||||
|                 // 转换null为"" | ||||
|                 for (let attr in v) { | ||||
|                     if (v[attr] === null) { | ||||
|                         v[attr] = ""; | ||||
|                     } | ||||
|                 } | ||||
|                 let str = JSON.stringify(v); | ||||
|                 let data = JSON.parse(str); | ||||
|                 this.form = data; | ||||
|                 this.modalVisible = true; | ||||
|             }, | ||||
|             enable(v){ | ||||
|                 this.$Modal.confirm({ | ||||
|                     title: "确认启用", | ||||
|                     // 记得确认修改此处 | ||||
|                     content: "您确认要确认启用 " + v.navigationName + " ?", | ||||
|                     loading: true, | ||||
|                     onOk: () => { | ||||
|                         // 删除 | ||||
|                         enableNavigation(v.id).then(res => { | ||||
|                             this.$Modal.remove(); | ||||
|                             if (res.success) { | ||||
|                                 this.$Message.success("操作成功"); | ||||
|                                 this.getDataList(); | ||||
|                             } | ||||
|                         }); | ||||
|                     } | ||||
|                 }); | ||||
|             }, | ||||
|             disable(v) { | ||||
|                 this.$Modal.confirm({ | ||||
|                     title: "确认禁用", | ||||
|                     // 记得确认修改此处 | ||||
|                     content: "您确认要禁用 " + v.navigationName + " ?", | ||||
|                     loading: true, | ||||
|                     onOk: () => { | ||||
|                         // 删除 | ||||
|                         disableNavigation(v.id).then(res => { | ||||
|                             this.$Modal.remove(); | ||||
|                             if (res.success) { | ||||
|                                 this.$Message.success("操作成功"); | ||||
|                                 this.getDataList(); | ||||
|                             } | ||||
|                         }); | ||||
|                     } | ||||
|                 }); | ||||
|             }, | ||||
|             disableAll() { | ||||
|                 if (this.selectCount <= 0) { | ||||
|                     this.$Message.warning("您还未选择要禁用的数据"); | ||||
|                     return; | ||||
|                 } | ||||
|                 this.$Modal.confirm({ | ||||
|                     title: "确认禁用", | ||||
|                     content: "您确认要禁用所选的 " + this.selectCount + " 条数据?", | ||||
|                     loading: true, | ||||
|                     onOk: () => { | ||||
|                         let ids = ""; | ||||
|                         this.selectList.forEach(function (e) { | ||||
|                             ids += e.id + ","; | ||||
|                         }); | ||||
|                         ids = ids.substring(0, ids.length - 1); | ||||
|                         // 批量禁用 | ||||
|                         disableNavigation(ids).then(res => { | ||||
|                             this.$Modal.remove(); | ||||
|                             if (res.success) { | ||||
|                                 this.$Message.success("操作成功"); | ||||
|                                 this.clearSelectAll(); | ||||
|                                 this.getDataList(); | ||||
|                             } | ||||
|                         }); | ||||
|                     } | ||||
|                 }); | ||||
|             }, | ||||
|             del(v) { | ||||
|                 this.$Modal.confirm({ | ||||
|                     title: "确认删除", | ||||
|                     // 记得确认修改此处 | ||||
|                     content: "您确认要永久性删除 " + v.navigationName + " ?", | ||||
|                     loading: true, | ||||
|                     onOk: () => { | ||||
|                         // 删除 | ||||
|                         delNavigation(v.id).then(res => { | ||||
|                             this.$Modal.remove(); | ||||
|                             if (res.success) { | ||||
|                                 this.$Message.success("操作成功"); | ||||
|                                 this.getDataList(); | ||||
|                             } | ||||
|                         }); | ||||
|                     } | ||||
|                 }); | ||||
|         { | ||||
|           title: "状态", | ||||
|           key: "status", | ||||
|           minWidth: 100, | ||||
|           sortable: false, | ||||
|           render: (h, params) => { | ||||
|             if (params.row.status == "CLOSE") { | ||||
|               return h("div", [ | ||||
|                 h("Badge", { | ||||
|                   props: { | ||||
|                     status: "error", | ||||
|                     text: "禁用", | ||||
|                   }, | ||||
|                 }), | ||||
|               ]); | ||||
|             } else if (params.row.status == "OPEN") { | ||||
|               return h("div", [ | ||||
|                 h("Badge", { | ||||
|                   props: { | ||||
|                     status: "success", | ||||
|                     text: "启用", | ||||
|                   }, | ||||
|                 }), | ||||
|               ]); | ||||
|             } | ||||
|           }, | ||||
|         }, | ||||
| 
 | ||||
|         mounted() { | ||||
|             this.init(); | ||||
|         } | ||||
|         { | ||||
|           title: "图片", | ||||
|           key: "image", | ||||
|           minWidth: 120, | ||||
|           sortable: false, | ||||
|           render: (h, params) => { | ||||
|             return h("img", { | ||||
|               attrs: { | ||||
|                 src: params.row.image, | ||||
|                 alt: "加载图片失败", | ||||
|               }, | ||||
|               style: { | ||||
|                 cursor: "pointer", | ||||
|                 width: "80px", | ||||
|                 height: "60px", | ||||
|                 margin: "10px 0", | ||||
|                 "object-fit": "contain", | ||||
|               }, | ||||
|             }); | ||||
|           }, | ||||
|         }, | ||||
|         { | ||||
|           title: "排序", | ||||
|           key: "sort", | ||||
|           minWidth: 120, | ||||
|           sortable: false, | ||||
|         }, | ||||
|         { | ||||
|           title: "操作", | ||||
|           key: "action", | ||||
|           align: "center", | ||||
|           width: 250, | ||||
|           render: (h, params) => { | ||||
|             console.warn(params.status); | ||||
|             let enableOrDisable = ""; | ||||
|             if (params.row.status == "CLOSE") { | ||||
|               enableOrDisable = h( | ||||
|                 "Button", | ||||
|                 { | ||||
|                   props: { | ||||
|                     type: "success", | ||||
|                     size: "small", | ||||
|                   }, | ||||
|                   style: { | ||||
|                     marginRight: "5px", | ||||
|                   }, | ||||
|                   on: { | ||||
|                     click: () => { | ||||
|                       this.enable(params.row); | ||||
|                     }, | ||||
|                   }, | ||||
|                 }, | ||||
|                 "启用" | ||||
|               ); | ||||
|             } else { | ||||
|               enableOrDisable = h( | ||||
|                 "Button", | ||||
|                 { | ||||
|                   props: { | ||||
|                     size: "small", | ||||
|                   }, | ||||
|                   style: { | ||||
|                     marginRight: "5px", | ||||
|                   }, | ||||
|                   on: { | ||||
|                     click: () => { | ||||
|                       this.disable(params.row); | ||||
|                     }, | ||||
|                   }, | ||||
|                 }, | ||||
|                 "禁用" | ||||
|               ); | ||||
|             } | ||||
|             return h("div", [ | ||||
|               h( | ||||
|                 "Button", | ||||
|                 { | ||||
|                   props: { | ||||
|                     type: "primary", | ||||
|                     size: "small", | ||||
|                   }, | ||||
|                   style: { | ||||
|                     marginRight: "5px", | ||||
|                   }, | ||||
|                   on: { | ||||
|                     click: () => { | ||||
|                       this.edit(params.row); | ||||
|                     }, | ||||
|                   }, | ||||
|                 }, | ||||
|                 "编辑" | ||||
|               ), | ||||
|               h( | ||||
|                 "Button", | ||||
|                 { | ||||
|                   props: { | ||||
|                     type: "error", | ||||
|                     size: "small", | ||||
|                   }, | ||||
|                   style: { | ||||
|                     marginRight: "5px", | ||||
|                   }, | ||||
|                   on: { | ||||
|                     click: () => { | ||||
|                       this.del(params.row); | ||||
|                     }, | ||||
|                   }, | ||||
|                 }, | ||||
|                 "删除" | ||||
|               ), | ||||
|               enableOrDisable, | ||||
|             ]); | ||||
|           }, | ||||
|         }, | ||||
|       ], | ||||
|       data: [], // 表单数据 | ||||
|       total: 0, // 表单数据总数 | ||||
|     }; | ||||
|   }, | ||||
|   methods: { | ||||
|     init() { | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     changePage(v) { | ||||
|       this.searchForm.pageNumber = v; | ||||
|       this.getDataList(); | ||||
|       this.clearSelectAll(); | ||||
|     }, | ||||
|     changePageSize(v) { | ||||
|       this.searchForm.pageSize = v; | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     handleSearch() { | ||||
|       this.searchForm.pageNumber = 1; | ||||
|       this.searchForm.pageSize = 10; | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     handleReset() { | ||||
|       this.$refs.searchForm.resetFields(); | ||||
|       this.searchForm.pageNumber = 1; | ||||
|       this.searchForm.pageSize = 10; | ||||
|       // 重新加载数据 | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     changeSort(e) { | ||||
|       this.searchForm.sort = e.key; | ||||
|       this.searchForm.order = e.order; | ||||
|       if (e.order === "normal") { | ||||
|         this.searchForm.order = ""; | ||||
|       } | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|     clearSelectAll() { | ||||
|       this.$refs.table.selectAll(false); | ||||
|     }, | ||||
|     changeSelect(e) { | ||||
|       this.selectList = e; | ||||
|       this.selectCount = e.length; | ||||
|     }, | ||||
|     getDataList() { | ||||
|       this.searchForm.clientType = this.type; | ||||
|       this.loading = true; | ||||
|       // 带多条件搜索参数获取表单数据 请自行修改接口 | ||||
|       getNavigationData(this.searchForm).then((res) => { | ||||
|         this.loading = false; | ||||
|         if (res.success) { | ||||
|           this.data = res.result.records; | ||||
|           this.total = res.result.total; | ||||
|         } | ||||
|       }); | ||||
|       this.total = this.data.length; | ||||
|       this.loading = false; | ||||
|     }, | ||||
|     handleSubmit() { | ||||
|       this.$refs.form.validate((valid) => { | ||||
|         if (valid) { | ||||
|           this.submitLoading = true; | ||||
|           this.form.clientType = this.type; | ||||
|           if (this.modalType === 0) { | ||||
|             // 添加 避免编辑后传入id等数据 记得删除 | ||||
|             delete this.form.id; | ||||
|             save(this.form).then((res) => { | ||||
|               this.submitLoading = false; | ||||
|               if (res.success) { | ||||
|                 this.$Message.success("操作成功"); | ||||
|                 this.getDataList(); | ||||
|                 this.modalVisible = false; | ||||
|               } | ||||
|             }); | ||||
|           } else { | ||||
|             // 编辑 | ||||
|             update(this.form).then((res) => { | ||||
|               this.submitLoading = false; | ||||
|               if (res.success) { | ||||
|                 this.$Message.success("操作成功"); | ||||
|                 this.getDataList(); | ||||
|                 this.modalVisible = false; | ||||
|               } | ||||
|             }); | ||||
|           } | ||||
|         } | ||||
|       }); | ||||
|     }, | ||||
|     add() { | ||||
|       this.modalType = 0; | ||||
|       this.modalTitle = "添加"; | ||||
|       this.$refs.form.resetFields(); | ||||
|       delete this.form.id; | ||||
|       this.modalVisible = true; | ||||
|     }, | ||||
|     edit(v) { | ||||
|       this.modalType = 1; | ||||
|       this.modalTitle = "编辑"; | ||||
|       this.$refs.form.resetFields(); | ||||
|       // 转换null为"" | ||||
|       for (let attr in v) { | ||||
|         if (v[attr] === null) { | ||||
|           v[attr] = ""; | ||||
|         } | ||||
|       } | ||||
|       let str = JSON.stringify(v); | ||||
|       let data = JSON.parse(str); | ||||
|       this.form = data; | ||||
|       this.modalVisible = true; | ||||
|     }, | ||||
|     enable(v) { | ||||
|       this.$Modal.confirm({ | ||||
|         title: "确认启用", | ||||
|         // 记得确认修改此处 | ||||
|         content: "您确认要确认启用 " + v.navigationName + " ?", | ||||
|         loading: true, | ||||
|         onOk: () => { | ||||
|           // 删除 | ||||
|           enableNavigation(v.id).then((res) => { | ||||
|             this.$Modal.remove(); | ||||
|             if (res.success) { | ||||
|               this.$Message.success("操作成功"); | ||||
|               this.getDataList(); | ||||
|             } | ||||
|           }); | ||||
|         }, | ||||
|       }); | ||||
|     }, | ||||
|     disable(v) { | ||||
|       this.$Modal.confirm({ | ||||
|         title: "确认禁用", | ||||
|         // 记得确认修改此处 | ||||
|         content: "您确认要禁用 " + v.navigationName + " ?", | ||||
|         loading: true, | ||||
|         onOk: () => { | ||||
|           // 删除 | ||||
|           disableNavigation(v.id).then((res) => { | ||||
|             this.$Modal.remove(); | ||||
|             if (res.success) { | ||||
|               this.$Message.success("操作成功"); | ||||
|               this.getDataList(); | ||||
|             } | ||||
|           }); | ||||
|         }, | ||||
|       }); | ||||
|     }, | ||||
|     disableAll() { | ||||
|       if (this.selectCount <= 0) { | ||||
|         this.$Message.warning("您还未选择要禁用的数据"); | ||||
|         return; | ||||
|       } | ||||
|       this.$Modal.confirm({ | ||||
|         title: "确认禁用", | ||||
|         content: "您确认要禁用所选的 " + this.selectCount + " 条数据?", | ||||
|         loading: true, | ||||
|         onOk: () => { | ||||
|           let ids = ""; | ||||
|           this.selectList.forEach(function (e) { | ||||
|             ids += e.id + ","; | ||||
|           }); | ||||
|           ids = ids.substring(0, ids.length - 1); | ||||
|           // 批量禁用 | ||||
|           disableNavigation(ids).then((res) => { | ||||
|             this.$Modal.remove(); | ||||
|             if (res.success) { | ||||
|               this.$Message.success("操作成功"); | ||||
|               this.clearSelectAll(); | ||||
|               this.getDataList(); | ||||
|             } | ||||
|           }); | ||||
|         }, | ||||
|       }); | ||||
|     }, | ||||
|     del(v) { | ||||
|       this.$Modal.confirm({ | ||||
|         title: "确认删除", | ||||
|         // 记得确认修改此处 | ||||
|         content: "您确认要永久性删除 " + v.navigationName + " ?", | ||||
|         loading: true, | ||||
|         onOk: () => { | ||||
|           // 删除 | ||||
|           delNavigation(v.id).then((res) => { | ||||
|             this.$Modal.remove(); | ||||
|             if (res.success) { | ||||
|               this.$Message.success("操作成功"); | ||||
|               this.getDataList(); | ||||
|             } | ||||
|           }); | ||||
|         }, | ||||
|       }); | ||||
|     }, | ||||
|   }, | ||||
| 
 | ||||
|   mounted() { | ||||
|     this.init(); | ||||
|   }, | ||||
| }; | ||||
| </script> | ||||
| <style lang="scss"> | ||||
|     // 建议引入通用样式 可删除下面样式代码 | ||||
|     // @import "@/styles/table-common.scss"; | ||||
|     .search { | ||||
|         .operation { | ||||
|             margin-bottom: 2vh; | ||||
|         } | ||||
|         .select-count { | ||||
|             font-weight: 600; | ||||
|             color: #40a9ff; | ||||
|         } | ||||
|         .select-clear { | ||||
|             margin-left: 10px; | ||||
|         } | ||||
|         .page { | ||||
|             margin-top: 2vh; | ||||
|         } | ||||
|         .drop-down { | ||||
|             margin-left: 5px; | ||||
|         } | ||||
|     } | ||||
| // 建议引入通用样式 可删除下面样式代码 | ||||
| // @import "@/styles/table-common.scss"; | ||||
| .search { | ||||
|   .operation { | ||||
|     margin-bottom: 2vh; | ||||
|   } | ||||
|   .select-count { | ||||
|     font-weight: 600; | ||||
|     color: #40a9ff; | ||||
|   } | ||||
|   .select-clear { | ||||
|     margin-left: 10px; | ||||
|   } | ||||
|   .page { | ||||
|     margin-top: 2vh; | ||||
|   } | ||||
|   .drop-down { | ||||
|     margin-left: 5px; | ||||
|   } | ||||
| } | ||||
| </style> | ||||
|  |  | |||
|  | @ -1,7 +1,5 @@ | |||
| <template> | ||||
|     <div class="search"> | ||||
|         <Row> | ||||
|             <Col> | ||||
|                 <Card> | ||||
|                     <Row class="operation"> | ||||
|                         <Button @click="add" type="primary" icon="md-add">添加</Button> | ||||
|  | @ -15,18 +13,14 @@ | |||
|                             <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|                         </Alert> | ||||
|                     </Row> | ||||
|                     <Row> | ||||
|                         <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" | ||||
|                                @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|                     </Row> | ||||
|                     <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" | ||||
|                             @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|                     <Row type="flex" justify="end" class="page"> | ||||
|                         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" | ||||
|                               @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" | ||||
|                               size="small" show-total show-elevator show-sizer></Page> | ||||
|                     </Row> | ||||
|                 </Card> | ||||
|             </Col> | ||||
|         </Row> | ||||
|         <Modal :title="modalTitle" v-model="modalVisible" :mask-closable='false' :width="500"> | ||||
|             <Form ref="form" :model="form" :label-width="100" :rules="formValidate"> | ||||
|                 <FormItem label="导航栏名称" prop="navigationName"> | ||||
|  |  | |||
|  | @ -42,46 +42,37 @@ | |||
|         <Button @click="delAll">批量下架</Button> | ||||
|         <!-- <Button @click="upAll" >批量上架</Button> --> | ||||
|       </Row> | ||||
|       <Row> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           ref="table" | ||||
|           sortable="custom" | ||||
|           @on-sort-change="changeSort" | ||||
|           @on-selection-change="changeSelect" | ||||
|         > | ||||
|           <template slot-scope="{ row }" slot="action"> | ||||
|             <!-- <Button | ||||
|               type="info" | ||||
|               size="small" | ||||
|               style="margin-right: 10px" | ||||
|               @click="receiveInfo(row)" | ||||
|               >查看</Button | ||||
|             > --> | ||||
|             <Button | ||||
|               v-if="row.promotionStatus === 'NEW' || row.promotionStatus === 'CLOSE'" | ||||
|               type="primary" | ||||
|               size="small" | ||||
|               style="margin-right: 10px" | ||||
|               @click="edit(row)" | ||||
|             >编辑 | ||||
|             </Button | ||||
|             > | ||||
|             <Button | ||||
|               v-if="row.promotionStatus === 'START' || row.promotionStatus === 'NEW'" | ||||
|               type="error" | ||||
|               size="small" | ||||
|               style="margin-right: 10px" | ||||
|               @click="remove(row)" | ||||
|             >下架 | ||||
|             </Button | ||||
|             > | ||||
|           </template> | ||||
|         </Table> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       > | ||||
|         <template slot-scope="{ row }" slot="action"> | ||||
|           <Button | ||||
|             v-if="row.promotionStatus === 'NEW' || row.promotionStatus === 'CLOSE'" | ||||
|             type="primary" | ||||
|             size="small" | ||||
|             style="margin-right: 10px" | ||||
|             @click="edit(row)" | ||||
|           >编辑 | ||||
|           </Button | ||||
|           > | ||||
|           <Button | ||||
|             v-if="row.promotionStatus === 'START' || row.promotionStatus === 'NEW'" | ||||
|             type="error" | ||||
|             size="small" | ||||
|             style="margin-right: 10px" | ||||
|             @click="remove(row)" | ||||
|           >下架 | ||||
|           </Button | ||||
|           > | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber + 1" | ||||
|  |  | |||
|  | @ -72,9 +72,7 @@ | |||
|           </div> | ||||
|           <h4>适用品类范围</h4> | ||||
|           <div> | ||||
|             <Row> | ||||
|               <Table :loading="loading" border :columns="columns1" :data="data1" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|             </Row> | ||||
|             <Table :loading="loading" border :columns="columns1" :data="data1" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|             <Row type="flex" justify="end" class="page"> | ||||
|               <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|                 size="small" show-total show-elevator show-sizer></Page> | ||||
|  |  | |||
|  | @ -1,51 +1,45 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             > | ||||
|               <template slot-scope="{ row }" slot="rangeTime"> | ||||
|                 <div>{{ row.startTime }} ~ {{ row.endTime }}</div> | ||||
|               </template> | ||||
|               <template slot-scope="{ row }" slot="action"> | ||||
|                 <Button | ||||
|                   type="error" | ||||
|                   ghost | ||||
|                   size="small" | ||||
|                   :disabled="row.memberCouponStatus != 'NEW'" | ||||
|                   @click="remove(row)" | ||||
|                   >作废</Button | ||||
|                 > | ||||
|               </template> | ||||
|             </Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|     <Card> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           ref="table" | ||||
|           sortable="custom" | ||||
|           @on-sort-change="changeSort" | ||||
|           @on-selection-change="changeSelect" | ||||
|         > | ||||
|           <template slot-scope="{ row }" slot="rangeTime"> | ||||
|             <div>{{ row.startTime }} ~ {{ row.endTime }}</div> | ||||
|           </template> | ||||
|           <template slot-scope="{ row }" slot="action"> | ||||
|             <Button | ||||
|               type="error" | ||||
|               ghost | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|               :disabled="row.memberCouponStatus != 'NEW'" | ||||
|               @click="remove(row)" | ||||
|               >作废</Button | ||||
|             > | ||||
|           </template> | ||||
|         </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -43,35 +43,33 @@ | |||
|           <Button @click="handleSearch" type="primary" class="search-btn" icon="ios-search">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Row class="padding-row"> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           ref="table" | ||||
|           sortable="custom" | ||||
|         > | ||||
|           <template slot-scope="{ row }" slot="applyEndTime"> | ||||
|             {{ unixDate(row.applyEndTime) }} | ||||
|           </template> | ||||
|           <template slot-scope="{ row }" slot="promotionType"> | ||||
|             {{ row.isFullMinus ? "满减" : "满折" }} | ||||
|           </template> | ||||
|           <template slot-scope="{ row }" slot="hours"> | ||||
|             <Tag v-for="item in unixHours(row.hours)" :key="item">{{ | ||||
|               item | ||||
|             }}</Tag> | ||||
|           </template> | ||||
|           <template slot-scope="{ row }" slot="action"> | ||||
|             <div> | ||||
|               <Button type="success" size="small" @click="view(row)" | ||||
|                 >查看</Button | ||||
|               >  | ||||
|             </div> | ||||
|           </template> | ||||
|         </Table> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|       > | ||||
|         <template slot-scope="{ row }" slot="applyEndTime"> | ||||
|           {{ unixDate(row.applyEndTime) }} | ||||
|         </template> | ||||
|         <template slot-scope="{ row }" slot="promotionType"> | ||||
|           {{ row.isFullMinus ? "满减" : "满折" }} | ||||
|         </template> | ||||
|         <template slot-scope="{ row }" slot="hours"> | ||||
|           <Tag v-for="item in unixHours(row.hours)" :key="item">{{ | ||||
|             item | ||||
|           }}</Tag> | ||||
|         </template> | ||||
|         <template slot-scope="{ row }" slot="action"> | ||||
|           <div> | ||||
|             <Button type="success" size="small" @click="view(row)" | ||||
|               >查看</Button | ||||
|             >  | ||||
|           </div> | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page operation"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber + 1" | ||||
|  |  | |||
|  | @ -45,7 +45,6 @@ | |||
|           > | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Row class="padding-row"> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|  | @ -72,7 +71,6 @@ | |||
|             </Button> | ||||
|           </template> | ||||
|         </Table> | ||||
|       </Row> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber + 1" | ||||
|  |  | |||
|  | @ -10,10 +10,10 @@ | |||
|       ></Table> | ||||
| 
 | ||||
|       <h4>商品信息</h4> | ||||
|       <Row class="operation"> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           class="operation" | ||||
|           :columns="goodsColumns" | ||||
|           :data="goodsData" | ||||
|           ref="table" | ||||
|  | @ -34,7 +34,6 @@ | |||
|           </template> | ||||
|          | ||||
|         </Table> | ||||
|       </Row> | ||||
|       <Row type="flex" justify="end" class="page operation"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber + 1" | ||||
|  |  | |||
|  | @ -61,70 +61,68 @@ | |||
|         <Button @click="addPointsGoods" type="primary" >添加积分商品</Button> | ||||
| 
 | ||||
|       </Row> | ||||
|       <Row> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           ref="table" | ||||
|         > | ||||
|           <template slot-scope="{ row }" slot="goodsName"> | ||||
|             <div> | ||||
|               <a class="mr_10" @click="linkTo(row.goodsSku.goodsId,row.goodsSku.skuId)">{{row.goodsSku.goodsName}}</a> | ||||
|               <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|                 <div slot="content"> | ||||
|                   <vue-qr :text="wapLinkTo(row.goodsSku.goodsId,row.goodsSku.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|                 </div> | ||||
|                 <img src="../../../assets/qrcode.svg" style="vertical-align:middle;" class="hover-pointer" width="20" height="20" alt=""> | ||||
|               </Poptip> | ||||
|             </div> | ||||
|           </template> | ||||
|           <template slot-scope="{ row }" slot="price"> | ||||
|             <div>{{ row.goodsSku.price | unitPrice("¥") }}</div> | ||||
|           </template> | ||||
|           <template slot-scope="{ row }" slot="settlementPrice"> | ||||
|             <div>{{ row.settlementPrice | unitPrice("¥") }}</div> | ||||
|           </template> | ||||
|           <template slot-scope="{ row }" slot="quantity"> | ||||
|             <div>{{ row.goodsSku.quantity }}</div> | ||||
|           </template> | ||||
|           <template slot-scope="{ row }" slot="startTime"> | ||||
|             <div>{{ row.startTime }}</div> | ||||
|             <div>{{ row.endTime }}</div> | ||||
|           </template> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|       > | ||||
|         <template slot-scope="{ row }" slot="goodsName"> | ||||
|           <div> | ||||
|             <a class="mr_10" @click="linkTo(row.goodsSku.goodsId,row.goodsSku.skuId)">{{row.goodsSku.goodsName}}</a> | ||||
|             <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|               <div slot="content"> | ||||
|                 <vue-qr :text="wapLinkTo(row.goodsSku.goodsId,row.goodsSku.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|               </div> | ||||
|               <img src="../../../assets/qrcode.svg" style="vertical-align:middle;" class="hover-pointer" width="20" height="20" alt=""> | ||||
|             </Poptip> | ||||
|           </div> | ||||
|         </template> | ||||
|         <template slot-scope="{ row }" slot="price"> | ||||
|           <div>{{ row.goodsSku.price | unitPrice("¥") }}</div> | ||||
|         </template> | ||||
|         <template slot-scope="{ row }" slot="settlementPrice"> | ||||
|           <div>{{ row.settlementPrice | unitPrice("¥") }}</div> | ||||
|         </template> | ||||
|         <template slot-scope="{ row }" slot="quantity"> | ||||
|           <div>{{ row.goodsSku.quantity }}</div> | ||||
|         </template> | ||||
|         <template slot-scope="{ row }" slot="startTime"> | ||||
|           <div>{{ row.startTime }}</div> | ||||
|           <div>{{ row.endTime }}</div> | ||||
|         </template> | ||||
|          | ||||
|           <template slot-scope="{ row }" slot="action"> | ||||
|             <Button | ||||
|               v-if="row.promotionStatus == 'NEW'" | ||||
|               type="info" | ||||
|               size="small" | ||||
|               @click="edit(row.id)" | ||||
|               style="margin-right: 5px" | ||||
|               >编辑</Button | ||||
|             > | ||||
|             <Button | ||||
|               v-if="row.promotionStatus == 'START'" | ||||
|               type="warning" | ||||
|               size="small" | ||||
|               @click="statusChanged(row.id, 'CLOSE')" | ||||
|               style="margin-right: 5px" | ||||
|               >停用</Button | ||||
|             > | ||||
|             <Button | ||||
|               v-if="row.promotionStatus == 'CLOSE'" | ||||
|               type="warning" | ||||
|               size="small" | ||||
|               @click="statusChanged(row.id, 'START')" | ||||
|               style="margin-right: 5px" | ||||
|               >启用</Button | ||||
|             > | ||||
|             <Button type="error" size="small" @click="close(row.id)" | ||||
|               >删除</Button | ||||
|             > | ||||
|           </template> | ||||
|         </Table> | ||||
|       </Row> | ||||
|         <template slot-scope="{ row }" slot="action"> | ||||
|           <Button | ||||
|             v-if="row.promotionStatus == 'NEW'" | ||||
|             type="info" | ||||
|             size="small" | ||||
|             @click="edit(row.id)" | ||||
|             style="margin-right: 5px" | ||||
|             >编辑</Button | ||||
|           > | ||||
|           <Button | ||||
|             v-if="row.promotionStatus == 'START'" | ||||
|             type="warning" | ||||
|             size="small" | ||||
|             @click="statusChanged(row.id, 'CLOSE')" | ||||
|             style="margin-right: 5px" | ||||
|             >停用</Button | ||||
|           > | ||||
|           <Button | ||||
|             v-if="row.promotionStatus == 'CLOSE'" | ||||
|             type="warning" | ||||
|             size="small" | ||||
|             @click="statusChanged(row.id, 'START')" | ||||
|             style="margin-right: 5px" | ||||
|             >启用</Button | ||||
|           > | ||||
|           <Button type="error" size="small" @click="close(row.id)" | ||||
|             >删除</Button | ||||
|           > | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|  |  | |||
|  | @ -53,66 +53,64 @@ | |||
|       <Row class="operation padding-row"> | ||||
|         <Button type="primary" @click="add">添加活动</Button> | ||||
|       </Row> | ||||
|       <Row> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           ref="table" | ||||
|           class="page" | ||||
|         > | ||||
|           <template slot-scope="{ row }" slot="action"> | ||||
|             <Button | ||||
|               type="info" | ||||
|               size="small" | ||||
|               class="mr_5" | ||||
|               v-if="row.promotionStatus == 'NEW'" | ||||
|               @click="edit(row)" | ||||
|               >编辑</Button | ||||
|             > | ||||
|               | ||||
|             <Button | ||||
|               type="info" | ||||
|               size="small" | ||||
|               class="mr_5" | ||||
|               v-else | ||||
|               @click="manage(row)" | ||||
|               >查看</Button | ||||
|             > | ||||
|               | ||||
|             <Button | ||||
|               type="primary" | ||||
|               size="small" | ||||
|               class="mr_5" | ||||
|               v-if="row.promotionStatus == 'NEW'" | ||||
|               @click="manage(row)" | ||||
|               >管理</Button | ||||
|             > | ||||
|               | ||||
|             <!-- <Button type="success" size="small" class="mr_5" v-if="row.promotionStatus == 'NEW' || row.promotionStatus == 'END'" @click="upper(row)">上架</Button>   --> | ||||
|             <Button | ||||
|               type="error" | ||||
|               size="small" | ||||
|               v-if=" | ||||
|                 row.promotionStatus == 'START' || row.promotionStatus == 'NEW' | ||||
|               " | ||||
|               class="mr_5" | ||||
|               @click="off(row)" | ||||
|               >下架</Button | ||||
|             > | ||||
|               | ||||
|             <Button | ||||
|               type="error" | ||||
|               size="small" | ||||
|               v-if="row.promotionStatus == 'CLOSE'" | ||||
|               ghost | ||||
|               @click="expire(row)" | ||||
|               >删除</Button | ||||
|             > | ||||
|           </template> | ||||
|         </Table> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         class="page" | ||||
|       > | ||||
|         <template slot-scope="{ row }" slot="action"> | ||||
|           <Button | ||||
|             type="info" | ||||
|             size="small" | ||||
|             class="mr_5" | ||||
|             v-if="row.promotionStatus == 'NEW'" | ||||
|             @click="edit(row)" | ||||
|             >编辑</Button | ||||
|           > | ||||
|             | ||||
|           <Button | ||||
|             type="info" | ||||
|             size="small" | ||||
|             class="mr_5" | ||||
|             v-else | ||||
|             @click="manage(row)" | ||||
|             >查看</Button | ||||
|           > | ||||
|             | ||||
|           <Button | ||||
|             type="primary" | ||||
|             size="small" | ||||
|             class="mr_5" | ||||
|             v-if="row.promotionStatus == 'NEW'" | ||||
|             @click="manage(row)" | ||||
|             >管理</Button | ||||
|           > | ||||
|             | ||||
|           <!-- <Button type="success" size="small" class="mr_5" v-if="row.promotionStatus == 'NEW' || row.promotionStatus == 'END'" @click="upper(row)">上架</Button>   --> | ||||
|           <Button | ||||
|             type="error" | ||||
|             size="small" | ||||
|             v-if=" | ||||
|               row.promotionStatus == 'START' || row.promotionStatus == 'NEW' | ||||
|             " | ||||
|             class="mr_5" | ||||
|             @click="off(row)" | ||||
|             >下架</Button | ||||
|           > | ||||
|             | ||||
|           <Button | ||||
|             type="error" | ||||
|             size="small" | ||||
|             v-if="row.promotionStatus == 'CLOSE'" | ||||
|             ghost | ||||
|             @click="expire(row)" | ||||
|             >删除</Button | ||||
|           > | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber + 1" | ||||
|  |  | |||
|  | @ -29,10 +29,10 @@ | |||
|           <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|         </Alert> | ||||
|       </Row> | ||||
|       <Row class="operation"> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           class="operation" | ||||
|           :columns="goodsColumns" | ||||
|           :data="goodsList" | ||||
|           ref="table" | ||||
|  | @ -106,7 +106,6 @@ | |||
|             > | ||||
|           </template> | ||||
|         </Table> | ||||
|       </Row> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber + 1" | ||||
|  |  | |||
|  | @ -1,32 +1,26 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|       <Card> | ||||
|         <Row @keydown.enter.native="handleSearch"> | ||||
|           <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|             <Form-item label="账单编号" prop="sn"> | ||||
|               <Input type="text" v-model="searchForm.sn" placeholder="请输入账单编号" clearable style="width: 200px" /> | ||||
|             </Form-item> | ||||
|             <Form-item label="出帐时间" prop="createTime"> | ||||
|               <DatePicker v-model="selectDate" type="daterange" format="yyyy-MM-dd HH:mm:ss" clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"> | ||||
|               </DatePicker> | ||||
|             </Form-item> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="账单编号" prop="sn"> | ||||
|             <Input type="text" v-model="searchForm.sn" placeholder="请输入账单编号" clearable style="width: 200px" /> | ||||
|           </Form-item> | ||||
|           <Form-item label="出帐时间" prop="createTime"> | ||||
|             <DatePicker v-model="selectDate" type="daterange" format="yyyy-MM-dd HH:mm:ss" clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"> | ||||
|             </DatePicker> | ||||
|           </Form-item> | ||||
| 
 | ||||
|             <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|           </Form> | ||||
|         </Row> | ||||
|         <Row> | ||||
|           <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"> | ||||
|           </Table> | ||||
|         </Row> | ||||
|         <Row type="flex" justify="end" class="page"> | ||||
|           <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|             size="small" show-total show-elevator show-sizer></Page> | ||||
|         </Row> | ||||
|       </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|           size="small" show-total show-elevator show-sizer></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -48,15 +48,13 @@ | |||
|       <Tabs active-key="key1" @on-click="clickTabs"> | ||||
|         <Tab-pane label="入账流水" key="key1"> | ||||
|           <Card> | ||||
|             <Row> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|                 :columns="orderColumns" | ||||
|                 :data="order" | ||||
|                 ref="table" | ||||
|               ></Table> | ||||
|             </Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="orderColumns" | ||||
|               :data="order" | ||||
|               ref="table" | ||||
|             ></Table> | ||||
|             <Row type="flex" justify="end" class="page"> | ||||
|               <Page | ||||
|                 :current="orderParam.pageNumber" | ||||
|  | @ -73,15 +71,13 @@ | |||
|         </Tab-pane> | ||||
|         <Tab-pane label="退款流水" key="key2"> | ||||
|           <Card> | ||||
|             <Row> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|                 :columns="refundColumns" | ||||
|                 :data="refund" | ||||
|                 ref="table" | ||||
|               ></Table> | ||||
|             </Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="refundColumns" | ||||
|               :data="refund" | ||||
|               ref="table" | ||||
|             ></Table> | ||||
|             <Row type="flex" justify="end" class="page"> | ||||
|               <Page | ||||
|                 :current="refundParam.pageNumber" | ||||
|  |  | |||
|  | @ -1,42 +1,36 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|       <Card> | ||||
|         <Row @keydown.enter.native="handleSearch"> | ||||
|           <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|             <Form-item label="账单编号" prop="sn"> | ||||
|               <Input type="text" v-model="searchForm.sn" placeholder="请输入账单编号" clearable style="width: 200px" /> | ||||
|             </Form-item> | ||||
|             <Form-item label="出帐时间" prop="createTime"> | ||||
|               <DatePicker v-model="selectDate" type="daterange" format="yyyy-MM-dd HH:mm:ss" clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"> | ||||
|               </DatePicker> | ||||
|             </Form-item> | ||||
|             <Form-item label="筛选状态"> | ||||
|               <Select v-model="searchForm.billStatus" style="width:160px"> | ||||
|                 <Option value="">全部</Option> | ||||
|                 <Option value="OUT">已出账</Option> | ||||
|                 <Option value="CHECK">已核对</Option> | ||||
|                 <Option value="COMPLETE">已完成</Option> | ||||
|               </Select> | ||||
|             </Form-item> | ||||
|             <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|           </Form> | ||||
|         </Row> | ||||
|         <Row class="operation padding-row"> | ||||
|           <Button @click="delAll">批量删除</Button> | ||||
|         </Row> | ||||
|         <Row> | ||||
|           <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-selection-change="changeSelect"> | ||||
|           </Table> | ||||
|         </Row> | ||||
|         <Row type="flex" justify="end" class="page"> | ||||
|           <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|             size="small" show-total show-elevator show-sizer></Page> | ||||
|         </Row> | ||||
|       </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="账单编号" prop="sn"> | ||||
|             <Input type="text" v-model="searchForm.sn" placeholder="请输入账单编号" clearable style="width: 200px" /> | ||||
|           </Form-item> | ||||
|           <Form-item label="出帐时间" prop="createTime"> | ||||
|             <DatePicker v-model="selectDate" type="daterange" format="yyyy-MM-dd HH:mm:ss" clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"> | ||||
|             </DatePicker> | ||||
|           </Form-item> | ||||
|           <Form-item label="筛选状态"> | ||||
|             <Select v-model="searchForm.billStatus" style="width:160px"> | ||||
|               <Option value="">全部</Option> | ||||
|               <Option value="OUT">已出账</Option> | ||||
|               <Option value="CHECK">已核对</Option> | ||||
|               <Option value="COMPLETE">已完成</Option> | ||||
|             </Select> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Row class="operation padding-row"> | ||||
|         <Button @click="delAll">批量删除</Button> | ||||
|       </Row> | ||||
|       <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-selection-change="changeSelect"> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|           size="small" show-total show-elevator show-sizer></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,44 +1,38 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|               <Form-item label="会员名称" prop="memberName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.memberName" | ||||
|                   placeholder="请输入会员名称" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="店铺名称" prop="storeName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.storeName" | ||||
|                   placeholder="请输入店铺名称" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="创建时间" prop="createTime"> | ||||
|                 <DatePicker v-model="selectDate" type="datetimerange" format="yyyy-MM-dd HH:mm:ss" clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"></DatePicker> | ||||
|               </Form-item> | ||||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|                   size="small" show-total show-elevator show-sizer></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="会员名称" prop="memberName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.memberName" | ||||
|               placeholder="请输入会员名称" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="店铺名称" prop="storeName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.storeName" | ||||
|               placeholder="请输入店铺名称" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="创建时间" prop="createTime"> | ||||
|             <DatePicker v-model="selectDate" type="datetimerange" format="yyyy-MM-dd HH:mm:ss" clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"></DatePicker> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|               size="small" show-total show-elevator show-sizer></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -246,22 +246,20 @@ | |||
|             </Form> | ||||
|           </Row> | ||||
|           <div style="min-height: 180px"> | ||||
|             <Row class="padding-row"> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|                 :columns="orderColumns" | ||||
|                 :data="orderData" | ||||
|                 ref="table" | ||||
|                 sortable="custom" | ||||
|                 @on-sort-change="orderChangeSort" | ||||
|               > | ||||
|                 <!-- 订单详情格式化 --> | ||||
|                 <template slot="orderSlot" slot-scope="scope"> | ||||
|                   <a @click="$router.push({name: 'order-detail',query: {sn: scope.row.sn}})">{{scope.row.sn}}</a> | ||||
|                 </template> | ||||
|               </Table> | ||||
|             </Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="orderColumns" | ||||
|               :data="orderData" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="orderChangeSort" | ||||
|             > | ||||
|               <!-- 订单详情格式化 --> | ||||
|               <template slot="orderSlot" slot-scope="scope"> | ||||
|                 <a @click="$router.push({name: 'order-detail',query: {sn: scope.row.sn}})">{{scope.row.sn}}</a> | ||||
|               </template> | ||||
|             </Table> | ||||
| 
 | ||||
|             <Row type="flex" justify="end" class="page" style="margin-top: 10px"> | ||||
|               <Page | ||||
|  | @ -349,44 +347,42 @@ | |||
|             </Form> | ||||
|           </Row> | ||||
|           <div style="min-height: 180px"> | ||||
|             <Row class="padding-row"> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|                 :columns="refundGoodsOrderColumns" | ||||
|                 :data="refundGoodsOrderData" | ||||
|                 ref="table" | ||||
|                 sortable="custom" | ||||
|                 @on-sort-change="refundGoodsOrderChangeSort" | ||||
|               > | ||||
|                 <!-- 商品栏目格式化 --> | ||||
|                 <template slot="goodsSlot" slot-scope="scope"> | ||||
|                   <div style="margin-top: 5px;height: 80px; display: flex;"> | ||||
|                     <div style=""> | ||||
|                       <img :src="scope.row.goodsImage" style="height: 60px;margin-top: 3px"> | ||||
|                     </div> | ||||
| 
 | ||||
|                     <div style="margin-left: 13px;margin-top: 3px;"> | ||||
|                       <div class="div-zoom"> | ||||
|                         <a>{{scope.row.goodsName}}</a> | ||||
|                       </div> | ||||
|                     </div> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="refundGoodsOrderColumns" | ||||
|               :data="refundGoodsOrderData" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="refundGoodsOrderChangeSort" | ||||
|             > | ||||
|               <!-- 商品栏目格式化 --> | ||||
|               <template slot="goodsSlot" slot-scope="scope"> | ||||
|                 <div style="margin-top: 5px;height: 80px; display: flex;"> | ||||
|                   <div style=""> | ||||
|                     <img :src="scope.row.goodsImage" style="height: 60px;margin-top: 3px"> | ||||
|                   </div> | ||||
| 
 | ||||
|                 </template> | ||||
|                   <div style="margin-left: 13px;margin-top: 3px;"> | ||||
|                     <div class="div-zoom"> | ||||
|                       <a>{{scope.row.goodsName}}</a> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <!-- 订单详情格式化 --> | ||||
|                 <template slot="orderSlot" slot-scope="scope"> | ||||
|                   <a | ||||
|                     @click="$router.push({name: 'order-detail',query: {sn: scope.row.orderSn}})">{{scope.row.orderSn}}</a> | ||||
|                 </template> | ||||
|               </template> | ||||
| 
 | ||||
|                 <!-- 售后单详情格式化 --> | ||||
|                 <template slot="refundGoodsOrderSlot" slot-scope="scope"> | ||||
|                   <a @click="$router.push({name: 'after-order-detail',query: {sn: scope.row.sn}})">{{scope.row.sn}}</a> | ||||
|                 </template> | ||||
|               </Table> | ||||
|             </Row> | ||||
|               <!-- 订单详情格式化 --> | ||||
|               <template slot="orderSlot" slot-scope="scope"> | ||||
|                 <a | ||||
|                   @click="$router.push({name: 'order-detail',query: {sn: scope.row.orderSn}})">{{scope.row.orderSn}}</a> | ||||
|               </template> | ||||
| 
 | ||||
|               <!-- 售后单详情格式化 --> | ||||
|               <template slot="refundGoodsOrderSlot" slot-scope="scope"> | ||||
|                 <a @click="$router.push({name: 'after-order-detail',query: {sn: scope.row.sn}})">{{scope.row.sn}}</a> | ||||
|               </template> | ||||
|             </Table> | ||||
| 
 | ||||
|             <Row type="flex" justify="end" class="page" style="margin-top: 10px"> | ||||
|               <Page | ||||
|  | @ -474,44 +470,42 @@ | |||
|             </Form> | ||||
|           </Row> | ||||
|           <div style="min-height: 180px"> | ||||
|             <Row class="padding-row"> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|                 :columns="refundGoodsOrderColumns" | ||||
|                 :data="refundOrderData" | ||||
|                 ref="table" | ||||
|                 sortable="custom" | ||||
|                 @on-sort-change="refundOrderChangeSort" | ||||
|               > | ||||
|                 <!-- 商品栏目格式化 --> | ||||
|                 <template slot="goodsSlot" slot-scope="scope"> | ||||
|                   <div style="margin-top: 5px;height: 80px; display: flex;"> | ||||
|                     <div style=""> | ||||
|                       <img :src="scope.row.goodsImage" style="height: 60px;margin-top: 3px"> | ||||
|                     </div> | ||||
| 
 | ||||
|                     <div style="margin-left: 13px;margin-top: 3px;"> | ||||
|                       <div class="div-zoom"> | ||||
|                         <a>{{scope.row.goodsName}}</a> | ||||
|                       </div> | ||||
|                     </div> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="refundGoodsOrderColumns" | ||||
|               :data="refundOrderData" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="refundOrderChangeSort" | ||||
|             > | ||||
|               <!-- 商品栏目格式化 --> | ||||
|               <template slot="goodsSlot" slot-scope="scope"> | ||||
|                 <div style="margin-top: 5px;height: 80px; display: flex;"> | ||||
|                   <div style=""> | ||||
|                     <img :src="scope.row.goodsImage" style="height: 60px;margin-top: 3px"> | ||||
|                   </div> | ||||
| 
 | ||||
|                 </template> | ||||
|                   <div style="margin-left: 13px;margin-top: 3px;"> | ||||
|                     <div class="div-zoom"> | ||||
|                       <a>{{scope.row.goodsName}}</a> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                 </div> | ||||
| 
 | ||||
|                 <!-- 订单详情格式化 --> | ||||
|                 <template slot="orderSlot" slot-scope="scope"> | ||||
|                   <a | ||||
|                     @click="$router.push({name: 'order-detail',query: {sn: scope.row.orderSn}})">{{scope.row.orderSn}}</a> | ||||
|                 </template> | ||||
|               </template> | ||||
| 
 | ||||
|                 <!-- 售后单详情格式化 --> | ||||
|                 <template slot="refundGoodsOrderSlot" slot-scope="scope"> | ||||
|                   <a @click="$router.push({name: 'after-order-detail',query: {sn: scope.row.sn}})">{{scope.row.sn}}</a> | ||||
|                 </template> | ||||
|               </Table> | ||||
|             </Row> | ||||
|               <!-- 订单详情格式化 --> | ||||
|               <template slot="orderSlot" slot-scope="scope"> | ||||
|                 <a | ||||
|                   @click="$router.push({name: 'order-detail',query: {sn: scope.row.orderSn}})">{{scope.row.orderSn}}</a> | ||||
|               </template> | ||||
| 
 | ||||
|               <!-- 售后单详情格式化 --> | ||||
|               <template slot="refundGoodsOrderSlot" slot-scope="scope"> | ||||
|                 <a @click="$router.push({name: 'after-order-detail',query: {sn: scope.row.sn}})">{{scope.row.sn}}</a> | ||||
|               </template> | ||||
|             </Table> | ||||
| 
 | ||||
|             <Row type="flex" justify="end" class="page" style="margin-top: 10px"> | ||||
|               <Page | ||||
|  |  | |||
|  | @ -1,56 +1,50 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|       <Card> | ||||
|         <Row @keydown.enter.native="handleSearch"> | ||||
|           <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|             <Form-item label="会员名称" prop="memberName"> | ||||
|               <Input | ||||
|                 type="text" | ||||
|                 v-model="searchForm.memberName" | ||||
|                 placeholder="请输入会员名称" | ||||
|                 clearable | ||||
|                 style="width: 200px" | ||||
|               /> | ||||
|             </Form-item> | ||||
|             <Form-item label="店铺名称" prop="storeName"> | ||||
|               <Input | ||||
|                 type="text" | ||||
|                 v-model="searchForm.storeName" | ||||
|                 placeholder="请输入店铺名称" | ||||
|                 clearable | ||||
|                 style="width: 200px" | ||||
|               /> | ||||
|             </Form-item> | ||||
|             <Form-item label="店铺状态" prop="shopDisable"> | ||||
|               <Select v-model="searchForm.shopDisable" clearable style="width: 200px"> | ||||
|                 <Option value="OPEN">开启中</Option> | ||||
|                 <Option value="CLOSED">已关闭</Option> | ||||
|                 <Option value="APPLY">申请中</Option> | ||||
|                 <Option value="APPLYING">审核中</Option> | ||||
|                 <Option value="REFUSED">审核拒绝</Option> | ||||
|               </Select> | ||||
|             </Form-item> | ||||
|             <Form-item label="创建时间" prop="createTime"> | ||||
|               <DatePicker v-model="selectDate" type="datetimerange" format="yyyy-MM-dd HH:mm:ss" clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"></DatePicker> | ||||
|             </Form-item> | ||||
|             <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|           </Form> | ||||
|         </Row> | ||||
|         <Row class="operation padding-row"> | ||||
|           <Button @click="add" type="primary">添加</Button> | ||||
|         </Row> | ||||
|         <Row> | ||||
|           <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|         </Row> | ||||
|         <Row type="flex" justify="end" class="page"> | ||||
|           <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|             size="small" show-total show-elevator show-sizer></Page> | ||||
|         </Row> | ||||
|       </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="会员名称" prop="memberName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.memberName" | ||||
|               placeholder="请输入会员名称" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="店铺名称" prop="storeName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.storeName" | ||||
|               placeholder="请输入店铺名称" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="店铺状态" prop="shopDisable"> | ||||
|             <Select v-model="searchForm.shopDisable" clearable style="width: 200px"> | ||||
|               <Option value="OPEN">开启中</Option> | ||||
|               <Option value="CLOSED">已关闭</Option> | ||||
|               <Option value="APPLY">申请中</Option> | ||||
|               <Option value="APPLYING">审核中</Option> | ||||
|               <Option value="REFUSED">审核拒绝</Option> | ||||
|             </Select> | ||||
|           </Form-item> | ||||
|           <Form-item label="创建时间" prop="createTime"> | ||||
|             <DatePicker v-model="selectDate" type="datetimerange" format="yyyy-MM-dd HH:mm:ss" clearable @on-change="selectDateRange" placeholder="选择起始时间" style="width: 200px"></DatePicker> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Row class="operation padding-row"> | ||||
|         <Button @click="add" type="primary">添加</Button> | ||||
|       </Row> | ||||
|       <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|           size="small" show-total show-elevator show-sizer></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,41 +1,35 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row class="operation"> | ||||
|             <Button @click="add" type="primary">添加</Button> | ||||
|             <Button @click="delAll">批量删除</Button> | ||||
|           </Row> | ||||
|           <Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             ></Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row class="operation"> | ||||
|         <Button @click="add" type="primary">添加</Button> | ||||
|         <Button @click="delAll">批量删除</Button> | ||||
|       </Row> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           ref="table" | ||||
|           sortable="custom" | ||||
|           @on-sort-change="changeSort" | ||||
|           @on-selection-change="changeSelect" | ||||
|         ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|     <Modal | ||||
|       :title="modalTitle" | ||||
|       v-model="modalVisible" | ||||
|  |  | |||
|  | @ -55,7 +55,6 @@ | |||
|           </i-switch> | ||||
|         </Alert> | ||||
|       </Row> | ||||
|       <Row> | ||||
| 
 | ||||
|         <Table | ||||
|           v-if="showDev" | ||||
|  | @ -78,8 +77,6 @@ | |||
|         > | ||||
|         </Table> | ||||
| 
 | ||||
| 
 | ||||
|       </Row> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|  |  | |||
|  | @ -35,18 +35,16 @@ | |||
|               <Row class="operation" style="margin-top: 20px"> | ||||
|                 <Button @click="sendMessage" type="primary">发送消息</Button> | ||||
|               </Row> | ||||
|               <Row> | ||||
|                 <Table | ||||
|                   :loading="loading" | ||||
|                   border | ||||
|                   :columns="messageColumns" | ||||
|                   :data="messageData" | ||||
|                   ref="table" | ||||
|                   sortable="custom" | ||||
|                   @on-sort-change="messageChangeSort" | ||||
|                   @on-selection-change="messageChangeSelect" | ||||
|                 ></Table> | ||||
|               </Row> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|                 :columns="messageColumns" | ||||
|                 :data="messageData" | ||||
|                 ref="table" | ||||
|                 sortable="custom" | ||||
|                 @on-sort-change="messageChangeSort" | ||||
|                 @on-selection-change="messageChangeSelect" | ||||
|               ></Table> | ||||
|               <Row type="flex" justify="end" class="page"> | ||||
|                 <Page | ||||
|                   :current="searchMessageForm.pageNumber" | ||||
|  | @ -64,18 +62,16 @@ | |||
|             </TabPane> | ||||
| 
 | ||||
|             <TabPane label="通知类站内信" name="SETTING"> | ||||
|               <Row> | ||||
|                 <Table | ||||
|                   :loading="loading" | ||||
|                   border | ||||
|                   :columns="noticeColumns" | ||||
|                   :data="noticeData" | ||||
|                   ref="table" | ||||
|                   sortable="custom" | ||||
|                   @on-sort-change="changeSort" | ||||
|                   @on-selection-change="changeSelect" | ||||
|                 ></Table> | ||||
|               </Row> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|                 :columns="noticeColumns" | ||||
|                 :data="noticeData" | ||||
|                 ref="table" | ||||
|                 sortable="custom" | ||||
|                 @on-sort-change="changeSort" | ||||
|                 @on-selection-change="changeSelect" | ||||
|               ></Table> | ||||
|               <Row type="flex" justify="end" class="page"> | ||||
|                 <Page | ||||
|                   :current="searchForm.pageNumber" | ||||
|  | @ -206,18 +202,16 @@ | |||
|           </RadioGroup> | ||||
|         </FormItem> | ||||
|         <FormItem label="指定商家"> | ||||
|           <Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="messageDetailColumns" | ||||
|               :data="shopMessageData" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="messageChangeSort" | ||||
|               @on-selection-change="messageChangeSelect" | ||||
|             ></Table> | ||||
|           </Row> | ||||
|           <Table | ||||
|             :loading="loading" | ||||
|             border | ||||
|             :columns="messageDetailColumns" | ||||
|             :data="shopMessageData" | ||||
|             ref="table" | ||||
|             sortable="custom" | ||||
|             @on-sort-change="messageChangeSort" | ||||
|             @on-selection-change="messageChangeSelect" | ||||
|           ></Table> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchShopMessageForm.pageNumber" | ||||
|  |  | |||
|  | @ -1,17 +1,13 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|       <Card> | ||||
|         <Tabs value="LIST" @on-click="paneChange"> | ||||
|           <TabPane label="发送任务列表" name="LIST"> | ||||
|             <Row class="operation" style="margin-bottom: 10px"> | ||||
|               <Button @click="sendBatchSmsModal" type="primary">发送短信</Button> | ||||
|             </Row> | ||||
|             <Row> | ||||
|               <Table :loading="loading" border :columns="smsColumns" :data="smsData" ref="table" sortable="custom" @on-sort-change="templateChangeSort"> | ||||
|               </Table> | ||||
|             </Row> | ||||
|             <Table :loading="loading" border :columns="smsColumns" :data="smsData" ref="table" sortable="custom" @on-sort-change="templateChangeSort"> | ||||
|             </Table> | ||||
| 
 | ||||
|             <Row type="flex" justify="end" class="page"> | ||||
|               <Page :current="smsSearchForm.pageNumber" :total="smsTotal" :page-size="smsSearchForm.pageSize" @on-change="smsChangePage" @on-page-size-change="smsChangePageSize" | ||||
|  | @ -23,10 +19,8 @@ | |||
|               <Button @click="addTemplate" type="primary">添加短信模板</Button> | ||||
|               <Button @click="syncTemplate" type="info">同步</Button> | ||||
|             </Row> | ||||
|             <Row> | ||||
|               <Table :loading="loading" border :columns="templateColumns" :data="templateData" ref="table" sortable="custom" @on-sort-change="smsChangeSort"> | ||||
|               </Table> | ||||
|             </Row> | ||||
|             <Table :loading="loading" border :columns="templateColumns" :data="templateData" ref="table" sortable="custom" @on-sort-change="smsChangeSort"> | ||||
|             </Table> | ||||
|             <Row type="flex" justify="end" class="page"> | ||||
|               <Page :current="templateSearchForm.pageNumber" :total="templateTotal" :page-size="templateSearchForm.pageSize" @on-change="templateChangePage" | ||||
|                 @on-page-size-change="templateChangePageSize" :page-size-opts="[10, 20, 50]" size="small" show-total show-elevator show-sizer></Page> | ||||
|  | @ -37,36 +31,30 @@ | |||
|               <Button @click="addSign" type="primary">添加短信签名</Button> | ||||
|               <Button @click="syncSign" type="info">同步</Button> | ||||
|             </Row> | ||||
|             <Row> | ||||
|               <Table :loading="loading" border :columns="signColumns" :data="signData" ref="table" sortable="custom" @on-sort-change="signChangeSort"> | ||||
|                 <template slot="signStatus" slot-scope="scope"> | ||||
|                   <div v-if="scope.row.signStatus ==2 "> | ||||
|                     审核拒绝 | ||||
|                     <Poptip trigger="hover" :content=scope.row.reason placement="top-start" transfer> | ||||
|                       <span style="color: #ed3f14">【原因】</span> | ||||
|                     </Poptip> | ||||
|                   </div> | ||||
|                   <div v-if="scope.row.signStatus ==0 "> | ||||
|                     审核中 | ||||
|                   </div> | ||||
|                   <div v-if="scope.row.signStatus ==1 "> | ||||
|                     审核通过 | ||||
|                   </div> | ||||
|             <Table :loading="loading" border :columns="signColumns" :data="signData" ref="table" sortable="custom" @on-sort-change="signChangeSort"> | ||||
|               <template slot="signStatus" slot-scope="scope"> | ||||
|                 <div v-if="scope.row.signStatus ==2 "> | ||||
|                   审核拒绝 | ||||
|                   <Poptip trigger="hover" :content=scope.row.reason placement="top-start" transfer> | ||||
|                     <span style="color: #ed3f14">【原因】</span> | ||||
|                   </Poptip> | ||||
|                 </div> | ||||
|                 <div v-if="scope.row.signStatus ==0 "> | ||||
|                   审核中 | ||||
|                 </div> | ||||
|                 <div v-if="scope.row.signStatus ==1 "> | ||||
|                   审核通过 | ||||
|                 </div> | ||||
| 
 | ||||
|                 </template> | ||||
|               </Table> | ||||
|             </Row> | ||||
|               </template> | ||||
|             </Table> | ||||
|             <Row type="flex" justify="end" class="page"> | ||||
|               <Page :current="signSearchForm.pageNumber" :total="signTotal" :page-size="signSearchForm.pageSize" @on-change="signChangePage" @on-page-size-change="signChangePageSize" | ||||
|                 :page-size-opts="[10, 20, 50]" size="small" show-total show-elevator show-sizer></Page> | ||||
|             </Row> | ||||
| 
 | ||||
|           </TabPane> | ||||
|         </Tabs> | ||||
| 
 | ||||
|       </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Modal :title="templateModalTitle" v-model="templateModalVisible" :mask-closable="false" :width="500"> | ||||
|       <Form ref="templateForm" :model="templateForm" :label-width="100" :rules="templateFormValidate"> | ||||
|         <FormItem label="模板名称" prop="templateName"> | ||||
|  |  | |||
|  | @ -103,18 +103,16 @@ | |||
|             > | ||||
|           </Alert> | ||||
|         </Row> | ||||
|         <Row> | ||||
|           <Table | ||||
|             :loading="loading" | ||||
|             border | ||||
|             :columns="columns" | ||||
|             :data="data" | ||||
|             ref="table" | ||||
|             sortable="custom" | ||||
|             @on-sort-change="changeSort" | ||||
|             @on-selection-change="changeSelect" | ||||
|           ></Table> | ||||
|         </Row> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           ref="table" | ||||
|           sortable="custom" | ||||
|           @on-sort-change="changeSort" | ||||
|           @on-selection-change="changeSelect" | ||||
|         ></Table> | ||||
|       </div> | ||||
|       <div v-show="showType == 'thumb'"> | ||||
|         <div class="oss-wrapper"> | ||||
|  |  | |||
|  | @ -9,18 +9,16 @@ | |||
|         <Button @click="addRole" type="primary">添加角色</Button> | ||||
|         <Button @click="delAll">批量删除</Button> | ||||
|       </Row> | ||||
|       <Row> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           ref="table" | ||||
|           sortable="custom" | ||||
|           @on-sort-change="changeSort" | ||||
|           @on-selection-change="changeSelect" | ||||
|         ></Table> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="pageNumber" | ||||
|  |  | |||
|  | @ -1,100 +1,88 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Tabs value="RESOURCE" @on-click="handleClickType"> | ||||
|             <TabPane label="图片源" name="RESOURCE"> | ||||
|               <Row> | ||||
|                 <Col> | ||||
|                   <Row class="operation" style="margin-bottom: 10px"> | ||||
|                     <Button @click="add" type="primary">添加</Button> | ||||
|                   </Row> | ||||
|                   <Row> | ||||
|                     <Table | ||||
|                       :loading="loading" | ||||
|                       border | ||||
|                       :columns="columns" | ||||
|                       :data="data" | ||||
|                       ref="table" | ||||
|                       sortable="custom" | ||||
|                       @on-sort-change="changeSort" | ||||
|                       @on-selection-change="changeSelect" | ||||
|                     > | ||||
| 
 | ||||
|                       <!-- 商品栏目格式化 --> | ||||
|                       <template slot="imageSlot" slot-scope="scope"> | ||||
|                         <div style=""> | ||||
|                           <img :src="scope.row.resource" style="height: 60px;margin-top: 1px;width: 90px"> | ||||
|                         </div> | ||||
|                       </template> | ||||
| 
 | ||||
|                     </Table> | ||||
|                   </Row> | ||||
|                   <Row type="flex" justify="end" class="page"> | ||||
|                     <Page | ||||
|                       :current="searchForm.pageNumber" | ||||
|                       :total="total" | ||||
|                       :page-size="searchForm.pageSize" | ||||
|                       @on-change="changePage" | ||||
|                       @on-page-size-change="changePageSize" | ||||
|                       :page-size-opts="[10, 20, 50]" | ||||
|                       size="small" | ||||
|                       show-total | ||||
|                       show-elevator | ||||
|                       show-sizer | ||||
|                     > | ||||
|                     </Page> | ||||
|                   </Row> | ||||
|                 </Col> | ||||
|               </Row> | ||||
|             </TabPane> | ||||
|             <TabPane label="滑块源" name="SLIDER"> | ||||
|               <Row> | ||||
|                 <Col> | ||||
|                   <Row class="operation" style="margin-bottom: 10px"> | ||||
|                     <Button @click="add" type="primary" icon="md-add">添加</Button> | ||||
|                   </Row> | ||||
|                   <Row> | ||||
|                     <Table | ||||
|                       :loading="loading" | ||||
|                       border | ||||
|                       :columns="columns" | ||||
|                       :data="data" | ||||
|                       ref="table" | ||||
|                       sortable="custom" | ||||
|                       @on-sort-change="changeSort" | ||||
|                       @on-selection-change="changeSelect" | ||||
|                     > | ||||
|                       <!-- 商品栏目格式化 --> | ||||
|                       <template slot="imageSlot" slot-scope="scope"> | ||||
|                         <div style=""> | ||||
|                           <img :src="scope.row.resource" style="height: 60px;margin-top: 1px;width: 60px"> | ||||
|                         </div> | ||||
|                       </template> | ||||
|                     </Table> | ||||
|                   </Row> | ||||
|                   <Row type="flex" justify="end" class="page"> | ||||
|                     <Page | ||||
|                       :current="searchForm.pageNumber" | ||||
|                       :total="total" | ||||
|                       :page-size="searchForm.pageSize" | ||||
|                       @on-change="changePage" | ||||
|                       @on-page-size-change="changePageSize" | ||||
|                       :page-size-opts="[10, 20, 50]" | ||||
|                       size="small" | ||||
|                       show-total | ||||
|                       show-elevator | ||||
|                       show-sizer | ||||
|                     ></Page> | ||||
|                   </Row> | ||||
|                 </Col> | ||||
|               </Row> | ||||
|             </TabPane> | ||||
|           </Tabs> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Tabs value="RESOURCE" @on-click="handleClickType"> | ||||
|         <TabPane label="图片源" name="RESOURCE"> | ||||
|           <Row class="operation" style="margin-bottom: 10px"> | ||||
|             <Button @click="add" type="primary">添加</Button> | ||||
|           </Row> | ||||
|           <Table | ||||
|             :loading="loading" | ||||
|             border | ||||
|             :columns="columns" | ||||
|             :data="data" | ||||
|             ref="table" | ||||
|             sortable="custom" | ||||
|             @on-sort-change="changeSort" | ||||
|             @on-selection-change="changeSelect" | ||||
|           > | ||||
|             <!-- 商品栏目格式化 --> | ||||
|             <template slot="imageSlot" slot-scope="scope"> | ||||
|               <div style=""> | ||||
|                 <img | ||||
|                   :src="scope.row.resource" | ||||
|                   style="height: 60px; margin-top: 1px; width: 90px" | ||||
|                 /> | ||||
|               </div> | ||||
|             </template> | ||||
|           </Table> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             > | ||||
|             </Page> | ||||
|           </Row> | ||||
|         </TabPane> | ||||
|         <TabPane label="滑块源" name="SLIDER"> | ||||
|           <Row class="operation" style="margin-bottom: 10px"> | ||||
|             <Button @click="add" type="primary" icon="md-add">添加</Button> | ||||
|           </Row> | ||||
|           <Table | ||||
|             :loading="loading" | ||||
|             border | ||||
|             :columns="columns" | ||||
|             :data="data" | ||||
|             ref="table" | ||||
|             sortable="custom" | ||||
|             @on-sort-change="changeSort" | ||||
|             @on-selection-change="changeSelect" | ||||
|           > | ||||
|             <!-- 商品栏目格式化 --> | ||||
|             <template slot="imageSlot" slot-scope="scope"> | ||||
|               <div style=""> | ||||
|                 <img | ||||
|                   :src="scope.row.resource" | ||||
|                   style="height: 60px; margin-top: 1px; width: 60px" | ||||
|                 /> | ||||
|               </div> | ||||
|             </template> | ||||
|           </Table> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </TabPane> | ||||
|       </Tabs> | ||||
|     </Card> | ||||
|     <Modal | ||||
|       :title="modalTitle" | ||||
|       v-model="modalVisible" | ||||
|  | @ -103,10 +91,15 @@ | |||
|     > | ||||
|       <Form ref="form" :model="form" :label-width="100" :rules="formValidate"> | ||||
|         <FormItem label="名称" prop="name"> | ||||
|           <Input v-model="form.name" maxlength="20" clearable style="width: 100%"/> | ||||
|           <Input | ||||
|             v-model="form.name" | ||||
|             maxlength="20" | ||||
|             clearable | ||||
|             style="width: 100%" | ||||
|           /> | ||||
|         </FormItem> | ||||
|         <FormItem label="图片" prop="resource"> | ||||
|           <Input v-model="form.resource" clearable style="width: 100%"/> | ||||
|           <Input v-model="form.resource" clearable style="width: 100%" /> | ||||
|         </FormItem> | ||||
|         <FormItem label="类型" prop="type"> | ||||
|           <radio-group v-model="form.type" type="button"> | ||||
|  | @ -118,9 +111,8 @@ | |||
|       <div slot="footer"> | ||||
|         <Button type="text" @click="modalVisible = false">取消</Button> | ||||
|         <Button type="primary" :loading="submitLoading" @click="handleSubmit" | ||||
|         >提交 | ||||
|         </Button | ||||
|         > | ||||
|           >提交 | ||||
|         </Button> | ||||
|       </div> | ||||
|     </Modal> | ||||
|   </div> | ||||
|  | @ -131,7 +123,7 @@ import * as API_Setting from "@/api/setting"; | |||
| export default { | ||||
|   data() { | ||||
|     return { | ||||
|       modalVisible: false,//添加验证码源弹出框 | ||||
|       modalVisible: false, //添加验证码源弹出框 | ||||
|       modalTitle: "", //添加验证码源弹出框标题 | ||||
|       loading: true, // 表单加载状态 | ||||
|       selectList: [], // 多选数据 | ||||
|  | @ -142,7 +134,7 @@ export default { | |||
|         name: "", | ||||
|         resource: "", | ||||
|         type: "RESOURCE", | ||||
|       },//添加编辑表单 | ||||
|       }, //添加编辑表单 | ||||
|       formValidate: { | ||||
|         name: [ | ||||
|           { | ||||
|  | @ -165,18 +157,19 @@ export default { | |||
|         pageSize: 10, // 页面大小 | ||||
|         sort: "createTime", // 默认排序字段 | ||||
|         order: "desc", // 默认排序方式 | ||||
|         type: "RESOURCE" | ||||
|         type: "RESOURCE", | ||||
|       }, | ||||
|       columns: [ | ||||
|         { | ||||
|           title: "名称", | ||||
|           key: "name", | ||||
|           minWidth: 80, | ||||
|         },{ | ||||
|         }, | ||||
|         { | ||||
|           title: "图片", | ||||
|           key: "resource", | ||||
|           width: 150, | ||||
|           slot: "imageSlot" | ||||
|           slot: "imageSlot", | ||||
|         }, | ||||
|         { | ||||
|           title: "创建人", | ||||
|  | @ -213,13 +206,13 @@ export default { | |||
|                     size: "small", | ||||
|                   }, | ||||
|                   style: { | ||||
|                     marginRight: "5px" | ||||
|                     marginRight: "5px", | ||||
|                   }, | ||||
|                   on: { | ||||
|                     click: () => { | ||||
|                       this.edit(params.row); | ||||
|                     } | ||||
|                   } | ||||
|                     }, | ||||
|                   }, | ||||
|                 }, | ||||
|                 "编辑" | ||||
|               ), | ||||
|  | @ -233,17 +226,17 @@ export default { | |||
|                   on: { | ||||
|                     click: () => { | ||||
|                       this.remove(params.row); | ||||
|                     } | ||||
|                   } | ||||
|                     }, | ||||
|                   }, | ||||
|                 }, | ||||
|                 "删除" | ||||
|               ) | ||||
|               ), | ||||
|             ]); | ||||
|           }, | ||||
|         }, | ||||
|       ], | ||||
|       data: [], // 表单数据 | ||||
|       total: 0,//条数 | ||||
|       total: 0, //条数 | ||||
|     }; | ||||
|   }, | ||||
| 
 | ||||
|  | @ -264,15 +257,15 @@ export default { | |||
|     }, | ||||
|     //切换tab | ||||
|     handleClickType(v) { | ||||
|       this.searchForm.pageNumber = 1 // 当前页数 | ||||
|       this.searchForm.pageSize = 10 // 页面大小 | ||||
|       this.searchForm.pageNumber = 1; // 当前页数 | ||||
|       this.searchForm.pageSize = 10; // 页面大小 | ||||
|       //图片源 | ||||
|       if (v == "RESOURCE") { | ||||
|         this.searchForm.type = "RESOURCE" | ||||
|         this.searchForm.type = "RESOURCE"; | ||||
|       } | ||||
|       //滑块源 | ||||
|       if (v == "SLIDER") { | ||||
|         this.searchForm.type = "SLIDER" | ||||
|         this.searchForm.type = "SLIDER"; | ||||
|       } | ||||
|       this.getDataList(); | ||||
|     }, | ||||
|  | @ -283,7 +276,7 @@ export default { | |||
|         this.loading = false; | ||||
|         if (res.success) { | ||||
|           this.data = res.result.records; | ||||
|           this.total = res.result.total | ||||
|           this.total = res.result.total; | ||||
|         } | ||||
|       }); | ||||
|       this.loading = false; | ||||
|  | @ -294,25 +287,25 @@ export default { | |||
|     }, | ||||
|     //添加验证码源 | ||||
|     add() { | ||||
|       this.form.type = this.searchForm.type | ||||
|       this.modalVisible = true | ||||
|       this.modalType = 0 | ||||
|       this.modalTitle = "添加验证码源" | ||||
|       this.form.type = this.searchForm.type; | ||||
|       this.modalVisible = true; | ||||
|       this.modalType = 0; | ||||
|       this.modalTitle = "添加验证码源"; | ||||
|     }, | ||||
|     //修改验证码源 | ||||
|     edit(v) { | ||||
|       this.form.name = v.name | ||||
|       this.form.id = v.id | ||||
|       this.form.resource = v.resource | ||||
|       this.form.type = v.type | ||||
|       this.form.name = v.name; | ||||
|       this.form.id = v.id; | ||||
|       this.form.resource = v.resource; | ||||
|       this.form.type = v.type; | ||||
| 
 | ||||
|       this.modalType = 1 | ||||
|       this.modalVisible = true | ||||
|       this.modalTitle = "修改验证码源" | ||||
|       this.modalType = 1; | ||||
|       this.modalVisible = true; | ||||
|       this.modalTitle = "修改验证码源"; | ||||
|     }, | ||||
|     //提交表单 | ||||
|     handleSubmit() { | ||||
|       this.form.type = this.searchForm.type | ||||
|       this.form.type = this.searchForm.type; | ||||
|       this.$refs.form.validate((valid) => { | ||||
|         if (valid) { | ||||
|           this.submitLoading = true; | ||||
|  | @ -329,14 +322,16 @@ export default { | |||
|             }); | ||||
|           } else { | ||||
|             // 编辑 | ||||
|             API_Setting.editVerification(this.form.id, this.form).then((res) => { | ||||
|               this.submitLoading = false; | ||||
|               if (res.success) { | ||||
|                 this.$Message.success("修改成功"); | ||||
|                 this.getDataList(); | ||||
|                 this.modalVisible = false; | ||||
|             API_Setting.editVerification(this.form.id, this.form).then( | ||||
|               (res) => { | ||||
|                 this.submitLoading = false; | ||||
|                 if (res.success) { | ||||
|                   this.$Message.success("修改成功"); | ||||
|                   this.getDataList(); | ||||
|                   this.modalVisible = false; | ||||
|                 } | ||||
|               } | ||||
|             }); | ||||
|             ); | ||||
|           } | ||||
|         } | ||||
|       }); | ||||
|  | @ -359,8 +354,7 @@ export default { | |||
|           }); | ||||
|         }, | ||||
|       }); | ||||
|     } | ||||
| 
 | ||||
|     }, | ||||
|   }, | ||||
|   mounted() { | ||||
|     this.getDataList(); | ||||
|  |  | |||
|  | @ -43,18 +43,16 @@ | |||
|         <Button @click="delAll">批量删除</Button> | ||||
|         <Button @click="resetPass">重置密码</Button> | ||||
|       </Row> | ||||
|       <Row> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           sortable="custom" | ||||
|           @on-sort-change="changeSort" | ||||
|           @on-selection-change="showSelect" | ||||
|           ref="table" | ||||
|         ></Table> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="showSelect" | ||||
|         ref="table" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|  |  | |||
|  | @ -18,14 +18,14 @@ export default { | |||
|    * @description api请求基础路径 | ||||
|    */ | ||||
|   api_dev: { | ||||
|     // common: 'https://common-api.pickmall.cn',
 | ||||
|     // buyer: 'https://buyer-api.pickmall.cn',
 | ||||
|     // seller: 'https://store-api.pickmall.cn',
 | ||||
|     // manager: 'https://admin-api.pickmall.cn'
 | ||||
|     common: 'http://192.168.0.103:8890', | ||||
|     buyer: 'http://192.168.0.103:8888', | ||||
|     seller: 'http://192.168.0.103:8889', | ||||
|     manager: 'http://192.168.0.103:8887' | ||||
|     common: 'https://common-api.pickmall.cn', | ||||
|     buyer: 'https://buyer-api.pickmall.cn', | ||||
|     seller: 'https://store-api.pickmall.cn', | ||||
|     manager: 'https://admin-api.pickmall.cn' | ||||
|     // common: 'http://192.168.0.103:8890',
 | ||||
|     // buyer: 'http://192.168.0.103:8888',
 | ||||
|     // seller: 'http://192.168.0.103:8889',
 | ||||
|     // manager: 'http://192.168.0.103:8887'
 | ||||
|   }, | ||||
|   api_prod: { | ||||
|     common: 'https://common-api.pickmall.cn', | ||||
|  |  | |||
|  | @ -1,56 +1,50 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|               <Form-item label="商品名称" prop="goodsName"> | ||||
|                 <Input type="text" v-model="searchForm.goodsName" placeholder="请输入商品名称" clearable style="width: 200px"/> | ||||
|               </Form-item> | ||||
|               <!-- <Form-item label="店铺名称"> | ||||
|                   <Select v-model="searchForm.shopId" placeholder="请选择" @on-query-change="searchChange" filterable clearable style="width: 200px"> | ||||
|                       <Option v-for="item in shopList" :value="item.id" :key="item.id">{{ item.storeName }}</Option> | ||||
|                   </Select> | ||||
|               </Form-item> --> | ||||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="operation padding-row"> | ||||
|             <Button @click="add" type="primary">添加</Button> | ||||
|           <!--  <Button @click="add" type="default">批量删除</Button>--> | ||||
|           </Row> | ||||
|           <Row> | ||||
|             <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"> | ||||
|               <!-- 商品栏目格式化 --> | ||||
|               <template slot="goodsSlot" slot-scope="{row}"> | ||||
|                 <div style="margin-top: 5px;height: 70px; display: flex;"> | ||||
|                   <div style=""> | ||||
|                     <img :src="row.thumbnail" style="height: 60px;margin-top: 3px;width: 60px"> | ||||
|                   </div> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="商品名称" prop="goodsName"> | ||||
|             <Input type="text" v-model="searchForm.goodsName" placeholder="请输入商品名称" clearable style="width: 200px"/> | ||||
|           </Form-item> | ||||
|           <!-- <Form-item label="店铺名称"> | ||||
|               <Select v-model="searchForm.shopId" placeholder="请选择" @on-query-change="searchChange" filterable clearable style="width: 200px"> | ||||
|                   <Option v-for="item in shopList" :value="item.id" :key="item.id">{{ item.storeName }}</Option> | ||||
|               </Select> | ||||
|           </Form-item> --> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Row class="operation padding-row"> | ||||
|         <Button @click="add" type="primary">添加</Button> | ||||
|       <!--  <Button @click="add" type="default">批量删除</Button>--> | ||||
|       </Row> | ||||
|       <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"> | ||||
|         <!-- 商品栏目格式化 --> | ||||
|         <template slot="goodsSlot" slot-scope="{row}"> | ||||
|           <div style="margin-top: 5px;height: 70px; display: flex;"> | ||||
|             <div style=""> | ||||
|               <img :src="row.thumbnail" style="height: 60px;margin-top: 3px;width: 60px"> | ||||
|             </div> | ||||
| 
 | ||||
|                   <div style="margin-left: 13px;"> | ||||
|                     <div class="div-zoom"> | ||||
|                       <a @click="linkTo(row.id,row.skuId)">{{row.goodsName}}</a> | ||||
|                     </div> | ||||
|                     <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|                       <div slot="content"> | ||||
|                         <vue-qr :text="wapLinkTo(row.id,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|                       </div> | ||||
|                       <img src="../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt=""> | ||||
|                     </Poptip> | ||||
|                   </div> | ||||
|             <div style="margin-left: 13px;"> | ||||
|               <div class="div-zoom"> | ||||
|                 <a @click="linkTo(row.id,row.skuId)">{{row.goodsName}}</a> | ||||
|               </div> | ||||
|               <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|                 <div slot="content"> | ||||
|                   <vue-qr :text="wapLinkTo(row.id,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|                 </div> | ||||
|                 <img src="../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt=""> | ||||
|               </Poptip> | ||||
|             </div> | ||||
|           </div> | ||||
| 
 | ||||
|               </template> | ||||
|             </Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" size="small" show-total show-elevator show-sizer></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" size="small" show-total show-elevator show-sizer></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|     <liliDialog | ||||
|       ref="liliDialog" | ||||
|       @selectedGoodsData="selectedGoodsData" | ||||
|  |  | |||
|  | @ -1,30 +1,24 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|       <Card> | ||||
|         <Row v-show="openSearch" @keydown.enter.native="handleSearch"> | ||||
|           <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|             <Form-item label="订单编号" prop="orderSn"> | ||||
|               <Input type="text" v-model="searchForm.orderSn" placeholder="请输入订单编号" clearable style="width: 200px" /> | ||||
|             </Form-item> | ||||
|             <Form-item label="订单时间"> | ||||
|               <DatePicker type="daterange" v-model="timeRange" format="yyyy-MM-dd" placeholder="选择时间" style="width: 210px"></DatePicker> | ||||
|             </Form-item> | ||||
|             <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|           </Form> | ||||
|         </Row> | ||||
|     <Card> | ||||
|       <Row v-show="openSearch" @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="订单编号" prop="orderSn"> | ||||
|             <Input type="text" v-model="searchForm.orderSn" placeholder="请输入订单编号" clearable style="width: 200px" /> | ||||
|           </Form-item> | ||||
|           <Form-item label="订单时间"> | ||||
|             <DatePicker type="daterange" v-model="timeRange" format="yyyy-MM-dd" placeholder="选择时间" style="width: 210px"></DatePicker> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
| 
 | ||||
|         <Row class="padding-row"> | ||||
|           <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom"></Table> | ||||
|         </Row> | ||||
|         <Row type="flex" justify="end" class="page"> | ||||
|           <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" size="small" | ||||
|             show-total show-elevator show-sizer></Page> | ||||
|         </Row> | ||||
|       </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|       <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom"></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page :current="searchForm.pageNumber" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10,20,50]" size="small" | ||||
|           show-total show-elevator show-sizer></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
| 
 | ||||
|   </div> | ||||
| </template> | ||||
|  |  | |||
|  | @ -1,88 +1,82 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row v-show="openSearch" @keydown.enter.native="handleSearch"> | ||||
|             <Form | ||||
|               ref="searchForm" | ||||
|               :model="searchForm" | ||||
|               inline | ||||
|               :label-width="70" | ||||
|               class="search-form" | ||||
|     <Card> | ||||
|       <Row v-show="openSearch" @keydown.enter.native="handleSearch"> | ||||
|         <Form | ||||
|           ref="searchForm" | ||||
|           :model="searchForm" | ||||
|           inline | ||||
|           :label-width="70" | ||||
|           class="search-form" | ||||
|         > | ||||
|           <Form-item label="商品名称" prop="goodsName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.goodsName" | ||||
|               placeholder="请输入商品名称" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <span v-if="drop"> | ||||
|             <Form-item label="状态" prop="status"> | ||||
|               <Select | ||||
|                 v-model="searchForm.marketEnable" | ||||
|                 placeholder="请选择" | ||||
|                 clearable | ||||
|                 style="width: 200px" | ||||
|               > | ||||
|                 <Option value="DOWN">下架</Option> | ||||
|                 <Option value="UPPER">上架</Option> | ||||
|               </Select> | ||||
|             </Form-item> | ||||
|             <Form-item label="商品编号" prop="sn"> | ||||
|               <Input | ||||
|                 type="text" | ||||
|                 v-model="searchForm.sn" | ||||
|                 placeholder="商品编号" | ||||
|                 clearable | ||||
|                 style="width: 200px" | ||||
|               /> | ||||
|             </Form-item> | ||||
|           </span> | ||||
|           <Form-item style="margin-left: -35px" class="br"> | ||||
|             <Button @click="handleSearch" type="primary" icon="ios-search" | ||||
|               >搜索</Button | ||||
|             > | ||||
|               <Form-item label="商品名称" prop="goodsName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.goodsName" | ||||
|                   placeholder="请输入商品名称" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <span v-if="drop"> | ||||
|                 <Form-item label="状态" prop="status"> | ||||
|                   <Select | ||||
|                     v-model="searchForm.marketEnable" | ||||
|                     placeholder="请选择" | ||||
|                     clearable | ||||
|                     style="width: 200px" | ||||
|                   > | ||||
|                     <Option value="DOWN">下架</Option> | ||||
|                     <Option value="UPPER">上架</Option> | ||||
|                   </Select> | ||||
|                 </Form-item> | ||||
|                 <Form-item label="商品编号" prop="sn"> | ||||
|                   <Input | ||||
|                     type="text" | ||||
|                     v-model="searchForm.sn" | ||||
|                     placeholder="商品编号" | ||||
|                     clearable | ||||
|                     style="width: 200px" | ||||
|                   /> | ||||
|                 </Form-item> | ||||
|               </span> | ||||
|               <Form-item style="margin-left: -35px" class="br"> | ||||
|                 <Button @click="handleSearch" type="primary" icon="ios-search" | ||||
|                   >搜索</Button | ||||
|                 > | ||||
|                 <Button @click="handleReset">重置</Button> | ||||
|                 <a class="drop-down" @click="dropDown"> | ||||
|                   {{ dropDownContent }} | ||||
|                   <Icon :type="dropDownIcon"></Icon> | ||||
|                 </a> | ||||
|               </Form-item> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             ></Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|             <Button @click="handleReset">重置</Button> | ||||
|             <a class="drop-down" @click="dropDown"> | ||||
|               {{ dropDownContent }} | ||||
|               <Icon :type="dropDownIcon"></Icon> | ||||
|             </a> | ||||
|           </Form-item> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|     <Modal | ||||
|       :title="modalTitle" | ||||
|       v-model="modalVisible" | ||||
|  |  | |||
|  | @ -1,6 +1,5 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
| 
 | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|  |  | |||
|  | @ -68,18 +68,16 @@ | |||
|               <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|             </Alert> | ||||
|           </Row> | ||||
|           <Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             ></Table> | ||||
|           </Row> | ||||
|           <Table | ||||
|             :loading="loading" | ||||
|             border | ||||
|             :columns="columns" | ||||
|             :data="data" | ||||
|             ref="table" | ||||
|             sortable="custom" | ||||
|             @on-sort-change="changeSort" | ||||
|             @on-selection-change="changeSelect" | ||||
|           ></Table> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|  |  | |||
|  | @ -1,51 +1,45 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> </Row> | ||||
|           <Row class="operation"> | ||||
|             <Button @click="add" type="primary" icon="md-add">添加</Button> | ||||
|             <Button @click="getDataList" icon="md-refresh">刷新</Button> | ||||
|             <Button type="dashed" @click="openTip = !openTip">{{ | ||||
|               openTip ? "关闭提示" : "开启提示" | ||||
|             }}</Button> | ||||
|           </Row> | ||||
|           <Row v-show="openTip"> | ||||
|             <Alert show-icon> | ||||
|               已选择 <span class="select-count">{{ selectCount }}</span> 项 | ||||
|               <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|             </Alert> | ||||
|           </Row> | ||||
|           <Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             ></Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> </Row> | ||||
|       <Row class="operation"> | ||||
|         <Button @click="add" type="primary" icon="md-add">添加</Button> | ||||
|         <Button @click="getDataList" icon="md-refresh">刷新</Button> | ||||
|         <Button type="dashed" @click="openTip = !openTip">{{ | ||||
|           openTip ? "关闭提示" : "开启提示" | ||||
|         }}</Button> | ||||
|       </Row> | ||||
|       <Row v-show="openTip"> | ||||
|         <Alert show-icon> | ||||
|           已选择 <span class="select-count">{{ selectCount }}</span> 项 | ||||
|           <a class="select-clear" @click="clearSelectAll">清空</a> | ||||
|         </Alert> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|     <Modal | ||||
|       :title="modalTitle" | ||||
|       v-model="modalVisible" | ||||
|  |  | |||
|  | @ -1,79 +1,73 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|               <Form-item label="会员名称" prop="memberName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.memberName" | ||||
|                   clearable | ||||
|                   placeholder="请输入会员名称" | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="商品名称" prop="goodsName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.goodsName" | ||||
|                   clearable | ||||
|                   placeholder="请输入商品名" | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="评价" prop="orderStatus"> | ||||
|                 <Select v-model="searchForm.grade" placeholder="请选择" clearable style="width: 200px"> | ||||
|                   <Option value="GOOD">好评</Option> | ||||
|                   <Option value="MODERATE">中评</Option> | ||||
|                   <Option value="WORSE">差评</Option> | ||||
|                 </Select> | ||||
|               </Form-item> | ||||
|               <Form-item label="评论日期"> | ||||
|                 <DatePicker | ||||
|                   v-model="selectDate" | ||||
|                   type="datetimerange" | ||||
|                   format="yyyy-MM-dd HH:mm:ss" | ||||
|                   clearable | ||||
|                   @on-change="selectDateRange" | ||||
|                   placeholder="选择起始时间" | ||||
|                   style="width: 200px" | ||||
|                 ></DatePicker> | ||||
|               </Form-item> | ||||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|               <Button @click="handleReset" class="search-btn">重置</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             ></Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="会员名称" prop="memberName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.memberName" | ||||
|               clearable | ||||
|               placeholder="请输入会员名称" | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="商品名称" prop="goodsName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.goodsName" | ||||
|               clearable | ||||
|               placeholder="请输入商品名" | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="评价" prop="orderStatus"> | ||||
|             <Select v-model="searchForm.grade" placeholder="请选择" clearable style="width: 200px"> | ||||
|               <Option value="GOOD">好评</Option> | ||||
|               <Option value="MODERATE">中评</Option> | ||||
|               <Option value="WORSE">差评</Option> | ||||
|             </Select> | ||||
|           </Form-item> | ||||
|           <Form-item label="评论日期"> | ||||
|             <DatePicker | ||||
|               v-model="selectDate" | ||||
|               type="datetimerange" | ||||
|               format="yyyy-MM-dd HH:mm:ss" | ||||
|               clearable | ||||
|               @on-change="selectDateRange" | ||||
|               placeholder="选择起始时间" | ||||
|               style="width: 200px" | ||||
|             ></DatePicker> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|           <Button @click="handleReset" class="search-btn">重置</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|     <Modal | ||||
|       :title="modalTitle" | ||||
|       v-model="modalVisible" | ||||
|  |  | |||
|  | @ -1,82 +1,76 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|               <Form-item label="会员名称" prop="memberName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.memberName" | ||||
|                   clearable | ||||
|                   placeholder="请输入会员名称" | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="订单号" prop="orderSn"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.orderSn" | ||||
|                   clearable | ||||
|                   placeholder="请输入商品名" | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="状态" prop="status"> | ||||
|                 <Select v-model="searchForm.status" placeholder="请选择" clearable style="width: 200px"> | ||||
|                   <Option value="NEW">新投诉</Option> | ||||
|                   <Option value="CANCEL">已撤销</Option> | ||||
|                   <Option value="WAIT_APPEAL">待申诉</Option> | ||||
|                   <Option value="COMMUNICATION">对话中</Option> | ||||
|                   <Option value="WAIT_ARBITRATION">等待仲裁</Option> | ||||
|                   <Option value="COMPLETE">已完成</Option> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="会员名称" prop="memberName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.memberName" | ||||
|               clearable | ||||
|               placeholder="请输入会员名称" | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="订单号" prop="orderSn"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.orderSn" | ||||
|               clearable | ||||
|               placeholder="请输入商品名" | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="状态" prop="status"> | ||||
|             <Select v-model="searchForm.status" placeholder="请选择" clearable style="width: 200px"> | ||||
|               <Option value="NEW">新投诉</Option> | ||||
|               <Option value="CANCEL">已撤销</Option> | ||||
|               <Option value="WAIT_APPEAL">待申诉</Option> | ||||
|               <Option value="COMMUNICATION">对话中</Option> | ||||
|               <Option value="WAIT_ARBITRATION">等待仲裁</Option> | ||||
|               <Option value="COMPLETE">已完成</Option> | ||||
| 
 | ||||
|                 </Select> | ||||
|               </Form-item> | ||||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|               <Button @click="handleReset" class="search-btn">重置</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             > | ||||
|               <template slot-scope="{row}" slot="goodsName"> | ||||
|                 <a class="mr_10" @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a> | ||||
|                 <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|                   <div slot="content"> | ||||
|                     <vue-qr :text="wapLinkTo(row.goodsId,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|                   </div> | ||||
|                   <img src="../../../assets/qrcode.svg" style="vertical-align:bottom;" class="hover-pointer" width="20" height="20" alt=""> | ||||
|                 </Poptip> | ||||
|               </template> | ||||
|             </Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|             </Select> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|           <Button @click="handleReset" class="search-btn">重置</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       > | ||||
|         <template slot-scope="{row}" slot="goodsName"> | ||||
|           <a class="mr_10" @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a> | ||||
|           <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|             <div slot="content"> | ||||
|               <vue-qr :text="wapLinkTo(row.goodsId,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|             </div> | ||||
|             <img src="../../../assets/qrcode.svg" style="vertical-align:bottom;" class="hover-pointer" width="20" height="20" alt=""> | ||||
|           </Poptip> | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|     <Modal | ||||
|       :title="modalTitle" | ||||
|       v-model="modalVisible" | ||||
|  |  | |||
|  | @ -1,105 +1,99 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|               <Form-item label="商品" prop="goodsName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.goodsName" | ||||
|                   clearable | ||||
|                   placeholder="请输入商品名称" | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="会员名称" prop="memberName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.memberName" | ||||
|                   clearable | ||||
|                   placeholder="请输入会员名称" | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="订单编号" prop="orderSn"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.orderSn" | ||||
|                   clearable | ||||
|                   placeholder="请输入订单编号" | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="商品" prop="goodsName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.goodsName" | ||||
|               clearable | ||||
|               placeholder="请输入商品名称" | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="会员名称" prop="memberName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.memberName" | ||||
|               clearable | ||||
|               placeholder="请输入会员名称" | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="订单编号" prop="orderSn"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.orderSn" | ||||
|               clearable | ||||
|               placeholder="请输入订单编号" | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
| 
 | ||||
|               <Form-item label="申请时间"> | ||||
|                 <DatePicker | ||||
|                   v-model="selectDate" | ||||
|                   type="datetimerange" | ||||
|                   format="yyyy-MM-dd HH:mm:ss" | ||||
|                   clearable | ||||
|                   @on-change="selectDateRange" | ||||
|                   placeholder="选择起始时间" | ||||
|                   style="width: 200px" | ||||
|                 ></DatePicker> | ||||
|               </Form-item> | ||||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|               <Button @click="handleReset" class="search-btn">重置</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             > | ||||
|           <Form-item label="申请时间"> | ||||
|             <DatePicker | ||||
|               v-model="selectDate" | ||||
|               type="datetimerange" | ||||
|               format="yyyy-MM-dd HH:mm:ss" | ||||
|               clearable | ||||
|               @on-change="selectDateRange" | ||||
|               placeholder="选择起始时间" | ||||
|               style="width: 200px" | ||||
|             ></DatePicker> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|           <Button @click="handleReset" class="search-btn">重置</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       > | ||||
| 
 | ||||
|               <!-- 商品栏目格式化 --> | ||||
|               <template slot="goodsSlot" slot-scope="{row}"> | ||||
|                 <div style="margin-top: 5px;height: 90px; display: flex;"> | ||||
|                   <div style=""> | ||||
|                     <img :src="row.goodsImage" style="height: 80px;margin-top: 3px"> | ||||
|                   </div> | ||||
|         <!-- 商品栏目格式化 --> | ||||
|         <template slot="goodsSlot" slot-scope="{row}"> | ||||
|           <div style="margin-top: 5px;height: 90px; display: flex;"> | ||||
|             <div style=""> | ||||
|               <img :src="row.goodsImage" style="height: 80px;margin-top: 3px"> | ||||
|             </div> | ||||
| 
 | ||||
|                   <div style="margin-left: 13px;"> | ||||
|                     <div class="div-zoom"> | ||||
|                       <a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a> | ||||
|                     </div> | ||||
|                     <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|                       <div slot="content"> | ||||
|                         <vue-qr :text="wapLinkTo(row.goodsId,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|                       </div> | ||||
|                       <img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt=""> | ||||
|                     </Poptip> | ||||
|                   </div> | ||||
|             <div style="margin-left: 13px;"> | ||||
|               <div class="div-zoom"> | ||||
|                 <a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a> | ||||
|               </div> | ||||
|               <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|                 <div slot="content"> | ||||
|                   <vue-qr :text="wapLinkTo(row.goodsId,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|                 </div> | ||||
|                 <img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt=""> | ||||
|               </Poptip> | ||||
|             </div> | ||||
|           </div> | ||||
| 
 | ||||
|               </template> | ||||
|             </Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,105 +1,99 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|               <Form-item label="商品" prop="goodsName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.goodsName" | ||||
|                   clearable | ||||
|                   placeholder="请输入商品名称" | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="会员名称" prop="memberName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.memberName" | ||||
|                   clearable | ||||
|                   placeholder="请输入会员名称" | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="订单编号" prop="orderSn"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.orderSn" | ||||
|                   clearable | ||||
|                   placeholder="请输入订单编号" | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="商品" prop="goodsName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.goodsName" | ||||
|               clearable | ||||
|               placeholder="请输入商品名称" | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="会员名称" prop="memberName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.memberName" | ||||
|               clearable | ||||
|               placeholder="请输入会员名称" | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="订单编号" prop="orderSn"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.orderSn" | ||||
|               clearable | ||||
|               placeholder="请输入订单编号" | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
| 
 | ||||
|               <Form-item label="申请时间"> | ||||
|                 <DatePicker | ||||
|                   v-model="selectDate" | ||||
|                   type="datetimerange" | ||||
|                   format="yyyy-MM-dd HH:mm:ss" | ||||
|                   clearable | ||||
|                   @on-change="selectDateRange" | ||||
|                   placeholder="选择起始时间" | ||||
|                   style="width: 200px" | ||||
|                 ></DatePicker> | ||||
|               </Form-item> | ||||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|               <Button @click="handleReset" class="search-btn">重置</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             > | ||||
|           <Form-item label="申请时间"> | ||||
|             <DatePicker | ||||
|               v-model="selectDate" | ||||
|               type="datetimerange" | ||||
|               format="yyyy-MM-dd HH:mm:ss" | ||||
|               clearable | ||||
|               @on-change="selectDateRange" | ||||
|               placeholder="选择起始时间" | ||||
|               style="width: 200px" | ||||
|             ></DatePicker> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|           <Button @click="handleReset" class="search-btn">重置</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       > | ||||
| 
 | ||||
|               <!-- 商品栏目格式化 --> | ||||
|               <template slot="goodsSlot" slot-scope="{row}"> | ||||
|                 <div style="margin-top: 5px;height: 90px; display: flex;"> | ||||
|                   <div style=""> | ||||
|                     <img :src="row.goodsImage" style="height: 80px;margin-top: 3px"> | ||||
|                   </div> | ||||
|         <!-- 商品栏目格式化 --> | ||||
|         <template slot="goodsSlot" slot-scope="{row}"> | ||||
|           <div style="margin-top: 5px;height: 90px; display: flex;"> | ||||
|             <div style=""> | ||||
|               <img :src="row.goodsImage" style="height: 80px;margin-top: 3px"> | ||||
|             </div> | ||||
| 
 | ||||
|                   <div style="margin-left: 13px;"> | ||||
|                     <div class="div-zoom"> | ||||
|                       <a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a> | ||||
|                     </div> | ||||
|                     <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|                       <div slot="content"> | ||||
|                         <vue-qr :text="wapLinkTo(row.goodsId,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|                       </div> | ||||
|                       <img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt=""> | ||||
|                     </Poptip> | ||||
|                   </div> | ||||
|             <div style="margin-left: 13px;"> | ||||
|               <div class="div-zoom"> | ||||
|                 <a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a> | ||||
|               </div> | ||||
|               <Poptip trigger="hover" title="扫码在手机中查看" transfer> | ||||
|                 <div slot="content"> | ||||
|                   <vue-qr :text="wapLinkTo(row.goodsId,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|                 </div> | ||||
|                 <img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt=""> | ||||
|               </Poptip> | ||||
|             </div> | ||||
|           </div> | ||||
| 
 | ||||
|               </template> | ||||
|             </Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,179 +1,173 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col style="width:100%;"> | ||||
|       <Row style="flex-direction: column;width: 100%;"> | ||||
|         <Card style="height: 60px"> | ||||
|           <div style=""> | ||||
|             <Button v-if="allowOperation.editPrice" @click="modifyPrice" type="primary">调整价格</Button> | ||||
|             <Button v-if="allowOperation.editConsignee" @click="editAddress" type="primary">修改收货地址 | ||||
|             </Button> | ||||
|             <Button v-if="allowOperation.showLogistics" @click="logistics" type="primary">查看物流</Button> | ||||
|             <Button @click="orderLog" type="primary">订单日志</Button> | ||||
|             <Button v-if="allowOperation.take" @click="orderTake" type="primary">订单核销</Button> | ||||
|             <Button v-if="allowOperation.ship" @click="orderDeliver" type="primary">发货</Button> | ||||
|           </div> | ||||
|         </Card> | ||||
|     <Card style="height: 60px"> | ||||
|       <div style=""> | ||||
|         <Button v-if="allowOperation.editPrice" @click="modifyPrice" type="primary">调整价格</Button> | ||||
|         <Button v-if="allowOperation.editConsignee" @click="editAddress" type="primary">修改收货地址 | ||||
|         </Button> | ||||
|         <Button v-if="allowOperation.showLogistics" @click="logistics" type="primary">查看物流</Button> | ||||
|         <Button @click="orderLog" type="primary">订单日志</Button> | ||||
|         <Button v-if="allowOperation.take" @click="orderTake" type="primary">订单核销</Button> | ||||
|         <Button v-if="allowOperation.ship" @click="orderDeliver" type="primary">发货</Button> | ||||
|       </div> | ||||
|     </Card> | ||||
| 
 | ||||
|           <Card style="height: 400px"> | ||||
|             <div style="width: 30%; float: left; margin-left: 20px"> | ||||
|               <div class="div-item"> | ||||
|                 <div class="div-item-left">订单号:</div> | ||||
|                 <div class="div-item-right">{{ orderInfo.order.sn }}</div> | ||||
|               </div> | ||||
|               <div class="div-item"> | ||||
|                 <div class="div-item-left">订单来源:</div> | ||||
|                 <div class="div-item-right"> | ||||
|                   {{ orderInfo.order.clientType }} | ||||
|                 </div> | ||||
|               </div> | ||||
|             </div> | ||||
| 
 | ||||
|             <div class="div-item"> | ||||
|               <div class="div-item-left">订单状态:</div> | ||||
|               <div class="div-item-right"> | ||||
|                 {{ orderInfo.orderStatusValue }} | ||||
|               </div> | ||||
|             </div> | ||||
| 
 | ||||
|             <div class="div-item"> | ||||
|               <div class="div-item-left">下单时间:</div> | ||||
|               <div class="div-item-right"> | ||||
|                 {{ orderInfo.order.createTime }} | ||||
|               </div> | ||||
|             </div> | ||||
| 
 | ||||
| 
 | ||||
|             <div style="width: 30%; float: left; margin-left: 20px"> | ||||
|               <div class="div-item" v-if="orderInfo.order.needReceipt == false"> | ||||
|                 <div class="div-item-left">发票信息:</div> | ||||
|                 <div class="div-item-right">暂无发票信息</div> | ||||
|               </div> | ||||
| 
 | ||||
|             <div class="div-item" v-if="orderInfo.order.needReceipt == true"> | ||||
|               <div class="div-item-left">发票抬头:</div> | ||||
|               <div class="div-item-right">{{ orderInfo.receipt.receiptTitle ? orderInfo.receipt.receiptTitle : '暂无' }}</div> | ||||
|             </div> | ||||
| 
 | ||||
|             <div class="div-item" v-if="orderInfo.order.needReceipt == true && orderInfo.receipt.taxpayerId"> | ||||
|               <div class="div-item-left">发票税号:</div> | ||||
|               <div class="div-item-right">{{ orderInfo.receipt.taxpayerId ? orderInfo.receipt.taxpayerId : '暂无' }}</div> | ||||
|             </div> | ||||
| 
 | ||||
|             <div class="div-item" v-if="orderInfo.order.needReceipt == true"> | ||||
|               <div class="div-item-left">发票内容:</div> | ||||
|               <div class="div-item-right">{{ orderInfo.receipt.receiptContent ? orderInfo.receipt.receiptContent : '暂无' }}</div> | ||||
|             </div> | ||||
| 
 | ||||
|             <div class="div-item" v-if="orderInfo.order.needReceipt == true"> | ||||
|               <div class="div-item-left">发票金额:</div> | ||||
|               <div class="div-item-right">{{ orderInfo.receipt.receiptPrice ? orderInfo.receipt.receiptPrice : '暂无' | unitPrice('¥')}}</div> | ||||
|             </div> | ||||
| 
 | ||||
|               <div class="div-item" v-if="orderInfo.order.needReceipt == true"> | ||||
|                 <div class="div-item-left">是否开票:</div> | ||||
|                 <div class="div-item-right">{{ orderInfo.receipt.receiptStatus == 0 ? '未开' : '已开' }}</div> | ||||
|               </div> | ||||
|             </div> | ||||
|             <div style="width: 36%; float: left"> | ||||
|               <div class="div-item"> | ||||
|                 <div class="div-item-left">收货信息:</div> | ||||
|                 <div class="div-item-right"> | ||||
|                   {{ orderInfo.order.consigneeName }} | ||||
|                   {{ orderInfo.order.consigneeMobile }} | ||||
|                   {{ orderInfo.order.consigneeAddressPath }} | ||||
|                   {{ orderInfo.order.consigneeDetail }} | ||||
|                 </div> | ||||
|               </div> | ||||
|               <div class="div-item"> | ||||
|                 <div class="div-item-left">支付方式:</div> | ||||
|                 <div class="div-item-right"> | ||||
|                   {{ orderInfo.paymentMethodValue }} | ||||
|                 </div> | ||||
|               </div> | ||||
| 
 | ||||
|               <div class="div-item"> | ||||
|                 <div class="div-item-left">买家留言:</div> | ||||
|                 <div class="div-item-right">{{ orderInfo.order.remark }}</div> | ||||
|               </div> | ||||
| 
 | ||||
|             <div class="div-item"> | ||||
|               <div class="div-item-left">配送方式:</div> | ||||
|               <div class="div-item-right"> | ||||
|                 {{ | ||||
|                     orderInfo.deliveryMethodValue | ||||
|                       ? orderInfo.deliveryMethodValue | ||||
|                       : "暂无配送方式" | ||||
|                   }} | ||||
|               </div> | ||||
|             </div> | ||||
|           </div> | ||||
|         </Card> | ||||
|       </Row> | ||||
|       </Col> | ||||
| 
 | ||||
|       <Card> | ||||
|         <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom"> | ||||
|           <!-- 商品栏目格式化 --> | ||||
|           <template slot="goodsSlot" slot-scope="{row}"> | ||||
|             <div style="margin-top: 5px; height: 80px; display: flex"> | ||||
|               <div style=""> | ||||
|                 <img :src="row.image" style="height: 60px; margin-top: 1px; width: 60px" /> | ||||
|               </div> | ||||
| 
 | ||||
|               <div style="margin-left: 13px"> | ||||
|                 <div class="div-zoom"> | ||||
|                   <a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a> | ||||
|                 </div> | ||||
|                 <span v-for="(item, key) in JSON.parse(row.specs)"> | ||||
|                   <span v-show="key!='images'" style="font-size: 12px;color: #999999;"> | ||||
|                     {{key}} : {{item}} | ||||
|                   </span> | ||||
|                 </span> | ||||
|                 <Poptip trigger="hover" style="display: block;" title="扫码在手机中查看" transfer> | ||||
|                   <div slot="content"> | ||||
|                     <vue-qr :text="wapLinkTo(row.goodsId,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|                   </div> | ||||
|                   <img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt=""> | ||||
|                 </Poptip> | ||||
|               </div> | ||||
|             </div> | ||||
|           </template> | ||||
|         </Table> | ||||
|         <div class="goods-total"> | ||||
|           <ul> | ||||
|             <li> | ||||
|               <span class="label">商品总额:</span> | ||||
|               <span class="txt">{{ orderInfo.order.priceDetailDTO.goodsPrice | unitPrice('¥')}}</span> | ||||
|             </li> | ||||
|             <li> | ||||
|               <span class="label">优惠金额:</span> | ||||
|               <span class="txt"> | ||||
|                 {{ | ||||
|                   orderInfo.order.priceDetailDTO.couponPrice + | ||||
|                   orderInfo.order.priceDetailDTO.discountPrice | ||||
|                 | unitPrice('¥')}} | ||||
|               </span> | ||||
|             </li> | ||||
|             <li> | ||||
|               <span class="label">运费:</span> | ||||
|               <span class="txt">{{ orderInfo.order.freightPrice | unitPrice('¥')}}</span> | ||||
|             </li> | ||||
|             <li v-if="orderInfo.order.priceDetailDTO.payPoint != 0"> | ||||
|               <span class="label">使用积分:</span> | ||||
|               <span class="txt">{{ | ||||
|                 orderInfo.order.priceDetailDTO.payPoint | ||||
|               }}</span> | ||||
|             </li> | ||||
| 
 | ||||
|             <li> | ||||
|               <span class="label">应付金额:</span> | ||||
|               <span class="txt flowPrice">¥{{ orderInfo.order.flowPrice | unitPrice }}</span> | ||||
|             </li> | ||||
|           </ul> | ||||
|     <Card style="height: 400px"> | ||||
|       <div style="width: 30%; float: left; margin-left: 20px"> | ||||
|         <div class="div-item"> | ||||
|           <div class="div-item-left">订单号:</div> | ||||
|           <div class="div-item-right">{{ orderInfo.order.sn }}</div> | ||||
|         </div> | ||||
|       </Card> | ||||
|     </Row> | ||||
|         <div class="div-item"> | ||||
|           <div class="div-item-left">订单来源:</div> | ||||
|           <div class="div-item-right"> | ||||
|             {{ orderInfo.order.clientType }} | ||||
|           </div> | ||||
|         </div> | ||||
|       </div> | ||||
| 
 | ||||
|       <div class="div-item"> | ||||
|         <div class="div-item-left">订单状态:</div> | ||||
|         <div class="div-item-right"> | ||||
|           {{ orderInfo.orderStatusValue }} | ||||
|         </div> | ||||
|       </div> | ||||
| 
 | ||||
|       <div class="div-item"> | ||||
|         <div class="div-item-left">下单时间:</div> | ||||
|         <div class="div-item-right"> | ||||
|           {{ orderInfo.order.createTime }} | ||||
|         </div> | ||||
|       </div> | ||||
| 
 | ||||
| 
 | ||||
|       <div style="width: 30%; float: left; margin-left: 20px"> | ||||
|         <div class="div-item" v-if="orderInfo.order.needReceipt == false"> | ||||
|           <div class="div-item-left">发票信息:</div> | ||||
|           <div class="div-item-right">暂无发票信息</div> | ||||
|         </div> | ||||
| 
 | ||||
|       <div class="div-item" v-if="orderInfo.order.needReceipt == true"> | ||||
|         <div class="div-item-left">发票抬头:</div> | ||||
|         <div class="div-item-right">{{ orderInfo.receipt.receiptTitle ? orderInfo.receipt.receiptTitle : '暂无' }}</div> | ||||
|       </div> | ||||
| 
 | ||||
|       <div class="div-item" v-if="orderInfo.order.needReceipt == true && orderInfo.receipt.taxpayerId"> | ||||
|         <div class="div-item-left">发票税号:</div> | ||||
|         <div class="div-item-right">{{ orderInfo.receipt.taxpayerId ? orderInfo.receipt.taxpayerId : '暂无' }}</div> | ||||
|       </div> | ||||
| 
 | ||||
|       <div class="div-item" v-if="orderInfo.order.needReceipt == true"> | ||||
|         <div class="div-item-left">发票内容:</div> | ||||
|         <div class="div-item-right">{{ orderInfo.receipt.receiptContent ? orderInfo.receipt.receiptContent : '暂无' }}</div> | ||||
|       </div> | ||||
| 
 | ||||
|       <div class="div-item" v-if="orderInfo.order.needReceipt == true"> | ||||
|         <div class="div-item-left">发票金额:</div> | ||||
|         <div class="div-item-right">{{ orderInfo.receipt.receiptPrice ? orderInfo.receipt.receiptPrice : '暂无' | unitPrice('¥')}}</div> | ||||
|       </div> | ||||
| 
 | ||||
|         <div class="div-item" v-if="orderInfo.order.needReceipt == true"> | ||||
|           <div class="div-item-left">是否开票:</div> | ||||
|           <div class="div-item-right">{{ orderInfo.receipt.receiptStatus == 0 ? '未开' : '已开' }}</div> | ||||
|         </div> | ||||
|       </div> | ||||
|       <div style="width: 36%; float: left"> | ||||
|         <div class="div-item"> | ||||
|           <div class="div-item-left">收货信息:</div> | ||||
|           <div class="div-item-right"> | ||||
|             {{ orderInfo.order.consigneeName }} | ||||
|             {{ orderInfo.order.consigneeMobile }} | ||||
|             {{ orderInfo.order.consigneeAddressPath }} | ||||
|             {{ orderInfo.order.consigneeDetail }} | ||||
|           </div> | ||||
|         </div> | ||||
|         <div class="div-item"> | ||||
|           <div class="div-item-left">支付方式:</div> | ||||
|           <div class="div-item-right"> | ||||
|             {{ orderInfo.paymentMethodValue }} | ||||
|           </div> | ||||
|         </div> | ||||
| 
 | ||||
|         <div class="div-item"> | ||||
|           <div class="div-item-left">买家留言:</div> | ||||
|           <div class="div-item-right">{{ orderInfo.order.remark }}</div> | ||||
|         </div> | ||||
| 
 | ||||
|       <div class="div-item"> | ||||
|         <div class="div-item-left">配送方式:</div> | ||||
|         <div class="div-item-right"> | ||||
|           {{ | ||||
|               orderInfo.deliveryMethodValue | ||||
|                 ? orderInfo.deliveryMethodValue | ||||
|                 : "暂无配送方式" | ||||
|             }} | ||||
|         </div> | ||||
|       </div> | ||||
|     </div> | ||||
|   </Card> | ||||
| 
 | ||||
|     <Card> | ||||
|       <Table :loading="loading" border :columns="columns" :data="data" ref="table" sortable="custom"> | ||||
|         <!-- 商品栏目格式化 --> | ||||
|         <template slot="goodsSlot" slot-scope="{row}"> | ||||
|           <div style="margin-top: 5px; height: 80px; display: flex"> | ||||
|             <div style=""> | ||||
|               <img :src="row.image" style="height: 60px; margin-top: 1px; width: 60px" /> | ||||
|             </div> | ||||
| 
 | ||||
|             <div style="margin-left: 13px"> | ||||
|               <div class="div-zoom"> | ||||
|                 <a @click="linkTo(row.goodsId,row.skuId)">{{row.goodsName}}</a> | ||||
|               </div> | ||||
|               <span v-for="(item, key) in JSON.parse(row.specs)" :key="key"> | ||||
|                 <span v-show="key!='images'" style="font-size: 12px;color: #999999;"> | ||||
|                   {{key}} : {{item}} | ||||
|                 </span> | ||||
|               </span> | ||||
|               <Poptip trigger="hover" style="display: block;" title="扫码在手机中查看" transfer> | ||||
|                 <div slot="content"> | ||||
|                   <vue-qr :text="wapLinkTo(row.goodsId,row.skuId)"  :margin="0" colorDark="#000" colorLight="#fff" :size="150"></vue-qr> | ||||
|                 </div> | ||||
|                 <img src="../../../assets/qrcode.svg" class="hover-pointer" width="20" height="20" alt=""> | ||||
|               </Poptip> | ||||
|             </div> | ||||
|           </div> | ||||
|         </template> | ||||
|       </Table> | ||||
|       <div class="goods-total"> | ||||
|         <ul> | ||||
|           <li> | ||||
|             <span class="label">商品总额:</span> | ||||
|             <span class="txt">{{ orderInfo.order.priceDetailDTO.goodsPrice | unitPrice('¥')}}</span> | ||||
|           </li> | ||||
|           <li> | ||||
|             <span class="label">优惠金额:</span> | ||||
|             <span class="txt"> | ||||
|               {{ | ||||
|                 orderInfo.order.priceDetailDTO.couponPrice + | ||||
|                 orderInfo.order.priceDetailDTO.discountPrice | ||||
|               | unitPrice('¥')}} | ||||
|             </span> | ||||
|           </li> | ||||
|           <li> | ||||
|             <span class="label">运费:</span> | ||||
|             <span class="txt">{{ orderInfo.order.freightPrice | unitPrice('¥')}}</span> | ||||
|           </li> | ||||
|           <li v-if="orderInfo.order.priceDetailDTO.payPoint != 0"> | ||||
|             <span class="label">使用积分:</span> | ||||
|             <span class="txt">{{ | ||||
|               orderInfo.order.priceDetailDTO.payPoint | ||||
|             }}</span> | ||||
|           </li> | ||||
| 
 | ||||
|           <li> | ||||
|             <span class="label">应付金额:</span> | ||||
|             <span class="txt flowPrice">¥{{ orderInfo.order.flowPrice | unitPrice }}</span> | ||||
|           </li> | ||||
|         </ul> | ||||
|       </div> | ||||
|     </Card> | ||||
|     <Modal v-model="modal" width="530"> | ||||
|       <p slot="header"> | ||||
|         <Icon type="edit"></Icon> | ||||
|  |  | |||
|  | @ -1,84 +1,78 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|               <Form-item label="订单编号" prop="orderSn"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.orderSn" | ||||
|                   clearable | ||||
|                   placeholder="请输入订单编号" | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="会员名称" prop="buyerName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.buyerName" | ||||
|                   clearable | ||||
|                   placeholder="请输入会员名称" | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="订单状态" prop="orderStatus"> | ||||
|                 <Select v-model="searchForm.orderStatus" placeholder="请选择" clearable style="width: 200px"> | ||||
|                   <Option value="UNPAID">未付款</Option> | ||||
|                   <Option value="PAID">已付款</Option> | ||||
|                   <Option value="UNDELIVERED">待发货</Option> | ||||
|                   <Option value="DELIVERED">已发货</Option> | ||||
|                   <Option value="COMPLETED">已完成</Option> | ||||
|                   <Option value="TAKE">待核验</Option> | ||||
|                   <Option value="CANCELLED">已取消</Option> | ||||
|                 </Select> | ||||
|               </Form-item> | ||||
|               <Form-item label="下单时间"> | ||||
|                 <DatePicker | ||||
|                   v-model="selectDate" | ||||
|                   type="datetimerange" | ||||
|                   format="yyyy-MM-dd" | ||||
|                   clearable | ||||
|                   @on-change="selectDateRange" | ||||
|                   placeholder="选择起始时间" | ||||
|                   style="width: 200px" | ||||
|                 ></DatePicker> | ||||
|               </Form-item> | ||||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|               <Button @click="handleReset" class="search-btn">重置</Button> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|           <Form-item label="订单编号" prop="orderSn"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.orderSn" | ||||
|               clearable | ||||
|               placeholder="请输入订单编号" | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="会员名称" prop="buyerName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.buyerName" | ||||
|               clearable | ||||
|               placeholder="请输入会员名称" | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="订单状态" prop="orderStatus"> | ||||
|             <Select v-model="searchForm.orderStatus" placeholder="请选择" clearable style="width: 200px"> | ||||
|               <Option value="UNPAID">未付款</Option> | ||||
|               <Option value="PAID">已付款</Option> | ||||
|               <Option value="UNDELIVERED">待发货</Option> | ||||
|               <Option value="DELIVERED">已发货</Option> | ||||
|               <Option value="COMPLETED">已完成</Option> | ||||
|               <Option value="TAKE">待核验</Option> | ||||
|               <Option value="CANCELLED">已取消</Option> | ||||
|             </Select> | ||||
|           </Form-item> | ||||
|           <Form-item label="下单时间"> | ||||
|             <DatePicker | ||||
|               v-model="selectDate" | ||||
|               type="datetimerange" | ||||
|               format="yyyy-MM-dd" | ||||
|               clearable | ||||
|               @on-change="selectDateRange" | ||||
|               placeholder="选择起始时间" | ||||
|               style="width: 200px" | ||||
|             ></DatePicker> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|           <Button @click="handleReset" class="search-btn">重置</Button> | ||||
| 
 | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             ></Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,88 +1,82 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form | ||||
|               ref="searchForm" | ||||
|               :model="searchForm" | ||||
|               inline | ||||
|               :label-width="70" | ||||
|               class="search-form" | ||||
|             > | ||||
|               <Form-item label="订单编号" prop="orderSn"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.orderSn" | ||||
|                   clearable | ||||
|                   placeholder="请输入订单编号" | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="会员名称" prop="memberName"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.memberName" | ||||
|                   clearable | ||||
|                   placeholder="请输入会员名称" | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="发票抬头" prop="receiptTitle"> | ||||
|                 <Input | ||||
|                   type="text" | ||||
|                   v-model="searchForm.receiptTitle" | ||||
|                   clearable | ||||
|                   placeholder="请输入发票抬头" | ||||
|                   style="width: 200px" | ||||
|                 /> | ||||
|               </Form-item> | ||||
|               <Form-item label="状态" prop="receiptStatus"> | ||||
|                 <Select v-model="searchForm.receiptStatus" placeholder="请选择" clearable style="width: 200px"> | ||||
|                   <Option value="0">未开票</Option> | ||||
|                   <Option value="1">已开票</Option> | ||||
|                 </Select> | ||||
|               </Form-item> | ||||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|               <Button @click="handleReset" class="search-btn">重置</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             > | ||||
|               <!-- 订单详情格式化 --> | ||||
|               <template slot="orderSlot" slot-scope="scope"> | ||||
|                 <a | ||||
|                   @click="$router.push({name: 'order-detail',query: {sn: scope.row.orderSn}})">{{scope.row.orderSn}}</a> | ||||
|               </template> | ||||
|             </Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form | ||||
|           ref="searchForm" | ||||
|           :model="searchForm" | ||||
|           inline | ||||
|           :label-width="70" | ||||
|           class="search-form" | ||||
|         > | ||||
|           <Form-item label="订单编号" prop="orderSn"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.orderSn" | ||||
|               clearable | ||||
|               placeholder="请输入订单编号" | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="会员名称" prop="memberName"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.memberName" | ||||
|               clearable | ||||
|               placeholder="请输入会员名称" | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="发票抬头" prop="receiptTitle"> | ||||
|             <Input | ||||
|               type="text" | ||||
|               v-model="searchForm.receiptTitle" | ||||
|               clearable | ||||
|               placeholder="请输入发票抬头" | ||||
|               style="width: 200px" | ||||
|             /> | ||||
|           </Form-item> | ||||
|           <Form-item label="状态" prop="receiptStatus"> | ||||
|             <Select v-model="searchForm.receiptStatus" placeholder="请选择" clearable style="width: 200px"> | ||||
|               <Option value="0">未开票</Option> | ||||
|               <Option value="1">已开票</Option> | ||||
|             </Select> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|           <Button @click="handleReset" class="search-btn">重置</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       > | ||||
|         <!-- 订单详情格式化 --> | ||||
|         <template slot="orderSlot" slot-scope="scope"> | ||||
|           <a | ||||
|             @click="$router.push({name: 'order-detail',query: {sn: scope.row.orderSn}})">{{scope.row.orderSn}}</a> | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -55,36 +55,34 @@ | |||
|         <Button @click="delAll" class="ml_10">批量下架</Button> | ||||
|         <!-- <Button @click="upAll">批量上架</Button> --> | ||||
|       </Row> | ||||
|       <Row class="padding-row"> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           ref="table" | ||||
|           sortable="custom" | ||||
|           @on-sort-change="changeSort" | ||||
|           @on-selection-change="changeSelect" | ||||
|         > | ||||
|           <template slot-scope="{ row }" slot="action"> | ||||
|             <Button | ||||
|               v-if="row.promotionStatus === 'NEW' || row.promotionStatus === 'CLOSE'" | ||||
|               type="info" | ||||
|               size="small" | ||||
|               style="margin-right: 10px" | ||||
|               @click="edit(row)" | ||||
|               >编辑</Button | ||||
|             > | ||||
|             <Button | ||||
|               v-if="row.promotionStatus !== 'CLOSE'" | ||||
|               type="error" | ||||
|               size="small" | ||||
|               @click="remove(row)" | ||||
|               >下架</Button | ||||
|             > | ||||
|           </template> | ||||
|         </Table> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       > | ||||
|         <template slot-scope="{ row }" slot="action"> | ||||
|           <Button | ||||
|             v-if="row.promotionStatus === 'NEW' || row.promotionStatus === 'CLOSE'" | ||||
|             type="info" | ||||
|             size="small" | ||||
|             style="margin-right: 10px" | ||||
|             @click="edit(row)" | ||||
|             >编辑</Button | ||||
|           > | ||||
|           <Button | ||||
|             v-if="row.promotionStatus !== 'CLOSE'" | ||||
|             type="error" | ||||
|             size="small" | ||||
|             @click="remove(row)" | ||||
|             >下架</Button | ||||
|           > | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber + 1" | ||||
|  |  | |||
|  | @ -47,50 +47,48 @@ | |||
|       <Row class="operation"> | ||||
|         <Button type="primary" @click="newAct">新增</Button> | ||||
|       </Row> | ||||
|       <Row> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           ref="table" | ||||
|           sortable="custom" | ||||
|         > | ||||
|           <template slot-scope="{ row }" slot="applyEndTime"> | ||||
|             {{ unixDate(row.applyEndTime) }} | ||||
|           </template> | ||||
|           <template slot-scope="{ row }" slot="promotionType"> | ||||
|             {{ row.isFullMinus ? "满减" : "满折" }} | ||||
|           </template> | ||||
|           <template slot-scope="{ row }" slot="hours"> | ||||
|             <Tag v-for="item in unixHours(row.hours)" :key="item">{{ | ||||
|               item | ||||
|             }}</Tag> | ||||
|           </template> | ||||
|           <template slot-scope="{ row }" slot="action"> | ||||
|             <div> | ||||
|               <Button | ||||
|                 type="primary" | ||||
|                 v-if="row.promotionStatus == 'NEW'" | ||||
|                 size="small" | ||||
|                 @click="edit(row)" | ||||
|                 >编辑</Button | ||||
|               >  | ||||
|               <Button type="success" v-else size="small" @click="edit(row)" | ||||
|                 >查看</Button | ||||
|               >  | ||||
|               <Button | ||||
|                 type="error" | ||||
|                 :disabled="row.promotionStatus == 'START'" | ||||
|                 ghost | ||||
|                 size="small" | ||||
|                 @click="del(row)" | ||||
|                 >删除</Button | ||||
|               > | ||||
|             </div> | ||||
|           </template> | ||||
|         </Table> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|       > | ||||
|         <template slot-scope="{ row }" slot="applyEndTime"> | ||||
|           {{ unixDate(row.applyEndTime) }} | ||||
|         </template> | ||||
|         <template slot-scope="{ row }" slot="promotionType"> | ||||
|           {{ row.isFullMinus ? "满减" : "满折" }} | ||||
|         </template> | ||||
|         <template slot-scope="{ row }" slot="hours"> | ||||
|           <Tag v-for="item in unixHours(row.hours)" :key="item">{{ | ||||
|             item | ||||
|           }}</Tag> | ||||
|         </template> | ||||
|         <template slot-scope="{ row }" slot="action"> | ||||
|           <div> | ||||
|             <Button | ||||
|               type="primary" | ||||
|               v-if="row.promotionStatus == 'NEW'" | ||||
|               size="small" | ||||
|               @click="edit(row)" | ||||
|               >编辑</Button | ||||
|             >  | ||||
|             <Button type="success" v-else size="small" @click="edit(row)" | ||||
|               >查看</Button | ||||
|             >  | ||||
|             <Button | ||||
|               type="error" | ||||
|               :disabled="row.promotionStatus == 'START'" | ||||
|               ghost | ||||
|               size="small" | ||||
|               @click="del(row)" | ||||
|               >删除</Button | ||||
|             > | ||||
|           </div> | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page operation"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber + 1" | ||||
|  |  | |||
|  | @ -1,9 +1,5 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row> | ||||
|         <Form ref="searchForm" :model="searchForm" inline :label-width="70" class="search-form"> | ||||
|  | @ -45,66 +41,64 @@ | |||
|       <Row class="operation padding-row"> | ||||
|         <Button @click="newAct" type="primary">添加</Button> | ||||
|       </Row> | ||||
|       <Row> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           ref="table" | ||||
|           sortable="custom" | ||||
|           @on-sort-change="changeSort" | ||||
|           @on-selection-change="changeSelect" | ||||
|         > | ||||
|           <template slot-scope="{ row }" slot="action"> | ||||
|             <Button | ||||
|               type="primary" | ||||
|               size="small" | ||||
|               v-if="row.promotionStatus == 'NEW'" | ||||
|               @click="edit(row)" | ||||
|               >编辑</Button | ||||
|             >  | ||||
|             <Button | ||||
|               type="info" | ||||
|               v-if="row.promotionStatus == 'NEW'" | ||||
|               size="small" | ||||
|               @click="manage(row, 'manager')" | ||||
|               >管理</Button | ||||
|             >  | ||||
|             <Button | ||||
|               type="info" | ||||
|               v-if="row.promotionStatus !== 'NEW'" | ||||
|               size="small" | ||||
|               @click="manage(row, 'view')" | ||||
|               >查看</Button | ||||
|             >  | ||||
|             <Button | ||||
|               type="error" | ||||
|               size="small" | ||||
|               v-if="row.promotionStatus != 'START'" | ||||
|               ghost | ||||
|               @click="remove(row)" | ||||
|               >删除</Button | ||||
|             >  | ||||
|             <Button | ||||
|               type="success" | ||||
|               v-if=" | ||||
|                 row.promotionStatus == 'NEW' || row.promotionStatus == 'CLOSE' | ||||
|               " | ||||
|               size="small" | ||||
|               @click="open(row)" | ||||
|               >开启</Button | ||||
|             > | ||||
|             <Button | ||||
|               type="warning" | ||||
|               v-if="row.promotionStatus == 'START'" | ||||
|               size="small" | ||||
|               @click="close(row)" | ||||
|               >关闭</Button | ||||
|             > | ||||
|           </template> | ||||
|         </Table> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       > | ||||
|         <template slot-scope="{ row }" slot="action"> | ||||
|           <Button | ||||
|             type="primary" | ||||
|             size="small" | ||||
|             v-if="row.promotionStatus == 'NEW'" | ||||
|             @click="edit(row)" | ||||
|             >编辑</Button | ||||
|           >  | ||||
|           <Button | ||||
|             type="info" | ||||
|             v-if="row.promotionStatus == 'NEW'" | ||||
|             size="small" | ||||
|             @click="manage(row, 'manager')" | ||||
|             >管理</Button | ||||
|           >  | ||||
|           <Button | ||||
|             type="info" | ||||
|             v-if="row.promotionStatus !== 'NEW'" | ||||
|             size="small" | ||||
|             @click="manage(row, 'view')" | ||||
|             >查看</Button | ||||
|           >  | ||||
|           <Button | ||||
|             type="error" | ||||
|             size="small" | ||||
|             v-if="row.promotionStatus != 'START'" | ||||
|             ghost | ||||
|             @click="remove(row)" | ||||
|             >删除</Button | ||||
|           >  | ||||
|           <Button | ||||
|             type="success" | ||||
|             v-if=" | ||||
|               row.promotionStatus == 'NEW' || row.promotionStatus == 'CLOSE' | ||||
|             " | ||||
|             size="small" | ||||
|             @click="open(row)" | ||||
|             >开启</Button | ||||
|           > | ||||
|           <Button | ||||
|             type="warning" | ||||
|             v-if="row.promotionStatus == 'START'" | ||||
|             size="small" | ||||
|             @click="close(row)" | ||||
|             >关闭</Button | ||||
|           > | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber + 1" | ||||
|  |  | |||
|  | @ -16,16 +16,14 @@ | |||
|         </Alert> | ||||
|       </Row> | ||||
|       <h3 class="act-goods">活动商品</h3> | ||||
|       <Row class="operation"> | ||||
|         <Table :loading="loading" border :columns="goodsColumns" :data="goodsData" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"> | ||||
|           <template slot-scope="{ row, index }" slot="price"> | ||||
|             <Input v-model="row.price" :disabled="status==='view'" @input="goodsData[index].price = row.price" /> | ||||
|           </template> | ||||
|           <template slot-scope="{ index }" slot="action"> | ||||
|             <Button type="error" size="small" ghost v-if="status === 'manager'" @click="delGoods(index)">删除</Button> | ||||
|           </template> | ||||
|         </Table> | ||||
|       </Row> | ||||
|       <Table :loading="loading" border :columns="goodsColumns" :data="goodsData" ref="table" sortable="custom" @on-sort-change="changeSort" @on-selection-change="changeSelect"> | ||||
|         <template slot-scope="{ row, index }" slot="price"> | ||||
|           <Input v-model="row.price" :disabled="status==='view'" @input="goodsData[index].price = row.price" /> | ||||
|         </template> | ||||
|         <template slot-scope="{ index }" slot="action"> | ||||
|           <Button type="error" size="small" ghost v-if="status === 'manager'" @click="delGoods(index)">删除</Button> | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page operation"> | ||||
|         <Page :current="searchForm.pageNumber + 1" :total="total" :page-size="searchForm.pageSize" @on-change="changePage" @on-page-size-change="changePageSize" :page-size-opts="[10, 20, 50]" | ||||
|           size="small" show-total show-elevator show-sizer></Page> | ||||
|  |  | |||
|  | @ -45,41 +45,39 @@ | |||
|         </Form> | ||||
|       </Row> | ||||
| 
 | ||||
|       <Row class="padding-row"> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           ref="table" | ||||
|           sortable="custom" | ||||
|         > | ||||
|           <template slot-scope="{ row }" slot="applyEndTime"> | ||||
|             {{ unixDate(row.applyEndTime) }} | ||||
|           </template> | ||||
|           <template slot-scope="{ row }" slot="hours"> | ||||
|             <Tag v-for="item in unixHours(row.hours)" :key="item">{{ | ||||
|               item | ||||
|             }}</Tag> | ||||
|           </template> | ||||
|           <template slot-scope="{ row }" slot="action"> | ||||
|             <Button | ||||
|               v-if="row.promotionStatus === 'NEW'" | ||||
|               type="primary" | ||||
|               size="small" | ||||
|               @click="manage(row)" | ||||
|               >管理</Button | ||||
|             > | ||||
|             <Button | ||||
|               v-else | ||||
|               type="info" | ||||
|               size="small" | ||||
|               @click="manage(row)" | ||||
|               >查看</Button | ||||
|             > | ||||
|           </template> | ||||
|         </Table> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|       > | ||||
|         <template slot-scope="{ row }" slot="applyEndTime"> | ||||
|           {{ unixDate(row.applyEndTime) }} | ||||
|         </template> | ||||
|         <template slot-scope="{ row }" slot="hours"> | ||||
|           <Tag v-for="item in unixHours(row.hours)" :key="item">{{ | ||||
|             item | ||||
|           }}</Tag> | ||||
|         </template> | ||||
|         <template slot-scope="{ row }" slot="action"> | ||||
|           <Button | ||||
|             v-if="row.promotionStatus === 'NEW'" | ||||
|             type="primary" | ||||
|             size="small" | ||||
|             @click="manage(row)" | ||||
|             >管理</Button | ||||
|           > | ||||
|           <Button | ||||
|             v-else | ||||
|             type="info" | ||||
|             size="small" | ||||
|             @click="manage(row)" | ||||
|             >查看</Button | ||||
|           > | ||||
|         </template> | ||||
|       </Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber + 1" | ||||
|  |  | |||
|  | @ -1,70 +1,64 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row @keydown.enter.native="handleSearch"> | ||||
|             <Form | ||||
|               ref="searchForm" | ||||
|               :model="searchForm" | ||||
|               inline | ||||
|               :label-width="70" | ||||
|               class="search-form" | ||||
|             > | ||||
|               <Form-item label="开始时间" prop="startDay"> | ||||
|                 <DatePicker | ||||
|                   type="date" | ||||
|                   v-model="searchForm.startDate" | ||||
|                   format="yyyy-MM-dd HH:mm:ss" | ||||
|                   placeholder="请选择" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 ></DatePicker> | ||||
|               </Form-item> | ||||
|               <Form-item label="结束时间" prop="endDate"> | ||||
|                 <DatePicker | ||||
|                   type="date" | ||||
|                   v-model="searchForm.endDate" | ||||
|                   format="yyyy-MM-dd HH:mm:ss" | ||||
|                   di | ||||
|                   placeholder="请选择" | ||||
|                   clearable | ||||
|                   style="width: 200px" | ||||
|                 ></DatePicker> | ||||
|               </Form-item> | ||||
|               <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|               <Button @click="handleReset" class="search-btn">重置</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             ></Table> | ||||
|           </Row> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|               :total="total" | ||||
|               :page-size="searchForm.pageSize" | ||||
|               @on-change="changePage" | ||||
|               @on-page-size-change="changePageSize" | ||||
|               :page-size-opts="[10, 20, 50]" | ||||
|               size="small" | ||||
|               show-total | ||||
|               show-elevator | ||||
|               show-sizer | ||||
|             ></Page> | ||||
|           </Row> | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
|     <Card> | ||||
|       <Row @keydown.enter.native="handleSearch"> | ||||
|         <Form | ||||
|           ref="searchForm" | ||||
|           :model="searchForm" | ||||
|           inline | ||||
|           :label-width="70" | ||||
|           class="search-form" | ||||
|         > | ||||
|           <Form-item label="开始时间" prop="startDay"> | ||||
|             <DatePicker | ||||
|               type="date" | ||||
|               v-model="searchForm.startDate" | ||||
|               format="yyyy-MM-dd HH:mm:ss" | ||||
|               placeholder="请选择" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             ></DatePicker> | ||||
|           </Form-item> | ||||
|           <Form-item label="结束时间" prop="endDate"> | ||||
|             <DatePicker | ||||
|               type="date" | ||||
|               v-model="searchForm.endDate" | ||||
|               format="yyyy-MM-dd HH:mm:ss" | ||||
|               di | ||||
|               placeholder="请选择" | ||||
|               clearable | ||||
|               style="width: 200px" | ||||
|             ></DatePicker> | ||||
|           </Form-item> | ||||
|           <Button @click="handleSearch" type="primary" icon="ios-search" class="search-btn">搜索</Button> | ||||
|           <Button @click="handleReset" class="search-btn">重置</Button> | ||||
|         </Form> | ||||
|       </Row> | ||||
|       <Table | ||||
|         :loading="loading" | ||||
|         border | ||||
|         :columns="columns" | ||||
|         :data="data" | ||||
|         ref="table" | ||||
|         sortable="custom" | ||||
|         @on-sort-change="changeSort" | ||||
|         @on-selection-change="changeSelect" | ||||
|       ></Table> | ||||
|       <Row type="flex" justify="end" class="page"> | ||||
|         <Page | ||||
|           :current="searchForm.pageNumber" | ||||
|           :total="total" | ||||
|           :page-size="searchForm.pageSize" | ||||
|           @on-change="changePage" | ||||
|           @on-page-size-change="changePageSize" | ||||
|           :page-size-opts="[10, 20, 50]" | ||||
|           size="small" | ||||
|           show-total | ||||
|           show-elevator | ||||
|           show-sizer | ||||
|         ></Page> | ||||
|       </Row> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -47,15 +47,13 @@ | |||
|       <Tabs active-key="tab" @on-click="clickTabs"> | ||||
|         <Tab-pane label="订单列表" name="order"> | ||||
|           <Card> | ||||
|             <Row> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|                 :columns="orderColumns" | ||||
|                 :data="orderData" | ||||
|                 ref="table" | ||||
|               ></Table> | ||||
|             </Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="orderColumns" | ||||
|               :data="orderData" | ||||
|               ref="table" | ||||
|             ></Table> | ||||
|             <Row type="flex" justify="end" class="page"> | ||||
|               <Page | ||||
|                 :current="orderParam.pageNumber" | ||||
|  | @ -72,15 +70,13 @@ | |||
|         </Tab-pane> | ||||
|         <Tab-pane label="退单列表" name="refund"> | ||||
|           <Card> | ||||
|             <Row> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|                 :columns="refundColumns" | ||||
|                 :data="refundData" | ||||
|                 ref="table" | ||||
|               ></Table> | ||||
|             </Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="refundColumns" | ||||
|               :data="refundData" | ||||
|               ref="table" | ||||
|             ></Table> | ||||
|             <Row type="flex" justify="end" class="page"> | ||||
|               <Page | ||||
|                 :current="refundParam.pageNumber" | ||||
|  | @ -97,15 +93,13 @@ | |||
|         </Tab-pane> | ||||
|         <Tab-pane label="分销费用列表" name="distribution"> | ||||
|           <Card> | ||||
|             <Row> | ||||
|               <Table | ||||
|                 :loading="loading" | ||||
|                 border | ||||
|                 :columns="distributionColumns" | ||||
|                 :data="distributionData" | ||||
|                 ref="table" | ||||
|               ></Table> | ||||
|             </Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="distributionColumns" | ||||
|               :data="distributionData" | ||||
|               ref="table" | ||||
|             ></Table> | ||||
|             <Row type="flex" justify="end" class="page"> | ||||
|               <Page | ||||
|                 :current="distributionParam.pageNumber" | ||||
|  |  | |||
|  | @ -43,18 +43,16 @@ | |||
|               <Button @click="handleReset" class="search-btn">重置</Button> | ||||
|             </Form> | ||||
|           </Row> | ||||
|           <Row class="padding-row"> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             ></Table> | ||||
|           </Row> | ||||
|           <Table | ||||
|             :loading="loading" | ||||
|             border | ||||
|             :columns="columns" | ||||
|             :data="data" | ||||
|             ref="table" | ||||
|             sortable="custom" | ||||
|             @on-sort-change="changeSort" | ||||
|             @on-selection-change="changeSelect" | ||||
|           ></Table> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|  |  | |||
|  | @ -1,25 +1,17 @@ | |||
| <template> | ||||
|   <div class="search"> | ||||
|     <Row> | ||||
|       <Col> | ||||
|         <Card> | ||||
|           <Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-sort-change="changeSort" | ||||
|               @on-selection-change="changeSelect" | ||||
|             ></Table> | ||||
|           </Row> | ||||
| 
 | ||||
|         </Card> | ||||
|       </Col> | ||||
|     </Row> | ||||
| 
 | ||||
|     <Card> | ||||
|         <Table | ||||
|           :loading="loading" | ||||
|           border | ||||
|           :columns="columns" | ||||
|           :data="data" | ||||
|           ref="table" | ||||
|           sortable="custom" | ||||
|           @on-sort-change="changeSort" | ||||
|           @on-selection-change="changeSelect" | ||||
|         ></Table> | ||||
|     </Card> | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
|  |  | |||
|  | @ -7,17 +7,15 @@ | |||
|           <Row class="operation"> | ||||
|             <Button @click="add" type="primary">添加</Button> | ||||
|           </Row> | ||||
|           <Row> | ||||
|             <Table | ||||
|               :loading="loading" | ||||
|               border | ||||
|               :columns="columns" | ||||
|               :data="data" | ||||
|               ref="table" | ||||
|               sortable="custom" | ||||
|               @on-selection-change="changeSelect" | ||||
|             ></Table> | ||||
|           </Row> | ||||
|           <Table | ||||
|             :loading="loading" | ||||
|             border | ||||
|             :columns="columns" | ||||
|             :data="data" | ||||
|             ref="table" | ||||
|             sortable="custom" | ||||
|             @on-selection-change="changeSelect" | ||||
|           ></Table> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page | ||||
|               :current="searchForm.pageNumber" | ||||
|  |  | |||
|  | @ -150,7 +150,6 @@ | |||
|         </div> | ||||
|         <div> | ||||
|           <Table stripe :columns="columns" :data="data"></Table> | ||||
| 
 | ||||
|         </div> | ||||
|         <Page @on-change="(index)=>{refundParams.pageNumber = index}" @on-page-size-change="(size)=>{refundParams.pageSize= size}" class="page" show-total show-elevator :total="total" /> | ||||
| 
 | ||||
|  |  | |||
|  | @ -59,17 +59,14 @@ | |||
| 
 | ||||
| 
 | ||||
|         <Card style="margin-top: 2px"> | ||||
|           <Row> | ||||
|             <Table :loading="loading" | ||||
|                    border | ||||
|                    :columns="columns" | ||||
|                    :data="data" ref="table" | ||||
|                    sortable="custom" | ||||
|                    @on-sort-change="changeSort" | ||||
|                    @on-selection-change="changeSelect"> | ||||
| 
 | ||||
|             </Table> | ||||
|           </Row> | ||||
|           <Table :loading="loading" | ||||
|             border | ||||
|             :columns="columns" | ||||
|             :data="data" ref="table" | ||||
|             sortable="custom" | ||||
|             @on-sort-change="changeSort" | ||||
|             @on-selection-change="changeSelect"> | ||||
|           </Table> | ||||
|           <Row type="flex" justify="end" class="page"> | ||||
|             <Page :current="searchForm.pageNumber" | ||||
|                   :total="total" | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue