Browse Source

1.新加营业费用模块
2.入货通知新加字段
3.方箱号 新加字段
4.OW 列表页新加字段 并修改字段名称

Qukatie 6 months ago
parent
commit
a10e32449e

+ 97 - 0
src/api/iosBasicData/reimbursement.js

@@ -0,0 +1,97 @@
+import request from '@/router/axios';
+//查询列表
+export const getList = (current, size, params) => {
+  return request({
+    url: '/api/blade-los/operatingexpenses/list',
+    method: 'get',
+    params: {
+      ...params,
+      current,
+      size,
+    }
+  })
+}
+
+//查询明细
+export const detail = (params) => {
+  return request({
+    url: '/api/blade-los/operatingexpenses/detail',
+    method: 'get',
+    params: params
+  })
+}
+//删除
+export const remove = (data) => {
+  return request({
+    url: '/api/blade-los/operatingexpenses/remove',
+    method: 'post',
+    params: data
+  })
+}
+
+//删除明细
+export const itemRemove = (data) => {
+  return request({
+    url: '/api/blade-los/operatingexpensesitem/remove',
+    method: 'post',
+    params: data
+
+  })
+}
+
+//新增删除
+export function submit(data) {
+  return request({
+    url: '/api/blade-los/operatingexpenses/submit',
+    method: 'post',
+    data
+  })
+}
+// 请核
+export function pleaseCheck(data) {
+  return request({
+    url: '/api/blade-los/operatingexpenses/checkOperatingExpenses',
+    method: 'post',
+    data: data
+  })
+}
+// 撤销
+export function repealCancel(data) {
+  return request({
+    url: '/api/blade-los/operatingexpenses/revokeCheckOperatingExpenses ',
+    method: 'post',
+    data: data
+  })
+}
+//单据复制
+export const copyAgent = (data) => {
+  return request({
+    url: '/api/blade-los/tradingBox/copyDocument',
+    method: 'get',
+    params: data
+  })
+}
+//单据复制
+export const owcopyAgent = (data) => {
+  return request({
+    url: '/api/blade-los/tradingBox/copyDocumentOW',
+    method: 'get',
+    params: data
+  })
+}
+// 调箱确认
+export function confirm(data) {
+  return request({
+    url: '/api/blade-los/operatingexpenses/confirmation',
+    method: 'post',
+    data: data
+  })
+}
+// 调箱撤销
+export function revoke(data) {
+  return request({
+    url: '/api/blade-los/operatingexpenses/revokeConfirmation',
+    method: 'post',
+    data: data
+  })
+}

+ 6 - 0
src/enums/column-name.js

@@ -2240,6 +2240,12 @@ const columnName = [{
 },{
   code: 529,
   name: '货代-OW-OW提醒列表页'
+},{
+  code: 530,
+  name: '货代-财务管理-营业费用列表页'
+},{
+  code: 531,
+  name: '货代-财务管理-营业费用明细'
 }
 ]
 export const getColumnName = (key) => {

+ 20 - 0
src/views/boxManagement/containerNumber/detailsPage.vue

@@ -547,6 +547,26 @@ export default {
             },
             disabled: false
           },
+            {
+            label: '目的港场站地址',
+            prop: 'podCyAddress',
+            disabled: false
+          },
+          {
+            label: '目的港场站联系人',
+            prop: 'podCyContact',
+            disabled: false
+          },
+          {
+            label: '目的港场站邮箱',
+            prop: 'podCyEmail',
+            disabled: false
+          },
+          {
+            label: '目的港场站电话',
+            prop: 'podCyTel',
+            disabled: false
+          },
           {
             label: '备注',
             prop: 'remarks',

+ 24 - 0
src/views/boxManagement/containerNumber/index.vue

@@ -382,6 +382,30 @@ export default {
                         overHidden: true,
                     },
                     {
+                        label: '目的港场站地址',
+                        prop: 'podCyAddress',
+                        width: 120,
+                        overHidden: true,
+                    },
+                    {
+                        label: '目的港场站联系人',
+                        prop: 'podCyContact',
+                        width: 120,
+                        overHidden: true,
+                    },
+                    {
+                        label: '目的港场站邮箱',
+                        prop: 'podCyEmail',
+                        width: 120,
+                        overHidden: true,
+                    },
+                    {
+                        label: '目的港场站电话',
+                        prop: 'podCyTel',
+                        width: 120,
+                        overHidden: true,
+                    },
+                    {
                         label: "制单人",
                         prop: "createUserName",
                         overHidden: true,

+ 42 - 4
src/views/boxManagement/enterRecord/index.vue

@@ -33,6 +33,12 @@
             点击下载<i class="el-icon-download el-icon--right"></i>
           </el-button>
         </template>
+        <template slot="corpCnName">
+          <dic-select v-model="excelForm.corpCnName" placeholder="场站" key="id" :slotRight="true" rightLabel="code"
+            label="shortName" res="records" url="/blade-los/bcorps/selectList?status=0&current=1&size=5&corpTypeName=场站"
+            :filterable="true" :remote="true" dataName="shortName" @selectChange="dicChange('corpCnName', $event)">
+          </dic-select>
+        </template>
       </avue-form>
       <p style="text-align: center;color: #DC0505">
         温馨提示 第一次导入时请先下载模板
@@ -45,6 +51,7 @@
 import { getList, submit, emptyContainerEntryFtp } from "@/api/boxManagement/record/index.js";
 import detailsPage from "./detailsPage";
 import importModule from "./components/importModule.vue";
+import dicSelect from "@/components/dicSelect/main";
 import { getToken } from "@/util/auth";
 import _ from "lodash";
 export default {
@@ -58,10 +65,22 @@ export default {
         emptyBtn: false,
         column: [
           {
+            label: "场站",
+            span: 24,
+            prop: "corpCnName",
+            rules: [{
+              required: true,
+              message: "选择场站",
+              trigger: "blur",
+            }],
+            display: false,
+          },
+          {
             label: "模板下载",
             prop: "excelTemplate",
             formslot: true,
-            span: 24
+            span: 24,
+            display: true,
           },
           {
             label: "模板上传",
@@ -74,7 +93,7 @@ export default {
               res: "data"
             },
             tip: "请上传 .xls,.xlsx 标准格式文件",
-            action: "/api/blade-los/boxdynamicsrecord/importExcel?type=JC"
+            action: "/api/blade-los/boxdynamicsrecord/importExcel?type=CC"
           }
         ]
       },
@@ -191,7 +210,8 @@ export default {
   },
   components: {
     detailsPage,
-    importModule
+    importModule,
+    dicSelect
   },
   async created() {
     this.option = await this.getColumnData(this.getColumnName(516), this.optionBack);
@@ -201,6 +221,24 @@ export default {
     }, 100);
   },
   methods: {
+    dicChange(name, row) {
+      if (name == 'corpCnName') {
+        if (row) {
+          this.excelOption.column.forEach(item => {
+            if (item.prop == 'excelFile') {
+              item.action = "/api/blade-los/ftp/ftpFileImport?type=OUT&corpId=" + row.id
+            }
+          })
+        } else {
+          this.excelForm.corpCnName = null
+          this.excelOption.column.forEach(item => {
+            if (item.prop == 'excelFile') {
+              item.action = "/api/blade-los/ftp/ftpFileImport?type=OUT"
+            }
+          })
+        }
+      }
+    },
     refreshData() {
       this.refreshChange()
     },
@@ -266,7 +304,7 @@ export default {
     },
     // 上传成功
     onSuccess(res, done, loading, column) {
-      if (res == '操作成功') {
+      if (res == '操作成功'||res.msg=='操作成功') {
         this.$message.success("上传成功!");
       }
       this.excelBox = false;

+ 81 - 3
src/views/boxManagement/exitRecord/index.vue

@@ -12,6 +12,8 @@
           </el-button>
           <el-button type="success" size="small" icon="el-icon-upload" @click="allClick('edi导入')">edi导入
           </el-button>
+          <el-button type="success" size="small" icon="el-icon-upload" @click="allClick('ftp导入')">ftp导入
+          </el-button>
           <!-- <el-button type="warning" size="small"  disabled @click="outExport">导 出
           </el-button> -->
         </template>
@@ -33,6 +35,13 @@
             点击下载<i class="el-icon-download el-icon--right"></i>
           </el-button>
         </template>
+        <template slot="corpCnName">
+          <dic-select v-model="excelForm.corpCnName" placeholder="场站" key="id" :slotRight="true" rightLabel="code"
+            label="shortName" res="records" url="/blade-los/bcorps/selectList?status=0&current=1&size=5&corpTypeName=场站"
+            :filterable="true" :remote="true" dataName="shortName" @selectChange="dicChange('corpCnName', $event)">
+          </dic-select>
+        </template>
+
       </avue-form>
       <p style="text-align: center;color: #DC0505">
         温馨提示 第一次导入时请先下载模板
@@ -45,6 +54,7 @@
 <script>
 import { getList, submit, emptyContainerEntryFtp } from "@/api/boxManagement/record/index.js";
 import detailsPage from "./detailsPage";
+import dicSelect from "@/components/dicSelect/main";
 import importModule from "./components/importModule.vue";
 import { getToken } from "@/util/auth";
 import _ from "lodash";
@@ -59,10 +69,32 @@ export default {
         emptyBtn: false,
         column: [
           {
+            label: "场站",
+            span: 24,
+            prop: "corpCnName",
+            // type: 'select',
+            // filterable: true,
+            // remote: true,
+            // dicUrl: "/api/blade-los/bcorps/selectList?status=0&corpTypeName=场站&size=5&current=1&shortName={{key}}",
+            // props: {
+            //   label: "shortName",
+            //   value: "id",
+            //   desc: 'code',
+            //   res: "data.records"
+            // },
+            rules: [{
+              required: true,
+              message: "选择场站",
+              trigger: "blur",
+            }],
+            display: false,
+          },
+          {
             label: "模板下载",
             prop: "excelTemplate",
             formslot: true,
-            span: 24
+            span: 24,
+            display: true,
           },
           {
             label: "模板上传",
@@ -192,7 +224,8 @@ export default {
   },
   components: {
     detailsPage,
-    importModule
+    importModule,
+    dicSelect
   },
   async created() {
     this.option = await this.getColumnData(this.getColumnName(514), this.optionBack);
@@ -202,11 +235,41 @@ export default {
     }, 100);
   },
   methods: {
+    dicChange(name, row) {
+      if (name == 'corpCnName') {
+        if (row) {
+          this.excelOption.column.forEach(item => {
+            if (item.prop == 'excelFile') {
+              item.action = "/api/blade-los/ftp/ftpFileImport?type=OUT&corpId=" + row.id
+            }
+          })
+        } else {
+          this.excelForm.corpCnName = null
+          this.excelOption.column.forEach(item => {
+            if (item.prop == 'excelFile') {
+              item.action = "/api/blade-los/ftp/ftpFileImport?type=OUT"
+            }
+          })
+        }
+      }
+    },
     refreshData() {
       this.refreshChange()
     },
     allClick(name) {
       if (name == 'excel导入') {
+        this.excelForm = {}
+        this.excelOption.column.forEach(item => {
+          if (item.prop == 'corpCnName') {
+            item.display = false
+          }
+          if (item.prop == 'excelTemplate') {
+            item.display = true
+          }
+          if (item.prop == 'excelFile') {
+            item.action = "/api/blade-los/boxdynamicsrecord/importExcel?type=CC"
+          }
+        })
         this.excelBox = true;
       }
       if (name == 'edi导入') {
@@ -258,6 +321,21 @@ export default {
           }
         })
       }
+      if (name == 'ftp导入') {
+        this.excelForm = {}
+        this.excelOption.column.forEach(item => {
+          if (item.prop == 'corpCnName') {
+            item.display = true
+          }
+          if (item.prop == 'excelTemplate') {
+            item.display = false
+          }
+          if (item.prop == 'excelFile') {
+            item.action = "/api/blade-los/ftp/ftpFileImport?type=OUT"
+          }
+        })
+        this.excelBox = true;
+      }
     },
     uploadBefore(file, done, loading) {
       done();
@@ -265,7 +343,7 @@ export default {
     },
     // 上传成功
     onSuccess(res, done, loading, column) {
-      if (res == '操作成功') {
+      if (res == '操作成功'||res.msg=='操作成功') {
         this.$message.success("上传成功!");
       }
       this.excelBox = false;

+ 108 - 110
src/views/iosBasicData/AirtransportExport/bills/assembly/reportformsFrame/PurchaseNotice.vue

@@ -2,16 +2,16 @@
     <el-form :model="documentForm" ref="form" label-width="90px" style="margin-bottom: 4px" class="demo-ruleForm">
         <el-row>
             <el-col :span="12">
-                <el-form-item label="TO:" prop="corpCnName" >
-                    <el-input type="age" style="width: 100%;" v-model="documentForm.corpCnName"
-                              size="small" autocomplete="off" clearable placeholder="TO" >
+                <el-form-item label="TO:" prop="corpCnName">
+                    <el-input type="age" style="width: 100%;" v-model="documentForm.corpCnName" size="small"
+                        autocomplete="off" clearable placeholder="TO">
                     </el-input>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
-                <el-form-item label="ATTN:" prop="corpCnName" >
-                    <el-input type="age" style="width: 100%;" v-model="documentForm.corpAttnName"
-                              size="small" autocomplete="off" clearable placeholder="ATTN" >
+                <el-form-item label="ATTN:" prop="corpCnName">
+                    <el-input type="age" style="width: 100%;" v-model="documentForm.corpAttnName" size="small"
+                        autocomplete="off" clearable placeholder="ATTN">
                     </el-input>
                 </el-form-item>
             </el-col>
@@ -19,195 +19,186 @@
                 <div>贵公司储运之货物:</div>
             </el-col>
             <el-col :span="12">
-                <el-form-item label="件数:" prop="corpCnName" >
-                    <el-input type="age" style="width: 100%;" v-model="documentForm.quantity"
-                              size="small" autocomplete="off" clearable placeholder="件数" >
+                <el-form-item label="件数:" prop="corpCnName">
+                    <el-input type="age" style="width: 100%;" v-model="documentForm.quantity" size="small"
+                        autocomplete="off" clearable placeholder="件数">
                     </el-input>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
-                <el-form-item label="重量:" prop="corpCnName" >
-                    <el-input type="age" style="width: 100%;" v-model="documentForm.grossWeight"
-                              size="small" autocomplete="off" clearable placeholder="重量" >
+                <el-form-item label="重量:" prop="corpCnName">
+                    <el-input type="age" style="width: 100%;" v-model="documentForm.grossWeight" size="small"
+                        autocomplete="off" clearable placeholder="重量">
                     </el-input>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
-                <el-form-item label="体积:" prop="corpCnName" >
-                    <el-input type="age" style="width: 100%;" v-model="documentForm.measurement"
-                              size="small" autocomplete="off" clearable placeholder="体积" >
+                <el-form-item label="体积:" prop="corpCnName">
+                    <el-input type="age" style="width: 100%;" v-model="documentForm.measurement" size="small"
+                        autocomplete="off" clearable placeholder="体积">
                     </el-input>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
-                <el-form-item label="箱量:" prop="corpCnName" >
-                    <el-input type="age" style="width: 100%;" v-model="documentForm.quantityCntrDescr"
-                              size="small" autocomplete="off" clearable placeholder="请输入箱量" >
+                <el-form-item label="箱量:" prop="corpCnName">
+                    <el-input type="age" style="width: 100%;" v-model="documentForm.quantityCntrDescr" size="small"
+                        autocomplete="off" clearable placeholder="请输入箱量">
                     </el-input>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
-                <el-form-item label="目的港:" prop="corpCnName" >
-                    <search-query :datalist="destinationData"
-                                  :selectValue="documentForm.destinationName"
-                                  :filterable="true"
-                                  :clearable="true"
-                                  :remote="true"
-                                  :buttonIf="false"
-                                  :forParameter="{key:'id',label:'enName',value:'enName'}"
-                                  @remoteMethod="destinationBportsListfun"
-                                  @corpChange="corpChange($event,'destinationName')"
-                                  @corpFocus="destinationBportsListfun" >
+                <el-form-item label="目的港:" prop="corpCnName">
+                    <search-query :datalist="destinationData" :selectValue="documentForm.destinationName"
+                        :filterable="true" :clearable="true" :remote="true" :buttonIf="false"
+                        :forParameter="{ key: 'id', label: 'enName', value: 'enName' }"
+                        @remoteMethod="destinationBportsListfun" @corpChange="corpChange($event, 'destinationName')"
+                        @corpFocus="destinationBportsListfun">
                     </search-query>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
-                <el-form-item label="预配船名/航次" prop="corpCnName" >
-                    <el-input type="age" style="width: 100%;" v-model="documentForm.vesselCnName"
-                              size="small" autocomplete="off" clearable placeholder="预配船名/航次" >
+                <el-form-item label="预配船名/航次" prop="corpCnName">
+                    <el-input type="age" style="width: 100%;" v-model="documentForm.vesselCnName" size="small"
+                        autocomplete="off" clearable placeholder="预配船名/航次">
                     </el-input>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
-                <el-form-item label="预计开航日:" prop="corpCnName" >
-                    <el-date-picker v-model="documentForm.etd" clearable style="width: 100%"
-                                    type="date" size="small"
-                                    value-format="yyyy-MM-dd"
-                                    placeholder="选择预计开航日/ETD">
+                <el-form-item label="预计开航日:" prop="corpCnName">
+                    <el-date-picker v-model="documentForm.etd" clearable style="width: 100%" type="date" size="small"
+                        value-format="yyyy-MM-dd" placeholder="选择预计开航日/ETD">
                     </el-date-picker>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
-                <el-form-item label="提单号" prop="corpCnName" >
-                    <el-input type="age" style="width: 100%;" v-model="documentForm.mblno"
-                              size="small" autocomplete="off" clearable placeholder="提单号" >
+                <el-form-item label="提单号" prop="corpCnName">
+                    <el-input type="age" style="width: 100%;" v-model="documentForm.mblno" size="small"
+                        autocomplete="off" clearable placeholder="提单号">
                     </el-input>
                 </el-form-item>
             </el-col>
             <el-col :span="24">
-                <el-form-item label="请于:" prop="corpCnName" >
-                    <el-date-picker v-model="documentForm.goodsTime" clearable style="width: 30%"
-                                    type="date" size="small"
-                                    value-format="yyyy-MM-dd"
-                                    placeholder="请选择时间">
+                <el-form-item label="请于:" prop="corpCnName">
+                    <el-date-picker v-model="documentForm.goodsTime" clearable style="width: 30%" type="date"
+                        size="small" value-format="yyyy-MM-dd" placeholder="请选择时间">
                     </el-date-picker>
                     <span style="margin-left: 10px">前将货物送至指定位置</span>
                 </el-form-item>
             </el-col>
             <el-col :span="24">
-                <el-form-item label="请于:" prop="corpCnName" >
-                    <el-date-picker v-model="documentForm.clearanceTime" clearable style="width: 30%"
-                                    type="date" size="small"
-                                    value-format="yyyy-MM-dd"
-                                    placeholder="请选择时间">
+                <el-form-item label="请于:" prop="corpCnName">
+                    <el-date-picker v-model="documentForm.clearanceTime" clearable style="width: 30%" type="date"
+                        size="small" value-format="yyyy-MM-dd" placeholder="请选择时间">
                     </el-date-picker>
                     <span style="margin-left: 10px">前通关</span>
                 </el-form-item>
             </el-col>
             <el-col :span="24">
                 <el-form-item label="截单和VGM截止时间:" prop="corpCnName" label-width="130px">
-                    <el-date-picker v-model="documentForm.vgmDeadline" clearable style="width: 50%"
-                                    type="date" size="small"
-                                    value-format="yyyy-MM-dd"
-                                    placeholder="请选择截单和VGM截止时间">
+                    <el-date-picker v-model="documentForm.vgmDeadline" clearable style="width: 50%" type="date"
+                        size="small" value-format="yyyy-MM-dd" placeholder="请选择截单和VGM截止时间">
                     </el-date-picker>
                 </el-form-item>
             </el-col>
             <el-col :span="24">
                 <el-form-item label="船代:" prop="corpCnName">
-                    <el-input type="age" style="width: 50%;" v-model="documentForm.bookingAgentCnName"
-                              size="small" autocomplete="off" clearable placeholder="船代" >
+                    <el-input type="age" style="width: 50%;" v-model="documentForm.bookingAgentCnName" size="small"
+                        autocomplete="off" clearable placeholder="船代">
                     </el-input>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
                 <el-form-item label="入货地点:" prop="corpCnName">
-                    <el-input type="age" style="width: 100%;" v-model="documentForm.cyCnName"
-                              size="small" autocomplete="off" clearable placeholder="请选择入货地点" >
+                    <el-input type="age" style="width: 100%;" v-model="documentForm.cyCnName" size="small"
+                        autocomplete="off" clearable placeholder="请选择入货地点">
                     </el-input>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
                 <el-form-item label="集装箱提取检查代码:" prop="corpCnName" label-width="130px">
-                    <el-input type="age" style="width: 100%;" v-model="documentForm.containerCheck"
-                              size="small" autocomplete="off" clearable placeholder="集装箱提取检查代码" >
+                    <el-input type="age" style="width: 100%;" v-model="documentForm.containerCheck" size="small"
+                        autocomplete="off" clearable placeholder="集装箱提取检查代码">
                     </el-input>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
                 <el-form-item label="联系人:" prop="corpCnName">
-                    <el-input type="age" style="width: 100%;" v-model="documentForm.cyContacts"
-                              size="small" autocomplete="off" clearable placeholder="联系人" >
+                    <el-input type="age" style="width: 100%;" v-model="documentForm.cyContacts" size="small"
+                        autocomplete="off" clearable placeholder="联系人">
                     </el-input>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
                 <el-form-item label="联系电话:" prop="corpCnName">
-                    <el-input type="age" style="width: 100%;" v-model="documentForm.cyTel"
-                              size="small" autocomplete="off" clearable placeholder="联系电话" >
+                    <el-input type="age" style="width: 100%;" v-model="documentForm.cyTel" size="small"
+                        autocomplete="off" clearable placeholder="联系电话">
                     </el-input>
                 </el-form-item>
             </el-col>
             <el-col :span="24">
                 <el-form-item label="REMARKS:" prop="corpCnName">
-                    <el-input type="textarea" style="width: 100%;" v-model="documentForm.cyRemarks"
-                              size="small" autocomplete="off" clearable placeholder="REMARKS" >
+                    <el-input type="textarea" style="width: 100%;" v-model="documentForm.cyRemarks" size="small"
+                        autocomplete="off" clearable placeholder="REMARKS">
                     </el-input>
                 </el-form-item>
             </el-col>
-            <el-col :span="24">
+            <el-col :span="12">
                 <el-form-item label="HLCL免费箱使" prop="corpCnName" label-width="95px">
-                    <el-input-number style="width: 50%;" v-model="documentForm.hlclBoxenvoy"
-                              size="small" autocomplete="off" clearable placeholder="HLCL免费箱使" :controls="false">
+                    <el-input-number style="width: 50%;" v-model="documentForm.hlclBoxenvoy" size="small"
+                        autocomplete="off" clearable placeholder="HLCL免费箱使" :controls="false">
                     </el-input-number>
                     <span style="margin-left: 10px">天</span>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
+                <el-form-item label="装货地点" prop="corpCnName" label-width="95px">
+                    <el-select v-model="documentForm.placeofStuffing" placeholder="请选择" size="small">
+                        <el-option v-for="item in placeOptions" :key="item.value" :label="item.label"
+                            :value="item.value">
+                        </el-option>
+                    </el-select>
+                </el-form-item>
+            </el-col>
+            <el-col :span="12">
                 <el-form-item label="部门:" prop="corpCnName">
-                    <tree-select v-model="documentForm.accDeptName" filterable
-                                 :data="departmentData"
-                                 :props="{label: 'title', children:'children'}"
-                                 nodeKey="title"
-                                 size="small"
-                                 :multiple="false"
-                                 placeholder="请选择部门"
-                                 @input="corpChange($event,'department')">
+                    <tree-select v-model="documentForm.accDeptName" filterable :data="departmentData"
+                        :props="{ label: 'title', children: 'children' }" nodeKey="title" size="small" :multiple="false"
+                        placeholder="请选择部门" @input="corpChange($event, 'department')">
                     </tree-select>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
                 <el-form-item label="FAX:" prop="corpCnName">
-                    <el-input type="age" style="width: 100%;" v-model="documentForm.fax"
-                              size="small" autocomplete="off" clearable placeholder="FAX" >
+                    <el-input type="age" style="width: 100%;" v-model="documentForm.fax" size="small" autocomplete="off"
+                        clearable placeholder="FAX">
                     </el-input>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
                 <el-form-item label="操作:" prop="corpCnName">
-                    <el-input type="age" style="width: 100%;" v-model="documentForm.operatorName"
-                              size="small" autocomplete="off" clearable placeholder="操作" >
+                    <el-input type="age" style="width: 100%;" v-model="documentForm.operatorName" size="small"
+                        autocomplete="off" clearable placeholder="操作">
                     </el-input>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
                 <el-form-item label="EMAIL:" prop="corpCnName">
-                    <el-input type="age" style="width: 100%;" v-model="documentForm.ematl"
-                              size="small" autocomplete="off" clearable placeholder="EMAIL" >
+                    <el-input type="age" style="width: 100%;" v-model="documentForm.ematl" size="small"
+                        autocomplete="off" clearable placeholder="EMAIL">
                     </el-input>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
                 <el-form-item label="TEL:" prop="corpCnName">
-                    <el-input type="age" style="width: 100%;" v-model="documentForm.tel"
-                              size="small" autocomplete="off" clearable placeholder="TEL" >
+                    <el-input type="age" style="width: 100%;" v-model="documentForm.tel" size="small" autocomplete="off"
+                        clearable placeholder="TEL">
                     </el-input>
                 </el-form-item>
             </el-col>
             <el-col :span="12">
                 <el-form-item label="手机:" prop="corpCnName">
-                    <el-input type="age" style="width: 100%;" v-model="documentForm.mobilePhone"
-                              size="small" autocomplete="off" clearable placeholder="手机" >
+                    <el-input type="age" style="width: 100%;" v-model="documentForm.mobilePhone" size="small"
+                        autocomplete="off" clearable placeholder="手机">
                     </el-input>
                 </el-form-item>
             </el-col>
@@ -219,38 +210,45 @@
 
 <script>
 import SearchQuery from "@/components/iosbasic-data/searchquery.vue";
-import {bportsList} from "@/api/iosBasicData/bports";
-import {getLazyList,getDeptTree} from "@/api/system/dept";
+import { bportsList } from "@/api/iosBasicData/bports";
+import { getLazyList, getDeptTree } from "@/api/system/dept";
 import TreeSelect from "@/components/iosbasic-data/TreeSelect.vue";
 
 export default {
-    components: {TreeSelect, SearchQuery},
-    data(){
+    components: { TreeSelect, SearchQuery },
+    data() {
         return {
-            destinationData:[], // 目的港数据
-            departmentData:[], // 部门
+            destinationData: [], // 目的港数据
+            departmentData: [], // 部门
+            placeOptions: [{
+                value: '工厂装',
+                label: '工厂装'
+            }, {
+                value: '码头装灯',
+                label: '码头装灯'
+            }]
         }
     },
-    props:{
+    props: {
         // 表单对象
-        documentForm:{
-            type:Object,
-            default:{}
+        documentForm: {
+            type: Object,
+            default: {}
         },
 
     },
     created() {
         this.getLazylistfun()
     },
-    methods:{
-        corpChange(value,name){
+    methods: {
+        corpChange(value, name) {
             if (name == 'destinationName') {
-                for(let item of this.destinationData) {
+                for (let item of this.destinationData) {
                     if (item.enName == value) {
-                        this.$set(this.documentForm,'destinationId',item.id)
-                        this.$set(this.documentForm,'destinationName',item.enName)
-                        this.$set(this.documentForm,'destinationCode',item.code)
-                        this.$set(this.documentForm,'destinationNamePrint',item.enName)
+                        this.$set(this.documentForm, 'destinationId', item.id)
+                        this.$set(this.documentForm, 'destinationName', item.enName)
+                        this.$set(this.documentForm, 'destinationCode', item.code)
+                        this.$set(this.documentForm, 'destinationNamePrint', item.enName)
                     }
                 }
             } else if (name == 'department') {
@@ -268,19 +266,19 @@ export default {
                     })
                 }
 
-            }else {
-                this.$set(this.documentForm,name,value)
+            } else {
+                this.$set(this.documentForm, name, value)
             }
         },
         // 目的地
-        destinationBportsListfun(enName){
-            bportsList(1,10,{enName,status: 0}).then(res=>{
+        destinationBportsListfun(enName) {
+            bportsList(1, 10, { enName, status: 0 }).then(res => {
                 this.destinationData = res.data.data.records
             })
         },
         // 获取机构管理接口
-        getLazylistfun(){
-            getDeptTree().then(res=>{
+        getLazylistfun() {
+            getDeptTree().then(res => {
                 this.departmentData = res.data.data
             })
         },

+ 17 - 1
src/views/iosBasicData/AirtransportImport/bills/assembly/reportformsFrame/PurchaseNotice.vue

@@ -142,7 +142,7 @@
                     </el-input>
                 </el-form-item>
             </el-col>
-            <el-col :span="24">
+            <el-col :span="12">
                 <el-form-item label="HLCL免费箱使" prop="corpCnName" label-width="95px">
                     <el-input-number style="width: 50%;" v-model="documentForm.hlclBoxenvoy" size="small"
                         autocomplete="off" clearable placeholder="HLCL免费箱使" :controls="false">
@@ -150,6 +150,15 @@
                     <span style="margin-left: 10px">天</span>
                 </el-form-item>
             </el-col>
+                <el-col :span="12">
+                <el-form-item label="装货地点" prop="corpCnName" label-width="95px">
+                    <el-select v-model="documentForm.placeofStuffing" placeholder="请选择" size="small">
+                        <el-option v-for="item in placeOptions" :key="item.value" :label="item.label"
+                            :value="item.value">
+                        </el-option>
+                    </el-select>
+                </el-form-item>
+            </el-col>
             <el-col :span="12">
                 <el-form-item label="部门:" prop="corpCnName">
                     <tree-select v-model="documentForm.accDeptName" filterable :data="departmentData"
@@ -211,6 +220,13 @@ export default {
         return {
             destinationData: [], // 目的港数据
             departmentData: [], // 部门
+            placeOptions: [{
+                value: '工厂装',
+                label: '工厂装'
+            }, {
+                value: '码头装灯',
+                label: '码头装灯'
+            }]
         }
     },
     props: {

+ 17 - 1
src/views/iosBasicData/OceanFreightImport/bills/assembly/reportformsFrame/PurchaseNotice.vue

@@ -148,7 +148,7 @@
                     </el-input>
                 </el-form-item>
             </el-col>
-            <el-col :span="24">
+            <el-col :span="12">
                 <el-form-item label="HLCL免费箱使" prop="corpCnName" label-width="95px">
                     <el-input-number style="width: 50%;" v-model="documentForm.hlclBoxenvoy" size="small"
                         autocomplete="off" clearable placeholder="HLCL免费箱使" :controls="false">
@@ -156,6 +156,15 @@
                     <span style="margin-left: 10px">天</span>
                 </el-form-item>
             </el-col>
+                <el-col :span="12">
+                <el-form-item label="装货地点" prop="corpCnName" label-width="95px">
+                    <el-select v-model="documentForm.placeofStuffing" placeholder="请选择" size="small">
+                        <el-option v-for="item in placeOptions" :key="item.value" :label="item.label"
+                            :value="item.value">
+                        </el-option>
+                    </el-select>
+                </el-form-item>
+            </el-col>
             <el-col :span="12">
                 <el-form-item label="部门:" prop="corpCnName">
                     <tree-select v-model="documentForm.accDeptName" filterable :data="departmentData"
@@ -217,6 +226,13 @@ export default {
         return {
             destinationData: [], // 目的港数据
             departmentData: [], // 部门
+            placeOptions: [{
+                value: '工厂装',
+                label: '工厂装'
+            }, {
+                value: '码头装灯',
+                label: '码头装灯'
+            }]
         }
     },
     props: {

+ 17 - 1
src/views/iosBasicData/SeafreightExportF/bills/assembly/reportformsFrame/PurchaseNotice.vue

@@ -181,7 +181,7 @@
                     </el-input>
                 </el-form-item>
             </el-col>
-            <el-col :span="24">
+            <el-col :span="12">
                 <el-form-item label="HLCL免费箱使" prop="corpCnName" label-width="95px">
                     <el-input-number style="width: 50%;" v-model="documentForm.hlclBoxenvoy" size="small"
                         autocomplete="off" clearable placeholder="HLCL免费箱使" :controls="false">
@@ -190,6 +190,15 @@
                 </el-form-item>
             </el-col>
             <el-col :span="12">
+                <el-form-item label="装货地点" prop="corpCnName" label-width="95px">
+                    <el-select v-model="documentForm.placeofStuffing" placeholder="请选择" size="small">
+                        <el-option v-for="item in placeOptions" :key="item.value" :label="item.label"
+                            :value="item.value">
+                        </el-option>
+                    </el-select>
+                </el-form-item>
+            </el-col>
+            <el-col :span="12">
                 <el-form-item label="部门:" prop="corpCnName">
                     <tree-select v-model="documentForm.accDeptName" filterable :data="departmentData"
                         :props="{ label: 'title', children: 'children' }" nodeKey="title" size="small" :multiple="false"
@@ -250,6 +259,13 @@ export default {
         return {
             destinationData: [], // 目的港数据
             departmentData: [], // 部门
+            placeOptions: [{
+                value: '工厂装',
+                label: '工厂装'
+            }, {
+                value: '码头装灯',
+                label: '码头装灯'
+            }]
         }
     },
     props: {

+ 0 - 1
src/views/iosBasicData/SeafreightExportF/bills/index.vue

@@ -79,7 +79,6 @@
                     <el-button type="success" size="small" @click="checkBills" :disabled="!selectionList.length">
                         {{ $t("btn118n.apply") }}
                     </el-button>
-
                     <el-dropdown style="line-height: 0">
                         <el-button size="small" type="success" style="margin-right: 8px"
                             :disabled="selectionList.length == 0">

+ 6 - 6
src/views/iosBasicData/businessCenter/customerBooking/detailsPage.vue

@@ -163,9 +163,9 @@
                         :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
                         <dic-select v-model="form.polCnName" placeholder="起运港" key="id" label="cnName" res="records"
                           url="/blade-los/bports/list?current=1&size=5" :filterable="true" :remote="true"
-                          dataName="cnName" @selectChange="dicChange('polCnName', $event)" :disabled="editDisabled"
+                          dataName="cnName" @selectChange="dicChange('polCnName', $event)" :disabled="editDisabled||!flxDisabled"
                           :slotRight="true" rightLabel="code"></dic-select>
-                        <el-input style="width: 100%;" v-model="form.polNamePrint" size="small" :disabled="editDisabled"
+                        <el-input style="width: 100%;" v-model="form.polNamePrint" size="small" :disabled="editDisabled||!flxDisabled"
                           clearable placeholder="装货港" @change="textareaBlur2('polNamePrint', $event)"></el-input>
                       </el-form-item>
                     </el-col>
@@ -174,9 +174,9 @@
                         :rules="[{ required: true, message: ' ', trigger: 'blur' }]">
                         <dic-select v-model="form.podCnName" placeholder="卸货港" key="id" label="cnName" res="records"
                           url="/blade-los/bports/list?current=1&size=5" :filterable="true" :remote="true"
-                          dataName="cnName" @selectChange="dicChange('podCnName', $event)" :disabled="editDisabled"
+                          dataName="cnName" @selectChange="dicChange('podCnName', $event)" :disabled="editDisabled||!flxDisabled"
                           :slotRight="true" rightLabel="code"></dic-select>
-                        <el-input style="width: 100%;" v-model="form.podNamePrint" size="small" :disabled="editDisabled"
+                        <el-input style="width: 100%;" v-model="form.podNamePrint" size="small" :disabled="editDisabled||!flxDisabled"
                           clearable placeholder="卸货港" @change="textareaBlur2('podNamePrint', $event)"></el-input>
                       </el-form-item>
                     </el-col>
@@ -187,9 +187,9 @@
                         <dic-select v-model="form.placeDeliveryName" placeholder="交货地" key="id" label="cnName"
                           res="records" url="/blade-los/bports/list?current=1&size=5" :filterable="true" :remote="true"
                           dataName="cnName" @selectChange="dicChange('placeDeliveryName', $event)"
-                          :disabled="editDisabled" :slotRight="true" rightLabel="code"></dic-select>
+                          :disabled="editDisabled||!flxDisabled" :slotRight="true" rightLabel="code"></dic-select>
                         <el-input style="width: 100%;" v-model="form.placeDeliveryNamePrint" size="small"
-                          :disabled="editDisabled" clearable placeholder="交货地"
+                          :disabled="editDisabled||!flxDisabled" clearable placeholder="交货地"
                           @change="textareaBlur2('placeDeliveryNamePrint', $event)"></el-input>
                       </el-form-item>
                     </el-col>

+ 6 - 6
src/views/iosBasicData/businessCenter/customerLetter/index.vue

@@ -184,6 +184,12 @@ export default {
                             res: 'data.records'
                         },
                     },
+                    {
+                        label: "箱型箱量",
+                        prop: "quantityCntrDescr",
+                        width: "80",
+                        overHidden: true,
+                    },
                     // {
                     //     label: "单据状态",
                     //     prop: "issueStatus",
@@ -290,12 +296,6 @@ export default {
                         overHidden: true,
                     },
                     {
-                        label: "箱型箱量",
-                        prop: "quantityCntrDescr",
-                        width: "80",
-                        overHidden: true,
-                    },
-                    {
                         label: '件数',
                         prop: "quantity",
                         width: "100",

+ 844 - 0
src/views/iosBasicData/financialManagement/reimbursement/detailsPage.vue

@@ -0,0 +1,844 @@
+<template>
+  <div>
+    <div class="customer-head">
+      <div class="customer-back">
+        <el-button type="danger" style="border: none;background: none;color: red" icon="el-icon-arrow-left"
+          @click="goBack()">返回列表
+        </el-button>
+      </div>
+      <div class="add-customer-btn">
+        <el-button class="el-button--small-yh" style="margin-left: 6px;" type="primary" size="small" v-if="editButton"
+          :disabled="showLock || !(roleName.indexOf('admin') != -1 || roleName.indexOf('允许修改他人业务') != -1 || saberUserInfo.user_id == form.createUser)"
+          @click="inEdit">编 辑
+        </el-button>
+        <el-button class="el-button--small-yh" v-else style="margin-left: 6px;" type="primary" size="small"
+          :disabled="editDisabled" @click="submit">保 存
+        </el-button>
+        <el-button type="success" size="small" v-if="form.status == 3 && form.settlementStatus != 1"
+          @click.stop="confirm">确认付费</el-button>
+        <el-button type="danger" size="small" v-if="form.settlementStatus == 1" @click.stop="revoke">撤销确认付费</el-button>
+        <el-button type="success" size="small" v-if="form.id && form.status == 0"
+          @click.stop="application">请核</el-button>
+        <el-button v-if="form.status == 1" class="el-button--small-yh" style="margin-left: 6px;" type="danger"
+          size="small" @click="revokeApplication">撤销单据请核
+        </el-button>
+        <el-dropdown style="line-height: 0">
+          <el-button class="el-button--small-yh" style="margin-left: 6px;" type="warning" :disabled="!form.id"
+            size="small">
+            审 批<i class="el-icon-arrow-down el-icon--right"></i>
+          </el-button>
+          <el-dropdown-menu slot="dropdown">
+            <el-dropdown-item @click.native="checkScheduleDialog = true, checkId = form.id">审核进度
+            </el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
+      </div>
+    </div>
+    <div style="margin-top: 50px">
+      <el-tabs type="border-card">
+        <el-tab-pane label="经办人信息">
+          <trade-card title="经办人信息">
+            <avue-form :option="optionForm" v-model="form" ref="form">
+              <tempalte slot="branchName">
+                <dic-select v-model="form.branchName" placeholder="所属公司" key="id" label="deptName"
+                  url="/blade-system/dept/top-list" :filterable="true" :remote="true" dataName="deptName"
+                  :disabled="editDisabled || !(roleName.includes('admin') || roleName.includes('总部'))"
+                  @selectChange="dicChange('branchName', $event)"></dic-select>
+              </tempalte>
+              <tempalte slot="applicantName">
+                <dic-select v-model="form.applicantName" placeholder="申请人" key="id" label="realName" res="records"
+                  url="/blade-user/page?current=1&size=5" :filterable="true" :remote="true" dataName="realName"
+                  @selectChange="dicChange('applicantName', $event)" :disabled="editDisabled"></dic-select>
+              </tempalte>
+            </avue-form>
+          </trade-card>
+          <trade-card title="营业费用明细">
+            <avue-crud :option="option" :data="form.operatingExpensesItemList" id="out-table" ref="crud"
+              :header-cell-class-name="headerClassName" :row-style="{ height: '20px', padding: '0px' }"
+              :cell-style="{ height: '20px', padding: '0px' }" @selection-change="selectionChange"
+              @select="selectHandle" @row-update="rowUpdate"
+              @resetColumn="resetColumn('crud', 'option', 'optionBack', 531)"
+              @saveColumn="saveColumn('crud', 'option', 'optionBack', 531)">
+              <template slot="indexHeader" slot-scope="{row,index}">
+                <el-button type="primary" size="mini" icon="el-icon-plus"
+                  :disabled="editDisabled || form.buxStaus == '已确认'" circle @click="addRow()">
+                </el-button>
+              </template>
+              <template slot="index" slot-scope="{row,index}">
+                <span>{{ index + 1 }}</span>
+              </template>
+              <template slot="priceForm" slot-scope="{ row }">
+                <el-input-number v-if="row.$cellEdit && !(row.automaticGenerated == 1)" v-model="row.price"
+                  :controls="false" placeholder="请输入 成本价" size="small" style="width: 100%;" :precision="2"
+                  @change="countChange(row)"></el-input-number>
+                <span v-else>{{ row.price }}</span>
+              </template>
+              <template slot="quantityForm" slot-scope="{ row }">
+                <el-input-number v-if="row.$cellEdit && !(row.automaticGenerated == 1)" v-model="row.quantity"
+                  :controls="false" placeholder="请输入 成本价" size="small" style="width: 100%;" :precision="0"
+                  @change="countChange(row)"></el-input-number>
+                <span v-else>{{ row.quantity }}</span>
+              </template>
+              <template slot="menu" slot-scope="{ row, index }">
+                <el-button size="small" type="text" @click="rowEdit(row)" :disabled="editDisabled">
+                  {{ row.$cellEdit ? '保存' : '编辑' }}
+                </el-button>
+                <el-button size="small" type="text" @click="rowDel(row, index)" :disabled="editDisabled">删除</el-button>
+              </template>
+            </avue-crud>
+          </trade-card>
+          <trade-card title="付款信息">
+            <avue-form :option="optionForm2" v-model="form" ref="form2">
+            </avue-form>
+          </trade-card>
+        </el-tab-pane>
+        <el-tab-pane label="文件中心">
+          <containerTitle title="上传附件"></containerTitle>
+          <c-upload :data="form.filesCenterList" :enumerationValue="76"
+            deleteUrl="/api/blade-los/tradingBoxFiles/remove" display :disabled="editButton"></c-upload>
+        </el-tab-pane>
+      </el-tabs>
+    </div>
+    <business-reports :id="form.id" :itemIds="itemIds" ref="print" businessValue="MYDL" :type="true"></business-reports>
+    <business-reports :id="form.id" :itemIds="itemCIds" ref="printC" businessValue="MYDL" classifyCode="费用"
+      groupCode="应付" :selecList="selectionfeecList"></business-reports>
+    <reports :id="form.id" :assemblyForm="form" businessValue="MYDL" ref="report"></reports>
+    <!--审核弹窗-->
+    <el-dialog append-to-body title="审批进度" class="el-dialogDeep" :visible.sync="checkScheduleDialog" width="40%"
+      :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false" v-dialog-drag>
+      <check-schedule :checkId="checkId" :batchNo="batchNo" @choceScheduleFun="choceScheduleFun"></check-schedule>
+    </el-dialog>
+    <el-dialog title="导入数据" append-to-body :visible.sync="excelBox" width="555px" :close-on-click-modal="false"
+      v-dialog-drag>
+      <avue-form :option="excelOption" v-model="excelForm" :table-loading="excelLoading" :upload-before="uploadBefore"
+        :upload-after="onSuccess">
+        <template slot="excelTemplate">
+          <el-button type="primary" @click="handleGet">
+            点击下载<i class="el-icon-download el-icon--right"></i>
+          </el-button>
+        </template>
+      </avue-form>
+      <p style="text-align: center;color: #DC0505">
+        温馨提示 第一次导入时请先下载模板
+      </p>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {
+  detail,
+  submit,
+  pleaseCheck,
+  repealCancel,
+  itemRemove,
+  copyAgent,
+  confirm,
+  revoke,
+} from "@/api/iosBasicData/reimbursement.js";
+import dicSelect from "@/components/dicSelect/main";
+import checkSchedule from "@/components/checkH/checkSchedule.vue";
+import businessReports from "@/components/tradeAgency/businessReports.vue";
+import reports from "@/components/tradeAgency/reports.vue";
+import feeModify from "@/components/feeModify/boxMain.vue";
+import feeModifyView from "@/components/feeModify/view.vue";
+import { dateFormat } from "@/util/date";
+import { getToken } from "@/util/auth";
+import _ from "lodash";
+import { getUserInfo } from "@/api/system/user";
+import { Header } from "element-ui";
+export default {
+  name: "detailsPage",
+  data() {
+    return {
+      excelBox: false,
+      excelForm: {},
+      excelLoading: false,
+      excelOption: {
+        submitBtn: false,
+        emptyBtn: false,
+        column: [
+          {
+            label: "模板下载",
+            prop: "excelTemplate",
+            formslot: true,
+            span: 24
+          },
+          {
+            label: "模板上传",
+            prop: "excelFile",
+            type: "upload",
+            drag: true,
+            loadText: "模板上传中,请稍等",
+            span: 24,
+            propsHttp: {
+              res: "data"
+            },
+            tip: "请上传 .xls,.xlsx 标准格式文件",
+            action: "/api/blade-los/tradingBoxItem/importBoxItem"
+          }
+        ]
+      },
+      checkId: '', // 审核需要的id
+      batchNo: '',
+      checkScheduleDialog: false, // 审核弹窗
+      editButton: false,
+      editDisabled: false,
+      form: {
+        type: 'YYFY',
+        applicantDate: dateFormat(new Date(), "yyyy-MM-dd") + " 00:00:00",
+        // branchId: JSON.parse(localStorage.getItem('sysitemData')).deptId,
+        // branchName: JSON.parse(localStorage.getItem('sysitemData')).deptName,
+        settlementStatus: '0',
+        operatingExpensesItemList: [],
+        filesCenterLis: [],
+      },
+      oldForm: {},
+      optionForm: {
+        menuBtn: false,
+        span: 6,
+        disabled: false,
+        labelWidth: 100,
+        column: [
+          {
+            label: "所属公司 ",
+            prop: 'branchName',
+            disabled: false
+          },
+          {
+            label: '申请人',
+            prop: 'applicantName',
+            rules: [{
+              required: true,
+              message: " ",
+              trigger: "blur"
+            }],
+            disabled: false
+          },
+          {
+            label: '申请日期',
+            prop: 'applicantDate',
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd HH:mm:ss",
+            rules: [{
+              required: true,
+              message: " ",
+              trigger: "blur"
+            }],
+            disabled: false
+          },
+          {
+            label: '开户行',
+            prop: 'bankOfDeposit',
+            disabled: false,
+          },
+          {
+            label: '银行户头',
+            prop: 'bankAccount',
+            disabled: false,
+          },
+          {
+            label: '账号',
+            prop: 'account',
+            disabled: false,
+          },
+          {
+            label: '支付方式',
+            prop: 'paymentMethod',
+            type: "select",
+            dicUrl: "/api/blade-system/dict-biz/dictionary?code=payment_method",
+            props: {
+              label: "dictValue",
+              value: "dictValue"
+            },
+            disabled: false
+          },
+          {
+            label: '金额',
+            prop: 'amount',
+            disabled: true,
+          },
+          {
+            label: '备注',
+            prop: 'remarks',
+            type: 'textarea',
+            minRows: 2,
+            span: 24
+          }]
+      },
+      optionForm2: {
+        menuBtn: false,
+        span: 6,
+        disabled: true,
+        labelWidth: 100,
+        column: [
+          {
+            label: '单据编号',
+            prop: 'billNo',
+            disabled: true
+          },
+          {
+            label: '结算人',
+            prop: 'settlementPersonName',
+            disabled: true
+          },
+          {
+            label: '结算日期',
+            prop: 'settlementDate',
+            disabled: true
+          },
+          {
+            label: '结算状态',
+            prop: 'settlementStatus',
+            disabled: true,
+            type: 'select',
+            dicData: [{
+              label: '未确认付费',
+              value: '0'
+            }, {
+              label: '已确认付费',
+              value: '1'
+            }]
+          },
+          {
+            label: '制单人',
+            prop: "createUserName",
+            disabled: true,
+            span: 4,
+          },
+          {
+            label: '制单日期',
+            prop: "createTime",
+            disabled: true,
+          },
+          {
+            label: '修改人',
+            prop: "updateUserName",
+            disabled: true,
+            span: 4,
+          },
+          {
+            label: '修改日期',
+            prop: "updateTime",
+            disabled: true,
+            span: 4,
+          }
+        ]
+      },
+      option: {},
+      optionBack: {
+        // height: 'auto',
+        maxHeight: 340,
+        calcHeight: 30,
+        menuWidth: 120,
+        searchMenuSpan: 18,
+        tip: false,
+        border: true,
+        addBtn: false,
+        viewBtn: false,
+        editBtn: false,
+        delBtn: false,
+        refreshBtn: false,
+        selection: true,
+        align: 'center',
+        menu: true,
+        column: [
+          {
+            label: "index",
+            prop: "index",
+            width: "55",
+            fixed: true,
+            headerslot: true,
+          },
+          {
+            label: '费用归属人',
+            prop: 'costOwner',
+            width: 140,
+            cell: true,
+            overHidden: true,
+            rules: [{
+              required: true,
+              message: "请输入箱号",
+              trigger: "blur"
+            }]
+          },
+          {
+            label: '摘要说明',
+            prop: 'summaryDescription',
+            cell: true,
+            overHidden: true,
+            width: 100
+          },
+          {
+            label: '单价',
+            prop: 'price',
+            width: 100,
+            cell: true,
+            slot: true,
+            formslot: true,
+            overHidden: true,
+          },
+          {
+            label: '数量',
+            prop: 'quantity',
+            width: 100,
+            cell: true,
+            slot: true,
+            formslot: true,
+            overHidden: true,
+          },
+          {
+            label: '金额',
+            prop: 'amount',
+            width: 100,
+            overHidden: true,
+          },
+          {
+            label: "制单人",
+            prop: "createUserName",
+            overHidden: true,
+          },
+          {
+            label: "制单日期",
+            prop: "createTime",
+            type: "date",
+            overHidden: true,
+            width: 120,
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd HH:mm:ss"
+          },
+          {
+            label: "修改人",
+            prop: "updateUserName",
+            overHidden: true,
+          },
+          {
+            label: "修改日期",
+            prop: "updateTime",
+            type: "date",
+            overHidden: true,
+            width: 120,
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd HH:mm:ss"
+          },
+          {
+            label: '备注',
+            prop: 'remarks',
+            cell: true,
+            width: 150,
+            overHidden: true,
+          }]
+      },
+      roleName: localStorage.getItem('roleName').split(','),
+      updateSearchKey: new Date().getTime(),
+      updateFormKey: new Date().getTime(),
+      deptId: JSON.parse(localStorage.getItem('sysitemData')).deptId
+    }
+  },
+  components: {
+    dicSelect,
+    checkSchedule,
+    businessReports,
+    reports,
+    feeModify,
+    feeModifyView
+  },
+  props: {
+    detailData: Object
+  },
+  async created() {
+    this.option = await this.getColumnData(this.getColumnName(531), this.optionBack);
+    if (this.detailData && this.detailData.type == 'new') {
+      this.initData()
+    }
+    if (this.detailData && this.detailData.id) {
+      this.editButton = true
+      this.editDisabled = true
+      this.optionForm.disabled = true
+      this.getDetail(this.detailData.id)
+    }
+    if (this.$route.query.params) {
+      this.getDetail(this.$route.query.params)
+    }
+    if (this.detailData && this.detailData.copyId) {
+      this.getCopydate(this.detailData.copyId)
+    }
+  },
+  methods: {
+    initData() {
+      getUserInfo().then(res => {
+        this.$set(this.form, 'applicantId', res.data.data.id);
+        this.$set(this.form, 'applicantName', res.data.data.realName);
+        this.$set(this.form, 'branchId', res.data.data.deptId);
+        this.$set(this.form, 'branchName', res.data.data.deptName);
+        this.$set(this.form, 'bankOfDeposit', res.data.data.bankDeposit);
+        this.$set(this.form, 'bankAccount', res.data.data.bankAccount);
+        this.$set(this.form, 'account', res.data.data.reimburseNumber);
+      })
+    },
+    countChange(row) {
+      row.amount = _.round(_.multiply(Number(row.price ? row.price : 0), Number(row.quantity ? row.quantity : 0)), 2)
+    },
+    uploadBefore(file, done, loading) {
+      done();
+      loading = true;
+    },
+    // 上传成功
+    onSuccess(res, done, loading, column) {
+      if (res.length > 0) {
+        this.$message.success("上传成功!");
+      }
+      this.excelBox = false;
+      // this.$message.success("导入成功!");
+      this.getDetail(this.form.id)
+      loading = false;
+      done();
+    },
+    // 下载模板
+    handleGet() {
+      window.open(
+        `/api/blade-los/tradingBoxItem/boxItemTemplate?${this.website.tokenHeader
+        }=${getToken()}&type=4`
+      );
+    },
+    dicChange(name, row) {
+      if (name == 'branchName') {
+        if (row) {
+          this.form.branchId = row.id
+        } else {
+          this.form.branchId = null
+          this.form.branchName = null
+        }
+      }
+      if (name == 'applicantName') {
+        if (row) {
+          this.form.applicantId = row.id
+          this.$set(this.form, 'bankOfDeposit', row.bankDeposit);
+          this.$set(this.form, 'bankAccount', row.bankAccount);
+          this.$set(this.form, 'account', row.reimburseNumber);
+        } else {
+          this.form.applicantId = null
+          this.form.applicantName = null
+          this.$set(this.form, 'bankOfDeposit', null);
+          this.$set(this.form, 'bankAccount', null);
+          this.$set(this.form, 'account', null);
+        }
+      }
+    },
+    rowDicChange(name, row, el, index) {
+      if (name == 'feeCnName') {
+        if (row) {
+          el.feeId = row.id
+          el.feeCode = row.code
+        } else {
+          el.feeId = null
+          el.feeCode = null
+          el.feeCnName = null
+        }
+      }
+    },
+    rowEdit(row) {
+      if (row.$cellEdit == true) {
+        this.$set(row, "$cellEdit", false);
+      } else {
+        this.$set(row, "$cellEdit", true);
+      }
+    },
+    async addRow() {
+      this.form.operatingExpensesItemList.push({
+        costOwner: this.form.applicantName,
+        $cellEdit: true
+      })
+    },
+    selectionChange(list) {
+      this.selectionList = list;
+    },
+    getDetail(id) {
+      const loading = this.$loading({
+        lock: true,
+        text: '加载中',
+        spinner: 'el-icon-loading',
+        background: 'rgba(255,255,255,0.7)'
+      });
+      detail({ id: id }).then(res => {
+        if (res.data.data.status != 0){
+          this.editButton=true
+          this.editDisabled = true
+          this.optionForm.disabled = true
+        }
+        this.form = res.data.data
+      }).finally(() => {
+        loading.close()
+      })
+    },
+    getCopydate(id) {
+      const loading = this.$loading({
+        lock: true,
+        text: '加载中',
+        spinner: 'el-icon-loading',
+        background: 'rgba(255,255,255,0.7)'
+      });
+      copyAgent({ id: id }).then(res => {
+        this.form = res.data.data
+      }).finally(() => {
+        loading.close()
+      })
+    },
+    inEdit() {
+      this.editButton = false
+      if (this.form.status == 0) {
+        this.editDisabled = false
+        this.optionForm.disabled = false
+      }
+    },
+    rowDel(row, index) {
+      this.$confirm("确定删除数据?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        if (row.id) {
+          itemRemove({ ids: row.id }).then(res => {
+            this.form.operatingExpensesItemList.splice(index, 1);
+            this.$message.success("成功删除");
+          })
+        } else {
+          this.form.operatingExpensesItemList.splice(index, 1);
+        }
+      });
+    },
+    allClick(name) {
+    },
+    submit(type) {
+      this.$refs["form"].validate((valid, done) => {
+        done();
+        if (valid) {
+          let obj = {
+            ...this.form
+          }
+          const loading = this.$loading({
+            lock: true,
+            text: '加载中',
+            spinner: 'el-icon-loading',
+            background: 'rgba(255,255,255,0.7)'
+          });
+          submit(obj).then(res => {
+            this.$message.success("保存成功");
+            this.getDetail(res.data.data.id)
+          }).finally(() => {
+            loading.close();
+          })
+
+        } else {
+          return false;
+        }
+      });
+    },
+    confirm() {
+      this.$confirm("是否确认付费?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        const loading = this.$loading({
+          lock: true,
+          text: '加载中',
+          spinner: 'el-icon-loading',
+          background: 'rgba(255,255,255,0.7)'
+        });
+        confirm(this.form).then(res => {
+          this.$message.success("操作成功");
+          this.getDetail(res.data.data.id)
+        }).finally(() => {
+          loading.close();
+        })
+      });
+    },
+    revoke() {
+      this.$confirm("是否撤销付费?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        const loading = this.$loading({
+          lock: true,
+          text: '加载中',
+          spinner: 'el-icon-loading',
+          background: 'rgba(255,255,255,0.7)'
+        });
+        revoke(this.form).then(res => {
+          this.$message.success("操作成功");
+          this.getDetail(res.data.data.id)
+        }).finally(() => {
+          loading.close();
+        })
+      });
+    },
+    application() {
+      this.$confirm("是否请核数据?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        let obj = {}
+        obj = {
+          id: this.form.id,
+          url: '/iosBasicData/financialManagement/reimbursement/index',
+          pageStatus: '',
+          pageLabel: '营业费用(N)',
+        }
+        const loading = this.$loading({
+          lock: true,
+          text: '加载中',
+          spinner: 'el-icon-loading',
+          background: 'rgba(255,255,255,0.7)'
+        });
+        pleaseCheck(obj).then(res => {
+          this.$message.success("请核成功");
+          this.getDetail(res.data.data.id)
+        }).finally(() => {
+          loading.close();
+        })
+      });
+    },
+    revokeApplication() {
+      this.$confirm("是否撤销请核?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        let obj = {}
+        obj = {
+          id: this.form.id,
+        }
+        const loading = this.$loading({
+          lock: true,
+          text: '加载中',
+          spinner: 'el-icon-loading',
+          background: 'rgba(255,255,255,0.7)'
+        });
+        repealCancel(obj).then(res => {
+          this.$message.success("撤销请核成功");
+          this.getDetail(res.data.data.id)
+          this.editDisabled = false
+        }).finally(() => {
+          loading.close();
+        })
+      });
+    },
+    //请核关闭
+    choceScheduleFun() {
+      this.checkScheduleDialog = false
+    },
+    //自定义列保存
+    async saveColumn(ref, option, optionBack, code) {
+      const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
+      if (inSave) {
+        this.$message.success("保存成功");
+        //关闭窗口
+        this.$refs[ref].$refs.dialogColumn.columnBox = false;
+      }
+    },
+    //自定义列重置
+    async resetColumn(ref, option, optionBack, code) {
+      this[option] = this[optionBack];
+      const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
+      if (inSave) {
+        this.$message.success("重置成功");
+        this.$refs[ref].$refs.dialogColumn.columnBox = false;
+      }
+    },
+    // 更改表格颜色
+    headerClassName(tab) {
+      //颜色间隔
+      let back = ""
+      if (tab.columnIndex >= 0 && tab.column.level === 1) {
+        if (tab.columnIndex % 2 === 0) {
+          back = "back-one"
+        } else if (tab.columnIndex % 2 === 1) {
+          back = "back-two"
+        }
+      }
+      return back;
+    },
+    goBack(type) {
+      this.$emit("goBack");
+    },
+  },
+  watch: {
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+::v-deep .el-form-item__error {
+  display: none !important;
+}
+
+::v-deep .el-form-item {
+  margin-bottom: 8px !important;
+}
+
+::v-deep .el-table .cell {
+  padding: 0 2px !important;
+
+  .el-form-item {
+    margin-bottom: 0px !important;
+  }
+
+}
+
+::v-deep .avue-crud .el-table .el-form-item__label {
+  left: -1px;
+}
+
+// ::v-deep#out-table .back-one {
+//     background: #ecf5ff !important;
+// }
+
+// ::v-deep#out-table .back-two {
+//     background: #ecf5ff !important;
+// }
+
+::v-deep #out-table .back-one {
+  background: #ecf5ff !important;
+  text-align: center;
+  padding: 4px 0;
+}
+
+::v-deep #out-table .back-two {
+  background: #ecf5ff !important;
+  text-align: center;
+  padding: 4px 0;
+}
+
+
+::v-deep .el-table--small td,
+.el-table--small th {
+  padding: 2px !important;
+}
+
+::v-deep .el-card__body {
+  padding: 3px 10px;
+}
+
+::v-deep .box-card .el-card__body {
+  padding: 4px !important;
+}
+
+.disabledBox {
+  display: flex;
+  align-items: center;
+}
+
+.meetSize {
+  font-size: 16px;
+  color: #54BCBD;
+}
+
+.fontSize {
+  font-size: 16px;
+  color: #81B337;
+}
+</style>

+ 353 - 0
src/views/iosBasicData/financialManagement/reimbursement/index.vue

@@ -0,0 +1,353 @@
+<template>
+  <div>
+    <basic-container v-show="isShow">
+      <avue-crud :option="option" :table-loading="loading" :data="data" :page.sync="page" :search.sync="query"
+        v-model="form" id="out-table" :header-cell-class-name="headerClassName" ref="crud" @row-del="rowDel"
+        @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
+        @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange"
+        @resetColumn="resetColumn('crud', 'option', 'optionBack', 530)"
+        @saveColumn="saveColumn('crud', 'option', 'optionBack', 530)" @on-load="onLoad">
+        <template slot="menuLeft">
+          <el-button type="primary" size="small" icon="el-icon-plus" @click="addButton">创建单据
+          </el-button>
+          <el-button type="success" size="small" :disabled="selectionList.length != 1" @click="copyButton">复制单据
+          </el-button>
+          <el-button type="warning" size="small" disabled @click="outExport">导 出
+          </el-button>
+        </template>
+        <template slot="menu" slot-scope="{ row, index }">
+          <el-button size="small" icon="el-icon-edit" type="text" @click="rowEdit(row)">编辑</el-button>
+          <el-button size="small" icon="el-icon-delete" type="text" @click="rowDel(row, index)"
+            :disabled="row.status != 0">删 除</el-button>
+        </template>
+        <template slot="sysNo" slot-scope="{ row }">
+          <span style="color: #1e9fff;cursor: pointer;" @click="rowEdit(row)">{{ row.sysNo }}</span>
+        </template>
+        <template slot="purchaseCompanyName" slot-scope="{ row }">
+          <span style="color: #1e9fff;cursor: pointer;" @click="rowEdit(row)">{{ row.purchaseCompanyName }}</span>
+        </template>
+        <template slot="contractNo" slot-scope="{ row }">
+          <span style="color: #1e9fff;cursor: pointer;" @click="rowEdit(row)">{{ row.contractNo }}</span>
+        </template>
+      </avue-crud>
+    </basic-container>
+    <detailsPage ref="detailsPage" v-if="!isShow" :detailData="detailData" @goBack="goBack"></detailsPage>
+  </div>
+</template>
+
+<script>
+import { getList, remove } from "@/api/iosBasicData/reimbursement.js";
+import { getWorkDicts } from "@/api/system/dictbiz";
+import detailsPage from "./detailsPage";
+import { getToken } from "@/util/auth";
+import _ from "lodash";
+export default {
+  data() {
+    return {
+      isShow: true,
+      form: {},
+      query: {
+        type: "XGFY",
+      },
+      loading: false,
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0
+      },
+      selectionList: [],
+      option: {},
+      optionBack: {
+        height: 'auto',
+        calcHeight: 30,
+        menuWidth: 140,
+        tip: false,
+        searchShow: true,
+        searchMenuSpan: 6,
+        border: true,
+        index: true,
+        addBtn: false,
+        viewBtn: false,
+        editBtn: false,
+        delBtn: false,
+        selection: true,
+        searchIcon: true,
+        align: 'center',
+        searchIndex: 3,
+        column: [
+          {
+            label: "所属公司 ",
+            prop: 'branchName',
+            search: true,
+            type: "select",
+            filterable: true,
+            dicUrl: "/api/blade-system/dept/lazy-list",
+            props: {
+              label: "deptName",
+              value: "deptName",
+            },
+            overHidden: true,
+          },
+          {
+            label: '申请人',
+            prop: 'applicantName',
+            search: true,
+            type: 'select',
+            filterable: true,
+            remote: true,
+            dicUrl: "/api/blade-user/page?current=1&size=5&corpTypeName=箱东&shortName={{key}}",
+            props: {
+              label: 'realName',
+              value: 'realName',
+              res: 'data.records'
+            },
+            overHidden: true,
+          },
+          {
+            label: '申请日期',
+            prop: 'applicantDate',
+            search: true,
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd HH:mm:ss",
+            overHidden: true,
+          },
+          {
+            label: '开户行',
+            prop: 'bankOfDeposit',
+            overHidden: true,
+          },
+          {
+            label: '银行户头',
+            prop: 'bankAccount',
+            overHidden: true,
+          },
+          {
+            label: '账号',
+            prop: 'account',
+            overHidden: true,
+          },
+          {
+            label: "制单人",
+            prop: "createUserName",
+            overHidden: true,
+            width: 80,
+          }, {
+            label: "制单日期",
+            prop: "createTime",
+            type: "date",
+            overHidden: true,
+            width: 100,
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd HH:mm:ss"
+          }, {
+            label: "修改人",
+            prop: "updateUserName",
+            overHidden: true,
+            width: 80,
+          }, {
+            label: "修改日期",
+            prop: "updateTime",
+            type: "date",
+            overHidden: true,
+            width: 100,
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd HH:mm:ss"
+          }
+        ]
+      },
+      data: [],
+    };
+  },
+  components: {
+    detailsPage
+  },
+  async created() {
+    this.option = await this.getColumnData(this.getColumnName(530), this.optionBack);
+  },
+  activated() {
+    setTimeout(() => {
+      if (this.$route.query.home) {
+        this.addButton();
+      }
+    }, 100);
+  },
+  methods: {
+    addButton() {
+      this.isShow = false
+      this.detailData = {
+        type: 'new'
+      };
+    },
+    copyButton() {
+      this.isShow = false
+      this.detailData = {
+        copyId: this.selectionList[0].id
+      };
+    },
+    rowEdit(row) {
+      this.detailData = {
+        id: row.id
+      };
+      this.isShow = false
+    },
+    // 删除
+    rowDel(row, index) {
+      if (row.item == 1) {
+        return this.$message.error("存在明细不允许删除");
+      }
+      this.$confirm("确定将选择数据删除?", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning"
+      }).then(() => {
+        remove({ ids: row.id }).then(res => {
+          this.onLoad(this.page, this.query);
+          this.$message.success("成功删除");
+        })
+      })
+
+    },
+    searchReset() {
+      this.query = this.$options.data().query;
+      this.onLoad(this.page);
+    },
+    // 搜索按钮点击
+    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 = {
+        ...Object.assign(params, this.query),
+      }
+      this.loading = true;
+      getList(page.currentPage, page.pageSize, obj).then(res => {
+        this.data = res.data.data.records;
+        this.page.total = res.data.data.total;
+        this.$nextTick(() => {
+          this.$refs.crud.doLayout();
+          this.$refs.crud.dicInit();
+        });
+      }).finally(() => {
+        this.loading = false;
+      })
+    },
+    // 详情的返回列表
+    goBack() {
+      // 初始化数据
+      if (JSON.stringify(this.$route.query) != "{}") {
+        this.$router.$avueRouter.closeTag();
+        this.$router.push({
+          path: "/boxManagement/boxCost/index"
+        });
+      }
+      this.detailData = {}
+      this.isShow = true;
+      this.onLoad(this.page, this.query);
+    },
+    outExport() {
+      let config = { params: { ...this.query } }
+      if (config.params) {
+        for (const propName of Object.keys(config.params)) {
+          const value = config.params[propName];
+          if (value !== null && typeof (value) !== "undefined") {
+            if (value instanceof Array) {
+              for (const key of Object.keys(value)) {
+                let params = propName + '[' + key + ']';
+                config.params[params] = value[key]
+              }
+              delete config.params[propName]
+            }
+          }
+        }
+      }
+      const routeData = this.$router.resolve({
+        path: '/api/blade-los/routecost/exportRouteCost',      //跳转目标窗口的地址
+        query: {
+          ...config.params,    //括号内是要传递给新窗口的参数
+          identification: this.url
+        }
+      })
+      window.open(routeData.href.slice(1, routeData.href.length) + '&' + `${this.website.tokenHeader}=${getToken()}`);
+    },
+    //自定义列保存
+    async saveColumn(ref, option, optionBack, code) {
+      /**
+       * 已定义全局方法,直接使用,saveColumnData保存列数据方法,参数传值(表格名称,当前表格的option数据)
+       * 已定义全局方法,直接使用,getColumnName方法用来获取枚举值,参数根据自己定义的code值获取中文名
+       * 一定要执行异步操作,要等接口成功返回,才能执行下一行代码
+       */
+      const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
+      if (inSave) {
+        this.$message.success("保存成功");
+        //关闭窗口
+        this.$refs[ref].$refs.dialogColumn.columnBox = false;
+        this.selectionList = []
+        this.searchReset()
+      }
+    },
+    //自定义列重置
+    async resetColumn(ref, option, optionBack, code) {
+      this[option] = this[optionBack];
+      const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
+      if (inSave) {
+        this.$message.success("重置成功");
+        this.$refs[ref].$refs.dialogColumn.columnBox = false;
+        this.selectionList = []
+        this.searchReset()
+      }
+    },
+    // 更改表格颜色
+    headerClassName(tab) {
+      //颜色间隔
+      let back = ""
+      if (tab.columnIndex >= 0 && tab.column.level === 1) {
+        if (tab.columnIndex % 2 === 0) {
+          back = "back-one"
+        } else if (tab.columnIndex % 2 === 1) {
+          back = "back-two"
+        }
+      }
+      return back;
+    },
+
+  }
+}
+
+</script>
+
+<style lang="scss" scoped>
+::v-deep #out-table .back-one {
+  background: #ecf5ff !important;
+  text-align: center;
+}
+
+::v-deep #out-table .back-two {
+  background: #ecf5ff !important;
+  text-align: center;
+}
+
+.pointerClick {
+  cursor: pointer;
+  color: #1e9fff;
+}
+
+::v-deep .el-col-md-8 {
+  width: 24.33333%;
+}
+</style>

+ 2 - 2
src/views/ow/contract/detailsPage.vue

@@ -38,7 +38,7 @@
       <trade-card title="基础信息">
         <avue-form :option="optionForm" v-model="form" ref="form">
           <tempalte slot="purchaseCompanyName">
-            <dic-select v-model="form.purchaseCompanyName" placeholder="USER" key="id" label="shortName" res="records"
+            <dic-select v-model="form.purchaseCompanyName" placeholder="provider" key="id" label="shortName" res="records"
               @selectChange="dicChange('purchaseCompanyName', $event)" :disabled="form.whetherEnable == '是'"
               url="/blade-los/bcorps/selectList?status=0&current=1&size=5&corpTypeName=箱东" :filterable="true"
               :remote="true" dataName="shortName" :slotRight="true" rightLabel="code">
@@ -195,7 +195,7 @@ export default {
         labelWidth: 120,
         column: [
           {
-            label: 'USER',
+            label: 'provider',
             prop: 'purchaseCompanyName',
             disabled: false,
             rules: [{

+ 1 - 1
src/views/ow/contract/index.vue

@@ -76,7 +76,7 @@ export default {
         searchIndex: 3,
         column: [
           {
-            label: 'USER',
+            label: 'provider',
             prop: 'purchaseCompanyName',
             width: 150,
             overHidden: true,

+ 49 - 1
src/views/ow/owTask/index.vue

@@ -102,7 +102,7 @@ export default {
               res: "data.records"
             },
           },
-           {
+          {
             label: 'owner',
             prop: 'ownerName',
             width: 150,
@@ -454,6 +454,54 @@ export default {
             overHidden: true,
           },
           {
+            label: '起运港场站地址',
+            prop: 'polCyAddress',
+            width: 120,
+            overHidden: true,
+          },
+          {
+            label: '起运港场站联系人',
+            prop: 'polCyContact',
+            width: 120,
+            overHidden: true,
+          },
+          {
+            label: '起运港场站邮箱',
+            prop: 'polCyEmail',
+            width: 120,
+            overHidden: true,
+          },
+          {
+            label: '起运港场站电话',
+            prop: 'polCyTel',
+            width: 120,
+            overHidden: true,
+          },
+          {
+            label: '目的港场站地址',
+            prop: 'podCyAddress',
+            width: 120,
+            overHidden: true,
+          },
+          {
+            label: '目的港场站联系人',
+            prop: 'podCyContact',
+            width: 120,
+            overHidden: true,
+          },
+          {
+            label: '目的港场站邮箱',
+            prop: 'podCyEmail',
+            width: 120,
+            overHidden: true,
+          },
+          {
+            label: '目的港场站电话',
+            prop: 'podCyTel',
+            width: 120,
+            overHidden: true,
+          },
+          {
             label: "制单人",
             prop: "createUserName",
             overHidden: true,