Explorar el Código

Merge branch 'dev' of http://git.echepei.com/tubao/Smart_platform_ui into dev

Qukatie hace 1 mes
padre
commit
ebf9e10228

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

@@ -1259,15 +1259,29 @@ export default {
                 }
                 for (let item of this[name + 'Data']) {
                     if (item.cnName == value) {
-                        console.log(item.cntyCode, 1231231)
+                        console.log(item, 1231231)
                         this.$set(this.assemblyForm.detail, name + 'Id', item.id)
                         this.$set(this.assemblyForm.detail, name + 'CnName', item.cnName)
                         this.$set(this.assemblyForm.detail, name + 'EnName', item.enName)
                         this.$set(this.assemblyForm.detail, name + 'Code', item.code)
                         // this.$set(this.assemblyForm,name + 'Details',item.details)
-                        if (!this.assemblyForm[name + 'Details']) {
-                            this.$set(this.assemblyForm.detail, name + 'Details', item.details)
+                        // if (!this.assemblyForm[name + 'Details']) {
+                        //     this.$set(this.assemblyForm.detail, name + 'Details', item.details)
+                        // }
+                        var details = typeof item.details == "string" ? item.details.trim() : ""
+                        if(!details) {
+                            var s = typeof item.enName == "string" && item.enName.trim().toUpperCase() ? item.enName.trim() : ""
+                            if (s) details += `${s}\r\n`
+                            s = typeof item.enAddr == "string" && item.enAddr.trim() ? item.enAddr.trim().toUpperCase() : ""
+                            if (s) details += `${s}\r\n`
+                            s = typeof item.tel == "string" && item.tel.trim() ? ('TEL:' + item.tel.trim().toUpperCase()) : ""
+                            s += typeof item.fax == "string" && item.fax.trim() ? ((s ? " / " : "") + 'FAX:' + item.fax.trim().toUpperCase()) : ""
+                            if (s) details += `${s}\r\n`
+                            s = typeof item.email == "string" && item.email.trim() ? ('EMAIL:' + item.email.trim().toUpperCase()) : ""
+                            if (s) details += `${s}\r\n`
                         }
+                        this.$set(this.assemblyForm.detail, name + 'Details', details.trim())
+
                         // 国家名称
                         this.$set(this.assemblyForm.detail, name + 'CntyName', item.cntyName)
                         // 国家代码

+ 44 - 16
src/views/iosBasicData/SeafreightExportF/bills/assembly/edicode.vue

@@ -3,7 +3,7 @@
         <el-form :model="assemblyForm" ref="form" label-width="90px" class="demo-ruleForm" :disabled="disabled">
             <el-row>
                 <el-button icon="el-icon-plus" size="small" type="primary" style="margin: 5px;"
-                    @click="test">现代EDI</el-button>
+                    @click="openHmmEdi">现代EDI</el-button>
             </el-row>
             <el-row>
                 <el-col :span="12">
@@ -165,9 +165,24 @@
             </el-row>
         </el-form>
         <el-dialog title="HMM EDI信息" :visible.sync="dialogVisible" width="70%" :modal="false" :append-to-body="true">
-            <avue-form :option="hmmOption" v-model="baseData">
+            <avue-form :option="hmmOption" v-model="assemblyForm.hmmEdi" @submit="submitHmm" @reset-change="dialogVisible = false">
                 <tempalte slot="applicant" slot-scope="{ row }">
-                    <el-input v-model="baseData.applicant" placeholder="请输入 补充申报人" @input="upperCas('applicant',baseData.applicant)"></el-input>
+                    <el-input v-model="assemblyForm.hmmEdi.applicant" placeholder="请输入 补充申报人" @input="upperCas('applicant',assemblyForm.hmmEdi.applicant)"></el-input>
+                </tempalte>
+                <tempalte slot="shipperCode" slot-scope="{ row }">
+                    <el-input v-model="assemblyForm.hmmEdi.shipperCode" placeholder="请输入 发货人代码" @input="upperCas('shipperCode',assemblyForm.hmmEdi.shipperCode)"></el-input>
+                </tempalte>
+                <tempalte slot="actualShipperCode" slot-scope="{ row }">
+                    <el-input v-model="assemblyForm.hmmEdi.actualShipperCode" placeholder="请输入 实际发货人代码" @input="upperCas('actualShipperCode',assemblyForm.hmmEdi.actualShipperCode)"></el-input>
+                </tempalte>
+                <tempalte slot="consigneeCode" slot-scope="{ row }">
+                    <el-input v-model="assemblyForm.hmmEdi.consigneeCode" placeholder="请输入 收货人代码" @input="upperCas('consigneeCode',assemblyForm.hmmEdi.consigneeCode)"></el-input>
+                </tempalte>
+                <tempalte slot="notifierCode" slot-scope="{ row }">
+                    <el-input v-model="assemblyForm.hmmEdi.notifierCode" placeholder="请输入 通知人代码" @input="upperCas('notifierCode',assemblyForm.hmmEdi.notifierCode)"></el-input>
+                </tempalte>
+                <tempalte slot="actualConsigneeCode" slot-scope="{ row }">
+                    <el-input v-model="assemblyForm.hmmEdi.actualConsigneeCode" placeholder="请输入 实际收货人代码" @input="upperCas('actualConsigneeCode',assemblyForm.hmmEdi.actualConsigneeCode)"></el-input>
                 </tempalte>
             </avue-form>
         </el-dialog>
@@ -193,11 +208,20 @@ export default {
         }
     },
     data() {
+        var validateVariable = (rule, value, callback)=>  {
+            if (!value) {
+                callback();
+            }
+            const regex = /^[A-Z]{2}[A-Z0-9]{1,15}$/;
+            if (!regex.test(value)) {
+                callback(new Error('长度应为 3~17 个字符,不能出现特殊符号'));
+            }
+            callback();
+        };
         return {
             pilHblData: [],
             reload: Math.random(),
             dialogVisible: false,
-            baseData: {},
             hmmOption: {
                 submitText: '确定',
                 emptyText: '取消',
@@ -246,23 +270,19 @@ export default {
                         span: 12,
                         prop: "applicant",
                         row: true,
-                        // change: ({ value, column}) => {
-                        //     value = value.toUpperCase()
-                        //     console.info('value', this.baseData)
-                        //     console.info(value, column)
-                        //     this.$set(this.baseData, 'applicant', value.toUpperCase())
-                        //     //  this.reload=Math.random();
-                        // }
+                        rules: [{ validator: validateVariable, trigger: 'blur' }]
                     },
                     {
                         label: "发货人代码",
                         span: 12,
                         prop: "shipperCode",
+                        rules: [{ validator: validateVariable, trigger: 'blur' }]
                     },
                     {
                         label: "实际发货人代码",
                         span: 12,
                         prop: "actualShipperCode",
+                        rules: [{ validator: validateVariable, trigger: 'blur' }]
                     },
                     {
                         label: "发货人邮政信箱",
@@ -308,6 +328,7 @@ export default {
                         label: "收货人代码",
                         span: 12,
                         prop: "consigneeCode",
+                        rules: [{ validator: validateVariable, trigger: 'blur' }]
                     },
                     {
                         label: "实际发货人街道名称",
@@ -333,6 +354,7 @@ export default {
                         label: "实际收货人代码",
                         span: 12,
                         prop: "actualConsigneeCode",
+                        rules: [{ validator: validateVariable, trigger: 'blur' }]
                     },
                     {
                         label: "收货人街道名称",
@@ -358,6 +380,7 @@ export default {
                         label: "通知人代码",
                         span: 12,
                         prop: "notifierCode",
+                        rules: [{ validator: validateVariable, trigger: 'blur' }]
                     },
                     {
                         label: "实际收货人邮政信箱",
@@ -441,12 +464,17 @@ export default {
             return regex.test(input);
         },
         upperCas(name,str) {
-            console.log(str)
-            this.baseData[name]=str.toUpperCase()
-            // return str.toUpperCase()
+            this.assemblyForm.hmmEdi[name]=str.toUpperCase()
+        },
+        submitHmm(res,done){
+            done()
+            console.log(res, 'hmmEdi')
+            this.dialogVisible = false
         },
-        test() {
-            this.baseData = this.assemblyForm.hmmEdi
+        openHmmEdi() {
+            if (!this.assemblyForm.id) {
+                return this.$message.error('请先保存数据');
+            }
             this.dialogVisible = true
         },
         inHmmEdi() {

+ 2 - 2
src/views/iosBasicData/SeafreightExportF/bills/assembly/mbinformation.vue

@@ -420,7 +420,7 @@ export default {
                         this.$set(this.assemblyForm.detail, name + 'CntyCode', item.cntyCode)
 
                         var details = typeof item.details == "string" ? item.details.trim() : ""
-                        if (!details && name == 'mconsignee') {
+                        if(!details) {
                             var s = typeof item.enName == "string" && item.enName.trim().toUpperCase() ? item.enName.trim() : ""
                             if (s) details += `${s}\r\n`
                             s = typeof item.enAddr == "string" && item.enAddr.trim() ? item.enAddr.trim().toUpperCase() : ""
@@ -431,7 +431,7 @@ export default {
                             s = typeof item.email == "string" && item.email.trim() ? ('EMAIL:' + item.email.trim().toUpperCase()) : ""
                             if (s) details += `${s}\r\n`
                         }
-                        this.$set(this.assemblyForm.detail, name + 'Details', details)
+                        this.$set(this.assemblyForm.detail, name + 'Details', details.trim())
                     }
                 }
             }