yanliming 5 лет назад
Родитель
Сommit
7c95f3d4c2

+ 18 - 1
src/api/base/companyPayment.js

@@ -46,7 +46,24 @@ function batchRemove(idList) {
   });
 }
 
+function updateIsOpenWechatOrAlipay(formModel) {
+  return request.post(constant.serverUrl + "/base/companyPaymentInfo/updateIsOpenWechatOrAlipay", formModel);
+}
+
+function loadDetails(formData) {
+  return request.post(constant.serverUrl + "/base/companyPaymentInfo/loadDetails", formData);
+}
+
+function getCompanyList() {
+  return request.post(constant.serverUrl + "/base/companyPaymentInfo/getCompanyList");
+}
+
+function findByCheckInId(formData) {
+  return request.post(constant.serverUrl + "/base/companyPaymentInfo/findByCheckInId",formData);
+}
+
+
 
 export default {
-    create, edit, add, update, remove, batchRemove, pageList,list
+    create, edit, add, update, remove, batchRemove, pageList,list,updateIsOpenWechatOrAlipay,loadDetails,getCompanyList,findByCheckInId
 }

+ 68 - 8
src/views/base/companyPayment-detail.vue

@@ -16,14 +16,21 @@
             inline
         >
             <el-form-item label="物业公司" prop="companyId">
-                <el-select v-model="formModel.companyId" filterable>
+                <!-- <el-select v-model="formModel.companyId" filterable>
                     <el-option
                         v-for="result in companyList"
                         :key="result.id"
                         :label="result.name"
                         :value="result.id"
                     ></el-option>
-                </el-select>
+                </el-select> -->
+                <el-select-tree
+                    :props="props"
+                    :options="treeData"
+                    v-model="formModel.companyId"
+                    height="200"
+                    style="width: 500px"
+                ></el-select-tree>
             </el-form-item>
             <el-form-item label="账户名称" prop="name">
                 <el-input
@@ -32,6 +39,13 @@
                     style="width: 500px"
                 ></el-input>
             </el-form-item>
+            <el-form-item label="结算周期" prop="cycle">
+                <el-input
+                    v-model="formModel.cycle"
+                    placeholder="结算周期"
+                    style="width: 500px"
+                ></el-input>
+            </el-form-item>
             <el-form-item label="微信mchId" prop="mchId">
                 <el-input
                     v-model="formModel.mchId"
@@ -53,6 +67,27 @@
                     style="width: 500px"
                 ></el-input>
             </el-form-item>
+            <el-form-item label="开户名称" prop="bankName">
+                <el-input
+                    v-model="formModel.bankName"
+                    placeholder="请输入开户名称"
+                    style="width: 500px"
+                ></el-input>
+            </el-form-item>
+                        <el-form-item label="开户银行" prop="bank">
+                <el-input
+                    v-model="formModel.bank"
+                    placeholder="请输入开户银行"
+                    style="width: 500px"
+                ></el-input>
+            </el-form-item>
+                        <el-form-item label="账号" prop="account">
+                <el-input
+                    v-model="formModel.account"
+                    placeholder="请输入账号"
+                    style="width: 500px"
+                ></el-input>
+            </el-form-item>
 
         </el-form>
       </div>
@@ -69,16 +104,19 @@
 import Constant from "@/constant";
 import companyPaymentApi from "@/api/base/companyPayment";
 import companyInfoApi from "@/api/base/companyInfo";
+import pageUtil from "@/utils/page";
+import SelectTree from "@/components/SelectTree";
+import NProgress from "nprogress"; // progress bar
+import "nprogress/nprogress.css"; // progress bar style
 export default {
     props: ["businessKey", "title"],
     data() {
         return {
             ruleValidate: {
-                companyId: [{ required: true, message: "物业公司不能为空", trigger: "blur" }],
+                companyId: [{ required: true, message: "物业公司不能为空", trigger: "change" }],
                 name: [{ required: true, message: "账户名称不能为空", trigger: "blur" }],
-                mchId: [{ required: true, message: "微信mchId不能为空", trigger: "blur" }],
-                subMchId: [{ required: true, message: "微信subMchId不能为空", trigger: "blur" }],
-                appAuthToken: [{ required: true, message: "支付宝appAuthToken不能为空", trigger: "blur" }],
+                cycle: [{ required: true, message: "结算周期不能为空", trigger: "blur" }],
+
             },
             formModel:{
                 companyId:"",
@@ -87,12 +125,22 @@ export default {
                 subMchId:"",
                 appAuthToken:"",
             },
+            treeData: [],
             companyList:[],
             showDialog: true,
             loading: false,
             submitting: false,
+            props: {
+                // 配置项(必选)
+                value: "id",
+                label: "name",
+                children: "children"
+            },
         }
     },
+    created() {
+        this.loadTree();
+    },
     methods: {
         closeDialog() {
             this.$emit("close", false);
@@ -105,8 +153,6 @@ export default {
                 (function () {
                     var id = self.formModel.id;
 
-                    alert(JSON.stringify(self.formModel))
-
                     if (id == null || id.length == 0) {
                         return companyPaymentApi.add(self.formModel);
                     } else {
@@ -134,6 +180,17 @@ export default {
                 }
             });
         },
+        loadTree() {
+            companyInfoApi.list().then(resp => {
+                var jsonData = resp.data;
+
+                if (jsonData.result) {
+                this.treeData = jsonData.data;
+                } else {
+                this.$message.error(jsonData.message + "");
+                }
+            });
+        },
     },
     mounted: function () {
         var self = this;
@@ -164,6 +221,9 @@ export default {
             self.$message.error(error + "");
         });
     },
+    components: {
+        "el-select-tree": SelectTree
+    }
 }
 </script>
 <style scoped>

+ 101 - 5
src/views/base/companyPayment-list.vue

@@ -17,14 +17,20 @@
             class="demo-form-inline"
             >
             <el-form-item label="物业公司" prop="companyId">
-                <el-select size="mini" v-model="queryModel.companyId" filterable>
+                <!-- <el-select size="mini" v-model="queryModel.companyId" filterable>
                     <el-option
                         v-for="result in companyList"
                         :key="result.id"
                         :label="result.name"
                         :value="result.id"
                     ></el-option>
-                </el-select>
+                </el-select> -->
+                <el-select-tree
+                    :props="props"
+                    :options="treeData"
+                    v-model="queryModel.companyId"
+                    height="200"
+                ></el-select-tree>
             </el-form-item>
             <el-form-item label="账户名称" prop="name">
                 <el-input type="text" size="mini" v-model="queryModel.name"></el-input>
@@ -69,14 +75,39 @@
             >
             <el-table-column prop="companyName"  label="物业公司" ></el-table-column>
             <el-table-column prop="name"  label="账户名称" ></el-table-column>
+            <el-table-column prop="cycle"  label="结算周期"  ></el-table-column>
             <el-table-column prop="mchId"  label="微信mchId" ></el-table-column>
             <el-table-column prop="subMchId"  label="微信subMchId" ></el-table-column>
             <el-table-column prop="appAuthToken"  label="支付宝appAuthToken"  ></el-table-column>
+            <el-table-column prop="bankName"  label="账户名称"  ></el-table-column>
+            <el-table-column prop="bank"  label="开户银行"  ></el-table-column>
+            <el-table-column prop="account"  label="账号"  ></el-table-column>
             <el-table-column prop="createTime"  label="创建时间"  ></el-table-column>
-            <el-table-column label="操作">
+            <el-table-column prop="isOpenWechat"  label="支持微信支付"  >
                 <template slot-scope="{row}">
-                <el-button size="mini" type="warning" @click="handleEdit(row)">编辑</el-button>
-                <el-button size="mini" type="danger" @click="handleDelete(row)">删除</el-button>
+                    <el-switch
+                        v-model="row.isOpenWechat"
+                        active-color="#13ce66"
+                        inactive-color="#ff4949"
+                        @change="handlChange(row)">
+                    </el-switch>
+                </template>
+            </el-table-column>
+            <el-table-column prop="isOpenAlipay"  label="支持支付宝支付"  >
+                <template slot-scope="{row}">
+                    <el-switch
+                        v-model="row.isOpenAlipay"
+                        active-color="#13ce66"
+                        inactive-color="#ff4949"
+                        @change="handlChange(row)">
+                    </el-switch>
+                </template>
+            </el-table-column>
+            <el-table-column label="操作" fixed="right" width="130px">
+                <template slot-scope="{row}">
+                <el-link size="mini" type="primary" @click="handleEdit(row)">编辑</el-link>-
+                <el-link size="mini" type="warning" @click="handleManagePayService(row)">收费项目</el-link>-
+                <el-link size="mini" type="danger" @click="handleDelete(row)">编辑</el-link>
                 </template>
             </el-table-column>
         </el-table>
@@ -101,6 +132,10 @@ import Constant from "@/constant";
 import companyPaymentApi from "@/api/base/companyPayment";
 import companyInfoApi from "@/api/base/companyInfo";
 import companyPaymentDetail from "./companyPayment-detail";
+import pageUtil from "@/utils/page";
+import SelectTree from "@/components/SelectTree";
+import NProgress from "nprogress"; // progress bar
+import "nprogress/nprogress.css"; // progress bar style
 export default {
      name: "baseCompanyPayment",
      data() {
@@ -109,6 +144,7 @@ export default {
                 companyId:"",
                 name:"",
             },
+            treeData: [],
             companyList:[],
             loading: false,
             tableData: [],
@@ -119,8 +155,18 @@ export default {
             pageSizeList: [10, 20, 30],
             multipleSelection: [],
             showModal: false,
+            props: {
+                // 配置项(必选)
+                value: "id",
+                label: "name",
+                children: "children"
+            },
          }
     },
+    created() {
+
+        this.loadTree();
+    },
     methods: {
         changePage(pageIndex) {
             var self = this;
@@ -168,6 +214,23 @@ export default {
             this.businessKey = record.id;
             this.showModal = true;
         },
+        handleManagePayService(record) {
+
+            var path = "/base/PayService/list";
+            
+
+            this.$store.dispatch('tagsView/delView', {
+                name: "basePayServiceList",
+                path: path
+            }).then(({ visitedViews }) => {
+                this.$router.push({ 
+                path: path,
+                query:{
+                    companyId: record.companyId
+                }
+                });
+            });
+        },
         onDetailModalClose(refreshed) {
             //保存成功后回调
             this.showModal = false;
@@ -201,10 +264,43 @@ export default {
                 });
             });
         },
+        loadTree() {
+            companyInfoApi.list().then(resp => {
+                var jsonData = resp.data;
+
+                if (jsonData.result) {
+                this.treeData = jsonData.data;
+                } else {
+                this.$message.error(jsonData.message + "");
+                }
+            });
+        },
+        handlChange(record){
+
+            var self = this;
+            var formData = new FormData();
+            self.loading = true;
+
+            formData.append("id", record.id);
+            formData.append("isOpenWechat", record.isOpenWechat);
+            formData.append("isOpenAlipay", record.isOpenAlipay);
+
+            companyPaymentApi.updateIsOpenWechatOrAlipay(formData).then(function (response) {
+                var jsonData = response.data;
+                self.loading = false;
+                if (jsonData.result) {
+                    self.changePage(self.pageIndex);
+                }
+                else{
+                    self.$message.error(jsonData.message + "");
+                }
+            });
+        }
         
     },
     components: {
         "companyPayment-detail": companyPaymentDetail,
+        "el-select-tree": SelectTree
     },
     mounted() {
         this.changePage(1);

+ 10 - 4
src/views/base/payService-list.vue

@@ -95,16 +95,20 @@ export default {
             totalElements: 0,
             tableHeight: 400,
             pageSizeList: [10,30,50,100],
+            companyId:"",
         }
     },
     methods:{
-        changePage(pageIndex) {
+        changePage(pageIndex,companyId) {
             this.loading = true;
             var formData = new FormData();
 
             formData.append("pageIndex", this.pageIndex);
             formData.append("pageSize", this.pageSize);
 
+            if(companyId!=null){
+                formData.append("companyId", companyId);
+            }
 
             payServiceApi.payServicePageList(formData).then(response => {
                 this.loading = false;
@@ -122,7 +126,7 @@ export default {
             this.pageSize = pageSize;
             
             this.$nextTick(()=>{
-                this.changePage(1);
+                this.changePage(1,this.companyId);
             });
         },
         handleReset(name) {
@@ -135,7 +139,7 @@ export default {
             if (retObj.result) {
                 var retData = retObj.data;
 
-                this.changePage(this.pageIndex);
+                this.changePage(this.pageIndex,this.companyId);
 
             }
         },
@@ -207,7 +211,9 @@ export default {
         
     },
     mounted() {
-        this.changePage(1);
+        var companyId = this.$route.query.companyId;
+        this.companyId = companyId;
+        this.changePage(1,companyId);
     },
     components: {
         "payService-detail": payServiceDetail

+ 141 - 49
src/views/business/billPush-detail.vue

@@ -2,7 +2,7 @@
   <el-dialog
     :visible.sync="showDialog"
     :title="title"
-    width="90%"
+    width="85%"
     :modal-append-to-body="true"
     style="text-align:left;"
     @close="closeDialog"
@@ -17,35 +17,40 @@
         <el-form-item label="收款方:" prop="payee">
           <el-input v-model="formModel.payee" placeholder="请输入收款方" class="input-form-main"></el-input>
         </el-form-item>
-        <el-form-item label="缴费单位:" prop="companyId">
-          <el-select v-model="formModel.companyId" filterable class="input-form-main" @change="handChange">
-            <el-option
-                v-for="company in companyList"
-                :key="company.id"
-                :label="company.name"
-                :value="company.id"
-              ></el-option>
-          </el-select>
-        </el-form-item>
         <el-form-item label="收款账户:" prop="collectionAccountId">
-            <el-select v-model="formModel.collectionAccountId"   class="input-form-main" >
+            <el-input v-model="formModel.collectionAccountId" style="display:none"></el-input>
+            <el-input v-model="formModel.collectionAccountName" placeholder="请输入收款方" class="input-form-main" readonly="readonly"></el-input>
+            <!-- <el-select v-model="formModel.collectionAccountId"   class="input-form-main" >
                 <el-option
                     v-for="collectionAccount in collectionAccountList"
                     :key="collectionAccount.id"
                     :label="collectionAccount.name"
                     :value="collectionAccount.id"
                 ></el-option>
-            </el-select>
+            </el-select> -->
         </el-form-item>
-        <el-form-item label="推送用户:" prop="personId" >
-          <el-select v-model="formModel.personId" class="input-form-main" filterable>
+        <el-form-item label="缴费单位:" prop="companyId">
+          <el-select v-model="formModel.companyId" filterable class="input-form-main" @change="handleCompanyChange">
+            <el-option
+                v-for="company in companyList"
+                :key="company.companyId"
+                :label="company.companyName"
+                :value="company.companyId"
+              ></el-option>
+          </el-select>
+        </el-form-item> <el-form-item label="推送用户:" prop="personId" >
+        <!--
+            <el-input v-model="formModel.personId" style="display:none"></el-input>
+        -->
+            <el-input v-model="formModel.personName"  class="input-form-main"></el-input> 
+          <!-- <el-select v-model="formModel.personId" class="input-form-main" filterable>
             <el-option
                 v-for="person in personList"
                 :key="person.id"
                 :label="person.name"
                 :value="person.id"
               ></el-option>
-          </el-select>
+          </el-select> -->
         </el-form-item>
         <el-form-item label="备注:" prop="bak">
           <el-input type="textarea" v-model="formModel.bak" placeholder="请输入备注"  class="input-form-main"></el-input>
@@ -54,14 +59,15 @@
         <h3>账单信息</h3>
         <el-table :data="formModel.billPushGoodsList" show-summary :summary-method="getSummaries">
             <el-table-column type="index" label="序号" width="50"></el-table-column>
-            <el-table-column prop="goodsId" label="收费项目">
-              <template slot-scope="{row}">
+            <el-table-column prop="goodsId" label="收费项目" width="150">
+              <template slot-scope="scope">
                   <el-form-item>
-                    <el-select v-model="row.goodsId" placeholder="请选择" style="width:150px;">
+                    <el-input v-model="scope.row.goodTypeId" style="display:none"></el-input>
+                    <el-select v-model="scope.row.goodsId" placeholder="请选择" style="width:150px;" @change="handGoodsChange(scope)">
                         <el-option
                         v-for="result in goodsList"
                         :key="result.id"
-                        :label="result.name"
+                        :label="result.goodsName"
                         :value="result.id"
                         ></el-option>
                     </el-select>
@@ -87,23 +93,31 @@
                     </el-form-item>
                 </template>
             </el-table-column>
-            <el-table-column prop="numStr" label="数量" width="120">
+            <el-table-column prop="numStr" label="数量"  width="360">
                 <template slot-scope="scope">
                     <el-form-item
                     :prop="'billPushGoodsList.' + scope.$index + '.numStr'"
                     :rules="ruleValidate['numStr']"
                     >
-                    <el-input placeholder="数量" v-model="scope.row.numStr"></el-input>
+                        <template v-if="scope.row.goodTypeId=='7'">
+                            <el-input style="width:100px" placeholder="起码" v-model.number="scope.row.numStr" @change="handStartChange(scope)"></el-input>
+                            -<el-input style="width:100px" placeholder="止码" v-model.number="scope.row.numStr2" @change="handStartChange(scope)"></el-input>
+                            =<el-input style="width:100px" v-model.number="scope.row.numStr3"  @change="handNumChange(scope)"></el-input>
+                        </template>
+                        <template v-else>
+                            <el-input placeholder="数量" v-model.number="scope.row.numStr"  @change="handNumChange(scope)"></el-input>
+                        </template>  
                     </el-form-item>
                 </template>
             </el-table-column>
-            <el-table-column prop="standard" label="收费标准">
+            <el-table-column prop="standard" label="收费标准" width="150">
                 <template slot-scope="scope">
                     <el-form-item
                     :prop="'billPushGoodsList.' + scope.$index + '.standard'"
                     :rules="ruleValidate['standard']"
                     >
-                    <el-input placeholder="收费标准" v-model="scope.row.standard"></el-input>
+                    <el-input v-model="scope.row.unit" style="display:none"></el-input>
+                    <el-input placeholder="收费标准" v-model="scope.row.standard" ></el-input>
                     </el-form-item>
                 </template>
             </el-table-column>
@@ -113,12 +127,12 @@
                     :prop="'billPushGoodsList.' + scope.$index + '.totalFee'"
                     :rules="ruleValidate['totalFee']"
                     >
-                    <el-input placeholder="合计金额" v-model="scope.row.totalFee"></el-input>
+                    <el-input placeholder="合计金额" v-model="scope.row.totalFee" readonly="readonly"></el-input>
                     </el-form-item>
                 </template>
             </el-table-column>
 
-            <el-table-column label="操作" width="200">
+            <el-table-column label="操作" width="200" fixed="right">
               <template slot-scope="{row}">
                 <el-form-item>
                   <i class="el-icon-delete my-font" @click="handleDelete(row)"></i>
@@ -159,10 +173,9 @@ export default {
         return {
             ruleValidate: {
                 name: [{ required: true, message: "账单名称不能为空", trigger: "blur" }],
-                payee: [{ required: true, message: "收款方不能为空", trigger: "blur" }],
-                companyId: [{ required: true, message: "公司不能为空", trigger: "blur" }],
-                collectionAccountId: [{ required: true, message: "请选择收款账户", trigger: "blur" }],
-                payService: [{ required: true, message: "收费项目不能为空", trigger: "blur" }]
+                companyId: [{ required: true, message: "缴费单位不能为空", trigger: "blur" }],
+                payService: [{ required: true, message: "收费项目不能为空", trigger: "blur" }],
+                // personId: [{ required: true, message: "推送用户不能为空", trigger: "blur" }]
             },
             formModel: {
                 name:"",
@@ -170,10 +183,12 @@ export default {
                 companyId:"",
                 payService:"",
                 collectionAccountId:"",
+                collectionAccountName:"",
                 bak:"",
                 billPushGoodsList:[],
                 removeBillPushGoodsList:[],
-                
+                personId:0,
+                personName:""
             },
             beginEndTime:"",
             personList:[],
@@ -185,10 +200,24 @@ export default {
             showDialog: true,
             loading: false,
             submitting: false,
+            props: {
+                // 配置项(必选)
+                value: "id",
+                label: "name",
+                children: "children"
+            },
+        }
+    },
+    watch:{
+        "formModel.companyId":function(newVal,oldVal){
+            console.log(newVal + "->" + oldVal);
+
+            
         }
     },
     created() {
-        companyInfoApi.list().then((response)=>{
+
+        companyPaymentApi.getCompanyList().then((response)=>{
             var jsonData = response.data;
             this.companyList = jsonData.data;
         });
@@ -202,23 +231,22 @@ export default {
         closeDialog() {
         this.$emit("close", false);
         },
-        handChange(selVal){
+        handleCompanyChange(newVal){
+            setTimeout(()=>{
+                var formData = new FormData();
+                formData.append("companyId", newVal);
 
-            this.formModel.payService = "";
-
-            var formData = new FormData();
-            formData.append("companyId", selVal);
-
-            companyGoodsInfoApi.findByCompanyId(formData).then((response)=>{
-                var jsonData = response.data;
-                this.goodsList = jsonData.data;
-            });
-
-            personInfoApi.findByCompanyId(formData).then((response)=>{
-                var jsonData = response.data;
-                this.personList = jsonData.data;
-            });
+                companyGoodsInfoApi.findByCompanyId(formData).then((response)=>{
+                    var jsonData = response.data;
+                    this.goodsList = jsonData.data;
+                });
 
+                companyPaymentApi.findByCheckInId(formData).then((response)=>{
+                    var jsonData = response.data;
+                    this.formModel.personId = jsonData.data.id;
+                    this.formModel.personName = jsonData.data.name;
+                });
+            },100);
         },
         handleSubmit() {
             var self = this;
@@ -279,7 +307,11 @@ export default {
                 goodsId: "",
                 beginEndTime: "",
                 numStr: "",
+                numStr2: "",
+                numStr3: "",
                 totalFee: "",
+                standard: "",
+                unit: ""
             });
         },
         handleInsert(row) {
@@ -289,10 +321,14 @@ export default {
             if(index>=0){
                 billPushGoodsList.splice(index+1,0,{
                     sortNo: index + 2,
-                    name: "",
+                    goodsId: "",
                     beginEndTime: "",
                     numStr: "",
+                    numStr2: "",
+                    numStr3: "",
                     totalFee: "",
+                    standard: "",
+                    unit: ""
                 });
             }
         },
@@ -328,6 +364,56 @@ export default {
             });
 
             return sums;
+        },
+        handGoodsChange(scope){
+            var row = scope.row;
+            
+            setTimeout(()=>{                
+                var formData = new FormData();
+                formData.append("id", row.goodsId);
+
+                companyPaymentApi.loadDetails(formData).then((response)=>{
+                    var jsonData = response.data;
+
+                    if(jsonData.result){
+                        var data = jsonData.data;
+
+                        row.standard = data.unitPriceStr;
+                        row.unit = data.unitPrice;
+                        row.goodTypeId = data.goodType;
+                    }
+                });
+            },100);
+        },
+        handNumChange(scope){
+            var row = scope.row;
+
+            var num = row.numStr;
+            var unit = row.unit;
+
+            var totalFee = num*1*unit*1;
+
+            this.formModel.billPushGoodsList[scope.$index].totalFee = totalFee;
+        },
+        handStartChange(scope){
+            var row = scope.row;
+
+            var num1=row.numStr;
+            var num2=row.numStr2;
+            var unit = row.unit;
+
+
+            setTimeout(()=>{         
+                if(num1!=null&&num2!=null){
+                    var num3 = num2-num1;
+
+                    this.formModel.billPushGoodsList[scope.$index].numStr3 = num3;
+
+                    var totalFee = num3*1*unit*1;
+
+                    this.formModel.billPushGoodsList[scope.$index].totalFee = totalFee;
+                }
+            },100);
         }
     },
     mounted: function() {
@@ -370,16 +456,22 @@ export default {
     }
 }
 </script>
-<style>
+<style scoped>
 .input-form-main{
     width: 500px;
 }
 .link-span{
     margin-right: 20px;
 }
+.el-form-item{
+    margin-bottom: 25px;
+}
 .my-font {
   font-size: 20px;
   cursor: pointer;
   margin-right: 10px;
 }
+.user-panel {
+  margin: 10px auto;
+}
 </style>

+ 80 - 9
src/views/business/billPush-list.vue

@@ -12,14 +12,22 @@
         <el-divider></el-divider>
         <el-form ref="queryForm" :model="queryModel" inline class="demo-form-inline">
             <el-form-item label="缴费单位" prop="companyId">
-                <el-select v-model="queryModel.companyId"  size="mini" filterable focus="" >
+                <!-- <el-select v-model="queryModel.companyId"  size="mini" filterable focus="" >
                     <el-option
                         v-for="company in companyList"
                         :key="company.id"
                         :label="company.name"
                         :value="company.id"
                     ></el-option>
-                </el-select>
+                </el-select> -->
+                <el-select-tree
+                    size="mini"
+                    :props="props"
+                    :options="treeData"
+                    v-model="queryModel.companyId"
+                    height="200"
+                ></el-select-tree>
+
             </el-form-item>
             <el-form-item label="推送状态" prop="status">
                 <el-select v-model="queryModel.status"  size="mini"  >
@@ -168,7 +176,9 @@
                         <span class="link-span"><el-link  type="warning" @click="handleClose(row)">关闭账单</el-link></span>
                         <el-link  type="danger" @click="handleDelete(row)">删除账单</el-link>
                     </div>
-                    
+                    <div v-if="row.payStatus=='10'">
+                        <span class="link-span"><el-link  type="primary" @click="handlePayTime(row)">设置线下支付</el-link></span>
+                    </div>
                 </template>
             </el-table-column>
         </el-table>
@@ -194,6 +204,12 @@
             :title="modalTitle2"
             @close="onDetailModalClose2"
         ></billPush-detail-list>
+        <billPush-order-payTime
+            v-if="showModal3"
+            :businessKey="businessKey"
+            :title="modalTitle3"
+            @close="onDetailModalClose3"
+        ></billPush-order-payTime>
     </div>
 </template>
 <script>
@@ -203,6 +219,11 @@ import companyInfoApi from "@/api/base/companyInfo";
 import companyPaymentApi from "@/api/base/companyPayment";
 import billPushDetail from "./billPush-detail";
 import billPushDetailList from "./billPush-detail-list";
+import billPushOrderPayTime from "./billPush-order-payTime";
+import pageUtil from "@/utils/page";
+import SelectTree from "@/components/SelectTree";
+import NProgress from "nprogress"; // progress bar
+import "nprogress/nprogress.css"; // progress bar style
 export default {
     name: "businessBillPushList",
     data() {
@@ -218,6 +239,7 @@ export default {
                 payTimeRange:"",
                 payStatus:"",
             },
+            treeData: [],
             loading: false,
             statusList:[
                 {
@@ -284,13 +306,24 @@ export default {
             multipleSelection: [],
             showModal: false,
             showModal2: false,
+            showModal3:false,
+            props: {
+                // 配置项(必选)
+                value: "id",
+                label: "name",
+                children: "children"
+            },
         }
     },
     created() {
-        companyInfoApi.list().then((response)=>{
-            var jsonData = response.data;
-            this.companyList = jsonData.data;
-        });
+
+        
+        this.loadTree();
+
+        // companyInfoApi.list().then((response)=>{
+        //     var jsonData = response.data;
+        //     this.companyList = jsonData.data;
+        // });
 
         companyPaymentApi.list().then((response)=>{
             var jsonData = response.data;
@@ -310,7 +343,11 @@ export default {
             formData.append("pageIndex", self.pageIndex);
             formData.append("pageSize", self.pageSize);
 
-            formData.append("companyId", self.queryModel.companyId);
+            if(self.queryModel.companyId!=null){
+                formData.append("companyId", self.queryModel.companyId);
+            }
+
+            
             formData.append("status", self.queryModel.status);
             formData.append("payName", self.queryModel.payName);
 
@@ -352,6 +389,17 @@ export default {
 
             this.showModal = true;
         },
+        loadTree() {
+            companyInfoApi.list().then(resp => {
+                var jsonData = resp.data;
+
+                if (jsonData.result) {
+                this.treeData = jsonData.data;
+                } else {
+                this.$message.error(jsonData.message + "");
+                }
+            });
+        },
         onDetailModalClose(retObj) {
             //保存成功后回调
             this.showModal = false;
@@ -367,6 +415,19 @@ export default {
             this.changePage(this.pageIndex);
 
             
+        },
+        onDetailModalClose3(retObj) {
+            //保存成功后回调
+            this.showModal3 = false;
+
+            if (retObj.result) {
+                var retData = retObj.data;
+
+                this.changePage(this.pageIndex);
+
+            }
+
+            
         },
         handleReset(name) {
             this.$refs[name].resetFields();
@@ -474,13 +535,23 @@ export default {
 
             return rs;
         }, 
+        handlePayTime(record){
+            var self = this;
+
+            this.modalTitle3 = "账单推送详情";
+            this.operation = "detail";
+            this.businessKey = record.id;
+            this.showModal3 = true;
+        }
     },
     mounted: function() {
         this.changePage(1);
     },
     components: {
         "billPush-detail": billPushDetail,
-        "billPush-detail-list":billPushDetailList
+        "billPush-detail-list":billPushDetailList,
+        "billPush-order-payTime":billPushOrderPayTime,
+        "el-select-tree": SelectTree
     }
 }
 </script>

+ 5 - 5
src/views/business/billPush-order-payTime.vue

@@ -108,11 +108,11 @@ export default {
         var self = this;
 
         (function() {
-        if (self.businessKey.length == 0) {
-            return billPushApi.createPayTime(self.businessKey);
-        } else {
-            return billPushApi.editPayTime(self.businessKey);
-        }
+            if (self.businessKey.length == 0) {
+                return billPushApi.createPayTime(self.businessKey);
+            } else {
+                return billPushApi.editPayTime(self.businessKey);
+            }
         })()
         .then(response => {
             var jsonData = response.data;