gjy il y a 3 ans
Parent
commit
116e6ead88
76 fichiers modifiés avec 192 ajouts et 31560 suppressions
  1. 2 3
      src/api/V2/statisticalReport/index.js
  2. 2 2
      src/model/statisticalReport/index.js
  3. 1 1
      src/views/platformaudit/component/router/route.js
  4. 0 418
      src/views/procurement/component/routers/procurement.js
  5. 0 312
      src/views/procurement/component/viewSpareMoney.vue
  6. 0 154
      src/views/procurement/procurementBasic/PreJobTrainingList.vue
  7. 0 170
      src/views/procurement/procurementBasic/contractDetail.vue
  8. 0 407
      src/views/procurement/procurementBasic/contractList.vue
  9. 0 160
      src/views/procurement/procurementBasic/purBasicData.vue
  10. 0 572
      src/views/procurement/procurementBasic/vendorList.vue
  11. 0 367
      src/views/procurement/procurementMap/applDetail.vue
  12. 0 268
      src/views/procurement/procurementMap/applEmail.vue
  13. 0 563
      src/views/procurement/procurementMap/billDetail.vue
  14. 0 39
      src/views/procurement/procurementMap/component/Dropdown/Comment.vue
  15. 0 48
      src/views/procurement/procurementMap/component/Dropdown/Platform.vue
  16. 0 36
      src/views/procurement/procurementMap/component/Dropdown/SourceUrl.vue
  17. 0 3
      src/views/procurement/procurementMap/component/Dropdown/index.js
  18. 0 37
      src/views/procurement/procurementMap/component/approvalProcess.vue
  19. 0 548
      src/views/procurement/procurementMap/component/purApplDetail.vue
  20. 0 479
      src/views/procurement/procurementMap/component/purBillDetails.vue
  21. 0 574
      src/views/procurement/procurementMap/component/purChassDetails.vue
  22. 0 488
      src/views/procurement/procurementMap/component/purEnquiryDetails.vue
  23. 0 628
      src/views/procurement/procurementMap/component/purQuotesDetails.vue
  24. 0 551
      src/views/procurement/procurementMap/component/supplierInfo.vue
  25. 0 356
      src/views/procurement/procurementMap/enquiryDetail.vue
  26. 0 1002
      src/views/procurement/procurementMap/parityDetail.vue
  27. 0 39
      src/views/procurement/procurementMap/procurementMap.vue
  28. 0 489
      src/views/procurement/procurementMap/purchasDetail.vue
  29. 0 421
      src/views/procurement/procurementMap/quotesDetail.vue
  30. 0 1462
      src/views/procurement/procurementMap/sparepartList.vue
  31. 0 392
      src/views/procurement/procurementMaterial/applDetail.vue
  32. 0 269
      src/views/procurement/procurementMaterial/applEmail.vue
  33. 0 573
      src/views/procurement/procurementMaterial/billDetail.vue
  34. 0 41
      src/views/procurement/procurementMaterial/component/Dropdown/Comment.vue
  35. 0 48
      src/views/procurement/procurementMaterial/component/Dropdown/Platform.vue
  36. 0 36
      src/views/procurement/procurementMaterial/component/Dropdown/SourceUrl.vue
  37. 0 3
      src/views/procurement/procurementMaterial/component/Dropdown/index.js
  38. 0 37
      src/views/procurement/procurementMaterial/component/approvalProcess.vue
  39. 0 701
      src/views/procurement/procurementMaterial/component/purApplDetail.vue
  40. 0 526
      src/views/procurement/procurementMaterial/component/purBillDetails.vue
  41. 0 648
      src/views/procurement/procurementMaterial/component/purChassDetails.vue
  42. 0 528
      src/views/procurement/procurementMaterial/component/purEnquiryDetails.vue
  43. 0 764
      src/views/procurement/procurementMaterial/component/purQuotesDetails.vue
  44. 0 517
      src/views/procurement/procurementMaterial/component/supplierInfo.vue
  45. 0 412
      src/views/procurement/procurementMaterial/enquiryDetail.vue
  46. 0 1620
      src/views/procurement/procurementMaterial/parityDetail.vue
  47. 0 622
      src/views/procurement/procurementMaterial/purchasDetail.vue
  48. 0 562
      src/views/procurement/procurementMaterial/quotesDetail.vue
  49. 0 1618
      src/views/procurement/procurementMaterial/sparepartList.vue
  50. 0 356
      src/views/procurement/procurementSpare/applDetail.vue
  51. 0 269
      src/views/procurement/procurementSpare/applEmail.vue
  52. 0 592
      src/views/procurement/procurementSpare/billDetail.vue
  53. 0 39
      src/views/procurement/procurementSpare/component/Dropdown/Comment.vue
  54. 0 48
      src/views/procurement/procurementSpare/component/Dropdown/Platform.vue
  55. 0 36
      src/views/procurement/procurementSpare/component/Dropdown/SourceUrl.vue
  56. 0 3
      src/views/procurement/procurementSpare/component/Dropdown/index.js
  57. 0 37
      src/views/procurement/procurementSpare/component/approvalProcess.vue
  58. 0 766
      src/views/procurement/procurementSpare/component/purApplDetail.vue
  59. 0 562
      src/views/procurement/procurementSpare/component/purBillDetails.vue
  60. 0 665
      src/views/procurement/procurementSpare/component/purChassDetails.vue
  61. 0 570
      src/views/procurement/procurementSpare/component/purEnquiryDetails.vue
  62. 0 867
      src/views/procurement/procurementSpare/component/purQuotesDetails.vue
  63. 0 527
      src/views/procurement/procurementSpare/component/supplierInfo.vue
  64. 0 374
      src/views/procurement/procurementSpare/enquiryDetail.vue
  65. 0 1215
      src/views/procurement/procurementSpare/parityDetail.vue
  66. 0 603
      src/views/procurement/procurementSpare/purchasDetail.vue
  67. 0 551
      src/views/procurement/procurementSpare/quotesDetail.vue
  68. 0 1578
      src/views/procurement/procurementSpare/sparepartList.vue
  69. 0 486
      src/views/procurement/procurementStatistics/annualProcurementStatistics.vue
  70. 0 32
      src/views/procurement/procurementStatistics/procurementStatistics.vue
  71. 0 712
      src/views/procurement/procurementStatistics/purchaseDetails.vue
  72. 61 62
      src/views/statisticalReport/purchaseClosingCashierList.vue
  73. 56 35
      src/views/statisticalReport/purchaseReceiptStatisticsList.vue
  74. 23 24
      src/views/statisticalReport/salesClosingCashierList.vue
  75. 46 36
      src/views/statisticalReport/salesDeliveryReportList.vue
  76. 1 1
      vue.config.js

+ 2 - 3
src/api/V2/statisticalReport/index.js

@@ -1,7 +1,7 @@
 //采购入库报表
 export const API_GET_PURCHRECEIPT = '/purchaseReceiptReport/selectPurchaseOrder'
-// 采购合同
-export const API_GET_CONTRACTNO = '/warehouseBaseInfo/selectContractNoList'
+// 销售合同
+export const API_GET_SALE_CONTRACTNO = '/salesClosingReport/selectContractNoList'
 // 采购入库修改
 export const API_POST_AMEND_PURCHRECEIPT = '/purchaseReceiptReport/api/editProcurementReceiptReport'
 // 采购入库补货结转
@@ -36,7 +36,6 @@ export const API_POST_CLOSECOLLMONEY = '/purchaseClosingReport/api/collectMoney'
 export const API_POST_OPENINVOICE = '/purchaseReceiptReport/api/openInvoice'
 //采购入库批量开发票
 export const API_POST_BATCHOPENINVOICE = '/purchaseReceiptReport/api/openInvoiceList'
-
 //销售出库报表
 export const API_GET_SALELIST = '/salesDeliveryReport/selectSalesDeliveryReport'
 // 销售出库出纳收款

+ 2 - 2
src/model/statisticalReport/index.js

@@ -2,7 +2,7 @@ import { errorCatcher, errorHandle, filter } from 'base-core-lib'
 import { appRx } from '../defalutConfig/indexRx'
 import {
     API_GET_PURCHRECEIPT,
-    API_GET_CONTRACTNO,
+    API_GET_SALE_CONTRACTNO,
     API_POST_AMEND_PURCHRECEIPT,
     API_POST_REPLANISHENT,
     API_POST_AUDIT,
@@ -28,7 +28,7 @@ import {
 //采购入库报表
 export const getpurchreceipt = appRx.get(API_GET_PURCHRECEIPT, errorCatcher, errorHandle, filter)
 //采购合同
-export const getcontractno = appRx.get(API_GET_CONTRACTNO, errorCatcher, errorHandle, filter)
+export const getsalecontractno = appRx.get(API_GET_SALE_CONTRACTNO, errorCatcher, errorHandle, filter)
 //采购入库修改
 export const postamend = appRx.post(API_POST_AMEND_PURCHRECEIPT, errorCatcher, errorHandle, filter)
 //采购入库补货结转

+ 1 - 1
src/views/platformaudit/component/router/route.js

@@ -8,7 +8,7 @@ const platformauditRouter = {
     alwaysShow: true, // will always show the root menu
     meta: {
       title: 'platformaudit',
-      module: 'warehouseManagement.warehouse.warehouseInfo',
+      module: '',
       icon: '-shenhe'
     },
     children: [

+ 0 - 418
src/views/procurement/component/routers/procurement.js

@@ -1,418 +0,0 @@
-// 配置路由-采购模块
-// 2019年5月14日 16:06:48 by zw
-
-import Layout from '@/layout/index';
-
-const procurementRouter = {
-  path: '/procurement',
-  component: Layout,
-  redirect: '/procurement',
-  name: 'procurement',
-  alwaysShow: true, // will always show the root menu
-  meta: {
-    title: 'procurement',
-    module: 'procurement',
-    icon: 'cg'
-  },
-  children: [
-    // #region 备件采购路由
-    {
-      path: 'sparepart',
-      component: () =>
-        import(/* webpackChunkName: "sparepartList" */ '@/views/procurement/procurementSpare/sparepartList'),
-      name: 'sparepart',
-      meta: {
-        title: 'sparepart',
-        shortcutEntrance: 'procurement',
-        module: 'procurement.sparepart',
-        permissicon: [],
-        keepAlive: true
-      }
-    },
-    {
-      path: 'applDetail',
-      component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/procurement/procurementSpare/applDetail'),
-      name: 'applDetail',
-      meta: {
-        title: 'applDetail'
-        // module: 'procurement.sparepart.applDetail'
-      },
-      hidden: true
-    },
-    {
-      path: 'applEmail',
-      component: () => import(/* webpackChunkName: "applEmail" */ '@/views/procurement/procurementSpare/applEmail'),
-      name: 'applEmail',
-      meta: {
-        title: 'applEmail'
-        // module: 'procurement.sparepart.applEmail'
-      },
-      hidden: true
-    },
-    {
-      path: 'applEmailPurchas',
-      component: () => import(/* webpackChunkName: "applEmail" */ '@/views/procurement/procurementSpare/applEmail'),
-      name: 'applEmailPurchas',
-      meta: {
-        title: 'applEmailPurchas'
-        // module: 'procurement.sparepart.applEmailPurchas'
-      },
-      hidden: true
-    },
-    {
-      path: 'enquiryDetail',
-      component: () =>
-        import(/* webpackChunkName: "enquiryDetail" */ '@/views/procurement/procurementSpare/enquiryDetail'),
-      name: 'enquiryDetail',
-      meta: {
-        title: 'enquiryDetail'
-        // module: 'procurement.sparepart.enquiryDetail'
-      },
-      hidden: true
-    },
-    {
-      path: 'parityDetail',
-      component: () =>
-        import(/* webpackChunkName: "parityDetail" */ '@/views/procurement/procurementSpare/parityDetail'),
-      name: 'parityDetail',
-      meta: {
-        title: 'spparity'
-        // module: 'procurement.sparepart.parityDetail'
-      },
-      hidden: true
-    },
-    {
-      path: 'quotesDetail',
-      component: () =>
-        import(/* webpackChunkName: "quotesDetail" */ '@/views/procurement/procurementSpare/quotesDetail'),
-      name: 'quotesDetail',
-      meta: {
-        title: 'quotesDetail'
-        // module: 'procurement.sparepart.quotesDetail'
-      },
-      hidden: true
-    },
-    {
-      path: 'purchasDetail',
-      component: () =>
-        import(/* webpackChunkName: "purchasDetail" */ '@/views/procurement/procurementSpare/purchasDetail'),
-      name: 'purchasDetail',
-      meta: {
-        title: 'purchasDetail'
-        // module: 'procurement.sparepart.purchasDetail'
-      },
-      hidden: true
-    },
-    {
-      path: 'billDetail',
-      component: () =>
-        import(/* webpackChunkName: "billDetail" */ '@/views/procurement/procurementSpare/billDetail'),
-      name: 'billDetail',
-      meta: {
-        title: 'billDetail'
-        // module: 'procurement.sparepart.billDetail'
-      },
-      hidden: true
-    },
-
-    // #endregion
-
-    // #region 物料采购路由
-
-    {
-      path: 'sparepartMa',
-      component: () =>
-        import(/* webpackChunkName: "sparepartList" */ '@/views/procurement/procurementMaterial/sparepartList'),
-      name: 'sparepartMa',
-      meta: {
-        title: 'sparepartMa',
-        module: 'procurement.spareMaterial',
-        shortcutEntrance: 'procurement',
-        keepAlive: true
-      }
-    },
-    {
-      path: 'sparepartMa/applDetailMa',
-      component: () =>
-        import(/* webpackChunkName: "applDetail" */ '@/views/procurement/procurementMaterial/applDetail'),
-      name: 'applDetailMa',
-      meta: {
-        title: 'applDetailMa'
-        // module: 'procurement.sparepartMa.applDetailMa'
-      },
-      hidden: true
-    },
-    {
-      path: 'sparepartMa/applEmailMa',
-      component: () =>
-        import(/* webpackChunkName: "applEmail" */ '@/views/procurement/procurementMaterial/applEmail'),
-      name: 'applEmailMa',
-      meta: {
-        title: 'applEmailMa'
-        // module: 'procurement.sparepartMa.applEmailMa'
-      },
-      hidden: true
-    },
-    {
-      path: 'sparepartMa/applEmailMaPurchas',
-      component: () =>
-        import(/* webpackChunkName: "applEmail" */ '@/views/procurement/procurementMaterial/applEmail'),
-      name: 'applEmailMaPurchas',
-      meta: {
-        title: 'applEmailMaPurchas'
-        // module: 'procurement.sparepartMa.applEmailMaPurchas'
-      },
-      hidden: true
-    },
-    {
-      path: 'sparepartMa/enquiryDetailMa',
-      component: () =>
-        import(/* webpackChunkName: "enquiryDetail" */ '@/views/procurement/procurementMaterial/enquiryDetail'),
-      name: 'enquiryDetailMa',
-      meta: {
-        title: 'enquiryDetailMa'
-        // module: 'procurement.sparepartMa.enquiryDetailMa'
-      },
-      hidden: true
-    },
-    {
-      path: 'sparepartMa/parityDetailMa',
-      component: () =>
-        import(/* webpackChunkName: "parityDetail" */ '@/views/procurement/procurementSpare/parityDetail'),
-      name: 'parityDetailMa',
-      meta: {
-        title: 'spparityMa'
-        // module: 'procurement.sparepartMa.spparityMa'
-      },
-      hidden: true
-    },
-    {
-      path: 'sparepartMa/quotesDetailMa',
-      component: () =>
-        import(/* webpackChunkName: "quotesDetail" */ '@/views/procurement/procurementMaterial/quotesDetail'),
-      name: 'quotesDetailMa',
-      meta: {
-        title: 'quotesDetailMa'
-        // module: 'procurement.sparepartMa.quotesDetailMa'
-      },
-      hidden: true
-    },
-    {
-      path: 'sparepartMa/purchasDetailMa',
-      component: () =>
-        import(/* webpackChunkName: "purchasDetail" */ '@/views/procurement/procurementMaterial/purchasDetail'),
-      name: 'purchasDetailMa',
-      meta: {
-        title: 'purchasDetailMa'
-        // module: 'procurement.sparepartMa.purchasDetailMa'
-      },
-      hidden: true
-    },
-    {
-      path: 'sparepartMa/billDetailMa',
-      component: () =>
-        import(/* webpackChunkName: "billDetail" */ '@/views/procurement/procurementMaterial/billDetail'),
-      name: 'billDetailMa',
-      meta: {
-        title: 'billDetailMa'
-        // module: 'procurement.sparepartMa.billDetailMa'
-      },
-      hidden: true
-    },
-
-    // #endregion
-
-    // #region 海图采购路由
-
-    {
-      path: 'sparepartMap',
-      component: () =>
-        import(/* webpackChunkName: "sparepartList" */ '@/views/procurement/procurementMap/sparepartList'),
-      name: 'sparepartMap',
-      meta: {
-        title: 'sparepartMap',
-        module: 'procurement.spareMapper',
-        shortcutEntrance: 'procurement',
-        permissicon: [],
-        keepAlive: true
-      }
-    },
-    {
-      path: 'sparepartMap/applDetailMap',
-      component: () => import(/* webpackChunkName: "applDetail" */ '@/views/procurement/procurementMap/applDetail'),
-      name: 'applDetailMap',
-      meta: {
-        title: 'applDetailMap'
-        // module: 'procurement.sparepartMap.applDetailMap'
-      },
-      hidden: true
-    },
-    {
-      path: 'sparepartMap/applEmailMap',
-      component: () => import(/* webpackChunkName: "applEmail" */ '@/views/procurement/procurementMap/applEmail'),
-      name: 'applEmailMap',
-      meta: {
-        title: 'applEmailMap'
-        // module: 'procurement.sparepartMap.applEmailMap'
-      },
-      hidden: true
-    },
-    {
-      path: 'sparepartMap/applEmailMapPurchas',
-      component: () => import(/* webpackChunkName: "applEmail" */ '@/views/procurement/procurementMap/applEmail'),
-      name: 'applEmailMapPurchas',
-      meta: {
-        title: 'applEmailMapPurchas'
-        // module: 'procurement.sparepartMap.applEmailMapPurchas'
-      },
-      hidden: true
-    },
-    {
-      path: 'sparepartMap/enquiryDetailMap',
-      component: () =>
-        import(/* webpackChunkName: "enquiryDetail" */ '@/views/procurement/procurementMap/enquiryDetail'),
-      name: 'enquiryDetailMap',
-      meta: {
-        title: 'enquiryDetailMap'
-        // module: 'procurement.sparepartMap.enquiryDetailMap'
-      },
-      hidden: true
-    },
-    {
-      path: 'sparepartMap/parityDetailMap',
-      component: () =>
-        import(/* webpackChunkName: "parityDetail" */ '@/views/procurement/procurementSpare/parityDetail'),
-      name: 'parityDetailMap',
-      meta: {
-        title: 'spparityMap'
-        // module: 'procurement.sparepartMap.spparityMap'
-      },
-      hidden: true
-    },
-    {
-      path: 'sparepartMap/quotesDetailMap',
-      component: () =>
-        import(/* webpackChunkName: "quotesDetail" */ '@/views/procurement/procurementMap/quotesDetail'),
-      name: 'quotesDetailMap',
-      meta: {
-        title: 'quotesDetailMap'
-        // module: 'procurement.sparepartMap.quotesDetailMap'
-      },
-      hidden: true
-    },
-    {
-      path: 'sparepartMap/purchasDetailMap',
-      component: () =>
-        import(/* webpackChunkName: "purchasDetail" */ '@/views/procurement/procurementMap/purchasDetail'),
-      name: 'purchasDetailMap',
-      meta: {
-        title: 'purchasDetailMap'
-        // module: 'procurement.sparepartMap.purchasDetailMap'
-      },
-      hidden: true
-    },
-    {
-      path: 'sparepartMap/billDetailMap',
-      component: () => import(/* webpackChunkName: "billDetail" */ '@/views/procurement/procurementMap/billDetail'),
-      name: 'billDetailMap',
-      meta: {
-        title: 'billDetailMap'
-        // module: 'procurement.sparepartMap.billDetailMap'
-      },
-      hidden: true
-    },
-
-    // #endregion
-    // 采购统计 开始
-    {
-      path: 'procurementStatistics',
-      component: () =>
-        import(/* webpackChunkName: "procurementStatistics" */ '@/views/procurement/procurementStatistics/procurementStatistics'),
-      name: 'procurementStatistics',
-      meta: {
-        title: 'procurementStatistics',
-        module: 'procurement.purStatistics'
-      },
-      hidden: false,
-      children: [{
-        path: 'annualProcurementStatistics',
-        component: () =>
-          import(/* webpackChunkName: "annualProcurementStatistics" */ '@/views/procurement/procurementStatistics/annualProcurementStatistics'),
-        name: 'annualProcurementStatistics',
-        meta: {
-          module: 'procurement.purStatistics.annPurCostStatistics',
-          shortcutEntrance: 'procurement,procurementStatistics',
-        },
-        hidden: true
-      }, {
-        path: 'purchaseDetails',
-        component: () =>
-          import(/* webpackChunkName: "annualProcurementStatistics" */ '@/views/procurement/procurementStatistics/purchaseDetails'),
-        name: 'purchaseDetails',
-        meta: {
-          module: 'procurement.purStatistics.annPurCostStatistics',
-        },
-        hidden: true
-      }]
-    },
-    //采购统计 结束
-    // #region 基础数据/合同模板
-    // {
-    //   path: "/vendorList",
-    //   component: () =>
-    //     import("@/views/procurement/procurementBasic/vendorList"),
-    //   name: "vendorManage",
-    //   meta: {
-    //     title: "vendorManage",
-    //     module: "procurement.vendorManage"
-    //   }
-    // },
-    {
-      path: 'contract',
-      component: () =>
-        import(/* webpackChunkName: "contractList" */ '@/views/procurement/procurementBasic/contractList'),
-      name: 'contract',
-      meta: {
-        title: 'contract',
-        shortcutEntrance: 'procurement',
-        module: 'procurement.contract'
-      },
-    },
-    {
-      path: 'contract/detail',
-      component: () =>
-        import(/* webpackChunkName: "contractDetail" */ '@/views/procurement/procurementBasic/contractDetail'),
-      name: 'contractDetail',
-      meta: {
-        title: 'contractDetail',
-        shortcutEntrance: 'procurement',
-        // module: 'procurement.contract.contractDetail'
-      },
-      hidden: true
-    },
-    {
-      path: 'purBasicData',
-      component: () =>
-        import(/* webpackChunkName: "purBasicData" */ '@/views/procurement/procurementBasic/purBasicData'),
-      name: 'purBasicData',
-      meta: {
-        title: 'certificateBasicData',
-        shortcutEntrance: 'procurement',
-        module: 'procurement.certificateBasicData'
-      }
-    }
-    // ,{
-    //   path: '/test',
-    //   component: () => import('@/views/procurement/procurementSpare/test'),
-    //   name: 'test',
-    //   meta: {
-    //     title: 'test'
-    //   }
-    // }
-
-    // #endregion
-  ]
-};
-
-export default procurementRouter;

+ 0 - 312
src/views/procurement/component/viewSpareMoney.vue

@@ -1,312 +0,0 @@
-<!--查看备用金-->
-<template>
-  <div v-if="showType"
-       style="margin-left:10px">
-    <ws-button @click="showDialog"
-               v-if="monetaryKey == 1 || monetaryKey == 2 || monetaryKey == 3">{{ $t('cg.viewBudget') }}</ws-button>
-    <ws-button @click="showDialog"
-               v-else-if="monetaryKey == 4">{{
-      $t('cg.viewSpareMoney')
-    }}</ws-button>
-    <WinseaContentModal v-model='dialogViewSpareMoney'
-                        :title="$t('upload.basicInfo')"
-                        @on-cancel="handleClose">
-      <div class="myDialog">
-        <template>
-          <!-- 查看预算 -->
-          <el-table :row-class-name="tableRowClassName"
-                    :data="tableDate"
-                    style="width: 100%"
-                    v-if="monetaryKey == 1 || monetaryKey == 2 || monetaryKey == 3">
-            <el-table-column label="序号"
-                             type="index"
-                             width="50"></el-table-column>
-            <!--   <el-table-column
-              prop="subjectName"
-              label="所属科目"
-              width="80"
-            ></el-table-column>-->
-            <el-table-column prop="budgetMoney"
-                             label="年度预算值"
-                             width="100"></el-table-column>
-            <el-table-column prop="remainBudgetMoney"
-                             label="剩余预算总额"
-                             width="110"></el-table-column>
-            <el-table-column prop="originalCoin"
-                             label="本次采购原币金额"
-                             width="150">
-              <template slot-scope="{ row }">
-                {{ parseFloat(row.originalCoin).toFixed(2) }}
-              </template>
-            </el-table-column>
-            <el-table-column prop="localCurrency"
-                             label="本次采购本币金额"
-                             width="150">
-              <template slot-scope="{ row }">
-                {{ parseFloat(row.localCurrency).toFixed(2) }}
-              </template>
-            </el-table-column>
-            <el-table-column prop="remainingAmountAterPurchase"
-                             label="本次采购后剩余预算金额"
-                             width="180"></el-table-column>
-            <el-table-column prop="remainingAmount"
-                             label="本次采购剩余预算金额占比"
-                             width="200">
-              <template slot-scope="{ row }">
-                {{ parseFloat(row.remainingAmount).toFixed(2) }} %
-              </template>
-            </el-table-column>
-          </el-table>
-          <!-- 查看备用金 -->
-          <el-table :row-class-name="tableRowClassName"
-                    :data="tableDate"
-                    style="width: 100%"
-                    v-if="monetaryKey == 4">
-            <el-table-column label="序号"
-                             type="index"
-                             width="50"></el-table-column>
-            <el-table-column prop="imprestBalance"
-                             label="剩余备用金"></el-table-column>
-            <el-table-column prop="originalCoin"
-                             label="本次采购原币金额">
-              <template slot-scope="{ row }">
-                {{ parseFloat(row.originalCoin).toFixed(2) }}
-              </template>
-            </el-table-column>
-            <el-table-column prop="localCurrency"
-                             label="本次采购本币金额">
-              <template slot-scope="{ row }">
-                {{ parseFloat(row.localCurrency).toFixed(2) }}
-              </template>
-            </el-table-column>
-            <el-table-column prop="remainingAmountAterPurchase"
-                             label="本次采购后剩余备用金"></el-table-column>
-          </el-table>
-        </template>
-      </div>
-      <template slot="footer"
-                class="dialog-footer">
-        <ws-button @click="handleClose">
-          {{ $t('button.close') }}
-        </ws-button>
-      </template>
-    </WinseaContentModal>
-  </div>
-</template>
-<script>
-import {
-  getVesselOne
-} from '@/model/procurement/basic'
-import { dayjs } from 'base-core-lib'
-export default {
-  name: 'viewSpareMoney',
-  props: {
-    // 是否显示
-    isShow: {
-      type: Boolean,
-      default: true
-    },
-    // 类型 海图map 物料ma 备件sp
-    serverType: {
-      type: String,
-      default: null
-    },
-    //预算年份
-    budgetYear: {
-      type: String,
-      default: null
-    },
-    //船舶ID
-    vesselId: {
-      type: String,
-      default: null
-    },
-    //科目ID
-    subjectId: {
-      type: String,
-      default: null
-    }
-  },
-  watch: {
-    vesselId (val) {
-      this.getVesselData()
-    },
-    isShow (val) {
-      this.showType = val
-    }
-  },
-  data () {
-    return {
-      //弹出框
-      dialogViewSpareMoney: false,
-      // 船舶类型
-      monetaryKey: null,
-      // 表格显示数据
-      tableDate: [],
-      // 是否显示
-      showType: true,
-      // 年
-      year: '',
-      // 提交类型
-      submitType: true
-    }
-  },
-  created () {
-    //cg.viewBudget
-    //cg.viewSpareMoney
-    // this.getVesselData();
-    this.showType = this.isShow
-  },
-  methods: {
-    // 获得船舶对象
-    getVesselData () {
-      getVesselOne({
-        vesselId: this.vesselId
-      }).toPromise()
-        .then(succ => {
-          this.monetaryKey = succ.manageTypeKey
-          if (!this.monetaryKey) {
-            // this.monetaryKey = "1";
-            this.showType = false
-          }
-        })
-        .catch(error => {
-          console.log(error)
-        })
-    },
-    // 行文字颜色控制
-    tableRowClassName (row) {
-      if (this.monetaryKey == 4) {
-        if (row.row.remainingAmountAterPurchase < 0) {
-          this.submitType = false
-          return 'error-row'
-        }
-      } else {
-        if (row.row.localCurrency > row.row.remainBudgetMoney) {
-          this.submitType = false
-          return 'error-row'
-        }
-      }
-    },
-    // 显示弹出框前准备
-    showDialog () {
-      this.$emit('viewSpareMoneyGetDate')
-    },
-    // 数据处理
-    viewSpareMoneyGetDate: async function (subData, showType) {
-      if (this.monetaryKey == 4) {
-        //备用金
-
-        let originalCoin = 0
-        let localCurrency = 0
-        // 数据整合
-        for (let i = 0; i < subData.length; i++) {
-          originalCoin += subData[i].originalCoin
-          localCurrency += subData[i].localCurrency
-        }
-
-        let moneydata = await this.getdate()
-        this.tableDate = [
-          {
-            originalCoin: originalCoin,
-            localCurrency: localCurrency,
-            imprestBalance: 0,
-            warningThreshold: 0
-          }
-        ]
-        if (moneydata) {
-          this.tableDate[0].imprestBalance = parseFloat(
-            this.tableDate[0].imprestBalance *
-            (this.tableDate[0].warningThreshold / 100)
-          ).toFixed(2)
-
-          this.tableDate[0].warningThreshold = moneydata.warningThreshold
-        }
-        this.tableDate[0].remainingAmountAterPurchase = parseFloat(
-          this.tableDate[0].imprestBalance - this.tableDate[0].localCurrency
-        ).toFixed(2)
-
-        if (this.tableDate[0].remainingAmountAterPurchase < 0) {
-          this.submitType = false
-        }
-      } else {
-        //余额
-        if (this.budgetYear) {
-          // let myDate = new Date()
-          // this.year = myDate.getFullYear()
-          this.year = dayjs().format('YYYY')
-        } else {
-          this.year = this.budgetYear.substr(0, 4)
-        }
-
-        for (let i = 0; i < subData.length; i++) {
-          let moneydata = await this.getdate(subData[i].subjectId)
-          subData[i].budgetMoney = parseFloat(moneydata.budgetMoney).toFixed(2)
-          subData[i].remainBudgetMoney = parseFloat(
-            moneydata.remainBudgetMoney
-          ).toFixed(2)
-
-          subData[i].remainingAmountAterPurchase = parseFloat(
-            subData[i].remainBudgetMoney - subData[i].localCurrency
-          ).toFixed(2)
-
-          if (
-            subData[i].budgetMoney <= 0 ||
-            subData[i].remainingAmountAterPurchase <= 0
-          ) {
-            subData[i].remainingAmount = 0
-          } else {
-            subData[i].remainingAmount =
-              subData[i].remainingAmountAterPurchase / subData[i].budgetMoney
-          }
-          if (subData[i].remainingAmount <= 0) {
-            subData[i].remainingAmount = 0
-          }
-
-          if (subData[i].localCurrency > subData[i].remainBudgetMoney) {
-            this.submitType = false
-          }
-        }
-        this.tableDate = subData
-      }
-      if (showType != false) {
-        this.dialogViewSpareMoney = true
-      }
-      return Promise.resolve(this.submitType)
-    },
-    // 数据获取
-    getdate: async function (subId) {
-    },
-
-    // 关闭 dialog时 处理文件url 初始化upload组件
-    handleClose () {
-      this.dialogViewSpareMoney = false
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.myDialogDiv {
-  .ws-dialog {
-    position: fixed;
-    top: 0px;
-    right: 15%;
-    overflow: auto;
-    margin: 0;
-    width: 25em !important;
-
-    .ws-dialog__footer {
-      height: 50px;
-      line-height: 50px;
-      padding: 0 20px 0 0;
-    }
-  }
-}
-
-/deep/.el-table {
-  .error-row {
-    color: red;
-  }
-}
-</style>

+ 0 - 154
src/views/procurement/procurementBasic/PreJobTrainingList.vue

@@ -1,154 +0,0 @@
-<!--合同模板--->
-<!--2019年6月20日 00:45:39-->
-<template>
-  <div>
-    <div class="top-container"
-         style="background: #fff;">
-      <!-- 按钮组件 -->
-      <div class="button-container">
-        <ws-button type="primary"
-                   class="button-right"
-                   @click="save">{{ $t('button.save') }}</ws-button>
-
-        <ws-button class="button-right"
-                   @click="back">{{ $t('button.back') }}</ws-button>
-      </div>
-    </div>
-    <!-- 按钮组件 -->
-    <!--合同表单列表-->
-    <div class="app-container">
-      <div class="input-main app-conter"
-           style="margin-top:0;  border-top: 3px solid #eee;padding: 0px; ">
-        <div class="app-conter-left">
-          <ws-form ref="dataForm"
-                   :model="contractForm"
-                   class="form-email"
-                   label-width="150px"
-                   :rules="rulesVendor">
-            <div class="createPost-main-container">
-              <div class="from-input">
-                <ws-form-item :label="$t('cg.contract.contractTitle')+$t('common.colon')"
-                              prop="contractTitle">
-                  <ws-input v-model="contractForm.contractTitle"
-                            :placeholder="$t('common.input')"
-                            style="width:20em" />
-                </ws-form-item>
-
-                <ws-form-item :label="$t('cg.contract.contractTypeName')+$t('common.colon')"
-                              prop="contractTypeId">
-                  <ws-select v-model="contractForm.contractTypeId"
-                             :placeholder="$t('common.input')"
-                             style="width:20em">
-                    <ws-option v-for="item in contractList"
-                               :key="item.parameterKey"
-                               :label="language=='en'? item.parameterValueEn:item.parameterValue"
-                               :value="item.parameterKey" />
-                  </ws-select>
-                </ws-form-item>
-                <ws-form-item prop="contractContent"
-                              style="margin-bottom: 30px;height:470px; margin-top: 10px;">
-                  <Tinymce ref="editor"
-                           v-model="contractForm.contractContent"
-                           :height="400" />
-                </ws-form-item>
-              </div>
-            </div>
-          </ws-form>
-        </div>
-      </div>
-    </div>
-    <!--合同表单列表-->
-  </div>
-</template>
-
-<script src="../../../viewsjs/procurement/procurementBasic/contractDetail.js" />
-
-<style lang="scss" scoped>
-@import '~@/styles/mixin.scss';
-
-.tinymce-container {
-  .mce-tinymce {
-    width: auto !important;
-  }
-}
-
-.input-main {
-  height: 800px;
-}
-.app-conter {
-  .input-main {
-    padding: 20px;
-    padding-top: 5px;
-    background: #fff;
-    border-top: 10px solid #eee;
-    .el-form-item--medium .el-form-item__content {
-      height: auto !important;
-    }
-  }
-}
-.createPost-container {
-  position: relative;
-
-  .createPost-main-container {
-    padding: 40px 45px 20px 50px;
-
-    .postInfo-container {
-      position: relative;
-      @include clearfix;
-      margin-bottom: 10px;
-
-      .postInfo-container-item {
-        float: left;
-      }
-    }
-  }
-
-  .word-counter {
-    width: 40px;
-    position: absolute;
-    right: 10px;
-    top: 0px;
-  }
-}
-
-.article-textarea /deep/ {
-  textarea {
-    padding-right: 40px;
-    resize: none;
-    border: none;
-    border-radius: 0px;
-    border-bottom: 1px solid #bfcbd9;
-  }
-}
-.top-container {
-  width: 100%;
-  line-height: 50px;
-  display: flex;
-  flex-direction: row-reverse;
-  .button-container {
-    margin-right: 20px;
-    .button-right {
-      margin-top: 10px;
-    }
-  }
-}
-
-.form-email {
-  .el-form-item__label {
-    background-color: #fff;
-    border: 0px;
-  }
-  .el-form-item__content {
-    border: 0px;
-    display: grid;
-  }
-}
-.from-input-left {
-  float: left;
-}
-.from-input-right {
-  margin: 0px 20px;
-  line-height: 40px;
-}
-</style>
-

+ 0 - 170
src/views/procurement/procurementBasic/contractDetail.vue

@@ -1,170 +0,0 @@
-<!--合同模板--->
-<!--2019年6月20日 00:45:39-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <!-- 按钮组件 -->
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-        </template>
-        <template slot="right">
-          <ws-button type="primary"
-                     class="button-right"
-                     @click="save">{{
-          $t('button.save')
-        }}</ws-button>
-
-          <ws-button class="button-right"
-                     @click="back">{{
-          $t('button.back')
-        }}</ws-button>
-          <!-- 按钮组件 -->
-          <!--合同表单列表-->
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <ws-form ref="dataForm"
-               :model="contractForm"
-               class="form-email"
-               :label-width="getLanguage == 'en'?'210px':'150px'"
-               :rules="rulesVendor">
-        <div class="createPost-main-container">
-          <div class="from-input">
-            <ws-form-item :label="$t('cg.contract.contractTitle') + $t('common.colon')"
-                          prop="contractTitle">
-              <ws-input v-model.trim="contractForm.contractTitle"
-                        :placeholder="$t('common.input')"
-                        style="width: 23.4em;"
-                        maxlength="100" />
-            </ws-form-item>
-
-            <ws-form-item :label="
-                    $t('cg.contract.contractTypeName') + $t('common.colon')
-                  "
-                          prop="contractTypeId">
-              <ws-select v-model="contractForm.contractTypeId"
-                         :placeholder="$t('common.input')"
-                         style="width:20em">
-                <ws-option v-for="item in contractList"
-                           :key="item.parameterKey"
-                           :label="
-                        getLanguage == 'en'
-                          ? item.parameterValueEn
-                          : item.parameterValue
-                      "
-                           :value="item.parameterKey" />
-              </ws-select>
-            </ws-form-item>
-            <ws-form-item prop="contractContent"
-                          style="margin-bottom: 30px;height:470px; margin-top: 10px;">
-              <Tinymce ref="editor"
-                       v-model="contractForm.contractContent"
-                       :height="400" />
-            </ws-form-item>
-          </div>
-        </div>
-      </ws-form>
-    </template>
-    <!--合同表单列表-->
-  </BaseDetailLayout>
-</template>
-
-<script src="../../../viewsjs/procurement/procurementBasic/contractDetail.js" />
-
-<style lang="scss" scoped>
-@import '~@/styles/mixin.scss';
-
-.tinymce-container {
-  .mce-tinymce {
-    width: auto !important;
-  }
-}
-
-.input-main {
-  height: 800px;
-  padding: 20px 10px 10px 10px;
-}
-.createPost-main-container {
-  padding: 20px 10px 10px 10px;
-}
-.el-form-item {
-  margin-bottom: 10px;
-}
-.app-conter {
-  .input-main {
-    padding: 20px;
-    padding-top: 5px;
-    background: #fff;
-    border-top: 10px solid #eee;
-    .el-form-item--medium .el-form-item__content {
-      height: auto !important;
-    }
-  }
-}
-.createPost-container {
-  position: relative;
-
-  .createPost-main-container {
-    padding: 40px 45px 20px 50px;
-
-    .postInfo-container {
-      position: relative;
-      @include clearfix;
-      margin-bottom: 10px;
-
-      .postInfo-container-item {
-        float: left;
-      }
-    }
-  }
-
-  .word-counter {
-    width: 40px;
-    position: absolute;
-    right: 10px;
-    top: 0px;
-  }
-}
-
-.article-textarea /deep/ {
-  textarea {
-    padding-right: 40px;
-    resize: none;
-    border: none;
-    border-radius: 0px;
-    border-bottom: 1px solid #bfcbd9;
-  }
-}
-.top-container {
-  width: 100%;
-  line-height: 50px;
-  display: flex;
-  flex-direction: row-reverse;
-  .button-container {
-    margin-right: 20px;
-    .button-right {
-      margin-top: 10px;
-    }
-  }
-}
-
-.form-email {
-  .el-form-item__label {
-    background-color: #fff;
-    border: 0px;
-  }
-  .el-form-item__content {
-    border: 0px;
-    display: grid;
-  }
-}
-.from-input-left {
-  float: left;
-}
-.from-input-right {
-  margin: 0px 20px;
-  line-height: 40px;
-}
-</style>

+ 0 - 407
src/views/procurement/procurementBasic/contractList.vue

@@ -1,407 +0,0 @@
-<!--合同模板-->
-<!--2019年6月19日 16:25:12-->
-<template>
-  <TableView class="product"
-             @body-height-change="bodyHeightChange">
-    <template slot="header">
-      <BaseHeaderLayout>
-        <template slot="left">
-          <ws-button type="primary"
-                     @click="contractOpenInfo"
-                     v-hasPermission="
-              `${$permission('PERMISSIONS.PURCHASECONTRACTTEMPLATEINFO_EDIT')}`
-            ">{{ $t('button.add') }}</ws-button>
-        </template>
-        <template slot="right">
-          <ws-dropdown trigger="click"
-                       style="margin-right:10px">
-            <span class="el-dropdown-link">
-              {{ getLanguage == 'en'?parameterNameEn:parameterName }}({{ total }})
-              <i class="el-icon-caret-bottom el-icon--right" />
-            </span>
-            <ws-dropdown-menu slot="dropdown">
-              <ws-dropdown-item v-for="(item, value) in contractTypeList"
-                                :key="value"
-                                :command="item.parameterKey"
-                                @click.native="setbySatus(item)">
-                {{ getLanguage == 'en'?item.parameterValueEn:item.parameterValue }}
-                <el-badge class="mark" />
-              </ws-dropdown-item>
-            </ws-dropdown-menu>
-          </ws-dropdown>
-          <BaseInputSearch v-model="listQuery.title"
-                           :placeholder="$t('cg.contract.contractitle')"
-                           @search="handleFilter()" />
-        </template>
-      </BaseHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 列表 -->
-      <ws-normal-table :height="tableViewBodyHeight"
-                       :data="contractLists"
-                       element-loading-text="Loading"
-                       fit
-                       highlight-current-row
-                       :row-class-name="tableRowClassName"
-                       @sort-change="sortChange"
-                       @row-click="rowContract">
-        <ws-table-column :show-overflow-tooltip="false"
-                         align="center"
-                         type="index"
-                         :label="$t('cg.contract.spId')"
-                         width="50" />
-        <ws-table-column sortable
-                         :label="$t('cg.contract.contractTitle')"
-                         min-width="200"
-                         prop="contractTitle">
-          <template slot-scope="scope">
-            <span>{{ scope.row.contractTitle }}</span>
-          </template>
-        </ws-table-column>
-
-        <ws-table-column sortable
-                         min-width="200"
-                         :label="$t('cg.contract.contractTypeName')"
-                         prop="contractTypeId">
-          <template slot-scope="scope">{{
-              getLanguage == 'en'?scope.row.parameterValueEn:scope.row.parameterValue
-            }}</template>
-        </ws-table-column>
-
-        <ws-table-column sortable
-                         prop="updateUserName"
-                         min-width="200"
-                         :label="$t('cg.contract.updateUserName')" />
-        <ws-table-column sortable
-                         prop="createDate"
-                         min-width="200"
-                         :label="$t('cg.contract.createDate')" />
-
-        <ws-table-column :label="$t('common.operate')"
-                         v-if="permissionIf(`${$permission('PERMISSIONS.PURCHASECONTRACTTEMPLATEINFO_EDIT')}`)"
-                         align="center">
-          <template slot-scope="scope">
-            <span style="font-size: 22px;">
-              <i class="iconfont iconedit3"
-                 @click.stop="contractOpenInfo(scope.row)"
-                 :title="$t('button.edit')" />
-              <!-- 'procurement.contract.delete' -->
-              <i class="iconfont iconrecycleBiny"
-                 @click.stop="handleDelete(scope.$index, scope.row)"
-                 :title="$t('button.delete')" />
-            </span>
-          </template>
-        </ws-table-column>
-      </ws-normal-table>
-    </template>
-    <template slot="footer">
-      <!-- 列表-页码 -->
-      <pagination v-show="total > 0"
-                  :total="total"
-                  :page.sync="listQuery.currentPage"
-                  :limit.sync="listQuery.pageSize"
-                  @pagination="getlistbyWhere" />
-      <!-- 列表-页码 -->
-    </template>
-    <WinseaContentModal v-model='dialogRowVisible'
-                        class="contractTemplate"
-                        :title="$t('cg.contract.contract')">
-      <ws-form ref="dataForm"
-               :model="contractForm"
-               class="form-email"
-               :label-width="getLanguage == 'en'?'200px':'110px'">
-        <div class="createPost-main-container">
-          <div class="from-select">
-            <ws-form-item :label="$t('cg.contract.contractTitle') + $t('common.colon')">
-              <span>{{ contractForm.contractTitle }}</span>
-            </ws-form-item>
-
-            <ws-form-item :label="
-                    $t('cg.contract.contractTypeName') + $t('common.colon')
-                  ">
-              <span>{{ getLanguage == 'en'?contractForm.parameterValueEn:contractForm.parameterValue }}</span>
-              <!--  <ws-select v-model="contractForm.contractTypeId"
-                         :placeholder="$t('common.input')"
-                         style="width:20em">
-                <ws-option v-for="item in contractTypeList"
-                           :key="item.parameterKey"
-                           :label="
-                    getLanguage == 'en'
-                      ? item.parameterValueEn
-                      : item.parameterValue
-                  "
-                           :value="item.parameterKey" />
-              </ws-select>-->
-            </ws-form-item>
-            <ws-form-item :label="$t('cg.contract.contractConter') + $t('common.colon')">
-              <div style="white-space: initial;"
-                   v-html="contractForm.contractContent"></div>
-            </ws-form-item>
-          </div>
-        </div>
-      </ws-form>
-    </WinseaContentModal>
-  </TableView>
-</template>
-<script src="../../../viewsjs/procurement/procurementBasic/contractList.js" />
-<style lang="scss" scoped>
-@import '~@/styles/variables.scss';
-/deep/ p {
-  margin: 0 !important;
-}
-.el-form-item--medium /deep/ .el-form-item__content {
-  line-height: 40px;
-}
-
-::v-deep .drawDialog > .el-dialog {
-  min-width: 1100px;
-}
-.certificate-overview {
-  background-color: #eee;
-  margin-bottom: 10px;
-  .earlyWarning {
-    .overview-num {
-      color: $yellow !important;
-    }
-  }
-  .overDue {
-    .overview-num {
-      color: $red !important;
-    }
-  }
-  .overview-main {
-    width: 100%;
-    height: 50px;
-    background-color: #fff;
-    display: flex;
-    align-items: center;
-    .svg-icon {
-      width: 4.8em;
-      height: 4.8em;
-      padding-right: 30px;
-    }
-    .overview-box {
-      width: 100%;
-      display: inline-block;
-      vertical-align: middle;
-      padding-left: 30px;
-      .overview-title {
-        font-size: 14px;
-        font-weight: bold;
-        color: #333;
-      }
-      .overview-num {
-        line-height: 23px;
-        font-size: 27px;
-        font-weight: bold;
-      }
-    }
-  }
-  .el-col:nth-child(1) .overview-main {
-    width: calc(100% - 33px);
-  }
-  .el-col:nth-child(2) .overview-main {
-    width: calc(100% - 33px);
-  }
-  .el-col:nth-child(3) .overview-main {
-    width: calc(100% - 33px);
-  }
-}
-.from-select {
-  /deep/.el-input__inner {
-    border: 0;
-    padding-left: 0;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-
-/deep/.el-dialog__body {
-  height: 400px;
-  overflow: auto;
-}
-.edit-input {
-  width: 87%;
-}
-.spanSave,
-.saveSpan {
-  float: right;
-  font-size: 22px;
-}
-.remarkSpan {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  display: inline-block;
-  width: 87%;
-}
-.nav-bar {
-  padding: 10px 20px 0;
-}
-.nav-search {
-  float: right;
-}
-.searchThree,
-.searchTwo,
-.searchOne {
-  float: left;
-}
-.searchTwo,
-.searchOne {
-  margin-right: 20px;
-}
-.clearfix:after {
-  /*伪元素是行内元素 正常浏览器清除浮动方法*/
-  content: '';
-  display: block;
-  height: 0;
-  clear: both;
-  visibility: hidden;
-}
-.clearfix {
-  *zoom: 1; /*ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行*/
-}
-.dropdown {
-  margin-top: 10px;
-  cursor: pointer;
-}
-.el-dropdown-menu__item:not(.is-disabled):hover,
-.el-dropdown-menu__item:focus {
-  background-color: #f5f7fa;
-  color: #333;
-}
-/deep/.dialog .el-dialog {
-  margin-top: 18vh !important;
-  position: relative;
-  margin-right: 10%;
-  background: #ffffff;
-  border-radius: 2px;
-  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
-  -webkit-box-sizing: border-box;
-  box-sizing: border-box;
-  width: 320px;
-}
-/deep/.dialog .el-dialog__header,
-/deep/.dialog .el-dialog__footer {
-  background-color: #f6f6f6;
-}
-/deep/.dialog .el-dialog__header {
-  height: 50px;
-  padding: auto 20px;
-}
-/deep/.dialog .el-dialog__footer {
-  height: 72px;
-  line-height: 72px;
-  padding: 0 20px 0 0;
-}
-.dropdownmenu {
-  width: 160px;
-  // margin-left: 75px !important;
-}
-.dropdownmenu .el-dropdown-menu__item {
-  text-align: center;
-  color: #333;
-}
-/deep/.dropdownmenu .popper__arrow {
-  left: 30px;
-}
-.selectTitle {
-  margin-bottom: 5px;
-}
-.select .el-select {
-  width: 100%;
-  margin-bottom: 20px;
-}
-.startDate {
-  width: 93%;
-  margin-bottom: 10px;
-}
-.endDate {
-  width: 100%;
-  margin-bottom: 20px;
-}
-.searchTwo .ws-button--text {
-  color: #333;
-}
-.searchTwo .ws-button--text:hover {
-  color: #1d6ced;
-}
-.el-dropdown-link:hover {
-  color: #1d6ced;
-}
-.searchThree {
-  position: relative;
-}
-.searchThree .el-input--medium[data-v-226a5fb3] {
-  margin-right: 30px;
-}
-.searchThree .el-input--medium {
-  width: 240px;
-}
-/deep/.searchThree .el-input--medium .el-input__inner {
-  padding-left: 12px;
-}
-/deep/.searchThree .el-input__prefix {
-  left: 267px;
-}
-.searchIcon {
-  font-size: 32px;
-  position: absolute;
-  top: 0px;
-  right: 0px;
-}
-.main-list {
-  height: auto;
-  padding: 0;
-}
-/deep/.main-list .el-table .button .cell {
-  line-height: 20px;
-  height: 20px;
-  font-size: 12px;
-  padding-left: 0px;
-}
-/deep/.main-list .el-table .labelState .cell {
-  line-height: 20px;
-}
-.yhButton {
-  height: 50px;
-}
-/deep/ .el-popper {
-  /deep/ .popper__arrow {
-    left: 30px !important;
-  }
-}
-.guolvmsg {
-  font-size: 14px;
-  color: #333;
-}
-
-.el-table {
-  .cell {
-    line-height: auto !important;
-    height: auto !important;
-    span {
-      line-height: 14px;
-    }
-  }
-}
-.contractTemplate {
-  >>> .el-form-item__label {
-    line-height: 28px !important;
-    font-size: 14px !important;
-    span {
-      color: #999 !important;
-      font-weight: 500 !important;
-    }
-  }
-  .el-form-item {
-    margin: 0;
-  }
-  >>> .el-form-item__content {
-    line-height: 28px !important;
-    font-size: 14px !important;
-  }
-}
-</style>

+ 0 - 160
src/views/procurement/procurementBasic/purBasicData.vue

@@ -1,160 +0,0 @@
-/* eslint-disable handle-callback-err */
-<!-- **模块 基础数据页面 -->
-<template>
-  <div style="padding-top: 1px;">
-    <BaseTabsRouterLayout v-model="selectTab"
-                          :option="option"
-                          type="card" />
-    <TableView class="product"
-               @body-height-change="bodyHeightChange">
-      <template slot="header">
-        <BaseHeaderLayout>
-          <template slot="left">
-            <ws-button v-hasPermission="'procurement.certificateBasicData.save'"
-                       type="primary"
-                       @click="addNew">{{ $t('button.add') }}</ws-button>
-          </template>
-        </BaseHeaderLayout>
-      </template>
-      <template slot="body">
-        <!-- <div class="app-container"> -->
-        <div class="clearfix">
-          <ws-form ref="form"
-                   :model="form">
-            <ws-normal-table :height="tableViewBodyHeight - 40"
-                             :data="form.tableData"
-                             style="width: 100%"
-                             row-key="id"
-                             fit
-                             highlight-current-row>
-              <ws-table-column :show-overflow-tooltip="false"
-                               align="center"
-                               prop="crtNo"
-                               :label="$t('common.num')"
-                               width="50">
-                <template slot-scope="scope">{{ scope.$index + 1 }}</template>
-              </ws-table-column>
-              <ws-table-column :label="$t('cg.purBasicData.settlementMethod')">
-                <template slot-scope="scope">
-                  <ws-form-item v-if="scope.row.edit"
-                                :prop="'tableData.' + scope.$index + '.parameterValue'"
-                                style="margin: 0px;">
-                    <ws-input :clearable="false"
-                              v-model.trim="scope.row.parameterValue"
-                              :maxlength="set50()"
-                              size="small" />
-                  </ws-form-item>
-                  <span v-else>{{ scope.row.parameterValue }}</span>
-                </template>
-              </ws-table-column>
-              <ws-table-column :label="$t('cg.purBasicData.settlementMethodEn')">
-                <template slot-scope="scope">
-                  <ws-form-item v-if="scope.row.edit"
-                                style="margin: 0px;">
-                    <ws-input :clearable="false"
-                              v-model.trim="scope.row.parameterValueEn"
-                              :maxlength="set50()"
-                              size="small" />
-                  </ws-form-item>
-                  <span v-else>{{ scope.row.parameterValueEn }}</span>
-                </template>
-              </ws-table-column>
-              <ws-table-column prop="paixu"
-                               :label="$t('zs.common.sort')"
-                               align="center">
-                <span class="spanSave">
-                  <i class="iconfont iconshangxiatuozhuai" />
-                </span>
-              </ws-table-column>
-              <ws-table-column :label="$t('common.operate')"
-                               align="center"
-                               v-if="permissionIf(`${$permission('PERMISSIONS.PURPARAMETER_SAVE')}`)"
-                               width="90">
-                <template slot-scope="{ row }">
-                  <span class="type">
-                    <i class="iconfont iconsave"
-                       v-if="row.edit"
-                       @click="save(row)" />
-                    <!-- <svg-icon
-                      v-if="row.edit"
-                      icon-class="save"
-                      v-hasPermission="'procurement.certificateBasicData.save'"
-                      @click="save(row)"
-                    /> -->
-                    <i class="iconfont iconedit3"
-                       v-else
-                       @click="edit(row)" />
-                    <!-- 'procurement.certificateBasicData.delete' -->
-                    <i class="iconfont iconrecycleBiny"
-                       @click="delate(row)" />
-                  </span>
-                </template>
-              </ws-table-column>
-            </ws-normal-table>
-          </ws-form>
-        </div>
-        <!-- </div> -->
-      </template>
-      <template slot="footer">
-        <pagination v-show="total > 0"
-                    :total="total"
-                    :page.sync="page.currentPage"
-                    :limit.sync="page.pageSize"
-                    @pagination="paging(currentPage)" />
-      </template>
-    </TableView>
-  </div>
-</template>
-
-<script src="../../../viewsjs/procurement/procurementBasic/purBasicData.js" />
-<style lang="scss" scoped>
-.nav-bar {
-  // height: calc(88vh - 3px);
-  // padding: 10px 20px 10px;
-}
-.spanSave {
-  font-size: 22px;
-  color: #999999;
-}
-.nav-button {
-  display: block;
-}
-.type {
-  font-size: 22px;
-  color: #999999;
-}
-.sortable-ghost {
-  opacity: 0.8;
-  color: #fff !important;
-  background: #42b983 !important;
-}
-.icon-star {
-  margin-right: 2px;
-}
-.drag-handler {
-  width: 20px;
-  height: 20px;
-  cursor: pointer;
-}
-.show-d {
-  margin-top: 15px;
-}
-.star {
-  font-size: 20px;
-  color: red;
-  vertical-align: middle;
-}
-/deep/ .edit-input .el-input__inner {
-  width: 95%;
-}
-.el-menu-demo {
-  padding-left: 10px;
-}
-/deep/ .el-menu--horizontal > .el-menu-item {
-  float: left;
-  height: 50px;
-  line-height: 50px;
-  margin: 0;
-  color: #909399;
-}
-</style>

+ 0 - 572
src/views/procurement/procurementBasic/vendorList.vue

@@ -1,572 +0,0 @@
-<!-- 供应商管理-->
-<!--2019年7月5日 00:08:24 by jlx-->
-<template>
-  <div class="app-container app-vendort"
-       style="background-color: #fff;margin: 2px;">
-    <div>
-      <!-- 按钮组件和过滤 -->
-      <div class="nav-bar clearfix">
-        <!--状态按钮组件-->
-        <div class="nav-button">
-          <ws-button type="primary"
-                     @click="vendorOpenInfo()"
-                     v-hasPermission="'procurement.vendorManage.save'">{{ $t('button.add') }}</ws-button>
-        </div>
-        <!--搜索区域-->
-        <div class="nav-search">
-          <!-- 下拉筛选  -->
-          <div class="searchOne"
-               style="margin-top: 8px">
-            <ws-dropdown trigger="click">
-              <span class="el-dropdown-link">
-                {{ parameterName }}({{ total }})
-                <i class="el-icon-caret-bottom el-icon--right" />
-              </span>
-              <ws-dropdown-menu slot="dropdown">
-                <ws-dropdown-item v-for="(item, value) in vendorTypeList"
-                                  :key="value"
-                                  :command="item.parameterKey"
-                                  @click.native="setbySatus(item)">
-                  {{ item.parameterValue }}
-                  <BaseBadge class="mark" />
-                </ws-dropdown-item>
-              </ws-dropdown-menu>
-            </ws-dropdown>
-            <!-- <span class="vertical-line">|</span>
-            <ws-button type="text" @click="dialogVisible = true">
-              <svg-icon icon-class="guolv" />
-              <span>{{ $t('zs.common.sizer') }}</span>
-            </ws-button>
-            <span
-              class="filter-total"
-            >{{ $t('zs.common.thereAre') }}{{ total }}{{ $t('cg.queryresults') }}</span>-->
-          </div>
-
-          <!-- 模糊搜索 -->
-          <div class="searchThree">
-            <!-- <ws-input v-model="listQuery.searchKeyword"
-                      style="width:225px;margin-left: 10px;"
-                      :placeholder="$t('cg.vendor.contractitle')"
-                      clearable
-                      @keyup.enter.native="handleFilter" />
-            //<svg-icon icon-class="searchIcon"
-                      class="searchIcon"
-                      @click="handleFilter" /> -->
-            <BaseInputSearch v-model="listQuery.searchKeyword"
-                             :placeholder="$t('cg.vendor.contractitle')"
-                             @search="handleFilter" />
-          </div>
-        </div>
-      </div>
-      <!-- 按钮组件和过滤 -->
-      <!-- 列表 -->
-      <div class="main-list">
-        <ws-normal-table :data="vendorList"
-                         element-loading-text="Loading"
-                         stripe
-                         border
-                         fit
-                         highlight-current-row
-                         :row-class-name="tableRowClassName"
-                         @sort-change="sortChange"
-                         @cell-click="vendorOpenInfo">
-          <ws-table-column type="index"
-                           :label="$t('cg.vendor.vendorId')"
-                           width="50" />
-          <ws-table-column sortable
-                           :label="$t('cg.vendor.vendorName')"
-                           min-width="200"
-                           prop="vendorName">
-            <template slot-scope="scope">
-              <span>{{ scope.row.vendorName }}</span>
-            </template>
-          </ws-table-column>
-          <ws-table-column sortable
-                           prop="areaId"
-                           min-width="200"
-                           :label="$t('cg.vendor.areaId')">
-            <template slot-scope="scope">{{
-              getTypeName(scope.row.areaId, areaList)
-            }}</template>
-          </ws-table-column>
-          <ws-table-column sortable
-                           min-width="200"
-                           prop="serviceTypeId"
-                           :label="$t('cg.vendor.serviceTypeId')">
-            <template slot-scope="scope">{{
-              getTypeName(scope.row.serviceTypeId, vendorTypeList)
-            }}</template>
-          </ws-table-column>
-
-          <ws-table-column sortable
-                           min-width="200"
-                           prop="linkMan"
-                           :label="$t('cg.vendor.linkMan')"
-                           class="link-div">
-            <template slot-scope="scope"
-                      style="line-height:auto">
-              <div>{{ scope.row.linkMan }}</div>
-
-              <div>{{ scope.row.mobileNumber }}</div>
-            </template>
-          </ws-table-column>
-          <ws-table-column sortable
-                           min-width="200"
-                           prop="emailAddress"
-                           :label="$t('cg.vendor.emailAddress')">
-            <template slot-scope="scope">
-              <span>{{ scope.row.emailAddress }}</span>
-            </template>
-          </ws-table-column>
-          <ws-table-column :label="$t('common.operate')">
-            <template slot-scope="scope">
-              <!-- 操作按钮改造 -->
-              <div style="margin-left: 10px;margin-top: 7px;">
-                <ws-dropdown placement="bottom-start">
-                  <span class="el-dropdown-link">
-                    <i class="iconfont iconcaozuoy" />
-                  </span>
-                  <ws-dropdown-menu slot="dropdown">
-                    <ws-dropdown-item>
-                      <div @click="vendorOpenInfo(scope.row)"
-                           v-hasPermission="'procurement.vendorManage.edit'">
-                        {{ $t('button.edit') }}
-                      </div>
-                    </ws-dropdown-item>
-                    <ws-dropdown-item>
-                      <div @click="handleDelete(scope.$index, scope.row)"
-                           v-hasPermission="'procurement.vendorManage.delete'">
-                        {{ $t('button.delete') }}
-                      </div>
-                    </ws-dropdown-item>
-                  </ws-dropdown-menu>
-                </ws-dropdown>
-              </div>
-            </template>
-          </ws-table-column>
-        </ws-normal-table>
-        <!-- 列表 -->
-
-        <!-- 列表-页码 -->
-        <pagination v-show="total > 0"
-                    :total="total"
-                    :page.sync="listQuery.currentPage"
-                    :limit.sync="listQuery.pageSize"
-                    @pagination="getlistbyWhere" />
-        <!-- 列表-页码 -->
-
-        <!-- 弹出页面-新增供应商 -->
-        <WinseaContentModal v-model='dialogFromVisible'
-                            :title="$t('cg.supplier.vendorAdd')">
-          <div class="input-main vendor-input">
-            <ws-form ref="dataForm"
-                     :model="vendorDetail"
-                     class="demo-fromLabel"
-                     :rules="rulesVendor">
-              <ws-info-table>
-                <ws-form-item :span="2"
-                              :label="$t('cg.vendor.vendorName') + $t('common.colon')"
-                              prop="vendorName">
-                  <ws-input :span="2"
-                            v-model.trim="vendorDetail.vendorName"
-                            :placeholder="$t('common.input')"
-                            maxlength="200" />
-                </ws-form-item>
-
-                <ws-form-item :span="2"
-                              :label="$t('cg.vendor.areaId') + $t('common.colon')"
-                              prop="areaId">
-                  <ws-input v-model="vendorDetail.areaId"
-                            :placeholder="$t('common.input')"
-                            maxlength="32" />
-                </ws-form-item>
-                <ws-form-item :span="2"
-                              :label="$t('cg.vendor.serviceTypeId') + $t('common.colon')"
-                              prop="serviceTypeId">
-                  <ws-select v-model="vendorDetail.serviceTypeId"
-                             clearable
-                             :placeholder="$t('common.selected')"
-                             multiple>
-                    <ws-option v-for="item in vendorTypeList"
-                               v-if="item.parameterKey != ''"
-                               :key="item.parameterKey"
-                               :label="
-                        language == 'en'
-                          ? item.parameterValueEn
-                          : item.parameterValue
-                      "
-                               :value="item.parameterKey" />
-                  </ws-select>
-                </ws-form-item>
-
-                <ws-form-item :span="2"
-                              :label="
-                    $t('cg.vendor.subcontractorFlag') + $t('common.colon')
-                  ">
-                  <ws-switch v-model="vendorDetail.subcontractorFlag"
-                             active-value="1"
-                             inactive-value="0" />
-                </ws-form-item>
-                <ws-form-item :span="2"
-                              :label="$t('cg.vendor.telNumber') + $t('common.colon')">
-                  <ws-input v-model="vendorDetail.telNumber"
-                            :placeholder="$t('common.input')"
-                            maxlength="200" />
-                </ws-form-item>
-
-                <ws-form-item :span="2"
-                              :label="$t('cg.vendor.faxNumber') + $t('common.colon')">
-                  <ws-input v-model="vendorDetail.faxNumber"
-                            :placeholder="$t('common.input')"
-                            maxlength="200" />
-                </ws-form-item>
-                <ws-form-item :span="2"
-                              :label="$t('cg.vendor.legalPerson') + $t('common.colon')">
-                  <ws-input v-model="vendorDetail.legalPerson"
-                            :placeholder="$t('common.input')"
-                            maxlength="200" />
-                </ws-form-item>
-                <ws-form-item :span="2"
-                              class="issuingDate"
-                              :label="$t('cg.vendor.legalPersonTel') + $t('common.colon')">
-                  <ws-input v-model="vendorDetail.legalPersonTel"
-                            :placeholder="$t('common.input')"
-                            maxlength="200" />
-                </ws-form-item>
-                <ws-form-item :span="2"
-                              :label="$t('cg.vendor.linkMan') + $t('common.colon')"
-                              prop="linkMan">
-                  <ws-input v-model="vendorDetail.linkMan"
-                            :maxlength="set100()"
-                            :placeholder="$t('common.input')" />
-                </ws-form-item>
-                <ws-form-item :span="2"
-                              :label="$t('cg.vendor.linkManDuty') + $t('common.colon')"
-                              prop="linkManDuty">
-                  <ws-input v-model="vendorDetail.linkManDuty"
-                            :maxlength="set100()"
-                            :placeholder="$t('common.input')" />
-                </ws-form-item>
-                <ws-form-item :span="2"
-                              prop="emailAddress"
-                              :label="$t('cg.vendor.emailAddress') + $t('common.colon')">
-                  <ws-input v-model="vendorDetail.emailAddress"
-                            :placeholder="$t('common.input')"
-                            maxlength="200" />
-                </ws-form-item>
-                <ws-form-item :span="2"
-                              prop="mobileNumber"
-                              :label="$t('cg.vendor.mobileNumber') + $t('common.colon')">
-                  <ws-input v-model="vendorDetail.mobileNumber"
-                            :placeholder="$t('common.input')"
-                            maxlength="50" />
-                </ws-form-item>
-                <ws-form-item :span="2"
-                              label="收款人"
-                              class="myformItem">
-                  <ws-info-table class="row-tilte">
-                    <!-- 收款人名称= 账户名 -->
-                    <ws-form-item :span="4"
-                                  :label="$t('cg.vendor.bankName') + $t('common.colon')"
-                                  prop="bankName">
-                      <ws-input v-model="vendorDetail.bankName"
-                                :placeholder="$t('common.input')"
-                                maxlength="200" />
-                    </ws-form-item>
-                    <!-- SWIFT -->
-                    <ws-form-item :span="4"
-                                  :label="$t('cg.vendor.payeeSwift') + $t('common.colon')">
-                      <ws-input v-model="vendorDetail.payeeSwift"
-                                :placeholder="$t('common.input')"
-                                maxlength="200" />
-                    </ws-form-item>
-                    <ws-form-item :span="4"
-                                  :label="$t('cg.vendor.payeeAddress') + $t('common.colon')">
-                      <ws-input v-model="vendorDetail.payeeAddress"
-                                :placeholder="$t('common.input')"
-                                maxlength="200" />
-                    </ws-form-item>
-                  </ws-info-table>
-                </ws-form-item>
-
-                <ws-form-item :span="2"
-                              label="收款行:"
-                              class="myformItem">
-                  <ws-info-table class="row-tilte">
-                    <!-- 账号 -->
-                    <ws-form-item :span="4"
-                                  :label="
-                        $t('cg.vendor.vendorAccount') + $t('common.colon')
-                      "
-                                  prop="bankNo">
-                      <ws-input v-model="vendorDetail.bankNo"
-                                :placeholder="$t('common.input')"
-                                maxlength="200" />
-                    </ws-form-item>
-                    <!-- 开户行 -->
-                    <ws-form-item :span="4"
-                                  :label="$t('cg.vendor.bank') + $t('common.colon')"
-                                  prop="bank">
-                      <ws-input v-model="vendorDetail.bank"
-                                :placeholder="$t('common.input')"
-                                maxlength="200" />
-                    </ws-form-item>
-                    <ws-form-item :span="4"
-                                  :label="$t('cg.vendor.payeeAddress') + $t('common.colon')">
-                      <ws-input v-model="vendorDetail.bankAddress"
-                                :placeholder="$t('common.input')"
-                                maxlength="200" />
-                    </ws-form-item>
-                  </ws-info-table>
-                </ws-form-item>
-
-                <ws-form-item :span="2"
-                              :label="$t('cg.vendor.address') + $t('common.colon')">
-                  <ws-input v-model="vendorDetail.address"
-                            :placeholder="$t('common.input')"
-                            maxlength="200" />
-                </ws-form-item>
-
-                <ws-form-item :span="2"
-                              class="resDepart"
-                              :label="$t('cg.vendor.remark') + $t('common.colon')">
-                  <ws-input v-model="vendorDetail.remark"
-                            :placeholder="$t('common.input')"
-                            maxlength="2000" />
-                </ws-form-item>
-              </ws-info-table>
-            </ws-form>
-          </div>
-          <template slot="footer"
-                    class="dialog-footer">
-            <ws-button @click="dialogFromVisible = false">{{
-              $t('button.cancel')
-            }}</ws-button>
-            <ws-button type="primary"
-                       @click="save">{{
-              $t('button.confirm')
-            }}</ws-button>
-          </template>
-        </WinseaContentModal>
-        <!--弹出页面- 新增供应商 -->
-      </div>
-    </div>
-  </div>
-</template>
-<script src="../../../viewsjs/procurement/procurementBasic/vendorList.js" />
-<style lang="scss" scoped>
-@import '~@/styles/variables.scss';
-.myformItem {
-  height: 120px;
-
-  /deep/ .el-form-item__content {
-    height: 120px !important;
-  }
-  /deep/ .el-form-item__label {
-    height: 120px;
-    line-height: 120px;
-  }
-  .row-tilte {
-    box-sizing: border-box;
-
-    /deep/.el-form-item {
-      line-height: 38px !important;
-      height: 38px !important;
-      /deep/.el-form-item__label {
-        line-height: 38px !important;
-        height: 38px !important;
-      }
-    }
-    /deep/.el-form-item__content {
-      line-height: 38px !important;
-      height: 38px !important;
-    }
-  }
-}
-.remarkSpan {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  display: inline-block;
-  width: 87%;
-}
-
-.nav-search {
-  float: right;
-}
-.searchThree,
-.searchTwo,
-.searchOne {
-  float: left;
-}
-.searchTwo,
-.searchOne {
-  margin-right: 20px;
-}
-
-/deep/.dropdownmenu .el-dropdown-menu__item {
-  text-align: center;
-  color: #333;
-}
-/deep/.dropdownmenu .popper__arrow {
-  left: 30px;
-}
-.selectTitle {
-  margin-bottom: 5px;
-}
-.select .el-select {
-  width: 100%;
-  margin-bottom: 20px;
-}
-.startDate {
-  width: 93%;
-  margin-bottom: 10px;
-}
-.endDate {
-  width: 100%;
-  margin-bottom: 20px;
-}
-/deep/.searchTwo .ws-button--text {
-  color: #333;
-}
-/deep/.searchTwo .ws-button--text:hover {
-  color: #1d6ced;
-}
-.el-dropdown-link:hover {
-  color: #1d6ced;
-}
-.searchThree {
-  position: relative;
-}
-/deep/.searchThree .el-input--medium[data-v-226a5fb3] {
-  margin-right: 30px;
-}
-/deep/.searchThree .el-input--medium {
-  width: 240px;
-}
-/deep/.searchThree .el-input--medium .el-input__inner {
-  padding-left: 12px;
-}
-/deep/.searchThree .el-input__prefix {
-  left: 267px;
-}
-.searchIcon {
-  font-size: 32px;
-  position: absolute;
-  top: 0px;
-  right: 0px;
-}
-
-/deep/.el-table {
-  .hide {
-    /deep/ .el-form-item__label {
-      color: #f6f6f6;
-    }
-  }
-  .div-el-form-item {
-    text-align: left;
-  }
-  .el-form-item {
-    width: 100%;
-    float: left;
-    display: inline-block;
-    height: 40px;
-    margin-bottom: 0;
-    border-bottom: none;
-  }
-  .textarea {
-    .el-form-item {
-      height: 82px;
-    }
-    /deep/ .el-form-item__label {
-      height: 80px;
-    }
-  }
-  .el-textarea__inner {
-    resize: none;
-  }
-  .resDepart {
-    height: 82px;
-    border-bottom: 1px solid #cccccc;
-    border-right: none;
-    .el-row:nth-child(2) .el-form-item__label {
-      color: #f6f6f6;
-    }
-  }
-  .el-form-item__content {
-    display: inline-block;
-    width: 70%;
-  }
-  .el-form-item__label {
-    text-align: right;
-    width: 30% !important;
-    color: #666666;
-    background-color: #f6f6f6;
-    padding: 0 3px 0 0;
-    border-right: 1px solid #cccccc;
-    line-height: 40px;
-    font-size: 14px;
-    font-weight: normal;
-  }
-  .el-col:nth-child(odd) .el-form-item {
-    border-right: none;
-  }
-  .el-col-12 {
-    width: 50%;
-  }
-  .dialog-from {
-    .el-dialog__body {
-      padding: 10px 20px !important;
-    }
-    .el-form-item {
-      margin-bottom: 0 !important;
-    }
-  }
-  .el-form-item__error {
-    display: none;
-  }
-
-  .issuingDate {
-    .el-date-editor.el-input,
-    .el-date-editor.el-input__inner {
-      width: 100%;
-    }
-  }
-  .maturityDate {
-    .el-date-editor.el-input,
-    .el-date-editor.el-input__inner {
-      width: calc(100% - 135px);
-    }
-  }
-  .maturityDate .el-checkbox {
-    height: 40px;
-    line-height: 40px;
-    width: 80px;
-    margin-right: 8px;
-  }
-
-  .label-box {
-    .label-title {
-      display: inline;
-    }
-  }
-}
-/deep/.vendor-input {
-  min-height: 350px;
-  margin-top: 0px;
-  border-top: 0;
-}
-.demo-fromLabel {
-  padding: 0;
-  border: 1px solid #ccc;
-  box-sizing: border-box;
-  .el-row {
-    .el-col:last-child {
-      .el-form-item {
-        border-bottom: 0px solid #ccc;
-        border-right: 0px solid #ccc;
-      }
-    }
-  }
-}
-</style>

+ 0 - 367
src/views/procurement/procurementMap/applDetail.vue

@@ -1,367 +0,0 @@
-<!--海图申请-海图申请详情-->
-<!--2019年5月30日 20:25:16 by jlx-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <OperationalHistory :bill-no="$t('cg.cgsparedetail.sparepartno') + $t('common.colon') + applInfo.applNo"
-                              :message="getLanguage == 'en'?applInfo.statusNameEn:applInfo.statusName"
-                              :set-id="applId"
-                              set-type="appl" />
-        </template>
-        <template slot="right">
-          <ws-button v-if="buttonIsShow.isApprove"
-                     type="primary"
-                     @click="dialogApproveFormVisible = true">{{ $t('button.approve') }}</ws-button>
-          <!-- 退回 -->
-          <ws-button v-if="buttonIsShow.isNoApprove"
-                     @click="dialogNoApproveFormVisible = true">{{ $t('button.noapprove') }}</ws-button>
-          <!-- 待提交 -->
-          <ws-button v-if="buttonIsShow.isSubmit"
-                     type="primary"
-                     @click="goApprove"
-                     v-hasPermission="'procurement.spareMapper.applDetailMap.submit'">{{ $t('button.submit') }}</ws-button>
-          <!-- 保存 -->
-          <ws-button v-if="buttonIsShow.isSave"
-                     @click="save('')"
-                     v-hasPermission="'procurement.spareMapper.applDetailMap.save'">{{ $t('button.save') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isConfirmsplitbills"
-                     type="primary"
-                     @click="splitApplBills(1)">{{ $t('button.confirmsplitbills') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isCancelsplitbills"
-                     @click="splitApplBills(0)">{{ $t('button.cancelsplitbills') }}</ws-button>
-          <el-upload v-if="buttonIsShow.isImport"
-                     ref="upload"
-                     class="upload-demo"
-                     style="display: inline-block;"
-                     action
-                     multiple
-                     :http-request="uploadSectionFile"
-                     :auto-upload="true"
-                     :show-file-list="false">
-            <ws-button type="primary">{{ $t('button.import') }}</ws-button>
-          </el-upload>
-          <ws-button v-if="buttonIsShow.isOperMoreCD"
-                     v-hasPermission="'procurement.spareMapper.applDetailMap.splitbills'"
-                     @click="operMore('cd')">{{ $t('button.splitbills') }}</ws-button>
-          <!-- 废弃 -->
-          <ws-button v-if="buttonIsShow.isDiscard"
-                     v-hasPermission="'procurement.spareMapper.applDetailMap.discard'"
-                     @click="operMore('fq')">{{ $t('button.discard') }}</ws-button>
-          <ws-button @click="back">{{ $t('button.back') }}</ws-button>
-          <!-- <DocRelate-Button :set-show-type="docRelateShow" :set-form="setForm" set-page-type="Map" /> -->
-          <!-- <ws-dropdown v-show="buttonIsShow.isOperMore" @command="operMore">
-        <ws-button>
-          {{ $t('button.moreoperations') }}
-          <i class="el-icon-arrow-down el-icon--right" />
-        </ws-button>
-        <ws-dropdown-menu slot="dropdown">
-          <ws-dropdown-item v-show="buttonIsShow.isOperMoreCD" command="cd" v-hasPermission="'procurement.spareMapper.applDetailMap.splitbills'">{{ $t('button.splitbills') }}</ws-dropdown-item>
-          <el-dropdown-item command="dc">{{ $t('button.export') }}</el-dropdown-item>
-          <ws-dropdown-item v-show="buttonIsShow.isDiscard" command="fq" v-hasPermission="'procurement.spareMapper.applDetailMap.discard'">{{ $t('button.discard') }}</ws-dropdown-item>
-        </ws-dropdown-menu>
-      </ws-dropdown>-->
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 单据基础信息 -->
-      <base-card :title="$t('cg.applydetails.basicInfo')">
-        <ws-form ref="infoForm"
-                 :model="applInfo"
-                 :rules="applRules"
-                 :show-message="false"
-                 :class="isParentEdit?'':' hide-sel'"
-                 :hide-required-asterisk="!isParentEdit">
-          <ws-info-table>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vesselName')">
-              <div class="div-el-form-item">{{ applInfo.vesselName }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.deptName')">
-              <!-- <ws-select
-                      v-model="applInfo.deptId"
-                      :placeholder="isParentEdit?$t('common.selected'):''"
-                      :disabled="isParentEdit?false:true"
-                    >
-                      <ws-option
-                        v-for="item in deptList"
-                        :key="item.parameterKey"
-                        :label="language=='en'? item.parameterValueEn:item.parameterValue"
-                        :value="item.parameterKey"
-                      />
-                  </ws-select>-->
-
-              <div class="div-el-form-item">{{ applInfo.deptName }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applUserName')">{{ applInfo.applUserName }}</ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applOperateDate')"
-                          prop="applOperateDate">
-              <div class="div-el-form-item">{{ applInfo.applOperateDate }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('申请类型')">
-              <ws-select v-model="applInfo.applTypeId"
-                         :placeholder="isParentEdit?$t('common.selected'):''"
-                         :disabled="isParentEdit?false:true">
-                <ws-option v-for="item in applyTypeList"
-                           :key="item.parameterKey"
-                           :label="language=='en'? item.parameterValueEn:item.parameterValue"
-                           :value="item.parameterKey" />
-              </ws-select>
-            </ws-form-item>
-
-            <!-- <ws-form-item :span="1" :label="$t('cg.applydetails.applSubject')">
-                  <el-cascader v-model="applInfo.subjectId" :options="applySubjectList" clearable :show-all-levels="false" style="width: 100%;" :placeholder="isParentEdit?$t('common.selected'):''" :disabled="isParentEdit?false:true" />
-                </ws-form-item> -->
-
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.requiredDate')"
-                          prop="demandDate">
-              <ws-date-picker v-if="isParentEdit"
-                              v-model="applInfo.demandDate"
-                              type="date"
-                              :placeholder="$t('common.selected')"
-                              format="yyyy-MM-dd"
-                              value-format="yyyy-MM-dd"
-                              :picker-options="pickerOptions" />
-              <span v-else>{{ applInfo.demandDate }}</span>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.requiredLocation')"
-                          prop="demandPlace">
-              <ws-input v-model="applInfo.demandPlace"
-                        :placeholder="isParentEdit?$t('common.input'):''"
-                        :disabled="isParentEdit?false:true"
-                        maxlength="100" />
-            </ws-form-item>
-
-            <ws-form-item label=" "
-                          span="1"></ws-form-item>
-
-            <ws-form-item :span="2"
-                          :label="$t('cg.applydetails.applPurchase')"
-                          prop="title">
-              <ws-input v-if="isParentEdit"
-                        v-model="applInfo.title"
-                        :title="applInfo.title"
-                        :placeholder="isParentEdit?$t('common.input'):''"
-                        :disabled="isParentEdit?false:true"
-                        maxlength="250" />
-              <template v-else>{{applInfo.title}}</template>
-            </ws-form-item>
-
-            <ws-form-item :span="2"
-                          :label="$t('cg.applydetails.applemark')">
-              <ws-input v-if="isParentEdit"
-                        v-model="applInfo.remark"
-                        :title="applInfo.remark"
-                        :placeholder="isParentEdit?$t('common.input'):''"
-                        style="width: 100%;"
-                        maxlength="250" />
-              <template v-else>{{applInfo.remark}}</template>
-            </ws-form-item>
-          </ws-info-table>
-        </ws-form>
-      </base-card>
-      <!-- 单据基础信息 -->
-
-      <!-- 采购明细 -->
-      <base-card :title="$t('cg.applydetails.applInfo')">
-        <template slot="buttons">
-          <div v-show="buttonIsShow.isAddDetails"
-               class="add-list"
-               @click.stop="addDetails">
-            <i class="el-icon-circle-plus-outline" />
-            <span style="font-size: 13px;">{{ $t('common.add') }}</span>
-          </div>
-        </template>
-        <pur-ApplDetail ref="purApplDetail" />
-      </base-card>
-      <!-- 采购明细 -->
-
-      <!-- 附件上传 -->
-      <base-card :title="$t('upload.basicInfo')"
-                 :isIcon="false"
-                 v-if="applInfo.appendixId">
-        <ws-upload ref="wsUpload"
-                   oss-key="procurement.procurementMap.applDetail"
-                   :comp-id="companyId"
-                   :editable="isParentEdit"
-                   :appendix-ids="applInfo.appendixId"
-                   :vesselId="applInfo.vesselId"
-                   table-name="mapApplInfo"
-                   @onChange="onChange" />
-        <!-- <upload ref="uploadFile" :auto-upload="false" model-id="ZS" /> -->
-      </base-card>
-      <!-- 附件上传 -->
-    </template>
-
-    <!-- 弹出页面-审核通过 -->
-    <BaseContentModalScrap v-model="dialogApproveFormVisible"
-                           :title="$t('common.opinion')"
-                           :isRules="false"
-                           @confirm="approve" />
-    <!-- </ws-dialog> -->
-    <!-- 弹出页面-审核通过 -->
-    <!-- 弹出页面-退回 -->
-    <BaseContentModalScrap v-model="dialogNoApproveFormVisible"
-                           :title="$t('common.noPass')"
-                           :isRules="false"
-                           @confirm="returnBack" />
-    <!-- </ws-dialog> -->
-    <!-- 弹出页面-退回 -->
-    <!-- 弹出页面-废弃 -->
-    <BaseContentModalScrap v-model="dialogDiscardFormVisible"
-                           :title="$t('common.abandon')"
-                           :isRules="false"
-                           @confirm="discard" />
-    <!-- 弹出页面-废弃 -->
-  </BaseDetailLayout>
-</template>
-
-<script src="../../../viewsjs/procurement/procurementMap/applDetail.js" />
-<style lang="scss" scoped>
-/deep/.el-input.is-disabled .el-input__inner {
-  background-color: #fff;
-  border-color: #fff;
-  color: #000;
-  cursor: text;
-  padding: 0;
-}
-.no-warp {
-  text-overflow: ellipsis !important;
-  overflow: hidden !important;
-  white-space: nowrap !important;
-  display: block !important;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    & /deep/.auditFlow-icon {
-      width: auto;
-      margin-right: 10px;
-    }
-    & /deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .el-date-editor {
-    i {
-      display: none;
-    }
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-.col-item-titie {
-  line-height: 18px;
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-/deep/.ws-collapse-panel .panel-head {
-  padding: 0 !important;
-  margin: 20px 0 14px !important;
-}
-/deep/.ws-collapse-panel .panel-body {
-  padding: 0 !important;
-}
-</style>

+ 0 - 268
src/views/procurement/procurementMap/applEmail.vue

@@ -1,268 +0,0 @@
-<!--海图-海图询价-发送邮件-->
-<!--2019年6月8日 22:27:22 by jlx-->
-<template>
-  <div class="appl-email">
-    <div class="top">
-      <div>
-        <ws-button type="primary"
-                   class="button-right"
-                   v-show="idSendEmail"
-                   @click="allSendEmail">{{ $t("button.allSend") }}</ws-button>
-        <ws-button class="button-right"
-                   @click="back">{{$t("button.back")}}</ws-button>
-      </div>
-    </div>
-    <div class="app-container buttom">
-      <div class="left">
-        <ws-form ref="infoForm"
-                 :model="form"
-                 class="form-email"
-                 label-width="90px"
-                 :rules="emailRules">
-          <div class="createPost-main-container">
-            <!-- 发件人 -->
-            <ws-form-item :label="$t('cg.applEmail.addressor')+$t('common.colon')">
-              <div class="location">
-                <ws-select v-model="form.addressor"
-                           style="width:40%"
-                           :placeholder="$t('common.selected')"
-                           @change="changeAddressor">
-                  <ws-option v-for="(item,index) in dataForm.emailData"
-                             :key="index"
-                             :label="item.mailAddress"
-                             :value="item.id" />
-                </ws-select>
-                <span @click="dialogEmail = true"
-                      class="pointer"
-                      style="margin-left:10px;">
-                  <i class="el-icon-circle-plus-outline iconClass"></i>
-                  <span class="spanClass">{{ $t('shipRepairManagement.project.addOutbox') }}</span>
-                </span>
-              </div>
-            </ws-form-item>
-            <!-- 收件人 -->
-            <ws-form-item :label="$t('cg.applEmail.addressee')+$t('common.colon')">
-              <ws-input v-model="form.addressee"
-                        style="width:40%"
-                        :placeholder="$t('common.input')" />
-            </ws-form-item>
-            <!-- 抄送 -->
-            <ws-form-item :label="$t('cg.applEmail.copy')+$t('common.colon')">
-              <ws-input v-model="form.copy"
-                        :placeholder="$t('common.input')" />
-            </ws-form-item>
-            <!-- 主体 -->
-            <ws-form-item :label="$t('cg.applEmail.theme')+$t('common.colon')">
-              <ws-input v-model="form.theme"
-                        :placeholder="$t('common.input')" />
-            </ws-form-item>
-            <!-- 附件 -->
-            <ws-form-item class="form-item-link"
-                          :label="$t('cg.applEmail.accessory')+$t('common.colon')">
-              <!--<ws-email-annex v-model="uploadFileNames"></ws-email-annex>-->
-              <ws-link v-for=" (item,index) in defaultFileShow"
-                       :key="index"
-                       :href="baseUrl + item.url"
-                       target="_blank"
-                       :underline="false"
-                       type="primary">{{ item.name }}</ws-link>
-            </ws-form-item>
-            <!-- 富文本 -->
-            <ws-form-item>
-              <Tinymce ref="editor"
-                       v-model="form.content"
-                       :height="400" />
-            </ws-form-item>
-          </div>
-        </ws-form>
-      </div>
-      <div class="right">
-        <ws-normal-table ref="EnquiryVendorTable"
-                         :data="purSpEnquiryVendorList"
-                         style="width: 100%"
-                         fit
-                         highlight-current-row
-                         :row-class-name="tableRowClassName"
-                         @row-click="clickOnSelectRow">
-          <ws-table-column prop="date"
-                           :label="$t('cg.applydetails.vendorName')"
-                           width="auto">
-            <template slot-scope="scope">
-              <span class="link-type">{{ scope.row.vendorName }}</span>
-            </template>
-          </ws-table-column>
-        </ws-normal-table>
-      </div>
-    </div>
-    <WinseaContentModal v-model='dialogEmail'
-                        :title="$t('cg.applEmail.addOutbox')"
-                        @on-cancel="cancelDialog">
-      <div style="float:right;margin-bottom:10px">
-        <ws-button @click="addEmail2">{{ $t('button.add') }}</ws-button>
-      </div>
-      <ws-form ref="dataForm"
-               :model="dataForm">
-        <ws-normal-table :data="dataForm.emailData"
-                         style="width: 100%">
-          <!-- 序号 -->
-          <ws-table-column align="center"
-                           :label="$t('common.num')"
-                           width="70">
-            <template slot-scope="scope">{{ scope.$index + 1 }}</template>
-          </ws-table-column>
-          <!-- 邮箱类型 -->
-          <ws-table-column prop="typeId"
-                           align="center"
-                           width="130"
-                           :label="$t('shipRepairManagement.project.emailType')">
-            <template slot-scope="{row}">
-              <ws-select v-model="row.typeId"
-                         :placeholder="$t('common.selected')"
-                         @change="changeEmailType(row)">
-                <ws-option v-for="item in emailTypeList"
-                           :key="item.typeId"
-                           :label="item.typeName"
-                           :value="item.typeId" />
-              </ws-select>
-            </template>
-          </ws-table-column>
-          <!-- 发送服务器 -->
-          <ws-table-column prop="sendHost"
-                           width="115"
-                           align="center"
-                           :label="$t('cg.applEmail.sendingServer')">
-            <template slot-scope="{row}">
-              <ws-input v-if="row.typeId == '99'"
-                        type="test"
-                        v-model="row.sendHost"></ws-input>
-              <span v-else>{{ row.sendHost }}</span>
-            </template>
-          </ws-table-column>
-          <!-- 邮箱 -->
-          <ws-table-column prop="mailAddress"
-                           width="200"
-                           align="center"
-                           :label="$t('shipRepairManagement.project.mailAddress')">
-            <template slot-scope="{row}">
-              <ws-input type="text"
-                        v-model="row.mailAddress"></ws-input>
-            </template>
-          </ws-table-column>
-          <!-- 密码 -->
-          <ws-table-column prop="password"
-                           width="130"
-                           align="center"
-                           :label="$t('shipRepairManagement.project.password')">
-            <template slot-scope="{row}">
-              <ws-input type="password"
-                        v-model="row.password"></ws-input>
-            </template>
-          </ws-table-column>
-          <!-- 使用范围 -->
-          <ws-table-column prop="useRange"
-                           width="120"
-                           align="center"
-                           :label="$t('shipRepairManagement.project.usableRange')">
-            <template slot-scope="{row}">
-              <ws-select v-model="row.useRange"
-                         :placeholder="$t('common.selected')">
-                <ws-option v-for="item in applicationList"
-                           :key="item.parameterKey"
-                           :label="item.parameterValue"
-                           :value="item.parameterKey" />
-              </ws-select>
-            </template>
-          </ws-table-column>
-          <!-- 是否使用SSL -->
-          <ws-table-column prop="isSsl"
-                           width="120"
-                           align="center"
-                           :label="$t('shipRepairManagement.project.SSL')">
-            <template slot-scope="{row}">
-              <ws-select v-model="row.isSsl"
-                         :placeholder="$t('common.selected')"
-                         @change="changeSsl(row)">
-                <ws-option v-for="item in sslList"
-                           :key="item.isSsl"
-                           :label="item.isSslValue"
-                           :value="item.isSsl" />
-              </ws-select>
-            </template>
-          </ws-table-column>
-          <!-- 端口 -->
-          <ws-table-column width="85"
-                           align="center"
-                           :label="$t('shipRepairManagement.project.port')">
-            <template slot-scope="{row}">
-              <ws-input type="text"
-                        v-model="row.port"
-                        clearable></ws-input>
-            </template>
-          </ws-table-column>
-          <!-- 操作(删除) -->
-          <ws-table-column align="center"
-                           width="70"
-                           :label="$t('common.operate')">
-            <template slot-scope="scope">
-              <div @click="deleteRow(scope.$index, scope.row)">
-                <svg-icon icon-class="delate" />
-              </div>
-            </template>
-          </ws-table-column>
-        </ws-normal-table>
-      </ws-form>
-      <template slot="footer"
-                class="dialog-footer">
-        <ws-button @click="dialogEmail = false">{{ $t('button.cancel') }}</ws-button>
-        <ws-button type="primary"
-                   @click="saveEmail">{{ $t('button.confirm') }}</ws-button>
-      </template>
-    </WinseaContentModal>
-  </div>
-</template>
-
-<script src="../../../viewsjs/procurement/procurementMap/applEmail.js" />
-
-<style lang="scss" scoped>
-.appl-email {
-  /*position: absolute;
-  top: 40px;
-  bottom: 0px;*/
-  width: 100%;
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  & .top {
-    height: 50px;
-    width: 100%;
-    flex-shrink: 0;
-    text-align: right;
-    line-height: 50px;
-    padding: 0 10px;
-    background-color: #fff;
-  }
-  & .buttom {
-    flex-grow: 1;
-    background-color: #eee;
-    display: flex;
-    padding: 10px 0 0;
-    flex-wrap: nowrap;
-    overflow: auto;
-    & .right {
-      width: 256px;
-      flex-shrink: 0;
-      margin-left: 10px;
-      background-color: #fff;
-      border: 1px solid #dcdfe6;
-    }
-    & .left {
-      overflow-y: auto;
-      overflow-x: hidden;
-      flex-grow: 1;
-      background-color: #fff;
-      padding: 10px;
-      border: 1px solid #dcdfe6;
-    }
-  }
-}
-</style>

+ 0 - 563
src/views/procurement/procurementMap/billDetail.vue

@@ -1,563 +0,0 @@
-<!--海图-海图结算详情-->
-<!--2019年6月5日 15:37:39 by zw-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <!-- 按钮组件 -->
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <OperationalHistory :bill-no="$t('cg.cgsparedetail.billno') + $t('common.colon') + billInfo.billNo"
-                              :message="getLanguage == 'en'?billInfo.statusNameEn:billInfo.statusName"
-                              :set-id="billId"
-                              set-type="bill" />
-        </template>
-        <template slot="right">
-          <ws-button v-if="buttonIsShow.isGeneratePayment"
-                     type="primary"
-                     @click="generatePayment">{{ $t('button.generatePayment') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isApprove"
-                     type="primary"
-                     @click="toApprove">{{ $t('button.approve') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isNoApprove"
-                     @click="toReturn">{{ $t('button.noapprove') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isSubmitQuotationy"
-                     type="primary"
-                     @click="approve(3)"
-                     v-hasPermission="'procurement.spareMapper.billDetailMap.submit'">{{ $t('button.submit') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isSaveQuotation"
-                     @click="save"
-                     v-hasPermission="'procurement.spareMapper.billDetailMap.save'">{{ $t('button.save') }}</ws-button>
-          <!-- <ws-button v-if="buttonIsShow.isDiscard" round @click="operMore('fq')">{{ $t('button.discard') }}</ws-button> -->
-
-          <DocRelate-Button :set-show-type="docRelateShow"
-                            :set-form="setForm"
-                            set-page-type="Map" />
-          <ws-button @click="back">{{ $t('button.back') }}</ws-button>
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 单据基础信息 -->
-      <base-card :title="$t('cg.applydetails.basicInfo')">
-        <ws-form ref="infoForm"
-                 :model="billInfo"
-                 :rules="billRules"
-                 :show-message="false"
-                 :class="isParentEdit?'purspappl-details':'purspappl-details hide-sel'"
-                 :hide-required-asterisk="!isParentEdit">
-          <ws-info-table>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vesselName')">
-              <div class="div-el-form-item">{{ billInfo.vesselName }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :key="isParentEdit && billInfo.purchaseTypeName == '直接供船'?'vendorId':'noVendor'"
-                          :prop="isParentEdit && billInfo.purchaseTypeName == '直接供船'?'vendorId':''"
-                          :label="$t('cg.applydetails.vendorName')">
-              <!--                <ws-input-->
-              <!--                  v-if="isParentEdit == true && isShip"-->
-              <!--                  v-model="billInfo.vendorName"-->
-              <!--                  :placeholder="isParentEdit ? $t('common.input') : ''"-->
-              <!--                  maxlength="50"-->
-              <!--                />-->
-              <ws-select v-if="isParentEdit == true && isShip"
-                         v-model="billInfo.vendorId"
-                         :placeholder="isParentEdit ? $t('common.selected') : ''"
-                         :disabled="isParentEdit ? false : true"
-                         @change="changeVendor">
-                <ws-option v-for="item in vendorNameList"
-                           :key="item.vendorId"
-                           :label="item.vendorName"
-                           :value="item.vendorId" />
-              </ws-select>
-              <div class="div-el-form-item"
-                   v-else>
-                {{ billInfo.vendorName }}
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.supplyPlace')">
-              <ws-input v-if="isParentEdit == true"
-                        v-model="billInfo.quotesDeliveryPlace"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        maxlength="50" />
-              <div class="div-el-form-item"
-                   v-else>
-                {{ billInfo.quotesDeliveryPlace }}
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.purchaseType')">
-              <div class="div-el-form-item hide-sel">
-                <!-- <ws-select v-model="billInfo.purchaseType" :placeholder="isParentEdit?$t('common.selected'):''" :disabled="true">
-                    <ws-option v-for="item in purchaseTypeList" :key="item.parameterKey" :label="language=='en'? item.parameterValueEn:item.parameterValue" :value="item.parameterKey" />
-                  </ws-select>-->
-                <span>{{
-                    language == 'en'
-                      ? billInfo.purchaseTypeNameEn
-                      : billInfo.purchaseTypeName
-                  }}</span>
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.transFee')">
-              <ws-input @change="ariDiscount"
-                        v-number-input.float
-                        v-model="billInfo.transFee"
-                        :disabled="isParentEdit ? false : true"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        maxlength="18" />
-              <div class="ml10 transFee">
-                <ws-checkbox v-model="billInfo.discountFlag"
-                             :disabled="isParentEdit? false : true"
-                             @change="ariDiscount" />
-                <span style="font-size: 12px">{{$t('cg.applydetails.participationDiscount')}}</span>
-              </div>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.currencyId')"
-                          :prop="isShip && isParentEdit?'currencyId':''"
-                          :key="isShip && isParentEdit?'currencyId':'noProp'">
-              <BaseParameterSelect v-model="billInfo.currencyId"
-                                   v-if="isShip && isParentEdit"
-                                   :typeCode="'CURRENCY'"
-                                   :placeholder="isParentEdit ? $t('common.selected') : ''" />
-              <span v-else>{{ currencyName }}</span>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.invoiceFlag')">
-              <!-- <ws-select v-model="billInfo.invoiceFlag"
-                           :disabled="!isShip || !isParentEdit"
-                           :placeholder="
-                    !(!isShip || !isParentEdit) ? $t('common.selected') : ''
-                  ">
-                  <ws-option v-for="item in invoiceFlagList"
-                             :key="item.parameterKey"
-                             :label="
-                      language == 'en'
-                        ? item.parameterValueEn
-                        : item.parameterValue
-                    "
-                             :value="item.parameterKey" />
-                </ws-select> -->
-              <BaseParameterSelect v-model="billInfo.invoiceFlag"
-                                   :typeCode="'INVOICE_FLAG'"
-                                   :disabled="!isShip || !isParentEdit"
-                                   :placeholder="
-                    !(!isShip || !isParentEdit) ? $t('common.selected') : ''
-                  " />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.payTypeFlag')">
-              <!-- <ws-select v-if="isShip && isParentEdit"
-                           v-model="billInfo.settlementFlag"
-                           :placeholder="isParentEdit ? $t('common.selected') : ''">
-                  <ws-option v-for="item in settlementFlagList"
-                             :key="item.parameterKey"
-                             :label="
-                      language == 'en'
-                        ? item.parameterValueEn
-                        : item.parameterValue
-                    "
-                             :value="item.parameterKey" />
-                </ws-select> -->
-              <BaseParameterSelect v-model="billInfo.settlementFlag"
-                                   :typeCode="'SETTLEMENT_FLAG'"
-                                   :disabled="isShip && isParentEdit ? false : true"
-                                   :placeholder="isParentEdit ? $t('common.selected') : ''" />
-              <!-- <ws-select v-else
-                           v-model="billInfo.settlementFlag"
-                           :disabled="true"
-                           :placeholder="''">
-                  <ws-option v-for="item in settlementFlagList"
-                             :key="item.parameterKey"
-                             :label="
-                      language == 'en'
-                        ? item.parameterValueEn
-                        : item.parameterValue
-                    "
-                             :value="item.parameterKey" />
-                </ws-select> -->
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.deliveryType')">
-              <ws-input v-model="billInfo.deliveryType"
-                        :disabled="!isShip || !isParentEdit"
-                        :placeholder="
-                    !(!isShip || !isParentEdit) ? $t('common.input') : ''
-                  "
-                        maxlength="20" />
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cw.inOperation.rate')">
-              <span>{{ billInfo.exchangeRate || '--' }}</span>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.taxPoint')">
-              <ws-input-number :min="0"
-                               v-if="isParentEdit"
-                               v-model="billInfo.taxRate"
-                               :placeholder="isParentEdit ? $t('common.input') : ''"
-                               maxlength="50"
-                               @change="ariDiscount(false, false)" />
-              <div class="div-el-form-item"
-                   v-else>{{ $ph(billInfo.taxRate) }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          v-if="isHasFinance"
-                          :key="isParentEdit && billInfo.purchaseTypeName == '直接供船'?'subjectId':'noSubjectId'"
-                          :prop="isParentEdit && billInfo.purchaseTypeName == '直接供船'?'subjectId':''"
-                          :label="$t('salaryInfo.subject')">
-              <el-cascader style="width: 100%;"
-                           v-if="isParentEdit && billInfo.purchaseTypeName == '直接供船'"
-                           v-model="billInfo.subjectId"
-                           :options="applySubjectList"
-                           :props="{ checkStrictly: true }"
-                           @change="changeSubject" />
-              <div class="div-el-form-item hide-sel"
-                   v-else>
-                <span>{{billInfo.subjectNames}}</span>
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="2"
-                          :label="$t('cg.applydetails.applemark')">
-              <ws-input v-model="billInfo.remark"
-                        :title="billInfo.remark"
-                        :disabled="isParentEdit ? false : true"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        style="width: 100%;"
-                        maxlength="250" />
-            </ws-form-item>
-          </ws-info-table>
-        </ws-form>
-      </base-card>
-      <!-- 单据基础信息 -->
-
-      <!-- 采购明细 -->
-      <base-card :title="$t('cg.applydetails.applInfo')">
-        <template style="margin-bottom: 10px;">
-          <span class="span-money">
-            <span>{{
-                $t('cg.cgsparedetail.originalCurrencyAfterDiscountLower') +
-                  $t('common.colon')
-              }}</span>
-            <span>{{ billInfo.totalAmountLower }}</span>
-            <span>{{ currencyName }}</span>
-          </span>
-
-          <span class="span-money">
-            <span>{{
-                $t('cg.cgsparedetail.discount') + $t('common.colon')
-              }}</span>
-
-            <ws-input v-if="isParentEdit"
-                      v-model="billInfo.discount"
-                      :placeholder="$t('common.input')"
-                      style="width:200px"
-                      oninput="value=value.replace(/[^\d.]/g,'')"
-                      maxlength="18"
-                      @change="ariDiscount" />
-            <span v-else>{{
-                parseFloat(billInfo.discount || 0).toFixed(2)
-              }}</span>
-          </span>
-
-          <span class="span-money">
-            <span>{{
-                $t('cg.cgsparedetail.originalCurrencyAfterDiscountLower1') +
-                  $t('common.colon')
-              }}</span>
-            <span>{{ billInfo.afterDiscountLower }}</span>
-            <span>{{ currencyName }}</span>
-          </span>
-
-          <span class="span-money">
-            <span>{{
-                $t('cg.cgsparedetail.organizationAfterDiscountLower') +
-                  $t('common.colon')
-              }}</span>
-            <span>{{
-                billInfo.exchangeRate
-                  ? isNaN(billInfo.afterDiscountLower / billInfo.exchangeRate)
-                    ? '0.00'
-                    : parseFloat(
-                        billInfo.afterDiscountLower / billInfo.exchangeRate
-                      ).toFixed(2)
-                  : '--'
-              }}</span>
-            <span>{{ currencyOrganizing }}</span>
-          </span>
-          <div style="float: right;line-height: 40px;"
-               @click="getRecord"
-               v-if="billInfo.paymentOperateHis && billInfo.paymentOperateHis.length>0">
-            <i class="iconfont icongongchengfukuanjilu" />{{ $t('cg.applydetails.paymentRecords') }}
-          </div>
-        </template>
-        <pur-BillDetails ref="purBillDetails"
-                         :taxRate="billInfo.taxRate"
-                         :status="billInfo.status"
-                         :clientFlag="billInfo.clientFlag !== '0'"
-                         :purchaseTypeName="billInfo.purchaseTypeName"
-                         :applySubjectList="applySubjectList"
-                         :currency-name="currencyName"
-                         :isHasFinance="isHasFinance" />
-      </base-card>
-      <!-- 采购明细 -->
-
-      <!-- 附件上传 -->
-      <base-card :title="$t('upload.basicInfo')">
-        <ws-upload ref="wsUpload"
-                   oss-key="procurement.procurementMap.billDetail"
-                   :comp-id="companyId"
-                   :editable="isParentEdit"
-                   :appendix-ids="billInfo.appendixId"
-                   table-name="mapBillInfo"
-                   @onChange="onChange" />
-      </base-card>
-      <!-- 附件上传 -->
-
-      <!-- 审核流程 -->
-      <audit-history ref="auditHistory"></audit-history>
-
-      <pay-record ref="payRecord"
-                  :recordList="billInfo.paymentOperateHis"></pay-record>
-    </template>
-    <!-- 弹出页面-审核通过 退回 -->
-    <approve-dialog ref="approveDialog"
-                    @approveConfirm="approveConfirm"
-                    @returnConfirm="returnConfirm"></approve-dialog>
-    <!-- 弹出页面-审核通过 退回 -->
-  </BaseDetailLayout>
-</template>
-<script src="../../../viewsjs/procurement/procurementMap/billDetail.js" />
-<style lang="scss" scoped>
-/deep/.el-input.is-disabled .el-input__inner {
-  background-color: #fff;
-  border-color: #fff;
-  color: #000;
-  cursor: text;
-  padding: 0;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    & /deep/.auditFlow-icon {
-      width: auto;
-      margin-right: 10px;
-    }
-    & /deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.col-item-titie {
-  line-height: 18px;
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-.pur-container {
-  .el-collapse {
-    border-top: 0 !important;
-    border-bottom: 0 !important;
-  }
-  .el-collapse-item__header {
-    background-color: #fff;
-    border-bottom: 0;
-  }
-  .el-collapse-item__wrap {
-    border-bottom: 0;
-  }
-}
-
-.collapse-container {
-  .input-main {
-    .el-input__inner {
-      padding: 0 25px 0 5px !important;
-      color: #606266 !important;
-    }
-    .el-textarea__inner {
-      padding: 4px 0px;
-      color: #606266 !important;
-    }
-    .el-cascader__label {
-      padding: 0 25px 0 5px !important;
-      color: #606266 !important;
-    }
-  }
-}
-
-.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-.collapse-container {
-  .crt-main {
-    .demo-Forms {
-      padding: 0;
-      overflow: hidden;
-      position: relative;
-      .input-padding {
-        margin: 0 2px;
-      }
-    }
-    .el-select {
-      width: 100%;
-    }
-
-    .maturityDate {
-      .el-date-editor.el-input,
-      .el-date-editor.el-input__inner {
-        width: calc(100% - 135px);
-      }
-    }
-    .maturityDate .el-checkbox {
-      height: 40px;
-      line-height: 40px;
-      width: 80px;
-      margin-right: 8px;
-    }
-    .warnInAdvance {
-      .el-input {
-        width: calc(100% - 50px);
-      }
-      span {
-        height: 40px;
-        line-height: 40px;
-        width: 20px;
-        margin-right: 0px;
-        display: inline-block;
-        padding-left: 5px;
-      }
-    }
-    .add-details {
-      position: relative;
-      width: 100%;
-      .add-list {
-        position: absolute;
-        right: 20px;
-        top: -20px;
-        width: 100px;
-      }
-    }
-    .label-box {
-      .label-title {
-        display: inline;
-      }
-    }
-    .div-el-form-item {
-      text-align: left;
-    }
-  }
-}
-.label-btitle {
-  margin: 10px 0 10px 18px;
-  font-size: 14px;
-}
-.span-money {
-  font-size: 14px;
-  margin: 0 10px;
-  font-weight: bold;
-  /deep/.el-input--medium {
-    padding: 0 0 8px 0;
-  }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-
-  .is-disabled {
-    .el-cascader__label {
-      color: #606266 !important;
-    }
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      resize: none;
-      color: #606266;
-      border: 0;
-    }
-  }
-}
-.el-textarea__inner {
-  resize: none;
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-</style>

+ 0 - 39
src/views/procurement/procurementMap/component/Dropdown/Comment.vue

@@ -1,39 +0,0 @@
-<template>
-  <ws-dropdown :show-timeout="100" trigger="click">
-    <ws-button plain>
-      {{ !comment_disabled?'Comment: opened':'Comment: closed' }}
-      <i
-        class="el-icon-caret-bottom el-icon--right"
-      />
-    </ws-button>
-    <ws-dropdown-menu slot="dropdown" class="no-padding">
-      <ws-dropdown-item>
-        <ws-radio-group v-model="comment_disabled" style="padding: 10px;">
-          <ws-radio :label="true">Close comment</ws-radio>
-          <ws-radio :label="false">Open comment</ws-radio>
-        </ws-radio-group>
-      </ws-dropdown-item>
-    </ws-dropdown-menu>
-  </ws-dropdown>
-</template>
-
-<script>
-export default {
-  props: {
-    value: {
-      type: Boolean,
-      default: false
-    }
-  },
-  computed: {
-    comment_disabled: {
-      get() {
-        return this.value;
-      },
-      set(val) {
-        this.$emit('input', val);
-      }
-    }
-  }
-};
-</script>

+ 0 - 48
src/views/procurement/procurementMap/component/Dropdown/Platform.vue

@@ -1,48 +0,0 @@
-<template>
-  <ws-dropdown :hide-on-click="false" :show-timeout="100" trigger="click">
-    <ws-button plain>
-      Platfroms({{ platforms.length }})
-      <i class="el-icon-caret-bottom el-icon--right" />
-    </ws-button>
-    <ws-dropdown-menu slot="dropdown" class="no-border">
-      <ws-checkbox-group v-model="platforms" style="padding: 5px 15px;">
-        <ws-checkbox
-          v-for="item in platformsOptions"
-          :key="item.key"
-          :label="item.key"
-        >{{ item.name }}</ws-checkbox>
-      </ws-checkbox-group>
-    </ws-dropdown-menu>
-  </ws-dropdown>
-</template>
-
-<script>
-export default {
-  props: {
-    value: {
-      required: true,
-      default: () => [],
-      type: Array
-    }
-  },
-  data() {
-    return {
-      platformsOptions: [
-        { key: 'a-platform', name: 'a-platform' },
-        { key: 'b-platform', name: 'b-platform' },
-        { key: 'c-platform', name: 'c-platform' }
-      ]
-    };
-  },
-  computed: {
-    platforms: {
-      get() {
-        return this.value;
-      },
-      set(val) {
-        this.$emit('input', val);
-      }
-    }
-  }
-};
-</script>

+ 0 - 36
src/views/procurement/procurementMap/component/Dropdown/SourceUrl.vue

@@ -1,36 +0,0 @@
-<template>
-  <ws-dropdown :show-timeout="100" trigger="click">
-    <ws-button plain>
-      Link
-      <i class="el-icon-caret-bottom el-icon--right" />
-    </ws-button>
-    <ws-dropdown-menu slot="dropdown" class="no-padding no-border" style="width:400px">
-      <ws-form-item label-width="0px" style="margin-bottom: 0px" prop="source_uri">
-        <ws-input v-model="source_uri" placeholder="Please enter the content">
-          <template slot="prepend">URL</template>
-        </ws-input>
-      </ws-form-item>
-    </ws-dropdown-menu>
-  </ws-dropdown>
-</template>
-
-<script>
-export default {
-  props: {
-    value: {
-      type: String,
-      default: ''
-    }
-  },
-  computed: {
-    source_uri: {
-      get() {
-        return this.value;
-      },
-      set(val) {
-        this.$emit('input', val);
-      }
-    }
-  }
-};
-</script>

+ 0 - 3
src/views/procurement/procurementMap/component/Dropdown/index.js

@@ -1,3 +0,0 @@
-export { default as CommentDropdown } from './Comment'
-export { default as PlatformDropdown } from './Platform'
-export { default as SourceUrlDropdown } from './SourceUrl'

+ 0 - 37
src/views/procurement/procurementMap/component/approvalProcess.vue

@@ -1,37 +0,0 @@
-<!-- 采购申请-审核流程-->
-<!-- 2019年6月14日 14:32:39 by zw -->
-<template>
-  <div>
-    <section>
-      <ws-normal-table :data="auditList" fit highlight-current-row style="width: 100%">
-        <ws-table-column :label="$t('common.name')" width="180">
-          <template slot-scope="{row}">
-            <span>{{ row.operatorName }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('common.time')" width="180">
-          <template slot-scope="{row}">
-            <span>{{ row.claimTime }}</span>
-          </template>
-        </ws-table-column>
-
-        <!-- 是否通过TODO -->
-        <!-- <el-table-column :label="$t('common.approved')" width="180">
-          <template slot-scope="{row}">
-            <span>{{ row.approved? $t('common.pass'):$t('common.noPass') }}</span>
-          </template>
-        </el-table-column>-->
-        <ws-table-column :label="$t('common.opinion')">
-          <template slot-scope="{row}">
-            <span>{{ row.approved? $t('common.pass'):$t('common.noPass') }}</span>
-            <br />
-            <span>{{ row.auditMind }}</span>
-          </template>
-        </ws-table-column>
-      </ws-normal-table>
-    </section>
-  </div>
-</template>
-
-<script src="../../../../viewsjs/procurement/procurementSpare/component/approvalProcess.js">
-<style lang="scss" />;

+ 0 - 548
src/views/procurement/procurementMap/component/purApplDetail.vue

@@ -1,548 +0,0 @@
-<!--组件-海图申请单明细-->
-<!--2019年7月19日18:06:03 by jlx -->
-<template>
-  <div>
-    <WinseaContentModal v-model='dialogVisible'
-                        :title="$t('upload.basicInfo')"
-                        @on-cancel="handleClose">
-      <div class="myDialog">
-        <upload ref="purAppIDetailUpLoad"
-                procurement-name="procurementSpare"
-                :appendix-file-urls="defaultFileShow"
-                frame-name="采购明细"
-                :editable="isEdit"
-                :tenant-id="1"
-                @getMessage="getFileUrl"
-                @delMessage="delFileUrl" />
-      </div>
-      <span slot="footer"
-            class="dialog-footer">
-        <ws-button type="primary"
-                   @click="handleClose">{{ $t('button.confirm') }}</ws-button>
-      </span>
-    </WinseaContentModal>
-    <ws-class-table :data="deviceList"
-                    childrenKey="partList"
-                    :check="false">
-      <template v-slot:group-header="{group, groupIndex}">
-        <ws-row style="width:100%">
-          <ws-col :span="1">
-            <div class="bg-purple-dark"
-                 style="padding-left:10px;">
-              <ws-checkbox v-show="isSplit"
-                           v-model="group.checked"
-                           @change="checkedOper(groupIndex)" />
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgchartdetail.mcTypeName') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="group.mcTypeName">{{ group.mcTypeName }}</span>
-            </div>
-          </ws-col>
-        </ws-row>
-      </template>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.spId')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <ws-checkbox class="col-edit-input"
-                       v-if="isSplit"
-                       v-model="data.checked"
-                       @change="sonCheckedOper(groupIndex,rowIndex)" />
-          {{data.newIndex}}
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.mcName')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.mcName }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.mcNumber')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.mcNumber }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.mapDescription')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.mapDescription }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.publishVersion')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.publishVersion }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.applVersion')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.applVersion }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.reason')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.reason }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.measurementUnitId')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <ws-select v-if="isEdit"
-                     v-model="data.measurementUnitId"
-                     :placeholder="isEdit?$t('common.selected'):''"
-                     :disabled="isEdit?false:true"
-                     size="mini">
-            <ws-option v-for="l in measurementList"
-                       :key="l.constKey"
-                       :label="language=='en'? l.constValue:l.constValue"
-                       :value="l.constKey" />
-          </ws-select>
-          <span v-else>{{data.measurementUnit}}</span>
-        </template>
-      </ws-class-table-col>
-      <!-- <ws-class-table-col :label="$t('cg.cgchartdetail.subjectId')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <el-cascader v-if="isEdit==true" v-model="data.subjectId" :options="subjectList" clearable :show-all-levels="false" style="width: 100%;" :placeholder="isParentEdit?$t('common.selected'):''" />
-          <span class="col-edit-title" :title="data.subjectName" v-else>{{ cascader(data.subjectId,data) }} {{ data.subjectName }}</span>
-        </template>
-      </ws-class-table-col>-->
-      <ws-class-table-col :label="$t('cg.cgchartdetail.applQuantity')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <ws-input :clearable="false"
-                    v-model="data.applQuantity"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    :disabled="isEdit?false:true"
-                    maxlength="18" />
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.verifyQuantity')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <ws-input :clearable="false"
-                    v-model="data.verifyQuantity"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    :disabled="isEdit?false:true"
-                    @blur="data.verifyQuantity ?data.verifyQuantity:data.verifyQuantity=data.applQuantity"
-                    maxlength="18" />
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.remark')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <ws-input :clearable="false"
-                    v-model="data.remark"
-                    size="mini"
-                    maxlength="200"
-                    v-if="isEdit==true" />
-          <span v-else
-                :title="data.remark">{{ data.remark }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.accessory')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <showFile :v-model.sync="data.appendixId"
-                    :editable="isEdit"
-                    set-oss-key="procurement.procurementMap.applDetail"
-                    table-name="mapApplDetail"></showFile>
-        </template>
-      </ws-class-table-col>
-    </ws-class-table>
-  </div>
-</template>
-
-<script>
-import { getTypeList, delApplTempOther, customDropDown } from '@/model/procurement/map';
-import showFile from '@/components/Upload/showFile.vue'; // 文件显示
-import { EventBus } from 'base-core-lib'
-
-export default {
-  components: {
-    showFile
-  },
-  data () {
-    return {
-      //  当前操作行定位
-      listRow: {
-        index: 0,
-        i: 0
-      },
-      isParentEdit: false,
-      deviceListShow: [],
-      defaultFileShow: [],
-      dialogVisible: false,
-      // 判断采购input显示不显示
-      isEdit: true,
-      // 计量单位结构
-      measurementList: [],
-      // 所属科目结构
-      subjectList: [],
-      // 品牌结构
-      brandList: [],
-
-      isAddDetailss: true,
-
-      isDelDetailss: true,
-
-      // 采购明细数据结构
-      deviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-      isSplit: this.$parent.isSplit,
-
-      // 公司ID
-      companyId: sessionStorage.getItem('ws-pf_compId'),
-
-      // 获取当前语言
-      language: ''
-    };
-  },
-  watch: {},
-  created () {
-    this.language = this.$store.getters.language;
-    // 计量单位
-    this.getPurSelectType('MEASUREMENT_UNIT');
-    // 品牌
-    this.getPurSelectType('BRAND');
-    // 所属科目
-    // this.getPurSelectSubjectList()
-  },
-  methods: {
-    cascader (val, ci) {
-      if (val) {
-        let vals = null;
-        if (typeof val === 'object') {
-          vals = val;
-        } else {
-          vals = val.split(',');
-        }
-
-        let label = this.cascaderList(this.subjectList, vals[vals.length - 1]);
-        if (typeof label === 'undefined') {
-          label = '';
-        }
-        ci.subjectName = label;
-      }
-    },
-
-    cascaderList (datalist, id) {
-      let label = null;
-      for (const key in datalist) {
-        const e = datalist[key];
-        if (typeof e.children !== 'undefined' && e.children && e.children.length > 0) {
-          label = this.cascaderList(e.children, id);
-        } else {
-          if (e.value === id) {
-            return e.label;
-          }
-        }
-        if (label) {
-          return label;
-        }
-      }
-    },
-    indexMethod (index) {
-      return index * 2;
-    },
-    getFileUrl (msg) { },
-    delFileUrl (msg) { },
-    // #region 下拉选择
-    // 根据获取select类型
-    getPurSelectType (type) {
-      if (type === 'MEASUREMENT_UNIT') {
-        customDropDown({
-          compId: sessionStorage.getItem('ws-pf_compId'),
-          constCode: 'MEASUREMENT_UNIT'
-        }).toPromise().then(response => {
-          // 计量单位
-          this.measurementList = response;
-        });
-      } else {
-        // 品牌
-        // 获取数据
-        getTypeList({
-          compId: sessionStorage.getItem('ws-pf_compId'),
-          constCode: type
-        }).toPromise().then(response => {
-          // 计量单位
-          this.brandList = response;
-        });
-      }
-    },
-
-    // // 根据申请单ID获取所属科目
-    // getPurSelectSubjectList() {
-    //   // 获取数据
-    //   getApplySubject({
-    //     compId: this.companyId,
-    //     subjectType: "0"
-    //   }).then(response => {
-    //     this.subjectList = response.data;
-    //   });
-    // },
-    // #endregion
-
-    // #region 方法
-    // 添加备件明细列表
-    addList (index, i) {
-      this.deviceList[index].partList.push({
-        checked: false,
-
-        id: '',
-        applId: '',
-        mcName: '',
-        mapDescription: '',
-        publishVersion: '',
-        applVersion: '',
-        reason: '',
-        measurementUnitId: '',
-        subjectId: '',
-        brandId: '',
-        applQuantity: '',
-        verifyQuantity: '',
-        remark: ''
-      });
-    },
-
-    // 删除采购明细列表
-    deleteList (index, i) {
-      this.$confirm(this.$t('message.isdelete'), this.$t('message.warn'), {
-        confirmButtonText: this.$t('message.confirm'),
-        cancelButtonText: this.$t('message.cancel'),
-        type: 'warning'
-      }).toPromise()
-        .then(async () => {
-          if (this.deviceList[index].partList[i].id.length > 0) {
-            delApplTempOther({
-              id: this.deviceList[index].partList[i].id
-            }).toPromise()
-              .then(response => {
-                this.deviceList[index].partList.splice(i, 1);
-
-                if (this.deviceList[index].partList.length === 0) {
-                  this.deviceList.splice(index, 1);
-                }
-                EventBus.$emit('success', this.$t('message.message1'))
-              })
-              .catch(() => {
-                EventBus.$emit('error', this.$t('message.message2'))
-              });
-          } else {
-            this.deviceList[index].partList.splice(i, 1);
-
-            if (this.deviceList[index].partList.length === 0) {
-              this.deviceList.splice(index, 1);
-            }
-            EventBus.$emit('success', this.$t('message.message1'))
-          }
-        })
-        .catch(err => {
-          console.error(err);
-        });
-    },
-
-    // 部件操作处理
-    checkedOper (index) {
-      // if (this.deviceList[index].checked) {
-      for (var i = 0; i < this.deviceList[index].partList.length; i++) {
-        this.deviceList[index].partList[i].checked = this.deviceList[index].checked;
-      }
-      // }
-    },
-
-    // 备件操作处理
-    sonCheckedOper (index, i) {
-      if (this.deviceList[index].partList[i].checked) {
-        this.deviceList[index].checked = true;
-      } else {
-        let isCheck = false;
-        for (let h = 0; h < this.deviceList[index].partList.length; h++) {
-          if (this.deviceList[index].partList[h].checked) {
-            isCheck = true;
-            break;
-          }
-        }
-
-        this.deviceList[index].checked = isCheck;
-      }
-    },
-    handleClose () {
-      this.dialogVisible = false;
-    }
-
-    // #endregion
-  }
-};
-</script>
-<style lang="scss" scoped>
-.col-edit-title {
-  line-height: 27px;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  -webkit-box-orient: vertical;
-}
-.myDialog {
-  // height: 500px;
-
-  overflow: auto;
-}
-.purDiv {
-  border-right: 1px solid #ccc;
-  border-left: 1px solid #ccc;
-  .el-row {
-    margin-bottom: 0px;
-    .el-checkbox__input {
-      margin-left: 0.7em;
-      display: block;
-      line-height: 34px;
-    }
-  }
-}
-.purDiv .el-input__inner {
-  padding: 0 5px;
-  height: 32px !important;
-  line-height: 32px !important;
-}
-.bg-purple-dark {
-  background: #e2edfa;
-}
-.bg-purple {
-  line-height: 40px;
-  background: #eeeeee;
-  font-size: 13px;
-  text-align: left;
-  padding-left: 5px;
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-
-.row-bg {
-  background: #f6f6f6;
-  font-size: 13px;
-  text-align: center;
-  background-color: #f9fafc;
-}
-.purDiv {
-  .div-collapse {
-    border-bottom: 1px solid #ccc !important;
-    .el-collapse-item__content {
-      padding-bottom: 0;
-      background-color: #fff;
-    }
-    /deep/.el-collapse-item__header {
-      background-color: #e2edfa !important;
-      border-top: 1px solid #c2defb;
-      border-bottom: 1px solid #c2defb;
-      height: 37px;
-      line-height: 35px;
-    }
-    .purspappl-details {
-      line-height: 9px;
-      // border-bottom: 1px solid #ccc !important;
-    }
-  }
-}
-
-.purspappl-details {
-  // line-height: 40px;
-}
-.el-row {
-  text-align: center;
-}
-.col-edit {
-  text-align: left;
-  .col-edit-cascader {
-    width: 95%;
-    display: inline-block;
-    line-height: 27px;
-  }
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 27px;
-  }
-}
-
-.purDiv {
-  .div-collapse {
-    border-bottom: 1px solid #ccc;
-    .el-collapse-item__content {
-      padding-bottom: 0;
-      background-color: #fff;
-    }
-    /deep/.el-collapse-item__header {
-      background-color: #e2edfa;
-    }
-    .el-collapse-item__wrap {
-      border-bottom: 1px solid #e6ebf5 !important;
-    }
-  }
-}
-
-.add {
-  position: absolute;
-  right: 60px;
-  z-index: 999;
-}
-button {
-  border: 0px;
-  height: 28px;
-  background-color: #e74c3c;
-  border: 1px solid #e74c3c;
-  color: #fff;
-  border-radius: 16px;
-}
-.el-collapse-item__content {
-  padding-bottom: 0;
-}
-
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .bg-purple-dark {
-    .el-input__inner {
-      color: #1d6ced;
-      background-color: #e2edfa !important;
-      border: 0;
-    }
-  }
-  .el-input__suffix {
-    .el-input__suffix-inner {
-      display: none;
-    }
-  }
-  .col-edit {
-    .col-edit-input {
-      .is-disabled {
-        .el-input__inner:hover {
-          background-color: #fff !important;
-          border: 0;
-        }
-        .el-input__inner {
-          background-color: #fff !important;
-          border: 0;
-        }
-      }
-    }
-  }
-}
-
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  /deep/.el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000;
-    cursor: text;
-    padding: 0;
-    text-align: center;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-</style>

+ 0 - 479
src/views/procurement/procurementMap/component/purBillDetails.vue

@@ -1,479 +0,0 @@
-<!-- 海图采购结算明细-->
-<!--2019年6月12日 15:47:25 by jlx-->
-
-<template>
-  <div style="margin-top:10px;">
-    <WinseaContentModal v-model='dialogVisible'
-                        :title="$t('upload.basicInfo')"
-                        @on-cancel="handleClose">
-      <div class="myDialog">
-        <upload ref="purChassDetailsUpLoad"
-                procurement-name="procurementSpare"
-                :appendix-file-urls="defaultFileShow"
-                frame-name="采购明细"
-                :editable="isEdit"
-                :tenant-id="1"
-                @getMessage="getFileUrl"
-                @delMessage="delFileUrl" />
-      </div>
-      <span slot="footer"
-            class="dialog-footer">
-        <ws-button type="primary"
-                   @click="handleClose">{{ $t('button.confirm') }}</ws-button>
-      </span>
-    </WinseaContentModal>
-    <ws-class-table :data="deviceList"
-                    childrenKey="partList"
-                    :check="false">
-      <template v-slot:group-header="{group, groupIndex}">
-        <ws-row style="width:100%">
-          <ws-col :span="1">
-            <div class="bg-purple-dark"
-                 style="padding-left:10px;">
-              <el-checkbox v-show="isSplit"
-                           v-model="group.checked" />
-            </div>
-          </ws-col>
-          <ws-col :span="19">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgchartdetail.mcTypeName') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="group.mcTypeName">{{ group.mcTypeName }}</span>
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div style=" text-align: right;margin-right: 10px">
-              <span>{{ $t('cg.cgchartdetail.total') +$t('common.colon') }}</span>
-              <span>{{ group.groupMoney }}{{ currencyName }}</span>
-            </div>
-          </ws-col>
-        </ws-row>
-      </template>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.spId')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <el-checkbox v-if="isSplit"
-                       v-model="data.checked"
-                       class="col-edit-input" />
-          {{data.newIndex}}
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.mcName')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.mcName }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.mcNumber')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.mcNumber }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.mapDescription')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.mapDescription }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.publishVersion')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.applVersion }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.applVersion')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.reason }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.measurementUnitId')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.measurementUnit }}</template>
-      </ws-class-table-col>
-      <!--  <ws-class-table-col :label="$t('cg.cgchartdetail.subjectId')" v-if="isHasFinance">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ cascader(data.subjectId,data) }} {{ data.subjectName }}</template>
-      </ws-class-table-col>-->
-      <ws-class-table-col :label="$t('cg.cgchartdetail.purchaseQuantity')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.applQuantity }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.inStoreQuantity')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <ws-input v-if="isVerifyQuantity || (!clientFlag && (status == '71' || status == '72'))"
-                    :clearable="false"
-                    v-model="data.inStoreQuantity"
-                    size="mini"
-                    @change="subTotal(groupIndex,rowIndex)"
-                    maxlength="18" />
-          <span v-else>{{data.inStoreQuantity}}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.unitPrice')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.bargainPrice?parseFloat(data.bargainPrice).toFixed(2):data.bargainPrice }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.settlementPrice')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <ws-input :clearable="false"
-                    v-model="data.decidePrice"
-                    v-if="isEdit && data.inStoreQuantity !== 0"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    @change="subTotal(groupIndex,rowIndex)"
-                    maxlength="18" />
-          <span v-if="isEdit && data.inStoreQuantity == 0">{{ '--' }}</span>
-          <span v-if="!isEdit">{{ data.decidePrice }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.subtotal')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ parseFloat((data.inStoreQuantity==null?0:data.inStoreQuantity) * (data.unitPrice==null?0:data.unitPrice) ).toFixed(2) }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('salaryInfo.subject')"
-                          v-if="isHasFinance">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <el-cascader style="width: 100%;"
-                       v-if="isEdit && purchaseTypeName == '直接供船'"
-                       v-model="data.subjectId"
-                       :options="applySubjectList"
-                       :props="{ checkStrictly: true }"
-                       @change="changeChildSubject(data.subjectId,groupIndex, rowIndex)" />
-          <span :title="data.subjectNames"
-                v-else> {{ data.subjectNames }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.remark')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <ws-input :clearable="false"
-                    v-model="data.remark"
-                    size="mini"
-                    maxlength="200"
-                    v-if="isEdit==true" />
-          <span v-else
-                :title="data.remark">{{ data.remark }}</span>
-        </template>
-      </ws-class-table-col>
-    </ws-class-table>
-  </div>
-</template>
-
-<script>
-import { getTypeList } from '@/model/procurement/map'; // delApplTemp
-import { findTenantServiceType } from '@/model/indexRx';
-
-export default {
-  inject: ['ariDiscount'],
-  props: {
-    currencyName: {
-      // 金额单位
-      type: String,
-      default: ''
-    },
-    isHasFinance: {
-      type: Boolean,
-      default: true
-    },
-    applySubjectList: {
-      // 科目
-      type: Array,
-    },
-    purchaseTypeName: {
-      // 采购类型
-      type: String,
-      default: ''
-    },
-    clientFlag: {
-      type: Boolean,
-      default: true
-    },
-    status: {
-      type: String,
-      default: ''
-    },
-  },
-  data () {
-    return {
-      isVerifyQuantity: false,
-      defaultFileShow: '',
-      dialogVisible: false,
-      // 判断结算明细input显示不显示
-      isEdit: true,
-      // 计量单位结构
-      measurementList: [],
-      // 所属科目结构
-      subjectList: [],
-      // 品牌结构
-      brandList: [],
-      // 采购类型
-      purchaseType: true,
-      // 采购明细数据结构
-      deviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-      isSplit: this.$parent.isSplit,
-      deviceListShow: [],
-      // 公司ID
-      companyId: sessionStorage.getItem('ws-pf_compId'),
-
-      // 获取当前语言
-      language: ''
-    };
-  },
-  created () {
-    this.language = this.$store.getters.language;
-    // 计量单位
-    this.getSelectType('MEASUREMENT_UNIT');
-    // 品牌
-    this.getSelectType('BRAND');
-    this.doIsVerifyQuantity();
-  },
-  methods: {
-    changeChildSubject (val, groupIndex, rowIndex) {
-      let ids = []
-      let names = []
-      val.map(item => {
-        ids.push(item.split('-')[0])
-        names.push(item.split('-')[1])
-      })
-      this.deviceList[groupIndex].partList[rowIndex].subjectIds = ids.join(',')
-      this.deviceList[groupIndex].partList[rowIndex].subjectNames = names.join('/')
-    },
-    doIsVerifyQuantity () {
-      findTenantServiceType().toPromise().then(res => {
-        if (this.isEdit) {
-          if (res === 'SHIP_CLIENT') {
-            this.isVerifyQuantity = false;
-          }
-          if (res === 'COAST_CLIENT') {
-            this.isVerifyQuantity = true;
-          }
-          if (res === 'SHIP_COAST_CLIENT') {
-            this.isVerifyQuantity = false;
-          }
-        }
-      });
-    },
-    cascader (val, ci) {
-      if (val) {
-        let vals = null;
-        if (typeof val === 'object') {
-          vals = val;
-        } else {
-          vals = val.split(',');
-        }
-
-        let label = this.cascaderList(this.subjectList, vals[vals.length - 1]);
-        if (typeof label === 'undefined') {
-          label = '';
-        }
-        ci.subjectName = label;
-      }
-    },
-
-    cascaderList (datalist, id) {
-      let label = null;
-      for (const key in datalist) {
-        const e = datalist[key];
-        if (typeof e.children !== 'undefined' && e.children && e.children.length > 0) {
-          label = this.cascaderList(e.children, id);
-        } else {
-          if (e.value === id) {
-            return e.label;
-          }
-        }
-        if (label) {
-          return label;
-        }
-      }
-    },
-    indexMethod (index) {
-      return index * 2;
-    },
-
-    // 根据获取select类型
-    getSelectType (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        if (type === 'MEASUREMENT_UNIT') {
-          // 计量单位
-          this.measurementList = response;
-        } else {
-          // 品牌
-          this.brandList = response;
-        }
-      });
-    },
-
-    // 备件小计
-    subTotal () {
-      this.deviceList.reverse()
-      this.deviceList.reverse()
-      this.ariDiscount();
-    },
-    handleClose () {
-      this.dialogVisible = false;
-    },
-    getFileUrl () { },
-    delFileUrl () { }
-  }
-};
-</script>
-<style lang="scss" scoped>
-.col-edit-title {
-  line-height: 27px;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  -webkit-box-orient: vertical;
-}
-.bg-purple {
-  line-height: 40px;
-  background: #eeeeee;
-  font-size: 13px;
-  text-align: left;
-  padding-left: 5px;
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-.purDiv {
-  .el-input__inner {
-    padding: 0 5px;
-    height: 32px !important;
-    line-height: 32px !important;
-  }
-  .el-row {
-    margin-bottom: 0px;
-    .el-checkbox__input {
-      margin-left: 0.7em;
-      display: block;
-      line-height: 34px;
-    }
-  }
-  .div-collapse {
-    border-bottom: 1px solid #ccc !important;
-    .el-collapse-item__content {
-      padding-bottom: 0;
-      background-color: #fff;
-    }
-    /deep/.el-collapse-item__header {
-      background-color: #e2edfa;
-      border-top: 1px solid #c2defb;
-      border-bottom: 1px solid #c2defb;
-      height: 37px;
-      line-height: 35px;
-    }
-  }
-  .purspappl-details {
-    line-height: 9x;
-    // border-bottom: 1px solid #ccc !important;
-  }
-}
-.row-bg {
-  background: #f6f6f6;
-  font-size: 13px;
-  text-align: center;
-  background-color: #f9fafc;
-}
-/deep/.el-collapse-item__header {
-  background-color: #eee;
-}
-.purspappl-details {
-  // line-height: 40px;
-  // border-bottom: 1px solid #ccc !important;
-  &:last-child {
-    // border-bottom: 0px solid #ccc !important;
-  }
-}
-.el-row {
-  text-align: center;
-}
-.col-edit {
-  text-align: left;
-  .col-edit-cascader {
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-}
-.pur-input {
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 27px;
-    word-wrap: break-word;
-    word-break: break-all;
-    overflow: hidden;
-  }
-}
-.div-collapse .el-collapse-item__content {
-  padding-bottom: 0;
-}
-.add {
-  position: absolute;
-  right: 60px;
-  z-index: 999;
-}
-.col-edit-title {
-  text-align: left;
-}
-.el-collapse-item__content {
-  padding-bottom: 0;
-}
-
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-input {
-    .is-disabled {
-      .el-input__inner {
-        background-color: #fff !important;
-        border: 0;
-      }
-    }
-  }
-  .el-input__suffix {
-    display: none;
-  }
-  .col-edit {
-    .col-edit-input {
-      .is-disabled {
-        .el-input__inner:hover {
-          background-color: #fff !important;
-          border: 0;
-        }
-        .el-input__inner {
-          background-color: #fff !important;
-          border: 0;
-        }
-        .el-input__suffix {
-          display: none;
-        }
-      }
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  /deep/.el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000;
-    cursor: text;
-    padding: 0;
-    text-align: center;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-</style>

+ 0 - 574
src/views/procurement/procurementMap/component/purChassDetails.vue

@@ -1,574 +0,0 @@
-<!--采购单 海图采购明细-->
-<!--2019年7月19日18:49:10 by jlx-->
-
-<template>
-  <div style="margin-top: 10px;">
-    <!-- 采购历史 -->
-    <purHistory ref="purHistory"
-                show-type="map" />
-    <ws-class-table :data="deviceList"
-                    childrenKey="partList"
-                    :check="false">
-      <template v-slot:group-header="{group, groupIndex}">
-        <ws-row style="width:100%">
-          <ws-col :span="20">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgchartdetail.mcTypeName') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="group.mcTypeName">{{ group.mcTypeName }}</span>
-            </div>
-          </ws-col>
-          <ws-col :span="4">
-            <div style=" text-align: right;margin-right: 10px">
-              <span>{{ $t('cg.cgchartdetail.total')+$t('common.colon') }}</span>
-              <span>{{ group.groupMoney }}{{ currencyName }}</span>
-            </div>
-          </ws-col>
-        </ws-row>
-      </template>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.spId')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{data.newIndex}}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.mcName')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.mcName }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.mcNumber')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.mcNumber }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.mapDescription')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.mapDescription }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.applVersion')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.applVersion }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.reason')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.reason }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.measurementUnitId')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.measurementUnit }}</template>
-      </ws-class-table-col>
-      <!--   <ws-class-table-col :label="$t('cg.cgchartdetail.subjectId')" v-if="isHasFinance">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <div class="col-edit-cascader">
-            <el-cascader v-if="false" v-model="data.subjectId" :options="subjectList" clearable :show-all-levels="false" style="width: 100%;" :placeholder="isParentEdit?$t('common.selected'):''" />
-            <span class="col-edit-title" :title="data.subjectName" v-else>{{ cascader(data.subjectId,data) }} {{ data.subjectName }}</span>
-          </div>
-        </template>
-      </ws-class-table-col>-->
-      <ws-class-table-col v-if="isDelDetailss"
-                          :label="$t('cg.cgchartdetail.verifyQuantity')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.applQuantity==null?0:data.applQuantity }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.purchaseQuantity')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <ws-input v-if="isEdit && permissionIf(`${$permission('PERMISSIONS.PURMAPPURCHASINFO_Modify')}`)"
-                    :clearable="false"
-                    v-model="data.verifyQuantity"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    @change="subTotal(groupIndex,rowIndex)"
-                    maxlength="18" />
-          <span v-else>{{data.verifyQuantity}}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.bargainPrice')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.bargainPrice }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.unitPrice')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <ws-input v-if="isEdit"
-                    :clearable="false"
-                    v-model="data.decidePrice"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    @change="subTotal(groupIndex,rowIndex)"
-                    maxlength="18" />
-          <span v-else>{{data.decidePrice}}</span>
-        </template>
-      </ws-class-table-col>
-      <!-- 税率 -->
-      <ws-class-table-col :label="$t('cg.cgsparedetail.taxRate')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input-number :min="0"
-                           v-model="data.taxRate"
-                           :placeholder="isEdit
-                                  ? $t('common.input')
-                                  : ''"
-                           v-if="isEdit"
-                           maxlength="18" />
-
-          <span v-else
-                :title="data.taxRate">{{ data.taxRate }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.subtotal')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{parseFloat(data.subtotal).toFixed(2)}}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('salaryInfo.subject')" v-if="isHasFinance">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <el-cascader v-model="data.subjectId"
-                       :options="applySubjectList"
-                       :props="{ checkStrictly: true }"
-                       :placeholder="isEdit ? $t('common.selected') : ''"
-                       v-if="isEdit == true"
-                       @change="changeChildSubject(data.subjectId,groupIndex, rowIndex)"/>
-          <span :title="cascader(data.subjectIds, data) || '' + data.subjectNames"
-                v-else>{{ cascader(data.subjectIds, data) }} {{ data.subjectNames }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.remark')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <ws-input :clearable="false"
-                    v-model="data.remark"
-                    size="mini"
-                    maxlength="200"
-                    v-if="isEdit==true" />
-          <span v-else
-                :title="data.remark">{{ data.remark }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.operation')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <ws-button type="text"
-                     icon="el-icon-notebook-1"
-                     @click="findHisList(groupIndex,rowIndex)"
-                     :title="$t('button.purchaseHistory')"></ws-button>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.accessory')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <div @click="openDialog(groupIndex,rowIndex)">
-            <showFile :v-model.sync="data.appendixId"
-                      :editable="isEdit"
-                      set-oss-key="procurement.procurementMap.purchasDetail"
-                      table-name="mapPurchasDetail"></showFile>
-          </div>
-        </template>
-      </ws-class-table-col>
-    </ws-class-table>
-  </div>
-</template>
-
-<script>
-import { getTypeList, delApplTempOther } from '@/model/procurement/map';
-import showFile from '@/components/Upload/showFile.vue'; // 文件显示
-import purHistory from '@/components/purHistory'; // 采购历史
-import { isNullOrUndefined } from 'util';
-import { EventBus } from 'base-core-lib'
-
-export default {
-  inject: ['ariDiscount'],
-  components: {
-    showFile,
-    purHistory
-  },
-  props: {
-    currencyName: {
-      // 金额单位
-      type: String,
-      default: ''
-    },
-    isHasFinance: {
-      type: Boolean,
-      default: true
-    },
-    applySubjectList: {
-      // 科目
-      type: Array,
-    },
-  },
-  data () {
-    return {
-      isParentEdit: false,
-      // 选择行下标
-      listRow: {
-        index: 0,
-        i: 0
-      },
-      // dialog显示
-      dialogVisible: false,
-      // 文件数据
-      defaultFileShow: [],
-      // 判断报input显示不显示
-      isEdit: true,
-      purType: true, // 判断是否直接采购,tru询价采购,false直接采购(询价数量,报价不显示)
-      // 计量单位结构
-      measurementList: [],
-      // 所属科目结构
-      subjectList: [],
-      // 品牌结构
-      brandList: [],
-
-      isDelDetailss: true,
-
-      // 采购明细数据结构
-      deviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-      deviceListShow: [],
-      // 公司ID
-      companyId: sessionStorage.getItem('ws-pf_compId'),
-
-      // 获取当前语言
-      language: ''
-    };
-  },
-  // watch: {
-  //   deviceList() {
-  //     // 所属科目
-  //     this.getSelectSubjectList();
-  //   }
-  // },
-  created () {
-    this.language = this.$store.getters.language;
-    // 计量单位
-    this.getPurSelectTypeUnit('MEASUREMENT_UNIT');
-    // 品牌
-    this.getPurSelectBrand('BRAND');
-  },
-
-  methods: {
-    changeChildSubject(val,groupIndex, rowIndex){
-      let ids = []
-      let names = []
-      val.map(item => {
-        ids.push(item.split('-')[0])
-        names.push(item.split('-')[1])
-      })
-      this.deviceList[groupIndex].partList[rowIndex].subjectIds = ids.join(',')
-      this.deviceList[groupIndex].partList[rowIndex].subjectNames = names.join('/')
-      this.ariDiscount()
-    },
-    cascader (val, ci) {
-      if (!isNullOrUndefined(val)) {
-        let vals = null;
-        if (typeof val === 'object') {
-          vals = val;
-        } else {
-          vals = val.split(',');
-        }
-
-        let label = this.cascaderList(this.subjectList, vals[vals.length - 1]);
-        if (typeof label === 'undefined') {
-          label = '';
-        }
-        ci.subjectName = label;
-      } else {
-        ci.subjectName = '';
-      }
-    },
-
-    cascaderList (datalist, id) {
-      let label = null;
-      for (const key in datalist) {
-        const e = datalist[key];
-        if (typeof e.children !== 'undefined' && e.children && e.children.length > 0) {
-          label = this.cascaderList(e.children, id);
-        } else {
-          if (e.value === id) {
-            return e.label;
-          }
-        }
-        if (label) {
-          return label;
-        }
-      }
-    },
-    // 删除采购明细列表
-    deletePurList (index, i) {
-      this.$confirm(this.$t('message.isdelete'), this.$t('message.warn'), {
-        confirmButtonText: this.$t('message.confirm'),
-        cancelButtonText: this.$t('message.cancel'),
-        type: 'warning'
-      })
-        .then(async () => {
-          if (this.deviceList[index].partList[i].id.length > 0) {
-            delApplTempOther({
-              id: this.deviceList[index].partList[i].id
-            }).toPromise()
-              .then(response => {
-                this.deviceList[index].partList.splice(i, 1);
-
-                if (this.deviceList[index].partList.length === 0) {
-                  this.deviceList.splice(index, 1);
-                }
-                EventBus.$emit('success', this.$t('message.message1'))
-              })
-              .catch(() => {
-                EventBus.$emit('error', this.$t('message.message2'))
-              });
-          } else {
-            this.deviceList[index].partList.splice(i, 1);
-
-            if (this.deviceList[index].partList.length === 0) {
-              this.deviceList.splice(index, 1);
-            }
-            EventBus.$emit('success', this.$t('message.message1'))
-          }
-        })
-        .catch(err => {
-          console.error(err);
-        });
-    },
-    // 根据申请单ID获取所属科目
-    // getSelectSubjectList() {
-    //   // 获取数据
-    //   getApplySubject({
-    //     compId: this.companyId,
-    //     subjectType: "0"
-    //   }).then(response => {
-    //     this.subjectList = this.OptionsSubjectList(response.data);
-    //   });
-    // },
-
-    // 所属科目数据处理
-    OptionsSubjectList (list) {
-      const lists = [];
-      list.forEach(l => {
-        const c = Object.assign({}, this.defaultParams);
-        c.value = l.id;
-        c.label = l.subjectName;
-        if (l.children != null && l.children.length > 0) {
-          c.children = this.OptionsSubjectList(l.children);
-        }
-        lists.push(c);
-      });
-
-      return lists;
-    },
-    // 查看备件采购历史
-    findHisList (index, i) {
-      try {
-        this.$refs.purHistory.dialogFormVisible = true;
-        this.$refs.purHistory.deviceRow = this.deviceList[index];
-        this.$refs.purHistory.partRow = this.deviceList[index].partList[i];
-        this.$refs.purHistory.getlistbyWhere();
-      } catch (error) {
-        console.log(error);
-      }
-    },
-    // 计量单位
-    getPurSelectTypeUnit (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        this.measurementList = response;
-      });
-    },
-
-    // 品牌
-    getPurSelectBrand (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        // 品牌
-        this.brandList = response;
-      });
-    },
-
-    indexMethod (index) {
-      return index * 2;
-    },
-
-    // 根据获取select类型
-    getSelectType (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        if (type === 'MEASUREMENT_UNIT') {
-          // 计量单位
-          this.measurementList = response;
-        } else {
-          // 品牌
-          this.brandList = response;
-        }
-      });
-    },
-
-    // 小计
-    subTotal (index, i) {
-      this.deviceList.reverse();
-      this.deviceList.reverse();
-      this.ariDiscount();
-    }
-  }
-};
-</script>
-<style lang='scss'>
-.col-edit-title {
-  line-height: 27px;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  -webkit-box-orient: vertical;
-}
-.myDialog {
-  // height: 500px;
-  overflow: auto;
-}
-
-.bg-purple {
-  line-height: 40px;
-  background: #eeeeee;
-  font-size: 13px;
-  text-align: left;
-  padding-left: 5px;
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-.purDiv {
-  .el-input__inner {
-    padding: 0 5px;
-    height: 32px !important;
-    line-height: 32px !important;
-  }
-  .div-collapse {
-    border-bottom: 1px solid #ccc !important;
-    position: relative;
-    .el-collapse-item__content {
-      padding-bottom: 0;
-      background-color: #fff;
-    }
-    .el-collapse-item__header {
-      background-color: #e2edfa;
-      border-top: 1px solid #c2defb;
-      border-bottom: 1px solid #c2defb;
-      height: 37px;
-      line-height: 35px;
-    }
-    .purspappl-details {
-      line-height: 9px;
-      // border-bottom: 1px solid #ccc !important;
-    }
-  }
-}
-
-.row-bg {
-  background: #f6f6f6;
-  font-size: 13px;
-  text-align: center;
-  background-color: #f9fafc;
-}
-.el-collapse-item__header {
-  background-color: #eee;
-}
-.purspappl-details {
-  // line-height: 40px;
-  // border-bottom: 1px solid #ccc !important;
-  &:last-child {
-    // border-bottom: 0px solid #ccc !important;
-  }
-}
-.el-row {
-  text-align: center;
-}
-.col-edit {
-  text-align: left;
-  .col-edit-cascader {
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-}
-.pur-input {
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 27px;
-    word-wrap: break-word;
-    word-break: break-all;
-    overflow: hidden;
-  }
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-.el-collapse-item__header {
-  background-color: #e2edfa;
-  height: 35px;
-  line-height: 35px;
-}
-.div-collapse .el-collapse-item__content {
-  padding-bottom: 0;
-}
-.div-collapse {
-  .el-row {
-    margin-bottom: 0;
-  }
-}
-.add {
-  position: absolute;
-  right: 60px;
-  z-index: 999;
-}
-.col-edit-title {
-  text-align: left;
-}
-.el-collapse-item__content {
-  padding-bottom: 0;
-}
-
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .col-edit {
-    .col-edit-input {
-      .is-disabled {
-        .el-input__inner:hover {
-          background-color: #fff !important;
-          border: 0;
-        }
-        .el-input__inner {
-          background-color: #fff !important;
-          border: 0;
-        }
-      }
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  /deep/.el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000;
-    cursor: text;
-    padding: 0;
-    text-align: center;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-</style>

+ 0 - 488
src/views/procurement/procurementMap/component/purEnquiryDetails.vue

@@ -1,488 +0,0 @@
-<!--组件-海图询价明细-->
-<!--2019年7月19日18:06:54 by jlx-->
-<template>
-  <div>
-    <!-- 采购历史 -->
-    <purHistory ref="purHistory"
-                show-type="map" />
-    <ws-class-table :data="deviceList"
-                    childrenKey="partList"
-                    :check="false">
-      <template v-slot:group-header="{group, groupIndex}">
-        <ws-row style="width:100%">
-          <ws-col :span="1">
-            <div class="bg-purple-dark"
-                 style="padding-left:10px;">
-              <ws-checkbox v-show="isSplit"
-                           v-model="group.checked"
-                           @change="checkedOper(groupIndex)" />
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgchartdetail.mcTypeName') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="group.mcTypeName">{{ group.mcTypeName }}</span>
-            </div>
-          </ws-col>
-        </ws-row>
-      </template>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.spId')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <ws-checkbox class="col-edit-input"
-                       v-if="isSplit"
-                       v-model="data.checked"
-                       @change="sonCheckedOper(groupIndex,rowIndex)" />
-          {{data.newIndex}}
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.mcName')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.mcName }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.mcNumber')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.mcNumber }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.mapDescription')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.mapDescription }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.publishVersion')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.publishVersion }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.applVersion')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.applVersion }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.reason')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.reason }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.measurementUnitId')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.measurementUnit }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.sparepartCheckQuantity')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.applQuantity }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.enquiryQuantity')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <ws-input :clearable="false"
-                    v-model="data.verifyQuantity"
-                    v-if="isEdit==true"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    :readonly="isEdit?false:true"
-                    maxlength="18" />
-          <span v-else>{{ data.verifyQuantity }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.remark')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <ws-input :clearable="false"
-                    v-model="data.remark"
-                    size="mini"
-                    maxlength="200"
-                    v-if="isEdit==true" />
-          <span v-else
-                :title="data.remark">{{ data.remark }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.purchaseHistory.history')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <ws-button type="text"
-                     icon="el-icon-notebook-1"
-                     @click="findHisList(groupIndex,rowIndex)"
-                     :title="$t('button.purchaseHistory')"></ws-button>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.accessory')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <showFile :v-model.sync="data.appendixId"
-                    :editable="isEdit"
-                    set-oss-key="procurement.procurementMap.enquiryDetail"
-                    table-name="mapEnquiryDetail"></showFile>
-        </template>
-      </ws-class-table-col>
-    </ws-class-table>
-  </div>
-</template>
-
-<script>
-import { getTypeList, delApplTempOther } from '@/model/procurement/map';
-import showFile from '@/components/Upload/showFile.vue'; // 文件显示
-import purHistory from '@/components/purHistory'; // 采购历史
-import { EventBus } from 'base-core-lib'
-
-export default {
-  components: {
-    showFile,
-    purHistory
-  },
-  data () {
-    return {
-      listRow: {
-        index: 0,
-        i: 0
-      },
-      dialogVisible: false,
-      defaultFileShow: [],
-      // 判断报价单input显示不显示
-      isEdit: true,
-      // 计量单位结构
-      measurementList: [],
-      // 所属科目结构
-      subjectList: [],
-      // 品牌结构
-      brandList: [],
-      deviceListShow: [],
-      // 采购明细数据结构
-      deviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-
-      isDelDetailss: true,
-
-      isSplit: this.$parent.isSplit,
-
-      // 公司ID
-      companyId: sessionStorage.getItem('ws-pf_compId'),
-
-      // 获取当前语言
-      language: ''
-    };
-  },
-  watch: {},
-  created () {
-    this.language = this.$store.getters.language;
-    // 计量单位
-    this.getPurSelectType('MEASUREMENT_UNIT');
-    // 品牌
-    this.getPurSelectType('BRAND');
-  },
-  methods: {
-    cascader (val, ci) {
-      if (val) {
-        let vals = null;
-        if (typeof val === 'object') {
-          vals = val;
-        } else {
-          vals = val.split(',');
-        }
-
-        let label = this.cascaderList(this.subjectList, vals[vals.length - 1]);
-        if (typeof label === 'undefined') {
-          label = '';
-        }
-        ci.subjectName = label;
-      }
-    },
-
-    cascaderList (datalist, id) {
-      let label = null;
-      for (const key in datalist) {
-        const e = datalist[key];
-        if (typeof e.children !== 'undefined' && e.children && e.children.length > 0) {
-          label = this.cascaderList(e.children, id);
-        } else {
-          if (e.value === id) {
-            return e.label;
-          }
-        }
-        if (label) {
-          return label;
-        }
-      }
-    },
-    indexMethod (index) {
-      return index * 2;
-    },
-
-    // #region 下拉选择
-
-    // 根据获取select类型
-    getPurSelectType (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        if (type === 'MEASUREMENT_UNIT') {
-          // 计量单位
-          this.measurementList = response;
-        } else {
-          // 品牌
-          this.brandList = response;
-        }
-      });
-    },
-
-    // 根据公司ID获取所属科目
-    // getPurSelectSubjectList() {
-    //   // 获取数据
-    //   getApplySubject({ compId: this.companyId, subjectType: "0" }).then(response => {
-    //     this.subjectList = response.data;
-    //   });
-    // },
-
-    // #endregion
-
-    // #region 方法
-
-    // 删除采购明细列表
-    deletePurList (index, i) {
-      this.$confirm(this.$t('message.isdelete'), this.$t('message.warn'), {
-        confirmButtonText: this.$t('message.confirm'),
-        cancelButtonText: this.$t('message.cancel'),
-        type: 'warning'
-      })
-        .then(async () => {
-          if (this.deviceList[index].partList[i].id.length > 0) {
-            delApplTempOther({
-              id: this.deviceList[index].partList[i].id
-            }).toPromise()
-              .then(response => {
-                this.deviceList[index].partList.splice(i, 1);
-
-                if (this.deviceList[index].partList.length === 0) {
-                  this.deviceList.splice(index, 1);
-                }
-                EventBus.$emit('success', this.$t('message.message1'))
-              })
-              .catch(() => {
-                EventBus.$emit('error', this.$t('message.message2'))
-              });
-          } else {
-            this.deviceList[index].partList.splice(i, 1);
-
-            if (this.deviceList[index].partList.length === 0) {
-              this.deviceList.splice(index, 1);
-            }
-            EventBus.$emit('success', this.$t('message.message1'))
-          }
-        })
-        .catch(err => {
-          console.error(err);
-        });
-    },
-    // 查看采购历史
-    findHisList (index, i) {
-      try {
-        this.$refs.purHistory.dialogFormVisible = true;
-        this.$refs.purHistory.deviceRow = this.deviceList[index];
-        this.$refs.purHistory.partRow = this.deviceList[index].partList[i];
-        this.$refs.purHistory.getlistbyWhere();
-      } catch (error) {
-        console.log(error);
-      }
-    },
-    checkedOper (index) {
-      // if (this.deviceList[index].checked) {
-      for (var i = 0; i < this.deviceList[index].partList.length; i++) {
-        this.deviceList[index].partList[i].checked = this.deviceList[index].checked;
-      }
-      // }
-    },
-
-    // 备件操作处理
-    sonCheckedOper (index, i) {
-      if (this.deviceList[index].partList[i].checked) {
-        this.deviceList[index].checked = true;
-      } else {
-        let isCheck = false;
-        for (let h = 0; h < this.deviceList[index].partList.length; h++) {
-          if (this.deviceList[index].partList[h].checked) {
-            isCheck = true;
-            break;
-          }
-        }
-
-        this.deviceList[index].checked = isCheck;
-      }
-    }
-    // #endregion
-  }
-};
-</script>
-<style lang="scss" scoped>
-.col-edit-title {
-  line-height: 27px;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  -webkit-box-orient: vertical;
-}
-.myDialog {
-  // height: 500px;
-  overflow: auto;
-}
-.bg-purple-dark {
-  background: #e2edfa;
-  text-align: left;
-}
-.bg-purple {
-  line-height: 40px;
-  background: #eeeeee;
-  font-size: 13px;
-  text-align: left;
-  padding-left: 5px;
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-.purDiv {
-  .el-input__inner {
-    padding: 0 5px;
-    height: 32px !important;
-    line-height: 32px !important;
-  }
-  .el-row {
-    margin-bottom: 0px;
-    .el-checkbox__input {
-      margin-left: 0.7em;
-      display: block;
-      line-height: 34px;
-    }
-  }
-  .div-collapse {
-    border-bottom: 1px solid #ccc !important;
-    .el-collapse-item__content {
-      padding-bottom: 0;
-      background-color: #fff;
-    }
-    .el-collapse-item__header {
-      background-color: #e2edfa;
-      border-top: 1px solid #c2defb;
-      border-bottom: 1px solid #c2defb;
-      height: 37px;
-      line-height: 35px;
-    }
-  }
-  .purspappl-details {
-    line-height: 9px;
-    // border-bottom: 1px solid #ccc !important;
-  }
-}
-.row-bg {
-  background: #f6f6f6;
-  font-size: 13px;
-  text-align: center;
-  background-color: #f9fafc;
-}
-.el-collapse-item__header {
-  background-color: #e2edfa;
-}
-.purspappl-details {
-  // line-height: 40px;
-  // border-bottom: 1px solid #ccc !important;
-  // &:last-child {
-  //   border-bottom: 0px solid #ccc !important;
-  // }
-}
-.el-row {
-  text-align: center;
-}
-.col-edit {
-  text-align: left;
-  .col-edit-cascader {
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-}
-.pur-input {
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 27px;
-    word-wrap: break-word;
-    word-break: break-all;
-    overflow: hidden;
-  }
-}
-.div-collapse {
-  .el-collapse-item__content {
-    padding-bottom: 0;
-  }
-}
-.add {
-  position: absolute;
-  right: 60px;
-  z-index: 999;
-}
-.col-edit-title {
-  text-align: left;
-}
-.el-collapse-item__content {
-  padding-bottom: 0;
-}
-
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .bg-purple-dark {
-    .el-input__inner {
-      background-color: #e2edfa !important;
-      border: 0;
-    }
-  }
-  .is-disabled {
-    .el-cascader__label {
-      color: #303133;
-    }
-  }
-  .el-input__suffix {
-    display: none;
-  }
-  .col-edit {
-    .col-edit-input {
-      .is-disabled {
-        .el-input__inner:hover {
-          background-color: #fff !important;
-          border: 0;
-        }
-        .el-input__inner {
-          background-color: #fff !important;
-          border: 0;
-        }
-      }
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  // height: auto;
-  // height: fit-content;
-  // line-height: inherit;
-  padding: 0 2px;
-  margin: auto;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  /deep/.el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000;
-    cursor: text;
-    padding: 0;
-    text-align: center;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-</style>

+ 0 - 628
src/views/procurement/procurementMap/component/purQuotesDetails.vue

@@ -1,628 +0,0 @@
-<!-- 组件-海图报价明细 -->
-<!--  2019年7月19日18:20:53 by jlx-->
-
-<template>
-  <div style="margin-top:10px">
-    <ws-class-table :data="deviceList"
-                    childrenKey="partList"
-                    :check="false"
-                    :row-class-name="tableRowClassName">
-      <template v-slot:group-header="{group, groupIndex}">
-        <ws-row style="width:100%">
-          <ws-col :span="1">
-            <div class="bg-purple-dark"
-                 style="padding-left:10px;">
-              <ws-checkbox v-show="isSplit"
-                           v-model="group.checked"
-                           @change="checkedOper(groupIndex)" />
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgchartdetail.mcTypeName') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="group.mcTypeName">{{ group.mcTypeName }}</span>
-            </div>
-          </ws-col>
-        </ws-row>
-      </template>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.spId')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{data.newIndex}}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.mcName')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.mcName }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.mcNumber')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.mcNumber }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.mapDescription')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.mapDescription }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.publishVersion')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.publishVersion }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.applVersion')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.applVersion }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.reason')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.reason }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.measurementUnitId')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.measurementUnit }}</template>
-      </ws-class-table-col>
-      <!-- <ws-class-table-col :label="$t('cg.cgchartdetail.subjectId')" :span="2">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <div class="col-edit-cascader">
-            <el-cascader v-model="data.subjectId" :options="subjectList" clearable :show-all-levels="false" style="width: 100%;" />
-          </div>
-        </template>
-      </ws-class-table-col>-->
-      <ws-class-table-col :label="$t('cg.cgchartdetail.enquiryQuantity')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">{{ data.applQuantity==null?0:data.applQuantity }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.bargainPrice')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <div v-for="(cop,c) in deviceList[groupIndex].partList"
-               v-if="cop.id == data.id || cop.faId== data.id || cop.enquiryDetailId == data.enquiryDetailId"
-               :key="c"
-               class="col-edit-input">
-            <ws-input v-if="isEdit && editFlag"
-                      :clearable="false"
-                      v-model="cop.unitPrice"
-                      size="mini"
-                      oninput="value=value.replace(/[^\d.]/g,'')"
-                      @change="subTotal"
-                      maxlength="18" />
-            <span v-else
-                  :title="cop.unitPrice">{{ cop.unitPrice }}</span>
-          </div>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.subtotal')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <div v-for="(cop,c) in deviceList[groupIndex].partList"
-               v-if="cop.id == data.id || cop.faId== data.id || cop.enquiryDetailId == data.enquiryDetailId"
-               :key="c"
-               class="col-edit-input">
-            <span style=" padding-left: 5px;">{{ cop.unitPrice==null?'': parseFloat((cop.applQuantity==null?0:cop.applQuantity) * (cop.unitPrice==null?0:cop.unitPrice) ).toFixed(2) }}</span>
-          </div>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.remark')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <ws-input :clearable="false"
-                    v-model="data.remark"
-                    size="mini"
-                    maxlength="200"
-                    v-if="isEdit && editFlag" />
-          <span v-else
-                :title="data.remark">{{ data.remark }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgchartdetail.accessory')">
-        <template v-slot="{data, colIndex, rowIndex, groupIndex}">
-          <div class="col-edit-input"
-               v-for="(cop,c) in deviceList[groupIndex].partList"
-               v-if="cop.id == data.id || cop.faId== data.id || cop.enquiryDetailId == data.enquiryDetailId"
-               :key="c">
-            <showFile :v-model.sync="cop.appendixId"
-                      :editable="isEdit && editFlag"
-                      set-oss-key="procurement.procurementMap.quotesDetail"
-                      table-name="mapQuotesDetail"></showFile>
-          </div>
-        </template>
-      </ws-class-table-col>
-    </ws-class-table>
-  </div>
-</template>
-
-<script>
-import { getTypeList, delApplTempOther } from '@/model/procurement/map';
-import { hasSupply } from '@/model/procurement/basic';
-import showFile from '@/components/Upload/showFile.vue'; // 文件显示
-import { EventBus } from 'base-core-lib'
-
-export default {
-  inject: ['ariDiscount'],
-  components: {
-    showFile
-  },
-  props: ['editFlag'],
-  data () {
-    return {
-      // 选择行下标
-      listRow: {
-        index: 0,
-        i: 0
-      },
-      // dialog显示
-      dialogVisible: false,
-      // 文件数据
-      defaultFileShow: [],
-      // 判断询价采购input显示不显示
-      isEdit: true,
-      // 计量单位结构
-      measurementList: [],
-      // 所属科目结构
-      subjectList: [],
-      // 品牌结构
-      brandList: [],
-
-      isCopyDetailss: true,
-
-      isDelDetailss: true,
-
-      // 采购明细数据结构
-      deviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-      // copy用
-      copyDeviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-
-      deviceListShow: [],
-      isSplit: this.$parent.isSplit,
-
-      // 公司ID
-      companyId: sessionStorage.getItem('ws-pf_compId'),
-
-      // 获取当前语言
-      language: ''
-
-      // // 判断显示隐藏
-      // dialog: false,
-      // cIndex: -1
-    };
-  },
-  // watch: {
-  //   deviceList() {
-  //     this.getPurSelectSubjectList();
-  //   }
-  // },
-  created () {
-    this.language = this.$store.getters.language;
-    // 计量单位
-    this.getPurSelectTypeUnit('MEASUREMENT_UNIT');
-    // 品牌
-    this.getPurSelectBrand('BRAND');
-    this.setIsSupply();
-  },
-  methods: {
-    tableRowClassName (row, groupIndex, rowIndex) {
-      if (row.isCopy) {
-        return 'hidden-row';
-      }
-      return '';
-    },
-    // 是否有供应模块
-    setIsSupply () {
-      hasSupply()
-        .toPromise()
-        .then(succ => {
-          this.isSupply = succ;
-          // this.isSupply = false;
-        })
-      // .catch(err => {
-      //   EventBus.$emit('error', err.message)
-      // });
-    },
-    cascader (val, ci) {
-      if (val) {
-        let vals = null;
-        if (typeof val === 'object') {
-          vals = val;
-        } else {
-          vals = val.split(',');
-        }
-
-        let label = this.cascaderList(this.subjectList, vals[vals.length - 1]);
-        if (typeof label === 'undefined') {
-          label = '';
-        }
-        ci.subjectName = label;
-      }
-    },
-
-    cascaderList (datalist, id) {
-      let label = null;
-      for (const key in datalist) {
-        const e = datalist[key];
-        if (typeof e.children !== 'undefined' && e.children && e.children.length > 0) {
-          label = this.cascaderList(e.children, id);
-        } else {
-          if (e.value === id) {
-            return e.label;
-          }
-        }
-        if (label) {
-          return label;
-        }
-      }
-    },
-    // 添加备件明细列表
-    copyList (index, i, item) {
-      const newItem = Object.assign({}, item);
-      newItem.id = '';
-      newItem.remark = '';
-      newItem.brandId = '';
-      newItem.unitPrice = '';
-      newItem.isCopy = true;
-      newItem.faId = item.id;
-      newItem.appendixId = '';
-      this.deviceList[index].partList.push(newItem);
-    },
-    // 删除明细,注意不能清空
-    deletePurList (index, i, item) {
-      // const iscount = 0;
-      this.deviceList[index].partList.splice(i, 1);
-    },
-    indexMethod (index) {
-      return index * 2;
-    },
-
-    // 小计
-    subTotal (quantity, price) {
-      if (quantity == null) {
-        quantity = 0;
-      }
-      if (price == null) {
-        price = 0;
-      }
-
-      this.subTotals = parseFloat(quantity * price).toFixed();
-      this.ariDiscount();
-    },
-
-    // #region 下拉选择
-
-    // 计量单位
-    getPurSelectTypeUnit (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        this.measurementList = response;
-      });
-    },
-
-    // 品牌
-    getPurSelectBrand (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        // 品牌
-        this.brandList = response;
-      });
-    },
-
-    // 根据公司ID获取所属科目
-    // getPurSelectSubjectList() {
-    //   // 获取数据
-    //   getApplySubject({
-    //     compId: this.companyId,
-    //     subjectType: "0"
-    //   }).then(response => {
-    //     this.subjectList = this.OptionsSubjectList(response.data);
-    //   });
-    // },
-
-    // 所属科目数据处理
-    OptionsSubjectList (list) {
-      const lists = [];
-
-      list.forEach(l => {
-        const c = Object.assign({}, this.defaultParams);
-        c.value = l.id;
-        c.label = l.subjectName;
-        if (l.children != null && l.children.length > 0) {
-          c.children = this.OptionsSubjectList(l.children);
-        }
-        lists.push(c);
-      });
-
-      return lists;
-    },
-
-    // #endregion
-
-    // #region 方法
-
-    // 删除采购明细列表
-    deleteList (index, i) {
-      this.$confirm(this.$t('message.isdelete'), this.$t('message.warn'), {
-        confirmButtonText: this.$t('message.confirm'),
-        cancelButtonText: this.$t('message.cancel'),
-        type: 'warning'
-      })
-        .then(async () => {
-          if (this.deviceList[index].partList[i].id.length > 0) {
-            delApplTempOther({
-              id: this.deviceList[index].partList[i].id
-            }).toPromise()
-              .then(response => {
-                this.deviceList[index].partList.splice(i, 1);
-
-                if (this.deviceList[index].partList.length === 0) {
-                  this.deviceList.splice(index, 1);
-                }
-                EventBus.$emit('success', this.$t('message.message1'))
-              })
-              .catch(() => {
-                EventBus.$emit('error', this.$t('message.message2'))
-              });
-          } else {
-            this.deviceList[index].partList.splice(i, 1);
-
-            if (this.deviceList[index].partList.length === 0) {
-              this.deviceList.splice(index, 1);
-            }
-            EventBus.$emit('success', this.$t('message.message1'))
-          }
-        })
-        .catch(err => {
-          console.error(err);
-        });
-    },
-
-    checkedOper (index) {
-      // if (this.deviceList[index].checked) {
-      for (var i = 0; i < this.deviceList[index].partList.length; i++) {
-        this.deviceList[index].partList[i].checked = this.deviceList[index].checked;
-      }
-      // }
-    },
-
-    // 备件操作处理
-    sonCheckedOper (index, i) {
-      if (this.deviceList[index].partList[i].checked) {
-        this.deviceList[index].checked = true;
-      } else {
-        let isCheck = false;
-        for (let h = 0; h < this.deviceList[index].partList.length; h++) {
-          if (this.deviceList[index].partList[h].checked) {
-            isCheck = true;
-            break;
-          }
-        }
-
-        this.deviceList[index].checked = isCheck;
-      }
-    }
-    // #endregion
-  }
-};
-</script>
-<style lang="scss" scoped>
-/deep/.hidden-row {
-  display: none;
-}
-/deep/.wct--content-group--list {
-  height: auto;
-}
-.col-edit-title {
-  line-height: 27px;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  -webkit-box-orient: vertical;
-}
-.myDialog {
-  // height: 500px;
-  overflow: auto;
-}
-
-.purDiv {
-  .el-input__inner {
-    padding: 0 5px;
-    height: 32px !important;
-    line-height: 32px !important;
-  }
-  .el-row {
-    margin-bottom: 0px;
-    .el-checkbox__input {
-      margin-left: 0.7em;
-      display: block;
-      line-height: 34px;
-    }
-  }
-  .div-collapse {
-    border-bottom: 1px solid #ccc !important;
-    .el-collapse-item__content {
-      padding-bottom: 0;
-      background-color: #fff;
-    }
-    .el-collapse-item__header {
-      background-color: #e2edfa;
-      border-top: 1px solid #c2defb;
-      border-bottom: 1px solid #c2defb;
-      height: 37px;
-      line-height: 35px;
-    }
-  }
-  .purspappl-details {
-    line-height: 9px;
-    // border-bottom: 1px solid #ccc !important;
-  }
-}
-
-.bg-purple {
-  line-height: 40px;
-  background: #eeeeee;
-  font-size: 13px;
-  text-align: left;
-  padding-left: 5px;
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-
-.crt-main {
-  .select-span {
-    .el-select {
-      width: 60%;
-    }
-  }
-}
-.purDiv .el-input.is-disabled .el-input__inner {
-  background-color: #fff !important;
-  color: #101a29 !important;
-}
-.row-bg {
-  background: #f6f6f6;
-  font-size: 13px;
-  text-align: center;
-  background-color: #f9fafc;
-}
-// .el-collapse-item__header {
-//   background-color: #eee;
-// }
-.purspappl-details {
-  // line-height: 40px;
-  // border-bottom: 1px solid #ccc !important;
-  &:last-child {
-    // border-bottom: 0px solid #ccc !important;
-  }
-}
-.el-row {
-  text-align: center;
-}
-.col-edit {
-  text-align: left;
-  .col-edit-cascader {
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-}
-.pur-input {
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 27px;
-    word-wrap: break-word;
-    word-break: break-all;
-    overflow: hidden;
-  }
-}
-.div-collapse .el-collapse-item__content {
-  padding-bottom: 0;
-}
-.add {
-  position: absolute;
-  right: 60px;
-  z-index: 999;
-}
-.col-edit-title {
-  text-align: left;
-}
-.el-dropdown-link {
-  cursor: pointer;
-}
-.el-icon-arrow-down {
-  font-size: 12px;
-}
-button {
-  position: relative;
-}
-.button-list {
-  position: absolute;
-  right: 20px;
-  top: 20px;
-  z-index: 10000000;
-  width: 100px;
-  height: 100px;
-  border: 1px solid red;
-  background-color: #fff;
-}
-
-.el-select-dropdown {
-  max-width: 20px;
-}
-.el-select-dropdown__item {
-  // display: inline-block;
-}
-.el-select-dropdown__item span {
-  min-width: 205px;
-  display: inline-block;
-}
-.el-collapse-item__content {
-  padding-bottom: 0;
-}
-
-// 控制select为只读的时候显示样式
-.hide-select {
-  .el-input__inner {
-    background-color: #fff !important;
-    border: 0;
-    color: #303133;
-  }
-  .el-input__suffix {
-    .el-input__suffix-inner {
-      display: none !important;
-    }
-  }
-}
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .col-edit {
-    .col-edit-input {
-      .is-disabled {
-        .el-input__inner:hover {
-          background-color: #fff !important;
-          border: 0;
-        }
-        .el-input__inner {
-          background-color: #fff !important;
-          border: 0;
-        }
-      }
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 10px !important;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  /deep/.el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000;
-    cursor: text;
-    padding: 0;
-    text-align: center;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-</style>
-

+ 0 - 551
src/views/procurement/procurementMap/component/supplierInfo.vue

@@ -1,551 +0,0 @@
-<template>
-  <div class="el-table-body">
-    <base-card :title="$t('cg.supplier.supplierInfo')">
-      <template slot="buttons">
-        <div v-show="isAddSupplier"
-             class="pointer"
-             @click.stop="addSupplier">
-          <i class="el-icon-circle-plus-outline" />
-          <span style="font-size: 13px;">{{ $t('common.addSupplier') }}</span>
-        </div>
-      </template>
-      <ws-normal-table :data="enquiryVendorList"
-                       stripe
-                       border
-                       fit
-                       highlight-current-row
-                       style="width: 100%;"
-                       :class="isEdit?'purspappl-details':'purspappl-details hide-sel'">
-        <ws-table-column type="index"
-                         :label="$t('cg.supplier.id')"
-                         width="50"
-                         align="center" />
-        <ws-table-column :label="$t('cg.supplier.supplier')"
-                         width="330px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.vendorName }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.remark')"
-                         width="300px"
-                         align="center">
-          <template slot-scope="scope">
-            <el-input v-if="isEdit"
-                      v-model="scope.row.remark"
-                      :placeholder="$t('common.input')" />
-            <span v-else>{{ scope.row.remark }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.totalPrice')"
-                         min-width="100px"
-                         align="center">
-          <template slot-scope="scope">
-            <span v-if="scope.row.afterDiscountLower">{{ scope.row.afterDiscountLower + (getLanguage == 'en'?scope.row.currencyNameEn: scope.row.currencyName) }}</span>
-            <span v-else>{{ '--' }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('common.status')"
-                         min-width="100px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.status }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('common.operate')"
-                         min-width="80px"
-                         align="center">
-          <template slot-scope="scope">
-            <div class="operate">
-              <ws-checkbox :disabled="scope.row.status=='已报价' || scope.row.status=='等待再次报价'"
-                           v-show="isCheck"
-                           v-model="scope.row.checked" />
-              <!-- 改造删除按钮 v-show="isDelete"-->
-              <i v-show="isDelete"
-                 class="iconfont iconshanchu1"
-                 @click="handleDelete(scope.$index, scope.row)"
-                 style="font-size:19px" />
-
-            </div>
-          </template>
-        </ws-table-column>
-      </ws-normal-table>
-    </base-card>
-    <!-- 弹出页面-显示供应商 -->
-    <WinseaContentModal v-model='dialogFormVisible'
-                        :title="$t('common.addSupplier')">
-      <!-- 按钮组件和过滤 -->
-      <div class="supplierDialogHead">
-        <div class="supplierDialogHead-select">
-          <!-- 服务商下拉 -->
-          <span>{{$t('common.BusinessCategoryOther')}}</span>
-          <el-select v-model="listQuery.parameterId"
-                     :placeholder="$t('common.selected')"
-                     @change="supplierChange">
-            <el-option v-for="item in supplierList"
-                       :key="item.parameterId"
-                       :label="item.parameterValue"
-                       :value="item.parameterId" />
-          </el-select>
-        </div>
-        <div>
-          <ws-input :clearable="false"
-                    v-model="listQuery.enquiryCondition"
-                    :placeholder="$t('cg.querytitleSupplier')"
-                    style="width:300px; margin-bottom: 10px;"
-                    @keyup.enter.native="handleFilter">
-            <ws-button type="primary"
-                       slot="suffix"
-                       class="el-icon-search"
-                       @click="handleFilter" />
-          </ws-input>
-        </div>
-      </div>
-      <!-- 按钮组件和过滤 -->
-      <ws-normal-table ref="ser"
-                       :data="purSpEnquiryVendorList"
-                       border
-                       fit
-                       highlight-current-row
-                       style="width: 100%;"
-                       :span-method="objectSpanMethod"
-                       @select="onTableSelect"
-                       @sort-change="sortChange">
-        <!-- <ws-table-column :selectable="selectable"
-                         type="selection"
-                         width="55" /> -->
-        <ws-table-column type="index"
-                         :label="$t('cg.supplier.id')"
-                         width="50"
-                         align="center" />
-        <ws-table-column :label="$t('cg.supplier.supplier')"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.vendorName }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.linkMan')"
-                         width="150px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.linkMan }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.mobileNumber')"
-                         min-width="170px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.mobileNumber }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.emailAddress')"
-                         min-width="170px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.emailAddress }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.address')"
-                         min-width="170px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.address }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('common.operate')"
-                         min-width="100px"
-                         align="center">
-          <template slot-scope="scope">
-            <ws-checkbox v-model="scope.row.checkMark"
-                         :disabled="scope.row.disabled"
-                         @change="changeChoose(scope)" />
-          </template>
-        </ws-table-column>
-      </ws-normal-table>
-      <!-- 列表-页码 -->
-
-      <pagination v-show="total>0"
-                  :total="total"
-                  :page.sync="listQuery.currentPage"
-                  :limit.sync="listQuery.pageSize"
-                  @pagination="getSupplier" />
-      <!-- 列表-页码 -->
-      <div slot="footer"
-           class="dialog-footer">
-        <ws-button @click="dialogFormVisible = false">{{ $t('button.cancel') }}</ws-button>
-        <ws-button type="primary"
-                   @click="confirm">{{ $t('button.confirm') }}</ws-button>
-      </div>
-    </WinseaContentModal>
-    <!-- 弹出页面-新增修改-->
-  </div>
-</template>
-
-<script>
-import { updateEnquiryVendor } from '@/model/procurement/spare'
-import { delEnquiryVendor, GetEnquiryVendorPage } from '@/model/procurement/map';
-// import { applStatus } from '@/viewsjs/procurement/procurementMap/component/purApplStatus';
-import Pagination from '@/components/Pagination';
-import WsCollapse from '@/components/WsCollapse';
-import { getServType } from '@/model/serviceProvider'
-export default {
-  components: {
-    Pagination,
-    WsCollapse
-  },
-  props: ['isAddSupplier', 'addSupplier'],
-  data () {
-    return {
-      supplierList: [],
-      dialogFormVisible: false,
-      // 添供货商input是否显示、修改
-      isEdit: false,
-      // 查询条件
-      listQuery: {
-        compId: sessionStorage.getItem('ws-pf_compId'), // 公司ID
-        currentPage: 1, // 当前页码
-        pageSize: 10, // 一页记录数
-        enquiryCondition: ''
-      },
-      isCheck: false,
-
-      isDelete: false,
-
-      // 备件询价选取的供应商
-      enquiryVendorList: [],
-
-      // 查询总条数
-      total: '0',
-      // 供应商表
-      purSpEnquiryVendorList: [],
-      deletItem: []
-    };
-  },
-  computed: {
-    getLanguage () {
-      return this.$store.state.app.language
-    }
-  },
-  created () {
-    this.getSupplierResults()
-  },
-  mounted () {
-    // this.getSupplier()
-  },
-  methods: {
-    closeDialog () {
-      this.listQuery.parameterId = ''
-    },
-    supplierChange (val) {
-      const id = this.supplierList.find(item => item.parameterId === val).parameterKey
-      GetEnquiryVendorPage({
-        compId: this.listQuery.compId, // 公司ID
-        searchKeyword: this.listQuery.enquiryCondition,
-        currentPage: this.listQuery.currentPage, // 当前页码
-        pageSize: this.listQuery.pageSize, // 一页记录数
-        serviceTypeId: 3,
-        subcontractorFlag: 1,
-        // enquiryId: this.$route.query.enquiryId,
-        servicerTypeId: id
-      }).then(response => {
-        this.purSpEnquiryVendorList = response.data.records
-        this.total = response.data.total;
-        this.listQuery.currentPage = response.data.current;
-      })
-
-    },
-    // 新增服务商的 select
-    getSupplierResults () {
-      let typeParam = {
-        constCode: 'SERVICER_TYPE',
-        compId: sessionStorage.getItem('ws-pf_compId')
-      }
-      getServType(typeParam).toPromise().then(response => {
-        this.supplierList = response
-        this.supplierList.unshift({
-          parameterKey: '',
-          parameterValue: '全部类型',
-          parameterValueEn: 'All types of'
-        })
-      })
-    },
-    selectable (row, index) {
-      let res = true;
-      let chenks = this.enquiryVendorList;
-      chenks.forEach((value2, index2) => {
-        if (row.vendorId === value2.vendorId) {
-          if (value2.id) {
-            res = false;
-          } else {
-            res = true;
-          }
-        }
-      });
-      return res;
-    },
-    deleteButtenShowType (num) {
-      let returnVal = true;
-      if (num == null || num.length == 0) {
-        returnVal = true;
-      } else {
-        returnVal = false;
-      }
-
-      return returnVal;
-    },
-    // 获取供应商数据
-    getSupplier () {
-      this.total = 0;
-      GetEnquiryVendorPage({
-        compId: this.listQuery.compId, // 公司ID
-        searchKeyword: this.listQuery.enquiryCondition,
-        currentPage: this.listQuery.currentPage, // 当前页码
-        pageSize: this.listQuery.pageSize, // 一页记录数
-        serviceTypeId: 3,
-        subcontractorFlag: 1,
-        enquiryId: this.$route.query.enquiryId,
-      }).toPromise().then(response => {
-        for (let i of response.records) {
-          if (i.checkMark) {
-            i.disabled = true
-            for (let k of response.records) {
-              if (k.vendorName == i.vendorName && k.linkMan !== i.linkMan) {
-                this.$set(k, 'disabled', true)
-              }
-            }
-          }
-        }
-        this.purSpEnquiryVendorList = response.records;
-        this.total = response.total;
-        this.listQuery.currentPage = response.current;
-        // 初始化选择
-        this.purSpEnquiryVendorList.forEach((value, index) => {
-          this.enquiryVendorList.forEach((value2, index2) => {
-            if (value.vendorId === value2.vendorId) {
-              this.$nextTick(() => {
-                this.$refs['ser'].toggleRowSelection(value, true);
-              });
-            }
-          });
-        });
-      });
-    },
-    // 删除供应商
-    handleDelete (index, row) {
-      this.$confirm(this.$t('message.isdelete'), this.$t('message.warn'), {
-        confirmButtonText: this.$t('message.confirm'),
-        cancelButtonText: this.$t('message.cancel'),
-        type: 'warning'
-      })
-        .then(async () => {
-          if (row.id.length > 0) {
-            await delEnquiryVendor({
-              id: row.id
-            }).toPromise().then(response => {
-              this.enquiryVendorList.splice(index, 1);
-            });
-          } else {
-            this.enquiryVendorList.splice(index, 1);
-          }
-        })
-        .catch(err => {
-          console.error(err);
-        });
-    },
-    // 合并单元格
-    objectSpanMethod ({ row, column, rowIndex, columnIndex }, _index) {
-      if (columnIndex === 1) {
-        let rowsspan = 0
-        let i = this.purSpEnquiryVendorList
-        if (rowIndex === 0) {
-          rowsspan = i.filter(
-            item => item.vendorName === row.vendorName
-          ).length
-        } else {
-          let vendorName = i[rowIndex - 1].vendorName
-          if (vendorName !== row.vendorName) {
-            rowsspan = i.filter(
-              item => item.vendorName === row.vendorName
-            ).length
-          }
-        }
-        return {
-          rowspan: rowsspan,
-          colspan: rowsspan > 0 ? 1 : 0
-        }
-      }
-    },
-    changeChoose (scope) {
-      if (scope.row.checkMark) {
-        for (let k of this.purSpEnquiryVendorList) {
-          if (k.vendorName == scope.row.vendorName && k.linkMan !== scope.row.linkMan) {
-            this.$set(k, 'checkMark', false)
-          }
-        }
-      }
-    },
-
-    // 确定选中供应商
-    confirm () {
-      this.purSpEnquiryVendorList.forEach(x => {
-        let isRepetition = false
-        this.enquiryVendorList.filter(function (number) {
-          if (number.vendorName === x.vendorName) {
-            isRepetition = true
-          }
-        })
-
-        if (!isRepetition && x.checkMark) {
-          const s = {
-            id: '',
-            vendorId: x.vendorId,
-            vendorName: x.vendorName,
-            linkName: x.linkName,
-            linkPhone: x.linkPhone,
-            remark: '',
-            afterDiscountLower: '',
-            status: ''
-          }
-          this.enquiryVendorList.push(s)
-        }
-      })
-      updateEnquiryVendor({
-        enquiryId: this.$route.query.enquiryId,
-        vendorList: this.enquiryVendorList
-      }).toPromise().then(response => {
-        this.enquiryVendorList = response
-        this.dialogFormVisible = false
-      })
-      // let selectId = this.enquiryVendorList.map(item => item.vendorId);
-      // let chackItem = this.multipleSelection.filter((number) => selectId.indexOf(number.vendorId) === -1);
-      // chackItem = chackItem.map(item => {
-      //   return {
-      //     id: '',
-      //     vendorId: item.vendorId,
-      //     vendorName: item.vendorName,
-      //     remark: '',
-      //     afterDiscountLower: '',
-      //     status: '',
-      //     checked: true
-      //   }
-      // })
-      // this.enquiryVendorList = [...this.enquiryVendorList, ...chackItem]
-      // let delateItemId = this.deletItem.map(item => item.vendorId);
-      // let chackDeItem = this.enquiryVendorList.filter((number) => delateItemId.indexOf(number.vendorId) > -1);
-      // let delIds = chackDeItem.map(item => item.vendorId);
-      // this.enquiryVendorList = this.enquiryVendorList.filter((number) => delIds.indexOf(number.vendorId) === -1)
-      // this.dialogFormVisible = false;
-    },
-
-    // 判断当前行是否被选中
-    onTableSelect (rows, row) {
-      const selected = rows.length && rows.indexOf(row) !== -1
-      if (!selected) {
-        if (this.deletItem.length === 0) {
-          this.deletItem.push(row)
-        } else if (this.deletItem.filter(item => item.vendorId !== row.vendorId).length > 0) {
-          this.deletItem.push(row)
-        }
-      } else {
-        this.deletItem = this.deletItem.filter(item => item.vendorId !== row.vendorId)
-      }
-    },
-
-    // 过滤条件
-    handleFilter () {
-      this.getSupplier();
-    },
-
-    // 排序
-    sortChange (column) {
-      this.page.orderColunm = column.prop;
-      this.page.order = column.order;
-      this.getSupplier();
-    }
-  }
-};
-</script>
-
-<style lang="scss" scoped>
-.operate {
-  display: flex;
-  justify-content: space-around;
-  align-items: center;
-}
-/deep/.el-input__suffix {
-  right: 0px;
-}
-.el-table-body {
-  .el-table__body-wrapper {
-    min-height: auto;
-  }
-  .el-input--medium {
-    padding: 0;
-  }
-  .el-dialog__body {
-    padding-top: 10px;
-  }
-}
-.dialog-Vendor {
-  margin-top: 10px;
-}
-el-table {
-  td {
-    background-color: #f5f7fa;
-  }
-}
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .hover-row {
-    background-color: #ffffff;
-  }
-  .el-table {
-    .cell {
-      background-color: #ffffff;
-    }
-  }
-  .bg-purple-dark {
-    .el-input__inner {
-      background-color: #e2edfa !important;
-      border: 0;
-    }
-  }
-  .el-table__body {
-    tr.current-row > td {
-      background-color: #e8f0fd;
-    }
-  }
-  .el-table--enable-row-hover {
-    .el-table__body tr:hover {
-      td {
-        background-color: #f5f7fa !important;
-        .el-table {
-          .el-input__inner {
-            height: 32px;
-            background-color: #f5f7fa !important;
-            line-height: 32px;
-            border: 0px;
-          }
-        }
-      }
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-.supplierDialogHead {
-  text-align: right;
-  display: flex;
-  justify-content: flex-end;
-  .supplierDialogHead-select {
-    margin-right: 10px;
-  }
-}
-</style>
-

+ 0 - 356
src/views/procurement/procurementMap/enquiryDetail.vue

@@ -1,356 +0,0 @@
-<!--海图-备询价详情-->
-<!--2019年6月5日 15:37:39 by zw-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <!-- 按钮组件 -->
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <OperationalHistory :bill-no="$t('cg.cgsparedetail.enquiryno') + $t('common.colon') + enquiryInfo.enquiryNo"
-                              :message="getLanguage == 'en'?enquiryInfo.statusNameEn:enquiryInfo.statusName"
-                              :set-id="enquiryId"
-                              set-type="enquiry" />
-        </template>
-        <template slot="right">
-          <ws-button v-if="buttonIsShow.isSend"
-                     type="primary"
-                     @click="approve(1)"
-                     v-hasPermission="'procurement.spareMapper.enquiryDetailMap.save'">{{ $t('button.send') }}</ws-button>
-          <!-- <ws-button v-if="buttonIsShow.isAgainAnInquiry" @click="approve(3)" v-hasPermission="'procurement.spareMapper.enquiryDetailMap.againAnInquiry'">{{ $t('button.againAnInquiry') }}</ws-button> -->
-          <ws-button v-if="buttonIsShow.isSave"
-                     v-hasPermission="'procurement.spareMapper.enquiryDetailMap.save'"
-                     @click="save('')">{{ $t('button.save') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isConfirmsplitbills"
-                     type="primary"
-                     @click="splitEnquiryBills(1)"
-                     v-hasPermission="'procurement.spareMapper.enquiryDetailMap.confirmsplitbills'">{{ $t('button.confirmsplitbills') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isCancelsplitbills"
-                     @click="splitEnquiryBills(0)">{{ $t('button.cancelsplitbills') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isOperMoreCD && splitable"
-                     @click="operMore('cd')">{{ $t('button.splitbills') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isDiscard && buttonIsShow.isOperMoreCD"
-                     v-hasPermission="'procurement.spareMapper.enquiryDetailMap.save'"
-                     @click="operMore('fq')">{{ $t('button.discard') }}</ws-button>
-          <DocRelate-Button :set-show-type="docRelateShow"
-                            :set-form="setForm"
-                            set-page-type="Map" />
-          <ws-button @click="back">{{ $t('button.back') }}</ws-button>
-          <!-- <ws-dropdown v-show="buttonIsShow.isOperMore" @command="operMore">
-        <ws-button>
-          {{ $t('button.moreoperations') }}
-          <i class="el-icon-arrow-down el-icon--right" />
-        </ws-button>
-        <ws-dropdown-menu slot="dropdown">
-          <ws-dropdown-item v-show="buttonIsShow.isOperMoreCD" command="cd">{{ $t('button.splitbills') }}</ws-dropdown-item>
-          <ws-dropdown-item command="dc">{{ $t('button.export') }}</ws-dropdown-item>
-          <ws-dropdown-item v-show="buttonIsShow.isDiscard" command="fq" v-hasPermission="'procurement.sparepartMap.enquiryDetailMap.discard'">{{ $t('button.discard') }}</ws-dropdown-item>
-        </ws-dropdown-menu>
-      </ws-dropdown>-->
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 单据基础信息 -->
-      <base-card :title="$t('cg.applydetails.basicInfo')">
-        <ws-form ref="infoForm"
-                 :model="enquiryInfo"
-                 :rules="rulesEnquiry"
-                 :show-message="false"
-                 :class="isParentEdit?'purspappl-details':'purspappl-details hide-sel'"
-                 :hide-required-asterisk="!isParentEdit">
-          <ws-info-table>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vesselName')">
-              <div class="div-el-form-item">{{ enquiryInfo.vesselName }}</div>
-            </ws-form-item>
-
-            <!-- <ws-form-item
-                    :span="1"
-                    :label="$t('cg.applydetails.applSubject')"
-                  >
-                    <el-cascader
-                      v-model="enquiryInfo.subjectId"
-                      :options="applySubjectList"
-                      clearable
-                      :show-all-levels="false"
-                      style="width: 100%;"
-                      :placeholder="isParentEdit?$t('common.selected'):''"
-                      :disabled="isParentEdit?false:true"
-                    />
-                </ws-form-item>-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applTypeName')"
-                          prop="purchaseType">
-              <ws-select v-if="isParentEdit"
-                         v-model="enquiryInfo.applTypeId"
-                         :placeholder="isParentEdit?$t('common.selected'):''">
-                <ws-option v-for="item in applyTypeList"
-                           :key="item.parameterKey"
-                           :label="getLanguage=='en'? item.parameterValueEn:item.parameterValue"
-                           :value="item.parameterKey" />
-              </ws-select>
-              <span v-else>{{getLanguage=='en'?enquiryInfo.purchaseTypeNameEn:enquiryInfo.purchaseTypeName}}</span>
-            </ws-form-item>
-            <ws-form-item :span="2"
-                          :label="$t('cg.applydetails.applPurchase')">
-              <ws-input v-model="enquiryInfo.title"
-                        :placeholder="isParentEdit?$t('common.input'):''"
-                        :disabled="isParentEdit?false:true"
-                        maxlength="250" />
-            </ws-form-item>
-            <ws-form-item :span="2"
-                          :label="$t('cg.applydetails.inquiryEffective')"
-                          prop="inquiryEffective">
-              <ws-date-picker v-model="enquiryInfo.inquiryEffective"
-                              :disabled="isParentEdit?false:true"
-                              type="daterange"
-                              style="width:100%"
-                              range-separator="-"
-                              :start-placeholder="$t('cg.querybdate')"
-                              :picker-options="pickerBeginDateBefore"
-                              format="yyyy-MM-dd"
-                              value-format="yyyy-MM-dd"
-                              :end-placeholder="$t('cg.queryedate')" />
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.openParityWay')"
-                          prop="openParityWay">
-              <ws-select v-model="enquiryInfo.openParityWay"
-                         :placeholder="isParentEdit?$t('common.selected'):''"
-                         :disabled="isParentEdit?false:true">
-                <ws-option v-for="item in openParityWayList"
-                           :key="item.parameterKey"
-                           :label="getLanguage=='en'? item.parameterValueEn:item.parameterValue"
-                           :value="item.parameterKey" />
-              </ws-select>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applExpectedDeliveryLocation')">
-              <ws-input v-model="enquiryInfo.demandPlace"
-                        :placeholder="isParentEdit?$t('common.input'):''"
-                        :disabled="isParentEdit?false:true"
-                        maxlength="100" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.applExpectedDeliveryDate')">
-              <ws-date-picker v-model="enquiryInfo.demandDate"
-                              type="date"
-                              :placeholder="isParentEdit?$t('common.selected'):''"
-                              :disabled="isParentEdit?false:true"
-                              format="yyyy-MM-dd"
-                              value-format="yyyy-MM-dd"
-                              :picker-options="pickerOptions" />
-            </ws-form-item>
-
-            <ws-form-item :span="3"
-                          :label="$t('cg.applydetails.applemark')">
-              <ws-row>
-                <ws-col :span="22">
-                  <ws-input v-model="enquiryInfo.remark"
-                            :title="enquiryInfo.remark"
-                            :placeholder="isParentEdit?$t('common.input'):''"
-                            :disabled="isParentEdit?false:true"
-                            style="width: 100%;margin-top: 4px;"
-                            maxlength="250" />
-                </ws-col>
-                <ws-col :span="2">
-                  <NotesOnHistory :set-show-message="notesOnHistory" />
-                </ws-col>
-              </ws-row>
-            </ws-form-item>
-          </ws-info-table>
-        </ws-form>
-      </base-card>
-      <!-- 单据基础信息 -->
-
-      <!-- 供货商信息 -->
-      <!-- <ws-collapse>
-            <template slot="title">
-                <span
-                  style=" width: 300px;display: block;"
-                >{{ $t('cg.supplier.supplierInfo') }}</span>
-              </div>
-              <div class="add-details">
-                <div v-show="isAddSupplier" class="add-list" @click.stop="addSupplier">
-                  <i class="el-icon-circle-plus-outline" />
-                  <span style="font-size: 13px;color: #A8A8A8;">{{ $t('common.addSupplier') }}</span>
-                </div>
-              </div>
-            </template>
-
-            <supplier-Info ref="supplierInfo" />
-
-        </ws-collapse>-->
-      <supplier-Info ref="supplierInfo"
-                     :init="enquiryInfo"
-                     :is-add-supplier="isAddSupplier"
-                     :add-supplier="addSupplier" />
-      <!-- 供货商信息 -->
-
-      <!-- 采购明细 -->
-      <base-card :title="$t('cg.applydetails.applInfo2')">
-        <pur-EnquiryDetails ref="purEnquiryDetails" />
-      </base-card>
-      <!-- 采购明细 -->
-
-      <!-- 附件上传 -->
-      <base-card :title="$t('upload.basicInfo')"
-                 :isIcon="false">
-        <ws-upload ref="wsUpload"
-                   oss-key="procurement.procurementMap.enquiryDetail"
-                   :comp-id="companyId"
-                   :editable="isParentEdit"
-                   :appendix-ids="enquiryInfo.appendixId"
-                   :vesselId="enquiryInfo.vesselId"
-                   table-name="mapEnquiryInfo"
-                   @onChange="onChange" />
-      </base-card>
-      <!-- 附件上传 -->
-    </template>
-    <!-- 弹出页面-废弃 -->
-    <approve-dialog ref="approveDialog"
-                    @scrapConfirm="scrapConfirm"></approve-dialog>
-    <!-- 弹出页面-废弃 -->
-  </BaseDetailLayout>
-</template>
-
-<script src="../../../viewsjs/procurement/procurementMap/enquiryDetail.js" />
-<style lang="scss" scoped>
-/deep/.el-input.is-disabled .el-input__inner {
-  background-color: #fff;
-  border-color: #fff;
-  color: #000;
-  cursor: text;
-  padding: 0;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    & /deep/.auditFlow-icon {
-      width: auto;
-      margin-right: 10px;
-    }
-    & /deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.col-item-titie {
-  line-height: 18px;
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-.pur-container {
-  .el-collapse {
-    border-top: 0 !important;
-    border-bottom: 0 !important;
-  }
-  .el-collapse-item__header {
-    background-color: #fff;
-    border-bottom: 0;
-  }
-  .el-collapse-item__wrap {
-    border-bottom: 0;
-  }
-}
-.span-money {
-  font-size: 14px;
-  font-weight: 700;
-  margin: 10px 10px;
-  line-height: 40px;
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.label-btitle {
-  margin: 10px 0 10px 18px;
-  font-size: 14px;
-}
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .el-date-editor {
-    i {
-      display: none;
-    }
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-      resize: none;
-    }
-  }
-}
-.el-textarea__inner {
-  resize: none;
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-}
-/deep/.is-disabled {
-  background-color: #fff;
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner,
-  .el-range-input {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-</style>

+ 0 - 1002
src/views/procurement/procurementMap/parityDetail.vue

@@ -1,1002 +0,0 @@
-<!--海图比价单明细-->
-<!--2019年6月3日 18:15:07 by jlx-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <!-- 按钮组件 -->
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <OperationalHistory :bill-no="$t('cg.cgsparedetail.parityno') + $t('common.colon') + parityInfo.enquiryNo"
-                              :message="getLanguage == 'en'?parityInfo.statusNameEn:parityInfo.statusName"
-                              :set-id="enquiryId"
-                              set-type="parity" />
-        </template>
-        <template slot="right">
-          <ws-button v-if="parityInfo.taskId"
-                     type="primary"
-                     @click="toApprove">{{ $t('button.approve') }}</ws-button>
-          <ws-button v-if="parityInfo.taskId"
-                     @click="toReturn">{{ $t('button.noapprove') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isSubmit"
-                     type="primary"
-                     @click="approve(4)"
-                     v-hasPermission="'procurement.spareMapper.spparityMap.submit'">{{ $t('button.submit') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isSave"
-                     @click="approve(5)"
-                     v-hasPermission="'procurement.spareMapper.spparityMap.save'">{{ $t('button.save') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isConfirmsplitbills"
-                     type="primary"
-                     @click="dialogAgainToEnquiry"
-                     v-hasPermission="'procurement.spareMapper.spparityMap.confirmsplitbills'">{{ $t('button.confirmsplitbills') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isAbandon"
-                     @click="operMore('fq')">{{ $t('button.discard') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isCancelsplitbills"
-                     @click="againToEnquiry(0)">{{ $t('button.cancelAgainToEnquiry') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isMadeEnquiry"
-                     @click="operMore('zcxjd')">{{ $t('button.madeEnquiry')}}</ws-button>
-          <!--   <ws-button v-hasPermission="'procurement.spareMapper.spparityMap.export'" @click="operMore('dc')">{{ $t('button.export') }}</ws-button>-->
-          <DocRelate-Button :set-show-type="docRelateShow"
-                            :set-form="setForm"
-                            set-page-type="Map" />
-          <ws-button @click="back">{{ $t('button.back') }}</ws-button>
-          <!-- <ws-dropdown v-show="buttonIsShow.isOperMore" @command="operMore">
-        <ws-button>
-          {{ $t('button.moreoperations') }}
-          <i class="el-icon-arrow-down el-icon--right" />
-        </ws-button>
-        <ws-dropdown-menu slot="dropdown">
-          <ws-dropdown-item v-show="buttonIsShow.isMadeEnquiry" command="zcxjd">{{ $t('button.madeEnquiry') }}</ws-dropdown-item>
-          <el-dropdown-item command="dc" v-hasPermission="'procurement.spareMapper.spparityMap.export'">{{ $t('button.export') }}</el-dropdown-item>
-          <ws-dropdown-item v-show="buttonIsShow.isAbandon" command="fq">{{ $t('button.discard') }}</ws-dropdown-item>
-        </ws-dropdown-menu>
-      </ws-dropdown>-->
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 单据基础信息 -->
-      <base-card :title="$t('cg.applydetails.basicInfo')">
-        <template slot="buttons">
-          <div class="box-btitle">
-            <span style=" font-size:20px; margin-right: 10px;cursor:pointer;">
-              <i class="iconfont icongonghuoshangy"
-                 @click="addQuotes" />
-            </span>
-            <span style="text-align: center;margin-top: -8px;">
-              <i class="el-icon-arrow-left"
-                 style="line-height:40px; font-size:20px; margin-right: 10px;"
-                 @click="allLeft" />
-              <i class="el-icon-arrow-right"
-                 style="line-height:40px; font-size:20px;"
-                 @click="allRight" />
-            </span>
-          </div>
-        </template>
-        <div class="selector map-module"
-             style="width:100%">
-          <div>
-            <div class="container-parity selector">
-              <div class="box-card box-card1 card-float">
-                <div class="box-card-conter-top"
-                     style="height: calc(100% - 40px);">
-                  <!-- 绑定比价单基本信息-->
-                  <div>
-                    <span style="line-height: 30px;font-size: 14px; font-weight: 700; color: #333;">{{ $t('cg.parity.vesselName')+$t('common.colon') }}</span>
-                    <span>{{ parityInfo.vesselName }}</span>
-                  </div>
-                  <div>
-                    <span style="line-height: 30px;font-size: 14px; font-weight: 700; color: #333;">{{ $t('cg.parity.parity')+$t('common.colon') }}</span>
-                    <!--   <ws-input v-model="parityInfo.remark" :disabled="!buttonIsShow.isSubmit" style="margin-left:0;    margin-bottom: 11px;" type="textarea" maxlength="250" />-->
-                    <ws-input v-if="buttonIsShow.isSubmit"
-                              v-model="parityInfo.remark"
-                              style="margin-left:0; margin-bottom: 11px;"
-                              type="textarea"
-                              maxlength="250" />
-                    <div :title="parityInfo.remark"
-                         style="font-size: 12px;margin-bottom: 10px;line-height: 18px;height: 53px;display: -webkit-box;
-                          -webkit-box-orient: vertical;-webkit-line-clamp: 3;overflow: hidden;"
-                         v-else>{{ parityInfo.remark }}</div>
-                  </div>
-                  <ws-input v-model="opermoreSelectValue"
-                            :placeholder="$t('cg.queryMapQueryText')"
-                            @keyup.enter.native="searchValue"
-                            maxlength="100">
-                    <i slot="suffix"
-                       class="el-input__icon el-icon-search"
-                       @click="searchValue" />
-                  </ws-input>
-
-                  <div class="from-div">
-                    <ws-checkbox v-model="minPriceFlag"
-                                 :label="$t('cg.parity.minPrice')"
-                                 @change="setMinPrice" />
-
-                    <ws-button :disabled="!buttonIsShow.isSubmit"
-                               v-if="isParentEdit && !ischecked"
-                               @click="selectMinPrice">{{ $t('cg.parity.selectPrice') }}</ws-button>
-                    <ws-button :disabled="!buttonIsShow.isSubmit"
-                               v-if="isParentEdit && ischecked"
-                               type="warning"
-                               @click="selectMinPrice">{{ $t('cg.parity.selectPrice') }}</ws-button>
-                  </div>
-                </div>
-                <!-- 比价海图单明细信息列标题-->
-                <div class="button-title">
-                  <div style="width:80%"
-                       :title="$t('cg.parity.mapinfo')">{{ $t('cg.parity.mapinfo') }}</div>
-                  <!-- <div style="width:25%">{{ $t('cg.parity.enquiryBrand') }}</div> -->
-                  <div style="width:20%"
-                       :title="$t('cg.parity.quantity')">{{ $t('cg.parity.quantity') }}</div>
-                </div>
-              </div>
-              <div v-for="(item,index) in quotesLists"
-                   v-if="index<3"
-                   :key="index"
-                   class="box-card box-card-right card-float selector">
-                <div v-if="index<2"
-                     v-show="index < quotesLists.length-1"
-                     class="box-zuoyou"
-                     @click="allLeftRightItem(index)">
-                  <img src="../../../assets/assets/zuoyou.png"
-                       alt />
-                </div>
-                <!-- 绑定报价单基本信息-->
-                <div class="box-card-conter-top">
-                  <div class="box-card-title"
-                       @click="onVendor(index)">{{ item.vendorName }}</div>
-                  <div class="box-card-contermap">
-                    <span>{{ $t('cg.parity.quotesMoney') }}{{$t('common.colon')}}</span>
-                    <span>{{ item.afterDiscountLower ? parseFloat(item.afterDiscountLower).toFixed(2):'0.00' }}{{ item.currencyName }}</span>
-                  </div>
-                  <div class="purchase box-card-contermap">
-                    <div class="purchase-left">
-                      <span>{{ $t('cg.parity.purchaseMoney') }}{{$t('common.colon')}}</span>
-                      <span>{{ item.selectMongy }}{{ item.currencyName }}</span>
-                    </div>
-                    <div class="purchase-right">
-                      <span @click="onPurchase(index)">
-                        <i class="iconfont icongouwuchey" />
-                      </span>
-                      <span>{{ item.selectAmount }}</span>
-                    </div>
-                  </div>
-                  <div style="height: 32px;">
-                    <ws-button v-if="item.buttonStatus==0"
-                               :disabled="!buttonIsShow.isSubmit"
-                               :type="item.selectOfDel == $t('cg.parity.selectAll')?'primary':'warning'"
-                               class="select-button"
-                               @click="selectAllPrice(index)">{{ item.selectOfDel }}</ws-button>
-                    <ws-button v-if="item.buttonStatus==1"
-                               :disabled="!buttonIsShow.isSubmit"
-                               type="warning"
-                               class="select-button">{{ $t('cg.parity.selectPending') }}</ws-button>
-
-                    <ws-button v-if="item.buttonStatus==2"
-                               type="info"
-                               class="select-button">{{ $t('cg.parity.selectLose') }}</ws-button>
-                    <ws-button v-if="item.buttonStatus==3"
-                               type="warning"
-                               class="select-button">{{ $t('cg.parity.selection') }}</ws-button>
-                    <ws-button v-if="item.buttonStatus==4"
-                               type="info"
-                               class="select-button">{{ $t('cg.parity.notQuoted') }}</ws-button>
-                  </div>
-
-                  <div class="box-card-close">
-                    <i class="el-icon-close"
-                       @click="removeQuotes(index)" />
-                  </div>
-                </div>
-                <div class="box-card-contermap box-card-currencyMap">
-                  <div>
-                    <span>{{ $t('cg.parity.quoteCurrency') }}{{$t('common.colon')}}</span>
-                    <span>{{ item.currencyName }}</span>
-                  </div>
-                  <div>
-                    <span>{{ $t('cg.parity.transFee') }}{{$t('common.colon')}}</span>
-                    <span>{{ item.transFee }}{{ item.currencyName }}</span>
-                  </div>
-                  <div>
-                    <span>{{ $t('cg.parity.settlementFlag') }}{{$t('common.colon')}}</span>
-                    <span>{{ item.settlementFlagName }}</span>
-                  </div>
-                  <div>
-                    <span>{{ $t('cg.parity.deliveryPeriod') }}{{$t('common.colon')}}</span>
-                    <span>{{ item.deliveryTerm }}</span>
-                  </div>
-                  <div>
-                    <span>{{ $t('cg.parity.deliveryPlace') }}{{$t('common.colon')}}</span>
-                    <span>{{ item.deliveryPlace }}</span>
-                  </div>
-                </div>
-                <!-- 报价单海图明细信息列标题-->
-                <div class="button-title">
-                  <!-- <div style="width:40%">{{ $t('cg.parity.brandName') }}</div> -->
-                  <div style="width:45%"
-                       :title="$t('cg.parity.unitPrice')">{{ $t('cg.parity.unitPrice') }}</div>
-
-                  <div style="width:40%"
-                       :title="$t('cg.parity.bargainPriceGroup')">{{ $t('cg.parity.bargainPriceGroup') }}</div>
-                  <div style="width:15%"
-                       :title="$t('common.operate')">{{ $t('common.operate') }}</div>
-                </div>
-              </div>
-            </div>
-            <div class="list-conter">
-              <div class="div-collapse">
-                <el-collapse v-model="activeName">
-                  <!--  比价单设备明细信息绑定-->
-                  <el-collapse-item v-for="(devItem,devIndex) in parityInfo.deviceList"
-                                    :key="devIndex"
-                                    :name="devIndex">
-                    <template slot="title">
-                      <ws-row :gutter="24"
-                              style="width:100%; margin-bottom: 0;">
-                        <ws-col :span="5">
-                          <div class="bg-purple-dark">
-                            <span style="font-size: 13px;color: #4a89f1;">
-                              {{ $t('cg.cgchartdetail.mcTypeName') }}{{$t('common.colon')}}
-                              {{ devItem.mcTypeName }}
-                            </span>
-                          </div>
-                        </ws-col>
-                      </ws-row>
-                    </template>
-                    <!--  比价单设备下--海图明细信息绑定-->
-                    <div v-for="(ci,spIndex) in devItem.partList"
-                         v-show="ci.isFilter"
-                         :key="spIndex"
-                         class="box-conter selector part-div"
-                         :class="isParentEdit?'purspappl-details':'purspappl-details hide-sel'">
-                      <ws-row :class="ci.againFlag=='0'?'':' hide-row'">
-                        <div class="box-card card-float">
-                          <div style="width:5%; text-align: center; border:0; margin: 20px 0 0 5px;"
-                               class="box-conter-left">
-                            <ws-checkbox v-if="ci.againFlag=='0' && isParentEdit && buttonIsShow.isCancelsplitbills"
-                                         v-model="ci.checked" />
-                          </div>
-                          <div style="width:74%; text-align: left; height: 164px;"
-                               class="box-conter-left box-conter-start">
-                            <div style=" margin-top:8px"
-                                 class="box-conter-felx">
-                              <div class="box-conter-felx-left">
-                                <span>{{ ci.mcName }}{{$t('common.colon')}}</span>
-                              </div>
-                              <div class="box-conter-felx-right">
-                                <i class="iconfont iconlishishujutongji"
-                                   style="color:#87B3F6"
-                                   @click="findHisList(index,devIndex,spIndex)" />
-                                <!-- <svg-icon icon-class="lishi"
-                                          style="  margin-right: 5px;"
-                                          @click="findHisList(index,devIndex,spIndex)" /> -->
-                                <!--  <i class="iconfont iconfujiany" style="  margin-right: 5px;" @click="findHisList(index,devIndex,spIndex)" />-->
-                                <el-tooltip class="item"
-                                            effect="light"
-                                            placement="bottom-start">
-                                  <div slot="content"
-                                       class="text-wrapper">{{ $t('cg.parity.cause')+$t('common.colon') }}{{ ci.remark }}</div>
-                                  <span>
-                                    <i class="iconfont iconB-liuyan1"
-                                       style="color:#87B3F6"
-                                       v-show=" ci.againFlag==1"></i>
-                                    <!-- <svg-icon icon-class="zhushi" v-show=" ci.againFlag==1" /> -->
-                                  </span>
-                                </el-tooltip>
-                              </div>
-                            </div>
-
-                            <div style=" margin-top:0;">
-                              <div class="fl">
-                                {{ $t('cg.parity.measurementUnit') }}{{$t('common.colon')}}
-                              </div>
-                              <div :title="language == 'en'? ci.measurementUnitEn: ci.measurementUnit"
-                                   class="overEl fl"
-                                   style="width: calc( 100% - 50px );">
-                                {{language == 'en'? ci.measurementUnitEn: ci.measurementUnit}}
-                              </div>
-                            </div>
-                            <div>
-                              <div class="fl">
-                                {{ $t('cg.cgchartdetail.mcNumber') }}{{$t('common.colon')}}
-                              </div>
-                              <div :title="language == 'en'? ci.mcNumberEn: ci.mcNumber"
-                                   class="overEl fl"
-                                   style="width: calc( 100% - 50px );">
-                                {{language == 'en'? ci.mcNumberEn: ci.mcNumber}}
-                              </div>
-                            </div>
-                            <div>
-                              <div class="fl">
-                                {{ $t('cg.cgchartdetail.mapDescription') }}{{$t('common.colon')}}
-                              </div>
-                              <div :title="language == 'en'? ci.mapDescriptionEn: ci.mapDescription"
-                                   class="overEl fl"
-                                   style="width: calc( 100% - 50px );">
-                                {{language == 'en'? ci.mapDescriptionEn: ci.mapDescription}}
-                              </div>
-                            </div>
-                            <div>
-                              <div class="fl">
-                                {{ $t('cg.cgchartdetail.applVersion') }}{{$t('common.colon')}}
-                              </div>
-                              <div :title="language == 'en'? ci.applVersionEn: ci.applVersion"
-                                   class="overEl fl"
-                                   style="width: calc( 100% - 75px );">
-                                {{language == 'en'? ci.applVersionEn: ci.applVersion}}
-                              </div>
-                            </div>
-                          </div>
-
-                          <!-- <div
-                              style="width:25%; line-height:164px;  text-align: center;"
-                              class="box-conter-left"
-                            >
-                              <div>{{ language=='en'? ci.enquiryBrandNameEn:ci.enquiryBrandName }}</div>
-                          </div>-->
-                          <div style="width:20%;border:0;"
-                               class="box-conter-left">
-                            <div style="width:auto; padding:0 5px; line-height:164px; text-align: center; ">
-                              <ws-input :clearable="false"
-                                        v-if="buttonIsShow.isApprove"
-                                        v-model="ci.verifyQuantity"
-                                        oninput="value=value.replace(/[^\d.]/g,'')"
-                                        size="mini"
-                                        :readonly="isParentEdit && ci.againFlag=='0'?false:true"
-                                        @change="updateamount(devIndex,spIndex,ci)" />
-                              <span v-else>{{ci.verifyQuantity}}</span>
-                            </div>
-                          </div>
-                        </div>
-                        <!--  比价单设备下--海图--对应的多个报价单;比价单明细,报价单明细 必须以询价单明细ID排序-->
-                        <div v-for="(quotesItem,quotesIndex) in quotesLists"
-                             v-if="quotesIndex < 3"
-                             v-show="quotesItem.deleteFlag == 0"
-                             :key="quotesIndex"
-                             class="box-card box-card-right card-float"
-                             style="height: 165px;">
-                          <div style="height:164px; overflow: hidden;">
-                            <div v-for="(i,indexs) in quotesItem.deviceList[devIndex].partList"
-                                 v-if="ci.enquiryDetailId==i.enquiryDetailId"
-                                 v-show="i.isFilter"
-                                 :key="indexs">
-                              <div v-if="quotesItem.status==13"
-                                   class="quoteClass">
-                                <img src="@/assets/noQuotation.png" />
-                              </div>
-                              <div v-else>
-                                <div :class="i.rowCount>=3?'box-div':i.rowCount==2?'box-div1':'box-div2'"
-                                     :style="{borderBottom:(i.rowCount>1 && (indexs+1 === i.rowCount)?'0px solid #ccc':'')}">
-                                  <!-- <div style="width:40%; " class="box-size">
-                                      <span
-                                        style="min-weith:5em; display: -webkit-inline-box"
-                                      >{{ language=='en'? i.brandNameEn:i.brandName }}</span>
-                                  </div>-->
-                                  <div :style="'color:'+(i.minPriceFlag?'#f5a623':'#333')+';'"
-                                       style="width:45%;"
-                                       class="box-size">{{ i.selectType?i.unitPrice:'&nbsp' }}</div>
-
-                                  <div style="width:40%;"
-                                       class="box-size">{{ i.selectType?i.groupMoney:'&nbsp' }}</div>
-                                  <div style="width:15%;"
-                                       class="box-size"
-                                       :v-show="i.status==14">
-                                    <!--  选择海图对应的一个报价单-->
-                                    <div class="triangle">
-                                      <div class="triangle-div">
-                                        <ws-checkbox v-if="ci.againFlag=='0' && i.selectType"
-                                                     v-model="i.checked"
-                                                     :disabled="!buttonIsShow.isSubmit"
-                                                     @change="selectOnePrice(quotesIndex,devIndex,spIndex,indexs,i.enquiryDetailId)" />
-                                      </div>
-                                    </div>
-                                  </div>
-                                </div>
-                                <div class="messageRemark">
-                                  <span>{{ $t('common.remark')+$t('common.colon') }}{{ i.remark }}</span>
-                                </div>
-                                <div />
-                              </div>
-                            </div>
-                          </div>
-                        </div>
-                      </ws-row>
-                    </div>
-                  </el-collapse-item>
-                </el-collapse>
-              </div>
-            </div>
-          </div>
-
-          <!-- 弹出页面-新增修改 -->
-          <div v-show="fromVisible"
-               class="fromVisible">
-            <div class="fromVisibleList">
-              <ws-row v-for="(item,index) in allQuotesLists"
-                      :key="index">
-                <ws-col :span="4">
-                  <ws-checkbox v-model="item.checked"
-                               @change="refreshList()" />
-                </ws-col>
-                <ws-col :span="16">
-                  <span style="font-size:13px;">{{ item.vendorName }}</span>
-                </ws-col>
-                <ws-col :span="4">
-                  <span>{{ item.selectAmount }}</span>
-                </ws-col>
-              </ws-row>
-            </div>
-            <div slot="footer"
-                 style="text-align:center">
-              <ws-button @click="fromVisible = false">{{ $t('message.cancel') }}</ws-button>
-              <ws-button type="primary"
-                         @click="addQuotesLists">{{ $t('message.confirm') }}</ws-button>
-            </div>
-          </div>
-          <!-- 弹出页面-新增修改 -->
-        </div>
-      </base-card>
-      <!-- 审核流程 -->
-      <audit-history ref="auditHistory"></audit-history>
-      <!-- 审核流程 -->
-    </template>
-    <!-- 弹出页面-审核通过 退回 废弃 -->
-    <approve-dialog ref="approveDialog"
-                    @approveConfirm="approveConfirm"
-                    @returnConfirm="returnConfirm"
-                    @scrapConfirm="scrapConfirm"></approve-dialog>
-    <!-- 弹出页面-审核通过 退回 废弃 -->
-    <!-- 弹出页面-再次做成询价单 -->
-    <WinseaContentModal v-model='dialogAgainToEnquiryFormVisible'
-                        :title="$t('cg.applydetails.againToEnquiry')">
-      <ws-form ref="noApproveForm"
-               :model="taskHanlder"
-               :rules="againToEnquiryRules"
-               label-width="120px"
-               class="demo-Forms"
-               :show-message="false">
-        <ws-form-item :label="$t('cg.applydetails.againToEnquiry')"
-                      prop="reMark">
-          <ws-input v-model="parityInfo.reMark"
-                    type="textarea"
-                    :rows="2"
-                    :placeholder="$t('common.input')"
-                    maxlength="500" />
-        </ws-form-item>
-      </ws-form>
-      <template slot="footer">
-        <ws-button @click="dialogAgainToEnquiryFormVisible = false">{{ $t('message.cancel') }}</ws-button>
-        <ws-button type="primary"
-                   @click="againToEnquiry(1)">{{ $t('message.confirm') }}</ws-button>
-      </template>
-    </WinseaContentModal>
-    <!-- 采购历史 -->
-    <purHistory ref="purHistory"
-                show-type="map" />
-    <!-- 弹出页面-再次做成询价单 -->
-    <WinseaContentModal v-model='dialogTableVisible'
-                        :title="$t('cg.parity.mapinfo')">
-      <ws-normal-table :data="purchaseData">
-        <ws-table-column property="mcName"
-                         :label="$t('cg.cgchartdetail.mcName')"
-                         min-width="200" />
-        <ws-table-column property="mcNumber"
-                         :label="$t('cg.cgchartdetail.mcNumber')"
-                         min-width="100" />
-        <ws-table-column property="publishVersion"
-                         :label="$t('cg.cgchartdetail.publishVersion')"
-                         min-width="100" />
-        <ws-table-column property="applVersion"
-                         :label="$t('cg.cgchartdetail.applVersion')"
-                         min-width="100" />
-        <ws-table-column property="reason"
-                         :label="$t('cg.cgchartdetail.reason')"
-                         min-width="100" />
-        <ws-table-column property="mapDescription"
-                         :label="$t('cg.cgchartdetail.mapDescription')"
-                         min-width="100" />
-      </ws-normal-table>
-    </WinseaContentModal>
-  </BaseDetailLayout>
-</template>
-<script src='../../../viewsjs/procurement/procurementMap/parityDetail.js'></script>
-<style lang="scss" scoped>
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    & /deep/.auditFlow-icon {
-      width: auto;
-      margin-right: 10px;
-    }
-    & /deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-.box-btitle {
-  display: flex;
-  flex-direction: row;
-  justify-content: space-between;
-}
-.collapse-container {
-  .el-collapse-item__header {
-    background-color: #fff;
-    border-bottom: 0;
-  }
-  .el-collapse-item__wrap {
-    border-bottom: 0;
-  }
-  .div-collapse {
-    /deep/.el-collapse-item__header {
-      background-color: #e2edfa;
-    }
-  }
-}
-
-.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-.title-label {
-  padding: 20px 0 10px;
-}
-
-.quoteClass {
-  position: relative;
-  width: 100%;
-  height: 164px;
-  img {
-    position: absolute;
-    left: 50%;
-    top: 50%;
-    margin-left: -30px;
-    margin-top: -24px;
-  }
-}
-.elcheckbox {
-  display: none;
-}
-.from-div {
-  display: flex;
-  flex-flow: row nowrap;
-  justify-content: space-between;
-  margin: 20px 0 21px;
-  line-height: 32px;
-}
-.el-row {
-  margin-bottom: 20px;
-  &:last-child {
-    margin-bottom: 0;
-  }
-}
-.el-col {
-  border-radius: 4px;
-}
-
-.col-purple {
-  background: #f9fafc;
-  border: 1px solid #ccc;
-  margin-right: -1px;
-  padding: 15px;
-  padding-bottom: 0;
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-.grid-content {
-  // border-radius: 4px;
-  min-height: 36px;
-}
-.row-bg {
-  padding: 10px 0;
-  background-color: #f9fafc !important;
-}
-.col-parity {
-  padding-left: 0 !important;
-  padding-right: 0 !important;
-}
-.container-parity {
-  width: 100%;
-}
-.text {
-  font-size: 14px;
-}
-
-.item {
-  padding: 18px 0;
-}
-.box-conter-start {
-  .purspappl-details {
-    line-height: 25px !important;
-  }
-}
-.box-conter-felx {
-  display: flex;
-  width: 100%;
-}
-.box-conter-felx-left {
-  width: 74%;
-  height: 50px;
-  line-height: 25px;
-  text-overflow: -o-ellipsis-lastline;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  line-clamp: 2;
-  -webkit-box-orient: vertical;
-}
-.box-conter-felx-right {
-  width: 26%;
-  text-align: center;
-}
-.box-card {
-  width: calc(25% + 1px);
-  border: 1px solid #ccc;
-  border-bottom: 0;
-  margin-right: -1px;
-  box-sizing: border-box;
-}
-.box-card1 {
-  width: 25%;
-  height: 288px;
-}
-.box-card-conter-top {
-  height: auto;
-  padding: 20px 20px 0;
-  padding-bottom: 0;
-  .el-textarea__inner {
-    width: 100%;
-  }
-  .el-form-item {
-    margin-bottom: 0;
-  }
-}
-.box-card-right {
-  position: relative;
-}
-.box-card-close {
-  position: absolute;
-  top: 5px;
-  right: 10px;
-}
-.box-card-title {
-  font-size: 14px;
-  color: #333;
-  line-height: 16px;
-  margin-bottom: 20px;
-  font-weight: bold;
-}
-
-.card-float {
-  float: left;
-}
-.purchase {
-  display: flex;
-  flex-flow: row nowrap;
-  justify-content: space-between;
-  font-size: 12px;
-  line-height: 25px;
-}
-
-.map-module {
-  .box-card-contermap {
-    font-size: 12px !important;
-    line-height: 19px !important;
-  }
-}
-
-.select-button {
-  display: block;
-  margin: 5px auto;
-}
-.box-card-currencyMap {
-  margin-top: 6px;
-  background-color: #f6f6f6;
-  padding: 7px 20px;
-  font-size: 12px;
-  color: #333;
-}
-.selector:after {
-  content: '.';
-  clear: both;
-  display: block;
-  height: 0;
-  overflow: hidden;
-  visibility: hidden;
-}
-.button-title {
-  background-color: #eee;
-  line-height: 40px;
-  height: 40px;
-  text-align: center;
-}
-.button-title div {
-  float: left;
-  font-size: 12px;
-  font-weight: 600;
-  color: #333;
-}
-
-.list-conter {
-  width: 100%;
-  height: auto;
-}
-.list-conter-title {
-  line-height: 40px;
-  background-color: rgb(194, 194, 194);
-}
-.el-collapse-item__header {
-  background-color: #e2edfa;
-}
-
-.part-div {
-  border-bottom: 1px solid #ccc;
-}
-.box-conter-left {
-  float: left;
-  border-right: 1px solid #ccc;
-  // border-left:1px solid #ccc;
-  margin-right: -1px;
-  margin-left: -1px;
-}
-.box-conter-left .el-input__inner {
-  padding: 0 5px;
-  text-align: center;
-}
-.box-div {
-  line-height: 44px;
-  box-sizing: border-box;
-  display: list-item;
-  border-bottom: 1px solid #ccc;
-}
-.box-div1 {
-  line-height: 67px;
-  box-sizing: border-box;
-  display: list-item;
-  border-bottom: 1px solid #ccc;
-  /deep/.triangle {
-    .triangle-div {
-      .el-checkbox__input {
-        position: absolute;
-        top: -75px;
-        right: 1px;
-      }
-    }
-  }
-}
-.box-div2 {
-  line-height: 134px;
-  box-sizing: border-box;
-  display: list-item;
-  position: relative;
-  .triangle {
-    .triangle-div {
-      .el-checkbox__input {
-        position: absolute;
-        top: -105px;
-        right: 1px;
-      }
-    }
-  }
-}
-.box-size {
-  float: left;
-  font-size: 12px;
-  text-align: center;
-  text-overflow: ellipsis !important;
-  overflow: hidden !important;
-  white-space: nowrap !important;
-  display: block !important;
-
-  .item {
-    padding: 10px 0;
-  }
-}
-/deep/.el-collapse-item__content {
-  padding-bottom: 0;
-}
-.box-card-san {
-  position: absolute;
-  top: 0;
-  right: 0;
-  width: 0;
-  height: 0;
-  border: 30px solid;
-  border-color: #e6ebf5 #e6ebf5 #fff #fff;
-}
-.box-card-san-checked {
-  position: absolute;
-  top: -25px;
-  right: -20px;
-}
-.box-zuoyou {
-  width: 38px;
-  position: absolute;
-  right: -19px;
-  top: 102px;
-  border: 1px solid #ccc;
-  border-radius: 50%;
-  z-index: 1;
-  background: #fff;
-  height: 38px;
-}
-.box-zuoyou img {
-  width: 100%;
-  height: 100%;
-}
-.fromVisible {
-  width: 350px;
-  padding: 10px;
-  position: absolute;
-  top: 176px;
-  height: 274px;
-  right: 4%;
-  z-index: 100;
-  background-color: #fff;
-  border: 1px solid #ccc;
-}
-.fromVisibleList {
-  padding: 10px;
-  height: 190px;
-  overflow: auto;
-}
-
-.el-tooltip__popper[x-placement^='bottom'] {
-  margin-top: 0px;
-}
-.parityClass {
-  .el-form-item__label {
-  }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.label-btitle {
-  margin: 10px 0 10px 18px;
-  font-size: 14px;
-}
-.messageRemark {
-  position: absolute;
-  bottom: 0;
-  left: 0;
-  border-top: 1px solid #ccc;
-  background-color: #fff;
-  line-height: 30px;
-  height: 29px;
-  z-index: 9;
-  width: 100%;
-
-  span {
-    padding-left: 20px;
-  }
-}
-
-.triangle {
-  position: absolute;
-  top: 0;
-  right: 0;
-  width: 43px;
-  height: 43px;
-  .triangle-div {
-    width: 0;
-    height: 0;
-    border-left: 43px solid #fff;
-    /* border-right: 40px solid #f5f7fa; */
-    border-top: 43px solid #f5f7fa;
-    /* border-bottom: 0px solid #fff; */
-    /deep/.el-checkbox__input {
-      position: absolute;
-      top: -105px;
-      right: 1px;
-    }
-  }
-  .el-textarea__inner {
-    resize: none;
-  }
-}
-
-// 控制select为只读的时候显示样式
-.hide-row {
-  background-color: #f6f6f6;
-  .triangle {
-    display: none;
-  }
-  .box-conter-left {
-    .el-input__inner {
-      background-color: #f6f6f6;
-      border: 0;
-    }
-  }
-  .messageRemark {
-    background-color: #f6f6f6;
-  }
-}
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-.el-textarea__inner {
-  resize: none;
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-}
-/deep/.is-disabled {
-  /deep/.el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000;
-    cursor: text;
-    padding: 0;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-.text-overflover {
-  text-overflow: ellipsis !important;
-  overflow: hidden !important;
-  white-space: nowrap !important;
-  display: block !important;
-  line-height: 25px;
-}
-</style>
-

+ 0 - 39
src/views/procurement/procurementMap/procurementMap.vue

@@ -1,39 +0,0 @@
-<template>
-  <div>
-    <keep-alive :include="/.*keepChild.*/">
-      <router-view :key="routerKey" />
-    </keep-alive>
-  </div>
-</template>
-
-<script>
-
-const getNextRouterName = function () {
-  // if (true) {
-  return 'sparepartMap'
-  // }
-}
-
-export default {
-  name: 'procurementMap',
-  computed: {
-    routerKey () {
-      return this.$route.fullPath;
-    }
-  },
-  watch: {
-    $route (to, from) {
-      if (to.name === 'procurementMap') {
-        this.$router.push({ name: getNextRouterName() });
-      }
-    }
-  },
-  beforeRouteEnter (to, from, next) {
-    if (to.name === 'procurementMap') {
-      next({ name: getNextRouterName() });
-    } else {
-      next()
-    }
-  }
-};
-</script>

+ 0 - 489
src/views/procurement/procurementMap/purchasDetail.vue

@@ -1,489 +0,0 @@
-<!--海图-海图采购详情-->
-<!--2019年6月5日 15:37:39 by zw-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <OperationalHistory :bill-no="$t('cg.cgsparedetail.purchasno') + $t('common.colon') + purchasInfo.purchaseNo"
-                              :message="getLanguage == 'en'?purchasInfo.statusNameEn:purchasInfo.statusName"
-                              :set-id="purchaseId"
-                              set-type="purchas" />
-        </template>
-        <template slot="right">
-          <ws-button v-if="buttonIsShow.isSend"
-                     type="primary"
-                     @click="approve(5)">{{ $t('button.sendPurchas') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isApprove"
-                     type="primary"
-                     @click="toApprove">{{ $t('button.approve') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isNoApprove"
-                     @click="toReturn">{{ $t('button.noapprove') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isSubmitQuotationy"
-                     type="primary"
-                     @click="approve(4)"
-                     v-hasPermission="'procurement.spareMapper.purMapPurchasInfo.submitToWorkflow'">{{ $t('button.submit') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isSaveQuotation"
-                     @click="save('')"
-                     v-hasPermission="'procurement.spareMapper.purchasDetailMap.save'">{{ $t('button.save') }}</ws-button>
-          <!--   <ws-button v-hasPermission="'procurement.spareMapper.purchasDetailMap.export'" @click="operMore('dc')">{{ $t('button.export') }}</ws-button>-->
-          <ws-button v-if="buttonIsShow.isDiscard"
-                     @click="operMore('fq')">{{ $t('button.discard') }}</ws-button>
-          <DocRelate-Button :set-show-type="docRelateShow"
-                            :set-form="setForm"
-                            class="ml10"
-                            set-page-type="Map" />
-          <ws-button @click="back">{{ $t('button.back') }}</ws-button>
-          <!-- <ws-dropdown @command="operMore" v-if="buttonIsShow.isDiscard">
-          <ws-button>
-            {{ $t('button.moreoperations') }}
-            <i class="el-icon-arrow-down el-icon--right" />
-          </ws-button>
-          <ws-dropdown-menu slot="dropdown">
-            <el-dropdown-item command="dc" v-hasPermission="'procurement.spareMapper.purchasDetailMap.export'">{{ $t('button.export') }}</el-dropdown-item>
-            <ws-dropdown-item v-show="buttonIsShow.isDiscard" command="fq">{{ $t('button.discard') }}</ws-dropdown-item>
-          </ws-dropdown-menu>
-        </ws-dropdown>-->
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 单据基础信息 -->
-      <base-card :title="$t('cg.applydetails.basicInfo')">
-        <ws-form ref="infoForm"
-                 :model="purchasInfo"
-                 :rules="purRules"
-                 :show-message="false"
-                 :class="isParentEdit?'purspappl-details':'purspappl-details hide-sel'"
-                 :hide-required-asterisk="!isParentEdit">
-          <ws-info-table>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vesselName')">
-              <div class="div-el-form-item">{{ purchasInfo.vesselName }}</div>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vendorName')"
-                          prop="vendorId">
-              <div class="div-el-form-item"
-                   style="width:100%"
-                   v-if="disabledInput==true && purchasInfo.enquiryId === null">
-                <ws-select v-model="purchasInfo.vendorId"
-                           :placeholder="isParentEdit?$t('common.selected'):''"
-                           :disabled="isParentEdit?false:true">
-                  <ws-option v-for="item in vendorNameList"
-                             :key="item.vendorId"
-                             :label="item.vendorName"
-                             :value="item.vendorId" />
-                </ws-select>
-              </div>
-              <div class="div-el-form-item"
-                   v-else>{{ purchasInfo.vendorName }}</div>
-            </ws-form-item>
-            <!-- <ws-form-item
-                    :span="1"
-                    :label="$t('cg.applydetails.applSubject')"
-                  >
-                    <el-cascader
-                      v-model="purchasInfo.subjectId"
-                      :options="applySubjectList"
-                      clearable
-                      :show-all-levels="false"
-                      style="width: 100%;"
-                      :placeholder="isParentEdit?$t('common.selected'):''"
-                      :disabled="isParentEdit?false:true"
-                    />
-                </ws-form-item>-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.supplyPlace')">
-              <ws-input v-model="purchasInfo.supplyPlace"
-                        :placeholder="isParentEdit?$t('common.input'):''"
-                        :disabled="isParentEdit?false:true"
-                        maxlength="100" />
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.contractId')">
-              <ws-select v-if="(purchasInfo.contractId && purchasInfo.contractId.length>0) || isParentEdit"
-                         v-model="purchasInfo.contractId"
-                         clearable
-                         :placeholder="isParentEdit?$t('common.selected'):''"
-                         :disabled="isParentEdit?false:true"
-                         @change="contractChange">
-                <ws-option v-for="item in contractList"
-                           :key="item.contractId"
-                           :label="item.contractTitle"
-                           :value="item.contractId" />
-              </ws-select>
-              <span v-else>{{''}}</span>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.quotesValid')">
-              <ws-input v-model="purchasInfo.quotesValid"
-                        :placeholder="isParentEdit?$t('common.input'):''"
-                        :disabled="isParentEdit?false:true"
-                        maxlength="50" />
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.transFee')">
-              <ws-input v-model="purchasInfo.transFee"
-                        :placeholder="isParentEdit?$t('common.input'):''"
-                        oninput="value=value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
-                        v-number-input.float
-                        :disabled="isParentEdit?false:true"
-                        maxlength="18" />
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.currencyId')"
-                          prop="currencyId"
-                          v-if="purchasInfo.purchaseTypeName === '直接采购'">
-              <div class="div-el-form-item"
-                   style="width:100%">
-                <!-- <ws-select v-model="purchasInfo.currencyId"
-                               :placeholder="isParentEdit ? $t('common.selected') : ''"
-                               :disabled="isParentEdit ? false : true"
-                               @change="selectCurrencyId">
-                      <ws-option v-for="item in currencyList"
-                                 :key="item.parameterKey"
-                                 :label="
-                          language == 'en'
-                            ? item.parameterValueEn
-                            : item.parameterValue
-                        "
-                                 :value="item.parameterKey" />
-                    </ws-select> -->
-                <BaseParameterSelect v-model="purchasInfo.currencyId"
-                                     :typeCode="'CURRENCY'"
-                                     :disabled="isParentEdit ? false : true"
-                                     :placeholder="isParentEdit ? $t('common.selected') : ''"
-                                     @change="selectCurrencyId" />
-              </div>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.currencyId')"
-                          v-if="purchasInfo.purchaseTypeName !== '直接采购'">
-              <div class="div-el-form-item">{{ currencyName }}</div>
-            </ws-form-item>
-            <!-- <ws-form-item :span="1"
-                              :label="$t('cg.applydetails.currencyId')"
-                              prop="currencyId">
-                  <ws-select v-model="purchasInfo.currencyId"
-                             :placeholder="isParentEdit?$t('common.selected'):''"
-                             :disabled="isParentEdit && purchasInfo.enquiryId === null?false:true">
-                    <ws-option v-for="item in currencyList"
-                               :key="item.parameterKey"
-                               :label="language=='en'? item.parameterValueEn:item.parameterValue"
-                               :value="item.parameterKey" />
-                  </ws-select>
-                </ws-form-item>-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.deliveryTerm')"
-                          prop="deliveryTerm">
-              <ws-input v-model="purchasInfo.deliveryTerm"
-                        :placeholder="isParentEdit?$t('common.input'):''"
-                        :disabled="isParentEdit?false:true"
-                        maxlength="18" />
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.settlementFlag')"
-                          prop="settlementFlag">
-              <!-- <ws-select v-model="purchasInfo.settlementFlag"
-                             :placeholder="isParentEdit?$t('common.selected'):''"
-                             :disabled="isParentEdit?false:true">
-                    <ws-option v-for="item in settlementFlagList"
-                               :key="item.parameterKey"
-                               :label="language=='en'? item.parameterValueEn:item.parameterValue"
-                               :value="item.parameterKey" />
-                  </ws-select> -->
-              <BaseParameterSelect v-model="purchasInfo.settlementFlag"
-                                   :placeholder="isParentEdit ? $t('common.selected') : ''"
-                                   :typeCode="'SETTLEMENT_FLAG'"
-                                   :disabled="isParentEdit ? false : true" />
-            </ws-form-item>
-            <!--   <ws-form-item :span="1" :label="$t('cg.applydetails.payTypeFlag')" prop="payTypeFlag">
-                  <ws-select v-model="purchasInfo.payTypeFlag" :placeholder="isParentEdit?$t('common.selected'):''" :disabled="isParentEdit?false:true">
-                    <ws-option v-for="item in payTypeFlagList.filter(value=>value.parameterKey=='2')" :key="item.parameterKey" :label="language=='en'? item.parameterValueEn:item.parameterValue" :value="item.parameterKey" />
-                  </ws-select>
-                </ws-form-item>-->
-
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.deliveryType')"
-                          prop="deliveryType">
-              <ws-input v-model="purchasInfo.deliveryType"
-                        :placeholder="isParentEdit?$t('common.input'):''"
-                        :disabled="isParentEdit?false:true"
-                        maxlength="100" />
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.invoiceFlag')"
-                          prop="invoiceFlag">
-              <!-- <ws-select v-model="purchasInfo.invoiceFlag"
-                             :placeholder="isParentEdit?$t('common.selected'):''"
-                             :disabled="isParentEdit?false:true">
-                    <ws-option v-for="item in invoiceFlagList"
-                               :key="item.parameterKey"
-                               :label="language=='en'? item.parameterValueEn:item.parameterValue"
-                               :value="item.parameterKey" />
-                  </ws-select> -->
-              <BaseParameterSelect v-model="purchasInfo.invoiceFlag"
-                                   :placeholder="isParentEdit ? $t('common.selected') : ''"
-                                   :typeCode="'INVOICE_FLAG'"
-                                   :disabled="isParentEdit ? false : true" />
-            </ws-form-item>
-            <ws-form-item class="none-block"
-                          :span="1"></ws-form-item>
-
-            <ws-form-item :span="2"
-                          :label="$t('cg.applydetails.applemark')">
-              <ws-input :title="purchasInfo.remark"
-                        v-model="purchasInfo.remark"
-                        :placeholder="isParentEdit?$t('common.input'):''"
-                        style="width: 100%;"
-                        :disabled="isParentEdit?false:true"
-                        maxlength="250" />
-            </ws-form-item>
-          </ws-info-table>
-        </ws-form>
-      </base-card>
-      <!-- 单据基础信息 -->
-
-      <!--合同-->
-      <base-card :title="$t('cg.applydetails.purCont')"
-                 v-if="contractContent.contractContent">
-        <div ref="contractContent"
-             class="contractContent"
-             v-html="contractContent.contractContent" />
-      </base-card>
-      <!--合同-->
-
-      <!-- 采购明细 -->
-      <base-card :title="$t('cg.applydetails.applInfo')">
-        <span class="span-money">
-          <span>{{ $t('cg.cgsparedetail.afterDiscountLower')+$t('common.colon') }}</span>
-          <span>{{ purchasInfo.afterDiscountLower }}</span>
-          <span>{{ currencyName }}</span>
-        </span>
-        <span class="span-money"
-              v-if="purchasInfo.currencyId==1">
-          <span>{{ $t('cg.cgsparedetail.afterDiscountUpper')+$t('common.colon') }}</span>
-          <span>{{ purchasInfo.afterDiscountUpper }}</span>
-          <!-- <span>{{ currencyName }}</span> -->
-        </span>
-        <pur-ChassDetails ref="purChassDetails"
-                          :currency-name="currencyName"
-                          :isHasFinance="isHasFinance" />
-      </base-card>
-      <!-- 采购明细 -->
-
-      <!-- 附件上传 -->
-      <base-card :title="$t('upload.basicInfo')"
-                 :isIcon="false">
-        <!-- <upload ref="uploadFile" :auto-upload="false" model-id="ZS" /> -->
-        <ws-upload ref="wsUpload"
-                   oss-key="procurement.procurementMap.purchasDetail"
-                   :comp-id="companyId"
-                   :editable="isParentEdit"
-                   :appendix-ids="purchasInfo.appendixId"
-                   :vesselId="purchasInfo.vesselId"
-                   table-name="mapPurchasInfo"
-                   @onChange="onChange" />
-      </base-card>
-      <!-- 附件上传 -->
-      <!-- 审核流程 -->
-      <audit-history ref="auditHistory"></audit-history>
-      <!-- 审核流程 -->
-    </template>
-    <!-- 弹出页面-审核通过 退回 废弃 -->
-    <approve-dialog ref="approveDialog"
-                    @approveConfirm="approveConfirm"
-                    @returnConfirm="returnConfirm"
-                    @scrapConfirm="scrapConfirm"></approve-dialog>
-    <!-- 弹出页面-审核通过 -->
-    <BaseContentModalScrap v-model="dialogApproveFormVisible"
-                           :title="$t('common.opinion')"
-                           @confirm="approveConfirm" />
-    <!-- 弹出页面-退回 -->
-    <BaseContentModalScrap v-model="dialogNoApproveFormVisible"
-                           :title="$t('common.noPass')"
-                           :isRules="true"
-                           @confirm="returnConfirm" />
-    <!-- 弹出页面-废弃 -->
-    <BaseContentModalScrap v-model="dialogDiscardFormVisible"
-                           :title="$t('common.abandon')"
-                           :isRules="true"
-                           @confirm="scrapConfirm" />
-  </BaseDetailLayout>
-</template>
-<script src="../../../viewsjs/procurement/procurementMap/purChasDetail.js" />
-<style lang="scss" scoped>
-.ws-info-table {
-  .none-block {
-    /deep/.el-form-item__content {
-      border-left: 0px solid #ccc;
-    }
-  }
-}
-/deep/.el-input.is-disabled .el-input__inner {
-  background-color: #fff;
-  border-color: #fff;
-  color: #000;
-  cursor: text;
-  padding: 0;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    & /deep/.auditFlow-icon {
-      width: auto;
-      margin-right: 10px;
-    }
-    & /deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.col-item-titie {
-  line-height: 18px;
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-.mce-tinymce {
-  width: auto !important;
-}
-
-.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-.span-money {
-  font-size: 14px;
-  font-weight: 700;
-  margin: 10px 10px;
-  line-height: 40px;
-}
-section {
-  width: auto;
-  height: auto;
-  border: 1px solid #ccc;
-  position: relative;
-  h3 {
-    text-align: center;
-    font-size: 20px;
-    font-weight: 700;
-    margin: 5px auto;
-  }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.label-btitle {
-  margin: 10px 0 10px 18px;
-  font-size: 14px;
-}
-
-.contractContent {
-  width: 100%;
-  height: 400px;
-  overflow: auto;
-  border: 1px solid #ccc;
-}
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .el-input__suffix {
-    .el-input__suffix-inner {
-      display: none;
-    }
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-.el-textarea__inner {
-  resize: none;
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-/deep/.el-input-number {
-  /deep/.el-input__inner {
-    text-align: left;
-  }
-}
-.ws-info-table {
-  /deep/.is-payment {
-    .el-form-item__label {
-      line-height: 20px;
-      height: 40px;
-      white-space: pre-wrap;
-    }
-  }
-}
-</style>

+ 0 - 421
src/views/procurement/procurementMap/quotesDetail.vue

@@ -1,421 +0,0 @@
-<!--海图-海图报价详情-->
-<!--2019年6月5日 15:37:39 by zw-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <span>{{ $t('cg.cgsparedetail.quotesno') + $t('common.colon') + quotesInfo.quotesNo }}</span>
-          <span class="ml10"
-                v-if="quotesInfo.statusName">{{ $t('common.status') + $t('common.colon') + (getLanguage == 'en'?quotesInfo.statusNameEn:quotesInfo.statusName) }}</span>
-        </template>
-        <template slot="right">
-          <ws-button v-if="buttonIsShow.isAgainQuotation"
-                     type="primary"
-                     @click="approve(1)">{{ $t('button.againQuotation') }}</ws-button>
-          <!-- 再次报价 -->
-          <ws-button v-if="buttonIsShow.isSaveQuotation"
-                     type="primary"
-                     @click="approve(3)"
-                     v-hasPermission="'procurement.spareMapper.quotesDetailMap.saveQuotation'">{{ $t('button.submitQuotation') }}</ws-button>
-          <!-- 保存 -->
-          <ws-button v-if="buttonIsShow.isSaveQuotation"
-                     @click="save('')"
-                     v-hasPermission="'procurement.spareMapper.quotesDetailMap.saveQuotation'">{{ $t('button.saveQuotation') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isConfirmsplitbills"
-                     type="primary"
-                     @click="splitQuotesBills(1)">{{ $t('button.confirmsplitbills') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isCancelsplitbills"
-                     @click="splitQuotesBills(0)">{{ $t('button.cancelsplitbills') }}</ws-button>
-          <el-upload v-if="buttonIsShow.isImportQuotation"
-                     ref="upload"
-                     class="upload-demo ml10"
-                     style="display: inline-block;"
-                     action
-                     multiple
-                     :http-request="uploadSectionFile"
-                     :auto-upload="true"
-                     :show-file-list="false">
-            <ws-button type="primary">{{ $t('button.importQuotation') }}</ws-button>
-          </el-upload>
-          <DocRelate-Button :set-show-type="docRelateShow"
-                            :set-form="setForm"
-                            set-page-type="Map" />
-          <ws-button @click="back">{{ $t('button.back') }}</ws-button>
-          <!-- <el-dropdown v-show="buttonIsShow.isOperMore" @command="operMore">
-        <ws-button>
-          {{ $t('button.moreoperations') }}
-          <i class="el-icon-arrow-down el-icon--right" />
-        </ws-button>
-        <el-dropdown-menu slot="dropdown">
-          <el-dropdown-item command="dc">{{ $t('button.export') }}</el-dropdown-item>
-        </el-dropdown-menu>
-        </el-dropdown>-->
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 单据基础信息 -->
-      <base-card :title="$t('cg.applydetails.basicInfo')">
-        <ws-form ref="infoForm"
-                 :model="quotesInfo"
-                 :rules="rulesQuotes"
-                 :show-message="false"
-                 :class="isParentEdit?'purspappl-details':'purspappl-details hide-sel'"
-                 :hide-required-asterisk="!isParentEdit">
-          <ws-info-table>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.quotesNo')">
-              <div class="div-el-form-item col-item-titie">{{ quotesInfo.quotesNo }}</div>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vendorName')">
-              <div class="div-el-form-item col-item-titie">{{ quotesInfo.vendorName }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vesselName')">
-              <div class="div-el-form-item col-item-titie">{{ quotesInfo.vesselName }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applExpectedDeliveryDate')">
-              <ws-date-picker v-model="quotesInfo.demandDate"
-                              type="date"
-                              :placeholder="isParentEdit?$t('common.selected'):''"
-                              :disabled="isParentEdit?false:true"
-                              format="yyyy-MM-dd"
-                              value-format="yyyy-MM-dd"
-                              :picker-options="pickerOptions" />
-            </ws-form-item>
-            <ws-form-item :span="2"
-                          :label="$t('cg.applydetails.inquiryEffective')">
-              <div style="width: 47%; text-align: center;">{{ quotesInfo.inquiryEffectiveStart }}</div>--
-              <div style="width: 47%; text-align: center;">{{ quotesInfo.inquiryEffectiveEnd }}</div>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applExpectedDeliveryLocation')">
-              <ws-input v-model="quotesInfo.deliveryPlace"
-                        :placeholder="isParentEdit?$t('common.input'):''"
-                        :disabled="isParentEdit?false:true"
-                        maxlength="200" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.quotesValid')">
-              <ws-input v-model="quotesInfo.quotesValid"
-                        :placeholder="isParentEdit?$t('common.input'):''"
-                        :disabled="isParentEdit?false:true"
-                        maxlength="25" />
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.transFee')">
-              <ws-input v-model="quotesInfo.transFee"
-                        :placeholder="isParentEdit?$t('common.input'):''"
-                        :disabled="isParentEdit?false:true"
-                        oninput="value=value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
-                        maxlength="18"
-                        v-number-input.float />
-              <div class="ml10 transFee">
-                <ws-checkbox v-model="quotesInfo.discountFlag"
-                             :disabled="isParentEdit && quotesInfo.editFlag ? false : true"
-                             @change="changeTransfee" />
-                <span style="font-size: 12px">{{$t('cg.applydetails.participationDiscount')}}</span>
-              </div>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.currencyId')"
-                          prop="currencyId">
-              <!-- <ws-select v-model="quotesInfo.currencyId"
-                         :placeholder="isParentEdit?$t('common.selected'):''"
-                         :disabled="isParentEdit?false:true">
-                <ws-option v-for="item in currencyList"
-                           :key="item.parameterKey"
-                           :label="language=='en'? item.parameterValueEn:item.parameterValue"
-                           :value="item.parameterKey" />
-              </ws-select> -->
-              <BaseParameterSelect v-model="quotesInfo.currencyId"
-                                   :typeCode="'CURRENCY'"
-                                   v-if="isParentEdit"
-                                   :placeholder="isParentEdit?$t('common.selected'):''" />
-              <div v-else
-                   class="div-el-form-item">{{ quotesInfo.currencyName }}</div>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.deliveryTerm')"
-                          prop="deliveryTerm">
-              <ws-input v-model="quotesInfo.deliveryTerm"
-                        :placeholder="isParentEdit?$t('common.input'):''"
-                        :disabled="isParentEdit?false:true"
-                        maxlength="25" />
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.settlementFlag')"
-                          prop="settlementFlag">
-              <!-- <ws-select v-model="quotesInfo.settlementFlag"
-                         :placeholder="isParentEdit?$t('common.selected'):''"
-                         :disabled="isParentEdit?false:true">
-                <ws-option v-for="item in settlementFlagList"
-                           :key="item.parameterKey"
-                           :label="language=='en'? item.parameterValueEn:item.parameterValue"
-                           :value="item.parameterKey" />
-              </ws-select> -->
-              <BaseParameterSelect v-model="quotesInfo.settlementFlag"
-                                   :placeholder="isParentEdit?$t('common.selected'):''"
-                                   :typeCode="'SETTLEMENT_FLAG'"
-                                   :disabled="isParentEdit?false:true" />
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.deliveryType')"
-                          prop="deliveryType">
-              <ws-input v-model="quotesInfo.deliveryType"
-                        :placeholder="isParentEdit?$t('common.input'):''"
-                        :disabled="isParentEdit?false:true"
-                        maxlength="25" />
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.invoiceFlag')"
-                          prop="invoiceFlag">
-              <!-- <ws-select v-model="quotesInfo.invoiceFlag"
-                         :placeholder="isParentEdit?$t('common.selected'):''"
-                         :disabled="isParentEdit?false:true">
-                <ws-option v-for="item in invoiceFlagList"
-                           :key="item.parameterKey"
-                           :label="language=='en'? item.parameterValueEn:item.parameterValue"
-                           :value="item.parameterKey" />
-              </ws-select> -->
-              <BaseParameterSelect v-model="quotesInfo.invoiceFlag"
-                                   :placeholder="isParentEdit?$t('common.selected'):''"
-                                   :typeCode="'INVOICE_FLAG'"
-                                   :disabled="isParentEdit?false:true" />
-            </ws-form-item>
-            <ws-form-item :span="2"
-                          :label="$t('cg.applydetails.applemark')">
-              <ws-input v-model="quotesInfo.remark"
-                        :title="quotesInfo.remark"
-                        v-if="isParentEdit"
-                        :placeholder="isParentEdit?$t('common.selected'):''"
-                        :disabled="isParentEdit?false:true"
-                        style="width: 100%;"
-                        maxlength="250" />
-              <template v-else>{{ quotesInfo.remark }}</template>
-            </ws-form-item>
-          </ws-info-table>
-        </ws-form>
-      </base-card>
-      <!-- 单据基础信息 -->
-
-      <!-- 采购明细 -->
-      <base-card :title="$t('cg.applydetails.applInfo')">
-        <span class="span-money">
-          <span>{{ $t('cg.cgsparedetail.quoteAmountLower')+$t('common.colon') }}</span>
-
-          <span>{{ parseFloat( quotesInfo.totalAmountLower||0).toFixed(2) }}</span>
-        </span>
-        <span class="span-money">
-          <span>{{ $t('cg.cgsparedetail.discount')+$t('common.colon') }}</span>
-
-          <ws-input v-if="isParentEdit==true"
-                    v-model="quotesInfo.discount"
-                    :placeholder="$t('common.input')"
-                    style="width:200px"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    @change="ariDiscount"
-                    maxlength="18" />
-          <span v-else>{{ parseFloat( quotesInfo.discount||0).toFixed(2) }}</span>
-        </span>
-        <span class="span-money">
-          <span>{{ $t('cg.cgsparedetail.discountAmountLower')+$t('common.colon') }}</span>
-          <span>{{ parseFloat( quotesInfo.afterDiscountLower||0).toFixed(2) }}</span>
-        </span>
-        <purQuotesDetails ref="purQuotesDetails"
-                          :editFlag="isPermission" />
-      </base-card>
-      <!-- 采购明细 -->
-
-      <!-- 附件上传 -->
-      <base-card :title="$t('upload.basicInfo')"
-                 :isIcon="false">
-        <ws-upload ref="wsUpload"
-                   oss-key="procurement.procurementMap.quotesDetail"
-                   :comp-id="companyId"
-                   :editable="isParentEdit"
-                   :appendix-ids="quotesInfo.appendixId"
-                   :vesselId="quotesInfo.vesselId"
-                   table-name="mapQuotesInfo"
-                   @onChange="onChange" />
-      </base-card>
-      <!-- 附件上传 -->
-    </template>
-    <!-- 弹出页面-废弃 -->
-    <BaseContentModalScrap v-model="dialogDiscardFormVisible"
-                           :title="$t('common.abandon')"
-                           :isRules="true"
-                           @confirm="scrapConfirm" />
-    <!-- 弹出页面-废弃 -->
-  </BaseDetailLayout>
-</template>
-<script src="../../../viewsjs/procurement/procurementMap/quotesDetail.js" />
-<style lang="scss" scoped>
-.auditFlow-box {
-  position: absolute;
-  left: 20px;
-  z-index: 10;
-  height: 50px;
-  line-height: 50px;
-  font-size: 14px;
-  font-weight: normal;
-  color: #333;
-}
-/deep/.el-input.is-disabled .el-input__inner {
-  background-color: #fff;
-  border-color: #fff;
-  color: #000;
-  cursor: text;
-  padding: 0;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  .auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    & /deep/.auditFlow-icon {
-      width: auto;
-      margin-right: 10px;
-    }
-    & /deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.col-item-titie {
-  line-height: 18px;
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-.pur-container {
-  .el-collapse {
-    border-top: 0 !important;
-    border-bottom: 0 !important;
-  }
-  .el-collapse-item__header {
-    background-color: #fff;
-    border-bottom: 0;
-  }
-  .el-collapse-item__wrap {
-    border-bottom: 0;
-  }
-}
-.hideResDepart {
-  .el-row {
-    .el-col:last-child {
-      .el-form-item {
-        border-bottom: 0px !important;
-        border-right: 0px !important;
-      }
-    }
-  }
-}
-.span-money {
-  font-size: 14px;
-  font-weight: 700;
-  margin: 10px 10px;
-  line-height: 40px;
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.label-btitle {
-  margin: 10px 0 10px 18px;
-  font-size: 14px;
-}
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-date-editor {
-    i {
-      display: none;
-    }
-  }
-  .el-date-editor {
-    .el-input--medium {
-      .el-input__inner {
-        margin-left: 5px;
-      }
-    }
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-.el-textarea__inner {
-  resize: none;
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-</style>

+ 0 - 1462
src/views/procurement/procurementMap/sparepartList.vue

@@ -1,1462 +0,0 @@
-<!-- 采购模块 海图采购详细页面-->
-<!--2019年5月20日 11:35:53 by zw-->
-<template>
-  <div class="content">
-    <div style="background-color: #fff;"
-         class="tabs-main sparepart-table">
-      <el-tabs v-model="activeName"
-               type="card"
-               @tab-click="tabClick">
-        <el-tab-pane v-for="item in tabMapOptions"
-                     :key="item.key"
-                     class="overview-main"
-                     :label="getLanguage == 'en' ? item.labelEn : item.label"
-                     :name="item.key">
-          <!-- 采购申请单 -->
-          <TableView v-if="activeName == 'SQ' && item.key == 'SQ'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="left">
-                  <ws-button type="primary"
-                             v-hasPermission="'procurement.spareMapper.purMapApplInfo.submitToEnquiry'"
-                             :disable="checkBtn"
-                             @click="enquiry(1)">{{$t("button.enquiry")}}</ws-button>
-                  <!---->
-                  <ws-button type="primary"
-                             :disable="checkBtn"
-                             v-hasPermission="'procurement.spareMapper.purMapApplInfo.submitToPurchas'"
-                             @click="enquiry(2)">{{ $t("button.directsourcing") }}</ws-button>
-
-                  <!--   v-hasPermission="'procurement.sparepart.directShip'"  -->
-                  <ws-button type="primary"
-                             :disable="checkBtn"
-                             v-hasPermission="'procurement.spareMapper.purMapApplInfo.createInStore'"
-                             @click="enquiry(3)"
-                             v-show="isSupply">
-                    <!-- <ws-button type="primary" @click="enquiry(3)"> -->
-                    {{$t("button.directShip")}}
-                  </ws-button>
-                </template>
-                <template slot="right">
-                  <BaseShipDropdown ref="shipDown"
-                                    @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog=false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery[activeName]">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.deptName')">
-                          <!-- <ws-select v-model="filtlistQueryNoSelected"
-                                     @change="selectChange"
-                                     style="width:20em">
-                            <ws-option v-for="item in deptList"
-                                       :key="item.parameterKey"
-                                       :label="getLanguage == 'en' ? item.parameterValueEn : item.parameterValue"
-                                       :value="item.parameterKey" />
-                          </ws-select> -->
-                          <BaseDepartMentSelect v-model="filtlistQueryNoSelected"
-                                                clearable
-                                                :placeholder="$t('common.selected')"
-                                                style="width:100%;"
-                                                @change="selectChange" />
-                        </el-form-item>
-
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQueryDate"
-                                          @change="dataPickerChange"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{ $t("button.reset") }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{ $t("button.filtration") }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :name="item.key"
-                   :type="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table :height="tableViewBodyHeight"
-                                 :data="Info"
-                                 fit
-                                 highlight-current-row
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange"
-                                 @cell-click="applopenInfo">
-                  <ws-table-column width="30">
-                    <template slot-scope="scope">
-                      <ws-checkbox v-show="scope.row.listFlag"
-                                   @change="chooseBill"
-                                   v-model="scope.row.checked" />
-                    </template>
-                  </ws-table-column>
-
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">
-                      <span>{{ scope.$index + (listQuerycurrentPage - 1) * listQuerypageSize + 1 }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   prop="vesselName"
-                                   min-width="150">
-                    <template slot-scope="scope">
-                      <span>{{ scope.row.vesselName }}</span>
-                    </template>
-                  </ws-table-column>
-
-                  <ws-table-column sortable
-                                   prop="applNo"
-                                   min-width="180"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartNo')">
-                    <template slot-scope="scope">
-                      <span>
-                        {{ scope.row.applNo }}
-                        <el-tag v-show="scope.row.splitFlag == '1'"
-                                type="success"
-                                size="mini">
-                          {{
-                          $t("cg.applicationFlagc")
-                          }}
-                        </el-tag>
-                      </span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column prop="deviceName"
-                                   min-width="180"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartContent')">
-                    <template slot-scope="scope">
-                      <span class="table-column-title"
-                            :title="scope.row.deviceName">{{ scope.row.deviceName }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   prop="title"
-                                   min-width="180"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartTitle')">
-                    <template slot-scope="scope">
-                      <span :title="scope.row.title">{{ scope.row.title }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column min-width="100"
-                                   sortable
-                                   prop="applUserName"
-                                   :label="$t('cg.pSparepart.sparepartList.applUserName')">
-                    <template slot-scope="scope">
-                      <span>{{ scope.row.applUserName }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="110"
-                                   prop="makeDate"
-                                   :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                    <template slot-scope="scope">
-                      <span>{{ $fd(scope.row.makeDate) }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column min-width="130"
-                                   sortable
-                                   prop="status"
-                                   :label="$t('cg.pSparepart.sparepartList.status')">
-                    <template slot-scope="scope">
-                      <span>{{ getLanguage=='en'?scope.row.statusNameEn:scope.row.statusName }}</span>
-                    </template>
-                  </ws-table-column>
-                </ws-normal-table>
-              </div>
-            </template>
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-if="total > 0"
-                          :total="total"
-                          :page.sync="listQuerycurrentPage"
-                          :limit.sync="listQuerypageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 采购申请单 -->
-
-          <!-- 询价单 -->
-          <TableView v-if="activeName == 'XJ' && item.key == 'XJ'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="right">
-                  <ws-status-radio @changeStatus="setbySatus"></ws-status-radio>
-                  <BaseShipDropdown ref="shipDown"
-                                    @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog1"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog1=false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery[activeName]">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQueryDate"
-                                          @change="dataPickerChange"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-                          <ws-select v-model="filtlistQuerySelected"
-                                     @change="selectChange"
-                                     style="width:20em"
-                                     multiple
-                                     collapse-tags
-                                     :placeholder="$t('common.selected')">
-                            <ws-option v-for="i in status"
-                                       :key="i.status"
-                                       :label="getLanguage=='en'?i.statusNameEn:i.statusName"
-                                       :value="i.status" />
-                          </ws-select>
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{ $t("button.reset") }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{ $t("button.filtration") }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle31')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :type="item.key"
-                   :name="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table :height="tableViewBodyHeight - 40"
-                                 :data="Info"
-                                 fit
-                                 highlight-current-row
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange"
-                                 @row-click="applopenInfo">
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">
-                      <span>{{ scope.$index + (listQuerycurrentPage - 1) * listQuerypageSize + 1 }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   min-width="150"
-                                   prop="vesselName" />
-
-                  <ws-table-column sortable
-                                   prop="enquiryNo"
-                                   min-width="180"
-                                   :label="$t('cg.cgsparedetail.enquiryno')">
-                    <template slot-scope="scope">
-                      <span>
-                        {{ scope.row.enquiryNo }}
-                        <el-tag v-show="scope.row.splitFlag == '1'"
-                                type="success"
-                                size="mini">
-                          {{
-                          $t("cg.applicationFlagc")
-                          }}
-                        </el-tag>
-                        <el-tag v-show="scope.row.splitFlag == '2'"
-                                size="mini">{{ $t("cg.applicationFlagh") }}</el-tag>
-                      </span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column prop="deviceName"
-                                   min-width="150"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartContent')">
-                    <template slot-scope="scope">
-                      <span class="table-column-title"
-                            :title="scope.row.deviceName">{{ scope.row.deviceName }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   prop="title"
-                                   min-width="150"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartTitle')" />
-                  <ws-table-column min-width="100"
-                                   sortable
-                                   prop="makeUserName"
-                                   :label="$t('cg.pSparepart.sparepartList.makeUserName')" />
-                  <ws-table-column sortable
-                                   min-width="100"
-                                   prop="makeDate"
-                                   :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                    <template slot-scope="scope">
-                      <span>{{ $fd(scope.row.makeDate) }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.status')"
-                                   prop="status"
-                                   min-width="130">
-                    <template slot-scope="scope">{{ getLanguage=='en'?scope.row.statusNameEn:scope.row.statusName }}</template>
-                  </ws-table-column>
-                </ws-normal-table>
-                <!-- 列表 -->
-              </div>
-            </template>
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-if="total > 0"
-                          :total="total"
-                          :page.sync="listQuerycurrentPage"
-                          :limit.sync="listQuerypageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 询价单 -->
-
-          <!-- 报价单 -->
-          <TableView v-if="activeName == 'BJD' && item.key == 'BJD'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="right">
-                  <ws-status-radio :showTrack="showTrack"
-                                   @changeStatus="setbySatus"></ws-status-radio>
-                  <BaseShipDropdown ref="shipDown"
-                                    @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog3"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog3=false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery[activeName]">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQueryDate"
-                                          @change="dataPickerChange"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-                          <ws-select v-model="filtlistQuerySelected"
-                                     @change="selectChange"
-                                     style="width:20em"
-                                     multiple
-                                     collapse-tags
-                                     :placeholder="$t('common.selected')">
-                            <ws-option v-for="i in status"
-                                       :key="i.status"
-                                       :label="getLanguage=='en'?i.statusNameEn:i.statusName"
-                                       :value="i.status" />
-                          </ws-select>
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{ $t("button.reset") }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{ $t("button.filtration") }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle3')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :type="item.key"
-                   :name="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table border
-                                 :span-method="arraySpanMethod"
-                                 :height="tableViewBodyHeight - 40"
-                                 :data="Info"
-                                 :merge="['vendorDetailList']"
-                                 fit
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange">
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">
-                      {{scope.row.indexNum}}
-                      <!-- <span>{{ scope.$index + (listQuerycurrentPage - 1) * listQuerypageSize + 1 }}</span> -->
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   min-width="120"
-                                   prop="vesselName" />
-                  <ws-table-column sortable
-                                   prop="enquiryNo"
-                                   min-width="130"
-                                   :label="$t('cg.pSparepart.sparepartList.enquiryNo')" />
-                  <ws-table-column prop="title"
-                                   min-width="120"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartTitle')" />
-                  <ws-table-column sortable
-                                   prop="inquiryEffectiveEnd"
-                                   min-width="120"
-                                   :label="$t('cg.pSparepart.sparepartList.inquiryEffectiveEnd')" />
-                  <ws-table-column sortable
-                                   prop="remainingDays"
-                                   min-width="100"
-                                   :label="$t('cg.pSparepart.sparepartList.remainingDays')" />
-                  <ws-table-column prop="vendorName"
-                                   :label="$t('cg.pSparepart.sparepartList.vendorName')"
-                                   min-width="200"
-                                   :show-overflow-tooltip="false">
-                    <!-- <template slot-scope="scope" class="link-p">
-                      <span v-for="(vendorItem, index) in scope.row.quotesVendorList" :key="index">
-                        <div>{{ $t("cg.supplierName") }}{{$t('common.colon')}}{{ vendorItem.vendorName }}</div>
-
-                        <div>{{ $t("cg.supplierLinkMan") }}{{$t('common.colon')}}{{ vendorItem.linkMan }}{{ vendorItem.telNumber }}</div>
-                      </span>
-                    </template>-->
-                  </ws-table-column>
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.quotesNo')"
-                                   min-width="160"
-                                   :show-overflow-tooltip="false">
-                    <template slot-scope="scope"
-                              class="table-height">
-                      <span class="link-type link-style"
-                            @click="applopenInfo(scope.row)">{{ scope.row.quotesNo }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.status')"
-                                   min-width="120"
-                                   prop="status"
-                                   :show-overflow-tooltip="false">
-                    <template slot-scope="scope">
-                      <span class="link-style">{{ getLanguage=='en'?scope.row.statusNameEn:scope.row.statusName }}</span>
-                    </template>
-                  </ws-table-column>
-                </ws-normal-table>
-                <!-- 列表 -->
-              </div>
-            </template>
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-if="total > 0"
-                          :total="total"
-                          :page.sync="listQuerycurrentPage"
-                          :limit.sync="listQuerypageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 报价单 -->
-
-          <!-- 比价单 -->
-          <TableView v-if="activeName == 'BJ' && item.key == 'BJ'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="right">
-                  <ws-status-radio @changeStatus="setbySatus"></ws-status-radio>
-                  <BaseShipDropdown ref="shipDown"
-                                    @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog2"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog2=false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery[activeName]">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQueryDate"
-                                          @change="dataPickerChange"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-                          <ws-select v-model="filtlistQuerySelected"
-                                     @change="selectChange"
-                                     style="width:20em"
-                                     multiple
-                                     collapse-tags
-                                     :placeholder="$t('common.selected')">
-                            <ws-option v-for="i in status"
-                                       :key="i.status"
-                                       :label="getLanguage=='en'?i.statusNameEn:i.statusName"
-                                       :value="i.status" />
-                          </ws-select>
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{ $t("button.reset") }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{ $t("button.filtration") }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle12')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :type="item.key"
-                   :name="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table border
-                                 :span-method="arraySpanMethod2"
-                                 :height="tableViewBodyHeight - 40"
-                                 :data="Info"
-                                 fit
-                                 highlight-current-row
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange"
-                                 @row-click="applopenInfo">
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">{{scope.row.indexNum}}</template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   min-width="150"
-                                   prop="vesselName" />
-                  <ws-table-column sortable
-                                   prop="enquiryNo"
-                                   min-width="160"
-                                   :label="$t('cg.cgsparedetail.parityno')" />
-
-                  <ws-table-column prop="deviceName"
-                                   min-width="140"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartContent1')">
-                    <template slot-scope="scope">
-                      <span class="table-column-title"
-                            :title="scope.row.deviceName">{{ scope.row.deviceName }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="120"
-                                   prop="openParityWay"
-                                   :label="$t('cg.pSparepart.sparepartList.openParityWay')">
-                    <template slot-scope="scope">
-                      <span>{{ getLanguage == "en" ? scope.row.openParityWayEn : scope.row.openParityWay }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.vendorName')"
-                                   min-width="170">
-                    <template slot-scope="scope"
-                              class="link-p">
-                      <div>{{ $t("cg.supplierName") }}{{$t('common.colon')}}{{ scope.row.vendorName }}</div>
-                      <div>{{ $t("cg.supplierLinkMan") }}{{$t('common.colon')}}{{ scope.row.linkMan }}{{ scope.row.telNumber }}</div>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="110"
-                                   prop="makeUserName"
-                                   :label="$t('cg.pSparepart.sparepartList.makeUserName')" />
-                  <ws-table-column sortable
-                                   width="110"
-                                   prop="makeDate"
-                                   :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                    <template slot-scope="scope">
-                      <span>{{ $fd(scope.row.makeDate) }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.status')"
-                                   prop="status"
-                                   min-width="130">
-                    <template slot-scope="scope">
-                      <span>{{ getLanguage=='en'?scope.row.statusNameEn:scope.row.statusName }}</span>
-                    </template>
-                  </ws-table-column>
-                </ws-normal-table>
-                <!-- 列表 -->
-              </div>
-            </template>
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-if="total > 0"
-                          :total="total"
-                          :page.sync="listQuerycurrentPage"
-                          :limit.sync="listQuerypageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 比价单 -->
-
-          <!--采购单 -->
-          <TableView v-if="activeName == 'CG' && item.key == 'CG'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="right">
-                  <ws-status-radio @changeStatus="setbySatus"></ws-status-radio>
-                  <BaseShipDropdown ref="shipDown"
-                                    @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog4"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog4=false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery[activeName]">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQueryDate"
-                                          @change="dataPickerChange"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-                          <ws-select v-model="filtlistQuerySelected"
-                                     @change="selectChange"
-                                     style="width:20em"
-                                     multiple
-                                     collapse-tags
-                                     :placeholder="$t('common.selected')">
-                            <ws-option v-for="i in status"
-                                       :key="i.status"
-                                       :label="getLanguage=='en'?i.statusNameEn:i.statusName"
-                                       :value="i.status" />
-                          </ws-select>
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{ $t("button.reset") }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{ $t("button.filtration") }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle1')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :type="item.key"
-                   :name="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table :height="tableViewBodyHeight - 40"
-                                 :data="Info"
-                                 fit
-                                 highlight-current-row
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange"
-                                 @row-click="applopenInfo">
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">
-                      <span>{{ scope.$index + (listQuerycurrentPage - 1) * listQuerypageSize + 1 }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   min-width="150"
-                                   prop="vesselName" />
-
-                  <ws-table-column sortable
-                                   prop="purchaseNo"
-                                   min-width="160"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartNo4')">
-                    <template slot-scope="scope">
-                      <span>{{ scope.row.purchaseNo }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column prop="deviceName"
-                                   min-width="180"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartContent1')">
-                    <template slot-scope="scope">
-                      <span class="table-column-title"
-                            :title="scope.row.deviceName">{{ scope.row.deviceName }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="90"
-                                   prop="contractFlag"
-                                   :label="$t('cg.pSparepart.sparepartList.contractFlag')">
-                    <template slot-scope="scope"
-                              style="line-height:26px">
-                      <span>{{ scope.row.contractFlag == 1 ? $t("common.yes") : $t("common.no") }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column min-width="170"
-                                   :label="$t('cg.pSparepart.sparepartList.vendorName')"
-                                   class="link-p">
-                    <span slot-scope="scope"
-                          style="line-height:auto">
-                      <div>{{ $t("cg.supplierName") }}{{$t('common.colon')}}{{ scope.row.vendorName }}</div>
-
-                      <div>{{ $t("cg.supplierLinkMan") }}{{$t('common.colon')}}{{ scope.row.linkMan }}{{ scope.row.telNumber }}</div>
-                    </span>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="110"
-                                   prop="makeUserName"
-                                   :label="$t('cg.pSparepart.sparepartList.makeUserName')" />
-                  <ws-table-column sortable
-                                   min-width="110"
-                                   prop="makeDate"
-                                   :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                    <template slot-scope="scope">
-                      <span>{{ $fd(scope.row.makeDate) }}</span>
-                    </template>
-                  </ws-table-column>
-
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.status')"
-                                   prop="status"
-                                   min-width="130">
-                    <template slot-scope="scope">{{ getLanguage=='en'?scope.row.statusNameEn:scope.row.statusName }}</template>
-                  </ws-table-column>
-                </ws-normal-table>
-                <!-- 列表 -->
-              </div>
-            </template>
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-if="total > 0"
-                          :total="total"
-                          :page.sync="listQuerycurrentPage"
-                          :limit.sync="listQuerypageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 采购单 -->
-
-          <!-- 结算单 -->
-          <TableView v-if="activeName == 'JS' && item.key == 'JS'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="right">
-                  <ws-status-radio @changeStatus="setbySatus"></ws-status-radio>
-                  <BaseShipDropdown ref="shipDown"
-                                    @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog5"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog5=false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery[activeName]">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQueryDate"
-                                          @change="dataPickerChange"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-                          <ws-select v-model="filtlistQuerySelected"
-                                     @change="selectChange"
-                                     style="width:20em"
-                                     multiple
-                                     collapse-tags
-                                     :placeholder="$t('common.selected')">
-                            <ws-option v-for="i in status"
-                                       :key="i.status"
-                                       :label="getLanguage=='en'?i.statusNameEn:i.statusName"
-                                       :value="i.status" />
-                          </ws-select>
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{ $t("button.reset") }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{ $t("button.filtration") }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle11')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :type="item.key"
-                   :name="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table :height="tableViewBodyHeight - 40"
-                                 :data="Info"
-                                 fit
-                                 highlight-current-row
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange"
-                                 @row-click="applopenInfo">
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">
-                      <span>{{ scope.$index + (listQuerycurrentPage - 1) * listQuerypageSize + 1 }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   min-width="150"
-                                   prop="vesselName" />
-                  <ws-table-column sortable
-                                   prop="applNo"
-                                   min-width="180"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartNo5')">
-                    <template slot-scope="scope">
-                      <span>{{ scope.row.billNo }}</span>
-                    </template>
-                  </ws-table-column>
-                  <!--<ws-table-column v-if="isHasFinance" sortable min-width="100" prop="payTypeName" :label="$t('cg.pSparepart.sparepartList.sparepartList2')">
-                    <template slot-scope="scope">
-                      <span>{{ getLanguage == "en" ? scope.row.payTypeNameEn : scope.row.payTypeName }}</span>
-                    </template>
-                  </ws-table-column>-->
-                  <ws-table-column prop="deviceName"
-                                   min-width="200"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartContent1')">
-                    <template slot-scope="scope">
-                      <span class="table-column-title"
-                            :title="scope.row.deviceName">{{ scope.row.deviceName }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="160"
-                                   prop="totalAmountLower"
-                                   :label="$t('cg.pSparepart.sparepartList.afterDiscountLower')">
-                    <template slot-scope="scope">
-                      <span v-if="scope.row.totalAmountLower">{{ parseFloat(scope.row.totalAmountLower).toFixed(2)+resCurrencyId(scope.row) }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="110"
-                                   prop="makeUserName"
-                                   :label="$t('cg.pSparepart.sparepartList.makeUserName')" />
-                  <ws-table-column sortable
-                                   min-width="110"
-                                   prop="makeDate"
-                                   :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                    <template slot-scope="scope">
-                      <span>{{ $fd(scope.row.makeDate) }}</span>
-                    </template>
-                  </ws-table-column>
-
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.status')"
-                                   prop="status"
-                                   min-width="120">
-                    <template slot-scope="scope">
-                      <span>{{ getLanguage=='en'?scope.row.statusNameEn:scope.row.statusName }}</span>
-                    </template>
-                  </ws-table-column>
-                </ws-normal-table>
-                <!-- 列表 -->
-                <div />
-              </div>
-            </template>
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-if="total > 0"
-                          :total="total"
-                          :page.sync="listQuerycurrentPage"
-                          :limit.sync="listQuerypageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 结算单 -->
-
-          <!-- 备件统计 -->
-          <keep-alive>
-            <div v-if="item.key == 'BJTJ'"
-                 :type="item.key"
-                 :name="item.key"
-                 @create="showCreatedTimes">
-              <div />
-            </div>
-          </keep-alive>
-          <!-- 备件统计 -->
-        </el-tab-pane>
-      </el-tabs>
-    </div>
-
-    <!-- 弹出页面-申请单筛选 -->
-    <WinseaContentModal v-model='dialogSqFormVisible'
-                        :title="$t('button.filtration')">
-      <el-form ref="spclearsplistqueryForm"
-               :model="filtlistQuery">
-        <el-form-item :label="$t('cg.pSparepart.sparepartList.deptName')">
-          <ws-select v-model="filtlistQuery.filtdeptNoSelected"
-                     style="width:20em">
-            <ws-option v-for="item in deptList"
-                       :key="item.parameterKey"
-                       :label="getLanguage == 'en' ? item.parameterValueEn : item.parameterValue"
-                       :value="item.parameterKey" />
-          </ws-select>
-        </el-form-item>
-
-        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-          <ws-date-picker v-model="filtlistQuery.filtmakeDate"
-                          type="daterange"
-                          style="width:20em"
-                          range-separator
-                          :start-placeholder="$t('cg.querybdate')"
-                          :end-placeholder="$t('cg.queryedate')"
-                          value-format="yyyy-MM-dd" />
-        </el-form-item>
-      </el-form>
-      <template slot="footer"
-                class="dialog-footer">
-        <ws-button @click="clearfiltQuery">{{ $t("button.reset") }}</ws-button>
-        <ws-button type="primary"
-                   @click="handleFilter('')">{{ $t("button.filtration") }}</ws-button>
-      </template>
-    </WinseaContentModal>
-    <!-- 弹出页面-申请单筛选 -->
-
-    <!-- 弹出页面-筛选 -->
-    <WinseaContentModal v-model='dialogFormVisible'
-                        :title="$t('button.filtration')">
-      <el-form ref="spclearsplistqueryForm"
-               :model="filtlistQuery">
-        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-          <ws-date-picker v-model="filtlistQuery.filtmakeDate"
-                          type="daterange"
-                          style="width:20em"
-                          range-separator
-                          :start-placeholder="$t('cg.querybdate')"
-                          :end-placeholder="$t('cg.queryedate')"
-                          value-format="yyyy-MM-dd" />
-        </el-form-item>
-        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-          <ws-select v-model="filtlistQuery.filtstatuSelected"
-                     style="width:20em"
-                     multiple
-                     collapse-tags
-                     :placeholder="$t('common.selected')">
-            <ws-option v-for="i in status"
-                       :key="i.status"
-                       :label="getLanguage=='en'?i.statusNameEn:i.statusName"
-                       :value="i.status" />
-          </ws-select>
-        </el-form-item>
-      </el-form>
-      <template slot="footer"
-                class="dialog-footer">
-        <ws-button @click="clearfiltQuery">{{ $t("button.reset") }}</ws-button>
-        <ws-button type="primary"
-                   @click="handleFilter('')">{{ $t("button.filtration") }}</ws-button>
-      </template>
-    </WinseaContentModal>
-    <!-- 弹出页面-筛选 -->
-
-    <!-- 弹出页面-导入 -->
-    <div class="myDialogDiv">
-      <WinseaContentModal v-model='dialoguploadVisible'
-                          :title="$t('cg.applydetails.applicationForm')"
-                          @on-cancel="handleClose">
-        <div class="myDialog1">
-          <el-upload ref="upload"
-                     class="upload-demo"
-                     action
-                     :multiple="false"
-                     :file-list="fileList"
-                     :http-request="uploadSectionFile"
-                     :auto-upload="false">
-            <ws-button slot="trigger"
-                       size="small"
-                       type="success"
-                       @click="tempFileDownLoad">
-              {{
-              $t("cg.applydetails.eflashmtv")
-              }}
-            </ws-button>
-            <ws-button slot="trigger"
-                       size="small"
-                       type="primary">{{ $t("cg.applydetails.selectImport") }}</ws-button>
-            <div slot="tip"
-                 class="el-upload__tip">{{ $t("cg.applydetails.importFile") }}</div>
-          </el-upload>
-
-          <!-- <el-upload class="upload-demo">
-            <ws-button size="small" type="primary">选择导入</ws-button>
-            <div slot="tip" class="el-upload__tip">只能导入xlsx/xls文件,且不超过500kb</div>
-          </el-upload>-->
-        </div>
-        <span slot="footer"
-              class="dialog-footer">
-          <ws-button @click="dialoguploadVisible = false">{{ $t("button.cancel") }}</ws-button>
-          <ws-button type="primary"
-                     @click="subHandleClose">{{ $t("button.confirm") }}</ws-button>
-        </span>
-      </WinseaContentModal>
-    </div>
-    <!-- 弹出页面-导入 -->
-  </div>
-</template>
-<script src="../../../viewsjs/procurement/procurementMap/sparepartList.js" />
-<style lang="scss" scoped>
-@import '~@/styles/variables.scss';
-.table-column-title {
-  line-height: 32px;
-  line-height: 25px;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  -webkit-box-orient: vertical;
-}
-/deep/.tabs-main {
-  .el-tabs__content {
-    background-color: #fff;
-    height: calc(100vh - 100px);
-    overflow-y: auto;
-  }
-}
-.allShips {
-  margin-top: 0px !important;
-}
-.myDialog1 {
-  height: 200px;
-  overflow: auto;
-}
-/deep/.link-style {
-  line-height: 43px;
-}
-/deep/.link-p {
-  div {
-    margin-top: 0;
-    margin-bottom: 0;
-  }
-}
-/deep/.el-table {
-  .cell {
-    line-height: auto !important;
-    height: auto !important;
-  }
-}
-
-/deep/.el-textarea__inner {
-  resize: none;
-}
-
-/deep/.certificate-overview {
-  background-color: #eee;
-  margin-bottom: 10px;
-  .earlyWarning {
-    .overview-num {
-      color: $yellow !important;
-    }
-  }
-  .overDue {
-    .overview-num {
-      color: $red !important;
-    }
-  }
-  .overview-main {
-    width: 100%;
-    height: 50px;
-    background-color: #fff;
-    display: flex;
-    align-items: center;
-    .svg-icon {
-      width: 4.8em;
-      height: 4.8em;
-      padding-right: 30px;
-    }
-    .overview-box {
-      width: 100%;
-      display: inline-block;
-      vertical-align: middle;
-      padding-left: 30px;
-      .overview-title {
-        font-size: 14px;
-        font-weight: bold;
-        color: #333;
-      }
-      .overview-num {
-        line-height: 23px;
-        font-size: 27px;
-        font-weight: bold;
-      }
-    }
-  }
-  .el-col:nth-child(1) .overview-main {
-    width: calc(100% - 33px);
-  }
-  .el-col:nth-child(2) .overview-main {
-    width: calc(100% - 33px);
-  }
-  .el-col:nth-child(3) .overview-main {
-    width: calc(100% - 33px);
-  }
-}
-.edit-input {
-  width: 87%;
-}
-.spanSave,
-.saveSpan {
-  float: right;
-  font-size: 22px;
-}
-.dialogListquery {
-  .el-form-item {
-    margin-bottom: 15px;
-  }
-}
-.remarkSpan {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  display: inline-block;
-  width: 87%;
-}
-.nav-bar {
-  padding: 0px;
-  margin-top: 10px;
-}
-.nav-search {
-  float: right;
-}
-.searchThree,
-.searchTwo,
-.searchOne {
-  float: left;
-}
-.clearfix:after {
-  /*伪元素是行内元素 正常浏览器清除浮动方法*/
-  content: '';
-  display: block;
-  height: 0;
-  clear: both;
-  visibility: hidden;
-}
-.clearfix {
-  *zoom: 1; /*ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行*/
-}
-.dropdown {
-  margin-top: 10px;
-  cursor: pointer;
-}
-/deep/.el-dropdown-menu__item:not(.is-disabled):hover,
-/deep/.el-dropdown-menu__item:focus {
-  background-color: #f5f7fa;
-  color: #333;
-}
-
-/deep/.content {
-  .el-table {
-    th {
-      .cell {
-        color: #333;
-      }
-    }
-  }
-  .el-dialog {
-    position: fixed;
-    top: 0px;
-    right: 20%;
-    overflow: auto;
-    margin: 0;
-    width: 26em !important;
-    .el-dialog__footer {
-      height: 50px;
-      line-height: 50px;
-      padding: 0 20px 0 0;
-    }
-  }
-}
-.myDialogDiv {
-  /deep/.el-dialog {
-    position: fixed;
-    top: 0px;
-    right: 48%;
-    overflow: auto;
-    margin: 0;
-    width: 25em !important;
-    .el-dialog__footer {
-      height: 50px;
-      line-height: 50px;
-      padding: 0 20px 0 0;
-    }
-  }
-}
-
-/deep/.dialog .el-dialog {
-  position: relative;
-
-  left: 64%;
-  top: 0%;
-  margin-right: 10%;
-
-  background: #ffffff;
-
-  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
-  -webkit-box-sizing: border-box;
-
-  width: 539px;
-}
-/deep/.dialog .el-dialog__header,
-/deep/.dialog .el-dialog__footer {
-  background-color: #f6f6f6;
-}
-/deep/.dialog .el-dialog__header {
-  height: 50px;
-  padding: auto 20px;
-}
-
-.dropdownmenu {
-  width: 160px;
-  // margin-left: 75px !important;
-}
-/deep/.dropdownmenu .el-dropdown-menu__item {
-  text-align: center;
-  color: #333;
-}
-/deep/.dropdownmenu .popper__arrow {
-  left: 30px;
-}
-/deep/.selectTitle {
-  margin-bottom: 5px;
-}
-/deep/.select .el-select {
-  width: 100%;
-  margin-bottom: 20px;
-}
-.startDate {
-  width: 93%;
-  margin-bottom: 10px;
-}
-.endDate {
-  width: 100%;
-  margin-bottom: 20px;
-}
-/deep/.searchTwo .el-button--text {
-  color: #333;
-}
-/deep/.searchTwo .el-button--text:hover {
-  color: #1d6ced;
-}
-
-/deep/.searchTwo {
-  .el-dropdown {
-    .el-dropdown-link {
-      color: #606266;
-    }
-
-    .el-dropdown-link:hover {
-      color: #1d6ced;
-    }
-  }
-}
-
-.searchThree {
-  position: relative;
-}
-.searchThree .el-input--medium[data-v-226a5fb3] {
-  margin-right: 30px;
-}
-.searchThree .el-input--medium {
-  width: 240px;
-}
-/deep/.searchThree .el-input--medium .el-input__inner {
-  padding-left: 12px;
-}
-/deep/.searchThree .el-input__prefix {
-  left: 267px;
-}
-.searchIcon {
-  font-size: 32px;
-  position: absolute;
-  top: 0px;
-  right: 0px;
-}
-.main-list {
-  margin-top: 10px;
-  height: auto;
-  .pagination-container {
-    margin-top: 20px;
-  }
-  // padding: 10px 20px 10px;
-}
-/deep/.main-list .el-table .button .cell {
-  line-height: 20px;
-  height: 20px;
-  font-size: 12px;
-  padding-left: 0px;
-}
-/deep/.main-list .el-table .labelState .cell {
-  line-height: 20px;
-}
-.yhButton {
-  height: 50px;
-}
-/deep/ .el-popper {
-  /deep/ .popper__arrow {
-    left: 30px !important;
-  }
-  padding: 5px 10px;
-}
-.guolvmsg {
-  font-size: 14px;
-  color: #333;
-}
-
-.page-search-dialog {
-  padding: 0px !important;
-  border-width: 0px;
-  & .el-card__header {
-    font-size: 14px;
-    font-weight: bold;
-    & .card-head {
-      display: flex;
-      justify-content: space-between;
-      & i {
-        cursor: pointer;
-        font-size: 16px;
-        font-weight: bold;
-      }
-    }
-  }
-  & .el-card__body {
-    display: flex;
-    flex-direction: column;
-    padding: 10px 20px 20px 20px;
-    & .el-form-item {
-      margin: 0px;
-    }
-    & .card-footer {
-      display: flex;
-      justify-content: center;
-      margin-top: 20px;
-    }
-  }
-}
-/deep/ .tabs-main .el-tabs__nav-wrap::after {
-  border-bottom: 1px solid #eee !important;
-}
-</style>

+ 0 - 392
src/views/procurement/procurementMaterial/applDetail.vue

@@ -1,392 +0,0 @@
-<!--物料申请-物料申请详情-->
-<!--2019年5月30日 20:25:16 by jlx-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <OperationalHistory :bill-no="$t('cg.cgsparedetail.sparepartno') + $t('common.colon') + applInfo.applNo"
-                              :message="getLanguage == 'en'?applInfo.statusNameEn:applInfo.statusName"
-                              :set-id="applId"
-                              set-type="appl" />
-        </template>
-        <template slot="right">
-          <ws-button v-if="buttonIsShow.isApprove"
-                     type="primary"
-                     @click="dialogApproveFormVisible = true">{{ $t('button.approve') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isNoApprove"
-                     @click="dialogNoApproveFormVisible = true">{{ $t('button.noapprove') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isSubmit"
-                     type="primary"
-                     @click="goApprove"
-                     v-hasPermission="'procurement.spareMaterial.applDetailMa.submit'">{{ $t('button.submit') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isSave"
-                     v-hasPermission="'procurement.spareMaterial.applDetailMa.save'"
-                     @click="save('')">{{ $t('button.save') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isConfirmsplitbills"
-                     type="primary"
-                     v-hasPermission="
-          'procurement.spareMaterial.applDetailMa.splitbills'
-        "
-                     @click="splitApplBills(1)">{{ $t('button.confirmsplitbills') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isCancelsplitbills"
-                     @click="splitApplBills(0)">{{ $t('button.cancelsplitbills') }}</ws-button>
-          <el-upload v-if="buttonIsShow.isImport"
-                     ref="upload"
-                     class="upload-demo"
-                     style="display: inline-block;"
-                     action
-                     multiple
-                     :http-request="uploadSectionFile"
-                     :auto-upload="true"
-                     :show-file-list="false">
-            <ws-button type="primary">{{
-          $t('button.import')
-        }}</ws-button>
-          </el-upload>
-          <ws-button v-if="buttonIsShow.isOperMoreCD"
-                     @click="operMore('cd')">{{ $t('button.splitbills') }}</ws-button>
-          <ws-button v-hasPermission="'procurement.spareMaterial.applDetailMa.discard'"
-                     v-if="buttonIsShow.isDiscard"
-                     @click="operMore('fq')">{{ $t('button.discard') }}</ws-button>
-          <ws-button @click="back">{{ $t('button.back') }}</ws-button>
-          <!-- <DocRelate-Button :set-show-type="docRelateShow" :set-form="setForm" set-page-type="Ma" /> -->
-          <!-- <ws-dropdown v-show="buttonIsShow.isOperMore" @command="operMore">
-          <ws-button>
-            {{ $t('button.moreoperations') }}
-            <i class="el-icon-arrow-down el-icon--right" />
-          </ws-button>
-          <ws-dropdown-menu slot="dropdown">
-            <ws-dropdown-item v-show="buttonIsShow.isOperMoreCD" command="cd">{{ $t('button.splitbills') }}</ws-dropdown-item>
-            <ws-dropdown-item command="dc">{{ $t('button.export') }}</ws-dropdown-item>
-            <ws-dropdown-item v-show="buttonIsShow.isDiscard" v-hasPermission="'procurement.spareMaterial.applDetailMa.discard'" command="fq">{{ $t('button.discard') }}</ws-dropdown-item>
-          </ws-dropdown-menu>
-        </ws-dropdown>-->
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 单据基础信息 -->
-      <base-card :title="$t('cg.applydetails.basicInfo')">
-        <ws-form ref="infoForm"
-                 :model="applInfo"
-                 :rules="applRules"
-                 :show-message="false"
-                 :class="isParentEdit ? '' : ' hide-sel'"
-                 :hide-required-asterisk="!isParentEdit">
-          <ws-info-table>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vesselName')">
-              <div class="div-el-form-item">{{ applInfo.vesselName }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.deptName')">
-              <!-- <ws-select
-                      v-model="applInfo.deptId"
-                      :placeholder="isParentEdit?$t('common.selected'):''"
-                      :disabled="isParentEdit?false:true"
-                    >
-                      <ws-option
-                        v-for="item in deptList"
-                        :key="item.parameterKey"
-                        :label="language=='en'? item.parameterValueEn:item.parameterValue"
-                        :value="item.parameterKey"
-                      />
-                  </ws-select>-->
-
-              <div class="div-el-form-item">{{ applInfo.deptName }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applUserName')">
-              <div class="div-el-form-item">{{ applInfo.applUserName }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applOperateDate')">
-              <div class="div-el-form-item">
-                {{ applInfo.applOperateDate }}
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('物料类型')">
-              <div class="div-el-form-item">
-                {{ applInfo.materielTypeName }}
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('申请类型')">
-              <ws-select v-model="applInfo.applTypeId"
-                         :placeholder="isParentEdit ? $t('common.selected') : ''"
-                         :disabled="isParentEdit ? false : true">
-                <ws-option v-for="item in applyTypeList"
-                           :key="item.parameterKey"
-                           :label="
-                        language == 'en'
-                          ? item.parameterValueEn
-                          : item.parameterValue
-                      "
-                           :value="item.parameterKey" />
-              </ws-select>
-            </ws-form-item>
-
-            <!--  <ws-form-item
-                  :span="1"
-                  :label="$t('cg.applydetails.applSubject')"
-                  v-if="isHasFinance"
-                >
-                  <el-cascader
-                    v-model="applInfo.subjectId"
-                    :options="applySubjectList"
-                    clearable
-                    :show-all-levels="false"
-                    style="width: 100%;"
-                    :placeholder="isParentEdit ? $t('common.selected') : ''"
-                    :disabled="isParentEdit ? false : true"
-                  />
-
-                  &lt;!&ndash; <el-select
-                        v-model="applInfo.subjectId"
-                        :placeholder="isParentEdit?$t('common.selected'):''"
-                        :disabled="isParentEdit?false:true"
-                      >
-
-                  </el-select>&ndash;&gt;
-                </ws-form-item>-->
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applPurchase')"
-                          prop="title">
-              <ws-input v-model="applInfo.title"
-                        :title="applInfo.title"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="250" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.requiredDate')"
-                          prop="demandDate">
-              <ws-date-picker v-model="applInfo.demandDate"
-                              type="date"
-                              :placeholder="$t('common.selected')"
-                              format="yyyy-MM-dd"
-                              value-format="yyyy-MM-dd"
-                              :disabled="isParentEdit ? false : true"
-                              :picker-options="pickerOptions" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.requiredLocation')">
-              <ws-input v-model="applInfo.demandPlace"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="200" />
-            </ws-form-item>
-
-            <ws-form-item :span="isHasFinance ? 2 : 2"
-                          :label="$t('cg.applydetails.applemark')">
-              <ws-row>
-                <ws-col :span="22">
-                  <ws-input v-model="applInfo.remark"
-                            :title="applInfo.remark"
-                            :placeholder="isParentEdit ? $t('common.input') : ''"
-                            :disabled="isParentEdit ? false : true"
-                            style="width: 100%;"
-                            maxlength="250" />
-                </ws-col>
-                <!-- <ws-col :span="2">
-                      <NotesOnHistory :set-show-message="notesOnHistory" />
-                    </ws-col> -->
-              </ws-row>
-            </ws-form-item>
-          </ws-info-table>
-        </ws-form>
-      </base-card>
-      <!-- 单据基础信息 -->
-
-      <!-- 采购明细 -->
-      <base-card :title="$t('cg.applydetails.applInfo')">
-        <template slot="buttons">
-          <div v-show="buttonIsShow.isAddDetails"
-               class="add-list"
-               @click.stop="addDetails">
-            <i class="el-icon-circle-plus-outline" />
-            <span style="font-size: 13px;">{{
-              $t('common.add')
-            }}</span>
-          </div>
-        </template>
-        <pur-ApplDetail ref="purApplDetail"
-                        :typeName="typeName"
-                        :isHasFinance="isHasFinance" />
-      </base-card>
-      <!-- 采购明细 -->
-
-      <!-- 附件上传 -->
-      <base-card :title="$t('upload.basicInfo')"
-                 :isIcon="false"
-                 v-if="applInfo.appendixId">
-        <ws-upload ref="wsUpload"
-                   oss-key="procurement.procurementMaterial.applDetail"
-                   :comp-id="companyId"
-                   :editable="isParentEdit"
-                   :appendix-ids="applInfo.appendixId"
-                   :vesselId="applInfo.vesselId"
-                   table-name="materielApplInfo"
-                   @onChange="onChange" />
-        <!-- <upload ref="uploadFile" :auto-upload="false" model-id="ZS" /> -->
-      </base-card>
-      <!-- 附件上传 -->
-    </template>
-
-    <!-- 弹出页面-审核通过 -->
-    <BaseContentModalScrap v-model="dialogApproveFormVisible"
-                           :title="$t('common.opinion')"
-                           :isRules="false"
-                           @confirm="approve" />
-    <!-- 弹出页面-审核通过 -->
-    <!-- 弹出页面-退回 -->
-    <BaseContentModalScrap v-model="dialogNoApproveFormVisible"
-                           :title="$t('common.noPass')"
-                           :isRules="false"
-                           @confirm="returnBack" />
-    <!-- 弹出页面-退回 -->
-    <!-- 弹出页面-废弃 -->
-    <BaseContentModalScrap v-model="dialogDiscardFormVisible"
-                           :title="$t('common.abandon')"
-                           :isRules="false"
-                           @confirm="discard" />
-    <!-- 弹出页面-废弃 -->
-  </BaseDetailLayout>
-</template>
-
-<script src="../../../viewsjs/procurement/procurementMaterial/applDetail.js" />
-
-<style lang="scss" scoped>
-/deep/.el-input.is-disabled .el-input__inner {
-  background-color: #fff;
-  border-color: #fff;
-  color: #000;
-  cursor: text;
-  padding: 0 !important;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    & /deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
-    & /deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-// 控制select为只读的时候显示样式
-
-/deep/.hide-sel {
-  /deep/.el-input__inner {
-    border: 0px;
-  }
-  /deep/.el-icon-arrow-up {
-    display: none;
-  }
-  /deep/.el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  /deep/.el-date-editor {
-    i {
-      display: none;
-    }
-  }
-  .is-disabled {
-    /deep/.el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    /deep/.el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    /deep/.el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-</style>

+ 0 - 269
src/views/procurement/procurementMaterial/applEmail.vue

@@ -1,269 +0,0 @@
-<!--备件-备件询价-发送邮件-->
-<!--2019年6月8日 22:27:22 by jlx-->
-<template>
-  <div class="appl-email">
-    <div class="top">
-      <div>
-        <ws-button type="primary"
-                   class="button-right"
-                   v-show="idSendEmail"
-                   @click="allSendEmail">{{ $t("button.allSend") }}</ws-button>
-        <ws-button class="button-right"
-                   @click="back">{{$t("button.back")}}</ws-button>
-      </div>
-    </div>
-    <div class="app-container buttom">
-      <div class="left">
-        <ws-form ref="infoForm"
-                 :model="form"
-                 class="form-email"
-                 label-width="90px"
-                 :rules="emailRules">
-          <div class="createPost-main-container">
-            <!-- 发件人 -->
-            <ws-form-item :label="$t('cg.applEmail.addressor')+$t('common.colon')">
-              <div class="location">
-                <ws-select v-model="form.addressor"
-                           style="width:40%"
-                           :placeholder="$t('common.selected')"
-                           @change="changeAddressor">
-                  <ws-option v-for="(item,index) in dataForm.emailData"
-                             :key="index"
-                             :label="item.mailAddress"
-                             :value="item.id" />
-                </ws-select>
-                <span @click="dialogEmail = true"
-                      class="pointer"
-                      style="margin-left:10px;">
-                  <i class="el-icon-circle-plus-outline iconClass"></i>
-                  <span class="spanClass">{{ $t('shipRepairManagement.project.addOutbox') }}</span>
-                </span>
-              </div>
-            </ws-form-item>
-            <!-- 收件人 -->
-            <ws-form-item :label="$t('cg.applEmail.addressee')+$t('common.colon')">
-              <ws-input v-model="form.addressee"
-                        style="width:40%"
-                        :placeholder="$t('common.input')" />
-            </ws-form-item>
-            <!-- 抄送 -->
-            <ws-form-item :label="$t('cg.applEmail.copy')+$t('common.colon')">
-              <ws-input v-model="form.copy"
-                        :placeholder="$t('common.input')" />
-            </ws-form-item>
-            <!-- 主体 -->
-            <ws-form-item :label="$t('cg.applEmail.theme')+$t('common.colon')">
-              <ws-input v-model="form.theme"
-                        :placeholder="$t('common.input')" />
-            </ws-form-item>
-            <!-- 附件 -->
-            <ws-form-item class="form-item-link"
-                          :label="$t('cg.applEmail.accessory')+$t('common.colon')">
-              <!--  <ws-email-annex v-model="uploadFileNames"></ws-email-annex>-->
-              <ws-link v-for=" (item,index) in defaultFileShow"
-                       :key="index"
-                       :href="baseUrl + item.url"
-                       target="_blank"
-                       :underline="false"
-                       type="primary">{{ item.name }}</ws-link>
-            </ws-form-item>
-            <!-- 富文本 -->
-            <ws-form-item>
-              <Tinymce ref="editor"
-                       v-model="form.content"
-                       :height="400" />
-            </ws-form-item>
-          </div>
-        </ws-form>
-      </div>
-      <div class="right">
-        <ws-normal-table ref="EnquiryVendorTable"
-                         :data="purSpEnquiryVendorList"
-                         style="width: 100%"
-                         fit
-                         highlight-current-row
-                         :row-class-name="tableRowClassName"
-                         @row-click="clickOnSelectRow">
-          <ws-table-column prop="date"
-                           :label="$t('cg.applydetails.vendorName')"
-                           width="auto">
-            <template slot-scope="scope">
-              <span class="link-type">{{ scope.row.vendorName }}</span>
-            </template>
-          </ws-table-column>
-        </ws-normal-table>
-      </div>
-    </div>
-    <WinseaContentModal v-model='dialogEmail'
-                        :title="$t('cg.applEmail.addOutbox')"
-                        @on-cancel="cancelDialog">
-      <div style="float:right;margin-bottom:10px">
-        <ws-button @click="addEmail2">{{ $t('button.add') }}</ws-button>
-      </div>
-      <ws-form ref="dataForm"
-               :model="dataForm">
-        <ws-normal-table :data="dataForm.emailData"
-                         style="width: 100%">
-          <!-- 序号 -->
-          <ws-table-column align="center"
-                           :label="$t('common.num')"
-                           width="70">
-            <template slot-scope="scope">{{ scope.$index + 1 }}</template>
-          </ws-table-column>
-          <!-- 邮箱类型 -->
-          <ws-table-column prop="typeId"
-                           align="center"
-                           width="130"
-                           :label="$t('shipRepairManagement.project.emailType')">
-            <template slot-scope="{row}">
-              <ws-select v-model="row.typeId"
-                         :placeholder="$t('common.selected')"
-                         @change="changeEmailType(row)">
-                <ws-option v-for="item in emailTypeList"
-                           :key="item.typeId"
-                           :label="item.typeName"
-                           :value="item.typeId" />
-              </ws-select>
-            </template>
-          </ws-table-column>
-          <!-- 发送服务器 -->
-          <ws-table-column prop="sendHost"
-                           width="115"
-                           align="center"
-                           :label="$t('cg.applEmail.sendingServer')">
-            <template slot-scope="{row}">
-              <ws-input v-if="row.typeId == '99'"
-                        type="test"
-                        v-model="row.sendHost"></ws-input>
-              <span v-else>{{ row.sendHost }}</span>
-            </template>
-          </ws-table-column>
-          <!-- 邮箱 -->
-          <ws-table-column prop="mailAddress"
-                           width="200"
-                           align="center"
-                           :label="$t('shipRepairManagement.project.mailAddress')">
-            <template slot-scope="{row}">
-              <ws-input type="text"
-                        v-model="row.mailAddress"></ws-input>
-            </template>
-          </ws-table-column>
-          <!-- 密码 -->
-          <ws-table-column prop="password"
-                           width="130"
-                           align="center"
-                           :label="$t('shipRepairManagement.project.password')">
-            <template slot-scope="{row}">
-              <ws-input type="password"
-                        v-model="row.password"></ws-input>
-            </template>
-          </ws-table-column>
-          <!-- 使用范围 -->
-          <ws-table-column prop="useRange"
-                           width="120"
-                           align="center"
-                           :label="$t('shipRepairManagement.project.usableRange')">
-            <template slot-scope="{row}">
-              <ws-select v-model="row.useRange"
-                         :placeholder="$t('common.selected')">
-                <ws-option v-for="item in applicationList"
-                           :key="item.parameterKey"
-                           :label="item.parameterValue"
-                           :value="item.parameterKey" />
-              </ws-select>
-            </template>
-          </ws-table-column>
-          <!-- 是否使用SSL -->
-          <ws-table-column prop="isSsl"
-                           width="120"
-                           align="center"
-                           :label="$t('shipRepairManagement.project.SSL')">
-            <template slot-scope="{row}">
-              <ws-select v-model="row.isSsl"
-                         :placeholder="$t('common.selected')"
-                         @change="changeSsl(row)">
-                <ws-option v-for="item in sslList"
-                           :key="item.isSsl"
-                           :label="item.isSslValue"
-                           :value="item.isSsl" />
-              </ws-select>
-            </template>
-          </ws-table-column>
-          <!-- 端口 -->
-          <ws-table-column width="85"
-                           align="center"
-                           :label="$t('shipRepairManagement.project.port')">
-            <template slot-scope="{row}">
-              <ws-input type="text"
-                        v-model="row.port"
-                        clearable></ws-input>
-            </template>
-          </ws-table-column>
-          <!-- 操作(删除) -->
-          <ws-table-column align="center"
-                           width="70"
-                           :label="$t('common.operate')">
-            <template slot-scope="scope">
-              <div @click="deleteRow(scope.$index, scope.row)">
-                <i class="iconfont iconrecycleBiny" />
-                <!-- <svg-icon icon-class="delate" /> -->
-              </div>
-            </template>
-          </ws-table-column>
-        </ws-normal-table>
-      </ws-form>
-      <div slot="footer"
-           class="dialog-footer">
-        <ws-button @click="dialogEmail = false">{{ $t('button.cancel') }}</ws-button>
-        <ws-button type="primary"
-                   @click="saveEmail">{{ $t('button.confirm') }}</ws-button>
-      </div>
-    </WinseaContentModal>
-  </div>
-</template>
-
-<script src="../../../viewsjs/procurement/procurementMaterial/applEmail.js" />
-<style lang="scss" scoped>
-.appl-email {
-  /*position: absolute;*/
-  /*top: 40px;*/
-  /*bottom: 0px;*/
-  width: 100%;
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  & .top {
-    height: 50px;
-    width: 100%;
-    flex-shrink: 0;
-    text-align: right;
-    line-height: 50px;
-    padding: 0 10px;
-    background-color: #fff;
-  }
-  & .buttom {
-    flex-grow: 1;
-    background-color: #eee;
-    display: flex;
-    padding: 10px 0 0;
-    flex-wrap: nowrap;
-    overflow: auto;
-    & .right {
-      width: 256px;
-      flex-shrink: 0;
-      margin-left: 10px;
-      background-color: #fff;
-      border: 1px solid #dcdfe6;
-    }
-    & .left {
-      overflow-y: auto;
-      overflow-x: hidden;
-      flex-grow: 1;
-      background-color: #fff;
-      padding: 10px;
-      border: 1px solid #dcdfe6;
-    }
-  }
-}
-</style>
-

+ 0 - 573
src/views/procurement/procurementMaterial/billDetail.vue

@@ -1,573 +0,0 @@
-<!--物料-物料结算详情-->
-<!--2019年6月5日 15:37:39 by zw-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <!-- 按钮组件 -->
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <OperationalHistory :bill-no="$t('cg.cgsparedetail.billno') + $t('common.colon') + billInfo.billNo"
-                              :message="getLanguage == 'en'?billInfo.statusNameEn:billInfo.statusName"
-                              :set-id="billId"
-                              set-type="bill" />
-        </template>
-        <template slot="right">
-          <ws-button v-if="buttonIsShow.isGeneratePayment"
-                     type="primary"
-                     @click="generatePayment">{{ $t('button.generatePayment') }}
-          </ws-button>
-          <ws-button v-if="buttonIsShow.isApprove"
-                     type="primary"
-                     @click="toApprove">{{ $t('button.approve') }}
-          </ws-button>
-          <ws-button v-if="buttonIsShow.isNoApprove"
-                     @click="toReturn">
-            {{ $t('button.noapprove') }}</ws-button>
-          <!-- 'procurement.spareMaterial.billDetailMa.submit' -->
-          <ws-button v-if="buttonIsShow.isSubmitQuotationy"
-                     type="primary"
-                     @click="approve(3)"
-                     v-hasPermission="
-              `${$permission('PERMISSIONS.PURMABILLINFO_UPDATEBILL')}`
-            ">{{ $t('button.submit') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isSaveQuotation"
-                     v-hasPermission="'procurement.spareMaterial.billDetailMa.save'"
-                     @click="save">{{ $t('button.save') }}</ws-button>
-          <DocRelate-Button :set-show-type="docRelateShow"
-                            :set-form="setForm"
-                            set-page-type="Ma" />
-          <ws-button @click="back">{{ $t('button.back') }}</ws-button>
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 单据基础信息 -->
-      <base-card :title="$t('cg.applydetails.basicInfo')">
-        <ws-form ref="infoForm"
-                 :model="billInfo"
-                 :rules="billRules"
-                 :show-message="false"
-                 :class="
-              isParentEdit ? 'purspappl-details' : 'purspappl-details hide-sel'
-            "
-                 :hide-required-asterisk="!isParentEdit">
-          <ws-info-table>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vesselName')">
-              <div class="div-el-form-item">{{ billInfo.vesselName }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :key="isParentEdit && billInfo.purchaseTypeName == '直接供船'?'vendorId':'noVendor'"
-                          :prop="isParentEdit && billInfo.purchaseTypeName == '直接供船'?'vendorId':''"
-                          :label="$t('cg.applydetails.vendorName')">
-              <!--                <ws-input-->
-              <!--                  v-if="isParentEdit == true && isShip"-->
-              <!--                  v-model="billInfo.vendorName"-->
-              <!--                  :placeholder="isParentEdit ? $t('common.input') : ''"-->
-              <!--                  maxlength="50"-->
-              <!--                />-->
-              <ws-select v-if="isParentEdit == true && isShip"
-                         v-model="billInfo.vendorId"
-                         :placeholder="isParentEdit ? $t('common.selected') : ''"
-                         :disabled="isParentEdit ? false : true"
-                         @change="changeVendor">
-                <ws-option v-for="item in vendorNameList"
-                           :key="item.vendorId"
-                           :label="item.vendorName"
-                           :value="item.vendorId" />
-              </ws-select>
-              <div class="div-el-form-item"
-                   v-else>
-                {{ billInfo.vendorName }}
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.supplyPlace')">
-              <ws-input v-if="isParentEdit == true"
-                        v-model="billInfo.quotesDeliveryPlace"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        maxlength="50" />
-              <div class="div-el-form-item"
-                   v-else>
-                {{ billInfo.quotesDeliveryPlace }}
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.purchaseType')">
-              <div class="div-el-form-item hide-sel">
-                <!-- <ws-select v-model="billInfo.purchaseType" :placeholder="isParentEdit?$t('common.selected'):''" :disabled="true">
-                    <ws-option v-for="item in purchaseTypeList" :key="item.parameterKey" :label="language=='en'? item.parameterValueEn:item.parameterValue" :value="item.parameterKey" />
-                  </ws-select>-->
-                <span>{{
-                    language == 'en'
-                      ? billInfo.purchaseTypeNameEn
-                      : billInfo.purchaseTypeName
-                  }}</span>
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.transFee')">
-              <ws-input @change="ariDiscount"
-                        v-number-input.float
-                        v-model="billInfo.transFee"
-                        :disabled="isParentEdit ? false : true"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        maxlength="18" />
-              <div class="ml10 transFee">
-                <ws-checkbox v-model="billInfo.discountFlag"
-                             :disabled="isParentEdit? false : true"
-                             @change="ariDiscount" />
-                <span style="font-size: 12px">{{$t('cg.applydetails.participationDiscount')}}</span>
-              </div>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.currencyId')"
-                          :prop="isShip && isParentEdit?'currencyId':''"
-                          :key="isShip && isParentEdit?'currencyId':'noProp'">
-              <BaseParameterSelect v-model="billInfo.currencyId"
-                                   v-if="isShip && isParentEdit"
-                                   :typeCode="'CURRENCY'"
-                                   :placeholder="isParentEdit ? $t('common.selected') : ''" />
-              <span v-else>{{ currencyName }}</span>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.invoiceFlag')">
-              <!-- <ws-select v-model="billInfo.invoiceFlag"
-                           :disabled="!isShip || !isParentEdit"
-                           :placeholder="
-                    !(!isShip || !isParentEdit) ? $t('common.selected') : ''
-                  ">
-                  <ws-option v-for="item in invoiceFlagList"
-                             :key="item.parameterKey"
-                             :label="
-                      language == 'en'
-                        ? item.parameterValueEn
-                        : item.parameterValue
-                    "
-                             :value="item.parameterKey" />
-                </ws-select> -->
-              <BaseParameterSelect v-model="billInfo.invoiceFlag"
-                                   :typeCode="'INVOICE_FLAG'"
-                                   :disabled="!isShip || !isParentEdit"
-                                   :placeholder="
-                    !(!isShip || !isParentEdit) ? $t('common.selected') : ''
-                  " />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.payTypeFlag')">
-              <!-- <ws-select v-if="isShip && isParentEdit"
-                           v-model="billInfo.settlementFlag"
-                           :placeholder="isParentEdit ? $t('common.selected') : ''">
-                  <ws-option v-for="item in settlementFlagList"
-                             :key="item.parameterKey"
-                             :label="
-                      language == 'en'
-                        ? item.parameterValueEn
-                        : item.parameterValue
-                    "
-                             :value="item.parameterKey" />
-                </ws-select> -->
-              <BaseParameterSelect v-model="billInfo.settlementFlag"
-                                   :typeCode="'SETTLEMENT_FLAG'"
-                                   :disabled="isShip && isParentEdit ? false : true"
-                                   :placeholder="isParentEdit ? $t('common.selected') : ''" />
-              <!-- <ws-select v-else
-                           v-model="billInfo.settlementFlag"
-                           :disabled="true"
-                           :placeholder="''">
-                  <ws-option v-for="item in settlementFlagList"
-                             :key="item.parameterKey"
-                             :label="
-                      language == 'en'
-                        ? item.parameterValueEn
-                        : item.parameterValue
-                    "
-                             :value="item.parameterKey" />
-                </ws-select> -->
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.deliveryType')">
-              <ws-input v-model="billInfo.deliveryType"
-                        :disabled="!isShip || !isParentEdit"
-                        :placeholder="
-                    !(!isShip || !isParentEdit) ? $t('common.input') : ''
-                  "
-                        maxlength="20" />
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cw.inOperation.rate')">
-              <span>{{ billInfo.exchangeRate || '--' }}</span>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.taxPoint')">
-              <ws-input-number :min="0"
-                               v-if="isParentEdit"
-                               v-model="billInfo.taxRate"
-                               :placeholder="isParentEdit ? $t('common.input') : ''"
-                               maxlength="50"
-                               @change="ariDiscount(false, false)" />
-              <div class="div-el-form-item"
-                   v-else>{{ $ph(billInfo.taxRate) }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          v-if="isHasFinance"
-                          :key="isParentEdit && billInfo.purchaseTypeName == '直接供船'?'subjectId':'noSubjectId'"
-                          :prop="isParentEdit && billInfo.purchaseTypeName == '直接供船'?'subjectId':''"
-                          :label="$t('salaryInfo.subject')">
-              <el-cascader style="width: 100%;"
-                           v-if="isParentEdit && billInfo.purchaseTypeName == '直接供船'"
-                           v-model="billInfo.subjectId"
-                           :options="applySubjectList"
-                           :props="{ checkStrictly: true }"
-                           @change="changeSubject" />
-              <div class="div-el-form-item hide-sel"
-                   v-else>
-                <span>{{billInfo.subjectNames}}</span>
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="2"
-                          :label="$t('cg.applydetails.applemark')">
-              <ws-input v-model="billInfo.remark"
-                        :title="billInfo.remark"
-                        :disabled="isParentEdit ? false : true"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        style="width: 100%;"
-                        maxlength="250" />
-            </ws-form-item>
-          </ws-info-table>
-        </ws-form>
-      </base-card>
-      <!-- 单据基础信息 -->
-
-      <!-- 采购明细 -->
-      <base-card :title="$t('cg.applydetails.applInfo')">
-        <template>
-          <span class="span-money">
-            <span>{{
-                $t('cg.cgsparedetail.originalCurrencyAfterDiscountLower') +
-                  $t('common.colon')
-              }}</span>
-            <span>{{ billInfo.totalAmountLower }}</span>
-            <span>{{ currencyName }}</span>
-          </span>
-
-          <span class="span-money">
-            <span>{{
-                $t('cg.cgsparedetail.discount') + $t('common.colon')
-              }}</span>
-
-            <ws-input v-if="isParentEdit"
-                      v-model="billInfo.discount"
-                      :placeholder="$t('common.input')"
-                      style="width:200px"
-                      oninput="value=value.replace(/[^\d.]/g,'')"
-                      maxlength="18"
-                      @change="ariDiscount" />
-            <span v-else>{{
-                parseFloat(billInfo.discount || 0).toFixed(2)
-              }}</span>
-          </span>
-
-          <span class="span-money">
-            <span>{{
-                $t('cg.cgsparedetail.originalCurrencyAfterDiscountLower1') +
-                  $t('common.colon')
-              }}</span>
-            <span>{{ billInfo.afterDiscountLower }}</span>
-            <span>{{ currencyName }}</span>
-          </span>
-
-          <span class="span-money">
-            <span>{{
-                $t('cg.cgsparedetail.organizationAfterDiscountLower') +
-                  $t('common.colon')
-              }}</span>
-            <span>{{
-                billInfo.exchangeRate
-                  ? isNaN(billInfo.afterDiscountLower / billInfo.exchangeRate)
-                    ? '0.00'
-                    : parseFloat(
-                        billInfo.afterDiscountLower / billInfo.exchangeRate
-                      ).toFixed(2)
-                  : '--'
-              }}</span>
-            <span>{{ currencyOrganizing }}</span>
-          </span>
-          <div style="float: right;line-height: 40px;"
-               @click="getRecord"
-               v-if="billInfo.paymentOperateHis && billInfo.paymentOperateHis.length>0">
-            <i class="iconfont icongongchengfukuanjilu" />{{ $t('cg.applydetails.paymentRecords') }}
-          </div>
-        </template>
-        <pur-BillDetails ref="purBillDetails"
-                         :taxRate="billInfo.taxRate"
-                         :status="billInfo.status"
-                         :clientFlag="billInfo.clientFlag !== '0'"
-                         :purchaseTypeName="billInfo.purchaseTypeName"
-                         :applySubjectList="applySubjectList"
-                         :typeName="typeName"
-                         :currency-name="currencyName"
-                         :isHasFinance="isHasFinance" />
-      </base-card>
-      <!-- 采购明细 -->
-
-      <!-- 附件上传 -->
-      <base-card :title="$t('upload.basicInfo')">
-        <!-- <upload ref="uploadFile" :auto-upload="false" model-id="ZS" /> -->
-        <ws-upload ref="wsUpload"
-                   oss-key="procurement.procurementMaterial.billDetail"
-                   :comp-id="companyId"
-                   :editable="isParentEdit"
-                   :appendix-ids="billInfo.appendixId"
-                   table-name="materielBillInfo"
-                   @onChange="onChange" />
-      </base-card>
-      <!-- 附件上传 -->
-
-      <!-- 审核流程 -->
-      <audit-history ref="auditHistory"></audit-history>
-
-      <pay-record ref="payRecord"
-                  :recordList="billInfo.paymentOperateHis"></pay-record>
-    </template>
-    <!-- 弹出页面-审核通过 退回 -->
-    <approve-dialog ref="approveDialog"
-                    @approveConfirm="approveConfirm"
-                    @returnConfirm="returnConfirm"></approve-dialog>
-    <!-- 弹出页面-审核通过 退回 -->
-  </BaseDetailLayout>
-</template>
-<script src="../../../viewsjs/procurement/procurementMaterial/billDetail.js" />
-<style lang="scss" scoped>
-/deep/.el-input.is-disabled .el-input__inner {
-  background-color: #fff;
-  border-color: #fff;
-  color: #000;
-  cursor: text;
-  padding: 0;
-}
-/deep/ .el-input__inner {
-  text-align: left;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    & /deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
-    & /deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-.pur-container {
-  .el-collapse {
-    border-top: 0 !important;
-    border-bottom: 0 !important;
-  }
-  .el-collapse-item__header {
-    background-color: #fff;
-    border-bottom: 0;
-  }
-  .el-collapse-item__wrap {
-    border-bottom: 0;
-  }
-}
-
-.collapse-container {
-  .input-main {
-    .el-input__inner {
-      padding: 0 25px 0 5px !important;
-      color: #606266 !important;
-    }
-    .el-textarea__inner {
-      padding: 4px 0px;
-      color: #606266 !important;
-    }
-    .el-cascader__label {
-      padding: 0 25px 0 5px !important;
-      color: #606266 !important;
-    }
-  }
-}
-
-.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-.collapse-container {
-  .crt-main {
-    .demo-Forms {
-      padding: 0;
-      overflow: hidden;
-      position: relative;
-      .input-padding {
-        margin: 0 2px;
-      }
-    }
-    .el-select {
-      width: 100%;
-    }
-
-    .maturityDate {
-      .el-date-editor.el-input,
-      .el-date-editor.el-input__inner {
-        width: calc(100% - 135px);
-      }
-    }
-    .maturityDate .el-checkbox {
-      height: 40px;
-      line-height: 40px;
-      width: 80px;
-      margin-right: 8px;
-    }
-    .warnInAdvance {
-      .el-input {
-        width: calc(100% - 50px);
-      }
-      span {
-        height: 40px;
-        line-height: 40px;
-        width: 20px;
-        margin-right: 0px;
-        display: inline-block;
-        padding-left: 5px;
-      }
-    }
-    .add-details {
-      position: relative;
-      width: 100%;
-      .add-list {
-        position: absolute;
-        right: 20px;
-        top: -20px;
-        width: 100px;
-      }
-    }
-    .label-box {
-      .label-title {
-        display: inline;
-      }
-    }
-    .div-el-form-item {
-      text-align: left;
-    }
-  }
-}
-.label-btitle {
-  margin: 10px 0 10px 18px;
-  font-size: 14px;
-}
-.span-money {
-  font-size: 14px;
-  margin: 0 10px;
-  font-weight: bold;
-  /deep/.el-input--medium {
-    padding: 0 0 8px 0;
-  }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-
-  .el-cascader__label {
-    color: #606266 !important;
-  }
-  .el-input__inner:hover {
-    background-color: #fff !important;
-    border: 0;
-    color: #606266;
-  }
-  .el-input__inner {
-    background-color: #fff !important;
-    border: 0;
-    color: #606266;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    resize: none;
-    color: #606266;
-    border: 0;
-  }
-}
-.el-textarea__inner {
-  resize: none;
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-</style>

+ 0 - 41
src/views/procurement/procurementMaterial/component/Dropdown/Comment.vue

@@ -1,41 +0,0 @@
-<template>
-  <el-dropdown :show-timeout="100" trigger="click">
-    <ws-button plain>
-      {{ !comment_disabled?'Comment: opened':'Comment: closed' }}
-      <i class="el-icon-caret-bottom el-icon--right" />
-    </ws-button>
-    <ws-dropdown-menu slot="dropdown" class="no-padding">
-      <ws-dropdown-item>
-        <ws-radio-group v-model="comment_disabled" style="padding: 10px;">
-          <ws-radio :label="true">
-            Close comment
-          </ws-radio>
-          <ws-radio :label="false">
-            Open comment
-          </ws-radio>
-        </ws-radio-group>
-      </ws-dropdown-item>
-    </ws-dropdown-menu>
-  </el-dropdown>
-</template>
-
-<script>
-export default {
-  props: {
-    value: {
-      type: Boolean,
-      default: false
-    }
-  },
-  computed: {
-    comment_disabled: {
-      get() {
-        return this.value
-      },
-      set(val) {
-        this.$emit('input', val)
-      }
-    }
-  }
-}
-</script>

+ 0 - 48
src/views/procurement/procurementMaterial/component/Dropdown/Platform.vue

@@ -1,48 +0,0 @@
-<template>
-  <ws-dropdown :hide-on-click="false" :show-timeout="100" trigger="click">
-    <ws-button plain>
-      Platfroms({{ platforms.length }})
-      <i class="el-icon-caret-bottom el-icon--right" />
-    </ws-button>
-    <ws-dropdown-menu slot="dropdown" class="no-border">
-      <ws-checkbox-group v-model="platforms" style="padding: 5px 15px;">
-        <ws-checkbox
-          v-for="item in platformsOptions"
-          :key="item.key"
-          :label="item.key"
-        >{{ item.name }}</ws-checkbox>
-      </ws-checkbox-group>
-    </ws-dropdown-menu>
-  </ws-dropdown>
-</template>
-
-<script>
-export default {
-  props: {
-    value: {
-      required: true,
-      default: () => [],
-      type: Array
-    }
-  },
-  data() {
-    return {
-      platformsOptions: [
-        { key: 'a-platform', name: 'a-platform' },
-        { key: 'b-platform', name: 'b-platform' },
-        { key: 'c-platform', name: 'c-platform' }
-      ]
-    };
-  },
-  computed: {
-    platforms: {
-      get() {
-        return this.value;
-      },
-      set(val) {
-        this.$emit('input', val);
-      }
-    }
-  }
-};
-</script>

+ 0 - 36
src/views/procurement/procurementMaterial/component/Dropdown/SourceUrl.vue

@@ -1,36 +0,0 @@
-<template>
-  <ws-dropdown :show-timeout="100" trigger="click">
-    <ws-button plain>
-      Link
-      <i class="el-icon-caret-bottom el-icon--right" />
-    </ws-button>
-    <ws-dropdown-menu slot="dropdown" class="no-padding no-border" style="width:400px">
-      <ws-form-item label-width="0px" style="margin-bottom: 0px" prop="source_uri">
-        <ws-input v-model="source_uri" placeholder="Please enter the content">
-          <template slot="prepend">URL</template>
-        </ws-input>
-      </ws-form-item>
-    </ws-dropdown-menu>
-  </ws-dropdown>
-</template>
-
-<script>
-export default {
-  props: {
-    value: {
-      type: String,
-      default: ''
-    }
-  },
-  computed: {
-    source_uri: {
-      get() {
-        return this.value;
-      },
-      set(val) {
-        this.$emit('input', val);
-      }
-    }
-  }
-};
-</script>

+ 0 - 3
src/views/procurement/procurementMaterial/component/Dropdown/index.js

@@ -1,3 +0,0 @@
-export { default as CommentDropdown } from './Comment'
-export { default as PlatformDropdown } from './Platform'
-export { default as SourceUrlDropdown } from './SourceUrl'

+ 0 - 37
src/views/procurement/procurementMaterial/component/approvalProcess.vue

@@ -1,37 +0,0 @@
-<!-- 采购申请-审核流程-->
-<!-- 2019年6月14日 14:32:39 by zw -->
-<template>
-  <div>
-    <section>
-      <ws-normal-table :data="auditList" fit highlight-current-row style="width: 100%">
-        <ws-table-column :label="$t('common.name')" width="180">
-          <template slot-scope="{row}">
-            <span>{{ row.operatorName }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('common.time')" width="180">
-          <template slot-scope="{row}">
-            <span>{{ row.claimTime }}</span>
-          </template>
-        </ws-table-column>
-
-        <!-- 是否通过TODO -->
-        <!-- <ws-table-column :label="$t('common.approved')" width="180">
-          <template slot-scope="{row}">
-            <span>{{ row.approved? $t('common.pass'):$t('common.noPass') }}</span>
-          </template>
-        </ws-table-column>-->
-        <ws-table-column :label="$t('common.opinion')">
-          <template slot-scope="{row}">
-            <span>{{ row.approved? $t('common.pass'):$t('common.noPass') }}</span>
-            <br />
-            <span>{{ row.auditMind }}</span>
-          </template>
-        </ws-table-column>
-      </ws-normal-table>
-    </section>
-  </div>
-</template>
-
-<script src="../../../../viewsjs/procurement/procurementMaterial/component/approvalProcess.js">
-

+ 0 - 701
src/views/procurement/procurementMaterial/component/purApplDetail.vue

@@ -1,701 +0,0 @@
-<!--组件-采购申请单明细-->
-<!-- 2019年5月29日 12:00:20 by zw-->
-<template>
-  <div>
-    <ws-class-table :data="deviceList"
-                    childrenKey="partList"
-                    :check="false">
-      <template v-slot:group-header="{ group, groupIndex }">
-        <ws-row style="width:100%;">
-          <ws-col :span="1">
-            <div class="bg-purple-dark"
-                 style="padding-left:10px;">
-              <ws-checkbox v-show="isSplit"
-                           v-model="group.checked"
-                           @change="checkedOper(groupIndex)" />
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark"
-                 @click.stop>
-              <span style="font-size: 13px;color: #4a89f1;">{{ $t('cg.cgsmadetail.maTypeName') }}{{$t('common.colon')}}</span>
-              <ws-input :clearable="false"
-                        v-if="isEdit"
-                        v-model="group.maTypeName"
-                        class="edit-input"
-                        size="small"
-                        style="width:50%;border:0px"
-                        maxlength="200" />
-              <span v-else
-                    :title="
-                  getLanguage === 'en' &&
-                  group.maTypeNameEn &&
-                  group.maTypeNameEn.length > 0
-                    ? group.maTypeNameEn
-                    : group.maTypeName
-                ">{{
-                  getLanguage === 'en' &&
-                  group.maTypeNameEn &&
-                  group.maTypeNameEn.length > 0
-                    ? group.maTypeNameEn
-                    : group.maTypeName
-                }}</span>
-            </div>
-          </ws-col>
-        </ws-row>
-      </template>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.spId')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-checkbox class="col-edit-input"
-                       v-if="isSplit"
-                       v-model="data.checked"
-                       @change="sonCheckedOper(groupIndex, rowIndex)" />
-          {{ data.newIndex }}
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t(typeName)">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <!--  v-model="
-              getLanguage === 'en' &&
-              data.materialNameEn &&
-              data.materialNameEn.length > 0
-                ? data.materialNameEn
-                : data.materialName
-            " -->
-          <ws-input :title="
-              getLanguage === 'en' &&
-              data.materialNameEn &&
-              data.materialNameEn.length > 0
-                ? data.materialNameEn
-                : data.materialName
-            "
-                    :clearable="false"
-                    :value="
-              getLanguage === 'en' &&
-              data.materialNameEn &&
-              data.materialNameEn.length > 0
-                ? data.materialNameEn
-                : data.materialName
-            "
-                    @input="
-              getLanguage === 'en' &&
-              data.materialNameEn &&
-              data.materialNameEn.length > 0
-                ? (data.materialNameEn = $event.target.value)
-                : (data.materialName = $event.target.value)
-            "
-                    size="mini"
-                    :disabled="isEdit ? false : true"
-                    maxlength="200" />
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.materialCode')"
-                          v-if="typeName == 'rt.storeName'">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :title="data.materialCode"
-                    :clearable="false"
-                    v-model="data.materialCode"
-                    size="mini"
-                    :disabled="isEdit ? false : true"
-                    maxlength="20" />
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.specification')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :title="data.specification"
-                    :clearable="false"
-                    v-model="data.specification"
-                    size="mini"
-                    :disabled="isEdit ? false : true"
-                    maxlength="100" />
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.maDescription')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :title="data.maDescription"
-                    :clearable="false"
-                    v-model="data.maDescription"
-                    size="mini"
-                    :disabled="isEdit ? false : true"
-                    maxlength="200" />
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.measurementUnit')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <span>{{ data.measurementUnit }}</span>
-          <!-- <el-select v-model="data.measurementUnitId" :placeholder="isEdit?$t('common.selected'):''" :disabled="isEdit?false:true" size="mini">
-            <ws-option v-for="l in measurementList" :key="l.constKey" :label="language=='en'? l.constValue:l.constValue" :value="l.constKey" />
-          </el-select> -->
-        </template>
-      </ws-class-table-col>
-      <!--  <ws-class-table-col
-        :label="$t('cg.cgsmadetail.subjectId')"
-        v-if="isHasFinance"
-      >
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div class="col-edit-cascader" v-if="isEdit == true">
-            <el-cascader
-              v-model="data.subjectId"
-              :options="subjectList"
-              clearable
-              :show-all-levels="false"
-              style="width: 100%;"
-              :placeholder="isParentEdit ? $t('common.selected') : ''"
-            />
-          </div>
-          <span
-            :title="(cascader(data.subjectId, data) || '') + data.subjectName"
-            class="col-edit-input"
-            style="line-height: 25px;"
-            v-else
-            >{{ cascader(data.subjectId, data) }} {{ data.subjectNamesubjectName }}</span
-          >
-        </template>
-      </ws-class-table-col>-->
-      <ws-class-table-col :label="$t('cg.cgsmadetail.enquiryBrand')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :title="data.brandName"
-                    :clearable="false"
-                    v-model="data.brandName"
-                    size="mini"
-                    :disabled="isEdit ? false : true"
-                    maxlength="50" />
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.applQuantity')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-model="data.applQuantity"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    :disabled="isEdit ? false : true"
-                    maxlength="18" />
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.verifyQuantity')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-model="data.verifyQuantity"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    :disabled="isEdit ? false : true"
-                    @blur="
-              data.verifyQuantity
-                ? data.verifyQuantity
-                : (data.verifyQuantity = data.applQuantity)
-            "
-                    maxlength="18" />
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.remark')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div class="col-edit-input"
-               v-if="isEdit == true">
-            <el-input v-model="data.remark"
-                      size="mini"
-                      maxlength="200" />
-          </div>
-          <span :title="data.remark"
-                class="col-edit-input"
-                style="line-height: 25px;"
-                v-else>{{ data.remark }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col v-if="isEdit"
-                          :label="$t('cg.cgsmadetail.operation')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-dropdown placement="bottom-start">
-            <span class="el-dropdown-link">
-              <i class="iconfont iconcaozuoy" />
-            </span>
-            <ws-dropdown-menu slot="dropdown">
-              <ws-dropdown-item>
-                <div v-show="isDelDetailss"
-                     @click="deleteList(groupIndex, rowIndex)">
-                  {{ $t('button.delete') }}
-                </div>
-              </ws-dropdown-item>
-              <ws-dropdown-item>
-                <div v-show="isAddDetailss"
-                     @click="addList(groupIndex)">
-                  {{ $t('button.add') }}
-                </div>
-              </ws-dropdown-item>
-            </ws-dropdown-menu>
-          </ws-dropdown>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.accessory')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <showFile :v-model.sync="data.appendixId"
-                    :editable="isEdit"
-                    set-oss-key="procurement.procurementMaterial.applDetail"
-                    table-name="materielApplDetail"></showFile>
-        </template>
-      </ws-class-table-col>
-    </ws-class-table>
-  </div>
-</template>
-
-<script>
-import {
-  getTypeList,
-  // getApplySubject,
-  delApplTemp,
-  customDropDown
-} from '@/model/procurement/material'
-import showFile from '@/components/Upload/showFile.vue' // 文件显示
-import { hasSupply } from '@/model/procurement/basic' // api接口
-import { EventBus } from 'base-core-lib'
-
-export default {
-  components: {
-    showFile
-  },
-  props: {
-    isHasFinance: {
-      type: Boolean,
-      default: true
-    },
-    typeName: {
-      type: String,
-    }
-  },
-  data () {
-    return {
-      //  当前操作行定位
-      listRow: {
-        index: 0,
-        i: 0
-      },
-      deviceListShow: [],
-      defaultFileShow: [],
-      dialogVisible: false,
-      // 判断采购input显示不显示
-      isEdit: true,
-      // 计量单位结构
-      measurementList: [],
-      // 所属科目结构
-      subjectList: [],
-      // 品牌结构
-      brandList: [],
-
-      isAddDetailss: true,
-
-      isDelDetailss: true,
-      isSupply: true,
-      // 采购明细数据结构
-      deviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-      isSplit: this.$parent.isSplit,
-
-      // 公司ID
-      companyId: sessionStorage.getItem('ws-pf_compId'),
-
-      // 获取当前语言
-      language: ''
-    }
-  },
-  computed: {
-    getLanguage () {
-      let language = this.$store.state.app.language
-      return language
-    }
-  },
-  watch: {
-    deviceList () { }
-  },
-  created () {
-    this.language = this.$store.getters.language
-    // 计量单位
-    this.getPurSelectType('MATERIAL_MEASUREMENT_UNIT')
-    // 品牌
-    this.getPurSelectType('MABRAND')
-    // 所属科目
-    // this.getPurSelectSubjectList()
-    this.setIsSupply()
-  },
-  methods: {
-    // 是否有供应模块
-    setIsSupply () {
-      hasSupply()
-        .toPromise()
-        .then(succ => {
-          this.isSupply = succ
-          // this.isSupply = false;
-        })
-        .catch(err => {
-          EventBus.$emit('error', err.message)
-        })
-    },
-    cascader (val, ci) {
-      if (val) {
-        let vals = null
-        if (typeof val === 'object') {
-          vals = val
-        } else {
-          vals = val.split(',')
-        }
-
-        let label = this.cascaderList(this.subjectList, vals[vals.length - 1])
-        if (typeof label === 'undefined') {
-          label = ''
-        }
-        ci.subjectName = label
-      }
-    },
-
-    cascaderList (datalist, id) {
-      let label = null
-      for (const key in datalist) {
-        const e = datalist[key]
-        if (
-          typeof e.children !== 'undefined' &&
-          e.children &&
-          e.children.length > 0
-        ) {
-          label = this.cascaderList(e.children, id)
-        } else {
-          if (e.value === id) {
-            return e.label
-          }
-        }
-        if (label) {
-          return label
-        }
-      }
-    },
-    indexMethod (index) {
-      return index * 2
-    },
-    getFileUrl (msg) { },
-    delFileUrl (msg) { },
-    // #region 下拉选择
-
-    // 根据获取select类型
-    getPurSelectType (type) {
-      if (type === 'MEASUREMENT_UNIT') {
-        customDropDown({
-          compId: sessionStorage.getItem('ws-pf_compId'),
-          constCode: 'MATERIAL_MEASUREMENT_UNIT'
-        }).toPromise().then(response => {
-          // 计量单位
-          this.measurementList = response
-        })
-      } else {
-        // 品牌
-        // 获取数据
-        getTypeList({
-          compId: sessionStorage.getItem('ws-pf_compId'),
-          constCode: type
-        }).toPromise().then(response => {
-          // 计量单位
-          this.brandList = response
-        })
-      }
-    },
-
-    // 根据申请单ID获取所属科目
-    getPurSelectSubjectList () {
-      // 获取数据
-      // getApplySubject({
-      //   compId: this.companyId,
-      //   subjectType: '0'
-      // }).then(response => {
-      //   this.subjectList = response.data
-      // })
-    },
-
-    // #endregion
-
-    // #region 方法
-
-    // 添加备件明细列表
-    addList (index, i) {
-      this.deviceList[index].partList.push({
-        checked: false,
-
-        id: '',
-        applId: '',
-        spName: '',
-        partsDeviceName: '',
-        spCode: '',
-        specification: '',
-        subjectId: '',
-        brandId: '',
-        applQuantity: '',
-        verifyQuantity: '',
-        remark: ''
-      })
-    },
-
-    // 删除采购明细列表
-    deleteList (index, i) {
-      this.$confirm(this.$t('message.isdelete'), this.$t('message.warn'), {
-        confirmButtonText: this.$t('message.confirm'),
-        cancelButtonText: this.$t('message.cancel'),
-        type: 'warning'
-      })
-        .then(async () => {
-          if (this.deviceList[index].partList[i].id.length > 0) {
-            delApplTemp({
-              id: this.deviceList[index].partList[i].id
-            }).toPromise()
-              .then(response => {
-                this.deviceList[index].partList.splice(i, 1)
-
-                if (this.deviceList[index].partList.length === 0) {
-                  this.deviceList.splice(index, 1)
-                }
-                EventBus.$emit('success', this.$t('message.message1'))
-              })
-              .catch(() => {
-                EventBus.$emit('error', this.$t('message.message2'))
-              })
-          } else {
-            this.deviceList[index].partList.splice(i, 1)
-
-            if (this.deviceList[index].partList.length === 0) {
-              this.deviceList.splice(index, 1)
-            }
-            EventBus.$emit('success', this.$t('message.message1'))
-          }
-        })
-        .catch(err => {
-          console.error(err)
-        })
-    },
-
-    // 部件操作处理
-    checkedOper (index) {
-      // if (this.deviceList[index].checked) {
-      for (var i = 0; i < this.deviceList[index].partList.length; i++) {
-        this.deviceList[index].partList[i].checked = this.deviceList[
-          index
-        ].checked
-      }
-      // }
-    },
-
-    // 备件操作处理
-    sonCheckedOper (index, i) {
-      if (this.deviceList[index].partList[i].checked) {
-        this.deviceList[index].checked = true
-      } else {
-        let isCheck = false
-        for (let h = 0; h < this.deviceList[index].partList.length; h++) {
-          if (this.deviceList[index].partList[h].checked) {
-            isCheck = true
-            break
-          }
-        }
-
-        this.deviceList[index].checked = isCheck
-      }
-    }
-
-    // #endregion
-  }
-}
-</script>
-<style lang="scss" scoped>
-/deep/.el-cascader {
-  line-height: 36px !important;
-}
-/deep/.el-input.is-disabled .el-input__inner {
-  background-color: #fff;
-  border-color: #fff;
-  color: #000;
-  cursor: text;
-  padding: 0;
-  text-align: center;
-}
-.col-edit-title {
-  line-height: 27px;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  -webkit-box-orient: vertical;
-}
-.myDialog {
-  // height: 500px;
-
-  overflow: auto;
-}
-.purDiv {
-  border-right: 1px solid #ccc;
-  border-left: 1px solid #ccc;
-  .el-row {
-    margin-bottom: 0px;
-    .el-checkbox__input {
-      margin-left: 0.7em;
-      display: block;
-      line-height: 34px;
-    }
-  }
-  /deep/.el-collapse-item__header {
-    background-color: #e2edfa !important;
-    border-top: 1px solid #c2defb;
-    border-bottom: 1px solid #c2defb;
-    height: 37px;
-    line-height: 35px;
-  }
-  /deep/.purspappl-details {
-    min-height: 40px;
-    // line-height: 40px;
-    border-bottom: 1px solid #ccc !important;
-    box-sizing: border-box;
-    -moz-box-sizing: border-box; /* Firefox */
-    -webkit-box-sizing: border-box; /* Safari */
-  }
-}
-.purDiv .el-input__inner {
-  padding: 0 5px;
-  height: 32px !important;
-  line-height: 32px !important;
-}
-.bg-purple-dark {
-  background: #e2edfa;
-}
-.bg-purple {
-  line-height: 40px;
-  background: #eeeeee;
-  font-size: 13px;
-  text-align: left;
-  padding-left: 5px;
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-
-.row-bg {
-  background: #f6f6f6;
-  font-size: 13px;
-  text-align: center;
-  background-color: #f9fafc;
-}
-.el-collapse-item__header {
-  background-color: #eeeeee;
-  height: 37px;
-  line-height: 35px;
-}
-.purspappl-details {
-  // line-height: 40px;
-}
-.el-row {
-  text-align: center;
-}
-.col-edit {
-  text-align: left;
-  .col-edit-cascader {
-    width: 95%;
-    display: inline-block;
-    line-height: 27px;
-  }
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-}
-.purDiv {
-  .div-collapse {
-    border-bottom: 1px solid #ccc !important;
-    .el-collapse-item__content {
-      padding-bottom: 0;
-      background-color: #fff;
-    }
-    .el-collapse-item__header {
-      background-color: #e2edfa;
-      border-top: 1px solid #c2defb;
-      border-bottom: 1px solid #c2defb;
-    }
-    .el-collapse-item__wrap {
-      border-bottom: 1px solid #e6ebf5 !important;
-    }
-  }
-  .purspappl-details {
-    line-height: 9px;
-    // border-bottom: 1px solid #ccc !important;
-  }
-}
-
-.add {
-  position: absolute;
-  right: 60px;
-  z-index: 999;
-}
-button {
-  border: 0px;
-  height: 28px;
-  background-color: #e74c3c;
-  border: 1px solid #e74c3c;
-  color: #fff;
-  border-radius: 16px;
-}
-.el-collapse-item__content {
-  padding-bottom: 0;
-}
-
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .bg-purple-dark {
-    .el-input__inner {
-      color: #1d6ced;
-      background-color: #e2edfa !important;
-      border: 0;
-    }
-  }
-  .el-input__suffix {
-    .el-input__suffix-inner {
-      display: none;
-    }
-  }
-  .col-edit {
-    .col-edit-input {
-      .is-disabled {
-        .el-input__inner:hover {
-          background-color: #fff !important;
-          border: 0;
-        }
-        .el-input__inner {
-          background-color: #fff !important;
-          border: 0;
-        }
-      }
-    }
-  }
-}
-
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-}
-/deep/.is-disabled {
-  /deep/.el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000;
-    cursor: text;
-    padding: 0;
-    text-align: center;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-</style>

+ 0 - 526
src/views/procurement/procurementMaterial/component/purBillDetails.vue

@@ -1,526 +0,0 @@
-<!-- 采购结算明细-->
-<!--2019年6月12日 15:47:25 by jlx-->
-
-<template>
-  <div style="margin-top: 10px;">
-    <ws-class-table :data="deviceList"
-                    childrenKey="partList"
-                    :check="false">
-      <template v-slot:group-header="{ group, groupIndex }">
-        <ws-row style="width:100%">
-          <ws-col :span="1">
-            <div class="bg-purple-dark"
-                 style="padding-left:10px;">
-              <el-checkbox v-show="isSplit"
-                           v-model="group.checked" />
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgsmadetail.maTypeName') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="
-                  languageVal === 'en' &&
-                  group.maTypeNameEn &&
-                  group.maTypeNameEn.length > 0
-                    ? group.maTypeNameEn
-                    : group.maTypeName
-                ">{{
-                  languageVal === 'en' &&
-                  group.maTypeNameEn &&
-                  group.maTypeNameEn.length > 0
-                    ? group.maTypeNameEn
-                    : group.maTypeName
-                }}</span>
-            </div>
-          </ws-col>
-          <ws-col :span="4"
-                  :offset="15">
-            <div style=" text-align: right;margin-right: 10px">
-              <span>{{
-                $t('cg.cgsparedetail.total') + $t('common.colon')
-              }}</span>
-              <span>{{ group.groupMoney }}{{ currencyName }}</span>
-            </div>
-          </ws-col>
-        </ws-row>
-      </template>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.spId')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.newIndex
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t(typeName)">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          languageVal === 'en' &&
-          data.materialNameEn &&
-          data.materialNameEn.length > 0
-            ? data.materialNameEn
-            : data.materialName
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col v-if="typeName == 'rt.storeName'"
-                          :label="$t('cg.cgsmadetail.materialCode')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.materialCode
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.specification')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.specification
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.maDescription')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.maDescription
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.measurementUnit')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.measurementUnit
-        }}</template>
-      </ws-class-table-col>
-      <!--   <ws-class-table-col :label="$t('cg.cgsmadetail.subjectId')"
-                          v-if="isHasFinance">
-        <template
-                  v-slot="{ data, colIndex, rowIndex, groupIndex }">{{ cascader(data.subjectId, data) }}
-          {{ data.subjectName }}</template>
-      </ws-class-table-col>-->
-      <ws-class-table-col :label="$t('cg.cgsmadetail.purchaseQuantity')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.applQuantity
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.inStoreQuantity')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input v-if="isVerifyQuantity || (!clientFlag && (status == '71' || status == '72'))"
-                    :clearable="false"
-                    v-model="data.inStoreQuantity"
-                    size="mini"
-                    @change="subTotal(groupIndex, rowIndex)"
-                    maxlength="18" />
-          <span v-else>{{ data.inStoreQuantity }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.unitPrice')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          isNaN(data.bargainPrice) ? 0.0 : data.bargainPrice
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col align="center"
-                          :label="$t('cg.cgsmadetail.settlementPrice')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <el-input v-model="data.decidePrice"
-                    v-if="isEdit && data.inStoreQuantity !== 0"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    @change="subTotal(groupIndex, rowIndex)"
-                    maxlength="18" />
-          <span v-if="isEdit && data.inStoreQuantity == 0">{{ '--' }}</span>
-          <span v-if="!isEdit">{{ data.decidePrice }}</span>
-        </template>
-      </ws-class-table-col>
-      <!-- <ws-class-table-col align="center"
-                          :label="$t('cg.cgsparedetail.taxes')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-model="data.taxes"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    :disabled="isEdit ? false : true"
-                    @change="subTotal(groupIndex, rowIndex, true)"
-                    maxlength="18" />
-        </template> -->
-      <!-- 税率 -->
-      <ws-class-table-col :label="$t('cg.cgsparedetail.taxRate')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input-number :min="0"
-                           v-model="data.taxRate"
-                           :placeholder="isEdit ? $t('common.input') : ''"
-                           v-if="isEdit && data.inStoreQuantity !== 0"
-                           maxlength="18" />
-          <span v-if="isEdit && data.inStoreQuantity == 0">{{ '--' }}</span>
-          <span v-if="!isEdit"
-                :title="$ph(data.taxRate)">{{ $ph(data.taxRate) }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col align="center"
-                          :label="$t('cg.cgsmadetail.subtotal')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{parseFloat(data.subtotal).toFixed(2)}}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('salaryInfo.subject')" v-if="isHasFinance">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <el-cascader style="width: 100%;"
-                       v-if="isEdit && purchaseTypeName == '直接供船'"
-                       v-model="data.subjectId"
-                       :options="applySubjectList"
-                       :props="{ checkStrictly: true }"
-                       @change="changeChildSubject(data.subjectId,groupIndex, rowIndex)"/>
-          <span :title="data.subjectNames" v-else> {{ data.subjectNames }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.remark')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div class="col-edit-input"
-               v-if="isEdit == true">
-            <el-input v-model="data.remark"
-                      size="mini"
-                      maxlength="200" />
-          </div>
-          <span class="col-edit-input"
-                style="line-height: 25px;"
-                v-else>{{
-            data.remark
-          }}</span>
-        </template>
-      </ws-class-table-col>
-
-      <ws-class-table-col :label="$t('cg.cgsmadetail.accessory')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <showFile :v-model.sync="data.appendixId"
-                    :editable="isEdit"
-                    set-oss-key="procurement.procurementMaterial.billDetail"
-                    table-name="materielBillDetail"></showFile>
-        </template>
-      </ws-class-table-col>
-    </ws-class-table>
-  </div>
-</template>
-
-<script>
-import {
-  getTypeList
-  // delApplTemp
-} from '@/model/procurement/material'
-import showFile from '@/components/Upload/showFile.vue' // 文件显示
-import { findTenantServiceType } from '@/model/indexRx'
-
-export default {
-  inject: ['ariDiscount'],
-  components: {
-    showFile
-  },
-  props: {
-    currencyName: {
-      // 金额单位
-      type: String,
-      default: ''
-    },
-    isHasFinance: {
-      type: Boolean,
-      default: true
-    },
-    taxRate: {
-      type: Number,
-      default: 0
-    },
-    typeName: {
-      type: String,
-      default: ''
-    },
-    applySubjectList: {
-      // 科目
-      type: Array,
-    },
-    purchaseTypeName: {
-      // 采购类型
-      type: String,
-      default: ''
-    },
-    clientFlag: {
-      type: Boolean,
-      default: true
-    },
-    status: {
-      type: String,
-      default: ''
-    },
-  },
-  data () {
-    return {
-      isVerifyQuantity: false,
-      // 判断结算明细input显示不显示
-      isEdit: true,
-      // 计量单位结构
-      measurementList: [],
-      isParentEdit: false,
-      // 所属科目结构
-      subjectList: [],
-      // 品牌结构
-      brandList: [],
-      // 采购类型
-      purchaseType: true,
-      // 采购明细数据结构
-      deviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-      isSplit: this.$parent.isSplit,
-      deviceListShow: [],
-      // 公司ID
-      companyId: sessionStorage.getItem('ws-pf_compId'),
-
-      // 获取当前语言
-      language: ''
-    }
-  },
-  watch: {
-    taxRate (newValue, OldValue) {
-      if (newValue !== OldValue && newValue) {
-        this.changeInfoTaxRate(newValue, OldValue)
-      }
-    }
-  },
-  computed: {
-    languageVal () {
-      let language = this.$store.state.app.language
-      return language
-    }
-  },
-  created () {
-    this.language = this.$store.getters.language
-    // 计量单位
-    this.getSelectType('MATERIAL_MEASUREMENT_UNIT')
-    // 品牌
-    this.getSelectType('MABRAND')
-    this.doIsVerifyQuantity()
-  },
-  methods: {
-    changeChildSubject(val,groupIndex, rowIndex){
-      let ids = []
-      let names = []
-      val.map(item => {
-        ids.push(item.split('-')[0])
-        names.push(item.split('-')[1])
-      })
-      this.deviceList[groupIndex].partList[rowIndex].subjectIds = ids.join(',')
-      this.deviceList[groupIndex].partList[rowIndex].subjectNames = names.join('/')
-    },
-    changeInfoTaxRate (val, oldVal) {
-      this.deviceList.map(item => item.partList.map(partListMap => partListMap.taxRate = val))
-    },
-    doIsVerifyQuantity () {
-      findTenantServiceType().toPromise().then(res => {
-        if (this.isEdit) {
-          if (res === 'SHIP_CLIENT') {
-            this.isVerifyQuantity = false
-          }
-          if (res === 'COAST_CLIENT') {
-            this.isVerifyQuantity = true
-          }
-          if (res === 'SHIP_COAST_CLIENT') {
-            this.isVerifyQuantity = false
-          }
-        }
-      })
-    },
-    cascader (val, ci) {
-      if (val) {
-        let vals = null
-        if (typeof val === 'object') {
-          vals = val
-        } else {
-          vals = val.split(',')
-        }
-
-        let label = this.cascaderList(this.subjectList, vals[vals.length - 1])
-        if (typeof label === 'undefined') {
-          label = ''
-        }
-        ci.subjectName = label
-      }
-    },
-
-    cascaderList (datalist, id) {
-      let label = null
-      for (const key in datalist) {
-        const e = datalist[key]
-        if (
-          typeof e.children !== 'undefined' &&
-          e.children &&
-          e.children.length > 0
-        ) {
-          label = this.cascaderList(e.children, id)
-        } else {
-          if (e.value === id) {
-            return e.label
-          }
-        }
-        if (label) {
-          return label
-        }
-      }
-    },
-    indexMethod (index) {
-      return index * 2
-    },
-
-    // 根据获取select类型
-    getSelectType (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        if (type === 'MATERIAL_MEASUREMENT_UNIT') {
-          // 计量单位
-          this.measurementList = response
-        } else {
-          // 品牌
-          this.brandList = response
-        }
-      })
-    },
-
-    // 备件小计
-    subTotal (s) {
-      this.deviceList.reverse()
-      this.deviceList.reverse()
-      this.ariDiscount()
-    }
-  }
-}
-</script>
-<style lang="scss" scoped>
-.bg-purple {
-  line-height: 40px;
-  background: #eeeeee;
-  font-size: 13px;
-  text-align: left;
-  padding-left: 5px;
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-.purDiv {
-  .el-input__inner {
-    padding: 0 5px;
-    height: 32px !important;
-    line-height: 32px !important;
-  }
-  .div-collapse {
-    border-bottom: 1px solid #ccc !important;
-    .el-collapse-item__content {
-      padding-bottom: 0;
-      background-color: #fff;
-    }
-    .el-collapse-item__header {
-      background-color: #e2edfa;
-      border-top: 1px solid #c2defb;
-      border-bottom: 1px solid #c2defb;
-      height: 37px;
-      line-height: 35px;
-    }
-    .purspappl-details {
-      line-height: 9px;
-      // border-bottom: 1px solid #ccc !important;
-      box-sizing: border-box;
-      -moz-box-sizing: border-box; /* Firefox */
-      -webkit-box-sizing: border-box; /* Safari */
-    }
-  }
-}
-.row-bg {
-  background: #f6f6f6;
-  font-size: 13px;
-  text-align: center;
-  background-color: #f9fafc;
-}
-.el-collapse-item__header {
-  background-color: #eee;
-}
-.purspappl-details {
-  // line-height: 40px;
-}
-.el-row {
-  text-align: center;
-}
-.col-edit {
-  text-align: left;
-  .col-edit-cascader {
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-}
-.pur-input {
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 38px;
-    word-wrap: break-word;
-    word-break: break-all;
-    overflow: hidden;
-  }
-}
-
-.div-collapse .el-collapse-item__content {
-  padding-bottom: 0;
-}
-.add {
-  position: absolute;
-  right: 60px;
-  z-index: 999;
-}
-.col-edit-title {
-  text-align: left;
-}
-.el-collapse-item__content {
-  padding-bottom: 0;
-}
-
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .col-edit {
-    .col-edit-input {
-      .is-disabled {
-        .el-input__inner:hover {
-          background-color: #fff !important;
-          border: 0;
-        }
-        .el-input__inner {
-          background-color: #fff !important;
-          border: 0;
-        }
-        .el-input__suffix {
-          display: none;
-        }
-      }
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-}
-/deep/.is-disabled {
-  /deep/.el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000;
-    cursor: text;
-    padding: 0;
-    text-align: center;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-</style>

+ 0 - 648
src/views/procurement/procurementMaterial/component/purChassDetails.vue

@@ -1,648 +0,0 @@
-<!--采购单 采购明细-->
-<!--2019年6月12日 23:45:43 by jlx-->
-<template>
-  <div style="margin-top: 10px;">
-    <!-- 采购历史 -->
-    <purHistory ref="purHistory"
-                show-type="ma" />
-    <ws-class-table :data="deviceList"
-                    childrenKey="partList"
-                    :check="false">
-      <template v-slot:group-header="{ group, groupIndex }">
-        <ws-row style="width:100%">
-          <ws-col :span="20">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgsmadetail.maTypeName') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="
-                  languageVal === 'en' &&
-                  group.maTypeNameEn &&
-                  group.maTypeNameEn.length > 0
-                    ? group.maTypeNameEn
-                    : group.maTypeName
-                ">{{
-                  languageVal === 'en' &&
-                  group.maTypeNameEn &&
-                  group.maTypeNameEn.length > 0
-                    ? group.maTypeNameEn
-                    : group.maTypeName
-                }}</span>
-            </div>
-          </ws-col>
-          <ws-col :span="4">
-            <div style=" text-align: right;margin-right: 10px">
-              <span>{{
-                $t('cg.cgsparedetail.total') + $t('common.colon')
-              }}</span>
-              <span>{{ group.groupMoney }}{{ currencyName }}</span>
-            </div>
-          </ws-col>
-        </ws-row>
-      </template>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.spId')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.newIndex
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t(typeName)">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          languageVal === 'en' &&
-          data.materialNameEn &&
-          data.materialNameEn.length > 0
-            ? data.materialNameEn
-            : data.materialName
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col v-if="typeName == 'rt.storeName'"
-                          :label="$t('cg.cgsmadetail.materialCode')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          $ph(data.materialCode)
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.specification')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          $ph(data.specification)
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.maDescription')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          $ph(data.maDescription)
-        }}</template>
-      </ws-class-table-col>
-      <!-- 单位 -->
-      <ws-class-table-col :label="$t('cg.cgsmadetail.measurementUnit')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          $ph(data.measurementUnit)
-        }}</template>
-      </ws-class-table-col>
-      <!-- <ws-class-table-col :label="$t('cg.cgsmadetail.subjectId')"
-                          v-if="isHasFinance">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <span
-                :title="cascader(data.subjectId, data) || '' + data.subjectName">{{ cascader(data.subjectId, data) }}
-            {{ $ph(data.subjectName) }}</span>
-        </template>
-      </ws-class-table-col>-->
-      <!-- 品牌 -->
-      <ws-class-table-col :label="$t('cg.cgsmadetail.brandName')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          $ph(data.brandName)
-        }}</template>
-      </ws-class-table-col>
-      <!-- 核定数 -->
-      <ws-class-table-col :label="$t('cg.cgsmadetail.verifyQuantity')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          $ph(data.applQuantity)
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.purchaseQuantity')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-model="data.verifyQuantity"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    v-if="isEdit && permissionIf(`${$permission('PERMISSIONS.PURMAPURCHASINFO_Modify')}`)"
-                    @blur="
-              data.verifyQuantity
-                ? data.verifyQuantity
-                : (data.verifyQuantity = data.applQuantity)
-            "
-                    @input.native="subTotal(groupIndex, rowIndex)"
-                    maxlength="18" />
-          <span v-else
-                :title="data.verifyQuantity">{{
-            data.verifyQuantity
-          }}</span>
-        </template>
-      </ws-class-table-col>
-
-      <!-- 报价 -->
-      <ws-class-table-col :label="$t('cg.cgsmadetail.bargainPrice')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          $ph(data.bargainPrice)
-        }}</template>
-      </ws-class-table-col>
-      <!-- 定价 -->
-      <ws-class-table-col :label="$t('cg.cgsparedetail.unitPrice')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <BaseInputNumber :min="0"
-                           style="width: 100%;"
-                           :precision="2"
-                           :controls="false"
-                           v-model="data.decidePrice"
-                           :placeholder="isEdit ? $t('common.input') : ''"
-                           :disabled="isEdit ? false : true"
-                           @blur="subTotal(groupIndex, rowIndex)"
-                           maxlength="18" />
-          <!-- <ws-input :clearable="false"
-                    v-model="data.unitPrice"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    :disabled="isEdit ? false : true"
-                    @blur.native="subTotal(groupIndex, rowIndex)"
-                    maxlength="18" /> -->
-        </template>
-      </ws-class-table-col>
-      <!-- 税率 -->
-      <ws-class-table-col :label="$t('cg.cgsparedetail.taxRate')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input-number :min="0"
-                           v-model="data.taxRate"
-                           :placeholder="isEdit ? $t('common.input') : ''"
-                           v-if="isEdit"
-                           maxlength="18" />
-          <span v-else
-                :title="$ph(data.taxRate)">{{ $ph(data.taxRate) }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.subtotal')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{parseFloat(data.subtotal).toFixed(2)}}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('salaryInfo.subject')"
-                          v-if="isHasFinance">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <el-cascader v-model="data.subjectId"
-                       :options="applySubjectList"
-                       :props="{ checkStrictly: true }"
-                       :placeholder="isEdit ? $t('common.selected') : ''"
-                       v-if="isEdit == true"
-                       @change="changeChildSubject(data.subjectId,groupIndex, rowIndex)" />
-          <span :title="cascader(data.subjectIds, data) || '' + data.subjectNames"
-                v-else>{{ cascader(data.subjectIds, data) }} {{ data.subjectNames }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.remark')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div class="col-edit-input"
-               v-if="isEdit == true">
-            <el-input v-model="data.remark"
-                      size="mini"
-                      maxlength="200" />
-          </div>
-          <span class="col-edit-input"
-                style="line-height: 25px;"
-                v-else>{{
-            $ph(data.remark)
-          }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col v-if="isEdit"
-                          :label="$t('cg.cgsmadetail.operation')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-button type="text"
-                     icon="el-icon-notebook-1"
-                     @click="findHisList(groupIndex, rowIndex)"
-                     :title="$t('button.purchaseHistory')"></ws-button>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.accessory')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <showFile :v-model.sync="data.appendixId"
-                    :editable="isEdit"
-                    set-oss-key="procurement.procurementMaterial.purchasDetail"
-                    table-name="materielPurchasDetail"></showFile>
-        </template>
-      </ws-class-table-col>
-    </ws-class-table>
-  </div>
-</template>
-<script>
-import {
-  getTypeList,
-  // getApplySubject,
-  delApplTemp
-} from '@/model/procurement/material'
-import showFile from '@/components/Upload/showFile.vue' // 文件显示
-import purHistory from '@/components/purHistory' // 采购历史
-// import { isNullOrUndefined, log } from 'util'
-import { EventBus } from 'base-core-lib'
-export default {
-  inject: ['ariDiscount'],
-  components: {
-    showFile,
-    purHistory
-  },
-  props: {
-    currencyName: {
-      // 金额单位
-      type: String,
-      default: ''
-    },
-    isHasFinance: {
-      type: Boolean,
-      default: true
-    },
-    taxRate: {
-      type: Number,
-      default: 0
-    },
-    typeName: {
-      type: String,
-      default: ''
-    },
-    applySubjectList: {
-      // 科目
-      type: Array,
-    },
-  },
-  data () {
-    return {
-      // 选择行下标
-      listRow: {
-        index: 0,
-        i: 0
-      },
-      // dialog显示
-      dialogVisible: false,
-      isParentEdit: false,
-      // 文件数据
-      defaultFileShow: [],
-      // 判断报input显示不显示
-      isEdit: true,
-      purType: true, // 判断是否直接采购,tru询价采购,false直接采购(询价数量,报价不显示)
-      // 计量单位结构
-      measurementList: [],
-      // 所属科目结构
-      subjectList: [],
-      // 品牌结构
-      brandList: [],
-
-      isDelDetailss: true,
-
-      // isParentEdit: true,
-
-      // 采购明细数据结构
-      deviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-      deviceListShow: [],
-      // 公司ID
-      companyId: sessionStorage.getItem('ws-pf_compId'),
-
-      // 获取当前语言
-      language: ''
-    }
-  },
-  computed: {
-    languageVal () {
-      let language = this.$store.state.app.language
-      return language
-    }
-  },
-  watch: {
-    taxRate (newValue, OldValue) {
-      if (newValue !== OldValue && newValue) {
-        this.changeInfoTaxRate(newValue, OldValue)
-      }
-    }
-  },
-  created () {
-    this.language = this.$store.getters.language
-    // 计量单位
-    this.getPurSelectTypeUnit('MATERIAL_MEASUREMENT_UNIT')
-    // 品牌
-    this.getPurSelectBrand('MABRAND')
-    // 所属科目
-    // this.getSelectSubjectList();
-  },
-
-  methods: {
-    changeChildSubject (val, groupIndex, rowIndex) {
-      let ids = []
-      let names = []
-      val.map(item => {
-        ids.push(item.split('-')[0])
-        names.push(item.split('-')[1])
-      })
-      this.deviceList[groupIndex].partList[rowIndex].subjectIds = ids.join(',')
-      this.deviceList[groupIndex].partList[rowIndex].subjectNames = names.join('/')
-      this.ariDiscount()
-    },
-    changeInfoTaxRate (val, oldVal) {
-      this.deviceList.map(item => item.partList.map(partListMap => partListMap.taxRate = val))
-    },
-    cascader (val, ci) {
-      if (val) {
-        let vals = null
-        if (typeof val === 'object') {
-          vals = val
-        } else {
-          vals = val.split(',')
-        }
-
-        let label = this.cascaderList(this.subjectList, vals[vals.length - 1])
-        if (typeof label === 'undefined') {
-          label = ''
-        }
-        ci.subjectName = label
-      }
-    },
-
-    cascaderList (datalist, id) {
-      let label = null
-      for (const key in datalist) {
-        const e = datalist[key]
-        if (
-          typeof e.children !== 'undefined' &&
-          e.children &&
-          e.children.length > 0
-        ) {
-          label = this.cascaderList(e.children, id)
-        } else {
-          if (e.value === id) {
-            return e.label
-          }
-        }
-        if (label) {
-          return label
-        }
-      }
-    },
-    // 删除采购明细列表
-    deletePurList (index, i) {
-      this.$confirm(this.$t('message.isdelete'), this.$t('message.warn'), {
-        confirmButtonText: this.$t('message.confirm'),
-        cancelButtonText: this.$t('message.cancel'),
-        type: 'warning'
-      })
-        .then(async () => {
-          if (this.deviceList[index].partList[i].id.length > 0) {
-            delApplTemp({
-              id: this.deviceList[index].partList[i].id
-            }).toPromise()
-              .then(response => {
-                this.deviceList[index].partList.splice(i, 1)
-
-                if (this.deviceList[index].partList.length === 0) {
-                  this.deviceList.splice(index, 1)
-                }
-                EventBus.$emit('success', this.$t('message.message1'))
-              })
-              .catch(() => {
-                EventBus.$emit('error', this.$t('message.message2'))
-              })
-          } else {
-            this.deviceList[index].partList.splice(i, 1)
-
-            if (this.deviceList[index].partList.length === 0) {
-              this.deviceList.splice(index, 1)
-            }
-            EventBus.$emit('success', this.$t('message.message1'))
-          }
-        })
-        .catch(err => {
-          console.error(err)
-        })
-    },
-
-    // 根据申请单ID获取所属科目
-    getSelectSubjectList () {
-      // 获取数据
-      // getApplySubject({
-      //   compId: this.companyId,
-      //   subjectType: '0'
-      // }).then(response => {
-      //   this.subjectList = this.OptionsSubjectList(response.data)
-      // })
-    },
-
-    // 所属科目数据处理
-    OptionsSubjectList (list) {
-      const lists = []
-      list.forEach(l => {
-        const c = Object.assign({}, this.defaultParams)
-        c.value = l.id
-        c.label = l.subjectName
-        if (l.children != null && l.children.length > 0) {
-          c.children = this.OptionsSubjectList(l.children)
-        }
-        lists.push(c)
-      })
-
-      return lists
-    },
-
-    // 查看备件采购历史
-    findHisList (index, i) {
-      try {
-        this.$refs.purHistory.dialogFormVisible = true
-        this.$refs.purHistory.deviceRow = this.deviceList[index]
-        this.$refs.purHistory.partRow = this.deviceList[index].partList[i]
-        this.$refs.purHistory.getlistbyWhere()
-      } catch (error) {
-        console.log(error)
-      }
-    },
-    // 计量单位
-    getPurSelectTypeUnit (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        this.measurementList = response
-      })
-    },
-
-    // 品牌
-    getPurSelectBrand (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        // 品牌
-        this.brandList = response
-      })
-    },
-
-    indexMethod (index) {
-      return index * 2
-    },
-
-    // 根据获取select类型
-    getSelectType (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        if (type === 'MATERIAL_MEASUREMENT_UNIT') {
-          // 计量单位
-          this.measurementList = response
-        } else {
-          // 品牌
-          this.brandList = response
-        }
-      })
-    },
-
-    // 小计
-    subTotal () {
-      this.deviceList.reverse()
-      this.deviceList.reverse()
-      this.ariDiscount()
-    }
-
-    // #region  dialog方法
-  }
-}
-</script>
-<style lang="scss" scoped>
-.myDialog {
-  // height: 500px;
-  overflow: auto;
-}
-
-.bg-purple {
-  line-height: 40px;
-  background: #eeeeee;
-  font-size: 13px;
-  text-align: left;
-  padding-left: 5px;
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-.purDiv {
-  .el-input__inner {
-    padding: 0 5px;
-    height: 32px !important;
-    line-height: 32px !important;
-  }
-  .div-collapse {
-    border-bottom: 1px solid #ccc !important;
-    position: relative;
-    .el-collapse-item__content {
-      padding-bottom: 0;
-      background-color: #fff;
-    }
-    .el-collapse-item__header {
-      background-color: #e2edfa;
-      border-top: 1px solid #c2defb;
-      border-bottom: 1px solid #c2defb;
-      height: 37px;
-      line-height: 35px;
-    }
-    .purspappl-details {
-      // line-height: 9px;
-      // border-bottom: 1px solid #ccc !important;
-    }
-  }
-}
-
-.row-bg {
-  background: #f6f6f6;
-  font-size: 13px;
-  text-align: center;
-  background-color: #f9fafc;
-}
-.el-collapse-item__header {
-  background-color: #eee;
-}
-.purspappl-details {
-  // line-height: 40px;
-}
--row {
-  text-align: center;
-}
-.col-edit {
-  text-align: left;
-  .col-edit-cascader {
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-}
-.pur-input {
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 38px;
-    word-wrap: break-word;
-    word-break: break-all;
-    overflow: hidden;
-  }
-}
-
-.bg-purple-light {
-  background: #e5e9f2;
-}
-.el-collapse-item__header {
-  background-color: #e2edfa;
-  height: 35px;
-  line-height: 35px;
-}
-.div-collapse .el-collapse-item__content {
-  padding-bottom: 0;
-}
-.div-collapse {
-  .el-row {
-    margin-bottom: 0;
-  }
-}
-.add {
-  position: absolute;
-  right: 60px;
-  z-index: 999;
-}
-.col-edit-title {
-  text-align: left;
-}
-.el-collapse-item__content {
-  padding-bottom: 0;
-}
-
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .col-edit {
-    .col-edit-input {
-      .is-disabled {
-        .el-input__inner:hover {
-          background-color: #fff !important;
-          border: 0;
-        }
-        .el-input__inner {
-          background-color: #fff !important;
-          border: 0;
-        }
-      }
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-}
-/deep/.is-disabled {
-  /deep/.el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000;
-    cursor: text;
-    padding: 0;
-    text-align: center;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-</style>

+ 0 - 528
src/views/procurement/procurementMaterial/component/purEnquiryDetails.vue

@@ -1,528 +0,0 @@
-// 组件-采购询价明细 // 2019年5月29日 12:00:20 by zw
-<template>
-  <div>
-    <!-- 采购历史 -->
-    <purHistory ref="purHistory"
-                show-type="ma" />
-    <ws-class-table :data="deviceList"
-                    childrenKey="partList"
-                    :check="false">
-      <template v-slot:group-header="{ group, groupIndex }">
-        <ws-row style="width:100%">
-          <ws-col :span="1">
-            <div class="bg-purple-dark"
-                 style="padding-left:10px;">
-              <el-checkbox v-show="isSplit"
-                           v-model="group.checked"
-                           @change="checkedOper(groupIndex)" />
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgsmadetail.maTypeName') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="
-                  languageVal === 'en' &&
-                  group.maTypeNameEn &&
-                  group.maTypeNameEn.length > 0
-                    ? group.maTypeNameEn
-                    : group.maTypeName
-                ">{{
-                  languageVal === 'en' &&
-                  group.maTypeNameEn &&
-                  group.maTypeNameEn.length > 0
-                    ? group.maTypeNameEn
-                    : group.maTypeName
-                }}</span>
-            </div>
-          </ws-col>
-        </ws-row>
-      </template>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.spId')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-checkbox class="col-edit-input"
-                       v-if="isSplit"
-                       v-model="data.checked"
-                       @change="sonCheckedOper(groupIndex, rowIndex)" />
-          {{ data.newIndex }}
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t(typeName)">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          languageVal === 'en' &&
-          data.materialNameEn &&
-          data.materialNameEn.length > 0
-            ? data.materialNameEn
-            : data.materialName
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col v-if="typeName == 'rt.storeName'"
-                          :label="$t('cg.cgsmadetail.materialCode')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.materialCode
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.specification')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.specification
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.maDescription')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.maDescription
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.measurementUnit')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.measurementUnit
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.enquiryBrand')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.brandName
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.sparepartCheckQuantity')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.applQuantity
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.enquiryQuantity')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-model="data.verifyQuantity"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    :disabled="isEdit ? false : true"
-                    maxlength="18" />
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.remark')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div class="col-edit-input"
-               v-if="isEdit == true">
-            <el-input v-model="data.remark"
-                      size="mini"
-                      maxlength="200" />
-          </div>
-          <span class="col-edit-input"
-                style="line-height: 25px;"
-                v-else>{{
-            data.remark
-          }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col v-if="isEdit"
-                          :label="$t('cg.purchaseHistory.history')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-button type="text"
-                     icon="el-icon-notebook-1"
-                     @click="findHisList(groupIndex, rowIndex)"
-                     :title="$t('button.purchaseHistory')"></ws-button>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.accessory')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div @click="openDialog(groupIndex, rowIndex)">
-            <showFile :v-model.sync="data.appendixId"
-                      :editable="isEdit"
-                      set-oss-key="procurement.procurementMaterial.enquiryDetail"
-                      table-name="materielEnquiryDetail"></showFile>
-          </div>
-        </template>
-      </ws-class-table-col>
-    </ws-class-table>
-  </div>
-</template>
-
-<script>
-import {
-  getTypeList,
-  // getApplySubject,
-  delApplTemp
-} from '@/model/procurement/material'
-import showFile from '@/components/Upload/showFile.vue' // 文件显示
-import purHistory from '@/components/purHistory' // 采购历史
-import { EventBus } from 'base-core-lib'
-
-export default {
-  components: {
-    showFile,
-    purHistory
-  },
-  props: ['typeName'],
-  data () {
-    return {
-      listRow: {
-        index: 0,
-        i: 0
-      },
-      dialogVisible: false,
-      defaultFileShow: [],
-      // 判断报价单input显示不显示
-      isEdit: true,
-      // 计量单位结构
-      measurementList: [],
-      // 所属科目结构
-      subjectList: [],
-      // 品牌结构
-      brandList: [],
-      deviceListShow: [],
-      // 采购明细数据结构
-      deviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-
-      isDelDetailss: true,
-
-      isSplit: this.$parent.isSplit,
-
-      // 公司ID
-      companyId: sessionStorage.getItem('ws-pf_compId'),
-
-      // 获取当前语言
-      language: ''
-    }
-  },
-  watch: {},
-  computed: {
-    languageVal () {
-      let language = this.$store.state.app.language
-      return language
-    }
-  },
-  created () {
-    this.language = this.$store.getters.language
-    // 计量单位
-    this.getPurSelectType('MATERIAL_MEASUREMENT_UNIT')
-    // 品牌
-    this.getPurSelectType('MABRAND')
-  },
-  methods: {
-    cascader (val, ci) {
-      if (val) {
-        // debugger;
-        let vals = null
-        if (typeof val === 'object') {
-          vals = val
-        } else {
-          vals = val.split(',')
-        }
-
-        let label = this.cascaderList(this.subjectList, vals[vals.length - 1])
-        if (typeof label === 'undefined') {
-          label = ''
-        }
-        ci.subjectName = label
-      }
-    },
-
-    cascaderList (datalist, id) {
-      let label = null
-      for (const key in datalist) {
-        const e = datalist[key]
-        if (
-          typeof e.children !== 'undefined' &&
-          e.children &&
-          e.children.length > 0
-        ) {
-          label = this.cascaderList(e.children, id)
-        } else {
-          if (e.value === id) {
-            return e.label
-          }
-        }
-        if (label) {
-          return label
-        }
-      }
-    },
-    indexMethod (index) {
-      return index * 2
-    },
-
-    // #region 下拉选择
-
-    // 根据获取select类型
-    getPurSelectType (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        if (type === 'MATERIAL_MEASUREMENT_UNIT') {
-          // 计量单位
-          this.measurementList = response
-        } else {
-          // 品牌
-          this.brandList = response
-        }
-      })
-    },
-
-    // 根据公司ID获取所属科目
-    getPurSelectSubjectList () {
-      // 获取数据
-      // getApplySubject({ compId: this.companyId, subjectType: '0' }).then(
-      //   response => {
-      //     this.subjectList = response.data
-      //   }
-      // )
-    },
-
-    // #endregion
-
-    // #region 方法
-
-    // 删除采购明细列表
-    deletePurList (index, i) {
-      this.$confirm(this.$t('message.isdelete'), this.$t('message.warn'), {
-        confirmButtonText: this.$t('message.confirm'),
-        cancelButtonText: this.$t('message.cancel'),
-        type: 'warning'
-      })
-        .then(async () => {
-          if (this.deviceList[index].partList[i].id.length > 0) {
-            delApplTemp({
-              id: this.deviceList[index].partList[i].id
-            }).toPromise()
-              .then(response => {
-                this.deviceList[index].partList.splice(i, 1)
-
-                if (this.deviceList[index].partList.length === 0) {
-                  this.deviceList.splice(index, 1)
-                }
-                EventBus.$emit('success', this.$t('message.message1'))
-              })
-              .catch(() => {
-                EventBus.$emit('error', this.$t('message.message2'))
-              })
-          } else {
-            this.deviceList[index].partList.splice(i, 1)
-
-            if (this.deviceList[index].partList.length === 0) {
-              this.deviceList.splice(index, 1)
-            }
-            EventBus.$emit('success', this.$t('message.message1'))
-          }
-        })
-        .catch(err => {
-          console.error(err)
-        })
-    },
-    // 查看采购历史
-    findHisList (index, i) {
-      try {
-        this.$refs.purHistory.dialogFormVisible = true
-        this.$refs.purHistory.deviceRow = this.deviceList[index]
-        this.$refs.purHistory.partRow = this.deviceList[index].partList[i]
-        this.$refs.purHistory.getlistbyWhere()
-      } catch (error) {
-        console.log(error)
-      }
-    },
-    checkedOper (index) {
-      // if (this.deviceList[index].checked) {
-      for (var i = 0; i < this.deviceList[index].partList.length; i++) {
-        this.deviceList[index].partList[i].checked = this.deviceList[
-          index
-        ].checked
-      }
-      // }
-    },
-
-    // 备件操作处理
-    sonCheckedOper (index, i) {
-      if (this.deviceList[index].partList[i].checked) {
-        this.deviceList[index].checked = true
-      } else {
-        let isCheck = false
-        for (let h = 0; h < this.deviceList[index].partList.length; h++) {
-          if (this.deviceList[index].partList[h].checked) {
-            isCheck = true
-            break
-          }
-        }
-
-        this.deviceList[index].checked = isCheck
-      }
-    }
-  }
-}
-</script>
-<style lang="scss" scoped>
-.myDialog {
-  // height: 500px;
-  overflow: auto;
-}
-.bg-purple-dark {
-  background: #e2edfa;
-  text-align: left;
-}
-.bg-purple {
-  line-height: 40px;
-  background: #eeeeee;
-  font-size: 13px;
-  text-align: left;
-  padding-left: 5px;
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-.purDiv {
-  .el-input__inner {
-    padding: 0 5px;
-    height: 32px !important;
-    line-height: 32px !important;
-  }
-  .el-row {
-    margin-bottom: 0px;
-    .el-checkbox__input {
-      margin-left: 0.7em;
-      display: block;
-      line-height: 34px;
-    }
-  }
-  .div-collapse {
-    border-bottom: 1px solid #ccc !important;
-    .el-collapse-item__content {
-      padding-bottom: 0;
-      background-color: #fff;
-    }
-    .el-collapse-item__header {
-      background-color: #e2edfa;
-      border-top: 1px solid #c2defb;
-      border-bottom: 1px solid #c2defb;
-      height: 37px;
-      line-height: 35px;
-    }
-    .purspappl-details {
-      line-height: 9px;
-      // border-bottom: 1px solid #ccc !important;
-      box-sizing: border-box;
-      -moz-box-sizing: border-box; /* Firefox */
-      -webkit-box-sizing: border-box; /* Safari */
-    }
-  }
-}
-.row-bg {
-  background: #f6f6f6;
-  font-size: 13px;
-  text-align: center;
-  background-color: #f9fafc;
-}
-.el-collapse-item__header {
-  background-color: #e2edfa;
-}
-.purspappl-details {
-  // line-height: 40px;
-}
-l-row {
-  text-align: center;
-}
-
-.col-edit {
-  text-align: left;
-  .col-edit-cascader {
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-}
-
-.pur-input {
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 38px;
-    word-wrap: break-word;
-    word-break: break-all;
-    overflow: hidden;
-  }
-}
-.div-collapse {
-  .el-collapse-item__content {
-    padding-bottom: 0;
-  }
-}
-.add {
-  position: absolute;
-  right: 60px;
-  z-index: 999;
-}
-.col-edit-title {
-  text-align: left;
-}
-.el-collapse-item__content {
-  padding-bottom: 0;
-}
-
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .bg-purple-dark {
-    .el-input__inner {
-      background-color: #e2edfa !important;
-      border: 0;
-    }
-  }
-  .el-input__suffix {
-    display: none;
-  }
-
-  .is-disabled {
-    .el-cascader__labe {
-      color: #303133 !important;
-    }
-  }
-
-  .col-edit {
-    .col-edit-input {
-      .is-disabled {
-        .el-input__inner:hover {
-          background-color: #fff !important;
-          border: 0;
-        }
-        .el-input__inner {
-          background-color: #fff !important;
-          border: 0;
-        }
-      }
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-}
-/deep/.is-disabled {
-  /deep/.el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000;
-    cursor: text;
-    padding: 0;
-    text-align: center;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-</style>

+ 0 - 764
src/views/procurement/procurementMaterial/component/purQuotesDetails.vue

@@ -1,764 +0,0 @@
-<!-- 组件-报价明细 -->
-<!--  2019年5月29日 12:00:20 by zw-->
-<template>
-  <div style="margin-top:10px;">
-    <WinseaContentModal v-model='dialogVisible'
-                        :title="$t('upload.basicInfo')"
-                        @on-cancel="handleClose">
-      <div class="myDialog">
-        <upload ref="purQuotesDetailsUpLoad"
-                procurement-name="procurementSpare"
-                :appendix-file-urls="defaultFileShow"
-                frame-name="采购明细"
-                :editable="isEdit && editFlag"
-                :tenant-id="1"
-                @getMessage="getFileUrl"
-                @delMessage="delFileUrl" />
-      </div>
-      <template slot="footer"
-                class="dialog-footer">
-        <ws-button type="primary"
-                   @click="handleClose">{{
-          $t('button.confirm')
-        }}</ws-button>
-      </template>
-    </WinseaContentModal>
-    <ws-class-table :data="deviceList"
-                    childrenKey="partList"
-                    :check="false"
-                    :row-class-name="tableRowClassName">
-      <template v-slot:group-header="{ group, groupIndex }">
-        <ws-row style="width:100%">
-          <ws-col :span="1">
-            <div class="bg-purple-dark"
-                 style="padding-left:10px;">
-              <el-checkbox v-show="isSplit"
-                           v-model="group.checked"
-                           @change="checkedOper(groupIndex)" />
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgsmadetail.maTypeName') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="
-                  languageVal === 'en' &&
-                  group.maTypeNameEn &&
-                  group.maTypeNameEn.length > 0
-                    ? group.maTypeNameEn
-                    : group.maTypeName
-                ">{{
-                  languageVal === 'en' &&
-                  group.maTypeNameEn &&
-                  group.maTypeNameEn.length > 0
-                    ? group.maTypeNameEn
-                    : group.maTypeName
-                }}</span>
-            </div>
-          </ws-col>
-        </ws-row>
-      </template>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.spId')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <el-checkbox v-if="isSplit"
-                       v-model="data.checked"
-                       @change="sonCheckedOper(groupIndex, rowIndex)"
-                       class="col-edit-input" />
-          {{ data.newIndex }}
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t(typeName)">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          languageVal === 'en' &&
-          data.materialNameEn &&
-          data.materialNameEn.length > 0
-            ? data.materialNameEn
-            : data.materialName
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col v-if="typeName == 'rt.storeName'"
-                          :label="$t('cg.cgsmadetail.materialCode')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.materialCode
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.specification')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.specification
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.maDescription')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.maDescription
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.measurementUnit')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.measurementUnit
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.enquiryBrand')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.brandName
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.quotedBrand')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div v-for="(cop, c) in deviceList[groupIndex].partList"
-               v-if="
-              cop.id == data.id ||
-                cop.faId == data.id ||
-                cop.enquiryDetailId == data.enquiryDetailId
-            "
-               :key="c"
-               class="col-edit-input">
-            <span class="select-span"
-                  style="display: flex;">
-              <span style="60%">
-                <el-input v-if="isEdit && editFlag"
-                          v-model="cop.enquiryBrandName"
-                          size="mini"
-                          style="  width: 60%;"
-                          @change="subTotal"
-                          maxlength="50" />
-                <!-- <span>{{ cop.enquiryBrandName }}</span> -->
-              </span>
-              <span v-show="isEdit && editFlag"
-                    style="40%">
-                <el-tooltip v-if="!cop.isCopy"
-                            content="新增品牌"
-                            placement="bottom"
-                            effect="light">
-                  <ws-button type="text"
-                             size="mini"
-                             icon="el-icon-circle-plus-outline"
-                             @click="copyList(rowIndex, c, cop)" />
-                </el-tooltip>
-                <ws-button v-else
-                           type="text"
-                           size="mini"
-                           icon="el-icon-circle-close"
-                           @click="deletePurList(rowIndex, c, cop)" />
-              </span>
-            </span>
-          </div>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.enquiryQuantity')"
-                          :merge="true">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div v-for="(cop, c) in deviceList[groupIndex].partList"
-               v-if="
-              cop.id == data.id ||
-                cop.faId == data.id ||
-                cop.enquiryDetailId == data.enquiryDetailId
-            "
-               :key="c"
-               class="col-edit-input">
-            {{!cop.applQuantity? 0 : cop.applQuantity}}
-          </div>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.bargainPrice')"
-                          :merge="true">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div v-for="(cop, c) in deviceList[groupIndex].partList"
-               v-if="
-              cop.id == data.id ||
-                cop.faId == data.id ||
-                cop.enquiryDetailId == data.enquiryDetailId
-            "
-               :key="c"
-               class="col-edit-input">
-            <ws-input v-if="isEdit && editFlag"
-                      :clearable="false"
-                      v-model="cop.unitPrice"
-                      size="mini"
-                      oninput="value=value.replace(/[^\d.]/g,'')"
-                      @change="subTotal"
-                      maxlength="18" />
-            <span v-else>{{ cop.unitPrice }}</span>
-          </div>
-        </template>
-      </ws-class-table-col>
-      <!--   <ws-class-table-col :label="$t('cg.cgsparedetail.convertedQuote')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div v-for="(cop, c) in deviceList[groupIndex].partList"
-               v-if="
-              cop.id == data.id ||
-                cop.faId == data.id ||
-                cop.enquiryDetailId == data.enquiryDetailId
-            "
-               :key="c"
-               class="col-edit-input">
-            <span style=" padding-left: 5px;">{{
-              cop.unitPrice == null
-                ? 0
-                : parseFloat(
-                    ((discount == null ? 0 : discount) *
-                      (cop.unitPrice == null ? 0 : cop.unitPrice)) /
-                      100
-                  ).toFixed(2)
-            }}</span>
-          </div>
-        </template>
-      </ws-class-table-col>-->
-      <!-- 税率 -->
-      <ws-class-table-col :label="$t('cg.cgsparedetail.taxRate')"
-                          :merge="true">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div v-for="(cop, c) in deviceList[groupIndex].partList"
-               v-if="
-              cop.id == data.id ||
-                cop.faId == data.id ||
-                cop.enquiryDetailId == data.enquiryDetailId
-            "
-               :key="$t('cg.cgsparedetail.taxRate')+'_'+groupIndex+'-'+c"
-               class="col-edit-input">
-            <ws-input-number :min="0"
-                             v-model="cop.taxRate"
-                             :placeholder="isEdit ? $t('common.input') : ''"
-                             :disabled="isEdit && editFlag ? false : true"
-                             maxlength="18" />
-          </div>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.subtotal')"
-                          :merge="true">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div v-for="(cop, c) in deviceList[groupIndex].partList"
-               v-if="
-              cop.id == data.id ||
-                cop.faId == data.id ||
-                cop.enquiryDetailId == data.enquiryDetailId
-            "
-               :key="c"
-               class="col-edit-input">
-            <span style=" padding-left: 5px;">{{
-              cop.unitPrice == null
-                ? 0
-                : parseFloat(
-                    (cop.applQuantity == null ? 0 : cop.applQuantity) *
-                      (parseFloat(discount == null ? 0 : discount) / 100) *
-                      (cop.unitPrice == null ? 0 : cop.unitPrice)
-                  ).toFixed(2)
-            }}</span>
-          </div>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.remark')"
-                          :merge="true">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div v-for="(cop, c) in deviceList[groupIndex].partList"
-               v-if="
-              cop.id == data.id ||
-                cop.faId == data.id ||
-                cop.enquiryDetailId == data.enquiryDetailId
-            "
-               :key="c"
-               class="col-edit-input">
-            <ws-input :clearable="false"
-                      v-if="isEdit && editFlag"
-                      v-model="cop.remark"
-                      size="mini"
-                      maxlength="200" />
-            <span v-else
-                  style="line-height: 25px;">{{ cop.remark }}</span>
-          </div>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsmadetail.accessory')"
-                          :merge="true">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div class="col-edit-input"
-               v-for="(cop, c) in deviceList[groupIndex].partList"
-               v-if="
-              cop.id == data.id ||
-                cop.faId == data.id ||
-                cop.enquiryDetailId == data.enquiryDetailId
-            "
-               :key="c">
-            <showFile :v-model.sync="cop.appendixId"
-                      :editable="isEdit && editFlag"
-                      set-oss-key="procurement.procurementMaterial.quotesDetail"
-                      table-name="materielQuotesDetail"></showFile>
-          </div>
-        </template>
-      </ws-class-table-col>
-    </ws-class-table>
-  </div>
-</template>
-
-<script>
-import {
-  getTypeList,
-  // getApplySubject,
-  delApplTemp
-} from '@/model/procurement/material'
-import upload from '@/components/Upload/upload.vue'
-import showFile from '@/components/Upload/showFile.vue' // 文件显示
-import { hasSupply } from '@/model/procurement/basic' // api接口
-import { EventBus } from 'base-core-lib'
-
-export default {
-  inject: ['ariDiscount'],
-  components: {
-    upload,
-    showFile
-  },
-  props: ['editFlag', 'taxRate', 'typeName'],
-  data () {
-    return {
-      // 选择行下标
-      listRow: {
-        index: 0,
-        i: 0
-      },
-      // dialog显示
-      dialogVisible: false,
-      // 文件数据
-      defaultFileShow: [],
-      // 判断询价采购input显示不显示
-      isEdit: true,
-      // 计量单位结构
-      measurementList: [],
-      // 所属科目结构
-      subjectList: [],
-      // 品牌结构
-      brandList: [],
-
-      isCopyDetailss: true,
-
-      discount: '',
-
-      isDelDetailss: true,
-
-      // 采购明细数据结构
-      deviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-      // copy用
-      copyDeviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-
-      deviceListShow: [],
-      isSplit: this.$parent.isSplit,
-      isSupply: true,
-      // 公司ID
-      companyId: sessionStorage.getItem('ws-pf_compId'),
-
-      // 获取当前语言
-      language: ''
-
-      // // 判断显示隐藏
-      // dialog: false,
-      // cIndex: -1
-    }
-  },
-
-  computed: {
-    languageVal () {
-      let language = this.$store.state.app.language
-      return language
-    }
-  },
-  watch: {
-    taxRate (newValue, OldValue) {
-      if (newValue !== OldValue && newValue) {
-        this.changeInfoTaxRate(newValue, OldValue)
-      }
-    }
-  },
-  created () {
-    this.language = this.$store.getters.language
-    // 计量单位
-    this.getPurSelectTypeUnit('MEASUREMENT_UNIT')
-    // 品牌
-    this.getPurSelectBrand('MABRAND')
-    this.setIsSupply()
-  },
-  methods: {
-    changeInfoTaxRate (val, oldVal) {
-      // this.deviceList.map(item => item.partList.map(partListMap => !partListMap.taxRate ? partListMap.taxRate = val : (partListMap.taxRate === oldVal ? partListMap.taxRate = val : '')))
-      this.deviceList.map(item => item.partList.map(partListMap => partListMap.taxRate = val))
-    },
-    tableRowClassName (row, groupIndex, rowIndex) {
-      if (row.isCopy) {
-        return 'hidden-row'
-      }
-      return ''
-    },
-    // 是否有供应模块
-    setIsSupply () {
-      hasSupply().toPromise()
-        .then(succ => {
-          this.isSupply = succ
-          // this.isSupply = false;
-        })
-      // .catch(err => {
-      //   EventBus.$emit('error', err.message)
-      // })
-    },
-
-    // 添加备件明细列表
-    copyList (index, i, item) {
-      // this.copyDeviceList = JSON.parse(JSON.stringify(this.deviceList))
-
-      const newItem = Object.assign({}, item)
-      newItem.id = ''
-      newItem.remark = ''
-      newItem.brandId = ''
-      newItem.unitPrice = ''
-      newItem.enquiryBrandId = ''
-      newItem.isCopy = true
-      newItem.faId = item.id
-      newItem.appendixId = ''
-      this.deviceList[index].partList.push(newItem)
-
-      // this.copyDeviceList[index].partList.push(newItem)
-    },
-    // 删除明细,注意不能清空
-    deletePurList (index, i, item) {
-      // const iscount = 0
-
-      this.deviceList[index].partList.splice(i, 1)
-    },
-    // 查看备件采购历史
-    findHisList (index, i) { },
-
-    indexMethod (index) {
-      return index * 2
-    },
-
-    // 小计
-    subTotal (quantity, price) {
-      if (quantity == null) {
-        quantity = 0
-      }
-      if (price == null) {
-        price = 0
-      }
-
-      this.subTotals = parseFloat(quantity * price).toFixed()
-      this.ariDiscount()
-    },
-
-    // #region 下拉选择
-
-    // 计量单位
-    getPurSelectTypeUnit (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        this.measurementList = response
-      })
-    },
-
-    // 品牌
-    getPurSelectBrand (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        // 品牌
-        this.brandList = response
-      })
-    },
-
-    // 根据公司ID获取所属科目
-    getPurSelectSubjectList () {
-      // 获取数据
-      // getApplySubject({ compId: this.companyId, subjectType: '0' }).then(
-      //   response => {
-      //     this.subjectList = response.data
-      //   }
-      // )
-    },
-
-    // #endregion
-
-    // #region 方法
-
-    // 删除采购明细列表
-    deleteList (index, i) {
-      this.$confirm(this.$t('message.isdelete'), this.$t('message.warn'), {
-        confirmButtonText: this.$t('message.confirm'),
-        cancelButtonText: this.$t('message.cancel'),
-        type: 'warning'
-      })
-        .then(async () => {
-          if (this.deviceList[index].partList[i].id.length > 0) {
-            delApplTemp({
-              id: this.deviceList[index].partList[i].id
-            }).toPromise()
-              .then(response => {
-                this.deviceList[index].partList.splice(i, 1)
-
-                if (this.deviceList[index].partList.length === 0) {
-                  this.deviceList.splice(index, 1)
-                }
-                EventBus.$emit('success', this.$t('message.message1'))
-              })
-              .catch(() => {
-                EventBus.$emit('error', this.$t('message.message2'))
-              })
-          } else {
-            this.deviceList[index].partList.splice(i, 1)
-
-            if (this.deviceList[index].partList.length === 0) {
-              this.deviceList.splice(index, 1)
-            }
-            EventBus.$emit('success', this.$t('message.message1'))
-          }
-        })
-        .catch(err => {
-          console.error(err)
-        })
-    },
-
-    checkedOper (index) {
-      // if (this.deviceList[index].checked) {
-      for (var i = 0; i < this.deviceList[index].partList.length; i++) {
-        this.deviceList[index].partList[i].checked = this.deviceList[
-          index
-        ].checked
-      }
-      // }
-    },
-
-    // 备件操作处理
-    sonCheckedOper (index, i) {
-      if (this.deviceList[index].partList[i].checked) {
-        this.deviceList[index].checked = true
-      } else {
-        let isCheck = false
-        for (let h = 0; h < this.deviceList[index].partList.length; h++) {
-          if (this.deviceList[index].partList[h].checked) {
-            isCheck = true
-            break
-          }
-        }
-
-        this.deviceList[index].checked = isCheck
-      }
-    },
-    // #endregion
-    handleClose () {
-      this.dialogVisible = false
-    },
-    getFileUrl () { },
-    delFileUrl () { }
-  }
-}
-</script>
-<style lang="scss" scoped>
-/deep/.hidden-row {
-  display: none;
-}
-/deep/.wct--content-group--list {
-  height: auto;
-}
-.myDialog {
-  // height: 500px;
-  overflow: auto;
-}
-
-.purDiv {
-  .el-row {
-    margin-bottom: 0px;
-    .el-checkbox__input {
-      margin-left: 0.7em;
-      display: block;
-      line-height: 34px;
-    }
-  }
-  .div-collapse {
-    border-bottom: 1px solid #ccc !important;
-    .el-collapse-item__content {
-      padding-bottom: 0;
-      background-color: #fff;
-    }
-    .el-collapse-item__header {
-      background-color: #e2edfa;
-      border-top: 1px solid #c2defb;
-      border-bottom: 1px solid #c2defb;
-      height: 37px;
-      line-height: 35px;
-    }
-    .purspappl-details {
-      line-height: 9px;
-      // border-bottom: 1px solid #ccc !important;
-      box-sizing: border-box;
-      -moz-box-sizing: border-box; /* Firefox */
-      -webkit-box-sizing: border-box; /* Safari */
-    }
-  }
-}
-
-.bg-purple {
-  line-height: 40px;
-  background: #eeeeee;
-  font-size: 13px;
-  text-align: left;
-  padding-left: 5px;
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-
-.crt-main {
-  .select-span {
-    .el-select {
-      width: 60%;
-    }
-  }
-}
-.row-bg {
-  background: #f6f6f6;
-  font-size: 13px;
-  text-align: center;
-  background-color: #f9fafc;
-}
-// .el-collapse-item__header {
-//   background-color: #eee;
-// }
-.purspappl-details {
-  // line-height: 40px;
-}
-.el-row {
-  text-align: center;
-}
-.col-edit {
-  text-align: left;
-}
-.pur-input {
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 38px;
-    word-wrap: break-word;
-    word-break: break-all;
-    overflow: hidden;
-  }
-}
-.purDiv .el-input.is-disabled .el-input__inner {
-  background-color: #fff !important;
-  color: #101a29 !important;
-}
-.div-collapse .el-collapse-item__content {
-  padding-bottom: 0;
-}
-.add {
-  position: absolute;
-  right: 60px;
-  z-index: 999;
-}
-.col-edit-title {
-  text-align: left;
-}
-.el-dropdown-link {
-  cursor: pointer;
-}
-.el-icon-arrow-down {
-  font-size: 12px;
-}
-button {
-  position: relative;
-}
-.button-list {
-  position: absolute;
-  right: 20px;
-  top: 20px;
-  z-index: 10000000;
-  width: 100px;
-  height: 100px;
-  border: 1px solid red;
-  background-color: #fff;
-}
-
-.el-select-dropdown {
-  max-width: 20px;
-}
-.el-select-dropdown__item {
-  // display: inline-block;
-}
-.el-select-dropdown__item span {
-  min-width: 205px;
-  display: inline-block;
-}
-.el-collapse-item__content {
-  padding-bottom: 0;
-}
-
-// 控制select为只读的时候显示样式
-.hide-select {
-  .el-input__inner {
-    background-color: #fff !important;
-    border: 0;
-    color: #303133;
-  }
-  .el-input__suffix {
-    .el-input__suffix-inner {
-      display: none !important;
-    }
-  }
-}
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-input__suffix {
-    display: none;
-  }
-  .col-edit {
-    .col-edit-input {
-      .is-disabled {
-        .el-input__inner:hover {
-          background-color: #fff !important;
-          border: 0;
-        }
-        .el-input__inner {
-          background-color: #fff !important;
-          border: 0;
-        }
-      }
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 10px !important;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  /deep/.el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000;
-    cursor: text;
-    padding: 0;
-    text-align: center;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-</style>

+ 0 - 517
src/views/procurement/procurementMaterial/component/supplierInfo.vue

@@ -1,517 +0,0 @@
-<template>
-  <div>
-    <base-card :title="$t('cg.supplier.supplierInfo')">
-      <template slot="buttons">
-        <div v-show="isAddSupplier"
-             @click.stop="addSupplier"
-             class="pointer">
-          <i class="el-icon-circle-plus-outline" />
-          <span style="font-size: 13px;">{{
-            $t('common.addSupplier')
-          }}</span>
-        </div>
-      </template>
-      <ws-normal-table :data="enquiryVendorList"
-                       stripe
-                       border
-                       fit
-                       highlight-current-row
-                       style="width: 100%;"
-                       :class="isEdit ? 'purspappl-details' : 'purspappl-details hide-sel'">
-        <ws-table-column type="index"
-                         :label="$t('cg.supplier.id')"
-                         width="50"
-                         align="center" />
-        <ws-table-column :label="$t('cg.supplier.supplier')"
-                         width="330px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.vendorName }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.remark')"
-                         width="300px"
-                         align="center">
-          <template slot-scope="scope">
-            <el-input v-if="isEdit"
-                      v-model="scope.row.remark"
-                      :placeholder="$t('common.input')" />
-            <span v-else>{{ scope.row.remark }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.totalPrice')"
-                         min-width="100px"
-                         align="center">
-          <template slot-scope="scope">
-            <span v-if="scope.row.afterDiscountLower">{{ scope.row.afterDiscountLower + (getLanguage == 'en'?scope.row.currencyNameEn: scope.row.currencyName) }}</span>
-            <span v-else>{{ '--' }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('common.status')"
-                         min-width="100px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.status }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('common.operate')"
-                         min-width="80px"
-                         align="center">
-          <template slot-scope="scope">
-            <ws-checkbox :disabled="scope.row.status == '已报价'"
-                         v-show="isCheck"
-                         v-model="scope.row.checked" />
-            <!-- 改造删除按钮 -->
-            <i v-show="isDelete"
-               class="iconfont iconshanchu1"
-               @click="handleDelete(scope.$index, scope.row)"
-               style="font-size:19px" />
-          </template>
-        </ws-table-column>
-      </ws-normal-table>
-    </base-card>
-
-    <!-- 弹出页面-显示供应商 -->
-    <WinseaContentModal v-model='dialogFormVisible'
-                        :title="$t('common.addSupplier')">
-      <!-- 按钮组件和过滤 -->
-      <div class="supplierDialogHead">
-        <div class="supplierDialogHead-select">
-          <!-- 服务商下拉 -->
-          <span>{{$t('common.BusinessCategoryOther')}}</span>
-          <el-select v-model="listQuery.parameterId"
-                     :placeholder="$t('common.selected')"
-                     @change="supplierChange">
-            <el-option v-for="item in supplierList"
-                       :key="item.parameterId"
-                       :label="item.parameterValue"
-                       :value="item.parameterId" />
-          </el-select>
-        </div>
-        <div>
-          <ws-input :clearable="false"
-                    v-model="listQuery.enquiryCondition"
-                    :placeholder="$t('cg.querytitleSupplier')"
-                    style="width:300px; margin-bottom: 10px;"
-                    @keyup.enter.native="handleFilter">
-            <ws-button type="primary"
-                       slot="suffix"
-                       class="el-icon-search"
-                       @click="handleFilter" />
-          </ws-input>
-        </div>
-      </div>
-      <!-- 按钮组件和过滤 -->
-      <ws-normal-table ref="ser"
-                       :data="purSpEnquiryVendorList"
-                       border
-                       fit
-                       height="400"
-                       highlight-current-row
-                       style="width: 100%;"
-                       :span-method="objectSpanMethod"
-                       @sort-change="sortChange">
-        <ws-table-column type="index"
-                         :label="$t('cg.supplier.id')"
-                         width="50"
-                         align="center" />
-        <ws-table-column :label="$t('cg.supplier.supplier')"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.vendorName }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.linkMan')"
-                         width="150px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.linkMan }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.mobileNumber')"
-                         min-width="170px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.mobileNumber }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.emailAddress')"
-                         min-width="170px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.emailAddress }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.address')"
-                         min-width="170px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.address }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('common.operate')"
-                         min-width="100px"
-                         align="center">
-          <template slot-scope="scope">
-            <ws-checkbox v-model="scope.row.checkMark"
-                         :disabled="scope.row.disabled"
-                         @change="changeChoose(scope)" />
-          </template>
-        </ws-table-column>
-      </ws-normal-table>
-      <!-- 列表-页码 -->
-
-      <pagination v-show="total > 0"
-                  :total="total"
-                  :page.sync="listQuery.currentPage"
-                  :limit.sync="listQuery.pageSize"
-                  @pagination="getSupplier" />
-      <!-- 列表-页码 -->
-      <div slot="footer"
-           class="dialog-footer">
-        <ws-button @click="dialogFormVisible = false">{{
-          $t('button.cancel')
-        }}</ws-button>
-        <ws-button type="primary"
-                   @click="confirm">{{
-          $t('button.confirm')
-        }}</ws-button>
-      </div>
-    </WinseaContentModal>
-    <!-- </ws-dialog> -->
-    <!-- 弹出页面-新增修改-->
-  </div>
-</template>
-
-<script>
-import {
-  delEnquiryVendor,
-  GetEnquiryVendorPage,
-  updateEnquiryVendor
-} from '@/model/procurement/material'
-// import { applStatus } from '@/viewsjs/procurement/procurementMaterial/component/purApplStatus'
-import Pagination from '@/components/Pagination'
-import WsCollapse from '@/components/WsCollapse'
-import { getServType } from '@/model/serviceProvider'
-export default {
-  components: {
-    Pagination,
-    WsCollapse
-  },
-  props: ['isAddSupplier', 'addSupplier', 'init'],
-  data () {
-    return {
-      supplierList: [],
-      // listLoading: false,
-      dialogFormVisible: false,
-      // 添供货商input是否显示、修改
-      isEdit: false,
-      // 查询条件
-      listQuery: {
-        compId: sessionStorage.getItem('ws-pf_compId'), // 公司ID
-        currentPage: 1, // 当前页码
-        pageSize: 10, // 一页记录数
-        enquiryCondition: '',
-        parameterId: ''
-      },
-      isCheck: false,
-
-      isDelete: false,
-
-      // 备件询价选取的供应商
-      enquiryVendorList: [],
-      // 查询总条数
-      total: '0',
-      // 供应商表
-      purSpEnquiryVendorList: []
-    }
-  },
-  computed: {
-    getLanguage () {
-      return this.$store.state.app.language
-    }
-  },
-  created () {
-    this.getSupplierResults()
-  },
-  mounted () {
-    // this.getSupplier()
-  },
-  methods: {
-    closeDialog () {
-      this.listQuery.parameterId = ''
-    },
-    supplierChange (val) {
-      const id = this.supplierList.find(item => item.parameterId === val).parameterKey
-      GetEnquiryVendorPage({
-        compId: this.listQuery.compId, // 公司ID
-        searchKeyword: this.listQuery.enquiryCondition,
-        currentPage: this.listQuery.currentPage, // 当前页码
-        pageSize: this.listQuery.pageSize, // 一页记录数
-        serviceTypeId: 2,
-        subcontractorFlag: 1,
-        enquiryId: this.$route.query.enquiryId,
-        servicerTypeId: id
-      }).toPromise().then(response => {
-        this.purSpEnquiryVendorList = response.records
-        this.total = response.total;
-        this.listQuery.currentPage = response.current;
-      })
-
-    },
-    // 新增服务商的 select
-    getSupplierResults () {
-      let typeParam = {
-        constCode: 'SERVICER_TYPE',
-        compId: sessionStorage.getItem('ws-pf_compId')
-      }
-      getServType(typeParam).toPromise().then(response => {
-        this.supplierList = response
-        this.supplierList.unshift({
-          parameterKey: '',
-          parameterValue: '全部类型',
-          parameterValueEn: 'All types of'
-        })
-      })
-    },
-    // 合并单元格
-    objectSpanMethod ({ row, column, rowIndex, columnIndex }, _index) {
-      if (columnIndex === 1) {
-        let rowsspan = 0
-        let i = this.purSpEnquiryVendorList
-        if (rowIndex === 0) {
-          rowsspan = i.filter(
-            item => item.vendorName === row.vendorName
-          ).length
-        } else {
-          let vendorName = i[rowIndex - 1].vendorName
-          if (vendorName !== row.vendorName) {
-            rowsspan = i.filter(
-              item => item.vendorName === row.vendorName
-            ).length
-          }
-        }
-        return {
-          rowspan: rowsspan,
-          colspan: rowsspan > 0 ? 1 : 0
-        }
-      }
-    },
-    // selectable(row, index) {
-    //   let res = true
-    //   let chenks = this.enquiryVendorList
-    //   chenks.forEach((value2, index2) => {
-    //     if (row.vendorId === value2.vendorId) {
-    //       res = false
-    //     }
-    //   })
-    //   return res
-    // },
-    deleteButtenShowType (num) {
-      let returnVal = true
-      if (num == null || num.length == 0) {
-        returnVal = true
-      } else {
-        returnVal = false
-      }
-
-      return returnVal
-    },
-    // 获取供应商数据
-    getSupplier () {
-      this.total = 0
-      GetEnquiryVendorPage({
-        compId: this.listQuery.compId, // 公司ID
-        searchKeyword: this.listQuery.enquiryCondition,
-        currentPage: this.listQuery.currentPage, // 当前页码
-        pageSize: this.listQuery.pageSize, // 一页记录数
-        serviceTypeId: 2,
-        subcontractorFlag: 1,
-        enquiryId: this.$route.query.enquiryId
-      }).toPromise().then(response => {
-        for (let i of response.records) {
-          if (i.checkMark) {
-            i.disabled = true
-            for (let k of response.records) {
-              if (k.vendorName == i.vendorName && k.linkMan !== i.linkMan) {
-                this.$set(k, 'disabled', true)
-              }
-            }
-          }
-        }
-        this.purSpEnquiryVendorList = response.records
-        this.total = response.total
-        this.listQuery.currentPage = response.current
-        setTimeout(() => {
-          // this.listLoading  = false
-        }, 2 * 1000)
-        // 初始化选择
-        this.purSpEnquiryVendorList.forEach((value, index) => {
-          this.enquiryVendorList.forEach((value2, index2) => {
-            if (value.vendorId === value2.vendorId) {
-              this.$nextTick(() => {
-                this.$refs['ser'].toggleRowSelection(value, true)
-              })
-            }
-          })
-        })
-      })
-    },
-    changeChoose (scope) {
-      if (scope.row.checkMark) {
-        for (let k of this.purSpEnquiryVendorList) {
-          if (k.vendorName == scope.row.vendorName && k.linkMan !== scope.row.linkMan) {
-            this.$set(k, 'checkMark', false)
-          }
-        }
-      }
-    },
-    // 删除供应商
-    handleDelete (index, row) {
-      this.$confirm(this.$t('message.isdelete'), this.$t('message.warn'), {
-        confirmButtonText: this.$t('message.confirm'),
-        cancelButtonText: this.$t('message.cancel'),
-        type: 'warning'
-      })
-        .then(async () => {
-          if (row.id.length > 0) {
-            await delEnquiryVendor({
-              id: row.id
-            }).toPromise().then(response => {
-              this.enquiryVendorList.splice(index, 1)
-            })
-          } else {
-            this.enquiryVendorList.splice(index, 1)
-          }
-        })
-        .catch(err => {
-          console.error(err)
-        })
-    },
-
-    // 确定选中供应商
-    confirm () {
-      this.purSpEnquiryVendorList.forEach(x => {
-        let isRepetition = false
-        this.enquiryVendorList.filter(function (number) {
-          if (number.vendorName === x.vendorName) {
-            isRepetition = true
-          }
-        })
-
-        if (!isRepetition && x.checkMark) {
-          const s = {
-            id: '',
-            vendorId: x.vendorId,
-            vendorName: x.vendorName,
-            linkName: x.linkName,
-            linkPhone: x.linkPhone,
-            remark: '',
-            afterDiscountLower: '',
-            status: ''
-          }
-
-          this.enquiryVendorList.push(s)
-        }
-      })
-      updateEnquiryVendor({
-        enquiryId: this.$route.query.enquiryId,
-        vendorList: this.enquiryVendorList
-      }).toPromise().then(response => {
-        this.enquiryVendorList = response
-        this.dialogFormVisible = false
-      })
-    },
-
-    // 过滤条件
-    handleFilter () {
-      this.getSupplier()
-    },
-
-    // 排序
-    sortChange (column) {
-      this.page.orderColunm = column.prop
-      this.page.order = column.order
-      this.getSupplier()
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-/deep/.el-input__suffix {
-  right: 0px;
-}
-.el-table-body {
-  .el-table__body-wrapper {
-    min-height: auto;
-  }
-  .el-input--medium {
-    padding: 0;
-  }
-  .el-dialog__body {
-    padding-top: 10px;
-  }
-}
-.dialog-Vendor {
-  margin-top: 10px;
-}
-el-table {
-  td {
-    background-color: #f5f7fa;
-  }
-}
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .hover-row {
-    background-color: #ffffff;
-  }
-  .el-table {
-    .cell {
-      background-color: #ffffff;
-    }
-  }
-  .bg-purple-dark {
-    .el-input__inner {
-      background-color: #e2edfa !important;
-      border: 0;
-    }
-  }
-  .el-table__body {
-    tr.current-row > td {
-      background-color: #e8f0fd;
-    }
-  }
-  .el-table--enable-row-hover {
-    .el-table__body tr:hover {
-      td {
-        background-color: #f5f7fa !important;
-        .el-table {
-          .el-input__inner {
-            height: 32px;
-            background-color: #f5f7fa !important;
-            line-height: 32px;
-            border: 0px;
-          }
-        }
-      }
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-.supplierDialogHead {
-  text-align: right;
-  display: flex;
-  justify-content: flex-end;
-  .supplierDialogHead-select {
-    margin-right: 10px;
-  }
-}
-</style>

+ 0 - 412
src/views/procurement/procurementMaterial/enquiryDetail.vue

@@ -1,412 +0,0 @@
-<!--物料-备询价详情-->
-<!--2019年6月5日 15:37:39 by zw-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <!-- 按钮组件 -->
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <OperationalHistory :bill-no="$t('cg.cgsparedetail.enquiryno') + $t('common.colon') + enquiryInfo.enquiryNo"
-                              :message="getLanguage == 'en'?enquiryInfo.statusNameEn:enquiryInfo.statusName"
-                              :set-id="enquiryId"
-                              set-type="enquiry" />
-        </template>
-        <template slot="right">
-          <!--  v-hasPermission="'procurement.spareMaterial.enquiryDetailMa.save'" -->
-          <ws-button v-if="buttonIsShow.isSend"
-                     type="primary"
-                     @click="approve(1)"
-                     v-hasPermission="
-          `${$permission('PERMISSIONS.PURMAAPPLINFO_SUBMITTOENQUIRY')}`
-        ">{{ $t('button.send') }}</ws-button>
-          <!--   v-hasPermission="
-          'procurement.spareMaterial.enquiryDetailMa.againAnInquiry'
-        " -->
-          <!--   <ws-button v-if="buttonIsShow.isAgainAnInquiry"
-
-                 @click="approve(3)"
-                 v-hasPermission="
-          `${$permission('PERMISSIONS.PURMAAPPLINFO_SUBMITTOENQUIRY')}`
-        ">{{ $t('button.againAnInquiry') }}</ws-button>-->
-          <!-- v-hasPermission="'procurement.spareMaterial.enquiryDetailMa.save'" -->
-          <ws-button v-if="buttonIsShow.isSave"
-                     v-hasPermission="
-          `${$permission('PERMISSIONS.PURMAAPPLINFO_SUBMITTOENQUIRY')}`
-        "
-                     @click="save('')">{{ $t('button.save') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isConfirmsplitbills"
-                     type="primary"
-                     @click="splitEnquiryBills(1)"
-                     v-hasPermission="
-          'procurement.spareMaterial.enquiryDetailMa.confirmsplitbills'
-        ">{{ $t('button.confirmsplitbills') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isCancelsplitbills"
-                     @click="splitEnquiryBills(0)">{{ $t('button.cancelsplitbills') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isOperMoreCD && splitable"
-                     v-hasPermission="
-          'procurement.spareMaterial.enquiryDetailMa.confirmsplitbills'
-        "
-                     @click="operMore('cd')">{{ $t('button.splitbills') }}</ws-button>
-          <!-- v-hasPermission="'procurement.spareMaterial.enquiryDetailMa.save'" -->
-          <ws-button v-if="buttonIsShow.isDiscard"
-                     v-hasPermission="
-          `${$permission('PERMISSIONS.PURMAAPPLINFO_SUBMITTOENQUIRY')}`
-        "
-                     @click="operMore('fq')">{{ $t('button.discard') }}</ws-button>
-          <DocRelate-Button :set-show-type="docRelateShow"
-                            :set-form="setForm"
-                            set-page-type="Ma" />
-          <ws-button @click="back">{{
-        $t('button.back')
-      }}</ws-button>
-          <!-- <ws-dropdown v-show="buttonIsShow.isOperMore" @command="operMore">
-        <ws-button>
-          {{ $t('button.moreoperations') }}
-          <i class="el-icon-arrow-down el-icon--right" />
-        </ws-button>
-        <ws-dropdown-menu slot="dropdown">
-          <ws-dropdown-item v-show="buttonIsShow.isOperMoreCD" command="cd">{{ $t('button.splitbills') }}</ws-dropdown-item>
-          <ws-dropdown-item command="dc">{{ $t('button.export') }}</ws-dropdown-item>
-        </ws-dropdown-menu>
-      </ws-dropdown>-->
-          <!-- 采购单号 -->
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 单据基础信息 -->
-      <base-card :title="$t('cg.applydetails.basicInfo')">
-        <ws-form ref="infoForm"
-                 :model="enquiryInfo"
-                 :rules="rulesEnquiry"
-                 :show-message="false"
-                 :class="
-                isParentEdit ? 'purspappl-details' : 'purspappl-details hide-sel'
-              "
-                 :hide-required-asterisk="!isParentEdit">
-          <ws-info-table>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vesselName')">
-              <div class="div-el-form-item">{{ enquiryInfo.vesselName }}</div>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applPurchase')">
-              <ws-input v-model="enquiryInfo.title"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="200" />
-            </ws-form-item>
-
-            <!-- <ws-form-item
-                    :span="1"
-                    :label="$t('cg.applydetails.applSubject')"
-                  >
-                    <el-cascader
-                      v-model="enquiryInfo.subjectId"
-                      :options="applySubjectList"
-                      clearable
-                      :show-all-levels="false"
-                      style="width: 100%;"
-                      :placeholder="isParentEdit?$t('common.selected'):''"
-                      :disabled="isParentEdit?false:true"
-                    />
-                </ws-form-item>-->
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applTypeName')"
-                          prop="purchaseType">
-              <ws-select v-if="isParentEdit"
-                         v-model="enquiryInfo.applTypeId"
-                         :placeholder="isParentEdit ? $t('common.selected') : ''">
-                <ws-option v-for="item in applyTypeList"
-                           :key="item.parameterKey"
-                           :label="
-                        language == 'en'
-                          ? item.parameterValueEn
-                          : item.parameterValue
-                      "
-                           :value="item.parameterKey" />
-              </ws-select>
-              <span v-else>{{
-                    language == 'en'
-                      ? enquiryInfo.purchaseTypeNameEn
-                      : enquiryInfo.purchaseTypeName
-                  }}</span>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.openParityWay')"
-                          prop="openParityWay">
-              <ws-select v-model="enquiryInfo.openParityWay"
-                         :placeholder="isParentEdit ? $t('common.selected') : ''"
-                         :disabled="isParentEdit ? false : true">
-                <ws-option v-for="item in openParityWayList"
-                           :key="item.parameterKey"
-                           :label="
-                        language == 'en'
-                          ? item.parameterValueEn
-                          : item.parameterValue
-                      "
-                           :value="item.parameterKey" />
-              </ws-select>
-            </ws-form-item>
-
-            <ws-form-item :span="2"
-                          :label="$t('cg.applydetails.inquiryEffective')"
-                          prop="inquiryEffective">
-              <ws-date-picker v-model="enquiryInfo.inquiryEffective"
-                              :disabled="isParentEdit ? false : true"
-                              type="daterange"
-                              style="width:100%"
-                              range-separator="-"
-                              :start-placeholder="$t('cg.querybdate')"
-                              :picker-options="pickerBeginDateBefore"
-                              format="yyyy-MM-dd"
-                              value-format="yyyy-MM-dd"
-                              :end-placeholder="$t('cg.queryedate')" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applExpectedDeliveryLocation')">
-              <ws-input v-model="enquiryInfo.demandPlace"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="250" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.deliveryTerm')">
-              <ws-input v-model="enquiryInfo.deliveryTerm"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="100" />
-              <!-- <ws-date-picker v-model="enquiryInfo.demandDate"
-                                  type="date"
-                                  :placeholder="isParentEdit ? $t('common.selected') : ''"
-                                  :disabled="isParentEdit ? false : true"
-                                  format="yyyy-MM-dd"
-                                  value-format="yyyy-MM-dd"
-                                  :picker-options="pickerOptions" />-->
-            </ws-form-item>
-
-            <ws-form-item :span="4"
-                          :label="$t('cg.applydetails.applemark')">
-              <ws-row>
-                <ws-col :span="22">
-                  <ws-input v-model="enquiryInfo.remark"
-                            :title="enquiryInfo.remark"
-                            :placeholder="isParentEdit ? $t('common.input') : ''"
-                            :disabled="isParentEdit ? false : true"
-                            style="width: 100%;line-height: 41px;"
-                            maxlength="250" />
-                </ws-col>
-                <ws-col :span="2">
-                  <NotesOnHistory :set-show-message="notesOnHistory" />
-                </ws-col>
-              </ws-row>
-            </ws-form-item>
-          </ws-info-table>
-        </ws-form>
-      </base-card>
-      <!-- 单据基础信息 -->
-
-      <!-- 供货商信息 -->
-      <!-- <ws-collapse>
-            <template slot="title">
-                <span
-                  style=" width: 300px;display: block;"
-                >{{ $t('cg.supplier.supplierInfo') }}</span>
-              </div>
-              <div class="add-details">
-                <div v-show="isAddSupplier" class="add-list" @click.stop="addSupplier">
-                  <i class="el-icon-circle-plus-outline" />
-                  <span style="font-size: 13px;color: #A8A8A8;">{{ $t('common.addSupplier') }}</span>
-                </div>
-              </div>
-            </template>
-
-            <supplier-Info ref="supplierInfo" />
-        </ws-collapse>-->
-      <supplier-Info ref="supplierInfo"
-                     :init="enquiryInfo"
-                     :is-add-supplier="isAddSupplier"
-                     :add-supplier="addSupplier" />
-      <!-- 供货商信息 -->
-
-      <!-- 采购明细 -->
-      <base-card :title="$t('cg.applydetails.applInfo2')">
-        <pur-EnquiryDetails ref="purEnquiryDetails"
-                            class="purEnquiryDetail"
-                            :typeName="typeName" />
-      </base-card>
-      <!-- 采购明细 -->
-
-      <!-- 附件上传 -->
-      <base-card :title="$t('upload.basicInfo')"
-                 :isIcon="false">
-        <ws-upload ref="wsUpload"
-                   oss-key="procurement.procurementMaterial.enquiryDetail"
-                   :comp-id="companyId"
-                   :editable="isParentEdit"
-                   :appendix-ids="enquiryInfo.appendixId"
-                   :vesselId="enquiryInfo.vesselId"
-                   table-name="materielEnquiryInfo"
-                   @onChange="onChange" />
-      </base-card>
-      <!-- 附件上传 -->
-    </template>
-    <!-- 弹出页面-废弃 -->
-    <approve-dialog ref="approveDialog"
-                    @scrapConfirm="scrapConfirm"></approve-dialog>
-    <!-- 弹出页面-废弃 -->
-  </BaseDetailLayout>
-</template>
-
-<script src="../../../viewsjs/procurement/procurementMaterial/enquiryDetail.js" />
-<style lang="scss" scoped>
-/deep/.el-input.is-disabled .el-input__inner {
-  background-color: #fff;
-  border-color: #fff;
-  color: #000;
-  cursor: text;
-  padding: 0;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    & /deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
-    & /deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-.pur-container {
-  .el-collapse {
-    border-top: 0 !important;
-    border-bottom: 0 !important;
-  }
-  .el-collapse-item__header {
-    background-color: #fff;
-    border-bottom: 0;
-  }
-  .el-collapse-item__wrap {
-    border-bottom: 0;
-  }
-}
-.span-money {
-  font-size: 14px;
-  font-weight: 700;
-  margin: 10px 10px;
-  line-height: 40px;
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.label-btitle {
-  margin: 10px 0 10px 18px;
-  font-size: 14px;
-}
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .el-date-editor {
-    i {
-      display: none;
-    }
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-      resize: none;
-    }
-  }
-}
-.el-textarea__inner {
-  resize: none;
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  background-color: #fff;
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner,
-  .el-range-input {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-.purEnquiryDetail {
-  /deep/.is-disabled {
-    background-color: transparent;
-    .el-input__inner {
-      color: #333 !important;
-      font-size: 12px;
-    }
-  }
-}
-</style>

+ 0 - 1620
src/views/procurement/procurementMaterial/parityDetail.vue

@@ -1,1620 +0,0 @@
-<!--物料比价单明细-->
-<!--2019年6月3日 18:15:07 by jlx-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <!-- 按钮组件 -->
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <OperationalHistory :bill-no="$t('cg.cgsparedetail.parityno') + $t('common.colon') + parityInfo.enquiryNo"
-                              :message="getLanguage == 'en'?parityInfo.statusNameEn:parityInfo.statusName"
-                              :set-id="enquiryId"
-                              set-type="parity" />
-        </template>
-        <template slot="right">
-          <ws-button v-if="parityInfo.taskId"
-                     type="primary"
-                     @click="toApprove">{{ $t('button.approve') }}
-          </ws-button>
-          <ws-button v-if="parityInfo.taskId"
-                     @click="toReturn">{{ $t('button.noapprove') }}
-          </ws-button>
-          <!-- 'procurement.spareMaterial.spparityMa.submit' -->
-          <ws-button v-if="buttonIsShow.isSubmit"
-                     type="primary"
-                     @click="approve(4)"
-                     v-hasPermission="`${$permission('PERMISSIONS.PURMAPARITYINFO_UPDATEPARITYINFO')}`">{{ $t('button.submit') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isSave"
-                     v-hasPermission="`${$permission('PERMISSIONS.PURMAPARITYINFO_UPDATEPARITYINFO')}`"
-                     @click="approve(5)">{{ $t('button.save') }}</ws-button>
-          <!--<ws-button
-                 @click="operMore('dc')"
-                 v-hasPermission="
-            `${$permission('PERMISSIONS.PURMAPARITYINFO_UPDATEPARITYINFO')}`">
-        {{ $t('button.export') }}</ws-button>-->
-          <ws-button v-if="buttonIsShow.isConfirmsplitbills"
-                     type="primary"
-                     @click="dialogAgainToEnquiry"
-                     v-hasPermission="`${$permission('PERMISSIONS.PURMAPARITYINFO_UPDATEPARITYINFO')}`">{{ $t('button.confirmsplitbills') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isAbandon && !buttonIsShow.isCancelsplitbills"
-                     v-hasPermission="
-          `${$permission('PERMISSIONS.PURMAPARITYINFO_UPDATEPARITYINFO')}`
-        "
-                     @click="operMore('fq')">{{ $t('button.discard') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isCancelsplitbills"
-                     @click="againToEnquiry(0)">{{ $t('button.cancelAgainToEnquiry') }}
-          </ws-button>
-          <ws-button v-if="buttonIsShow.isMadeEnquiry && !buttonIsShow.isCancelsplitbills"
-                     v-hasPermission="`${$permission('PERMISSIONS.PURMAPARITYINFO_UPDATEPARITYINFO')}`"
-                     @click="operMore('zcxjd')">{{ $t('button.madeEnquiry') }}</ws-button>
-          <!-- v-hasPermission="'procurement.spareMaterial.spparityMa.export'"
-       <ws-button
-        v-if="!buttonIsShow.isCancelsplitbills"
-         v-hasPermission="
-            `${$permission('PERMISSIONS.PURMAPARITYINFO_VIEW')}`
-          "
-
-        @click="operMore('dc')"
-        >{{ $t('button.export') }}</ws-button
-      > -->
-          <DocRelate-Button v-if="!buttonIsShow.isCancelsplitbills"
-                            :set-show-type="docRelateShow"
-                            :set-form="setForm"
-                            set-page-type="Ma" />
-          <ws-button v-if="!buttonIsShow.isCancelsplitbills"
-                     @click="back">{{ $t('button.back') }}</ws-button>
-          <!-- <ws-dropdown v-show="buttonIsShow.isOperMore" @command="operMore">
-        <ws-button>
-          {{ $t('button.moreoperations') }}
-          <i class="el-icon-arrow-down el-icon--right" />
-        </ws-button>
-         v-hasPermission="'procurement.spareMaterial.spparityMa.export'"
-        <ws-dropdown-menu slot="dropdown">
-          <ws-dropdown-item v-show="buttonIsShow.isMadeEnquiry" command="zcxjd">{{ $t('button.madeEnquiry') }}</ws-dropdown-item>
-          <ws-dropdown-item command="dc"v-hasPermission="
-            `${$permission('PERMISSIONS.PURMAPARITYINFO_VIEW')}`
-          ">{{ $t('button.export') }}</ws-dropdown-item>
-          <ws-dropdown-item v-show="buttonIsShow.isAbandon" command="fq">{{ $t('button.discard') }}</ws-dropdown-item>
-        </ws-dropdown-menu>
-      </ws-dropdown>-->
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <el-collapse v-model="activeNameMax">
-        <!-- 单据基础信息 -->
-        <base-card :title="$t('cg.applydetails.basicInfo')">
-          <template slot="buttons">
-            <div class="box-btitle">
-              <span style=" font-size:14px; margin-right: 15px;"
-                    @click="currencyZhb"
-                    class="bg">
-                <i class="iconfont iconzhuanhuanbiy" />
-                <span>{{ $t('cw.inOperation.convertCurrency') }}</span>
-              </span>
-              <span style=" font-size:20px; margin-right: 15px;cursor:pointer;">
-                <i class="iconfont icongonghuoshangy"
-                   @click="addQuotes" />
-              </span>
-              <span style="text-align: center;margin-top: -8px;">
-                <i class="el-icon-arrow-left"
-                   style="line-height:40px; font-size:20px; margin-right: 30px;"
-                   @click="allLeft" />
-                <i class="el-icon-arrow-right"
-                   style="line-height:40px; font-size:20px;"
-                   @click="allRight" />
-              </span>
-            </div>
-          </template>
-          <div class="selector"
-               style="width:100%">
-            <div>
-              <div class="container-parity selector">
-                <div class="box-card box-card1 card-float">
-                  <div class="box-card-conter-top"
-                       style="height: calc(100% - 40px);">
-                    <!-- 绑定比价单基本信息-->
-                    <div>
-                      <span style="line-height: 30px;font-size: 14px; font-weight: 700; color: #333;">{{
-                              $t('cg.parity.vesselName') + $t('common.colon')
-                            }}</span>
-                      <span>{{ parityInfo.vesselName }}</span>
-                    </div>
-                    <div>
-                      <span style="line-height: 30px;font-size: 14px; font-weight: 700; color: #333;">{{
-                              $t('cw.inOperation.currencyOrganizing') +
-                                $t('common.colon')
-                            }}</span>
-                      <span>{{ parityInfo.currencyOrganizing }}</span>
-                    </div>
-
-                    <div>
-                      <span style="line-height: 30px;font-size: 14px; font-weight: 700; color: #333;">{{
-                              $t('cg.parity.parity') + $t('common.colon')
-                            }}</span>
-                      <ws-input v-if="buttonIsShow.isSubmit"
-                                v-model="parityInfo.remark"
-                                style="margin-left:0; margin-bottom: 11px;"
-                                type="textarea"
-                                maxlength="250" />
-                      <div :title="parityInfo.remark"
-                           style="font-size: 12px;margin-bottom: 10px;line-height: 18px;height: 53px;display: -webkit-box;
-                              -webkit-box-orient: vertical;-webkit-line-clamp: 3;overflow: hidden;"
-                           v-else>
-                        {{ parityInfo.remark }}
-                      </div>
-                    </div>
-                    <ws-input v-model="opermoreSelectValue"
-                              :placeholder="$t('cg.queryMaQueryText')"
-                              @keyup.enter.native="searchValue"
-                              maxlength="100"
-                              style="margin-top: 90px">
-                      <i slot="suffix"
-                         class="el-input__icon el-icon-search"
-                         @click="searchValue" />
-                    </ws-input>
-
-                    <div class="from-div"
-                         style="margin: 3px 0 11px;">
-                      <!--<ws-checkbox
-                            v-model="minPriceFlag"
-                            :label="$t('cg.parity.minPrice')"
-                            @change="setMinPrice"
-                          />-->
-
-                      <!--<ws-button
-                            v-if="isParentEdit"
-
-                            @click="selectMinPrice"
-                          >{{ $t('cg.parity.selectPrice') }}
-                          </ws-button>-->
-                    </div>
-                  </div>
-                  <!-- 比价备件单明细信息列标题-->
-                  <div class="button-title">
-                    <div style="width:55%"
-                         :title="$t('cg.parity.mainfo')">
-                      {{ $t('cg.parity.mainfo') }}
-                    </div>
-                    <div style="width:25%"
-                         :title="$t('cg.parity.enquiryBrand')">
-                      {{ $t('cg.parity.enquiryBrand') }}
-                    </div>
-                    <div style="width:20%"
-                         :title="$t('cg.parity.quantity')">
-                      {{ $t('cg.parity.quantity') }}
-                    </div>
-                  </div>
-                </div>
-                <div v-for="(item, index) in quotesLists"
-                     v-if="index < 3"
-                     :key="index"
-                     class="box-card box-card-right card-float selector">
-                  <div v-if="index < 2"
-                       v-show="index < quotesLists.length - 1"
-                       class="box-zuoyou"
-                       @click="allLeftRightItem(index)">
-                    <img src="../../../assets/assets/zuoyou.png"
-                         alt />
-                  </div>
-                  <!-- 绑定报价单基本信息-->
-                  <div class="box-card-conter-top">
-                    <div class="box-card-title"
-                         @click="onVendor(index)">
-                      {{ item.vendorName }}
-                    </div>
-                    <div class="box-card-conter">
-                      <span>{{ $t('cg.parity.quotesMoney') }}{{$t('common.colon')}}</span>
-                      <span v-if="!currencyZhbFlag && item.currencyRates">{{
-                              item.afterDiscountLower
-                                ? parseFloat(
-                                    (item.afterDiscountLower
-                                      ? item.afterDiscountLower
-                                      : 0) /
-                                      (item.currencyRates
-                                        ? item.currencyRates
-                                        : 0)
-                                  ).toFixed(2)
-                                : 0
-                            }}{{ parityInfo.currencyOrganizing }}</span>
-                      <span v-else>{{
-                              item.afterDiscountLower
-                                ? parseFloat(
-                                    item.afterDiscountLower
-                                      ? item.afterDiscountLower
-                                      : 0
-                                  ).toFixed(2)
-                                : 0.0
-                            }}{{ item.currencyName }}</span>
-                    </div>
-                    <div class="purchase box-card-conter">
-                      <div class="purchase-left">
-                        <span>{{ $t('cg.parity.purchaseMoney') }}{{$t('common.colon')}}</span>
-                        <span v-if="!currencyZhbFlag && item.currencyRates">{{
-                                item.selectMongy
-                                  ? parseFloat(
-                                      (item.selectMongy ? item.selectMongy : 0) /
-                                        (item.currencyRates
-                                          ? item.currencyRates
-                                          : 1)
-                                    ).toFixed(2)
-                                  : 0
-                              }}{{ parityInfo.currencyOrganizing }}</span>
-                        <span v-else>{{
-                                item.selectMongy
-                                  ? parseFloat(
-                                      item.selectMongy ? item.selectMongy : 0
-                                    ).toFixed(2)
-                                  : 0.0
-                              }}{{ item.currencyName }}</span>
-                      </div>
-                      <div class="purchase-right">
-                        <el-tooltip v-if="item.remark2"
-                                    class="item"
-                                    effect="dark"
-                                    :content="item.remark2"
-                                    placement="top-start">
-                          <i class="iconfont iconmsg12y"
-                             style="padding:0px;" />
-                        </el-tooltip>
-                        <span slot="reference"
-                              @click="onPurchase(index)">
-                          <i class="iconfont icongouwuchey" />
-                        </span>
-                        <span>{{ item.selectAmount }}</span>
-                      </div>
-                    </div>
-                    <div class="box-card-conter">
-                      <span>{{ $t('cw.inOperation.rate') }}{{$t('common.colon')}}</span>
-                      <span>{{ item.currencyRates || '--' }}</span>
-                    </div>
-
-                    <div style="height: 32px;">
-                      <div class="select-button"
-                           style="text-align: center;">
-                        <ws-button :disabled="!buttonIsShow.isSubmit"
-                                   v-if="item.buttonStatus == 0"
-                                   :type="
-                                item.selectOfDel == $t('cg.parity.selectAll')
-                                  ? 'primary'
-                                  : 'warning'
-                              "
-                                   @click="selectAllPrice(index)">{{ item.selectOfDel }}
-                        </ws-button>
-                        <ws-button :disabled="!buttonIsShow.isSubmit"
-                                   v-if="item.buttonStatus == 0"
-                                   :type="
-                                item.selectPrice == $t('cg.parity.selectPrice')
-                                  ? ''
-                                  : 'warning'
-                              "
-                                   @click="selectMinPrice(index)">{{ item.selectPrice }}
-                        </ws-button>
-                      </div>
-                      <ws-button v-if="item.buttonStatus == 1"
-                                 type="warning"
-                                 class="select-button">
-                        {{ $t('cg.parity.selectPending') }}</ws-button>
-
-                      <ws-button v-if="item.buttonStatus == 2"
-                                 type="info"
-                                 class="select-button">{{ $t('cg.parity.selectLose') }}
-                      </ws-button>
-                      <ws-button v-if="item.buttonStatus == 3"
-                                 type="warning"
-                                 class="select-button">{{ $t('cg.parity.selection') }}
-                      </ws-button>
-                      <ws-button v-if="item.buttonStatus == 4"
-                                 type="info"
-                                 class="select-button">{{ $t('cg.parity.notQuoted') }}
-                      </ws-button>
-                    </div>
-
-                    <div class="box-card-close">
-                      <i class="el-icon-close"
-                         @click="removeQuotes(index)" />
-                    </div>
-                  </div>
-                  <div class="box-card-conter box-card-currencyMa">
-                    <!-- <div>
-                          <span>{{ $t('cg.parity.quoteCurrency') }}{{$t('common.colon')}}</span>
-                          <span>{{ item.currencyName }}</span>
-                        </div>-->
-                    <div>
-                      <span>{{ $t('cg.cgsparedetail.discount') }}{{$t('common.colon')}}</span>
-                      <span>{{ item.discount }}</span>
-                    </div>
-
-                    <div>
-                      <span>{{ $t('cg.parity.transFee') }}{{$t('common.colon')}}</span>
-                      <span v-if="!currencyZhbFlag && item.currencyRates">{{
-                              item.transFee
-                                ? parseFloat(
-                                    (item.transFee ? item.transFee : 0) /
-                                      (item.currencyRates
-                                        ? item.currencyRates
-                                        : 0)
-                                  ).toFixed(2)
-                                : 0
-                            }}{{ parityInfo.currencyOrganizing }}</span>
-                      <span v-else>{{
-                              item.transFee
-                                ? parseFloat(
-                                    item.transFee ? item.transFee : 0
-                                  ).toFixed(2)
-                                : 0.0
-                            }}{{ item.currencyName }}</span>
-                    </div>
-                    <div>
-                      <span>{{ $t('cg.parity.settlementFlag') }}{{$t('common.colon')}}</span>
-                      <span>{{ item.settlementFlagName }}</span>
-                    </div>
-                    <div>
-                      <span>{{ $t('cg.parity.deliveryPeriod') }}{{$t('common.colon')}}</span>
-                      <span>{{ item.demandDate }}</span>
-                    </div>
-                    <div>
-                      <span>{{ $t('cg.applydetails.deliveryTerm') }}{{$t('common.colon')}}</span>
-                      <span>{{ item.deliveryTerm }}</span>
-                    </div>
-                    <div>
-                      <span>{{ $t('cg.parity.deliveryPlace') }}{{$t('common.colon')}}</span>
-                      <span>{{ item.deliveryPlace }}</span>
-                    </div>
-                    <!-- 2020 09 09添加税率字段 -->
-                    <div>
-                      <span>{{ $t('cg.parity.taxRate') }}{{$t('common.colon')}}</span>
-                      <span>{{ $ph(item.taxRate) }}</span>
-                    </div>
-                  </div>
-                  <!-- 报价单备件明细信息列标题-->
-                  <div class="button-title">
-                    <div style="width:25%;overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"
-                         :title="$t('cg.parity.brandName')">
-                      {{ $t('cg.parity.brandName') }}
-                    </div>
-                    <div style="width:20%;overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"
-                         :title="$t('cg.parity.unitPrice')">
-                      {{ $t('cg.parity.unitPrice') }}
-                    </div>
-                    <!-- 2020.09.09 隐藏折后报价 -->
-                    <!-- <div style="width:20%;overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"
-                             :title="$t('cg.cgsparedetail.convertedQuote')">
-                          {{ $t('cg.cgsparedetail.convertedQuote') }}
-                        </div> -->
-                    <!-- 2020.09.09 添加税率(%) -->
-                    <div style="width:20%;overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"
-                         :title="$t('cg.cgsparedetail.taxRate')">
-                      {{ $t('cg.cgsparedetail.taxRate') }}
-                    </div>
-                    <div style="width:25%;overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"
-                         :title="$t('cg.parity.bargainPriceGroup')">
-                      {{ $t('cg.parity.bargainPriceGroup') }}
-                    </div>
-                    <div style="width:10%;overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"
-                         :title="$t('common.operate')">
-                      {{ $t('common.operate') }}
-                    </div>
-                  </div>
-                </div>
-              </div>
-              <div class="list-conter">
-                <div class="div-collapse">
-                  <el-collapse v-model="activeName">
-                    <!--  比价单设备明细信息绑定-->
-                    <el-collapse-item v-for="(devItem, devIndex) in parityInfo.deviceList"
-                                      :key="devIndex"
-                                      :name="devIndex">
-                      <template slot="title">
-                        <ws-row :gutter="24"
-                                style="width:100%; margin-bottom: 0;">
-                          <ws-col :span="10">
-                            <div class="bg-purple-dark">
-                              <span style="font-size: 13px;color: #4a89f1;">
-                                {{ $t('cg.cgsmadetail.maTypeName') }}{{$t('common.colon')}}
-                                {{
-                                      getLanguage == 'en' &&
-                                      devItem.maTypeNameEn &&
-                                      devItem.maTypeNameEn.length > 0
-                                        ? devItem.maTypeNameEn
-                                        : devItem.maTypeName
-                                    }}
-                              </span>
-                            </div>
-                          </ws-col>
-                        </ws-row>
-                      </template>
-                      <!--  比价单设备下--备件明细信息绑定-->
-                      <div v-for="(ci, spIndex) in devItem.partList"
-                           v-show="ci.isFilter"
-                           :key="spIndex"
-                           class="box-conter selector"
-                           :class="
-                              isParentEdit
-                                ? 'purspappl-details'
-                                : 'purspappl-details hide-sel'
-                            ">
-                        <ws-row :class="ci.againFlag == '0' ? '' : ' hide-row'"
-                                style="border-bottom: 1px solid #ccc; margin-bottom: 0px;">
-                          <div class="box-card card-float"
-                               style="    border-top: 0;">
-                            <div style="width:5%; text-align: center; border:0; margin: 4px 0 0 5px;"
-                                 class="box-conter-left">
-                              <ws-checkbox v-if="
-                                      ci.againFlag == '0' &&
-                                        isParentEdit &&
-                                        buttonIsShow.isCancelsplitbills
-                                    "
-                                           v-model="ci.checked" />
-                            </div>
-                            <div style="width:50%; text-align: left; height: 164px;"
-                                 class="box-conter-left box-conter-start">
-                              <div style=" margin-top:8px;margin-bottom: 6px"
-                                   class="box-conter-felx">
-                                <div class="box-conter-felx-left"
-                                     :title="
-                                        getLanguage == 'en' &&
-                                        ci.materialNameEn &&
-                                        ci.materialNameEn.length > 0
-                                          ? ci.materialNameEn
-                                          : ci.materialName
-                                      ">
-                                  {{
-                                        getLanguage == 'en' &&
-                                        ci.materialNameEn &&
-                                        ci.materialNameEn.length > 0
-                                          ? ci.materialNameEn
-                                          : ci.materialName
-                                      }}
-                                </div>
-                                <div class="box-conter-felx-right">
-                                  <i class="iconfont iconlishishujutongji"
-                                     style="color:#87B3F6"
-                                     @click="findHisList(devIndex, spIndex)" />
-                                  <!-- <svg-icon icon-class="lishi"
-                                                style="  margin-right: 5px;"
-                                                @click="findHisList(devIndex, spIndex)" /> -->
-
-                                  <el-tooltip class="item"
-                                              effect="light"
-                                              placement="bottom-start">
-                                    <div slot="content"
-                                         class="text-wrapper">
-                                      {{
-                                            $t('cg.parity.cause') +
-                                              $t('common.colon')
-                                          }}{{ ci.remark }}
-                                    </div>
-                                    <span>
-                                      <i class="iconfont iconB-liuyan1"
-                                         style="color:#87B3F6"
-                                         v-show=" ci.againFlag==1"></i>
-                                      <!-- <svg-icon icon-class="zhushi"
-                                                    v-show="ci.againFlag == 1" /> -->
-                                    </span>
-                                  </el-tooltip>
-                                </div>
-                              </div>
-
-                              <div style=" margin-top:0;  line-height: 25px;height: 25px">
-                                <div class="fl">
-                                  {{ $t('cg.parity.measurementUnit') }}{{$t('common.colon')}}
-                                </div>
-                                <div :title="
-                                        language == 'en'
-                                          ? ci.measurementUnitEn
-                                          : ci.measurementUnit
-                                      "
-                                     class="overEl fl"
-                                     style="width: calc( 100% - 50px );">
-                                  {{
-                                        language == 'en'
-                                          ? ci.measurementUnitEn
-                                          : ci.measurementUnit
-                                      }}
-                                </div>
-                              </div>
-                              <div style="line-height: 25px;height: 25px">
-                                <div class="fl">
-                                  {{ $t('cg.cgsmadetail.materialCode') }}{{$t('common.colon')}}
-                                </div>
-                                <div :title="ci.materialCode"
-                                     class="overEl fl"
-                                     style="width: calc( 100% - 75px );">
-                                  {{ ci.materialCode }}
-                                </div>
-                              </div>
-                              <div style="line-height: 25px;height: 25px">
-                                <div class="fl">
-                                  {{ $t('cg.cgsmadetail.specification') }}{{$t('common.colon')}}
-                                </div>
-                                <div :title="ci.specification"
-                                     class="overEl fl"
-                                     style="width: calc( 100% - 50px );">
-                                  {{ ci.specification }}
-                                </div>
-                              </div>
-                              <div style="line-height: 25px;height: 25px">
-                                <div class="fl">
-                                  {{ $t('cg.cgsmadetail.maDescription') }}{{$t('common.colon')}}
-                                </div>
-                                <div :title="ci.maDescription"
-                                     class="overEl fl"
-                                     style="width: calc( 100% - 50px );">
-                                  {{ ci.maDescription }}
-                                </div>
-                              </div>
-                            </div>
-
-                            <div style="width:25%; line-height:164px;  text-align: center;"
-                                 class="box-conter-left">
-                              <div>
-                                {{
-                                      ci.enquiryBrandName
-                                        ? ci.enquiryBrandName
-                                        : '&nbsp;'
-                                    }}
-                              </div>
-                            </div>
-                            <div style="width:20%;border:0;"
-                                 class="box-conter-left">
-                              <div style="width:auto; padding:0 5px; line-height:164px; text-align: center;">
-                                <ws-input :clearable="false"
-                                          v-if="
-                                        !buttonIsShow.isApprove &&
-                                          buttonIsShow.isSubmit
-                                      "
-                                          v-model="ci.verifyQuantity"
-                                          oninput="value=value.replace(/[^\d.]/g,'')"
-                                          size="mini"
-                                          :readonly="
-                                        isParentEdit && ci.againFlag == '0'
-                                          ? false
-                                          : true
-                                      "
-                                          @change="
-                                        updateamount(devIndex, spIndex, ci)
-                                      " />
-                                <span v-else>{{ ci.verifyQuantity }}</span>
-                              </div>
-                            </div>
-                          </div>
-                          <!--  比价单设备下--备件--对应的多个报价单;比价单明细,报价单明细 必须以询价单明细ID排序-->
-                          <div v-for="(quotesItem, quotesIndex) in quotesLists"
-                               v-if="quotesIndex < 3"
-                               v-show="quotesItem.deleteFlag == 0"
-                               :key="quotesIndex"
-                               class="box-card box-card-right card-float"
-                               style="height: 165px; border-top: 0;">
-                            <div style="height:135px;overflow-x: hidden;overflow-y: auto;">
-                              <div v-for="(i, indexs) in quotesItem.deviceList[
-                                      devIndex
-                                    ].partList"
-                                   v-if="ci.enquiryDetailId == i.enquiryDetailId"
-                                   v-show="i.isFilter"
-                                   :key="indexs">
-                                <div v-if="quotesItem.status == 13"
-                                     class="quoteClass">
-                                  <img src="@/assets/noQuotation.png" />
-                                </div>
-                                <div v-else>
-                                  <div :class="
-                                          i.rowCount >= 3
-                                            ? 'box-div'
-                                            : i.rowCount == 2
-                                            ? 'box-div1'
-                                            : 'box-div2'
-                                        "
-                                       :style="{
-                                          borderBottom:
-                                            i.rowCount > 1 &&
-                                            indexs + 1 === i.rowCount
-                                              ? '0px solid #ccc'
-                                              : ''
-                                        }">
-                                    <div style="width:25%; "
-                                         class="box-size">
-                                      <span style="min-weith:5em; display: -webkit-inline-box">{{
-                                              language == 'en'
-                                                ? i.enquiryBrandNameEn
-                                                : i.enquiryBrandName
-                                            }}</span>
-                                    </div>
-                                    <!-- 报价 -->
-                                    <div v-if="
-                                            !currencyZhbFlag &&
-                                              quotesItem.currencyRates
-                                          "
-                                         :style="
-                                            'color:' +
-                                              (i.minPriceFlag
-                                                ? '#16e643'
-                                                : '#333') +
-                                              ';'
-                                          "
-                                         style="width:20%;"
-                                         class="box-size no-warp"
-                                         :title="
-                                            (i.selectType
-                                              ? parseFloat(
-                                                  (i.unitPrice
-                                                    ? i.unitPrice
-                                                    : 0) /
-                                                    (quotesItem.currencyRates
-                                                      ? quotesItem.currencyRates
-                                                      : 0)
-                                                ).toFixed(2)
-                                              : 0.0) +
-                                              parityInfo.currencyOrganizing
-                                          ">
-                                      {{
-                                            i.selectType
-                                              ? parseFloat(
-                                                  (i.unitPrice
-                                                    ? i.unitPrice
-                                                    : 0) /
-                                                    (quotesItem.currencyRates
-                                                      ? quotesItem.currencyRates
-                                                      : 0)
-                                                ).toFixed(2)
-                                              : 0.0
-                                          }}{{ parityInfo.currencyOrganizing }}
-                                    </div>
-                                    <div v-else
-                                         :style="
-                                            'color:' +
-                                              (i.minPriceFlag
-                                                ? '#16e643'
-                                                : '#333') +
-                                              ';'
-                                          "
-                                         style="width:20%;"
-                                         class="box-size no-warp"
-                                         :title="
-                                            (i.selectType
-                                              ? parseFloat(
-                                                  i.unitPrice ? i.unitPrice : 0
-                                                ).toFixed(2)
-                                              : 0.0) + quotesItem.currencyName
-                                          ">
-                                      {{
-                                            i.selectType
-                                              ? parseFloat(
-                                                  i.unitPrice ? i.unitPrice : 0
-                                                ).toFixed(2)
-                                              : 0.0
-                                          }}{{ quotesItem.currencyName }}
-                                    </div>
-
-                                    <!-- <div v-if="
-                                            !currencyZhbFlag &&
-                                              quotesItem.currencyRates
-                                          "
-                                             :style="
-                                            'color:' +
-                                              (i.minPriceFlag
-                                                ? '#16e643'
-                                                : '#333') +
-                                              ';'
-                                          "
-                                             style="width:20%;"
-                                             class="box-size no-warp"
-                                             :title="
-                                            (i.selectType == null
-                                              ? 0
-                                              : parseFloat(
-                                                  ((quotesItem.discount == null
-                                                    ? 0
-                                                    : quotesItem.discount) *
-                                                    (i.unitPrice == null
-                                                      ? 0
-                                                      : i.unitPrice)) /
-                                                    (quotesItem.currencyRates
-                                                      ? quotesItem.currencyRates
-                                                      : 0) /
-                                                    100
-                                                ).toFixed(2)) +
-                                              parityInfo.currencyOrganizing
-                                          ">
-                                          {{
-                                            i.selectType == null
-                                              ? 0
-                                              : parseFloat(
-                                                  ((quotesItem.discount == null
-                                                    ? 0
-                                                    : quotesItem.discount) *
-                                                    (i.unitPrice == null
-                                                      ? 0
-                                                      : i.unitPrice)) /
-                                                    (quotesItem.currencyRates
-                                                      ? quotesItem.currencyRates
-                                                      : 0) /
-                                                    100
-                                                ).toFixed(2)
-                                          }}{{ parityInfo.currencyOrganizing }}
-                                        </div>
-                                        <div v-else
-                                             :style="
-                                            'color:' +
-                                              (i.minPriceFlag
-                                                ? '#16e643'
-                                                : '#333') +
-                                              ';'
-                                          "
-                                             style="width:20%;"
-                                             class="box-size no-warp"
-                                             :title="
-                                            (i.selectType == null
-                                              ? 0
-                                              : parseFloat(
-                                                  ((quotesItem.discount == null
-                                                    ? 0
-                                                    : quotesItem.discount) *
-                                                    (i.unitPrice == null
-                                                      ? 0
-                                                      : i.unitPrice)) /
-                                                    100
-                                                ).toFixed(2)) +
-                                              quotesItem.currencyName
-                                          ">
-                                          {{
-                                            i.selectType == null
-                                              ? 0
-                                              : parseFloat(
-                                                  ((quotesItem.discount == null
-                                                    ? 0
-                                                    : quotesItem.discount) *
-                                                    (i.unitPrice == null
-                                                      ? 0
-                                                      : i.unitPrice)) /
-                                                    100
-                                                ).toFixed(2)
-                                          }}{{ quotesItem.currencyName }}
-                                        </div> -->
-                                    <!-- 税率(%) -->
-                                    <div :style="
-                                          'color:' +
-                                            (i.minPriceFlag
-                                              ? '#16e643'
-                                              : '#333') +
-                                            ';'
-                                        "
-                                         style="width:20%;"
-                                         class="box-size no-warp"
-                                         :title="$ph(i.taxRate)">
-                                      {{$ph(i.taxRate)}}
-                                    </div>
-
-                                    <!-- <div v-if="currencyZhbFlag" style="width:25%;" :style="'color:'+(i.minPriceFlag?'#16e643':'#333')+';'" class="box-size no-warp" :title="(i.selectType ?parseFloat((i.groupMoney ?i.groupMoney:0)).toFixed(2):0.00)+quotesItem.currencyName">
-                                          {{i.selectType ?parseFloat((i.groupMoney ?i.groupMoney:0)).toFixed(2):0.00}}{{
-                                          quotesItem.currencyName }}
-                                        </div>
-                                        <div v-else style="width:25%;" :style="'color:'+(i.minPriceFlag?'#16e643':'#333')+';'" class="box-size no-warp" :title="(i.selectType ?parseFloat((i.groupMoney ?i.groupMoney:0) /
-                                          (quotesItem.currencyRates ?quotesItem.currencyRates:0) ).toFixed(2):0.00)+parityInfo.currencyOrganizing">
-                                          {{i.selectType ?parseFloat((i.groupMoney ?i.groupMoney:0) /
-                                          (quotesItem.currencyRates ?quotesItem.currencyRates:0) ).toFixed(2):0.00}}{{
-                                          parityInfo.currencyOrganizing }}
-                                        </div>-->
-                                    <!-- 小计 -->
-                                    <div v-if="
-                                            !currencyZhbFlag &&
-                                              quotesItem.currencyRates
-                                          "
-                                         style="width:25%;"
-                                         :style="
-                                            'color:' +
-                                              (i.minPriceFlag
-                                                ? '#16e643'
-                                                : '#333') +
-                                              ';'
-                                          "
-                                         class="box-size no-warp"
-                                         :title="
-                                            (ci.verifyQuantity || 0) *
-                                              (i.selectType == null
-                                                ? 0
-                                                : parseFloat(
-                                                    ((quotesItem.discount == null
-                                                      ? 0
-                                                      : quotesItem.discount) *
-                                                      (i.unitPrice == null
-                                                        ? 0
-                                                        : i.unitPrice)) /
-                                                      (quotesItem.currencyRates
-                                                        ? quotesItem.currencyRates
-                                                        : 0) /
-                                                      100
-                                                  ).toFixed(2)) +
-                                              parityInfo.currencyOrganizing
-                                          ">
-                                      <!-- {{i.selectType ?parseFloat((i.groupMoney ?i.groupMoney:0) / (quotesItem.currencyRates ?quotesItem.currencyRates:0) ).toFixed(2):0.00}} -->
-                                      {{
-                                            (ci.verifyQuantity || 0) *
-                                              (i.selectType == null
-                                                ? 0
-                                                : parseFloat(
-                                                    ((quotesItem.discount == null
-                                                      ? 0
-                                                      : quotesItem.discount) *
-                                                      (i.unitPrice == null
-                                                        ? 0
-                                                        : i.unitPrice)) /
-                                                      (quotesItem.currencyRates
-                                                        ? quotesItem.currencyRates
-                                                        : 0) /
-                                                      100
-                                                  ).toFixed(2))
-                                          }}
-                                      {{ parityInfo.currencyOrganizing }}
-                                    </div>
-                                    <div v-else
-                                         :style="
-                                            'color:' +
-                                              (i.minPriceFlag
-                                                ? '#16e643'
-                                                : '#333') +
-                                              ';'
-                                          "
-                                         style="width:25%;"
-                                         class="box-size no-warp"
-                                         :title="
-                                            (ci.verifyQuantity || 0) *
-                                              (i.selectType == null
-                                                ? 0
-                                                : parseFloat(
-                                                    ((quotesItem.discount == null
-                                                      ? 0
-                                                      : quotesItem.discount) *
-                                                      (i.unitPrice == null
-                                                        ? 0
-                                                        : i.unitPrice)) /
-                                                      100
-                                                  ).toFixed(2))
-                                          ">
-                                      <!-- {{i.selectType ?parseFloat((i.groupMoney ?i.groupMoney:0)).toFixed(2):0.00}} -->
-                                      {{
-                                            (ci.verifyQuantity || 0) *
-                                              (i.selectType == null
-                                                ? 0
-                                                : parseFloat(
-                                                    ((quotesItem.discount == null
-                                                      ? 0
-                                                      : quotesItem.discount) *
-                                                      (i.unitPrice == null
-                                                        ? 0
-                                                        : i.unitPrice)) /
-                                                      100
-                                                  ).toFixed(2))
-                                          }}
-                                      {{ quotesItem.currencyName }}
-                                    </div>
-
-                                    <div style="width:10%;"
-                                         class="box-size">
-                                      <!--  选择备件对应的一个报价单-->
-                                      <div class="triangle">
-                                        <div class="triangle-div">
-                                          <ws-checkbox v-model="i.checked"
-                                                       :disabled="!buttonIsShow.isSubmit"
-                                                       @change="
-                                                  selectOnePrice(
-                                                    quotesIndex,
-                                                    devIndex,
-                                                    spIndex,
-                                                    indexs,
-                                                    i.enquiryDetailId
-                                                  )
-                                                " />
-                                        </div>
-                                      </div>
-                                    </div>
-                                  </div>
-                                  <div class="messageRemark">
-                                    <span>{{
-                                            $t('common.remark') +
-                                              $t('common.colon')
-                                          }}{{ i.remark }}</span>
-                                  </div>
-                                  <div />
-                                </div>
-                              </div>
-                            </div>
-                          </div>
-                        </ws-row>
-                      </div>
-                    </el-collapse-item>
-                  </el-collapse>
-                </div>
-              </div>
-            </div>
-
-            <!-- 弹出页面-新增修改 -->
-            <div v-show="fromVisible"
-                 class="fromVisible">
-              <div class="fromVisibleList">
-                <ws-row v-for="(item, index) in allQuotesLists"
-                        :key="index">
-                  <ws-col :span="4">
-                    <ws-checkbox v-model="item.checked"
-                                 @change="refreshList()" />
-                  </ws-col>
-                  <ws-col :span="16">
-                    <span style="font-size:13px;">{{ item.vendorName }}</span>
-                  </ws-col>
-                  <ws-col :span="4">
-                    <span>{{ item.selectAmount }}</span>
-                  </ws-col>
-                </ws-row>
-              </div>
-              <div slot="footer"
-                   style="text-align: center;">
-                <ws-button @click="fromVisible = false">{{
-                      $t('message.cancel')
-                    }}</ws-button>
-                <ws-button type="primary"
-                           @click="addQuotesLists">{{
-                      $t('message.confirm')
-                    }}</ws-button>
-              </div>
-            </div>
-            <!-- 弹出页面-新增修改 -->
-          </div>
-        </base-card>
-        <!-- 附件 -->
-        <ws-form>
-          <div class="label-box">
-            <span class="label-title">{{ $t('rt.attachment') }}</span>
-            <ws-upload ref="upload"
-                       table-name="sparepart_appl_info"
-                       oss-key="sparePartRes.newlyEdit"
-                       :comp-id="compId"
-                       :appendix-ids="parityInfo.appendixId" />
-          </div>
-        </ws-form>
-        <!-- 审核流程 -->
-        <audit-history ref="auditHistory"></audit-history>
-        <!--<ws-collapse v-show="auditList && auditList.length>0">
-            <template slot="title">
-              <span>{{ $t('cg.applydetails.approvalProcess') }}</span>
-            </template>
-
-            <approval-Process ref="approvalProcess" />
-          </ws-collapse>-->
-        <!-- 审核流程 -->
-      </el-collapse>
-    </template>
-    <!-- 采购历史 -->
-    <purHistory ref="purHistory"
-                show-type="ma" />
-    <!-- 弹出页面-审核通过 退回 废弃 -->
-    <approve-dialog ref="approveDialog"
-                    @approveConfirm="approveConfirm"
-                    @returnConfirm="returnConfirm"
-                    @scrapConfirm="scrapConfirm"></approve-dialog>
-    <!-- 弹出页面-审核通过 退回 废弃 -->
-    <!-- 弹出页面-再次做成询价单 -->
-    <WinseaContentModal v-model='dialogAgainToEnquiryFormVisible'
-                        :title="$t('cg.applydetails.againToEnquiry')">
-      <ws-form ref="noApproveForm"
-               :model="taskHanlder"
-               :rules="againToEnquiryRules"
-               label-width="150px"
-               class="demo-Forms"
-               :show-message="false">
-        <ws-form-item :label="$t('cg.applydetails.againToEnquiry')"
-                      prop="reMark">
-          <ws-input v-model.trim="parityInfo.reMark"
-                    type="textarea"
-                    :rows="2"
-                    :placeholder="$t('common.input')" />
-        </ws-form-item>
-      </ws-form>
-      <template slot="footer">
-        <ws-button @click="dialogAgainToEnquiryFormVisible = false">{{
-          $t('message.cancel')
-        }}</ws-button>
-        <ws-button type="primary"
-                   @click="againToEnquiry(1)">{{
-          $t('message.confirm')
-        }}</ws-button>
-      </template>
-    </WinseaContentModal>
-    <!-- 弹出页面-再次做成询价单 -->
-    <WinseaContentModal v-model='dialogTableVisible'
-                        :title="$t('cg.parity.mainfo')">
-      <ws-normal-table :data="purchaseData">
-        <ws-table-column property="materialName"
-                         :label="$t('cg.cgsmadetail.materialName')"
-                         min-width="200">
-          <template slot-scope="scope">
-            <span>{{
-              getLanguage == 'en' &&
-              scope.row.materialNameEn &&
-              scope.row.materialNameEn.length > 0
-                ? scope.row.materialNameEn
-                : scope.row.materialName
-            }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column property="materialCode"
-                         :label="$t('cg.cgsmadetail.materialCode')"
-                         min-width="100" />
-        <ws-table-column property="specification"
-                         :label="$t('cg.cgsmadetail.specification')"
-                         min-width="100" />
-        <ws-table-column property="maDescription"
-                         :label="$t('cg.cgsmadetail.maDescription')"
-                         min-width="100" />
-      </ws-normal-table>
-    </WinseaContentModal>
-  </BaseDetailLayout>
-</template>
-<script src="../../../viewsjs/procurement/procurementMaterial/parityDetail.js"></script>
-<style lang="scss" scoped>
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-
-.box-btitle {
-  display: flex;
-  flex-direction: row;
-  justify-content: space-between;
-}
-
-.collapse-container {
-  .el-collapse {
-    border-top: 0 !important;
-    border-bottom: 0 !important;
-  }
-  .el-collapse-item__header {
-    background-color: #fff;
-    border-bottom: 0 !important;
-  }
-  /deep/ .el-collapse-item__wrap {
-    border-bottom: none !important;
-  }
-
-  .div-collapse {
-    ::v-deep .el-collapse-item__header {
-      background-color: #e2edfa;
-      padding: 0 10px;
-    }
-  }
-}
-
-.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-
-.title-label {
-  padding: 20px 0 10px;
-}
-
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    & /deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
-    & /deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.quoteClass {
-  position: relative;
-  width: 100%;
-  height: 164px;
-
-  img {
-    position: absolute;
-    left: 50%;
-    top: 50%;
-    margin-left: -30px;
-    margin-top: -24px;
-  }
-}
-
-.elcheckbox {
-  display: none;
-}
-
-.from-div {
-  display: flex;
-  flex-flow: row nowrap;
-  justify-content: space-between;
-  margin: 20px 0 21px;
-  line-height: 32px;
-}
-
-.el-row {
-  margin-bottom: 20px;
-
-  &:last-child {
-    margin-bottom: 0;
-  }
-}
-
-.el-col {
-  border-radius: 4px;
-}
-
-.col-purple {
-  background: #f9fafc;
-  border: 1px solid #ccc;
-  margin-right: -1px;
-  padding: 15px;
-  padding-bottom: 0;
-}
-
-.bg-purple-light {
-  background: #e5e9f2;
-}
-
-.grid-content {
-  // border-radius: 4px;
-  min-height: 36px;
-}
-
-.row-bg {
-  padding: 10px 0;
-  background-color: #f9fafc !important;
-}
-
-.col-parity {
-  padding-left: 0 !important;
-  padding-right: 0 !important;
-}
-
-.container-parity {
-  width: 100%;
-}
-
-.text {
-  font-size: 14px;
-}
-
-.item {
-  padding: 18px 0;
-}
-
-.box-conter-start {
-  .purspappl-details {
-    line-height: 25px !important;
-  }
-}
-
-.box-conter-felx {
-  display: flex;
-  width: 100%;
-}
-
-.box-conter-felx-left {
-  width: 74%;
-  height: 34px;
-  line-height: 16px;
-  text-overflow: -o-ellipsis-lastline;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  line-clamp: 2;
-  -webkit-box-orient: vertical;
-}
-
-.box-conter-felx-right {
-  width: 26%;
-  text-align: center;
-}
-
-.box-card {
-  width: calc(25% + 1px);
-  border: 1px solid #ccc;
-  border-bottom: 0;
-  margin-right: -1px;
-  box-sizing: border-box;
-}
-.box-card1 {
-  width: 25%;
-  height: 351px;
-}
-.box-card-conter-top {
-  height: 145px;
-  padding: 20px 20px 0;
-  padding-bottom: 0;
-
-  .el-textarea__inner {
-    width: 100%;
-  }
-
-  .el-form-item {
-    margin-bottom: 0;
-  }
-}
-
-.box-card-right {
-  position: relative;
-}
-
-.box-card-close {
-  position: absolute;
-  top: 5px;
-  right: 10px;
-}
-
-.box-card-title {
-  font-size: 14px;
-  color: #333;
-  line-height: 16px;
-  margin-bottom: 20px;
-  font-weight: bold;
-}
-
-.card-float {
-  float: left;
-}
-
-.purchase {
-  display: flex;
-  flex-flow: row nowrap;
-  justify-content: space-between;
-  font-size: 12px;
-  line-height: 25px;
-}
-
-.box-card-conter {
-  font-size: 12px;
-}
-
-.select-button {
-  display: block;
-  margin: 5px auto;
-}
-
-.box-card-currencyMa {
-  margin-top: 9px;
-  background-color: #f6f6f6;
-  padding: 7px 20px;
-  font-size: 12px;
-  color: #333;
-  height: 156px;
-  line-height: 20px;
-}
-
-.selector:after {
-  content: '.';
-  clear: both;
-  display: block;
-  height: 0;
-  overflow: hidden;
-  visibility: hidden;
-}
-
-.button-title {
-  background-color: #eee;
-  line-height: 40px;
-  height: 40px;
-  text-align: center;
-}
-
-.button-title div {
-  float: left;
-  font-size: 12px;
-  font-weight: 600;
-  color: #333;
-}
-
-.list-conter {
-  width: 100%;
-  height: auto;
-}
-
-.list-conter-title {
-  line-height: 40px;
-  background-color: rgb(194, 194, 194);
-}
-
-.el-collapse-item__header {
-  background-color: #e2edfa;
-}
-
-.part-div {
-  border-bottom: 1px solid #ccc;
-}
-
-.box-conter-left {
-  float: left;
-  border-right: 1px solid #ccc;
-  // border-left:1px solid #ccc;
-  margin-right: -1px;
-  margin-left: -1px;
-}
-
-.box-conter-left .el-input__inner {
-  padding: 0 5px;
-  text-align: center;
-}
-
-.box-div {
-  position: relative;
-  line-height: 44px;
-  box-sizing: border-box;
-  display: list-item;
-  border-bottom: 1px solid #ccc;
-  ::v-deep .triangle {
-    .triangle-div {
-      .el-checkbox__input {
-        position: absolute;
-        top: -68px;
-        right: 1px;
-      }
-    }
-  }
-}
-
-.box-div1 {
-  position: relative;
-  line-height: 67px;
-  box-sizing: border-box;
-  display: list-item;
-  border-bottom: 1px solid #ccc;
-  ::v-deep .triangle {
-    .triangle-div {
-      .el-checkbox__input {
-        position: absolute;
-        top: -75px;
-        right: 1px;
-      }
-    }
-  }
-}
-
-.box-div2 {
-  line-height: 135px;
-  box-sizing: border-box;
-  display: list-item;
-
-  ::v-deep .triangle {
-    .triangle-div {
-      .el-checkbox__input {
-        position: absolute;
-        top: -105px;
-        right: 1px;
-      }
-    }
-  }
-}
-
-.box-size {
-  float: left;
-  font-size: 12px;
-  text-align: center;
-
-  .item {
-    padding: 10px 0;
-  }
-}
-.no-warp {
-  text-overflow: ellipsis !important;
-  overflow: hidden !important;
-  white-space: nowrap !important;
-  display: block !important;
-}
-
-/deep/.el-collapse-item__content {
-  padding-bottom: 0;
-}
-
-.box-card-san {
-  position: absolute;
-  top: 0;
-  right: 0;
-  width: 0;
-  height: 0;
-  border: 30px solid;
-  border-color: #e6ebf5 #e6ebf5 #fff #fff;
-}
-
-.box-card-san-checked {
-  position: absolute;
-  top: -25px;
-  right: -20px;
-}
-
-.box-zuoyou {
-  width: 38px;
-  position: absolute;
-  right: -19px;
-  top: 102px;
-  border: 1px solid #ccc;
-  border-radius: 50%;
-  z-index: 1;
-  background: #fff;
-  height: 38px;
-}
-
-.box-zuoyou img {
-  width: 100%;
-  height: 100%;
-}
-
-.fromVisible {
-  width: 350px;
-  padding: 10px;
-  position: absolute;
-  top: 176px;
-  height: 274px;
-  right: 4%;
-  z-index: 100;
-  background-color: #fff;
-  border: 1px solid #ccc;
-}
-
-.fromVisibleList {
-  height: 190px;
-  overflow: auto;
-}
-
-.el-tooltip__popper[x-placement^='bottom'] {
-  margin-top: 0px;
-}
-
-.parityClass {
-  .el-form-item__label {
-  }
-}
-
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-
-.label-btitle {
-  margin: 10px 0 10px 18px;
-  font-size: 14px;
-}
-
-.messageRemark {
-  position: absolute;
-  bottom: 0;
-  left: 0;
-  border-top: 1px solid #ccc;
-  background-color: #fff;
-  line-height: 30px;
-  height: 30px;
-  z-index: 9;
-  width: 100%;
-
-  span {
-    padding-left: 20px;
-  }
-}
-
-.triangle {
-  position: absolute;
-  top: 0;
-  right: 0;
-  width: 43px;
-  height: 43px;
-
-  .triangle-div {
-    width: 0;
-    height: 0;
-    border-left: 43px solid #fff;
-    /* border-right: 40px solid #f5f7fa; */
-    border-top: 43px solid #f5f7fa;
-    /* border-bottom: 0px solid #fff; */
-    .el-checkbox__input {
-      position: absolute;
-      top: -62px;
-      right: 1px;
-    }
-  }
-
-  .el-textarea__inner {
-    resize: none;
-  }
-}
-.bg:hover {
-  color: #1d6ced;
-}
-
-// 控制select为只读的时候显示样式
-.hide-row {
-  background-color: #f6f6f6;
-
-  .triangle {
-    display: none;
-  }
-
-  .box-conter-left {
-    .el-input__inner {
-      background-color: #f6f6f6;
-      border: 0;
-    }
-  }
-
-  .messageRemark {
-    background-color: #f6f6f6;
-  }
-}
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-
-  .el-icon-arrow-up {
-    display: none;
-  }
-
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-
-    color: #606266;
-
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-
-.el-textarea__inner {
-  resize: none;
-}
-
-// 控制select为只读的时候显示样式
-.text-overflover {
-  text-overflow: ellipsis !important;
-  overflow: hidden !important;
-  white-space: nowrap !important;
-  display: block !important;
-  line-height: 25px;
-}
-</style>

+ 0 - 622
src/views/procurement/procurementMaterial/purchasDetail.vue

@@ -1,622 +0,0 @@
-<!--物料-物料采购详情-->
-<!--2019年6月5日 15:37:39 by zw-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <!-- 按钮组件 -->
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <!--历史控件-->
-          <OperationalHistory :bill-no="$t('cg.cgsparedetail.purchasno') + $t('common.colon') + purchasInfo.purchaseNo"
-                              :message="getLanguage == 'en'?purchasInfo.statusNameEn:purchasInfo.statusName"
-                              :set-id="purchaseId"
-                              set-type="purchas" />
-        </template>
-        <template slot="right">
-          <ws-button v-if="buttonIsShow.isSend"
-                     type="primary"
-                     @click="approve(5)">{{ $t('button.sendPurchas') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isApprove"
-                     type="primary"
-                     @click="toApprove">{{ $t('button.approve') }}
-          </ws-button>
-          <ws-button v-if="buttonIsShow.isNoApprove"
-                     @click="toReturn">{{ $t('button.noapprove') }}
-          </ws-button>
-          <!-- 'procurement.spareMaterial.purMaPurchasInfo.submitToWorkflow' -->
-          <ws-button v-if="buttonIsShow.isSubmitQuotationy && !buttonIsShow.isSend"
-                     type="primary"
-                     @click="approve(4)"
-                     v-hasPermission="[
-          `${$permission('PERMISSIONS.PURMAAPPLINFO_SUBMITTOPURCHAS')}`,
-          `${$permission('PERMISSIONS.PURMAPURCHASINFO_UPDATEPURCHASINFO')}`
-        ]">{{ $t('button.submit') }}</ws-button>
-          <!-- 保存按钮 -->
-          <!--  v-hasPermission="'procurement.spareMaterial.purchasDetailMa.save'" -->
-          <ws-button v-if="buttonIsShow.isSaveQuotation"
-                     @click="save('')"
-                     v-hasPermission="[
-          `${$permission('PERMISSIONS.PURMAAPPLINFO_SUBMITTOPURCHAS')}`,
-          `${$permission('PERMISSIONS.PURMAPURCHASINFO_UPDATEPURCHASINFO')}`
-        ]">{{ $t('button.save') }}</ws-button>
-          <ws-button v-hasPermission="`${$permission('PERMISSIONS.PURMAPURCHASINFO_VIEW')}`"
-                     @click="operMore('dc')">{{ $t('button.export') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isDiscard"
-                     @click="operMore('fq')">{{ $t('button.discard') }}</ws-button>
-          <DocRelate-Button :set-show-type="docRelateShow"
-                            :set-form="setForm"
-                            set-page-type="Ma" />
-          <ws-button @click="back">{{ $t('button.back') }}</ws-button>
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 单据基础信息 -->
-      <base-card :title="$t('cg.applydetails.basicInfo')">
-        <ws-form ref="infoForm"
-                 :model="purchasInfo"
-                 :rules="purRules"
-                 :show-message="false"
-                 :class="
-                isParentEdit ? 'purspappl-details' : 'purspappl-details hide-sel'
-              "
-                 :hide-required-asterisk="!isParentEdit">
-          <ws-info-table>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vesselName')">
-              <div class="div-el-form-item">{{ purchasInfo.vesselName }}</div>
-            </ws-form-item>
-
-            <!-- <ws-form-item :span="1" :label="$t('cg.applydetails.deliveryTerm')" prop="deliveryTerm">
-                  <ws-input v-model="purchasInfo.deliveryTerm" :placeholder="isParentEdit?$t('common.input'):''" :disabled="isParentEdit?false:true" maxlength="200" />
-                </ws-form-item> -->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vendorName')"
-                          v-if="purchasInfo.purchaseTypeName !== '直接采购'"
-                          key="novendorid">
-              <div class="div-el-form-item">{{ purchasInfo.vendorName }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vendorName')"
-                          v-if="purchasInfo.purchaseTypeName === '直接采购'"
-                          prop="vendorId"
-                          key="vendorid">
-              <div class="div-el-form-item"
-                   style="width:100%">
-                <ws-select v-model="purchasInfo.vendorId"
-                           :disabled="isParentEdit ? false : true"
-                           :placeholder="isParentEdit ? $t('common.selected') : ''">
-                  <ws-option v-for="item in vendorNameList"
-                             :key="item.vendorId"
-                             :label="item.vendorName"
-                             :value="item.vendorId" />
-                </ws-select>
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vendorName')"
-                          v-if="disabledInput"
-                          prop="vendorId"
-                          key="vendorid">
-              <div class="div-el-form-item"
-                   style="width:100%"
-                   v-if="disabledInput && purchasInfo.enquiryId === null"
-                   :disabled="isParentEdit ? false : true">
-                <ws-select v-model="purchasInfo.vendorId"
-                           :placeholder="isParentEdit ? $t('common.selected') : ''">
-                  <ws-option v-for="item in vendorNameList"
-                             :key="item.vendorId"
-                             :label="item.vendorName"
-                             :value="item.vendorId" />
-                </ws-select>
-              </div>
-              <div class="div-el-form-item"
-                   v-else>
-                {{ purchasInfo.vendorName }}
-              </div>
-            </ws-form-item>
-
-            <!-- 采购类型 -->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.purchaseType')">
-              <div class="div-el-form-item hide-sel">
-                <span>{{
-                    language == 'en'
-                      ? purchasInfo.purchaseTypeNameEn
-                      : purchasInfo.purchaseTypeName
-                  }}</span>
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cw.inOperation.rate')">
-              <span>{{ purchasInfo.exchangeRate ? purchasInfo.exchangeRate : '--' }}</span>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.contractId')">
-              <ws-select v-if="(purchasInfo.contractId && purchasInfo.contractId.length>0) || isParentEdit"
-                         v-model="purchasInfo.contractId"
-                         clearable
-                         :placeholder="isParentEdit ? $t('common.selected') : ''"
-                         :disabled="isParentEdit ? false : true"
-                         @change="contractChange">
-                <ws-option v-for="item in contractList"
-                           :key="item.contractId"
-                           :label="item.contractTitle"
-                           :value="item.contractId" />
-              </ws-select>
-              <span v-else>{{''}}</span>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.supplyPlace')">
-              <ws-input v-model="purchasInfo.quotesDeliveryPlace"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="100" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.deliveryType')"
-                          prop="deliveryType">
-              <ws-input v-model="purchasInfo.deliveryType"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="100" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.deliveryTerm')"
-                          prop="deliveryTerm">
-              <ws-input v-model="purchasInfo.deliveryTerm"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="200" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.quotesValid')">
-              <ws-input v-model="purchasInfo.quotesValid"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="50" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.currencyId')"
-                          :key="purchasInfo.purchaseTypeName === '直接采购'?'currencyId':'noProp'"
-                          :prop="purchasInfo.purchaseTypeName === '直接采购'?'currencyId':''">
-              <div class="div-el-form-item"
-                   style="width:100%">
-                <BaseParameterSelect v-model="purchasInfo.currencyId"
-                                     v-if="purchasInfo.purchaseTypeName === '直接采购'"
-                                     :typeCode="'CURRENCY'"
-                                     :disabled="isParentEdit ? false : true"
-                                     :placeholder="isParentEdit ? $t('common.selected') : ''"
-                                     @change="selectCurrencyId" />
-                <div class="div-el-form-item"
-                     v-else>{{ currencyName }}</div>
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.transFee')">
-              <ws-input v-model="purchasInfo.transFee"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        oninput="value=value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
-                        v-number-input.float
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="18"
-                        @change="ariDiscount" />
-              <div class="ml10 transFee">
-                <ws-checkbox v-model="purchasInfo.discountFlag"
-                             :disabled="isParentEdit? false : true"
-                             @change="ariDiscount" />
-                <span style="font-size: 12px">{{$t('cg.applydetails.participationDiscount')}}</span>
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.invoiceFlag')"
-                          prop="invoiceFlag">
-              <!-- <ws-select v-model="purchasInfo.invoiceFlag"
-                           :placeholder="isParentEdit ? $t('common.selected') : ''"
-                           :disabled="isParentEdit ? false : true">
-                  <ws-option v-for="item in invoiceFlagList"
-                             :key="item.parameterKey"
-                             :label="
-                      language == 'en'
-                        ? item.parameterValueEn
-                        : item.parameterValue
-                    "
-                             :value="item.parameterKey" />
-                </ws-select> -->
-              <BaseParameterSelect v-model="purchasInfo.invoiceFlag"
-                                   :placeholder="isParentEdit ? $t('common.selected') : ''"
-                                   :typeCode="'INVOICE_FLAG'"
-                                   :disabled="isParentEdit ? false : true" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.taxPoint')">
-              <ws-input-number :min="0"
-                               v-model="purchasInfo.taxRate"
-                               :placeholder="isParentEdit ? $t('common.input') : ''"
-                               :disabled="isParentEdit ? false : true"
-                               maxlength="18" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          v-if="isHasFinance"
-                          prop="subjectId"
-                          :label="$t('salaryInfo.subject')">
-              <el-cascader style="width: 100%;"
-                           v-if="isParentEdit"
-                           v-model="purchasInfo.subjectId"
-                           :options="applySubjectList"
-                           :props="{ checkStrictly: true }"
-                           @change="changeSubject" />
-              <span :title="purchasInfo.subjectNames"
-                    v-else>{{ purchasInfo.subjectNames }}</span>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.payTypeFlag')"
-                          key="payTypeFlag"
-                          prop="settlementFlag">
-              <BaseParameterSelect v-model="purchasInfo.settlementFlag"
-                                   :placeholder="isParentEdit ? $t('common.selected') : ''"
-                                   :typeCode="'SETTLEMENT_FLAG'"
-                                   :disabled="isParentEdit ? false : true" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          class="is-payment"
-                          v-if="isHasFinance"
-                          prop="advancePaymentFlag"
-                          :label="$t('cg.applydetails.isPayment')">
-              <ws-select v-model="purchasInfo.advancePaymentFlag"
-                         :disabled="!isParentEdit"
-                         :placeholder="isParentEdit ? $t('common.selected') : ''">
-                <ws-option v-for="item in isPaymentList"
-                           :key="item.value"
-                           :label="item.label"
-                           :value="item.value" />
-              </ws-select>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          v-if="isHasFinance && purchasInfo.advancePaymentFlag !== null"
-                          :key="purchasInfo.advancePaymentFlag?'payTypeRate':'npProp'"
-                          :prop="purchasInfo.advancePaymentFlag?'payTypeRate':''"
-                          :label="$t('cg.applydetails.paymentRate')">
-              <ws-input-number v-model="purchasInfo.payTypeRate"
-                               :min="0"
-                               :precision="0"
-                               :placeholder="isParentEdit & purchasInfo.advancePaymentFlag ? $t('common.input') : ''"
-                               :disabled="isParentEdit & purchasInfo.advancePaymentFlag ? false : true"
-                               maxlength="100"
-                               @blur="getPayAmount" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          v-if="isHasFinance && purchasInfo.advancePaymentFlag !== null"
-                          :label="$t('cg.applydetails.prepaymentAmount')">
-              <span v-if="purchasInfo.advanceTotalAmount">{{$fmoney(purchasInfo.advanceTotalAmount)}}</span>
-              <span v-else>{{'--'}}</span>
-            </ws-form-item>
-
-            <ws-form-item :span="2"
-                          :label="$t('cg.applydetails.applemark')">
-              <ws-input :title="purchasInfo.remark"
-                        v-model="purchasInfo.remark"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        style="width: 100%;"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="250" />
-            </ws-form-item>
-          </ws-info-table>
-        </ws-form>
-      </base-card>
-      <!-- 单据基础信息 -->
-
-      <!--合同-->
-      <base-card :title="$t('cg.applydetails.purCont')"
-                 v-if="contractContent.contractContent">
-        <div ref="contractContent"
-             class="contractContent"
-             v-html="contractContent.contractContent" />
-      </base-card>
-      <!--合同-->
-
-      <!-- 采购明细 -->
-      <base-card :title="$t('cg.applydetails.applInfo')">
-        <span class="span-money">
-          <span>{{
-              $t('cg.cgsparedetail.originalCurrencyAfterDiscountLower') +
-                $t('common.colon')
-            }}</span>
-          <span>{{ purchasInfo.afterDiscountLower }}</span>
-          <span>{{ currencyName }}</span>
-        </span>
-        <!-- <span class="span-money" v-if="purchasInfo.currencyId==1"> -->
-        <!-- <span class="span-money">
-          <span>{{
-                $t('cg.cgsparedetail.organizationAfterDiscountLower') +
-                  $t('common.colon')
-              }}</span>
-          <span>{{
-                purchasInfo.exchangeRate
-                  ? isNaN(purchasInfo.afterDiscountLower / purchasInfo.exchangeRate)
-                    ? '0.00'
-                    : parseFloat(
-                        purchasInfo.afterDiscountLower / purchasInfo.exchangeRate
-                      ).toFixed(2)
-                  : '--'
-              }}</span>
-          <span>{{ organMonetaryValue }}</span>
-        </span> -->
-        <span class="span-money">
-          <span>{{
-                $t('cg.cgsparedetail.discount') + $t('common.colon')
-              }}</span>
-
-          <ws-input-number v-if="isParentEdit"
-                           :min="0"
-                           :precision="0"
-                           v-model="purchasInfo.discount"
-                           :placeholder="$t('common.input')"
-                           style="width:200px !important"
-                           oninput="value=value.replace(/[^\d.]/g,'')"
-                           maxlength="18"
-                           @blur="ariDiscount" />
-          <span v-else>{{
-                parseInt(purchasInfo.discount || 0)
-              }}</span>
-        </span>
-
-        <span class="span-money">
-          <span>{{
-                $t('cg.cgsparedetail.originalCurrencyAfterDiscountLower1') +
-                  $t('common.colon')
-              }}</span>
-          <span>{{ purchasInfo.afterDiscountLower?(isNaN(purchasInfo.afterDiscountLower)? '0.00':parseFloat(purchasInfo.afterDiscountLower).toFixed(2)):'--' }}</span>
-          <span>{{ currencyName }}</span>
-        </span>
-
-        <span class="span-money">
-          <span>{{
-                $t('cg.cgsparedetail.organizationAfterDiscountLower') +
-                  $t('common.colon')
-              }}</span>
-          <span>{{
-                purchasInfo.exchangeRate
-                  ? isNaN(purchasInfo.afterDiscountLower / purchasInfo.exchangeRate)
-                    ? '0.00'
-                    : parseFloat(
-                        purchasInfo.afterDiscountLower / purchasInfo.exchangeRate
-                      ).toFixed(2)
-                  : '--'
-              }}</span>
-          <span>{{ organMonetaryValue }}</span>
-        </span>
-        <div style="float: right;line-height: 40px;"
-             @click="getRecord"
-             v-if="purchasInfo.paymentOperateHis && purchasInfo.paymentOperateHis.length>0">
-          <i class="iconfont icongongchengfukuanjilu" />{{ $t('cg.applydetails.paymentRecords') }}
-        </div>
-
-        <pur-ChassDetails ref="purChassDetails"
-                          :taxRate="purchasInfo.taxRate"
-                          :typeName="typeName"
-                          :currency-name="currencyName"
-                          :isHasFinance="isHasFinance" />
-      </base-card>
-      <!-- 采购明细 -->
-
-      <!-- 附件上传 -->
-      <base-card :title="$t('upload.basicInfo')"
-                 :isIcon="false">
-        <!-- <upload ref="uploadFile" :auto-upload="false" model-id="ZS" /> -->
-        <ws-upload ref="wsUpload"
-                   oss-key="procurement.procurementMaterial.purchasDetail"
-                   :comp-id="companyId"
-                   :editable="isParentEdit"
-                   :appendix-ids="purchasInfo.appendixId"
-                   :vesselId="purchasInfo.vesselId"
-                   table-name="materielPurchasInfo"
-                   @onChange="onChange" />
-      </base-card>
-      <!-- 附件上传 -->
-      <!-- 审核流程 -->
-      <audit-history ref="auditHistory"></audit-history>
-
-      <pay-record ref="payRecord"
-                  :recordList="purchasInfo.paymentOperateHis"></pay-record>
-    </template>
-    <!-- 弹出页面-审核通过 退回 废弃 -->
-    <approve-dialog ref="approveDialog"
-                    @approveConfirm="approveConfirm"
-                    @returnConfirm="returnConfirm"
-                    @scrapConfirm="scrapConfirm"></approve-dialog>
-    <!-- 弹出页面-审核通过 退回 废弃 -->
-  </BaseDetailLayout>
-</template>
-<script src="../../../viewsjs/procurement/procurementMaterial/purChasDetail.js" />
-<style lang="scss" scoped>
-::v-deep .el-input .el-input__inner:read-only {
-  background-color: #fff;
-  /*border-color: #fff;*/
-  color: #000;
-  cursor: text;
-  padding: 0;
-  font-size: 14px;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    & /deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
-    & /deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-.mce-tinymce {
-  width: auto !important;
-}
-
-.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-.span-money {
-  font-size: 14px;
-  font-weight: 700;
-  margin: 10px 10px;
-  line-height: 40px;
-}
-section {
-  width: auto;
-  height: auto;
-  border: 1px solid #ccc;
-  position: relative;
-  h3 {
-    text-align: center;
-    font-size: 20px;
-    font-weight: 700;
-    margin: 5px auto;
-  }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.label-btitle {
-  margin: 10px 0 10px 18px;
-  font-size: 14px;
-}
-
-.contractContent {
-  width: 100%;
-  height: 400px;
-  overflow: auto;
-  border: 1px solid #ccc;
-}
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .el-input__suffix {
-    .el-input__suffix-inner {
-      display: none;
-    }
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-.el-textarea__inner {
-  resize: none;
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-/deep/.el-input-number {
-  /deep/.el-input__inner {
-    text-align: left;
-  }
-}
-/deep/.el-cascader .el-input .el-input__inner {
-  font-size: 12px !important;
-  border-color: #ccc !important;
-  padding-left: 15px !important;
-}
-.ws-info-table {
-  /deep/.is-payment {
-    .el-form-item__label {
-      line-height: 20px;
-      height: 40px;
-      white-space: pre-wrap;
-    }
-  }
-}
-</style>

+ 0 - 562
src/views/procurement/procurementMaterial/quotesDetail.vue

@@ -1,562 +0,0 @@
-<!--物料-物料报价详情-->
-<!--2019年6月5日 15:37:39 by zw-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <span>{{ $t('cg.cgsparedetail.quotesno') + $t('common.colon') + quotesInfo.quotesNo}}</span>
-          <span class="ml10"
-                v-if="approveStatus">{{ $t('common.status') + $t('common.colon') + (getLanguage == 'en'?quotesInfo.statusNameEn:quotesInfo.statusName) }}</span>
-        </template>
-        <template slot="right">
-          <el-upload v-if="buttonIsShow.isImportQuotation && quotesInfo.editFlag"
-                     ref="upload"
-                     class="upload-demo mr10"
-                     style="display: inline-block;"
-                     action
-                     multiple
-                     :http-request="uploadSectionFile"
-                     :auto-upload="true"
-                     :show-file-list="false">
-            <ws-button type="primary">{{
-            $t('button.importQuotation')
-            }}</ws-button>
-          </el-upload>
-          <ws-button v-if="buttonIsShow.isAgainQuotation && quotesInfo.editFlag"
-                     type="primary"
-                     @click="approve(1)">{{ $t('button.againQuotation') }}</ws-button>
-          <!-- 'procurement.spareMaterial.quotesDetailMa.saveQuotation' -->
-          <ws-button v-if="buttonIsShow.isSaveQuotation && quotesInfo.editFlag"
-                     type="primary"
-                     @click="approve(3)"
-                     v-hasPermission="
-            `${$permission('PERMISSIONS.PURMAQUOTESINFO_UPDATEQUOTES')}`
-          ">{{ $t('button.submitQuotation') }}</ws-button>
-          <!-- 'procurement.spareMaterial.quotesDetailMa.saveQuotation' -->
-          <ws-button v-if="buttonIsShow.isSaveQuotation && quotesInfo.editFlag"
-                     @click="save('')"
-                     v-hasPermission="
-            `${$permission('PERMISSIONS.PURMAQUOTESINFO_UPDATEQUOTES')}`
-          ">{{ $t('button.saveQuotation') }}</ws-button>
-          <ws-button v-hasPermission="
-            `${$permission('PERMISSIONS.PURMAQUOTESINFO_VIEW')}`
-          "
-                     @click="operMore('dc')">{{ $t('button.export') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isConfirmsplitbills && quotesInfo.editFlag"
-                     type="primary"
-                     @click="splitQuotesBills(1)">{{ $t('button.confirmsplitbills') }}
-          </ws-button>
-          <ws-button v-if="buttonIsShow.isCancelsplitbills && quotesInfo.editFlag"
-                     @click="splitQuotesBills(0)">{{ $t('button.cancelsplitbills') }}
-          </ws-button>
-          <!-- <ws-button
-        v-show="buttonIsShow.isImportQuotation"
-        type="primary"
-
-        @click="approve(2)"
-        >{{ $t('button.importQuotation') }}</ws-button>-->
-          <DocRelate-Button :set-show-type="docRelateShow"
-                            :set-form="setForm"
-                            set-page-type="Ma" />
-          <ws-button @click="back">{{ $t('button.back') }}</ws-button>
-          <!-- <el-dropdown v-show="buttonIsShow.isOperMore" @command="operMore">
-        <ws-button>
-          {{ $t('button.moreoperations') }}
-          <i class="el-icon-arrow-down el-icon--right" />
-        </ws-button>
-        <el-dropdown-menu slot="dropdown">
-          <el-dropdown-item command="dc">{{ $t('button.export') }}</el-dropdown-item>
-        </el-dropdown-menu>
-        </el-dropdown>-->
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 单据基础信息 -->
-      <base-card :title="$t('cg.applydetails.basicInfo')">
-        <ws-form ref="infoForm"
-                 :model="quotesInfo"
-                 :rules="rulesQuotes"
-                 :show-message="false"
-                 :class="
-                isParentEdit && quotesInfo.editFlag
-                  ? 'purspappl-details'
-                  : 'purspappl-details hide-sel'
-              "
-                 :hide-required-asterisk="!(isParentEdit && quotesInfo.editFlag)">
-          <ws-info-table>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vesselName')">
-              <div class="div-el-form-item">{{ quotesInfo.vesselName }}</div>
-            </ws-form-item>
-            <ws-form-item :span="2"
-                          :label="$t('cg.applydetails.inquiryEffective')">
-              <div style="width: 47%; text-align: center;">
-                {{ quotesInfo.inquiryEffectiveStart }}
-              </div>
-              --
-              <div style="width: 47%; text-align: center;">
-                {{ quotesInfo.inquiryEffectiveEnd }}
-              </div>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.deliveryTerm')">
-              <div class="div-el-form-item">{{ quotesInfo.deliveryTerm }}</div>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applExpectedDeliveryLocation')">
-              <div class="div-el-form-item">{{ quotesInfo.deliveryPlace }}</div>
-            </ws-form-item>
-          </ws-info-table>
-        </ws-form>
-      </base-card>
-      <!-- 单据基础信息 -->
-      <!-- 报价信息 -->
-      <base-card :title="$t('cg.applydetails.quotesInfo')">
-        <ws-form ref="infoForm"
-                 :model="quotesInfo"
-                 :rules="rulesQuotes"
-                 :show-message="false"
-                 :class="
-                isParentEdit && quotesInfo.editFlag
-                  ? 'purspappl-details'
-                  : 'purspappl-details hide-sel'
-              "
-                 :hide-required-asterisk="!(isParentEdit && quotesInfo.editFlag)">
-          <ws-info-table>
-            <!--供货商-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vendorName')">
-              <div class="div-el-form-item">{{ quotesInfo.vendorName }}</div>
-            </ws-form-item>
-            <!--联系人-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.vendor.linkMan')">
-              <div class="div-el-form-item">{{ quotesInfo.linkName }}</div>
-            </ws-form-item>
-            <!--联系方式-->
-            <ws-form-item :span="1"
-                          :label="$t('crew.basic.contact')">
-              <div class="div-el-form-item">{{ quotesInfo.linkPhone }}</div>
-            </ws-form-item>
-            <!--备货期-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.vendor.leadTime')">
-              <ws-input v-model="quotesInfo.stockingTime"
-                        :placeholder="isParentEdit && quotesInfo.editFlag? $t('common.input'): ''"
-                        :disabled="isParentEdit && quotesInfo.editFlag ? false : true"
-                        maxlength="50" />
-            </ws-form-item>
-            <!--供货地点-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applExpectedDeliveryLocation')"
-                          prop="quotesDeliveryPlace">
-              <ws-input v-model="quotesInfo.quotesDeliveryPlace"
-                        :placeholder="
-                      isParentEdit && quotesInfo.editFlag
-                        ? $t('common.input')
-                        : ''
-                    "
-                        :disabled="isParentEdit && quotesInfo.editFlag ? false : true"
-                        maxlength="50" />
-            </ws-form-item>
-            <!--交货方式-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.deliveryType')"
-                          prop="deliveryType">
-              <ws-input v-model="quotesInfo.deliveryType"
-                        :placeholder="
-                      isParentEdit && quotesInfo.editFlag
-                        ? $t('common.input')
-                        : ''
-                    "
-                        :disabled="isParentEdit && quotesInfo.editFlag ? false : true"
-                        maxlength="25" />
-            </ws-form-item>
-            <!--原币币种-->
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.currencyId')"
-                          prop="currencyId">
-              <!-- <ws-select v-model="quotesInfo.currencyId"
-                             :placeholder="
-                      isParentEdit && quotesInfo.editFlag
-                        ? $t('common.selected')
-                        : ''
-                    "
-                             v-if="isParentEdit && quotesInfo.editFlag">
-                    <ws-option v-for="(item,index) in currencyList"
-                               :key="$t('cg.applydetails.currencyId')+'_'+index+'_'+item.parameterKey"
-                               :label="
-                        language == 'en'
-                          ? item.parameterValueEn
-                          : item.parameterValue
-                      "
-                               :value="item.parameterKey" />
-                  </ws-select> -->
-              <BaseParameterSelect v-model="quotesInfo.currencyId"
-                                   v-if="isParentEdit && quotesInfo.editFlag"
-                                   :typeCode="'CURRENCY'"
-                                   :placeholder="
-                      isParentEdit && quotesInfo.editFlag
-                        ? $t('common.selected')
-                        : ''
-                    " />
-              <div v-else
-                   class="div-el-form-item">{{ quotesInfo.currencyName }}</div>
-            </ws-form-item>
-            <!--付款方式-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.payTypeFlag')"
-                          prop="settlementFlag">
-              <!-- <ws-select v-model="quotesInfo.settlementFlag"
-                             :placeholder="
-                      isParentEdit && quotesInfo.editFlag
-                        ? $t('common.selected')
-                        : ''
-                    "
-                             v-if="isParentEdit && quotesInfo.editFlag">
-                    <ws-option v-for="(item,index) in settlementFlagList"
-                               :key="$t('cg.applydetails.settlementFlag')+'_'+index+'_'+item.parameterKey"
-                               :label="
-                        language == 'en'
-                          ? item.parameterValueEn
-                          : item.parameterValue
-                      "
-                               :value="item.parameterKey" />
-                  </ws-select> -->
-              <BaseParameterSelect v-model="quotesInfo.settlementFlag"
-                                   v-if="isParentEdit && quotesInfo.editFlag"
-                                   :typeCode="'SETTLEMENT_FLAG'"
-                                   :placeholder="
-                      isParentEdit && quotesInfo.editFlag
-                        ? $t('common.selected')
-                        : ''
-                    " />
-              <div v-else
-                   class="div-el-form-item">{{ quotesInfo.settlementFlagName }}</div>
-            </ws-form-item>
-            <!--报价有效期-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.quotesValid')">
-              <ws-input :span="1"
-                        v-model="quotesInfo.quotesValid"
-                        :placeholder="
-                      isParentEdit && quotesInfo.editFlag
-                        ? $t('common.input')
-                        : ''
-                    "
-                        :disabled="isParentEdit && quotesInfo.editFlag ? false : true"
-                        maxlength="25" />
-            </ws-form-item>
-            <!--运费-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.transFee')">
-              <ws-input v-model="quotesInfo.transFee"
-                        :placeholder="
-                      isParentEdit && quotesInfo.editFlag
-                        ? $t('common.input')
-                        : ''
-                    "
-                        :disabled="isParentEdit && quotesInfo.editFlag ? false : true"
-                        oninput="value=value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
-                        @change="changeTransfee"
-                        maxlength="18"
-                        v-number-input.float />
-              <div class="ml10 transFee">
-                <ws-checkbox v-model="quotesInfo.discountFlag"
-                             :disabled="isParentEdit && quotesInfo.editFlag ? false : true"
-                             @change="changeTransfee" />
-                <span style="font-size: 12px">{{$t('cg.applydetails.participationDiscount')}}</span>
-              </div>
-            </ws-form-item>
-            <!--发票类型-->
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.invoiceFlag')">
-              <!-- <ws-select v-model="quotesInfo.invoiceFlag"
-                             :placeholder="
-                      isParentEdit && quotesInfo.editFlag
-                        ? $t('common.selected')
-                        : ''
-                    "
-                             v-if="isParentEdit && quotesInfo.editFlag">
-                    <ws-option v-for="(item,index) in invoiceFlagList"
-                               :key="$t('cg.applydetails.invoiceFlag')+'_'+index+'_'+item.parameterKey"
-                               :label="
-                        language == 'en'
-                          ? item.parameterValueEn
-                          : item.parameterValue
-                      "
-                               :value="item.parameterKey" />
-                  </ws-select> -->
-              <BaseParameterSelect v-model="quotesInfo.invoiceFlag"
-                                   v-if="isParentEdit && quotesInfo.editFlag"
-                                   :typeCode="'INVOICE_FLAG'"
-                                   :placeholder="
-                      isParentEdit && quotesInfo.editFlag
-                        ? $t('common.selected')
-                        : ''
-                    " />
-              <div v-else
-                   class="div-el-form-item">{{ quotesInfo.invoice }}</div>
-            </ws-form-item>
-            <!-- 税率 -->
-            <ws-form-item :span="1"
-                          :label="$t('cg.cgsparedetail.taxRate')"
-                          prop="taxRate">
-              <ws-input-number :min="0"
-                               @blur="changeTaxRate"
-                               v-model="quotesInfo.taxRate"
-                               :placeholder="isParentEdit && quotesInfo.editFlag
-                                    ? $t('common.input')
-                                    : ''"
-                               :disabled="isParentEdit && quotesInfo.editFlag ? false : true"
-                               maxlength="18" />
-            </ws-form-item>
-            <!--备注-->
-            <ws-form-item :span="2"
-                          :label="$t('cg.applydetails.applemark')">
-              <ws-input v-model="quotesInfo.remark"
-                        :title="quotesInfo.remark"
-                        v-if="isParentEdit && quotesInfo.editFlag"
-                        :placeholder="
-                      isParentEdit && quotesInfo.editFlag
-                        ? $t('common.selected')
-                        : ''
-                    "
-                        style="width: 100%;"
-                        maxlength="250" />
-              <template v-else>{{ quotesInfo.remark }}</template>
-            </ws-form-item>
-          </ws-info-table>
-        </ws-form>
-      </base-card>
-      <!-- 报价信息 -->
-
-      <!-- 采购明细 -->
-      <base-card :title="$t('cg.applydetails.applInfo')">
-        <span class="span-money">
-          <span>{{
-              $t('cg.cgsparedetail.quoteAmountLower') + $t('common.colon')
-            }}</span>
-
-          <span>{{
-              parseFloat(quotesInfo.totalAmountLower || 0).toFixed(2)
-            }}</span>
-        </span>
-        <span class="span-money">
-          <span>{{
-              $t('cg.cgsparedetail.discount') + $t('common.colon')
-            }}</span>
-
-          <ws-input v-if="isParentEdit && quotesInfo.editFlag"
-                    v-model="quotesInfo.discount"
-                    :placeholder="$t('common.input')"
-                    style="width:200px"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    @change="ariDiscount" />
-          <span v-else>{{
-              parseFloat(quotesInfo.discount || 0).toFixed(2)
-            }}</span>
-        </span>
-        <span class="span-money">
-          <span>{{
-                $t('cg.cgsparedetail.discountAmountLower') + $t('common.colon')
-              }}</span>
-          <span>{{
-                parseFloat(quotesInfo.afterDiscountLower || 0).toFixed(2)
-              }}</span>
-        </span>
-        <pur-QuotesDetails ref="purQuotesDetails"
-                           :taxRate="taxRateNew"
-                           :typeName="typeName"
-                           :editFlag="quotesInfo.editFlag && isPermission" />
-      </base-card>
-      <!-- 采购明细 -->
-
-      <!-- 附件上传 -->
-      <base-card :title="$t('upload.basicInfo')"
-                 :isIcon="false">
-        <ws-upload ref="wsUpload"
-                   oss-key="procurement.procurementMaterial.quotesDetail"
-                   :comp-id="companyId"
-                   :editable="isParentEdit && quotesInfo.editFlag"
-                   :appendix-ids="quotesInfo.appendixId"
-                   :vesselId="quotesInfo.vesselId"
-                   table-name="materielQuotesInfo"
-                   @onChange="onChange" />
-      </base-card>
-      <!-- 附件上传 -->
-    </template>
-    <!-- 弹出页面-废弃 -->
-    <BaseContentModalScrap v-model="dialogDiscardFormVisible"
-                           :title="$t('common.abandon')"
-                           :isRules="true"
-                           @confirm="scrapConfirm" />
-    <!-- 弹出页面-废弃 -->
-  </BaseDetailLayout>
-</template>
-<script src="../../../viewsjs/procurement/procurementMaterial/quotesDetail.js" />
-<style lang="scss" scoped>
-.auditFlow-box {
-  position: absolute;
-  left: 20px;
-  z-index: 10;
-  height: 50px;
-  line-height: 50px;
-  font-size: 14px;
-  font-weight: normal;
-  color: #333;
-}
-/deep/.el-input.is-disabled .el-input__inner {
-  background-color: #fff;
-  border-color: #fff;
-  color: #000;
-  cursor: text;
-  padding: 0;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    & /deep/.auditFlow-icon {
-      width: auto;
-      margin-right: 10px;
-    }
-    & /deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.col-item-titie {
-  line-height: 18px;
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-.pur-container {
-  .el-collapse {
-    border-top: 0 !important;
-    border-bottom: 0 !important;
-  }
-  .el-collapse-item__header {
-    background-color: #fff;
-    border-bottom: 0;
-  }
-  .el-collapse-item__wrap {
-    border-bottom: 0;
-  }
-}
-.hideResDepart {
-  .el-row {
-    .el-col:last-child {
-      .el-form-item {
-        border-bottom: 0px !important;
-        border-right: 0px !important;
-      }
-    }
-  }
-}
-.span-money {
-  font-size: 14px;
-  font-weight: 700;
-  margin: 10px 10px;
-  line-height: 40px;
-}
-.label-btitle {
-  margin: 10px 0 10px 18px;
-  font-size: 14px;
-}
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-date-editor {
-    i {
-      display: none;
-    }
-  }
-  .el-date-editor {
-    .el-input--medium {
-      .el-input__inner {
-        margin-left: 5px;
-      }
-    }
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-.el-textarea__inner {
-  resize: none;
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-</style>

+ 0 - 1618
src/views/procurement/procurementMaterial/sparepartList.vue

@@ -1,1618 +0,0 @@
-<!-- 采购模块 物料采购详细页面-->
-<!--2019年5月20日 11:35:53 by zw-->
-<template>
-  <div class="content">
-    <div style="background-color: #fff;"
-         class="tabs-main sparepart-table">
-      <el-tabs v-model="activeName"
-               type="card"
-               @tab-click="tabClick">
-        <el-tab-pane v-for="item in getTabMapOptions"
-                     :key="item.key"
-                     class="overview-main"
-                     :label="languageVal == 'en' ? item.labelEn : item.label"
-                     :name="item.key">
-          <!-- 采购申请单 -->
-          <TableView v-if="item.key == 'SQ' && activeName == 'SQ'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="left">
-                  <!-- -->
-                  <ws-button type="primary"
-                             v-hasPermission="
-                        `${$permission(
-                          'PERMISSIONS.PURMAAPPLINFO_SUBMITTOENQUIRY'
-                        )}`
-                      "
-                             :disable="checkBtn"
-                             @click="enquiry(1)">{{ $t('button.enquiry') }}</ws-button>
-                  <!-- -->
-                  <ws-button type="primary"
-                             v-hasPermission="
-                        `${$permission(
-                          'PERMISSIONS.PURMAAPPLINFO_SUBMITTOPURCHAS'
-                        )}`
-                      "
-                             :disable="checkBtn"
-                             @click="enquiry(2)">{{ $t('button.directsourcing') }}</ws-button>
-                  <!-- v-hasPermission="'procurement.spareMaterial.directShip'" -->
-                  <ws-button type="primary"
-                             v-hasPermission="
-                        `${$permission(
-                          'PERMISSIONS.PURMAAPPLINFO_CREATEINSTORE'
-                        )}`
-                      "
-                             :disable="checkBtn"
-                             @click="enquiry(3)"
-                             v-if="isSupply">{{ $t('button.directShip') }}</ws-button>
-                </template>
-                <template slot="right">
-                  <BaseShipDropdown @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog = false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.deptName')">
-                          <!-- <ws-select v-model="filtlistQuery.filtdeptNoSelected"
-                                     style="width:20em">
-                            <ws-option v-for="item in deptList"
-                                       :key="item.parameterKey"
-                                       :label="
-                                language == 'en'
-                                  ? item.parameterValueEn
-                                  : item.parameterValue
-                              "
-                                       :value="item.parameterKey" />
-                          </ws-select> -->
-                          <BaseDepartMentSelect v-model="filtlistQuery.filtdeptNoSelected"
-                                                clearable
-                                                :placeholder="$t('common.selected')"
-                                                style="width:100%;" />
-                        </el-form-item>
-
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQuery.filtmakeDate"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{
-                          $t('button.reset')
-                          }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{
-                          $t('button.filtration')
-                          }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :name="item.key"
-                   :type="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table :height="tableViewBodyHeight - 40"
-                                 :data="Info"
-                                 fit
-                                 highlight-current-row
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange"
-                                 @cell-click="applopenInfo">
-                  <ws-table-column width="30">
-                    <template slot-scope="scope">
-                      <ws-checkbox v-show="scope.row.listFlag"
-                                   @change="chooseBill"
-                                   v-model="scope.row.checked" />
-                    </template>
-                  </ws-table-column>
-
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">
-                      <span>{{
-                        scope.$index +
-                          (listQuery.currentPage - 1) * listQuery.pageSize +
-                          1
-                      }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   min-width="150"
-                                   prop="vesselName" />
-
-                  <ws-table-column sortable
-                                   prop="applNo"
-                                   min-width="175"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartNo')">
-                    <template slot-scope="scope">
-                      <span>
-                        {{ scope.row.applNo }}
-                        <el-tag v-show="scope.row.splitFlag == '1'"
-                                type="success"
-                                size="mini">{{ $t('cg.applicationFlagc') }}</el-tag>
-                      </span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column prop="deviceName"
-                                   min-width="180"
-                                   :label="
-                      $t('cg.pSparepart.sparepartList.sparepartContent')
-                    ">
-                    <template slot-scope="scope">
-                      <span>{{
-                        languageVal === 'en' &&
-                        scope.row.deviceNameEn &&
-                        scope.row.deviceNameEn.length > 0
-                          ? scope.row.deviceNameEn
-                          : scope.row.deviceName
-                      }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   prop="title"
-                                   min-width="200"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartTitle')">
-                    <template slot-scope="scope">
-                      <span :title="scope.row.title">{{
-                        scope.row.title
-                      }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column min-width="100"
-                                   sortable
-                                   prop="applUserName"
-                                   :label="$t('cg.pSparepart.sparepartList.applUserName')">
-                    <template slot-scope="scope">
-                      <span>{{ scope.row.applUserName }}</span>
-                    </template>
-                  </ws-table-column>
-
-                  <ws-table-column sortable
-                                   min-width="100"
-                                   prop="makeDate"
-                                   :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                    <template slot-scope="scope">
-                      <span>{{ $fd(scope.row.makeDate) }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column min-width="120"
-                                   sortable
-                                   prop="status"
-                                   :label="$t('cg.pSparepart.sparepartList.status')">
-                    <template slot-scope="scope">{{
-                      language == 'en'
-                        ? scope.row.statusNameEn
-                        : scope.row.statusName
-                    }}</template>
-                  </ws-table-column>
-                </ws-normal-table>
-                <!-- 列表 -->
-              </div>
-            </template>
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-show="total > 0"
-                          :total="total"
-                          :page.sync="listQuery.currentPage"
-                          :limit.sync="listQuery.pageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 采购申请单 -->
-
-          <!-- 询价单 -->
-          <TableView v-if="item.key == 'XJ' && activeName == 'XJ'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="right">
-                  <ws-status-radio @changeStatus="setbySatus"></ws-status-radio>
-                  <BaseShipDropdown @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog1"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog1 = false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQuery.filtmakeDate"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-                          <ws-select v-model="filtlistQuery.filtstatuSelected"
-                                     style="width:20em"
-                                     multiple
-                                     collapse-tags
-                                     :placeholder="$t('common.selected')">
-                            <ws-option v-for="i in status"
-                                       :key="i.status"
-                                       :label="
-                                  language == 'en'
-                                    ? i.statusNameEn
-                                    : i.statusName
-                                "
-                                       :value="i.status" />
-                          </ws-select>
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{
-                          $t('button.reset')
-                          }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{
-                          $t('button.filtration')
-                          }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle31')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :type="item.key"
-                   :name="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table :data="Info"
-                                 element-loading-text="Loading"
-                                 fit
-                                 highlight-current-row
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange"
-                                 @row-click="applopenInfo"
-                                 :height="tableViewBodyHeight - 40">
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">
-                      <span>{{
-                          scope.$index +
-                            (listQuery.currentPage - 1) * listQuery.pageSize +
-                            1
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   min-width="150"
-                                   prop="vesselName" />
-
-                  <ws-table-column sortable
-                                   prop="enquiryNo"
-                                   min-width="180"
-                                   :label="$t('cg.cgsparedetail.enquiryno')">
-                    <template slot-scope="scope">
-                      <span>
-                        {{ scope.row.enquiryNo }}
-                        <el-tag v-show="scope.row.splitFlag == '1'"
-                                type="success"
-                                size="mini">{{ $t('cg.applicationFlagc') }}</el-tag>
-                        <el-tag v-show="scope.row.splitFlag == '2'"
-                                size="mini">{{ $t('cg.applicationFlagh') }}</el-tag>
-                      </span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column prop="deviceName"
-                                   min-width="175"
-                                   :label="
-                        $t('cg.pSparepart.sparepartList.sparepartContent')
-                      ">
-                    <template slot-scope="scope">
-                      <span>{{
-                          languageVal === 'en' &&
-                          scope.row.deviceNameEn &&
-                          scope.row.deviceNameEn.length > 0
-                            ? scope.row.deviceNameEn
-                            : scope.row.deviceName
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   prop="title"
-                                   min-width="200"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartTitle')" />
-                  <ws-table-column min-width="100"
-                                   sortable
-                                   prop="makeUserName"
-                                   :label="$t('cg.pSparepart.sparepartList.makeUserName')" />
-                  <ws-table-column sortable
-                                   min-width="100"
-                                   prop="makeDate"
-                                   :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                    <template slot-scope="scope">
-                      <span>{{ $fd(scope.row.makeDate) }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.status')"
-                                   prop="status"
-                                   min-width="120">
-                    <template slot-scope="scope">{{
-                        language == 'en'
-                          ? scope.row.statusNameEn
-                          : scope.row.statusName
-                      }}</template>
-                  </ws-table-column>
-                </ws-normal-table>
-                <!-- 列表 -->
-              </div>
-            </template>
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-show="total > 0"
-                          :total="total"
-                          :page.sync="listQuery.currentPage"
-                          :limit.sync="listQuery.pageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 询价单 -->
-
-          <!-- 报价单 -->
-          <TableView v-if="item.key == 'BJD' && activeName == 'BJD'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="right">
-                  <ws-status-radio :showTrack="showTrack"
-                                   @changeStatus="setbySatus"></ws-status-radio>
-                  <BaseShipDropdown @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog3"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog3 = false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQuery.filtmakeDate"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-                          <ws-select v-model="filtlistQuery.filtstatuSelected"
-                                     style="width:20em"
-                                     multiple
-                                     collapse-tags
-                                     :placeholder="$t('common.selected')">
-                            <ws-option v-for="i in status"
-                                       :key="i.status"
-                                       :label="
-                                  language == 'en'
-                                    ? i.statusNameEn
-                                    : i.statusName
-                                "
-                                       :value="i.status" />
-                          </ws-select>
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{
-                          $t('button.reset')
-                          }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{
-                          $t('button.filtration')
-                          }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle3')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :type="item.key"
-                   :name="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table :span-method="arraySpanMethod"
-                                 :data="Info"
-                                 element-loading-text="Loading"
-                                 :merge="['vendorDetailList']"
-                                 fit
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange"
-                                 :height="tableViewBodyHeight - 40">
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">
-                      <span>{{ scope.row.indexNum }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   min-width="120"
-                                   prop="vesselName" />
-                  <ws-table-column sortable
-                                   prop="enquiryNo"
-                                   min-width="130"
-                                   :label="$t('cg.pSparepart.sparepartList.enquiryNo')" />
-                  <ws-table-column prop="title"
-                                   min-width="120"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartTitle')" />
-                  <ws-table-column sortable
-                                   prop="inquiryEffectiveEnd"
-                                   min-width="120"
-                                   :label="
-                        $t('cg.pSparepart.sparepartList.inquiryEffectiveEnd')
-                      " />
-                  <ws-table-column sortable
-                                   prop="remainingDays"
-                                   min-width="100"
-                                   :label="$t('cg.pSparepart.sparepartList.remainingDays')" />
-                  <ws-table-column prop="vendorName"
-                                   :label="$t('cg.pSparepart.sparepartList.vendorName')"
-                                   min-width="200"
-                                   :show-overflow-tooltip="false">
-                  </ws-table-column>
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.quotesNo')"
-                                   min-width="160"
-                                   :show-overflow-tooltip="false">
-                    <template slot-scope="scope"
-                              class="table-height">
-                      <span class="link-type link-style"
-                            @click="applopenInfo(scope.row)">{{ scope.row.quotesNo }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.status')"
-                                   min-width="120"
-                                   prop="status"
-                                   :show-overflow-tooltip="false">
-                    <template slot-scope="scope">
-                      <span class="link-style">{{
-                          language == 'en'
-                            ? scope.row.statusNameEn
-                            : scope.row.statusName
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                </ws-normal-table>
-                <!-- 列表 -->
-              </div>
-            </template>
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-show="total > 0"
-                          :total="total"
-                          :page.sync="listQuery.currentPage"
-                          :limit.sync="listQuery.pageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 报价单 -->
-
-          <!-- 比价单 -->
-          <TableView v-if="item.key == 'BJ' && activeName == 'BJ'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="right">
-                  <ws-status-radio @changeStatus="setbySatus"></ws-status-radio>
-                  <BaseShipDropdown @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog2"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog2 = false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQuery.filtmakeDate"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-                          <ws-select v-model="filtlistQuery.filtstatuSelected"
-                                     style="width:20em"
-                                     multiple
-                                     collapse-tags
-                                     :placeholder="$t('common.selected')">
-                            <ws-option v-for="i in status"
-                                       :key="i.status"
-                                       :label="
-                                  language == 'en'
-                                    ? i.statusNameEn
-                                    : i.statusName
-                                "
-                                       :value="i.status" />
-                          </ws-select>
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{
-                          $t('button.reset')
-                          }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{
-                          $t('button.filtration')
-                          }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle12')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :type="item.key"
-                   :name="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table :height="tableViewBodyHeight - 40"
-                                 :span-method="arraySpanMethod2"
-                                 :data="Info"
-                                 element-loading-text="Loading"
-                                 fit
-                                 highlight-current-row
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange"
-                                 @row-click="applopenInfo">
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">{{
-                        scope.row.indexNum
-                      }}</template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   min-width="150"
-                                   prop="vesselName" />
-                  <ws-table-column sortable
-                                   prop="enquiryNo"
-                                   min-width="150"
-                                   :label="$t('cg.cgsparedetail.parityno')" />
-
-                  <ws-table-column prop="deviceName"
-                                   min-width="150"
-                                   :label="
-                        $t('cg.pSparepart.sparepartList.sparepartContent1')
-                      ">
-                    <template slot-scope="scope">
-                      <span>{{
-                          languageVal === 'en' &&
-                          scope.row.deviceNameEn &&
-                          scope.row.deviceNameEn.length > 0
-                            ? scope.row.deviceNameEn
-                            : scope.row.deviceName
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   prop="openParityWay"
-                                   min-width="100"
-                                   :label="$t('cg.pSparepart.sparepartList.openParityWay')">
-                    <template slot-scope="scope">
-                      <span>{{
-                          language == 'en'
-                            ? scope.row.openParityWayEn
-                            : scope.row.openParityWay
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.vendorName')"
-                                   min-width="165">
-                    <template slot-scope="scope"
-                              class="link-p">
-                      <div class="overEl">
-                        {{ $t('cg.supplierName') }}{{$t('common.colon')}}{{ scope.row.vendorName }}
-                      </div>
-                      <div>
-                        {{ $t('cg.supplierLinkMan') }}{{$t('common.colon')}}{{ scope.row.linkMan
-                          }}{{ scope.row.telNumber }}
-                      </div>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="100"
-                                   prop="makeUserName"
-                                   :label="$t('cg.pSparepart.sparepartList.makeUserName')" />
-                  <ws-table-column sortable
-                                   width="100"
-                                   prop="makeDate"
-                                   :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                    <template slot-scope="scope">
-                      <span>{{ $fd(scope.row.makeDate) }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.status')"
-                                   prop="status"
-                                   min-width="120">
-                    <template slot-scope="scope">
-                      <span>{{
-                          language == 'en'
-                            ? scope.row.statusNameEn
-                            : scope.row.statusName
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                </ws-normal-table>
-                <!-- 列表 -->
-              </div>
-            </template>
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-show="total > 0"
-                          :total="total"
-                          :page.sync="listQuery.currentPage"
-                          :limit.sync="listQuery.pageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 比价单 -->
-
-          <!--采购单 -->
-          <TableView v-if="item.key == 'CG' && activeName == 'CG'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="right">
-                  <ws-status-radio @changeStatus="setbySatus"></ws-status-radio>
-                  <BaseShipDropdown @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog4"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog4 = false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQuery.filtmakeDate"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-                          <ws-select v-model="filtlistQuery.filtstatuSelected"
-                                     style="width:20em"
-                                     multiple
-                                     collapse-tags
-                                     :placeholder="$t('common.selected')">
-                            <ws-option v-for="i in status"
-                                       :key="i.status"
-                                       :label="
-                                  language == 'en'
-                                    ? i.statusNameEn
-                                    : i.statusName
-                                "
-                                       :value="i.status" />
-                          </ws-select>
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{
-                          $t('button.reset')
-                          }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{
-                          $t('button.filtration')
-                          }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle1')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :type="item.key"
-                   :name="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table :height="tableViewBodyHeight - 40"
-                                 :data="Info"
-                                 element-loading-text="Loading"
-                                 fit
-                                 highlight-current-row
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange"
-                                 @row-click="applopenInfo">
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">
-                      <span>{{
-                          scope.$index +
-                            (listQuery.currentPage - 1) * listQuery.pageSize +
-                            1
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   min-width="150"
-                                   prop="vesselName" />
-
-                  <ws-table-column sortable
-                                   prop="purchaseNo"
-                                   min-width="170"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartNo4')">
-                    <template slot-scope="scope">
-                      <span>{{ scope.row.purchaseNo }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column prop="deviceName"
-                                   min-width="170"
-                                   :label="
-                        $t('cg.pSparepart.sparepartList.sparepartContent1')
-                      ">
-                    <template slot-scope="scope">
-                      <span>{{
-                          languageVal === 'en' &&
-                          scope.row.deviceNameEn &&
-                          scope.row.deviceNameEn.length > 0
-                            ? scope.row.deviceNameEn
-                            : scope.row.deviceName
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="80"
-                                   prop="contractFlag"
-                                   :label="$t('cg.pSparepart.sparepartList.contractFlag')">
-                    <template slot-scope="scope"
-                              style="line-height:26px">
-                      <span>{{
-                          scope.row.contractFlag == 1
-                            ? $t('common.yes')
-                            : $t('common.no')
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column min-width="180"
-                                   :label="$t('cg.pSparepart.sparepartList.vendorName')"
-                                   class="link-p">
-                    <span slot-scope="scope"
-                          style="line-height:auto">
-                      <div>
-                        {{ $t('cg.supplierName') }}{{$t('common.colon')}}{{ scope.row.vendorName }}
-                      </div>
-
-                      <div>
-                        {{ $t('cg.supplierLinkMan') }}{{$t('common.colon')}}{{ scope.row.linkMan
-                          }}{{ scope.row.telNumber }}
-                      </div>
-                    </span>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="100"
-                                   prop="makeUserName"
-                                   :label="$t('cg.pSparepart.sparepartList.makeUserName')" />
-                  <ws-table-column sortable
-                                   min-width="100"
-                                   prop="makeDate"
-                                   :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                    <template slot-scope="scope">
-                      <span>{{ $fd(scope.row.makeDate) }}</span>
-                    </template>
-                  </ws-table-column>
-
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.status')"
-                                   prop="status"
-                                   min-width="120">
-                    <template slot-scope="scope">{{
-                        language == 'en'
-                          ? scope.row.statusNameEn
-                          : scope.row.statusName
-                      }}</template>
-                  </ws-table-column>
-                </ws-normal-table>
-                <!-- 列表 -->
-              </div>
-            </template>
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-show="total > 0"
-                          :total="total"
-                          :page.sync="listQuery.currentPage"
-                          :limit.sync="listQuery.pageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 采购单 -->
-
-          <!-- 结算单 -->
-          <TableView v-if="item.key == 'JS' && activeName == 'JS'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="right">
-                  <ws-status-radio @changeStatus="setbySatus"></ws-status-radio>
-                  <BaseShipDropdown v-model="vesselIdSelected"
-                                    @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog5"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog5 = false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQuery.filtmakeDate"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-                          <ws-select v-model="filtlistQuery.filtstatuSelected"
-                                     style="width:20em"
-                                     multiple
-                                     collapse-tags
-                                     :placeholder="$t('common.selected')">
-                            <ws-option v-for="i in status"
-                                       :key="i.status"
-                                       :label="
-                                  language == 'en'
-                                    ? i.statusNameEn
-                                    : i.statusName
-                                "
-                                       :value="i.status" />
-                          </ws-select>
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{
-                          $t('button.reset')
-                          }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{
-                          $t('button.filtration')
-                          }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle11')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :type="item.key"
-                   :name="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table :height="tableViewBodyHeight - 40"
-                                 :data="Info"
-                                 element-loading-text="Loading"
-                                 fit
-                                 highlight-current-row
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange"
-                                 @row-click="applopenInfo">
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">
-                      <span>{{
-                          scope.$index +
-                            (listQuery.currentPage - 1) * listQuery.pageSize +
-                            1
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   min-width="150"
-                                   prop="vesselName" />
-
-                  <ws-table-column sortable
-                                   prop="applNo"
-                                   min-width="180"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartNo5')">
-                    <template slot-scope="scope">
-                      <span>{{ scope.row.billNo }}</span>
-                    </template>
-                  </ws-table-column>
-                  <!-- <ws-table-column
-                      v-if="isHasFinance"
-                      sortable
-                      min-width="100"
-                      prop="payTypeName"
-                      :label="$t('cg.pSparepart.sparepartList.sparepartList2')"
-                    >
-                      <template slot-scope="scope">
-                        <span>{{
-                          language == 'en'
-                            ? scope.row.payTypeNameEn
-                            : scope.row.payTypeName
-                        }}</span>
-                      </template>
-                    </ws-table-column>-->
-                  <ws-table-column prop="deviceName"
-                                   min-width="200"
-                                   :label="
-                        $t('cg.pSparepart.sparepartList.sparepartContent1')
-                      ">
-                    <template slot-scope="scope">
-                      <span>{{
-                          languageVal === 'en' &&
-                          scope.row.deviceNameEn &&
-                          scope.row.deviceNameEn.length > 0
-                            ? scope.row.deviceNameEn
-                            : scope.row.deviceName
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="120"
-                                   prop="totalAmountLower"
-                                   :label="
-                        $t('cg.pSparepart.sparepartList.afterDiscountLower')
-                      ">
-                    <template slot-scope="scope">
-                      <span v-if="scope.row.totalAmountLower">{{
-                          parseFloat(
-                            parseFloat(scope.row.totalAmountLower) +
-                              parseFloat(scope.row.transFee || 0)
-                          ).toFixed(2) + resCurrencyId(scope.row)
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="100"
-                                   prop="makeUserName"
-                                   :label="$t('cg.pSparepart.sparepartList.makeUserName')" />
-                  <ws-table-column sortable
-                                   min-width="100"
-                                   prop="makeDate"
-                                   :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                    <template slot-scope="scope">
-                      <span>{{ $fd(scope.row.makeDate) }}</span>
-                    </template>
-                  </ws-table-column>
-
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.status')"
-                                   prop="status"
-                                   min-width="120">
-                    <template slot-scope="scope">
-                      <span>{{
-                          language == 'en'
-                            ? scope.row.statusNameEn
-                            : scope.row.statusName
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                </ws-normal-table>
-                <!-- 列表 -->
-                <div />
-              </div>
-            </template>
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-show="total > 0"
-                          :total="total"
-                          :page.sync="listQuery.currentPage"
-                          :limit.sync="listQuery.pageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 结算单 -->
-
-          <!-- 备件统计 -->
-          <TableView v-if="item.key == 'BJTJ' && activeName == 'BJTJ'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="body">
-              <div :type="item.key"
-                   @create="showCreatedTimes">
-                <div />
-              </div>
-            </template>
-          </TableView>
-          <!-- 备件统计 -->
-        </el-tab-pane>
-      </el-tabs>
-    </div>
-    <!-- 弹出页面-申请单筛选 -->
-    <WinseaContentModal v-model='dialogSqFormVisible'
-                        :title="$t('button.filtration')">
-      <el-form ref="spclearsplistqueryForm"
-               :model="filtlistQuery">
-        <el-form-item :label="$t('cg.pSparepart.sparepartList.deptName')">
-          <ws-select v-model="filtlistQuery.filtdeptNoSelected"
-                     style="width:20em">
-            <ws-option v-for="item in deptList"
-                       :key="item.parameterKey"
-                       :label="
-                language == 'en' ? item.parameterValueEn : item.parameterValue
-              "
-                       :value="item.parameterKey" />
-          </ws-select>
-        </el-form-item>
-
-        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-          <ws-date-picker v-model="filtlistQuery.filtmakeDate"
-                          type="daterange"
-                          style="width:20em"
-                          range-separator
-                          :start-placeholder="$t('cg.querybdate')"
-                          :end-placeholder="$t('cg.queryedate')"
-                          value-format="yyyy-MM-dd" />
-        </el-form-item>
-      </el-form>
-      <template slot="footer"
-                class="dialog-footer">
-        <ws-button @click="clearfiltQuery">{{ $t('button.reset') }}</ws-button>
-        <ws-button type="primary"
-                   @click="handleFilter('')">{{
-          $t('button.filtration')
-        }}</ws-button>
-      </template>
-    </WinseaContentModal>
-    <!-- 弹出页面-申请单筛选 -->
-    <!-- 弹出页面-筛选 -->
-    <WinseaContentModal v-model='dialogFormVisible'
-                        :title="$t('button.filtration')">
-      <el-form ref="spclearsplistqueryForm"
-               :model="filtlistQuery">
-        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-          <ws-date-picker v-model="filtlistQuery.filtmakeDate"
-                          type="daterange"
-                          style="width:20em"
-                          range-separator
-                          :start-placeholder="$t('cg.querybdate')"
-                          :end-placeholder="$t('cg.queryedate')"
-                          value-format="yyyy-MM-dd" />
-        </el-form-item>
-        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-          <ws-select v-model="filtlistQuery.filtstatuSelected"
-                     style="width:20em"
-                     multiple
-                     collapse-tags
-                     :placeholder="$t('common.selected')">
-            <ws-option v-for="i in status"
-                       :key="i.status"
-                       :label="language == 'en' ? i.statusNameEn : i.statusName"
-                       :value="i.status" />
-          </ws-select>
-        </el-form-item>
-      </el-form>
-      <div slot="footer"
-           class="dialog-footer">
-        <ws-button @click="clearfiltQuery">{{ $t('button.reset') }}</ws-button>
-        <ws-button type="primary"
-                   @click="handleFilter('')">{{
-          $t('button.filtration')
-        }}</ws-button>
-      </div>
-    </WinseaContentModal>
-    <!-- 弹出页面-筛选 -->
-    <!-- 弹出页面-导入 -->
-    <div class="myDialogDiv">
-      <WinseaContentModal v-model='dialoguploadVisible'
-                          :title="$t('cg.applydetails.applicationForm')"
-                          @on-cancel="handleClose">
-        <div class="myDialog1">
-          <el-upload ref="upload"
-                     class="upload-demo"
-                     action
-                     :multiple="false"
-                     :file-list="fileList"
-                     :http-request="uploadSectionFile"
-                     :auto-upload="false">
-            <ws-button slot="trigger"
-                       size="small"
-                       type="success"
-                       @click="tempFileDownLoad">{{ $t('cg.applydetails.eflashmtv') }}</ws-button>
-            <ws-button slot="trigger"
-                       size="small"
-                       type="primary">{{
-              $t('cg.applydetails.selectImport')
-            }}</ws-button>
-            <div slot="tip"
-                 class="el-upload__tip">
-              {{ $t('cg.applydetails.importFile') }}
-            </div>
-          </el-upload>
-        </div>
-        <span slot="footer"
-              class="dialog-footer">
-          <ws-button @click="dialoguploadVisible = false">{{
-            $t('button.cancel')
-          }}</ws-button>
-          <ws-button type="primary"
-                     @click="subHandleClose">{{
-            $t('button.confirm')
-          }}</ws-button>
-        </span>
-      </WinseaContentModal>
-    </div>
-    <!-- 弹出页面-导入 -->
-  </div>
-</template>
-<script src="../../../viewsjs/procurement/procurementMaterial/sparepartList.js" />
-<style lang="scss" scoped>
-@import '~@/styles/variables.scss';
-.table-column-title {
-  line-height: 32px;
-  line-height: 25px;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  -webkit-box-orient: vertical;
-}
-/deep/.tabs-main {
-  .el-tabs__content {
-    background-color: #fff;
-    height: 100% !important;
-    overflow-y: hidden !important;
-    // height: calc(100vh- 70px);
-    // overflow-y: auto;
-  }
-}
-.allShips {
-  margin-top: 0px !important;
-}
-.myDialog1 {
-  height: 200px;
-  overflow: auto;
-}
-/deep/.link-style {
-  line-height: 43px;
-}
-/deep/.link-p {
-  div {
-    margin-top: 0;
-    margin-bottom: 0;
-  }
-}
-/deep/.el-table {
-  .cell {
-    line-height: auto !important;
-    height: auto !important;
-    word-break: keep-all;
-  }
-}
-
-/deep/.el-textarea__inner {
-  resize: none;
-}
-/deep/.tabs-main {
-  .el-tabs__content {
-    background-color: #fff;
-    height: calc(100vh- 70px);
-    overflow-y: auto;
-  }
-}
-/deep/.certificate-overview {
-  background-color: #eee;
-  margin-bottom: 10px;
-  .earlyWarning {
-    .overview-num {
-      color: $yellow !important;
-    }
-  }
-  .overDue {
-    .overview-num {
-      color: $red !important;
-    }
-  }
-  .overview-main {
-    width: 100%;
-    height: 50px;
-    background-color: #fff;
-    display: flex;
-    align-items: center;
-    .svg-icon {
-      width: 4.8em;
-      height: 4.8em;
-      padding-right: 30px;
-    }
-    .overview-box {
-      width: 100%;
-      display: inline-block;
-      vertical-align: middle;
-      padding-left: 30px;
-      .overview-title {
-        font-size: 14px;
-        font-weight: bold;
-        color: #333;
-      }
-      .overview-num {
-        line-height: 23px;
-        font-size: 27px;
-        font-weight: bold;
-      }
-    }
-  }
-  .el-col:nth-child(1) .overview-main {
-    width: calc(100% - 33px);
-  }
-  .el-col:nth-child(2) .overview-main {
-    width: calc(100% - 33px);
-  }
-  .el-col:nth-child(3) .overview-main {
-    width: calc(100% - 33px);
-  }
-}
-.edit-input {
-  width: 87%;
-}
-.spanSave,
-.saveSpan {
-  float: right;
-  font-size: 22px;
-}
-.dialogListquery {
-  .el-form-item {
-    margin-bottom: 15px;
-  }
-}
-.remarkSpan {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  display: inline-block;
-  width: 87%;
-}
-.nav-bar {
-  padding: 0px;
-  margin-top: 10px;
-}
-.nav-search {
-  float: right;
-}
-.searchThree,
-.searchTwo,
-.searchOne {
-  float: left;
-}
-.searchTwo,
-.clearfix:after {
-  /*伪元素是行内元素 正常浏览器清除浮动方法*/
-  content: '';
-  display: block;
-  height: 0;
-  clear: both;
-  visibility: hidden;
-}
-.clearfix {
-  *zoom: 1; /*ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行*/
-}
-.dropdown {
-  margin-top: 10px;
-  cursor: pointer;
-}
-/deep/.el-dropdown-menu__item:not(.is-disabled):hover,
-/deep/.el-dropdown-menu__item:focus {
-  background-color: #f5f7fa;
-  color: #333;
-}
-
-/deep/.content {
-  .el-table {
-    th {
-      .cell {
-        color: #333;
-      }
-    }
-  }
-  .el-dialog {
-    position: fixed;
-    top: 0px;
-    right: 20%;
-    overflow: auto;
-    margin: 0;
-    width: 26em !important;
-    .el-dialog__footer {
-      height: 50px;
-      line-height: 50px;
-      padding: 0 20px 0 0;
-    }
-  }
-}
-.myDialogDiv {
-  /deep/.el-dialog {
-    position: fixed;
-    top: 0px;
-    right: 48%;
-    overflow: auto;
-    margin: 0;
-    width: 25em !important;
-    .el-dialog__footer {
-      height: 50px;
-      line-height: 50px;
-      padding: 0 20px 0 0;
-    }
-  }
-}
-
-/deep/.dialog .el-dialog {
-  position: relative;
-
-  left: 64%;
-  top: 0%;
-  margin-right: 10%;
-
-  background: #ffffff;
-
-  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
-  -webkit-box-sizing: border-box;
-
-  width: 539px;
-}
-/deep/.dialog .el-dialog__header,
-/deep/.dialog .el-dialog__footer {
-  background-color: #f6f6f6;
-}
-/deep/.dialog .el-dialog__header {
-  height: 50px;
-  padding: auto 20px;
-}
-
-.dropdownmenu {
-  width: 160px;
-  // margin-left: 75px !important;
-}
-/deep/.dropdownmenu .el-dropdown-menu__item {
-  text-align: center;
-  color: #333;
-}
-/deep/.dropdownmenu .popper__arrow {
-  left: 30px;
-}
-/deep/.selectTitle {
-  margin-bottom: 5px;
-}
-/deep/.select .el-select {
-  width: 100%;
-  margin-bottom: 20px;
-}
-.startDate {
-  width: 93%;
-  margin-bottom: 10px;
-}
-.endDate {
-  width: 100%;
-  margin-bottom: 20px;
-}
-/deep/.searchTwo .el-button--text {
-  color: #333;
-}
-/deep/.searchTwo .el-button--text:hover {
-  color: #1d6ced;
-}
-
-/deep/.searchTwo {
-  .el-dropdown {
-    .el-dropdown-link {
-      color: #606266;
-    }
-
-    .el-dropdown-link:hover {
-      color: #1d6ced;
-    }
-  }
-}
-
-.searchThree {
-  position: relative;
-}
-.searchThree .el-input--medium[data-v-226a5fb3] {
-  margin-right: 30px;
-}
-.searchThree .el-input--medium {
-  width: 240px;
-}
-/deep/.searchThree .el-input--medium .el-input__inner {
-  padding-left: 12px;
-}
-/deep/.searchThree .el-input__prefix {
-  left: 267px;
-}
-.searchIcon {
-  font-size: 32px;
-  position: absolute;
-  top: 0px;
-  right: 0px;
-}
-.main-list {
-  margin-top: 10px;
-  height: auto;
-  .pagination-container {
-    margin-top: 20px;
-  }
-  // padding: 10px 20px 10px;
-}
-/deep/.main-list .el-table .button .cell {
-  line-height: 20px;
-  height: 20px;
-  font-size: 12px;
-  padding-left: 0px;
-}
-/deep/.main-list .el-table .labelState .cell {
-  line-height: 20px;
-}
-.yhButton {
-  height: 50px;
-}
-/deep/ .el-popper {
-  /deep/ .popper__arrow {
-    left: 30px !important;
-  }
-  padding: 5px 10px;
-}
-.guolvmsg {
-  font-size: 14px;
-  color: #333;
-}
-
-.page-search-dialog {
-  padding: 0px !important;
-  border-width: 0px;
-  & .el-card__header {
-    font-size: 14px;
-    font-weight: bold;
-    & .card-head {
-      display: flex;
-      justify-content: space-between;
-      & i {
-        cursor: pointer;
-        font-size: 16px;
-        font-weight: bold;
-      }
-    }
-  }
-  & .el-card__body {
-    display: flex;
-    flex-direction: column;
-    padding: 10px 20px 20px 20px;
-    & .el-form-item {
-      margin: 0px;
-    }
-    & .card-footer {
-      display: flex;
-      justify-content: center;
-      margin-top: 20px;
-    }
-  }
-}
-/deep/ .tabs-main .el-tabs__nav-wrap::after {
-  border-bottom: 1px solid #eee !important;
-}
-</style>

+ 0 - 356
src/views/procurement/procurementSpare/applDetail.vue

@@ -1,356 +0,0 @@
-<!--备件申请-备件申请详情-->
-<!--2019年5月30日 20:25:16 by jlx-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <OperationalHistory :bill-no="$t('cg.cgsparedetail.sparepartno') + $t('common.colon') + applInfo.applNo"
-                              :message="getLanguage == 'en'?applInfo.statusNameEn:applInfo.statusName"
-                              :set-id="applId"
-                              set-type="appl" />
-        </template>
-        <template slot="right">
-          <ws-button v-if="buttonIsShow.isApprove"
-                     type="primary"
-                     @click="dialogApproveFormVisible = true">{{ $t('button.approve') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isNoApprove"
-                     @click="dialogNoApproveFormVisible = true">{{ $t('button.noapprove') }}</ws-button>
-          <el-upload ref="upload"
-                     class="upload-demo"
-                     style="display: inline-block;"
-                     action
-                     multiple
-                     :http-request="uploadSectionFile"
-                     :auto-upload="true"
-                     :show-file-list="false">
-            <ws-button v-if="buttonIsShow.isImport"
-                       type="primary">{{
-          $t('button.import')
-        }}</ws-button>
-          </el-upload>
-          <ws-button v-if="buttonIsShow.isSubmit"
-                     v-hasPermission="'procurement.sparepart.appPurDetail.submit'"
-                     type="primary"
-                     @click="goApprove">{{ $t('button.submit') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isSave"
-                     v-hasPermission="'procurement.sparepart.appPurDetail.save'"
-                     @click="save('')">{{ $t('button.save') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isConfirmsplitbills"
-                     type="primary"
-                     @click="splitApplBills(1)">{{ $t('button.confirmsplitbills') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isCancelsplitbills"
-                     @click="splitApplBills(0)">{{ $t('button.cancelsplitbills') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isOperMoreCD"
-                     v-hasPermission="'procurement.Sparepart.appPurDetail.splitbills'"
-                     @click="operMore('cd')">{{ $t('button.splitbills') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isDiscard"
-                     v-hasPermission="'procurement.Sparepart.appPurDetail.discard'"
-                     @click="operMore('fq')">{{ $t('button.discard') }}</ws-button>
-          <ws-button @click="back">{{ $t('button.back') }}</ws-button>
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 单据基础信息 -->
-      <base-card :title="$t('cg.applydetails.basicInfo')">
-        <ws-form ref="infoForm"
-                 :model="applInfo"
-                 :rules="applRules"
-                 :show-message="false"
-                 :class="isParentEdit ? '' : ' hide-sel'"
-                 :hide-required-asterisk="!isParentEdit">
-          <ws-info-table>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vesselName')">
-              <div class="div-el-form-item">{{ applInfo.vesselName }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.deptName')">
-              <!-- <ws-select
-                      v-model="applInfo.deptId"
-                      :placeholder="isParentEdit?$t('common.selected'):''"
-                      :disabled="isParentEdit?false:true"
-                    >
-                      <ws-option
-                        v-for="item in deptList"
-                        :key="item.parameterKey"
-                        :label="language=='en'? item.parameterValueEn:item.parameterValue"
-                        :value="item.parameterKey"
-                      />
-                  </ws-select>-->
-
-              <div class="div-el-form-item">{{ applInfo.deptName }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applUserName')">
-              <div class="div-el-form-item">{{ applInfo.applUserName }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applOperateDate')"
-                          prop="applOperateDate">
-              <div class="div-el-form-item">
-                {{ applInfo.applOperateDate }}
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applTypeName')">
-              <ws-select v-model="applInfo.applTypeId"
-                         :placeholder="isParentEdit ? $t('common.selected') : ''"
-                         :disabled="isParentEdit ? false : true">
-                <ws-option v-for="item in applyTypeList"
-                           :key="item.parameterKey"
-                           :label="
-                        language == 'en'
-                          ? item.parameterValueEn
-                          : item.parameterValue
-                      "
-                           :value="item.parameterKey" />
-              </ws-select>
-            </ws-form-item>
-            <!-- <ws-form-item
-                  :span="1"
-                  :label="$t('cg.applydetails.applSubject')"
-                  v-if="isHasFinance"
-                >
-                  <el-cascader
-                    v-model="applInfo.subjectId"
-                    :options="applySubjectList"
-                    clearable
-                    :show-all-levels="false"
-                    style="width: 100%;"
-                    :placeholder="isParentEdit ? $t('common.selected') : ''"
-                    :disabled="isParentEdit ? false : true"
-                  />
-                </ws-form-item>-->
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applPurchase')"
-                          prop="title">
-              <ws-input v-model="applInfo.title"
-                        :title="applInfo.title"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="250" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.requiredDate')"
-                          prop="demandDate">
-              <ws-date-picker v-model="applInfo.demandDate"
-                              type="date"
-                              :placeholder="$t('common.selected')"
-                              format="yyyy-MM-dd"
-                              value-format="yyyy-MM-dd"
-                              :disabled="isParentEdit ? false : true"
-                              :picker-options="pickerOptions" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.requiredLocation')"
-                          prop="demandPlace">
-              <ws-input v-model="applInfo.demandPlace"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="100" />
-            </ws-form-item>
-
-            <ws-form-item :span="4"
-                          :label="$t('cg.applydetails.applemark')">
-              <ws-row>
-                <ws-col :span="22">
-                  <ws-input v-model="applInfo.remark"
-                            :title="applInfo.remark"
-                            :placeholder="isParentEdit ? $t('common.input') : ''"
-                            :disabled="isParentEdit ? false : true"
-                            style="width: 100%;"
-                            maxlength="250" />
-                </ws-col>
-                <!-- <ws-col :span="2">
-                      <NotesOnHistory :set-show-message="notesOnHistory" />
-                    </ws-col> -->
-              </ws-row>
-            </ws-form-item>
-          </ws-info-table>
-        </ws-form>
-      </base-card>
-      <!-- 单据基础信息 -->
-
-      <!-- 采购明细 -->
-      <base-card :title="$t('cg.applydetails.applInfo')">
-        <template slot="buttons">
-          <div v-show="buttonIsShow.isAddDetails"
-               class="add-list"
-               @click.stop="addDetails">
-            <i class="el-icon-circle-plus-outline" />
-            <span style="font-size: 13px;">{{
-                $t('common.add')
-              }}</span>
-          </div>
-        </template>
-        <pur-ApplDetail ref="purApplDetail" />
-      </base-card>
-      <!-- 采购明细 -->
-
-      <!-- 附件上传 -->
-      <base-card :title="$t('upload.basicInfo')"
-                 :isIcon="false"
-                 v-if="applInfo.appendixId">
-        <ws-upload ref="wsUpload"
-                   oss-key="procurement.procurementSpare.applDetail"
-                   :comp-id="companyId"
-                   :editable="isParentEdit"
-                   :appendix-ids="applInfo.appendixId"
-                   :vesselId="applInfo.vesselId"
-                   table-name="sparepartApplInfo"
-                   @onChange="onChange" />
-      </base-card>
-      <!-- 附件上传 -->
-    </template>
-
-    <!-- 弹出页面-审核通过 -->
-    <BaseContentModalScrap v-model="dialogApproveFormVisible"
-                           :title="$t('common.opinion')"
-                           :isRules="false"
-                           @confirm="approve" />
-    <!-- 弹出页面-审核通过 -->
-    <!-- 弹出页面-退回 -->
-    <BaseContentModalScrap v-model="dialogNoApproveFormVisible"
-                           :title="$t('common.noPass')"
-                           :isRules="false"
-                           @confirm="returnBack" />
-    <!-- 弹出页面-退回 -->
-    <!-- 弹出页面-废弃 -->
-    <BaseContentModalScrap v-model="dialogDiscardFormVisible"
-                           :title="$t('common.abandon')"
-                           :isRules="false"
-                           @confirm="discard" />
-    <!-- 弹出页面-废弃 -->
-  </BaseDetailLayout>
-</template>
-
-<script src="../../../viewsjs/procurement/procurementSpare/applDetail.js" />
-<style lang="scss" scoped>
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    &/deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
-    &/deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-/deep/.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-
-.input-main .textarea .el-textarea__inner {
-  width: 100%;
-  z-index: 1;
-}
-/*.crt-main .textarea /deep/ .el-form-item__label {*/
-/*  height: 82px;*/
-/*}*/
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .el-date-editor {
-    i {
-      display: none;
-    }
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-</style>

+ 0 - 269
src/views/procurement/procurementSpare/applEmail.vue

@@ -1,269 +0,0 @@
-<!--备件-备件询价-发送邮件-->
-<!--2019年6月8日 22:27:22 by jlx-->
-<template>
-  <div class="appl-email">
-    <div class="top">
-      <div>
-        <ws-button type="primary"
-                   class="button-right"
-                   v-show="idSendEmail"
-                   @click="allSendEmail">{{ $t("button.allSend") }}</ws-button>
-        <ws-button class="button-right"
-                   @click="back">{{$t("button.back")}}</ws-button>
-      </div>
-    </div>
-    <div class="app-container buttom">
-      <div class="left">
-        <ws-form ref="infoForm"
-                 :model="form"
-                 class="form-email"
-                 label-width="90px"
-                 :rules="emailRules">
-          <div class="createPost-main-container">
-            <!-- 发件人 -->
-            <ws-form-item :label="$t('cg.applEmail.addressor')+$t('common.colon')">
-              <div class="location">
-                <ws-select v-model="form.addressor"
-                           style="width:40%"
-                           :placeholder="$t('common.selected')"
-                           @change="changeAddressor">
-                  <ws-option v-for="(item,index) in dataForm.emailData"
-                             :key="index"
-                             :label="item.mailAddress"
-                             :value="item.id" />
-                </ws-select>
-                <span @click="dialogEmail = true"
-                      class="pointer"
-                      style="margin-left:10px;">
-                  <i class="el-icon-circle-plus-outline iconClass"></i>
-                  <span class="spanClass">{{ $t('shipRepairManagement.project.addOutbox') }}</span>
-                </span>
-              </div>
-            </ws-form-item>
-            <!-- 收件人 -->
-            <ws-form-item :label="$t('cg.applEmail.addressee')+$t('common.colon')">
-              <ws-input v-model="form.addressee"
-                        style="width:40%"
-                        :placeholder="$t('common.input')" />
-            </ws-form-item>
-            <!-- 抄送 -->
-            <ws-form-item :label="$t('cg.applEmail.copy')+$t('common.colon')">
-              <ws-input v-model="form.copy"
-                        :placeholder="$t('common.input')" />
-            </ws-form-item>
-            <!-- 主体 -->
-            <ws-form-item :label="$t('cg.applEmail.theme')+$t('common.colon')">
-              <ws-input v-model="form.theme"
-                        :placeholder="$t('common.input')" />
-            </ws-form-item>
-            <!-- 附件 -->
-            <ws-form-item class="form-item-link"
-                          :label="$t('cg.applEmail.accessory')+$t('common.colon')">
-              <!-- <ws-email-annex v-model="uploadFileNames"></ws-email-annex>-->
-              <ws-link v-for=" (item,index) in defaultFileShow"
-                       :key="index"
-                       :href="baseUrl + item.url"
-                       target="_blank"
-                       :underline="false"
-                       type="primary">{{ item.name }}</ws-link>
-            </ws-form-item>
-            <!-- 富文本 -->
-            <ws-form-item>
-              <Tinymce ref="Tinymce"
-                       v-model="form.content"
-                       :height="400" />
-            </ws-form-item>
-          </div>
-        </ws-form>
-      </div>
-      <div class="right">
-        <ws-normal-table ref="EnquiryVendorTable"
-                         :data="purSpEnquiryVendorList"
-                         style="width: 100%"
-                         fit
-                         highlight-current-row
-                         :row-class-name="tableRowClassName"
-                         @row-click="clickOnSelectRow">
-          <ws-table-column prop="date"
-                           :label="$t('cg.applydetails.vendorName')"
-                           width="auto">
-            <template slot-scope="scope">
-              <span class="link-type">{{ scope.row.vendorName }}</span>
-            </template>
-          </ws-table-column>
-        </ws-normal-table>
-      </div>
-    </div>
-    <WinseaContentModal v-model='dialogEmail'
-                        :title="$t('cg.applEmail.addOutbox')"
-                        @on-cancel="cancelDialog">
-      <div style="float:right;margin-bottom:10px">
-        <ws-button @click="addEmail2">{{ $t('button.add') }}</ws-button>
-      </div>
-      <ws-form ref="dataForm"
-               :model="dataForm">
-        <ws-normal-table :data="dataForm.emailData"
-                         style="width: 100%">
-          <!-- 序号 -->
-          <ws-table-column align="center"
-                           :label="$t('common.num')"
-                           width="70">
-            <template slot-scope="scope">{{ scope.$index + 1 }}</template>
-          </ws-table-column>
-          <!-- 邮箱类型 -->
-          <ws-table-column prop="typeId"
-                           align="center"
-                           width="130"
-                           :label="$t('shipRepairManagement.project.emailType')">
-            <template slot-scope="{row}">
-              <ws-select v-model="row.typeId"
-                         :placeholder="$t('common.selected')"
-                         @change="changeEmailType(row)">
-                <ws-option v-for="item in emailTypeList"
-                           :key="item.typeId"
-                           :label="item.typeName"
-                           :value="item.typeId" />
-              </ws-select>
-            </template>
-          </ws-table-column>
-          <!-- 发送服务器 -->
-          <ws-table-column prop="sendHost"
-                           width="115"
-                           align="center"
-                           :label="$t('cg.applEmail.sendingServer')">
-            <template slot-scope="{row}">
-              <ws-input v-if="row.typeId == '99'"
-                        type="test"
-                        v-model="row.sendHost"></ws-input>
-              <span v-else>{{ row.sendHost }}</span>
-            </template>
-          </ws-table-column>
-          <!-- 邮箱 -->
-          <ws-table-column prop="mailAddress"
-                           width="200"
-                           align="center"
-                           :label="$t('shipRepairManagement.project.mailAddress')">
-            <template slot-scope="{row}">
-              <ws-input type="text"
-                        v-model="row.mailAddress"></ws-input>
-            </template>
-          </ws-table-column>
-          <!-- 密码 -->
-          <ws-table-column prop="password"
-                           width="130"
-                           align="center"
-                           :label="$t('shipRepairManagement.project.password')">
-            <template slot-scope="{row}">
-              <ws-input type="password"
-                        v-model="row.password"></ws-input>
-            </template>
-          </ws-table-column>
-          <!-- 使用范围 -->
-          <ws-table-column prop="useRange"
-                           width="120"
-                           align="center"
-                           :label="$t('shipRepairManagement.project.usableRange')">
-            <template slot-scope="{row}">
-              <ws-select v-model="row.useRange"
-                         :placeholder="$t('common.selected')">
-                <ws-option v-for="item in applicationList"
-                           :key="item.parameterKey"
-                           :label="item.parameterValue"
-                           :value="item.parameterKey" />
-              </ws-select>
-            </template>
-          </ws-table-column>
-          <!-- 是否使用SSL -->
-          <ws-table-column prop="isSsl"
-                           width="120"
-                           align="center"
-                           :label="$t('shipRepairManagement.project.SSL')">
-            <template slot-scope="{row}">
-              <ws-select v-model="row.isSsl"
-                         :placeholder="$t('common.selected')"
-                         @change="changeSsl(row)">
-                <ws-option v-for="item in sslList"
-                           :key="item.isSsl"
-                           :label="item.isSslValue"
-                           :value="item.isSsl" />
-              </ws-select>
-            </template>
-          </ws-table-column>
-          <!-- 端口 -->
-          <ws-table-column width="85"
-                           align="center"
-                           :label="$t('shipRepairManagement.project.port')">
-            <template slot-scope="{row}">
-              <ws-input type="text"
-                        v-model="row.port"
-                        clearable></ws-input>
-            </template>
-          </ws-table-column>
-          <!-- 操作(删除) -->
-          <ws-table-column align="center"
-                           width="70"
-                           :label="$t('common.operate')">
-            <template slot-scope="scope">
-              <div @click="deleteRow(scope.$index, scope.row)">
-                <i class="iconfont iconrecycleBiny" />
-                <!-- <svg-icon icon-class="delate" /> -->
-              </div>
-            </template>
-          </ws-table-column>
-        </ws-normal-table>
-      </ws-form>
-      <template slot="footer"
-                class="dialog-footer">
-        <ws-button @click="dialogEmail = false">{{ $t('button.cancel') }}</ws-button>
-        <ws-button type="primary"
-                   @click="saveEmail">{{ $t('button.confirm') }}</ws-button>
-      </template>
-    </WinseaContentModal>
-  </div>
-</template>
-
-<script src="../../../viewsjs/procurement/procurementSpare/applEmail.js" />
-
-<style lang="scss" scoped>
-.appl-email {
-  /*position: absolute;*/
-  /*top: 10px;*/
-  /*bottom: 0px;*/
-  width: 100%;
-  display: flex;
-  flex-direction: column;
-  flex-wrap: nowrap;
-  & .top {
-    height: 50px;
-    width: 100%;
-    flex-shrink: 0;
-    text-align: right;
-    line-height: 50px;
-    padding: 0 10px;
-    background-color: #fff;
-  }
-  & .buttom {
-    flex-grow: 1;
-    background-color: #eee;
-    display: flex;
-    padding: 10px 0 0;
-    flex-wrap: nowrap;
-    overflow: auto;
-    & .right {
-      width: 256px;
-      flex-shrink: 0;
-      margin-left: 10px;
-      background-color: #fff;
-      border: 1px solid #dcdfe6;
-    }
-    & .left {
-      overflow-y: auto;
-      overflow-x: hidden;
-      flex-grow: 1;
-      background-color: #fff;
-      padding: 10px;
-      border: 1px solid #dcdfe6;
-    }
-  }
-}
-</style>

+ 0 - 592
src/views/procurement/procurementSpare/billDetail.vue

@@ -1,592 +0,0 @@
-<!--备件-备件结算详情-->
-<!--2019年6月5日 15:37:39 by zw-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <!-- 按钮组件 -->
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <OperationalHistory :bill-no="$t('cg.cgsparedetail.billno') + $t('common.colon') + billInfo.billNo"
-                              :message="getLanguage == 'en'?billInfo.statusNameEn:billInfo.statusName"
-                              :set-id="billId"
-                              set-type="bill" />
-        </template>
-        <template slot="right">
-          <ws-button v-if="buttonIsShow.isGeneratePayment"
-                     type="primary"
-                     @click="generatePayment">{{ $t('button.generatePayment') }}
-          </ws-button>
-          <!-- 审核通过 -->
-          <ws-button v-if="buttonIsShow.isApprove"
-                     type="primary"
-                     @click="toApprove">{{ $t('button.approve') }}
-          </ws-button>
-          <!-- 退回 -->
-          <ws-button v-if="buttonIsShow.isNoApprove"
-                     @click="toReturn">
-            {{ $t('button.noapprove') }}</ws-button>
-          <!-- 'procurement.sparepart.billDetail.submit' -->
-          <ws-button v-if="buttonIsShow.isSubmitQuotationy"
-                     type="primary"
-                     @click="approve(3)"
-                     v-hasPermission="
-              `${$permission('PERMISSIONS.PURSPBILLINFO_UPDATEBILL')}`
-            ">{{ $t('button.submit') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isSaveQuotation"
-                     @click="save"
-                     v-hasPermission="'procurement.sparepart.billDetail.save'">
-            {{ $t('button.save') }}</ws-button>
-          <!-- TODO:备件结算单导出  -->
-          <!-- <ws-button round
-                     @click="operMore('dc')"
-                     v-hasPermission="
-              `${$permission('PERMISSIONS.PURSPBILLINFO_UPDATEBILL')}`">
-            {{ $t('button.export') }}</ws-button> -->
-          <!-- 关联单据 -->
-          <DocRelate-Button :set-show-type="docRelateShow"
-                            :set-form="setForm" />
-          <!-- 返回 -->
-          <ws-button @click="back">{{ $t('button.back') }}</ws-button>
-          <!-- <ws-dropdown @command="operMore" v-show="buttonIsShow.isDiscard">
-          <ws-button round>
-            {{ $t('button.moreoperations') }}
-            <i class="el-icon-arrow-down el-icon--right" />
-          </ws-button>
-          <ws-dropdown-menu slot="dropdown">
-            <el-dropdown-item command="dc">{{ $t('button.export') }}</el-dropdown-item>
-          </ws-dropdown-menu>
-        </ws-dropdown>-->
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 单据基础信息 -->
-      <base-card :title="$t('cg.applydetails.basicInfo')">
-        <ws-form ref="infoForm"
-                 :model="billInfo"
-                 :rules="billRules"
-                 :show-message="false"
-                 :class="
-              isParentEdit ? 'purspappl-details' : 'purspappl-details hide-sel'
-            "
-                 :hide-required-asterisk="!isParentEdit">
-          <ws-info-table>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vesselName')">
-              <div class="div-el-form-item">{{ billInfo.vesselName }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :key="isParentEdit && billInfo.purchaseTypeName == '直接供船'?'vendorId':'noVendor'"
-                          :prop="isParentEdit && billInfo.purchaseTypeName == '直接供船'?'vendorId':''"
-                          :label="$t('cg.applydetails.vendorName')">
-              <!--                <ws-input-->
-              <!--                  v-if="isParentEdit == true && isShip"-->
-              <!--                  v-model="billInfo.vendorName"-->
-              <!--                  :placeholder="isParentEdit ? $t('common.input') : ''"-->
-              <!--                  maxlength="50"-->
-              <!--                />-->
-              <ws-select v-if="isParentEdit == true && isShip"
-                         v-model="billInfo.vendorId"
-                         :placeholder="isParentEdit ? $t('common.selected') : ''"
-                         :disabled="isParentEdit ? false : true"
-                         @change="changeVendor">
-                <ws-option v-for="item in vendorNameList"
-                           :key="item.vendorId"
-                           :label="item.vendorName"
-                           :value="item.vendorId" />
-              </ws-select>
-              <div class="div-el-form-item"
-                   v-else>
-                {{ billInfo.vendorName }}
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.supplyPlace')">
-              <ws-input v-if="isParentEdit == true"
-                        v-model="billInfo.quotesDeliveryPlace"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        maxlength="50" />
-              <div class="div-el-form-item"
-                   v-else>
-                {{ billInfo.quotesDeliveryPlace }}
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.purchaseType')">
-              <div class="div-el-form-item hide-sel">
-                <!-- <ws-select v-model="billInfo.purchaseType" :placeholder="isParentEdit?$t('common.selected'):''" :disabled="true">
-                    <ws-option v-for="item in purchaseTypeList" :key="item.parameterKey" :label="language=='en'? item.parameterValueEn:item.parameterValue" :value="item.parameterKey" />
-                  </ws-select>-->
-                <span>{{
-                    language == 'en'
-                      ? billInfo.purchaseTypeNameEn
-                      : billInfo.purchaseTypeName
-                  }}</span>
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.transFee')">
-              <ws-input @change="ariDiscount"
-                        v-number-input.float
-                        v-model="billInfo.transFee"
-                        :disabled="isParentEdit ? false : true"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        maxlength="18" />
-              <div class="ml10 transFee">
-                <ws-checkbox v-model="billInfo.discountFlag"
-                             :disabled="isParentEdit? false : true"
-                             @change="ariDiscount" />
-                <span style="font-size: 12px">{{$t('cg.applydetails.participationDiscount')}}</span>
-              </div>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.currencyId')"
-                          :prop="isShip && isParentEdit?'currencyId':''"
-                          :key="isShip && isParentEdit?'currencyId':'noProp'">
-              <BaseParameterSelect v-model="billInfo.currencyId"
-                                   v-if="isShip && isParentEdit"
-                                   :typeCode="'CURRENCY'"
-                                   :placeholder="isParentEdit ? $t('common.selected') : ''" />
-              <span v-else>{{ currencyName }}</span>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.invoiceFlag')">
-              <!-- <ws-select v-model="billInfo.invoiceFlag"
-                           :disabled="!isShip || !isParentEdit"
-                           :placeholder="
-                    !(!isShip || !isParentEdit) ? $t('common.selected') : ''
-                  ">
-                  <ws-option v-for="item in invoiceFlagList"
-                             :key="item.parameterKey"
-                             :label="
-                      language == 'en'
-                        ? item.parameterValueEn
-                        : item.parameterValue
-                    "
-                             :value="item.parameterKey" />
-                </ws-select> -->
-              <BaseParameterSelect v-model="billInfo.invoiceFlag"
-                                   :typeCode="'INVOICE_FLAG'"
-                                   :disabled="!isShip || !isParentEdit"
-                                   :placeholder="
-                    !(!isShip || !isParentEdit) ? $t('common.selected') : ''
-                  " />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.payTypeFlag')">
-              <!-- <ws-select v-if="isShip && isParentEdit"
-                           v-model="billInfo.settlementFlag"
-                           :placeholder="isParentEdit ? $t('common.selected') : ''">
-                  <ws-option v-for="item in settlementFlagList"
-                             :key="item.parameterKey"
-                             :label="
-                      language == 'en'
-                        ? item.parameterValueEn
-                        : item.parameterValue
-                    "
-                             :value="item.parameterKey" />
-                </ws-select> -->
-              <BaseParameterSelect v-model="billInfo.settlementFlag"
-                                   :typeCode="'SETTLEMENT_FLAG'"
-                                   :disabled="isShip && isParentEdit ? false : true"
-                                   :placeholder="isParentEdit ? $t('common.selected') : ''" />
-              <!-- <ws-select v-else
-                           v-model="billInfo.settlementFlag"
-                           :disabled="true"
-                           :placeholder="''">
-                  <ws-option v-for="item in settlementFlagList"
-                             :key="item.parameterKey"
-                             :label="
-                      language == 'en'
-                        ? item.parameterValueEn
-                        : item.parameterValue
-                    "
-                             :value="item.parameterKey" />
-                </ws-select> -->
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.deliveryType')">
-              <ws-input v-model="billInfo.deliveryType"
-                        :disabled="!isShip || !isParentEdit"
-                        :placeholder="
-                    !(!isShip || !isParentEdit) ? $t('common.input') : ''
-                  "
-                        maxlength="20" />
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cw.inOperation.rate')">
-              <span>{{ billInfo.exchangeRate || '--' }}</span>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.taxPoint')">
-              <ws-input-number :min="0"
-                               v-if="isParentEdit"
-                               v-model="billInfo.taxRate"
-                               :placeholder="isParentEdit ? $t('common.input') : ''"
-                               maxlength="50"
-                               @change="ariDiscount(false, false)" />
-              <div class="div-el-form-item"
-                   v-else>{{ $ph(billInfo.taxRate) }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          v-if="isHasFinance"
-                          :key="isParentEdit && billInfo.purchaseTypeName == '直接供船'?'subjectId':'noSubjectId'"
-                          :prop="isParentEdit && billInfo.purchaseTypeName == '直接供船'?'subjectId':''"
-                          :label="$t('salaryInfo.subject')">
-              <el-cascader style="width: 100%;"
-                           v-if="isParentEdit && billInfo.purchaseTypeName == '直接供船'"
-                           v-model="billInfo.subjectId"
-                           :options="applySubjectList"
-                           :props="{ checkStrictly: true }"
-                           @change="changeSubject" />
-              <div class="div-el-form-item hide-sel"
-                   v-else>
-                <span>{{billInfo.subjectNames}}</span>
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="2"
-                          :label="$t('cg.applydetails.applemark')">
-              <ws-input v-model="billInfo.remark"
-                        :title="billInfo.remark"
-                        :disabled="isParentEdit ? false : true"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        style="width: 100%;"
-                        maxlength="250" />
-            </ws-form-item>
-          </ws-info-table>
-        </ws-form>
-      </base-card>
-      <!-- 单据基础信息 -->
-
-      <!-- 采购明细 -->
-      <base-card :title="$t('cg.applydetails.applInfo')">
-        <template>
-          <span class="span-money">
-            <span>{{
-                $t('cg.cgsparedetail.originalCurrencyAfterDiscountLower') +
-                  $t('common.colon')
-              }}</span>
-            <span>{{ billInfo.totalAmountLower }}</span>
-            <span>{{ currencyName }}</span>
-          </span>
-
-          <span class="span-money">
-            <span>{{
-                $t('cg.cgsparedetail.discount') + $t('common.colon')
-              }}</span>
-
-            <ws-input v-if="isParentEdit"
-                      v-model="billInfo.discount"
-                      :placeholder="$t('common.input')"
-                      style="width:200px"
-                      oninput="value=value.replace(/[^\d.]/g,'')"
-                      maxlength="18"
-                      @change="ariDiscount" />
-            <span v-else>{{
-                parseFloat(billInfo.discount || 0).toFixed(2)
-              }}</span>
-          </span>
-
-          <span class="span-money">
-            <span>{{
-                $t('cg.cgsparedetail.originalCurrencyAfterDiscountLower1') +
-                  $t('common.colon')
-              }}</span>
-            <span>{{ billInfo.afterDiscountLower }}</span>
-            <span>{{ currencyName }}</span>
-          </span>
-
-          <span class="span-money">
-            <span>{{
-                $t('cg.cgsparedetail.organizationAfterDiscountLower') +
-                  $t('common.colon')
-              }}</span>
-            <span>{{
-                billInfo.exchangeRate
-                  ? isNaN(billInfo.afterDiscountLower / billInfo.exchangeRate)
-                    ? '0.00'
-                    : parseFloat(
-                        billInfo.afterDiscountLower / billInfo.exchangeRate
-                      ).toFixed(2)
-                  : '--'
-              }}</span>
-            <span>{{ currencyOrganizing }}</span>
-          </span>
-          <div style="float: right;line-height: 40px;"
-               @click="getRecord"
-               v-if="billInfo.paymentOperateHis && billInfo.paymentOperateHis.length>0">
-            <i class="iconfont icongongchengfukuanjilu" />{{ $t('cg.applydetails.paymentRecords') }}
-          </div>
-        </template>
-        <pur-BillDetails style="margin-top: 10px;"
-                         ref="purBillDetails"
-                         :taxRate="billInfo.taxRate"
-                         :status="billInfo.status"
-                         :clientFlag="billInfo.clientFlag !== '0'"
-                         :purchaseTypeName="billInfo.purchaseTypeName"
-                         :applySubjectList="applySubjectList"
-                         :currency-name="currencyName"
-                         :isHasFinance="isHasFinance" />
-      </base-card>
-      <!-- 采购明细 -->
-
-      <!-- 附件上传 -->
-      <base-card :title="$t('upload.basicInfo')">
-        <ws-upload ref="wsUpload"
-                   oss-key="procurement.procurementSpare.billDetail"
-                   :comp-id="companyId"
-                   :editable="isParentEdit"
-                   :appendix-ids="billInfo.appendixId"
-                   table-name="sparepartBillInfo"
-                   @onChange="onChange" />
-      </base-card>
-      <!-- 附件上传 -->
-
-      <!-- 审核流程 -->
-      <audit-history ref="auditHistory"></audit-history>
-
-      <pay-record ref="payRecord"
-                  :recordList="billInfo.paymentOperateHis"></pay-record>
-    </template>
-    <!-- 弹出页面-审核通过 退回 -->
-    <approve-dialog ref="approveDialog"
-                    @approveConfirm="approveConfirm"
-                    @returnConfirm="returnConfirm"></approve-dialog>
-    <!-- 弹出页面-审核通过 退回 -->
-  </BaseDetailLayout>
-</template>
-<script src="../../../viewsjs/procurement/procurementSpare/billDetail.js" />
-<style lang="scss" scoped>
-/deep/.el-input.is-disabled .el-input__inner {
-  background-color: #fff;
-  border-color: #fff;
-  color: #000;
-  cursor: text;
-  padding: 0;
-}
-/deep/ .el-input__inner {
-  text-align: left;
-}
-
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    & /deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
-    & /deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-.pur-container {
-  .el-collapse {
-    border-top: 0 !important;
-    border-bottom: 0 !important;
-  }
-  .el-collapse-item__header {
-    background-color: #fff;
-    border-bottom: 0;
-  }
-  .el-collapse-item__wrap {
-    border-bottom: 0;
-  }
-}
-
-.input-main {
-  .el-input__inner {
-    padding: 0 25px 0 5px !important;
-    color: #606266 !important;
-  }
-  .el-textarea__inner {
-    padding: 4px 0px;
-    color: #606266 !important;
-  }
-  .el-cascader__label {
-    padding: 0 25px 0 5px !important;
-    color: #606266 !important;
-  }
-}
-
-.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-.collapse-container {
-  .crt-main {
-    .demo-Forms {
-      padding: 0;
-      overflow: hidden;
-      position: relative;
-      .input-padding {
-        margin: 0 2px;
-      }
-    }
-    .el-select {
-      width: 100%;
-    }
-
-    .maturityDate {
-      .el-date-editor.el-input,
-      .el-date-editor.el-input__inner {
-        width: calc(100% - 135px);
-      }
-    }
-    .maturityDate .el-checkbox {
-      height: 40px;
-      line-height: 40px;
-      width: 80px;
-      margin-right: 8px;
-    }
-    .warnInAdvance {
-      .el-input {
-        width: calc(100% - 50px);
-      }
-      span {
-        height: 40px;
-        line-height: 40px;
-        width: 20px;
-        margin-right: 0px;
-        display: inline-block;
-        padding-left: 5px;
-      }
-    }
-    .add-details {
-      position: relative;
-      width: 100%;
-      .add-list {
-        position: absolute;
-        right: 20px;
-        top: -20px;
-        width: 100px;
-      }
-    }
-    .label-box {
-      .label-title {
-        display: inline;
-      }
-    }
-    .div-el-form-item {
-      text-align: left;
-    }
-  }
-}
-.label-btitle {
-  margin: 10px 0 10px 18px;
-  font-size: 14px;
-}
-.span-money {
-  font-size: 14px;
-  margin: 0 10px;
-  font-weight: bold;
-  /deep/.el-input--medium {
-    padding: 0 0 8px 0;
-  }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-
-  .is-disabled {
-    .el-cascader__label {
-      color: #606266 !important;
-    }
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      resize: none;
-      color: #606266;
-      border: 0;
-    }
-  }
-}
-.el-textarea__inner {
-  resize: none;
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-</style>

+ 0 - 39
src/views/procurement/procurementSpare/component/Dropdown/Comment.vue

@@ -1,39 +0,0 @@
-<template>
-  <ws-dropdown :show-timeout="100" trigger="click">
-    <ws-button plain>
-      {{ !comment_disabled?'Comment: opened':'Comment: closed' }}
-      <i
-        class="el-icon-caret-bottom el-icon--right"
-      />
-    </ws-button>
-    <ws-dropdown-menu slot="dropdown" class="no-padding">
-      <ws-dropdown-item>
-        <ws-radio-group v-model="comment_disabled" style="padding: 10px;">
-          <ws-radio :label="true">Close comment</ws-radio>
-          <ws-radio :label="false">Open comment</ws-radio>
-        </ws-radio-group>
-      </ws-dropdown-item>
-    </ws-dropdown-menu>
-  </ws-dropdown>
-</template>
-
-<script>
-export default {
-  props: {
-    value: {
-      type: Boolean,
-      default: false
-    }
-  },
-  computed: {
-    comment_disabled: {
-      get() {
-        return this.value;
-      },
-      set(val) {
-        this.$emit('input', val);
-      }
-    }
-  }
-};
-</script>

+ 0 - 48
src/views/procurement/procurementSpare/component/Dropdown/Platform.vue

@@ -1,48 +0,0 @@
-<template>
-  <ws-dropdown :hide-on-click="false" :show-timeout="100" trigger="click">
-    <ws-button plain>
-      Platfroms({{ platforms.length }})
-      <i class="el-icon-caret-bottom el-icon--right" />
-    </ws-button>
-    <ws-dropdown-menu slot="dropdown" class="no-border">
-      <ws-checkbox-group v-model="platforms" style="padding: 5px 15px;">
-        <ws-checkbox
-          v-for="item in platformsOptions"
-          :key="item.key"
-          :label="item.key"
-        >{{ item.name }}</ws-checkbox>
-      </ws-checkbox-group>
-    </ws-dropdown-menu>
-  </ws-dropdown>
-</template>
-
-<script>
-export default {
-  props: {
-    value: {
-      required: true,
-      default: () => [],
-      type: Array
-    }
-  },
-  data() {
-    return {
-      platformsOptions: [
-        { key: 'a-platform', name: 'a-platform' },
-        { key: 'b-platform', name: 'b-platform' },
-        { key: 'c-platform', name: 'c-platform' }
-      ]
-    };
-  },
-  computed: {
-    platforms: {
-      get() {
-        return this.value;
-      },
-      set(val) {
-        this.$emit('input', val);
-      }
-    }
-  }
-};
-</script>

+ 0 - 36
src/views/procurement/procurementSpare/component/Dropdown/SourceUrl.vue

@@ -1,36 +0,0 @@
-<template>
-  <ws-dropdown :show-timeout="100" trigger="click">
-    <ws-button plain>
-      Link
-      <i class="el-icon-caret-bottom el-icon--right" />
-    </ws-button>
-    <ws-dropdown-menu slot="dropdown" class="no-padding no-border" style="width:400px">
-      <ws-form-item label-width="0px" style="margin-bottom: 0px" prop="source_uri">
-        <ws-input v-model="source_uri" placeholder="Please enter the content">
-          <template slot="prepend">URL</template>
-        </ws-input>
-      </ws-form-item>
-    </ws-dropdown-menu>
-  </ws-dropdown>
-</template>
-
-<script>
-export default {
-  props: {
-    value: {
-      type: String,
-      default: ''
-    }
-  },
-  computed: {
-    source_uri: {
-      get() {
-        return this.value;
-      },
-      set(val) {
-        this.$emit('input', val);
-      }
-    }
-  }
-};
-</script>

+ 0 - 3
src/views/procurement/procurementSpare/component/Dropdown/index.js

@@ -1,3 +0,0 @@
-export { default as CommentDropdown } from './Comment'
-export { default as PlatformDropdown } from './Platform'
-export { default as SourceUrlDropdown } from './SourceUrl'

+ 0 - 37
src/views/procurement/procurementSpare/component/approvalProcess.vue

@@ -1,37 +0,0 @@
-<!-- 采购申请-审核流程-->
-<!-- 2019年6月14日 14:32:39 by zw -->
-<template>
-  <div>
-    <section>
-      <ws-normal-table :data="auditList" fit highlight-current-row style="width: 100%">
-        <ws-table-column :label="$t('common.name')" width="180">
-          <template slot-scope="{row}">
-            <span>{{ row.operatorName }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('common.time')" width="240">
-          <template slot-scope="{row}">
-            <span>{{ row.claimTime }}</span>
-          </template>
-        </ws-table-column>
-
-        <!-- 是否通过TODO -->
-        <!-- <ws-table-column :label="$t('common.approved')" width="180">
-          <template slot-scope="{row}">
-            <span>{{ row.approved? $t('common.pass'):$t('common.noPass') }}</span>
-          </template>
-        </ws-table-column>-->
-        <ws-table-column :label="$t('common.opinion')">
-          <template slot-scope="{row}">
-            <span>{{ row.approved? $t('common.pass'):$t('common.noPass') }}</span>
-            <br />
-            <span>{{ row.auditMind }}</span>
-          </template>
-        </ws-table-column>
-      </ws-normal-table>
-    </section>
-  </div>
-</template>
-
-<script src="../../../../viewsjs/procurement/procurementSpare/component/approvalProcess.js">
-

+ 0 - 766
src/views/procurement/procurementSpare/component/purApplDetail.vue

@@ -1,766 +0,0 @@
-<!--组件-采购申请单明细-->
-<!-- 2019年5月29日 12:00:20 by zw-->
-<template>
-  <div>
-    <ws-class-table :data="deviceList"
-                    childrenKey="partList"
-                    :check="false">
-      <template v-slot:group-header="{ group, groupIndex }">
-        <ws-row style="width:100%;">
-          <ws-col :span="1">
-            <div class="bg-purple-dark"
-                 style="padding-left:10px;">
-              <ws-checkbox v-show="isSplit"
-                           v-model="group.checked"
-                           @change="checkedOper(groupIndex)" />
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark"
-                 @click.stop>
-              <span style="font-size: 13px;color: #4a89f1;">{{ $t('cg.cgsparedetail.devicename') }}{{$t('common.colon')}}</span>
-              <ws-input :clearable="false"
-                        v-if="isEdit"
-                        v-model="group.deviceName"
-                        class="edit-input"
-                        size="small"
-                        style="width:50%;border:0px"
-                        maxlength="100" />
-              <span v-else
-                    :title="group.deviceName">{{
-                group.deviceName
-              }}</span>
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark"
-                 @click.stop>
-              <span style="font-size: 13px;color: #4a89f1;">
-                {{ $t('cg.cgsparedetail.devicemodel') }}{{$t('common.colon')}}
-                <ws-input :clearable="false"
-                          v-if="isEdit"
-                          v-model="group.deviceModel"
-                          class="edit-input"
-                          size="small"
-                          style="width:50%"
-                          maxlength="100" />
-                <span v-else
-                      :title="group.deviceModel">{{
-                  group.deviceModel
-                }}</span>
-              </span>
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark"
-                 @click.stop>
-              <span style="font-size: 13px;color: #4a89f1;">
-                {{ $t('cg.cgsparedetail.leavefaccode') }}{{$t('common.colon')}}
-                <ws-input :clearable="false"
-                          v-if="isEdit"
-                          v-model="group.leaveFacCode"
-                          class="edit-input"
-                          size="small"
-                          style="width:50%"
-                          maxlength="100" />
-                <span v-else
-                      :title="group.leaveFacCode">{{
-                  group.leaveFacCode
-                }}</span>
-              </span>
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark"
-                 @click.stop>
-              <span style="font-size: 13px;color: #4a89f1;">
-                {{ $t('cg.cgsparedetail.manufacturer') }}{{$t('common.colon')}}
-                <ws-input :clearable="false"
-                          v-if="isEdit"
-                          v-model="group.manufacturer"
-                          class="edit-input"
-                          size="small"
-                          style="width:50%"
-                          maxlength="100" />
-                <span v-else
-                      :title="group.manufacturer">{{
-                  group.manufacturer
-                }}</span>
-              </span>
-            </div>
-          </ws-col>
-        </ws-row>
-      </template>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spId')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-checkbox v-if="isSplit"
-                       v-model="data.checked"
-                       @change="sonCheckedOper(groupIndex, rowIndex)"
-                       class="col-edit-input" />
-          {{ data.newIndex }}
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spName')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div class="bg-imgBox"
-               v-if="data.basicAppendixId">
-            <div class="bj-img"
-                 @click="gotoImg(data.basicAppendixId)">
-              <img src="@/assets/img-icon.jpg" />
-            </div>
-            <ws-input :clearable="false"
-                      v-if="isEdit == true"
-                      v-model="data.spName"
-                      size="mini"
-                      maxlength="200" />
-            <span v-else
-                  class="bj-Name"
-                  :title="data.spName">{{ data.spName }}</span>
-          </div>
-          <div v-else>
-            <ws-input :clearable="false"
-                      v-if="isEdit == true"
-                      v-model="data.spName"
-                      size="mini"
-                      maxlength="200" />
-            <span v-else
-                  class="bj-Name"
-                  :title="data.spName">{{ data.spName }}</span>
-          </div>
-          <!-- <ws-input :clearable="false" v-if="isEdit==true" v-model="data.spName" size="mini" maxlength="200" />
-          <span v-else :title="data.spName">{{ data.spName }}</span> -->
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spName0')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-if="isEdit == true"
-                    v-model="data.partsDeviceName"
-                    size="mini"
-                    maxlength="32" />
-          <span v-else
-                :title="data.partsDeviceName">{{
-            data.partsDeviceName
-          }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spCode')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-if="isEdit == true"
-                    v-model="data.spCode"
-                    size="mini"
-                    maxlength="20" />
-          <span v-else
-                :title="data.spCode">{{ data.spCode }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.specification')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-if="isEdit == true"
-                    v-model="data.drawNumber"
-                    size="mini"
-                    maxlength="100" />
-          <span v-else
-                :title="data.drawNumber">{{ data.drawNumber }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.specification1')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :title="data.specification"
-                    :clearable="false"
-                    v-if="isEdit == true"
-                    v-model="data.specification"
-                    size="mini"
-                    :readonly="isEdit ? false : true"
-                    maxlength="100" />
-          <span v-else
-                :title="data.specification">{{
-            data.specification
-          }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.measurementUnit')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-select v-if="data.measurementUnitId"
-                     v-model="data.measurementUnitId"
-                     :placeholder="isEdit ? $t('common.selected') : ''"
-                     :disabled="isEdit ? false : true"
-                     size="mini">
-            <ws-option v-for="(l, index) in measurementList"
-                       :key="l.constKey + index"
-                       :label="language == 'en' ? l.constValue : l.constValue"
-                       :value="l.constKey" />
-          </ws-select>
-        </template>
-      </ws-class-table-col>
-      <!-- <ws-class-table-col
-        :label="$t('cg.cgsparedetail.costSubject')"
-        v-if="isHasFinance"
-      >
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <el-cascader
-            v-if="isEdit == true"
-            v-model="data.subjectId"
-            :options="subjectList"
-            clearable
-            :show-all-levels="false"
-            style="width: 100%;"
-            :placeholder="isParentEdit ? $t('common.selected') : ''"
-          />
-          <span :title="data.subjectName" v-else
-            >{{ cascader(data.subjectId, data) }} {{ data.subjectName }}</span
-          >
-        </template>
-      </ws-class-table-col>-->
-      <ws-class-table-col :label="$t('cg.cgsparedetail.sparepartBrand')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-select v-if="isEdit"
-                     v-model="data.brandId"
-                     :placeholder="isEdit ? $t('common.selected') : ''"
-                     size="mini">
-            <ws-option v-for="(l, index) in brandList"
-                       :key="l.parameterKey + index"
-                       :label="language == 'en' ? l.parameterValueEn : l.parameterValue"
-                       :value="l.parameterKey" />
-          </ws-select>
-          <div class="col-edit-input"
-               v-else>
-            <span>{{ data.brandName }}</span>
-          </div>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.sparepartQuantity')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-model="data.applQuantity"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    :disabled="isEdit ? false : true"
-                    maxlength="18" />
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.sparepartCheckQuantity')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-model="data.verifyQuantity"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    :disabled="isEdit ? false : true"
-                    @blur="
-              data.verifyQuantity
-                ? data.verifyQuantity
-                : (data.verifyQuantity = data.applQuantity)
-            "
-                    maxlength="18" />
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.remark')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-model="data.remark"
-                    size="mini"
-                    maxlength="200"
-                    v-if="isEdit == true"></ws-input>
-          <span v-else
-                :title="data.remark">{{ data.remark }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col v-if="isEdit"
-                          :label="$t('cg.cgsparedetail.operation')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-dropdown placement="bottom-start">
-            <span class="el-dropdown-link">
-              <i class="iconfont iconcaozuoy" />
-            </span>
-            <ws-dropdown-menu slot="dropdown">
-              <ws-dropdown-item>
-                <div v-show="isDelDetailss"
-                     @click="deleteList(groupIndex, rowIndex)">
-                  {{ $t('button.delete') }}
-                </div>
-              </ws-dropdown-item>
-              <ws-dropdown-item>
-                <div v-show="isAddDetailss"
-                     @click="addList(groupIndex)">
-                  {{ $t('button.add') }}
-                </div>
-              </ws-dropdown-item>
-            </ws-dropdown-menu>
-          </ws-dropdown>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.accessory')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <showFile :v-model.sync="data.appendixId"
-                    :editable="isEdit"
-                    set-oss-key="procurement.procurementSpare.applDetail"
-                    table-name="sparepartApplDetail"></showFile>
-        </template>
-      </ws-class-table-col>
-    </ws-class-table>
-  </div>
-</template>
-
-<script>
-import {
-  getTypeList,
-  delApplTempOther,
-  customDropDown
-} from '@/model/procurement/spare'
-import showFile from '@/components/Upload/showFile.vue' // 文件显示
-import { getFileList } from '@/model/upload'
-import { EventBus } from 'base-core-lib'
-
-export default {
-  components: {
-    showFile
-  },
-  data () {
-    return {
-      //  当前操作行定位
-      listRow: {
-        index: 0,
-        i: 0
-      },
-      isParentEdit: false,
-      deviceListShow: [],
-      defaultFileShow: [],
-      dialogVisible: false,
-      // 判断采购input显示不显示
-      isEdit: true,
-      // 计量单位结构
-      measurementList: [],
-      // 所属科目结构
-      subjectList: [],
-
-      // 品牌结构
-      brandList: [],
-
-      isAddDetailss: true,
-
-      isDelDetailss: true,
-
-      // 采购明细数据结构
-      deviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-      isSplit: this.$parent.isSplit,
-
-      // 公司ID
-      companyId: sessionStorage.getItem('ws-pf_compId'),
-
-      // 获取当前语言
-      language: ''
-    }
-  },
-  props: {
-    isHasFinance: {
-      type: Boolean,
-      default: true
-    }
-  },
-  watch: {},
-  created () {
-    this.language = this.$store.getters.language
-    // 计量单位
-    this.getPurSelectType('MEASUREMENT_UNIT')
-    // 品牌
-    this.getPurSelectType('BRAND')
-    // 所属科目
-    // this.getPurSelectSubjectList();
-  },
-  methods: {
-    cascader (val, ci) {
-      if (val) {
-        let vals = null
-        if (typeof val === 'object') {
-          vals = val
-        } else {
-          vals = val.split(',')
-        }
-
-        let label = this.cascaderList(this.subjectList, vals[vals.length - 1])
-        if (typeof label === 'undefined') {
-          label = ''
-        }
-        ci.subjectName = label
-      }
-    },
-
-    cascaderList (datalist, id) {
-      let label = null
-      for (const key in datalist) {
-        const e = datalist[key]
-        if (
-          typeof e.children !== 'undefined' &&
-          e.children &&
-          e.children.length > 0
-        ) {
-          label = this.cascaderList(e.children, id)
-        } else {
-          if (e.value === id) {
-            return e.label
-          }
-        }
-        if (label) {
-          return label
-        }
-      }
-    },
-    indexMethod (index) {
-      return index * 2
-    },
-    getFileUrl (msg) { },
-    delFileUrl (msg) { },
-    // #region 下拉选择
-
-    // 根据获取select类型
-    getPurSelectType (type) {
-      if (type === 'MEASUREMENT_UNIT') {
-        customDropDown({
-          compId: sessionStorage.getItem('ws-pf_compId'),
-          constCode: 'MEASUREMENT_UNIT'
-        }).toPromise().then(response => {
-          // 计量单位
-          this.measurementList = response
-        })
-      } else {
-        // 品牌
-        // 获取数据
-        getTypeList({
-          compId: sessionStorage.getItem('ws-pf_compId'),
-          constCode: type
-        }).toPromise().then(response => {
-          // 计量单位
-          this.brandList = response
-        })
-      }
-    },
-
-    // 根据申请单ID获取所属科目
-    // getPurSelectSubjectList() {
-    //   alert(123);
-    //   // 获取数据
-    //   getApplySubject({
-    //     compId: this.companyId,
-    //     subjectType: "0"
-    //   }).then(response => {
-    //     this.subjectList = response.Data;
-    //   });
-    // },
-
-    // #endregion
-
-    // #region 方法
-
-    // 添加备件明细列表
-    addList (index, i) {
-      this.deviceList[index].partList.push({
-        checked: false,
-
-        id: '',
-        applId: '',
-        spName: '',
-        partsDeviceName: '',
-        spCode: '',
-        specification: '',
-        subjectId: '',
-        brandId: '',
-        applQuantity: '',
-        verifyQuantity: '',
-        remark: ''
-      })
-    },
-
-    // 删除采购明细列表
-    deleteList (index, i) {
-      this.$confirm(this.$t('message.isdelete'), this.$t('message.warn'), {
-        confirmButtonText: this.$t('message.confirm'),
-        cancelButtonText: this.$t('message.cancel'),
-        type: 'warning'
-      })
-        .then(async () => {
-          if (this.deviceList[index].partList[i].id.length > 0) {
-            delApplTempOther({
-              id: this.deviceList[index].partList[i].id
-            }).toPromise()
-              .then(response => {
-                this.deviceList[index].partList.splice(i, 1)
-
-                if (this.deviceList[index].partList.length === 0) {
-                  this.deviceList.splice(index, 1)
-                }
-                EventBus.$emit('success', this.$t('message.message1'))
-              })
-              .catch(() => {
-                EventBus.$emit('error', this.$t('message.message2'))
-              })
-          } else {
-            this.deviceList[index].partList.splice(i, 1)
-
-            if (this.deviceList[index].partList.length === 0) {
-              this.deviceList.splice(index, 1)
-            }
-            EventBus.$emit('success', this.$t('message.message1'))
-          }
-        })
-        .catch(err => {
-          console.error(err)
-        })
-    },
-
-    // 部件操作处理
-    checkedOper (index) {
-      // if (this.deviceList[index].checked) {
-      for (var i = 0; i < this.deviceList[index].partList.length; i++) {
-        this.deviceList[index].partList[i].checked = this.deviceList[
-          index
-        ].checked
-      }
-      // }
-    },
-
-    // 备件操作处理
-    sonCheckedOper (index, i) {
-      if (this.deviceList[index].partList[i].checked) {
-        this.deviceList[index].checked = true
-      } else {
-        let isCheck = false
-        for (let h = 0; h < this.deviceList[index].partList.length; h++) {
-          if (this.deviceList[index].partList[h].checked) {
-            isCheck = true
-            break
-          }
-        }
-
-        this.deviceList[index].checked = isCheck
-      }
-    },
-    gotoImg (data) {
-      if (data) {
-        getFileList({ appendixIds: data })
-          .toPromise()
-          .then(res => {
-            window.open(
-              process.env.VUE_APP_BASE_API + '/' + res[0].appendixPath,
-              '_blank'
-            )
-          })
-      }
-    }
-
-    // #endregion
-  }
-}
-</script>
-<style lang="scss" scoped>
-/deep/.el-input.is-disabled .el-input__inner {
-  background-color: #fff;
-  border-color: #fff;
-  color: #000;
-  cursor: text;
-  padding: 0;
-  text-align: center;
-}
-.col-edit-title {
-  line-height: 27px;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  -webkit-box-orient: vertical;
-}
-.myDialog {
-  // height: 500px;
-
-  overflow: auto;
-}
-.purDiv {
-  border-right: 1px solid #ccc;
-  border-left: 1px solid #ccc;
-  .ws-row {
-    margin-bottom: 0px;
-    .el-checkbox__input {
-      margin-left: 0.7em;
-      display: block;
-      line-height: 34px;
-    }
-  }
-}
-.purDiv .el-input__inner {
-  padding: 0 5px;
-  height: 32px !important;
-  line-height: 32px !important;
-}
-.bg-purple-dark {
-  background: #e2edfa;
-}
-.bg-purple {
-  line-height: 40px;
-  background: #eeeeee;
-  font-size: 13px;
-  text-align: left;
-  padding-left: 5px;
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-
-.row-bg {
-  background: #f6f6f6;
-  font-size: 13px;
-  text-align: center;
-  background-color: #f9fafc;
-}
-.el-collapse-item__header {
-  background-color: #eeeeee;
-  height: 37px;
-  line-height: 35px;
-}
-.purspappl-details {
-  // line-height: 40px;
-}
-.ws-row {
-  text-align: center;
-}
-.col-edit {
-  text-align: left;
-  .col-edit-cascader {
-    width: 95%;
-    display: inline-block;
-    line-height: 27px;
-  }
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 27px;
-  }
-}
-.purDiv {
-  .div-collapse {
-    border-bottom: 1px solid #ccc !important;
-    .el-collapse-item__content {
-      padding-bottom: 0;
-      background-color: #fff;
-    }
-    .el-collapse-item__header {
-      background-color: #e2edfa !important;
-      border-top: 1px solid #c2defb;
-      border-bottom: 1px solid #c2defb;
-    }
-    .e-collapse-item__wrap {
-      border-bottom: 1px solid #e6ebf5 !important;
-    }
-  }
-  .purspappl-details {
-    line-height: 9px;
-    // border-bottom: 1px solid #ccc !important;
-  }
-}
-
-.add {
-  position: absolute;
-  right: 60px;
-  z-index: 999;
-}
-button {
-  border: 0px;
-  height: 28px;
-  background-color: #e74c3c;
-  border: 1px solid #e74c3c;
-  color: #fff;
-  border-radius: 16px;
-}
-.e-collapse-item__content {
-  padding-bottom: 0;
-}
-
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .e-input__inner {
-    border: 0px;
-  }
-  .e-icon-arrow-up {
-    display: none;
-  }
-  .bg-purple-dark {
-    .e-input__inner {
-      color: #1d6ced;
-      background-color: #e2edfa !important;
-      border: 0;
-    }
-  }
-  .el-input__suffix {
-    .el-input__suffix-inner {
-      display: none;
-    }
-  }
-  .col-edit {
-    .col-edit-input {
-      .is-disabled {
-        .el-input__inner:hover {
-          background-color: #fff !important;
-          border: 0;
-        }
-        .e-input__inner {
-          background-color: #fff !important;
-          border: 0;
-        }
-      }
-    }
-  }
-}
-
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  /deep/.el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000;
-    cursor: text;
-    padding: 0;
-    text-align: center;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-.bg-imgBox {
-  position: relative;
-  width: calc(100% - 18px);
-  margin-left: 18px;
-}
-.bj-Name {
-  max-width: 100px;
-  display: inline-block;
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-.bj-img {
-  position: absolute;
-  width: 18px;
-  height: 100%;
-  top: 0px;
-  left: -18px;
-  line-height: 47px;
-}
-.bj-img > img {
-  width: 18px;
-  height: 16px;
-}
-</style>

+ 0 - 562
src/views/procurement/procurementSpare/component/purBillDetails.vue

@@ -1,562 +0,0 @@
-<!-- 采购结算明细-->
-<!--2019年6月12日 15:47:25 by jlx-->
-
-<template>
-  <div>
-    <WinseaContentModal v-model='dialogVisible'
-                        :title="$t('upload.basicInfo')"
-                        @on-cancel="handleClose">
-      <div class="myDialog">
-        <upload ref="purChassDetailsUpLoad"
-                procurement-name="procurementSpare"
-                :appendix-file-urls="defaultFileShow"
-                frame-name="采购明细"
-                :editable="isEdit"
-                :tenant-id="1"
-                @getMessage="getFileUrl"
-                @delMessage="delFileUrl" />
-      </div>
-      <span slot="footer"
-            class="dialog-footer">
-        <ws-button type="primary"
-                   @click="handleClose">{{
-          $t('button.confirm')
-        }}</ws-button>
-      </span>
-    </WinseaContentModal>
-    <ws-class-table :data="deviceList"
-                    childrenKey="partList"
-                    :check="false">
-      <template v-slot:group-header="{ group, groupIndex }">
-        <el-row style="width:100%;margin-bottom: 0px;"
-                class="purspappl-details hide-sel">
-          <ws-col :span="1"
-                  v-show="isSplit">
-            <div class="bg-purple-dark"
-                 style="height: 32px;line-height: 32px;text-align: center;">
-              <el-checkbox v-model="group.checked" />
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color: #4a89f1;">{{ $t('cg.cgsparedetail.devicename') }}{{$t('common.colon')}}</span>
-              <span :title="group.deviceName">{{ group.deviceName }}</span>
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color: #4a89f1;">
-                {{ $t('cg.cgsparedetail.devicemodel') }}{{$t('common.colon')}}
-                <span :title="group.deviceModel">{{ group.deviceModel }}</span>
-              </span>
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color: #4a89f1;">
-                {{ $t('cg.cgsparedetail.leavefaccode') }}{{$t('common.colon')}}
-                <span :title="group.leaveFacCode">{{
-                  group.leaveFacCode
-                }}</span>
-              </span>
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color: #4a89f1;">
-                {{ $t('cg.cgsparedetail.manufacturer') }}{{$t('common.colon')}}
-                <span :title="group.manufacturer">{{
-                  group.manufacturer
-                }}</span>
-              </span>
-            </div>
-          </ws-col>
-          <ws-col :span="4">
-            <div style=" text-align: right;margin-right: 10px">
-              <span>{{
-                $t('cg.cgsparedetail.total') + $t('common.colon')
-              }}</span>
-              <span>{{ group.groupMoney }}{{ currencyName }}</span>
-            </div>
-          </ws-col>
-        </el-row>
-      </template>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spId')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.newIndex
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spName')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div class="bg-imgBox">
-            <div class="bj-img"
-                 v-if="data.basicAppendixId"
-                 @click="gotoImg(data.basicAppendixId)">
-              <img src="@/assets/img-icon.jpg" />
-            </div>
-            <span class="bj-Name"
-                  :title="data.spName">{{ data.spName }}</span>
-          </div>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spName0')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.partsDeviceName
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spCode')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.spCode
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.specification')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.drawNumber
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.specification1')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.specification
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.measurementUnit')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.measurementUnit
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.purchaseQuantity')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.applQuantity
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.inStoreQuantity')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input v-if="isVerifyQuantity || (!clientFlag && (status == '71' || status == '72'))"
-                    :clearable="false"
-                    v-model="data.inStoreQuantity"
-                    size="mini"
-                    @change="subTotal(groupIndex, rowIndex)"
-                    maxlength="18" />
-          <span v-else>{{ data.inStoreQuantity }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.unitPrice')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          !isNull(data.bargainPrice)
-            ? parseFloat(data.bargainPrice).toFixed(2)
-            : 0.0
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.settlementPrice')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-if="isEdit && data.inStoreQuantity !== 0"
-                    v-model="data.decidePrice"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    @change="subTotal(groupIndex, rowIndex)"
-                    maxlength="18" />
-          <span v-if="isEdit && data.inStoreQuantity == 0">{{ '--' }}</span>
-          <span v-if="!isEdit">{{ data.decidePrice }}</span>
-        </template>
-      </ws-class-table-col>
-      <!-- 税率 -->
-      <ws-class-table-col :label="$t('cg.cgsparedetail.taxRate')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input-number :min="0"
-                           v-model="data.taxRate"
-                           :placeholder="isEdit
-                                  ? $t('common.input')
-                                  : ''"
-                           v-if="isEdit && data.inStoreQuantity !== 0"
-                           maxlength="18" />
-          <span v-if="isEdit && data.inStoreQuantity == 0">{{ '--' }}</span>
-          <span v-if="!isEdit"
-                :title="$ph(data.taxRate)">{{ $ph(data.taxRate) }}</span>
-        </template>
-      </ws-class-table-col>
-      <!-- <ws-class-table-col :label="$t('cg.cgsparedetail.taxes')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-if="isEdit"
-                    v-model="data.taxes"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    maxlength="18" />
-          <span v-else>{{ data.taxes }}</span>
-        </template>
-        @change="subTotal(groupIndex, rowIndex, true)"
-      </ws-class-table-col> -->
-
-      <ws-class-table-col :label="$t('cg.cgsparedetail.subtotal')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{parseFloat(data.subtotal).toFixed(2)}}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('salaryInfo.subject')"
-                          v-if="isHasFinance">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <el-cascader style="width: 100%;"
-                       v-if="isEdit && purchaseTypeName == '直接供船'"
-                       v-model="data.subjectId"
-                       :options="applySubjectList"
-                       :props="{ checkStrictly: true }"
-                       @change="changeChildSubject(data.subjectId,groupIndex, rowIndex)" />
-          <span :title="data.subjectNames"
-                v-else> {{ data.subjectNames }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.remark')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-model="data.remark"
-                    size="mini"
-                    maxlength="200"
-                    v-if="isEdit == true" />
-          <span v-else
-                :title="data.remark">{{ data.remark }}</span>
-        </template>
-      </ws-class-table-col>
-    </ws-class-table>
-  </div>
-</template>
-
-<script>
-import {
-  getTypeList
-} from '@/model/procurement/spare'
-import { findTenantServiceType } from '@/model/indexRx'
-import { getFileList } from '@/model/upload'
-
-export default {
-  inject: ['ariDiscount'],
-  props: {
-    currencyName: {
-      // 金额单位
-      type: String,
-      default: ''
-    },
-    isHasFinance: {
-      type: Boolean,
-      default: true
-    },
-    taxRate: {
-      type: Number,
-      default: 0
-    },
-    applySubjectList: {
-      // 科目
-      type: Array,
-    },
-    purchaseTypeName: {
-      // 采购类型
-      type: String,
-      default: ''
-    },
-    clientFlag: {
-      type: Boolean,
-      default: true
-    },
-    status: {
-      type: String,
-      default: ''
-    },
-  },
-  data () {
-    return {
-      restRan: true,
-      isVerifyQuantity: false,
-      defaultFileShow: '',
-      dialogVisible: false,
-      // 判断结算明细input显示不显示
-      isEdit: true,
-      // 计量单位结构
-      measurementList: [],
-      // 所属科目结构
-      subjectList: [],
-      // 品牌结构
-      brandList: [],
-      // 采购类型
-      purchaseType: true,
-      // 采购明细数据结构
-      deviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-      isSplit: this.$parent.isSplit,
-      deviceListShow: [],
-      // 公司ID
-      companyId: sessionStorage.getItem('ws-pf_compId'),
-
-      // 获取当前语言
-      language: ''
-    }
-  },
-  watch: {
-    taxRate (newValue, OldValue) {
-      if (newValue !== OldValue && newValue) {
-        this.changeInfoTaxRate(newValue, OldValue)
-      }
-    }
-  },
-  created () {
-    this.language = this.$store.getters.language
-    // 计量单位
-    this.getSelectType('MEASUREMENT_UNIT')
-    // 品牌
-    this.getSelectType('BRAND')
-    this.doIsVerifyQuantity()
-  },
-  methods: {
-    changeChildSubject (val, groupIndex, rowIndex) {
-      let ids = []
-      let names = []
-      val.map(item => {
-        ids.push(item.split('-')[0])
-        names.push(item.split('-')[1])
-      })
-      this.deviceList[groupIndex].partList[rowIndex].subjectIds = ids.join(',')
-      this.deviceList[groupIndex].partList[rowIndex].subjectNames = names.join('/')
-    },
-    changeInfoTaxRate (val, oldVal) {
-      // this.deviceList.map(item => item.partList.map(partListMap => !partListMap.taxRate ? partListMap.taxRate = val : (partListMap.taxRate === oldVal ? partListMap.taxRate = val : '')))
-      this.deviceList.map(item => item.partList.map(partListMap => partListMap.taxRate = val))
-    },
-    doIsVerifyQuantity () {
-      findTenantServiceType().toPromise().then(res => {
-        if (this.isEdit) {
-          if (res === 'SHIP_CLIENT') {
-            this.isVerifyQuantity = false
-          }
-          if (res === 'COAST_CLIENT') {
-            this.isVerifyQuantity = true
-          }
-          if (res === 'SHIP_COAST_CLIENT') {
-            this.isVerifyQuantity = false
-          }
-        }
-      })
-    },
-    indexMethod (index) {
-      return index * 2
-    },
-
-    // 根据获取select类型
-    getSelectType (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        if (type === 'MEASUREMENT_UNIT') {
-          // 计量单位
-          this.measurementList = response
-        } else {
-          // 品牌
-          this.brandList = response
-        }
-      })
-    },
-
-    // 备件小计
-    subTotal (index, i, type) {
-      this.deviceList.reverse()
-      this.deviceList.reverse()
-      this.ariDiscount()
-    },
-    handleClose () {
-      this.dialogVisible = false
-    },
-    getFileUrl () { },
-    delFileUrl () { },
-    gotoImg (data) {
-      if (data) {
-        getFileList({ appendixIds: data })
-          .toPromise()
-          .then(res => {
-            window.open(
-              process.env.VUE_APP_BASE_API + '/' + res[0].appendixPath,
-              '_blank'
-            )
-          })
-          .catch(() => { })
-      }
-    }
-  }
-}
-</script>
-<style lang="scss" scoped>
-.col-edit-title {
-  line-height: 27px;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  -webkit-box-orient: vertical;
-}
-.bg-purple {
-  line-height: 40px;
-  background: #eeeeee;
-  font-size: 13px;
-  text-align: left;
-  padding-left: 5px;
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-.purDiv {
-  .el-input__inner {
-    padding: 0 5px;
-    height: 32px !important;
-    line-height: 32px !important;
-  }
-  .div-collapse {
-    border-bottom: 1px solid #ccc !important;
-    .el-collapse-item__content {
-      padding-bottom: 0;
-      background-color: #fff;
-    }
-    .el-collapse-item__header {
-      background-color: #e2edfa;
-      border-top: 1px solid #c2defb;
-      border-bottom: 1px solid #c2defb;
-      height: 37px;
-      line-height: 35px;
-    }
-  }
-  .purspappl-details {
-    line-height: 9x;
-    // border-bottom: 1px solid #ccc !important;
-  }
-}
-.row-bg {
-  background: #f6f6f6;
-  font-size: 13px;
-  text-align: center;
-  background-color: #f9fafc;
-}
-.el-collapse-item__header {
-  background-color: #eee;
-}
-
-.purspappl-details {
-  // line-height: 40px;
-}
-.ws-row {
-  text-align: center;
-}
-.col-edit {
-  text-align: left;
-  .col-edit-cascader {
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 27px;
-  }
-}
-.pur-input {
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 27px;
-    word-wrap: break-word;
-    word-break: break-all;
-    overflow: hidden;
-  }
-}
-.div-collapse .el-collapse-item__content {
-  padding-bottom: 0;
-}
-.add {
-  position: absolute;
-  right: 60px;
-  z-index: 999;
-}
-.col-edit-title {
-  text-align: left;
-}
-.el-collapse-item__content {
-  padding-bottom: 0;
-}
-
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-input__suffix {
-    display: none;
-  }
-  .col-edit {
-    .col-edit-input {
-      .is-disabled {
-        .el-input__inner:hover {
-          // background-color: #fff !important;
-          border: 0;
-        }
-        .el-input__inner {
-          // background-color: #fff !important;
-          border: 0;
-        }
-        .el-input__suffix {
-          display: none;
-        }
-      }
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  /deep/.el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000;
-    cursor: text;
-    padding: 0;
-    text-align: center;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-.bg-imgBox {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  .bj-img {
-    width: 18px;
-    height: 100%;
-    margin-right: 10px;
-    img {
-      width: 18px;
-      height: 16px;
-      display: block;
-      cursor: pointer;
-    }
-  }
-  .bj-Name {
-    max-width: 100px;
-    display: inline-block;
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis;
-  }
-}
-</style>

+ 0 - 665
src/views/procurement/procurementSpare/component/purChassDetails.vue

@@ -1,665 +0,0 @@
-<!--采购单 采购明细-->
-<!--2019年6月12日 23:45:43 by jlx-->
-<template>
-  <div style="margin-top: 10px;">
-    <!-- 采购历史 -->
-    <purHistory ref="purHistory"
-                show-type="sp" />
-    <ws-class-table :data="deviceList"
-                    childrenKey="partList"
-                    :check="false">
-      <template v-slot:group-header="{ group, groupIndex }">
-        <el-row style="width:100%;margin-bottom: 0px;"
-                class="purspappl-details hide-sel">
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgsparedetail.devicename') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="group.deviceName">{{ group.deviceName }}</span>
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgsparedetail.devicemodel') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="group.deviceModel">{{ group.deviceModel }}</span>
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgsparedetail.leavefaccode') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="group.leaveFacCode">{{ group.leaveFacCode }}</span>
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgsparedetail.manufacturer') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="group.manufacturer">{{ group.manufacturer }}</span>
-            </div>
-          </ws-col>
-          <!-- 合计 -->
-          <ws-col :span="4">
-            <div style=" text-align: right;margin-right: 10px">
-              <span>{{
-                $t('cg.cgsparedetail.total') + $t('common.colon')
-              }}</span>
-              <span>{{ group.groupMoney }}{{ currencyName }}</span>
-            </div>
-          </ws-col>
-        </el-row>
-      </template>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spId')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.newIndex
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spName')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div class="bg-imgBox">
-            <div class="bj-img"
-                 v-if="data.basicAppendixId"
-                 @click="gotoImg(data.basicAppendixId)">
-              <img src="@/assets/img-icon.jpg" />
-            </div>
-            <span class="bj-Name"
-                  :title="data.spName">{{ data.spName }}</span>
-          </div>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spName0')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.partsDeviceName
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spCode')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.spCode
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.specification')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.drawNumber
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.specification1')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.specification
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.measurementUnit')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.measurementUnit
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.purchaseBrand')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.enquiryBrandName
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="
-          isDelDetailss
-            ? $t('cg.cgsparedetail.sparepartCheckQuantity')
-            : $t('cg.cgsparedetail.enquiryQuantity')
-        ">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.applQuantity == null ? 0 : data.applQuantity
-        }}</template>
-      </ws-class-table-col>
-      <!-- 采购数 -->
-      <ws-class-table-col :label="$t('cg.cgsparedetail.purchaseQuantity')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-if="isEdit && permissionIf(`${$permission('PERMISSIONS.PURSPENQUIRYINFO_Modify')}`)"
-                    v-model="data.verifyQuantity"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    @change="subTotal(groupIndex, rowIndex)"
-                    maxlength="18" />
-          <span v-else
-                :title="data.verifyQuantity">{{
-            data.verifyQuantity
-          }}</span>
-        </template>
-      </ws-class-table-col>
-
-      <ws-class-table-col :label="$t('cg.cgsparedetail.bargainPrice')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.bargainPrice
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.unitPrice')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-if="isEdit"
-                    v-model="data.decidePrice"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    @change="subTotal(groupIndex, rowIndex)"
-                    maxlength="18" />
-          <span v-else
-                :title="data.decidePrice">{{ data.decidePrice }}</span>
-        </template>
-      </ws-class-table-col>
-      <!-- 税率 -->
-      <ws-class-table-col :label="$t('cg.cgsparedetail.taxRate')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input-number :min="0"
-                           v-model="data.taxRate"
-                           :placeholder="isEdit
-                                  ? $t('common.input')
-                                  : ''"
-                           v-if="isEdit"
-                           maxlength="18" />
-
-          <span v-else
-                :title="data.taxRate">{{ data.taxRate }}</span>
-        </template>
-      </ws-class-table-col>
-      <!-- <ws-class-table-col :label="$t('cg.cgsparedetail.taxes')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          @change="subTotal(groupIndex, rowIndex)"
-          <ws-input :clearable="false"
-                    v-if="isEdit"
-                    v-model="data.taxes"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    maxlength="18" />
-          <span v-else
-                :title="data.taxes">{{ data.taxes }}</span>
-        </template>
-      </ws-class-table-col> -->
-      <ws-class-table-col :label="$t('cg.cgsparedetail.afterTaxSubtotal')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{parseFloat(data.subtotal).toFixed(2)}}</template>
-      </ws-class-table-col>
-      <!--   <ws-class-table-col :label="$t('cg.cgchartdetail.subjectId')"
-                        v-if="isHasFinance">
-      <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-        <el-cascader v-if="false"
-                     v-model="data.subjectId"
-                     :options="subjectList"
-                     clearable
-                     :show-all-levels="false"
-                     style="width: 100%;"
-                     :placeholder="isParentEdit ? $t('common.selected') : ''" />
-        <span :title="cascader(data.subjectId, data) || '' + data.subjectName"
-              v-else>{{ cascader(data.subjectId, data) }} {{ data.subjectName }}</span>
-      </template>
-    </ws-class-table-col>-->
-      <ws-class-table-col :label="$t('salaryInfo.subject')"
-                          v-if="isHasFinance">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <el-cascader v-model="data.subjectId"
-                       :options="applySubjectList"
-                       :props="{ checkStrictly: true }"
-                       :placeholder="isEdit ? $t('common.selected') : ''"
-                       v-if="isEdit == true"
-                       @change="changeChildSubject(data.subjectId,groupIndex, rowIndex)" />
-          <span :title="data.subjectNames"
-                v-else>{{ data.subjectNames }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.remark')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-model="data.remark"
-                    size="mini"
-                    maxlength="200"
-                    v-if="isEdit == true" />
-          <span class="overEl"
-                v-else
-                :title="data.remark">{{
-            data.remark
-          }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.operation')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-button type="text"
-                     icon="el-icon-notebook-1"
-                     @click="findHisList(groupIndex, rowIndex)"
-                     :title="$t('button.purchaseHistory')"></ws-button>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.accessory')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <showFile :v-model.sync="data.appendixId"
-                    :editable="isEdit"
-                    set-oss-key="procurement.procurementSpare.purchasDetail"
-                    table-name="sparepartPurchasDetail"></showFile>
-        </template>
-      </ws-class-table-col>
-    </ws-class-table>
-  </div>
-</template>
-
-<script>
-import {
-  getTypeList,
-  delApplTempOther
-  // getApplySubject
-} from '@/model/procurement/spare'
-import showFile from '@/components/Upload/showFile.vue' // 文件显示
-import purHistory from '@/components/purHistory' // 采购历史
-import { isNullOrUndefined } from 'util'
-import { getFileList } from '@/model/upload'
-import { EventBus } from 'base-core-lib'
-
-export default {
-  inject: ['ariDiscount'],
-  components: {
-    showFile,
-    purHistory
-  },
-  props: {
-    currencyName: {
-      // 金额单位
-      type: String,
-      default: ''
-    },
-    isHasFinance: {
-      type: Boolean,
-      default: true
-    },
-    taxPoint: {
-      // 金额单位
-      type: Number,
-      default: 0
-    },
-    applySubjectList: {
-      // 科目
-      type: Array,
-    },
-  },
-  data () {
-    return {
-      isParentEdit: false,
-      // 选择行下标
-      listRow: {
-        index: 0,
-        i: 0
-      },
-      // dialog显示
-      dialogVisible: false,
-      // 文件数据
-      defaultFileShow: [],
-      // 判断报input显示不显示
-      isEdit: true,
-      purType: true, // 判断是否直接采购,tru询价采购,false直接采购(询价数量,报价不显示)
-      // 计量单位结构
-      measurementList: [],
-      // 所属科目结构
-      subjectList: [],
-      // 品牌结构
-      brandList: [],
-
-      isDelDetailss: true,
-      // isParentEdit: true,
-      // 采购明细数据结构
-      deviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-      deviceListShow: [],
-      // 公司ID
-      companyId: sessionStorage.getItem('ws-pf_compId'),
-
-    }
-  },
-  watch: {
-    taxPoint (newValue, OldValue) {
-      if (newValue !== OldValue && newValue) {
-        this.changeInfoTaxRate(newValue, OldValue)
-      }
-    }
-  },
-  created () {
-    // 计量单位
-    this.getPurSelectTypeUnit('MEASUREMENT_UNIT')
-    // 品牌
-    this.getPurSelectBrand('BRAND')
-  },
-
-  methods: {
-    changeChildSubject (val, groupIndex, rowIndex) {
-      let ids = []
-      let names = []
-      val.map(item => {
-        ids.push(item.split('-')[0])
-        names.push(item.split('-')[1])
-      })
-      this.deviceList[groupIndex].partList[rowIndex].subjectIds = ids.join(',')
-      this.deviceList[groupIndex].partList[rowIndex].subjectNames = names.join('/')
-      this.ariDiscount()
-    },
-    changeInfoTaxRate (val, oldVal) {
-      this.deviceList.map(item => item.partList.map(partListMap => partListMap.taxRate = val))
-    },
-    cascader (val, ci) {
-      if (!isNullOrUndefined(val)) {
-        let vals = null
-        if (typeof val === 'object') {
-          vals = val
-        } else {
-          vals = val.split(',')
-        }
-
-        let label = this.cascaderList(this.subjectList, vals[vals.length - 1])
-        if (typeof label === 'undefined') {
-          label = ''
-        }
-        ci.subjectName = label
-      } else {
-        ci.subjectName = ''
-      }
-    },
-
-    cascaderList (datalist, id) {
-      let label = null
-      for (const key in datalist) {
-        const e = datalist[key]
-        if (
-          typeof e.children !== 'undefined' &&
-          e.children &&
-          e.children.length > 0
-        ) {
-          label = this.cascaderList(e.children, id)
-        } else {
-          if (e.value === id) {
-            return e.label
-          }
-        }
-        if (label) {
-          return label
-        }
-      }
-    },
-
-    // 删除采购明细列表
-    deletePurList (index, i) {
-      this.$confirm(this.$t('message.isdelete'), this.$t('message.warn'), {
-        confirmButtonText: this.$t('message.confirm'),
-        cancelButtonText: this.$t('message.cancel'),
-        type: 'warning'
-      })
-        .then(async () => {
-          if (this.deviceList[index].partList[i].id.length > 0) {
-            delApplTempOther({
-              id: this.deviceList[index].partList[i].id
-            }).toPromise()
-              .then(response => {
-                this.deviceList[index].partList.splice(i, 1)
-
-                if (this.deviceList[index].partList.length === 0) {
-                  this.deviceList.splice(index, 1)
-                }
-                EventBus.$emit('success', this.$t('message.message1'))
-              })
-              .catch(() => {
-                EventBus.$emit('error', this.$t('message.message2'))
-              })
-          } else {
-            this.deviceList[index].partList.splice(i, 1)
-
-            if (this.deviceList[index].partList.length === 0) {
-              this.deviceList.splice(index, 1)
-            }
-            EventBus.$emit('success', this.$t('message.message1'))
-          }
-        })
-        .catch(err => {
-          console.error(err)
-        })
-    },
-    // 查看备件采购历史
-    findHisList (index, i) {
-      try {
-        this.$refs.purHistory.dialogFormVisible = true
-        this.$refs.purHistory.deviceRow = this.deviceList[index]
-        this.$refs.purHistory.partRow = this.deviceList[index].partList[i]
-        this.$refs.purHistory.getlistbyWhere()
-      } catch (error) {
-        console.log(error)
-      }
-    },
-    // 计量单位
-    getPurSelectTypeUnit (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        this.measurementList = response
-      })
-    },
-
-    // 品牌
-    getPurSelectBrand (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        // 品牌
-        this.brandList = response
-      })
-    },
-
-    indexMethod (index) {
-      return index * 2
-    },
-
-    // 根据获取select类型
-    getSelectType (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        if (type === 'MEASUREMENT_UNIT') {
-          // 计量单位
-          this.measurementList = response
-        } else {
-          // 品牌
-          this.brandList = response
-        }
-      })
-    },
-
-    // 小计
-    subTotal (index, i, type) {
-      this.deviceList.reverse()
-      this.deviceList.reverse()
-      this.ariDiscount()
-    },
-    gotoImg (data) {
-      if (data) {
-        getFileList({ appendixIds: data })
-          .toPromise()
-          .then(res => {
-            window.open(
-              process.env.VUE_APP_BASE_API + '/' + res[0].appendixPath,
-              '_blank'
-            )
-          })
-          .catch(() => { })
-      }
-    }
-  }
-}
-</script>
-<style lang="scss" scoped>
-.col-edit-title {
-  line-height: 27px;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  -webkit-box-orient: vertical;
-}
-.myDialog {
-  // height: 500px;
-  overflow: auto;
-}
-
-.bg-purple {
-  line-height: 40px;
-  background: #eeeeee;
-  font-size: 13px;
-  text-align: left;
-  padding-left: 5px;
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-.purDiv {
-  .div-collapse {
-    border-bottom: 1px solid #ccc !important;
-    position: relative;
-    .el-collapse-item__content {
-      padding-bottom: 0;
-      background-color: #fff;
-    }
-    .el-collapse-item__header {
-      background-color: #e2edfa;
-      border-top: 1px solid #c2defb;
-      border-bottom: 1px solid #c2defb;
-      height: 37px;
-      line-height: 35px;
-    }
-  }
-  .purspappl-details {
-    // line-height: 9px;
-    // border-bottom: 1px solid #ccc !important;
-  }
-}
-
-.row-bg {
-  background: #f6f6f6;
-  font-size: 13px;
-  text-align: center;
-  background-color: #f9fafc;
-}
-.el-collapse-item__header {
-  background-color: #eee;
-}
-.purspappl-details {
-  // line-height: 40px;
-}
-.el-row {
-  text-align: center;
-}
-.col-edit {
-  text-align: left;
-}
-.pur-input {
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 27px;
-    word-wrap: break-word;
-    word-break: break-all;
-    overflow: hidden;
-  }
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-.el-collapse-item__header {
-  background-color: #e2edfa;
-  height: 35px;
-  line-height: 35px;
-}
-.div-collapse .el-collapse-item__content {
-  padding-bottom: 0;
-}
-.div-collapse {
-  .el-row {
-    margin-bottom: 0;
-  }
-}
-.add {
-  position: absolute;
-  right: 60px;
-  z-index: 999;
-}
-.col-edit-title {
-  text-align: left;
-}
-.el-collapse-item__content {
-  padding-bottom: 0;
-}
-
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .col-edit {
-    .col-edit-input {
-      .is-disabled {
-        .el-input__inner:hover {
-          background-color: #fff !important;
-          border: 0;
-        }
-        .el-input__inner {
-          background-color: #fff !important;
-          border: 0;
-        }
-      }
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  /deep/.el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000;
-    cursor: text;
-    padding: 0;
-    text-align: center;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-.bg-imgBox {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  .bj-img {
-    width: 18px;
-    height: 100%;
-    margin-right: 10px;
-    img {
-      width: 18px;
-      height: 16px;
-      display: block;
-      cursor: pointer;
-    }
-  }
-  .bj-Name {
-    max-width: 100px;
-    display: inline-block;
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis;
-  }
-}
-</style>

+ 0 - 570
src/views/procurement/procurementSpare/component/purEnquiryDetails.vue

@@ -1,570 +0,0 @@
-// 组件-采购询价明细 // 2019年5月29日 12:00:20 by zw
-<template>
-  <div>
-    <!-- 采购历史 -->
-    <purHistory ref="purHistory"
-                show-type="sp" />
-    <ws-class-table :data="deviceList"
-                    childrenKey="partList"
-                    :check="false">
-      <template v-slot:group-header="{ group, groupIndex }">
-        <ws-row style="width:100%">
-          <ws-col :span="1">
-            <div class="bg-purple-dark"
-                 style="padding-left:10px;">
-              <ws-checkbox v-show="isSplit"
-                           v-model="group.checked"
-                           @change="checkedOper(groupIndex)" />
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgsparedetail.devicename') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="group.deviceName">{{ group.deviceName }}</span>
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgsparedetail.devicemodel') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="group.deviceModel">{{ group.deviceModel }}</span>
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color: #4a89f1;">{{ $t('cg.cgsparedetail.leavefaccode') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="group.leaveFacCode">{{ group.leaveFacCode }}</span>
-            </div>
-          </ws-col>
-          <ws-col :span="7">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color: #1d6ced;">{{ $t('cg.cgsparedetail.manufacturer') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="group.manufacturer">{{ group.manufacturer }}</span>
-            </div>
-          </ws-col>
-        </ws-row>
-      </template>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spId')"
-                          width="50px">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-checkbox class="col-edit-input"
-                       v-if="isSplit"
-                       v-model="data.checked"
-                       @change="sonCheckedOper(groupIndex, rowIndex)" />
-          {{ data.newIndex }}
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spName')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div class="bg-imgBox">
-            <div class="bj-img"
-                 v-if="data.basicAppendixId"
-                 @click="gotoImg(data.basicAppendixId)">
-              <img src="@/assets/img-icon.jpg" />
-            </div>
-            <span class="bj-Name"
-                  :title="data.spName">{{ data.spName }}</span>
-          </div>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spName0')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.partsDeviceName
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spCode')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.spCode
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.specification')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.drawNumber
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.specification1')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.specification
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.measurementUnit')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.measurementUnit
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.enquiryBrand')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.brandName
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.sparepartCheckQuantity')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.applQuantity
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.enquiryQuantity')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-if="isEdit == true"
-                    v-model="data.verifyQuantity"
-                    size="mini"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    maxlength="18" />
-          <span v-else>{{ data.verifyQuantity }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.remark')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-input :clearable="false"
-                    v-model="data.remark"
-                    size="mini"
-                    maxlength="200"
-                    v-if="isEdit == true" />
-          <span v-else
-                :title="data.remark">{{ data.remark }}</span>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.purchaseHistory.history')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <ws-button type="text"
-                     icon="el-icon-notebook-1"
-                     @click="findHisList(groupIndex, rowIndex)"
-                     :title="$t('button.purchaseHistory')"></ws-button>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.accessory')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <showFile :v-model.sync="data.appendixId"
-                    :editable="isEdit"
-                    set-oss-key="procurement.procurementSpare.enquiryDetail"
-                    table-name="sparepartEnquiryDetail"></showFile>
-        </template>
-      </ws-class-table-col>
-    </ws-class-table>
-  </div>
-</template>
-
-<script>
-import {
-  getTypeList,
-  delApplTempOther
-} from '@/model/procurement/spare'
-import showFile from '@/components/Upload/showFile.vue' // 文件显示
-import purHistory from '@/components/purHistory' // 采购历史
-import { EventBus } from 'base-core-lib'
-import { getFileList } from '@/model/upload'
-
-export default {
-  components: {
-    showFile,
-    purHistory
-  },
-  data () {
-    return {
-      listRow: {
-        index: 0,
-        i: 0
-      },
-      dialogVisible: false,
-      defaultFileShow: [],
-      // 判断报价单input显示不显示
-      isEdit: true,
-      // 计量单位结构
-      measurementList: [],
-      // 所属科目结构
-      subjectList: [],
-      // 品牌结构
-      brandList: [],
-      deviceListShow: [],
-      // 采购明细数据结构
-      deviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-
-      isDelDetailss: true,
-
-      isSplit: this.$parent.isSplit,
-
-      // 公司ID
-      companyId: sessionStorage.getItem('ws-pf_compId'),
-
-      // 获取当前语言
-      language: ''
-    }
-  },
-  watch: {},
-  created () {
-    this.language = this.$store.getters.language
-    // 计量单位
-    this.getPurSelectType('MEASUREMENT_UNIT')
-    // 品牌
-    this.getPurSelectType('BRAND')
-  },
-  methods: {
-    cascader (val, ci) {
-      if (val) {
-        let vals = null
-        if (typeof val === 'object') {
-          vals = val
-        } else {
-          vals = val.split(',')
-        }
-
-        let label = this.cascaderList(this.subjectList, vals[vals.length - 1])
-        if (typeof label === 'undefined') {
-          label = ''
-        }
-        ci.subjectName = label
-      }
-    },
-
-    cascaderList (datalist, id) {
-      let label = null
-      for (const key in datalist) {
-        const e = datalist[key]
-        if (
-          typeof e.children !== 'undefined' &&
-          e.children &&
-          e.children.length > 0
-        ) {
-          label = this.cascaderList(e.children, id)
-        } else {
-          if (e.value === id) {
-            return e.label
-          }
-        }
-        if (label) {
-          return label
-        }
-      }
-    },
-    indexMethod (index) {
-      return index * 2
-    },
-
-    // #region 下拉选择
-
-    // 根据获取select类型
-    getPurSelectType (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        if (type === 'MEASUREMENT_UNIT') {
-          // 计量单位
-          this.measurementList = response
-        } else {
-          // 品牌
-          this.brandList = response
-        }
-      })
-    },
-
-    // 根据公司ID获取所属科目
-    getPurSelectSubjectList () {
-      // 获取数据
-      // getApplySubject({ compId: this.companyId, subjectType: '0' }).then(
-      //   response => {
-      //     this.subjectList = response.data
-      //   }
-      // )
-    },
-
-    // #endregion
-
-    // #region 方法
-
-    // 删除采购明细列表
-    deletePurList (index, i) {
-      this.$confirm(this.$t('message.isdelete'), this.$t('message.warn'), {
-        confirmButtonText: this.$t('message.confirm'),
-        cancelButtonText: this.$t('message.cancel'),
-        type: 'warning'
-      })
-        .then(async () => {
-          if (this.deviceList[index].partList[i].id.length > 0) {
-            delApplTempOther({
-              id: this.deviceList[index].partList[i].id
-            }).toPromise()
-              .then(response => {
-                this.deviceList[index].partList.splice(i, 1)
-
-                if (this.deviceList[index].partList.length === 0) {
-                  this.deviceList.splice(index, 1)
-                }
-                EventBus.$emit('success', this.$t('message.message1'))
-              })
-              .catch(() => {
-                EventBus.$emit('error', this.$t('message.message2'))
-              })
-          } else {
-            this.deviceList[index].partList.splice(i, 1)
-
-            if (this.deviceList[index].partList.length === 0) {
-              this.deviceList.splice(index, 1)
-            }
-            EventBus.$emit('success', this.$t('message.message1'))
-          }
-        })
-        .catch(err => {
-          console.error(err)
-        })
-    },
-    // 查看采购历史
-    findHisList (index, i) {
-      try {
-        this.$refs.purHistory.dialogFormVisible = true
-        this.$refs.purHistory.deviceRow = this.deviceList[index]
-        this.$refs.purHistory.partRow = this.deviceList[index].partList[i]
-        this.$refs.purHistory.getlistbyWhere()
-      } catch (error) {
-        console.log(error)
-      }
-    },
-    checkedOper (index) {
-      // if (this.deviceList[index].checked) {
-      for (var i = 0; i < this.deviceList[index].partList.length; i++) {
-        this.deviceList[index].partList[i].checked = this.deviceList[
-          index
-        ].checked
-      }
-      // }
-    },
-
-    // 备件操作处理
-    sonCheckedOper (index, i) {
-      if (this.deviceList[index].partList[i].checked) {
-        this.deviceList[index].checked = true
-      } else {
-        let isCheck = false
-        for (let h = 0; h < this.deviceList[index].partList.length; h++) {
-          if (this.deviceList[index].partList[h].checked) {
-            isCheck = true
-            break
-          }
-        }
-
-        this.deviceList[index].checked = isCheck
-      }
-    },
-    gotoImg (data) {
-      if (data) {
-        getFileList({ appendixIds: data })
-          .toPromise()
-          .then(res => {
-            window.open(
-              process.env.VUE_APP_BASE_API + '/' + res[0].appendixPath,
-              '_blank'
-            )
-          })
-          .catch(() => { })
-      }
-    }
-    // #endregion
-  }
-}
-</script>
-<style lang="scss" scoped>
-.col-edit-title {
-  line-height: 27px;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  -webkit-box-orient: vertical;
-}
-.myDialog {
-  // height: 500px;
-  overflow: auto;
-}
-
-.bg-purple {
-  line-height: 40px;
-  background: #eeeeee;
-  font-size: 13px;
-  text-align: left;
-  padding-left: 5px;
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-.purDiv {
-  .el-input__inner {
-    padding: 0 5px;
-    height: 32px !important;
-    line-height: 32px !important;
-  }
-  .el-row {
-    margin-bottom: 0px;
-    .el-checkbox__input {
-      margin-left: 0.7em;
-      display: block;
-      line-height: 34px;
-    }
-  }
-  .div-collapse {
-    border-bottom: 1px solid #ccc !important;
-    .el-collapse-item__content {
-      padding-bottom: 0;
-      background-color: #fff;
-    }
-    .el-collapse-item__header {
-      background-color: #e2edfa;
-      border-top: 1px solid #c2defb;
-      border-bottom: 1px solid #c2defb;
-      height: 37px;
-      line-height: 35px;
-    }
-  }
-  .purspappl-details {
-    line-height: 9px;
-    // border-bottom: 1px solid #ccc !important;
-  }
-}
-.row-bg {
-  background: #f6f6f6;
-  font-size: 13px;
-  text-align: center;
-  background-color: #f9fafc;
-}
-.el-collapse-item__header {
-  background-color: #e2edfa;
-}
-.purspappl-details {
-  // line-height: 40px;
-}
-.el-row {
-  text-align: center;
-}
-.col-edit {
-  text-align: left;
-  .col-edit-cascader {
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 32px;
-  }
-}
-.pur-input {
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 27px;
-    word-wrap: break-word;
-    word-break: break-all;
-    overflow: hidden;
-  }
-}
-.div-collapse {
-  .el-collapse-item__content {
-    padding-bottom: 0;
-  }
-}
-.add {
-  position: absolute;
-  right: 60px;
-  z-index: 999;
-}
-.col-edit-title {
-  text-align: left;
-}
-.el-collapse-item__content {
-  padding-bottom: 0;
-}
-
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .bg-purple-dark {
-    .el-input__inner {
-      background-color: #e2edfa !important;
-      border: 0;
-    }
-  }
-  .is-disabled {
-    .el-cascader__label {
-      color: #303133;
-    }
-  }
-  .el-input__suffix {
-    display: none;
-  }
-  .col-edit {
-    .col-edit-input {
-      .is-disabled {
-        .el-input__inner:hover {
-          background-color: #fff !important;
-          border: 0;
-        }
-        .el-input__inner {
-          background-color: #fff !important;
-          border: 0;
-        }
-      }
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  /deep/.el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000;
-    cursor: text;
-    padding: 0;
-    text-align: center;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-.bg-imgBox {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  .bj-img {
-    width: 18px;
-    height: 100%;
-    margin-right: 10px;
-    img {
-      width: 18px;
-      height: 16px;
-      display: block;
-      cursor: pointer;
-    }
-  }
-  .bj-Name {
-    max-width: 100px;
-    display: inline-block;
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis;
-  }
-}
-</style>

+ 0 - 867
src/views/procurement/procurementSpare/component/purQuotesDetails.vue

@@ -1,867 +0,0 @@
-<!-- 组件-报价明细 -->
-<!--  2019年5月29日 12:00:20 by zw-->
-<template>
-  <div style="margin-top:10px;">
-    <WinseaContentModal v-model='dialogVisible'
-                        :title="$t('upload.basicInfo')"
-                        @on-cancel="handleClose">
-      <div class="myDialog">
-        <upload ref="purQuotesDetailsUpLoad"
-                procurement-name="procurementSpare"
-                :appendix-file-urls="defaultFileShow"
-                frame-name="采购明细"
-                :editable="isEdit && editFlag"
-                :tenant-id="1"
-                @getMessage="getFileUrl"
-                @delMessage="delFileUrl" />
-      </div>
-      <span slot="footer"
-            class="dialog-footer">
-        <ws-button type="primary"
-                   @click="handleClose">{{
-          $t('button.confirm')
-        }}</ws-button>
-      </span>
-    </WinseaContentModal>
-    <ws-class-table :data="deviceList"
-                    childrenKey="partList"
-                    :check="false"
-                    :row-class-name="tableRowClassName">
-      <template v-slot:group-header="{ group, groupIndex }">
-        <ws-row style="width:100%">
-          <ws-col :span="1">
-            <div class="bg-purple-dark"
-                 style="padding-left:10px;">
-              <ws-checkbox v-show="isSplit"
-                           v-model="group.checked"
-                           @change="checkedOper(groupIndex)" />
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgsparedetail.devicename') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="group.deviceName">{{ group.deviceName }}</span>
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgsparedetail.devicemodel') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="group.deviceModel">{{ group.deviceModel }}</span>
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgsparedetail.leavefaccode') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="group.leaveFacCode">{{ group.leaveFacCode }}</span>
-            </div>
-          </ws-col>
-          <ws-col :span="5">
-            <div class="bg-purple-dark">
-              <span style="font-size: 13px;color:#1d6ced;">{{ $t('cg.cgsparedetail.manufacturer') }}{{$t('common.colon')}}</span>
-              <span style="width:50%;border:0px;color:#1d6ced;"
-                    :title="group.manufacturer">{{ group.manufacturer }}</span>
-            </div>
-          </ws-col>
-        </ws-row>
-      </template>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spId')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.newIndex
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spName')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div class="bg-imgBox">
-            <div class="bj-img"
-                 v-if="data.basicAppendixId"
-                 @click="gotoImg(data.basicAppendixId)">
-              <img src="@/assets/img-icon.jpg" />
-            </div>
-            <span class="bj-Name"
-                  :title="data.spName">{{ data.spName }}</span>
-          </div>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spName0')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.partsDeviceName
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.spCode')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.spCode
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.specification')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.drawNumber
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.specification1')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.specification
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.measurementUnit')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.measurementUnit
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.enquiryBrand')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-          data.brandName
-        }}</template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.quotedBrand')"
-                          :span="2">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-
-          <div v-for="(cop, c) in deviceList[groupIndex].partList"
-               v-if="
-              cop.id == data.id ||
-                cop.faId == data.id ||
-                cop.enquiryDetailId == data.enquiryDetailId
-            "
-               :key="$t('cg.cgsparedetail.quotedBrand')+'_'+groupIndex+'-'+c"
-               class="col-edit-input">
-            <span class="select-span"
-                  style="display: flex;">
-              <span style="60%">
-                <ws-select class="newFont"
-                           v-if="isSupply"
-                           v-model="cop.enquiryBrandId"
-                           :placeholder="isEdit && editFlag ? $t('common.selected') : ''"
-                           size="mini"
-                           :disabled="
-                    isEdit && editFlag
-                      ? cop.isCopy == true
-                        ? cop.isCopy
-                          ? false
-                          : false
-                        : true
-                      : true
-                  ">
-                  <ws-option v-for="l in brandList"
-                             :key="$t('cg.cgsparedetail.quotedBrand')+'_'+groupIndex+'-'+l.parameterKey"
-                             :label="
-                      language == 'en' ? l.parameterValueEn : l.parameterValue
-                    "
-                             :value="l.parameterKey" />
-                </ws-select>
-                <el-input class="newFont"
-                          v-else
-                          v-model="cop.enquiryBrandName"
-                          size="mini"
-                          style="width: 60%;"
-                          :disabled="
-                    isEdit && editFlag
-                      ? cop.isCopy == true
-                        ? cop.isCopy
-                          ? false
-                          : false
-                        : true
-                      : true
-                  "
-                          @change="subTotal"
-                          maxlength="50" />
-              </span>
-
-              <span v-show="isEdit && editFlag"
-                    style="40%">
-                <el-tooltip v-if="!cop.isCopy"
-                            content="新增品牌"
-                            placement="bottom"
-                            effect="light">
-                  <ws-button type="text"
-                             size="mini"
-                             icon="el-icon-circle-plus-outline"
-                             @click="copyList(groupIndex, c, cop)" />
-                </el-tooltip>
-                <ws-button v-else
-                           type="text"
-                           size="mini"
-                           icon="el-icon-circle-close"
-                           @click="deletePurList(groupIndex, c, cop)" />
-              </span>
-            </span>
-          </div>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.enquiryQuantity')"
-                          :merge="true">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div v-for="(cop, c) in deviceList[groupIndex].partList"
-               v-if="
-              cop.id == data.id ||
-                cop.faId == data.id ||
-                cop.enquiryDetailId == data.enquiryDetailId
-            "
-               :key="$t('cg.cgsparedetail.bargainPrice')+'_'+groupIndex+'-'+c"
-               class="col-edit-input">
-            {{
-          !cop.applQuantity ? 0 : cop.applQuantity
-        }}
-          </div>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.bargainPrice')"
-                          :merge="true">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div v-for="(cop, c) in deviceList[groupIndex].partList"
-               v-if="
-              cop.id == data.id ||
-                cop.faId == data.id ||
-                cop.enquiryDetailId == data.enquiryDetailId
-            "
-               :key="$t('cg.cgsparedetail.bargainPrice')+'_'+groupIndex+'-'+c"
-               class="col-edit-input">
-            <ws-input class="newFont"
-                      :clearable="false"
-                      :title="cop.unitPrice"
-                      v-model="cop.unitPrice"
-                      size="mini"
-                      oninput="value=value.replace(/[^\d.]/g,'')"
-                      :disabled="isEdit && editFlag ? false : true"
-                      @change="subTotal"
-                      maxlength="10" />
-          </div>
-        </template>
-      </ws-class-table-col>
-      <!--   <ws-class-table-col :label="$t('cg.cgsparedetail.convertedQuote')">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div v-for="(cop, c) in deviceList[groupIndex].partList"
-               v-if="
-              cop.id == data.id ||
-                cop.faId == data.id ||
-                cop.enquiryDetailId == data.enquiryDetailId
-            "
-               :key="$t('cg.cgsparedetail.convertedQuote')+'_'+groupIndex+'-'+c"
-               class="col-edit-input">
-            <span style=" padding-left: 5px;">{{
-              cop.unitPrice == null
-                ? 0
-                : parseFloat(
-                    ((discount == null ? 0 : discount) *
-                      (cop.unitPrice == null ? 0 : cop.unitPrice)) /
-                      100
-                  ).toFixed(2)
-            }}</span>
-          </div>
-        </template>
-      </ws-class-table-col>-->
-      <!-- 税率 -->
-      <ws-class-table-col :label="$t('cg.cgsparedetail.taxRate')"
-                          :merge="true">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div v-for="(cop, c) in deviceList[groupIndex].partList"
-               v-if="
-              cop.id == data.id ||
-                cop.faId == data.id ||
-                cop.enquiryDetailId == data.enquiryDetailId
-            "
-               :key="$t('cg.cgsparedetail.taxRate')+'_'+groupIndex+'-'+c"
-               class="col-edit-input">
-            <ws-input-number :min="0"
-                             v-model="cop.taxRate"
-                             :placeholder="isEdit
-                                  ? $t('common.input')
-                                  : ''"
-                             :disabled="isEdit && editFlag ? false : true"
-                             maxlength="18" />
-
-          </div>
-        </template>
-      </ws-class-table-col>
-
-      <ws-class-table-col :label="$t('cg.cgsparedetail.subtotal')"
-                          :merge="true">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div v-for="(cop, c) in deviceList[groupIndex].partList"
-               v-if="
-              cop.id == data.id ||
-                cop.faId == data.id ||
-                cop.enquiryDetailId == data.enquiryDetailId
-            "
-               :key="$t('cg.cgsparedetail.subtotal')+'_'+groupIndex+'-'+c"
-               class="col-edit-input">
-            <span style=" padding-left: 5px;">{{
-              cop.unitPrice == null
-                ? ''
-                : parseFloat(
-                    (cop.applQuantity == null ? 0 : cop.applQuantity) *
-                      (parseFloat(discount == null ? 0 : discount) / 100) *
-                      (cop.unitPrice == null ? 0 : cop.unitPrice)
-                  ).toFixed(2)
-            }}</span>
-          </div>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.remark')"
-                          :merge="true">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div v-for="(cop, c) in deviceList[groupIndex].partList"
-               v-if="
-              cop.id == data.id ||
-                cop.faId == data.id ||
-                cop.enquiryDetailId == data.enquiryDetailId
-            "
-               :key="$t('cg.cgsparedetail.remark')+'_'+groupIndex+'-'+c"
-               class="col-edit-input">
-            <ws-input :clearable="false"
-                      v-model="cop.remark"
-                      size="mini"
-                      maxlength="200"
-                      v-if="isEdit && editFlag" />
-            <span class="col-edit-title"
-                  v-else
-                  :title="cop.remark">{{
-              data.remark
-            }}</span>
-          </div>
-        </template>
-      </ws-class-table-col>
-      <ws-class-table-col :label="$t('cg.cgsparedetail.accessory')"
-                          :merge="true">
-        <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-          <div class="col-edit-input"
-               v-for="(cop, c) in deviceList[groupIndex].partList"
-               v-if="
-              cop.id == data.id ||
-                cop.faId == data.id ||
-                cop.enquiryDetailId == data.enquiryDetailId
-            "
-               :key="$t('cg.cgsparedetail.accessory')+'_'+groupIndex+'-'+c">
-            <showFile :v-model.sync="cop.appendixId"
-                      :editable="isEdit && editFlag"
-                      set-oss-key="procurement.procurementSpare.quotesDetail"
-                      table-name="sparepartQuotesDetail"></showFile>
-          </div>
-        </template>
-      </ws-class-table-col>
-    </ws-class-table>
-  </div>
-</template>
-
-<script>
-import {
-  getTypeList,
-  // getApplySubject,
-  delApplTempOther
-} from '@/model/procurement/spare'
-import showFile from '@/components/Upload/showFile.vue' // 文件显示
-import { EventBus } from 'base-core-lib'
-import { getFileList } from '@/model/upload'
-
-export default {
-  inject: ['ariDiscount'],
-  components: {
-    showFile
-  },
-  props: ['editFlag', 'taxRate'],
-  data () {
-    return {
-      // 选择行下标
-      listRow: {
-        index: 0,
-        i: 0
-      },
-      // dialog显示
-      dialogVisible: false,
-      // 文件数据
-      defaultFileShow: [],
-      // 判断询价采购input显示不显示
-      isEdit: true,
-      // 计量单位结构
-      measurementList: [],
-      // 所属科目结构
-      subjectList: [],
-      // 品牌结构
-      brandList: [],
-
-      isCopyDetailss: true,
-
-      isDelDetailss: true,
-      discount: '',
-      // 采购明细数据结构
-      deviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-      // copy用
-      copyDeviceList: [
-        {
-          // 备件明细列表
-          partList: []
-        }
-      ],
-
-      deviceListShow: [],
-      isSplit: this.$parent.isSplit,
-      isSupply: true,
-      // 公司ID
-      companyId: sessionStorage.getItem('ws-pf_compId'),
-
-      // 获取当前语言
-      language: ''
-
-      // // 判断显示隐藏
-      // dialog: false,
-      // cIndex: -1
-    }
-  },
-  watch: {
-    taxRate (newValue, OldValue) {
-      if (newValue !== OldValue && newValue) {
-        this.changeInfoTaxRate(newValue, OldValue)
-      }
-    }
-  },
-  created () {
-    this.language = this.$store.getters.language
-    // 计量单位
-    this.getPurSelectTypeUnit('MEASUREMENT_UNIT')
-    // 品牌
-    this.getPurSelectBrand('BRAND')
-    // this.setIsSupply()
-  },
-  methods: {
-    changeInfoTaxRate (val, oldVal) {
-      // this.deviceList.map(item => item.partList.map(partListMap => !partListMap.taxRate ? partListMap.taxRate = val : (partListMap.taxRate === oldVal ? partListMap.taxRate = val : '')))
-      this.deviceList.map(item => item.partList.map(partListMap => partListMap.taxRate = val))
-    },
-    tableRowClassName (row, groupIndex, rowIndex) {
-      if (row.isCopy) {
-        return 'hidden-row'
-      }
-      // 处理反显时的问题 服务器未返回isCopy
-      let currIndex = this.deviceList[groupIndex].partList.findIndex(
-        value => value.enquiryDetailId === row.enquiryDetailId
-      )
-      if (currIndex < rowIndex) {
-        return 'hidden-row'
-      }
-      return ''
-    },
-    // 添加备件明细列表
-    copyList (index, i, item) {
-      // this.copyDeviceList = JSON.parse(JSON.stringify(this.deviceList))
-      let newItem = { ...item }
-      newItem.id = ''
-      newItem.remark = ''
-      newItem.brandId = ''
-      newItem.unitPrice = ''
-      newItem.enquiryBrandId = ''
-      newItem.isCopy = true
-      newItem.faId = item.id
-      newItem.appendixId = ''
-      this.deviceList[index].partList.push(newItem)
-      // this.copyDeviceList[index].partList.push(newItem)
-    },
-    // 删除明细,注意不能清空
-    deletePurList (index, i, item) {
-      this.deviceList[index].partList.splice(i, 1)
-    },
-    // 查看备件采购历史
-    findHisList (index, i) { },
-    // 显示隐藏判断
-    // changeStatus(index) {
-    //   this.cIndex = index
-    //   this.dialog = !this.dialog
-    // },
-    indexMethod (index) {
-      return index * 2
-    },
-
-    // 小计
-    subTotal (quantity, price) {
-      if (quantity == null) {
-        quantity = 0
-      }
-      if (price == null) {
-        price = 0
-      }
-
-      this.subTotals = parseFloat(quantity * price).toFixed()
-      this.ariDiscount()
-    },
-
-    // #region 下拉选择
-
-    // 计量单位
-    getPurSelectTypeUnit (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        this.measurementList = response
-      })
-    },
-
-    // 品牌
-    getPurSelectBrand (type) {
-      // 获取数据
-      getTypeList({
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        constCode: type
-      }).toPromise().then(response => {
-        // 品牌
-        this.brandList = response
-      })
-    },
-
-    // 根据公司ID获取所属科目
-    getPurSelectSubjectList () {
-      // 获取数据
-      // getApplySubject({ compId: this.companyId, subjectType: '0' }).then(
-      //   response => {
-      //     this.subjectList = response.data
-      //   }
-      // )
-    },
-
-    // #endregion
-
-    // #region 方法
-
-    // 删除采购明细列表
-    deleteList (index, i) {
-      this.$confirm(this.$t('message.isdelete'), this.$t('message.warn'), {
-        confirmButtonText: this.$t('message.confirm'),
-        cancelButtonText: this.$t('message.cancel'),
-        type: 'warning'
-      })
-        .then(async () => {
-          if (this.deviceList[index].partList[i].id.length > 0) {
-            delApplTempOther({
-              id: this.deviceList[index].partList[i].id
-            }).toPromise()
-              .then(response => {
-                this.deviceList[index].partList.splice(i, 1)
-
-                if (this.deviceList[index].partList.length === 0) {
-                  this.deviceList.splice(index, 1)
-                }
-                EventBus.$emit('success', this.$t('message.message1'))
-              })
-              .catch(() => {
-                EventBus.$emit('error', this.$t('message.message2'))
-              })
-          } else {
-            this.deviceList[index].partList.splice(i, 1)
-
-            if (this.deviceList[index].partList.length === 0) {
-              this.deviceList.splice(index, 1)
-            }
-            EventBus.$emit('success', this.$t('message.message1'))
-          }
-        })
-        .catch(err => {
-          console.error(err)
-        })
-    },
-
-    checkedOper (index) {
-      // if (this.deviceList[index].checked) {
-      for (var i = 0; i < this.deviceList[index].partList.length; i++) {
-        this.deviceList[index].partList[i].checked = this.deviceList[
-          index
-        ].checked
-      }
-      // }
-    },
-
-    // 备件操作处理
-    sonCheckedOper (index, i) {
-      if (this.deviceList[index].partList[i].checked) {
-        this.deviceList[index].checked = true
-      } else {
-        let isCheck = false
-        for (let h = 0; h < this.deviceList[index].partList.length; h++) {
-          if (this.deviceList[index].partList[h].checked) {
-            isCheck = true
-            break
-          }
-        }
-
-        this.deviceList[index].checked = isCheck
-      }
-    },
-    // #endregion
-    handleClose () {
-      this.dialogVisible = false
-    },
-    getFileUrl () { },
-    delFileUrl () { },
-    gotoImg (data) {
-      if (data) {
-        getFileList({ appendixIds: data })
-          .toPromise()
-          .then(res => {
-            window.open(
-              process.env.VUE_APP_BASE_API + '/' + res[0].appendixPath,
-              '_blank'
-            )
-          })
-          .catch(() => { })
-      }
-    }
-  }
-}
-</script>
-<style lang="scss" scoped>
-.newFont {
-  /deep/.el-input__inner {
-    font-size: 12px !important;
-  }
-}
-
-/deep/.hidden-row {
-  display: none;
-}
-/deep/.wct--content-group--list {
-  height: auto;
-}
-// /deep/.el-input.is-disabled .el-input__inner {
-//   background-color: #fff;
-//   border-color: #fff !important;
-//   color: #000;
-//   cursor: text;
-//   padding: 0;
-// }
-/deep/.is-disabled {
-  /deep/.el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000;
-    cursor: text;
-    padding: 0;
-    text-align: center;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-.col-edit-title {
-  line-height: 27px;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  -webkit-box-orient: vertical;
-}
-.myDialog {
-  // height: 500px;
-  overflow: auto;
-}
-
-.purDiv {
-  .el-row {
-    margin-bottom: 0px;
-    .el-checkbox__input {
-      margin-left: 0.7em;
-      display: block;
-      line-height: 34px;
-    }
-  }
-  .div-collapse {
-    border-bottom: 1px solid #ccc !important;
-    .el-collapse-item__content {
-      padding-bottom: 0;
-      background-color: #fff;
-    }
-    .el-collapse-item__header {
-      background-color: #e2edfa;
-      border-top: 1px solid #c2defb;
-      border-bottom: 1px solid #c2defb;
-      height: 37px;
-      line-height: 35px;
-    }
-  }
-  .purspappl-details {
-    line-height: 9px;
-    // border-bottom: 1px solid #ccc !important;
-  }
-}
-
-.bg-purple {
-  line-height: 40px;
-  background: #eeeeee;
-  font-size: 13px;
-  text-align: left;
-  padding-left: 5px;
-}
-.bg-purple-light {
-  background: #e5e9f2;
-}
-.purDiv .el-input.is-disabled .el-input__inner {
-  background-color: #fff !important;
-  color: #101a29 !important;
-}
-.crt-main {
-  .select-span {
-    .el-select {
-      width: 60%;
-    }
-  }
-}
-.row-bg {
-  background: #f6f6f6;
-  font-size: 13px;
-  text-align: center;
-  background-color: #f9fafc;
-}
-// .el-collapse-item__header {
-//   background-color: #eee;
-// }
-.purspappl-details {
-  // line-height: 40px;
-}
-.el-row {
-  text-align: center;
-}
-.col-edit {
-  text-align: left;
-}
-.pur-input {
-  .col-edit-input {
-    margin-top: 2px;
-    width: 95%;
-    display: inline-block;
-    line-height: 27px;
-    word-wrap: break-word;
-    word-break: break-all;
-    overflow: hidden;
-  }
-}
-.div-collapse .el-collapse-item__content {
-  padding-bottom: 0;
-}
-.add {
-  position: absolute;
-  right: 60px;
-  z-index: 999;
-}
-.col-edit-title {
-  text-align: left;
-}
-.el-dropdown-link {
-  cursor: pointer;
-}
-.el-icon-arrow-down {
-  font-size: 12px;
-}
-button {
-  position: relative;
-}
-.button-list {
-  position: absolute;
-  right: 20px;
-  top: 20px;
-  z-index: 10000000;
-  width: 100px;
-  height: 100px;
-  border: 1px solid red;
-  background-color: #fff;
-}
-
-.el-select-dropdown {
-  max-width: 20px;
-}
-.el-select-dropdown__item {
-  // display: inline-block;
-}
-.el-select-dropdown__item span {
-  min-width: 205px;
-  display: inline-block;
-}
-.el-collapse-item__content {
-  padding-bottom: 0;
-}
-
-// 控制select为只读的时候显示样式
-.hide-select {
-  .el-input__inner {
-    background-color: #fff !important;
-    border: 0;
-    color: #303133;
-  }
-  .el-input__suffix {
-    .el-input__suffix-inner {
-      display: none !important;
-    }
-  }
-}
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .col-edit {
-    .col-edit-input {
-      .is-disabled {
-        .el-input__inner:hover {
-          background-color: #fff !important;
-          border: 0;
-        }
-        .el-input__inner {
-          background-color: #fff !important;
-          border: 0;
-        }
-      }
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 10px !important;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  /deep/.el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000;
-    cursor: text;
-    padding: 0;
-    text-align: center;
-  }
-  /deep/.el-input__suffix {
-    display: none;
-  }
-}
-.bg-imgBox {
-  display: flex;
-  justify-content: center;
-  align-items: center;
-  .bj-img {
-    width: 18px;
-    height: 100%;
-    margin-right: 10px;
-    img {
-      width: 18px;
-      height: 16px;
-      display: block;
-      cursor: pointer;
-    }
-  }
-  .bj-Name {
-    max-width: 100px;
-    display: inline-block;
-    white-space: nowrap;
-    overflow: hidden;
-    text-overflow: ellipsis;
-  }
-}
-</style>

+ 0 - 527
src/views/procurement/procurementSpare/component/supplierInfo.vue

@@ -1,527 +0,0 @@
-<template>
-  <div>
-    <base-card :title="$t('cg.supplier.supplierInfo')">
-      <template slot="buttons">
-        <div v-show="isAddSupplier"
-             @click.stop="addSupplier"
-             class="pointer">
-          <i class="el-icon-circle-plus-outline" />
-          <span style="font-size: 13px;">{{
-            $t('common.addSupplier')
-          }}</span>
-        </div>
-      </template>
-      <ws-normal-table :data="enquiryVendorList"
-                       stripe
-                       border
-                       fit
-                       highlight-current-row
-                       style="width: 100%;"
-                       :class="isEdit ? 'purspappl-details' : 'purspappl-details hide-sel'">
-        <ws-table-column type="index"
-                         :label="$t('cg.supplier.id')"
-                         width="50"
-                         align="center" />
-        <ws-table-column :label="$t('cg.supplier.supplier')"
-                         width="330px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.vendorName }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.remark')"
-                         width="300px"
-                         align="center">
-          <template slot-scope="scope">
-            <ws-input v-if="isEdit"
-                      v-model="scope.row.remark"
-                      :placeholder="$t('common.input')" />
-            <span v-else>{{ scope.row.remark }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.totalPrice')"
-                         min-width="100px"
-                         align="center">
-          <template slot-scope="scope">
-            <span v-if="scope.row.afterDiscountLower">{{ scope.row.afterDiscountLower + (getLanguage == 'en'?scope.row.currencyNameEn: scope.row.currencyName) }}</span>
-            <span v-else>{{ '--' }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('common.status')"
-                         min-width="100px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.status }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('common.operate')"
-                         min-width="80px"
-                         align="center">
-          <template slot-scope="scope">
-            <ws-checkbox :disabled="scope.row.status == '已报价'"
-                         v-show="isCheck"
-                         v-model="scope.row.checked" />
-            <!-- 改造删除按钮 -->
-            <i v-show="isDelete"
-               class="iconfont iconshanchu1"
-               @click="handleDelete(scope.$index, scope.row)"
-               style="font-size:19px" />
-          </template>
-        </ws-table-column>
-      </ws-normal-table>
-    </base-card>
-
-    <!-- 弹出页面-显示供应商 -->
-    <WinseaContentModal v-model='dialogFormVisible'
-                        :title="$t('common.addSupplier')">
-      <!-- 按钮组件和过滤 -->
-      <div class="supplierDialogHead">
-        <div class="supplierDialogHead-select">
-          <!-- 服务商下拉 -->
-          <span>{{$t('common.BusinessCategoryOther')}}</span>
-          <el-select v-model="listQuery.parameterId"
-                     :placeholder="$t('common.selected')"
-                     @change="supplierChange">
-            <el-option v-for="item in supplierList"
-                       :key="item.parameterId"
-                       :label="item.parameterValue"
-                       :value="item.parameterId" />
-          </el-select>
-        </div>
-        <div>
-          <ws-input :clearable="false"
-                    v-model="listQuery.enquiryCondition"
-                    :placeholder="$t('cg.querytitleSupplier')"
-                    style="width:300px; margin-bottom: 10px;"
-                    @keyup.enter.native="handleFilter">
-            <ws-button type="primary"
-                       slot="suffix"
-                       class="el-icon-search"
-                       @click="handleFilter" />
-          </ws-input>
-        </div>
-      </div>
-      <!-- 按钮组件和过滤 -->
-      <ws-normal-table ref="ser"
-                       :data="purSpEnquiryVendorList"
-                       border
-                       fit
-                       height="400"
-                       highlight-current-row
-                       style="width: 100%;"
-                       :span-method="objectSpanMethod"
-                       @sort-change="sortChange">
-        <ws-table-column type="index"
-                         :label="$t('cg.supplier.id')"
-                         width="50"
-                         align="center" />
-        <ws-table-column :label="$t('cg.supplier.supplier')"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.vendorName }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.linkMan')"
-                         width="150px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.linkMan }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.mobileNumber')"
-                         min-width="170px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.mobileNumber }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.emailAddress')"
-                         min-width="170px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.emailAddress }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('cg.supplier.address')"
-                         min-width="170px"
-                         align="center">
-          <template slot-scope="scope">
-            <span>{{ scope.row.address }}</span>
-          </template>
-        </ws-table-column>
-        <ws-table-column :label="$t('common.operate')"
-                         min-width="100px"
-                         align="center">
-          <template slot-scope="scope">
-            <ws-checkbox v-model="scope.row.checkMark"
-                         :disabled="scope.row.disabled"
-                         @change="changeChoose(scope)" />
-          </template>
-        </ws-table-column>
-        <!-- <ws-table-column
-          :selectable="selectable"
-          type="selection"
-          width="50"
-          align="center"
-        />-->
-      </ws-normal-table>
-      <!-- 列表-页码 -->
-
-      <pagination v-show="total > 0"
-                  :total="total"
-                  :page.sync="listQuery.currentPage"
-                  :limit.sync="listQuery.pageSize"
-                  @pagination="getSupplier" />
-      <!-- 列表-页码 -->
-      <div slot="footer"
-           class="dialog-footer">
-        <ws-button @click="dialogFormVisible = false">{{
-          $t('button.cancel')
-        }}</ws-button>
-        <ws-button type="primary"
-                   @click="confirm">{{
-          $t('button.confirm')
-        }}</ws-button>
-      </div>
-    </WinseaContentModal>
-    <!-- </ws-dialog> -->
-    <!-- 弹出页面-新增修改-->
-  </div>
-</template>
-
-<script>
-import {
-  delEnquiryVendor,
-  GetEnquiryVendorPage,
-  updateEnquiryVendor
-} from '@/model/procurement/spare'
-import Pagination from '@/components/Pagination'
-import WsCollapse from '@/components/WsCollapse'
-import { getServType } from '@/model/serviceProvider'
-export default {
-  components: {
-    Pagination,
-    WsCollapse
-  },
-  props: ['isAddSupplier', 'addSupplier', 'init'],
-  data () {
-    return {
-      supplierList: [],
-      dialogFormVisible: false,
-      // 添供货商input是否显示、修改
-      isEdit: false,
-      // 查询条件
-      listQuery: {
-        compId: sessionStorage.getItem('ws-pf_compId'), // 公司ID
-        currentPage: 1, // 当前页码
-        pageSize: 10, // 一页记录数
-        enquiryCondition: '',
-        parameterId: ''
-      },
-      isCheck: false,
-
-      isDelete: false,
-
-      // 备件询价选取的供应商
-      enquiryVendorList: [],
-
-      // 查询总条数
-      total: '0',
-      // 供应商表
-      purSpEnquiryVendorList: []
-    }
-  },
-  computed: {
-    getLanguage () {
-      return this.$store.state.app.language
-    }
-  },
-  created () {
-    this.getSupplierResults()
-  },
-  mounted () {
-    // this.getSupplier()
-    // this.$nextTick(() => {
-    //   this.$refs[""].toggleRowSelection();
-    // });
-  },
-  methods: {
-    closeDialog () {
-      this.listQuery.parameterId = ''
-    },
-    supplierChange (val) {
-      const id = this.supplierList.find(item => item.parameterId === val).parameterKey
-      GetEnquiryVendorPage({
-        compId: this.listQuery.compId, // 公司ID
-        searchKeyword: this.listQuery.enquiryCondition,
-        currentPage: this.listQuery.currentPage, // 当前页码
-        pageSize: this.listQuery.pageSize, // 一页记录数
-        serviceTypeId: 1,
-        subcontractorFlag: 1,
-        enquiryId: this.$route.query.enquiryId,
-        servicerTypeId: id
-      }).then(response => {
-        this.purSpEnquiryVendorList = response.data.records;
-        this.total = response.data.total;
-        this.listQuery.currentPage = response.data.current;
-      })
-
-    },
-    // 新增服务商的 select
-    getSupplierResults () {
-      let typeParam = {
-        constCode: 'SERVICER_TYPE',
-        compId: sessionStorage.getItem('ws-pf_compId')
-      }
-      getServType(typeParam).toPromise().then(response => {
-        this.supplierList = response
-        this.supplierList.unshift({
-          parameterKey: '',
-          parameterValue: '全部类型',
-          parameterValueEn: 'All types of'
-        })
-      })
-    },
-    // 合并单元格
-    objectSpanMethod ({ row, column, rowIndex, columnIndex }, _index) {
-      if (columnIndex === 1) {
-        let rowsspan = 0
-        let i = this.purSpEnquiryVendorList
-        if (rowIndex === 0) {
-          rowsspan = i.filter(
-            item => item.vendorName === row.vendorName
-          ).length
-        } else {
-          let vendorName = i[rowIndex - 1].vendorName
-          if (vendorName !== row.vendorName) {
-            rowsspan = i.filter(
-              item => item.vendorName === row.vendorName
-            ).length
-          }
-        }
-        return {
-          rowspan: rowsspan,
-          colspan: rowsspan > 0 ? 1 : 0
-        }
-      }
-    },
-    // selectable(row, index) {
-    //   let res = true
-    //   let chenks = this.enquiryVendorList
-    //   chenks.forEach((value2, index2) => {
-    //     if (row.vendorId === value2.vendorId) {
-    //       res = false
-    //     }
-    //   })
-    //   return res
-    // },
-    deleteButtenShowType (num) {
-      let returnVal = true
-      if (num == null || num.length == 0) {
-        returnVal = true
-      } else {
-        returnVal = false
-      }
-
-      return returnVal
-    },
-    // 获取供应商数据
-    getSupplier () {
-      this.total = 0
-      GetEnquiryVendorPage({
-        compId: this.listQuery.compId, // 公司ID
-        searchKeyword: this.listQuery.enquiryCondition,
-        currentPage: this.listQuery.currentPage, // 当前页码
-        pageSize: this.listQuery.pageSize, // 一页记录数
-        serviceTypeId: 1,
-        subcontractorFlag: 1,
-        enquiryId: this.$route.query.enquiryId,
-        servicerTypeId: ''
-      }).toPromise().then(response => {
-        for (let i of response.records) {
-          if (i.checkMark) {
-            i.disabled = true
-            for (let k of response.records) {
-              if (k.vendorName == i.vendorName && k.linkMan !== i.linkMan) {
-                this.$set(k, 'disabled', true)
-              }
-            }
-          }
-        }
-        this.purSpEnquiryVendorList = response.records
-        this.total = response.total
-        this.listQuery.currentPage = response.current
-        setTimeout(() => {
-          // this.listLoading  = false;
-        }, 2 * 1000)
-
-        // 初始化选择
-        this.purSpEnquiryVendorList.forEach((value, index) => {
-          this.enquiryVendorList.forEach((value2, index2) => {
-            if (value.vendorId === value2.vendorId) {
-              this.$nextTick(() => {
-                this.$refs['ser'].toggleRowSelection(value, true)
-              })
-            }
-          })
-        })
-      })
-    },
-    changeChoose (scope) {
-      if (scope.row.checkMark) {
-        for (let k of this.purSpEnquiryVendorList) {
-          if (k.vendorName == scope.row.vendorName && k.linkMan !== scope.row.linkMan) {
-            this.$set(k, 'checkMark', false)
-          }
-        }
-      }
-    },
-    // 删除供应商
-    handleDelete (index, row) {
-      this.$confirm(this.$t('message.isdelete'), this.$t('message.warn'), {
-        confirmButtonText: this.$t('message.confirm'),
-        cancelButtonText: this.$t('message.cancel'),
-        type: 'warning'
-      })
-        .then(async () => {
-          if (row.id.length > 0) {
-            await delEnquiryVendor({
-              id: row.id
-            }).toPromise().then(response => {
-              this.enquiryVendorList.splice(index, 1)
-            })
-          } else {
-            this.enquiryVendorList.splice(index, 1)
-          }
-        })
-        .catch(err => {
-          console.error(err)
-        })
-    },
-
-    // 确定选中供应商
-    confirm () {
-      this.purSpEnquiryVendorList.forEach(x => {
-        let isRepetition = false
-        this.enquiryVendorList.filter(function (number) {
-          if (number.vendorName === x.vendorName) {
-            isRepetition = true
-          }
-        })
-
-        if (!isRepetition && x.checkMark) {
-          const s = {
-            id: '',
-            vendorId: x.vendorId,
-            vendorName: x.vendorName,
-            linkName: x.linkName,
-            linkPhone: x.linkPhone,
-            remark: '',
-            afterDiscountLower: '',
-            status: ''
-          }
-
-          this.enquiryVendorList.push(s)
-        }
-      })
-      updateEnquiryVendor({
-        enquiryId: this.$route.query.enquiryId,
-        vendorList: this.enquiryVendorList
-      }).toPromise().then(response => {
-        this.enquiryVendorList = response
-        this.dialogFormVisible = false
-      })
-    },
-
-    // 过滤条件
-    handleFilter () {
-      this.getSupplier()
-    },
-
-    // 排序
-    sortChange (column) {
-      this.page.orderColunm = column.prop
-      this.page.order = column.order
-      this.getSupplier()
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-/deep/.el-input__suffix {
-  right: 0px;
-}
-.el-table-body {
-  .el-table__body-wrapper {
-    min-height: auto;
-  }
-  .el-input--medium {
-    padding: 0;
-  }
-  .el-dialog__body {
-    padding-top: 10px;
-  }
-}
-.dialog-Vendor {
-  margin-top: 10px;
-}
-el-table {
-  td {
-    background-color: #f5f7fa;
-  }
-}
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .hover-row {
-    background-color: #ffffff;
-  }
-  .el-table {
-    .cell {
-      background-color: #ffffff;
-    }
-  }
-  .bg-purple-dark {
-    .el-input__inner {
-      background-color: #e2edfa !important;
-      border: 0;
-    }
-  }
-  .el-table__body {
-    tr.current-row > td {
-      background-color: #e8f0fd;
-    }
-  }
-  .el-table--enable-row-hover {
-    .el-table__body tr:hover {
-      td {
-        background-color: #f5f7fa !important;
-        .el-table {
-          .el-input__inner {
-            height: 32px;
-            background-color: #f5f7fa !important;
-            line-height: 32px;
-            border: 0px;
-          }
-        }
-      }
-    }
-  }
-}
-// 控制select为只读的时候显示样式
-.supplierDialogHead {
-  text-align: right;
-  display: flex;
-  justify-content: flex-end;
-  .supplierDialogHead-select {
-    margin-right: 10px;
-  }
-}
-</style>

+ 0 - 374
src/views/procurement/procurementSpare/enquiryDetail.vue

@@ -1,374 +0,0 @@
-<!--备件-备询价详情-->
-<!--2019年6月5日 15:37:39 by zw-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <!-- 按钮组件 -->
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <OperationalHistory :bill-no="$t('cg.cgsparedetail.enquiryno') + $t('common.colon') + enquiryInfo.enquiryNo"
-                              :message="getLanguage == 'en'?enquiryInfo.statusNameEn:enquiryInfo.statusName"
-                              :set-id="enquiryId"
-                              set-type="enquiry" />
-          <!-- 按钮组件 -->
-        </template>
-        <template slot="right">
-          <!-- 'procurement.sparepart.enquiryDetail.save' -->
-          <!--  <ws-button-map>-->
-          <ws-button v-if="buttonIsShow.isSend"
-                     type="primary"
-                     @click="approve(1)"
-                     v-hasPermission="
-              `${$permission('PERMISSIONS.PURSPAPPLINFO_SUBMITTOENQUIRY')}`
-            ">{{ $t('button.send') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isSave"
-                     @click="save('')"
-                     v-hasPermission="
-              `${$permission('PERMISSIONS.PURSPAPPLINFO_SUBMITTOENQUIRY')}`
-            ">{{ $t('button.save') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isConfirmsplitbills"
-                     type="primary"
-                     @click="splitEnquiryBills(1)"
-                     v-hasPermission="
-              'procurement.sparepart.enquiryDetail.confirmsplitbills'
-            ">{{ $t('button.confirmsplitbills') }}</ws-button>
-          <!--  </ws-button-map>-->
-          <ws-button v-if="buttonIsShow.isCancelsplitbills"
-                     @click="splitEnquiryBills(0)">{{ $t('button.cancelsplitbills') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isOperMoreCD && splitable"
-                     v-hasPermission="
-            'procurement.sparepart.enquiryDetail.confirmsplitbills'
-          "
-                     @click="operMore('cd')">{{ $t('button. splitbills') }}</ws-button>
-          <!-- 'procurement.sparepart.enquiryDetail.save' -->
-          <ws-button v-if="buttonIsShow.isDiscard"
-                     v-hasPermission="
-            `${$permission('PERMISSIONS.PURSPAPPLINFO_SUBMITTOENQUIRY')}`
-          "
-                     @click="operMore('fq')">{{ $t('button.discard') }}</ws-button>
-          <DocRelate-Button :set-show-type="docRelateShow"
-                            :set-form="setForm" />
-          <ws-button @click="back">{{$t('button.back')}}</ws-button>
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 单据基础信息 -->
-      <base-card :title="$t('cg.applydetails.basicInfo')">
-        <ws-form ref="infoForm"
-                 :model="enquiryInfo"
-                 :rules="rulesEnquiry"
-                 :show-message="false"
-                 :class="
-                isParentEdit ? 'purspappl-details' : 'purspappl-details hide-sel'
-              "
-                 :hide-required-asterisk="!isParentEdit">
-          <ws-info-table>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vesselName')">
-              <div class="div-el-form-item">{{ enquiryInfo.vesselName }}</div>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applPurchase')">
-              <ws-input :title="enquiryInfo.title"
-                        v-model="enquiryInfo.title"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="250" />
-            </ws-form-item>
-            <!-- <ws-form-item
-                    :span="1"
-                    :label="$t('cg.applydetails.applSubject')"
-                  >
-                    <el-cascader
-                      v-model="enquiryInfo.subjectId"
-                      :options="applySubjectList"
-                      clearable
-                      :show-all-levels="false"
-                      style="width: 100%;"
-                      :placeholder="isParentEdit?$t('common.selected'):''"
-                      :disabled="isParentEdit?false:true"
-                    />
-                </ws-form-item>-->
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applTypeName')"
-                          prop="purchaseType">
-              <ws-select v-if="isParentEdit"
-                         v-model="enquiryInfo.applTypeId"
-                         :placeholder="isParentEdit ? $t('common.selected') : ''">
-                <ws-option v-for="item in applyTypeList"
-                           :key="item.parameterKey"
-                           :label="
-                        language == 'en'
-                          ? item.parameterValueEn
-                          : item.parameterValue
-                      "
-                           :value="item.parameterKey" />
-              </ws-select>
-              <span v-else>{{
-                    language == 'en'
-                      ? enquiryInfo.purchaseTypeNameEn
-                      : enquiryInfo.purchaseTypeName
-                  }}</span>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.openParityWay')"
-                          prop="openParityWay">
-              <ws-select v-model="enquiryInfo.openParityWay"
-                         :placeholder="isParentEdit ? $t('common.selected') : ''"
-                         :disabled="isParentEdit ? false : true">
-                <ws-option v-for="item in openParityWayList"
-                           :key="item.parameterKey"
-                           :label="
-                        language == 'en'
-                          ? item.parameterValueEn
-                          : item.parameterValue
-                      "
-                           :value="item.parameterKey" />
-              </ws-select>
-            </ws-form-item>
-
-            <ws-form-item :span="2"
-                          :label="$t('cg.applydetails.inquiryEffective')"
-                          prop="inquiryEffective">
-              <ws-date-picker v-model="enquiryInfo.inquiryEffective"
-                              :disabled="isParentEdit ? false : true"
-                              type="daterange"
-                              style="width:100%"
-                              range-separator="-"
-                              :start-placeholder="$t('cg.querybdate')"
-                              :picker-options="pickerBeginDateBefore"
-                              format="yyyy-MM-dd"
-                              value-format="yyyy-MM-dd"
-                              :end-placeholder="$t('cg.queryedate')" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applExpectedDeliveryLocation')">
-              <ws-input v-model="enquiryInfo.demandPlace"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="100" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.deliveryTerm')">
-              <ws-input v-model="enquiryInfo.deliveryTerm"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="100" />
-              <!--<ws-date-picker v-model="enquiryInfo.demandDate"
-                                  type="date"
-                                  :placeholder="isParentEdit ? $t('common.selected') : ''"
-                                  :disabled="isParentEdit ? false : true"
-                                  format="yyyy-MM-dd"
-                                  value-format="yyyy-MM-dd"
-                                  :picker-options="pickerOptions" />-->
-            </ws-form-item>
-            <ws-form-item :span="4"
-                          :label="$t('cg.applydetails.applemark')">
-              <ws-row>
-                <ws-col :span="22">
-                  <ws-input v-model="enquiryInfo.remark"
-                            :title="enquiryInfo.remark"
-                            :placeholder="isParentEdit ? $t('common.input') : ''"
-                            :disabled="isParentEdit ? false : true"
-                            style="width: calc(100%-200px);line-height: 41px;"
-                            maxlength="250" />
-                </ws-col>
-                <ws-col :span="2">
-                  <NotesOnHistory :set-show-message="notesOnHistory" />
-                </ws-col>
-              </ws-row>
-            </ws-form-item>
-          </ws-info-table>
-        </ws-form>
-      </base-card>
-      <!-- 单据基础信息 -->
-
-      <!-- 供货商信息 -->
-      <!-- <ws-collapse>
-            <template slot="title">
-                <span>{{ $t('cg.supplier.supplierInfo') }}</span>
-              <div class="add-details">
-                <div v-show="isAddSupplier" class="add-list" @click.stop="addSupplier">
-                  <i class="el-icon-circle-plus-outline" />
-                  <span style="font-size: 13px;color: #A8A8A8;">{{ $t('common.addSupplier') }}</span>
-                </div>
-              </div>
-            </template>
-
-            <supplier-Info ref="supplierInfo" />
-        </ws-collapse>-->
-      <supplier-Info ref="supplierInfo"
-                     :init="enquiryInfo"
-                     :is-add-supplier="isAddSupplier"
-                     :add-supplier="addSupplier" />
-      <!-- 供货商信息 -->
-
-      <!-- 采购明细 -->
-      <base-card :title="$t('cg.applydetails.applInfo2')">
-        <pur-EnquiryDetails ref="purEnquiryDetails" />
-      </base-card>
-      <!-- 采购明细 -->
-
-      <!-- 附件上传 -->
-      <base-card :title="$t('upload.basicInfo')"
-                 :isIcon="false">
-        <ws-upload ref="wsUpload"
-                   oss-key="procurement.procurementSpare.enquiryDetail"
-                   :comp-id="companyId"
-                   :vesselId="enquiryInfo.vesselId"
-                   :editable="isParentEdit"
-                   :appendix-ids="enquiryInfo.appendixId"
-                   table-name="sparepartEnquiryInfo"
-                   @onChange="onChange" />
-      </base-card>
-      <!-- 附件上传 -->
-    </template>
-    <!-- 弹出页面-废弃 -->
-    <approve-dialog ref="approveDialog"
-                    @scrapConfirm="scrapConfirm"></approve-dialog>
-    <!-- 弹出页面-废弃 -->
-  </BaseDetailLayout>
-</template>
-
-<script src="../../../viewsjs/procurement/procurementSpare/enquiryDetail.js" />
-<style lang="scss" scoped>
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    & /deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
-    & /deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-.pur-container {
-  .el-collapse {
-    border-top: 0 !important;
-    border-bottom: 0 !important;
-  }
-  .el-collapse-item__header {
-    background-color: #fff;
-    border-bottom: 0;
-  }
-  .el-collapse-item__wrap {
-    border-bottom: 0;
-  }
-}
-.span-money {
-  font-size: 14px;
-  font-weight: 700;
-  margin: 10px 10px;
-  line-height: 40px;
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.label-btitle {
-  margin: 10px 0 10px 18px;
-  font-size: 14px;
-}
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .el-date-editor {
-    i {
-      display: none;
-    }
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-      resize: none;
-    }
-  }
-}
-.el-textarea__inner {
-  resize: none;
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  background-color: #fff;
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner,
-  .el-range-input {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-
-//新增
-
-/deep/ .el-textarea__inner {
-  width: 100%;
-}
-</style>

+ 0 - 1215
src/views/procurement/procurementSpare/parityDetail.vue

@@ -1,1215 +0,0 @@
-<!--备件比价单明细-->
-<!--2019年6月3日 18:15:07 by jlx-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <!-- 按钮组件 -->
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <!--历史控件-->
-          <OperationalHistory :bill-no="$t('cg.cgsparedetail.parityno') + $t('common.colon') + parityInfo.enquiryNo"
-                              :message="getLanguage == 'en'?parityInfo.statusNameEn:parityInfo.statusName"
-                              :set-id="enquiryId"
-                              set-type="parity" />
-          <!-- 按钮组件 -->
-        </template>
-        <template slot="right">
-          <ws-button v-if="parityInfo.taskId"
-                     type="primary"
-                     @click="toApprove">{{ $t('button.approve') }}
-          </ws-button>
-          <ws-button v-if="parityInfo.taskId"
-                     @click="toReturn">{{ $t('button.noapprove') }}
-          </ws-button>
-          <ws-button v-if="buttonIsShow.isSubmit && submitPermission"
-                     type="primary"
-                     @click="approve(4)">{{ $t('button.submit') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isSave && submitPermission && routeName !== 'parityDetailMap'"
-                     @click="approve(5)">
-            <ws-button v-if="buttonIsShow.isSave && routeName == 'parityDetailMap'"
-                       @click="approve(5)"
-                       v-hasPermission="'procurement.spareMapper.spparityMap.save'">{{ $t('button.save') }}</ws-button>
-            {{ $t('button.save') }}
-          </ws-button>
-          <!--<ws-button
-                 @click="operMore('dc')"
-                 v-hasPermission="
-            `${$permission('PERMISSIONS.PURSPPARITYINFO_UPDATEPARITYINFO')}`">
-        {{ $t('button.export') }}</ws-button>-->
-          <ws-button v-if="buttonIsShow.isConfirmsplitbills && AgainEnquiryPermission"
-                     type="primary"
-                     @click="dialogAgainToEnquiry">
-            {{ $t('button.confirmsplitbills') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isAbandon && !buttonIsShow.isCancelsplitbills && fqEnquiryPermission"
-                     @click="operMore('fq')">{{ $t('button.discard') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isCancelsplitbills"
-                     @click="againToEnquiry(0)">{{ $t('button.cancelAgainToEnquiry') }}
-          </ws-button>
-          <ws-button v-if="buttonIsShow.isMadeEnquiry && !buttonIsShow.isCancelsplitbills && zcxjdEnquiryPermission"
-                     @click="operMore('zcxjd')">{{ $t('button.madeEnquiry') }}</ws-button>
-          <DocRelate-Button v-if="!buttonIsShow.isCancelsplitbills"
-                            :set-show-type="docRelateShow"
-                            :set-form="setForm"
-                            :set-page-type="routeName == 'parityDetailMa'?'Ma':(routeName == 'parityDetailMap'?'Map':'')" />
-          <ws-button v-if="!buttonIsShow.isCancelsplitbills"
-                     @click="back">{{ $t('button.back') }}</ws-button>
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 单据基础信息 -->
-      <base-card :title="$t('cg.applydetails.basicInfo')">
-        <template slot="buttons">
-          <div class="box-btitle">
-            <div>
-              <span style=" font-size:14px; margin-right: 15px;cursor: pointer;"
-                    v-if="buttonIsShow.isSubmit"
-                    @click="selectMinPrice"
-                    class="bg">
-                <i class="iconfont iconjiagezuidi" />
-                <span>{{ $t('cg.parity.selectPrice') }}</span>
-              </span>
-              <span style=" font-size:14px; margin-right: 15px;cursor: pointer;"
-                    @click="currencyZhb"
-                    class="bg">
-                <i class="iconfont iconzhuanhuanbiy" />
-                <span>{{ $t('cw.inOperation.convertCurrency') }}</span>
-              </span>
-              <span style=" font-size:20px; margin-right: 15px;cursor:pointer;">
-                <i class="iconfont icongonghuoshangy"
-                   @click="addQuotes" />
-              </span>
-              <span v-if="quotesLists.length>3"
-                    style="text-align: center">
-                <i class="el-icon-arrow-left"
-                   style="line-height:40px; font-size:20px; margin-right: 30px;"
-                   @click="allLeft" />
-                <i class="el-icon-arrow-right"
-                   style="line-height:40px; font-size:20px;"
-                   @click="allRight" />
-              </span>
-            </div>
-          </div>
-        </template>
-        <div class="selector"
-             style="width:100%">
-          <div>
-            <div class="container-parity selector">
-              <div class="box-card base-card card-float"
-                   style="font-size: 12px;">
-                <!-- 绑定比价单基本信息-->
-                <!--船舶名称-->
-                <div class="base-info-card">
-                  <span class="base-info-label">{{
-                          $t('cg.parity.vesselName') + $t('common.colon')
-                        }}</span>
-                  <span>{{ parityInfo.vesselName }}</span>
-                </div>
-                <!--组织本币-->
-                <div class="base-info-card">
-                  <span class="base-info-label">{{
-                          $t('cw.inOperation.currencyOrganizing') +
-                            $t('common.colon')
-                        }}</span>
-                  <span>{{ parityInfo.currencyOrganizing }}</span>
-                </div>
-                <!--比价结果-->
-                <div class="base-info-card">
-                  <span class="base-info-label">{{ $t('cg.parity.parity') + $t('common.colon') }}</span>
-                  <ws-input v-if="buttonIsShow.isSubmit"
-                            v-model="parityInfo.remark"
-                            style="width: calc(100% - 61px);float: right;"
-                            type="textarea"
-                            :rows="3"
-                            maxlength="250" />
-                  <div :title="parityInfo.remark"
-                       style="font-size: 12px;margin-bottom: 10px;line-height: 18px;height: 53px;display: -webkit-box;
-                            -webkit-box-orient: vertical;-webkit-line-clamp: 3;overflow: hidden;"
-                       v-else>
-                    {{ parityInfo.remark }}
-                  </div>
-                </div>
-              </div>
-              <!-- 比价备件单明细信息列标题-->
-              <div v-for="(item, index) in quotesLists"
-                   v-if="index < 3"
-                   :key="index"
-                   class="box-card base-card box-card-right card-float selector">
-                <span v-if="!item.isEmpty">
-                  <div v-if="index < 2 && !(quotesLists[index+1] && quotesLists[index+1].isEmpty)"
-                       v-show="index < quotesLists.length - 1"
-                       class="box-zuoyou"
-                       @click="allLeftRightItem(index)">
-                    <img src="../../../assets/assets/zuoyou.png"
-                         alt />
-                  </div>
-                  <!-- 绑定报价单基本信息-->
-                  <div class="box-card-title purchase">
-                    <div class="vendor"
-                         @click="onVendor(index)">{{ item.vendorName }}</div>
-                    <div style="width: 28px;">
-                      <el-tooltip v-if="item.remark2"
-                                  class="item"
-                                  effect="dark"
-                                  :content="item.remark2"
-                                  placement="top-start">
-                        <i class="iconfont iconmsg12y"
-                           style="padding:0px;" />
-                      </el-tooltip>
-                      <span @click="onPurchase(index)">
-                        <i class="iconfont icongouwuchey vendor" />
-                      </span>
-                      <span>{{ item.selectAmount }}</span>
-                    </div>
-                  </div>
-                  <div class="box-card-conter">
-                    <span>{{ $t('cg.parity.purchaseMoney') }}{{$t('common.colon')}}</span>
-                    <span v-if="item.buttonStatus == 4">{{'--'}}</span>
-                    <span v-if="item.buttonStatus !== 4 && item.gyRecommend == '1'">
-                      <span v-if="!currencyZhbFlag">
-                        {{ item.localAfterDiscount? ((item.localAfterDiscount? item.localAfterDiscount: 0)*1).toFixed(2): 0.0 }}
-                        {{ parityInfo.currencyOrganizin }}
-                      </span>
-                      <span v-else>
-                        {{ item.afterDiscountLower? ((item.afterDiscountLower? item.afterDiscountLower: 0)*1).toFixed(2): 0.0 }}
-                        {{ item.currencyName }}
-                      </span>
-                    </span>
-                    <span v-if="item.buttonStatus !== 4 && (item.gyRecommend == '0' || !item.gyRecommend)">
-                      <span v-if="!currencyZhbFlag">
-                        {{item.selectMongy? (((item.selectMongy ? (item.selectMongy + item.transFee*1) : '0.00') /(item.currencyRates? item.currencyRates: 1))*1).toFixed(2): '0.00'}}
-                        {{ parityInfo.currencyOrganizing }}
-                      </span>
-                      <span v-else>
-                        {{item.selectMongy? ((item.selectMongy ? (item.selectMongy + item.transFee*1) : '0.00')*1).toFixed(2): '0.00'}}
-                        {{ item.currencyName }}
-                      </span>
-                    </span>
-                  </div>
-                  <div style="height: 32px;margin-top: 20px;">
-                    <div class="select-button"
-                         style="text-align: center;">
-                      <ws-button :disabled="!buttonIsShow.isSubmit"
-                                 v-if="item.buttonStatus == 0"
-                                 :type="(item.selectOfDel == '选择全部' || item.selectOfDel == 'Choose all')? 'primary': 'warning'"
-                                 @click="selectAllPrice(index)">
-                        {{ (item.selectOfDel == '选择全部' || item.selectOfDel == 'Choose all')?$t('cg.parity.selectAll'):$t('cg.parity.noSelectAll') }}</ws-button>
-                    </div>
-                    <ws-button v-if="item.buttonStatus == 1"
-                               type="warning"
-                               class="select-button">{{ $t('cg.parity.selectPending') }}
-                    </ws-button>
-                    <ws-button v-if="item.buttonStatus == 2"
-                               type="info"
-                               class="select-button">{{ $t('cg.parity.selectLose') }}
-                    </ws-button>
-                    <ws-button v-if="item.buttonStatus == 3"
-                               type="warning"
-                               class="select-button">{{ $t('cg.parity.selection') }}
-                    </ws-button>
-                    <ws-button v-if="item.buttonStatus == 4"
-                               type="info"
-                               class="select-button">{{ $t('cg.parity.notQuoted') }}
-                    </ws-button>
-                  </div>
-                  <div v-if="quotesLists.length>3"
-                       class="box-card-close">
-                    <i class="el-icon-close"
-                       @click="removeQuotes(index)" />
-                  </div>
-                </span>
-                <div v-else
-                     style="height: 100%;display: flex;align-items: center;justify-content: center;">
-                  <img v-if="getLanguage == 'en'"
-                       src="@/assets/noVendorEn.png">
-                  <img v-else
-                       src="@/assets/noVendor.png">
-                </div>
-              </div>
-            </div>
-            <div class="scroll-body">
-              <BaseCollapse v-model="activeNames">
-                <BaseCollapseItem :title="$t('cg.parity.quotationBasicInfo')"
-                                  name="base">
-                  <div style="border: 1px solid #ccc;border-right: 0px;border-bottom: 0px;display: flex;">
-                    <div class="parity-column label-column">
-                      <div v-for="(item,index) of parityLableList"
-                           :key="index">{{item}}</div>
-                    </div>
-                    <div class="parity-column label-column"
-                         v-for="(item, index) in quotesLists"
-                         v-if="index < 3"
-                         :key="index">
-                      <!--报价总金额-->
-                      <div v-if="!item.isEmpty && item.buttonStatus !== 4">
-                        <span v-if="!currencyZhbFlag">
-                          {{ item.localTotalAmount? parseFloat(item.localTotalAmount? item.localTotalAmount: 0).toFixed(2): 0.0 }}
-                          {{ parityInfo.currencyOrganizing }}
-                        </span>
-                        <span v-else>{{ item.totalAmountLower? parseFloat(item.totalAmountLower? item.totalAmountLower: 0).toFixed(2): 0.0 }}
-                          {{ item.currencyName }}</span>
-                      </div>
-                      <div v-else>{{'--'}}</div>
-                      <!--运费及其他费用-->
-                      <div v-if="!item.isEmpty && item.buttonStatus !== 4"
-                           style="position: relative">
-                        <span v-if="!currencyZhbFlag">
-                          {{ item.localTransFee? parseFloat(item.localTransFee? item.localTransFee: 0).toFixed(2): 0.0 }}
-                          {{ parityInfo.currencyOrganizing }}
-                        </span>
-                        <span v-else>
-                          {{ item.transFee? parseFloat(item.transFee? item.transFee: 0).toFixed(2): 0.0 }}
-                          {{ item.currencyName }}
-                        </span>
-                        <span style="position: absolute;left: calc(100% - 80px);">
-                          <ws-checkbox disabled
-                                       v-model="item.discountFlag" /><span class="ml5">{{$t('cg.applydetails.participationDiscount')}}</span>
-                        </span>
-                      </div>
-                      <div v-else>{{'--'}}</div>
-                      <!--折扣-->
-                      <div>{{ $ph(item.discount) }}</div>
-                      <!--折后总金额-->
-                      <div v-if="!item.isEmpty && item.buttonStatus !== 4">
-                        <span v-if="!currencyZhbFlag">
-                          {{ item.localAfterDiscount? ((item.localAfterDiscount? item.localAfterDiscount: 0)*1).toFixed(2): 0.0 }}
-                          {{ parityInfo.currencyOrganizing }}
-                        </span>
-                        <span v-else>
-                          {{ item.afterDiscountLower? ((item.afterDiscountLower? item.afterDiscountLower: 0)*1).toFixed(2): 0.0 }}
-                          {{ item.currencyName }}
-                        </span>
-                      </div>
-                      <div v-else>{{'--'}}</div>
-                      <!--备货期-->
-                      <div>{{ item.buttonStatus !== 4?$ph(item.deliveryTerm):'--' }}</div>
-                      <!--供货地点-->
-                      <div>{{ item.buttonStatus !== 4?$ph(item.deliveryPlace):'--' }}</div>
-                      <!--交货方式-->
-                      <div>{{ item.buttonStatus !== 4?$ph(item.deliveryType):'--' }}</div>
-                      <!--付款方式-->
-                      <div>{{ item.buttonStatus !== 4?$ph(item.settlementFlagName):'--' }}</div>
-                      <!--报价有效期-->
-                      <div>{{ item.buttonStatus !== 4?$ph(item.quotesValid):'--' }}</div>
-                      <!--发票类型-->
-                      <div>{{ item.buttonStatus !== 4?$ph(item.invoice):'--' }}</div>
-                      <!--税率-->
-                      <div>{{ item.buttonStatus !== 4?$ph(item.taxRate):'--' }}</div>
-                      <!--组织本币汇率-->
-                      <div>{{ item.buttonStatus !== 4?$ph(item.currencyRates):'--' }}</div>
-                    </div>
-                  </div>
-                </BaseCollapseItem>
-                <BaseCollapseItem :title="$t('cg.parity.quotationDetailInfo')"
-                                  name="detail">
-                  <div class="list-conter">
-                    <div class="div-collapse">
-                      <el-collapse v-model="activeName">
-                        <!--  比价单设备明细信息绑定-->
-                        <el-collapse-item v-for="(devItem, devIndex) in parityInfo.deviceList"
-                                          :key="devIndex"
-                                          :name="devIndex">
-                          <template slot="title">
-                            <ws-row :gutter="24"
-                                    style="width:100%; margin-bottom: 0;">
-                              <ws-col :span="8">
-                                <div class="bg-purple-dark">
-                                  <span style="font-size: 13px;color: #4a89f1;"
-                                        :title="devItem.deviceName">
-                                    {{ routeName == 'parityDetail'?$t('cg.cgsparedetail.devicename'):$t('cg.cgsmadetail.maTypeName') }}{{$t('common.colon')}}
-                                    {{ devItem.deviceName }}
-                                  </span>
-                                </div>
-                              </ws-col>
-                              <ws-col v-if="routeName == 'parityDetail'"
-                                      :span="5">
-                                <div class="bg-purple-dark">
-                                  <span style="font-size: 13px;color: #4a89f1;"
-                                        :title="devItem.deviceModel">
-                                    {{ $t('cg.cgsparedetail.devicemodel') }}{{$t('common.colon')}}
-                                    {{ devItem.deviceModel }}
-                                  </span>
-                                </div>
-                              </ws-col>
-                              <ws-col v-if="routeName == 'parityDetail'"
-                                      :span="5">
-                                <div class="bg-purple-dark">
-                                  <span style="font-size: 13px;color: #4a89f1;"
-                                        :title="devItem.leaveFacCode">
-                                    {{ $t('cg.cgsparedetail.leavefaccode') }}{{$t('common.colon')}}
-                                    {{ devItem.leaveFacCode }}
-                                  </span>
-                                </div>
-                              </ws-col>
-                              <ws-col v-if="routeName == 'parityDetail'"
-                                      :span="5">
-                                <div class="bg-purple-dark">
-                                  <span style="font-size: 13px;color: #4a89f1;"
-                                        :title="devItem.manufacturer">
-                                    {{ $t('cg.cgsparedetail.manufacturer') }}{{$t('common.colon')}}
-                                    {{ devItem.manufacturer }}
-                                  </span>
-                                </div>
-                              </ws-col>
-                            </ws-row>
-                          </template>
-                          <!--  比价单设备下--备件明细信息绑定-->
-                          <div v-for="(ci, spIndex) in devItem.partList"
-                               v-show="ci.isFilter"
-                               :key="spIndex"
-                               class="box-conter selector"
-                               :class="
-                                isParentEdit
-                                  ? 'purspappl-details'
-                                  : 'purspappl-details hide-sel'
-                              ">
-                            <ws-row :class="ci.againFlag == '0' ? '' : ' hide-row'"
-                                    style="border-left: 1px solid #ccc; display: flex;height: 100%;font-size: 12px;">
-                              <div class="box-card detail-card"
-                                   style="height: auto;border-top: 0;border-bottom: 1px solid #ccc;">
-                                <div style="width:25px; line-height: 30px;text-align: center; border:0;height: 30px;"
-                                     class="box-conter-left">
-                                  <ws-checkbox v-if="
-                                  ci.againFlag == '0' &&
-                                    isParentEdit &&
-                                    buttonIsShow.isCancelsplitbills
-                                "
-                                               v-model="ci.checked" />
-                                </div>
-                                <div style="width:50%; height: 100%;"
-                                     class="box-conter-left box-conter-start">
-                                  <div style="width: 100%">
-                                    <!--名称-->
-                                    <div class="box-conter-info">
-                                      <div>
-                                        {{ $t('cg.supplierName') }}{{$t('common.colon')}}
-                                      </div>
-                                      <div :title="getLanguage == 'en'?(ci.spNameEn && ci.spNameEn.length>0?ci.spNameEn:ci.spName):ci.spName"
-                                           class="overEl"
-                                           style="width: calc( 100% - 65px );">
-                                        {{getLanguage == 'en'?(ci.spNameEn && ci.spNameEn.length>0?ci.spNameEn:ci.spName):ci.spName}}
-                                      </div>
-                                    </div>
-                                    <!--单位-->
-                                    <div class="box-conter-info">
-                                      <div>
-                                        {{ $t('cg.parity.measurementUnit') }}{{$t('common.colon')}}
-                                      </div>
-                                      <div :title="getLanguage == 'en'? ci.measurementUnitEn: ci.measurementUnit"
-                                           class="overEl"
-                                           style="width: calc( 100% - 50px );">
-                                        {{getLanguage == 'en'? ci.measurementUnitEn: ci.measurementUnit}}
-                                      </div>
-                                    </div>
-                                    <!--备件号 -->
-                                    <div class="box-conter-info">
-                                      <div>
-                                        {{ routeName == 'parityDetail'?$t('cg.cgsparedetail.spCode'):(routeName == 'parityDetailMa'?$t('cg.cgsmadetail.materialCode'):$t('cg.cgchartdetail.mcNumber')) }}{{$t('common.colon')}}
-                                      </div>
-                                      <div :title="ci.spCode"
-                                           class="overEl"
-                                           style="width: calc( 100% - 62px );">
-                                        {{ ci.spCode }}
-                                      </div>
-                                    </div>
-                                    <!--图纸编号-->
-                                    <!-- <div class="box-conter-info">
-                                        <div>
-                                          {{ $t('cg.parity.specification') }}{{$t('common.colon')}}
-                                        </div>
-                                        <div :title="ci.drawNumber"
-                                             class="overEl"
-                                             style="width: calc( 100% - 75px );">
-                                          {{ ci.drawNumber }}
-                                        </div>
-                                      </div>-->
-                                    <!--规格型号-->
-                                    <div class="box-conter-info">
-                                      <div>
-                                        {{ routeName !== 'parityDetailMap'?$t('cg.parity.specification1'):$t('cg.cgchartdetail.mapDescription') }}{{$t('common.colon')}}
-                                      </div>
-                                      <div :title="ci.specification"
-                                           class="overEl"
-                                           style="width: calc( 100% - 75px );">
-                                        {{ ci.specification }}
-                                      </div>
-                                    </div>
-                                  </div>
-                                  <div class="box-conter-history-icon">
-                                    <i class="iconfont iconlishishujutongji"
-                                       style="color:#87B3F6;cursor: pointer;"
-                                       @click="findHisList(devIndex, spIndex)" />
-                                    <el-tooltip class="item"
-                                                effect="light"
-                                                placement="bottom-start">
-                                      <div slot="content"
-                                           class="text-wrapper">
-                                        {{
-                                          $t('cg.parity.cause') +
-                                          $t('common.colon')
-                                          }}{{ ci.remark }}
-                                      </div>
-                                      <span>
-                                        <i class="iconfont iconB-liuyan1"
-                                           style="color:#87B3F6"
-                                           v-show=" ci.againFlag==1"></i>
-                                      </span>
-                                    </el-tooltip>
-                                  </div>
-                                </div>
-                                <div class="box-conter-left enquiry-column">
-                                  <div>
-                                    <div v-if="routeName !== 'parityDetailMap'">
-                                      <span>{{$t('cg.parity.enquiryBrand') + $t('common.colon')}}</span>
-                                      <span>{{ getLanguage == 'en'? ci.enquiryBrandNameEn: ci.enquiryBrandName}}</span>
-                                    </div>
-                                    <div v-if="routeName == 'parityDetailMap'">
-                                      <span>{{$t('cg.cgchartdetail.applVersion') + $t('common.colon')}}</span>
-                                      <span>{{ ci.applVersion}}</span>
-                                    </div>
-                                    <div>
-                                      <span>{{$t('cg.parity.quantity') + $t('common.colon')}}</span>
-                                      <span>
-                                        <ws-input-number :min="0"
-                                                         :clearable="false"
-                                                         v-if="!buttonIsShow.isApprove && buttonIsShow.isSubmit && numPermission"
-                                                         v-model="ci.verifyQuantity"
-                                                         size="mini"
-                                                         style="width: 50%;"
-                                                         :readonly="isParentEdit && ci.againFlag == '0'? false: true"
-                                                         @change="updateamount(ci)"
-                                                         :placeholder="isParentEdit ? $t('common.input') : ''" />
-                                        <span v-else>{{ ci.verifyQuantity }}</span>
-                                      </span>
-                                    </div>
-                                  </div>
-                                </div>
-                              </div>
-                              <!--  比价单设备下--备件--对应的多个报价单;比价单明细,报价单明细 必须以询价单明细ID排序-->
-                              <div class="box-card detail-card vendor-card"
-                                   :class="getLanguage == 'en'?'vendor-card-en':''"
-                                   style="border-top: 0px;"
-                                   v-for="(quotesItem, quotesIndex) in quotesLists"
-                                   v-if="quotesIndex < 3"
-                                   :key="quotesIndex">
-                                <span v-if="!quotesItem.isEmpty && quotesItem.deleteFlag == 0">
-                                  <div v-for="(i, indexs) in quotesItem.deviceList[devIndex].partList"
-                                       v-if="ci.enquiryDetailId == i.enquiryDetailId"
-                                       v-show="i.isFilter"
-                                       class="card-border"
-                                       :key="indexs">
-                                    <div v-if="quotesItem.status == 13"
-                                         class="quoteClass">
-                                      <img src="@/assets/noQuotation.png" />
-                                    </div>
-                                    <div v-else
-                                         class="box-card-right box-div">
-                                      <!--报价-->
-                                      <div>{{$t('cg.cgchartdetail.bargainPrice')}}</div>
-                                      <div v-if="quotesItem.buttonStatus !== 4"
-                                           :class="i.minPriceFlag == 'yes'?'min-color':''"
-                                           class="price">
-                                        <span v-if="!currencyZhbFlag">
-                                          {{i.selectType ? parseFloat(i.localUnitPrice ? i.localUnitPrice : 0).toFixed(2) : 0.0 }}
-                                          {{ parityInfo.currencyOrganizing }}
-                                        </span>
-                                        <span v-else>
-                                          {{ i.selectType? parseFloat(i.unitPrice ? i.unitPrice : 0).toFixed(2): 0.0 }}
-                                          {{ quotesItem.currencyName }}
-                                        </span>
-                                      </div>
-                                      <div v-else>{{'--'}}</div>
-                                      <div class="box-item">
-                                        <!--小计-->
-                                        <div v-if="quotesItem.buttonStatus !== 4"
-                                             class="total-item">
-                                          <span>{{$t('cg.cgsparedetail.afterTaxSubtotal') + $t('common.colon')}}</span>
-                                          <div v-if="!currencyZhbFlag"
-                                               :title="((ci.verifyQuantity || 0) * (i.selectType == null ? 0: parseFloat(i.localUnitPrice == null? 0: i.localUnitPrice))).toFixed(2) + parityInfo.currencyOrganizing">
-                                            {{((ci.verifyQuantity || 0) * (i.selectType == null ? 0: parseFloat(i.localUnitPrice == null? 0: i.localUnitPrice))).toFixed(2)}}
-                                            {{ parityInfo.currencyOrganizing }}
-                                          </div>
-                                          <div v-else
-                                               :title="((ci.verifyQuantity || 0) * (i.selectType == null ? 0: parseFloat(i.unitPrice == null? 0: i.unitPrice))).toFixed(2) + quotesItem.currencyName">
-                                            {{((ci.verifyQuantity || 0) * (i.selectType == null ? 0: parseFloat(i.unitPrice == null? 0: i.unitPrice))).toFixed(2)}}
-                                            {{ quotesItem.currencyName }}
-                                          </div>
-                                        </div>
-                                        <div v-else>
-                                          <span>{{$t('cg.cgsparedetail.afterTaxSubtotal') + $t('common.colon') + '--'}}</span>
-                                        </div>
-                                        <!--报价品牌-->
-                                        <div v-if="routeName !== 'parityDetailMap'"
-                                             class="brand-item">
-                                          <span>{{$t('rt.brand') + $t('common.colon')}}</span>
-                                          <div v-if="quotesItem.buttonStatus !== 4"
-                                               :title="getLanguage == 'en' ? i.enquiryBrandNameEn : i.enquiryBrandName">{{ getLanguage == 'en' ? i.enquiryBrandNameEn : i.enquiryBrandName}}</div>
-                                          <div v-else>{{ '--' }}</div>
-                                        </div>
-                                        <!--税率-->
-                                        <div v-if="routeName !== 'parityDetailMap'"
-                                             class="rate-item">
-                                          <span>{{$t('cg.cgsparedetail.taxRate1') + $t('common.colon')}}</span>
-                                          <div v-if="quotesItem.buttonStatus !== 4"
-                                               :title="i.taxRate">{{$ph(i.taxRate)}}</div>
-                                          <div v-else>{{ '--' }}</div>
-                                        </div>
-                                        <el-tooltip effect="dark"
-                                                    :content="i.remark"
-                                                    placement="top-start"
-                                                    v-if="i.remark && i.remark.trim().length>0">
-                                          <i class="iconfont iconxx"
-                                             style="color: #1d6ced;position: absolute;right: 10px;bottom: 10px;" />
-                                        </el-tooltip>
-                                      </div>
-                                      <!--单选框-->
-                                      <div class="triangle"
-                                           :v-show="i.status == 14">
-                                        <div class="triangle-div"></div>
-                                        <ws-checkbox v-if=" ci.againFlag == '0' && i.selectType"
-                                                     v-model="i.checked"
-                                                     :disabled="!buttonIsShow.isSubmit"
-                                                     @change="changeChoose(quotesIndex,devIndex,spIndex,indexs,i.enquiryDetailId,ci)" />
-                                      </div>
-                                    </div>
-                                    <!--备注-->
-                                    <!--  <div class="messageRemark">
-                                            <span>{{
-                                            $t('common.remark') +
-                                              $t('common.colon')
-                                          }}{{ i.remark }}</span>
-                                          </div>-->
-                                    <div />
-                                  </div>
-                                </span>
-
-                              </div>
-                            </ws-row>
-                          </div>
-                        </el-collapse-item>
-                      </el-collapse>
-                    </div>
-                  </div>
-                </BaseCollapseItem>
-              </BaseCollapse>
-              <!-- 附件 -->
-              <base-card :title="$t('upload.basicInfo')"
-                         :isIcon="false"
-                         v-if="buttonIsShow.isSubmit || (!buttonIsShow.isSubmit && parityInfo.appendixId)">
-                <ws-upload ref="upload"
-                           table-name="sparepart_appl_info"
-                           oss-key="sparePartRes.newlyEdit"
-                           :comp-id="compId"
-                           :appendix-ids="parityInfo.appendixId" />
-              </base-card>
-            </div>
-          </div>
-        </div>
-        <!-- 弹出页面-新增修改 -->
-        <div v-show="fromVisible"
-             class="fromVisible">
-          <div class="fromVisibleList">
-            <ws-row v-for="(item, index) in allQuotesLists"
-                    :key="index">
-              <ws-col :span="4">
-                <ws-checkbox v-model="item.checked"
-                             @change="refreshList()" />
-              </ws-col>
-              <ws-col :span="16">
-                <span style="font-size:13px;">{{ item.vendorName }}</span>
-              </ws-col>
-              <ws-col :span="4">
-                <span>{{ item.selectAmount }}</span>
-              </ws-col>
-            </ws-row>
-          </div>
-          <div slot="footer"
-               style="text-align: center;">
-            <ws-button @click="fromVisible = false">{{
-                  $t('message.cancel')
-                }}</ws-button>
-            <ws-button type="primary"
-                       @click="addQuotesLists">{{
-                  $t('message.confirm')
-                }}</ws-button>
-          </div>
-        </div>
-        <!-- 弹出页面-新增修改 -->
-      </base-card>
-      <!-- 审核流程 -->
-      <audit-history ref="auditHistory"></audit-history>
-      <!-- 审核流程 -->
-    </template>
-    <!-- 采购历史 -->
-    <purHistory ref="purHistory"
-                :show-type="routeName" />
-    <!-- 弹出页面-审核通过 退回 废弃 -->
-    <approve-dialog ref="approveDialog"
-                    @approveConfirm="approveConfirm"
-                    @returnConfirm="returnConfirm"
-                    @scrapConfirm="scrapConfirm"></approve-dialog>
-    <!-- 弹出页面-审核通过 退回 废弃 -->
-    <!-- 弹出页面-再次做成询价单 -->
-    <WinseaContentModal v-model='dialogAgainToEnquiryFormVisible'
-                        :title="$t('cg.applydetails.againToEnquiry')">
-      <ws-form ref="noApproveForm"
-               :model="taskHanlder"
-               :rules="againToEnquiryRules"
-               label-width="120px"
-               class="demo-Forms"
-               :show-message="false">
-        <ws-form-item :label="$t('cg.applydetails.againToEnquiry')"
-                      prop="reMark">
-          <ws-input v-model="parityInfo.reMark"
-                    type="textarea"
-                    :rows="2"
-                    :placeholder="$t('common.input')"
-                    maxlength="500" />
-        </ws-form-item>
-      </ws-form>
-      <template slot="footer">
-        <ws-button @click="dialogAgainToEnquiryFormVisible = false">{{
-          $t('message.cancel')
-        }}</ws-button>
-        <ws-button type="primary"
-                   @click="againToEnquiry(1)">{{
-          $t('message.confirm')
-        }}</ws-button>
-      </template>
-    </WinseaContentModal>
-    <!-- 弹出页面-再次做成询价单 -->
-    <WinseaContentModal v-model='dialogTableVisible'
-                        :title="$t('cg.parity.spinfo')">
-      <ws-normal-table :data="purchaseData">
-        <ws-table-column property="spName"
-                         :label="$t('cg.supplierName')"
-                         min-width="200" />
-        <ws-table-column :property="getLanguage == 'en'? 'measurementUnitEn': 'measurementUnit'"
-                         :label="$t('cg.parity.measurementUnit')"
-                         min-width="200" />
-        <ws-table-column property="spCode"
-                         :label="routeName == 'parityDetail'?$t('cg.cgsparedetail.spCode'):(routeName == 'parityDetailMa'?$t('cg.cgsmadetail.materialCode'):$t('cg.cgchartdetail.mcNumber'))"
-                         min-width="100" />
-        <ws-table-column property="specification"
-                         :label="routeName !== 'parityDetailMap'?$t('cg.parity.specification1'):$t('cg.cgchartdetail.mapDescription')"
-                         min-width="100" />
-      </ws-normal-table>
-    </WinseaContentModal>
-  </BaseDetailLayout>
-</template>
-<script src="../../../viewsjs/procurement/procurementSpare/parityDetail.js"></script>
-
-<style lang="scss" scoped>
-.parity-column {
-  width: 25%;
-  text-align: center;
-  box-sizing: border-box;
-  margin-right: -1px;
-  div {
-    height: 40px;
-    line-height: 40px;
-    border-bottom: 1px solid #ccc;
-    border-right: 1px solid #ccc;
-  }
-}
-.label-column {
-  margin-right: 0px;
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-.box-btitle {
-  display: flex;
-  flex-direction: row;
-  justify-content: space-between;
-  margin-top: -10px;
-  line-height: 34px;
-}
-.collapse-container {
-  .el-collapse {
-    border-top: 0 !important;
-    border-bottom: 0 !important;
-  }
-  ::v-deep .el-collapse-item__header {
-    height: 44px;
-    line-height: 44px;
-  }
-  /deep/ .el-collapse-item__wrap {
-    border-bottom: none !important;
-  }
-
-  .div-collapse {
-    ::v-deep .el-collapse-item__header {
-      background-color: #e2edfa;
-      padding: 0 10px;
-      height: 40px;
-      line-height: 40px;
-    }
-  }
-}
-.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-/deep/ .winsea-card {
-  .card__body {
-    width: calc(100% + 3px);
-  }
-}
-/deep/ .collapse-container {
-  overflow-y: hidden !important;
-  .crt-main {
-    background-color: #fff;
-    .hide {
-      /deep/ .el-form-item__label {
-        color: #f6f6f6;
-        height: 40px;
-      }
-    }
-    .el-input__inner {
-      padding: 0 5px;
-    }
-    .textarea {
-      // border-bottom: 1px solid #cccccc;
-      .el-form-item {
-        height: 81px;
-      }
-      /deep/ .el-form-item__label {
-        height: 80px;
-        line-height: 80px;
-      }
-      /deep/ .el-textarea__inner {
-        width: 98%;
-        padding: 4px 5px;
-      }
-    }
-    .resDepart {
-      height: 82px;
-      border-bottom: 1px solid #cccccc;
-      border-right: none;
-      .el-row:nth-child(2) .el-form-item__label {
-        color: #f6f6f6;
-      }
-    }
-    .issuingDate {
-      .el-date-editor.el-input,
-      .el-date-editor.el-input__inner {
-        width: 100%;
-      }
-    }
-    .maturityDate {
-      .el-date-editor.el-input,
-      .el-date-editor.el-input__inner {
-        width: calc(100% - 135px);
-      }
-    }
-    .maturityDate .el-checkbox {
-      height: 40px;
-      line-height: 40px;
-      width: 80px;
-      margin-right: 8px;
-    }
-    .warnInAdvance {
-      .el-input {
-        width: calc(100% - 50px);
-      }
-      span {
-        height: 40px;
-        line-height: 40px;
-        width: 20px;
-        margin-right: 0px;
-        display: inline-block;
-        padding-left: 5px;
-      }
-    }
-    /deep/.demo-Forms .el-form-item__error {
-      display: none;
-    }
-  }
-}
-.quoteClass {
-  position: relative;
-  width: 100%;
-  height: 174px;
-  img {
-    position: absolute;
-    left: 50%;
-    top: 50%;
-    margin-left: -30px;
-    margin-top: -24px;
-  }
-}
-.el-row {
-  margin-bottom: 20px;
-  &:last-child {
-    margin-bottom: 1px;
-  }
-}
-.el-col {
-  border-radius: 4px;
-}
-.row-bg {
-  padding: 10px 0;
-  background-color: #f9fafc !important;
-}
-.container-parity {
-  width: 100%;
-  height: 175px;
-}
-.scroll-body {
-  border-top: 1px solid #ccc;
-  height: calc(100vh - 360px);
-  overflow: scroll;
-  width: calc(100% - 3px);
-}
-.text {
-  font-size: 14px;
-}
-
-.item {
-  padding: 18px 0;
-}
-.box-conter-start {
-  position: relative;
-  display: flex;
-  align-items: center;
-  .purspappl-details {
-    line-height: 25px !important;
-  }
-}
-.box-conter-history-icon {
-  position: absolute;
-  top: 5px;
-  right: 5px;
-}
-.box-conter-info {
-  line-height: 25px;
-  height: 25px;
-  display: flex;
-}
-.base-card {
-  padding: 20px;
-}
-.box-card {
-  width: 25%;
-  border: 1px solid #ccc;
-  border-bottom: 0;
-  margin-right: -1px;
-  box-sizing: border-box;
-  height: 100%;
-  .base-info-card {
-    .base-info-label {
-      line-height: 30px;
-      font-size: 12px;
-      color: #333;
-    }
-  }
-}
-.detail-card {
-  margin-right: 0px;
-  border-left: 0px;
-}
-.vendor-card {
-  height: auto;
-  background: url('~@/assets/parityBg.png');
-  background-size: 100% 130px;
-  background-repeat: repeat-y;
-}
-.vendor-card-en {
-  height: auto;
-  background: url('~@/assets/parityBgEn.png');
-  background-size: 100% 130px;
-  background-repeat: repeat-y;
-}
-.box-card-conter-top {
-  height: 145px;
-  padding: 20px 20px 0;
-  padding-bottom: 0;
-  .el-textarea__inner {
-    width: 100%;
-  }
-  .el-form-item {
-    margin-bottom: 0;
-  }
-}
-.box-card-right {
-  position: relative;
-}
-.card-border {
-  border-bottom: 1px solid #ccc;
-  height: 130px;
-  border-top: 0;
-  &:last-child {
-    border-bottom: 0px;
-  }
-}
-.box-card-close {
-  position: absolute;
-  top: 5px;
-  right: 10px;
-}
-.box-card-title {
-  font-size: 14px;
-  color: #333;
-  line-height: 16px;
-  margin-bottom: 20px;
-  font-weight: bold;
-  width: 90%;
-  .vendor {
-    color: #1d6ced;
-    cursor: pointer;
-  }
-}
-
-.card-float {
-  float: left;
-}
-.purchase {
-  display: flex;
-  flex-flow: row nowrap;
-  justify-content: space-between;
-  font-size: 14px;
-  line-height: 25px;
-}
-
-.box-card-conter {
-  font-size: 13px;
-  font-weight: 700;
-}
-
-.select-button {
-  display: block;
-  margin: 5px auto;
-}
-.selector:after {
-  content: '.';
-  clear: both;
-  display: block;
-  height: 0;
-  overflow: hidden;
-  visibility: hidden;
-}
-.list-conter {
-  width: 100%;
-  height: auto;
-}
-.box-conter-left {
-  float: left;
-  border-right: 1px solid #ccc;
-  // border-left:1px solid #ccc;
-  margin-right: -1px;
-  margin-left: -1px;
-}
-.enquiry-column {
-  width: calc(50% - 20px);
-  border-right: 0px;
-  height: 100%;
-  display: flex;
-  align-items: center;
-  padding-left: 10px;
-}
-.box-conter-left .el-input__inner {
-  padding: 0 5px;
-  text-align: center;
-}
-.box-div {
-  background: #ffffff;
-  height: 129px;
-  padding: 20px 10px;
-  .box-item {
-    display: flex;
-    color: #666666;
-    justify-content: space-between;
-    .total-item {
-      width: 47%;
-      display: flex;
-      div {
-        width: calc(100% - 36px);
-        white-space: nowrap;
-        overflow: hidden;
-        text-overflow: ellipsis;
-      }
-    }
-    .brand-item {
-      width: 30%;
-      padding: 0 2px;
-      display: flex;
-      div {
-        width: calc(100% - 38px);
-        white-space: nowrap;
-        overflow: hidden;
-        text-overflow: ellipsis;
-      }
-    }
-    .rate-item {
-      width: 23%;
-      display: flex;
-      div {
-        width: calc(100% - 36px);
-        white-space: nowrap;
-        overflow: hidden;
-        text-overflow: ellipsis;
-      }
-    }
-  }
-  .price {
-    font-size: 18px;
-  }
-  .min-color {
-    color: #02c273;
-  }
-}
-/deep/.el-collapse-item__content {
-  padding-bottom: 0;
-}
-.box-zuoyou {
-  width: 38px;
-  position: absolute;
-  right: -19px;
-  top: 102px;
-  border: 1px solid #ccc;
-  border-radius: 50%;
-  z-index: 1;
-  background: #fff;
-  height: 38px;
-}
-.box-zuoyou img {
-  width: 100%;
-  height: 100%;
-}
-.fromVisible {
-  width: 350px;
-  padding: 10px;
-  position: absolute;
-  top: 130px;
-  height: 274px;
-  right: 4%;
-  z-index: 100;
-  background-color: #fff;
-  border: 1px solid #ccc;
-}
-.fromVisibleList {
-  height: 190px;
-  overflow: auto;
-}
-
-.el-tooltip__popper[x-placement^='bottom'] {
-  margin-top: 0px;
-}
-.messageRemark {
-  position: absolute;
-  bottom: 0;
-  left: 0;
-  border-top: 1px solid #ccc;
-  background-color: #fff;
-  line-height: 30px;
-  height: 29px;
-  z-index: 9;
-  width: 100%;
-
-  span {
-    padding-left: 20px;
-  }
-}
-
-.triangle {
-  position: absolute;
-  top: 0;
-  right: 0;
-  width: 43px;
-  height: 43px;
-  .triangle-div {
-    width: 0;
-    height: 0;
-    border-left: 43px solid #fff;
-    /* border-right: 40px solid #f5f7fa; */
-    border-top: 43px solid #f5f7fa;
-    /* border-bottom: 0px solid #fff; */
-  }
-  .el-checkbox {
-    position: absolute;
-    top: 1px;
-    right: 4px;
-  }
-  .el-textarea__inner {
-    resize: none;
-  }
-}
-
-// 控制select为只读的时候显示样式
-.hide-row {
-  background-color: #f6f6f6;
-  .triangle {
-    display: none;
-  }
-  .box-conter-left {
-    .el-input__inner {
-      background-color: #f6f6f6;
-      border: 0;
-    }
-  }
-  .messageRemark {
-    background-color: #f6f6f6;
-  }
-}
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-}
-.el-textarea__inner {
-  resize: none;
-}
-.bg:hover {
-  color: #1d6ced;
-}
-// 控制select为只读的时候显示样式
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /*/deep/.auditFlow-box {*/
-  /*  position: unset;*/
-  /*  margin-left: 10px;*/
-  /*  & /deep/.auditFlow-icon {*/
-  /*    width: auto;*/
-  /*    padding-right: 30px;*/
-  /*  }*/
-  /*  & /deep/.auditFlow-main {*/
-  /*    position: absolute;*/
-  /*  }*/
-  /*}*/
-}
-</style>

+ 0 - 603
src/views/procurement/procurementSpare/purchasDetail.vue

@@ -1,603 +0,0 @@
-<!--备件-备件采购详情-->
-<!--2019年6月5日 15:37:39 by zw-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <OperationalHistory :bill-no="$t('cg.cgsparedetail.purchasno') + $t('common.colon') + purchasInfo.purchaseNo"
-                              :message="getLanguage == 'en'?purchasInfo.statusNameEn:purchasInfo.statusName"
-                              :set-id="purchaseId"
-                              set-type="purchas" />
-        </template>
-        <template slot="right">
-          <ws-button v-if="buttonIsShow.isSend"
-                     type="primary"
-                     @click="approve(5)">{{ $t('button.sendPurchas') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isApprove"
-                     type="primary"
-                     @click="toApprove">{{ $t('button.approve') }}
-          </ws-button>
-          <ws-button v-if="buttonIsShow.isNoApprove"
-                     @click="toReturn">{{ $t('button.noapprove') }}
-          </ws-button>
-          <!-- 'procurement.sparepart.purSpPurchasInfo.submitToWorkflow' -->
-          <ws-button v-if="buttonIsShow.isSubmitQuotationy && !buttonIsShow.isSend"
-                     type="primary"
-                     @click="approve(4)"
-                     v-hasPermission="[
-          `${$permission('PERMISSIONS.PURSPAPPLINFO_SUBMITTOPURCHAS')}`,
-          `${$permission('PERMISSIONS.PURSPPURCHASINFO_UPDATEPURCHASINFO')}`
-        ]">{{ $t('button.submit') }}</ws-button>
-          <!-- v-hasPermission="'procurement.sparepart.purchasDetail.save'" -->
-          <ws-button v-if="buttonIsShow.isSaveQuotation"
-                     @click="save('')"
-                     v-hasPermission="[
-          `${$permission('PERMISSIONS.PURSPAPPLINFO_SUBMITTOPURCHAS')}`,
-          `${$permission('PERMISSIONS.PURSPPURCHASINFO_UPDATEPURCHASINFO')}`
-        ]">{{ $t('button.save') }}</ws-button>
-          <!-- 'procurement.sparepart.purchasDetail.export' -->
-          <ws-button v-hasPermission="
-          `${$permission('PERMISSIONS.PURSPPURCHASINFO_VIEW')}`
-        "
-                     @click="operMore('dc')">{{ $t('button.export') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isDiscard"
-                     @click="operMore('fq')">{{ $t('button.discard') }}</ws-button>
-          <!-- 查看预算、查看备用金 -->
-          <!-- <viewSpareMoney ref="viewSpareMoney" :isShow="isHasFinance" @viewSpareMoneyGetDate="viewSpareMoneyGetDate" :vesselId="purchasInfo.vesselId" :budgetYear="purchasInfo.createDate"></viewSpareMoney> -->
-          <DocRelate-Button :set-show-type="docRelateShow"
-                            :set-form="setForm" />
-          <ws-button @click="back">{{ $t('button.back') }}</ws-button>
-          <!-- <ws-dropdown @command="operMore" v-if="buttonIsShow.isDiscard">
-        <ws-button>
-          {{ $t('button.moreoperations') }}
-          <i class="el-icon-arrow-down el-icon--right" />
-        </ws-button>
-        <ws-dropdown-menu slot="dropdown">
-          <ws-dropdown-item command="dc" v-hasPermission="'procurement.sparepart.purchasDetail.export'">{{ $t('button.export') }}</ws-dropdown-item>
-          <ws-dropdown-item v-show="buttonIsShow.isDiscard" command="fq">{{ $t('button.discard') }}</ws-dropdown-item>
-        </ws-dropdown-menu>
-      </ws-dropdown>-->
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 单据基础信息 -->
-      <base-card :title="$t('cg.applydetails.basicInfo')">
-        <ws-form ref="infoForm"
-                 :model="purchasInfo"
-                 :rules="purRules"
-                 :show-message="false"
-                 :class="
-                isParentEdit ? 'purspappl-details' : 'purspappl-details hide-sel'
-              "
-                 :hide-required-asterisk="!isParentEdit">
-          <ws-info-table>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vesselName')">
-              <div class="div-el-form-item">{{ purchasInfo.vesselName }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vendorName')"
-                          v-if="purchasInfo.purchaseTypeName !== '直接采购'"
-                          key="novendorid">
-              <div class="div-el-form-item">{{ purchasInfo.vendorName }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vendorName')"
-                          v-if="purchasInfo.purchaseTypeName === '直接采购'"
-                          prop="vendorId"
-                          key="vendorid">
-              <div class="div-el-form-item"
-                   style="width:100%">
-                <ws-select v-model="purchasInfo.vendorId"
-                           :disabled="isParentEdit ? false : true"
-                           :placeholder="isParentEdit ? $t('common.selected') : ''">
-                  <ws-option v-for="item in vendorNameList"
-                             :key="item.vendorId"
-                             :label="item.vendorName"
-                             :value="item.vendorId" />
-                </ws-select>
-              </div>
-            </ws-form-item>
-
-            <!-- <ws-form-item
-                    :span="1"
-                    :label="$t('cg.applydetails.applSubject')"
-                  >
-                    <el-cascader
-                      v-model="purchasInfo.subjectId"
-                      :options="applySubjectList"
-                      clearable
-                      :show-all-levels="false"
-                      style="width: 100%;"
-                      :placeholder="isParentEdit?$t('common.selected'):''"
-                      :disabled="isParentEdit?false:true"
-                    />
-                </ws-form-item>-->
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.supplyPlace')">
-              <ws-input v-model="purchasInfo.quotesDeliveryPlace"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="100" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.contractId')">
-              <ws-select v-if="(purchasInfo.contractId && purchasInfo.contractId.length>0) || isParentEdit"
-                         v-model="purchasInfo.contractId"
-                         clearable
-                         :placeholder="isParentEdit ? $t('common.selected') : ''"
-                         :disabled="isParentEdit ? false : true"
-                         @change="contractChange">
-                <ws-option v-for="item in contractList"
-                           :key="item.contractId"
-                           :label="item.contractTitle"
-                           :value="item.contractId" />
-              </ws-select>
-              <span v-else>{{''}}</span>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.quotesValid')">
-              <ws-input v-model="purchasInfo.quotesValid"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="50" />
-            </ws-form-item>
-
-            <!-- <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.transFee')">
-              <ws-input v-model="purchasInfo.transFee"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        oninput="value=value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
-                        v-number-input.float
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="18" />
-            </ws-form-item> -->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.transFee')">
-              <ws-input v-model="purchasInfo.transFee"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        oninput="value=value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
-                        v-number-input.float
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="18"
-                        @change="ariDiscount" />
-              <div class="ml10 transFee">
-                <ws-checkbox v-model="purchasInfo.discountFlag"
-                             :disabled="isParentEdit? false : true"
-                             @change="ariDiscount" />
-                <span style="font-size: 12px">{{$t('cg.applydetails.participationDiscount')}}</span>
-              </div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.purchaseType')">
-              <!-- <ws-select v-model="purchasInfo.purchaseType" :placeholder="isParentEdit?$t('common.selected'):''" :disabled="true">
-                    <ws-option v-for="item in purchaseTypeList" :key="item.parameterKey" :label="language=='en'? item.parameterValueEn:item.parameterValue" :value="item.parameterKey" />
-                  </ws-select>-->
-              <span>{{
-                    language == 'en'
-                      ? purchasInfo.purchaseTypeNameEn
-                      : purchasInfo.purchaseTypeName
-                  }}</span>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.currencyId')"
-                          prop="currencyId"
-                          v-if="purchasInfo.purchaseTypeName === '直接采购'">
-              <div class="div-el-form-item"
-                   style="width:100%">
-                <!-- TODO 2020.06.05 saas 整合 报错   @change="selectCurrencyId" -->
-                <!-- <ws-select v-model="purchasInfo.currencyId"
-                               :placeholder="isParentEdit ? $t('common.selected') : ''"
-                               :disabled="isParentEdit ? false : true"
-                               @change="selectCurrencyId">
-                      <ws-option v-for="item in currencyList"
-                                 :key="item.parameterKey"
-                                 :label="
-                          language == 'en'
-                            ? item.parameterValueEn
-                            : item.parameterValue
-                        "
-                                 :value="item.parameterKey" />
-                    </ws-select> -->
-                <BaseParameterSelect v-model="purchasInfo.currencyId"
-                                     :typeCode="'CURRENCY'"
-                                     :disabled="isParentEdit ? false : true"
-                                     :placeholder="isParentEdit ? $t('common.selected') : ''"
-                                     @change="selectCurrencyId" />
-              </div>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.currencyId')"
-                          v-if="purchasInfo.purchaseTypeName !== '直接采购'">
-              <div class="div-el-form-item">{{ currencyName }}</div>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.deliveryTerm')"
-                          prop="deliveryTerm">
-              <ws-input v-model="purchasInfo.deliveryTerm"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="18" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.payTypeFlag')"
-                          prop="settlementFlag">
-              <!-- <ws-select v-model="purchasInfo.settlementFlag"
-                             :placeholder="isParentEdit ? $t('common.selected') : ''"
-                             :disabled="isParentEdit ? false : true">
-                    <ws-option v-for="item in settlementFlagList"
-                               :key="item.parameterKey"
-                               :label="
-                        language == 'en'
-                          ? item.parameterValueEn
-                          : item.parameterValue
-                      "
-                               :value="item.parameterKey" />
-                  </ws-select> -->
-              <BaseParameterSelect v-model="purchasInfo.settlementFlag"
-                                   :typeCode="'SETTLEMENT_FLAG'"
-                                   :disabled="isParentEdit ? false : true"
-                                   :placeholder="isParentEdit ? $t('common.selected') : ''" />
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.payTypeFlag')"
-                          :prop="isHasFinance ? 'payTypeFlag' : ''"
-                          v-if="isHasFinance">
-              <ws-select v-model="purchasInfo.payTypeFlag"
-                         :placeholder="isParentEdit ? $t('common.selected') : ''"
-                         :disabled="isParentEdit ? false : true">
-                <ws-option v-for="item in payTypeFlagList.filter(
-                        value => value.parameterKey == '2'
-                      )"
-                           :key="item.parameterKey"
-                           :label="
-                        language == 'en'
-                          ? item.parameterValueEn
-                          : item.parameterValue
-                      "
-                           :value="item.parameterKey" />
-              </ws-select>
-            </ws-form-item>
-
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.deliveryType')"
-                          prop="deliveryType">
-              <ws-input v-model="purchasInfo.deliveryType"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="100" />
-            </ws-form-item>
-
-            <ws-form-item span="1"
-                          :label="$t('cg.applydetails.invoiceFlag')"
-                          prop="invoiceFlag">
-              <!-- <ws-select v-model="purchasInfo.invoiceFlag"
-                             :placeholder="isParentEdit ? $t('common.selected') : ''"
-                             :disabled="isParentEdit ? false : true">
-                    <ws-option v-for="item in invoiceFlagList"
-                               :key="item.parameterKey"
-                               :label="
-                        language == 'en'
-                          ? item.parameterValueEn
-                          : item.parameterValue
-                      "
-                               :value="item.parameterKey" />
-                  </ws-select> -->
-              <BaseParameterSelect v-model="purchasInfo.invoiceFlag"
-                                   :typeCode="'INVOICE_FLAG'"
-                                   :disabled="isParentEdit ? false : true"
-                                   :placeholder="isParentEdit ? $t('common.selected') : ''" />
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.taxPoint')">
-              <ws-input-number :min="0"
-                               v-model="purchasInfo.taxRate"
-                               @change="aritaxPoint()"
-                               :placeholder="isParentEdit ? $t('common.input') : ''"
-                               :disabled="isParentEdit ? false : true"
-                               @blur="changeTaxRate"
-                               maxlength="18" />
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cw.inOperation.rate')">
-              <span>{{ purchasInfo.exchangeRate ? purchasInfo.exchangeRate : '--' }}</span>
-            </ws-form-item>
-
-            <ws-form-item :span="isHasFinance?1:2"
-                          :label="$t('cg.applydetails.applemark')">
-              <ws-input :title="purchasInfo.remark"
-                        v-model="purchasInfo.remark"
-                        :placeholder="isParentEdit ? $t('common.input') : ''"
-                        style="width: 100%;"
-                        :disabled="isParentEdit ? false : true"
-                        maxlength="250" />
-            </ws-form-item>
-          </ws-info-table>
-        </ws-form>
-      </base-card>
-      <!-- 单据基础信息 -->
-
-      <!--合同-->
-      <base-card :title="$t('cg.applydetails.purCont')"
-                 v-if="contractContent.contractContent">
-        <div ref="contractContent"
-             class="contractContent"
-             v-html="contractContent.contractContent" />
-      </base-card>
-      <!--合同-->
-
-      <!-- 采购明细 -->
-      <base-card :title="$t('cg.applydetails.applInfo')">
-        <span class="span-money">
-          <span>{{
-                $t('cg.cgsparedetail.originalCurrencyAfterDiscountLower') +
-                  $t('common.colon')
-              }}</span>
-          <span>{{ purchasInfo.totalAmountLower }}</span>
-          <span>{{ currencyName }}</span>
-        </span>
-        <span class="span-money">
-          <span>{{
-                $t('cg.cgsparedetail.discount') + $t('common.colon')
-              }}</span>
-
-          <ws-input-number v-if="isParentEdit"
-                           :min="0"
-                           :precision="0"
-                           v-model="purchasInfo.discount"
-                           :placeholder="$t('common.input')"
-                           style="width:200px !important"
-                           oninput="value=value.replace(/[^\d.]/g,'')"
-                           maxlength="18"
-                           @blur="ariDiscount" />
-          <span v-else>{{
-                parseInt(purchasInfo.discount || 0)
-              }}</span>
-        </span>
-
-        <span class="span-money">
-          <span>{{
-                $t('cg.cgsparedetail.originalCurrencyAfterDiscountLower1') +
-                  $t('common.colon')
-              }}</span>
-          <span>{{ purchasInfo.afterDiscountLower?(isNaN(purchasInfo.afterDiscountLower)? '0.00':parseFloat(purchasInfo.afterDiscountLower).toFixed(2)):'--' }}</span>
-          <span>{{ currencyName }}</span>
-        </span>
-        <!-- <span class="span-money" v-if="purchasInfo.currencyId==1"> -->
-        <span class="span-money">
-          <span>{{
-                  $t('cg.cgsparedetail.organizationAfterDiscountLower') +
-                    $t('common.colon')
-                }}</span>
-          <span>{{
-                  purchasInfo.exchangeRate
-                    ? isNaN(purchasInfo.afterDiscountLower / purchasInfo.exchangeRate)
-                      ? '0.00'
-                      : parseFloat(
-                          purchasInfo.afterDiscountLower / purchasInfo.exchangeRate
-                        ).toFixed(2)
-                    : '--'
-                }}</span>
-          <span>{{ organMonetaryValue }}</span>
-        </span>
-        <pur-ChassDetails ref="purChassDetails"
-                          :taxPoint="purchasInfo.taxRate"
-                          :currency-name="currencyName"
-                          :isHasFinance="isHasFinance" />
-      </base-card>
-      <!-- 采购明细 -->
-
-      <!-- 附件上传 -->
-      <base-card :title="$t('upload.basicInfo')"
-                 :isIcon="false">
-        <!-- <upload ref="uploadFile" :auto-upload="false" model-id="ZS" /> -->
-        <ws-upload ref="wsUpload"
-                   oss-key="procurement.procurementSpare.purchasDetail"
-                   :comp-id="companyId"
-                   :editable="isParentEdit"
-                   :appendix-ids="purchasInfo.appendixId"
-                   :vesselId="purchasInfo.vesselId"
-                   table-name="sparepartPurchasInfo"
-                   @onChange="onChange" />
-      </base-card>
-      <!-- 附件上传 -->
-      <!-- 审核流程 -->
-      <audit-history ref="auditHistory"></audit-history>
-
-      <pay-record ref="payRecord"
-                  :recordList="purchasInfo.paymentOperateHis"></pay-record>
-    </template>
-    <!-- 弹出页面-审核通过 退回 废弃 -->
-    <approve-dialog ref="approveDialog"
-                    @approveConfirm="approveConfirm"
-                    @returnConfirm="returnConfirm"
-                    @scrapConfirm="scrapConfirm"></approve-dialog>
-    <!-- 弹出页面-审核通过 退回 废弃 -->
-  </BaseDetailLayout>
-</template>
-<script src="../../../viewsjs/procurement/procurementSpare/purChasDetail.js" />
-<style lang="scss" scoped>
-/deep/.el-input .el-input__inner:read-only {
-  background-color: #fff;
-  border-color: #fff;
-  color: #000;
-  cursor: text;
-  padding: 0;
-  font-size: 14px;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    & /deep/.auditFlow-icon {
-      width: auto;
-      padding-right: 30px;
-    }
-    & /deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-.mce-tinymce {
-  width: auto !important;
-}
-
-.el-dialog {
-  .el-form-item {
-    margin-bottom: 0 !important;
-    .el-input--medium {
-      textarea {
-        min-height: 100px !important;
-      }
-    }
-  }
-}
-.span-money {
-  font-size: 14px;
-  font-weight: 700;
-  margin: 10px 10px;
-  line-height: 40px;
-}
-section {
-  width: auto;
-  height: auto;
-  border: 1px solid #ccc;
-  position: relative;
-  h3 {
-    text-align: center;
-    font-size: 20px;
-    font-weight: 700;
-    margin: 5px auto;
-  }
-}
-.collapse-bottom {
-  margin-bottom: 20px;
-}
-.label-btitle {
-  margin: 10px 0 10px 18px;
-  font-size: 14px;
-}
-
-.contractContent {
-  width: 100%;
-  height: 400px;
-  overflow: auto;
-  border: 1px solid #ccc;
-}
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .el-input__suffix {
-    .el-input__suffix-inner {
-      display: none;
-    }
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-.el-textarea__inner {
-  resize: none;
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-/deep/.el-input-number {
-  /deep/.el-input__inner {
-    text-align: left;
-  }
-}
-/deep/ .el-cascader .el-input .el-input__inner {
-  font-size: 12px;
-  border-color: #ccc;
-  padding-left: 15px;
-}
-.ws-info-table {
-  /deep/.is-payment {
-    .el-form-item__label {
-      line-height: 20px;
-      height: 40px;
-      white-space: pre-wrap;
-    }
-  }
-}
-// /deep/.el-form-item.is-error .el-input__inner{border-color: #ccc !important;}
-</style>

+ 0 - 551
src/views/procurement/procurementSpare/quotesDetail.vue

@@ -1,551 +0,0 @@
-<!--备件-备件报价详情-->
-<!--2019年6月5日 15:37:39 by zw-->
-<template>
-  <BaseDetailLayout>
-    <!-- 按钮组件auditFlow,接口OK 后追加,显示history  -->
-    <template slot="header">
-      <BaseDetailHeaderLayout>
-        <template slot="left">
-          <span>{{ $t('cg.cgsparedetail.quotesno') + $t('common.colon') + quotesInfo.quotesNo}}</span>
-          <!-- 待报价 -->
-          <span class="ml10"
-                v-if="approveStatus">{{ $t('common.status') + $t('common.colon') + (getLanguage == 'en'?quotesInfo.statusNameEn:quotesInfo.statusName) }}</span>
-        </template>
-        <template slot="right">
-          <ws-button v-if="buttonIsShow.isAgainQuotation && quotesInfo.editFlag"
-                     type="primary"
-                     @click="approve(1)">{{ $t('button.againQuotation') }}</ws-button>
-          <el-upload v-if="buttonIsShow.isImportQuotation && quotesInfo.editFlag"
-                     ref="upload"
-                     class="upload-demo mr10"
-                     style="display: inline-block;"
-                     action
-                     multiple
-                     :http-request="uploadSectionFile"
-                     :auto-upload="true"
-                     :show-file-list="false">
-            <ws-button type="primary">{{
-          $t('button.importQuotation')
-        }}</ws-button>
-          </el-upload>
-          <!-- 'procurement.sparepart.quotesDetail.saveQuotation' -->
-          <ws-button v-if="buttonIsShow.isSaveQuotation && quotesInfo.editFlag"
-                     type="primary"
-                     @click="approve(3)"
-                     v-hasPermission="
-          `${$permission('PERMISSIONS.PURSPQUOTESINFO_UPDATEQUOTES')}`
-        ">{{ $t('button.submitQuotation') }}</ws-button>
-          <!-- 'procurement.sparepart.quotesDetail.saveQuotation' -->
-          <ws-button v-if="buttonIsShow.isSaveQuotation && quotesInfo.editFlag"
-                     @click="save('')"
-                     v-hasPermission="
-          `${$permission('PERMISSIONS.PURSPQUOTESINFO_UPDATEQUOTES')}`
-        ">{{ $t('button.saveQuotation') }}</ws-button>
-          <ws-button v-if="buttonIsShow.isConfirmsplitbills && quotesInfo.editFlag"
-                     type="primary"
-                     @click="splitQuotesBills(1)">{{ $t('button.confirmsplitbills') }}
-          </ws-button>
-          <ws-button v-hasPermission="`${$permission('PERMISSIONS.PURSPPARITYINFO_VIEW')}`"
-                     @click="operMore('dc')">{{ $t('button.export') }}
-          </ws-button>
-          <ws-button v-if="buttonIsShow.isCancelsplitbills && quotesInfo.editFlag"
-                     @click="splitQuotesBills(0)">{{ $t('button.cancelsplitbills') }}
-          </ws-button>
-          <DocRelate-Button :set-show-type="docRelateShow"
-                            :set-form="setForm" />
-          <ws-button @click="back">
-            {{ $t('button.back') }}
-          </ws-button>
-        </template>
-      </BaseDetailHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- 单据基础信息 -->
-      <base-card :title="$t('cg.applydetails.basicInfo')">
-        <ws-form ref="infoForm"
-                 :model="quotesInfo"
-                 :rules="rulesQuotes"
-                 :show-message="false"
-                 :class="
-              isParentEdit && quotesInfo.editFlag
-                ? 'purspappl-details'
-                : 'purspappl-details hide-sel'
-            "
-                 :hide-required-asterisk="!(isParentEdit && quotesInfo.editFlag)">
-          <ws-info-table>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vesselName')">
-              <div class="div-el-form-item">{{ quotesInfo.vesselName }}</div>
-            </ws-form-item>
-            <ws-form-item :span="2"
-                          :label="$t('cg.applydetails.inquiryEffective')">
-              <div style="width: 47%; text-align: center;">
-                {{ quotesInfo.inquiryEffectiveStart }}
-              </div>
-              --
-              <div style="width: 47%; text-align: center;">
-                {{ quotesInfo.inquiryEffectiveEnd }}
-              </div>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.deliveryTerm')">
-              <div class="div-el-form-item">{{ quotesInfo.deliveryTerm }}</div>
-            </ws-form-item>
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applExpectedDeliveryLocation')">
-              <div class="div-el-form-item">{{ quotesInfo.deliveryPlace }}</div>
-            </ws-form-item>
-          </ws-info-table>
-        </ws-form>
-      </base-card>
-      <!-- 单据基础信息 -->
-
-      <!-- 报价信息 -->
-      <base-card :title="$t('cg.applydetails.quotesInfo')">
-        <ws-form ref="infoForm"
-                 :model="quotesInfo"
-                 :rules="rulesQuotes"
-                 :show-message="false"
-                 :class="
-              isParentEdit && quotesInfo.editFlag
-                ? 'purspappl-details'
-                : 'purspappl-details hide-sel'
-            "
-                 :hide-required-asterisk="!(isParentEdit && quotesInfo.editFlag)">
-          <ws-info-table>
-            <!--供货商-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.vendorName')">
-              <div class="div-el-form-item">{{ quotesInfo.vendorName }}</div>
-            </ws-form-item>
-            <!--联系人-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.vendor.linkMan')">
-              <div class="div-el-form-item">{{ quotesInfo.linkName }}</div>
-            </ws-form-item>
-            <!--联系方式-->
-            <ws-form-item :span="1"
-                          :label="$t('crew.basic.contact')">
-              <div class="div-el-form-item">{{ quotesInfo.linkPhone }}</div>
-            </ws-form-item>
-            <!--备货期-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.vendor.leadTime')">
-              <ws-input v-model="quotesInfo.stockingTime"
-                        :placeholder="isParentEdit && quotesInfo.editFlag? $t('common.input'): ''"
-                        :disabled="isParentEdit && quotesInfo.editFlag ? false : true"
-                        maxlength="50" />
-            </ws-form-item>
-            <!--供货地点-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.applExpectedDeliveryLocation')"
-                          prop="quotesDeliveryPlace">
-              <ws-input v-model="quotesInfo.quotesDeliveryPlace"
-                        :placeholder="
-                    isParentEdit && quotesInfo.editFlag
-                      ? $t('common.input')
-                      : ''
-                  "
-                        :disabled="isParentEdit && quotesInfo.editFlag ? false : true"
-                        maxlength="50" />
-            </ws-form-item>
-            <!--交货方式-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.deliveryType')"
-                          prop="deliveryType">
-              <ws-input v-model="quotesInfo.deliveryType"
-                        :placeholder="
-                    isParentEdit && quotesInfo.editFlag
-                      ? $t('common.input')
-                      : ''
-                  "
-                        :disabled="isParentEdit && quotesInfo.editFlag ? false : true"
-                        maxlength="25" />
-            </ws-form-item>
-            <!--原币币种-->
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.currencyId')"
-                          prop="currencyId">
-              <!-- <ws-select v-model="quotesInfo.currencyId"
-                           :placeholder="
-                    isParentEdit && quotesInfo.editFlag
-                      ? $t('common.selected')
-                      : ''
-                  "
-                           v-if="isParentEdit && quotesInfo.editFlag">
-                  <ws-option v-for="(item,index) in currencyList"
-                             :key="$t('cg.applydetails.currencyId')+'_'+index+'_'+item.parameterKey"
-                             :label="
-                      language == 'en'
-                        ? item.parameterValueEn
-                        : item.parameterValue
-                    "
-                             :value="item.parameterKey" />
-                </ws-select> -->
-              <BaseParameterSelect v-model="quotesInfo.currencyId"
-                                   v-if="isParentEdit && quotesInfo.editFlag"
-                                   :typeCode="'CURRENCY'"
-                                   :placeholder="
-                    isParentEdit && quotesInfo.editFlag
-                      ? $t('common.selected')
-                      : ''
-                  " />
-              <div v-else
-                   class="div-el-form-item">{{ quotesInfo.currencyName }}</div>
-            </ws-form-item>
-            <!--付款方式-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.payTypeFlag')"
-                          prop="settlementFlag">
-              <!-- <ws-select v-model="quotesInfo.settlementFlag"
-                           :placeholder="
-                    isParentEdit && quotesInfo.editFlag
-                      ? $t('common.selected')
-                      : ''
-                  "
-                           v-if="isParentEdit && quotesInfo.editFlag">
-                  <ws-option v-for="(item,index) in settlementFlagList"
-                             :key="$t('cg.applydetails.settlementFlag')+'_'+index+'_'+item.parameterKey"
-                             :label="
-                      language == 'en'
-                        ? item.parameterValueEn
-                        : item.parameterValue
-                    "
-                             :value="item.parameterKey" />
-                </ws-select> -->
-              <BaseParameterSelect v-model="quotesInfo.settlementFlag"
-                                   v-if="isParentEdit && quotesInfo.editFlag"
-                                   :typeCode="'SETTLEMENT_FLAG'"
-                                   :placeholder="
-                    isParentEdit && quotesInfo.editFlag
-                      ? $t('common.selected')
-                      : ''
-                  " />
-              <div v-else
-                   class="div-el-form-item">{{ quotesInfo.settlementFlagName }}</div>
-            </ws-form-item>
-            <!--报价有效期-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.quotesValid')">
-              <ws-input :span="1"
-                        v-model="quotesInfo.quotesValid"
-                        :placeholder="
-                    isParentEdit && quotesInfo.editFlag
-                      ? $t('common.input')
-                      : ''
-                  "
-                        :disabled="isParentEdit && quotesInfo.editFlag ? false : true"
-                        maxlength="25" />
-            </ws-form-item>
-            <!--运费-->
-            <ws-form-item :span="1"
-                          :label="$t('cg.applydetails.transFee')">
-              <ws-input v-model="quotesInfo.transFee"
-                        :placeholder="
-                    isParentEdit && quotesInfo.editFlag
-                      ? $t('common.input')
-                      : ''
-                  "
-                        :disabled="isParentEdit && quotesInfo.editFlag ? false : true"
-                        oninput="value=value.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"
-                        @change="changeTransfee"
-                        maxlength="18"
-                        v-number-input.float />
-              <div class="ml10 transFee">
-                <ws-checkbox v-model="quotesInfo.discountFlag"
-                             :disabled="isParentEdit && quotesInfo.editFlag ? false : true"
-                             @change="changeTransfee" />
-                <span style="font-size: 12px">{{$t('cg.applydetails.participationDiscount')}}</span>
-              </div>
-            </ws-form-item>
-            <!--发票类型-->
-            <ws-form-item :span="1"
-                          class="issuingDate"
-                          :label="$t('cg.applydetails.invoiceFlag')">
-              <!-- <ws-select v-model="quotesInfo.invoiceFlag"
-                           :placeholder="
-                    isParentEdit && quotesInfo.editFlag
-                      ? $t('common.selected')
-                      : ''
-                  "
-                           v-if="isParentEdit && quotesInfo.editFlag">
-                  <ws-option v-for="(item,index) in invoiceFlagList"
-                             :key="$t('cg.applydetails.invoiceFlag')+'_'+index+'_'+item.parameterKey"
-                             :label="
-                      language == 'en'
-                        ? item.parameterValueEn
-                        : item.parameterValue
-                    "
-                             :value="item.parameterKey" />
-                </ws-select> -->
-              <BaseParameterSelect v-model="quotesInfo.invoiceFlag"
-                                   v-if="isParentEdit && quotesInfo.editFlag"
-                                   :typeCode="'INVOICE_FLAG'"
-                                   :placeholder="
-                    isParentEdit && quotesInfo.editFlag
-                      ? $t('common.selected')
-                      : ''
-                  " />
-              <div v-else
-                   class="div-el-form-item">{{ quotesInfo.invoice }}</div>
-            </ws-form-item>
-            <!-- 税率 -->
-            <ws-form-item :span="1"
-                          :label="$t('cg.cgsparedetail.taxRate')"
-                          prop="taxRate">
-              <ws-input-number :min="0"
-                               @blur="changeTaxRate"
-                               v-model="quotesInfo.taxRate"
-                               :placeholder="isParentEdit && quotesInfo.editFlag
-                                  ? $t('common.input')
-                                  : ''"
-                               :disabled="isParentEdit && quotesInfo.editFlag ? false : true"
-                               maxlength="18" />
-            </ws-form-item>
-            <!--备注-->
-            <ws-form-item :span="2"
-                          :label="$t('cg.applydetails.applemark')">
-              <ws-input v-model="quotesInfo.remark"
-                        :title="quotesInfo.remark"
-                        v-if="isParentEdit && quotesInfo.editFlag"
-                        :placeholder="
-                    isParentEdit && quotesInfo.editFlag
-                      ? $t('common.selected')
-                      : ''
-                  "
-                        style="width: 100%;"
-                        maxlength="250" />
-              <template v-else>{{ quotesInfo.remark }}</template>
-            </ws-form-item>
-          </ws-info-table>
-        </ws-form>
-      </base-card>
-      <!-- 报价信息 -->
-
-      <!-- 采购明细 -->
-      <base-card :title="$t('cg.applydetails.applInfo')">
-        <span class="span-money">
-          <span>{{
-                $t('cg.cgsparedetail.quoteAmountLower') + $t('common.colon')
-              }}</span>
-          <span>{{
-                parseFloat(quotesInfo.totalAmountLower || 0).toFixed(2)
-              }}</span>
-        </span>
-        <span class="span-money">
-          <span>{{
-                $t('cg.cgsparedetail.discount') + $t('common.colon')
-              }}</span>
-
-          <ws-input v-if="isParentEdit && quotesInfo.editFlag"
-                    v-model="quotesInfo.discount"
-                    :placeholder="$t('common.input')"
-                    style="width:200px"
-                    oninput="value=value.replace(/[^\d.]/g,'')"
-                    @change="ariDiscount"
-                    maxlength="18" />
-          <span v-else>{{
-                parseFloat(quotesInfo.discount || 0).toFixed(2)
-              }}</span>
-        </span>
-        <span class="span-money">
-          <span>{{
-                $t('cg.cgsparedetail.discountAmountLower') + $t('common.colon')
-              }}</span>
-          <span>{{
-                parseFloat(quotesInfo.afterDiscountLower || 0).toFixed(2)
-              }}</span>
-        </span>
-        <pur-QuotesDetails ref="purQuotesDetails"
-                           :taxRate="taxRateNew"
-                           :editFlag="quotesInfo.editFlag && isPermission" />
-      </base-card>
-      <!-- 采购明细 -->
-
-      <!-- 附件上传 -->
-      <base-card :title="$t('upload.basicInfo')"
-                 :isIcon="false">
-        <ws-upload ref="wsUpload"
-                   oss-key="procurement.procurementSpare.quotesDetail"
-                   :comp-id="companyId"
-                   :editable="isParentEdit && quotesInfo.editFlag"
-                   :appendix-ids="quotesInfo.appendixId"
-                   :vesselId="quotesInfo.vesselId"
-                   table-name="sparepartQuotesInfo"
-                   @onChange="onChange" />
-      </base-card>
-      <!-- 附件上传 -->
-    </template>
-    <!-- 弹出页面-废弃 -->
-    <BaseContentModalScrap v-model="dialogDiscardFormVisible"
-                           :title="$t('common.abandon')"
-                           :isRules="true"
-                           @confirm="scrapConfirm" />
-    <!-- 弹出页面-废弃 -->
-  </BaseDetailLayout>
-</template>
-<script src="../../../viewsjs/procurement/procurementSpare/quotesDetail.js" />
-<style lang="scss" scoped>
-.auditFlow-box {
-  position: absolute;
-  left: 20px;
-  z-index: 10;
-  height: 50px;
-  line-height: 50px;
-  font-size: 14px;
-  font-weight: normal;
-  color: #333;
-}
-/deep/.transFee {
-  .el-checkbox:last-of-type {
-    margin-right: 0px;
-  }
-}
-/deep/.el-input.is-disabled .el-input__inner {
-  background-color: #fff;
-  border-color: #fff;
-  color: #000;
-  cursor: text;
-  padding: 0;
-}
-.button-container {
-  display: flex;
-  flex-wrap: nowrap;
-  justify-content: space-between;
-  align-items: center;
-  background-color: #fff;
-  width: 100%;
-  height: 50px;
-  padding: 0 10px;
-  & > div {
-    margin-left: 10px;
-    display: flex;
-    flex-wrap: nowrap;
-    flex-direction: row;
-    & > span {
-      line-height: 50px;
-    }
-  }
-
-  /deep/.auditFlow-box {
-    position: unset;
-    margin-left: 10px;
-    & /deep/.auditFlow-icon {
-      width: auto;
-      margin-right: 10px;
-    }
-    & /deep/.auditFlow-main {
-      position: absolute;
-    }
-  }
-}
-.box-app {
-  display: inline-block;
-  float: left;
-  margin-left: 30px;
-  line-height: 50px;
-}
-.pur-container {
-  .el-collapse {
-    border-top: 0 !important;
-    border-bottom: 0 !important;
-  }
-  .el-collapse-item__header {
-    background-color: #fff;
-    border-bottom: 0;
-  }
-  .el-collapse-item__wrap {
-    border-bottom: 0;
-  }
-}
-.hideResDepart {
-  .el-row {
-    .el-col:last-child {
-      .el-form-item {
-        border-bottom: 0px !important;
-        border-right: 0px !important;
-      }
-    }
-  }
-}
-.span-money {
-  font-size: 14px;
-  font-weight: 700;
-  margin: 10px 10px;
-  line-height: 40px;
-}
-.label-btitle {
-  margin: 10px 0 10px 18px;
-  font-size: 14px;
-}
-
-// 控制select为只读的时候显示样式
-
-.hide-sel {
-  .el-input__inner {
-    border: 0px;
-  }
-  .el-icon-arrow-up {
-    display: none;
-  }
-  .el-date-editor {
-    i {
-      display: none;
-    }
-  }
-  .el-date-editor {
-    .el-input--medium {
-      .el-input__inner {
-        margin-left: 5px;
-      }
-    }
-  }
-  .el-textarea__inner {
-    background-color: #fff !important;
-    border: 0;
-  }
-  .is-disabled {
-    .el-input__inner:hover {
-      background-color: #fff !important;
-      border: 0;
-    }
-    color: #606266;
-    .el-input__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-    .el-textarea__inner {
-      background-color: #fff !important;
-      border: 0;
-      color: #606266;
-    }
-  }
-}
-.el-textarea__inner {
-  resize: none;
-}
-// 控制select为只读的时候显示样式
-/deep/.ws-class-table-col {
-  height: auto;
-  padding: 0px 2px;
-  /deep/.el-input__inner {
-    padding: 0px 2px;
-  }
-}
-/deep/.is-disabled {
-  .el-input__prefix,
-  .el-input__suffix {
-    display: none;
-  }
-  .el-input__inner {
-    background-color: #fff;
-    border-color: #fff !important;
-    color: #000 !important;
-    font-size: 14px;
-    cursor: text;
-    padding: 0 !important;
-  }
-}
-</style>

+ 0 - 1578
src/views/procurement/procurementSpare/sparepartList.vue

@@ -1,1578 +0,0 @@
-<!-- 采购模块 备件采购详细页面-->
-<!--2019年5月20日 11:35:53 by zw-->
-<template>
-  <div class="content">
-    <div style="background-color: #fff;"
-         class="tabs-main sparepart-table">
-      <el-tabs v-model="activeName"
-               type="card"
-               @tab-click="tabClick">
-        <el-tab-pane v-for="item in getTabMapOptions"
-                     :key="item.key"
-                     class="overview-main"
-                     :label="languageVal == 'en' ? item.labelEn : item.label"
-                     :name="item.key">
-          <!-- 采购申请单 -->
-          <TableView v-if="activeName == 'SQ' && item.key == 'SQ'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="left">
-                  <ws-button type="primary"
-                             v-hasPermission="
-            `${$permission(
-              'PERMISSIONS.PURSPAPPLINFO_SUBMITTOENQUIRY'
-            )}`
-          "
-                             :disable="checkBtn"
-                             @click="enquiry(1)">
-                    {{ $t('button.enquiry') }}
-                  </ws-button>
-                  <!-- 'procurement.sparepart.purSpApplInfo.directsourcing'-->
-                  <ws-button type="primary"
-                             :disable="checkBtn"
-                             v-hasPermission="
-            `${$permission(
-              'PERMISSIONS.PURSPAPPLINFO_SUBMITTOPURCHAS'
-            )}`
-          "
-                             @click="enquiry(2)">{{ $t('button.directsourcing') }}</ws-button>
-                  <!-- v-hasPermission="'procurement.sparepart.directShip'" -->
-                  <ws-button type="primary"
-                             :disable="checkBtn"
-                             @click="enquiry(3)"
-                             v-hasPermission="
-            `${$permission(
-              'PERMISSIONS.PURSPAPPLINFO_CREATEINSTORE'
-            )}`
-          ">{{ $t('button.directShip') }}</ws-button>
-                </template>
-                <template slot="right">
-                  <BaseShipDropdown ref="shipDown"
-                                    v-model="vesselIdSelected"
-                                    @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog = false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.deptName')">
-                          <!-- <ws-select v-model="filtlistQuery.filtdeptNoSelected"
-                                     style="width:20em">
-                            <ws-option v-for="item in deptList"
-                                       :key="item.parameterKey"
-                                       :label="
-                                language == 'en'
-                                  ? item.parameterValueEn
-                                  : item.parameterValue
-                              "
-                                       :value="item.parameterKey" />
-                          </ws-select> -->
-                          <BaseDepartMentSelect v-model="filtlistQuery.filtdeptNoSelected"
-                                                clearable
-                                                :placeholder="$t('common.selected')"
-                                                style="width:100%;" />
-                        </el-form-item>
-
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQuery.filtmakeDate"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{
-                          $t('button.reset')
-                          }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{
-                          $t('button.filtration')
-                          }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <!-- <BaseHeaderFilter :total="total"
-                            @click="dialogFilter = true" /> -->
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :name="item.key"
-                   :type="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table :height="tableViewBodyHeight - 40"
-                                 :data="Info"
-                                 fit
-                                 highlight-current-row
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange"
-                                 @cell-click="applopenInfo">
-                  <ws-table-column width="30">
-                    <template slot-scope="scope">
-                      <ws-checkbox v-show="scope.row.listFlag"
-                                   @change="chooseBill"
-                                   v-model="scope.row.checked" />
-                    </template>
-                  </ws-table-column>
-
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">
-                      <span>{{
-                          scope.$index +
-                            (listQuery.currentPage - 1) * listQuery.pageSize +
-                            1
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   prop="vesselName"
-                                   min-width="100">
-                    <template slot-scope="scope">
-                      <span>{{ scope.row.vesselName }}</span>
-                    </template>
-                  </ws-table-column>
-
-                  <ws-table-column sortable
-                                   prop="applNo"
-                                   min-width="180"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartNo')">
-                    <template slot-scope="scope">
-                      <span>
-                        {{ scope.row.applNo }}
-                        <el-tag v-show="scope.row.splitFlag == '1'"
-                                type="success"
-                                size="mini">
-                          {{ $t('cg.applicationFlagc') }}
-                        </el-tag>
-                      </span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column min-width="180"
-                                   :label="
-                        $t('cg.pSparepart.sparepartList.sparepartContent')
-                      ">
-                    <template slot-scope="scope">
-                      <span class="table-column-title"
-                            :title="scope.row.deviceName">{{ scope.row.deviceName }}</span>
-                    </template>
-                  </ws-table-column>
-
-                  <ws-table-column sortable
-                                   min-width="180"
-                                   prop="title"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartTitle')">
-                    <template slot-scope="scope">
-                      <span :title="scope.row.title">{{
-                          scope.row.title
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column min-width="100"
-                                   sortable
-                                   prop="applUserName"
-                                   :label="$t('cg.pSparepart.sparepartList.applUserName')">
-                    <template slot-scope="scope">
-                      <span>{{ scope.row.applUserName }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="120"
-                                   prop="makeDate"
-                                   :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                    <template slot-scope="scope">
-                      <span>{{ $fd(scope.row.makeDate) }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="130"
-                                   prop="status"
-                                   :label="$t('cg.pSparepart.sparepartList.status')">
-                    <template slot-scope="scope">
-                      <span>{{
-                          language == 'en'
-                            ? scope.row.statusNameEn
-                            : scope.row.statusName
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                </ws-normal-table>
-              </div>
-            </template>
-            <!-- 列表 -->
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-show="total > 0"
-                          :total="total"
-                          :page.sync="listQuery.currentPage"
-                          :limit.sync="listQuery.pageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 采购申请单 -->
-
-          <!-- 询价单 -->
-          <TableView v-if="activeName == 'XJ' && item.key == 'XJ'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="right">
-                  <ws-status-radio @changeStatus="setbySatus"></ws-status-radio>
-                  <BaseShipDropdown v-model="vesselIdSelected"
-                                    @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog1"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog1 = false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQuery.filtmakeDate"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-                          <ws-select v-model="filtlistQuery.filtstatuSelected"
-                                     style="width:20em"
-                                     multiple
-                                     collapse-tags
-                                     :placeholder="$t('common.selected')">
-                            <ws-option v-for="i in status"
-                                       :key="i.status"
-                                       :label="
-                                  language == 'en'
-                                    ? i.statusNameEn
-                                    : i.statusName
-                                "
-                                       :value="i.status" />
-                          </ws-select>
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{
-                          $t('button.reset')
-                          }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{
-                          $t('button.filtration')
-                          }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle31')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :type="item.key"
-                   :name="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table :data="Info"
-                                 element-loading-text="Loading"
-                                 fit
-                                 highlight-current-row
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange"
-                                 @row-click="applopenInfo"
-                                 :height="tableViewBodyHeight - 40">
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">
-                      <span>{{
-                          scope.$index +
-                            (listQuery.currentPage - 1) * listQuery.pageSize +
-                            1
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   min-width="150"
-                                   prop="vesselName" />
-
-                  <ws-table-column sortable
-                                   prop="enquiryNo"
-                                   min-width="180"
-                                   :label="$t('cg.cgsparedetail.enquiryno')">
-                    <template slot-scope="scope">
-                      <span>
-                        {{ scope.row.enquiryNo }}
-                        <el-tag v-show="scope.row.splitFlag == '1'"
-                                type="success"
-                                size="mini">
-                          {{ $t('cg.applicationFlagc') }}
-                        </el-tag>
-                        <el-tag v-show="scope.row.splitFlag == '2'"
-                                size="mini">{{ $t('cg.applicationFlagh') }}</el-tag>
-                      </span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column prop="deviceName"
-                                   min-width="150"
-                                   :label="
-                        $t('cg.pSparepart.sparepartList.sparepartContent')
-                      ">
-                    <template slot-scope="scope">
-                      <span class="table-column-title"
-                            :title="scope.row.deviceName">{{ scope.row.deviceName }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   prop="title"
-                                   min-width="150"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartTitle')" />
-                  <ws-table-column min-width="100"
-                                   sortable
-                                   prop="makeUserName"
-                                   :label="$t('cg.pSparepart.sparepartList.makeUserName')" />
-                  <ws-table-column sortable
-                                   min-width="100"
-                                   prop="makeDate"
-                                   :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                    <template slot-scope="scope">
-                      <span>{{ $fd(scope.row.makeDate) }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.status')"
-                                   prop="status"
-                                   min-width="130">
-                    <template slot-scope="scope">{{
-                        language == 'en'
-                          ? scope.row.statusNameEn
-                          : scope.row.statusName
-                      }}</template>
-                  </ws-table-column>
-                </ws-normal-table>
-                <!-- 列表 -->
-              </div>
-            </template>
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-show="total > 0"
-                          :total="total"
-                          :page.sync="listQuery.currentPage"
-                          :limit.sync="listQuery.pageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 询价单 -->
-
-          <!-- 报价单 -->
-          <TableView v-if="activeName == 'BJD' && item.key == 'BJD'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="right">
-                  <ws-status-radio :showTrack="showTrack"
-                                   @changeStatus="setbySatus"></ws-status-radio>
-                  <BaseShipDropdown v-model="vesselIdSelected"
-                                    @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog3"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog3 = false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQuery.filtmakeDate"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-                          <ws-select v-model="filtlistQuery.filtstatuSelected"
-                                     style="width:20em"
-                                     multiple
-                                     collapse-tags
-                                     :placeholder="$t('common.selected')">
-                            <ws-option v-for="i in status"
-                                       :key="i.status"
-                                       :label="
-                                  language == 'en'
-                                    ? i.statusNameEn
-                                    : i.statusName
-                                "
-                                       :value="i.status" />
-                          </ws-select>
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{
-                          $t('button.reset')
-                          }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{
-                          $t('button.filtration')
-                          }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle3')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :type="item.key"
-                   :name="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table :span-method="arraySpanMethod"
-                                 :data="Info"
-                                 element-loading-text="Loading"
-                                 :merge="['vendorDetailList']"
-                                 fit
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange"
-                                 :height="tableViewBodyHeight - 40">
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">
-                      {{ scope.row.indexNum }}
-                      <!-- <span>{{ scope.$index + (listQuery.currentPage - 1) * listQuery.pageSize + 1 }}</span> -->
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   min-width="120"
-                                   prop="vesselName" />
-                  <ws-table-column sortable
-                                   prop="enquiryNo"
-                                   min-width="130"
-                                   :label="$t('cg.pSparepart.sparepartList.enquiryNo')" />
-                  <ws-table-column prop="title"
-                                   min-width="120"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartTitle')" />
-                  <ws-table-column sortable
-                                   prop="inquiryEffectiveEnd"
-                                   min-width="120"
-                                   :label="
-                        $t('cg.pSparepart.sparepartList.inquiryEffectiveEnd')
-                      " />
-                  <ws-table-column sortable
-                                   prop="remainingDays"
-                                   min-width="100"
-                                   :label="$t('cg.pSparepart.sparepartList.remainingDays')" />
-                  <ws-table-column prop="vendorName"
-                                   :label="$t('cg.pSparepart.sparepartList.vendorName')"
-                                   min-width="200">
-                    <!-- <template slot-scope="scope" class="link-p">
-                      <div class="ov" v-for="(vendorItem, index) in scope.row.quotesVendorList" :key="index" :title='vendorItem.vendorName'>
-                        <span>{{ $t("cg.supplierName") }}{{$t('common.colon')}}{{ vendorItem.vendorName }}</span>
-                        <span>{{ $t("cg.supplierLinkMan") }}{{$t('common.colon')}}{{ vendorItem.linkMan }}{{ vendorItem.telNumber }}</span>
-                      </div>
-                    </template>-->
-                  </ws-table-column>
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.quotesNo')"
-                                   min-width="160">
-                    <template slot-scope="scope"
-                              class="table-height">
-                      <span class="link-type link-style"
-                            @click="applopenInfo(scope.row)">{{ scope.row.quotesNo }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.status')"
-                                   min-width="120"
-                                   prop="status">
-                    <template slot-scope="scope">
-                      <!-- <div v-for="(vendorItem, index) in scope.row.quotesVendorList" :key="index">
-                        <span class="link-style">{{ language=='en'?vendorItem.statusNameEn:vendorItem.statusName }}</span>
-                      </div>-->
-                      <span class="link-style">{{
-                          language == 'en'
-                            ? scope.row.statusNameEn
-                            : scope.row.statusName
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                </ws-normal-table>
-                <!-- 列表 -->
-              </div>
-            </template>
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-show="total > 0"
-                          :total="total"
-                          :page.sync="listQuery.currentPage"
-                          :limit.sync="listQuery.pageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 报价单 -->
-
-          <!-- 比价单 -->
-          <TableView v-if="activeName == 'BJ' && item.key == 'BJ'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="right">
-                  <ws-status-radio @changeStatus="setbySatus"></ws-status-radio>
-                  <BaseShipDropdown v-model="vesselIdSelected"
-                                    @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog2"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog2 = false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQuery.filtmakeDate"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-                          <ws-select v-model="filtlistQuery.filtstatuSelected"
-                                     style="width:20em"
-                                     multiple
-                                     collapse-tags
-                                     :placeholder="$t('common.selected')">
-                            <ws-option v-for="i in status"
-                                       :key="i.status"
-                                       :label="
-                                  language == 'en'
-                                    ? i.statusNameEn
-                                    : i.statusName
-                                "
-                                       :value="i.status" />
-                          </ws-select>
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{
-                          $t('button.reset')
-                          }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{
-                          $t('button.filtration')
-                          }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle12')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :type="item.key"
-                   :name="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table :span-method="arraySpanMethod2"
-                                 :data="Info"
-                                 element-loading-text="Loading"
-                                 fit
-                                 highlight-current-row
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange"
-                                 @row-click="applopenInfo"
-                                 :height="tableViewBodyHeight - 40">
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">{{
-                        scope.row.indexNum
-                      }}</template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   min-width="150"
-                                   prop="vesselName" />
-                  <ws-table-column sortable
-                                   prop="enquiryNo"
-                                   min-width="160"
-                                   :label="$t('cg.cgsparedetail.parityno')" />
-
-                  <ws-table-column prop="deviceName"
-                                   min-width="140"
-                                   :label="
-                        $t('cg.pSparepart.sparepartList.sparepartContent1')
-                      ">
-                    <template slot-scope="scope">
-                      <span class="table-column-title"
-                            :title="scope.row.deviceName">{{ scope.row.deviceName }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="100"
-                                   prop="openParityWay"
-                                   :label="$t('cg.pSparepart.sparepartList.openParityWay')">
-                    <template slot-scope="scope">
-                      <span>{{
-                          language == 'en'
-                            ? scope.row.openParityWayEn
-                            : scope.row.openParityWay
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.vendorName')"
-                                   min-width="170">
-                    <template slot-scope="scope"
-                              class="link-p">
-                      <div class="overEl">
-                        {{ $t('cg.supplierName') }}{{$t('common.colon')}}{{ scope.row.vendorName }}
-                      </div>
-                      <div>
-                        {{ $t('cg.supplierLinkMan') }}{{$t('common.colon')}}{{ scope.row.linkMan
-                          }}{{ scope.row.telNumber }}
-                      </div>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="100"
-                                   prop="makeUserName"
-                                   :label="$t('cg.pSparepart.sparepartList.makeUserName')" />
-                  <ws-table-column sortable
-                                   width="100"
-                                   prop="makeDate"
-                                   :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                    <template slot-scope="scope">
-                      <span>{{ $fd(scope.row.makeDate) }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.status')"
-                                   prop="status"
-                                   min-width="130">
-                    <template slot-scope="scope">
-                      <span>{{
-                          language == 'en'
-                            ? scope.row.statusNameEn
-                            : scope.row.statusName
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                </ws-normal-table>
-                <!-- 列表 -->
-              </div>
-            </template>
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-show="total > 0"
-                          :total="total"
-                          :page.sync="listQuery.currentPage"
-                          :limit.sync="listQuery.pageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 比价单 -->
-
-          <!--采购单 -->
-          <TableView v-if="activeName == 'CG' && item.key == 'CG'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="right">
-                  <ws-status-radio @changeStatus="setbySatus"></ws-status-radio>
-                  <BaseShipDropdown v-model="vesselIdSelected"
-                                    @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog4"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog4 = false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQuery.filtmakeDate"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-                          <ws-select v-model="filtlistQuery.filtstatuSelected"
-                                     style="width:20em"
-                                     multiple
-                                     collapse-tags
-                                     :placeholder="$t('common.selected')">
-                            <ws-option v-for="i in status"
-                                       :key="i.status"
-                                       :label="
-                                  language == 'en'
-                                    ? i.statusNameEn
-                                    : i.statusName
-                                "
-                                       :value="i.status" />
-                          </ws-select>
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{
-                          $t('button.reset')
-                          }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{
-                          $t('button.filtration')
-                          }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle1')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :type="item.key"
-                   :name="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table :data="Info"
-                                 element-loading-text="Loading"
-                                 fit
-                                 highlight-current-row
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange"
-                                 @row-click="applopenInfo"
-                                 :height="tableViewBodyHeight - 40">
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">
-                      <span>{{
-                          scope.$index +
-                            (listQuery.currentPage - 1) * listQuery.pageSize +
-                            1
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   min-width="150"
-                                   prop="vesselName" />
-
-                  <ws-table-column sortable
-                                   prop="purchaseNo"
-                                   min-width="160"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartNo4')">
-                    <template slot-scope="scope">
-                      <span>{{ scope.row.purchaseNo }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column prop="deviceName"
-                                   min-width="180"
-                                   :label="
-                        $t('cg.pSparepart.sparepartList.sparepartContent1')
-                      ">
-                    <template slot-scope="scope">
-                      <span class="table-column-title"
-                            :title="scope.row.deviceName">{{ scope.row.deviceName }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="80"
-                                   prop="contractFlag"
-                                   :label="$t('cg.pSparepart.sparepartList.contractFlag')">
-                    <template slot-scope="scope"
-                              style="line-height:26px">
-                      <span>{{
-                          scope.row.contractFlag == 1
-                            ? $t('common.yes')
-                            : $t('common.no')
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column min-width="170"
-                                   :label="$t('cg.pSparepart.sparepartList.vendorName')"
-                                   class="link-p">
-                    <span slot-scope="scope"
-                          style="line-height:auto">
-                      <div>
-                        {{ $t('cg.supplierName') }}{{$t('common.colon')}}{{ scope.row.vendorName }}
-                      </div>
-
-                      <div>
-                        {{ $t('cg.supplierLinkMan') }}{{$t('common.colon')}}{{ scope.row.linkMan
-                          }}{{ scope.row.telNumber }}
-                      </div>
-                    </span>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="100"
-                                   prop="makeUserName"
-                                   :label="$t('cg.pSparepart.sparepartList.makeUserName')" />
-                  <ws-table-column sortable
-                                   min-width="100"
-                                   prop="makeDate"
-                                   :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                    <template slot-scope="scope">
-                      <span>{{ $fd(scope.row.makeDate) }}</span>
-                    </template>
-                  </ws-table-column>
-
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.status')"
-                                   prop="status"
-                                   min-width="130">
-                    <template slot-scope="scope">{{
-                        language == 'en'
-                          ? scope.row.statusNameEn
-                          : scope.row.statusName
-                      }}</template>
-                  </ws-table-column>
-                </ws-normal-table>
-                <!-- 列表 -->
-              </div>
-            </template>
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-show="total > 0"
-                          :total="total"
-                          :page.sync="listQuery.currentPage"
-                          :limit.sync="listQuery.pageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 采购单 -->
-
-          <!-- 结算单 -->
-          <TableView v-if="activeName == 'JS' && item.key == 'JS'"
-                     class="product"
-                     @body-height-change="bodyHeightChange">
-            <template slot="header">
-              <BaseHeaderLayout>
-                <template slot="right">
-                  <ws-status-radio @changeStatus="setbySatus"></ws-status-radio>
-                  <BaseShipDropdown v-model="vesselIdSelected"
-                                    @change="seelctShips" />
-                  <span class="vertical-line">|</span>
-                  <el-popover v-model="searchDialog5"
-                              popper-class="ser-pro-list-page-search-dialog"
-                              placement="bottom"
-                              trigger="click"
-                              :visible-arrow="false">
-                    <el-card shadow="never">
-                      <div slot="header"
-                           class="card-head">
-                        <span>{{ $t('zs.common.sizer') }}</span>
-                        <i class="el-icon-close"
-                           @click="searchDialog5 = false"></i>
-                      </div>
-                      <el-form ref="spclearsplistqueryForm"
-                               :model="filtlistQuery">
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                          <ws-date-picker v-model="filtlistQuery.filtmakeDate"
-                                          type="daterange"
-                                          style="width:20em"
-                                          range-separator
-                                          :start-placeholder="$t('cg.querybdate')"
-                                          :end-placeholder="$t('cg.queryedate')"
-                                          value-format="yyyy-MM-dd" />
-                        </el-form-item>
-                        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-                          <ws-select v-model="filtlistQuery.filtstatuSelected"
-                                     style="width:20em"
-                                     multiple
-                                     collapse-tags
-                                     :placeholder="$t('common.selected')">
-                            <ws-option v-for="i in status"
-                                       :key="i.status"
-                                       :label="
-                                  language == 'en'
-                                    ? i.statusNameEn
-                                    : i.statusName
-                                "
-                                       :value="i.status" />
-                          </ws-select>
-                        </el-form-item>
-                      </el-form>
-                      <div class="card-footer">
-                        <ws-button @click="clearfiltQuery">{{
-                          $t('button.reset')
-                          }}</ws-button>
-                        <ws-button type="primary"
-                                   @click="handleFilter('')">{{
-                          $t('button.filtration')
-                          }}</ws-button>
-                      </div>
-                    </el-card>
-                    <div slot="reference"
-                         class="pointer">
-                      <BaseHeaderFilter slot="reference"
-                                        :total="total" />
-                    </div>
-                  </el-popover>
-                  <BaseInputSearch v-model="listQuery.title"
-                                   :placeholder="$t('cg.querytitle11')"
-                                   @search="handleFilter('title')" />
-                </template>
-              </BaseHeaderLayout>
-            </template>
-            <template slot="body">
-              <div :type="item.key"
-                   :name="item.key"
-                   @create="showCreatedTimes">
-                <!-- 列表 -->
-                <ws-normal-table :data="Info"
-                                 element-loading-text="Loading"
-                                 fit
-                                 highlight-current-row
-                                 :row-class-name="tableRowClassName"
-                                 @sort-change="sortChange"
-                                 @row-click="applopenInfo"
-                                 :height="tableViewBodyHeight - 40">
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.spId')"
-                                   width="50"
-                                   align="center">
-                    <template slot-scope="scope">
-                      <span>{{
-                          scope.$index +
-                            (listQuery.currentPage - 1) * listQuery.pageSize +
-                            1
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   :label="$t('cg.pSparepart.sparepartList.vesselName')"
-                                   min-width="150"
-                                   prop="vesselName" />
-
-                  <ws-table-column sortable
-                                   prop="applNo"
-                                   min-width="180"
-                                   :label="$t('cg.pSparepart.sparepartList.sparepartNo5')">
-                    <template slot-scope="scope">
-                      <span>{{ scope.row.billNo }}</span>
-                    </template>
-                  </ws-table-column>
-                  <!--    <ws-table-column
-                      v-if="isHasFinance"
-                      sortable
-                      min-width="100"
-                      prop="payTypeName"
-                      :label="$t('cg.pSparepart.sparepartList.sparepartList2')"
-                    >
-                      <template slot-scope="scope">
-                        <span>{{
-                          language == 'en'
-                            ? scope.row.payTypeNameEn
-                            : scope.row.payTypeName
-                        }}</span>
-                      </template>
-                    </ws-table-column>-->
-                  <ws-table-column prop="deviceName"
-                                   min-width="200"
-                                   :label="
-                        $t('cg.pSparepart.sparepartList.sparepartContent1')
-                      ">
-                    <template slot-scope="scope">
-                      <span class="table-column-title"
-                            :title="scope.row.deviceName">{{ scope.row.deviceName }}</span>
-                    </template>
-                  </ws-table-column>
-                  <ws-table-column sortable
-                                   min-width="120"
-                                   prop="totalAmountLower"
-                                   :label="
-                        $t('cg.pSparepart.sparepartList.afterDiscountLower')
-                      ">
-                    <template slot-scope="scope">
-                      <span v-if="scope.row.totalAmountLower">{{
-                          parseFloat(
-                            parseFloat(scope.row.totalAmountLower) +
-                              parseFloat(scope.row.transFee || 0)
-                          ).toFixed(2) + resCurrencyId(scope.row)
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-
-                  <ws-table-column sortable
-                                   min-width="100"
-                                   prop="makeUserName"
-                                   :label="$t('cg.pSparepart.sparepartList.makeUserName')" />
-                  <ws-table-column sortable
-                                   min-width="100"
-                                   prop="makeDate"
-                                   :label="$t('cg.pSparepart.sparepartList.makeDate')">
-                    <template slot-scope="scope">
-                      <span>{{ $fd(scope.row.makeDate) }}</span>
-                    </template>
-                  </ws-table-column>
-
-                  <ws-table-column :label="$t('cg.pSparepart.sparepartList.status')"
-                                   prop="status"
-                                   min-width="120">
-                    <template slot-scope="scope">
-                      <span>{{
-                          language == 'en'
-                            ? scope.row.statusNameEn
-                            : scope.row.statusName
-                        }}</span>
-                    </template>
-                  </ws-table-column>
-                </ws-normal-table>
-                <!-- 列表 -->
-                <div />
-              </div>
-            </template>
-            <template slot="footer">
-              <!-- 列表-页码 -->
-              <pagination v-show="total > 0"
-                          :total="total"
-                          :page.sync="listQuery.currentPage"
-                          :limit.sync="listQuery.pageSize"
-                          @pagination="getlistbyWhere" />
-              <!-- 列表-页码 -->
-            </template>
-          </TableView>
-          <!-- 结算单 -->
-
-          <!-- 备件统计 -->
-          <keep-alive v-if="item.key == 'BJTJ'">
-            <div :type="item.key"
-                 :name="item.key"
-                 @create="showCreatedTimes">
-              <div />
-            </div>
-          </keep-alive>
-          <!-- 备件统计 -->
-        </el-tab-pane>
-      </el-tabs>
-    </div>
-
-    <!-- 弹出页面-申请单筛选 -->
-    <!-- <ws-dialog :title="$t('button.filtration')" :visible.sync="dialogSqFormVisible" :modal="false" width="30em" class="dialogListquery" :close-on-click-modal="false">
-      <el-form ref="spclearsplistqueryForm" :model="filtlistQuery">
-        <el-form-item :label="$t('cg.pSparepart.sparepartList.deptName')">
-          <ws-select v-model="filtlistQuery.filtdeptNoSelected" style="width:20em">
-            <ws-option v-for="item in deptList" :key="item.parameterKey" :label="language == 'en' ? item.parameterValueEn : item.parameterValue" :value="item.parameterKey" />
-          </ws-select>
-        </el-form-item>
-
-        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-          <ws-date-picker v-model="filtlistQuery.filtmakeDate" type="daterange" style="width:20em" range-separator :start-placeholder="$t('cg.querybdate')" :end-placeholder="$t('cg.queryedate')" value-format="yyyy-MM-dd" />
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <ws-button @click="clearfiltQuery">{{ $t("button.reset") }}</ws-button>
-        <ws-button type="primary" @click="handleFilter('')">{{ $t("button.filtration") }}</ws-button>
-      </div>
-    </ws-dialog>-->
-    <!-- 弹出页面-申请单筛选 -->
-
-    <!-- 弹出页面-筛选 -->
-    <!-- <ws-dialog :title="$t('button.filtration')" :visible.sync="dialogFormVisible" :modal="false" width="30em" class="dialogListquery" :close-on-click-modal="false">
-      <el-form ref="spclearsplistqueryForm" :model="filtlistQuery">
-        <el-form-item :label="$t('cg.pSparepart.sparepartList.makeDate')">
-          <ws-date-picker v-model="filtlistQuery.filtmakeDate" type="daterange" style="width:20em" range-separator :start-placeholder="$t('cg.querybdate')" :end-placeholder="$t('cg.queryedate')" value-format="yyyy-MM-dd" />
-        </el-form-item>
-        <el-form-item :label="$t('cg.pSparepart.sparepartList.status')">
-          <ws-select v-model="filtlistQuery.filtstatuSelected" style="width:20em" multiple collapse-tags :placeholder="$t('common.selected')">
-            <ws-option v-for="i in status" :key="i.status" :label="language=='en'?i.statusNameEn:i.statusName" :value="i.status" />
-          </ws-select>
-        </el-form-item>
-      </el-form>
-      <div slot="footer" class="dialog-footer">
-        <ws-button @click="clearfiltQuery">{{ $t("button.reset") }}</ws-button>
-        <ws-button type="primary" @click="handleFilter('')">{{ $t("button.filtration") }}</ws-button>
-      </div>
-    </ws-dialog>-->
-    <!-- 弹出页面-筛选 -->
-
-    <!-- 弹出页面-导入 -->
-    <div class="myDialogDiv">
-      <WinseaContentModal v-model='dialoguploadVisible'
-                          :title="$t('cg.applydetails.applicationForm')"
-                          @on-cancel="handleClose">
-        <div class="myDialog1">
-          <el-upload ref="upload"
-                     class="upload-demo"
-                     action
-                     :multiple="false"
-                     :file-list="fileList"
-                     :http-request="uploadSectionFile"
-                     :auto-upload="false">
-            <ws-button slot="trigger"
-                       size="small"
-                       type="success"
-                       @click="tempFileDownLoad">
-              {{ $t('cg.applydetails.eflashmtv') }}
-            </ws-button>
-            <ws-button slot="trigger"
-                       size="small"
-                       type="primary">{{
-              $t('cg.applydetails.selectImport')
-            }}</ws-button>
-            <div slot="tip"
-                 class="el-upload__tip">
-              {{ $t('cg.applydetails.importFile') }}
-            </div>
-          </el-upload>
-
-          <!-- <el-upload class="upload-demo">
-            <ws-button size="small" type="primary">选择导入</ws-button>
-            <div slot="tip" class="el-upload__tip">只能导入xlsx/xls文件,且不超过500kb</div>
-          </el-upload>-->
-        </div>
-        <span slot="footer"
-              class="dialog-footer">
-          <ws-button @click="dialoguploadVisible = false">{{
-            $t('button.cancel')
-          }}</ws-button>
-          <ws-button type="primary"
-                     @click="subHandleClose">{{
-            $t('button.confirm')
-          }}</ws-button>
-        </span>
-      </WinseaContentModal>
-      <!-- </ws-dialog> -->
-    </div>
-    <!-- 弹出页面-导入 -->
-  </div>
-</template>
-
-<script src="../../../viewsjs/procurement/procurementSpare/sparepartList.js" />
-<style lang="scss" scoped>
-@import '~@/styles/variables.scss';
-.table-column-title {
-  line-height: 32px;
-  line-height: 25px;
-  display: -webkit-box;
-  -webkit-line-clamp: 2;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  -webkit-box-orient: vertical;
-}
-/deep/.tabs-main {
-  .el-tabs__content {
-    background-color: #fff;
-    // height: calc(100vh- 70px);
-    // overflow-y: auto;
-  }
-}
-.allShips {
-  margin-top: 0px !important;
-}
-.myDialog1 {
-  height: 200px;
-  overflow: auto;
-}
-/deep/.link-style {
-  line-height: 43px;
-}
-/deep/.link-p {
-  div {
-    margin-top: 0;
-    margin-bottom: 0;
-  }
-}
-/deep/.el-table {
-  .cell {
-    line-height: auto !important;
-    height: auto !important;
-    word-break: break-word;
-  }
-}
-
-/deep/.el-textarea__inner {
-  resize: none;
-}
-
-/deep/.certificate-overview {
-  background-color: #eee;
-  margin-bottom: 10px;
-  .earlyWarning {
-    .overview-num {
-      color: $yellow !important;
-    }
-  }
-  .overDue {
-    .overview-num {
-      color: $red !important;
-    }
-  }
-  .overview-main {
-    width: 100%;
-    height: 50px;
-    background-color: #fff;
-    display: flex;
-    align-items: center;
-    .svg-icon {
-      width: 4.8em;
-      height: 4.8em;
-      padding-right: 30px;
-    }
-    .overview-box {
-      width: 100%;
-      display: inline-block;
-      vertical-align: middle;
-      padding-left: 30px;
-      .overview-title {
-        font-size: 14px;
-        font-weight: bold;
-        color: #333;
-      }
-      .overview-num {
-        line-height: 23px;
-        font-size: 27px;
-        font-weight: bold;
-      }
-    }
-  }
-  .el-col:nth-child(1) .overview-main {
-    width: calc(100% - 33px);
-  }
-  .el-col:nth-child(2) .overview-main {
-    width: calc(100% - 33px);
-  }
-  .el-col:nth-child(3) .overview-main {
-    width: calc(100% - 33px);
-  }
-}
-.edit-input {
-  width: 87%;
-}
-.spanSave,
-.saveSpan {
-  float: right;
-  font-size: 22px;
-}
-.dialogListquery {
-  .el-form-item {
-    margin-bottom: 15px;
-  }
-}
-.remarkSpan {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  display: inline-block;
-  width: 87%;
-}
-.nav-bar {
-  padding: 0px;
-  margin-top: 10px;
-}
-.nav-search {
-  float: right;
-}
-.searchThree,
-.searchTwo,
-.searchOne {
-  float: left;
-}
-.clearfix:after {
-  /*伪元素是行内元素 正常浏览器清除浮动方法*/
-  content: '';
-  display: block;
-  height: 0;
-  clear: both;
-  visibility: hidden;
-}
-.clearfix {
-  *zoom: 1; /*ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行*/
-}
-.dropdown {
-  margin-top: 10px;
-  cursor: pointer;
-}
-/deep/.el-dropdown-menu__item:not(.is-disabled):hover,
-/deep/.el-dropdown-menu__item:focus {
-  background-color: #f5f7fa;
-  color: #333;
-}
-
-/deep/.content {
-  .el-table {
-    th {
-      .cell {
-        color: #333;
-      }
-    }
-  }
-  .el-dialog {
-    position: fixed;
-    top: 0px;
-    right: 20%;
-    overflow: auto;
-    margin: 0;
-    width: 26em !important;
-    .el-dialog__footer {
-      height: 50px;
-      line-height: 50px;
-      padding: 0 20px 0 0;
-    }
-  }
-}
-.myDialogDiv {
-  /deep/.el-dialog {
-    position: fixed;
-    top: 0px;
-    right: 48%;
-    overflow: auto;
-    margin: 0;
-    width: 25em !important;
-    .el-dialog__footer {
-      height: 50px;
-      line-height: 50px;
-      padding: 0 20px 0 0;
-    }
-  }
-}
-
-/deep/.dialog .el-dialog {
-  position: relative;
-
-  left: 64%;
-  top: 0%;
-  margin-right: 10%;
-
-  background: #ffffff;
-
-  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
-  -webkit-box-sizing: border-box;
-
-  width: 539px;
-}
-/deep/.dialog .el-dialog__header,
-/deep/.dialog .el-dialog__footer {
-  background-color: #f6f6f6;
-}
-/deep/.dialog .el-dialog__header {
-  height: 50px;
-  padding: auto 20px;
-}
-
-.dropdownmenu {
-  width: 160px;
-  // margin-left: 75px !important;
-}
-/deep/.dropdownmenu .el-dropdown-menu__item {
-  text-align: center;
-  color: #333;
-}
-/deep/.dropdownmenu .popper__arrow {
-  left: 30px;
-}
-/deep/.selectTitle {
-  margin-bottom: 5px;
-}
-/deep/.select .el-select {
-  width: 100%;
-  margin-bottom: 20px;
-}
-.startDate {
-  width: 93%;
-  margin-bottom: 10px;
-}
-.endDate {
-  width: 100%;
-  margin-bottom: 20px;
-}
-/deep/.searchTwo .el-button--text {
-  color: #333;
-}
-/deep/.searchTwo .el-button--text:hover {
-  color: #1d6ced;
-}
-
-/deep/.searchTwo {
-  .el-dropdown {
-    .el-dropdown-link {
-      color: #606266;
-    }
-
-    .el-dropdown-link:hover {
-      color: #1d6ced;
-    }
-  }
-}
-
-.searchThree {
-  position: relative;
-}
-.searchThree .el-input--medium[data-v-226a5fb3] {
-  margin-right: 30px;
-}
-.searchThree .el-input--medium {
-  width: 240px;
-}
-/deep/.searchThree .el-input--medium .el-input__inner {
-  padding-left: 12px;
-}
-/deep/.searchThree .el-input__prefix {
-  left: 267px;
-}
-.searchIcon {
-  font-size: 32px;
-  position: absolute;
-  top: 0px;
-  right: 0px;
-}
-.main-list {
-  margin-top: 10px;
-  height: auto;
-  .pagination-container {
-    margin-top: 20px;
-  }
-  // padding: 10px 20px 10px;
-}
-/deep/.main-list .el-table .button .cell {
-  line-height: 20px;
-  height: 20px;
-  font-size: 12px;
-  padding-left: 0px;
-}
-/deep/.main-list .el-table .labelState .cell {
-  line-height: 20px;
-}
-.yhButton {
-  height: 50px;
-}
-/deep/ .el-popper {
-  /deep/ .popper__arrow {
-    left: 30px !important;
-  }
-  padding: 5px 10px;
-}
-.guolvmsg {
-  font-size: 14px;
-  color: #333;
-}
-
-.page-search-dialog {
-  padding: 0px !important;
-  border-width: 0px;
-  & .el-card__header {
-    font-size: 14px;
-    font-weight: bold;
-    & .card-head {
-      display: flex;
-      justify-content: space-between;
-      & i {
-        cursor: pointer;
-        font-size: 16px;
-        font-weight: bold;
-      }
-    }
-  }
-  & .el-card__body {
-    display: flex;
-    flex-direction: column;
-    padding: 10px 20px 20px 20px;
-    & .el-form-item {
-      margin: 0px;
-    }
-    & .card-footer {
-      display: flex;
-      justify-content: center;
-      margin-top: 20px;
-    }
-  }
-}
-/deep/ .tabs-main .el-tabs__nav-wrap::after {
-  border-bottom: 1px solid #eee !important;
-}
-</style>

+ 0 - 486
src/views/procurement/procurementStatistics/annualProcurementStatistics.vue

@@ -1,486 +0,0 @@
-<template>
-  <TableView class="product procurement-statistics"
-             @body-height-change="bodyHeightChange">
-    <template slot="header">
-      <BaseHeaderLayout>
-        <template slot="left">
-          <ws-button type="primary"
-                     @click="exportAnnualProcurementStatistics">
-            {{ $t('button.export') }}</ws-button>
-        </template>
-        <template slot="right">
-          <div>
-            <ws-date-picker v-model="page.billYear"
-                            type="year"
-                            format="yyyy"
-                            value-format="yyyy"
-                            :clearable="false"
-                            :placeholder="$t('common.selected')"
-                            @change="yearSelect" />
-          </div>
-          <BaseShipDropdown v-model="page.vesselId"
-                            @change="handleCommand" />
-        </template>
-      </BaseHeaderLayout>
-    </template>
-    <template slot="body">
-      <!-- body -->
-      <ws-normal-table v-if="tableData && tableData.length > 0"
-                       style="width: 100%"
-                       max-height="551"
-                       :data="tableData"
-                       :span-method="arraySpanMethod"
-                       :row-class-name="tableRowClassName"
-                       row-key="billTypeKey"
-                       @cell-click="cellClick">
-        <!-- 序号 -->
-        <ws-table-column align="center"
-                         fixed
-                         prop="no"
-                         :label="$t('common.num')"
-                         width="100">
-          <template slot-scope="{ row }">
-            <span class="spanClass">{{ row.num }}</span>
-          </template>
-        </ws-table-column>
-        <!-- 类别 -->
-        <ws-table-column align="left"
-                         fixed
-                         :label="$t('system.noticeCircular.category')">
-          <template slot-scope="{ row }">
-            <span class="spanClass">{{ getLanguage == 'en'?row.billTypeEn:row.billType }}</span>
-          </template>
-        </ws-table-column>
-        <!-- 合计 -->
-        <ws-table-column align="right"
-                         :label="$t('cg.total')"
-                         width="100">
-          <template slot-scope="{ row }">
-            <span>{{ row.purchaseCost | num }}</span>
-          </template>
-        </ws-table-column>
-        <!-- 一月 -->
-        <ws-table-column align="right"
-                         :label="$t('shipRepairManagement.annualRepair.Jan')"
-                         width="100">
-          <template slot-scope="{ row }">
-            <span>{{ row.oneMonth | num }}</span>
-          </template>
-        </ws-table-column>
-        <!-- 二月 -->
-        <ws-table-column align="right"
-                         :label="$t('shipRepairManagement.annualRepair.Feb')"
-                         width="100">
-          <template slot-scope="{ row }">
-            <span>{{ row.twoMonth | num }}</span>
-          </template>
-        </ws-table-column>
-        <!-- 三月 -->
-        <ws-table-column align="right"
-                         :label="$t('shipRepairManagement.annualRepair.Mar')"
-                         width="100">
-          <template slot-scope="{ row }">
-            <span>{{ row.threeMonth | num }}</span>
-          </template>
-        </ws-table-column>
-        <!-- 四月 -->
-        <ws-table-column align="right"
-                         :label="$t('shipRepairManagement.annualRepair.Apr')"
-                         width="100">
-          <template slot-scope="{ row }">
-            <span>{{ row.fourMonth | num }}</span>
-          </template>
-        </ws-table-column>
-        <!-- 五月 -->
-        <ws-table-column align="right"
-                         :label="$t('shipRepairManagement.annualRepair.May')"
-                         width="100">
-          <template slot-scope="{ row }">
-            <span>{{ row.fiveMonth | num }}</span>
-          </template>
-        </ws-table-column>
-        <!-- 六月 -->
-        <ws-table-column align="right"
-                         :label="$t('shipRepairManagement.annualRepair.Jun')"
-                         width="100">
-          <template slot-scope="{ row }">
-            <span>{{ row.sixMonth | num }}</span>
-          </template>
-        </ws-table-column>
-        <!-- 七月 -->
-        <ws-table-column align="right"
-                         :label="$t('shipRepairManagement.annualRepair.Jul')"
-                         width="100">
-          <template slot-scope="{ row }">
-            <span>{{ row.sevenMonth | num }}</span>
-          </template>
-        </ws-table-column>
-        <!-- 八月 -->
-        <ws-table-column align="right"
-                         :label="$t('shipRepairManagement.annualRepair.Aug')"
-                         width="100">
-          <template slot-scope="{ row }">
-            <span>{{ row.eightMonth | num }}</span>
-          </template>
-        </ws-table-column>
-        <!-- 九月 -->
-        <ws-table-column align="right"
-                         :label="$t('shipRepairManagement.annualRepair.Sep')"
-                         width="100">
-          <template slot-scope="{ row }">
-            <span>{{ row.nineMonth | num }}</span>
-          </template>
-        </ws-table-column>
-        <!-- 十月 -->
-        <ws-table-column align="right"
-                         :label="$t('shipRepairManagement.annualRepair.Oct')"
-                         width="100">
-          <template slot-scope="{ row }">
-            <span>{{ row.tenMonth | num }}</span>
-          </template>
-        </ws-table-column>
-        <!-- 十一月 -->
-        <ws-table-column align="right"
-                         :label="$t('shipRepairManagement.annualRepair.Nov')"
-                         width="100">
-          <template slot-scope="{ row }">
-            <span>{{ row.elevenMonth | num }}</span>
-          </template>
-        </ws-table-column>
-        <!-- 十二月 -->
-        <ws-table-column align="right"
-                         :label="$t('shipRepairManagement.annualRepair.Dec')"
-                         width="100">
-          <template slot-scope="{ row }">
-            <span>{{ row.twelveMonth | num }}</span>
-          </template>
-        </ws-table-column>
-      </ws-normal-table>
-    </template>
-    <div class="p10"
-         :key="getLanguage"
-         v-if="tableData && tableData.length > 0">
-      <div>
-        <div v-for="item in data.series"
-             :key="item.name"
-             class="echart-title">
-          <span>{{ item.name.substring(0,item.name.length-1) + $t('cg.statistics.totalPurchaseAmount')}}</span>
-          <span>{{ item.total | num }}</span>
-        </div>
-      </div>
-      <winseaview-echart-bar :theme="theme"
-                             :option="config"
-                             :data="getLanguage == 'en'?dataEn:data"
-                             width="100%"
-                             height="500"></winseaview-echart-bar>
-    </div>
-  </TableView>
-</template>
-
-<script>
-import { getPageBy } from '@/model/spareParts'
-import TableView from '@/layout/TableView'
-import TableViewMix from '@/layout/mixin/TableViewMix'
-import WsShipDropdown from '@/components/ShipDown/index'
-import { EventBus, dayjs } from 'base-core-lib'
-import { getPurchaseStatisticsCostExcelStatistics } from '@/model/indexRx'
-import { downloadFile } from '@/utils/batchDown'
-export default {
-  name: 'annualProcurementStatistics',
-  mixins: [TableViewMix],
-  components: {
-    TableView,
-    WsShipDropdown
-  },
-  data () {
-    return {
-      showEarchar: false,
-      page: {
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        billYear: dayjs().year() + '',
-        vesselId: ''
-      },
-      allShipName: '',
-      shipList: [],
-      tableData: [], // 数据集合
-
-      theme: 'winseaview',
-      data: {
-        categories: [
-          '一月',
-          '二月',
-          '三月',
-          '四月',
-          '五月',
-          '六月',
-          '七月',
-          '八月',
-          '九月',
-          '十月',
-          '十一月',
-          '十二月'
-        ],
-        series: []
-      },
-      dataEn: {
-        categories: [
-          'Jan',
-          'Feb',
-          'Mar',
-          'Apr',
-          'May',
-          'Jun',
-          'Jul',
-          'Aug',
-          'Sep',
-          'Oct',
-          'Nov',
-          'Dec'
-        ],
-        series: []
-      },
-      config: {
-        toolboxShow: true,
-        toolboxTop: '0',
-        toolboxOrient: 'horizontal',
-        toolboxFeatureDataViewShow: false,
-        toolboxFeatureDataViewReadOnly: false,
-        toolboxFeatureSaveAsImageShow: true,
-        toolboxFeatureMagicTypeShow: true,
-        // toolboxFeatureMagicTypeType: ['stack', 'tiled'],
-        switchTheme: true,
-        // title: '2020年度赢海科技营业报表',
-        titlePostion: '',
-        titleFontSize: 24,
-        titleColor: 'rgb(115, 170, 229)',
-        titleShow: true,
-        legend: true,
-        legendPostion: 'center',
-        legendLeft: '20',
-        width: 1200,
-        height: 600,
-        gridX: 105,
-        gridY: 50,
-        gridX2: 80,
-        gridY2: 100,
-        nameColor: '#333',
-        lineColor: '#333',
-        xNameFontSize: 16,
-        yNameFontSize: 16,
-        labelShow: true,
-        labelShowFontSize: 14,
-        labelShowFontWeight: 300,
-        yAxisInverse: false,
-        xAxisInverse: false,
-        xAxisShow: true,
-        yAxisShow: true,
-        xAxisSplitLineShow: false,
-        yAxisSplitLineShow: false,
-        refresh: 3000,
-        barWidth: 30,
-        barRadius: 8,
-        barColor: [
-          {
-            color1: '#83bff6',
-            color2: '#188df0',
-            postion: 90
-          },
-          {
-            color1: '#23B7E5',
-            color2: '#564AA3',
-            postion: 50
-          }
-        ],
-        barMinHeight: 2
-      }
-    }
-  },
-  filters: {
-    num (val) {
-      // 非空数值
-      if (val) {
-        val = parseFloat(val).toFixed(2)
-        // 获取整数部分
-        let intPart = Number(val) - (Number(val) % 1)
-        // 将整数部分逢三一断
-        let intPartFormat = intPart
-          .toString()
-          .replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
-        // 通过.把数值的整数部分和小数部分分割
-        let value2Array = val.toString().split('.')
-        let floatPart = value2Array[1]
-        return intPartFormat + '.' + floatPart
-      }
-      // 空数值返回'0.00'
-      else {
-        return '0.00'
-      }
-    }
-  },
-  created () {
-    this.getDataList()
-  },
-  mounted () {
-    setTimeout(() => {
-      this.showEarchar = true
-    }, 1500);
-  },
-  computed: {
-    getLanguage () {
-      return this.$store.getters.language
-    }
-  },
-  methods: {
-    async exportAnnualProcurementStatistics () {
-      const { compId, billYear } = this.page
-      if (!compId || !billYear) {
-        EventBus.$emit('error', '公司id 或者统计年份不能为空~')
-        return
-      }
-      const { data } = await getPurchaseStatisticsCostExcelStatistics(this.page, {}, { responseType: 'blob' }).toPromise()
-      downloadFile({ res: data, fileName: `${this.page.billYear}_采购统计`, type: 'xls' })
-    },
-    goDetail (row, name) {
-      this.$router.push({
-        name: 'purchaseDetails',
-        params: {
-          month: name == 'purchaseCost' ? '' : name,
-          year: this.page.billYear,
-          vesselId: this.page.vesselId,
-          billType: row.billTypeKey
-        }
-      })
-      sessionStorage.setItem('ws-pf_procurementStatistics', '2')
-    },
-    cellClick (row, column, cell) {
-      // if (row.billTypeKey == 'all' && column.label !== '类别') {
-      //   this.goDetail(row, column.label)
-      // }
-      if (
-        column.label !== '序号' &&
-        column.label !== '类别' &&
-        row.num.indexOf('.') == -1
-      ) {
-        this.goDetail(row, column.label)
-      }
-    },
-    // 船舶集合
-    selectShip () {
-      this.shipList = JSON.parse(sessionStorage.getItem('ws-pf_vessels'))
-      this.allShipName = this.shipList[0].vesselName
-      this.page.vesselId = this.shipList[0].vesselId
-    },
-    // 获取数据集合this
-    getDataList () {
-      this.tableData = []
-      getPageBy(this.page).toPromise().then(res => {
-        let arr = []
-        arr = res.list
-        arr.unshift(res.total[0])
-        arr[0].billTypeKey = 'all'
-        for (let i in arr) {
-          arr[i].num = i
-          if (arr[i].children && arr[i].children.length > 0) {
-            for (let k in arr[i].children) {
-              arr[i].children[k].billTypeKey =
-                arr[i].children[k].billTypeKey + k
-              arr[i].children[k].num = arr[i].num + '.' + (parseInt(k) + 1)
-            }
-          }
-        }
-        this.tableData = arr
-        this.data.series = res.earchar
-        this.dataEn.series = res.earchar
-      })
-
-    },
-    tableRowClassName ({ row, rowIndex }) {
-      if (row.num.indexOf('.') == -1) {
-        return 'total-row'
-      } else {
-        return ''
-      }
-      // else if (row.num.indexOf('.') == -1) {
-      // if (this.page.vesselId.length > 0) {
-      //   return 'type-row type-row-color'
-      // } else if (this.page.vesselId.length == 0 && row.billTypeKey == 'MATERIAL') {
-      //   return 'type-row type-row-color'
-      // } else {
-      //   return 'type-row'
-      // }
-      // }
-    },
-    arraySpanMethod ({ row, column, rowIndex, columnIndex }) {
-      if (row.billType == '合计总金额') {
-        if (columnIndex === 0) {
-          return [0, 0]
-        } else if (columnIndex === 1) {
-          return [1, 2]
-        }
-      }
-    },
-    // 选择年度
-    yearSelect () {
-      this.getDataList()
-    },
-    // 选择船舶
-    handleCommand (id) {
-      // this.allShipName = this.shipList.find(
-      //   itemPoint => itemPoint.vesselId === id
-      // ).vesselName
-      this.page.vesselId = id
-      this.getDataList()
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.procurement-statistics {
-  margin: 10px;
-  background: #ffffff;
-}
-.spanClass {
-  color: #666;
-}
-.totalClass {
-  color: #1d6ced;
-}
-::v-deep .total-row {
-  color: #1d6ced;
-  background: #ecf7fc;
-}
-::v-deep .type-row {
-  background: #f6fbfe;
-}
-::v-deep .type-row-color {
-  color: #1d6ced;
-}
-::v-deep .el-table .el-table__expand-icon {
-  display: inline;
-}
-::v-deep .el-table__indent {
-  padding-left: 0px;
-}
-.echart-title > span {
-  font-weight: bolder;
-  line-height: 23px;
-  font-size: 18px;
-}
-::v-deep .el-table .el-table__body .cell.el-tooltip {
-  width: auto !important;
-}
-.procurement-statistics {
-  overflow: auto;
-  height: calc(100vh - 112px);
-}
-
-::v-deep
-  .el-table
-  .el-table__body
-  tr:nth-of-type(1)
-  td:nth-of-type(1)
-  .el-tooltip {
-  margin-left: 100px;
-}
-</style>

+ 0 - 32
src/views/procurement/procurementStatistics/procurementStatistics.vue

@@ -1,32 +0,0 @@
-<!-- 采购模块 采购统计 -->
-<template>
-  <BaseTabsRouterLayout v-model="selectTab"
-                        :option="option"
-                        type="card" />
-</template>
-<script>
-export default {
-  name: 'procurementStatistics',
-  data () {
-    return {
-      selectTab: '',
-      option: {
-        column: [{
-          icon: 'el-icon-s-opportunity',
-          label: this.$t('route.annualPurchasingStatistics'),
-          prop: 'annualProcurementStatistics',
-          hasPromise: this.permissionIf('procurement.purStatistics.annPurCostStatistics.review'),
-          group: 'procurementStatistics'
-        }, {
-          icon: 'el-icon-s-opportunity',
-          label: this.$t('route.purchaseDetails'),
-          prop: 'purchaseDetails',
-          hasPromise: this.permissionIf('procurement.purStatistics.annPurCostStatistics.review'),
-          group: 'procurementStatistics'
-        }],
-        useRouter: true
-      },
-    }
-  },
-}
-</script>

+ 0 - 712
src/views/procurement/procurementStatistics/purchaseDetails.vue

@@ -1,712 +0,0 @@
-<!--
- * @Descripttion: 物料申请重构
- * @Author: xzb
- * @Date: 2020-02-20 09:04:35
- * @LastEditors : xzb
- * @LastEditTime : 2020-02-20 13:31:06
-  -->
-<template>
-  <TableView class="product purchase-detail"
-             @body-height-change="bodyHeightChange">
-    <template slot="header">
-      <!-- <div style="display: flex;">
-        <winsea-collect-card :title="$t('cg.totalPurchaseQuantity')"
-                             :number="12123"
-                             backgroundColor="#409EFF" />
-        <winsea-collect-card :title="$t('cg.totalPurchaseAmount')"
-                             :number="23423432"
-                             backgroundColor="gold" />
-      </div> -->
-      <div style="display: flex;">
-        <winsea-summary-card :title="$t('cg.totalPurchaseQuantity')"
-                             :total="info.amount ? info.amount+'' : '0'"
-                             icon="iconyigoushuliang"
-                             iconColor="#ff7600"
-                             style="flex:1">
-        </winsea-summary-card>
-        <winsea-summary-card :title="$t('cg.totalPurchaseAmount')"
-                             :total="info.money | num"
-                             icon="iconjine"
-                             iconColor="gold"
-                             style="flex:1">
-        </winsea-summary-card>
-      </div>
-      <BaseHeaderLayout>
-        <template slot="left">
-          <!-- 导出按钮 -->
-          <ws-button type="primary"
-                     @click="exportExcel">{{ $t('button.export') }}</ws-button>
-        </template>
-        <template slot="right">
-          <BaseShipDropdown v-model="params.vesselId"
-                            @change="handleCommand" />
-          <ws-dropdown trigger="click"
-                       class="dropdown"
-                       @command="changeType">
-            <span class="el-dropdown-link">
-              {{ $t(typeName) }}
-              <i class="iconfont iconxiajiantou" />
-            </span>
-            <ws-dropdown-menu slot="dropdown">
-              <ws-dropdown-item v-for="(item, value) in typeList"
-                                :key="value"
-                                :command="item.key">{{ $t(item.value) }}
-              </ws-dropdown-item>
-            </ws-dropdown-menu>
-          </ws-dropdown>
-          <span class="vertical-line">|</span>
-          <BaseHeaderFilter :total="total"
-                            @click="dialogFilter = true" />
-          <BaseInputSearch v-model="params.searchKeyword"
-                           :placeholder="$t('cg.inputReq')"
-                           @search="handleKeyFuzzy" />
-        </template>
-      </BaseHeaderLayout>
-    </template>
-    <template slot="body">
-
-      <!-- <ws-form :model="info"
-               class="mb10 total-form">
-        <ws-info-table>
-          <ws-form-item :label="$t('cg.totalPurchaseQuantity') + $t('common.colon')"
-                        :span="2">
-            <span>{{ info.amount ? info.amount : 0 }}</span>
-          </ws-form-item>
-          <ws-form-item :label="$t('cg.totalPurchaseAmount') + $t('common.colon')"
-                        :span="2">
-            <span>{{ info.money | num }}</span>
-          </ws-form-item>
-        </ws-info-table>
-      </ws-form> -->
-      <!-- 数据TABLE -->
-      <ws-class-table v-if="tableData && tableData.length > 0"
-                      :data="tableData"
-                      class="collapse-table"
-                      :check="false"
-                      :style="{ height: tableViewBodyHeight + 'px', overflow: 'hidden' }"
-                      border>
-        <!-- 二级表头 -->
-        <template v-slot:group-header="{ group, groupIndex }">
-          <div class="title">
-            <span>{{
-              (group.billTypeKey == 'SPAREPART'
-                ? $t('cg.cgsparedetail.devicename')
-                : (group.billTypeKey == 'MATERIAL'?$t('route.materialClass'):$t('route.navigationClassifyList'))) + $t('common.colon')
-            }}</span>
-            <span>{{ group.spMaTypeName }}</span>
-          </div>
-          <div class="title"
-               v-if="group.billTypeKey == 'SPAREPART'">
-            <span>{{ $t('rt.equipmentModel') + $t('common.colon') }}</span>
-            <span>{{ group.deviceModel ? group.deviceModel : '--' }}</span>
-          </div>
-          <div class="title"
-               v-if="group.billTypeKey == 'SPAREPART'">
-            <span>{{
-              $t('cg.cgsparedetail.leavefaccode') + $t('common.colon')
-            }}</span>
-            <span>{{ group.leaveFacCode }}</span>
-          </div>
-          <div class="title"
-               v-if="group.billTypeKey == 'SPAREPART'">
-            <span>{{
-              $t('cg.cgsparedetail.manufacturer') + $t('common.colon')
-            }}</span>
-            <span>{{ group.manufacturer }}</span>
-          </div>
-        </template>
-        <!--序号-->
-        <ws-class-table-col :label="$t('common.num')"
-                            align="center"
-                            :span="0.8">
-          <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-            {{ data.index }}
-          </template>
-        </ws-class-table-col>
-        <!--申请船舶-->
-        <ws-class-table-col :label="$t('cg.statistics.applicationShip')"
-                            align="center"
-                            :span="2">
-          <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-            <span :title="data.vesselName">{{ data.vesselName }}</span>
-          </template>
-        </ws-class-table-col>
-        <!-- 备件/物料名称 -->
-        <ws-class-table-col :label="$t('cg.statistics.typeName')"
-                            :span="2.5"
-                            align="center">
-          <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-            <span>{{ data.name }}</span>
-          </template>
-        </ws-class-table-col>
-        <!-- 系统/物料编码 -->
-        <ws-class-table-col :label="$t('cg.statistics.code')"
-                            :span="2"
-                            align="center">
-          <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-            <span :title="data.systemCode">{{ data.systemCode }}</span>
-          </template>
-        </ws-class-table-col>
-        <!-- 单位 -->
-        <ws-class-table-col :label="$t('rt.unit')"
-                            :span="0.8"
-                            align="center">
-          <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-            <span :title="data.measurementUnitName">{{
-              data.measurementUnitName
-            }}</span>
-          </template>
-        </ws-class-table-col>
-        <!-- 数量 -->
-        <ws-class-table-col :label="$t('rt.suppliedQty')"
-                            :span="1"
-                            align="center">
-          <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-            <span :title="data.inStoreQuantity">{{
-              data.inStoreQuantity
-            }}</span>
-          </template>
-        </ws-class-table-col>
-        <!--无税定价-->
-        <ws-class-table-col :label="$t('cg.cgsparedetail.unitPrice')"
-                            :span="1.3">
-          <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-            !isNull(data.bargainPrice)
-              ? parseFloat(data.bargainPrice).toFixed(2)
-              : 0.0
-          }}</template>
-        </ws-class-table-col>
-        <!--税金-->
-        <!-- <ws-class-table-col :label="$t('cg.cgsparedetail.taxes')">
-          <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-            <span :title="data.taxes">{{ data.taxes }}</span>
-          </template>
-        </ws-class-table-col> -->
-        <!--税后小计-->
-        <ws-class-table-col :label="$t('cg.cgsparedetail.afterTaxSubtotal')"
-                            :span="1.3">
-          <template v-slot="{ data, colIndex, rowIndex, groupIndex }">{{
-            !isNull(data.purchaseCost)
-              ? parseFloat(data.purchaseCost).toFixed(2)
-              : 0.0
-          }}</template>
-        </ws-class-table-col>
-        <!-- 采购日期 -->
-        <ws-class-table-col :label="$t('cg.purchaseHistory.purDate')"
-                            :span="1.5"
-                            align="center">
-          <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-            <span :title="data.makeDate">{{ data.makeDate }}</span>
-          </template>
-        </ws-class-table-col>
-        <!-- 采购人 -->
-        <ws-class-table-col :label="$t('cg.statistics.purchaser')"
-                            :span="2"
-                            align="center">
-          <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-            <span :title="data.makeUserName">{{ data.makeUserName }}</span>
-          </template>
-        </ws-class-table-col>
-        <!-- 供应商 -->
-        <ws-class-table-col :label="$t('cg.supplier.supplier')"
-                            :span="2"
-                            align="center">
-          <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-            <span :title="data.vendorName">{{ data.vendorName }}</span>
-          </template>
-        </ws-class-table-col>
-        <!-- 采购单号 -->
-        <!--    <ws-class-table-col
-          :label="$t('cg.purchaseHistory.sparepartNo')"
-          :span="2"
-          align="center"
-        >
-          <template v-slot="{ data, colIndex, rowIndex, groupIndex }">
-            <span
-              v-if="data.purchaseNo == '直接供船'"
-              :title="data.purchaseNo"
-              >{{ data.purchaseNo }}</span
-            >
-            <span
-              v-else
-              :title="data.purchaseNo"
-              class="link-type link-style"
-              @click="goPurchasDetail(data)"
-              >{{ data.purchaseNo }}</span
-            >
-          </template>
-        </ws-class-table-col>-->
-      </ws-class-table>
-      <div v-else
-           style="color: #999;text-align: center;width: 100%;"
-           :style="{
-          height: tableViewBodyHeight - 100 + 'px',
-          overflow: 'auto',
-          lineHeight: tableViewBodyHeight - 100 + 'px',
-          overflow: 'auto'
-        }">
-        暂无数据
-      </div>
-    </template>
-    <template slot="footer">
-      <!-- 页面底部的分页 -->
-      <pagination v-show="total > 0"
-                  :total="total"
-                  :page.sync="params.currentPage"
-                  :limit.sync="params.pageSize"
-                  @pagination="pageChanged" />
-    </template>
-    <div class="nav-search">
-      <ws-dialog class="dialog"
-                 :title="$t('common.filter')"
-                 :visible.sync="dialogFilter"
-                 :modal="false"
-                 :before-close="filterClosure">
-        <span>
-          <!-- 设备分类 -->
-          <div class="select">
-            <div class="selectTitle">
-              <span>{{ $t('bj.location.date')
-                      }}{{ $t('common.colon') }}</span>
-            </div>
-            <el-date-picker v-model="datevalue"
-                            class="mb20"
-                            type="daterange"
-                            start-placeholder="开始日期"
-                            end-placeholder="结束日期"
-                            size="small"
-                            @change="dateSearch">
-            </el-date-picker>
-          </div>
-          <!-- 设备分类 -->
-          <div class="select"
-               v-if="showFilter">
-            <div class="selectTitle">
-              <span>{{ $t('bj.deviceManagement.deviceTypeId')
-                      }}{{ $t('common.colon') }}</span>
-            </div>
-            <ws-select :placeholder="$t('common.selected')"
-                       v-model="params.spTypeId"
-                       @change="changeSpId">
-              <ws-option v-for="item in spareTypeList"
-                         :key="item.deviceTypeId"
-                         :label="item.deviceTypeName"
-                         :value="item.deviceTypeId" />
-            </ws-select>
-          </div>
-          <!-- 物料分类 -->
-          <div class="select"
-               v-if="showFilter">
-            <div class="selectTitle">
-              <span>{{ $t('route.materialClass')
-                      }}{{ $t('common.colon') }}</span>
-            </div>
-            <ws-select :placeholder="$t('common.selected')"
-                       v-model="params.maTypeId"
-                       @change="changeMaId">
-              <ws-option v-for="item in materialTypeList"
-                         :key="item.maTypeId"
-                         :label="item.maTypeName"
-                         :value="item.maTypeId" />
-            </ws-select>
-          </div>
-
-          <!-- 航海资料分类 -->
-          <div class="select"
-               v-if="showFilter">
-            <div class="selectTitle">
-              <span>{{ $t('route.navigationClass')
-                      }}{{ $t('common.colon') }}</span>
-            </div>
-            <ws-select :placeholder="$t('common.selected')"
-                       v-model="params.mcTypeId"
-                       @change="changeMapId">
-              <ws-option v-for="item in navigationTypeList"
-                         :key="item.id"
-                         :label="item.typeName"
-                         :value="item.id" />
-            </ws-select>
-          </div>
-
-        </span>
-        <span slot="footer"
-              class="dialog-footer">
-          <div class="elButton">
-            <ws-button @click="formReset">{{
-                    $t('common.reset')
-                  }}</ws-button>
-            <ws-button type="primary"
-                       @click="formScreen">{{
-                    $t('common.filter')
-                  }}</ws-button>
-          </div>
-        </span>
-      </ws-dialog>
-    </div>
-  </TableView>
-</template>
-
-<script>
-import Pagination from '@/components/Pagination'
-import { selectPageInfo } from '@/model/material'
-import TableView from '@/layout/TableView'
-import TableViewMix from '@/layout/mixin/TableViewMix'
-import WsShipDropdown from '@/components/ShipDown/index'
-import WsStatusRadio from '@/components/RadioGroup'
-import { getSupplyDeviceTypeList, maDeviceTree } from '@/model/supply'
-import { EventBus, dayjs } from 'base-core-lib'
-import { getNavigationTypes } from '@/model/navigation'
-import { getPurchaseStatisticsCostStatisticsDetails } from '@/model/indexRx'
-import { downloadFile } from '@/utils/batchDown'
-
-export default {
-  mixins: [TableViewMix],
-  components: { Pagination, TableView, WsShipDropdown, WsStatusRadio },
-  data () {
-    return {
-      showFilter: true,
-      spareTypeList: [],
-      materialTypeList: [],
-      navigationTypeList: [],
-      datevalue: [],
-      dutyId: sessionStorage.getItem('ws-pf_dutyId'),
-      loading: false,
-      vesselBankFlag: false, // 判断是否是船端的boolean true为是船端
-      allVesselName: '',
-      shipList: [], // 船舶集合
-      department: [], // 部门集合
-      statusList: [], // 状态集合
-      tableData: [],
-      info: {},
-      dutyFlag: false,
-      dialogFilter: false, // 筛选弹窗标识
-      total: 0, // 总数
-      dateFilters: [], // 过滤弹窗日期
-      // 查询入参
-      params: {
-        compId: sessionStorage.getItem('ws-pf_compId'),
-        vesselId: this.$route.params.vesselId,
-        month: this.$route.params.month,
-        year: this.$route.params.year,
-        billType: this.$route.params.billType
-          ? this.$route.params.billType
-          : 'all',
-        spTypeId: '',
-        maTypeId: '',
-        mcTypeId: '',
-        searchKeyword: '',
-        startDate: '',
-        endDate: '',
-        currentPage: 1,
-        pageSize: 10,
-        orderColunm: '',
-        order: ''
-      },
-      typeList: [
-        {
-          key: 'all',
-          value: 'common.all'
-        },
-        {
-          key: 'SPAREPART',
-          value: 'cg.spareParts'
-        },
-        {
-          key: 'MATERIAL',
-          value: 'cg.materials'
-        },
-        {
-          key: 'NAVIGATION',
-          value: 'cg.navigation'
-        }
-      ],
-      typeName: 'common.all'
-    }
-  },
-  computed: {
-    languageVal () {
-      let language = this.$store.state.app.language
-      return language
-    }
-  },
-  filters: {
-    num (val) {
-      // 非空数值
-      if (val) {
-        val = parseFloat(val).toFixed(2)
-        // 获取整数部分
-        let intPart = Number(val) - (Number(val) % 1)
-        // 将整数部分逢三一断
-        let intPartFormat = intPart
-          .toString()
-          .replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
-        // 通过.把数值的整数部分和小数部分分割
-        let value2Array = val.toString().split('.')
-        let floatPart = value2Array[1]
-        return intPartFormat + '.' + floatPart
-      }
-      // 空数值返回'0.00'
-      else {
-        return '0.00'
-      }
-    }
-  },
-  created () {
-    if (!this.$route.params.year) {
-      this.datevalue = [
-        dayjs().format('YYYY') + '-01' + '-01',
-        dayjs().format('YYYY-MM-DD')
-        // new Date(new Date().getFullYear(), 0, 1),
-        // new Date(
-        //   new Date().getFullYear(),
-        //   new Date().getMonth(),
-        //   new Date().getDate()
-        // )
-      ]
-      // this.params.startDate = dayjs(new Date(new Date().getFullYear(), 0, 1)).format('YYYYMMDD')
-      this.params.startDate = dayjs().format('YYYY') + '-01' + '-01'
-      this.params.endDate = dayjs().format('YYYY-MM-DD')
-      // this.params.endDate = dayjs(
-      //   new Date(
-      //     new Date().getFullYear(),
-      //     new Date().getMonth(),
-      //     new Date().getDate()
-      //   ),
-      // ).format('YYYYMMDD')
-    }
-    // else {
-    //   this.datevalue = [
-    //     new Date(this.$route.params.year, this.$route.params.month, 1),
-    //     new Date(this.$route.params.year, this.$route.params.month + 1, 1)
-    //   ]
-    // }
-  },
-  mounted () {
-    this.typeName = this.typeList[
-      this.typeList.findIndex(item => item.key === this.params.billType)
-    ].value
-    this.getSpareType()
-    this.getMaterialType()
-    this.getNavigationType()
-    this.init()
-  },
-  methods: {
-    changeSpId (val) {
-      this.params.spTypeId = val
-    },
-    changeMaId (val) {
-      this.params.maTypeId = val
-    },
-    changeMapId (val) {
-      this.params.mcTypeId = val
-    },
-    // 获取设备分类
-    getSpareType () {
-      const queryDate = {
-        compId: sessionStorage.getItem('ws-pf_compId')
-      }
-      getSupplyDeviceTypeList(queryDate).toPromise().then(succ => {
-        this.spareTypeList = succ
-      })
-    },
-    // 获取物料分类
-    getMaterialType () {
-      const queryDate = {
-        compId: sessionStorage.getItem('ws-pf_compId')
-      }
-      maDeviceTree(queryDate).toPromise().then(succ => {
-        this.materialTypeList = succ
-      })
-    },
-    // 获取航海资料分类
-    getNavigationType () {
-      const queryDate = {
-        compId: sessionStorage.getItem('ws-pf_compId')
-      }
-      getNavigationTypes(queryDate).toPromise().then(succ => {
-        this.navigationTypeList = succ
-      })
-    },
-    goPurchasDetail (data) {
-      let url =
-        data.billTypeKey == 'SPAREPART' ? 'purchasDetail' : 'purchasDetailMa'
-      this.$router.push({
-        path: '/' + url,
-        name: url,
-        query: {
-          purchaseId: data.purchaseId,
-          pageBtnShowType: false
-        }
-      })
-    },
-    dateSearch (data) {
-      if (data !== null) {
-        this.params.startDate = dayjs(data[0]).format('YYYY-MM-DD')
-        this.params.endDate = dayjs(data[1]).format('YYYY-MM-DD')
-        // this.params.startDate = dayjs(new Date(data[0])).format('YYYYMMDD')
-        // this.params.endDate = dayjs(new Date(data[1])).format('YYYYMMDD')
-      } else {
-        this.params.startDate = ''
-        this.params.endDate = ''
-      }
-    },
-    // 页面初始化
-    init () {
-      this.tableData = []
-      selectPageInfo(this.params).toPromise().then(res => {
-        let arr = res.list
-        let num = 1
-        for (let i of arr) {
-          for (let j of i.children) {
-            j.index = num
-            num++
-          }
-        }
-        this.tableData = arr
-        this.info = res.info
-        this.params.currentPage = res.current
-        this.total = res.total
-      })
-    },
-
-    // 导出按钮事件
-    async exportExcel () {
-      if (!this.params.compId) {
-        EventBus.$emit('error', '组织必填~')
-        return
-      }
-      const { data } = await getPurchaseStatisticsCostStatisticsDetails(this.params, {}, { responseType: 'blob' }).toPromise()
-      downloadFile({ res: data, fileName: `${this.params.startDate + '~' + this.params.endDate}_采购明细`, type: 'xls' })
-    },
-    // ================================ 过滤筛选 STR================================
-    changeType (val) {
-      this.typeName = this.typeList[
-        this.typeList.findIndex(item => item.key === val)
-      ].value
-      this.params.billType = val
-      this.params.spTypeId = ''
-      this.params.maTypeId = ''
-      this.params.mcTypeId = ''
-      this.init()
-    },
-    /**
-     * 船舶切换
-     */
-    handleCommand (command, item) {
-      // 显示船舶名
-      // this.allVesselName = this.shipList.find(
-      //   item => item.vesselId === command
-      // ).vesselName
-      console.info(item, 'item1')
-      this.showFilter = item.clientFlag * 1 === 1
-      this.params.vesselId = command
-      this.params.currentPage = 1
-      this.init()
-    },
-    // 筛选表单过滤查询
-    formScreen () {
-      if (
-        this.params.spTypeId.length > 0 ||
-        this.params.spTypeId.maTypeId > 0 ||
-        this.params.spTypeId.mcTypeId > 0
-      ) {
-        this.params.billType = 'all'
-        this.typeName = 'common.all'
-      }
-      this.params.currentPage = 1
-      this.init()
-      this.dialogFilter = false
-    },
-    // 筛选表单重置
-    formReset () {
-      this.$nextTick(() => {
-        this.datevalue = []
-        this.params.startDate = ''
-        this.params.endDate = ''
-        this.params.spTypeId = ''
-        this.params.maTypeId = ''
-        this.params.mcTypeId = ''
-        this.params.currentPage = 1
-        this.dateFilters = []
-        this.init()
-        this.dialogFilter = false
-      })
-    },
-    // 关闭过滤弹窗
-    filterClosure () {
-      this.dialogFilter = false
-    },
-    // 触发模糊查询
-    handleKeyFuzzy () {
-      this.params.currentPage = 1
-      this.init()
-    },
-    // 模糊查询重置
-    handleKeyReset () {
-      this.params.currentPage = 1
-      this.init()
-    },
-    // ================================ 过滤筛选 END================================
-
-    // 分页函数
-    pageChanged (event, value) {
-      if (event === 'update:page') {
-        this.params.currentPage = value
-      } else if (event === 'update:limit') {
-        this.params.pageSize = value
-      }
-      this.init()
-    }
-  }
-}
-</script>
-
-<style lang="scss" scoped>
-.purchase-detail {
-  .wct {
-    border-bottom: 1px solid #ccc !important;
-  }
-  .title {
-    width: 25%;
-    padding: 0 30px;
-  }
-
-  .vesselClass {
-    float: left;
-    line-height: 35px;
-    margin-left: 10px;
-  }
-
-  .searchIcon {
-    position: absolute;
-    top: -6px;
-    cursor: pointer;
-    font-size: 32px;
-    right: -29;
-  }
-
-  .searchThree {
-    /deep/ .el-input {
-      width: 300px;
-    }
-  }
-
-  .select_mg {
-    /deep/ .el-input__inner {
-      height: 34px;
-    }
-
-    /deep/ .el-input__icon {
-      line-height: 34px;
-    }
-  }
-
-  .handle {
-    padding: 0 15px;
-    padding-right: 0px;
-  }
-  // .total-form {
-  //   border-bottom: 1px solid #ccc;
-  // }
-}
-</style>

+ 61 - 62
src/views/statisticalReport/purchaseClosingCashierList.vue

@@ -2,19 +2,22 @@
 <template>
   <div class="container">
     <el-scrollbar style="height:100%">
-        <div>
-          <ws-button type="primary" @click="handlestatus(1)">待审核</ws-button>
-          <ws-button type="primary" @click="handlestatus(2)">待结算</ws-button>
-          <ws-button type="primary" @click="handlestatus(3)">已结算</ws-button>
-          <ws-button type="primary" @click="handlestatus('')">全部</ws-button>
-         <ws-button type="primary" @click="handlepass1()">通过1</ws-button>
-          <ws-button type="primary" @click="handlereject(3)">驳回1</ws-button>
-          <ws-button type="primary" @click="handlepass()">通过</ws-button>
-          <ws-button type="primary" @click="handlereject(2)">驳回</ws-button>
-          <ws-button type="primary" @click="handleAudit()">审核</ws-button>
-          <ws-button type="primary" @click="handlepayment()">付款</ws-button>
-          <ws-button type="primary" @click="handlecollect()">收款</ws-button>
-           <ws-select
+      <el-row>
+        <el-col style='padding-left:15px;' :span="12">
+          <ws-button :type="searchType==1?'primary':''" @click="handlestatus(1)">待审核</ws-button>
+          <ws-button :type="searchType==2?'primary':''" @click="handlestatus(2)">待结算</ws-button>
+          <ws-button :type="searchType==3?'primary':''" @click="handlestatus(3)">已结算</ws-button>
+          <ws-button :type="searchType==''?'primary':''" @click="handlestatus('')">全部</ws-button>
+         <ws-button v-if='roleId=="9ad8abb997714ef29068f23c2ad3b125"' type="primary" @click="handlepass1()">通过1</ws-button>
+          <ws-button v-if='roleId=="9ad8abb997714ef29068f23c2ad3b125"' type="primary" @click="handlereject(3)">驳回1</ws-button>
+          <ws-button v-if='roleId=="cca3cf0ca2814d1e918f5b0a4380fe69"' type="primary" @click="handlepass()">通过</ws-button>
+          <ws-button v-if='roleId=="cca3cf0ca2814d1e918f5b0a4380fe69"' type="primary" @click="handlereject(2)">驳回</ws-button>
+          <ws-button v-if='roleId=="4c2d50d8ff2943c1b7a1e947feefe048"' type="primary" @click="handleAudit()">审核</ws-button>
+          <ws-button v-if='roleId=="3d7b9179552b4c3e9c2d7af43962e2e4"' type="primary" @click="handlepayment()">付款</ws-button>
+          <ws-button v-if='roleId=="3d7b9179552b4c3e9c2d7af43962e2e4"' type="primary" @click="handlecollect()">收款</ws-button>
+        </el-col>
+        <el-col style='text-align:right;line-height:60px;padding-right:10px;' :span="12">
+          <ws-select
             v-model="contractNo"
             placeholder="请选择合同"
             clearable
@@ -35,8 +38,50 @@
                 :value="item.contractNo"
               />
           </ws-select>
-        </div>
-          <el-dialog
+        </el-col>
+      </el-row>
+        <el-table
+          class="wenzi"
+          :data="warehouseList.records"
+          style="width: 100%; margin-top: 20px"
+          ref="warehouseList"
+          border
+          :summary-method="getSummaries"
+          show-summary
+          @selection-change="handleSelectionChange"
+        >
+          <el-table-column type="selection" width="55"></el-table-column>
+          <el-table-column type="index" label="序号" width="50"></el-table-column>
+          <el-table-column class="table_td" prop="contractNo" label="合同编号"></el-table-column>
+          <el-table-column class="table_td" prop="closePositionDate" label="平仓日期"></el-table-column>
+          <el-table-column width='100' class="table_td" prop="closingQuantity" label="平仓数量(吨)"></el-table-column>
+          <el-table-column width='120' class="table_td" prop="transactionPrice" label="成交价格(元/吨)"></el-table-column>
+          <el-table-column width='120' class="table_td" prop="closeRate" label="平仓价格(元/吨)"></el-table-column>
+          <el-table-column width='100' class="table_td" prop="basisPrice" label="基差(元/吨)"></el-table-column>
+          <el-table-column width='100' class="table_td" prop="amountIngPayable" label="应付金额(元)"></el-table-column>
+          <el-table-column width='100' class="table_td" prop="amountEdPayable" label="已付金额(元)"></el-table-column>
+          <el-table-column width='100' class="table_td" prop="amountNotPayable" label="未付金额(元)"></el-table-column>
+          <el-table-column class="table_td" prop="paymentDate" label="付款日期"></el-table-column>
+          <el-table-column width='100' class="table_td" prop="collectionIngPayable" label="应收金额(元)"></el-table-column>
+          <el-table-column width='100' class="table_td" prop="collectionEdPayable" label="已收金额(元)"></el-table-column>
+          <el-table-column width='100' class="table_td" prop="collectionNotPayable" label="未收金额(元)"></el-table-column>
+          <el-table-column class="table_td" prop="collectionDate" label="收款日期"></el-table-column>
+          <el-table-column class="table_td" prop="customerName" label="客户"></el-table-column>
+          <el-table-column class="table_td" prop="warehouseName" label="库点"></el-table-column>
+          <el-table-column prop="status" label="状态"></el-table-column>
+        </el-table>
+
+        <!-- 页数 -->
+        <el-pagination
+          @size-change="handleSizeChange"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          :page-size="pageSize"
+          layout="total, sizes, prev, pager, next, jumper"
+          :total="deptBudgetTotal"
+        ></el-pagination>
+    </el-scrollbar>
+    <el-dialog
             width="25%"
             title="付款"
             :visible.sync="dialogFormVisible1"
@@ -141,48 +186,6 @@
               <el-button type="primary" @click="collectment">提 交</el-button>
             </div>
           </el-dialog>
-
-        <el-table
-          class="wenzi"
-          :data="warehouseList.records"
-          style="width: 100%; margin-top: 20px"
-          ref="warehouseList"
-          border
-          :summary-method="getSummaries"
-          show-summary
-          @selection-change="handleSelectionChange"
-        >
-          <el-table-column type="selection" width="55"></el-table-column>
-          <el-table-column type="index" label="序号" width="50"></el-table-column>
-          <el-table-column class="table_td" prop="contractNo" label="合同编号"></el-table-column>
-          <el-table-column class="table_td" prop="closePositionDate" label="平仓日期"></el-table-column>
-          <el-table-column class="table_td" prop="closingQuantity" label="平仓数量(吨)"></el-table-column>
-          <el-table-column class="table_td" prop="transactionPrice" label="成交价格(元/吨)"></el-table-column>
-          <el-table-column class="table_td" prop="closeRate" label="平仓价格(元/吨)"></el-table-column>
-          <el-table-column class="table_td" prop="basisPrice" label="基差(元/吨)"></el-table-column>
-          <el-table-column class="table_td" prop="amountIngPayable" label="应付金额(元)"></el-table-column>
-          <el-table-column class="table_td" prop="amountEdPayable" label="已付金额(元)"></el-table-column>
-          <el-table-column class="table_td" prop="amountNotPayable" label="未付金额(元)"></el-table-column>
-          <el-table-column class="table_td" prop="paymentDate" label="付款日期"></el-table-column>
-          <el-table-column class="table_td" prop="collectionIngPayable" label="应收金额(元)"></el-table-column>
-          <el-table-column class="table_td" prop="collectionEdPayable" label="已收金额(元)"></el-table-column>
-          <el-table-column class="table_td" prop="collectionNotPayable" label="未收金额(元)"></el-table-column>
-          <el-table-column class="table_td" prop="collectionDate" label="收款日期"></el-table-column>
-          <el-table-column class="table_td" prop="customerName" label="客户"></el-table-column>
-          <el-table-column class="table_td" prop="warehouseName" label="库点"></el-table-column>
-          <el-table-column prop="status" label="状态"></el-table-column>
-        </el-table>
-
-        <!-- 页数 -->
-        <el-pagination
-          @size-change="handleSizeChange"
-          @current-change="handleCurrentChange"
-          :current-page="currentPage"
-          :page-size="pageSize"
-          layout="total, sizes, prev, pager, next, jumper"
-          :total="deptBudgetTotal"
-        ></el-pagination>
-    </el-scrollbar>
   </div>
 
   <!-- </div> -->
@@ -654,10 +657,6 @@ export default {
   color: #5878e8;
   cursor: default;
 }
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
 .el-button--default {
   color: #8890b1;
   border-color: #e8eaf1;
@@ -806,7 +805,7 @@ export default {
   background-color: #5878e8;
   border-color: #5878e8;
   // margin-left: 85%;
-  margin-top: 20px;
+  margin-top: 13px;
 }
 //导航条样式
 .el-col-12 {

+ 56 - 35
src/views/statisticalReport/purchaseReceiptStatisticsList.vue

@@ -2,21 +2,23 @@
 <template>
   <div class="container">
     <el-scrollbar style="height: 100%">
-      <!-- <div> -->
-      <div>
-        <ws-button type="primary" @click="handlestatus(1)">待审核</ws-button>
-        <ws-button type="primary" @click="handlestatus(2)">待结算</ws-button>
-        <ws-button type="primary" @click="handlestatus(3)">已结算</ws-button>
-        <ws-button type="primary" @click="handlestatus('')">全部</ws-button>
-        <ws-button type="primary" @click="handlepass1()">通过1</ws-button>
-        <ws-button type="primary" @click="handlereject(3)">驳回1</ws-button>
-        <ws-button type="primary" @click="handlepass()">通过</ws-button>
-        <ws-button type="primary" @click="handlereject(2)">驳回</ws-button>
-        <ws-button type="primary" @click="handlepayment">付款</ws-button>
-        <ws-button type="primary" @click="handleninvoice">开发票</ws-button>
-        <ws-button type="primary" @click="amend()">修改</ws-button>
-        <ws-button type="primary" @click="carryover">补货结转</ws-button>
-        <ws-button type="primary" @click="handleAudit()">审核</ws-button>
+     <el-row>
+        <el-col style='padding-left:15px;' :span="12">
+        <ws-button :type="searchType==1?'primary':''" @click="handlestatus(1)">待审核</ws-button>
+          <ws-button :type="searchType==2?'primary':''" @click="handlestatus(2)">待结算</ws-button>
+          <ws-button :type="searchType==3?'primary':''" @click="handlestatus(3)">已结算</ws-button>
+          <ws-button :type="searchType==''?'primary':''" @click="handlestatus('')">全部</ws-button>
+        <ws-button v-if='roleId=="9ad8abb997714ef29068f23c2ad3b125"' type="primary" @click="handlepass1()">通过</ws-button>
+        <ws-button v-if='roleId=="9ad8abb997714ef29068f23c2ad3b125"' type="primary" @click="handlereject(3)">驳回</ws-button>
+        <ws-button v-if='roleId=="cca3cf0ca2814d1e918f5b0a4380fe69"' type="primary" @click="handlepass()">通过</ws-button>
+        <ws-button v-if='roleId=="cca3cf0ca2814d1e918f5b0a4380fe69"' type="primary" @click="handlereject(2)">驳回</ws-button>
+        <ws-button v-if='roleId=="3d7b9179552b4c3e9c2d7af43962e2e4"' type="primary" @click="handlepayment">付款</ws-button>
+        <ws-button v-if='roleId=="3d7b9179552b4c3e9c2d7af43962e2e4"' type="primary" @click="handleninvoice">开发票</ws-button>
+        <ws-button v-if='roleId=="4c2d50d8ff2943c1b7a1e947feefe048"' type="primary" @click="amend()">修改</ws-button>
+        <ws-button v-if='roleId=="4c2d50d8ff2943c1b7a1e947feefe048"' type="primary" @click="carryover">补货结转</ws-button>
+        <ws-button  v-if='roleId=="4c2d50d8ff2943c1b7a1e947feefe048"' type="primary" @click="handleAudit()">审核</ws-button>
+        </el-col>
+        <el-col style='text-align:right;line-height:60px;padding-right:10px;' :span="12">
         <ws-select
           v-model="contractNo"
           placeholder="请选择合同"
@@ -28,18 +30,29 @@
         >
           <ws-option key="" label="全部合同" value="" />
           <ws-option
-            v-for="item in contractNoList.records"
+          v-if='item.reportStatus'
+            v-for="item in contractNoList"
             :key="item.constKey"
-            :label="item.contractNo + '(' + item.closeaccountstatus + ')'"
+            :label="item.contractNo + '(' + item.reportStatus + ')'"
+            :value="item.contractNo"
+          />
+          <ws-option
+          v-if='!item.reportStatus'
+            v-for="item in contractNoList"
+            :key="item.constKey"
+            :label="item.contractNo"
             :value="item.contractNo"
           />
         </ws-select>
-      </div>
-
-      <span>合同重量:吨</span>
+      </el-col>
+      </el-row>
+      <div v-if='contractNo!=""'>
+        <span>合同重量:吨</span>
       <span>成交量:吨</span>
       <span>已平仓:吨</span>
       <span>入库量:吨</span>
+      </div>
+      
       <el-table
         class="wenzi"
         :data="warehouseList.records"
@@ -78,41 +91,49 @@
           label="入库日期"
         ></el-table-column>
         <el-table-column
+        width='100'
           class="table_td"
           prop="protein"
           label="蛋白(%)>="
         ></el-table-column>
         <el-table-column
+        width='100'
           class="table_td"
           prop="waterContent"
           label="水分(%)>="
         ></el-table-column>
         <el-table-column
+        width='100'
           class="table_td"
           prop="unitPrice"
           label="单价(元/吨)"
         ></el-table-column>
         <el-table-column
+        width='100'
           class="table_td"
           prop="basisPrice"
           label="基差(元/吨)"
         ></el-table-column>
         <el-table-column
+        width='120'
           class="table_td"
           prop="unloadingCharge"
           label="卸车费(元/吨)"
         ></el-table-column>
         <el-table-column
+        width='120'
           class="table_td"
           prop="invoiceFee"
           label="发票费(元/吨)"
         ></el-table-column>
         <el-table-column
+        width='100'
           class="table_td"
           prop="deductionAmount"
           label="扣款(元/吨)"
         ></el-table-column>
         <el-table-column
+        width='140'
           class="table_td"
           prop="settlementPrice"
           label="结算单价(元/吨)"
@@ -123,16 +144,19 @@
           label="净重(吨)"
         ></el-table-column>
         <el-table-column
+        width='100'
           class="table_td"
           label="应付金额(元)"
           prop="amountIngPayable"
         ></el-table-column>
         <el-table-column
+        width='100'
           class="table_td"
           label="已付金额(元)"
           prop="amountEdPayable"
         ></el-table-column>
         <el-table-column
+        width='100'
           class="table_td"
           label="未付金额(元)"
           prop="amountNotPayable"
@@ -168,10 +192,10 @@
           prop="invoiceType"
         ></el-table-column>
         <el-table-column
+        width='100'
           class="table_td"
           prop="alreadyInvoice"
           label="已开发票(元)"
-          width="65"
         >
           <template slot-scope="scope">
             {{ scope.row.alreadyInvoice }}
@@ -391,7 +415,6 @@
             @change="contractchange"
             maxlength="500"
             type="input"
-            class="findValue"
           >
             <ws-option
               v-for="item in carryovercontractnolist"
@@ -473,7 +496,6 @@ export default {
       },
       currect: true,
       formLabelWidth: '120px',
-      contractNo: 'contractNo',
       barWidth: 0,
       barHeight: 0,
       retioX: 1,
@@ -513,6 +535,7 @@ export default {
       contractNo: '',
       inOutTaskNo: '',
       compId: sessionStorage.getItem('ws-pf_compId'),
+      roleId: sessionStorage.getItem('ws-pf_roleId'),
       deptCircularPage: {},
       warehouseList: [],
       deptBudgetList: {},
@@ -986,6 +1009,15 @@ export default {
       })
     },
     getList() {
+      if(this.roleId=='4c2d50d8ff2943c1b7a1e947feefe048'){
+        this.roleFlag=1
+      }else if(this.roleId=='cca3cf0ca2814d1e918f5b0a4380fe69'){
+        this.roleFlag=2
+      }else if(this.roleId=='9ad8abb997714ef29068f23c2ad3b125'){
+        this.roleFlag=3
+      }else if(this.roleId=='3d7b9179552b4c3e9c2d7af43962e2e4'){
+        this.roleFlag=4
+      }
       getpurchreceipt({
         compId: sessionStorage.getItem('ws-pf_compId'),
         currentPage: this.currentPage,
@@ -1009,13 +1041,6 @@ export default {
       })
         .toPromise()
         .then((response) => {
-          for (let i = 0; i < response.records.length; i++) {
-            if (response.records[i].amountNotPayable == 0) {
-              response.records[i].closeaccountstatus = '已结算'
-            } else {
-              response.records[i].closeaccountstatus = '待结算'
-            }
-          }
           this.contractNoList = response
         })
     },
@@ -1250,10 +1275,6 @@ export default {
   color: #5878e8;
   cursor: default;
 }
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
 .el-button--default {
   color: #8890b1;
   border-color: #e8eaf1;
@@ -1402,7 +1423,7 @@ export default {
   background-color: #5878e8;
   border-color: #5878e8;
   // margin-left: 85%;
-  margin-top: 20px;
+  margin-top: 13px;
 }
 //导航条样式
 .el-col-12 {

+ 23 - 24
src/views/statisticalReport/salesClosingCashierList.vue

@@ -1,8 +1,8 @@
 <!--销售平仓报表-->
 <template>
   <div class="container">
-        <!-- <div> -->
-        <div>
+        <el-row>
+        <el-col style='padding-left:15px;' :span="12">
           <ws-button :type="searchType==1?'primary':''" @click="handlestatus(1)">待审核</ws-button>
           <ws-button :type="searchType==2?'primary':''" @click="handlestatus(2)">待结算</ws-button>
           <ws-button :type="searchType==3?'primary':''" @click="handlestatus(3)">已结算</ws-button>
@@ -14,6 +14,8 @@
           <ws-button v-if='roleId=="4c2d50d8ff2943c1b7a1e947feefe048"' type="primary" @click="handleAudit(1)">审核</ws-button>
           <ws-button v-if='roleId=="3d7b9179552b4c3e9c2d7af43962e2e4"' type="primary" @click="payment()">付款</ws-button>
           <ws-button v-if='roleId=="3d7b9179552b4c3e9c2d7af43962e2e4"' type="primary" @click="collection()">收款</ws-button>
+           </el-col>
+        <el-col style='text-align:right;line-height:60px;padding-right:10px;' :span="12">
           <ws-select
             v-model="contractNo"
             placeholder="请选择合同"
@@ -28,14 +30,23 @@
                 label="全部合同"
                 value=""
               />
+           <ws-option
+          v-if='item.reportStatus'
+            v-for="item in contractNoList"
+            :key="item.constKey"
+            :label="item.contractNo + '(' + item.reportStatus + ')'"
+            :value="item.contractNo"
+          />
           <ws-option
-                v-for="item in contractNoList.records"
-                :key="item.constKey"
-                :label="item.contractNo+'('+item.closeaccountstatus+')'"
-                :value="item.contractNo"
-              />
+          v-if='!item.reportStatus'
+            v-for="item in contractNoList"
+            :key="item.constKey"
+            :label="item.contractNo"
+            :value="item.contractNo"
+          />
           </ws-select>
-        </div>
+        </el-col>
+      </el-row>
 
         <el-table
           class="wenzi"
@@ -192,7 +203,8 @@ import {
   postsaleaudit,
   getsalelist,
   postsalepaymoney,
-  postsalecollectmoney
+  postsalecollectmoney,
+  getsalecontractno
 } from '@/model/statisticalReport/index'
 import { downloadFile } from '@/utils/batchDown'
 import Pagination from '@/components/Pagination'
@@ -602,7 +614,7 @@ export default {
         .then(response => {
           this.saleList = response
         })
-        getsalelist({
+        getsalecontractno({
         compId: sessionStorage.getItem('ws-pf_compId'),
         currentPage: this.currentPage,
         pageSize: this.pageSize,
@@ -610,15 +622,6 @@ export default {
       })
         .toPromise()
         .then(response => {
-          for (let i = 0; i < response.records.length; i++) {
-            if(response.records[i].amountNotPayable==0){
-              response.records[i].closeaccountstatus='已结算'
-            }else{
-              response.records[i].closeaccountstatus='待结算'
-            }
-            
-            
-          }
            this.contractNoList = response
         })
     },
@@ -810,10 +813,6 @@ export default {
   color: #5878e8;
   cursor: default;
 }
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
 .el-button--default {
   color: #8890b1;
   border-color: #e8eaf1;
@@ -962,7 +961,7 @@ export default {
   background-color: #5878e8;
   border-color: #5878e8;
   // margin-left: 85%;
-  margin-top: 20px;
+  margin-top: 13px;
 }
 //导航条样式
 .el-col-12 {

+ 46 - 36
src/views/statisticalReport/salesDeliveryReportList.vue

@@ -2,20 +2,22 @@
 <template>
   <div class="container">
     <el-scrollbar style="height:100%">
-        <!-- <div> -->
-        <div>
-          <ws-button type="primary" @click="handlestatus(1)">待审核</ws-button>
-          <ws-button type="primary" @click="handlestatus(2)">待结算</ws-button>
-          <ws-button type="primary" @click="handlestatus(3)">已结算</ws-button>
-          <ws-button type="primary" @click="handlestatus('')">全部</ws-button>
-          <ws-button type="primary" @click="handlepass1()">通过1</ws-button>
-          <ws-button type="primary" @click="handlereject(3)">驳回1</ws-button>
-          <ws-button type="primary" @click="handlepass()">通过</ws-button>
-          <ws-button type="primary" @click="handlereject(2)">驳回</ws-button>
-          <ws-button type="primary" @click="handlecollect()">收款</ws-button>
-          <ws-button type="primary" @click="handleninvoice()">开发票</ws-button>
-          <ws-button type="primary" @click="amend()">最终结算价</ws-button>
-          <ws-button type="primary" @click="handleAudit()">审核</ws-button>
+        <el-row>
+        <el-col style='padding-left:15px;' :span="12">
+          <ws-button :type="searchType==1?'primary':''" @click="handlestatus(1)">待审核</ws-button>
+          <ws-button :type="searchType==2?'primary':''" @click="handlestatus(2)">待结算</ws-button>
+          <ws-button :type="searchType==3?'primary':''" @click="handlestatus(3)">已结算</ws-button>
+          <ws-button :type="searchType==''?'primary':''" @click="handlestatus('')">全部</ws-button>
+          <ws-button  v-if='roleId=="9ad8abb997714ef29068f23c2ad3b125"' type="primary" @click="handlepass1()">通过</ws-button>
+          <ws-button  v-if='roleId=="9ad8abb997714ef29068f23c2ad3b125"' type="primary" @click="handlereject(3)">驳回</ws-button>
+          <ws-button  v-if='roleId=="cca3cf0ca2814d1e918f5b0a4380fe69"' type="primary" @click="handlepass()">通过</ws-button>
+          <ws-button  v-if='roleId=="cca3cf0ca2814d1e918f5b0a4380fe69"' type="primary" @click="handlereject(2)">驳回</ws-button>
+          <ws-button v-if='roleId=="3d7b9179552b4c3e9c2d7af43962e2e4"' type="primary" @click="handlecollect()">收款</ws-button>
+          <ws-button v-if='roleId=="3d7b9179552b4c3e9c2d7af43962e2e4"' type="primary" @click="handleninvoice()">开发票</ws-button>
+          <ws-button v-if='roleId=="4c2d50d8ff2943c1b7a1e947feefe048"' type="primary" @click="amend()">最终结算价</ws-button>
+          <ws-button v-if='roleId=="4c2d50d8ff2943c1b7a1e947feefe048"' type="primary" @click="handleAudit()">审核</ws-button>
+          </el-col>
+        <el-col style='text-align:right;line-height:60px;padding-right:10px;' :span="12">
           <ws-select
             v-model="contractNo"
             placeholder="请选择合同"
@@ -37,12 +39,15 @@
                 :value="item.contractNo"
               />
           </ws-select>
+        </el-col>
+      </el-row>
+        <div v-if='contractNo!=""'>
+          <span>合同重量:吨</span>
+          <span>成交量:吨</span>
+          <span>已平仓:吨</span>
+          <span>入库量:吨</span>
         </div>
-
-        <span>合同重量:吨</span>
-        <span>成交量:吨</span>
-        <span>已平仓:吨</span>
-        <span>入库量:吨</span>
+        
         <el-table
           class="wenzi"
           :data="warehouseList.records"
@@ -60,21 +65,21 @@
           <el-table-column class="table_td" prop="positionNumber" label="仓位号"></el-table-column>
           <el-table-column class="table_td" prop="carNo" label="车牌号"></el-table-column>
           <el-table-column class="table_td" prop="retrievalDate" label="出库日期"></el-table-column>
-          <el-table-column class="table_td" prop="protein" label="蛋白(%)>="></el-table-column>
-          <el-table-column class="table_td" prop="waterContent" label="水分(%)>="></el-table-column>
-          <el-table-column class="table_td" prop="unitPrice" label="单价(元/吨)"></el-table-column>
-          <el-table-column class="table_td" prop="basisPrice" label="基差(元/吨)"></el-table-column>
-          <el-table-column class="table_td" prop="invoiceFee" label="发票费(元/吨)"></el-table-column>
-          <el-table-column class="table_td" prop="settlementPrice" label="结算单价(元/吨)"></el-table-column>
+          <el-table-column width='100' class="table_td" prop="protein" label="蛋白(%)>="></el-table-column>
+          <el-table-column width='100' class="table_td" prop="waterContent" label="水分(%)>="></el-table-column>
+          <el-table-column width='100' class="table_td" prop="unitPrice" label="单价(元/吨)"></el-table-column>
+          <el-table-column width='100' class="table_td" prop="basisPrice" label="基差(元/吨)"></el-table-column>
+          <el-table-column width='100' class="table_td" prop="invoiceFee" label="发票费(元/吨)"></el-table-column>
+          <el-table-column width='120' class="table_td" prop="settlementPrice" label="结算单价(元/吨)"></el-table-column>
           <el-table-column class="table_td" prop="netWeight" label="净重(吨)"></el-table-column>
-          <el-table-column class="table_td" label="应收金额(元)" prop="collectionIngPayable"></el-table-column>
-          <el-table-column class="table_td" label="已收金额(元)" prop="collectionEdPayable"></el-table-column>
-          <el-table-column class="table_td" label="未收金额(元)" prop="collectionNotPayable"></el-table-column>
+          <el-table-column width='100' class="table_td" label="应收金额(元)" prop="collectionIngPayable"></el-table-column>
+          <el-table-column width='100' class="table_td" label="已收金额(元)" prop="collectionEdPayable"></el-table-column>
+          <el-table-column width='100' class="table_td" label="未收金额(元)" prop="collectionNotPayable"></el-table-column>
           <el-table-column class="table_td" label="收款日期"  prop="collectionDate"></el-table-column>
           <el-table-column class="table_td" label="客户确认"  prop="customerConfirmationStatus"></el-table-column>
           <el-table-column class="table_td" label="客户" prop="customerName"></el-table-column>
           <el-table-column class="table_td" label="库点"  prop="warehouseName"></el-table-column>
-          <el-table-column class="table_td" label="已开发票(元)"  prop="alreadyInvoice">
+          <el-table-column width='100' class="table_td" label="已开发票(元)"  prop="alreadyInvoice">
             <template slot-scope="scope">
             {{ scope.row.alreadyInvoice }}
             <img
@@ -267,7 +272,6 @@ export default {
       },
       currect:true,
       formLabelWidth: '120px',
-      contractNo:'contractNo',
       barWidth: 0,
       barHeight: 0,
       retioX: 1,
@@ -322,6 +326,7 @@ export default {
       amendlist:{},
       money: '',
       roleFlag:1,
+      roleId: sessionStorage.getItem('ws-pf_roleId'),
       collectionScreenshot: '',
       salesDeliveryReportList: [],
       salesDeliveryReport: {
@@ -465,7 +470,7 @@ export default {
       columns.forEach((column, index) => {
         if (index === 0) {
           sums[index] = '合计'
-        } else if (index === 5 || index === 7 || index === 8 || index === 9) {
+        } else if (index === 13 || index === 14 || index === 15 || index === 16||index===21) {
           const values = data.map(item => Number(item[column.property]))
           if (!values.every(value => isNaN(value))) {
             sums[index] = values.reduce((prev, curr) => {
@@ -681,6 +686,15 @@ export default {
     },
     //列表
     getList() {
+      if(this.roleId=='4c2d50d8ff2943c1b7a1e947feefe048'){
+        this.roleFlag=1
+      }else if(this.roleId=='cca3cf0ca2814d1e918f5b0a4380fe69'){
+        this.roleFlag=2
+      }else if(this.roleId=='9ad8abb997714ef29068f23c2ad3b125'){
+        this.roleFlag=3
+      }else if(this.roleId=='3d7b9179552b4c3e9c2d7af43962e2e4'){
+        this.roleFlag=4
+      }
       salelist({
         compId: sessionStorage.getItem('ws-pf_compId'),
         currentPage: this.currentPage,
@@ -943,10 +957,6 @@ export default {
   color: #5878e8;
   cursor: default;
 }
-.el-button--primary {
-  background-color: #5878e8;
-  border-color: #5878e8;
-}
 .el-button--default {
   color: #8890b1;
   border-color: #e8eaf1;
@@ -1095,7 +1105,7 @@ export default {
   background-color: #5878e8;
   border-color: #5878e8;
   // margin-left: 85%;
-  margin-top: 20px;
+  margin-top: 13px;
 }
 //导航条样式
 .el-col-12 {

+ 1 - 1
vue.config.js

@@ -141,7 +141,7 @@ module.exports = {
         // target: 'https://product-server.winsea.com/', //目标地址
         // target: 'http://standard-dev.winsea.com/', //目标地址
         // target: 'http://localhost:8090/',
-        target: 'http://192.168.1.116:8090/',
+        target: 'http://192.168.1.120:8090/',
         // target: 'http://192.168.1.112:8090/',
         // target: 'http://192.168.1.121:8090/',
         // target: 'http://192.168.1.119:8090/',