Browse Source

1.海运出口 单证中心 报表发送邮件打不开
2.海运进口 给所有报表新加发送邮件功能
3.OW业务 租金行编辑新加起止判断
4.OW业务 费用明细 费用名称去掉禁用规则 行编辑用字段控制
5.所有业务 箱号验证 正确验证不需要提示
6.海运出口 修改布局

Qukatie 7 months ago
parent
commit
7b9ca8342c

+ 15 - 5
src/views/iosBasicData/OceanFreightImport/bills/assembly/DocumentCenter.vue

@@ -59,7 +59,7 @@
 
         <!--费用打印-->
         <reportContainer ref="reportContainer"></reportContainer>
-
+        <mail-component ref="mailComponentRef" />
         <!--打印预览弹窗-->
         <el-dialog append-to-body title="预览报表" class="el-dialogDeep" :visible.sync="previewDialog" width="60%"
             :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false" v-dialog-drag
@@ -94,8 +94,9 @@ import BillofLadingDetails
     from "@/views/iosBasicData/OceanFreightImport/bills/assembly/reportformsFrame/BillofLadingDetails.vue";
 import { dateFormat } from "@/util/date";
 import { isProcurement } from "@/api/basicData/configuration";
+import mailComponent from "@/components/iosbasic-data/mail-component.vue";
 export default {
-    components: { BillofLadingDetails, reportContainer, reportformsList, bbusinesstype, DispatchNotice, PurchaseNotice },
+    components: { BillofLadingDetails, reportContainer, reportformsList, bbusinesstype, DispatchNotice, PurchaseNotice, mailComponent },
     data() {
         return {
             textareaNumber: 5,
@@ -417,7 +418,7 @@ export default {
                 type: 'HYJK'
             }).then(res => {
                 this.editData.groupCode = this.businesstypeData.groupCode
-                res.data.data.data.hlclBoxenvoy=res.data.data.data.polFreeBoxUseDays
+                res.data.data.data.hlclBoxenvoy = res.data.data.data.polFreeBoxUseDays
                 this.documentForm = res.data.data.data
                 // 联系人
                 this.documentForm.corpAttnName = this.documentForm.corpAttnName + '' + this.documentForm.corpAttnTel
@@ -628,6 +629,13 @@ export default {
                 this.loading = false;
             })
         },
+        testMail(e) {
+            console.info('eeeeeeeeeeeeeeeeeeee----', e)
+            this.$refs.mailComponentRef.dialogVisible = true
+            this.$refs.mailComponentRef.formData.attachments = e.fileName
+            this.$refs.mailComponentRef.formData.fileType = e.formatName
+            this.$refs.mailComponentRef.formData.fileContent = e.data
+        },
         // 预览报表
         handleReportPreview(url, data) {
             console.log(url, 1670)
@@ -657,7 +665,9 @@ export default {
             options.toolbar.showParametersButton = true // 显示参数按钮
             options.appearance.bookmarksPrint = true // 书签打印
             // options.toolbar.showPrintButton = false // 打印按钮是否显示   下面直接自定义控制打印弹窗是否开启
-
+            options.toolbar.showSendEmailButton = true // 显示发送邮件按钮
+            options.email.showEmailDialog = false
+            options.email.showExportDialog = false
             // printDestination 参数:用于指定报表打印的目标位置,可以是打印机、PDF 文件或者直接打印到浏览器等。
             // Stimulsoft.Viewer.StiPrintDestination.Direct:表示直接打印到打印机,即将报表内容直接发送至打印机进行打印。
             // 通过设置不同的 printDestination 参数,你可以控制报表打印的行为,例如是直接打印到打印机,还是生成 PDF 文件,或者直接在浏览器中预览打印内容等。
@@ -666,7 +676,7 @@ export default {
             options.appearance.htmlRenderMode = Stimulsoft.Report.Export.StiHtmlExportMode.Table
             // 是创建一个 Stimulsoft 报表查看器的实例的代码
             let viewer = new Stimulsoft.Viewer.StiViewer(options, 'StiViewer', false)
-
+            viewer.onEmailReport = this.testMail
             // 报表
             console.log("创建一个报表实例");
             console.log()

+ 15 - 4
src/views/iosBasicData/OceanFreightImport/bills/assembly/businessReports.vue

@@ -12,6 +12,7 @@
       </template>
     </avue-crud>
     <reportContainer ref="reportContainer"></reportContainer>
+    <mail-component ref="mailComponentRef" />
   </div>
 </template>
 
@@ -22,10 +23,11 @@ import { mapGetters } from "vuex";
 import { billsDetail } from '@/api/iosBasicData/bills'
 import { bbusinesstypeList } from "@/api/iosBasicData/bbusinesstype";
 import reportContainer from "@/views/iosBasicData/report-container/report-container.vue"
-
+import mailComponent from "@/components/iosbasic-data/mail-component.vue";
 export default {
   components: {
-    reportContainer
+    reportContainer,
+    mailComponent
   },
   props: {
     id: {
@@ -524,6 +526,13 @@ export default {
         this.handleReportPreview(url, res.data.data.data)
       })
     },
+    testMail(e) {
+      console.info('eeeeeeeeeeeeeeeeeeee----', e)
+      this.$refs.mailComponentRef.dialogVisible = true
+      this.$refs.mailComponentRef.formData.attachments = e.fileName
+      this.$refs.mailComponentRef.formData.fileType = e.formatName
+      this.$refs.mailComponentRef.formData.fileContent = e.data
+    },
     // 预览报表
     handleReportPreview(url, row) {
       Stimulsoft.Base.StiLicense.key = '6vJhGtLLLz2GNviWmUTrhSqnOItdDwjBylQzQcAOiHn0s4gy0Fr5YoUZ9V00Y0igCSFQzwEqYBh/N77k4f0fWXTHW5rqeBNLkaurJDenJ9o97TyqHs9HfvINK18Uwzsc/bG01Rq+x3H3Rf+g7AY92gvWmp7VA2Uxa30Q97f61siWz2dE5kdBVcCnSFzC6awE74JzDcJMj8OuxplqB1CYcpoPcOjKy1PiATlC3UsBaLEXsok1xxtRMQ283r282tkh8XQitsxtTczAJBxijuJNfziYhci2jResWXK51ygOOEbVAxmpflujkJ8oEVHkOA/CjX6bGx05pNZ6oSIu9H8deF94MyqIwcdeirCe60GbIQByQtLimfxbIZnO35X3fs/94av0ODfELqrQEpLrpU6FNeHttvlMc5UVrT4K+8lPbqR8Hq0PFWmFrbVIYSi7tAVFMMe2D1C59NWyLu3AkrD3No7YhLVh7LV0Tttr/8FrcZ8xirBPcMZCIGrRIesrHxOsZH2V8t/t0GXCnLLAWX+TNvdNXkB8cF2y9ZXf1enI064yE5dwMs2fQ0yOUG/xornE'
@@ -546,7 +555,9 @@ export default {
       options.toolbar.showParametersButton = true // 显示参数按钮
       options.appearance.bookmarksPrint = true // 书签打印
       // options.toolbar.showPrintButton = false // 打印按钮是否显示   下面直接自定义控制打印弹窗是否开启
-
+      options.toolbar.showSendEmailButton = true // 显示发送邮件按钮
+      options.email.showEmailDialog = false
+      options.email.showExportDialog = false
       // printDestination 参数:用于指定报表打印的目标位置,可以是打印机、PDF 文件或者直接打印到浏览器等。
       // Stimulsoft.Viewer.StiPrintDestination.Direct:表示直接打印到打印机,即将报表内容直接发送至打印机进行打印。
       // 通过设置不同的 printDestination 参数,你可以控制报表打印的行为,例如是直接打印到打印机,还是生成 PDF 文件,或者直接在浏览器中预览打印内容等。
@@ -555,7 +566,7 @@ export default {
       options.appearance.htmlRenderMode = Stimulsoft.Report.Export.StiHtmlExportMode.Table
       // 是创建一个 Stimulsoft 报表查看器的实例的代码
       let viewer = new Stimulsoft.Viewer.StiViewer(options, 'StiViewer', false)
-
+      viewer.onEmailReport = this.testMail
       // 报表
       console.log("创建一个报表实例");
       console.log()

+ 15 - 3
src/views/iosBasicData/OceanFreightImport/bills/assembly/feecenter.vue

@@ -608,6 +608,7 @@
 
         <!--费用打印-->
         <reportContainer ref="reportContainer"></reportContainer>
+        <mail-component ref="mailComponentRef" />
         <extraction-cost ref="extractionCost" @getData="getData" />
     </div>
 </template>
@@ -682,6 +683,7 @@ import {
 import extractionCost from "@/components/extractionCost/main.vue";
 import { getListTemplate, getListTemplatelist } from "@/api/iosBasicData/losbfeestemplate";
 import dicSelect from "@/components/dicSelect/main";
+import mailComponent from "@/components/iosbasic-data/mail-component.vue";
 import _ from "lodash";
 export default {
     components: {
@@ -689,7 +691,8 @@ export default {
         dicSelect,
         reportContainer,
         SearchQuery,
-        reportformsList
+        reportformsList,
+        mailComponent
     },
     props: {
         pid: {
@@ -3200,6 +3203,13 @@ export default {
         getData() {
             this.$emit('billsDetailfun')
         },
+        testMail(e) {
+            console.info('eeeeeeeeeeeeeeeeeeee----', e)
+            this.$refs.mailComponentRef.dialogVisible = true
+            this.$refs.mailComponentRef.formData.attachments = e.fileName
+            this.$refs.mailComponentRef.formData.fileType = e.formatName
+            this.$refs.mailComponentRef.formData.fileContent = e.data
+        },
         // 预览报表
         handleReportPreview(url, data) {
             console.log(url, 1670)
@@ -3226,7 +3236,9 @@ export default {
             options.toolbar.showParametersButton = true // 显示参数按钮
             options.appearance.bookmarksPrint = true // 书签打印
             // options.toolbar.showPrintButton = false // 打印按钮是否显示   下面直接自定义控制打印弹窗是否开启
-
+            options.toolbar.showSendEmailButton = true // 显示发送邮件按钮
+            options.email.showEmailDialog = false
+            options.email.showExportDialog = false
             // printDestination 参数:用于指定报表打印的目标位置,可以是打印机、PDF 文件或者直接打印到浏览器等。
             // Stimulsoft.Viewer.StiPrintDestination.Direct:表示直接打印到打印机,即将报表内容直接发送至打印机进行打印。
             // 通过设置不同的 printDestination 参数,你可以控制报表打印的行为,例如是直接打印到打印机,还是生成 PDF 文件,或者直接在浏览器中预览打印内容等。
@@ -3235,7 +3247,7 @@ export default {
             options.appearance.htmlRenderMode = Stimulsoft.Report.Export.StiHtmlExportMode.Table
             // 是创建一个 Stimulsoft 报表查看器的实例的代码
             let viewer = new Stimulsoft.Viewer.StiViewer(options, 'StiViewer', false)
-
+            viewer.onEmailReport = this.testMail
             // 报表
             console.log("创建一个报表实例");
             console.log()

+ 36 - 24
src/views/iosBasicData/OceanFreightImport/bills/assembly/reports.vue

@@ -20,22 +20,22 @@
       <template slot="authorizedUsersIdForm">
         <dic-select v-model="form.authorizedUsersId" placeholder="授权用户" key="id" keyValue="id" label="realName"
           url="/blade-user/userListAll" :filterable="true" :multiple="true" dataName="realName" dataType="string"
-          @selectChange="dicChange('authorizedUsersId', $event,form)"></dic-select>
+          @selectChange="dicChange('authorizedUsersId', $event, form)"></dic-select>
       </template>
       <template slot="authorizedRoleIdForm">
         <dic-select v-model="form.authorizedRoleId" placeholder="授权角色" key="id" keyValue="id" label="roleName"
           url="/blade-system/role/list" :filterable="true" :multiple="true" dataName="roleName" dataType="string"
-          @selectChange="dicChange('authorizedRoleId', $event,form)"></dic-select>
+          @selectChange="dicChange('authorizedRoleId', $event, form)"></dic-select>
       </template>
       <template slot="authorizedTeamIdForm">
         <dic-select v-model="form.authorizedTeamId" placeholder="授权团队" key="id" keyValue="id" label="postName"
           url="/blade-system/post/listAll" :filterable="true" :multiple="true" dataName="postName" dataType="string"
-          @selectChange="dicChange('authorizedTeamId', $event,form)"></dic-select>
+          @selectChange="dicChange('authorizedTeamId', $event, form)"></dic-select>
       </template>
       <template slot="excludeUsersIdForm">
         <dic-select v-model="form.excludeUsersId" placeholder="排除用户" key="id" keyValue="id" label="realName"
           url="/blade-user/userListAll" :filterable="true" :multiple="true" dataName="realName" dataType="string"
-          @selectChange="dicChange('excludeUsersId', $event,form)"></dic-select>
+          @selectChange="dicChange('excludeUsersId', $event, form)"></dic-select>
       </template>
       <template slot-scope="scope" slot="menu">
         <el-link type="primary" style="font-size: 12px" icon="el-icon-view" :underline="false"
@@ -49,6 +49,7 @@
       </template>
     </avue-crud>
     <reportContainer ref="reportContainer"></reportContainer>
+    <mail-component ref="mailComponentRef" />
   </basic-container>
 </template>
 
@@ -61,10 +62,12 @@ import { bbusinesstypeList } from "@/api/iosBasicData/bbusinesstype";
 import reportContainer from "@/views/iosBasicData/report-container/report-container.vue"
 import { isProcurement } from "@/api/basicData/configuration";
 import dicSelect from "@/components/dicSelect/main";
+import mailComponent from "@/components/iosbasic-data/mail-component.vue";
 export default {
   components: {
     reportContainer,
-    dicSelect
+    dicSelect,
+    mailComponent
   },
   props: {
     assemblyForm: {
@@ -94,7 +97,7 @@ export default {
       isPrintTheBoxNumber: false,
       bbDisabled: false,
       form: {
-        authorizedUsers:null,
+        authorizedUsers: null,
       },
       formReport: {},
       query: {},
@@ -189,56 +192,56 @@ export default {
             label: "授权用户",
             prop: "authorizedUsersId",
             hide: true,
-            showColumn:false,
+            showColumn: false,
             formslot: true,
             overHidden: true,
           },
           {
             label: "授权用户",
             prop: "authorizedUsers",
-            display:false,
+            display: false,
             overHidden: true,
           },
           {
             label: "授权角色",
             prop: "authorizedRoleId",
             hide: true,
-            showColumn:false,
+            showColumn: false,
             formslot: true,
             overHidden: true,
           },
           {
             label: "授权角色",
             prop: "authorizedRole",
-            display:false,
+            display: false,
             overHidden: true,
           },
           {
             label: "授权团队",
             prop: "authorizedTeamId",
             hide: true,
-            showColumn:false,
+            showColumn: false,
             formslot: true,
             overHidden: true,
           },
           {
             label: "授权团队",
             prop: "authorizedTeam",
-            display:false,
+            display: false,
             overHidden: true,
           },
           {
             label: "排除用户",
             prop: "excludeUsersId",
             hide: true,
-            showColumn:false,
+            showColumn: false,
             formslot: true,
             overHidden: true,
           },
           {
             label: "排除用户",
             prop: "excludeUsers",
-            display:false,
+            display: false,
             overHidden: true,
           },
           {
@@ -314,33 +317,33 @@ export default {
   methods: {
     dicChange(name, row) {
       if (name == 'authorizedUsersId') {
-        if(row){
+        if (row) {
           this.form.authorizedUsers = row
-        }else{
+        } else {
           this.form.authorizedUsersId = null
           this.form.authorizedUsers = null
         }
       }
       if (name == 'authorizedRoleId') {
-        if(row){
+        if (row) {
           this.form.authorizedRole = row
-        }else{
+        } else {
           this.form.authorizedRoleId = null
           this.form.authorizedRole = null
         }
       }
       if (name == 'authorizedTeamId') {
-        if(row){
+        if (row) {
           this.form.authorizedTeam = row
-        }else{
+        } else {
           this.form.authorizedTeamId = null
           this.form.authorizedTeam = null
         }
       }
       if (name == 'excludeUsersId') {
-        if(row){
+        if (row) {
           this.form.excludeUsers = row
-        }else{
+        } else {
           this.form.excludeUsersId = null
           this.form.excludeUsers = null
         }
@@ -682,6 +685,13 @@ export default {
         () => { },
       )
     },
+    testMail(e) {
+      console.info('eeeeeeeeeeeeeeeeeeee----', e)
+      this.$refs.mailComponentRef.dialogVisible = true
+      this.$refs.mailComponentRef.formData.attachments = e.fileName
+      this.$refs.mailComponentRef.formData.fileType = e.formatName
+      this.$refs.mailComponentRef.formData.fileContent = e.data
+    },
     // 预览报表
     handleReportPreview(url, row) {
       console.log(row, 698)
@@ -705,7 +715,9 @@ export default {
       options.toolbar.showParametersButton = true // 显示参数按钮
       options.appearance.bookmarksPrint = true // 书签打印
       // options.toolbar.showPrintButton = false // 打印按钮是否显示   下面直接自定义控制打印弹窗是否开启
-
+      options.toolbar.showSendEmailButton = true // 显示发送邮件按钮
+      options.email.showEmailDialog = false
+      options.email.showExportDialog = false
       // printDestination 参数:用于指定报表打印的目标位置,可以是打印机、PDF 文件或者直接打印到浏览器等。
       // Stimulsoft.Viewer.StiPrintDestination.Direct:表示直接打印到打印机,即将报表内容直接发送至打印机进行打印。
       // 通过设置不同的 printDestination 参数,你可以控制报表打印的行为,例如是直接打印到打印机,还是生成 PDF 文件,或者直接在浏览器中预览打印内容等。
@@ -714,7 +726,7 @@ export default {
       options.appearance.htmlRenderMode = Stimulsoft.Report.Export.StiHtmlExportMode.Table
       // 是创建一个 Stimulsoft 报表查看器的实例的代码
       let viewer = new Stimulsoft.Viewer.StiViewer(options, 'StiViewer', false)
-
+      viewer.onEmailReport = this.testMail
 
       // 报表
       console.log("创建一个报表实例");

+ 8 - 8
src/views/iosBasicData/SeafreightExportF/bills/assembly/DocumentCenter.vue

@@ -62,7 +62,7 @@
 
         <!--费用打印-->
         <reportContainer ref="reportContainer"></reportContainer>
-
+        <mail-component ref="mailComponentRef" />
 
         <!--打印预览弹窗-->
         <el-dialog append-to-body title="预览报表" class="el-dialogDeep" :visible.sync="previewDialog" width="60%"
@@ -323,13 +323,6 @@ export default {
         // this.reportsListfun()
     },
     methods: {
-        testMail(e) {
-            console.info('eeeeeeeeeeeeeeeeeeee----', e)
-            this.$refs.mailComponentRef.dialogVisible = true
-            this.$refs.mailComponentRef.formData.attachments = e.fileName
-            this.$refs.mailComponentRef.formData.fileType = e.formatName
-            this.$refs.mailComponentRef.formData.fileContent = e.data
-        },
         // 打印预览按钮
         async dialogPreviewfun(row) {
             this.editData = row
@@ -673,6 +666,13 @@ export default {
                 this.loading = false;
             })
         },
+        testMail(e) {
+            console.info('eeeeeeeeeeeeeeeeeeee----', e)
+            this.$refs.mailComponentRef.dialogVisible = true
+            this.$refs.mailComponentRef.formData.attachments = e.fileName
+            this.$refs.mailComponentRef.formData.fileType = e.formatName
+            this.$refs.mailComponentRef.formData.fileContent = e.data
+        },
         // 预览报表
         handleReportPreview(url, data) {
             console.log(url, 1670)

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

@@ -548,7 +548,8 @@
                                         <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||(assemblyForm.masterBillNo&&assemblyForm.billType=='MH')"
+                                        size="small" autocomplete="off" min="1"
+                                        :disabled="detailData.seeDisabled || (assemblyForm.masterBillNo && assemblyForm.billType == 'MH')"
                                         @input="quantityInput" @focus="quantityFocus" clearable
                                         placeholder="请输入件数"></el-input>
                                 </el-form-item>
@@ -588,8 +589,9 @@
                                     </span>
                                     <el-input ref="grossWeightRef" step="0.01" style="width: 100%;"
                                         v-model="assemblyForm.grossWeight" size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled||(assemblyForm.masterBillNo&&assemblyForm.billType=='MH')" @input="floatingInput($event, 'grossWeight')"
-                                        @focus="quantityFocus" clearable placeholder="请输入毛重"></el-input>
+                                        :disabled="detailData.seeDisabled || (assemblyForm.masterBillNo && assemblyForm.billType == 'MH')"
+                                        @input="floatingInput($event, 'grossWeight')" @focus="quantityFocus" clearable
+                                        placeholder="请输入毛重"></el-input>
                                 </el-form-item>
                             </el-col>
                             <el-col :span="12">
@@ -600,8 +602,9 @@
                                     </span>
                                     <el-input ref="measurementRef" step="0.01" style="width: 106%;"
                                         v-model="assemblyForm.measurement" size="small" autocomplete="off"
-                                        :disabled="detailData.seeDisabled||(assemblyForm.masterBillNo&&assemblyForm.billType=='MH')" @input="floatingInput($event, 'measurement')"
-                                        @focus="quantityFocus" clearable placeholder="请输入尺码/体积"></el-input>
+                                        :disabled="detailData.seeDisabled || (assemblyForm.masterBillNo && assemblyForm.billType == 'MH')"
+                                        @input="floatingInput($event, 'measurement')" @focus="quantityFocus" clearable
+                                        placeholder="请输入尺码/体积"></el-input>
                                 </el-form-item>
                             </el-col>
                         </div>
@@ -903,11 +906,111 @@
                 </el-col>
             </el-row>
             <el-row>
-                <el-col :span="24">
+                <el-col :span="12">
                     <precontainers :assemblyForm="assemblyForm" :seeDisabled="detailData.seeDisabled"
                         :pid="assemblyForm.id" @billsDetailfun="billsDetailfun">
                     </precontainers>
                 </el-col>
+                <el-col :span="12">
+                    <el-row>
+                        <el-col :span="12">
+                            <el-form-item label="箱属" prop="boxBelongsTo">
+                                <span slot="label">
+                                    <span style="color: #1e9fff">箱属</span>
+                                </span>
+                                <div>
+                                    <dic-select v-model="assemblyForm.boxBelongsTo" placeholder="箱属" key="dictKey"
+                                        label="dictValue" url="/blade-system/dict-biz/dictionary?code=boxBelongsTo"
+                                        :filterable="true" :disabled="detailData.seeDisabled"></dic-select>
+                                </div>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="12">
+                            <el-form-item label="服务方式" prop="serviceTerms">
+                                <span slot="label">
+                                    <span style="color: #1e9fff">服务方式</span>
+                                </span>
+                                <search-query :datalist="serviceTermsData" :selectValue="assemblyForm.serviceTerms"
+                                    :clearable="true" :disabled="detailData.seeDisabled" :buttonIf="false"
+                                    :forParameter="{ key: 'id', label: 'code', value: 'code' }" placeholder="请选择服务方式"
+                                    @remoteMethod="remoteMethod($event, 'serviceTerms')"
+                                    @corpFocus="remoteMethod($event, 'serviceTerms')">
+                                </search-query>
+                            </el-form-item>
+                        </el-col>
+                    </el-row>
+                    <el-row>
+                        <el-col :span="12">
+                            <el-form-item label="截单时间" prop="cyTrailerTime">
+                                <span slot="label">
+                                    <span style="color: #1e9fff">截单时间</span>
+                                </span>
+                                <el-date-picker v-model="assemblyForm.cyTrailerTime" type="datetime"
+                                    style="width: 100%;" format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
+                                    size="small"
+                                    :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
+                                    placeholder="请选择截单时间">
+                                </el-date-picker>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="12">
+                            <el-form-item label="截港时间" prop="cyReturnTime">
+                                <span slot="label">
+                                    <span style="color: #1e9fff">截港时间</span>
+                                </span>
+                                <el-date-picker v-model="assemblyForm.cyReturnTime" type="datetime" style="width: 100%;"
+                                    format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" size="small"
+                                    :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
+                                    placeholder="请选择截港时间">
+                                </el-date-picker>
+                            </el-form-item>
+                        </el-col>
+                    </el-row>
+                    <el-row>
+                        <el-col :span="12">
+                            <el-form-item label="船代" prop="shippingAgencyCname">
+                                <span slot="label">
+                                    <span style="color: #1e9fff">船代</span>
+                                </span>
+                                <div>
+                                    <dic-select v-model="assemblyForm.shippingAgencyCname" placeholder="船代" key="id"
+                                        label="shortName" res="records"
+                                        url="/blade-los/bcorps/selectList?current=1&size=5&corpTypeName=船代"
+                                        :filterable="true" :remote="true" dataName="shortName"
+                                        @selectChange="dicChange('shippingAgencyCname', $event)" :slotRight="true"
+                                        rightLabel="code"
+                                        :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"></dic-select>
+                                </div>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="12">
+                            <el-form-item label="订舱代理" prop="bookingAgentCnName">
+                                <span slot="label">
+                                    <span style="color: #1e9fff">订舱代理</span>
+                                </span>
+                                <el-col :span="9">
+                                    <search-query :datalist="bookingAgentData"
+                                        :selectValue="assemblyForm.bookingAgentCnName" :filterable="true"
+                                        :clearable="true" :remote="true"
+                                        :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
+                                        :buttonIf="false" placeholder="请选择订舱代理"
+                                        :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
+                                        @remoteMethod="remoteMethod($event, 'bookingAgent')"
+                                        @corpChange="corpChange($event, 'bookingAgent')"
+                                        @corpFocus="remoteMethod($event, 'bookingAgent')">
+                                    </search-query>
+                                </el-col>
+                                <el-col :span="14" :offset="1">
+                                    <el-input type="age" style="width: 100%;" v-model="assemblyForm.bookingAgentEnName"
+                                        size="small" autocomplete="off"
+                                        :disabled="detailData.seeDisabled || !assemblyForm.bookingAgentCnName || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
+                                        clearable placeholder="订舱代理"></el-input>
+                                </el-col>
+                            </el-form-item>
+                        </el-col>
+                    </el-row>
+                </el-col>
+
             </el-row>
         </el-form>
 
@@ -1091,6 +1194,7 @@ import { blinesDetail } from "@/api/iosBasicData/blines";
 import { synchronizationExchangeRate } from "@/api/iosBasicData/rateManagement";
 import { isProcurement } from "@/api/basicData/configuration";
 import { getDeptLazyTree, getDeptTree, getLazyList } from "@/api/system/dept";
+import { getBservicetermsList } from "@/api/iosBasicData/bserviceterms";
 import _ from "lodash";
 import dicSelect from "@/components/dicSelect/main";
 import TreeSelect from "@/components/iosbasic-data/TreeSelect.vue";
@@ -1217,6 +1321,8 @@ export default {
             coloaderCnNameData: [],
             // 危险品包装等级
             dgPackingLevelData: [],
+            // 服务方式
+            serviceTermsData: [],
 
             marksIndex: 1
         }
@@ -1255,6 +1361,15 @@ export default {
         // this.getDicTree()
     },
     methods: {
+        // 获取服务方式数据
+        serviceTermsWorkDicts() {
+            // getWorkDicts('service_terms').then(res=>{
+            //     this.serviceTermsData = res.data.data
+            // })
+            getBservicetermsList(1, 20, { status: 0 }).then(res => {
+                this.serviceTermsData = res.data.data.records
+            })
+        },
         getDicTree() {
             let obj = {
                 eptId: this.saberUserInfo.dept_pid.split(',')[0]
@@ -1377,6 +1492,16 @@ export default {
             this.$emit('billsDetailfun')
         },
         dicChange(name, row) {
+            if (name == 'shippingAgencyCname') {
+                if (row) {
+                    this.assemblyForm.shippingAgencyId = row.id
+                    this.assemblyForm.shippingAgencyEname = row.enName
+                } else {
+                    this.assemblyForm.shippingAgencyId = null
+                    this.assemblyForm.shippingAgencyEname = null
+                    this.assemblyForm.shippingAgencyCname = null
+                }
+            }
             if (name == 'operatorName') {
                 if (row) {
                     this.assemblyForm.operatorName = row.realName
@@ -1436,7 +1561,7 @@ export default {
                 this.cyBcorpslistByType3()
             }
             //联系人
-               else if (name == 'portTerminalCyContacts') {
+            else if (name == 'portTerminalCyContacts') {
                 this.cyBcorpsattnListfun3()
             }
             // 货物
@@ -1463,6 +1588,12 @@ export default {
             else if (name == 'coloaderCnName') {
                 this.bcorpstypedefineListfun(value)
             }
+            else if (name == 'serviceTerms') {
+                this.serviceTermsWorkDicts()
+            }
+            else if (name == 'bookingAgent') {
+                this.bookingAgentBcorpsListfun(value)
+            }
         },
         // 选择框的回调
         corpChange(value, name) {

+ 7 - 105
src/views/iosBasicData/SeafreightExportF/bills/assembly/formbottom.vue

@@ -13,30 +13,8 @@
                         </search-query>
                     </el-form-item>
                 </el-col> -->
-                <el-col :span="6">
-                    <el-form-item label="截单时间" prop="cyTrailerTime">
-                        <span slot="label">
-                            <span style="color: #1e9fff">截单时间</span>
-                        </span>
-                        <el-date-picker v-model="assemblyForm.cyTrailerTime" type="datetime" style="width: 100%;"
-                            format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" size="small"
-                            :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
-                            placeholder="请选择截单时间">
-                        </el-date-picker>
-                    </el-form-item>
-                </el-col>
-                <el-col :span="6">
-                    <el-form-item label="截港时间" prop="cyReturnTime">
-                        <span slot="label">
-                            <span style="color: #1e9fff">截港时间</span>
-                        </span>
-                        <el-date-picker v-model="assemblyForm.cyReturnTime" type="datetime" style="width: 100%;"
-                            format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" size="small"
-                            :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
-                            placeholder="请选择截港时间">
-                        </el-date-picker>
-                    </el-form-item>
-                </el-col>
+                
+
                 <el-col :span="6">
                     <el-form-item label="应结日期" prop="dueDate">
                         <span slot="label">
@@ -60,20 +38,7 @@
                         </el-date-picker>
                     </el-form-item>
                 </el-col>
-                <el-col :span="6">
-                    <el-form-item label="服务方式" prop="serviceTerms">
-                        <span slot="label">
-                            <span style="color: #1e9fff">服务方式</span>
-                        </span>
-                        <search-query :datalist="serviceTermsData" :selectValue="assemblyForm.serviceTerms"
-                            :clearable="true" :disabled="detailData.seeDisabled" :buttonIf="false"
-                            :forParameter="{ key: 'id', label: 'code', value: 'code' }" placeholder="请选择服务方式"
-                            @remoteMethod="remoteMethod($event, 'serviceTerms')"
-                            @corpChange="corpChange($event, 'serviceTerms')"
-                            @corpFocus="remoteMethod($event, 'serviceTerms')">
-                        </search-query>
-                    </el-form-item>
-                </el-col>
+
                 <!-- <el-col :span="6">
                     <el-form-item label="签单方式" prop="issueType">
                         <span slot="label">
@@ -160,46 +125,7 @@
 
                     </el-form-item>
                 </el-col>
-                <el-col :span="6">
-                    <el-form-item label="船代" prop="shippingAgencyCname">
-                        <span slot="label">
-                            <span style="color: #1e9fff">船代</span>
-                        </span>
-                        <div>
-                            <dic-select v-model="assemblyForm.shippingAgencyCname" placeholder="船代" key="id"
-                                label="shortName" res="records"
-                                url="/blade-los/bcorps/selectList?current=1&size=5&corpTypeName=船代" :filterable="true"
-                                :remote="true" dataName="shortName"
-                                @selectChange="dicChange('shippingAgencyCname', $event)" :slotRight="true"
-                                rightLabel="code"
-                                :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"></dic-select>
-                        </div>
-                    </el-form-item>
-                </el-col>
-                <el-col :span="6">
-                    <el-form-item label="订舱代理" prop="bookingAgentCnName">
-                        <span slot="label">
-                            <span style="color: #1e9fff">订舱代理</span>
-                        </span>
-                        <el-col :span="9">
-                            <search-query :datalist="bookingAgentData" :selectValue="assemblyForm.bookingAgentCnName"
-                                :filterable="true" :clearable="true" :remote="true"
-                                :disabled="detailData.seeDisabled || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
-                                :buttonIf="false" placeholder="请选择订舱代理"
-                                :forParameter="{ key: 'id', label: 'cnName', value: 'cnName' }"
-                                @remoteMethod="remoteMethod($event, 'bookingAgent')"
-                                @corpChange="corpChange($event, 'bookingAgent')"
-                                @corpFocus="remoteMethod($event, 'bookingAgent')">
-                            </search-query>
-                        </el-col>
-                        <el-col :span="14" :offset="1">
-                            <el-input type="age" style="width: 100%;" v-model="assemblyForm.bookingAgentEnName"
-                                size="small" autocomplete="off"
-                                :disabled="detailData.seeDisabled || !assemblyForm.bookingAgentCnName || (assemblyForm.billType == 'MH' && assemblyForm.masterBillNo > 0)"
-                                clearable placeholder="订舱代理"></el-input>
-                        </el-col>
-                    </el-form-item>
-                </el-col>
+               
                 <el-col :span="6">
                     <el-form-item label="装箱方式" prop="loadType">
                         <span slot="label">
@@ -291,18 +217,7 @@
                         </search-query>
                     </el-form-item>
                 </el-col>
-                <el-col :span="6">
-                    <el-form-item label="箱属" prop="boxBelongsTo">
-                        <span slot="label">
-                            <span style="color: #1e9fff">箱属</span>
-                        </span>
-                        <div>
-                            <dic-select v-model="assemblyForm.boxBelongsTo" placeholder="箱属" key="dictKey"
-                                label="dictValue" url="/blade-system/dict-biz/dictionary?code=boxBelongsTo"
-                                :filterable="true" :disabled="detailData.seeDisabled"></dic-select>
-                        </div>
-                    </el-form-item>
-                </el-col>
+                
                 <el-col :span="6">
                     <el-form-item label="舱位类型" prop="cabinType">
                         <span slot="label">
@@ -611,8 +526,6 @@ export default {
             // 场站
             cyData: [],
             cyContactsData: [], // 场站联系人
-            // 服务方式
-            serviceTermsData: [],
             // HB/L付款地点数据
             hpayplaceData: [],
             // MB/L付款地点
@@ -661,16 +574,7 @@ export default {
             if (name == 'cabinType') {
                 this.assemblyForm.cabinTypeData = null
             }
-            if (name == 'shippingAgencyCname') {
-                if (row) {
-                    this.assemblyForm.shippingAgencyId = row.id
-                    this.assemblyForm.shippingAgencyEname = row.enName
-                } else {
-                    this.assemblyForm.shippingAgencyId = null
-                    this.assemblyForm.shippingAgencyEname = null
-                    this.assemblyForm.shippingAgencyCname = null
-                }
-            }
+
         },
         // 业务来源下拉
         sourceCorp(value, name) {
@@ -777,9 +681,7 @@ export default {
             } else if (inttraArr.indexOf(name) != -1) {
                 this.inttraBcorpslistByType(value)
             }
-            else if (name == 'bookingAgent') {
-                this.bookingAgentBcorpsListfun(value)
-            }
+
             // else if (name == 'issueType') {
             //     // 签单方式
             //     this.getWorkDictsfun()

+ 5 - 1
src/views/iosBasicData/feeApplication/detailsPage.vue

@@ -601,9 +601,13 @@ export default {
     this.feedOption = await this.getColumnData(this.getColumnName(485), this.feedOptionBack);
     this.feecOption = await this.getColumnData(this.getColumnName(486), this.feecOptionBack);
     await this.saveLocalCurrency()
-    if (this.detailData.id) {
+          console.log(this.$route.query,this.detailData)
+    if (this.detailData&&this.detailData.id) {
       this.getDetail(this.detailData.id)
     }
+    if (this.$route.query.billId) {
+      this.getDetail(this.$route.query.billId)
+    }
   },
   methods: {
     getDetail(id) {

+ 5 - 2
src/views/iosBasicData/feeApplication/index.vue

@@ -201,7 +201,7 @@ export default {
         ]
       },
       data: [],
-      saberUserInfo:null
+      saberUserInfo: null
     };
   },
   components: {
@@ -228,7 +228,10 @@ export default {
   },
   activated() {
     setTimeout(() => {
-    }, 100);
+      if (this.$route.query.billId) {
+        this.isShow = false
+      }
+    }, 200);
   },
   methods: {
     addButton() {

+ 25 - 28
src/views/ow/owPut/detailsPage.vue

@@ -256,10 +256,8 @@
                 <span v-else>{{ row.billType }}</span>
               </template>
               <template slot="cntrNoForm" slot-scope="{row,index}">
-                <dic-select
-                  v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ' || row.feeCode == 'Pickup')"
-                  v-model="row.cntrNo" key="id" label="code" :mockData="form.tradingBoxItemsList"
-                  :filterable="true"></dic-select>
+                <dic-select v-if="row.$cellEdit && !(row.automaticGenerated == 1)" v-model="row.cntrNo" key="id"
+                  label="code" :mockData="form.tradingBoxItemsList" :filterable="true"></dic-select>
                 <span v-else>{{ row.cntrNo }}</span>
               </template>
               <template slot="corpCnNameForm" slot-scope="{ row,index }">
@@ -272,12 +270,10 @@
                 <span v-else>{{ row.corpCnName }}</span>
               </template>
               <template slot="feeCnNameForm" slot-scope="{ row }">
-                <dic-select
-                  v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ' || row.feeCode == 'Pickup')"
-                  v-model="row.feeCnName" key="id" placeholder="费用名称" label="cnName" res="records"
-                  url="/blade-los/bfees/list?status=0&current=1&size=20" :filterable="true" :remote="true"
-                  dataName="cnName" @selectChange="rowDicChange('feeCnName', $event, row)"
-                  disabledLabel="押金,租箱费,Pickup fee"></dic-select>
+                <dic-select v-if="row.$cellEdit && !(row.automaticGenerated == 1)" v-model="row.feeCnName" key="id"
+                  placeholder="费用名称" label="cnName" res="records" url="/blade-los/bfees/list?status=0&current=1&size=20"
+                  :filterable="true" :remote="true" dataName="cnName"
+                  @selectChange="rowDicChange('feeCnName', $event, row)"></dic-select>
                 <span v-else>{{ row.feeCnName }}</span>
               </template>
               <template slot="curCodeForm" slot-scope="{ row }">
@@ -292,10 +288,8 @@
                 <span v-else>{{ row.exrate }}</span>
               </template>
               <template slot="unitNoForm" slot-scope="{row,index}">
-                <dic-select
-                  v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ' || row.feeCode == 'Pickup')"
-                  v-model="row.unitNo" label="cnName" url="/blade-los/bunits/listAll?status=0"
-                  :filterable="true"></dic-select>
+                <dic-select v-if="row.$cellEdit && !(row.automaticGenerated == 1)" v-model="row.unitNo" label="cnName"
+                  url="/blade-los/bunits/listAll?status=0" :filterable="true"></dic-select>
                 <span v-else>{{ row.unitNo }}</span>
               </template>
               <template slot="priceForm" slot-scope="{ row }">
@@ -356,10 +350,8 @@
                 <span v-else>{{ row.billType }}</span>
               </template>
               <template slot="cntrNoForm" slot-scope="{row,index}">
-                <dic-select
-                  v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ' || row.feeCode == 'Pickup')"
-                  v-model="row.cntrNo" key="id" label="code" :mockData="form.tradingBoxItemsList"
-                  :filterable="true"></dic-select>
+                <dic-select v-if="row.$cellEdit && !(row.automaticGenerated == 1)" v-model="row.cntrNo" key="id"
+                  label="code" :mockData="form.tradingBoxItemsList" :filterable="true"></dic-select>
                 <span v-else>{{ row.cntrNo }}</span>
               </template>
               <template slot="corpCnNameForm" slot-scope="{ row,index }">
@@ -372,12 +364,10 @@
                 <span v-else>{{ row.corpCnName }}</span>
               </template>
               <template slot="feeCnNameForm" slot-scope="{ row }">
-                <dic-select
-                  v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ' || row.feeCode == 'Pickup')"
-                  v-model="row.feeCnName" key="id" placeholder="费用名称" label="cnName" res="records"
-                  url="/blade-los/bfees/list?status=0&current=1&size=20" :filterable="true" :remote="true"
-                  dataName="cnName" @selectChange="rowDicChange('feeCnName', $event, row)"
-                  disabledLabel="押金,租箱费,Pickup fee"></dic-select>
+                <dic-select v-if="row.$cellEdit && !(row.automaticGenerated == 1)" v-model="row.feeCnName" key="id"
+                  placeholder="费用名称" label="cnName" res="records" url="/blade-los/bfees/list?status=0&current=1&size=20"
+                  :filterable="true" :remote="true" dataName="cnName"
+                  @selectChange="rowDicChange('feeCnName', $event, row)"></dic-select>
                 <span v-else>{{ row.feeCnName }}</span>
               </template>
               <template slot="curCodeForm" slot-scope="{ row }">
@@ -392,10 +382,8 @@
                 <span v-else>{{ row.exrate }}</span>
               </template>
               <template slot="unitNoForm" slot-scope="{row,index}">
-                <dic-select
-                  v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ' || row.feeCode == 'Pickup')"
-                  v-model="row.unitNo" label="cnName" url="/blade-los/bunits/listAll?status=0"
-                  :filterable="true"></dic-select>
+                <dic-select v-if="row.$cellEdit && !(row.automaticGenerated == 1)" v-model="row.unitNo" label="cnName"
+                  url="/blade-los/bunits/listAll?status=0" :filterable="true"></dic-select>
                 <span v-else>{{ row.unitNo }}</span>
               </template>
               <template slot="priceForm" slot-scope="{ row }">
@@ -2415,6 +2403,15 @@ export default {
     },
     rowEdit(row) {
       if (row.$cellEdit == true) {
+        if (!row.riseDays || Number(row.riseDays) == 0) {
+          return this.$message.error("起必须大于0");
+        }
+        if (!row.stopDays || Number(row.stopDays) == 0) {
+          return this.$message.error("止必须大于0");
+        }
+        if (!row.curCode) {
+          return this.$message.error("请完善币别");
+        }
         this.$set(row, "$cellEdit", false);
       } else {
         this.$set(row, "$cellEdit", true);

+ 17 - 10
src/views/ow/owTask/detailsPage.vue

@@ -260,7 +260,7 @@
               </template>
               <template slot="cntrNoForm" slot-scope="{row,index}">
                 <dic-select
-                  v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ' || row.feeCode == 'Pickup')"
+                  v-if="row.$cellEdit && !(row.automaticGenerated==1)"
                   v-model="row.cntrNo" key="id" label="code" :mockData="form.tradingBoxItemsList"
                   :filterable="true"></dic-select>
                 <span v-else>{{ row.cntrNo }}</span>
@@ -276,11 +276,10 @@
               </template>
               <template slot="feeCnNameForm" slot-scope="{ row }">
                 <dic-select
-                  v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ' || row.feeCode == 'Pickup')"
+                  v-if="row.$cellEdit && !(row.automaticGenerated==1)"
                   v-model="row.feeCnName" key="id" placeholder="费用名称" label="cnName" res="records"
                   url="/blade-los/bfees/list?status=0&current=1&size=20" :filterable="true" :remote="true"
-                  dataName="cnName" @selectChange="rowDicChange('feeCnName', $event, row)"
-                  disabledLabel="押金,租箱费,Pickup fee"></dic-select>
+                  dataName="cnName" @selectChange="rowDicChange('feeCnName', $event, row)"></dic-select>
                 <span v-else>{{ row.feeCnName }}</span>
               </template>
               <template slot="curCodeForm" slot-scope="{ row }">
@@ -296,7 +295,7 @@
               </template>
               <template slot="unitNoForm" slot-scope="{row,index}">
                 <dic-select
-                  v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ' || row.feeCode == 'Pickup')"
+                  v-if="row.$cellEdit && !(row.automaticGenerated==1)"
                   v-model="row.unitNo" label="cnName" url="/blade-los/bunits/listAll?status=0"
                   :filterable="true"></dic-select>
                 <span v-else>{{ row.unitNo }}</span>
@@ -360,7 +359,7 @@
               </template>
               <template slot="cntrNoForm" slot-scope="{row,index}">
                 <dic-select
-                  v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ' || row.feeCode == 'Pickup')"
+                  v-if="row.$cellEdit && !(row.automaticGenerated==1)"
                   v-model="row.cntrNo" key="id" label="code" :mockData="form.tradingBoxItemsList"
                   :filterable="true"></dic-select>
                 <span v-else>{{ row.cntrNo }}</span>
@@ -376,11 +375,10 @@
               </template>
               <template slot="feeCnNameForm" slot-scope="{ row }">
                 <dic-select
-                  v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ' || row.feeCode == 'Pickup')"
+                  v-if="row.$cellEdit && !(row.automaticGenerated==1)"
                   v-model="row.feeCnName" key="id" placeholder="费用名称" label="cnName" res="records"
                   url="/blade-los/bfees/list?status=0&current=1&size=20" :filterable="true" :remote="true"
-                  dataName="cnName" @selectChange="rowDicChange('feeCnName', $event, row)"
-                  disabledLabel="押金,租箱费,Pickup fee"></dic-select>
+                  dataName="cnName" @selectChange="rowDicChange('feeCnName', $event, row)"></dic-select>
                 <span v-else>{{ row.feeCnName }}</span>
               </template>
               <template slot="curCodeForm" slot-scope="{ row }">
@@ -396,7 +394,7 @@
               </template>
               <template slot="unitNoForm" slot-scope="{row,index}">
                 <dic-select
-                  v-if="row.$cellEdit && !(row.feeCode == 'BOX-YJ' || row.feeCode == 'BOX-ZJ' || row.feeCode == 'Pickup')"
+                  v-if="row.$cellEdit && !(row.automaticGenerated==1)"
                   v-model="row.unitNo" label="cnName" url="/blade-los/bunits/listAll?status=0"
                   :filterable="true"></dic-select>
                 <span v-else>{{ row.unitNo }}</span>
@@ -2402,6 +2400,15 @@ export default {
     },
     rowEdit(row) {
       if (row.$cellEdit == true) {
+        if (!row.riseDays||Number(row.riseDays) == 0) {
+          return this.$message.error("起必须大于0");
+        }
+        if (!row.stopDays||Number(row.stopDays) == 0) {
+          return this.$message.error("止必须大于0");
+        }
+        if (!row.curCode) {
+          return this.$message.error("请完善币别");
+        }
         this.$set(row, "$cellEdit", false);
       } else {
         this.$set(row, "$cellEdit", true);