Bladeren bron

审批新增字段 对账中心新加功能 调整费用明细顺序 修改海运进出口生成帐单后的控制规则 修改审批报表样式 配箱明细 行编辑改为弹窗编辑

Qukatie 2 weken geleden
bovenliggende
commit
d4a5fdea7f

+ 167 - 165
src/views/approveDataH/check.vue

@@ -11,182 +11,184 @@
 </template>
 
 <script>
-  import { approvePass,batchOperation } from "@/api/approveDataH/main";
-  import {offset} from "@/api/basicData/salesOrder";
+import { approvePass, batchOperation } from "@/api/approveDataH/main";
+import { offset } from "@/api/basicData/salesOrder";
 
-  export default {
-    name: "check",
-    props: {
-      checkData: {
-        type: Object
-      },
-      choceCheckFun:{
-        type: Function
-      },
-      checkDetail:{
-        type: Boolean
-      },
-      idList:{
-        type: Array
-      }
+export default {
+  name: "check",
+  props: {
+    checkData: {
+      type: Object
     },
-    data() {
-      return {
-        form: {},
-        list: [],
-        currencyDic: [],
-        buttonLoading:false,
-        corpId: "",
-        option: {
-          emptyBtn: false,
-          submitBtn: false,
-          labelWidth: 120,
-          menuSpan: 8,
-          column: [
-            {
-              label: '审批人',
-              prop: 'auditName',
-              span: 12,
-              disabled:true,
-              rules: [
-                {
-                  required: false,
-                  message: ' ',
-                  trigger: 'blur'
-                }
-              ]
-            },
-            {
-              label: '审批日期',
-              prop: 'auditOpTime',
-              type: "datetime",
-              span: 12,
-              disabled:true,
-              rules: [
-                {
-                  required: false,
-                  message: ' ',
-                  trigger: 'blur'
-                }
-              ]
-            },
-            {
-              label: '审批意见',
-              prop: 'auditMsg',
-              span: 24,
-              rules: [
-                {
-                  required: false,
-                  message: ' ',
-                  trigger: 'blur'
-                }
-              ]
-            }
-          ]
-        },
-      }
+    choceCheckFun: {
+      type: Function
     },
-    created() {
-      let date = new Date();
-      let strDate = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
-      this.$set(this.form,"auditOpTime",strDate)
-      this.$set(this.form,"auditName",this.$store.getters.userInfo.user_name)
+    checkDetail: {
+      type: Boolean
     },
-    methods: {
-      submit(operate){
-        this.$confirm("是否确认此操作!", "提示", {
-          confirmButtonText: "确认",
-          cancelButtonText: "取消",
-          type: "warning",
-        }).then(() => {
-            console.log(operate)
-          this.checkData.operate = operate
-          if(this.idList.length !== 0){
-            //批量
-            this.buttonLoading = true
-            batchOperation(this.idList.join(","),operate,this.form.auditMsg).then(res=>{
-              if(res.data.success){
+    idList: {
+      type: Array
+    }
+  },
+  data() {
+    return {
+      form: {},
+      list: [],
+      currencyDic: [],
+      buttonLoading: false,
+      corpId: "",
+      option: {
+        emptyBtn: false,
+        submitBtn: false,
+        labelWidth: 120,
+        menuSpan: 8,
+        column: [
+          {
+            label: '审批人',
+            prop: 'auditName',
+            span: 24,
+            disabled: true,
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '审批日期',
+            prop: 'auditOpTime',
+            type: "datetime",
+            span: 24,
+            disabled: true,
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '审批意见',
+            prop: 'auditMsg',
+            type: 'textarea',
+            rows: 5,
+            span: 24,
+            rules: [
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          }
+        ]
+      },
+    }
+  },
+  created() {
+    let date = new Date();
+    let strDate = date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate() + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
+    this.$set(this.form, "auditOpTime", strDate)
+    this.$set(this.form, "auditName", this.$store.getters.userInfo.user_name)
+  },
+  methods: {
+    submit(operate) {
+      this.$confirm("是否确认此操作!", "提示", {
+        confirmButtonText: "确认",
+        cancelButtonText: "取消",
+        type: "warning",
+      }).then(() => {
+        console.log(operate)
+        this.checkData.operate = operate
+        if (this.idList.length !== 0) {
+          //批量
+          this.buttonLoading = true
+          batchOperation(this.idList.join(","), operate, this.form.auditMsg).then(res => {
+            if (res.data.success) {
+              this.$message.success("操作成功!")
+              this.$emit("operationType")
+            }
+          }).finally(() => {
+            this.buttonLoading = false
+          })
+        } else {
+          //单个
+          this.buttonLoading = true
+          this.checkData.auditName = this.form.auditName
+          this.checkData.auditMsg = this.form.auditMsg
+          this.checkData.auditOpTime = this.form.auditOpTime
+          if (this.checkData.checkType === "YPJ-XSJH" && operate === 1) {
+            offset({ id: this.checkData.billId }).then(res => {
+              if (res.data.data == '操作成功') {
+                this.checkData = this.detailData.check;
+                this.checkDialog = true;
+              } else {
+                this.$confirm(res.data.data, {
+                  confirmButtonText: "确定",
+                  cancelButtonText: "取消",
+                  type: "warning"
+                }).then(() => {
+                  approvePass(this.checkData).then(res => {
+                    if (res.data.success) {
+                      this.$message.success("操作成功!")
+                      this.$emit("choceCheckFun")
+                    }
+                    if (!this.checkDetail) {
+                      //关闭付费申请页面
+                      let tag = this.$store.getters.tagList.filter(ele => ele.label === "付费申请")[0]
+                      this.$store.commit('DEL_TAG', tag)
+                      this.$store.commit("PQ_OUT_DETAIL");
+                      let tag1 = this.$store.getters.tagList.filter(ele => ele.label === "审批数据")[0]
+                      this.$store.commit('DEL_TAG', tag1)
+                      this.$router.push({
+                        path: "/approveData/index",
+                        query: { check: 'refresh' },
+                      });
+                    }
+                  }).finally(() => {
+                    this.buttonLoading = false
+                  })
+                }).catch(() => {
+                  this.buttonLoading = false
+                })
+              }
+            }).catch(() => {
+              this.buttonLoading = false
+            })
+          } else {
+            approvePass(this.checkData).then(res => {
+              if (res.data.success) {
                 this.$message.success("操作成功!")
-                this.$emit("operationType")
+                this.$emit("choceCheckFun")
               }
-            }).finally(()=>{
+              if (!this.checkDetail) {
+                //关闭付费申请页面
+                let tag = this.$store.getters.tagList.filter(ele => ele.label === "付费申请")[0]
+                this.$store.commit('DEL_TAG', tag)
+                this.$store.commit("PQ_OUT_DETAIL");
+                let tag1 = this.$store.getters.tagList.filter(ele => ele.label === "审批数据")[0]
+                this.$store.commit('DEL_TAG', tag1)
+                this.$router.push({
+                  path: "/approveData/index",
+                  query: { check: 'refresh' },
+                });
+              }
+            }).finally(() => {
               this.buttonLoading = false
             })
-          }else{
-            //单个
-            this.buttonLoading = true
-            this.checkData.auditName = this.form.auditName
-            this.checkData.auditMsg = this.form.auditMsg
-            this.checkData.auditOpTime = this.form.auditOpTime
-            if (this.checkData.checkType === "YPJ-XSJH" && operate === 1){
-              offset({id: this.checkData.billId}).then(res => {
-                if (res.data.data == '操作成功') {
-                  this.checkData = this.detailData.check;
-                  this.checkDialog = true;
-                } else {
-                  this.$confirm(res.data.data, {
-                    confirmButtonText: "确定",
-                    cancelButtonText: "取消",
-                    type: "warning"
-                  }).then(() => {
-                    approvePass(this.checkData).then(res=>{
-                      if(res.data.success){
-                        this.$message.success("操作成功!")
-                        this.$emit("choceCheckFun")
-                      }
-                      if(!this.checkDetail){
-                        //关闭付费申请页面
-                        let tag = this.$store.getters.tagList.filter(ele => ele.label === "付费申请")[0]
-                        this.$store.commit('DEL_TAG', tag)
-                        this.$store.commit("PQ_OUT_DETAIL");
-                        let tag1 = this.$store.getters.tagList.filter(ele => ele.label === "审批数据")[0]
-                        this.$store.commit('DEL_TAG', tag1)
-                        this.$router.push({
-                          path: "/approveData/index",
-                          query: {check:'refresh'},
-                        });
-                      }
-                    }).finally(()=>{
-                      this.buttonLoading = false
-                    })
-                  }).catch(()=>{
-                    this.buttonLoading = false
-                  })
-                }
-              }).catch(()=>{
-                this.buttonLoading = false
-              })
-            }else{
-              approvePass(this.checkData).then(res=>{
-                if(res.data.success){
-                  this.$message.success("操作成功!")
-                  this.$emit("choceCheckFun")
-                }
-                if(!this.checkDetail){
-                  //关闭付费申请页面
-                  let tag = this.$store.getters.tagList.filter(ele => ele.label === "付费申请")[0]
-                  this.$store.commit('DEL_TAG', tag)
-                  this.$store.commit("PQ_OUT_DETAIL");
-                  let tag1 = this.$store.getters.tagList.filter(ele => ele.label === "审批数据")[0]
-                  this.$store.commit('DEL_TAG', tag1)
-                  this.$router.push({
-                    path: "/approveData/index",
-                    query: {check:'refresh'},
-                  });
-                }
-              }).finally(()=>{
-                this.buttonLoading = false
-              })
-            }
           }
-        })
-      }
+        }
+      })
     }
   }
+}
 </script>
 
-<style  lang="scss" scoped>
-  .trading-form ::v-deep .el-form-item {
-    margin-bottom: 8px !important;
-  }
+<style lang="scss" scoped>
+.trading-form ::v-deep .el-form-item {
+  margin-bottom: 8px !important;
+}
 </style>

+ 79 - 22
src/views/approveDataH/configuration/mainList.json

@@ -23,7 +23,7 @@
   "searchIndex": 2,
   "addBtn": false,
   "headerAlign": "center",
-  "columnBtn":false,
+  "columnBtn": false,
   "column": [
     {
       "label": "业务类型",
@@ -51,7 +51,61 @@
       "search": true,
       "searchValue": "S",
       "overHidden": true,
-      "index": 3
+      "index": 2
+    },
+    {
+      "label": "自定义1",
+      "prop": "customizeOne",
+      "overHidden": true,
+      "width": 100,
+      "index": 3,
+      "hide": true,
+      "showColumn": false
+    },
+    {
+      "label": "自定义2",
+      "prop": "customizeTwo",
+      "overHidden": true,
+      "width": 100,
+      "index": 4,
+      "hide": true,
+      "showColumn": false
+    },
+    {
+      "label": "自定义3",
+      "prop": "customizeThree",
+      "overHidden": true,
+      "width": 100,
+      "index": 5,
+      "hide": true,
+      "showColumn": false
+    },
+    {
+      "label": "自定义4",
+      "prop": "customizeFour",
+      "overHidden": true,
+      "width": 100,
+      "index": 6,
+      "hide": true,
+      "showColumn": false
+    },
+    {
+      "label": "自定义5",
+      "prop": "customizeFive",
+      "overHidden": true,
+      "width": 100,
+      "index": 7,
+      "hide": true,
+      "showColumn": false
+    },
+    {
+      "label": "自定义6",
+      "prop": "customizeSix",
+      "overHidden": true,
+      "width": 100,
+      "index": 8,
+      "hide": true,
+      "showColumn": false
     },
     {
       "label": "往来单位",
@@ -61,35 +115,35 @@
       "showColumn": false,
       "overHidden": true,
       "width": 100,
-      "index": 4
+      "index": 9
     },
     {
       "label": "往来单位",
       "prop": "corpsName",
       "overHidden": true,
       "width": 100,
-      "index": 5
+      "index": 10
     },
     {
       "label": "业务编号",
       "prop": "billNo",
       "overHidden": true,
       "width": 100,
-      "index": 6
+      "index": 11
     },
     {
       "label": "提单号",
       "prop": "morderNo",
       "overHidden": true,
       "width": 100,
-      "index": 7
+      "index": 12
     },
     {
       "label": "订舱代理",
       "prop": "bookingAgentCnName",
       "overHidden": true,
       "width": 100,
-      "index": 8
+      "index": 13
     },
     {
       "label": "参考号",
@@ -97,7 +151,7 @@
       "search": true,
       "overHidden": true,
       "width": 100,
-      "index": 9
+      "index": 14
     },
     {
       "label": "开船日期",
@@ -109,10 +163,13 @@
       "searchRange": true,
       "format": "yyyy-MM-dd",
       "valueFormat": "yyyy-MM-dd HH:mm:ss",
-      "searchDefaultTime": ["00:00:00", "23:59:59"],
+      "searchDefaultTime": [
+        "00:00:00",
+        "23:59:59"
+      ],
       "overHidden": true,
       "width": 100,
-      "index": 9.1
+      "index": 15
     },
     {
       "label": "业务员",
@@ -123,17 +180,17 @@
         "label": "name",
         "value": "name"
       },
-      "dicData":[],
+      "dicData": [],
       "overHidden": true,
       "width": 100,
-      "index": 10
+      "index": 16
     },
     {
       "label": "申请人",
       "prop": "sendUserId",
       "overHidden": true,
       "search": true,
-      "index": 11,
+      "index": 17,
       "width": 100,
       "type": "select",
       "props": {
@@ -151,7 +208,7 @@
       "searchRange": true,
       "search": true,
       "overHidden": true,
-      "index": 12,
+      "index": 18,
       "width": 150
     },
     {
@@ -159,14 +216,14 @@
       "prop": "orderRemark",
       "overHidden": true,
       "width": 100,
-      "index": 13
+      "index": 19
     },
     {
       "label": "已审",
       "prop": "level",
       "overHidden": true,
       "width": 100,
-      "index": 13.1
+      "index": 20
     },
     {
       "label": "业务日期",
@@ -177,7 +234,7 @@
       "unlinkPanels": true,
       "searchRange": true,
       "overHidden": true,
-      "index": 14,
+      "index": 21,
       "width": 150
     },
     {
@@ -186,7 +243,7 @@
       "type": "date",
       "format": "yyyy-MM-dd HH:mm:ss",
       "valueFormat": "yyyy-MM-dd HH:mm:ss",
-      "hide" :true,
+      "hide": true,
       "unlinkPanels": true,
       "searchRange": true,
       "search": true,
@@ -199,21 +256,21 @@
       "prop": "receivableAmount",
       "overHidden": true,
       "width": 100,
-      "index": 16
+      "index": 22
     },
     {
       "label": "应付金额",
       "prop": "payAmount",
       "overHidden": true,
       "width": 100,
-      "index": 17
+      "index": 23
     },
     {
       "label": "利润",
       "prop": "grossProfit",
       "overHidden": true,
       "width": 100,
-      "index": 18
+      "index": 24
     }
   ]
-}
+}

+ 12 - 1
src/views/approveDataH/index.vue

@@ -125,7 +125,7 @@ import check from "./check";
 import { getUserInfo } from "@/api/system/user";
 import { gainUser } from "@/api/basicData/customerInquiry";
 import { corpsDescListAll } from "../../api/tirePartsMall/salesManagement/saleOrder";
-
+import { isProcurement } from "@/api/basicData/configuration";
 import reportContainerlos from "@/views/iosBasicData/report-container/report-container-los.vue"
 import { finstlbillsDetail } from "../../api/iosBasicData/finstlbills";
 import { reportsGetReportData } from "@/api/iosBasicData/reports";
@@ -193,6 +193,17 @@ export default {
           this.option = option4;
         } else {
           this.option = option;
+          isProcurement({ "param": "business" }).then(res => {
+            this.business = res.data.data
+            if (res.data.data == 1) {
+              this.option.column.forEach(item => {
+                if (item.prop == 'customizeOne' || item.prop == 'customizeTwo'|| item.prop == 'customizeThree'|| item.prop == 'customizeFour'|| item.prop == 'customizeFive'|| item.prop == 'customizeSix') {
+                  item.hide = false
+                  item.showColumn = true
+                }
+              })
+            }
+          })
         }
       }
       this.getWorkDicts("auditStatus").then(res => {

+ 14 - 14
src/views/iosBasicData/OceanFreightImport/bills/assembly/EntrustmentLnformation.vue

@@ -36,7 +36,7 @@
                                 <el-col :span="10">
                                     <search-query :datalist="polData" :selectValue="assemblyForm.polCode"
                                         :filterable="true" :clearable="true" :remote="true"
-                                        :disabled="detailData.seeDisabled || generateBillsfalse" :buttonIf="false"
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" :buttonIf="false"
                                         :joinData="true"
                                         :forParameter="{ key: 'id', short: 'enName', label: 'code', value: 'enName' }"
                                         placeholder="请选择装货港" @remoteMethod="remoteMethod($event, 'pol')"
@@ -48,7 +48,7 @@
                                     <span style="padding-left: 20px"></span>
                                     <el-input type="age" style="width: 100%;" v-model="assemblyForm.polNamePrint"
                                         size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled || generateBillsfalse" clearable
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" clearable
                                         placeholder="装货港"></el-input>
                                 </el-col>
                             </el-row>
@@ -84,7 +84,7 @@
                                 <el-col :span="10">
                                     <search-query :datalist="destinationData"
                                         :selectValue="assemblyForm.destinationCode" :filterable="true" :clearable="true"
-                                        :remote="true" :disabled="detailData.seeDisabled || generateBillsfalse"
+                                        :remote="true" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
                                         :buttonIf="false" :joinData="true"
                                         :forParameter="{ key: 'id', short: 'enName', label: 'code', value: 'enName' }"
                                         placeholder="请选择目的地" @remoteMethod="remoteMethod($event, 'destination')"
@@ -96,7 +96,7 @@
                                     <span style="padding-left: 20px"></span>
                                     <el-input type="age" style="width: 100%;"
                                         v-model="assemblyForm.destinationNamePrint" size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled || generateBillsfalse" clearable
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" clearable
                                         placeholder="目的地"></el-input>
                                 </el-col>
                             </el-row>
@@ -271,7 +271,7 @@
                                 <span style="color: #1e9fff">ETA</span>
                             </span>
                             <el-date-picker v-model="assemblyForm.eta" style="width: 100%" clearable type="date"
-                                size="small" :disabled="detailData.seeDisabled || generateBillsfalse"
+                                size="small" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
                                 value-format="yyyy-MM-dd" :picker-options="etdPickerOptions" placeholder="请选择ETA日期"
                                 @change="handlePick">
                             </el-date-picker>
@@ -281,7 +281,7 @@
                                 <span style="color: #1e9fff">ETD</span>
                             </span>
                             <el-date-picker v-model="assemblyForm.etd" clearable style="width: 100%" type="date"
-                                size="small" :disabled="detailData.seeDisabled || generateBillsfalse"
+                                size="small" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
                                 value-format="yyyy-MM-dd" :picker-options="etdPickerOptions" placeholder="请选择ETD日期">
                             </el-date-picker>
                         </el-form-item>
@@ -292,7 +292,7 @@
                                 </span>
                                 <search-query :datalist="vesselData" :selectValue="assemblyForm.vesselEnName"
                                     :filterable="true" :clearable="true" :remote="true" :allowCreate="true"
-                                    :disabled="detailData.seeDisabled || generateBillsfalse" :buttonIf="false"
+                                    :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" :buttonIf="false"
                                     :forParameter="{ key: 'id', label: 'enName', value: 'enName' }" placeholder="请选择船名"
                                     @remoteMethod="remoteMethod($event, 'vessel')"
                                     @corpChange="corpChange($event, 'vessel')"
@@ -304,7 +304,7 @@
                                     <span style="color: #1e9fff">航次</span>
                                 </span>
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo" size="small"
-                                    autocomplete="off" :disabled="detailData.seeDisabled || generateBillsfalse"
+                                    autocomplete="off" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
                                     clearable placeholder="请选择航次"></el-input>
                             </el-form-item>
                         </div>
@@ -323,7 +323,7 @@
                             </span>
                             <search-query :datalist="carrierData" :selectValue="assemblyForm.carrierCnName"
                                 :filterable="true" :clearable="true" :remote="true" :joinData="true"
-                                :disabled="detailData.seeDisabled || generateBillsfalse" :buttonIf="false"
+                                :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" :buttonIf="false"
                                 :forParameter="{ key: 'id', short: 'shortName', label: 'cnName', value: 'cnName' }"
                                 placeholder="请选择船公司" @remoteMethod="remoteMethod($event, 'carrier')"
                                 @corpChange="corpChange($event, 'carrier')"
@@ -351,7 +351,7 @@
                                     </span>
                                     <search-query :datalist="packingUnitData" style="margin-right: -10px;"
                                         :selectValue="assemblyForm.packingUnit" :filterable="true" :clearable="true"
-                                        :remote="true" :disabled="detailData.seeDisabled || generateBillsfalse"
+                                        :remote="true" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
                                         :buttonIf="false"
                                         :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
                                         placeholder="请选择包装" @remoteMethod="remoteMethod($event, 'packingUnit')"
@@ -435,7 +435,7 @@
                             </span>
                             <search-query :datalist="cyData" :selectValue="assemblyForm.cyCnName" :filterable="true"
                                 :clearable="true" :remote="true"
-                                :disabled="detailData.seeDisabled || generateBillsfalse" :buttonIf="false"
+                                :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" :buttonIf="false"
                                 :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }" placeholder="请选择场站"
                                 @remoteMethod="remoteMethod($event, 'cy')" @corpChange="corpChange($event, 'cy')"
                                 @corpFocus="remoteMethod($event, 'cy')">
@@ -453,7 +453,7 @@
                             <!--          clearable placeholder="请输入联系人" ></el-input>-->
                             <search-query :datalist="cyContactsData" :selectValue="assemblyForm.cyContacts"
                                 :filterable="true" :clearable="true"
-                                :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.cyCnName"
+                                :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0 || !assemblyForm.cyCnName"
                                 :buttonIf="false" :forParameter="{ key: 'id', label: 'cname', value: 'cname' }"
                                 placeholder="联系人" @corpChange="corpChange($event, 'cyContacts')"
                                 @corpFocus="remoteMethod($event, 'cyContacts')">
@@ -468,7 +468,7 @@
                         </span>
                         <el-input type="age" style="width: 100%;" v-model="assemblyForm.cyAddress" size="small"
                             autocomplete="off"
-                            :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.cyCnName" clearable
+                            :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0 || !assemblyForm.cyCnName" clearable
                             placeholder="地址"></el-input>
                     </el-form-item>
                 </el-col>
@@ -478,7 +478,7 @@
                     <span style="color: #1e9fff">场站备注</span>
                 </span>
                 <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.cyRemarks" size="small"
-                    autocomplete="off" :disabled="detailData.seeDisabled || generateBillsfalse" rows="3" clearable
+                    autocomplete="off" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" rows="3" clearable
                     placeholder="请输入场站备注" @change="textareaBlur('cyRemarks')"></el-input>
             </el-form-item>
         </el-form>

+ 67 - 45
src/views/iosBasicData/OceanFreightImport/bills/assembly/feecenter.vue

@@ -168,6 +168,9 @@
                     </search-query>
                     <span v-else>{{ row.curCode }}</span>
                 </template>
+                <template slot="exrate" slot-scope="{ row }">
+                    <span>{{ Number(row.exrate) ? Number(row.exrate) : null }}</span>
+                </template>
                 <template slot="isTax" slot-scope="{row}">
                     <span>{{ row.isTax ? '是' : '否' }}</span>
                 </template>
@@ -184,12 +187,12 @@
                 <template slot="taxRate" slot-scope="{ row }">
                     <el-input-number v-if="row.edit" v-model="row.taxRate" size="small" :controls="false" :precision="3"
                         placeholder="请输入" @blur="priceinputfun(row)"></el-input-number>
-                    <span v-else>{{ row.taxRate }}</span>
+                    <span v-else>{{ Number(row.taxRate) ? row.taxRate : null }}</span>
                 </template>
                 <template slot="surchargeRate" slot-scope="{ row }">
                     <el-input-number v-if="row.edit" v-model="row.surchargeRate" size="small" :controls="false"
                         :precision="3" placeholder="请输入" @blur="priceinputfun(row)"></el-input-number>
-                    <span v-else>{{ row.surchargeRate }}</span>
+                    <span v-else>{{ Number(row.surchargeRate) ? row.surchargeRate : null }}</span>
                 </template>
                 <template slot="remarks" slot-scope="{ row }">
                     <el-input v-if="row.edit" v-model="row.remarks" size="small" placeholder="请输入"></el-input>
@@ -312,6 +315,9 @@
                     </search-query>
                     <span v-else>{{ row.curCode }}</span>
                 </template>
+                <template slot="exrate" slot-scope="{ row }">
+                    <span>{{ Number(row.exrate) ? Number(row.exrate) : null }}</span>
+                </template>
                 <template slot="isTax" slot-scope="{row}">
                     <span>{{ row.isTax ? '是' : '否' }}</span>
                 </template>
@@ -328,12 +334,12 @@
                 <template slot="taxRate" slot-scope="{ row }">
                     <el-input-number v-if="row.edit" v-model="row.taxRate" size="small" :controls="false" :precision="3"
                         placeholder="请输入" @blur="priceinputfun(row)"></el-input-number>
-                    <span v-else>{{ row.taxRate }}</span>
+                    <span v-else>{{ Number(row.taxRate) ? row.taxRate : null }}</span>
                 </template>
                 <template slot="surchargeRate" slot-scope="{ row }">
                     <el-input-number v-if="row.edit" v-model="row.surchargeRate" size="small" :controls="false"
                         :precision="3" placeholder="请输入" @blur="priceinputfun(row)"></el-input-number>
-                    <span v-else>{{ row.surchargeRate }}</span>
+                    <span v-else>{{ Number(row.surchargeRate) ? row.surchargeRate : null }}</span>
                 </template>
                 <template slot="remarks" slot-scope="{ row }">
                     <el-input v-if="row.edit" v-model="row.remarks" size="small" placeholder="请输入"></el-input>
@@ -734,27 +740,37 @@ export default {
                         overHidden: true,
                     },
                     {
-                        label: "币种",
-                        prop: "curCode",
+                        label: "单价",
+                        prop: "price",
                         width: "120",
                         overHidden: true,
                     },
                     {
-                        label: "汇率",
-                        prop: "exrate",
-                        width: "100",
+                        label: "数量",
+                        prop: "quantity",
+                        width: "120",
                         overHidden: true,
                     },
                     {
-                        label: "单价",
-                        prop: "price",
+                        label: "币种",
+                        prop: "curCode",
                         width: "120",
                         overHidden: true,
                     },
                     {
-                        label: "数量",
-                        prop: "quantity",
+                        label: "增值税率",
+                        prop: "taxRate",
+                        width: "120",
+                        hide: true,
+                        showColumn: false,
+                        overHidden: true,
+                    },
+                    {
+                        label: "附加费率",
+                        prop: "surchargeRate",
                         width: "120",
+                        hide: true,
+                        showColumn: false,
                         overHidden: true,
                     },
                     {
@@ -782,6 +798,12 @@ export default {
                         overHidden: true,
                     },
                     {
+                        label: "汇率",
+                        prop: "exrate",
+                        width: "100",
+                        overHidden: true,
+                    },
+                    {
                         label: "核算要素",
                         prop: "elementsCnName",
                         width: "120",
@@ -1010,18 +1032,6 @@ export default {
                         overHidden: true,
                     },
                     {
-                        label: "币种",
-                        prop: "curCode",
-                        width: "120",
-                        overHidden: true,
-                    },
-                    {
-                        label: "汇率",
-                        prop: "exrate",
-                        width: "100",
-                        overHidden: true,
-                    },
-                    {
                         label: "单价",
                         prop: "price",
                         width: "120",
@@ -1034,6 +1044,12 @@ export default {
                         overHidden: true,
                     },
                     {
+                        label: "币种",
+                        prop: "curCode",
+                        width: "120",
+                        overHidden: true,
+                    },
+                    {
                         label: "增值税率",
                         prop: "taxRate",
                         width: "120",
@@ -1074,6 +1090,12 @@ export default {
                         overHidden: true,
                     },
                     {
+                        label: "汇率",
+                        prop: "exrate",
+                        width: "100",
+                        overHidden: true,
+                    },
+                    {
                         label: "核算要素",
                         prop: "elementsCnName",
                         width: "120",
@@ -1190,18 +1212,6 @@ export default {
                         overHidden: true,
                     },
                     {
-                        label: "币种",
-                        prop: "curCode",
-                        width: "120",
-                        overHidden: true,
-                    },
-                    {
-                        label: "汇率",
-                        prop: "exrate",
-                        width: "100",
-                        overHidden: true,
-                    },
-                    {
                         label: "单价",
                         prop: "price",
                         width: "120",
@@ -1214,6 +1224,12 @@ export default {
                         overHidden: true,
                     },
                     {
+                        label: "币种",
+                        prop: "curCode",
+                        width: "120",
+                        overHidden: true,
+                    },
+                    {
                         label: "增值税率",
                         prop: "taxRate",
                         width: "120",
@@ -1230,26 +1246,32 @@ export default {
                         overHidden: true,
                     },
                     {
-                        label: "CNY(含税)",
-                        prop: "rmbAmount",
+                        label: "CNY(净额)",
+                        prop: "rmbAmountNet",
                         width: "100",
                         overHidden: true,
                     },
                     {
-                        label: "USD(含税)",
-                        prop: "usdAmount",
+                        label: "USD(净额)",
+                        prop: "usdAmountNet",
                         width: "100",
                         overHidden: true,
                     },
                     {
-                        label: "CNY(净额)",
-                        prop: "rmbAmountNet",
+                        label: "CNY(含税)",
+                        prop: "rmbAmount",
                         width: "100",
                         overHidden: true,
                     },
                     {
-                        label: "USD(净额)",
-                        prop: "usdAmountNet",
+                        label: "USD(含税)",
+                        prop: "usdAmount",
+                        width: "100",
+                        overHidden: true,
+                    },
+                    {
+                        label: "汇率",
+                        prop: "exrate",
                         width: "100",
                         overHidden: true,
                     },

+ 5 - 4
src/views/iosBasicData/SeafreightExportF/bills/assembly/DistributionBox/PackingBusiness.vue

@@ -92,9 +92,9 @@
                         <span>{{ index + 1 }}</span>
                     </template>
                     <template slot-scope="scope" slot="menuLeft">
-                        <el-button type="primary" plain size="small"
+                        <!-- <el-button type="primary" plain size="small"
                             :disabled="pleasereviewType || detailData.seeDisabled || showLock"
-                            @click.stop="allEdit">一键编辑</el-button>
+                            @click.stop="allEdit">一键编辑</el-button> -->
                         <el-button type="primary" plain size="small"
                             :disabled="pleasereviewType || detailData.seeDisabled || showLock"
                             @click.stop="containerscommoditySubmitListfun">一键保存</el-button>
@@ -106,7 +106,7 @@
                             @click.stop="inVerifyData">数据校验</el-button>
                     </template>
                     <template slot-scope="scope" slot="menu">
-                        <el-button v-if="!scope.row.$cellEdit" size="mini" type="text" icon="el-icon-edit"
+                        <el-button v-if="!scope.row.$cellEdit" size="mini" type="text"
                             :disabled="pleasereviewType || detailData.seeDisabled || showLock"
                             @click.stop="editfun(scope.row, scope.index)">
                             编辑
@@ -1515,7 +1515,8 @@ export default {
         // 编辑
         editfun(row, index) {
             // this.Detailform = row
-            this.$set(row, '$cellEdit', true)
+            // this.$set(row, '$cellEdit', true)
+            this.$refs.crudDetail.rowEdit(row,index)
         },
         BatchDelete() {
             if (this.selectionDetailList.length === 0) {

+ 18 - 18
src/views/iosBasicData/SeafreightExportF/bills/assembly/EntrustmentLnformation.vue

@@ -178,7 +178,7 @@
                                 <el-col :span="10">
                                     <search-query :datalist="polData" :selectValue="assemblyForm.polEnName"
                                         :filterable="true" :clearable="true" :remote="true" :joinData="true"
-                                        :special="true" :disabled="detailData.seeDisabled || generateBillsfalse"
+                                        :special="true" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
                                         :buttonIf="false" placeholder="请选择装货港"
                                         :forParameter="{ key: 'id', short: 'code', label: 'enName', value: 'enName' }"
                                         :multi-columns="true"
@@ -192,7 +192,7 @@
                                     <span style="padding-left: 20px"></span>
                                     <el-input type="age" style="width: 100%;" v-model="assemblyForm.polNamePrint"
                                         size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled || generateBillsfalse" clearable
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" clearable
                                         placeholder="装货港" @change="textareaBlur('polNamePrint')"></el-input>
                                 </el-col>
                             </el-row>
@@ -246,7 +246,7 @@
                                     <search-query :datalist="destinationData"
                                         :selectValue="assemblyForm.destinationName" :filterable="true" :clearable="true"
                                         :remote="true" :joinData="true" :special="true"
-                                        :disabled="detailData.seeDisabled || generateBillsfalse" :buttonIf="false"
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" :buttonIf="false"
                                         placeholder="请选择目的地"
                                         :forParameter="{ key: 'id', short: 'code', label: 'enName', value: 'enName' }"
                                         :multi-columns="true"
@@ -260,7 +260,7 @@
                                     <span style="padding-left: 20px"></span>
                                     <el-input type="age" style="width: 100%;"
                                         v-model="assemblyForm.destinationNamePrint" size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled || generateBillsfalse" clearable
+                                        :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" clearable
                                         placeholder="目的地" @change="textareaBlur('destinationNamePrint')"></el-input>
                                 </el-col>
                             </el-row>
@@ -280,7 +280,7 @@
                                 <el-col :span="10">
                                     <search-query :datalist="placeDeliveryData" :joinData="true"
                                         :selectValue="assemblyForm.placeDeliveryName" :filterable="true" :special="true"
-                                        :clearable="true" :remote="true" :disabled="detailData.seeDisabled"
+                                        :clearable="true" :remote="true" :disabled="detailData.seeDisabled||assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
                                         :buttonIf="false" placeholder="请选择交货地"
                                         :forParameter="{ key: 'id', short: 'code', label: 'enName', value: 'enName' }"
                                         :multi-columns="true"
@@ -294,7 +294,7 @@
                                     <span style="padding-left: 20px"></span>
                                     <el-input type="age" style="width: 100%;"
                                         v-model="assemblyForm.placeDeliveryNamePrint" size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled" clearable placeholder="交货地"
+                                        :disabled="detailData.seeDisabled||assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" clearable placeholder="交货地"
                                         @change="textareaBlur('placeDeliveryNamePrint')"></el-input>
                                 </el-col>
                             </el-row>
@@ -429,7 +429,7 @@
                                 <span style="color: #1e9fff">ETD</span>
                             </span>
                             <el-date-picker v-model="assemblyForm.etd" clearable style="width: 60%" type="date"
-                                size="small" :disabled="detailData.seeDisabled || generateBillsfalse"
+                                size="small" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
                                 value-format="yyyy-MM-dd" :picker-options="etdPickerOptions" placeholder="请选择ETD日期"
                                 @change="handlePick">
                             </el-date-picker>
@@ -452,7 +452,7 @@
                                 </span>
                                 <search-query :datalist="vesselData" :selectValue="assemblyForm.vesselEnName"
                                     :filterable="true" :clearable="true" :remote="true" :allowCreate="true"
-                                    :disabled="detailData.seeDisabled || generateBillsfalse" :buttonIf="false"
+                                    :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" :buttonIf="false"
                                     placeholder="请选择船名" :forParameter="{ key: 'id', label: 'enName', value: 'enName' }"
                                     :multi-columns="true"
                                     :dropdown-columns="vesselDorpdownColumns"
@@ -466,7 +466,7 @@
                                     <span style="color: #1e9fff">航次</span>
                                 </span>
                                 <el-input type="age" style="width: 100%;" v-model="assemblyForm.voyageNo" size="small"
-                                    autocomplete="off" :disabled="detailData.seeDisabled || generateBillsfalse"
+                                    autocomplete="off" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
                                     clearable placeholder="请输入航次" @change="textareaBlur('voyageNo')"></el-input>
                             </el-form-item>
                         </div>
@@ -486,7 +486,7 @@
                             </span>
                             <search-query :datalist="carrierData" :selectValue="assemblyForm.carrierCnName"
                                 :filterable="true" :clearable="true" :remote="true" :joinData="true"
-                                :disabled="detailData.seeDisabled || generateBillsfalse" :buttonIf="false"
+                                :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" :buttonIf="false"
                                 placeholder="请选择船公司"
                                 :forParameter="{ key: 'id', short: 'shortName', label: 'cnName', value: 'cnName' }"
                                 @remoteMethod="remoteMethod($event, 'carrier')"
@@ -542,7 +542,7 @@
                                         <span style="color: #1e9fff">件数</span>
                                     </span>
                                     <el-input ref="quantityRef" style="width: 100%;" v-model="assemblyForm.quantity"
-                                        size="small" autocomplete="off" min="1" :disabled="detailData.seeDisabled"
+                                        size="small" autocomplete="off" min="1" :disabled="detailData.seeDisabled||assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
                                         @input="quantityInput" @focus="quantityFocus" clearable
                                         placeholder="请输入件数"></el-input>
                                 </el-form-item>
@@ -563,7 +563,7 @@
                                     </span>
                                     <search-query :datalist="packingUnitData" style="margin-right: -10px;"
                                         :selectValue="assemblyForm.packingUnit" :filterable="true" :clearable="true"
-                                        :remote="true" :disabled="detailData.seeDisabled || generateBillsfalse"
+                                        :remote="true" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
                                         :buttonIf="false" placeholder="请选择包装"
                                         :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
                                         @remoteMethod="remoteMethod($event, 'packingUnit')"
@@ -582,7 +582,7 @@
                                     </span>
                                     <el-input ref="grossWeightRef" step="0.01" style="width: 100%;"
                                         v-model="assemblyForm.grossWeight" size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled" @input="floatingInput($event, 'grossWeight')"
+                                        :disabled="detailData.seeDisabled||assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" @input="floatingInput($event, 'grossWeight')"
                                         @focus="quantityFocus" clearable placeholder="请输入毛重"></el-input>
                                 </el-form-item>
                             </el-col>
@@ -594,14 +594,14 @@
                                     </span>
                                     <el-input ref="measurementRef" step="0.01" style="width: 106%;"
                                         v-model="assemblyForm.measurement" size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled" @input="floatingInput($event, 'measurement')"
+                                        :disabled="detailData.seeDisabled||assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" @input="floatingInput($event, 'measurement')"
                                         @focus="quantityFocus" clearable placeholder="请输入尺码/体积"></el-input>
                                 </el-form-item>
                             </el-col>
                         </div>
                     </el-col>
                     <el-col :span="24">
-                        <precontainers :assemblyForm="assemblyForm" :seeDisabled="detailData.seeDisabled"
+                        <precontainers :assemblyForm="assemblyForm" :seeDisabled="detailData.seeDisabled||assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0"
                             :pid="assemblyForm.id" @billsDetailfun="billsDetailfun">
                         </precontainers>
                     </el-col>
@@ -729,7 +729,7 @@
                             <!--          clearable placeholder="请输入联系人" ></el-input>-->
                             <search-query :datalist="cyContactsData" :selectValue="assemblyForm.cyContacts"
                                 :filterable="true" :clearable="true"
-                                :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.cyCnName"
+                                :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0 || !assemblyForm.cyCnName"
                                 :buttonIf="false" :forParameter="{ key: 'id', label: 'cname', value: 'cname' }"
                                 placeholder="联系人" @corpChange="corpChange($event, 'cyContacts')"
                                 @corpFocus="remoteMethod($event, 'cyContacts')">
@@ -744,7 +744,7 @@
                         </span>
                         <el-input type="age" style="width: 100%;" v-model="assemblyForm.cyAddress" size="small"
                             autocomplete="off"
-                            :disabled="detailData.seeDisabled || generateBillsfalse || !assemblyForm.cyCnName" clearable
+                            :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0 || !assemblyForm.cyCnName" clearable
                             placeholder="地址"></el-input>
                     </el-form-item>
                 </el-col>
@@ -754,7 +754,7 @@
                     <span style="color: #1e9fff">场站备注</span>
                 </span>
                 <el-input type="textarea" style="width: 100%;" v-model="assemblyForm.cyRemarks" size="small"
-                    autocomplete="off" :disabled="detailData.seeDisabled || generateBillsfalse" rows="3" clearable
+                    autocomplete="off" :disabled="detailData.seeDisabled || assemblyForm.feeCenterListD.filter(item => item.accStatus == 1).length > 0|| assemblyForm.feeCenterListC.filter(item => item.accStatus == 1).length >0" rows="3" clearable
                     placeholder="请输入场站备注" @change="textareaBlur('cyRemarks')"></el-input>
             </el-form-item>
         </el-form>

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

@@ -170,6 +170,9 @@
                     </search-query>
                     <span v-else>{{ row.curCode }}</span>
                 </template>
+                <template slot="exrate" slot-scope="{ row }">
+                    <span>{{ Number(row.exrate) ? Number(row.exrate) : null }}</span>
+                </template>
                 <template slot="isTax" slot-scope="{row}">
                     <span>{{ row.isTax ? '是' : '否' }}</span>
                 </template>
@@ -186,12 +189,12 @@
                 <template slot="taxRate" slot-scope="{ row }">
                     <el-input-number v-if="row.edit" v-model="row.taxRate" size="small" :controls="false" :precision="3"
                         placeholder="请输入" @blur="priceinputfun(row)"></el-input-number>
-                    <span v-else>{{ row.taxRate }}</span>
+                    <span v-else>{{ Number(row.taxRate) ? row.taxRate : null }}</span>
                 </template>
                 <template slot="surchargeRate" slot-scope="{ row }">
                     <el-input-number v-if="row.edit" v-model="row.surchargeRate" size="small" :controls="false"
                         :precision="3" placeholder="请输入" @blur="priceinputfun(row)"></el-input-number>
-                    <span v-else>{{ row.surchargeRate }}</span>
+                    <span v-else>{{ Number(row.surchargeRate) ? row.surchargeRate : null }}</span>
                 </template>
                 <template slot="remarks" slot-scope="{ row }">
                     <el-input v-if="row.edit" v-model="row.remarks" size="small" placeholder="请输入"></el-input>
@@ -322,6 +325,10 @@
                     </search-query>
                     <span v-else>{{ row.curCode }}</span>
                 </template>
+                <template slot="exrate" slot-scope="{ row }">
+                    <span>{{ Number(row.exrate) ? Number(row.exrate) : null }}</span>
+                </template>
+
                 <template slot="isTax" slot-scope="{row}">
                     <span>{{ row.isTax ? '是' : '否' }}</span>
                 </template>
@@ -338,12 +345,12 @@
                 <template slot="taxRate" slot-scope="{ row }">
                     <el-input-number v-if="row.edit" v-model="row.taxRate" size="small" :controls="false" :precision="3"
                         placeholder="请输入" @blur="priceinputfun(row)"></el-input-number>
-                    <span v-else>{{ row.taxRate }}</span>
+                    <span v-else>{{ Number(row.taxRate) ? row.taxRate : null }}</span>
                 </template>
                 <template slot="surchargeRate" slot-scope="{ row }">
                     <el-input-number v-if="row.edit" v-model="row.surchargeRate" size="small" :controls="false"
                         :precision="3" placeholder="请输入" @blur="priceinputfun(row)"></el-input-number>
-                    <span v-else>{{ row.surchargeRate }}</span>
+                    <span v-else>{{ Number(row.surchargeRate) ? row.surchargeRate : null }}</span>
                 </template>
                 <template slot="remarks" slot-scope="{ row }">
                     <el-input v-if="row.edit" v-model="row.remarks" size="small" placeholder="请输入"></el-input>
@@ -745,31 +752,40 @@ export default {
                         width: "120",
                         overHidden: true,
                     },
+                                        {
+                        label: "单价",
+                        prop: "price",
+                        width: "120",
+                        overHidden: true,
+                    },
                     {
-                        label: "币种",
-                        prop: "curCode",
+                        label: "数量",
+                        prop: "quantity",
                         width: "120",
                         overHidden: true,
                     },
                     {
-                        label: "汇率",
-                        prop: "exrate",
-                        width: "100",
+                        label: "币种",
+                        prop: "curCode",
+                        width: "120",
                         overHidden: true,
                     },
                     {
-                        label: "单价",
-                        prop: "price",
+                        label: "增值税率",
+                        prop: "taxRate",
                         width: "120",
+                        hide: true,
+                        showColumn: false,
                         overHidden: true,
                     },
                     {
-                        label: "数量",
-                        prop: "quantity",
+                        label: "附加费率",
+                        prop: "surchargeRate",
                         width: "120",
+                        hide: true,
+                        showColumn: false,
                         overHidden: true,
                     },
-
                     {
                         label: "CNY(净额)",
                         prop: "rmbAmountNet",
@@ -795,6 +811,12 @@ export default {
                         overHidden: true,
                     },
                     {
+                        label: "汇率",
+                        prop: "exrate",
+                        width: "100",
+                        overHidden: true,
+                    },
+                    {
                         label: "核算要素",
                         prop: "elementsCnName",
                         width: "120",
@@ -1027,19 +1049,7 @@ export default {
                         width: "120",
                         overHidden: true,
                     },
-                    {
-                        label: "币种",
-                        prop: "curCode",
-                        width: "120",
-                        overHidden: true,
-                    },
-                    {
-                        label: "汇率",
-                        prop: "exrate",
-                        width: "100",
-                        overHidden: true,
-                    },
-                    {
+                                        {
                         label: "单价",
                         prop: "price",
                         width: "120",
@@ -1052,6 +1062,12 @@ export default {
                         overHidden: true,
                     },
                     {
+                        label: "币种",
+                        prop: "curCode",
+                        width: "120",
+                        overHidden: true,
+                    },
+                    {
                         label: "增值税率",
                         prop: "taxRate",
                         width: "120",
@@ -1092,6 +1108,12 @@ export default {
                         overHidden: true,
                     },
                     {
+                        label: "汇率",
+                        prop: "exrate",
+                        width: "100",
+                        overHidden: true,
+                    },
+                    {
                         label: "核算要素",
                         prop: "elementsCnName",
                         width: "120",
@@ -1208,19 +1230,7 @@ export default {
                         width: "120",
                         overHidden: true,
                     },
-                    {
-                        label: "币种",
-                        prop: "curCode",
-                        width: "120",
-                        overHidden: true,
-                    },
-                    {
-                        label: "汇率",
-                        prop: "exrate",
-                        width: "100",
-                        overHidden: true,
-                    },
-                    {
+                                       {
                         label: "单价",
                         prop: "price",
                         width: "120",
@@ -1233,6 +1243,12 @@ export default {
                         overHidden: true,
                     },
                     {
+                        label: "币种",
+                        prop: "curCode",
+                        width: "120",
+                        overHidden: true,
+                    },
+                    {
                         label: "增值税率",
                         prop: "taxRate",
                         width: "120",
@@ -1273,6 +1289,12 @@ export default {
                         overHidden: true,
                     },
                     {
+                        label: "汇率",
+                        prop: "exrate",
+                        width: "100",
+                        overHidden: true,
+                    },
+                    {
                         label: "核算要素",
                         prop: "elementsCnName",
                         width: "120",

+ 59 - 58
src/views/iosBasicData/finstlbills/assembly/finstlbillsitems.vue

@@ -93,34 +93,6 @@ export default {
                 align: 'center',
                 column: [
                     {
-                        label: "收付",
-                        prop: "dc",
-                        width: 60,
-                        type: 'select',
-                        dicData: [{
-                            label: '收',
-                            value: 'D'
-                        }, {
-                            label: '付',
-                            value: 'C'
-                        }],
-                        overHidden: true,
-                    },
-                    {
-                        label: "开票状态",
-                        prop: "isInvoice",
-                        width: 80,
-                        type: 'select',
-                        dicData: [{
-                            label: '开票',
-                            value: 0
-                        }, {
-                            label: '禁止开票',
-                            value: 3
-                        }],
-                        overHidden: true,
-                    },
-                    {
                         label: "原业务编号",
                         prop: "billNo",
                         width: 120,
@@ -133,12 +105,6 @@ export default {
                         overHidden: true
                     },
                     {
-                        label: "费用名称",
-                        prop: "feeCnName",
-                        width: 80,
-                        overHidden: true
-                    },
-                    {
                         label: "结算单位",
                         prop: "corpCnName",
                         width: 120,
@@ -151,18 +117,6 @@ export default {
                         overHidden: true
                     },
                     {
-                        label: "业务员",
-                        prop: "srcCnName",
-                        width: 80,
-                        overHidden: true
-                    },
-                    {
-                        label: "操作人",
-                        prop: "operatorName",
-                        width: 80,
-                        overHidden: true
-                    },
-                    {
                         label: "本次对账CNY",
                         prop: "currentStlAmountRMB",
                         width: 100,
@@ -187,18 +141,6 @@ export default {
                         overHidden: true
                     },
                     {
-                        label: "已结算CNY",
-                        prop: "stlAmountDr",
-                        width: 90,
-                        overHidden: true
-                    },
-                    {
-                        label: "已结算USD",
-                        prop: "stlAmountDrUSD",
-                        width: 90,
-                        overHidden: true
-                    },
-                    {
                         label: "对账",
                         prop: "isChecked",
                         width: 60,
@@ -227,6 +169,22 @@ export default {
                         }],
                     },
                     {
+                        label: "发票状态",
+                        prop: "isInvoice",
+                        width: 80,
+                        type: 'select',
+                        dicData: [{
+                            label: '待开发票',
+                            value: 1
+                        }, {
+                            label: '确认开票',
+                            value: 2
+                        }, {
+                            label: '不开发票',
+                            value: 3
+                        }],
+                        overHidden: true,
+                    }, {
                         label: "ETD",
                         prop: "etd",
                         width: 100,
@@ -251,6 +209,11 @@ export default {
                         overHidden: true
                     },
                     {
+                        label: "操作人",
+                        prop: "operatorName",
+                        width: 80,
+                        overHidden: true
+                    }, {
                         label: "BOOKINGNO",
                         prop: "bookingNo",
                         width: 100,
@@ -293,6 +256,20 @@ export default {
                         overHidden: true
                     },
                     {
+                        label: "收付",
+                        prop: "dc",
+                        width: 60,
+                        type: 'select',
+                        dicData: [{
+                            label: '收',
+                            value: 'D'
+                        }, {
+                            label: '付',
+                            value: 'C'
+                        }],
+                        overHidden: true,
+                    },
+                    {
                         label: "应对账CNY",
                         prop: "unsettledAmountRMB",
                         width: 100,
@@ -317,6 +294,30 @@ export default {
                         overHidden: true
                     },
                     {
+                        label: "已结算CNY",
+                        prop: "stlAmountDr",
+                        width: 90,
+                        overHidden: true
+                    },
+                    {
+                        label: "已结算USD",
+                        prop: "stlAmountDrUSD",
+                        width: 90,
+                        overHidden: true
+                    },
+                    // {
+                    //     label: "费用名称",
+                    //     prop: "feeCnName",
+                    //     width: 80,
+                    //     overHidden: true
+                    // },
+                    {
+                        label: "业务员",
+                        prop: "srcCnName",
+                        width: 80,
+                        overHidden: true
+                    },
+                    {
                         label: "备注",
                         prop: "remarkss",
                         width: 120,

+ 70 - 23
src/views/iosBasicData/finstlbills/finstlbillsDetails.vue

@@ -403,10 +403,16 @@
                                 :loading="saveLoading" @click="editHandle">一键编辑
                             </el-button>
                             <el-button size="small" type="primary" style="margin-right: 8px" :disabled="editSave"
-                                :loading="saveLoading" @click="Confirminvoicefun">禁止开
+                                :loading="saveLoading" @click="Confirminvoicefun('2')">不开发
                             </el-button>
                             <el-button size="small" type="warning" style="margin-right: 8px" :disabled="editSave"
-                                :loading="saveLoading" @click="Notinvoicingfun">取消禁止开票
+                                :loading="saveLoading" @click="Notinvoicingfun('2')">取消不开发票
+                            </el-button>
+                            <el-button size="small" type="primary" style="margin-right: 8px" :disabled="editSave"
+                                :loading="saveLoading" @click="Confirminvoicefun('1')">确认开票
+                            </el-button>
+                            <el-button size="small" type="warning" style="margin-right: 8px" :disabled="editSave"
+                                :loading="saveLoading" @click="Notinvoicingfun('1')">撤销开票
                             </el-button>
                         </div>
                     </template>
@@ -854,15 +860,15 @@ export default {
                 this.tableData = this.form.finStlBillsItemsList.map(item => {
                     if (item.curCode == 'CNY') {
                         this.$set(item, 'amountRMB', item.amount)
-                        this.$set(item, 'currentInvoiceAmountRMB', Number(item.currentInvoiceAmount?item.currentInvoiceAmount:0))
-                        this.$set(item, 'unsettledAmountRMB', Number(item.unsettledAmount?item.unsettledAmount:0))
-                        this.$set(item, 'currentStlAmountRMB', Number(item.currentStlAmount?item.currentStlAmount:0))
+                        this.$set(item, 'currentInvoiceAmountRMB', Number(item.currentInvoiceAmount ? item.currentInvoiceAmount : 0))
+                        this.$set(item, 'unsettledAmountRMB', Number(item.unsettledAmount ? item.unsettledAmount : 0))
+                        this.$set(item, 'currentStlAmountRMB', Number(item.currentStlAmount ? item.currentStlAmount : 0))
                         this.$set(item, 'currentStlAmountUSD', Number(0))
                     } else {
                         this.$set(item, 'amountUSD', item.amount)
                         this.$set(item, 'currentInvoiceAmountUSD', item.currentInvoiceAmount)
-                        this.$set(item, 'unsettledAmountUSD', Number(item.unsettledAmount?item.unsettledAmount:0))
-                        this.$set(item, 'currentStlAmountUSD', Number(item.currentStlAmount?item.currentStlAmount:0))
+                        this.$set(item, 'unsettledAmountUSD', Number(item.unsettledAmount ? item.unsettledAmount : 0))
+                        this.$set(item, 'currentStlAmountUSD', Number(item.currentStlAmount ? item.currentStlAmount : 0))
                         this.$set(item, 'currentStlAmountRMB', Number(0))
                     }
                     this.$set(item, 'costDate', [])
@@ -1004,15 +1010,15 @@ export default {
                     item.dc = item.accountDc // 收付
                     if (item.curCode == 'CNY') {
                         this.$set(item, 'amountRMB', item.amount)
-                        this.$set(item, 'currentInvoiceAmountRMB',Number(item.currentInvoiceAmount?item.currentInvoiceAmount:0) )
-                        this.$set(item, 'unsettledAmountRMB', Number(item.unsettledAmount?item.unsettledAmount:0))
-                        this.$set(item, 'currentStlAmountRMB', Number(item.reconciliationCurrentAmount?item.reconciliationCurrentAmount:0))
+                        this.$set(item, 'currentInvoiceAmountRMB', Number(item.currentInvoiceAmount ? item.currentInvoiceAmount : 0))
+                        this.$set(item, 'unsettledAmountRMB', Number(item.unsettledAmount ? item.unsettledAmount : 0))
+                        this.$set(item, 'currentStlAmountRMB', Number(item.reconciliationCurrentAmount ? item.reconciliationCurrentAmount : 0))
                         this.$set(item, 'currentStlAmountUSD', Number(0))
                     } else {
                         this.$set(item, 'amountUSD', item.amount)
-                        this.$set(item, 'currentInvoiceAmountUSD', Number(item.currentInvoiceAmount?item.currentInvoiceAmount:0))
-                        this.$set(item, 'unsettledAmountUSD', Number(item.unsettledAmount?item.unsettledAmount:0))
-                        this.$set(item, 'currentStlAmountUSD', Number(item.reconciliationCurrentAmount?item.reconciliationCurrentAmount:0))
+                        this.$set(item, 'currentInvoiceAmountUSD', Number(item.currentInvoiceAmount ? item.currentInvoiceAmount : 0))
+                        this.$set(item, 'unsettledAmountUSD', Number(item.unsettledAmount ? item.unsettledAmount : 0))
+                        this.$set(item, 'currentStlAmountUSD', Number(item.reconciliationCurrentAmount ? item.reconciliationCurrentAmount : 0))
                         this.$set(item, 'currentStlAmountRMB', Number(0))
                     }
                     return item
@@ -1023,14 +1029,20 @@ export default {
             })
         },
         // 确认发票
-        Confirminvoicefun() {
+        Confirminvoicefun(type) {
             if (this.handleSelectionData.length === 0) {
                 this.$message.warning("请选择至少一条数据");
                 return;
             }
             for (let item of this.handleSelectionData) {
                 if (item.isInvoice == 3) {
-                    this.$message.error('已禁止开票,请重新选择');
+                    this.$message.error('已不开发票,请重新选择');
+                    return;
+                }
+            }
+            for (let item of this.handleSelectionData) {
+                if (item.isInvoice == 2) {
+                    this.$message.error('已确认开票,请重新选择');
                     return;
                 }
             }
@@ -1039,19 +1051,37 @@ export default {
                 cancelButtonText: "取消",
                 type: "warning"
             }).then(() => {
-                this.finstlbillsConfirmInvoicingfun()
+                this.finstlbillsConfirmInvoicingfun(type)
             })
         },
         // 不开发票
-        Notinvoicingfun() {
+        Notinvoicingfun(type) {
             if (this.handleSelectionData.length === 0) {
                 this.$message.warning("请选择至少一条数据");
                 return;
             }
-            for (let item of this.handleSelectionData) {
-                if (item.isInvoice == 0) {
-                    this.$message.error('已开票,请重新选择');
-                    return;
+            if (type == 1) {
+                for (let item of this.handleSelectionData) {
+                    if (item.isInvoice == 1) {
+                        this.$message.error('未确认开票,请重新选择');
+                        return;
+                    }
+                    if (item.isInvoice == 3) {
+                        this.$message.error('已不开发票,请重新选择');
+                        return;
+                    }
+                }
+            }
+            if (type == 2) {
+                for (let item of this.handleSelectionData) {
+                    if (item.isInvoice == 1) {
+                        this.$message.error('未不开发票,请重新选择');
+                        return;
+                    }
+                    if (item.isInvoice == 2) {
+                        this.$message.error('已确认开票,请重新选择');
+                        return;
+                    }
                 }
             }
             this.$confirm("确定将选择数据撤销签收?", {
@@ -1063,7 +1093,7 @@ export default {
             })
         },
         // 确认发票接口
-        finstlbillsConfirmInvoicingfun() {
+        finstlbillsConfirmInvoicingfun(type) {
             this.form.billNoFormat = 'HYDZ'
             this.form.businessTypeCode = 'HYDZ'
             this.form.businessType = 'CHK' //对账单
@@ -1078,8 +1108,12 @@ export default {
             this.form.billDate = this.form.billDate ? this.form.billDate.slice(0, 10) + ' 00:00:00' : null
             // 保留id
             this.form.finStlBillsItemsList = this.handleSelectionData
+            let obj = {
+                ...this.form,
+                type: type
+            }
             this.pageLoading = true
-            finstlbillsConfirmInvoicing(this.form).then(res => {
+            finstlbillsConfirmInvoicing(obj).then(res => {
                 this.$message.success('操作成功');
                 this.finstlbillsDetailfun(res.data.data.id)
             }).finally(() => {
@@ -1210,6 +1244,18 @@ export default {
             if (this.handleSelectionData.length == 0) {
                 return this.$message.warning('请选择要删除的数据')
             }
+            for (let item of this.handleSelectionData) {
+                if (item.isInvoice == 3) {
+                    this.$message.error('已不开发票,请重新选择');
+                    return;
+                }
+            }
+            for (let item of this.handleSelectionData) {
+                if (item.isInvoice == 2) {
+                    this.$message.error('已确认开票,请重新选择');
+                    return;
+                }
+            }
             this.$confirm("确定将选择数据删除?", {
                 confirmButtonText: "确定",
                 cancelButtonText: "取消",
@@ -1230,6 +1276,7 @@ export default {
                 if (itemsWithId.length != 0) {
                     finstlbillsitemsRemove(arrIds.join(',')).then(res => {
                         this.$message.success('操作成功')
+                        this.finstlbillsDetailfun(this.form.id)
                     })
                 }
             })

+ 10 - 10
src/views/iosBasicData/report-container/report-container-los.vue

@@ -11,9 +11,9 @@
     class="el-dialogDeep"
     :fullscreen="true"
   >
-    <div id="reportContainer" style="width: 100%; height: 78vh; padding: 0"></div>
+    <div id="reportContainer" style="width: 100%; height: 98vh; padding: 0"></div>
       <div class="slotDiv" v-if="butShow">
-          <div style="width: 80%;padding: 15px;box-sizing: border-box;box-shadow:1px 2px 8px rgba(0,0,0,.5)">
+          <div style="background-color: #fff;width: 23vw;padding: 15px;box-sizing: border-box;box-shadow:1px 2px 8px rgba(0,0,0,.5);position: absolute;right: 10px;bottom: 10px;z-index: 999;">
               <slot></slot>
           </div>
       </div>
@@ -77,14 +77,14 @@ export default {
 .slotDiv {
     width: 100%;
     margin: 10px 0;
-    height: 20vh;
-    position: absolute;
-    bottom: 0;
-    left: 50%;
-    transform: translateX(-50%);
-    display: flex;
-    align-items: center;
-    justify-content: center;
+    // height: 20vh;
+    // position: absolute;
+    // bottom: 0;
+    // right: 0;
+    // transform: translateX(-50%);
+    // display: flex;
+    // align-items: center;
+    // justify-content: center;
     z-index: 999;
 }
 </style>