Bladeren bron

1.ONEWAY 主表改为禁用
2.海运出口ETD修改保存流程和判断
3.基础资料 客户联系人 创建用户新加选择角色
4.封装TAB字符公共方法 暂不发版
5.发票申请 新加审批记录 提交时添加审批路径
6.发票申请和销项发票 新加发票抬头人
7.海运出口 列表页批量删除 加判断
8.OW拿 OW放 箱信息 新加展开收缩功能
9.OW拿 列表页新加完成tabs

Qukatie 3 weken geleden
bovenliggende
commit
428016f9b5

+ 20 - 1
src/util/date.js

@@ -369,7 +369,26 @@ export function lineQuantityVerification(text, line) {
         console.log(item.length, line)
         console.log(item.length, line)
         return true
         return true
       }
       }
-
     }
     }
   }
   }
+}
+export function tabVerify(text) {
+  if (text) {
+    const lines = text.split('\n');
+    const tabs = [];
+    // const msg=[]
+    lines.forEach((line, lineIndex) => {
+      let columnIndex = 0;
+      while ((columnIndex = line.indexOf('\t', columnIndex)) !== -1) {
+        // tabs.push({ line: lineIndex + 1, column: columnIndex + 1 });
+      //  tabs.push()
+      tabs.push(`第${ lineIndex + 1}行,第${columnIndex + 1}个字符`)
+        columnIndex++; // 跳过当前Tab,继续查找
+      }
+    });
+    // for(let item of tabs){
+    //   msg.push(`第${item.line}行,第${item.column}个字符`)
+    // }
+    return tabs
+  }
 }
 }

+ 61 - 1
src/views/iosBasicData/SeafreightExportF/bills/billsDetails.vue

@@ -649,7 +649,7 @@ import businessReports from "@/views/iosBasicData/SeafreightExportF/bills/assemb
 import { popupReminder } from "@/util/messageReminder";
 import { popupReminder } from "@/util/messageReminder";
 import editypes from "@/views/iosBasicData/editypes/index.vue";
 import editypes from "@/views/iosBasicData/editypes/index.vue";
 import { editypesList } from "@/api/iosBasicData/editypes";
 import { editypesList } from "@/api/iosBasicData/editypes";
-import { verifyEnglish, checkFullWidthSymbols, lineQuantityVerification } from "@/util/date";
+import { verifyEnglish, checkFullWidthSymbols, lineQuantityVerification, tabVerify } from "@/util/date";
 import { contrastObj, contrastList } from "@/util/contrastData";
 import { contrastObj, contrastList } from "@/util/contrastData";
 import { selectListLos } from "@/api/approval/processConfig";
 import { selectListLos } from "@/api/approval/processConfig";
 import { isProcurement } from "@/api/basicData/configuration";
 import { isProcurement } from "@/api/basicData/configuration";
@@ -2708,12 +2708,72 @@ export default {
           if (lineQuantityVerification(this.form.detail.hshipperDetails, this.lineLength)) {
           if (lineQuantityVerification(this.form.detail.hshipperDetails, this.lineLength)) {
             return this.$message.error(`发货人详情超长,请手动断行,否则影响打印`);
             return this.$message.error(`发货人详情超长,请手动断行,否则影响打印`);
           }
           }
+          // if (this.form.detail.hshipperDetails) {
+          //   let msg = tabVerify(this.form.detail.hshipperDetails);
+          //   if (msg.length > 0) {
+          //     this.$confirm(`${msg.join(",")}含有TAB字符,是否替换成空格!`, "发货人详情", {
+          //       confirmButtonText: "确定",
+          //       cancelButtonText: "取消"
+          //     }).then(() => {
+          //       this.form.detail.hshipperDetails = this.form.detail.hshipperDetails.replace(/\t/g, " ");
+          //     });
+          //     return;
+          //   }
+          // }
           if (lineQuantityVerification(this.form.detail.hconsigneeDetails, this.lineLength)) {
           if (lineQuantityVerification(this.form.detail.hconsigneeDetails, this.lineLength)) {
             return this.$message.error(`收货人详情超长,请手动断行,否则影响打印`);
             return this.$message.error(`收货人详情超长,请手动断行,否则影响打印`);
           }
           }
+          // if (this.form.detail.hconsigneeDetails) {
+          //   let msg = tabVerify(this.form.detail.hconsigneeDetails);
+          //   if (msg.length > 0) {
+          //     this.$confirm(`${msg.join(",")}含有TAB字符,是否替换成空格!`, "收货人详情", {
+          //       confirmButtonText: "确定",
+          //       cancelButtonText: "取消"
+          //     }).then(() => {
+          //       this.form.detail.hconsigneeDetails = this.form.detail.hconsigneeDetails.replace(/\t/g, " ");
+          //     });
+          //     return;
+          //   }
+          // }
           if (lineQuantityVerification(this.form.detail.hnotifyDetails, this.lineLength)) {
           if (lineQuantityVerification(this.form.detail.hnotifyDetails, this.lineLength)) {
             return this.$message.error(`通知人详情超长,请手动断行,否则影响打印`);
             return this.$message.error(`通知人详情超长,请手动断行,否则影响打印`);
           }
           }
+          // if (this.form.detail.hnotifyDetails) {
+          //   let msg = tabVerify(this.form.detail.hnotifyDetails);
+          //   if (msg.length > 0) {
+          //     this.$confirm(`${msg.join(",")}含有TAB字符,是否替换成空格!`, "通知人详情", {
+          //       confirmButtonText: "确定",
+          //       cancelButtonText: "取消"
+          //     }).then(() => {
+          //       this.form.detail.hnotifyDetails = this.form.detail.hnotifyDetails.replace(/\t/g, " ");
+          //     });
+          //     return;
+          //   }
+          // }
+          // if (this.form.marks) {
+          //   let msg = tabVerify(this.form.marks);
+          //   if (msg.length > 0) {
+          //     this.$confirm(`${msg.join(",")}含有TAB字符,是否替换成空格!`, "唛头", {
+          //       confirmButtonText: "确定",
+          //       cancelButtonText: "取消"
+          //     }).then(() => {
+          //       this.form.marks = this.form.marks.replace(/\t/g, " ");
+          //     });
+          //     return;
+          //   }
+          // }
+          // if (this.form.commodityDescr) {
+          //   let msg = tabVerify(this.form.commodityDescr);
+          //   if (msg.length > 0) {
+          //     this.$confirm(`${msg.join(",")}含有TAB字符,是否替换成空格!`, "货描", {
+          //       confirmButtonText: "确定",
+          //       cancelButtonText: "取消"
+          //     }).then(() => {
+          //       this.form.commodityDescr = this.form.commodityDescr.replace(/\t/g, " ");
+          //     });
+          //     return;
+          //   }
+          // }
           // console.log(this.form.detail);
           // console.log(this.form.detail);
           // if (!verifyEnglish(this.form.detail.hshipperDetails)) {
           // if (!verifyEnglish(this.form.detail.hshipperDetails)) {
           //   msgsList.push("发货人");
           //   msgsList.push("发货人");

+ 52 - 14
src/views/iosBasicData/SeafreightExportF/bills/index.vue

@@ -407,6 +407,12 @@
               审核中
               审核中
             </span>
             </span>
             <span
             <span
+              v-if="row.statusDr == '部分审核'"
+              style="color: #fff;border-radius: 30px;padding: 2px 15px;text-align: center;background-color: #E6A23C;"
+            >
+              部分审核
+            </span>
+            <span
               v-if="row.statusDr == '审核通过'"
               v-if="row.statusDr == '审核通过'"
               style="color: #fff;border-radius: 30px;padding: 2px 15px;text-align: center;background-color: #67C23A;"
               style="color: #fff;border-radius: 30px;padding: 2px 15px;text-align: center;background-color: #67C23A;"
             >
             >
@@ -429,6 +435,12 @@
               审核中
               审核中
             </span>
             </span>
             <span
             <span
+              v-if="row.statusCr == '部分审核'"
+              style="color: #fff;border-radius: 30px;padding: 2px 15px;text-align: center;background-color: #E6A23C;"
+            >
+              部分审核
+            </span>
+            <span
               v-if="row.statusCr == '审核通过'"
               v-if="row.statusCr == '审核通过'"
               style="color: #fff;border-radius: 30px;padding: 2px 15px;text-align: center;background-color: #67C23A;"
               style="color: #fff;border-radius: 30px;padding: 2px 15px;text-align: center;background-color: #67C23A;"
             >
             >
@@ -2599,11 +2611,18 @@ export default {
       if (this.ModifyOthersfun()) return;
       if (this.ModifyOthersfun()) return;
       // 已经提交请核的提示不让删除
       // 已经提交请核的提示不让删除
       let sumArr = [];
       let sumArr = [];
+      let pickArr = [];
       const h = this.$createElement;
       const h = this.$createElement;
       for (let item of this.selectionList) {
       for (let item of this.selectionList) {
         if (item.status == 1) {
         if (item.status == 1) {
           sumArr.push(h("p", `序号${item.$index + 1}的数据已经提交请核请勿删除`));
           sumArr.push(h("p", `序号${item.$index + 1}的数据已经提交请核请勿删除`));
         }
         }
+        if (item.statusDr == "审核通过" || item.statusDr == "部分审核" || item.statusCr == "审核通过" || item.statusCr == "部分审核") {
+          sumArr.push(h("p", `序号${item.$index + 1}的数据费用明细已部分审核或审核通过,不允许删除`));
+        }
+        if (item.accountStatus != 0) {
+          pickArr.push(`序号${item.$index + 1}`);
+        }
       }
       }
       if (sumArr.length != 0) {
       if (sumArr.length != 0) {
         this.$confirm("提示", {
         this.$confirm("提示", {
@@ -2614,22 +2633,41 @@ export default {
         });
         });
         return;
         return;
       }
       }
-      this.$confirm("确定将选择数据删除?", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      })
-        .then(() => {
-          return billsRemove(this.ids);
+      if (pickArr.length) {
+        this.$confirm(pickArr.join(",") + "单据已录入费用,是否确认删除?", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
         })
         })
-        .then(() => {
-          this.onLoad(this.page);
-          this.$message({
-            type: "success",
-            message: "操作成功!"
+          .then(() => {
+            return billsRemove(this.ids);
+          })
+          .then(() => {
+            this.onLoad(this.page);
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$refs.crud.toggleSelection();
           });
           });
-          this.$refs.crud.toggleSelection();
-        });
+      } else {
+        this.$confirm("确定将选择数据删除?", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        })
+          .then(() => {
+            return billsRemove(this.ids);
+          })
+          .then(() => {
+            this.onLoad(this.page);
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            this.$refs.crud.toggleSelection();
+          });
+      }
     },
     },
     beforeOpen(done, type) {
     beforeOpen(done, type) {
       if (["edit", "view"].includes(type)) {
       if (["edit", "view"].includes(type)) {

+ 18 - 14
src/views/iosBasicData/bcorps/detailsPage.vue

@@ -867,7 +867,7 @@
                 </el-table-column>
                 </el-table-column>
                 <el-table-column fixed="right" label="操作" width="180">
                 <el-table-column fixed="right" label="操作" width="180">
                   <template slot-scope="scope">
                   <template slot-scope="scope">
-                    <el-button type="text" size="small" @click="corpsAttnHandle(scope)">编辑</el-button>
+                    <el-button type="text" size="small" @click="corpsAttnHandle(scope,'客户联系人')">编辑</el-button>
                     <el-button type="text" size="small" @click="corpsAttnDelete(scope)">删除</el-button>
                     <el-button type="text" size="small" @click="corpsAttnDelete(scope)">删除</el-button>
                     <el-button v-if="scope.row.userId == 0" type="text" size="small" @click="createUser(scope)">创建用户</el-button>
                     <el-button v-if="scope.row.userId == 0" type="text" size="small" @click="createUser(scope)">创建用户</el-button>
                   </template>
                   </template>
@@ -902,7 +902,7 @@
                 <el-table-column prop="remarks" label="备注" width="180" />
                 <el-table-column prop="remarks" label="备注" width="180" />
                 <el-table-column fixed="right" label="操作" width="180">
                 <el-table-column fixed="right" label="操作" width="180">
                   <template slot-scope="scope">
                   <template slot-scope="scope">
-                    <el-button type="text" size="small" @click="corpsAttnHandle(scope)">编辑</el-button>
+                    <el-button type="text" size="small" @click="corpsAttnHandle(scope,'银行信息')">编辑</el-button>
                     <el-button type="text" size="small" @click="corpsAttnDelete(scope)">删除</el-button>
                     <el-button type="text" size="small" @click="corpsAttnDelete(scope)">删除</el-button>
                   </template>
                   </template>
                 </el-table-column>
                 </el-table-column>
@@ -937,7 +937,7 @@
                 <el-table-column fixed="right" label="操作" width="180">
                 <el-table-column fixed="right" label="操作" width="180">
                   <template slot-scope="scope">
                   <template slot-scope="scope">
                     <el-button type="text" size="small" @click="openPreview(scope.row)">查看</el-button>
                     <el-button type="text" size="small" @click="openPreview(scope.row)">查看</el-button>
-                    <el-button type="text" size="small" @click="corpsAttnHandle(scope)">编辑</el-button>
+                    <el-button type="text" size="small" @click="corpsAttnHandle(scope,'附件')">编辑</el-button>
                     <el-button type="text" size="small" @click="corpsAttnDelete(scope)">删除</el-button>
                     <el-button type="text" size="small" @click="corpsAttnDelete(scope)">删除</el-button>
                   </template>
                   </template>
                 </el-table-column>
                 </el-table-column>
@@ -961,7 +961,7 @@
                 <el-table-column prop="remarks" label="备注" />
                 <el-table-column prop="remarks" label="备注" />
                 <el-table-column fixed="right" label="操作">
                 <el-table-column fixed="right" label="操作">
                   <template slot-scope="scope">
                   <template slot-scope="scope">
-                    <el-button type="text" size="small" @click="corpsAttnHandle(scope)">编辑</el-button>
+                    <el-button type="text" size="small" @click="corpsAttnHandle(scope,'更名记录')">编辑</el-button>
                     <el-button type="text" size="small" @click="corpsAttnDelete(scope)">删除</el-button>
                     <el-button type="text" size="small" @click="corpsAttnDelete(scope)">删除</el-button>
                   </template>
                   </template>
                 </el-table-column>
                 </el-table-column>
@@ -1002,7 +1002,7 @@
                 <el-table-column prop="remarks" label="备注" width="180" />
                 <el-table-column prop="remarks" label="备注" width="180" />
                 <el-table-column fixed="right" label="操作" width="180">
                 <el-table-column fixed="right" label="操作" width="180">
                   <template slot-scope="scope">
                   <template slot-scope="scope">
-                    <el-button type="text" size="small" @click="corpsAttnHandle(scope)">编辑</el-button>
+                    <el-button type="text" size="small" @click="corpsAttnHandle(scope,'发票抬头')">编辑</el-button>
                     <el-button type="text" size="small" @click="corpsAttnDelete(scope)">删除</el-button>
                     <el-button type="text" size="small" @click="corpsAttnDelete(scope)">删除</el-button>
                   </template>
                   </template>
                 </el-table-column>
                 </el-table-column>
@@ -1029,7 +1029,7 @@
                 <el-table-column prop="remarks" label="备注" />
                 <el-table-column prop="remarks" label="备注" />
                 <el-table-column fixed="right" label="操作" width="180">
                 <el-table-column fixed="right" label="操作" width="180">
                   <template slot-scope="scope">
                   <template slot-scope="scope">
-                    <el-button type="text" size="small" @click="corpsAttnHandle(scope)">编辑</el-button>
+                    <el-button type="text" size="small" @click="corpsAttnHandle(scope,'不良记录')">编辑</el-button>
                     <el-button type="text" size="small" @click="corpsAttnDelete(scope)">删除</el-button>
                     <el-button type="text" size="small" @click="corpsAttnDelete(scope)">删除</el-button>
                   </template>
                   </template>
                 </el-table-column>
                 </el-table-column>
@@ -2296,7 +2296,8 @@ export default {
       }
       }
     },
     },
     // 编辑
     // 编辑
-    corpsAttnHandle(scope) {
+    corpsAttnHandle(scope,name) {
+      this.dialogTitle=name?name:'窗口'
       this.corpsAttnDialogIndex = scope.$index;
       this.corpsAttnDialogIndex = scope.$index;
       this.corpsAttnForm = scope.row;
       this.corpsAttnForm = scope.row;
       this.corpsAttnDialogVisible = true;
       this.corpsAttnDialogVisible = true;
@@ -2379,13 +2380,16 @@ export default {
               span: 24,
               span: 24,
               prop: "roleName",
               prop: "roleName",
               type: "select",
               type: "select",
-              filterable: true,
-              remote: true,
-              dicUrl: "/api/blade-system/role/list?current=1&size=10&roleAlias={{key}}",
-              props: {
-                label: "roleAlias",
-                value: "roleAlias"
-              },
+              dicData: [
+                {
+                  label: "客户",
+                  value: "客户"
+                },
+                {
+                  label: "箱东",
+                  value: "箱东"
+                }
+              ],
               rules: [
               rules: [
                 {
                 {
                   required: true,
                   required: true,

+ 67 - 13
src/views/iosBasicData/financialManagement/fininvoicesApplyfor/detailsPage.vue

@@ -10,12 +10,20 @@
         <el-button size="small" :disabled="!form.id" @click="previewreportfun">预 览 </el-button>
         <el-button size="small" :disabled="!form.id" @click="previewreportfun">预 览 </el-button>
         <el-button size="small" v-if="roleName.indexOf('admin') != -1" :disabled="!form.id" @click="DesignreportDialog = true">报表设计 </el-button>
         <el-button size="small" v-if="roleName.indexOf('admin') != -1" :disabled="!form.id" @click="DesignreportDialog = true">报表设计 </el-button>
         <el-button type="success" size="small" :disabled="!form.id" plain @click="newbill">新建发票申请 </el-button>
         <el-button type="success" size="small" :disabled="!form.id" plain @click="newbill">新建发票申请 </el-button>
-        <el-button size="small" type="danger" plain :disabled="!form.id || editPower" v-if="form.status == 3" @click="allClick('撤销')"
+        <el-button size="small" type="danger" plain :disabled="!form.id || editPower" v-if="form.status !=0" @click="allClick('撤销')"
           >撤销
           >撤销
         </el-button>
         </el-button>
         <el-button size="small" type="success" plain :disabled="!form.id || editPower" v-else @click="allClick('提交')">提交 </el-button>
         <el-button size="small" type="success" plain :disabled="!form.id || editPower" v-else @click="allClick('提交')">提交 </el-button>
         <el-button size="small" type="primary" v-if="editButton" @click="inEdit">编 辑 </el-button>
         <el-button size="small" type="primary" v-if="editButton" @click="inEdit">编 辑 </el-button>
         <el-button size="small" type="primary" v-else @click="submit()">保 存 </el-button>
         <el-button size="small" type="primary" v-else @click="submit()">保 存 </el-button>
+        <el-dropdown v-if="invoiceReview">
+          <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>
     </div>
 
 
@@ -72,6 +80,19 @@
                     >
                     >
                     </dic-select>
                     </dic-select>
                   </tempalte>
                   </tempalte>
+                  <tempalte slot="invoiceTitle">
+                    <dic-select
+                      v-model="form.invoiceTitle"
+                      placeholder="开票单位"
+                      :key="form.invCorpId"
+                      res="corpsInvoiceHeaderList"
+                      label="invoiceHeader"
+                      :url="'/blade-los/bcorps/detail?id=' + form.invCorpId"
+                      :filterable="true"
+                      :disabled="editDisabled || (form.finInvoicesItemsList.length && form.isDk == 1) || !form.invCorpId"
+                    >
+                    </dic-select>
+                  </tempalte>
                   <template slot="invoiceDate">
                   <template slot="invoiceDate">
                     <el-date-picker
                     <el-date-picker
                       v-model="form.invoiceDate"
                       v-model="form.invoiceDate"
@@ -119,7 +140,7 @@
                     <el-input placeholder="请输入 邮箱" v-model="form.email" size="small"> </el-input>
                     <el-input placeholder="请输入 邮箱" v-model="form.email" size="small"> </el-input>
                   </tempalte>
                   </tempalte>
                   <tempalte slot="elecRemarks">
                   <tempalte slot="elecRemarks">
-                    <el-input type="textarea" :rows="2" placeholder="请输入 全电发票" v-model="form.elecRemarks"> </el-input>
+                    <el-input type="textarea" :rows="1" placeholder="请输入 全电发票" v-model="form.elecRemarks"> </el-input>
                   </tempalte>
                   </tempalte>
                 </avue-form>
                 </avue-form>
               </trade-card>
               </trade-card>
@@ -340,7 +361,20 @@
         <el-button size="small" @click="selectPrintingDialog = false">取 消</el-button>
         <el-button size="small" @click="selectPrintingDialog = false">取 消</el-button>
       </span>
       </span>
     </el-dialog>
     </el-dialog>
-
+    <!--审核弹窗-->
+    <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="checkScheduleDialog = false"></check-schedule>
+    </el-dialog>
     <!--报表组件-->
     <!--报表组件-->
     <reportContainer ref="reportContainer"></reportContainer>
     <reportContainer ref="reportContainer"></reportContainer>
   </div>
   </div>
@@ -367,8 +401,10 @@ import reportContainer from "@/views/iosBasicData/report-container/report-contai
 import { getList as getreportsList, reportsGetReportData } from "@/api/iosBasicData/reports";
 import { getList as getreportsList, reportsGetReportData } from "@/api/iosBasicData/reports";
 import dicSelect from "@/components/dicSelect/main";
 import dicSelect from "@/components/dicSelect/main";
 import { getToken } from "@/util/auth";
 import { getToken } from "@/util/auth";
+import checkSchedule from "@/components/checkH/checkSchedule.vue";
+import { isProcurement } from "@/api/basicData/configuration";
 export default {
 export default {
-  components: { reportContainer, reportformsList, reports, SearchQuery, expand, finstlbillsitems, dicSelect },
+  components: { reportContainer, reportformsList, reports, SearchQuery, expand, finstlbillsitems, dicSelect, checkSchedule },
   props: {
   props: {
     detailData: {
     detailData: {
       type: Object
       type: Object
@@ -380,6 +416,10 @@ export default {
   },
   },
   data() {
   data() {
     return {
     return {
+      invoiceReview:false,
+      checkId: "", // 审核需要的id
+      batchNo: "",
+      checkScheduleDialog: false, // 审核弹窗
       pageData2: [],
       pageData2: [],
       submitType: true,
       submitType: true,
       sumDRMB: 0,
       sumDRMB: 0,
@@ -460,6 +500,11 @@ export default {
             disabled: false
             disabled: false
           },
           },
           {
           {
+            label: "发票抬头",
+            prop: "invoiceTitle",
+            disabled: false
+          },
+          {
             label: "税控发票号",
             label: "税控发票号",
             prop: "taxInvoiceNo",
             prop: "taxInvoiceNo",
             disabled: false
             disabled: false
@@ -511,7 +556,7 @@ export default {
             label: "全电发票",
             label: "全电发票",
             prop: "elecRemarks",
             prop: "elecRemarks",
             type: "textarea",
             type: "textarea",
-            minRows: 2
+            minRows: 1
           }
           }
         ]
         ]
       },
       },
@@ -970,6 +1015,11 @@ export default {
       this.form.corpEnName = this.$route.query.corpEnName;
       this.form.corpEnName = this.$route.query.corpEnName;
       this.form.corpArgreementNo = this.$route.query.corpEnName;
       this.form.corpArgreementNo = this.$route.query.corpEnName;
     }
     }
+        isProcurement({ param: "whether.open.Invoice.review" }).then(res => {
+      if (res.data.data == 1) {
+        this.invoiceReview = true;
+      }
+    });
     this.$nextTick(() => {
     this.$nextTick(() => {
       this.$refs.crud2.dicInit();
       this.$refs.crud2.dicInit();
     });
     });
@@ -977,7 +1027,7 @@ export default {
   methods: {
   methods: {
     inEdit() {
     inEdit() {
       this.editButton = false;
       this.editButton = false;
-      if (this.form.status == 3) return;
+      if (this.form.status !=0) return;
       this.editDisabled = false;
       this.editDisabled = false;
       this.optionForm.disabled = false;
       this.optionForm.disabled = false;
     },
     },
@@ -1078,9 +1128,9 @@ export default {
         let obj = {
         let obj = {
           ...this.form
           ...this.form
         };
         };
-        fininvoicesAdd(obj).then(res=>{
-          this.form.version=res.data.data.version
-        })
+        fininvoicesAdd(obj).then(res => {
+          this.form.version = res.data.data.version;
+        });
         this.finstlbillslistAccBillV1fun();
         this.finstlbillslistAccBillV1fun();
       }
       }
     },
     },
@@ -1197,7 +1247,10 @@ export default {
           this.form.billNoFormat = "FPSQ";
           this.form.billNoFormat = "FPSQ";
           this.form.businessTypeCode = "FPSQ";
           this.form.businessTypeCode = "FPSQ";
           let obj = {
           let obj = {
-            ...this.form
+            ...this.form,
+            url:'/iosBasicData/financialManagement/fininvoicesApplyfor/index',
+            pageLabel:'发票申请(N)',
+            pageStatus:'',
           };
           };
           fininvoicesSubmit(obj);
           fininvoicesSubmit(obj);
           this.$confirm("是否提交?", "提示", {
           this.$confirm("是否提交?", "提示", {
@@ -1306,6 +1359,7 @@ export default {
         } else {
         } else {
           this.form.invCorpId = null;
           this.form.invCorpId = null;
           this.form.invCorpCnName = null;
           this.form.invCorpCnName = null;
+          this.form.invoiceTitle = null;
         }
         }
       }
       }
       if (name == "invoiceDate") {
       if (name == "invoiceDate") {
@@ -1398,7 +1452,7 @@ export default {
       });
       });
       fininvoicesDetail(id)
       fininvoicesDetail(id)
         .then(res => {
         .then(res => {
-          if (res.data.data.status == 3) {
+          if (res.data.data.status !=0) {
             this.editButton = true;
             this.editButton = true;
             this.editDisabled = true;
             this.editDisabled = true;
             this.optionForm.disabled = true;
             this.optionForm.disabled = true;
@@ -1443,7 +1497,7 @@ export default {
         ...this.form
         ...this.form
       };
       };
       fininvoicesAdd(obj).then(res => {
       fininvoicesAdd(obj).then(res => {
-        this.form.version=res.data.data.version
+        this.form.version = res.data.data.version;
         this.finstlbillslistAccBillV1fun();
         this.finstlbillslistAccBillV1fun();
       });
       });
     },
     },
@@ -1479,7 +1533,7 @@ export default {
     finstlbillslistAccBillV1fun() {
     finstlbillslistAccBillV1fun() {
       let obj = {};
       let obj = {};
       obj.type = "3";
       obj.type = "3";
-      obj.operationType="发票申请";
+      obj.operationType = "发票申请";
       obj.branchId = this.form.branchId;
       obj.branchId = this.form.branchId;
       obj.branchName = this.form.branchName;
       obj.branchName = this.form.branchName;
       obj.corpCnName = this.form.corpId ? this.form.corpId : null;
       obj.corpCnName = this.form.corpId ? this.form.corpId : null;

+ 21 - 2
src/views/iosBasicData/financialManagement/fininvoicesOutput/detailsPage.vue

@@ -70,6 +70,19 @@
                     >
                     >
                     </dic-select>
                     </dic-select>
                   </tempalte>
                   </tempalte>
+                   <tempalte slot="invoiceTitle">
+                    <dic-select
+                      v-model="form.invoiceTitle"
+                      placeholder="开票单位"
+                      :key="form.invCorpId"
+                      res="corpsInvoiceHeaderList"
+                      label="invoiceHeader"
+                      :url="'/blade-los/bcorps/detail?id=' + form.invCorpId"
+                      :filterable="true"
+                      :disabled="editDisabled || (form.finInvoicesItemsList.length && form.isDk == 1) || !form.invCorpId"
+                    >
+                    </dic-select>
+                  </tempalte>
                   <template slot="invoiceDate">
                   <template slot="invoiceDate">
                     <el-date-picker
                     <el-date-picker
                       v-model="form.invoiceDate"
                       v-model="form.invoiceDate"
@@ -120,7 +133,7 @@
                     <el-input placeholder="请输入 邮箱" v-model="form.email" size="small"> </el-input>
                     <el-input placeholder="请输入 邮箱" v-model="form.email" size="small"> </el-input>
                   </tempalte>
                   </tempalte>
                   <tempalte slot="elecRemarks">
                   <tempalte slot="elecRemarks">
-                    <el-input type="textarea" :rows="2" placeholder="请输入 全电发票" v-model="form.elecRemarks"> </el-input>
+                    <el-input type="textarea" :rows="1" placeholder="请输入 全电发票" v-model="form.elecRemarks"> </el-input>
                   </tempalte>
                   </tempalte>
                 </avue-form>
                 </avue-form>
               </trade-card>
               </trade-card>
@@ -471,6 +484,11 @@ export default {
             disabled: false
             disabled: false
           },
           },
           {
           {
+            label: "发票抬头",
+            prop: "invoiceTitle",
+            disabled: false
+          },
+          {
             label: "税控发票号",
             label: "税控发票号",
             prop: "taxInvoiceNo",
             prop: "taxInvoiceNo",
             disabled: false
             disabled: false
@@ -522,7 +540,7 @@ export default {
             label: "全电发票",
             label: "全电发票",
             prop: "elecRemarks",
             prop: "elecRemarks",
             type: "textarea",
             type: "textarea",
-            minRows: 2
+            minRows: 1
           }
           }
         ]
         ]
       },
       },
@@ -1344,6 +1362,7 @@ export default {
         } else {
         } else {
           this.form.invCorpId = null;
           this.form.invCorpId = null;
           this.form.invCorpCnName = null;
           this.form.invCorpCnName = null;
+          this.form.invoiceTitle = null;
         }
         }
       }
       }
       if (name == "invoiceDate") {
       if (name == "invoiceDate") {

+ 37 - 11
src/views/ow/owPut/detailsPage.vue

@@ -271,14 +271,8 @@
               <template slot="index" slot-scope="{ row, index }">
               <template slot="index" slot-scope="{ row, index }">
                 <span>{{ index + 1 }}</span>
                 <span>{{ index + 1 }}</span>
               </template>
               </template>
-                <template slot="codeSearch">
-                <el-input
-                  v-model="boxQuery.code"
-                  size="small"
-                  placeholder="请输入箱号 多个箱号用空格区分"
-                  type="textarea"
-                  autosize
-                ></el-input>
+              <template slot="codeSearch">
+                <el-input v-model="boxQuery.code" size="small" placeholder="请输入箱号 多个箱号用空格区分" type="textarea" autosize></el-input>
               </template>
               </template>
               <template slot="codeForm" slot-scope="{ row }">
               <template slot="codeForm" slot-scope="{ row }">
                 <el-input
                 <el-input
@@ -452,6 +446,14 @@
                 <span v-else>{{ row.agentName }}</span>
                 <span v-else>{{ row.agentName }}</span>
               </tempalte>
               </tempalte>
             </avue-crud>
             </avue-crud>
+            <div class="basic-container-foot" @mouseenter="enter" @mouseleave="leave">
+              <div v-show="show" style="height: 20px" @click="onShow('收缩')">
+                <span class="el-button--text"><i class="el-icon-caret-top" /><span v-show="showSpan">收缩</span></span>
+              </div>
+              <div v-show="!show" style="height: 20px" @click="onShow('展开')">
+                <span class="el-button--text"><i class="el-icon-caret-bottom" /><span v-show="showSpan">展开</span></span>
+              </div>
+            </div>
           </trade-card>
           </trade-card>
           <trade-card title="操作记录">
           <trade-card title="操作记录">
             <avue-form :option="optionForm2" v-model="form" ref="form2"> </avue-form>
             <avue-form :option="optionForm2" v-model="form" ref="form2"> </avue-form>
@@ -1796,7 +1798,7 @@ export default {
             label: "箱号",
             label: "箱号",
             prop: "code",
             prop: "code",
             width: 140,
             width: 140,
-            searchSpan:12,
+            searchSpan: 12,
             searchPlaceholder: "请输入箱号 多个箱号用空格区分",
             searchPlaceholder: "请输入箱号 多个箱号用空格区分",
             search: true,
             search: true,
             cell: true,
             cell: true,
@@ -3055,7 +3057,9 @@ export default {
       containerNumberKey: new Date().getTime(),
       containerNumberKey: new Date().getTime(),
       deptId: JSON.parse(localStorage.getItem("sysitemData")).deptId,
       deptId: JSON.parse(localStorage.getItem("sysitemData")).deptId,
       fixData: true,
       fixData: true,
-      expenseApplication: 0
+      expenseApplication: 0,
+      show: false,
+      showSpan: false
     };
     };
   },
   },
   components: {
   components: {
@@ -3095,7 +3099,23 @@ export default {
     this.saveLocalCurrency(this.deptId);
     this.saveLocalCurrency(this.deptId);
   },
   },
   methods: {
   methods: {
-        searchChangeBox(params, done) {
+    enter() {
+      this.showSpan = true;
+    },
+    leave() {
+      this.showSpan = false;
+    },
+    onShow(name) {
+      if (name == "收缩") {
+        this.show = false;
+        this.option.maxHeight = 340;
+      }
+      if (name == "展开") {
+        this.show = true;
+        this.option.maxHeight = 1000;
+      }
+    },
+    searchChangeBox(params, done) {
       done();
       done();
       if (!this.form.id) {
       if (!this.form.id) {
         return this.$message.error("请保存数据");
         return this.$message.error("请保存数据");
@@ -4872,6 +4892,9 @@ export default {
     },
     },
     //自定义列保存
     //自定义列保存
     async saveColumn(ref, option, optionBack, code) {
     async saveColumn(ref, option, optionBack, code) {
+      if (code == 471) {
+        this.show = false;
+      }
       const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
       const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
       if (inSave) {
       if (inSave) {
         this.$message.success("保存成功");
         this.$message.success("保存成功");
@@ -4881,6 +4904,9 @@ export default {
     },
     },
     //自定义列重置
     //自定义列重置
     async resetColumn(ref, option, optionBack, code) {
     async resetColumn(ref, option, optionBack, code) {
+      if (code == 471) {
+        this.show = false;
+      }
       this[option] = this[optionBack];
       this[option] = this[optionBack];
       const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
       const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
       if (inSave) {
       if (inSave) {

+ 60 - 7
src/views/ow/owTask/detailsPage.vue

@@ -495,6 +495,14 @@
                 <span v-else>{{ row.agentName }}</span>
                 <span v-else>{{ row.agentName }}</span>
               </tempalte>
               </tempalte>
             </avue-crud>
             </avue-crud>
+            <div class="basic-container-foot" @mouseenter="enter" @mouseleave="leave">
+              <div v-show="show" style="height: 20px" @click="onShow('收缩')">
+                <span class="el-button--text"><i class="el-icon-caret-top" /><span v-show="showSpan">收缩</span></span>
+              </div>
+              <div v-show="!show" style="height: 20px" @click="onShow('展开')">
+                <span class="el-button--text"><i class="el-icon-caret-bottom" /><span v-show="showSpan">展开</span></span>
+              </div>
+            </div>
           </trade-card>
           </trade-card>
           <trade-card title="操作记录">
           <trade-card title="操作记录">
             <avue-form :option="optionForm2" v-model="form" ref="form2"> </avue-form>
             <avue-form :option="optionForm2" v-model="form" ref="form2"> </avue-form>
@@ -1540,7 +1548,7 @@ export default {
         column: [
         column: [
           {
           {
             label: "POD场站",
             label: "POD场站",
-            prop: "podStationCname",
+            prop: "podStationCname"
           },
           },
           {
           {
             label: "收箱号",
             label: "收箱号",
@@ -1566,6 +1574,12 @@ export default {
             label: "目的港场站电话",
             label: "目的港场站电话",
             prop: "podCyTel",
             prop: "podCyTel",
             disabled: false
             disabled: false
+          },
+          {
+            label: "堆场工作时间",
+            prop: "workContent",
+            type: "textarea",
+            minRows: 2
           }
           }
         ]
         ]
       },
       },
@@ -2028,13 +2042,21 @@ export default {
             prop: "internalContainerNumber",
             prop: "internalContainerNumber",
             disabled: true
             disabled: true
           },
           },
-
           {
           {
             label: "备注",
             label: "备注",
             prop: "remarks",
             prop: "remarks",
             type: "textarea",
             type: "textarea",
             minRows: 2,
             minRows: 2,
-            span: 24
+            span: 12,
+            disabled: false
+          },
+          {
+            label: "堆场工作时间",
+            prop: "workContent",
+            type: "textarea",
+            minRows: 2,
+            span: 12,
+            disabled: false
           }
           }
         ]
         ]
       },
       },
@@ -2514,6 +2536,12 @@ export default {
             cell: true,
             cell: true,
             width: 150,
             width: 150,
             overHidden: true
             overHidden: true
+          },
+          {
+            label: "堆场工作时间",
+            prop: "workContent",
+            width: 150,
+            overHidden: true
           }
           }
         ]
         ]
       },
       },
@@ -3372,7 +3400,9 @@ export default {
       updateStationKey: new Date().getTime(),
       updateStationKey: new Date().getTime(),
       deptId: JSON.parse(localStorage.getItem("sysitemData")).deptId,
       deptId: JSON.parse(localStorage.getItem("sysitemData")).deptId,
       fixData: true,
       fixData: true,
-      expenseApplication: 0
+      expenseApplication: 0,
+      show: false,
+      showSpan: false
     };
     };
   },
   },
   components: {
   components: {
@@ -3439,6 +3469,22 @@ export default {
     }
     }
   },
   },
   methods: {
   methods: {
+    enter() {
+      this.showSpan = true;
+    },
+    leave() {
+      this.showSpan = false;
+    },
+    onShow(name) {
+      if (name == "收缩") {
+        this.show = false;
+        this.option.maxHeight = 340;
+      }
+      if (name == "展开") {
+        this.show = true;
+        this.option.maxHeight = 1000;
+      }
+    },
     searchChangeBox(params, done) {
     searchChangeBox(params, done) {
       done();
       done();
       if (!this.form.id) {
       if (!this.form.id) {
@@ -3905,8 +3951,8 @@ export default {
           this.podForm.podCyTel = null;
           this.podForm.podCyTel = null;
         }
         }
       }
       }
-      if(name=='podCyContact3'){
-         if (row) {
+      if (name == "podCyContact3") {
+        if (row) {
           this.podForm.podCyAddress = row.addr;
           this.podForm.podCyAddress = row.addr;
           this.podForm.podCyEmail = row.email;
           this.podForm.podCyEmail = row.email;
           this.podForm.podCyTel = row.tel;
           this.podForm.podCyTel = row.tel;
@@ -4187,7 +4233,7 @@ export default {
           this.form = res.data.data;
           this.form = res.data.data;
           if (res.data.data.whetherEnable == "是") {
           if (res.data.data.whetherEnable == "是") {
             this.optionForm.column.forEach(e => {
             this.optionForm.column.forEach(e => {
-              if (e.prop != "remarks") {
+              if (!(e.prop == "remarks" || e.prop == "workContent")) {
                 e.disabled = true;
                 e.disabled = true;
               }
               }
             });
             });
@@ -5080,6 +5126,7 @@ export default {
           // podCyContact: this.form.podCyContact,
           // podCyContact: this.form.podCyContact,
           // podCyEmail: this.form.podCyEmail,
           // podCyEmail: this.form.podCyEmail,
           // podCyTel: this.form.podCyTel
           // podCyTel: this.form.podCyTel
+          workContent: this.form.workContent
         };
         };
         this.podDialog = true;
         this.podDialog = true;
       }
       }
@@ -5539,6 +5586,9 @@ export default {
     },
     },
     //自定义列保存
     //自定义列保存
     async saveColumn(ref, option, optionBack, code) {
     async saveColumn(ref, option, optionBack, code) {
+      if (code == 462) {
+        this.show = false;
+      }
       const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
       const inSave = await this.saveColumnData(this.getColumnName(code), this[option]);
       if (inSave) {
       if (inSave) {
         this.$message.success("保存成功");
         this.$message.success("保存成功");
@@ -5548,6 +5598,9 @@ export default {
     },
     },
     //自定义列重置
     //自定义列重置
     async resetColumn(ref, option, optionBack, code) {
     async resetColumn(ref, option, optionBack, code) {
+      if (code == 462) {
+        this.show = false;
+      }
       this[option] = this[optionBack];
       this[option] = this[optionBack];
       const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
       const inSave = await this.delColumnData(this.getColumnName(code), this[optionBack]);
       if (inSave) {
       if (inSave) {

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

@@ -27,6 +27,7 @@
             <el-tab-pane label="未提箱" name="2"></el-tab-pane>
             <el-tab-pane label="未提箱" name="2"></el-tab-pane>
             <el-tab-pane label="已提箱" name="1"></el-tab-pane>
             <el-tab-pane label="已提箱" name="1"></el-tab-pane>
             <el-tab-pane label="延期提箱" name="4"></el-tab-pane>
             <el-tab-pane label="延期提箱" name="4"></el-tab-pane>
+            <el-tab-pane label="完成" name="5"></el-tab-pane>
             <el-tab-pane label="失效" name="3"></el-tab-pane>
             <el-tab-pane label="失效" name="3"></el-tab-pane>
             <el-tab-pane label="全部" name="0"></el-tab-pane>
             <el-tab-pane label="全部" name="0"></el-tab-pane>
           </el-tabs>
           </el-tabs>