소스 검색

Merge branch 'V2' of http://47.92.161.104:10080/zq/jp-housekeeper-portal into V2

jz.kai 5 년 전
부모
커밋
e81e2a3767

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

@@ -62,8 +62,14 @@ function findByCheckInId(formData) {
   return request.post(constant.serverUrl + "/base/companyPaymentInfo/findByCheckInId",formData);
 }
 
+function setIsDefault(formData) {
+  return request.post(constant.serverUrl + "/base/companyPaymentInfo/setIsDefault",formData);
+}
+
+
+
 
 
 export default {
-    create, edit, add, update, remove, batchRemove, pageList,list,updateIsOpenWechatOrAlipay,loadDetails,getCompanyList,findByCheckInId
+    create, edit, add, update, remove, batchRemove, pageList,list,updateIsOpenWechatOrAlipay,loadDetails,getCompanyList,findByCheckInId,setIsDefault
 }

+ 17 - 8
src/views/base/checkinInfo-detail.vue

@@ -23,9 +23,9 @@
         :label-width="'150px'"
         inline
       >
-        <el-form-item label="楼栋" prop="biulding">
+        <el-form-item label="楼栋" prop="building">
           <el-input
-            v-model="formModel.biulding"
+            v-model="formModel.building"
             placeholder="请输入楼栋"
             style="width: 300px"
           ></el-input>
@@ -50,15 +50,19 @@
             :options="companyResult"
             v-model="formModel.companyId"
             style="width: 300px"
+            size="mediumn"
           ></el-select-tree>
         </el-form-item>
         <el-form-item label="联系人" prop="artificialPerson">
-          <el-select-tree
-            :props="personProps"
-            :options="personResult"
+          <el-select
+            filterable
             v-model="formModel.artificialPerson"
             style="width: 300px"
-          ></el-select-tree>
+          >
+            <el-option v-for="person in personResult" 
+              :key="person.id" :value="person.id" :label="person.name">
+            </el-option>
+          </el-select>
         </el-form-item>
         <el-form-item label="法人" prop="boss">
           <el-input
@@ -129,7 +133,7 @@ export default {
       formModel: {},
       ruleValidate: {
         id: [{ required: true, message: "编号不能为空", trigger: "blur" }],
-        biulding: [
+        building: [
           { required: true, message: "楼栋不能为空", trigger: "blur" },
         ],
         companyId: [
@@ -173,7 +177,7 @@ export default {
       this.paymentMethodList = jsonData.data;
     });
 
-    companyInfoApi.list().then(function(response) {
+    companyInfoApi.list({scope:"all"}).then(function(response) {
       var jsonData = response.data;
       if (jsonData.result) {
         self.companyResult = jsonData.data;
@@ -186,6 +190,7 @@ export default {
         var self = this;
         var formData = new FormData();
         formData.append("companyId", val);
+
         personInfoApi.findByCompanyId(formData).then(function(response) {
           var jsonData = response.data;
           if (jsonData.result) {
@@ -251,6 +256,10 @@ export default {
 
         if (jsonData.result) {
           self.formModel = jsonData.data;
+          
+          //var personId = self.formModel.artificialPerson;
+          //实际保存为personId,但数据库中是varchar类型
+          //self.formModel.artificialPerson = parseInt(personId);
         } else {
           self.$message.error(jsonData.message + "");
         }

+ 9 - 9
src/views/base/checkinInfo-list.vue

@@ -19,11 +19,11 @@
       inline
       class="demo-form-inline"
     >
-      <el-form-item label="楼栋" prop="biulding">
+      <el-form-item label="楼栋" prop="building">
         <el-input
           type="text"
           size="mini"
-          v-model="queryModel.biulding"
+          v-model="queryModel.building"
         ></el-input>
       </el-form-item>
       <!-- <el-form-item label="企业名称" prop="name">
@@ -91,7 +91,7 @@
     >
       <el-table-column type="selection" width="55"></el-table-column>
       <el-table-column
-        prop="biulding"
+        prop="building"
         label="楼栋"
         width="180"
       ></el-table-column>
@@ -137,7 +137,7 @@
         label="租赁期限"
         width="180"
       ></el-table-column>
-      <el-table-column prop="wechatPay"  label="微信支付"  >
+      <el-table-column prop="wechatPay"  label="微信支付" width="120">
                 <template slot-scope="{row}">
                     <el-switch
                         v-model="row.wechatPay"
@@ -147,7 +147,7 @@
                     </el-switch>
                 </template>
             </el-table-column>
-            <el-table-column prop="aliPay"  label="支付宝支付"  >
+            <el-table-column prop="aliPay"  label="支付宝支付" width="120">
                 <template slot-scope="{row}">
                     <el-switch
                         v-model="row.aliPay"
@@ -257,7 +257,7 @@ export default {
     return {
       queryModel: {
         id: "",
-        biulding: "",
+        building: "",
         name: "",
         feeExpirationTime: "",
         contractExpirationTime: "",
@@ -298,7 +298,7 @@ export default {
       formData.append("pageSize", self.pageSize);
 
       formData.append("id", self.queryModel.id);
-      formData.append("biulding", self.queryModel.biulding);
+      formData.append("building", self.queryModel.building);
       formData.append("name", self.queryModel.name);
       formData.append("feeExpirationTime", self.queryModel.feeExpirationTime);
       formData.append("contractExpirationTime", self.queryModel.contractExpirationTime);
@@ -428,8 +428,8 @@ export default {
       self.loading = true;
 
       formData.append("id", record.id);
-      formData.append("wechatPay", record.wechatPay);
-      formData.append("aliPay", record.aliPay);
+      formData.append("wechatPay", !!record.wechatPay);
+      formData.append("aliPay", !!record.aliPay);
 
       checkinInfoApi.updateWechatPayOrAliPay(formData).then(function (response) {
           var jsonData = response.data;

+ 13 - 14
src/views/base/companyInfo-detail.vue

@@ -10,6 +10,7 @@
     :title="title"
     :modal-append-to-body="false"
     style="text-align: left"
+    width="80%"
     @close="closeDialog"
     :close-on-click-modal="false"
   >
@@ -27,9 +28,8 @@
                 :props="props"
                 :options="companyResult"
                 v-model="formModel.parentId"
-                height="200"
                 size="mediumn"
-                width="200"
+                width="400px"
               ></el-select-tree>
             </el-form-item>
           </el-col>
@@ -38,7 +38,7 @@
               <el-input
                 v-model="formModel.sortNo"
                 placeholder="请输入序号"
-                style="width: 200px"
+                style="width: 400px"
               ></el-input>
             </el-form-item>
           </el-col>
@@ -49,16 +49,16 @@
               <el-input
                 v-model="formModel.name"
                 placeholder="请输入单位名称"
-                style="width: 200px"
+                style="width: 400px"
               ></el-input>
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="称" prop="shortName">
+            <el-form-item label="称" prop="shortName">
               <el-input
                 v-model="formModel.shortName"
-                placeholder="请输入单位称"
-                style="width: 200px"
+                placeholder="请输入单位称"
+                style="width: 400px"
               ></el-input>
             </el-form-item>
           </el-col>
@@ -78,9 +78,8 @@
                 :props="props"
                 :options="regionData"
                 v-model="formModel.regionId"
-                height="200"
                 size="mediumn"
-                width="200"
+                width="400px"
               ></el-select-tree>
             </el-form-item>
           </el-col>
@@ -91,7 +90,7 @@
                 filterable
                 clearable
                 placeholder="请选择"
-                style="width: 200px"
+                style="width: 400px"
               >
                 <el-option
                   v-for="result in typeData"
@@ -111,7 +110,7 @@
                 filterable
                 clearable
                 placeholder="请选择"
-                style="width: 200px"
+                style="width: 400px"
               >
                 <el-option
                   v-for="result in sceneData"
@@ -129,7 +128,7 @@
                 filterable
                 clearable 
                 placeholder="请选择"
-                style="width: 200px"
+                style="width: 400px"
               >
                 <el-option
                   v-for="result in sceneData"
@@ -148,8 +147,8 @@
                 :props="props"
                 :options="companyResult"
                 v-model="formModel.relationCompanyId"
-                height="200"
-                width="200"
+                size="mediumn"
+                width="400px"
               ></el-select-tree>
             </el-form-item>
           </el-col>

+ 1 - 1
src/views/base/companyInfo-list.vue

@@ -147,7 +147,7 @@
       ></el-table-column>
       <el-table-column
         prop="shortName"
-        label="称"
+        label="称"
         width="120"
       ></el-table-column>
       <el-table-column

+ 9 - 9
src/views/base/companyPayment-detail.vue

@@ -29,63 +29,63 @@
                     :options="treeData"
                     v-model="formModel.companyId"
                     height="200"
-                    style="width: 500px"
+                    style="width: 400px"
                 ></el-select-tree>
             </el-form-item>
             <el-form-item label="账户名称" prop="name">
                 <el-input
                     v-model="formModel.name"
                     placeholder="请输入账户名称"
-                    style="width: 500px"
+                    style="width: 400px"
                 ></el-input>
             </el-form-item>
             <el-form-item label="结算周期" prop="cycle">
                 <el-input
                     v-model="formModel.cycle"
                     placeholder="结算周期"
-                    style="width: 500px"
+                    style="width: 400px"
                 ></el-input>
             </el-form-item>
             <el-form-item label="微信mchId" prop="mchId">
                 <el-input
                     v-model="formModel.mchId"
                     placeholder="请输入微信mchId"
-                    style="width: 500px"
+                    style="width: 400px"
                 ></el-input>
             </el-form-item>
             <el-form-item label="微信subMchId" prop="subMchId">
                 <el-input
                     v-model="formModel.subMchId"
                     placeholder="请输入微信subMchId"
-                    style="width: 500px"
+                    style="width: 400px"
                 ></el-input>
             </el-form-item>
             <el-form-item label="支付宝appAuthToken" prop="appAuthToken">
                 <el-input
                     v-model="formModel.appAuthToken"
                     placeholder="请输入支付宝appAuthToken"
-                    style="width: 500px"
+                    style="width: 400px"
                 ></el-input>
             </el-form-item>
             <el-form-item label="开户名称" prop="bankName">
                 <el-input
                     v-model="formModel.bankName"
                     placeholder="请输入开户名称"
-                    style="width: 500px"
+                    style="width: 400px"
                 ></el-input>
             </el-form-item>
                         <el-form-item label="开户银行" prop="bank">
                 <el-input
                     v-model="formModel.bank"
                     placeholder="请输入开户银行"
-                    style="width: 500px"
+                    style="width: 400px"
                 ></el-input>
             </el-form-item>
                         <el-form-item label="账号" prop="account">
                 <el-input
                     v-model="formModel.account"
                     placeholder="请输入账号"
-                    style="width: 500px"
+                    style="width: 400px"
                 ></el-input>
             </el-form-item>
 

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

@@ -83,7 +83,17 @@
             <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 prop="isOpenWechat"  label="支持微信支付"  >
+            <el-table-column prop="isDefault"  label="是否默认账户"  >
+                <template slot-scope="{row}">
+                    <el-switch
+                        v-model="row.isDefault"
+                        active-color="#13ce66"
+                        inactive-color="#ff4949"
+                        @change="handlChange(row)">
+                    </el-switch>
+                </template>
+            </el-table-column>
+            <!-- <el-table-column prop="isOpenWechat"  label="支持微信支付"  >
                 <template slot-scope="{row}">
                     <el-switch
                         v-model="row.isOpenWechat"
@@ -102,7 +112,7 @@
                         @change="handlChange(row)">
                     </el-switch>
                 </template>
-            </el-table-column>
+            </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>-
@@ -282,10 +292,9 @@ export default {
             self.loading = true;
 
             formData.append("id", record.id);
-            formData.append("isOpenWechat", record.isOpenWechat);
-            formData.append("isOpenAlipay", record.isOpenAlipay);
+            formData.append("isDefault", record.isDefault);
 
-            companyPaymentApi.updateIsOpenWechatOrAlipay(formData).then(function (response) {
+            companyPaymentApi.setIsDefault(formData).then(function (response) {
                 var jsonData = response.data;
                 self.loading = false;
                 if (jsonData.result) {

+ 84 - 38
src/views/business/billPush-detail-list.vue

@@ -87,7 +87,7 @@
                  </el-form>
             </div>
             <el-divider></el-divider>
-            <el-row class="button-group">
+            <el-row class="button-group" >
                 <el-button type="success" size="small" plain icon="el-icon-download" @click="exportXls()">导出数据</el-button>
                 <el-button
                     type="primary"
@@ -106,6 +106,15 @@
                     @click="handleEdit" v-else
                     >修改账单</el-button
                 >
+
+                <el-button
+                    type="warning"
+                    size="small"
+                    plain
+                    icon="el-icon-s-promotion"
+                    @click="handlePush(row)"
+                    >推送账单</el-button
+                >
             </el-row>
             <el-table :data="tableData" v-loading="loading" stripe  show-summary :summary-method="getSummaries">
                 <el-table-column type="index" label="序号" width="80"></el-table-column>
@@ -113,7 +122,11 @@
                 <el-table-column prop="beginEndTime" label="起止时间" width="300"></el-table-column>
                 <el-table-column prop="num" label="数量" width="300"></el-table-column>
                 <el-table-column prop="standard" label="收费标准(元)"></el-table-column>
-                <el-table-column prop="totalFee" label="收费金额(元)"></el-table-column>
+                <el-table-column prop="totalFee" label="收费金额(元)">
+                    <template slot-scope="{row}">
+                        {{fmtMoney(row.totalFee)}}
+                    </template>
+                </el-table-column>
             </el-table>
             <el-pagination style="text-align: center;"
                 :current-page.sync="pageIndex"
@@ -178,11 +191,12 @@ export default {
             showModal: false,
             showModal2:false,
             submitting: false,
+            modified: false
         }
     },
     methods:{
         closeDialog() {
-            this.$emit("close", false);
+            this.$emit("close", this.modified);
         },
         handleClick(){
 
@@ -216,44 +230,53 @@ export default {
 
 
             billPushApi.goodsPageList(formData)
-                .then(function(response) {
-                    self.loading = false;
-
-                    var jsonData = response.data;
+            .then(function(response) {
+                self.loading = false;
 
-                    if(jsonData.result) {
-                        if(exportFlag){
-                            //导出
-                            self.$message({
-                                showClose: true,
-                                type: "success",
-                                message: `报表已生成,<a href="${jsonData.data}">请点击链接下载</a>`,
-                                dangerouslyUseHTMLString: true,
-                                duration: 30000
-                            });
-                        }
-                        else{
-                            //分页查看
-                            var page = jsonData.data;
+                var jsonData = response.data;
 
-                            self.tableData = page.data;
-                            self.totalPages = page.totalPages;
-                            self.totalElements = page.recordsTotal;
-                        }
+                if(jsonData.result) {
+                    if(exportFlag){
+                        //导出
+                        self.$message({
+                            showClose: true,
+                            type: "success",
+                            message: `报表已生成,<a href="${jsonData.data}">请点击链接下载</a>`,
+                            dangerouslyUseHTMLString: true,
+                            duration: 30000
+                        });
                     }
                     else{
-                        self.$message.warning(jsonData.message);
+                        //分页查看
+                        var page = jsonData.data;
+
+                        self.tableData = page.data;
+                        self.totalPages = page.totalPages;
+                        self.totalElements = page.recordsTotal;
                     }
+                }
+                else{
+                    self.$message.warning(jsonData.message);
+                }
 
-                    // self.tableData = jsonData.data;
-                    // self.totalPages = jsonData.totalPages;
-                    // self.totalElements = jsonData.recordsTotal;
-                })
-                .catch(error => {
-                    self.loading = false;
-                    // self.$message.error(error + "");
-                });
- 
+                // self.tableData = jsonData.data;
+                // self.totalPages = jsonData.totalPages;
+                // self.totalElements = jsonData.recordsTotal;
+            })
+            .catch(error => {
+                self.loading = false;
+                // self.$message.error(error + "");
+            }); 
+        },
+        fmtMoney(value){
+            const num = Number(value);
+            
+            if (!isNaN(num)) {
+                return num.toFixed(2);
+            }
+            else{
+                return num;
+            }
         },
         pageSizeChange(pageSize) {
             this.pageSize = pageSize;
@@ -262,7 +285,11 @@ export default {
             //保存成功后回调
             this.showModal = false;
             //this.closeDialog();
-             this.changePage(1,false);
+            this.modified = retObj;
+            
+            if(retObj){
+                this.changePage(1,false);
+            }
         },
         exportXls() {
             this.changePage(1,true);
@@ -285,7 +312,8 @@ export default {
                         return prev;
                     }
                     }, 0);
-                    sums[5] ;
+                    
+                    sums[5] = this.fmtMoney(sums[5]);
                 } else {
                     sums[index] = '';
                 }
@@ -329,7 +357,25 @@ export default {
             this.operation = "detail";
             this.businessKey = billPushId;
             this.showModal2 = true;
-        }
+        },
+        handlePush(){
+            var self = this;
+            
+            var formData = new FormData();
+            formData.append("id", self.businessKey);
+
+            billPushApi.pushBill(formData).then((response)=>{
+                var jsonData = response.data;
+
+                if (jsonData.result) {
+                    this.changePage(this.pageIndex);
+                    this.$message.success("账单消息推送成功!");
+                } else {
+                    this.$message.error(jsonData.message + "");
+                }
+
+            });
+        },
     },
     components: {
         "billPush-detail": billPushDetail,

+ 69 - 40
src/views/business/billPush-detail.vue

@@ -2,7 +2,7 @@
   <el-dialog
     :visible.sync="showDialog"
     :title="title"
-    width="85%"
+    width="90%"
     :modal-append-to-body="true"
     style="text-align:left;"
     @close="closeDialog"
@@ -18,16 +18,16 @@
           <el-input v-model="formModel.payee" placeholder="请输入收款方" class="input-form-main"></el-input>
         </el-form-item>
         <el-form-item label="收款账户:" prop="collectionAccountId">
-            <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-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="companyId">
           <el-select v-model="formModel.companyId" filterable class="input-form-main" @change="handleCompanyChange">
@@ -57,13 +57,17 @@
         </el-form-item>
 
         <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 
+        class="compact-table"
+        :data="formModel.billPushGoodsList" 
+        show-summary :summary-method="getSummaries">
+            <el-table-column prop="sort" type="index" label="序号" width="50"></el-table-column>
+
             <el-table-column prop="goodsId" label="收费项目" width="150">
               <template slot-scope="scope">
                   <el-form-item>
                     <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-select v-model="scope.row.goodsId" placeholder="请选择" style="width:150px;" @change="handGoodsChange(scope)" size="mini">
                         <el-option
                         v-for="result in goodsList"
                         :key="result.id"
@@ -74,7 +78,7 @@
                   </el-form-item>
               </template>
             </el-table-column>
-            <el-table-column prop="beginEndTime" label="起止时间" width="400">
+            <el-table-column prop="beginEndTime" label="起止时间" width="380">
                 <template slot-scope="scope">
                     <el-form-item
                     :prop="'billPushGoodsList.' + scope.$index + '.beginEndTime'"
@@ -88,51 +92,52 @@
                             end-placeholder="结束时间"
                             placeholder="选择时间范围"
                             value-format="yyyy-MM-dd"
+                            size="mini"
                             >
                         </el-date-picker>
                     </el-form-item>
                 </template>
             </el-table-column>
-            <el-table-column prop="numStr" label="数量"  width="360">
+            <el-table-column prop="numStr" label="数量"  width="320">
                 <template slot-scope="scope">
                     <el-form-item
                     :prop="'billPushGoodsList.' + scope.$index + '.numStr'"
                     :rules="ruleValidate['numStr']"
                     >
                         <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>
+                            <el-input style="width:85px" placeholder="起码" v-model.number="scope.row.numStr" @change="handStartChange(scope)" size="mini"></el-input>
+                            -<el-input style="width:85px" placeholder="止码" v-model.number="scope.row.numStr2" @change="handStartChange(scope)" size="mini"></el-input>
+                            =<el-input style="width:85px" v-model.number="scope.row.numStr3"  @change="handNumChange(scope)" size="mini"></el-input>
                         </template>
                         <template v-else>
-                            <el-input placeholder="数量" v-model.number="scope.row.numStr3"  @change="handNumChange(scope)"></el-input>
+                            <el-input placeholder="数量" v-model.number="scope.row.numStr3"  @change="handNumChange(scope)" size="mini"></el-input>
                         </template>  
                     </el-form-item>
                 </template>
             </el-table-column>
-            <el-table-column prop="standard" label="收费标准" width="150">
+            <el-table-column prop="standard" label="收费标准(元)" width="120">
                 <template slot-scope="scope">
                     <el-form-item
                     :prop="'billPushGoodsList.' + scope.$index + '.standard'"
                     :rules="ruleValidate['standard']"
                     >
                     <el-input v-model="scope.row.unit" style="display:none"></el-input>
-                    <el-input placeholder="收费标准" v-model="scope.row.standard" ></el-input>
+                    <el-input placeholder="收费标准" v-model="scope.row.standard" size="mini"></el-input>
                     </el-form-item>
                 </template>
             </el-table-column>
-            <el-table-column prop="totalFee" label="合计金额" width="150">
+            <el-table-column prop="totalFee" label="合计金额(元)" width="120">
                 <template slot-scope="scope">
                     <el-form-item
                     :prop="'billPushGoodsList.' + scope.$index + '.totalFee'"
                     :rules="ruleValidate['totalFee']"
                     >
-                    <el-input placeholder="合计金额" v-model="scope.row.totalFee" readonly="readonly"></el-input>
+                    <el-input placeholder="合计金额" :value="fmtMoney(scope.row.totalFee)" readonly="readonly" size="mini"></el-input>
                     </el-form-item>
                 </template>
             </el-table-column>
 
-            <el-table-column label="操作" width="200" fixed="right">
+            <el-table-column label="操作" width="100" fixed="right">
               <template slot-scope="{row}">
                 <el-form-item>
                   <i class="el-icon-delete my-font" @click="handleDelete(row)"></i>
@@ -188,9 +193,10 @@ export default {
                 billPushGoodsList:[],
                 removeBillPushGoodsList:[],
                 personId:0,
-                personName:""
+                personName:"",
+                checkinInfoId:"",
             },
-            beginEndTime:"",
+            beginEndTime: null,
             personList:[],
             goodsList:[],
             collectionAccountList:[],
@@ -239,6 +245,7 @@ export default {
             companyPaymentApi.findByCheckInId(formData).then((response)=>{
                 var jsonData = response.data;
                 this.formModel.personId = jsonData.data.id;
+                this.formModel.checkinInfoId = jsonData.data.checkinInfoId;
                 
                 self.$set(self.formModel, 'personName', jsonData.data.name);
             });
@@ -246,34 +253,36 @@ export default {
         handleSubmit() {
             var self = this;
 
-            var billPushGoodsList = this.formModel.billPushGoodsList;
+            //增加转型,避免直接修改formModel
+            var requestData = JSON.parse(JSON.stringify(self.formModel));
+
+            var billPushGoodsList = requestData.billPushGoodsList;
 
             for(var i=0;i<billPushGoodsList.length;i++){
                 billPushGoodsList[i].sortNo = i+1;
                 billPushGoodsList[i].beginDate = billPushGoodsList[i].beginEndTime[0];
                 billPushGoodsList[i].endDate = billPushGoodsList[i].beginEndTime[1]
-                billPushGoodsList[i].beginEndTime="";
+                billPushGoodsList[i].beginEndTime=null;
             }
 
-            var removeBillPushGoodsList = this.formModel.removeBillPushGoodsList;
+            var removeBillPushGoodsList = requestData.removeBillPushGoodsList;
 
             for(var j=0;j<removeBillPushGoodsList.length;j++){
                 removeBillPushGoodsList[j].sortNo = j+1;
                 removeBillPushGoodsList[j].beginDate = removeBillPushGoodsList[j].beginEndTime[0];
                 removeBillPushGoodsList[j].endDate = removeBillPushGoodsList[j].beginEndTime[1]
-                removeBillPushGoodsList[j].beginEndTime="";
+                removeBillPushGoodsList[j].beginEndTime=null;
             }
 
             this.$refs["form"].validate(valid => {
                 if (valid) {
                 (function() {
-                    var id = self.formModel.id;
+                    var id = requestData.id;
                     
-
                     if (id == null || id.length == 0) {
-                    return billPushApi.add(self.formModel);
+                    return billPushApi.add(requestData);
                     } else {
-                    return billPushApi.update(self.formModel);
+                    return billPushApi.update(requestData);
                     }
                 })().then(function(response) {
                     var jsonData = response.data;
@@ -301,7 +310,7 @@ export default {
             this.formModel.billPushGoodsList.push({
                 sortNo: this.formModel.billPushGoodsList.length + 1,
                 goodsId: "",
-                beginEndTime: "",
+                beginEndTime: null,
                 numStr: "",
                 numStr2: "",
                 numStr3: "",
@@ -318,7 +327,7 @@ export default {
                 billPushGoodsList.splice(index+1,0,{
                     sortNo: index + 2,
                     goodsId: "",
-                    beginEndTime: "",
+                    beginEndTime: null,
                     numStr: "",
                     numStr2: "",
                     numStr3: "",
@@ -338,22 +347,26 @@ export default {
         getSummaries(param) {
             const { columns, data } = param;
             const sums = [];
+
             columns.forEach((column, index) => {
                 if (index === 0) {
                     sums[index] = '合计';
                     return;
                 }
+                
                 const values = data.map(item => Number(item[column.property]));
+
                 if (!values.every(value => isNaN(value))) {
                     sums[5] = values.reduce((prev, curr) => {
-                    const value = Number(curr);
-                    if (!isNaN(value)) {
-                        return prev + curr;
-                    } else {
-                        return prev;
-                    }
+                        const value = Number(curr);
+                        if (!isNaN(value)) {
+                            return prev + curr;
+                        } else {
+                            return prev;
+                        }
                     }, 0);
-                    sums[5] ;
+
+                    sums[5] = this.fmtMoney(sums[5]);
                 } else {
                     sums[index] = '';
                 }
@@ -361,6 +374,16 @@ export default {
 
             return sums;
         },
+        fmtMoney(value){
+            const num = Number(value);
+            
+            if (!isNaN(num)) {
+                return num.toFixed(2);
+            }
+            else{
+                return num;
+            }
+        },
         handGoodsChange(scope){
             var row = scope.row;
             
@@ -456,9 +479,9 @@ export default {
     }
 }
 </script>
-<style scoped>
+<style rel="stylesheet/scss" lang="scss" scoped>
 .input-form-main{
-    width: 300px;
+    width: 250px;
 }
 .link-span{
     margin-right: 20px;
@@ -474,4 +497,10 @@ export default {
 .user-panel {
   margin: 10px auto;
 }
+
+.compact-table{
+    .el-form-item {
+        margin-bottom: 5px;
+    }
+}
 </style>

+ 3 - 3
src/views/business/billPush-list.vue

@@ -421,9 +421,9 @@ export default {
             //保存成功后回调
             this.showModal2 = false;
 
-            this.changePage(this.pageIndex);
-
-            
+            if(retObj){
+                this.changePage(this.pageIndex);
+            }            
         },
         onDetailModalClose3(retObj) {
             //保存成功后回调

+ 12 - 2
src/views/sys/user-detail.vue

@@ -29,14 +29,20 @@
           ></el-input>
         </el-form-item>
         <el-form-item label="所属单位" prop="companyId">
-          <el-select v-model="formModel.companyId" filterable placeholder="请选择" style="width:300px">
+          <!-- <el-select v-model="formModel.companyId" filterable placeholder="请选择" style="width:300px">
             <el-option
               v-for="company in companyResult"
               :key="company.id"
               :label="company.name"
               :value="company.id"
             ></el-option>
-          </el-select>
+          </el-select> -->
+          <el-select-tree
+          size="mediumn"
+          :options="companyResult"
+          v-model="formModel.companyId"
+          width="300px"
+        ></el-select-tree>
         </el-form-item>
         <el-form-item label="分配角色" prop="roles">
           <el-select
@@ -68,6 +74,7 @@
 import Constant from "@/constant";
 import userApi from "@/api/sys/user";
 import roleApi from "@/api/sys/role";
+import SelectTree from "@/components/SelectTree";
 
 export default {
   props: ["businessKey", "title", "companyResult"],
@@ -172,6 +179,9 @@ export default {
         self.$message.error(error + "");
         self.loading = false;
       });
+  },
+  components: {
+    "el-select-tree": SelectTree
   }
 };
 </script>