Qukatie 11 місяців тому
батько
коміт
8b8aa683a1

+ 164 - 9
src/components/dicSelect/main.vue

@@ -1,11 +1,31 @@
 <template>
     <!-- 中文下拉 -->
-    <el-select v-model="value" @input="$emit('selectedValue', value)" :placeholder="'请输入 ' + placeholder"
-        @change="selectChange" @clear="clear" :clearable="clearable" :multiple="multiple" :filterable="filterable"
-        :remote="remote" :remote-method="remoteMethod" :loading="loading" :size="size" :disabled="disabled">
-        <el-option v-for="item in options" :key="item[key]" :label="item[label]" :value="item[keyValue?keyValue:label]">
-        </el-option>
-    </el-select>
+    <div>
+        <div style="display: flex;">
+            <el-select v-model="value" @input="$emit('selectedValue', value)" :placeholder="'请输入 ' + placeholder"
+                @change="selectChange" @clear="clear" :clearable="clearable" :multiple="multiple" :filterable="filterable"
+                :remote="remote" :remote-method="remoteMethod" :loading="loading" :size="size" :disabled="disabled">
+                <el-option v-for="item in options" :key="item[key]" :label="item[label]"
+                    :value="item[keyValue ? keyValue : label]">
+                </el-option>
+            </el-select>
+            <el-button v-if="searchShow" icon="el-icon-search" size="small" @click="dialogVisible = true" />
+        </div>
+        <el-dialog title="客户" :visible.sync="dialogVisible" width="70%" :before-close="handleClose" append-to-body>
+            <span>
+                <avue-crud :option="option" :table-loading="loading" :data="dataList" :page.sync="page" :search.sync="query"
+                    v-model="form" id="out-table" ref="crud" @row-del="rowDel" @search-change="searchChange"
+                    @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange"
+                    @size-change="sizeChange" @on-load="onLoad">
+                </avue-crud>
+            </span>
+            <span slot="footer" class="dialog-footer">
+                <el-button size="small" @click="dialogVisible = false">取 消</el-button>
+                <el-button size="small" type="primary" :disabled="this.selectionList.length != 1" @click="importData">确
+                    定</el-button>
+            </span>
+        </el-dialog>
+    </div>
 </template>
 
 <script>
@@ -13,9 +33,99 @@ import { getDicinit } from "@/api/dicSelect/index";
 export default {
     data() {
         return {
+            dialogVisible: false,
             options: [],
             loading: false,
-            data: {}
+            data: {},
+            form: {},
+            query: {},
+            page: {
+                pageSize: 10,
+                currentPage: 1,
+                total: 0
+            },
+            dataList: [],
+            selectionList: [],
+            option: {
+                height: 400,
+                calcHeight: 30,
+                tip: false,
+                searchIcon: true,
+                searchIndex: 3,
+                searchShow: true,
+                searchMenuSpan: 6,
+                border: true,
+                index: true,
+                selection: true,
+                header: false,
+                menu: false,
+                column: [
+                    {
+                        label: "编码",
+                        prop: "code",
+                        search: true,
+                        rules: [{
+                            required: true,
+                            message: "请输入单位编码",
+                            trigger: "blur"
+                        }],
+                        overHidden: true,
+                    },
+                    {
+                        label: "中文名称",
+                        prop: "cnName",
+                        search: true,
+                        rules: [{
+                            required: true,
+                            message: "请输入中文名称",
+                            trigger: "blur"
+                        }],
+                        overHidden: true,
+                    },
+                    {
+                        label: "英文名称",
+                        prop: "enName",
+                        search: true,
+                        rules: [{
+                            required: true,
+                            message: "请输入英文名称",
+                            trigger: "blur"
+                        }],
+                        overHidden: true,
+                    },
+                    {
+                        label: "状态",
+                        prop: "status",
+                        type: 'select',
+                        search: true,
+                        dicData: [{
+                            label: '启用',
+                            value: 0
+                        }, {
+                            label: '停用',
+                            value: 1
+                        }],
+                        rules: [{
+                            required: true,
+                            message: "请输入状态",
+                            trigger: "blur"
+                        }],
+                        overHidden: true,
+                    },
+                    {
+                        label: "备注",
+                        prop: "remarks",
+                        span: 24,
+                        type: 'textarea',
+                        width: "180",
+                        slot: true,
+                        minRows: 3,
+                        overHidden: true,
+
+                    },
+                ],
+                designer: null,
+            },
         }
     },
     props: {
@@ -83,6 +193,11 @@ export default {
             type: Boolean,
             default: false
         },
+        searchShow: {
+            type: Boolean,
+            default: false
+        },
+
     },
     model: {
         prop: "value",
@@ -143,9 +258,49 @@ export default {
                 this.getDicData()
             }
             this.$emit('selectChange', null)
-        }
+        },
+        importData() {
+            this.dialogVisible = false
+            this.$emit('selectChange', this.selectionList[0])
+        },
+        searchChange(params, done) {
+            this.page.currentPage = 1;
+            this.onLoad(this.page, this.query);
+            done();
+        },
+        selectionChange(list) {
+            this.selectionList = list;
+        },
+        currentChange(currentPage) {
+            this.page.currentPage = currentPage;
+        },
+        sizeChange(pageSize) {
+            this.page.pageSize = pageSize;
+        },
+        refreshChange() {
+            this.onLoad(this.page, this.query);
+        },
+        onLoad(page, params = {}) {
+            let obj = {}
+            obj = {
+                current: page.currentPage,
+                size: page.pageSize,
+                ...Object.assign(params, this.query),
+            }
+            this.loading = true
+            getDicinit(this.method, this.url, obj).then(res => {
+                this.dataList = res.data.data.records
+                this.page.total = res.data.data.total;
+            }).finally(() => {
+                this.loading = false;
+            })
+        },
     }
 }
 </script>
 
-<style lang="scss" scoped></style>
+<style lang="scss" scoped>
+/deep/ .el-col-md-8 {
+    width: 24.33333%;
+}
+</style>

+ 1 - 0
src/views/tradeAgency/exchangePurchasing/detailsPage.vue

@@ -369,6 +369,7 @@ export default {
             });
             getDetail({ id: id }).then(res => {
                 if (res.data.data.firstStatus == '审核通过') this.optionForm.disabled = true
+                this.inLock()
                 this.form = res.data.data
             }).finally(() => {
                 loading.close()

+ 1 - 0
src/views/tradeAgency/firstSettlement/detailsPage.vue

@@ -334,6 +334,7 @@ export default {
             getDetail({ id: id }).then(res => {
                 if (res.data.data.orderStatus == '已确认') this.optionForm.disabled = true
                 this.form = res.data.data
+                this.inLock()
                 // this.form.filesCenterList=[]
             }).finally(() => {
                 loading.close()

+ 67 - 2
src/views/tradeAgency/oceanFreightImport/detailsPage.vue

@@ -36,11 +36,44 @@
         <div style="margin-top: 50px">
             <trade-card title="基础信息">
                 <avue-form :option="optionForm" v-model="form" ref="form">
+                    <template slot="corpCnNameLabel">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('客户')">客户:</span>
+                    </template>
+                    <template slot="hshipperCnNameLabel">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('客户')">发货人:</span>
+                    </template>
+                    <template slot="hconsigneeCnNameLabel">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('客户')">收货人:</span>
+                    </template>
+                    <template slot="mnotifyCntyCodeLabel">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('原产地')">原产地:</span>
+                    </template>
+                    <template slot="polCnNameLabel">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('港口')">起运港:</span>
+                    </template>
+                    <template slot="podCnNameLabel">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('港口')">目的港:</span>
+                    </template>
+                    <template slot="vesselCnNameLabel">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('船名')">船名:</span>
+                    </template>
+                    <template slot="carrierCnNameLabel">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('客户')">船公司:</span>
+                    </template>
+                    <template slot="bookingAgentCnNameLabel">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('客户')">船代:</span>
+                    </template>
+                    <template slot="hscodeLabel">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('HSCODE')">HSCODE:</span>
+                    </template>
+                    <template slot="packingUnitLabel">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('包装')">包装:</span>
+                    </template>
                     <tempalte slot="corpCnName">
                         <dic-select v-model="form.corpCnName" placeholder="客户" key="id" label="cnName" res="records"
                             url="/blade-los/bcorps/listByType?corpTypeName=客户" :filterable="true" :remote="true"
                             dataName="cnName" @selectChange="dicChange('corpCnName', $event)"
-                            :disabled="editDisabled"></dic-select>
+                            :disabled="editDisabled"  :searchShow="true"></dic-select>
                     </tempalte>
                     <tempalte slot="polCnName">
                         <dic-select v-model="form.polCnName" placeholder="起运港" key="id" label="cnName" res="records"
@@ -122,6 +155,14 @@
                             @click="addRow()">
                         </el-button>
                     </template>
+                    <template slot="cntrTypeCodeHeader" slot-scope="{column}">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('箱型')">{{ (column || {}).label
+                        }}</span>
+                    </template>
+                    <template slot="goodsNameHeader" slot-scope="{column}">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('HSCODE')">{{ (column || {}).label
+                        }}</span>
+                    </template>
                     <template slot="index" slot-scope="{row,index}">
                         <span>{{ index + 1 }}</span>
                     </template>
@@ -1167,7 +1208,7 @@ export default {
                     }
                 ]
             },
-            showLock:false
+            showLock: false
         }
     },
     components: {
@@ -1225,6 +1266,29 @@ export default {
                 }
             });
         },
+        inJump(name) {
+            if (name == '客户') {
+                this.$router.push('/iosBasicData/bcorps/index')
+            }
+            if (name == '原产地') {
+                this.$router.push('/iosBasicData/bcountrys/index')
+            }
+            if (name == '港口') {
+                this.$router.push('/iosBasicData/bports/index')
+            }
+            if (name == 'HSCODE') {
+                this.$router.push('/iosBasicData/bcommodity/index')
+            }
+            if (name == '船名') {
+                this.$router.push('/iosBasicData/bvessels/index')
+            }
+            if (name == '包装') {
+                this.$router.push('/iosBasicData/bpackages/index')
+            }
+            if (name == '箱型') {
+                this.$router.push('/iosBasicData/bcntrtypes/index')
+            }
+        },
         getDetaiByMblno(billNo) {
             this.editButton = true
             this.editDisabled = true
@@ -1750,6 +1814,7 @@ export default {
             });
             getDetail({ id: id }).then(res => {
                 this.form = res.data.data
+                this.inLock()
                 this.$refs.crud.dicInit();
                 this.$refs.crud3.dicInit();
             }).finally(() => {

+ 41 - 5
src/views/tradeAgency/tradeAgency/detailsPage.vue

@@ -46,11 +46,20 @@
                     <template slot="domesticConsigneeCnameLabel">
                         <span style="color: #1e9fff;cursor: pointer;" @click="inJump('客户')">国内收货人:</span>
                     </template>
+                    <template slot="countryOfOriginLabel">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('原产地')">原产地:</span>
+                    </template>
+                    <template slot="polCnNameLabel">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('港口')">起运港:</span>
+                    </template>
+                    <template slot="podCnNameLabel">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('港口')">目的港:</span>
+                    </template>
                     <tempalte slot="corpName" slot-scope="{ row }">
                         <dic-select v-model="form.corpName" placeholder="客户" key="id" label="cnName" res="records"
                             url="/blade-los/bcorps/listByType?corpTypeName=客户" :filterable="true" :remote="true"
                             dataName="cnName" @selectChange="dicChange('corpName', $event)"
-                            :disabled="editDisabled"></dic-select>
+                            :disabled="editDisabled" :searchShow="true"></dic-select>
                     </tempalte>
                     <tempalte slot="contractNo" slot-scope="{ row }">
                         <el-input v-model="form.contractNo" placeholder="请输入 合同号"
@@ -224,6 +233,18 @@
                             @click="addRow()">
                         </el-button>
                     </template>
+                    <template slot="hsCodeHeader" slot-scope="{column}">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('HSCODE')">{{ (column || {}).label
+                        }}</span>
+                    </template>
+                    <template slot="labelProductNameHeader" slot-scope="{column}">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('HSCODE')">{{ (column || {}).label
+                        }}</span>
+                    </template>
+                    <template slot="boxTypeHeader" slot-scope="{column}">
+                        <span style="color: #1e9fff;cursor: pointer;" @click="inJump('箱型')">{{ (column || {}).label
+                        }}</span>
+                    </template>
                     <template slot="index" slot-scope="{row,index}">
                         <span>{{ index + 1 }}</span>
                     </template>
@@ -292,8 +313,8 @@
                 <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
                     <el-tab-pane label="付汇记录" name="1">
                         <avue-crud :data="form.recordRateList" :option="option3">
-                            <template slot="billNo" slot-scope="{ row }">
-                                <span style="color: #1e9fff" @click="rowEdit(row)">{{ row.billNo }}</span>
+                            <template slot="contractNo" slot-scope="{ row }">
+                                <span style="color: #1e9fff" @click="rowEdit(row)">{{ row.contractNo}}</span>
                             </template>
                             <template slot="customsDeclarationNo" slot-scope="{ row }">
                                 <span style="color: #1e9fff" @click="rowEdit(row)">{{ row.customsDeclarationNo }}</span>
@@ -1196,13 +1217,28 @@ export default {
                 }
             });
         },
-        inJump(name){
-
+        inJump(name) {
+            if (name == '客户') {
+                this.$router.push('/iosBasicData/bcorps/index')
+            }
+            if (name == '原产地') {
+                this.$router.push('/iosBasicData/bcountrys/index')
+            }
+            if (name == '港口') {
+                this.$router.push('/iosBasicData/bports/index')
+            }
+            if (name == 'HSCODE') {
+                this.$router.push('/iosBasicData/bcommodity/index')
+            }
+            if (name == '箱型') {
+                this.$router.push('/iosBasicData/bcntrtypes/index')
+            }
         },
         dicChange(name, row) {
             if (name == 'corpName') {
                 if (row) {
                     this.form.corpId = row.id
+                    this.form.corpName=row.cnName
                     this.form.sourceType = row.sourceType
                     this.form.salesmanName = row.srcCnName
                     this.form.salesmanId = row.srcId