Browse Source

货代权限 2024-1-29

caojunjie 1 year ago
parent
commit
023729efc7
23 changed files with 811 additions and 140 deletions
  1. 8 0
      src/api/iosBasicData/bills.js
  2. 2 0
      src/util/regularJudgment.js
  3. 38 17
      src/views/iosBasicData/AirtransportExport/bills/assembly/feecenter.vue
  4. 35 0
      src/views/iosBasicData/AirtransportExport/bills/index.vue
  5. 48 17
      src/views/iosBasicData/AirtransportImport/bills/assembly/feecenter.vue
  6. 35 0
      src/views/iosBasicData/AirtransportImport/bills/index.vue
  7. 29 3
      src/views/iosBasicData/ComputationCenter/index.vue
  8. 48 17
      src/views/iosBasicData/OceanFreightImport/bills/assembly/feecenter.vue
  9. 35 0
      src/views/iosBasicData/OceanFreightImport/bills/index.vue
  10. 35 2
      src/views/iosBasicData/PaymentApplication/index.vue
  11. 41 40
      src/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue
  12. 33 4
      src/views/iosBasicData/SeafreightExportF/bills/index.vue
  13. 56 1
      src/views/iosBasicData/aeamends/assembly/amendsCostdetails.vue
  14. 36 2
      src/views/iosBasicData/aeamends/index.vue
  15. 2 1
      src/views/iosBasicData/aiamends/amendsDetails.vue
  16. 55 0
      src/views/iosBasicData/aiamends/assembly/amendsCostdetails.vue
  17. 36 2
      src/views/iosBasicData/aiamends/index.vue
  18. 4 18
      src/views/iosBasicData/finstlbills/finstlbillsDetails.vue
  19. 49 10
      src/views/iosBasicData/finstlbills/index.vue
  20. 57 1
      src/views/iosBasicData/seamends/assembly/amendsCostdetails.vue
  21. 37 2
      src/views/iosBasicData/seamends/index.vue
  22. 56 1
      src/views/iosBasicData/siamends/assembly/amendsCostdetails.vue
  23. 36 2
      src/views/iosBasicData/siamends/index.vue

+ 8 - 0
src/api/iosBasicData/bills.js

@@ -229,3 +229,11 @@ export const postSelectByUser = (userId) => {
     }
   })
 }
+// 费用获取客户欠款情况
+export const listFeeCountByCorp = (data) => {
+  return request({
+    url: '/api/blade-los/finaccbills/listFeeCountByCorp',
+    method: 'get',
+    params: data
+  })
+}

+ 2 - 0
src/util/regularJudgment.js

@@ -1,3 +1,5 @@
+import Vue from "vue";
+
 /**
  * 只能输入正浮点数正则判断
  */

+ 38 - 17
src/views/iosBasicData/AirtransportExport/bills/assembly/feecenter.vue

@@ -117,7 +117,7 @@
                                   @corpChange="corpChange($event,'corpCnName',row,'D')"
                                   @corpFocus="getBcorpsListfun($event,'corpCnName')" >
                     </search-query>
-                    <span v-else style="color: #1e9fff" @click="corpClick">{{row.corpCnName}}</span>
+                    <span v-else style="color: #1e9fff" @click="corpClick(row)">{{row.corpCnName}}</span>
                 </template>
                 <template slot="feeCnName" slot-scope="{ row }">
                     <search-query v-if="row.edit"
@@ -297,7 +297,7 @@
                                   @corpChange="corpChange($event,'corpCnName',row,'C')"
                                   @corpFocus="getBcorpsListfun($event,'corpCnName')" >
                     </search-query>
-                    <span v-else >{{row.corpCnName}}</span>
+                    <span v-else style="color: #1e9fff" @click="corpClick(row)">{{row.corpCnName}}</span>
                 </template>
                 <template slot="feeCnName" slot-scope="{ row }">
                     <search-query v-if="row.edit"
@@ -515,19 +515,33 @@
             width="70%"
             :close-on-click-modal="false"
             :before-close="handleClose">
-            <div>
-                <el-form :model="assemblyForm" ref="form" label-width="90px" style="margin-bottom: 4px" class="demo-ruleForm">
-                    <el-row>
-                        <el-col :span="12">
-                            <el-form-item label="客户名称" prop="corpCnName" >
-                                <el-input type="age" style="width: 100%;" v-model="assemblyForm.corpCnName"
-                                          size="small" autocomplete="off"
-                                          disabled
-                                          clearable placeholder="客户名称" ></el-input>
-                            </el-form-item>
-                        </el-col>
-                    </el-row>
-                </el-form>
+            <div style="padding-bottom: 30px;">
+                <el-table
+                    :data="corpDialog"
+                    border
+                    size="mini"
+                    :row-style="{height:'20px',padding:'0px',fontSize:'12px'}"
+                    :cell-style="{padding:'0px',fontSize:'12px'}"
+                    style="width: 100%">
+                    <el-table-column prop="corpCnName" label="客户名称" width="140px" >
+                        <template slot-scope="{ row }">
+                            <span class="textoverflow">{{row.corpCnName}}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="mblno" label="MB/L NO" width="140px" />
+                    <el-table-column prop="amountDr" label="应收金额" />
+                    <el-table-column prop="amountCr" label="应付金额" />
+                    <el-table-column prop="amountDrUsd" label="应收金额USD" width="140px" />
+                    <el-table-column prop="amountCrUsd" label="应付金额USD" width="140px" />
+                    <el-table-column prop="amountDrLoc" label="应收金额合计" width="140px" />
+                    <el-table-column prop="amountCrLoc" label="应付金额合计" width="140px" />
+                    <el-table-column prop="stlAmountDr" label="已结算应收金额" width="140px" />
+                    <el-table-column prop="stlAmountCr" label="已结算应付金额" width="140px" />
+                    <el-table-column prop="stlAmountDrUsd" label="已结算应收金额USD" width="140px" />
+                    <el-table-column prop="stlAmountCrUsd" label="已结算应付金额USD" width="140px" />
+                    <el-table-column prop="stlAmountDrLoc" label="已结算应收金额合计" width="140px" />
+                    <el-table-column prop="stlAmountCrLoc" label="已结算应付金额合计" width="140px" />
+                </el-table>
             </div>
         </el-dialog>
 
@@ -598,7 +612,7 @@
         finaccbillsGenerateBill, finaccbillsRevokeBill,getFeeCenterCorpIds
     } from "@/api/iosBasicData/feecenter";
     import {getWorkDicts} from "@/api/system/dictbiz";
-    import {feecenterTemplateImport, losbfeestemplateGetListTemplate} from "@/api/iosBasicData/bills";
+    import {feecenterTemplateImport,listFeeCountByCorp, losbfeestemplateGetListTemplate} from "@/api/iosBasicData/bills";
     import {losbfeestemplateDetail} from "@/api/iosBasicData/losbfeestemplate";
     import {popupReminder, requiredMessage} from "@/util/messageReminder";
     import {getBaccelementsList} from "@/api/iosBasicData/baccelements";
@@ -676,6 +690,7 @@
                     ]
                 },
                 corpVisible:false, // 往来单位弹窗
+                corpDialog:[], // 往来单位数据
                 optionD:{},
                 optionDBack:{
                     stripe:true,
@@ -1235,8 +1250,14 @@
                 }
             },
             // 往来单位弹窗开启
-            corpClick(){
+            corpClick(row){
                 this.corpVisible = true
+                listFeeCountByCorp({
+                    corpId:row.corpId,
+                    dc:row.dc
+                }).then(res=>{
+                    this.corpDialog = res.data.data
+                })
             },
             // 模板导入
             templateExport(){

+ 35 - 0
src/views/iosBasicData/AirtransportExport/bills/index.vue

@@ -362,6 +362,7 @@
               </template>
               <template slot-scope="scope" slot="menu">
                   <el-button :type="scope.type" :size="scope.size" icon="el-icon-edit"
+                             :disabled="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id != scope.row.createUser:false"
                              @click.stop="rowCellfun(scope.row.id, scope.index)">编辑
                   </el-button>
               </template>
@@ -385,9 +386,11 @@
               </template>
               <template slot="billNo" slot-scope="scope">
                   <span style="color: #1e9fff;cursor: pointer;width: 100%;overflow:hidden;white-space: nowrap;text-overflow: ellipsis;"
+                        v-if="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id == scope.row.createUser:true"
                         @click.stop="rowCellfun(scope.row.id, scope.index)" >
                       {{scope.row.billNo}}
                   </span>
+                  <span v-else >{{scope.row.billNo}}</span>
               </template>
               <template slot="eta" slot-scope="scope">
                   <span>{{scope.row.eta?scope.row.eta.slice(0,10):''}}</span>
@@ -1095,6 +1098,7 @@ import { getDeptTree } from "@/api/system/dept";
           billStatusData:[],
           // 财务状态
           accountStatusData:[],
+          saberUserInfo:{}, // 当前登录人个人信息
       };
     },
     computed: {
@@ -1116,6 +1120,8 @@ import { getDeptTree } from "@/api/system/dept";
       }
     },
       async created() {
+          // 获取当前登录人个人信息
+          this.saberUserInfo = JSON.parse(localStorage.getItem('saber-userInfo')).content
           if (this.$route.query.id) {
               this.rowCellfun(this.$route.query.id)
           }
@@ -1234,6 +1240,8 @@ import { getDeptTree } from "@/api/system/dept";
                 this.$message.warning("请选择至少一条数据");
                 return;
             }
+            // 判断是否可以编辑别人业务 true 就没有权限
+            if (this.ModifyOthersfun()) return;
             const obj = this.selectionList[0]
             for (let item of this.selectionList) {
                 if (item.billType != 'MH') {
@@ -1264,6 +1272,8 @@ import { getDeptTree } from "@/api/system/dept";
                 this.$message.warning("请选择至少一条数据");
                 return;
             }
+            // 判断是否可以编辑别人业务 true 就没有权限
+            if (this.ModifyOthersfun()) return;
             this.billsDisembarkingfun(this.ids)
         },
         // 退舱接口
@@ -1427,11 +1437,14 @@ import { getDeptTree } from "@/api/system/dept";
             });
           });
       },
+      // 删除
       handleDelete() {
         if (this.selectionList.length === 0) {
           this.$message.warning("请选择至少一条数据");
           return;
         }
+        // 判断是否可以编辑别人业务 true 就没有权限
+        if (this.ModifyOthersfun()) return;
         // 已经提交请核的提示不让删除
         let sumArr = []
         const h = this.$createElement
@@ -1466,6 +1479,28 @@ import { getDeptTree } from "@/api/system/dept";
             this.$refs.crud.toggleSelection();
           });
       },
+      // 判断是否可以编辑别人业务
+      ModifyOthersfun(){
+          let sumArr = []
+          const h = this.$createElement
+          // 判断是否有权限
+          if (this.saberUserInfo.role_name.indexOf('允许修改他人业务') != -1) return false
+          // 当前登录人和选择的创建人对比是不是一个人
+          for (let item of this.selectionList) {
+              if (this.saberUserInfo.user_id != item.createUser) {
+                  sumArr.push(h('p', `你没有"允许修改他人业务"权限,请重新选择数据`))
+              }
+          }
+          if(sumArr.length != 0) {
+              this.$confirm('提示', {
+                  message:h('div', sumArr),
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning"
+              }).catch(err=>{})
+              return true
+          }
+      },
       beforeOpen(done, type) {
         if (["edit", "view"].includes(type)) {
           aeabillsDetail(this.form.id).then(res => {

+ 48 - 17
src/views/iosBasicData/AirtransportImport/bills/assembly/feecenter.vue

@@ -117,7 +117,7 @@
                                   @corpChange="corpChange($event,'corpCnName',row,'D')"
                                   @corpFocus="getBcorpsListfun($event,'corpCnName')" >
                     </search-query>
-                    <span v-else style="color: #1e9fff" @click="corpClick">{{row.corpCnName}}</span>
+                    <span v-else style="color: #1e9fff" @click="corpClick(row)">{{row.corpCnName}}</span>
                 </template>
                 <template slot="feeCnName" slot-scope="{ row }">
                     <search-query v-if="row.edit"
@@ -297,7 +297,7 @@
                                   @corpChange="corpChange($event,'corpCnName',row,'C')"
                                   @corpFocus="getBcorpsListfun($event,'corpCnName')" >
                     </search-query>
-                    <span v-else >{{row.corpCnName}}</span>
+                    <span v-else style="color: #1e9fff" @click="corpClick(row)">{{row.corpCnName}}</span>
                 </template>
                 <template slot="feeCnName" slot-scope="{ row }">
                     <search-query v-if="row.edit"
@@ -515,19 +515,33 @@
             width="70%"
             :close-on-click-modal="false"
             :before-close="handleClose">
-            <div>
-                <el-form :model="assemblyForm" ref="form" label-width="90px" style="margin-bottom: 4px" class="demo-ruleForm">
-                    <el-row>
-                        <el-col :span="12">
-                            <el-form-item label="客户名称" prop="corpCnName" >
-                                <el-input type="age" style="width: 100%;" v-model="assemblyForm.corpCnName"
-                                          size="small" autocomplete="off"
-                                          disabled
-                                          clearable placeholder="客户名称" ></el-input>
-                            </el-form-item>
-                        </el-col>
-                    </el-row>
-                </el-form>
+            <div style="padding-bottom: 30px;" >
+                <el-table
+                    :data="corpDialog"
+                    border
+                    size="mini"
+                    :row-style="{height:'20px',padding:'0px',fontSize:'12px'}"
+                    :cell-style="{padding:'0px',fontSize:'12px'}"
+                    style="width: 100%">
+                    <el-table-column prop="corpCnName" label="客户名称" width="140px" >
+                        <template slot-scope="{ row }">
+                            <span class="textoverflow">{{row.corpCnName}}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="mblno" label="MB/L NO" width="140px" />
+                    <el-table-column prop="amountDr" label="应收金额" />
+                    <el-table-column prop="amountCr" label="应付金额" />
+                    <el-table-column prop="amountDrUsd" label="应收金额USD" width="140px" />
+                    <el-table-column prop="amountCrUsd" label="应付金额USD" width="140px" />
+                    <el-table-column prop="amountDrLoc" label="应收金额合计" width="140px" />
+                    <el-table-column prop="amountCrLoc" label="应付金额合计" width="140px" />
+                    <el-table-column prop="stlAmountDr" label="已结算应收金额" width="140px" />
+                    <el-table-column prop="stlAmountCr" label="已结算应付金额" width="140px" />
+                    <el-table-column prop="stlAmountDrUsd" label="已结算应收金额USD" width="140px" />
+                    <el-table-column prop="stlAmountCrUsd" label="已结算应付金额USD" width="140px" />
+                    <el-table-column prop="stlAmountDrLoc" label="已结算应收金额合计" width="140px" />
+                    <el-table-column prop="stlAmountCrLoc" label="已结算应付金额合计" width="140px" />
+                </el-table>
             </div>
         </el-dialog>
 
@@ -599,7 +613,11 @@
         finaccbillsGenerateBill, finaccbillsRevokeBill,getFeeCenterCorpIds
     } from "@/api/iosBasicData/feecenter";
     import {getWorkDicts} from "@/api/system/dictbiz";
-    import {feecenterTemplateImport, losbfeestemplateGetListTemplate} from "@/api/iosBasicData/bills";
+    import {
+        feecenterTemplateImport,
+        listFeeCountByCorp,
+        losbfeestemplateGetListTemplate
+    } from "@/api/iosBasicData/bills";
     import {losbfeestemplateDetail} from "@/api/iosBasicData/losbfeestemplate";
     import {popupReminder, requiredMessage} from "@/util/messageReminder";
     import {getBaccelementsList} from "@/api/iosBasicData/baccelements";
@@ -678,6 +696,7 @@
                     ]
                 },
                 corpVisible:false, // 往来单位弹窗
+                corpDialog:[], // 往来单位弹窗数据
                 optionD:{},
                 optionDBack:{
                     stripe:true,
@@ -1237,8 +1256,14 @@
                 }
             },
             // 往来单位弹窗开启
-            corpClick(){
+            corpClick(row){
                 this.corpVisible = true
+                listFeeCountByCorp({
+                    corpId:row.corpId,
+                    dc:row.dc
+                }).then(res=>{
+                    this.corpDialog = res.data.data
+                })
             },
             // 模板导入
             templateExport(){
@@ -2516,4 +2541,10 @@
         text-align: center;
         padding: 4px 0;
     }
+    .textoverflow {
+        width: 100%;
+        overflow: hidden;
+        white-space: nowrap;
+        text-overflow: ellipsis;
+    }
 </style>

+ 35 - 0
src/views/iosBasicData/AirtransportImport/bills/index.vue

@@ -362,6 +362,7 @@
               </template>
               <template slot-scope="scope" slot="menu">
                   <el-button :type="scope.type" :size="scope.size" icon="el-icon-edit"
+                             :disabled="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id != scope.row.createUser:false"
                              @click.stop="rowCellfun(scope.row.id, scope.index)">编辑
                   </el-button>
               </template>
@@ -385,9 +386,11 @@
               </template>
               <template slot="billNo" slot-scope="scope">
                   <span style="color: #1e9fff;cursor: pointer;width: 100%;overflow:hidden;white-space: nowrap;text-overflow: ellipsis;"
+                        v-if="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id == scope.row.createUser:true"
                         @click.stop="rowCellfun(scope.row.id, scope.index)" >
                       {{scope.row.billNo}}
                   </span>
+                  <span v-else >{{scope.row.billNo}}</span>
               </template>
               <template slot="eta" slot-scope="scope">
                   <span>{{scope.row.eta?scope.row.eta.slice(0,10):''}}</span>
@@ -1095,6 +1098,7 @@ import { getDeptTree } from "@/api/system/dept";
           billStatusData:[],
           // 财务状态
           accountStatusData:[],
+          saberUserInfo:{}, // 当前登录人个人信息
       };
     },
     computed: {
@@ -1116,6 +1120,8 @@ import { getDeptTree } from "@/api/system/dept";
       }
     },
       async created() {
+          // 获取当前登录人个人信息
+          this.saberUserInfo = JSON.parse(localStorage.getItem('saber-userInfo')).content
           if (this.$route.query.id) {
               this.rowCellfun(this.$route.query.id)
           }
@@ -1234,6 +1240,8 @@ import { getDeptTree } from "@/api/system/dept";
                 this.$message.warning("请选择至少一条数据");
                 return;
             }
+            // 判断是否可以编辑别人业务 true 就没有权限
+            if (this.ModifyOthersfun()) return;
             const obj = this.selectionList[0]
             for (let item of this.selectionList) {
                 if (item.billType != 'MH') {
@@ -1264,6 +1272,8 @@ import { getDeptTree } from "@/api/system/dept";
                 this.$message.warning("请选择至少一条数据");
                 return;
             }
+            // 判断是否可以编辑别人业务 true 就没有权限
+            if (this.ModifyOthersfun()) return;
             this.billsDisembarkingfun(this.ids)
         },
         // 退舱接口
@@ -1427,11 +1437,14 @@ import { getDeptTree } from "@/api/system/dept";
             });
           });
       },
+      // 删除
       handleDelete() {
         if (this.selectionList.length === 0) {
           this.$message.warning("请选择至少一条数据");
           return;
         }
+        // 判断是否可以编辑别人业务 true 就没有权限
+        if (this.ModifyOthersfun()) return;
         // 已经提交请核的提示不让删除
         let sumArr = []
         const h = this.$createElement
@@ -1466,6 +1479,28 @@ import { getDeptTree } from "@/api/system/dept";
             this.$refs.crud.toggleSelection();
           });
       },
+      // 判断是否可以编辑别人业务
+      ModifyOthersfun(){
+          let sumArr = []
+          const h = this.$createElement
+          // 判断是否有权限
+          if (this.saberUserInfo.role_name.indexOf('允许修改他人业务') != -1) return false
+          // 当前登录人和选择的创建人对比是不是一个人
+          for (let item of this.selectionList) {
+              if (this.saberUserInfo.user_id != item.createUser) {
+                  sumArr.push(h('p', `你没有"允许修改他人业务"权限,请重新选择数据`))
+              }
+          }
+          if(sumArr.length != 0) {
+              this.$confirm('提示', {
+                  message:h('div', sumArr),
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning"
+              }).catch(err=>{})
+              return true
+          }
+      },
       beforeOpen(done, type) {
         if (["edit", "view"].includes(type)) {
           aeabillsDetail(this.form.id).then(res => {

+ 29 - 3
src/views/iosBasicData/ComputationCenter/index.vue

@@ -52,9 +52,28 @@
                     </el-button>
                 </template>
                 <template slot="menu" slot-scope="{row}">
-                    <el-button v-if="tabsValue == 'C' || tabsValue == 'D'" type="text" size="small" @click="settlementfun(row)" >结算</el-button>
-                    <el-button v-if="tabsValue == '业务单据' || tabsValue == '已完成'" type="text" size="small" @click="editfun(row)" >编辑</el-button>
-                    <el-button v-if="tabsValue == '业务单据'" type="text" size="small" @click="rowDel(row)" >删除</el-button>
+                    <el-button v-if="tabsValue == 'C' || tabsValue == 'D'"
+                               type="text" size="small"
+                               :disabled="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id != row.createUser:false"
+                               @click="settlementfun(row)" >结算
+                    </el-button>
+                    <el-button v-if="tabsValue == '业务单据' || tabsValue == '已完成'"
+                               type="text" size="small"
+                               :disabled="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id != row.createUser:false"
+                               @click="editfun(row)" >编辑
+                    </el-button>
+                    <el-button v-if="tabsValue == '业务单据'"
+                               type="text" size="small"
+                               :disabled="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id != row.createUser:false"
+                               @click="rowDel(row)" >删除
+                    </el-button>
+                </template>
+                <template slot="billNo" slot-scope="{row}">
+                  <span class="pointerClick"
+                        v-if="(tabsValue == '业务单据' || tabsValue == '已完成') && (saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id == row.createUser:true)"
+                        @click="editfun(row)" >{{row.billNo}}
+                  </span>
+                  <span v-else>{{row.billNo}}</span>
                 </template>
             </avue-crud>
         </basic-container>
@@ -231,9 +250,12 @@ import {bbusinesstypeList} from "@/api/iosBasicData/bbusinesstype";
                         },
                     ]
                 },
+                saberUserInfo:{}, // 当前登录人个人信息
             }
         },
         async created() {
+            // 获取当前登录人个人信息
+            this.saberUserInfo = JSON.parse(localStorage.getItem('saber-userInfo')).content
             this.option = await this.getColumnData(this.getColumnName(324), this.optionBack);
             if (this.$route.query.billId) {
                 // 从审批里查看跳进来的
@@ -512,4 +534,8 @@ import {bbusinesstypeList} from "@/api/iosBasicData/bbusinesstype";
 /deep/ .el-col-md-8 {
     width: 24.33333%;
 }
+.pointerClick {
+    cursor:pointer;
+    color: #1e9fff;
+}
 </style>

+ 48 - 17
src/views/iosBasicData/OceanFreightImport/bills/assembly/feecenter.vue

@@ -117,7 +117,7 @@
                                   @corpChange="corpChange($event,'corpCnName',row,'D')"
                                   @corpFocus="getBcorpsListfun($event,'corpCnName')" >
                     </search-query>
-                    <span v-else style="color: #1e9fff" @click="corpClick">{{row.corpCnName}}</span>
+                    <span v-else style="color: #1e9fff" @click="corpClick(row)">{{row.corpCnName}}</span>
                 </template>
                 <template slot="feeCnName" slot-scope="{ row }">
                     <search-query v-if="row.edit"
@@ -299,7 +299,7 @@
                                   @corpChange="corpChange($event,'corpCnName',row,'C')"
                                   @corpFocus="getBcorpsListfun($event,'corpCnName')" >
                     </search-query>
-                    <span v-else >{{row.corpCnName}}</span>
+                    <span v-else style="color: #1e9fff" @click="corpClick(row)">{{row.corpCnName}}</span>
                 </template>
                 <template slot="feeCnName" slot-scope="{ row }">
                     <search-query v-if="row.edit"
@@ -519,19 +519,33 @@
             width="70%"
             :close-on-click-modal="false"
             :before-close="handleClose">
-            <div>
-                <el-form :model="assemblyForm" ref="form" label-width="90px" style="margin-bottom: 4px" class="demo-ruleForm">
-                    <el-row>
-                        <el-col :span="12">
-                            <el-form-item label="客户名称" prop="corpCnName" >
-                                <el-input type="age" style="width: 100%;" v-model="assemblyForm.corpCnName"
-                                          size="small" autocomplete="off"
-                                          disabled
-                                          clearable placeholder="客户名称" ></el-input>
-                            </el-form-item>
-                        </el-col>
-                    </el-row>
-                </el-form>
+            <div style="padding-bottom: 30px;" >
+                <el-table
+                    :data="corpDialog"
+                    border
+                    size="mini"
+                    :row-style="{height:'20px',padding:'0px',fontSize:'12px'}"
+                    :cell-style="{padding:'0px',fontSize:'12px'}"
+                    style="width: 100%">
+                    <el-table-column prop="corpCnName" label="客户名称" width="140px" >
+                        <template slot-scope="{ row }">
+                            <span class="textoverflow">{{row.corpCnName}}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="mblno" label="MB/L NO" width="140px" />
+                    <el-table-column prop="amountDr" label="应收金额" />
+                    <el-table-column prop="amountCr" label="应付金额" />
+                    <el-table-column prop="amountDrUsd" label="应收金额USD" width="140px" />
+                    <el-table-column prop="amountCrUsd" label="应付金额USD" width="140px" />
+                    <el-table-column prop="amountDrLoc" label="应收金额合计" width="140px" />
+                    <el-table-column prop="amountCrLoc" label="应付金额合计" width="140px" />
+                    <el-table-column prop="stlAmountDr" label="已结算应收金额" width="140px" />
+                    <el-table-column prop="stlAmountCr" label="已结算应付金额" width="140px" />
+                    <el-table-column prop="stlAmountDrUsd" label="已结算应收金额USD" width="140px" />
+                    <el-table-column prop="stlAmountCrUsd" label="已结算应付金额USD" width="140px" />
+                    <el-table-column prop="stlAmountDrLoc" label="已结算应收金额合计" width="140px" />
+                    <el-table-column prop="stlAmountCrLoc" label="已结算应付金额合计" width="140px" />
+                </el-table>
             </div>
         </el-dialog>
 
@@ -602,7 +616,11 @@
         finaccbillsGenerateBill, finaccbillsRevokeBill,getFeeCenterCorpIds
     } from "@/api/iosBasicData/feecenter";
     import {getWorkDicts} from "@/api/system/dictbiz";
-    import {feecenterTemplateImport, losbfeestemplateGetListTemplate} from "@/api/iosBasicData/bills";
+    import {
+        feecenterTemplateImport,
+        listFeeCountByCorp,
+        losbfeestemplateGetListTemplate
+    } from "@/api/iosBasicData/bills";
     import {losbfeestemplateDetail} from "@/api/iosBasicData/losbfeestemplate";
     import {popupReminder, requiredMessage} from "@/util/messageReminder";
     import {getBaccelementsList} from "@/api/iosBasicData/baccelements";
@@ -682,6 +700,7 @@
                     ]
                 },
                 corpVisible:false, // 往来单位弹窗
+                corpDialog:[], // 往来单位弹窗数据
                 optionD:{},
                 optionDBack:{
                     stripe:true,
@@ -1256,8 +1275,14 @@
                 }
             },
             // 往来单位弹窗开启
-            corpClick(){
+            corpClick(row){
                 this.corpVisible = true
+                listFeeCountByCorp({
+                    corpId:row.corpId,
+                    dc:row.dc
+                }).then(res=>{
+                    this.corpDialog = res.data.data
+                })
             },
             // 模板导入
             templateExport(){
@@ -2534,4 +2559,10 @@
         text-align: center;
         padding: 4px 0;
     }
+    .textoverflow {
+        width: 100%;
+        overflow: hidden;
+        white-space: nowrap;
+        text-overflow: ellipsis;
+    }
 </style>

+ 35 - 0
src/views/iosBasicData/OceanFreightImport/bills/index.vue

@@ -372,6 +372,7 @@
               </template>
               <template slot-scope="scope" slot="menu">
                   <el-button :type="scope.type" :size="scope.size" icon="el-icon-edit"
+                             :disabled="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id != scope.row.createUser:false"
                              @click.stop="rowCellfun(scope.row.id, scope.index)">编辑
                   </el-button>
               </template>
@@ -395,9 +396,11 @@
               </template>
               <template slot="billNo" slot-scope="scope">
                   <span style="color: #1e9fff;cursor: pointer;width: 100%;overflow:hidden;white-space: nowrap;text-overflow: ellipsis;"
+                        v-if="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id == scope.row.createUser:true"
                         @click.stop="rowCellfun(scope.row.id, scope.index)" >
                       {{scope.row.billNo}}
                   </span>
+                  <span v-else >{{scope.row.billNo}}</span>
               </template>
               <template slot="eta" slot-scope="scope">
                   <span>{{scope.row.eta?scope.row.eta.slice(0,10):''}}</span>
@@ -1099,6 +1102,7 @@ import { getDeptTree } from "@/api/system/dept";
           billStatusData:[],
           // 财务状态
           accountStatusData:[],
+          saberUserInfo:{}, // 当前登录人个人信息
       };
     },
     computed: {
@@ -1120,6 +1124,8 @@ import { getDeptTree } from "@/api/system/dept";
       }
     },
       async created() {
+          // 获取当前登录人个人信息
+          this.saberUserInfo = JSON.parse(localStorage.getItem('saber-userInfo')).content
           if (this.$route.query.id) {
               this.rowCellfun(this.$route.query.id)
           }
@@ -1253,6 +1259,8 @@ import { getDeptTree } from "@/api/system/dept";
                 this.$message.warning("请选择至少一条数据");
                 return;
             }
+            // 判断是否可以编辑别人业务 true 就没有权限
+            if (this.ModifyOthersfun()) return;
             const obj = this.selectionList[0]
             for (let item of this.selectionList) {
                 if (item.billType != 'MH') {
@@ -1283,6 +1291,8 @@ import { getDeptTree } from "@/api/system/dept";
                 this.$message.warning("请选择至少一条数据");
                 return;
             }
+            // 判断是否可以编辑别人业务 true 就没有权限
+            if (this.ModifyOthersfun()) return;
             this.billsDisembarkingfun(this.ids)
         },
         // 退舱接口
@@ -1446,11 +1456,14 @@ import { getDeptTree } from "@/api/system/dept";
             });
           });
       },
+      // 删除
       handleDelete() {
         if (this.selectionList.length === 0) {
           this.$message.warning("请选择至少一条数据");
           return;
         }
+        // 判断是否可以编辑别人业务 true 就没有权限
+        if (this.ModifyOthersfun()) return;
         // 已经提交请核的提示不让删除
         let sumArr = []
         const h = this.$createElement
@@ -1485,6 +1498,28 @@ import { getDeptTree } from "@/api/system/dept";
             this.$refs.crud.toggleSelection();
           });
       },
+      // 判断是否可以编辑别人业务
+      ModifyOthersfun(){
+          let sumArr = []
+          const h = this.$createElement
+          // 判断是否有权限
+          if (this.saberUserInfo.role_name.indexOf('允许修改他人业务') != -1) return false
+          // 当前登录人和选择的创建人对比是不是一个人
+          for (let item of this.selectionList) {
+              if (this.saberUserInfo.user_id != item.createUser) {
+                  sumArr.push(h('p', `你没有"允许修改他人业务"权限,请重新选择数据`))
+              }
+          }
+          if(sumArr.length != 0) {
+              this.$confirm('提示', {
+                  message:h('div', sumArr),
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning"
+              }).catch(err=>{})
+              return true
+          }
+      },
       beforeOpen(done, type) {
         if (["edit", "view"].includes(type)) {
           billsDetail(this.form.id).then(res => {

+ 35 - 2
src/views/iosBasicData/PaymentApplication/index.vue

@@ -43,16 +43,22 @@
               <template slot="menu" slot-scope="{row}">
                   <el-button type="text"
                              size="small"
+                             :disabled="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id != row.createUser:false"
                              @click="editFun(row)">编辑
                   </el-button>
                   <el-button type="text"
                              size="small"
+                             v-if="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id == row.createUser:true"
                              :disabled="row.status == 1 || row.status == 3"
                              @click="rowDel(row)">删除
                   </el-button>
               </template>
               <template slot="billNo" slot-scope="{row}">
-                  <span class="pointerClick" @click="editFun(row)" >{{row.billNo}}</span>
+                  <span class="pointerClick"
+                        v-if="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id == row.createUser:true"
+                        @click="editFun(row)" >{{row.billNo}}
+                  </span>
+                  <span v-else>{{row.billNo}}</span>
               </template>
           </avue-crud>
       </basic-container>
@@ -343,6 +349,7 @@
         },
         data: [],
         editSave:false, // 编辑保存打印状态
+        saberUserInfo:{}, // 当前登录人个人信息
       };
     },
     computed: {
@@ -364,6 +371,8 @@
       }
     },
     async created() {
+      // 获取当前登录人个人信息
+      this.saberUserInfo = JSON.parse(localStorage.getItem('saber-userInfo')).content
       this.option = await this.getColumnData(this.getColumnName(316.1), this.optionBack);
       if (this.$route.query.billId) {
           // 从审批里查看跳进来的
@@ -474,12 +483,14 @@
             });
           });
       },
-        // 批量删除
+      // 批量删除
       handleDelete() {
         if (this.selectionList.length === 0) {
           this.$message.warning("请选择至少一条数据");
           return;
         }
+        // 判断是否可以编辑别人业务 true 就没有权限
+        if (this.ModifyOthersfun()) return;
         this.$confirm("确定将选择数据删除?", {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
@@ -497,6 +508,28 @@
             this.$refs.crud.toggleSelection();
           });
       },
+      // 判断是否可以编辑别人业务
+      ModifyOthersfun(){
+          let sumArr = []
+          const h = this.$createElement
+          // 判断是否有权限
+          if (this.saberUserInfo.role_name.indexOf('允许修改他人业务') != -1) return false
+          // 当前登录人和选择的创建人对比是不是一个人
+          for (let item of this.selectionList) {
+              if (this.saberUserInfo.user_id != item.createUser) {
+                  sumArr.push(h('p', `你没有"允许修改他人业务"权限,请重新选择数据`))
+              }
+          }
+          if(sumArr.length != 0) {
+              this.$confirm('提示', {
+                  message:h('div', sumArr),
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning"
+              }).catch(err=>{})
+              return true
+          }
+      },
         // 详情
       beforeOpen(done, type) {
         if (["edit", "view"].includes(type)) {

+ 41 - 40
src/views/iosBasicData/SeafreightExportF/bills/assembly/feecenter.vue

@@ -128,7 +128,7 @@
                                   @corpChange="corpChange($event,'corpCnName',row,'D')"
                                   @corpFocus="getBcorpsListfun($event,'corpCnName')" >
                     </search-query>
-                    <span v-else style="color: #1e9fff" @click="corpClick">{{row.corpCnName}}</span>
+                    <span v-else style="color: #1e9fff" @click="corpClick(row)">{{row.corpCnName}}</span>
                 </template>
                 <template slot="feeCnName" slot-scope="{ row }">
                     <search-query v-if="row.edit"
@@ -310,7 +310,7 @@
                                   @corpChange="corpChange($event,'corpCnName',row,'C')"
                                   @corpFocus="getBcorpsListfun($event,'corpCnName')" >
                     </search-query>
-                    <span v-else >{{row.corpCnName}}</span>
+                    <span v-else style="color: #1e9fff" @click="corpClick(row)">{{row.corpCnName}}</span>
                 </template>
                 <template slot="feeCnName" slot-scope="{ row }">
                     <search-query v-if="row.edit"
@@ -531,42 +531,32 @@
             :close-on-click-modal="false"
             :before-close="handleClose">
             <div style="padding-bottom: 30px;">
-                <el-form :model="assemblyForm" ref="form" label-width="90px" style="margin-bottom: 4px" class="demo-ruleForm">
-                    <el-row>
-                        <el-col :span="12">
-                            <el-form-item label="欠款情况" prop="corpCnName" >
-                                <el-input type="age" style="width: 100%;" v-model="assemblyForm.corpCnName"
-                                          size="small" autocomplete="off"
-                                          disabled
-                                          clearable placeholder="欠款情况" ></el-input>
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="12">
-                            <el-form-item label="CNY" prop="corpCnName" >
-                                <el-input type="age" style="width: 100%;" v-model="assemblyForm.corpCnName"
-                                          size="small" autocomplete="off"
-                                          disabled
-                                          clearable placeholder="CNY" ></el-input>
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="12">
-                            <el-form-item label="USD" prop="corpCnName" >
-                                <el-input type="age" style="width: 100%;" v-model="assemblyForm.corpCnName"
-                                          size="small" autocomplete="off"
-                                          disabled
-                                          clearable placeholder="USD" ></el-input>
-                            </el-form-item>
-                        </el-col>
-                        <el-col :span="12">
-                            <el-form-item label="合计CNY" prop="corpCnName" >
-                                <el-input type="age" style="width: 100%;" v-model="assemblyForm.corpCnName"
-                                          size="small" autocomplete="off"
-                                          disabled
-                                          clearable placeholder="合计CNY" ></el-input>
-                            </el-form-item>
-                        </el-col>
-                    </el-row>
-                </el-form>
+                <el-table
+                    :data="corpDialog"
+                    border
+                    size="mini"
+                    :row-style="{height:'20px',padding:'0px',fontSize:'12px'}"
+                    :cell-style="{padding:'0px',fontSize:'12px'}"
+                    style="width: 100%">
+                    <el-table-column prop="corpCnName" label="客户名称" width="140px" >
+                        <template slot-scope="{ row }">
+                            <span class="textoverflow">{{row.corpCnName}}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="mblno" label="MB/L NO" width="140px" />
+                    <el-table-column prop="amountDr" label="应收金额" />
+                    <el-table-column prop="amountCr" label="应付金额" />
+                    <el-table-column prop="amountDrUsd" label="应收金额USD" width="140px" />
+                    <el-table-column prop="amountCrUsd" label="应付金额USD" width="140px" />
+                    <el-table-column prop="amountDrLoc" label="应收金额合计" width="140px" />
+                    <el-table-column prop="amountCrLoc" label="应付金额合计" width="140px" />
+                    <el-table-column prop="stlAmountDr" label="已结算应收金额" width="140px" />
+                    <el-table-column prop="stlAmountCr" label="已结算应付金额" width="140px" />
+                    <el-table-column prop="stlAmountDrUsd" label="已结算应收金额USD" width="140px" />
+                    <el-table-column prop="stlAmountCrUsd" label="已结算应付金额USD" width="140px" />
+                    <el-table-column prop="stlAmountDrLoc" label="已结算应收金额合计" width="140px" />
+                    <el-table-column prop="stlAmountCrLoc" label="已结算应付金额合计" width="140px" />
+                </el-table>
             </div>
         </el-dialog>
 
@@ -637,7 +627,11 @@
         finaccbillsGenerateBill, finaccbillsRevokeBill,getFeeCenterCorpIds
     } from "@/api/iosBasicData/feecenter";
     import {getWorkDicts} from "@/api/system/dictbiz";
-    import {feecenterTemplateImport, losbfeestemplateGetListTemplate} from "@/api/iosBasicData/bills";
+    import {
+        feecenterTemplateImport,
+        listFeeCountByCorp,
+        losbfeestemplateGetListTemplate
+    } from "@/api/iosBasicData/bills";
     import {losbfeestemplateDetail} from "@/api/iosBasicData/losbfeestemplate";
     import {popupReminder, requiredMessage} from "@/util/messageReminder";
     import {getBaccelementsList} from "@/api/iosBasicData/baccelements";
@@ -717,6 +711,7 @@
                     ]
                 },
                 corpVisible:false, // 往来单位弹窗
+                corpDialog:[], // 往来单位弹窗数据
                 optionD:{},
                 optionDBack:{
                     stripe:true,
@@ -1296,8 +1291,14 @@
                 }
             },
             // 往来单位弹窗开启
-            corpClick(){
+            corpClick(row){
                 this.corpVisible = true
+                listFeeCountByCorp({
+                    corpId:row.corpId,
+                    dc:row.dc
+                }).then(res=>{
+                    this.corpDialog = res.data.data
+                })
             },
             // 模板导入
             templateExport(){

+ 33 - 4
src/views/iosBasicData/SeafreightExportF/bills/index.vue

@@ -372,7 +372,7 @@
               </template>
               <template slot-scope="scope" slot="menu">
                   <el-button :type="scope.type" :size="scope.size"
-                             :disabled="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_name != scope.row.createUserName:false"
+                             :disabled="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id != scope.row.createUser:false"
                              icon="el-icon-edit"
                              @click.stop="rowCellfun(scope.row.id, scope.index)">编辑
                   </el-button>
@@ -397,7 +397,7 @@
               </template>
               <template slot="billNo" slot-scope="scope">
                   <span style="color: #1e9fff;cursor: pointer;width: 100%;overflow:hidden;white-space: nowrap;text-overflow: ellipsis;"
-                        v-if="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_name == scope.row.createUserName:true"
+                        v-if="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id == scope.row.createUser:true"
                         @click.stop="rowCellfun(scope.row.id, scope.index)" >
                       {{scope.row.billNo}}
                   </span>
@@ -1103,7 +1103,7 @@ import { getDeptTree } from "@/api/system/dept";
           billStatusData:[],
           // 财务状态
           accountStatusData:[],
-          saberUserInfo:[], // 当前登录人个人信息
+          saberUserInfo:{}, // 当前登录人个人信息
       };
     },
     computed: {
@@ -1125,7 +1125,7 @@ import { getDeptTree } from "@/api/system/dept";
       }
     },
       async created() {
-        // 获取当前登录人个人信息
+          // 获取当前登录人个人信息
           this.saberUserInfo = JSON.parse(localStorage.getItem('saber-userInfo')).content
           if (this.$route.query.id) {
               this.rowCellfun(this.$route.query.id)
@@ -1260,6 +1260,8 @@ import { getDeptTree } from "@/api/system/dept";
                 this.$message.warning("请选择至少一条数据");
                 return;
             }
+            // 判断是否可以编辑别人业务 true 就没有权限
+            if (this.ModifyOthersfun()) return;
             const obj = this.selectionList[0]
             for (let item of this.selectionList) {
                 if (item.billType != 'MH') {
@@ -1284,12 +1286,36 @@ import { getDeptTree } from "@/api/system/dept";
                 this.mawbOnLoad(this.mawbPage)
             })
         },
+        // 判断是否可以编辑别人业务
+        ModifyOthersfun(){
+            let sumArr = []
+            const h = this.$createElement
+            // 判断是否有权限
+            if (this.saberUserInfo.role_name.indexOf('允许修改他人业务') != -1) return false
+            // 当前登录人和选择的创建人对比是不是一个人
+            for (let item of this.selectionList) {
+                if (this.saberUserInfo.user_id != item.createUser) {
+                    sumArr.push(h('p', `你没有"允许修改他人业务"权限,请重新选择数据`))
+                }
+            }
+            if(sumArr.length != 0) {
+                this.$confirm('提示', {
+                    message:h('div', sumArr),
+                    confirmButtonText: "确定",
+                    cancelButtonText: "取消",
+                    type: "warning"
+                }).catch(err=>{})
+                return true
+            }
+        },
         // 退舱
         Disembarkingfun(){
             if (this.selectionList.length === 0) {
                 this.$message.warning("请选择至少一条数据");
                 return;
             }
+            // 判断是否可以编辑别人业务 true 就没有权限
+            if (this.ModifyOthersfun()) return;
             this.billsDisembarkingfun(this.ids)
         },
         // 退舱接口
@@ -1453,11 +1479,14 @@ import { getDeptTree } from "@/api/system/dept";
             });
           });
       },
+      // 批量删除
       handleDelete() {
         if (this.selectionList.length === 0) {
           this.$message.warning("请选择至少一条数据");
           return;
         }
+        // 判断是否可以编辑别人业务 true 就没有权限
+        if (this.ModifyOthersfun()) return;
         // 已经提交请核的提示不让删除
         let sumArr = []
         const h = this.$createElement

+ 56 - 1
src/views/iosBasicData/aeamends/assembly/amendsCostdetails.vue

@@ -63,7 +63,7 @@
                               @corpChange="corpChange($event,'corpCnName',row)"
                               @corpFocus="getBcorpsListfun($event,'corpCnName')" >
                 </search-query>
-                <span v-else >{{row.corpCnName}}</span>
+                <span v-else style="color: #1e9fff" @click="corpClick(row)">{{row.corpCnName}}</span>
             </template>
             <template slot="feeCnName" slot-scope="{ row }">
                 <search-query v-if="editType"
@@ -158,6 +158,42 @@
                 <el-button type="text" size="small" :disabled="disabled" @click="deletefun(scope.row,scope.index,)">删除</el-button>
             </template>
         </avue-crud>
+        <!--往来单位弹窗-->
+        <el-dialog
+            title="提示"
+            :visible.sync="corpVisible"
+            append-to-body
+            width="70%"
+            :close-on-click-modal="false">
+            <div style="padding-bottom: 30px;" >
+                <el-table
+                    :data="corpDialog"
+                    border
+                    size="mini"
+                    :row-style="{height:'20px',padding:'0px',fontSize:'12px'}"
+                    :cell-style="{padding:'0px',fontSize:'12px'}"
+                    style="width: 100%">
+                    <el-table-column prop="corpCnName" label="客户名称" width="140px" >
+                        <template slot-scope="{ row }">
+                            <span class="textoverflow">{{row.corpCnName}}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="mblno" label="MB/L NO" width="140px" />
+                    <el-table-column prop="amountDr" label="应收金额" />
+                    <el-table-column prop="amountCr" label="应付金额" />
+                    <el-table-column prop="amountDrUsd" label="应收金额USD" width="140px" />
+                    <el-table-column prop="amountCrUsd" label="应付金额USD" width="140px" />
+                    <el-table-column prop="amountDrLoc" label="应收金额合计" width="140px" />
+                    <el-table-column prop="amountCrLoc" label="应付金额合计" width="140px" />
+                    <el-table-column prop="stlAmountDr" label="已结算应收金额" width="140px" />
+                    <el-table-column prop="stlAmountCr" label="已结算应付金额" width="140px" />
+                    <el-table-column prop="stlAmountDrUsd" label="已结算应收金额USD" width="140px" />
+                    <el-table-column prop="stlAmountCrUsd" label="已结算应付金额USD" width="140px" />
+                    <el-table-column prop="stlAmountDrLoc" label="已结算应收金额合计" width="140px" />
+                    <el-table-column prop="stlAmountCrLoc" label="已结算应付金额合计" width="140px" />
+                </el-table>
+            </div>
+        </el-dialog>
     </div>
 </template>
 
@@ -174,6 +210,7 @@
         feecenterRemove,
         feecenterSubmitList
     } from "@/api/iosBasicData/feecenter";
+    import {listFeeCountByCorp} from "@/api/iosBasicData/bills";
     import {amendsDetail} from "@/api/iosBasicData/amends";
 
     export default {
@@ -357,12 +394,24 @@
                 unitNoData:[],  // 计算单位数据
                 curCodeData:[],  // 币别数据
                 handleSelectionData:[], // 多选选择的数据
+                corpVisible:false, // 往来单位弹窗
+                corpDialog:[], // 往来单位弹窗数据
             }
         },
         async created() {
             this.option = await this.getColumnData(this.getColumnName(322.1), this.optionBack);
         },
         methods:{
+            // 往来单位弹窗开启
+            corpClick(row){
+                this.corpVisible = true
+                listFeeCountByCorp({
+                    corpId:row.corpId,
+                    dc:row.dc
+                }).then(res=>{
+                    this.corpDialog = res.data.data
+                })
+            },
             printingCostsfun(){
                 this.$emit('printingCostsfun')
             },
@@ -859,4 +908,10 @@
     text-align: center;
     padding: 4px 0;
 }
+.textoverflow {
+    width: 100%;
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+}
 </style>

+ 36 - 2
src/views/iosBasicData/aeamends/index.vue

@@ -41,18 +41,24 @@
                       type="text"
                       size="small"
                       icon="el-icon-edit"
+                      :disabled="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id != row.createUser:false"
                       @click.stop="rowEdit(row)">修改
                   </el-button>
                   <el-button
                       type="text"
                       size="small"
+                      v-if="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id == row.createUser:true"
                       :disabled="row.status == 1 || row.status == 2 || row.status == 3"
                       @click.stop="rowDel(row)"
                       icon="el-icon-delete" >删除
                   </el-button>
               </template>
               <template slot="billNo" slot-scope="{ row }">
-                  <span style="color: #1e9fff;cursor: pointer;" @click="rowEdit(row)">{{row.billNo}}</span>
+                  <span style="color: #1e9fff;cursor: pointer;"
+                        v-if="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id == row.createUser:true"
+                        @click="rowEdit(row)">{{row.billNo}}
+                  </span>
+                  <span v-else >{{row.billNo}}</span>
               </template>
           </avue-crud>
       </basic-container>
@@ -215,7 +221,8 @@
             },
           ]
         },
-        data: []
+        data: [],
+        saberUserInfo:{}, // 当前登录人个人信息
       };
     },
     computed: {
@@ -237,6 +244,8 @@
       }
     },
     async created() {
+      // 获取当前登录人个人信息
+      this.saberUserInfo = JSON.parse(localStorage.getItem('saber-userInfo')).content
       this.option = await this.getColumnData(this.getColumnName(322), this.optionBack);
         if (this.$route.query.billId) {
             // 从审批里查看跳进来的
@@ -321,11 +330,14 @@
             });
           });
       },
+      // 批量删除
       handleDelete() {
         if (this.selectionList.length === 0) {
           this.$message.warning("请选择至少一条数据");
           return;
         }
+        // 判断是否可以编辑别人业务 true 就没有权限
+        if (this.ModifyOthersfun()) return;
         for (let item of this.selectionList) {
             if (item.status == 1 || item.status == 2 || item.status == 3) {
                 return this.$message.warning('请选择还未请核的数据')
@@ -348,6 +360,28 @@
             this.$refs.crud.toggleSelection();
           });
       },
+      // 判断是否可以编辑别人业务
+      ModifyOthersfun(){
+          let sumArr = []
+          const h = this.$createElement
+          // 判断是否有权限
+          if (this.saberUserInfo.role_name.indexOf('允许修改他人业务') != -1) return false
+          // 当前登录人和选择的创建人对比是不是一个人
+          for (let item of this.selectionList) {
+              if (this.saberUserInfo.user_id != item.createUser) {
+                  sumArr.push(h('p', `你没有"允许修改他人业务"权限,请重新选择数据`))
+              }
+          }
+          if(sumArr.length != 0) {
+              this.$confirm('提示', {
+                  message:h('div', sumArr),
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning"
+              }).catch(err=>{})
+              return true
+          }
+      },
       beforeOpen(done, type) {
         if (["edit", "view"].includes(type)) {
           amendsDetail(this.form.id).then(res => {

+ 2 - 1
src/views/iosBasicData/aiamends/amendsDetails.vue

@@ -241,7 +241,8 @@
                 </el-form>
             </el-card>
 
-            <el-card style="margin-top: 10px">
+            <el-card style="margin-top: 10px"
+                     v-if="roleName.indexOf('admin') != -1 || roleName.indexOf('应收修改') != -1 || roleName.indexOf('应收查看') != -1 || roleName.indexOf('应付修改') != -1 || roleName.indexOf('应付查看') != -1" >
                 <amends-costdetails :disabled="buttonDisable"
                                     :tableData="form.feeCenterList"
                                     :form="form" :editType="editType"

+ 55 - 0
src/views/iosBasicData/aiamends/assembly/amendsCostdetails.vue

@@ -158,6 +158,42 @@
                 <el-button type="text" size="small" :disabled="disabled" @click="deletefun(scope.row,scope.index,)">删除</el-button>
             </template>
         </avue-crud>
+        <!--往来单位弹窗-->
+        <el-dialog
+            title="提示"
+            :visible.sync="corpVisible"
+            append-to-body
+            width="70%"
+            :close-on-click-modal="false">
+            <div style="padding-bottom: 30px;" >
+                <el-table
+                    :data="corpDialog"
+                    border
+                    size="mini"
+                    :row-style="{height:'20px',padding:'0px',fontSize:'12px'}"
+                    :cell-style="{padding:'0px',fontSize:'12px'}"
+                    style="width: 100%">
+                    <el-table-column prop="corpCnName" label="客户名称" width="140px" >
+                        <template slot-scope="{ row }">
+                            <span class="textoverflow">{{row.corpCnName}}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="mblno" label="MB/L NO" width="140px" />
+                    <el-table-column prop="amountDr" label="应收金额" />
+                    <el-table-column prop="amountCr" label="应付金额" />
+                    <el-table-column prop="amountDrUsd" label="应收金额USD" width="140px" />
+                    <el-table-column prop="amountCrUsd" label="应付金额USD" width="140px" />
+                    <el-table-column prop="amountDrLoc" label="应收金额合计" width="140px" />
+                    <el-table-column prop="amountCrLoc" label="应付金额合计" width="140px" />
+                    <el-table-column prop="stlAmountDr" label="已结算应收金额" width="140px" />
+                    <el-table-column prop="stlAmountCr" label="已结算应付金额" width="140px" />
+                    <el-table-column prop="stlAmountDrUsd" label="已结算应收金额USD" width="140px" />
+                    <el-table-column prop="stlAmountCrUsd" label="已结算应付金额USD" width="140px" />
+                    <el-table-column prop="stlAmountDrLoc" label="已结算应收金额合计" width="140px" />
+                    <el-table-column prop="stlAmountCrLoc" label="已结算应付金额合计" width="140px" />
+                </el-table>
+            </div>
+        </el-dialog>
     </div>
 </template>
 
@@ -174,6 +210,7 @@
         feecenterRemove,
         feecenterSubmitList
     } from "@/api/iosBasicData/feecenter";
+    import {listFeeCountByCorp} from "@/api/iosBasicData/bills";
     import {amendsDetail} from "@/api/iosBasicData/amends";
 
     export default {
@@ -357,12 +394,24 @@
                 unitNoData:[],  // 计算单位数据
                 curCodeData:[],  // 币别数据
                 handleSelectionData:[], // 多选选择的数据
+                corpVisible:false, // 往来单位弹窗
+                corpDialog:[], // 往来单位弹窗数据
             }
         },
         async created() {
             this.option = await this.getColumnData(this.getColumnName(322.1), this.optionBack);
         },
         methods:{
+            // 往来单位弹窗开启
+            corpClick(row){
+                this.corpVisible = true
+                listFeeCountByCorp({
+                    corpId:row.corpId,
+                    dc:row.dc
+                }).then(res=>{
+                    this.corpDialog = res.data.data
+                })
+            },
             printingCostsfun(){
                 this.$emit('printingCostsfun')
             },
@@ -859,4 +908,10 @@
     text-align: center;
     padding: 4px 0;
 }
+.textoverflow {
+    width: 100%;
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+}
 </style>

+ 36 - 2
src/views/iosBasicData/aiamends/index.vue

@@ -41,18 +41,24 @@
                       type="text"
                       size="small"
                       icon="el-icon-edit"
+                      :disabled="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id != row.createUser:false"
                       @click.stop="rowEdit(row)">修改
                   </el-button>
                   <el-button
                       type="text"
                       size="small"
+                      v-if="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id == row.createUser:true"
                       :disabled="row.status == 1 || row.status == 2 || row.status == 3"
                       @click.stop="rowDel(row)"
                       icon="el-icon-delete" >删除
                   </el-button>
               </template>
               <template slot="billNo" slot-scope="{ row }">
-                  <span style="color: #1e9fff;cursor: pointer;" @click="rowEdit(row)">{{row.billNo}}</span>
+                  <span style="color: #1e9fff;cursor: pointer;"
+                        v-if="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id == row.createUser:true"
+                        @click="rowEdit(row)">{{row.billNo}}
+                  </span>
+                  <span v-else >{{row.billNo}}</span>
               </template>
           </avue-crud>
       </basic-container>
@@ -222,7 +228,8 @@
             },
           ]
         },
-        data: []
+        data: [],
+        saberUserInfo:{}, // 当前登录人个人信息
       };
     },
     computed: {
@@ -244,6 +251,8 @@
       }
     },
     async created() {
+      // 获取当前登录人个人信息
+      this.saberUserInfo = JSON.parse(localStorage.getItem('saber-userInfo')).content
       this.option = await this.getColumnData(this.getColumnName(322), this.optionBack);
         if (this.$route.query.billId) {
             // 从审批里查看跳进来的
@@ -328,11 +337,14 @@
             });
           });
       },
+      // 批量删除
       handleDelete() {
         if (this.selectionList.length === 0) {
           this.$message.warning("请选择至少一条数据");
           return;
         }
+        // 判断是否可以编辑别人业务 true 就没有权限
+        if (this.ModifyOthersfun()) return;
         for (let item of this.selectionList) {
             if (item.status == 1 || item.status == 2 || item.status == 3) {
                 return this.$message.warning('请选择还未请核的数据')
@@ -355,6 +367,28 @@
             this.$refs.crud.toggleSelection();
           });
       },
+      // 判断是否可以编辑别人业务
+      ModifyOthersfun(){
+          let sumArr = []
+          const h = this.$createElement
+          // 判断是否有权限
+          if (this.saberUserInfo.role_name.indexOf('允许修改他人业务') != -1) return false
+          // 当前登录人和选择的创建人对比是不是一个人
+          for (let item of this.selectionList) {
+              if (this.saberUserInfo.user_id != item.createUser) {
+                  sumArr.push(h('p', `你没有"允许修改他人业务"权限,请重新选择数据`))
+              }
+          }
+          if(sumArr.length != 0) {
+              this.$confirm('提示', {
+                  message:h('div', sumArr),
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning"
+              }).catch(err=>{})
+              return true
+          }
+      },
       beforeOpen(done, type) {
         if (["edit", "view"].includes(type)) {
           amendsDetail(this.form.id).then(res => {

+ 4 - 18
src/views/iosBasicData/finstlbills/finstlbillsDetails.vue

@@ -16,7 +16,7 @@
                 <el-button size="small" style="margin-right: 8px" v-if="roleName.indexOf('admin') != -1"
                            :loading="saveLoading" :disabled="!form.id" @click="DesignreportDialog = true" >报表设计
                 </el-button>
-                <el-button  size="small" type="warning" plain  style="margin-right: 8px" :disabled="!form.id" v-if="form.isChecked == 1"
+                <el-button  size="small" type="warning" plain  style="margin-right: 8px" :disabled="!form.id" v-if="form.billStatus == 1"
                             :loading="saveLoading" @click="finstlbillsRevokeReconciliationfun">撤销对账
                 </el-button>
                 <el-button  size="small" type="success" plain  style="margin-right: 8px" :disabled="!form.id" v-else
@@ -281,7 +281,7 @@
                                     </el-form-item>
                                 </el-col>
                                 <el-col :span="4">
-                                    <el-form-item label="发票" prop="isChecked" label-width="50px">
+                                    <el-form-item label="发票" prop="isInvoice" label-width="50px">
                                         <search-query :datalist="isInvoiceData"
                                                       :selectValue="form.isInvoice"
                                                       :clearable="true"
@@ -687,21 +687,6 @@
                 roleName:[], // 当前的角色权限
             }
         },
-        watch:{
-            // 监听 状态
-            "form.isChecked":{
-                // 执行方法
-                handler(oldValue,newValue) {
-                    if (oldValue == 1) {
-                        this.statusType = true
-                    }else {
-                        this.statusType = false
-                    }
-                },
-                deep: true, // 深度监听
-                immediate: true  // 第一次改变就执行
-            },
-        },
         created() {
             this.roleName =  localStorage.getItem('roleName').split(',')
             this.allyesnoWorkDictsfun() // 获取 字典数据
@@ -927,7 +912,7 @@
                 finstlbillsDetail(id).then(res=>{
                     this.form = res.data.data
                     // 判断是否已经提交过了
-                    if(this.form.isChecked == 1) {
+                    if(this.form.billStatus == 1) {
                         this.submitType = true
                     }else {
                         this.submitType = false
@@ -952,6 +937,7 @@
                     this.form.isApproved = this.form.isApproved + ''
                     this.form.isCleared = this.form.isCleared + ''
                     this.form.isChecked = this.form.isChecked + ''
+                    this.form.billStatus = this.form.billStatus + ''
                     this.form.isInvoice = this.form.isInvoice + ''
                     this.pageLoading = false
                 })

+ 49 - 10
src/views/iosBasicData/finstlbills/index.vue

@@ -43,16 +43,22 @@
               <template slot="menu" slot-scope="{row}">
                   <el-button type="text"
                              size="small"
+                             :disabled="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id != row.createUser:false"
                              @click="editFun(row)">编辑
                   </el-button>
                   <el-button type="text"
                              size="small"
-                             :disabled="row.isChecked == 1"
+                             v-if="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id == row.createUser:true"
+                             :disabled="row.billStatus == 1"
                              @click="rowDel(row)">删除
                   </el-button>
               </template>
               <template slot-scope="{ row }" slot="billNo">
-                  <span class="pointerClick" @click="editFun(row)" >{{row.billNo}}</span>
+                  <span class="pointerClick"
+                        v-if="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id == row.createUser:true"
+                        @click="editFun(row)" >{{row.billNo}}
+                  </span>
+                  <span v-else>{{row.billNo}}</span>
               </template>
               <template slot-scope="{ row }" slot="billStatus">
                   <span v-if="row.billStatus == 1" style="color: #7fbb41" >是</span>
@@ -410,6 +416,16 @@
                 overHidden:true,
             },
             {
+                label: "是否生成对账",
+                prop: "billStatus",
+                dicData:[],
+                props: {
+                    label: "dictValue",
+                    value: "dictKey"
+                },
+                overHidden:true,
+            },
+            {
               label: "是否销账",
               prop: "isCleared",
                 dicData:[],
@@ -431,12 +447,6 @@
                 overHidden:true,
             },
             {
-                label: "生成对账",
-                prop: "billStatus",
-                width: "100",
-                overHidden:true,
-            },
-            {
               label: "是否含税价计算",
               prop: "isTax",
                 dicData:[],
@@ -471,6 +481,7 @@
         },
         data: [],
         editSave:false, // 编辑保存打印状态
+        saberUserInfo:{}, // 当前登录人个人信息
       };
     },
     computed: {
@@ -492,6 +503,8 @@
       }
     },
     async created() {
+      // 获取当前登录人个人信息
+      this.saberUserInfo = JSON.parse(localStorage.getItem('saber-userInfo')).content
       this.option = await this.getColumnData(this.getColumnName(314), this.optionBack);
       if (this.$route.query.billId) {
           // 从审批里查看跳进来的
@@ -602,11 +615,13 @@
           this.$message.warning("请选择至少一条数据");
           return;
         }
+        // 判断是否可以编辑别人业务 true 就没有权限
+        if (this.ModifyOthersfun()) return;
         // 已经提交请核的提示不让删除
         let sumArr = []
         const h = this.$createElement
         for (let item of this.selectionList) {
-            if (item.isChecked == 1) {
+            if (item.billStatus == 1) {
                 sumArr.push(h('p', `序号${item.$index + 1}的数据已经确认对账请勿删除`))
             }
         }
@@ -636,7 +651,29 @@
             this.$refs.crud.toggleSelection();
           });
       },
-        // 详情
+      // 判断是否可以编辑别人业务
+      ModifyOthersfun(){
+          let sumArr = []
+          const h = this.$createElement
+          // 判断是否有权限
+          if (this.saberUserInfo.role_name.indexOf('允许修改他人业务') != -1) return false
+          // 当前登录人和选择的创建人对比是不是一个人
+          for (let item of this.selectionList) {
+              if (this.saberUserInfo.user_id != item.createUser) {
+                  sumArr.push(h('p', `你没有"允许修改他人业务"权限,请重新选择数据`))
+              }
+          }
+          if(sumArr.length != 0) {
+              this.$confirm('提示', {
+                  message:h('div', sumArr),
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning"
+              }).catch(err=>{})
+              return true
+          }
+      },
+      // 详情
       beforeOpen(done, type) {
         if (["edit", "view"].includes(type)) {
           finstlbillsDetail(this.form.id).then(res => {
@@ -685,6 +722,7 @@
               item.isApproved = item.isApproved + ''
               item.isSignfor = item.isSignfor + ''
               item.isChecked = item.isChecked + ''
+              item.billStatus = item.billStatus + ''
               item.isCleared = item.isCleared + ''
               item.isInvoice = item.isInvoice + ''
               item.isTax = item.isTax + ''
@@ -703,6 +741,7 @@
                 this.findObject(this.option.column, "isApproved").dicData = res.data.data
                 this.findObject(this.option.column, "isSignfor").dicData = res.data.data
                 this.findObject(this.option.column, "isCleared").dicData = res.data.data
+                this.findObject(this.option.column, "billStatus").dicData = res.data.data
             })
             // 对账状态字典
             getWorkDicts('los_check_status').then(res=>{

+ 57 - 1
src/views/iosBasicData/seamends/assembly/amendsCostdetails.vue

@@ -63,7 +63,7 @@
                               @corpChange="corpChange($event,'corpCnName',row)"
                               @corpFocus="getBcorpsListfun($event,'corpCnName')" >
                 </search-query>
-                <span v-else >{{row.corpCnName}}</span>
+                <span v-else style="color: #1e9fff" @click="corpClick(row)">{{row.corpCnName}}</span>
             </template>
             <template slot="feeCnName" slot-scope="{ row }">
                 <search-query v-if="editType"
@@ -158,6 +158,43 @@
                 <el-button type="text" size="small" :disabled="disabled" @click="deletefun(scope.row,scope.index,)">删除</el-button>
             </template>
         </avue-crud>
+
+        <!--往来单位弹窗-->
+        <el-dialog
+            title="提示"
+            :visible.sync="corpVisible"
+            append-to-body
+            width="70%"
+            :close-on-click-modal="false">
+            <div style="padding-bottom: 30px;" >
+                <el-table
+                    :data="corpDialog"
+                    border
+                    size="mini"
+                    :row-style="{height:'20px',padding:'0px',fontSize:'12px'}"
+                    :cell-style="{padding:'0px',fontSize:'12px'}"
+                    style="width: 100%">
+                    <el-table-column prop="corpCnName" label="客户名称" width="140px" >
+                        <template slot-scope="{ row }">
+                            <span class="textoverflow">{{row.corpCnName}}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="mblno" label="MB/L NO" width="140px" />
+                    <el-table-column prop="amountDr" label="应收金额" />
+                    <el-table-column prop="amountCr" label="应付金额" />
+                    <el-table-column prop="amountDrUsd" label="应收金额USD" width="140px" />
+                    <el-table-column prop="amountCrUsd" label="应付金额USD" width="140px" />
+                    <el-table-column prop="amountDrLoc" label="应收金额合计" width="140px" />
+                    <el-table-column prop="amountCrLoc" label="应付金额合计" width="140px" />
+                    <el-table-column prop="stlAmountDr" label="已结算应收金额" width="140px" />
+                    <el-table-column prop="stlAmountCr" label="已结算应付金额" width="140px" />
+                    <el-table-column prop="stlAmountDrUsd" label="已结算应收金额USD" width="140px" />
+                    <el-table-column prop="stlAmountCrUsd" label="已结算应付金额USD" width="140px" />
+                    <el-table-column prop="stlAmountDrLoc" label="已结算应收金额合计" width="140px" />
+                    <el-table-column prop="stlAmountCrLoc" label="已结算应付金额合计" width="140px" />
+                </el-table>
+            </div>
+        </el-dialog>
     </div>
 </template>
 
@@ -174,6 +211,7 @@
         feecenterRemove,
         feecenterSubmitList
     } from "@/api/iosBasicData/feecenter";
+    import {listFeeCountByCorp} from "@/api/iosBasicData/bills";
     import {amendsDetail} from "@/api/iosBasicData/amends";
 
     export default {
@@ -357,12 +395,24 @@
                 unitNoData:[],  // 计算单位数据
                 curCodeData:[],  // 币别数据
                 handleSelectionData:[], // 多选选择的数据
+                corpVisible:false, // 往来单位弹窗
+                corpDialog:[], // 往来单位弹窗数据
             }
         },
         async created() {
             this.option = await this.getColumnData(this.getColumnName(322.1), this.optionBack);
         },
         methods:{
+            // 往来单位弹窗开启
+            corpClick(row){
+                this.corpVisible = true
+                listFeeCountByCorp({
+                    corpId:row.corpId,
+                    dc:row.dc
+                }).then(res=>{
+                    this.corpDialog = res.data.data
+                })
+            },
             printingCostsfun(){
                 this.$emit('printingCostsfun')
             },
@@ -863,4 +913,10 @@
     text-align: center;
     padding: 4px 0;
 }
+.textoverflow {
+    width: 100%;
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+}
 </style>

+ 37 - 2
src/views/iosBasicData/seamends/index.vue

@@ -41,18 +41,24 @@
                       type="text"
                       size="small"
                       icon="el-icon-edit"
+                      :disabled="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id != row.createUser:false"
                       @click.stop="rowEdit(row)">修改
                   </el-button>
                   <el-button
                       type="text"
                       size="small"
+                      v-if="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id == row.createUser:true"
                       :disabled="row.status == 1 || row.status == 2 || row.status == 3"
                       @click.stop="rowDel(row)"
                       icon="el-icon-delete" >删除
                   </el-button>
               </template>
               <template slot="billNo" slot-scope="{ row }">
-                  <span style="color: #1e9fff;cursor:pointer;" @click="rowEdit(row)">{{row.billNo}}</span>
+                  <span style="color: #1e9fff;cursor:pointer;"
+                        v-if="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id == row.createUser:true"
+                        @click="rowEdit(row)">{{row.billNo}}
+                  </span>
+                  <span v-else >{{row.billNo}}</span>
               </template>
           </avue-crud>
       </basic-container>
@@ -222,7 +228,8 @@
             },
           ]
         },
-        data: []
+        data: [],
+        saberUserInfo:{}, // 当前登录人个人信息
       };
     },
     computed: {
@@ -244,6 +251,8 @@
       }
     },
     async created() {
+        // 获取当前登录人个人信息
+        this.saberUserInfo = JSON.parse(localStorage.getItem('saber-userInfo')).content
       this.option = await this.getColumnData(this.getColumnName(322), this.optionBack);
         if (this.$route.query.billId) {
             // 从审批里查看跳进来的
@@ -328,11 +337,15 @@
             });
           });
       },
+      // 批量删除
       handleDelete() {
         if (this.selectionList.length === 0) {
           this.$message.warning("请选择至少一条数据");
           return;
         }
+        // 判断是否可以编辑别人业务 true 就没有权限
+        if (this.ModifyOthersfun()) return;
+        // 判断是否请核过
         for (let item of this.selectionList) {
             if (item.status == 1 || item.status == 2 || item.status == 3) {
                 return this.$message.warning('请选择还未请核的数据')
@@ -355,6 +368,28 @@
             this.$refs.crud.toggleSelection();
           });
       },
+      // 判断是否可以编辑别人业务
+      ModifyOthersfun(){
+          let sumArr = []
+          const h = this.$createElement
+          // 判断是否有权限
+          if (this.saberUserInfo.role_name.indexOf('允许修改他人业务') != -1) return false
+          // 当前登录人和选择的创建人对比是不是一个人
+          for (let item of this.selectionList) {
+              if (this.saberUserInfo.user_id != item.createUser) {
+                  sumArr.push(h('p', `你没有"允许修改他人业务"权限,请重新选择数据`))
+              }
+          }
+          if(sumArr.length != 0) {
+              this.$confirm('提示', {
+                  message:h('div', sumArr),
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning"
+              }).catch(err=>{})
+              return true
+          }
+      },
       beforeOpen(done, type) {
         if (["edit", "view"].includes(type)) {
           amendsDetail(this.form.id).then(res => {

+ 56 - 1
src/views/iosBasicData/siamends/assembly/amendsCostdetails.vue

@@ -63,7 +63,7 @@
                               @corpChange="corpChange($event,'corpCnName',row)"
                               @corpFocus="getBcorpsListfun($event,'corpCnName')" >
                 </search-query>
-                <span v-else >{{row.corpCnName}}</span>
+                <span v-else style="color: #1e9fff" @click="corpClick(row)">{{row.corpCnName}}</span>
             </template>
             <template slot="feeCnName" slot-scope="{ row }">
                 <search-query v-if="editType"
@@ -158,6 +158,42 @@
                 <el-button type="text" size="small" :disabled="disabled" @click="deletefun(scope.row,scope.index,)">删除</el-button>
             </template>
         </avue-crud>
+        <!--往来单位弹窗-->
+        <el-dialog
+            title="提示"
+            :visible.sync="corpVisible"
+            append-to-body
+            width="70%"
+            :close-on-click-modal="false">
+            <div style="padding-bottom: 30px;" >
+                <el-table
+                    :data="corpDialog"
+                    border
+                    size="mini"
+                    :row-style="{height:'20px',padding:'0px',fontSize:'12px'}"
+                    :cell-style="{padding:'0px',fontSize:'12px'}"
+                    style="width: 100%">
+                    <el-table-column prop="corpCnName" label="客户名称" width="140px" >
+                        <template slot-scope="{ row }">
+                            <span class="textoverflow">{{row.corpCnName}}</span>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="mblno" label="MB/L NO" width="140px" />
+                    <el-table-column prop="amountDr" label="应收金额" />
+                    <el-table-column prop="amountCr" label="应付金额" />
+                    <el-table-column prop="amountDrUsd" label="应收金额USD" width="140px" />
+                    <el-table-column prop="amountCrUsd" label="应付金额USD" width="140px" />
+                    <el-table-column prop="amountDrLoc" label="应收金额合计" width="140px" />
+                    <el-table-column prop="amountCrLoc" label="应付金额合计" width="140px" />
+                    <el-table-column prop="stlAmountDr" label="已结算应收金额" width="140px" />
+                    <el-table-column prop="stlAmountCr" label="已结算应付金额" width="140px" />
+                    <el-table-column prop="stlAmountDrUsd" label="已结算应收金额USD" width="140px" />
+                    <el-table-column prop="stlAmountCrUsd" label="已结算应付金额USD" width="140px" />
+                    <el-table-column prop="stlAmountDrLoc" label="已结算应收金额合计" width="140px" />
+                    <el-table-column prop="stlAmountCrLoc" label="已结算应付金额合计" width="140px" />
+                </el-table>
+            </div>
+        </el-dialog>
     </div>
 </template>
 
@@ -174,6 +210,7 @@
         feecenterRemove,
         feecenterSubmitList
     } from "@/api/iosBasicData/feecenter";
+    import {listFeeCountByCorp} from "@/api/iosBasicData/bills";
     import {amendsDetail} from "@/api/iosBasicData/amends";
 
     export default {
@@ -357,12 +394,24 @@
                 unitNoData:[],  // 计算单位数据
                 curCodeData:[],  // 币别数据
                 handleSelectionData:[], // 多选选择的数据
+                corpVisible:false, // 往来单位弹窗
+                corpDialog:[], // 往来单位弹窗数据
             }
         },
         async created() {
             this.option = await this.getColumnData(this.getColumnName(322.1), this.optionBack);
         },
         methods:{
+            // 往来单位弹窗开启
+            corpClick(row){
+                this.corpVisible = true
+                listFeeCountByCorp({
+                    corpId:row.corpId,
+                    dc:row.dc
+                }).then(res=>{
+                    this.corpDialog = res.data.data
+                })
+            },
             printingCostsfun(){
                 this.$emit('printingCostsfun')
             },
@@ -863,4 +912,10 @@
     text-align: center;
     padding: 4px 0;
 }
+.textoverflow {
+    width: 100%;
+    overflow: hidden;
+    white-space: nowrap;
+    text-overflow: ellipsis;
+}
 </style>

+ 36 - 2
src/views/iosBasicData/siamends/index.vue

@@ -41,18 +41,24 @@
                       type="text"
                       size="small"
                       icon="el-icon-edit"
+                      :disabled="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id != row.createUser:false"
                       @click.stop="rowEdit(row)">修改
                   </el-button>
                   <el-button
                       type="text"
                       size="small"
+                      v-if="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id == row.createUser:true"
                       :disabled="row.status == 1 || row.status == 2 || row.status == 3"
                       @click.stop="rowDel(row)"
                       icon="el-icon-delete" >删除
                   </el-button>
               </template>
               <template slot="billNo" slot-scope="{ row }">
-                  <span style="color: #1e9fff;cursor: pointer;" @click="rowEdit(row)">{{row.billNo}}</span>
+                  <span style="color: #1e9fff;cursor: pointer;"
+                        v-if="saberUserInfo.role_name.indexOf('允许修改他人业务') == -1?saberUserInfo.user_id == row.createUser:true"
+                        @click="rowEdit(row)">{{row.billNo}}
+                  </span>
+                  <span v-else>{{row.billNo}}</span>
               </template>
           </avue-crud>
       </basic-container>
@@ -222,7 +228,8 @@
             },
           ]
         },
-        data: []
+        data: [],
+        saberUserInfo:{}, // 当前登录人个人信息
       };
     },
     computed: {
@@ -244,6 +251,8 @@
       }
     },
     async created() {
+      // 获取当前登录人个人信息
+      this.saberUserInfo = JSON.parse(localStorage.getItem('saber-userInfo')).content
       this.option = await this.getColumnData(this.getColumnName(322), this.optionBack);
         if (this.$route.query.billId) {
             // 从审批里查看跳进来的
@@ -328,11 +337,14 @@
             });
           });
       },
+      // 批量删除
       handleDelete() {
         if (this.selectionList.length === 0) {
           this.$message.warning("请选择至少一条数据");
           return;
         }
+        // 判断是否可以编辑别人业务 true 就没有权限
+        if (this.ModifyOthersfun()) return;
         for (let item of this.selectionList) {
             if (item.status == 1 || item.status == 2 || item.status == 3) {
                 return this.$message.warning('请选择还未请核的数据')
@@ -355,6 +367,28 @@
             this.$refs.crud.toggleSelection();
           });
       },
+      // 判断是否可以编辑别人业务
+      ModifyOthersfun(){
+          let sumArr = []
+          const h = this.$createElement
+          // 判断是否有权限
+          if (this.saberUserInfo.role_name.indexOf('允许修改他人业务') != -1) return false
+          // 当前登录人和选择的创建人对比是不是一个人
+          for (let item of this.selectionList) {
+              if (this.saberUserInfo.user_id != item.createUser) {
+                  sumArr.push(h('p', `你没有"允许修改他人业务"权限,请重新选择数据`))
+              }
+          }
+          if(sumArr.length != 0) {
+              this.$confirm('提示', {
+                  message:h('div', sumArr),
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning"
+              }).catch(err=>{})
+              return true
+          }
+      },
       beforeOpen(done, type) {
         if (["edit", "view"].includes(type)) {
           amendsDetail(this.form.id).then(res => {