xgwangman 5 gadi atpakaļ
vecāks
revīzija
e175a1c0b9

+ 3 - 3
.env

@@ -1,7 +1,7 @@
 VUE_APP_ADMIN_TOKEN_NAME = 'admin_token'
 VUE_APP_ADMIN_TOKEN_NAME = 'admin_token'
-VUE_APP_API_URL_PREFIX34 = 'https://cadmin-service-demo.baiy.org/api/admin/'
-VUE_APP_API_URL_PREFIX12 = 'http://192.168.20.241:8001/api/admin/'
-VUE_APP_API_URL_PREFIX = 'http://kf-qmx-test.jianyu360.cn/api/admin/'
+VUE_APP_API_URL_PREFIX34 = 'https//cadmin-service-demo.baiy.org/api/admin/'
+VUE_APP_API_URL_PREFIX = 'http://192.168.20.214:8001/api/admin/'
+VUE_APP_API_URL_PREFIX12 = 'http://kf-qmx-test.jianyu360.cn/api/admin/'
 VUE_APP_API_ACTION_NAME = '_action'
 VUE_APP_API_ACTION_NAME = '_action'
 VUE_APP_API_TOKEN_NAME = '_token'
 VUE_APP_API_TOKEN_NAME = '_token'
 VUE_APP_INDEX_URL = '/'
 VUE_APP_INDEX_URL = '/'

+ 4 - 4
src/App.vue

@@ -4,11 +4,11 @@
         <div class="main layout" v-if="isLogin">
         <div class="main layout" v-if="isLogin">
             <div style="min-height: calc(100vh - 80px);">
             <div style="min-height: calc(100vh - 80px);">
                 <Layout>
                 <Layout>
-                    <Sider width="220px" class="left-sider" ref="side1" hide-trigger collapsible :collapsed-width="80"
+                    <Sider width="180px" class="left-sider" ref="side1" hide-trigger collapsible :collapsed-width="80"
                         v-model="isCollapsed">
                         v-model="isCollapsed">
                         <LeftMenu :menuClass="menuitemClasses" :isCollapsed="isCollapsed"></LeftMenu>
                         <LeftMenu :menuClass="menuitemClasses" :isCollapsed="isCollapsed"></LeftMenu>
                     </Sider>
                     </Sider>
-                    <Layout :style="{position: 'relative',marginLeft: '220px'}">
+                    <Layout :style="{position: 'relative',marginLeft: '180px'}">
                         <Header style="padding: 0;height:50px;line-height: 50px" class="layout-header-bar">
                         <Header style="padding: 0;height:50px;line-height: 50px" class="layout-header-bar">
                             <!-- <Icon @click.native="collapsedSider" :class="rotateIcon" :style="{margin: '0 10px 0 20px'}"
                             <!-- <Icon @click.native="collapsedSider" :class="rotateIcon" :style="{margin: '0 10px 0 20px'}"
                                 type="md-menu" size="28"></Icon> -->
                                 type="md-menu" size="28"></Icon> -->
@@ -24,7 +24,7 @@
                                 <Col :span="12">
                                 <Col :span="12">
                                     <Dropdown @on-click="selectDropdown" style="float: right;margin-right: 20px">
                                     <Dropdown @on-click="selectDropdown" style="float: right;margin-right: 20px">
                                         <a href="javascript:void(0)">
                                         <a href="javascript:void(0)">
-                                            <Avatar src="" icon="ios-person" size="small" style="marginRight:5px" />
+                                            <Avatar icon="md-person" size="small" style="marginRight:5px;font-size:16px" />
                                             {{user.username}}
                                             {{user.username}}
                                             <Icon type="ios-arrow-down"></Icon>
                                             <Icon type="ios-arrow-down"></Icon>
                                         </a>
                                         </a>
@@ -169,7 +169,7 @@
         padding-left: 20px;
         padding-left: 20px;
     }
     }
     .foot {
     .foot {
-        margin: 40px 0 20px 220px;
+        margin: 20px 0 20px 180px;
         text-align: center;
         text-align: center;
         color: #aea79f;
         color: #aea79f;
     }
     }

+ 16 - 0
src/assets/css/common.css

@@ -271,4 +271,20 @@ textarea:-moz-placeholder {
 textarea:-ms-input-placeholder {
 textarea:-ms-input-placeholder {
   /* Internet Explorer 10-11 */
   /* Internet Explorer 10-11 */
   color: #cdcdcd;
   color: #cdcdcd;
+}
+
+/* iview公共样式 */
+.ivu-form .ivu-form-item-label {
+  text-align: left;
+  padding: 10px 0;
+  font-size: 14px;
+}
+.ivu-table td.table-info-settle {
+    color: #f4516c;
+}
+.ivu-btn {
+  font-size: 14px;
+}
+.ivu-drawer-header-inner {
+  font-size: 16px;
 }
 }

BIN
src/assets/images/riqi.png


BIN
src/assets/images/user.png


+ 11 - 0
src/assets/js/date.js

@@ -0,0 +1,11 @@
+//将时间戳转化为年月日
+export function ChangeDate (time){
+    var d = new Date(time.replace(/\-/g, "/"));
+    var Y = d.getFullYear() + '.';
+    var M = (d.getMonth()+1 < 10 ? '0'+(d.getMonth()+1) : d.getMonth()+1) + '.';
+    var D = (d.getDate() < 10 ? '0'+d.getDate() : d.getDate()) + ' ';
+    var h = (d.getHours() < 10 ? '0'+d.getHours() : d.getHours()) + ':';
+    var m = (d.getMinutes() < 10 ? '0'+d.getMinutes() : d.getMinutes());
+    var s = (d.getSeconds() < 10 ? '0'+d.getSeconds() : d.getSeconds());
+    return (Y+M+D).replace(/^\s+|\s+$/g,"");
+}

+ 2 - 1
src/components/LeftMenu.vue

@@ -96,7 +96,8 @@
         methods: {
         methods: {
             goto(menuId) {
             goto(menuId) {
                 if (menuId === "site-name") {
                 if (menuId === "site-name") {
-                    return this.$router.push('/');
+                    // return this.$router.push('/');
+                    return window.open('')
                 }
                 }
                 this.pageMenus.forEach(({url, id}) => {
                 this.pageMenus.forEach(({url, id}) => {
                     if (id === menuId) {
                     if (id === menuId) {

+ 1 - 2
src/components/Login.vue

@@ -79,12 +79,11 @@
 <style lang="scss" scoped>
 <style lang="scss" scoped>
     .logins {
     .logins {
         width: 100%;
         width: 100%;
-        height: 100%;
         position: absolute;
         position: absolute;
         top: 0;
         top: 0;
         left: 0;
         left: 0;
         background: url(../assets/images/bg_1.png) #f0f2f5 no-repeat center center;
         background: url(../assets/images/bg_1.png) #f0f2f5 no-repeat center center;
-        background-size: 100%;
+        background-size: 100% 100%;
         padding-top: 50px;
         padding-top: 50px;
         .cards {
         .cards {
             display: flex;
             display: flex;

+ 3 - 1
src/components/pageBar.vue

@@ -19,7 +19,7 @@
         props: {
         props: {
             rightWidth: {
             rightWidth: {
                 type: [Number, String],
                 type: [Number, String],
-                default: 200
+                default: 162
             },
             },
         },
         },
     }
     }
@@ -28,6 +28,8 @@
 <style>
 <style>
     .lists-filter .ivu-layout.ivu-layout-has-sider>.ivu-layout, .lists-filter .ivu-layout.ivu-layout-has-sider>.ivu-layout-content{
     .lists-filter .ivu-layout.ivu-layout-has-sider>.ivu-layout, .lists-filter .ivu-layout.ivu-layout-has-sider>.ivu-layout-content{
         overflow-x: visible;
         overflow-x: visible;
+        display: flex;
+        align-items: center;
     }
     }
     .lists-filter .ivu-form-item{
     .lists-filter .ivu-form-item{
         margin-bottom: 10px;
         margin-bottom: 10px;

+ 47 - 7
src/components/tableLists.vue

@@ -3,23 +3,24 @@
         <page-bar v-if="!hiddenFilter" class="top-bar">
         <page-bar v-if="!hiddenFilter" class="top-bar">
             <slot name="filterContent"></slot>
             <slot name="filterContent"></slot>
             <slot name="filterButton">
             <slot name="filterButton">
-                <Button type="primary" @click="reload()" v-if="filterType === 1">查 询</Button>
-                <Button type="primary" @click="reload()" style="margin-left: 10px" v-if="filterReset === 1">重 置</Button>
+                <Button type="primary" size="large" @click="reload()" v-if="filterType === 1">查 询</Button>
+                <Button type="primary" size="large" @click="reset()" style="margin-left: 10px" v-if="filterReset === 1">重 置</Button>
             </slot>
             </slot>
             <div slot="right">
             <div slot="right">
-                <slot name="filterRight"></slot>
+                <slot name="filterRight">
+                    <!-- <Input prefix="md-search" type="text" v-model="filter.keyword" placeholder="搜索..." clearable/> -->
+                </slot>
             </div>
             </div>
         </page-bar>
         </page-bar>
         <slot></slot>
         <slot></slot>
-        <page-bar style="margin-top: 10px" :rightWidth="750">
+        <page-bar style="margin-top: 10px;padding: 5px 0;" :rightWidth="750">
             <slot name="options"></slot>
             <slot name="options"></slot>
             <div slot="right">
             <div slot="right">
                 <Page 
                 <Page 
                     @on-change="changePage" 
                     @on-change="changePage" 
                     :current="page" 
                     :current="page" 
                     :page-size="pageSizeData" 
                     :page-size="pageSizeData" 
-                    :total="total" 
-                    show-total 
+                    :total="total"
                     show-elevator 
                     show-elevator 
                     show-sizer 
                     show-sizer 
                     @on-page-size-change="pageSizeChange" 
                     @on-page-size-change="pageSizeChange" 
@@ -55,6 +56,12 @@
                     return {}
                     return {}
                 }
                 }
             },
             },
+            sear: {
+                type: Object,
+                default: function () {
+                    return {}
+                }
+            },
             pageSize: {
             pageSize: {
                 type: Number,
                 type: Number,
                 default: 10
                 default: 10
@@ -80,6 +87,10 @@
             filterReset: {
             filterReset: {
                 type: Number,
                 type: Number,
                 default: 1
                 default: 1
+            },
+            filterSear: { // 1 搜索框触发 2 搜索框筛选条件发生变化触发筛选
+                type: Number,
+                default: 1
             }
             }
         },
         },
         watch: {
         watch: {
@@ -90,6 +101,14 @@
                     }
                     }
                 },
                 },
                 deep: true
                 deep: true
+            },
+            sear: {
+                handler: function () {
+                    if (this.filterSear === 2) {
+                        this.seload()
+                    }
+                },
+                deep: true
             }
             }
         },
         },
         created() {
         created() {
@@ -111,7 +130,19 @@
                 this.$request(this.requestApi).data({
                 this.$request(this.requestApi).data({
                     offset: (this.page - 1) * this.pageSizeData,
                     offset: (this.page - 1) * this.pageSizeData,
                     pageSize: this.pageSizeData,
                     pageSize: this.pageSizeData,
-                    ..._.cloneDeep(this.filter)
+                    ..._.cloneDeep(this.filter),
+                }).success((r) => {
+                    this.$emit('loading', false);
+                    this.total = r.data['total'];
+                    this.$emit('input', r.data);
+                }).get()
+            },
+            seload() {
+                this.$emit('loading', true);
+                this.$request(this.requestApi).data({
+                    offset: (this.page - 1) * this.pageSizeData,
+                    pageSize: this.pageSizeData,
+                    keyword: this.sear.keyword
                 }).success((r) => {
                 }).success((r) => {
                     this.$emit('loading', false);
                     this.$emit('loading', false);
                     this.total = r.data['total'];
                     this.total = r.data['total'];
@@ -124,12 +155,21 @@
                 }
                 }
                 this.load();
                 this.load();
             },
             },
+            reset (isPage) {
+                if (!isPage) {
+                    this.page = 1;
+                }
+                this.$emit('loading', true);
+                this.$emit('emptyFilter', true);
+                this.load();
+            }
         },
         },
     }
     }
 </script>
 </script>
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
 .table-lists {
 .table-lists {
+    min-height: calc(100vh - 210px);
    .top-bar {
    .top-bar {
         padding: 10px 0;
         padding: 10px 0;
     } 
     } 

+ 3 - 3
src/router.js

@@ -31,10 +31,10 @@ const routes = [
         component: () => import('./views/sales/withdrawDetail.vue')
         component: () => import('./views/sales/withdrawDetail.vue')
     },
     },
     {
     {
-        path: '/order/manageList/manageDetail',
-        name: 'manageDetail',
+        path: '/order/orderList/orderDetail',
+        name: 'orderDetail',
         // alias: '/sales/settleList/settleDetail',
         // alias: '/sales/settleList/settleDetail',
-        component: () => import('./views/order/manageDetail.vue')
+        component: () => import('./views/order/orderDetail.vue')
     }
     }
 ];
 ];
 
 

+ 25 - 9
src/views/order/components/details.vue

@@ -5,9 +5,9 @@
             <div class="cont">
             <div class="cont">
                 <div class="tit">订单信息</div>
                 <div class="tit">订单信息</div>
                 <div class="classfity">
                 <div class="classfity">
-                    <span>订单编号:232504673120</span>
-                    <span>订单时间:2020-07-25 23:25:08</span>
-                    <span>产品类型:线上课程</span>
+                    <span>订单编号:{{orDetails.order_code}}</span>
+                    <span>订单时间:{{orDetails.create_time}}</span>
+                    <span>产品类型:{{orDetails.product_type}}</span>
                 </div>
                 </div>
             </div>
             </div>
             <Divider />
             <Divider />
@@ -42,7 +42,7 @@
             </div>
             </div>
             <Divider />
             <Divider />
         </div>
         </div>
-        <!-- 数据导出 -->
+        <!-- 历史数据 -->
         <div class="infor-card" v-if="orderType == 3">
         <div class="infor-card" v-if="orderType == 3">
             <div class="cont">
             <div class="cont">
                 <div class="tit">导出信息</div>
                 <div class="tit">导出信息</div>
@@ -65,7 +65,7 @@
             <Divider />
             <Divider />
         </div>
         </div>
         <!-- VIP订阅 -->
         <!-- VIP订阅 -->
-        <div class="infor-card">
+        <div class="infor-card" v-if="orderType == 8">
             <div class="cont">
             <div class="cont">
                 <div class="tit">订阅信息</div>
                 <div class="tit">订阅信息</div>
                 <div class="classfity">
                 <div class="classfity">
@@ -84,8 +84,8 @@
                     <span>支付时间:2020-07-25 23:25:08</span>
                     <span>支付时间:2020-07-25 23:25:08</span>
                     <span>支付方式:微信</span>
                     <span>支付方式:微信</span>
                     <span v-if="orderType == 1">实付数量:1</span><!-- 线下课程 -->
                     <span v-if="orderType == 1">实付数量:1</span><!-- 线下课程 -->
-                    <span v-if="orderType == 4">实付金额:100.00</span><!-- VIP订阅 -->
-                    <span v-if="orderType != 4">支付金额:99.6</span>
+                    <span v-if="orderType == 8">实付金额:100.00</span><!-- VIP订阅 -->
+                    <span v-if="orderType != 8">支付金额:99.6</span>
                     <span>支付状态:已付款</span>
                     <span>支付状态:已付款</span>
                 </div>
                 </div>
             </div>
             </div>
@@ -108,7 +108,7 @@
                 <div class="classfity">
                 <div class="classfity">
                     <span>发票类型:普通发票(电子发票)</span>
                     <span>发票类型:普通发票(电子发票)</span>
                     <span>发票内容:明细</span>
                     <span>发票内容:明细</span>
-                    <span>发票抬头:单位</span>
+                    <!-- <span>发票抬头:单位</span> -->
                     <span>开票单位名称:上海欧朝物联网技术有限公司</span>
                     <span>开票单位名称:上海欧朝物联网技术有限公司</span>
                     <span>纳税人识别号:91310230MA1K2LED0U</span>
                     <span>纳税人识别号:91310230MA1K2LED0U</span>
                     <span>邮箱地址:12421218123@qq.com</span>
                     <span>邮箱地址:12421218123@qq.com</span>
@@ -124,7 +124,23 @@
 <script>
 <script>
 export default {
 export default {
     props:{
     props:{
-        orderType: Number
+        orderType: String
+    },
+    created () {
+        let rout = this.$route.query
+        this.$request('/order/orderList/orderDetails').data({
+            id: rout.id,
+            type: rout.proType
+        }).success((r) => {
+            this.orDetails = r.data.res;
+            this.book = r.data.filterData;
+        }).get()
+    },
+    data () {
+        return {
+            orDetails: [],
+            book: []
+        }
     }
     }
 }
 }
 </script>
 </script>

+ 0 - 37
src/views/order/manageDetail.vue

@@ -1,37 +0,0 @@
-<template>
-    <div class="with-detail">
-        <h1>订单管理</h1>
-        <div class="det">
-            <div slot="title" class="right-fund">查看订单</div>
-            <Divider />
-            <v-detail :orderType="$route.query.id"></v-detail>
-        </div>
-    </div>
-</template>
-
-<script>
-import vDetail from './components/details'
-export default {
-    components: {
-        vDetail
-    }
-}
-</script>
-
-<style lang="scss" scoped>
-.with-detail {
-    .det {
-        background:#fff;
-        padding: 10px 0;
-    }
-    h1 {
-        padding: 10px 0 20px 100px;
-    }
-    .right-fund {
-        font-size: 20px;
-        color: #575962;
-        padding-left: 100px;
-        margin-top: 14px;
-    }
-}
-</style>

+ 0 - 210
src/views/order/manageList.vue

@@ -1,210 +0,0 @@
-<template>
-  <div class="ding-dan">
-    <h1>订单管理</h1>
-    <table-lists 
-        ref="tableLists" 
-        v-model="list" 
-        :filter="filter" 
-        requestApi="/system/request/lists" 
-        @loading="load" 
-        style="background:#fff;padding:10px"
-    >
-      <template slot="filterContent">
-        <FormItem label="产品类型:" :label-width="80">
-            <Select placeholder="全部" clearable v-model="filter.type" style="width:100px">
-                <Option value="全部">全部</Option>
-                <Option v-for="item in type" :value="item.v" :key="item.v">{{ item.n }}</Option>
-            </Select>
-        </FormItem>
-        <FormItem label="订单类型:" :label-width="80">
-            <Select placeholder="全部" clearable v-model="filter.type" style="width:100px">
-                <Option value="全部">全部</Option>
-                <Option v-for="item in type" :value="item.v" :key="item.v">{{ item.n }}</Option>
-            </Select>
-        </FormItem>
-        <FormItem label="订单状态:" :label-width="80">
-            <Select placeholder="全部" clearable v-model="filter.type" style="width:100px">
-                <Option value="全部">全部</Option>
-                <Option v-for="item in type" :value="item.v" :key="item.v">{{ item.n }}</Option>
-            </Select>
-        </FormItem>
-        <FormItem label="发票状态:" :label-width="80">
-            <Select placeholder="全部" clearable v-model="filter.type" style="width:100px">
-                <Option value="全部">全部</Option>
-                <Option v-for="item in type" :value="item.v" :key="item.v">{{ item.n }}</Option>
-            </Select>
-        </FormItem>
-        <FormItem label="订单日期:" :label-width="80" style="margin-right: 40px">
-            <DatePicker type="date" placeholder="起始时间" style="width: 102px" @on-change="handleChange1"></DatePicker>
-            <DatePicker type="date" placeholder="截止时间" style="width: 102px;margin-left:2px" @on-change="handleChange2"></DatePicker>
-        </FormItem>
-      </template>
-      <template slot="filterRight">
-          <Input prefix="md-search" type="text" v-model="filter.keyword7" placeholder="搜索..." clearable class="ser-ipt"/>
-      </template>
-      <Table ellipsis :loading="loading" ref="selection" :columns="columns" :data="datas" stripe>
-        <template slot-scope="{ row }" slot="type">
-          <field-map :value="row.type" :map="type"></field-map>
-        </template>
-        <template slot-scope="{ row }" slot="_action">
-          <Tooltip :content="row.call" :max-width="500">
-            {{row.action}}
-          </Tooltip>
-        </template>
-        <template slot-scope="{ row, index }" slot="op">
-          <Button 
-            class="find-btn" 
-            size="small" 
-            type="primary" 
-            style="margin-right:5px"
-            :to="{path:'/order/manageList/manageDetail',query:{id:index}}"
-          >查看</Button>
-          <Button 
-            class="find-btn" 
-            size="small" 
-            type="error" 
-            @click="refund(row.id,row.code)"
-          >退款</Button>
-        </template>
-      </Table>
-    </table-lists>
-  </div>
-</template>
-<script>
-    // import _ from 'lodash'
-    import marked from 'marked'
-
-    export default {
-        computed: {
-            type () {
-                return this.requestType.map((item) => {
-                    return { v: item.type, n: item.name }
-                })
-            },
-            currentTypeDescription () {
-                let description = "";
-                this.requestType.forEach((item)=>{
-                    if (item.type === this.current.data.type){
-                        description = item.description
-                    }
-                })
-                return marked(description)
-            }
-        },
-        created () {
-            this.$request('/system/request/type').success((r) => {
-                this.requestType = r.data
-            }).get()
-        },
-        methods: {
-          load (val) {
-            this.loading = val
-          },
-          handleChange1 (date) {
-              console.log(date)
-          },
-          handleChange2 (date) {
-              console.log(date)
-          },
-          refund (id,name) {
-            this.$Modal.confirm({
-                title: "确定给定编号为"+name+"退款吗?",
-                onOk: () => {
-                    // this.$request('/system/request/remove').data({ id: row.id }).showSuccessTip().success(() => {
-                    //     this.reload()
-                    // }).get()
-                }
-            })
-          }
-        },
-        data () {
-            return {
-              lis: '',
-              loading: false,
-              requestType: [],
-              filter: {
-                  keyword: '',
-                  type: ''
-              },
-              datas: [
-                  {id:11,code:'12345675687',pro:'线上课程',order:'分销',state:'已付款',invoice:'未申请'},
-                  {id:12,code:'22345675687',pro:'线下课程',order:'分销',state:'已付款',invoice:'未申请'},
-                  {id:13,code:'32345675687',pro:'数据报告',order:'分销',state:'已付款',invoice:'未申请'},
-                  {id:14,code:'42345675687',pro:'数据导出',order:'分销',state:'已付款',invoice:'未申请'},
-                  {id:15,code:'52345675687',pro:'VIP订阅',order:'分销',state:'已付款',invoice:'未申请'}
-              ],
-              columns: [
-                  {
-                      title: '订单编号',
-                      key: 'code',
-                      align: 'center'
-                  },
-                  {
-                      title: '产品类型',
-                      key: 'pro',
-                      align: 'center'
-                  },
-                  {
-                      title: '订单类型',
-                      key: 'order',
-                      align: 'center'
-                  },
-                  {
-                      title: '订单时间',
-                      key: 'state',
-                      align: 'center'
-                  },
-                  {
-                      title: '实付金额',
-                      key: 'create_time',
-                      align: 'center'
-                  },
-                  {
-                      title: '订单状态',
-                      key: 'state',
-                      align: 'center'
-                  },
-                  {
-                      title: '发票状态',
-                      key: 'invoice',
-                      align: 'center'
-                  },
-                  {
-                      title: '操作',
-                      slot: 'op',
-                      align: 'center'
-                  },
-              ],
-              list: [],
-              current: {
-                  show: false,
-                  data: {},
-                  tips: ''
-              }
-            }
-        },
-    }
-</script>
-
-<style lang="scss" scoped>
-.ding-dan {
-    h1 {
-        font-size:24px;
-        color:#3f4047;
-        padding: 10px 0 20px 50px;
-    }
-    // .find-btn {
-    //     background: none;
-    //     color:#36a3f7;
-    //     &:focus {
-    //         box-shadow: none;
-    //     }
-    // }
-    .tui-btn {
-        color: #f4516c;
-    }
-    .ser-ipt {
-        width: 162px;
-    }
-}
-</style>

+ 62 - 0
src/views/order/orderDetail.vue

@@ -0,0 +1,62 @@
+<template>
+    <div class="with-detail">
+        <h1>订单管理</h1>
+        <div class="det">
+            <div slot="title" class="right-fund">查看订单</div>
+            <Divider />
+            <v-detail :orderType="proStatus"></v-detail>
+        </div>
+    </div>
+</template>
+
+<script>
+import vDetail from './components/details'
+export default {
+    components: {
+        vDetail
+    },
+    created () {
+        let str = this.$route.query.proType
+        switch (str) {
+            case '线上课程':
+                this.proStatus = '0'
+                break;
+            case '招投标课程':
+                this.proStatus = '1'
+                break;
+            case '数据报告':
+                this.proStatus = '2'
+                break;
+            case '历史数据':
+                this.proStatus = '3'
+                break;
+            case 'VIP订阅':
+                this.proStatus = '8'
+                break;
+        }
+    },
+    data () {
+        return {
+            proStatus: ''
+        }
+    }
+}
+</script>
+
+<style lang="scss" scoped>
+.with-detail {
+    .det {
+        background:#fff;
+        padding: 10px 0;
+    }
+    h1 {
+        padding: 10px 0 20px 10px;
+    }
+    .right-fund {
+        font-size: 20px;
+        color: #575962;
+        padding-left: 100px;
+        margin-top: 14px;
+    }
+}
+</style>

+ 320 - 0
src/views/order/orderList.vue

@@ -0,0 +1,320 @@
+<template>
+  <div class="ding-dan">
+    <h1>订单管理</h1>
+    <table-lists 
+        ref="tableLists" 
+        v-model="list" 
+        :filter="filter" 
+        :sear="sear"
+        :filterSear="2"
+        requestApi="/order/orderList" 
+        @loading="load" 
+        @emptyFilter="emptyFilter"
+        style="background:#fff;padding:10px"
+    >
+      <template slot="filterContent">
+        <FormItem label="产品类型:" :label-width="70">
+            <Select size="large" placeholder="全部" clearable v-model="filter.productType" style="width:90px">
+                <Option v-for="item in proType" :value="item.v" :key="item.v">{{ item.n }}</Option>
+            </Select>
+        </FormItem>
+        <FormItem label="订单类型:" :label-width="70">
+            <Select size="large" placeholder="全部" clearable v-model="filter.orderType" style="width:90px">
+                <Option v-for="item in orderTips" :value="item.v" :key="item.v">{{ item.n }}</Option>
+            </Select>
+        </FormItem>
+        <FormItem label="订单状态:" :label-width="70">
+            <Select size="large" placeholder="全部" clearable v-model="filter.orderStatus" style="width:90px">
+                <Option v-for="item in orderSta" :value="item.v" :key="item.v">{{ item.n }}</Option>
+            </Select>
+        </FormItem>
+        <FormItem label="发票状态:" :label-width="70">
+            <Select size="large" placeholder="全部" clearable v-model="filter.invoiceStatus" style="width:90px">
+                <Option v-for="item in invoiceSta" :value="item.v" :key="item.v">{{ item.n }}</Option>
+            </Select>
+        </FormItem>
+        <FormItem label="订单日期:" :label-width="70">
+            <DatePicker 
+                type="datetime" 
+                size="large" 
+                v-model="dataVal1"
+                placeholder="起始时间" 
+                style="width: 172px" 
+                @on-change="handleChange1"
+            ></DatePicker>
+            <DatePicker 
+                type="datetime" 
+                size="large" 
+                v-model="dataVal2"
+                placeholder="截止时间" 
+                style="width: 172px;margin-left:2px" 
+                @on-change="handleChange2"
+            ></DatePicker>
+        </FormItem>
+        <FormItem label="实付金额:" :label-width="70" style="margin-right: 40px">
+            <Input style="width: 73px" type="text" size="large" v-model="filter.payMoneyMin" placeholder="最小金额" clearable/>
+            <Input style="width: 73px;margin-left: 2px" type="text" size="large" v-model="filter.payMoneyMax" placeholder="最大金额" clearable/>
+        </FormItem>
+      </template>
+      <template slot="filterRight">
+          <Input prefix="md-search" type="text" size="large" v-model="sear.keyword" placeholder="搜索..." clearable class="ser-ipt"/>
+      </template>
+      <Table 
+        size="large" 
+        ellipsis 
+        :loading="loading" 
+        ref="selection" 
+        :columns="columns" 
+        :data="list.lists" 
+        stripe
+      >
+        <template slot-scope="{ row }" slot="type">
+          <field-map :value="row.type" :map="type"></field-map>
+        </template>
+        <template slot-scope="{ row }" slot="_action">
+          <Tooltip :content="row.call" :max-width="500">
+            {{row.action}}
+          </Tooltip>
+        </template>
+        <template slot-scope="{ row }" slot="op">
+          <Button 
+            class="find-btn" 
+            size="small" 
+            type="primary" 
+            style="margin-right:5px"
+            :to="{path:'/order/orderList/orderDetail',query:{id:row.id,proType:row.product_type}}"
+          >查看</Button>
+          <Button 
+            class="find-btn" 
+            size="small" 
+            type="error" 
+            @click="refund(row.id,row.code)"
+          >退款</Button>
+        </template>
+      </Table>
+      <template slot="options">
+        <div style="color:#d7d7d7;font-size:14px">共计{{list.total}}个订单,实付金额¥{{list.money}}</div>
+      </template>
+    </table-lists>
+  </div>
+</template>
+<script>
+export default {
+    methods: {
+        load (val) {
+        this.loading = val
+        },
+        emptyFilter (val) {
+        if (val) {
+            this.filter.keyword = ''
+            this.filter.productType = ''
+            this.filter.orderStatus = ''
+            this.filter.invoiceStatus = ''
+            this.filter.payMoneyMin = ''
+            this.filter.payMoneyMax = ''
+            this.filter.orderTimeEnd = ''
+            this.filter.orderTimeEnd = ''
+            this.dataValue1 = ''
+            this.dataValue2 = ''
+        }
+        },
+        handleChange1 (date) {
+            this.filter.orderTimeStart = date
+        },
+        handleChange2 (date) {
+            this.filter.orderTimeEnd = date
+        },
+        refund (id,name) {
+            this.$Modal.confirm({
+                title: "确定给定编号为"+name+"退款吗?",
+                onOk: () => {
+                    // this.$request('/system/request/remove').data({ id: row.id }).showSuccessTip().success(() => {
+                    //     this.reload()
+                    // }).get()
+                }
+            })
+        }
+    },
+    data () {
+        return {
+            lis: '',
+            loading: false,
+            proType: [
+                {v: '', n: '全部'},
+                {v: '0', n: 'VIP订阅'},
+                {v: '1', n: '数据报告'},
+                {v: '2', n: '历史数据'},
+                {v: '3', n: '招投标课程'},
+                {v: '4', n: '线上课程'},
+            ],
+            orderTips: [
+                {v: '', n: '全部'},
+                {v: '0', n: '分销'},
+                {v: '1', n: '直销'}
+            ],
+            orderSta: [
+                {v: '', n: '全部'},
+                {v: '-2', n: '已取消'},
+                {v: '0', n: '未支付'},
+                {v: '1', n: '已支付'}
+            ],
+            invoiceSta: [
+                {v: '', n: '全部'},
+                {v: '-1', n: '失败'},
+                {v: '0', n: '开票中'},
+                {v: '1', n: '成功'}
+            ],
+            filter: {
+                // keyword: '',
+                productType: '',
+                orderType: '',
+                orderStatus: '',
+                invoiceStatus: '',
+                orderTimeStart: '',
+                orderTimeEnd: '',
+                payMoneyMin: '',
+                payMoneyMax: ''
+            },
+            sear: {
+                keyword: ''
+            },
+            dataVal1: '',
+            dataVal2: '',
+            columns: [
+                {
+                    title: '订单编号',
+                    key: 'order_code',
+                    align: 'center'
+                },
+                {
+                    title: '产品类型',
+                    key: 'product_type',
+                    align: 'center'
+                },
+                {
+                    title: '订单类型',
+                    key: 'filter',
+                    align: 'center',
+                    render: (h, {row}) => {
+                        let word = JSON.parse(row.filter).disWord
+                        return h('span', word ? '分销' : '直销')
+                    }
+                },
+                {
+                    title: '订单时间',
+                    key: 'create_time',
+                    width: '170',
+                    align: 'center'
+                },
+                {
+                    title: '实付金额',
+                    key: 'pay_money',
+                    align: 'center',
+                    render: (h, {row}) => {
+                    return h('span','¥' + parseFloat(row.pay_money?row.pay_money/100:0).toLocaleString('en-US'))
+                    }
+                },
+                {
+                    title: '订单状态',
+                    key: 'order_status',
+                    align: 'center',
+                    render: (h, {row}) => {
+                        switch (row.order_status) {
+                        case -2 :
+                            return h('div', {
+                                style: {
+                                    color: '#ffb822'
+                                }
+                            }, [
+                                h('span','已取消')
+                            ])
+                            break;
+                        case 0 :
+                            return h('div', {
+                                style: {
+                                    color: '#f4516c'
+                                }
+                            }, [
+                                h('span','未支付')
+                            ])
+                            break;
+                        case 1 :
+                            return h('div', {
+                                style: {
+                                    color: '#34bfa3'
+                                }
+                            }, [
+                                h('span', '已支付')
+                            ])
+                            break;
+                        }
+                    }
+                },
+                {
+                    title: '发票状态',
+                    key: 'invoice_status',
+                    align: 'center',
+                    render: (h, {row}) => {
+                        switch (row.invoice_status) {
+                        case -1 :
+                            return h('div', {
+                                style: {
+                                    color: '#f4516c'
+                                }
+                            }, [
+                                h('span','失败')
+                            ])
+                            break;
+                        case 0 :
+                            return h('div', {
+                                style: {
+                                    color: '#ffb822'
+                                }
+                            }, [
+                                h('span','开票中')
+                            ])
+                            break;
+                        case 1 :
+                            return h('div', {
+                                style:{
+                                    color: '#34bfa3'
+                                }
+                            }, [
+                                h('span','成功')
+                            ])
+                            break;
+                        }
+                    }
+                },
+                {
+                    title: '操作',
+                    slot: 'op',
+                    align: 'center'
+                },
+            ],
+            list: [],
+            current: {
+                show: false,
+                data: {},
+                tips: ''
+            }
+        }
+    },
+}
+</script>
+
+<style lang="scss" scoped>
+.ding-dan {
+    h1 {
+        font-size:24px;
+        color:#3f4047;
+        padding: 10px 0 20px 10px;
+    }
+    .tui-btn {
+        color: #f4516c;
+    }
+    .ser-ipt {
+        width: 162px;
+    }
+}
+</style>

+ 113 - 61
src/views/sales/commissionList.vue

@@ -5,34 +5,54 @@
         ref="tableLists" 
         ref="tableLists" 
         v-model="list" 
         v-model="list" 
         :filter="filter" 
         :filter="filter" 
-        requestApi="/system/request/lists" 
+        :sear="sear"
+        :filterSear="2"
+        requestApi="/sales/commissionList" 
         @loading="load" 
         @loading="load" 
+        @emptyFilter="emptyFilter"
         style="background:#fff;padding:10px"
         style="background:#fff;padding:10px"
     >
     >
       <template slot="filterContent">
       <template slot="filterContent">
         <FormItem label="产品:" :label-width="50">
         <FormItem label="产品:" :label-width="50">
-            <Select placeholder="全部" clearable v-model="filter.type" style="width:100px">
-                <Option value="全部">全部</Option>
-                <Option v-for="item in type" :value="item.v" :key="item.v">{{ item.n }}</Option>
+            <Select size="large" placeholder="全部" clearable v-model="filter.product" style="width:100px">
+                <Option v-for="item in product" :value="item.v" :key="item.v">{{ item.n }}</Option>
             </Select>
             </Select>
         </FormItem>
         </FormItem>
-        <FormItem label="销售金额:" :label-width="80">
-            <Input style="width: 65px" type="text" v-model="filter.keyword1" placeholder="最小金额" clearable/>
-            <Input style="width: 65px;margin-left: 2px" type="text" v-model="filter.keyword2" placeholder="最大金额" clearable/>
+        <FormItem label="销售金额:" :label-width="70">
+            <Input style="width: 73px" type="text" size="large" v-model="filter.salesMin" placeholder="最小金额" clearable/>
+            <Input style="width: 73px;margin-left: 2px" type="text" size="large" v-model="filter.salesMax" placeholder="最大金额" clearable/>
         </FormItem>
         </FormItem>
-        <FormItem label="佣金金额:" :label-width="80">
-            <Input style="width: 65px" type="text" v-model="filter.keyword3" placeholder="最小金额" clearable/>
-            <Input style="width: 65px;margin-left: 2px" type="text" v-model="filter.keyword4" placeholder="最大金额" clearable/>
+        <FormItem label="佣金金额:" :label-width="70">
+            <Input style="width: 73px" type="text" size="large" v-model="filter.commissionMin" placeholder="最小金额" clearable/>
+            <Input style="width: 73px;margin-left: 2px" type="text" size="large" v-model="filter.commissionMax" placeholder="最大金额" clearable/>
         </FormItem>
         </FormItem>
-        <FormItem label="订单日期:" :label-width="80" style="margin-right: 40px">
-            <DatePicker type="date" placeholder="起始时间" style="width: 102px" @on-change="handleChange1"></DatePicker>
-            <DatePicker type="date" placeholder="截止时间" style="width: 102px;margin-left:2px" @on-change="handleChange2"></DatePicker>
+        <FormItem label="订单日期:" :label-width="70" style="margin-right: 30px">
+            <DatePicker 
+                type="datetime" 
+                size="large"
+                v-model="dataValue1"
+                placeholder="起始时间" 
+                format="yyyy-MM-dd HH:mm:ss"
+                style="width: 172px"
+                @on-change="handleChange1"
+                clearable
+                @on-clear="handleClear"
+            ></DatePicker>
+            <DatePicker 
+                type="datetime" 
+                size="large"
+                v-model="dataValue2"
+                placeholder="截止时间" 
+                format="yyyy-MM-dd HH:mm:ss"
+                style="width:172px; margin-left:2px"
+                @on-change="handleChange2"
+            ></DatePicker>
         </FormItem>
         </FormItem>
       </template>
       </template>
       <template slot="filterRight">
       <template slot="filterRight">
-          <Input prefix="md-search" type="text" v-model="filter.keyword7" placeholder="搜索..." clearable class="ser-ipt"/>
+          <Input prefix="md-search" type="text" size="large" v-model="sear.keyword" placeholder="搜索..." clearable class="ser-ipt"/>
       </template>
       </template>
-      <Table ellipsis :loading="loading" ref="selection" :columns="columns" :data="list.lists" stripe>
+      <Table size="large" ellipsis :loading="loading" ref="selection" :columns="columns" :data="list.lists" stripe>
         <template slot-scope="{ row }" slot="type">
         <template slot-scope="{ row }" slot="type">
           <field-map :value="row.type" :map="type"></field-map>
           <field-map :value="row.type" :map="type"></field-map>
         </template>
         </template>
@@ -43,13 +63,15 @@
         </template>
         </template>
         <template slot-scope="{ row }" slot="op">
         <template slot-scope="{ row }" slot="op">
           <Button 
           <Button 
-            class="find-btn" 
             size="small" 
             size="small" 
             type="primary" 
             type="primary" 
-            :to="{path:'/order/manageList/manageDetail',query:{id:row.id}}"
+            :to="{path:'/order/orderList/orderDetail',query:{id:row.product_name}}"
           >订单</Button>
           >订单</Button>
         </template>
         </template>
       </Table>
       </Table>
+      <template slot="options">
+        <div style="color:#d7d7d7;font-size:14px">共计{{list.total}}条佣金记录</div>
+      </template>
     </table-lists>
     </table-lists>
   </div>
   </div>
 </template>
 </template>
@@ -59,79 +81,116 @@
 
 
     export default {
     export default {
         computed: {
         computed: {
-            type () {
+            product () {
                 return this.requestType.map((item) => {
                 return this.requestType.map((item) => {
                     return { v: item.type, n: item.name }
                     return { v: item.type, n: item.name }
                 })
                 })
             },
             },
-            currentTypeDescription () {
-                let description = "";
-                this.requestType.forEach((item)=>{
-                    if (item.type === this.current.data.type){
-                        description = item.description
-                    }
-                })
-                return marked(description)
-            }
-        },
-        created () {
-            this.$request('/system/request/type').success((r) => {
-                this.requestType = r.data
-            }).get()
+            // currentTypeDescription () {
+            //     let description = "";
+            //     this.requestType.forEach((item)=>{
+            //         if (item.type === this.current.data.type){
+            //             description = item.description
+            //         }
+            //     })
+            //     return marked(description)
+            // }
         },
         },
         methods: {
         methods: {
-          load (val) {
-            this.loading = val
-          },
-          handleChange1 (date) {
-              console.log(date)
-          },
-          handleChange2 (date) {
-              console.log(date)
-          }
+            load (val) {
+                this.loading = val
+            },
+            emptyFilter (val) {
+                if (val) {
+                    this.filter.keyword = ''
+                    this.filter.product = ''
+                    this.filter.salesMin = ''
+                    this.filter.salesMax = ''
+                    this.filter.commissionMin = ''
+                    this.filter.commissionMax = ''
+                    this.filter.orderTimeMin = ''
+                    this.filter.orderTimeMax = ''
+                    this.dataValue1=''
+                    this.dataValue2=''
+                }
+            },
+            handleChange1 (date) {
+                this.filter.orderTimeMin = date
+            },
+            handleChange2 (date) {
+                this.filter.orderTimeMax = date
+            },
+            handleClear (val) {
+                this.filter.orderTimeMin = ''
+            }
         },
         },
         data () {
         data () {
             return {
             return {
               lis: '',
               lis: '',
               loading: false,
               loading: false,
-              requestType: [],
+              dataValue1: '',
+              dataValue2: '',
+              requestType: [
+                  {type: '', name: '全部'},
+                  {type: '1', name: 'VIP订阅'},
+                  {type: '2', name: '数据导出'},
+                  {type: '3', name: '数据报告'}
+              ],
               filter: {
               filter: {
-                  keyword: '',
-                  type: ''
+                //   keyword: '',
+                  product: '',
+                  salesMin: '',
+                  salesMax: '',
+                  commissionMin: '',
+                  commissionMax: '',
+                  orderTimeMin: '',
+                  orderTimeMax: ''
+              },
+              sear: {
+                keyword: '',
               },
               },
               columns: [
               columns: [
                   {
                   {
                       title: '佣金单号',
                       title: '佣金单号',
-                      key: 'name',
+                      key: 'code',
                       align: 'center'
                       align: 'center'
                   },
                   },
                   {
                   {
                       title: '手机号',
                       title: '手机号',
-                      key: 'name',
+                      key: 'phone',
                       align: 'center'
                       align: 'center'
                   },
                   },
                   {
                   {
                       title: '订单日期',
                       title: '订单日期',
-                      key: 'create_time',
+                      key: 'createtime',
+                      width: '170',
                       align: 'center'
                       align: 'center'
                   },
                   },
                   {
                   {
                       title: '产品名称',
                       title: '产品名称',
-                      key: 'create_time',
+                      key: 'product_name',
                       align: 'center'
                       align: 'center'
                   },
                   },
                   {
                   {
                       title: '销售金额',
                       title: '销售金额',
-                      key: 'create_time',
-                      align: 'center'
+                      key: 'sale_money',
+                      align: 'center',
+                      render: (h, {row}) => {
+                        return h('span','¥' + parseFloat(row.sale_money/100).toLocaleString('en-US'))
+                      }
                   },
                   },
                   {
                   {
                       title: '佣金比例',
                       title: '佣金比例',
+                      key: 'commission_rate',
                       align: 'center'
                       align: 'center'
                   },
                   },
                   {
                   {
                       title: '佣金金额',
                       title: '佣金金额',
-                      align: 'center'
+                      key: 'commission',
+                      align: 'center',
+                      render: (h, {row}) => {
+                        return h('span','¥' + parseFloat(row.commission/100).toLocaleString('en-US'))
+                      }
                   },
                   },
                   {
                   {
                       title: '操作',
                       title: '操作',
@@ -153,17 +212,10 @@
 <style lang="scss" scoped>
 <style lang="scss" scoped>
 .yong-jin {
 .yong-jin {
     h1 {
     h1 {
-    font-size:24px;
-    color:#3f4047;
-    padding: 10px 0 20px 50px;
+        font-size:24px;
+        color:#3f4047;
+        padding: 10px 0 20px 10px;
     }
     }
-    // .find-btn {
-    //     background: none;
-    //     color:#36a3f7;
-    //     &:focus {
-    //         box-shadow: none;
-    //     }
-    // }
     .ser-ipt {
     .ser-ipt {
     
     
     width: 162px;
     width: 162px;

+ 59 - 23
src/views/sales/components/details.vue

@@ -2,52 +2,52 @@
     <div class="details">
     <div class="details">
         <!-- 提现列表详情 -->
         <!-- 提现列表详情 -->
         <div class="infor-card" v-if="deType == 'tixian'">
         <div class="infor-card" v-if="deType == 'tixian'">
-            <div v-if="peType == '个人'">
+            <div v-if="peType == '1'">
                 <div class="con">
                 <div class="con">
                     <span>支付宝实名</span>
                     <span>支付宝实名</span>
-                    <span class="spa2">是打发发而</span>
+                    <span class="spa2">{{details.name}}</span>
                 </div>
                 </div>
                 <Divider />
                 <Divider />
                 <div class="con">
                 <div class="con">
                     <span>支付宝账户</span>
                     <span>支付宝账户</span>
-                    <span class="spa2">134567768</span>
+                    <span class="spa2">{{details.account}}</span>
                 </div>
                 </div>
             </div>
             </div>
             <div v-else>
             <div v-else>
                 <div class="con">
                 <div class="con">
                     <span>公司名称</span>
                     <span>公司名称</span>
-                    <span class="spa2">北京拓普</span>
+                    <span class="spa2">{{details.name}}</span>
                 </div>
                 </div>
                 <Divider />
                 <Divider />
                 <div class="con">
                 <div class="con">
                     <span>银行名称</span>
                     <span>银行名称</span>
-                    <span class="spa2">13849537934834</span>
+                    <span class="spa2">{{details.openBank}}</span>
                 </div>
                 </div>
             </div>
             </div>
             <Divider />
             <Divider />
             <div class="con">
             <div class="con">
                 <span>提现方式</span>
                 <span>提现方式</span>
-                <span class="spa2">卡卡罗特</span>
+                <span class="spa2">{{details.type == '1'?'支付宝':'对公转账'}}</span>
             </div>
             </div>
             <Divider />
             <Divider />
             <div class="con">
             <div class="con">
-                <span>提现金额</span>
-                <span class="spa2">588</span>
+                <span>提现金额</span>
+                <span class="spa2">¥{{details.money}}</span>
             </div>
             </div>
             <Divider />
             <Divider />
             <div class="con">
             <div class="con">
                 <span>提现单号</span>
                 <span>提现单号</span>
-                <span class="spa2">1287321837213871391</span>
+                <span class="spa2">{{details.code}}</span>
             </div>
             </div>
             <Divider />
             <Divider />
             <div class="con">
             <div class="con">
                 <span>提现时间</span>
                 <span>提现时间</span>
-                <span class="spa2">卡卡罗特</span>
+                <span class="spa2">{{details.createtime}}</span>
             </div>
             </div>
             <Divider />
             <Divider />
             <div class="con">
             <div class="con">
                 <span>当前状态</span>
                 <span>当前状态</span>
-                <span class="spa2">卡卡罗特</span>
+                <span class="spa2">{{details.cashout_status | casStatus}}</span>
             </div>
             </div>
             <Divider />
             <Divider />
         </div>
         </div>
@@ -55,47 +55,47 @@
         <div class="infor-card" v-else>
         <div class="infor-card" v-else>
             <div class="con">
             <div class="con">
                 <span>手机号</span>
                 <span>手机号</span>
-                <span class="spa2">北京拓普</span>
+                <span class="spa2">{{settleDet.phone}}</span>
             </div>
             </div>
             <Divider />
             <Divider />
             <div class="con">
             <div class="con">
                 <span>结算时间</span>
                 <span>结算时间</span>
-                <span class="spa2">北京拓普</span>
+                <span class="spa2">{{settleDet.createtime}}</span>
             </div>
             </div>
             <Divider />
             <Divider />
             <div class="con">
             <div class="con">
                 <span>销售金额</span>
                 <span>销售金额</span>
-                <span class="spa2">北京拓普</span>
+                <span class="spa2">¥{{settleDet.sale_cash}}</span>
             </div>
             </div>
             <Divider />
             <Divider />
             <div class="con">
             <div class="con">
                 <span>佣金金额</span>
                 <span>佣金金额</span>
-                <span class="spa2">13849537934834</span>
+                <span class="spa2">¥{{settleDet.commission}}</span>
             </div>
             </div>
             <Divider />
             <Divider />
             <div class="con">
             <div class="con">
                 <span>个税金额</span>
                 <span>个税金额</span>
-                <span class="spa2">卡卡罗特</span>
+                <span class="spa2">¥{{settleDet.tax_cash}}</span>
             </div>
             </div>
             <Divider />
             <Divider />
             <div class="con">
             <div class="con">
                 <span>认证金额</span>
                 <span>认证金额</span>
-                <span class="spa2">588</span>
+                <span class="spa2">¥{{settleDet.auth_cash}}</span>
             </div>
             </div>
             <Divider />
             <Divider />
             <div class="con">
             <div class="con">
                 <span>提现金额</span>
                 <span>提现金额</span>
-                <span class="spa2">678</span>
+                <span class="spa2">¥{{settleDet.can_cash}}</span>
             </div>
             </div>
             <Divider />
             <Divider />
-            <div class="con">
+            <!-- <div class="con">
                 <span>当前状态</span>
                 <span>当前状态</span>
-                <span class="spa2">卡卡罗特</span>
+                <span class="spa2">{{settleDet.}}</span>
             </div>
             </div>
-            <Divider />
+            <Divider /> -->
             <div class="con">
             <div class="con">
                 <span>结算单号</span>
                 <span>结算单号</span>
-                <span class="spa2">1287321837213871391</span>
+                <span class="spa2">{{settleDet.code}}</span>
             </div>
             </div>
             <Divider />
             <Divider />
         </div>
         </div>
@@ -107,7 +107,43 @@ export default {
     props:{
     props:{
         deType: String,
         deType: String,
         peType: String
         peType: String
-    }
+    },
+    created() {
+        let rout = this.$route.query
+        if (rout.deType == 'tixian') {
+            this.$request('/sales/withdrawList/withdrawDetail').data({
+                uid: rout.uid,
+                id: rout.id,
+                type: rout.peType
+            }).success((r) => {
+                this.details = r.data;
+            }).get()
+        } else {
+            this.$request('/sales/settleList/settleDetails').data({
+                uid: rout.uid,
+                id: rout.id
+            }).success((r) => {
+                this.settleDet = r.data;
+            }).get()
+        }
+    },
+    data () {
+        return {
+            details: [],
+            settleDet: []
+        }
+    },
+    filters: {
+        casStatus (val) {
+            if (val = -1) {
+                return "失败"
+            } else if (val = 0) {
+                return "已申请"
+            } else {
+                return "已完成"
+            }
+        }
+    },
 }
 }
 </script>
 </script>
 
 

+ 122 - 105
src/views/sales/partnerDetail.vue

@@ -1,16 +1,16 @@
 <template>
 <template>
     <div class="partner-detail">
     <div class="partner-detail">
         <h1>剑鱼伙伴</h1>
         <h1>剑鱼伙伴</h1>
-        <Row>
-            <Col :lg="6" class="top-col">
+        <Row class="par-row">
+            <Col style="float:left;width: 20%" class="top-col">
                 <Card>
                 <Card>
                     <div slot="title" class="top-tit">
                     <div slot="title" class="top-tit">
                         <div class="avatr">
                         <div class="avatr">
-                            <img src="../../assets/images/login_logo.png" alt="">
+                            <img :src="parDetail.headImg" alt="">
                         </div>
                         </div>
-                        <div class="names">卡卡罗特</div>
-                        <div class="msg1">183 8923 9821</div>
-                        <div class="msg1 msg2">mark.andre@gmail.com</div>
+                        <div class="names">{{parDetail.name}}</div>
+                        <div class="msg1"><span>{{parDetail.phone}}</span></div>
+                        <div class="msg1 msg2"><span>{{parDetail.email}}</span></div>
                     </div>
                     </div>
                     <div class="bot-tit">
                     <div class="bot-tit">
                         <div class="over-view" @click="tabClick(1)" :class="{active:infor === 1}"><span>概览</span></div>
                         <div class="over-view" @click="tabClick(1)" :class="{active:infor === 1}"><span>概览</span></div>
@@ -19,96 +19,101 @@
                     </div>
                     </div>
                 </Card>
                 </Card>
             </Col>
             </Col>
-            <Col :lg="17">
+            <Col style="float:left;width: 77.5%">
                 <Card v-if="infor == 1">
                 <Card v-if="infor == 1">
                     <div slot="title" class="right-fund">概览</div>
                     <div slot="title" class="right-fund">概览</div>
                     <div class="msg-card">
                     <div class="msg-card">
                         <Card>
                         <Card>
                             <div class="add-time">
                             <div class="add-time">
                                 <div class="time1"><img src="../../assets/images/riqi.svg" />加入日期</div>
                                 <div class="time1"><img src="../../assets/images/riqi.svg" />加入日期</div>
-                                <div class="time2">2020.02.02</div>
+                                <div class="time2">{{parDetail.createtime}}</div>
                             </div>
                             </div>
                         </Card>
                         </Card>
                         <Card>
                         <Card>
                             <div class="add-time">
                             <div class="add-time">
-                                <div class="time1"><img src="../../assets/images/riqi.svg" />最后使用日期</div>
-                                <div class="time2">2020.02.02</div>
+                                <div class="time1"><img src="../../assets/images/riqi.png" />最后使用日期</div>
+                                <div class="time2">{{parDetail.lastlogintime}}</div>
                             </div>
                             </div>
                         </Card>
                         </Card>
                         <Card>
                         <Card>
                             <div class="add-time">
                             <div class="add-time">
                                 <div class="time1"><img src="../../assets/images/yongjin.svg" />累计销售额</div>
                                 <div class="time1"><img src="../../assets/images/yongjin.svg" />累计销售额</div>
-                                <div class="time2">2020.02.02</div>
+                                <div class="time2">¥{{(parDetail.dis_sales/100).toLocaleString('en-US')}}</div>
                             </div>
                             </div>
                         </Card>
                         </Card>
                         <Card>
                         <Card>
                             <div class="add-time">
                             <div class="add-time">
                                 <div class="time1"><img src="../../assets/images/dingdan.svg" />累计销售订单</div>
                                 <div class="time1"><img src="../../assets/images/dingdan.svg" />累计销售订单</div>
-                                <div class="time2">2020.02.02</div>
+                                <div class="time2">{{parDetail.dis_order}}</div>
                             </div>
                             </div>
                         </Card>
                         </Card>
                         <Card>
                         <Card>
                             <div class="add-time">
                             <div class="add-time">
                                 <div class="time1"><img src="../../assets/images/yongjin.svg" />累计佣金</div>
                                 <div class="time1"><img src="../../assets/images/yongjin.svg" />累计佣金</div>
-                                <div class="time2">2020.02.02</div>
+                                <div class="time2">¥{{(parDetail.dis_commission/100).toLocaleString('en-US')}}</div>
                             </div>
                             </div>
                         </Card>
                         </Card>
                     </div>
                     </div>
-                    <Table ellipsis :loading="loading" :columns="column1" :data="data" stripe style="margin-top: 30px">
-                        <template slot-scope="{ row }" slot="opt"></template>
-                    </Table>
+                    <Table 
+                        ellipsis 
+                        ref="selection" 
+                        :loading="loading" 
+                        :columns="column1" 
+                        :data="datas1" 
+                        stripe 
+                        style="margin-top: 30px"
+                    ></Table>
                 </Card>
                 </Card>
                 <Card v-else-if="infor == 2">
                 <Card v-else-if="infor == 2">
                     <div slot="title" class="right-fund">基本信息</div>
                     <div slot="title" class="right-fund">基本信息</div>
                     <div class="infor-card">
                     <div class="infor-card">
-                        <div class="con" v-if="types">
+                        <div class="con" v-if="types == '2'">
                             <span>企业名称</span>
                             <span>企业名称</span>
-                            <span class="spa2">北京拓普</span>
+                            <span class="spa2">{{parDetail.name}}</span>
                         </div>
                         </div>
                         <div class="con" v-else>
                         <div class="con" v-else>
                             <span>用户名</span>
                             <span>用户名</span>
-                            <span class="spa2">卡卡罗特</span>
+                            <span class="spa2">{{parDetail.name}}</span>
                         </div>
                         </div>
                         <Divider />
                         <Divider />
                         <div class="con">
                         <div class="con">
                             <span>手机</span>
                             <span>手机</span>
-                            <span class="spa2">卡卡罗特</span>
+                            <span class="spa2">{{parDetail.phone}}</span>
                         </div>
                         </div>
                         <Divider />
                         <Divider />
                         <div class="con">
                         <div class="con">
                             <span>邮箱</span>
                             <span>邮箱</span>
-                            <span class="spa2">卡卡罗特</span>
+                            <span class="spa2">{{parDetail.email}}</span>
                         </div>
                         </div>
                         <Divider />
                         <Divider />
                         <div class="con">
                         <div class="con">
                             <span>类型</span>
                             <span>类型</span>
-                            <span class="spa2">卡卡罗特</span>
+                            <span class="spa2">{{parDetail.type == '1'?'个人':'企业'}}</span>
                         </div>
                         </div>
                         <Divider />
                         <Divider />
                         <div class="con">
                         <div class="con">
                             <span>渠道</span>
                             <span>渠道</span>
-                            <span class="spa2">卡卡罗特</span>
+                            <span class="spa2">{{parDetail.channel}}</span>
                         </div>
                         </div>
                         <Divider />
                         <Divider />
-                        <div class="con" v-if="types">
+                        <div class="con" v-if="types == '2'">
                             <span class="spa1">营业执照</span>
                             <span class="spa1">营业执照</span>
                             <img @click="fruit" src="../../assets/images/frut.jpg"/>
                             <img @click="fruit" src="../../assets/images/frut.jpg"/>
                         </div>
                         </div>
-                        <Divider v-if="types" />
+                        <Divider v-if="types == '2'" />
                     </div>
                     </div>
                 </Card>
                 </Card>
                 <Card v-else>
                 <Card v-else>
                     <div slot="title" class="right-fund">资金明细</div>
                     <div slot="title" class="right-fund">资金明细</div>
-                    <Table ellipsis :loading="loading" :columns="column2" :data="data" stripe style="margin-top: 10px">
-                        <template slot-scope="{ row }" slot="opt">
-                            <Button 
-                                class="find-btn" 
-                                size="small" 
-                                type="primary" 
-                                :to="{path:'/sales/commissionList'}"
-                            >详情</Button>
-                        </template>
-                    </Table>
+                    <Table 
+                        ellipsis 
+                        ref="selection" 
+                        :loading="loading" 
+                        :columns="column2" 
+                        :data="data" 
+                        stripe 
+                        style="margin-top: 10px"
+                    ></Table>
                 </Card>
                 </Card>
             </Col>
             </Col>
         </Row>
         </Row>
@@ -120,7 +125,26 @@
 </template>
 </template>
 
 
 <script>
 <script>
+import { ChangeDate } from '../../assets/js/date'
 export default {
 export default {
+    created () {
+        let rout = this.$route.query
+        this.$request('/sales/partnerList/partnerDetail').data({
+            uid: rout.uid,
+            id: rout.id
+        }).success((r) => {
+            this.parDetail = r.data;
+            this.parDetail.createtime = ChangeDate(this.parDetail.createtime);
+            this.parDetail.lastlogintime = ChangeDate(this.parDetail.lastlogintime)
+        }).get()
+
+        this.$request('/sales/partnerList/overview').data({
+            uid: rout.uid,
+            id: rout.id
+        }).success((r) => {
+            this.datas1 = r.data;
+        }).get()
+    },
     methods: {
     methods: {
         load(val) {
         load(val) {
             this.loading = val
             this.loading = val
@@ -135,64 +159,45 @@ export default {
     data () {
     data () {
         return {
         return {
             loading: false,
             loading: false,
+            parDetail: [],
             infor: 1,
             infor: 1,
-            types: 1,
+            types: this.$route.query.type,
             preview: false,
             preview: false,
-            data: [
-                {
-                    name: 'VIP订阅',
-                    slat: '¥293.09',
-                    _action: 3,
-                    money: '¥293.09',
-                    aver: '¥293.09'
-                },
-                {
-                    name: 'VIP订阅',
-                    slat: '¥293.09',
-                    _action: 3,
-                    money: '¥293.09',
-                    aver: '¥293.09'
-                },
-                {
-                    name: 'VIP订阅',
-                    slat: '¥293.09',
-                    _action: 3,
-                    money: '¥293.09',
-                    aver: '¥293.09'
-                },
-                {
-                    name: 'VIP订阅',
-                    slat: '¥293.09',
-                    _action: 3,
-                    money: '¥293.09',
-                    aver: '¥293.09'
-                }
-            ],
+            datas1: [],
             column1: [
             column1: [
                   {
                   {
                       title: '产品名称',
                       title: '产品名称',
-                      key: 'name',
+                      key: 'product_name',
                       align: 'center'
                       align: 'center'
                   },
                   },
                   {
                   {
                       title: '累计销售额',
                       title: '累计销售额',
-                      key: 'slat',
-                      align: 'center'
+                      key: 'sale_money_sum',
+                      align: 'center',
+                      render: (h, {row}) => {
+                        return h('span','¥' + parseFloat(row.sale_money_sum/100).toLocaleString('en-US'))
+                      }
                   },
                   },
                   {
                   {
                       title: '累计销售订单',
                       title: '累计销售订单',
-                      key: '_action',
+                      key: 'count',
                       align: 'center'
                       align: 'center'
                   },
                   },
                   {
                   {
                       title: '累计佣金',
                       title: '累计佣金',
-                      key: 'money',
-                      align: 'center'
+                      key: 'commission_sum',
+                      align: 'center',
+                      render: (h, {row}) => {
+                        return h('span','¥' + parseFloat(row.commission_sum/100).toLocaleString('en-US'))
+                      }
                   },
                   },
                   {
                   {
                       title: '平均佣金',
                       title: '平均佣金',
-                      key: 'money',
-                      align: 'center'
+                      key: 'average',
+                      align: 'center',
+                      render: (h, {row}) => {
+                        return h('span','¥' + parseFloat(row.average/100).toLocaleString('en-US'))
+                      }
                   }
                   }
               ],
               ],
             column2: [
             column2: [
@@ -214,12 +219,10 @@ export default {
                   {
                   {
                       title: '金额',
                       title: '金额',
                       key: 'money',
                       key: 'money',
-                      align: 'center'
-                  },
-                  {
-                      title: '操作',
-                      slot: 'opt',
-                      align: 'center'
+                      align: 'center',
+                      render: (h, {row}) => {
+                        return h('span','¥' + parseFloat(row.money/100).toLocaleString('en-US'))
+                      }
                   }
                   }
               ]
               ]
         }
         }
@@ -229,11 +232,15 @@ export default {
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
 .partner-detail {
 .partner-detail {
-    padding-left: 20px;
+    // padding-left: 20px;
+    .par-row {
+        background:#Fff;
+        padding:20px 0 20px 15px;
+    }
     h1 {
     h1 {
         font-size:24px;
         font-size:24px;
         color:#3f4047;
         color:#3f4047;
-        padding: 10px 0 20px 30px;
+        padding: 10px 0 20px 10px;
     }
     }
     .top-col {
     .top-col {
         margin-right: 20px;
         margin-right: 20px;
@@ -250,9 +257,10 @@ export default {
         display: flex;
         display: flex;
         flex-direction: column;
         flex-direction: column;
         align-items: center;
         align-items: center;
+        padding: 0 25px;
         .avatr {
         .avatr {
-            width: 126px; 
-            height: 126px; 
+            width: 80px; 
+            height: 80px; 
             border: 2px solid #f4f5f8;
             border: 2px solid #f4f5f8;
             border-radius: 63px;
             border-radius: 63px;
             overflow: hidden;
             overflow: hidden;
@@ -260,30 +268,35 @@ export default {
             display: flex;
             display: flex;
             justify-content: center;
             justify-content: center;
             align-items: center;
             align-items: center;
-            img {
-                width: 100px;
-                height: 100px;
-            }
         }
         }
         .names {
         .names {
-            font-size: 20px;
+            line-height: 23px;
+            font-size: 16px;
             font-weight: 700;
             font-weight: 700;
             color: #1b1c1e;
             color: #1b1c1e;
             margin-bottom: 15px;
             margin-bottom: 15px;
         }
         }
         .msg1 {
         .msg1 {
-            width: 200px;
+            width: 100%;
+            // padding: 0 30px;
+            span {
+            display: block;
+            width: 100%;
             height: 32px;
             height: 32px;
-            line-height: 32px;
+            line-height: 20px;
             color: #7b7e8a;
             color: #7b7e8a;
-            background: url(../../assets/images/shoujihao.svg) no-repeat left center; 
-            background-size: 26px 26px;
+            background: url(../../assets/images/shoujihao.svg) no-repeat 6px top; 
+            background-size: 20px 20px;
             padding-left: 40px;
             padding-left: 40px;
+            // margin-left: 10px;
+            word-break:break-all;
+            }
         }
         }
         .msg2 {
         .msg2 {
-            background: url(../../assets/images/youxiang.svg) no-repeat left center;
-            background-size: 26px 26px;
-            margin-top: 5px;
+            span {
+            background: url(../../assets/images/youxiang.svg) no-repeat 6px top;
+            background-size: 20px 20px;
+            }
         }
         }
     }
     }
     .bot-tit {
     .bot-tit {
@@ -304,9 +317,10 @@ export default {
                 }
                 }
             }
             }
             span {
             span {
-                width: 200px;
+                width: 100%;
                 background-size: 20px 20px!important;
                 background-size: 20px 20px!important;
                 padding-left: 40px;
                 padding-left: 40px;
+                margin: 0 25px;
             }
             }
         }
         }
         .over-view {
         .over-view {
@@ -319,8 +333,11 @@ export default {
                 background: url(../../assets/images/xinxi.svg) no-repeat 6px center; 
                 background: url(../../assets/images/xinxi.svg) no-repeat 6px center; 
             }
             }
             i {
             i {
+                display: inline-block;
+                width: 70px;
                 color: #70b603;
                 color: #70b603;
-                margin-left: 40px;
+                text-align: right;
+                // margin-left: 40px;
             }
             }
         }
         }
         .fund {
         .fund {
@@ -343,7 +360,7 @@ export default {
         align-items: center;
         align-items: center;
         .ivu-card {
         .ivu-card {
             overflow:hidden;
             overflow:hidden;
-            width: 220px;
+            width: 252px;
         }
         }
         .ivu-card:not(:last-child) {
         .ivu-card:not(:last-child) {
             margin-right: 20px;
             margin-right: 20px;
@@ -357,19 +374,19 @@ export default {
             .time1 {
             .time1 {
                 display: flex;
                 display: flex;
                 flex-direction: initial;
                 flex-direction: initial;
+                justify-content: center;
                 align-items: center;
                 align-items: center;
                 width: 100%;
                 width: 100%;
-                height: 50px;
-                font-size: 15px;
+                height: 40px;
+                font-size: 14px;
                 img {
                 img {
-                    width: 50px;
-                    height: 50px;
-                    margin-right: 20px;
+                    width: 24px;
+                    height: 24px;
+                    margin-right: 8px;
                 }
                 }
             }
             }
             .time2 {
             .time2 {
                 font-size: 18px;
                 font-size: 18px;
-                margin-top: 20px;
             }
             }
         }
         }
     }
     }

+ 132 - 118
src/views/sales/partnerList.vue

@@ -1,144 +1,165 @@
 <template>
 <template>
   <div class="huo-ban">
   <div class="huo-ban">
     <h1>剑鱼伙伴</h1>
     <h1>剑鱼伙伴</h1>
-    <table-lists ref="tableLists" v-model="list" :filter="filter" requestApi="/system/request/lists" @loading="load" style="background:#fff;padding:10px">
+    <table-lists 
+      ref="tableLists" 
+      v-model="list" 
+      :filter="filter" 
+      :sear="sear"
+      :filterSear="2"
+      requestApi="/sales/partnerList" 
+      @loading="load" 
+      @emptyFilter="emptyFilter" 
+      style="background:#fff;padding:10px"
+    >
       <template slot="filterContent">
       <template slot="filterContent">
         <FormItem label="类型:" :label-width="50">
         <FormItem label="类型:" :label-width="50">
-            <Select placeholder="搜索类型" clearable v-model="filter.type" style="width:100px">
-                <Option v-for="item in type" :value="item.v" :key="item.v">{{ item.n }}</Option>
+            <Select size="large" placeholder="全部" clearable v-model="filter.type" style="width:100px">
+              <Option v-for="item in parType" :value="item.v" :key="item.v">{{ item.n }}</Option>
             </Select>
             </Select>
         </FormItem>
         </FormItem>
-        <FormItem label="累计销售:" :label-width="80">
-            <Input style="width: 65px" type="text" v-model="filter.keyword1" placeholder="最小金额" clearable/>
-            <Input style="width: 65px;margin-left: 2px" type="text" v-model="filter.keyword2" placeholder="最大金额" clearable/>
+        <FormItem label="累计销售:" :label-width="70">
+            <Input style="width: 73px" type="text" size="large" placeholder="最小金额" v-model="filter.salesMin" clearable/>
+            <Input style="width: 73px;margin-left: 2px" type="text" size="large" v-model="filter.salesMax" placeholder="最大金额" clearable/>
         </FormItem>
         </FormItem>
-        <FormItem label="累计佣金:" :label-width="80">
-            <Input style="width: 65px" type="text" v-model="filter.keyword3" placeholder="最小金额" clearable/>
-            <Input style="width: 65px;margin-left: 2px" type="text" v-model="filter.keyword4" placeholder="最大金额" clearable/>
+        <FormItem label="累计佣金:" :label-width="70">
+            <Input style="width: 73px" type="text" size="large" v-model="filter.commissionMin" placeholder="最小金额" clearable/>
+            <Input style="width: 73px;margin-left: 2px" type="text" size="large" v-model="filter.commissionMax" placeholder="最大金额" clearable/>
         </FormItem>
         </FormItem>
-        <FormItem label="累计单数:" :label-width="80" style="margin-right: 40px">
-            <Input style="width: 65px" type="text" v-model="filter.keyword5" placeholder="最小单数" clearable/>
-            <Input style="width: 65px;margin-left: 2px" type="text" v-model="filter.keyword6" placeholder="最大单数" clearable/>
+        <FormItem label="累计单数:" :label-width="70" style="margin-right: 80px">
+            <Input style="width: 73px" type="text" size="large" v-model="filter.orderMin" placeholder="最小单数" clearable/>
+            <Input style="width: 73px;margin-left: 2px" type="text" size="large" v-model="filter.orderMax" placeholder="最大单数" clearable/>
         </FormItem>
         </FormItem>
       </template>
       </template>
       <template slot="filterRight">
       <template slot="filterRight">
-          <Input prefix="md-search" type="text" v-model="filter.keyword7" placeholder="搜索..." clearable class="ser-ipt"/>
+          <Input prefix="md-search" type="text" size="large" v-model="sear.keyword" placeholder="搜索..." clearable class="ser-ipt"/>
       </template>
       </template>
-      <Table ellipsis :loading="loading" ref="selection" :columns="columns" :data="list.lists" stripe>
+      <Table size="large" ellipsis :loading="loading" :columns="columns" :data="list.lists" stripe>
         <template slot-scope="{ row }" slot="type">
         <template slot-scope="{ row }" slot="type">
-          <field-map :value="row.type" :map="type"></field-map>
+          <div>{{row.type == '1'?'个人':'企业'}}</div>
+          <!-- <field-map :value="row.type" :map="type"></field-map> -->
         </template>
         </template>
         <template slot-scope="{ row }" slot="_action">
         <template slot-scope="{ row }" slot="_action">
           <Tooltip :content="row.call" :max-width="500">
           <Tooltip :content="row.call" :max-width="500">
             {{row.action}}
             {{row.action}}
           </Tooltip>
           </Tooltip>
         </template>
         </template>
-        <template slot="op">
-          <Button 
-            class="find-btn" 
+        <template slot-scope="{ row }" slot="op">
+          <Button  
             size="small" 
             size="small" 
             type="primary" 
             type="primary" 
-            :to="{path:'/sales/partnerList/partnerDetail',query:{id:1}}"
+            :to="{path:'/sales/partnerList/partnerDetail',query:{uid: row.uid, id: row.id, type: row.type}}"
           >查看</Button>
           >查看</Button>
         </template>
         </template>
       </Table>
       </Table>
+      <template slot="options">
+        <div style="color:#d7d7d7;font-size:14px">共计{{list.total}}位剑鱼伙伴</div>
+      </template>
     </table-lists>
     </table-lists>
   </div>
   </div>
 </template>
 </template>
 <script>
 <script>
-    // import _ from 'lodash'
-    import marked from 'marked'
-
-    export default {
-        computed: {
-            type () {
-                return this.requestType.map((item) => {
-                    return { v: item.type, n: item.name }
-                })
-            },
-            currentTypeDescription () {
-                let description = "";
-                this.requestType.forEach((item)=>{
-                    if (item.type === this.current.data.type){
-                        description = item.description
-                    }
-                })
-                return marked(description)
-            }
-        },
-        created () {
-            this.$request('/system/request/type').success((r) => {
-                this.requestType = r.data
-            }).get()
-        },
-        methods: {
-          load (val) {
-            this.loading = val
-          }
+export default {
+  methods: {
+    load (val) {
+      this.loading = val
+    },
+    emptyFilter (val) {
+      if (val) {
+        this.filter.keyword = ''
+        this.filter.type = ''
+        this.filter.salesMin = ''
+        this.filter.salesMax = ''
+        this.filter.commissionMin = ''
+        this.filter.commissionMax = ''
+        this.filter.orderMin = ''
+        this.filter.orderMax = ''
+      }
+    }
+  },
+  data () {
+      return {
+        lis: '',
+        loading: false,
+        parType: [{v: '', n: '全部'},{v: '1', n: '个人'}, {v: '2', n: '企业'}],
+        filter: {
+            // keyword: '',
+            type: '',
+            salesMin: '',
+            salesMax: '',
+            commissionMin: '',
+            commissionMax: '',
+            orderMin: '',
+            orderMax: ''
         },
         },
-        data () {
-            return {
-              lis: '',
-              loading: false,
-              requestType: [],
-              filter: {
-                  keyword: '',
-                  type: ''
-              },
-              columns: [
-                  {
-                      title: '伙伴名称',
-                      key: 'name',
-                      align: 'center'
-                  },
-                  {
-                      title: '手机号',
-                      key: 'name',
-                      align: 'center'
-                  },
-                  {
-                      title: '加入时间',
-                      key: 'create_time',
-                      align: 'center'
-                  },
-                  {
-                      title: '最后登录日期',
-                      key: 'create_time',
-                      align: 'center'
-                  },
-                  {
-                      title: '累计销售',
-                      key: 'create_time',
-                      align: 'center'
-                  },
-                  {
-                      title: '累计佣金',
-                      align: 'center'
-                  },
-                  {
-                      title: '累计单数',
-                      align: 'center'
-                  },
-                  {
-                      title: '类型',
-                      slot: 'type',
-                      align: 'center'
-                  },
-                  {
-                      title: '操作',
-                      slot: 'op',
-                      align: 'center'
-                  },
-              ],
-              list: [],
-              current: {
-                  show: false,
-                  data: {},
-                  tips: ''
-              }
-            }
+        sear: {
+          keyword: '',
         },
         },
-    }
+        columns: [
+            {
+                title: '伙伴名称',
+                key: 'name',
+                align: 'center'
+            },
+            {
+                title: '手机号',
+                key: 'phone',
+                width: '130',
+                align: 'center'
+            },
+            {
+                title: '加入时间',
+                key: 'createtime',
+                width: '170',
+                align: 'center'
+            },
+            {
+                title: '最后登录日期',
+                key: 'lastlogintime',
+                width: '170',
+                align: 'center'
+            },
+            {
+                title: '累计销售',
+                key: 'dis_sales',
+                align: 'center',
+                render: (h, {row}) => {
+                  return h('span','¥' + parseFloat(row.dis_sales/100).toLocaleString('en-US'))
+                }
+            },
+            {
+                title: '累计佣金',
+                key: 'dis_commission',
+                align: 'center',
+                render: (h, {row}) => {
+                  return h('span','¥' + parseFloat(row.dis_commission/100).toLocaleString('en-US'))
+                }
+            },
+            {
+                title: '累计单数',
+                key: 'dis_order',
+                align: 'center'
+            },
+            {
+                title: '类型',
+                slot: 'type',
+                align: 'center'
+            },
+            {
+                title: '操作',
+                slot: 'op',
+                align: 'center'
+            },
+        ],
+        list: [],
+        current: {
+            show: false,
+            data: {},
+            tips: ''
+        }
+      }
+  },
+}
 </script>
 </script>
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
@@ -146,15 +167,8 @@
   h1 {
   h1 {
     font-size:24px;
     font-size:24px;
     color:#3f4047;
     color:#3f4047;
-    padding: 10px 0 20px 50px;
+    padding: 10px 0 20px 10px;
   }
   }
-  // .find-btn {
-  //     background: none;
-  //     color:#36a3f7;
-  //     &:focus {
-  //         box-shadow: none;
-  //     }
-  // }
   .ser-ipt {
   .ser-ipt {
     width: 162px;
     width: 162px;
   }
   }

+ 32 - 62
src/views/sales/settleList.vue

@@ -5,16 +5,17 @@
         ref="tableLists" 
         ref="tableLists" 
         v-model="list" 
         v-model="list" 
         :filter="filter" 
         :filter="filter" 
-        :filterType="0" 
+        :filterType="2" 
         :filterReset="0" 
         :filterReset="0" 
-        requestApi="/system/order/dataExport" 
+        requestApi="/sales/settleList" 
         style="background:#fff;padding:10px"
         style="background:#fff;padding:10px"
         @loading="load"
         @loading="load"
     >
     >
       <template slot="filterRight">
       <template slot="filterRight">
-          <Input prefix="md-search" type="text" v-model="filter.keyword7" placeholder="搜索..." clearable class="ser-ipt"/>
+          <Input prefix="md-search" type="text" size="large" v-model="filter.keyword" placeholder="搜索..." clearable class="ser-ipt"/>
       </template>
       </template>
       <Table 
       <Table 
+        size="large"
         ellipsis 
         ellipsis 
         :loading="loading" 
         :loading="loading" 
         ref="selection" 
         ref="selection" 
@@ -24,18 +25,10 @@
         @on-row-click="rowClick"
         @on-row-click="rowClick"
         style="margin-top:10px"
         style="margin-top:10px"
       >
       >
-        <template slot-scope="{ row }" slot="type">
-          <field-map :value="row.type" :map="type"></field-map>
-        </template>
-        <template slot-scope="{ row }" slot="_action">
-          <Tooltip :content="row.call" :max-width="500">
-            {{row.action}}
-          </Tooltip>
-        </template>
-        <template slot="op">
-          <p class="find-btn">已完成</p>
-        </template>
       </Table>
       </Table>
+      <template slot="options">
+        <div style="color:#d7d7d7;font-size:14px">共计{{list.total}}条结算记录</div>
+      </template>
     </table-lists>
     </table-lists>
   </div>
   </div>
 </template>
 </template>
@@ -44,33 +37,12 @@
     import marked from 'marked'
     import marked from 'marked'
 
 
     export default {
     export default {
-        computed: {
-            type () {
-                return this.requestType.map((item) => {
-                    return { v: item.type, n: item.name }
-                })
-            },
-            currentTypeDescription () {
-                let description = "";
-                this.requestType.forEach((item)=>{
-                    if (item.type === this.current.data.type){
-                        description = item.description
-                    }
-                })
-                return marked(description)
-            }
-        },
-        created () {
-            this.$request('/system/request/type').success((r) => {
-                this.requestType = r.data
-            }).get()
-        },
         methods: {
         methods: {
           load (val) {
           load (val) {
             this.loading = val
             this.loading = val
           },
           },
           rowClick (data) {
           rowClick (data) {
-              this.$router.push({path:'/sales/settleList/settleDetail',query:{deType: 'jisuan',id:data.id}})
+              this.$router.push({path:'/sales/settleList/settleDetail',query:{id:data.id, uid:data.uid, deType:'jiesuan'}})
           }
           }
         },
         },
         data () {
         data () {
@@ -85,57 +57,61 @@
                 columns: [
                 columns: [
                     {
                     {
                         title: '结算单号',
                         title: '结算单号',
-                        key: 'order_code',
+                        key: 'code',
                         align: 'center'
                         align: 'center'
                     },
                     },
                     {
                     {
                         title: '手机号',
                         title: '手机号',
-                        key: 'order_code',
+                        key: 'phone',
                         align: 'center'
                         align: 'center'
                     },
                     },
                     {
                     {
                         title: '结算时间',
                         title: '结算时间',
-                        key: 'create_time',
+                        key: 'createtime',
+                        width: '170',
                         align: 'center'
                         align: 'center'
                     },
                     },
                     {
                     {
                         title: '销售金额',
                         title: '销售金额',
-                        key: 'create_time',
-                        align: 'center'
+                        key: 'sale_cash',
+                        align: 'center',
+                        render: (h, {row}) => {
+                            return h('div','¥' + (row.sale_cash/100).toLocaleString('en-US'))
+                        }
                     },
                     },
                     {
                     {
                         title: '佣金金额',
                         title: '佣金金额',
-                        key: 'create_time',
-                        align: 'center'
+                        key: 'commission',
+                        align: 'center',
+                        render: (h, {row}) => {
+                            return h('div','¥' + (row.commission/100).toLocaleString('en-US'))
+                        }
                     },
                     },
                     {
                     {
                         title: '个税金额',
                         title: '个税金额',
+                        key: 'tax_cash',
                         align: 'center',
                         align: 'center',
                         render: (h, {row}) => {
                         render: (h, {row}) => {
-                            return h('div',(row.order_money/100).toFixed(2))
+                            return h('div','¥' + (row.tax_cash/100).toLocaleString('en-US'))
                         }
                         }
                     },
                     },
                     {
                     {
                         title: '认证金额',
                         title: '认证金额',
+                        key: 'auth_cash',
                         align: 'center',
                         align: 'center',
                         render: (h, {row}) => {
                         render: (h, {row}) => {
-                            return h('div',(row.order_money/100).toFixed(2))
+                            return h('div','¥' + (row.auth_cash/100).toLocaleString('en-US'))
                         }
                         }
                     },
                     },
                     {
                     {
                         title: '可提现金额',
                         title: '可提现金额',
-                        key: 'order_money',
-                        className: 'demo-table-info-column',
+                        key: 'can_cash',
+                        className: 'table-info-settle',
                         align: 'center',
                         align: 'center',
                         render: (h, {row}) => {
                         render: (h, {row}) => {
-                            return h('div',(row.order_money/100).toFixed(2))
+                            return h('div','¥' + (row.can_cash/100).toLocaleString('en-US'))
                         }
                         }
-                    },
-                    {
-                        title: '状态',
-                        slot: 'op',
-                        align: 'center'
-                    },
+                    }
                 ],
                 ],
                 list: [],
                 list: [],
                 current: {
                 current: {
@@ -153,16 +129,10 @@
     h1 {
     h1 {
         font-size:24px;
         font-size:24px;
         color:#3f4047;
         color:#3f4047;
-        padding: 10px 0 20px 50px;
-    }
-    .ivu-table td.demo-table-info-column {
-        color: #f4516c;
-    }
-    .find-btn {
-        color: #34bfa3;
+        padding: 10px 0 20px 10px;
     }
     }
     .ser-ipt {
     .ser-ipt {
-    width: 200px;
+        width: 162px;
     }
     }
 }
 }
 </style>
 </style>

+ 1 - 1
src/views/sales/withdrawDetail.vue

@@ -25,7 +25,7 @@ export default {
         padding: 10px 0;
         padding: 10px 0;
     }
     }
     h1 {
     h1 {
-        padding: 10px 0 20px 100px;
+        padding: 10px 0 20px 10px;
     }
     }
     .right-fund {
     .right-fund {
         font-size: 20px;
         font-size: 20px;

+ 181 - 138
src/views/sales/withdrawList.vue

@@ -7,92 +7,100 @@
         :filter="filter" 
         :filter="filter" 
         :filterType="0" 
         :filterType="0" 
         :filterReset="0" 
         :filterReset="0" 
-        requestApi="/system/request/lists" 
+        :sear="sear"
+        :filterSear="2"
+        requestApi="/sales/withdrawList" 
         style="background:#fff;padding:10px" 
         style="background:#fff;padding:10px" 
         @loading="load"
         @loading="load"
     >
     >
       <template slot="filterContent">
       <template slot="filterContent">
         <FormItem label="状态:" :label-width="50">
         <FormItem label="状态:" :label-width="50">
-            <Select placeholder="全部" clearable v-model="filter.type" style="width:100px">
-                <Option value="全部">全部</Option>
-                <Option v-for="item in type" :value="item.v" :key="item.v">{{ item.n }}</Option>
+            <Select size="large" placeholder="全部" clearable v-model="filter.type" style="width:100px">
+                <Option v-for="item in withType" :value="item.v" :key="item.v">{{ item.n }}</Option>
             </Select>
             </Select>
         </FormItem>
         </FormItem>
-        <FormItem label="提现时间:" :label-width="80" style="margin-right: 40px">
-            <DatePicker type="date" placeholder="起始时间" style="width: 102px" @on-change="handleChange1"></DatePicker>
-            <DatePicker type="date" placeholder="截止时间" style="width: 102px;margin-left:2px" @on-change="handleChange2"></DatePicker>
+        <FormItem label="提现时间:" :label-width="70" style="margin-right: 40px">
+            <DatePicker 
+                type="datetime" 
+                :value="dataValue"
+                size="large"
+                placeholder="起始时间" 
+                format="yyyy-MM-dd HH:mm:ss"
+                style="width: 172px" 
+                @on-change="handleChange1"
+            ></DatePicker>
+            <DatePicker 
+                type="datetime" 
+                size="large"
+                placeholder="截止时间" 
+                format="yyyy-MM-dd HH:mm:ss"
+                style="width: 172px;margin-left:2px" 
+                @on-change="handleChange2"
+            ></DatePicker>
         </FormItem>
         </FormItem>
-        <Button type="primary" @click="exportd">导出结果</Button>
-        <Button type="primary" @click="batch" style="margin-left:30px">批量完成</Button>
+        <Button type="primary" size="large" @click="exportd">导出结果</Button>
+        <Button type="primary" size="large" @click="finished('批量')" style="margin-left:30px">批量完成</Button>
       </template>
       </template>
       <template slot="filterRight">
       <template slot="filterRight">
-          <Input prefix="md-search" type="text" v-model="filter.keyword7" placeholder="搜索..." clearable class="ser-ipt"/>
+          <Input prefix="md-search" type="text" size="large" v-model="sear.keyword" placeholder="搜索..." clearable class="ser-ipt"/>
       </template>
       </template>
-      <Table ellipsis :loading="loading" ref="selection" :columns="columns" :data="list.lists" stripe>
-        <template slot-scope="{ row }" slot="type">
-          <field-map :value="row.type" :map="type"></field-map>
+      <Table 
+        size="large"
+        ellipsis 
+        :loading="loading" 
+        ref="selection" 
+        :columns="columns" 
+        :data="list.lists" 
+        stripe
+        @on-selection-change="seleChange"
+      >
+        <template slot-scope="{ row }" slot="way">
+          <div>{{row.type == '1'?'支付宝':'对公转账'}}</div>
         </template>
         </template>
-        <template slot-scope="{ row }" slot="_action">
-          <Tooltip :content="row.call" :max-width="500">
-            {{row.action}}
-          </Tooltip>
+        <template slot-scope="{ row }" slot="_status">
+          <div style="color:#f4516c" :class="{casActive:row.cashout_status == 1}">{{row.cashout_status | casStatus}}</div>
         </template>
         </template>
         <template slot-scope="{ row }" slot="op">
         <template slot-scope="{ row }" slot="op">
-          <Button 
-            class="find-btn" 
+          <Button  
             size="small" 
             size="small" 
             type="primary" 
             type="primary" 
             style="margin-right:5px"
             style="margin-right:5px"
-            :to="{path:'/sales/withdrawList/withdrawDetail',query:{id: row.id,deType: 'tixian',peType: '个人'}}"
+            :to="{path:'/sales/withdrawList/withdrawDetail',query:{id:row.id, uid:row.uid, deType:'tixian', peType:row.type}}"
           >查看</Button>
           >查看</Button>
           <Button 
           <Button 
-            class="find-btn" 
             size="small" 
             size="small" 
-            type="primary" 
-            :to="{path:'/sales/withdrawList/withdrawDetail',query:{id: row.id,deType: 'tixian',peType: '个人'}}"
+            type="success" 
+            @click="finished('',row.id)"
+            :disabled="row.cashout_status == 1? true : false"
           >完成</Button>
           >完成</Button>
         </template>
         </template>
       </Table>
       </Table>
+      <template slot="options">
+        <div style="color:#d7d7d7;font-size:14px">共计{{list.total}}条提现记录</div>
+      </template>
     </table-lists>
     </table-lists>
   </div>
   </div>
 </template>
 </template>
 <script>
 <script>
-    // import _ from 'lodash'
-    import marked from 'marked'
-
-    export default {
-        computed: {
-            type () {
-                return this.requestType.map((item) => {
-                    return { v: item.type, n: item.name }
-                })
-            },
-            currentTypeDescription () {
-                let description = "";
-                this.requestType.forEach((item)=>{
-                    if (item.type === this.current.data.type){
-                        description = item.description
-                    }
-                })
-                return marked(description)
-            }
+export default {
+    methods: {
+        load (val) {
+            this.loading = val
         },
         },
-        created () {
-            this.$request('/system/request/type').success((r) => {
-                this.requestType = r.data
-            }).get()
+        reload () {
+            this.$refs.tableLists.reload(true)
         },
         },
-        methods: {
-          load (val) {
-            this.loading = val
-          },
-          handleChange1 (date) {
-              console.log(date)
-          },
-          handleChange2 (date) {
-              console.log(date)
-          },
-          exportd() {
+        handleChange1 (date) {
+            console.log(this.dataValue)
+            this.filter.cashStartTime = date
+        },
+        handleChange2 (date) {
+            this.filter.cashEndTime = date
+        },
+        seleChange (selection) {
+            this.seleData = selection
+        },
+        exportd() {
             this.$Modal.confirm({
             this.$Modal.confirm({
                 title: "确定导出所选内容",
                 title: "确定导出所选内容",
                 onOk: () => {
                 onOk: () => {
@@ -101,81 +109,120 @@
                     // }).get()
                     // }).get()
                 }
                 }
             });
             });
-          },
-          batch() {
-              this.$Modal.confirm({
-                title: "确定批量完成所选内容",
-                onOk: () => {
-                    // this.$request('/system/request/remove').data({ id: row.id }).showSuccessTip().success(() => {
-                    //     this.reload()
-                    // }).get()
-                }
-            });
-          }
         },
         },
-        data () {
-            return {
-                lis: '',
-                loading: false,
-                requestType: [],
-                filter: {
-                    keyword: '',
-                    type: ''
-                },
-                columns: [
-                    {
-                        type: 'selection',
-                        width: 60,
-                        align: 'center'
-                    },
-                    {
-                        title: '提现单号',
-                        key: 'name',
-                        align: 'center'
-                    },
-                    {
-                        title: '真实姓名',
-                        key: 'name',
-                        align: 'center'
-                    },
-                    {
-                        title: '手机号',
-                        key: 'create_time',
-                        align: 'center'
-                    },
-                    {
-                        title: '提现时间',
-                        key: 'create_time',
-                        align: 'center'
-                    },
-                    {
-                        title: '提现金额',
-                        key: 'create_time',
-                        align: 'center'
-                    },
-                    {
-                        title: '提现方式',
-                        align: 'center'
-                    },
-                    {
-                        title: '状态',
-                        align: 'center'
-                    },
-                    {
-                        title: '操作',
-                        slot: 'op',
-                        align: 'center'
-                    },
-                ],
-                list: [],
-                current: {
-                    show: false,
-                    data: {},
-                    tips: ''
-                }
-            }
+        batched (val,tips,data) {
+            this.$request('/sales/withdrawList/batchFinish').data({ 
+                ids: tips ? val : data
+            }).showSuccessTip().success(() => {
+                this.reload()
+            }).post()
         },
         },
-    }
+        finished (tips,data) {
+            let arr = []
+            if (this.seleData.length !=0 || !tips) {
+                this.$Modal.confirm({
+                    title: "确定" + tips + "完成所选内容",
+                    onOk: () => {
+                        this.seleData.forEach(v => {
+                            arr.push(v.id)
+                        });
+                        this.batched(String(arr),tips,data)
+                    }
+                })
+            } else {
+                this.$Modal.warning({
+                    title: "至少选择一项内容"
+                })
+            }
+        }
+    },
+    filters: {
+        casStatus (val) {
+            if (val == -1) {
+                return "失败"
+            } else if (val == 0) {
+                return "已申请"
+            } else {
+                return "已完成"
+            }
+        }
+    },
+    data () {
+        return {
+            lis: '',
+            loading: false,
+            dataValue: '',
+            withType: [
+                {v: '', n: '全部'},
+                {v: '-1', n: '失败'}, 
+                {v: '0', n: '已申请'},
+                {v: '1', n: '已完成'}
+            ],
+            filter: {
+                // keyword: '',
+                type: '',
+                cashStartTime: '',
+                cashEndTime: ''
+            },
+            sear: {
+                keyword: '',
+            },
+            seleData: [],
+            columns: [
+                {
+                    type: 'selection',
+                    width: 60,
+                    align: 'center'
+                },
+                {
+                    title: '提现单号',
+                    key: 'code',
+                    align: 'center'
+                },
+                {
+                    title: '真实姓名',
+                    key: 'name',
+                    align: 'center'
+                },
+                {
+                    title: '手机号',
+                    key: 'phone',
+                    align: 'center'
+                },
+                {
+                    title: '提现时间',
+                    key: 'createtime',
+                    width: '170',
+                    align: 'center'
+                },
+                {
+                    title: '提现金额',
+                    key: 'money',
+                    align: 'center',
+                    render: (h, {row}) => {
+                        return h('span','¥' + parseFloat(row.money/100).toLocaleString('en-US'))
+                    }
+                },
+                {
+                    title: '提现方式',
+                    slot: 'way',
+                    align: 'center'
+                },
+                {
+                    title: '状态',
+                    slot: '_status',
+                    align: 'center'
+                },
+                {
+                    title: '操作',
+                    slot: 'op',
+                    align: 'center'
+                },
+            ],
+            list: []
+        }
+    },
+}
 </script>
 </script>
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
@@ -183,17 +230,13 @@
     h1 {
     h1 {
         font-size:24px;
         font-size:24px;
         color:#3f4047;
         color:#3f4047;
-        padding: 10px 0 20px 50px;
+        padding: 10px 0 20px 10px;
     }
     }
-    // .find-btn {
-    //     background: none;
-    //     color:#36a3f7;
-    //     &:focus {
-    //         box-shadow: none;
-    //     }
-    // }
     .ser-ipt {
     .ser-ipt {
     width: 162px;
     width: 162px;
     }
     }
+    .casActive {
+        color: #34bfa3!important;
+    }
 }
 }
 </style>
 </style>

+ 3 - 3
src/views/system/components/AssignUser.vue

@@ -3,16 +3,16 @@
         <table-lists ref="tableLists" v-model="data" :filter="filter" requestApi="/system/userGroup/getUser">
         <table-lists ref="tableLists" v-model="data" :filter="filter" requestApi="/system/userGroup/getUser">
             <template slot="filterContent">
             <template slot="filterContent">
                 <FormItem>
                 <FormItem>
-                    <Input type="text" v-model="filter.keyword" placeholder="搜索关键词"/>
+                    <Input type="text" size="large" v-model="filter.keyword" placeholder="搜索关键词"/>
                 </FormItem>
                 </FormItem>
             </template>
             </template>
-            <Table :columns="columns" :data="data.lists['noAssign']" stripe height="270">
+            <Table size="large" ellipsis :columns="columns" :data="data.lists['noAssign']" stripe height="270">
                 <template slot-scope="{ row }" slot="op">
                 <template slot-scope="{ row }" slot="op">
                     <Button size="small" type="success" @click="add(row)">加入</Button>
                     <Button size="small" type="success" @click="add(row)">加入</Button>
                 </template>
                 </template>
             </Table>
             </Table>
         </table-lists>
         </table-lists>
-        <Table style="margin-top: 10px" :columns="columns" :data="data.lists['assign']" stripe height="270">
+        <Table size="large" ellipsis style="margin-top: 10px" :columns="columns" :data="data.lists['assign']" stripe height="270">
             <template slot-scope="{row,index}" slot="op">
             <template slot-scope="{row,index}" slot="op">
                 <Button size="small" type="error" @click="remove(row,index)">移出</Button>
                 <Button size="small" type="error" @click="remove(row,index)">移出</Button>
             </template>
             </template>

+ 1 - 0
src/views/system/request.vue

@@ -128,6 +128,7 @@
               })
               })
           },
           },
           save () {
           save () {
+            console.log(this.current.data)
               this.$request('/system/request/save').data(this.current.data).showSuccessTip().success(() => {
               this.$request('/system/request/save').data(this.current.data).showSuccessTip().success(() => {
                   this.reload()
                   this.reload()
                   this.current.show = false
                   this.current.show = false

+ 9 - 2
src/views/system/user.vue

@@ -11,13 +11,20 @@
         >
         >
             <template slot="filterContent">
             <template slot="filterContent">
                 <FormItem>
                 <FormItem>
-                    <Input type="text" v-model="filter.keyword" placeholder="搜索关键词" clearable/>
+                    <Input type="text" size="large" v-model="filter.keyword" placeholder="搜索关键词" clearable/>
                 </FormItem>
                 </FormItem>
             </template>
             </template>
             <template slot="filterRight">
             <template slot="filterRight">
                 <Button type="success" icon="md-add" @click="add()">添加</Button>
                 <Button type="success" icon="md-add" @click="add()">添加</Button>
             </template>
             </template>
-            <Table :loading="loading" :columns="columns" :data="list.lists" stripe>
+            <Table
+                size="large"
+                ellipsis 
+                :loading="loading" 
+                :columns="columns" 
+                :data="list.lists" 
+                stripe
+            >
                 <template slot-scope="{ row }" slot="_status">
                 <template slot-scope="{ row }" slot="_status">
                     <field-map :value="row.status" :map="map.status"></field-map>
                     <field-map :value="row.status" :map="map.status"></field-map>
                 </template>
                 </template>

+ 3 - 3
src/views/system/userGroup.vue

@@ -11,13 +11,13 @@
         >
         >
             <template slot="filterContent">
             <template slot="filterContent">
                 <FormItem>
                 <FormItem>
-                    <Input type="text" v-model="filter.keyword" placeholder="搜索关键词" clearable/>
+                    <Input type="text" size="large" v-model="filter.keyword" placeholder="搜索关键词" clearable/>
                 </FormItem>
                 </FormItem>
             </template>
             </template>
             <template slot="filterRight">
             <template slot="filterRight">
                 <Button type="success" icon="md-add" @click="add()">添加</Button>
                 <Button type="success" icon="md-add" @click="add()">添加</Button>
             </template>
             </template>
-            <Table :loading="loading" :columns="columns" :data="list.lists" stripe>
+            <Table size="large" ellipsis :loading="loading" :columns="columns" :data="list.lists" stripe>
                 <template slot-scope="{ row }" slot="_user">
                 <template slot-scope="{ row }" slot="_user">
                     <Button size="small" @click="showAssign(row,'user')">
                     <Button size="small" @click="showAssign(row,'user')">
                         用户({{row.user.length}})
                         用户({{row.user.length}})
@@ -52,7 +52,7 @@
                 <Button type="primary" size="large" @click="save">提交</Button>
                 <Button type="primary" size="large" @click="save">提交</Button>
             </div>
             </div>
         </Modal>
         </Modal>
-        <Drawer :title="assign.data.name+' 用户关联'" v-model="assign.show.user" width="900" :mask-closable="false">
+        <Drawer :title="assign.data.name+' 用户关联'" v-model="assign.show.user" width="900">
             <AssignUser v-if="assign.show.user" :id="assign.data.id" @reload="reload"></AssignUser>
             <AssignUser v-if="assign.show.user" :id="assign.data.id" @reload="reload"></AssignUser>
         </Drawer>
         </Drawer>
     </div>
     </div>