Pārlūkot izejas kodu

提交代码8.11

xgwangman 5 gadi atpakaļ
vecāks
revīzija
1cbe992eb5

+ 1 - 1
.env

@@ -1,6 +1,6 @@
 VUE_APP_ADMIN_TOKEN_NAME = 'admin_token'
 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_PREFIX = 'http://192.168.20.58: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_TOKEN_NAME = '_token'

+ 16 - 0
src/App.vue

@@ -135,6 +135,22 @@
                 this.$refs.side1.toggleCollapse();
             }
         },
+        watch: {
+            '$route' (to, from) {
+                console.log(to.path)
+                if (to.path == '/sales/partnerList/partnerDetail') {
+                    return
+                } else if (to.path == '/sales/settleList/settleDetail') {
+                    return
+                } else if (to.path == '/sales/withdrawList/withdrawDetail') {
+                    return
+                } else if (to.path == '/order/orderList/orderDetail') {
+                    return
+                } else {
+                    sessionStorage.removeItem('info')
+                }
+            }
+        }
     }
 </script>
 <style scoped>

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

@@ -287,4 +287,7 @@ textarea:-ms-input-placeholder {
 }
 .ivu-drawer-header-inner {
   font-size: 16px;
+}
+.ivu-tree ul {
+  font-size: 14px;
 }

+ 23 - 3
src/assets/js/date.js

@@ -1,11 +1,31 @@
 //将时间戳转化为年月日
 export function ChangeDate (time){
-    var d = new Date(time.replace(/\-/g, "/"));
+    // var d = new Date(time.replace(/\-/g, "/"));
+    var d = new Date(time);
     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,"");
+}
+
+export function ChangeDate1 (time){
+    var d = new Date(time);
+    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()) + '日';
+    return (Y+M+D).replace(/^\s+|\s+$/g,"");
+}
+
+export function ChangeDate2 (time){
+    var d = new Date(time);
+    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 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,"");
+    return (Y+M+D+''+h+m+s).replace(/^\s+|\s+$/g,"");
 }

+ 17 - 1
src/components/Login.vue

@@ -51,6 +51,14 @@
                 single: false
             }
         },
+        created () {
+            let userData = JSON.parse(localStorage.getItem('user'))
+            if (userData) {
+                this.form.username = userData.username
+                this.form.password = userData.password
+                this.single = true
+            }
+        },
         methods: {
             handleSubmit(name) {
                 let $this = this;
@@ -59,6 +67,13 @@
                         return;
                     }
                     this.$request("/login").data($this.form).success((r) => {
+                        // 存储用户信息
+                        if (this.single) {
+                            localStorage.setItem('user',JSON.stringify($this.form))
+                        } else {
+                            localStorage.removeItem('user')
+                        }
+                        
                         // 设置登录
                         this.$store.dispatch('login', r.data);
                         // 重新初始化系统
@@ -70,7 +85,6 @@
                             this.$store.dispatch('logout');
                         }).get();
                     }).post()
-
                 })
             }
         }
@@ -79,12 +93,14 @@
 <style lang="scss" scoped>
     .logins {
         width: 100%;
+        height: 100%;
         position: absolute;
         top: 0;
         left: 0;
         background: url(../assets/images/bg_1.png) #f0f2f5 no-repeat center center;
         background-size: 100% 100%;
         padding-top: 50px;
+        overflow: hidden;
         .cards {
             display: flex;
             flex-direction: column;

+ 0 - 1
src/router.js

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

+ 3 - 2
src/views/index.vue

@@ -1,7 +1,8 @@
 <template>
     <div>
-        <Alert type="success">默认后台首页地址 可以在 <code>.env</code> 中配置 <code>INDEX_URL</code></Alert>
-        <Button type="primary" @click="$router.push('/example')">例子页面</Button>
+        <!-- <Alert type="success">默认后台首页地址 可以在 <code>.env</code> 中配置 <code>INDEX_URL</code></Alert>
+        <Button type="primary" @click="$router.push('/example')">例子页面</Button> -->
+        <h1>控制台</h1>
     </div>
 </template>
 

+ 82 - 50
src/views/order/components/details.vue

@@ -5,9 +5,9 @@
             <div class="cont">
                 <div class="tit">订单信息</div>
                 <div class="classfity">
-                    <span>订单编号:{{orDetails.order_code}}</span>
-                    <span>订单时间:{{orDetails.create_time}}</span>
-                    <span>产品类型:{{orDetails.product_type}}</span>
+                    <span>订单编号: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.order_code}}</span>
+                    <span>订单时间: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.create_time}}</span>
+                    <span>产品类型: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.product_type}}</span>
                 </div>
             </div>
             <Divider />
@@ -17,16 +17,16 @@
                 <div class="tit">课程信息</div>
                 <div class="classfity">
                     <!-- 线上课程 -->
-                    <span>课程名称:控标案例实战分析,招标文件控标点揭秘</span>
-                    <span v-if="orderType == 0">课程时长:01:31:26</span>
-                    <span v-if="orderType == 0">有效周期:2020-12-31到期</span>
+                    <span>课程名称: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{strCourse.s_name}}</span>
+                    <span v-if="orderType == 0">课程时长: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{strCourse.s_courseDate}}</span>
+                    <span v-if="orderType == 0">有效周期: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{strCourse.l_endtime}}到期</span>
                     <!-- 线下课程 -->
-                    <span v-if="orderType == 1">课程地点:南京</span>
-                    <span v-if="orderType == 1">课程时间:2020年02月2日-2020年02月2日</span>
-                    <span v-if="orderType == 1">联系人单位:铜陵泓景园林绿化工程有限公司</span>
-                    <span v-if="orderType == 1">联系人姓名:胡小平</span>
-                    <span v-if="orderType == 1">联系人邮箱:149837146@qq.com</span>
-                    <span v-if="orderType == 1">联系人电话:13856252510</span>
+                    <span v-if="orderType == 1">课程地点: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{strCourse.s_address}}</span>
+                    <span v-if="orderType == 1">课程时间: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{strCourse.l_starttime}}-{{strCourse.l_endtime}}</span>
+                    <span v-if="orderType == 1">联系人单位: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{book.company}}</span>
+                    <span v-if="orderType == 1">联系人姓名: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{book.name}}</span>
+                    <span v-if="orderType == 1">联系人邮箱: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{book.name}}</span>
+                    <span v-if="orderType == 1">联系人电话: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{book.phone}}</span>
                 </div>
             </div>
             <Divider />
@@ -36,8 +36,8 @@
             <div class="cont">
                 <div class="tit">报告信息</div>
                 <div class="classfity">
-                    <span>报告名称:2019-2020年大数据中心市场研究报告</span>
-                    <span>邮箱地址:149837146@qq.com</span>
+                    <span>报告名称: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2019-2020年大数据中心市场研究报告</span>
+                    <span>邮箱地址: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;149837146@qq.com</span>
                 </div>
             </div>
             <Divider />
@@ -47,19 +47,19 @@
             <div class="cont">
                 <div class="tit">导出信息</div>
                 <div class="classfity">
-                    <span>筛选日期:2020年01月01日 - 2020年12月31日</span>
-                    <span>区域:</span>
-                    <span>行业:弱电安防_智能系统信息技术_系统集成及安全</span>
-                    <span>关键词:</span>
-                    <span>金额:100万元 - 3000万元</span>
-                    <span>信息类型:</span>
-                    <span>采购单位:</span>
-                    <span>中标单位:</span>
-                    <span>数据规格:</span>
-                    <span>数据数量:</span>
-                    <span>邮箱地址:</span>
-                    <span>手机号:</span>
-                    <span>下载链接:<a href="#" target="_blank">点击下载</a></span>
+                    <span>筛选日期: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{book.startime}} - {{book.endtime}}</span>
+                    <span>区域: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{String(book.area)}}</span>
+                    <span style="display:flex">行业: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i style="width:80%">{{String(book.industry)}}</i></span>
+                    <span style="display:flex">关键词: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i style="width:80%">{{String(book.keywords)}}</i></span>
+                    <span>金额: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{book.minprice}}万元 - {{book.maxprice}}万元</span>
+                    <span>信息类型: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{book.subtype}}</span>
+                    <span>采购单位: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{String(book.buyer)}}</span>
+                    <span>中标单位: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{String(book.winner)}}</span>
+                    <span>数据规格: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.data_spec}}</span>
+                    <span>数据数量: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.data_count}}条</span>
+                    <span>邮箱地址: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.user_mail}}</span>
+                    <span>手机号: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.user_phone}}</span>
+                    <span>下载链接: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a :href="orDetails.download_url">点击下载</a></span>
                 </div>
             </div>
             <Divider />
@@ -69,9 +69,9 @@
             <div class="cont">
                 <div class="tit">订阅信息</div>
                 <div class="classfity">
-                    <span>订购区域:1个省</span>
-                    <span>订购行业:3个行业</span>
-                    <span>订购周期:2020.01.01 - 20201.01.01</span>
+                    <span>订购区域: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{book.subscription_area}}</span>
+                    <span>订购行业: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{book.industry_str}}</span>
+                    <span>订购周期: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{book.effective_date}}</span>
                 </div>
             </div>
             <Divider />
@@ -80,13 +80,14 @@
             <div class="cont">
                 <div class="tit">支付信息</div>
                 <div class="classfity">
-                    <span>支付单号:232504673120</span>
-                    <span>支付时间:2020-07-25 23:25:08</span>
-                    <span>支付方式:微信</span>
-                    <span v-if="orderType == 1">实付数量:1</span><!-- 线下课程 -->
-                    <span v-if="orderType == 8">实付金额:100.00</span><!-- VIP订阅 -->
-                    <span v-if="orderType != 8">支付金额:99.6</span>
-                    <span>支付状态:已付款</span>
+                    <span>支付单号: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orders.transaction_id}}</span>
+                    <span>支付时间: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.pay_time}}</span>
+                    <span v-if="orderType == 1">支付方式: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.pay_way == 'wx_pc'?'微信':'支付宝'}}</span>
+                    <span v-else>支付方式: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.pay_way}}</span>
+                    <span v-if="orderType == 1">实付数量: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.original_price}}</span><!-- 线下课程 -->
+                    <span v-if="orderType == 8">实付金额: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;¥{{(orDetails.pay_money/100).toLocaleString('en-US')}}</span><!-- VIP订阅 -->
+                    <span v-if="orderType == 1">支付状态: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.order_status | orderPay}}</span>
+                    <span v-else>支付状态: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.order_status}}</span>
                 </div>
             </div>
             <Divider />
@@ -95,9 +96,9 @@
         <div class="infor-card" v-if="orderType == 1">
             <div class="cont">
                 <div class="tit">优惠信息</div>
-                <div class="classfity">
-                    <span>每单立减:23.00</span>
-                    <span>多人立减:0.00</span>
+                <div class="classfity" v-if="strCourse.s_discountPlan">
+                    <span>每单立减: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;¥{{strCourse.s_discountPlan[0].price}}</span>
+                    <span>多人立减: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;¥{{strCourse.discountMoney}}</span>
                 </div>
             </div>
             <Divider />
@@ -105,15 +106,16 @@
         <div class="infor-card">
             <div class="cont">
                 <div class="tit">发票信息</div>
-                <div class="classfity">
-                    <span>发票类型:普通发票(电子发票)</span>
-                    <span>发票内容:明细</span>
-                    <!-- <span>发票抬头:单位</span> -->
-                    <span>开票单位名称:上海欧朝物联网技术有限公司</span>
-                    <span>纳税人识别号:91310230MA1K2LED0U</span>
-                    <span>邮箱地址:12421218123@qq.com</span>
-                    <span>发票状态:单位</span>
-                    <span>发票查看:<a href="#" target="_blank">点击查看</a></span>
+                <div class="classfity" v-if="orDetails.invoice">
+                    <span>发票类型: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orderType == 1 ? orDetails.invoice.invoice_type : '普通发票(电子发票)'}}</span>
+                    <span>发票内容: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.invoice.invoice_content}}</span>
+                    <span>发票抬头: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.invoice.invoice_rise}}</span>
+                    <span>开票单位名称: &nbsp;{{orDetails.invoice.company_name}}</span>
+                    <span>纳税人识别号: &nbsp;{{orDetails.invoice.taxpayer_identnum || orDetails.invoice.apply_tinumber}}</span>
+                    <span>邮箱地址: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.invoice.mail || orDetails.invoice.email}}</span>
+                    <span v-if="orderType == 1">发票状态: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.applybill_status | invoiceStas}}</span>
+                    <span v-else>发票状态: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{orDetails.applybill_status}}</span>
+                    <span>发票查看: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a :href="orDetails.invoice.url" target="_blank">点击查看</a></span>
                 </div>
             </div>
             <Divider />
@@ -122,6 +124,7 @@
 </template>
 
 <script>
+import { ChangeDate1 } from '../../../assets/js/date.js'
 export default {
     props:{
         orderType: String
@@ -132,14 +135,41 @@ export default {
             id: rout.id,
             type: rout.proType
         }).success((r) => {
+            this.orders = r.data
             this.orDetails = r.data.res;
             this.book = r.data.filterData;
+            this.strCourse = r.data.resCourse;
+            this.strCourse.l_starttime = ChangeDate1(this.strCourse.l_starttime);
+            this.strCourse.l_endtime = ChangeDate1(this.strCourse.l_endtime);
         }).get()
     },
+    filters: {
+        invoiceStas (val) {
+            if (val == -2) {
+                return '已冲红'
+            } else if (val == 0) {
+                return '未申请'
+            } else if (val == 1) {
+                return '已申请'
+            }
+        },
+        orderPay(val) {
+            if (val == -2) {
+                return '已取消'
+            } else if (val == 0) {
+                return '未支付'
+            } else if (val == 1) {
+                return '已支付'
+            }
+        }
+    },
     data () {
         return {
+            orders: [],
             orDetails: [],
-            book: []
+            book: [],
+            strCourse: [],
+            offCourse: []
         }
     }
 }
@@ -154,6 +184,7 @@ export default {
             display: flex;
             flex-direction: initial;
             .tit {
+                width: 64px;
                 font-size: 16px;
                 font-weight: 700;
                 line-height: 30px;
@@ -161,6 +192,7 @@ export default {
                 color: #1e1e1e;
             }
             .classfity {
+                width: 486px;
                 display: flex;
                 flex-direction: column;
                 justify-content: center;

+ 5 - 2
src/views/order/orderDetail.vue

@@ -16,8 +16,8 @@ export default {
         vDetail
     },
     created () {
-        let str = this.$route.query.proType
-        switch (str) {
+        let str = this.$route.query
+        switch (str.proType) {
             case '线上课程':
                 this.proStatus = '0'
                 break;
@@ -34,6 +34,9 @@ export default {
                 this.proStatus = '8'
                 break;
         }
+        if (str.par) {
+            sessionStorage.setItem('info',1)
+        }
     },
     data () {
         return {

+ 99 - 59
src/views/order/orderList.vue

@@ -52,7 +52,7 @@
             ></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" type="text" size="large" v-model="filter.payMoneyMin" :placeholder="place" clearable/>
             <Input style="width: 73px;margin-left: 2px" type="text" size="large" v-model="filter.payMoneyMax" placeholder="最大金额" clearable/>
         </FormItem>
       </template>
@@ -88,7 +88,8 @@
             class="find-btn" 
             size="small" 
             type="error" 
-            @click="refund(row.id,row.code)"
+            @click="refund(row.order_code)"
+            :disabled="row.order_status == -3"
           >退款</Button>
         </template>
       </Table>
@@ -96,27 +97,34 @@
         <div style="color:#d7d7d7;font-size:14px">共计{{list.total}}个订单,实付金额¥{{list.money}}</div>
       </template>
     </table-lists>
+    <Modal title="退款原因" v-model="models.tShow">
+        <Input type="textarea" size="large" :rows="3" placeholder="请填写退款原因" v-model="models.cause"></Input>
+        <div slot="footer">
+            <Button type="primary" size="large" @click="subSave">提交</Button>
+        </div>
+    </Modal>
   </div>
 </template>
 <script>
+import { ChangeDate2 } from '../../assets/js/date.js'
 export default {
     methods: {
         load (val) {
-        this.loading = 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 = ''
-        }
+            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
@@ -124,21 +132,35 @@ export default {
         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()
-                }
-            })
+        refund (code) {
+            this.models.tShow = true
+            this.models.reCode = code
+        },
+        subSave () {
+            var curTime = new Date().getTime()
+            this.$request('/order/orderList/confirmRefund').data({
+                orderCode: this.models.reCode,
+                applyReason: this.models.cause,
+                applyTime: ChangeDate2(curTime)
+            }).showSuccessTip().success(() => {
+                this.models.tShow = false
+                this.reload()
+            }).get()
+        },
+        reload () {
+            this.$refs.tableLists.reload(true)
         }
     },
     data () {
         return {
             lis: '',
             loading: false,
+            place: '最小金额',
+            models: {
+                tShow: false,
+                cause: '',
+                reCode: ''
+            },
             proType: [
                 {v: '', n: '全部'},
                 {v: '0', n: 'VIP订阅'},
@@ -154,15 +176,16 @@ export default {
             ],
             orderSta: [
                 {v: '', n: '全部'},
+                {v: '-3', n: '已退款'},
                 {v: '-2', n: '已取消'},
-                {v: '0', n: '未付'},
-                {v: '1', n: '已付'}
+                {v: '0', n: '未付'},
+                {v: '1', n: '已付'}
             ],
             invoiceSta: [
                 {v: '', n: '全部'},
-                {v: '-1', n: '失败'},
-                {v: '0', n: '开票中'},
-                {v: '1', n: '成功'}
+                {v: '-2', n: '已冲红'},
+                {v: '0', n: '未申请'},
+                {v: '1', n: '已申请'}
             ],
             filter: {
                 // keyword: '',
@@ -220,6 +243,15 @@ export default {
                     align: 'center',
                     render: (h, {row}) => {
                         switch (row.order_status) {
+                        case -3 :
+                            return h('div', {
+                                style: {
+                                    color: '#ffb822'
+                                }
+                            }, [
+                                h('span','已退款')
+                            ])
+                            break;
                         case -2 :
                             return h('div', {
                                 style: {
@@ -235,7 +267,7 @@ export default {
                                     color: '#f4516c'
                                 }
                             }, [
-                                h('span','未付')
+                                h('span','未付')
                             ])
                             break;
                         case 1 :
@@ -244,7 +276,7 @@ export default {
                                     color: '#34bfa3'
                                 }
                             }, [
-                                h('span', '已付')
+                                h('span', '已付')
                             ])
                             break;
                         }
@@ -255,34 +287,42 @@ export default {
                     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;
+                        if (row.order_status == -3) {
+                            if (row.applybill_status == 1) {
+                                return h('div', {
+                                    style:{
+                                        color: '#f4516c'
+                                    }
+                                }, [
+                                    h('span','已冲红')
+                                ])
+                            } else if (row.applybill_status == 0) {
+                                return h('div', {
+                                    style: {
+                                        color: '#ffb822'
+                                    }
+                                }, [
+                                    h('span','未申请')
+                                ])
+                            }
+                        } else {
+                            if (row.applybill_status == 1) {
+                                return h('div', {
+                                    style:{
+                                        color: '#f4516c'
+                                    }
+                                }, [
+                                    h('span','已申请')
+                                ])
+                            } else if (row.applybill_status == 0) {
+                                return h('div', {
+                                    style: {
+                                        color: '#ffb822'
+                                    }
+                                }, [
+                                    h('span','未申请')
+                                ])
+                            }
                         }
                     }
                 },

+ 8 - 3
src/views/sales/components/details.vue

@@ -126,6 +126,11 @@ export default {
                 this.settleDet = r.data;
             }).get()
         }
+        if (rout.deType == 'tixian' && rout.par) {
+            sessionStorage.setItem('info',2)
+        } else if (rout.deType == 'jiesuan' && rout.par) {
+            sessionStorage.setItem('info',3)
+        }
     },
     data () {
         return {
@@ -135,11 +140,11 @@ export default {
     },
     filters: {
         casStatus (val) {
-            if (val = -1) {
+            if (val == -1) {
                 return "失败"
-            } else if (val = 0) {
+            } else if (val == 0) {
                 return "已申请"
-            } else {
+            } else if (val == 1) {
                 return "已完成"
             }
         }

+ 72 - 8
src/views/sales/partnerDetail.vue

@@ -55,6 +55,7 @@
                         </Card>
                     </div>
                     <Table 
+                        size="large"
                         ellipsis 
                         ref="selection" 
                         :loading="loading" 
@@ -98,7 +99,7 @@
                         <Divider />
                         <div class="con" v-if="types == '2'">
                             <span class="spa1">营业执照</span>
-                            <img @click="fruit" src="../../assets/images/frut.jpg"/>
+                            <img @click="fruit" :src="parDetail.license"/>
                         </div>
                         <Divider v-if="types == '2'" />
                     </div>
@@ -106,12 +107,14 @@
                 <Card v-else>
                     <div slot="title" class="right-fund">资金明细</div>
                     <Table 
+                        size="large"
                         ellipsis 
                         ref="selection" 
                         :loading="loading" 
                         :columns="column2" 
-                        :data="data" 
+                        :data="datas2" 
                         stripe 
+                        @on-row-click="rowClick"
                         style="margin-top: 10px"
                     ></Table>
                 </Card>
@@ -125,11 +128,15 @@
 </template>
 
 <script>
-import { ChangeDate } from '../../assets/js/date'
+import { ChangeDate, ChangeDate2 } from '../../assets/js/date'
 export default {
     created () {
         let rout = this.$route.query
-        this.$request('/sales/partnerList/partnerDetail').data({
+        let sec = sessionStorage.getItem('info')
+        if (sec) {
+            this.infor = 3
+        }
+        this.$request('/sales/partnerList/partnerDetail').data({// 基本信息
             uid: rout.uid,
             id: rout.id
         }).success((r) => {
@@ -138,22 +145,78 @@ export default {
             this.parDetail.lastlogintime = ChangeDate(this.parDetail.lastlogintime)
         }).get()
 
-        this.$request('/sales/partnerList/overview').data({
+        this.$request('/sales/partnerList/overview').data({// 概览
             uid: rout.uid,
             id: rout.id
         }).success((r) => {
             this.datas1 = r.data;
         }).get()
+
+        this.$request('/sales/partnerList/capitalDetails').data({// 资金明细
+            uid: rout.uid
+        }).success((r) => {
+            let atr = [], atr1 = []
+            // 按时间先后排序
+            r.data.forEach(e => {
+                atr.push(new Date(e.createtime).getTime())
+            })
+            atr.sort(this.sortNum)
+            atr.forEach((v,i) => {
+                r.data.forEach(res => {
+                    let ar = new Date(res.createtime).getTime()
+                    if (ar === v) {
+                        atr1.push(res)
+                    }
+                })
+            })
+            this.datas2 = atr1
+        }).get()
     },
     methods: {
         load(val) {
             this.loading = val
         },
+        sortNum (a, b) {
+            return b - a
+        },
         tabClick(index) {
             this.infor = index
         },
         fruit() {
             this.preview = true
+        },
+        rowClick (data) {
+            if (data.type == '佣金') {
+                this.$router.push({
+                    path:'/order/orderList/orderDetail',
+                    query:{
+                        id:data.order_id,
+                        proType:data.product_name,
+                        par: 1
+                    }
+                })
+            } else if (data.type == '提现') {
+                this.$router.push({
+                    path:'/sales/withdrawList/withdrawDetail',
+                    query:{
+                        id:data.id,
+                        uid:data.uid,
+                        peType:data.ptype,
+                        deType:'tixian',
+                        par: 1
+                    }
+                })
+            } else if (data.type == '结算') {
+                this.$router.push({
+                    path:'/sales/settleList/settleDetail',
+                    query:{
+                        id:data.id,
+                        uid:data.uid,
+                        deType:'jiesuan',
+                        par: 1
+                    }
+                })
+            }
         }
     },
     data () {
@@ -164,6 +227,7 @@ export default {
             types: this.$route.query.type,
             preview: false,
             datas1: [],
+            datas2: [],
             column1: [
                   {
                       title: '产品名称',
@@ -203,17 +267,17 @@ export default {
             column2: [
                   {
                       title: '订单号',
-                      key: 'name',
+                      key: 'code',
                       align: 'center'
                   },
                   {
                       title: '类型',
-                      key: 'slat',
+                      key: 'type',
                       align: 'center'
                   },
                   {
                       title: '时间',
-                      key: '_action',
+                      key: 'createtime',
                       align: 'center'
                   },
                   {

+ 0 - 3
src/views/sales/settleList.vue

@@ -33,9 +33,6 @@
   </div>
 </template>
 <script>
-    // import _ from 'lodash'
-    import marked from 'marked'
-
     export default {
         methods: {
           load (val) {

+ 26 - 19
src/views/sales/withdrawList.vue

@@ -5,17 +5,15 @@
         ref="tableLists" 
         v-model="list" 
         :filter="filter" 
-        :filterType="0" 
+        :filterType="2" 
         :filterReset="0" 
-        :sear="sear"
-        :filterSear="2"
         requestApi="/sales/withdrawList" 
         style="background:#fff;padding:10px" 
         @loading="load"
     >
       <template slot="filterContent">
         <FormItem label="状态:" :label-width="50">
-            <Select size="large" placeholder="全部" clearable v-model="filter.type" style="width:100px">
+            <Select size="large" placeholder="全部" clearable v-model="filter.status" style="width:100px">
                 <Option v-for="item in withType" :value="item.v" :key="item.v">{{ item.n }}</Option>
             </Select>
         </FormItem>
@@ -42,7 +40,7 @@
         <Button type="primary" size="large" @click="finished('批量')" style="margin-left:30px">批量完成</Button>
       </template>
       <template slot="filterRight">
-          <Input prefix="md-search" type="text" size="large" v-model="sear.keyword" placeholder="搜索..." clearable class="ser-ipt"/>
+          <Input prefix="md-search" type="text" size="large" v-model="filter.keyword" placeholder="搜索..." clearable class="ser-ipt"/>
       </template>
       <Table 
         size="large"
@@ -95,20 +93,33 @@ export default {
             this.filter.cashStartTime = date
         },
         handleChange2 (date) {
+            console.log(date)
             this.filter.cashEndTime = date
         },
         seleChange (selection) {
             this.seleData = selection
         },
         exportd() {
-            this.$Modal.confirm({
-                title: "确定导出所选内容",
-                onOk: () => {
-                    // this.$request('/system/request/remove').data({ id: row.id }).showSuccessTip().success(() => {
-                    //     this.reload()
-                    // }).get()
-                }
-            });
+            let arr = []
+            if (this.seleData.length !=0) {
+                this.$Modal.confirm({
+                    title: "确定导出结果吗?",
+                    onOk: () => {
+                        this.seleData.forEach(v => {
+                            arr.push(v.id)
+                        });
+                        this.$request('/sales/settleList/exportResults').data({
+                            ids: String(arr)
+                        }).success((res) => {
+                            window.location.href = res.data
+                        }).get()
+                    }
+                })
+            } else {
+                this.$Modal.warning({
+                    title: "至少选择一项内容"
+                })
+            }
         },
         batched (val,tips,data) {
             this.$request('/sales/withdrawList/batchFinish').data({ 
@@ -154,19 +165,15 @@ export default {
             dataValue: '',
             withType: [
                 {v: '', n: '全部'},
-                {v: '-1', n: '失败'}, 
                 {v: '0', n: '已申请'},
                 {v: '1', n: '已完成'}
             ],
             filter: {
-                // keyword: '',
-                type: '',
+                keyword: '',
+                status: '',
                 cashStartTime: '',
                 cashEndTime: ''
             },
-            sear: {
-                keyword: '',
-            },
             seleData: [],
             columns: [
                 {

+ 2 - 2
src/views/system/auth.vue

@@ -11,13 +11,13 @@
         >
             <template slot="filterContent">
                 <FormItem>
-                    <Input type="text" v-model="filter.keyword" placeholder="搜索关键词"/>
+                    <Input type="text" size="large" v-model="filter.keyword" placeholder="搜索关键词"/>
                 </FormItem>
             </template>
             <template slot="filterRight">
                 <Button type="success" icon="md-add" @click="add()">添加</Button>
             </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="_request">
                     <Button size="small" @click="showAssign(row,'request')">
                         关联请求({{row.request.length}})

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

@@ -3,16 +3,16 @@
         <table-lists ref="tableLists" v-model="data" :filter="filter" :filterReset="0" requestApi="/system/auth/getRequest">
             <template slot="filterContent">
                 <FormItem>
-                    <Input type="text" v-model="filter.keyword" placeholder="搜索关键词"/>
+                    <Input type="text" size="large" v-model="filter.keyword" placeholder="搜索关键词"/>
                 </FormItem>
             </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">
                     <Button size="small" type="success" @click="add(row)">加入</Button>
                 </template>
             </Table>
         </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">
                 <Button size="small" type="error" @click="remove(row,index)">移出</Button>
             </template>

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

@@ -3,16 +3,16 @@
         <table-lists ref="tableLists" v-model="data" :filter="filter" requestApi="/system/auth/getUserGroup">
             <template slot="filterContent">
                 <FormItem>
-                    <Input type="text" v-model="filter.keyword" placeholder="搜索关键词"/>
+                    <Input type="text" size="large" v-model="filter.keyword" placeholder="搜索关键词"/>
                 </FormItem>
             </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">
                     <Button size="small" type="success" @click="add(row)">加入</Button>
                 </template>
             </Table>
         </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">
                 <Button size="small" type="error" @click="remove(row,index)">移出</Button>
             </template>

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

@@ -11,10 +11,10 @@
     >
       <template slot="filterContent">
         <FormItem>
-          <Input type="text" v-model="filter.keyword" placeholder="搜索关键词" clearable/>
+          <Input type="text" size="large" v-model="filter.keyword" placeholder="搜索关键词" clearable/>
         </FormItem>
         <FormItem>
-          <Select placeholder="搜索类型" clearable v-model="filter.type" style="width:162px">
+          <Select size="large" placeholder="搜索类型" clearable v-model="filter.type" style="width:162px">
             <Option v-for="item in type" :value="item.v" :key="item.v">{{ item.n }}</Option>
           </Select>
         </FormItem>
@@ -22,7 +22,7 @@
       <template slot="filterRight">
         <Button type="success" icon="md-add" @click="add()">添加</Button>
       </template>
-      <Table :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">
           <field-map :value="row.type" :map="type"></field-map>
         </template>

+ 6 - 11
src/views/system/user.vue

@@ -95,7 +95,6 @@
                 });
             },
             save() {
-                console.log(this.current.data)
                 this.$request("/system/user/save").data(this.current.data).showSuccessTip().success(() => {
                     this.current.show = false;
                     this.reload();
@@ -124,38 +123,34 @@
                     },
                     {
                         title: '用户名',
-                        key: 'username',
-                        width: 150
+                        key: 'username'
                     },
                     {
                         title: '最后登录IP',
                         key: 'last_login_ip',
-                        align: 'center',
-                        // width: 150
+                        align: 'center'
                     },
                     {
                         title: '最后登录时间',
                         key: 'last_login_time',
                         align: 'center',
-                        // width: 200
+                        width: 170
                     },
                     {
                         title: '创建时间',
                         key: 'create_time',
                         align: 'center',
-                        // width: 200
+                        width: 170
                     },
                     {
                         title: '状态',
                         slot: '_status',
-                        align: 'center',
-                        // width: 100
+                        align: 'center'
                     },
                     {
                         title: '用户组',
                         slot: '_group',
-                        align: 'center',
-                        // width: 160
+                        align: 'center'
                     },
                     {
                         title: '操作',