Răsfoiți Sursa

Merge branch 'purchaseDev' of http://172.16.100.139/new-business/drp-web into purchaseDev

002201 2 ani în urmă
părinte
comite
c0c6fc6d4c
36 a modificat fișierele cu 4617 adăugiri și 1695 ștergeri
  1. 14 0
      src/api/business/purchase/priceDeclaration.js
  2. 2 2
      src/api/business/spd/bo/accessory.js
  3. 5 5
      src/api/business/spd/bo/basic.js
  4. 9 0
      src/api/business/spd/bo/boNode.js
  5. 52 0
      src/api/business/spd/bo/filetemplate.js
  6. 9 0
      src/api/business/spd/bo/flow.js
  7. 10 0
      src/api/business/spd/bo/statement.js
  8. 25 0
      src/api/purchase/DemandSummary.js
  9. 8 0
      src/api/purchase/basic.js
  10. 48 0
      src/api/purchase/transferOrder.js
  11. 141 224
      src/views/business/spd/bo/authority/index.vue
  12. 221 0
      src/views/business/spd/bo/basic/accessoryList.vue
  13. 29 981
      src/views/business/spd/bo/basic/details.vue
  14. 152 0
      src/views/business/spd/bo/basic/filemanager.vue
  15. 11 26
      src/views/business/spd/bo/basic/index.vue
  16. 1675 0
      src/views/business/spd/bo/basic/process.vue
  17. 6 5
      src/views/business/spd/bo/behavior/behaviorList.vue
  18. 7 0
      src/views/business/spd/bo/contact/contactList.vue
  19. 102 0
      src/views/business/spd/bo/filetemplate/botabs.vue
  20. 252 0
      src/views/business/spd/bo/filetemplate/index.vue
  21. 13 4
      src/views/business/spd/bo/pojpsn/pojpsnList.vue
  22. 224 0
      src/views/business/spd/bo/statement/index.vue
  23. 2 8
      src/views/business/spd/bo/task/taskList.vue
  24. 12 10
      src/views/material/basicFile/details.vue
  25. 17 5
      src/views/material/basicFile/index.vue
  26. 142 0
      src/views/purchase/DemandSummary/add.vue
  27. 69 48
      src/views/purchase/DemandSummary/index.vue
  28. 64 19
      src/views/purchase/PurchaseDemandList/add.vue
  29. 6 6
      src/views/purchase/PurchaseDemandList/index.vue
  30. 98 0
      src/views/purchase/PurchaseDemandList/reserved.vue
  31. 211 0
      src/views/purchase/priceDeclaration/add-price-declaration.vue
  32. 373 0
      src/views/purchase/priceDeclaration/index.vue
  33. 208 0
      src/views/purchase/priceDeclaration/see-price-declaration.vue
  34. 19 80
      src/views/purchase/purchase-task/index.vue
  35. 206 136
      src/views/purchase/transferOrder/add.vue
  36. 175 136
      src/views/purchase/transferOrder/index.vue

+ 14 - 0
src/api/business/purchase/priceDeclaration.js

@@ -0,0 +1,14 @@
+import request from '@/utils/request'
+
+// 采购需求单列表
+const getPriceApplyList = (data) => {
+  return request({
+    url: `/pu/priceApply/list?pageSize=${data.pageSize}&pageNum=${data.pageNum}`,
+    method: 'post',
+    data: data
+  })
+}
+
+export default {
+  getPriceApplyList,
+}

+ 2 - 2
src/api/business/spd/bo/accessory.js

@@ -19,9 +19,9 @@ export function addAccessory(data) {
 }
 
 // 删除附件
-export function delAccessory(accessoryId) {
+export function delAccessory(id) {
   return request({
-    url: '/mk/bo/accessory/' + accessoryId,
+    url: '/mk/bo/accessory/' + id,
     method: 'delete'
   })
 }

+ 5 - 5
src/api/business/spd/bo/basic.js

@@ -60,17 +60,17 @@ export function delBasic(id) {
 }
 
 // 删除商机附件
-export function delAccessory(boId,f,id) {
+export function delAccessory(boId,f,boType,fileId) {
   return request({
-    url: '/mk/bo/basic/accessory?boId=' + boId + '&flag=' + f + '&id=' + id,
+    url: '/mk/bo/basic/accessory?boId=' + boId + '&flag=' + f + '&id=1&boType=' + boType + '&fileId=' + fileId,
     method: 'delete'
   })
 }
 
 //流程下一步
-export function nextFlow(boId,boStage) {
+export function changeNextStage(boId) {
   return request({
-    url: '/mk/bo/basic/flow?boId=' + boId + '&boStage=' + boStage,
+    url: '/mk/bo/basic/BoStage?boId=' + boId,
     method: 'put'
   })
 }
@@ -90,4 +90,4 @@ export function updateWinningState(data) {
     method: 'put',
     data: data
   })
-}
+}

+ 9 - 0
src/api/business/spd/bo/boNode.js

@@ -0,0 +1,9 @@
+import request from '@/utils/request'
+
+// 查询节点
+export function getBoNodeList(boType) {
+  return request({
+    url: '/mk/bo/node/type/' + boType,
+    method: 'get'
+  })
+}

+ 52 - 0
src/api/business/spd/bo/filetemplate.js

@@ -0,0 +1,52 @@
+import request from '@/utils/request'
+
+// 根据商机类型查询文件模板列表
+export function listFiletemplateByBotype(botype) {
+  return request({
+    url: '/mk/bo/filetemplate/botype' + botype,
+    method: 'get',
+  })
+}
+
+// 查询文件模板列表
+export function listFiletemplate(query) {
+  return request({
+    url: '/mk/bo/filetemplate/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询文件模板详细
+export function getFiletemplate(id) {
+  return request({
+    url: '/mk/bo/filetemplate/' + id,
+    method: 'get'
+  })
+}
+
+// 新增文件模板
+export function addFiletemplate(data) {
+  return request({
+    url: '/mk/bo/filetemplate',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改文件模板
+export function updateFiletemplate(data) {
+  return request({
+    url: '/mk/bo/filetemplate',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除文件模板
+export function delFiletemplate(id) {
+  return request({
+    url: '/mk/bo/filetemplate/' + id,
+    method: 'delete'
+  })
+}

+ 9 - 0
src/api/business/spd/bo/flow.js

@@ -0,0 +1,9 @@
+import request from '@/utils/request'
+
+// 查询商机基础信息详细
+export function getFlowNode(type) {
+  return request({
+    url: '/mk/bo/flow/node/' + type,
+    method: 'get'
+  })
+}

+ 10 - 0
src/api/business/spd/bo/statement.js

@@ -0,0 +1,10 @@
+import request from '@/utils/request'
+
+// 查询商机基础信息列表
+export function listBasic(query) {
+  return request({
+    url: '/mk/bo/statement/list',
+    method: 'get',
+    params: query
+  })
+}

+ 25 - 0
src/api/purchase/DemandSummary.js

@@ -0,0 +1,25 @@
+import request from '@/utils/request'
+
+// 采购需求汇总列表
+export function getSummaryList(data) {
+  return request({
+    url: `/pu/demand/summary/list?pageSize=${data.pageSize}&pageNum=${data.pageNum}`,
+    method: 'post',
+    data: data
+  })
+}
+// 采购需求汇总明细
+export function getSummaryDetail(data) {
+  return request({
+    url: `/pu/demand/summary/detail`,
+    method: 'post',
+    data: data
+  })
+}
+// 采购需求汇总审核
+export function auditSummary(id) {
+  return request({
+    url: `/pu/demand/audit/${id}`,
+    method: 'get',
+  })
+}

+ 8 - 0
src/api/purchase/basic.js

@@ -37,4 +37,12 @@ export function delDivision(ids) {
     url: `/material/division/delete/${ids}`,
     method: 'DELETE',
   })
+}
+// 参照统一接口
+export function getRefer(data) {
+  return request({
+    url: '/refer/query',
+    method: 'post',
+    data: data
+  })
 }

+ 48 - 0
src/api/purchase/transferOrder.js

@@ -0,0 +1,48 @@
+import request from '@/utils/request'
+
+// 调拨订单列表
+export function getOrderList(data) {
+  return request({
+    url: `/pu/allot/list?pageSize=${data.pageSize}&pageNum=${data.pageNum}`,
+    method: 'post',
+    data: data
+  })
+}
+// 调拨订单新增
+export function addOrder(data) {
+  return request({
+    url: `/pu/allot/add`,
+    method: 'post',
+    data: data
+  })
+}
+// 调拨订单编辑
+export function editOrder(data) {
+  return request({
+    url: `/pu/allot/edit`,
+    method: 'put',
+    data: data
+  })
+}
+// 调拨订单详情
+// 调拨订单详情
+export function getOrderDetail(id) {
+  return request({
+    url: `/pu/allot/detail/${id}`,
+    method: 'get',
+  })
+}
+// 调拨订单删除
+export function delOrder(ids) {
+  return request({
+    url: `/pu/allot/delete/${ids}`,
+    method: 'delete',
+  })
+}
+// 货权预留单详情
+export function getResevedDetail(id) {
+  return request({
+    url: `/pu/ownership/detail/${id}`,
+    method: 'get',
+  })
+}

+ 141 - 224
src/views/business/spd/bo/authority/index.vue

@@ -1,222 +1,115 @@
 <template>
   <div class="app-container">
-    <!-- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="项目岗位" prop="post">
-        <el-input
-          v-model="queryParams.post"
-          placeholder="请输入项目岗位"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="商机-下一步" prop="boNext">
-        <el-input
-          v-model="queryParams.boNext"
-          placeholder="请输入商机-下一步"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="商机-修改" prop="boEdit">
-        <el-input
-          v-model="queryParams.boEdit"
-          placeholder="请输入商机-修改"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="商机-关闭" prop="boClose">
-        <el-input
-          v-model="queryParams.boClose"
-          placeholder="请输入商机-关闭"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="商机-赢单" prop="boWin">
-        <el-input
-          v-model="queryParams.boWin"
-          placeholder="请输入商机-赢单"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="商机-丢单" prop="boLose">
-        <el-input
-          v-model="queryParams.boLose"
-          placeholder="请输入商机-丢单"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="任务-新增" prop="taskAdd">
-        <el-input
-          v-model="queryParams.taskAdd"
-          placeholder="请输入任务-新增"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="任务-删除" prop="taskDel">
-        <el-input
-          v-model="queryParams.taskDel"
-          placeholder="请输入任务-删除"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="任务-编辑" prop="taskEdit">
-        <el-input
-          v-model="queryParams.taskEdit"
-          placeholder="请输入任务-编辑"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="任务-查看" prop="taskView">
-        <el-input
-          v-model="queryParams.taskView"
-          placeholder="请输入任务-查看"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="行动-新增" prop="behaviorAdd">
-        <el-input
-          v-model="queryParams.behaviorAdd"
-          placeholder="请输入行动-新增"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="行动-删除" prop="behaviorDel">
-        <el-input
-          v-model="queryParams.behaviorDel"
-          placeholder="请输入行动-删除"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="行动-编辑" prop="behaviorEdit">
-        <el-input
-          v-model="queryParams.behaviorEdit"
-          placeholder="请输入行动-编辑"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="行动-查看" prop="behaviorView">
-        <el-input
-          v-model="queryParams.behaviorView"
-          placeholder="请输入行动-查看"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="联系人-新增" prop="contactAdd">
-        <el-input
-          v-model="queryParams.contactAdd"
-          placeholder="请输入联系人-新增"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="联系人-删除" prop="contactDel">
-        <el-input
-          v-model="queryParams.contactDel"
-          placeholder="请输入联系人-删除"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="联系人-编辑" prop="contactEdit">
-        <el-input
-          v-model="queryParams.contactEdit"
-          placeholder="请输入联系人-编辑"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="联系人-查看" prop="contactView">
-        <el-input
-          v-model="queryParams.contactView"
-          placeholder="请输入联系人-查看"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item>
-        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
-      </el-form-item>
-    </el-form> -->
-
-    <!-- <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
-        <el-button
-          type="primary"
-          plain
-          icon="el-icon-plus"
-          size="mini"
-          @click="handleAdd"
-          v-hasPermi="['material:authority:add']"
-        >新增</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-edit"
-          size="mini"
-          :disabled="single"
-          @click="handleUpdate"
-          v-hasPermi="['material:authority:edit']"
-        >修改</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleDelete"
-          v-hasPermi="['material:authority:remove']"
-        >删除</el-button>
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="warning"
-          plain
-          icon="el-icon-download"
-          size="mini"
-          @click="handleExport"
-          v-hasPermi="['material:authority:export']"
-        >导出</el-button>
-      </el-col>
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
-    </el-row> -->
-
     <el-table v-loading="loading" :data="authorityList" @selection-change="handleSelectionChange">
-      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column type="selection" width="55" align="center"/>
       <el-table-column label="项目岗位" align="center" prop="postName" />
-      <el-table-column label="商机-下一步" align="center" prop="boNext" />
-      <el-table-column label="商机-修改" align="center" prop="boEdit" />
-      <el-table-column label="商机-关闭" align="center" prop="boClose" />
-      <el-table-column label="商机-赢单" align="center" prop="boWin" />
-      <el-table-column label="商机-丢单" align="center" prop="boLose" />
-      <el-table-column label="任务-新增" align="center" prop="taskAdd" />
-      <el-table-column label="任务-删除" align="center" prop="taskDel" />
-      <el-table-column label="任务-编辑" align="center" prop="taskEdit" />
-      <el-table-column label="任务-查看" align="center" prop="taskView" />
-      <el-table-column label="行动-新增" align="center" prop="behaviorAdd" />
-      <el-table-column label="行动-删除" align="center" prop="behaviorDel" />
-      <el-table-column label="行动-编辑" align="center" prop="behaviorEdit" />
-      <el-table-column label="行动-查看" align="center" prop="behaviorView" />
-      <el-table-column label="联系人-新增" align="center" prop="contactAdd" />
-      <el-table-column label="联系人-删除" align="center" prop="contactDel" />
-      <el-table-column label="联系人-编辑" align="center" prop="contactEdit" />
-      <el-table-column label="联系人-查看" align="center" prop="contactView" />
+      <el-table-column label="商机-下一步" align="center" prop="boNext">
+        <template slot-scope="scope">
+          {{scope.row.boNext ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="商机-修改" align="center" prop="boEdit">
+        <template slot-scope="scope">
+          {{scope.row.boEdit ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="商机-关闭" align="center" prop="boClose">
+        <template slot-scope="scope">
+          {{scope.row.boClose ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="商机-赢单" align="center" prop="boWin">
+        <template slot-scope="scope">
+          {{scope.row.boWin ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="商机-丢单" align="center" prop="boLose">
+        <template slot-scope="scope">
+          {{scope.row.boLose ? '√' : '×'}}
+        </template>
+      </el-table-column>
+
+      <el-table-column label="项目成员-新增" align="center" prop="pojpsnAdd" >
+        <template slot-scope="scope">
+          {{scope.row.pojpsnAdd ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="项目成员-删除" align="center" prop="pojpsnDel">
+        <template slot-scope="scope">
+          {{scope.row.pojpsnDel ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="项目成员-编辑" align="center" prop="pojpsnEdit">
+        <template slot-scope="scope">
+          {{scope.row.pojpsnEdit ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="项目成员-查看" align="center" prop="pojpsnView">
+        <template slot-scope="scope">
+          {{scope.row.pojpsnView ? '√' : '×'}}
+        </template>
+      </el-table-column>
+
+      <el-table-column label="项目成员-新增" align="center" prop="taskAdd" >
+        <template slot-scope="scope">
+          {{scope.row.taskAdd ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="任务-删除" align="center" prop="taskDel">
+        <template slot-scope="scope">
+          {{scope.row.taskDel ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="任务-编辑" align="center" prop="taskEdit">
+        <template slot-scope="scope">
+          {{scope.row.taskEdit ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="任务-查看" align="center" prop="taskView">
+        <template slot-scope="scope">
+          {{scope.row.taskView ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="行动-新增" align="center" prop="behaviorAdd">
+        <template slot-scope="scope">
+          {{scope.row.behaviorAdd ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="行动-删除" align="center" prop="behaviorDel">
+        <template slot-scope="scope">
+          {{scope.row.behaviorDel ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="行动-编辑" align="center" prop="behaviorEdit">
+        <template slot-scope="scope">
+          {{scope.row.behaviorEdit ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="行动-查看" align="center" prop="behaviorView">
+        <template slot-scope="scope">
+          {{scope.row.behaviorView ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="联系人-新增" align="center" prop="contactAdd">
+        <template slot-scope="scope">
+          {{scope.row.contactAdd ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="联系人-删除" align="center" prop="contactDel">
+        <template slot-scope="scope">
+          {{scope.row.contactDel ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="联系人-编辑" align="center" prop="contactEdit">
+        <template slot-scope="scope">
+          {{scope.row.contactEdit ? '√' : '×'}}
+        </template>
+      </el-table-column>
+      <el-table-column label="联系人-查看" align="center" prop="contactView">
+        <template slot-scope="scope">
+          {{scope.row.contactView ? '√' : '×'}}
+        </template>
+      </el-table-column>
       <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width">
         <template slot-scope="scope">
           <el-button
@@ -226,17 +119,10 @@
             @click="handleUpdate(scope.row)"
             v-hasPermi="['material:authority:edit']"
           >修改</el-button>
-          <!-- <el-button
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleDelete(scope.row)"
-            v-hasPermi="['material:authority:remove']"
-          >删除</el-button> -->
         </template>
       </el-table-column>
     </el-table>
-    
+
     <pagination
       v-show="total>0"
       :total="total"
@@ -286,7 +172,38 @@
           <el-col :span="8">
           </el-col>
         </el-row>
-          <el-divider content-position="left">
+        <el-divider content-position="left">
+          <dev style="width: 50px; height: 40px; font-size: 18px">项目成员</dev>
+        </el-divider>
+        <el-row>
+          <el-col :span="8">
+            <el-form-item prop="taskAdd">
+              <el-checkbox v-model="form.pojpsnAdd">新增</el-checkbox>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item prop="pojpsnDel">
+              <el-checkbox v-model="form.pojpsnDel">删除</el-checkbox>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item prop="pojpsnEdit">
+              <el-checkbox v-model="form.pojpsnEdit">编辑</el-checkbox>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="8">
+            <el-form-item prop="pojpsnView">
+              <el-checkbox v-model="form.pojpsnView">查看</el-checkbox>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+          </el-col>
+          <el-col :span="8">
+          </el-col>
+        </el-row>
+        <el-divider content-position="left">
           <dev style="width: 50px; height: 40px; font-size: 18px">任务</dev>
         </el-divider>
         <el-row>

+ 221 - 0
src/views/business/spd/bo/basic/accessoryList.vue

@@ -0,0 +1,221 @@
+<template>
+  <div class="app-container">
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="info"
+          plain
+          icon="el-icon-upload2"
+          size="small"
+          @click="uploadAccessory"
+          >上传</el-button
+        >
+      </el-col>
+    </el-row>
+    <el-table v-loading="loading" :data="accessoryList">
+      <el-table-column
+        type="index"
+        label="序号"
+        width="55"
+        align="center"
+      />
+      <el-table-column label="名称" align="center" prop="fileName" />
+      <el-table-column label="上传者" align="center" prop="createByName" />
+      <el-table-column label="上传时间" align="center" prop="createTime" />
+      <el-table-column
+        label="操作"
+        align="center"
+        class-name="small-padding fixed-width"
+      >
+        <template slot-scope="scope">
+          <el-row>
+            <el-col :span="1.5">
+              <el-button
+                size="small"
+                type="danger"
+                plain
+                icon="el-icon-delete"
+                @click="deleteAccessory(scope.row.id)"
+                >删除</el-button
+              >
+            </el-col>
+            <el-col :span="1.5">
+              <el-button
+                type="success"
+                plain
+                icon="el-icon-download"
+                size="small"
+                @click="downloadAccessory(scope.row)"
+                >下载</el-button
+              >
+            </el-col>
+          </el-row>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <el-dialog
+      :title="upload.title"
+      :visible.sync="upload.open"
+      width="400px"
+      append-to-body
+    >
+      <el-upload
+        ref="upload"
+        :limit="1"
+        accept=".xlsx, .xls, .doc, .docx, .word, .wordx, .png, .jpg, .gif, .txt"
+        :headers="upload.headers"
+        :action="upload.url + '?boId=' + bo.id"
+        :disabled="upload.isUploading"
+        :on-progress="handleFileUploadProgress"
+        :on-success="handleFileSuccess"
+        :auto-upload="false"
+        drag
+      >
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
+      </el-upload>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFileForm">确 定</el-button>
+        <el-button @click="upload.open = false">取 消</el-button>
+      </div>
+    </el-dialog>
+
+  </div>
+</template>
+
+<script>
+import { listAccessory, delAccessory, addAccessory} from "@/api/business/spd/bo/accessory";
+import { getToken } from "@/utils/auth";
+import axios from "axios";
+
+export default {
+  name: "accessoryList",
+  props:["source","bo","boAuthority"],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 总条数
+      total: 0,
+      // 表格数据
+      contactList: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        boId: null,
+        name: null,
+        code: null,
+        customer: null,
+        params:{},
+      },
+      // 上传参数
+      upload: {
+        // 是否显示弹出层
+        open: false,
+        // 弹出层标题
+        title: "",
+        // 是否禁用上传
+        isUploading: false,
+        // 上传类型
+        flag: "",
+        // 设置上传的请求头部
+        headers: { Authorization: "Bearer " + getToken() },
+        // 上传的地址
+        url: process.env.VUE_APP_BASE_API + "/mk/bo/accessory/upload",
+      },
+    };
+  },
+  created() {
+    this.queryParams.boId = this.bo.id;
+    this.queryParams.params = {"post":this.boAuthority.post};
+    this.getList();
+  },
+  methods: {
+    /** 查询附件列表 */
+    getList() {
+      this.loading = true;
+      listAccessory(this.queryParams).then(response => {
+        this.accessoryList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    //上传附件公共方法
+    uploadAccessory() {
+      this.upload.open = true;
+    },
+    // 提交上传文件
+    submitFileForm() {
+      this.$refs.upload.submit();
+    },
+    // 文件上传中处理
+    handleFileUploadProgress(event, file, fileList) {
+      this.upload.isUploading = true;
+    },
+    // 文件上传成功处理
+    handleFileSuccess(response, file, fileList) {
+      this.upload.open = false;
+      this.upload.isUploading = false;
+      this.$refs.upload.clearFiles();
+      this.$alert(
+        "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
+          response.msg +
+          "</div>",
+        "上传结果",
+        { dangerouslyUseHTMLString: true }
+      );
+      this.getList();
+    },
+    //下载附件
+    downloadAccessory(row) {
+      console.log('row',row);
+      var resUrl = "https://sy.derom.com/document-center/fastdfs/download?id=" + row.urlId;
+      axios
+        .create({
+          timeout: 3000,
+          responseType: "blob", // 响应类型, 将响应数据转换为二进制数据
+          headers: {},
+        })
+        .get(resUrl)
+        .then((res) => {
+          console.log(res);
+          // 地址转换
+          let url = window.URL.createObjectURL(res.data);
+          const a = document.createElement("a");
+          a.setAttribute("href", url);
+          a.setAttribute("download", row.fileName);
+          document.body.append(a);
+          a.click();
+          document.body.removeChild(a);
+        });
+    },
+    //删除附件
+    deleteAccessory(id) {
+      this.$modal
+        .confirm("是否确认删除?")
+        .then(function () {})
+        .then(() => {
+          delAccessory(id).then((res) => {
+            if (res.code == 200) {
+              this.$modal.msgSuccess("删除成功");
+              this.getList();
+            } else {
+              this.$modal.msgSuccess("删除失败");
+            }
+          });
+        })
+        .catch(() => {});
+    },
+  }
+};
+</script>

Fișier diff suprimat deoarece este prea mare
+ 29 - 981
src/views/business/spd/bo/basic/details.vue


+ 152 - 0
src/views/business/spd/bo/basic/filemanager.vue

@@ -0,0 +1,152 @@
+<template>
+  <div>
+    <el-form :model="form">
+      <el-form-item :label="name">
+        <el-row>
+          <el-col :span="1.5">
+            <el-input v-model="fileName" placeholder="待上传" readonly />
+          </el-col>
+          <el-col :span="1.5" v-show="!fileUrlid">
+            <el-button type="info" plain icon="el-icon-upload2" size="small" @click="uploadAccessory(field)">
+              上传
+            </el-button>
+          </el-col>
+          <el-col :span="1.5" v-show="fileUrlid" >
+            <el-button type="success" plain icon="el-icon-download" size="small" @click="exportAccessory">
+              下载
+            </el-button>
+          </el-col>
+          <el-col :span="1.5" v-show="fileUrlid">
+            <el-button size="small" type="danger" plain icon="el-icon-delete" @click="deleteAccessory(field)">
+              删除
+            </el-button>
+          </el-col>
+        </el-row>
+      </el-form-item>
+    </el-form>
+    <!-- 上传对话框 -->
+    <el-dialog
+      :title="upload.title"
+      :visible.sync="upload.open"
+      width="400px"
+      append-to-body
+    >
+      <el-upload
+        ref="upload"
+        :limit="1"
+        accept=".xlsx, .xls, .doc, .docx, .word, .wordx, .png, .jpg, .gif, .txt"
+        :headers="upload.headers"
+        :action="upload.url + '?boId=' + form.id + '&flag=' + upload.flag + '&boType=' + form.boType"
+        :disabled="upload.isUploading"
+        :on-progress="handleFileUploadProgress"
+        :on-success="handleFileSuccess"
+        :auto-upload="false"
+        drag
+      >
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
+      </el-upload>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFileForm">确 定</el-button>
+        <el-button @click="upload.open = false">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {delAccessory} from "@/api/business/spd/bo/basic";
+import axios from "axios";
+import { getToken } from "@/utils/auth";
+
+export default {
+  name: "filemanager",
+  props: ["form","name","fileName","fileUrlid","field"],
+  data() {
+    return {
+      // 上传参数
+      upload: {
+        // 是否显示弹出层
+        open: false,
+        // 弹出层标题
+        title: "",
+        // 是否禁用上传
+        isUploading: false,
+        // 上传类型
+        flag: "",
+        // 设置上传的请求头部
+        headers: { Authorization: "Bearer " + getToken() },
+        // 上传的地址
+        url: process.env.VUE_APP_BASE_API + "/mk/bo/basic/upload",
+      },
+    };
+  },
+  created() {
+  },
+  methods: {
+    //上传附件公共方法
+    uploadAccessory(f) {
+      // this.upload.title = "上传附件";
+      this.upload.open = true;
+      this.upload.flag = f;
+    },
+    // 提交上传文件
+    submitFileForm() {
+      this.$refs.upload.submit();
+    },
+    // 文件上传中处理
+    handleFileUploadProgress(event, file, fileList) {
+      this.upload.isUploading = true;
+    },
+    // 文件上传成功处理
+    handleFileSuccess(response, file, fileList) {
+      this.upload.open = false;
+      this.upload.isUploading = false;
+      this.$refs.upload.clearFiles();
+      this.$alert(
+        "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
+          response.msg +
+          "</div>",
+        "上传结果",
+        { dangerouslyUseHTMLString: true }
+      );
+      this.$emit('reload');
+    },
+    //下载附件
+    exportAccessory() {
+      let resUrl = "https://sy.derom.com/document-center/fastdfs/download?id=" + this.fileUrlid;
+      axios
+        .create({
+          timeout: 3000,
+          responseType: "blob", // 响应类型, 将响应数据转换为二进制数据
+          headers: {},
+        })
+        .get(resUrl)
+        .then((res) => {
+          console.log(res);
+          // 地址转换
+          let url = window.URL.createObjectURL(res.data);
+          const a = document.createElement("a");
+          a.setAttribute("href", url);
+          a.setAttribute("download", this.fileName);
+          document.body.append(a);
+          a.click();
+          document.body.removeChild(a);
+        });
+    },
+    //删除附件
+    deleteAccessory(f) {
+      this.$modal
+        .confirm("是否确认删除?")
+        .then(function () {})
+        .then(() => {
+          delAccessory(this.form.id, f, this.form.boType,this.fileUrlid).then((res) => {
+            console.log('删除返回',res);
+            this.$emit('reload');
+          });
+        })
+        .catch(() => {});
+    },
+  },
+};
+</script>

+ 11 - 26
src/views/business/spd/bo/basic/index.vue

@@ -92,16 +92,6 @@
           @click="handleAdd"
         >新增</el-button>
       </el-col>
-      <el-col :span="1.5">
-        <el-button
-          type="success"
-          plain
-          icon="el-icon-top"
-          size="mini"
-          :disabled="single"
-          @click="submitOa"
-        >提交</el-button>
-      </el-col>
       <!-- <el-col :span="1.5">
         <el-button
           type="success"
@@ -144,11 +134,7 @@
           <dict-tag :options="dict.type.mk_bo_source" :value="scope.row.boSource"/>
         </template>
       </el-table-column>
-      <el-table-column label="商机阶段" align="center" prop="boStage" >
-        <template slot-scope="scope">
-          <dict-tag :options="dict.type.mk_bo_stage" :value="scope.row.boStage"/>
-        </template>
-      </el-table-column>
+      <el-table-column label="商机阶段" align="center" prop="boStageName"/>
       <el-table-column label="客户名称" align="center" prop="customerName" />
       <el-table-column label="医院耗材预估值(万元)" align="center" prop="hosDiscreetValue" />
       <el-table-column label="赢单率" align="center" prop="winningRate" />
@@ -361,7 +347,7 @@
 </template>
 
 <script>
-import { listBasic, getBasic, addBasic, updateBasic, delBasic ,submit} from "@/api/business/spd/bo/basic";
+import { listBasic, getBasic, addBasic, updateBasic, delBasic } from "@/api/business/spd/bo/basic";
 import CustomerRef from '@/views/business/spd/bo/refer/customer/index.vue';
 import SaleaeaRef from '@/views/business/spd/bo/refer/saleaea/index.vue';
 import OrgRef from '@/views/business/spd/bo/refer/org/index.vue';
@@ -500,6 +486,15 @@ export default {
       this.loading = true;
       listBasic(this.queryParams).then(response => {
         this.basicList = response.rows;
+        //对商机名称进行加*
+        console.log(this.basicList);
+        for (var i = 0; i < this.basicList.length; i++) {
+          var arr = this.basicList[i].boName.split('-');
+          this.basicList[i].boName = arr[0] + '-' + arr[1].substring(0,2) + '******' + arr[1].substring(arr[1].length - 2,arr[1].length) + '-' + arr[2];
+
+          var customerName = this.basicList[i].customerName;
+          this.basicList[i].customerName = customerName.substring(0,2) + '******' + customerName.substring(customerName.length - 2,customerName.length);
+        }
         this.total = response.total;
         this.loading = false;
       });
@@ -636,16 +631,6 @@ export default {
         ...this.queryParams
       }, `basic_${new Date().getTime()}.xlsx`)
     },
-    //  提交至OA进行审批
-    submitOa(row){
-      const id = row.id || this.ids
-      this.$modal.confirm('确认提交吗?').then(function() {
-        return submit(id);
-      }).then(() => {
-        this.getList();
-        this.$modal.msgSuccess("提交成功");
-      }).catch(() => {});
-    },
     // 触发客户参照列表
     refereCustomer() {
       this.$refs.customerSelect.init()

+ 1675 - 0
src/views/business/spd/bo/basic/process.vue

@@ -0,0 +1,1675 @@
+<template>
+  <div class="app-container">
+    <el-steps :active="activeConversion(form.boStage)" finish-status="success" process-status="process-status">
+      <el-step v-for="item in boStage" :title="item.name" @click.native="viewingProcedure(item)"/>
+    </el-steps>
+    <!-- 提交、下一步按钮 -->
+    <div style="text-align: center">
+      <el-button
+        style="margin-top: 12px"
+        @click="submitOa"
+        v-if="showSubmit && form.winningState == 0"
+        >提交</el-button>
+        <el-button
+        style="margin-top: 12px"
+        @click="next"
+        v-if="(showNext && form.winningState == 0) && this.boAuthority.boAuthority.boNext"
+        >变更为下一阶段</el-button>
+    </div>
+    <el-divider content-position="left" style="font-size: 30px">
+      该阶段任务
+    </el-divider>
+    <el-tabs v-model="activeName" @tab-click="tabsSwitch">
+      <!-- SPD商机页签 -->
+      <!-- 商机审核 -->
+      <el-tab-pane label="阶段动作" name="t00101" style="height: 200px; overflow-y: scroll" v-if="tabsName.t00101" >
+        <el-descriptions >
+          <el-descriptions-item label="医院应收总额">
+            <div v-for="dict in dict.type.mk_bo_total_revenue" v-if="form.totalHosRevenue == dict.value">
+              <div>{{dict.label}}</div>
+            </div>
+          </el-descriptions-item>
+          <el-descriptions-item label="医院耗材预估额(万元)">{{form.hosDiscreetValue}}</el-descriptions-item>
+        </el-descriptions>
+      </el-tab-pane>
+      <!-- 项目立项 -->
+      <el-tab-pane label="阶段动作" name="t00201" style="height: 200px; overflow-y: scroll" v-if="tabsName.t00201">
+        <el-form :disabled="!isUpdate" :model="form.boFlow">
+          <el-form-item label="项目立项是否通过" prop="projectApproval">
+            <el-radio
+              v-model="form.boFlow.projectApproval"
+              label="1"
+              >是</el-radio
+            >
+            <el-radio
+              v-model="form.boFlow.projectApproval"
+              label="0"
+              >否</el-radio
+            >
+          </el-form-item>
+          <el-form-item label="项目未通过原因:" prop="noPassCause"  v-if="form.boFlow.projectApproval == 0">
+            <el-row>
+              <el-col
+                :span="8"
+              >
+                <el-input
+                    v-model="form.boFlow.noPassCause"
+                  />
+              </el-col>
+            </el-row>
+          </el-form-item>
+        </el-form>
+        <Filemanager
+          @reload="reload"
+          :form="form"
+          :name="'商机审议会'"
+          :fileName="form.boFlow.businessCouncilAccessoryName"
+          :fileUrlid="form.boFlow.businessCouncilAccessoryUrlId"
+          :field="'business_council_accessory'"
+          v-if="form.boFlow.projectApproval == 1"
+        />
+        <Filemanager
+          @reload="reload"
+          :form="form"
+          :name="'立项书'"
+          :fileName="form.boFlow.projectProposalAccessoryName"
+          :fileUrlid="form.boFlow.projectProposalAccessoryUrlId"
+          :field="'project_proposal_accessory'"
+          v-if="form.boFlow.projectApproval == 1"
+        />
+      </el-tab-pane>
+      <!-- 售前提案/邀请考察 -->
+      <el-tab-pane label="售前提案" name="t00301" style="height: 200px; overflow-y: scroll" v-if="tabsName.t00301">
+        <el-row>
+          <el-col :span="8">
+            <Filemanager
+              @reload="reload"
+              :form="form"
+              :name="'售前提案文件'"
+              :fileName="form.boFlow.preSaleProposalAccessoryName"
+              :fileUrlid="form.boFlow.preSaleProposalAccessoryUrlId"
+              :field="'pre_sale_proposal_accessory'"
+            />
+          </el-col>
+        </el-row>
+      </el-tab-pane>
+      <el-tab-pane label="邀请考察" name="t00302" style="height: 200px; overflow-y: scroll" v-if="tabsName.t00302">
+        <el-form :inline="true" :disabled="!isUpdate" :model="form.boFlow" >
+          <el-form-item label="考察开始时间" prop="inspectStartTime">
+            <el-date-picker
+              v-model="form.boFlow.inspectStartTime"
+              type="datetime"
+              placeholder="选择日期时间"
+              :disabled="!isUpdate"
+            >
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="考察结束时间" prop="inspectStartTime">
+            <el-date-picker
+              v-model="form.boFlow.inspectEndTime"
+              type="datetime"
+              placeholder="选择日期时间"
+              :disabled="!isUpdate"
+            >
+            </el-date-picker>
+          </el-form-item>
+        </el-form>
+        <el-row>
+          <el-col :span="8">
+            <Filemanager
+              @reload="reload"
+              :form="form"
+              :name="'考察报告'"
+              :fileName="form.boFlow.investigationReportAccessoryName"
+              :fileUrlid="form.boFlow.investigationReportAccessoryUrlId"
+              :field="'investigation_report_accessory'"
+            />
+          </el-col>
+        </el-row>
+      </el-tab-pane>
+      <!-- 开院务会 -->
+      <el-tab-pane label="开院务会" name="t00401" style="height: 200px; overflow-y: scroll" v-if="tabsName.t00401">
+        <el-form :inline="true" :disabled="!isUpdate" :model="form.boFlow">
+          <el-form-item label="开院务会时间" prop="conferenceTime">
+            <el-date-picker
+              v-model="form.boFlow.conferenceTime"
+              type="datetime"
+              placeholder="选择日期时间"
+            >
+            </el-date-picker>
+          </el-form-item>
+        </el-form>
+      </el-tab-pane>
+      <!-- 院内立项 -->
+      <el-tab-pane label="院内立项" name="t00501" style="height: 200px;" v-if="tabsName.t00501">
+        <el-form :disabled="!isUpdate" :model="form.boFlow" >
+          <el-row>
+            <el-col :span="8">
+              <el-form-item
+                label="院内立项时间"
+                prop="hospitalApprovalTime"
+                label-width="100px"
+              >
+                <el-date-picker
+                  v-model="form.boFlow.hospitalApprovalTime"
+                  type="datetime"
+                  placeholder="选择日期时间"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item
+                label="院内立项牵头人"
+                prop="hospitalApprovalInitiator"
+                label-width="200px"
+              >
+                <el-input
+                  v-model="form.boFlow.hospitalApprovalInitiator"
+                  placeholder="选择院内立项牵头人"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </el-tab-pane>
+      <!-- 进场调研 -->
+      <el-tab-pane label="进场调研" name="t00601" style="height: 200px; overflow-y: scroll" v-if="tabsName.t00601">
+        <el-form :disabled="!isUpdate" :model="form.boFlow">
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="调研时间" prop="researchTime">
+                <el-date-picker
+                  v-model="form.boFlow.researchTime"
+                  type="datetime"
+                  placeholder="选择日期时间"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+        <Filemanager
+          @reload="reload"
+          :form="form"
+          :name="'调研报告'"
+          :fileName="form.boFlow.investigateReportAccessoryName"
+          :fileUrlid="form.boFlow.investigateReportAccessoryUrlId"
+          :field="'investigate_report_accessory'"
+        />
+      </el-tab-pane>
+      <!-- 解决方案-无 -->
+      <!-- 投标与签合同 -->
+      <el-tab-pane label="挂网投标" name="t00801" style="height: 200px; overflow-y: scroll" v-if="tabsName.t00801">
+        <el-form :disabled="!isUpdate" :model="form.boFlow" >
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="挂网时间" prop="researchTime">
+                <el-date-picker
+                  v-model="form.boFlow.hangingTime"
+                  type="datetime"
+                  placeholder="选择日期时间"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <Filemanager
+              @reload="reload"
+              :form="form"
+              :name="'投标书'"
+              :fileName="form.boFlow.biddingDocumentsAccessoryName"
+              :fileUrlid="form.boFlow.biddingDocumentsAccessoryUrlId"
+              :field="'bidding_documents_accessory'"
+            />
+          </el-row>
+          <el-row>
+            <el-col :span="5">
+              <el-form-item label="投标是否通过" prop="biddingDocumentsPass">
+                <el-radio
+                  v-model="form.boFlow.biddingDocumentsPass"
+                  label="1"
+                  >是</el-radio
+                >
+                <el-radio
+                  v-model="form.boFlow.biddingDocumentsPass"
+                  label="0"
+                  >否</el-radio
+                >
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-show="this.form.boFlow.biddingDocumentsPass == '1'">
+            <el-col :span="8">
+              <el-form-item label="我方优势" prop="ourAdvantage">
+                <el-input
+                  v-model="form.ourAdvantage"
+                  placeholder="我方优势"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-show="this.form.boFlow.biddingDocumentsPass == '0'">
+            <el-col :span="8">
+              <el-form-item label="我方劣势" prop="ourAdvantage">
+                <el-input
+                  v-model="form.ourAdvantage"
+                  placeholder="我方劣势"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-if="form.boFlow.biddingDocumentsPass == 1">
+            <Filemanager
+              @reload="reload"
+              :form="form"
+              :name="'中标通知书'"
+              :fileName="form.boFlow.letterAcceptanceAccessoryName"
+              :fileUrlid="form.boFlow.letterAcceptanceAccessoryUrlId"
+              :field="'letter_acceptance_accessory'"
+            />
+          </el-row>
+        </el-form>
+      </el-tab-pane>
+      <el-tab-pane label="合同签订" name="t00802" style="height: 200px; overflow-y: scroll" v-if="tabsName.t00802">
+        <el-form :disabled="!isUpdate" :model="form.boFlow">
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="合同签订时间" prop="contractSigningTime">
+                <el-date-picker
+                  v-model="form.boFlow.contractSigningTime"
+                  type="datetime"
+                  placeholder="选择日期时间"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <Filemanager
+              @reload="reload"
+              :form="form"
+              :name="'合同文件'"
+              :fileName="form.boFlow.contractDocumentAccessoryName"
+              :fileUrlid="form.boFlow.contractDocumentAccessoryUrlId"
+              :field="'contract_document_accessory'"
+            />
+          </el-row>
+        </el-form>
+      </el-tab-pane>
+
+      <!-- 耗材集采商机页签 -->
+      <!-- 商机审核 -->
+      <el-tab-pane label="阶段动作" name="t10101" style="height: 200px; overflow-y: scroll" v-if="tabsName.t10101">
+        <el-descriptions >
+          <el-descriptions-item label="医院应收总额">
+            <div v-for="dict in dict.type.mk_bo_total_revenue" v-if="form.totalHosRevenue == dict.value">
+              <div>{{dict.label}}</div>
+            </div>
+          </el-descriptions-item>
+          <el-descriptions-item label="医院耗材预估额(万元)">{{form.hosDiscreetValue}}</el-descriptions-item>
+        </el-descriptions>
+      </el-tab-pane>
+      <!-- 项目立项 -->
+      <el-tab-pane label="阶段动作" name="t10201" style="height: 200px; overflow-y: scroll" v-if="tabsName.t10201">
+        <el-form :disabled="!isUpdate" :model="form.consumablesBoFlow">
+          <el-form-item label="项目立项是否通过" prop="projectApproval">
+            <el-radio
+              v-model="form.consumablesBoFlow.projectApproval"
+              label="1"
+              >是</el-radio
+            >
+            <el-radio
+              v-model="form.consumablesBoFlow.projectApproval"
+              label="0"
+              >否</el-radio
+            >
+          </el-form-item>
+          <Filemanager
+            @reload="reload"
+            :form="form"
+            :name="'商机审议会'"
+            :fileName="form.consumablesBoFlow.contractDocumentAccessoryName"
+            :fileUrlid="form.consumablesBoFlow.businessCouncilAccessoryUrlId"
+            :field="'business_council_accessory'"
+            v-if="form.consumablesBoFlow.projectApproval == 1"
+          />
+          <Filemanager
+            @reload="reload"
+            :form="form"
+            :name="'立项书'"
+            :fileName="form.consumablesBoFlow.projectProposalAccessoryName"
+            :fileUrlid="form.consumablesBoFlow.projectProposalAccessoryUrlId"
+            :field="'project_proposal_accessory'"
+            v-if="form.consumablesBoFlow.projectApproval == 1"
+          />
+          <el-form-item label="项目未通过原因:" prop="noPassCause"  v-if="form.consumablesBoFlow.projectApproval == 0">
+            <el-row>
+              <el-col
+                :span="8"
+              >
+                <el-input
+                    v-model="form.consumablesBoFlow.noPassCause"
+                  />
+              </el-col>
+            </el-row>
+          </el-form-item>
+        </el-form>
+      </el-tab-pane>
+      <!-- 产品清单 -->
+      <el-tab-pane label="产品清单" name="t10301" style="height: 200px; overflow-y: scroll" v-if="tabsName.t10301">
+        <Filemanager
+          @reload="reload"
+          :form="form"
+          :name="'产品清单'"
+          :fileName="form.consumablesBoFlow.packagedProductAccessoryName"
+          :fileUrlid="form.consumablesBoFlow.packagedProductAccessoryUrlId"
+          :field="'packaged_product_accessory'"
+        />
+      </el-tab-pane>
+      <!-- 解决方案 -->
+      <el-tab-pane label="解决方案" name="t10401" style="height: 200px; overflow-y: scroll" v-if="tabsName.t10401">
+        <Filemanager
+          @reload="reload"
+          :form="form"
+          :name="'产品解决方案'"
+          :fileName="form.consumablesBoFlow.productSolutionAccessoryName"
+          :fileUrlid="form.consumablesBoFlow.productSolutionAccessoryUrlId"
+          :field="'product_solution_accessory'"
+        />
+      </el-tab-pane>
+      <!-- 院内决策 -->
+      <el-tab-pane label="院内决策" name="t10501" style="height: 200px; overflow-y: scroll" v-if="tabsName.t10501">
+        <el-form :inline="true" :disabled="!isUpdate" :model="form.consumablesBoFlow">
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="医院决策人" prop="hospitalDecisionMaker" >
+                <el-input v-model="form.consumablesBoFlow.hospitalDecisionMaker" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="医院决策时间" prop="hospitalDecisionTime" >
+                <el-date-picker
+                  v-model="form.consumablesBoFlow.hospitalDecisionTime"
+                  type="date"
+                  placeholder="选择日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </el-tab-pane>
+      <!-- 投标与签合同 -->
+      <el-tab-pane label="挂网投标" name="t10601" style="height: 200px; overflow-y: scroll" v-if="tabsName.t10601">
+        <el-form :disabled="!isUpdate" :model="form.consumablesBoFlow" >
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="挂网时间" prop="researchTime">
+                <el-date-picker
+                  v-model="form.consumablesBoFlow.hangingTime"
+                  type="datetime"
+                  placeholder="选择日期时间"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <Filemanager
+              @reload="reload"
+              :form="form"
+              :name="'投标书'"
+              :fileName="form.consumablesBoFlow.biddingDocumentsAccessoryName"
+              :fileUrlid="form.consumablesBoFlow.biddingDocumentsAccessoryUrlId"
+              :field="'bidding_documents_accessory'"
+            />
+          </el-row>
+          <el-row>
+            <el-col :span="5">
+              <el-form-item label="投标是否通过" prop="biddingDocumentsPass">
+                <el-radio
+                  v-model="form.consumablesBoFlow.biddingDocumentsPass"
+                  label="1"
+                  >是</el-radio
+                >
+                <el-radio
+                  v-model="form.consumablesBoFlow.biddingDocumentsPass"
+                  label="0"
+                  >否</el-radio
+                >
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-show="this.form.consumablesBoFlow.biddingDocumentsPass == '1'">
+            <el-col :span="8">
+              <el-form-item label="我方优势" prop="ourAdvantage">
+                <el-input
+                  v-model="form.ourAdvantage"
+                  placeholder="我方优势"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-show="this.form.consumablesBoFlow.biddingDocumentsPass == '0'">
+            <el-col :span="8">
+              <el-form-item label="我方劣势" prop="ourAdvantage">
+                <el-input
+                  v-model="form.ourAdvantage"
+                  placeholder="我方劣势"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-if="form.consumablesBoFlow.biddingDocumentsPass == 1">
+            <Filemanager
+              @reload="reload"
+              :form="form"
+              :name="'中标通知书'"
+              :fileName="form.consumablesBoFlow.letterAcceptanceAccessoryName"
+              :fileUrlid="form.consumablesBoFlow.letterAcceptanceAccessoryUrlId"
+              :field="'letter_acceptance_accessory'"
+            />
+          </el-row>
+        </el-form>
+      </el-tab-pane>
+      <el-tab-pane label="合同签订" name="t10602" style="height: 200px; overflow-y: scroll" v-if="tabsName.t10602">
+        <el-form :model="form.consumablesBoFlow">
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="合同签订时间" prop="contractSigningTime">
+                <el-date-picker
+                  v-model="form.consumablesBoFlow.contractSigningTime"
+                  type="datetime"
+                  placeholder="选择日期时间"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <Filemanager
+              @reload="reload"
+              :form="form"
+              :name="'合同文件'"
+              :fileName="form.consumablesBoFlow.contractDocumentAccessoryName"
+              :fileUrlid="form.consumablesBoFlow.contractDocumentAccessoryUrlId"
+              :field="'contract_document_accessory'"
+            />
+          </el-row>
+        </el-form>
+      </el-tab-pane>
+
+      <!-- 医用耗材商机页签 -->
+      <!-- 需求信息收集 -->
+      <el-tab-pane label="需求详情" name="t20101" style="height: 200px; overflow-y: scroll" v-if="tabsName.t20101">
+        <Filemanager
+          @reload="reload"
+          :form="form"
+          :name="'耗材清单'"
+          :fileName="form.medicalBoFlow.hosSuppliesListAccessoryName"
+          :fileUrlid="form.medicalBoFlow.hosSuppliesListAccessoryUrlId"
+          :field="'hos_supplies_list_accessory'"
+        />
+      </el-tab-pane>
+      <!-- 商机审核 -->
+      <el-tab-pane label="阶段动作" name="t20201" style="height: 200px; overflow-y: scroll" v-if="tabsName.t20201">
+        <el-descriptions >
+          <el-descriptions-item label="医院应收总额">
+            <div v-for="dict in dict.type.mk_bo_total_revenue" v-if="form.totalHosRevenue == dict.value">
+              <div>{{dict.label}}</div>
+            </div>
+          </el-descriptions-item>
+          <el-descriptions-item label="医院耗材预估额(万元)">{{form.hosDiscreetValue}}</el-descriptions-item>
+        </el-descriptions>
+      </el-tab-pane>
+      <!-- 项目立项 -->
+      <el-tab-pane label="阶段动作" name="t20301" style="height: 200px; overflow-y: scroll" v-if="tabsName.t20301">
+        <el-form :disabled="!isUpdate" :model="form.medicalBoFlow" >
+          <el-form-item label="项目立项是否通过" prop="projectApproval">
+            <el-radio
+              v-model="form.medicalBoFlow.projectApproval"
+              label="1"
+              >是</el-radio
+            >
+            <el-radio
+              v-model="form.medicalBoFlow.projectApproval"
+              label="0"
+              >否</el-radio
+            >
+          </el-form-item>
+          <Filemanager
+            @reload="reload"
+            :form="form"
+            :name="'商机审议会'"
+            :fileName="form.medicalBoFlow.businessCouncilAccessoryName"
+            :fileUrlid="form.medicalBoFlow.businessCouncilAccessoryUrlId"
+            :field="'business_council_accessory'"
+            v-if="form.medicalBoFlow.projectApproval == 1"
+          />
+          <Filemanager
+            @reload="reload"
+            :form="form"
+            :name="'立项书'"
+            :fileName="form.medicalBoFlow.projectProposalAccessoryName"
+            :fileUrlid="form.medicalBoFlow.projectProposalAccessoryUrlId"
+            :field="'project_proposal_accessory'"
+            v-if="form.medicalBoFlow.projectApproval == 1"
+          />
+          <el-form-item label="项目未通过原因:" prop="noPassCause"  v-if="form.medicalBoFlow.projectApproval == 0">
+            <el-row>
+              <el-col
+                :span="8"
+              >
+                <el-input
+                    v-model="form.medicalBoFlow.noPassCause"
+                  />
+              </el-col>
+            </el-row>
+          </el-form-item>
+        </el-form>
+      </el-tab-pane>
+      <!-- 产品清单 -->
+      <el-tab-pane label="产品清单" name="t20401" style="height: 200px; overflow-y: scroll" v-if="tabsName.t20401">
+        <Filemanager
+          @reload="reload"
+          :form="form"
+          :name="'产品清单'"
+          :fileName="form.medicalBoFlow.hosSuppliesListAccessoryName"
+          :fileUrlid="form.medicalBoFlow.hosSuppliesListAccessoryUrlId"
+          :field="'hos_supplies_list_accessory'"
+        />
+      </el-tab-pane>
+      <!-- 解决方案 -->
+      <el-tab-pane label="解决方案" name="t20501" style="height: 200px; overflow-y: scroll" v-if="tabsName.t20501">
+        <Filemanager
+          @reload="reload"
+          :form="form"
+          :name="'产品解决方案'"
+          :fileName="form.medicalBoFlow.productSolutionAccessoryName"
+          :fileUrlid="form.medicalBoFlow.productSolutionAccessoryUrlId"
+          :field="'packaged_product_accessory'"
+        />
+      </el-tab-pane>
+      <!-- 临床申请 -->
+      <el-tab-pane label="临床申请" name="t20601" style="height: 200px; overflow-y: scroll" v-if="tabsName.t20601">
+        <Filemanager
+          @reload="reload"
+          :form="form"
+          :name="'临床申请报告'"
+          :fileName="form.medicalBoFlow.clinicalReportAccessoryName"
+          :fileUrlid="form.medicalBoFlow.clinicalReportAccessoryUrlId"
+          :field="'clinical_report_accessory'"
+        />
+      </el-tab-pane>
+      <!-- 院内决策 -->
+      <el-tab-pane label="院内决策" name="t20701" style="height: 200px; overflow-y: scroll" v-if="tabsName.t20701">
+        <el-form :disabled="!isUpdate" :inline="true" :model="form.medicalBoFlow" >
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="医院决策人" prop="hospitalDecisionMaker" >
+                <el-input v-model="form.medicalBoFlow.hospitalDecisionMaker" />
+              </el-form-item>
+            </el-col>
+            <el-col :span="8">
+              <el-form-item label="医院决策时间" prop="hospitalDecisionTime" >
+                <el-date-picker
+                  v-model="form.medicalBoFlow.hospitalDecisionTime"
+                  type="date"
+                  placeholder="选择日期">
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </el-tab-pane>
+      <!-- 投标与签合同 -->
+      <el-tab-pane label="挂网投标" name="t20801" style="height: 200px; overflow-y: scroll" v-if="tabsName.t20801">
+        <el-form :disabled="!isUpdate" :model="form.medicalBoFlow" >
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="挂网时间" prop="researchTime">
+                <el-date-picker
+                  v-model="form.medicalBoFlow.hangingTime"
+                  type="datetime"
+                  placeholder="选择日期时间"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <Filemanager
+              @reload="reload"
+              :form="form"
+              :name="'投标书'"
+              :fileName="form.medicalBoFlow.biddingDocumentsAccessoryName"
+              :fileUrlid="form.medicalBoFlow.biddingDocumentsAccessoryUrlId"
+              :field="'bidding_documents_accessory'"
+            />
+          </el-row>
+          <el-row>
+            <el-col :span="5">
+              <el-form-item label="投标是否通过" prop="biddingDocumentsPass">
+                <el-radio
+                  v-model="form.medicalBoFlow.biddingDocumentsPass"
+                  label="1"
+                  >是</el-radio
+                >
+                <el-radio
+                  v-model="form.medicalBoFlow.biddingDocumentsPass"
+                  label="0"
+                  >否</el-radio
+                >
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-show="this.form.medicalBoFlow.biddingDocumentsPass == '1'">
+            <el-col :span="8">
+              <el-form-item label="我方优势" prop="ourAdvantage">
+                <el-input
+                  v-model="form.ourAdvantage"
+                  placeholder="我方优势"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-show="this.form.medicalBoFlow.biddingDocumentsPass == '0'">
+            <el-col :span="8">
+              <el-form-item label="我方劣势" prop="ourAdvantage">
+                <el-input
+                  v-model="form.ourAdvantage"
+                  placeholder="我方劣势"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-if="form.medicalBoFlow.biddingDocumentsPass == 1">
+            <Filemanager
+              @reload="reload"
+              :form="form"
+              :name="'中标通知书'"
+              :fileName="form.medicalBoFlow.letterAcceptanceAccessoryName"
+              :fileUrlid="form.medicalBoFlow.letterAcceptanceAccessoryUrlId"
+              :field="'letter_acceptance_accessory'"
+            />
+          </el-row>
+        </el-form>
+      </el-tab-pane>
+      <el-tab-pane label="合同签订" name="t20802" style="height: 200px; overflow-y: scroll" v-if="tabsName.t20802">
+        <el-form :disabled="!isUpdate" :model="form.medicalBoFlow">
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="合同签订时间" prop="contractSigningTime">
+                <el-date-picker
+                  v-model="form.medicalBoFlow.contractSigningTime"
+                  type="datetime"
+                  placeholder="选择日期时间"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <Filemanager
+              @reload="reload"
+              :form="form"
+              :name="'合同文件'"
+              :fileName="form.medicalBoFlow.contractDocumentAccessoryName"
+              :fileUrlid="form.medicalBoFlow.contractDocumentAccessoryUrlId"
+              :field="'contract_document_accessory'"
+            />
+          </el-row>
+        </el-form>
+      </el-tab-pane>
+
+      <!-- 医疗设备商机页签 -->
+      <!-- 需求信息收集 -->
+      <el-tab-pane label="需求详情" name="t30101" style="height: 200px; overflow-y: scroll" v-if="tabsName.t30101">
+        <Filemanager
+          @reload="reload"
+          :form="form"
+          :name="'设备清单'"
+          :fileName="form.armariumBoFlow.hosEqPurchaseAccessoryName"
+          :fileUrlid="form.armariumBoFlow.hosEqPurchaseAccessoryUrlId"
+          :field="'hos_eq_purchase_accessory'"
+        />
+      </el-tab-pane>
+      <!-- 商机审核 -->
+      <el-tab-pane label="阶段动作" name="t30201" style="height: 200px; overflow-y: scroll" v-if="tabsName.t30201">
+        <el-descriptions >
+          <el-descriptions-item label="医院应收总额">
+            <div v-for="dict in dict.type.mk_bo_total_revenue" v-if="form.totalHosRevenue == dict.value">
+              <div>{{dict.label}}</div>
+            </div>
+          </el-descriptions-item>
+          <el-descriptions-item label="医院耗材预估额(万元)">{{form.hosDiscreetValue}}</el-descriptions-item>
+        </el-descriptions>
+      </el-tab-pane>
+      <!-- 项目立项 -->
+      <el-tab-pane label="阶段动作" name="t30301" style="height: 200px; overflow-y: scroll" v-if="tabsName.t30301">
+        <el-form :model="form.armariumBoFlow" :disabled="!isUpdate">
+          <el-form-item label="项目立项是否通过" prop="projectApproval">
+            <el-radio
+              v-model="form.armariumBoFlow.projectApproval"
+              label="1"
+              >是</el-radio
+            >
+            <el-radio
+              v-model="form.armariumBoFlow.projectApproval"
+              label="0"
+              >否</el-radio
+            >
+          </el-form-item>
+          <Filemanager
+            @reload="reload"
+            :form="form"
+            :name="'商机审议会'"
+            :fileName="form.armariumBoFlow.businessCouncilAccessoryName"
+            :fileUrlid="form.armariumBoFlow.businessCouncilAccessoryUrlId"
+            :field="'business_council_accessory'"
+            v-if="form.armariumBoFlow.projectApproval == 1"
+          />
+          <Filemanager
+            @reload="reload"
+            :form="form"
+            :name="'立项书'"
+            :fileName="form.armariumBoFlow.projectProposalAccessoryName"
+            :fileUrlid="form.armariumBoFlow.projectProposalAccessoryUrlId"
+            :field="'project_proposal_accessory'"
+            v-if="form.armariumBoFlow.projectApproval == 1"
+          />
+          <el-form-item label="项目未通过原因:" prop="noPassCause"  v-if="form.armariumBoFlow.projectApproval == 0">
+            <el-row>
+              <el-col
+                :span="8"
+              >
+                <el-input
+                    v-model="form.armariumBoFlow.noPassCause"
+                  />
+              </el-col>
+            </el-row>
+          </el-form-item>
+        </el-form>
+      </el-tab-pane>
+      <!-- 谈判产品 -->
+      <el-tab-pane label="谈判产品" name="t30401" style="height: 200px; overflow-y: scroll" v-if="tabsName.t30401">
+        <el-form :inline="true" :disabled="!isUpdate" :model="form.armariumBoFlow" >
+          <el-col :span="1.5">
+            <el-form-item label="谈判产品日期" prop="negotiationTime" >
+              <el-date-picker
+                v-model="form.armariumBoFlow.negotiationTime"
+                type="date"
+                placeholder="选择日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <Filemanager
+            @reload="reload"
+            :form="form"
+            :name="'谈判产品报告'"
+            :fileName="form.armariumBoFlow.negotiationProductAccessoryName"
+            :fileUrlid="form.armariumBoFlow.negotiationProductAccessoryUrlId"
+            :field="'negotiation_product_accessory'"
+          />
+        </el-form>
+      </el-tab-pane>
+      <!-- 获得授权 -->
+      <el-tab-pane label="获得授权" name="t30501" style="height: 200px; overflow-y: scroll" v-if="tabsName.t30501">
+        <el-form :inline="true" :disabled="!isUpdate" :model="form.armariumBoFlow" >
+          <el-form-item label="授权产品名称" prop="impowerProductName" >
+            <el-input v-model="form.armariumBoFlow.impowerProductName" />
+          </el-form-item>
+          <el-form-item label="授权产品品牌" prop="impowerProductBrand" >
+            <el-input v-model="form.armariumBoFlow.impowerProductBrand" />
+          </el-form-item>
+          <el-form-item label="授权开始时间" prop="impowerStartTime" >
+            <el-date-picker
+              v-model="form.armariumBoFlow.impowerStartTime"
+              type="date"
+            >
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="授权结束时间" prop="impowerEndTime" >
+            <el-date-picker
+              v-model="form.armariumBoFlow.impowerEndTime"
+              type="date"
+            >
+            </el-date-picker>
+          </el-form-item>
+        </el-form>
+      </el-tab-pane>
+      <!-- 解决方案 -->
+      <el-tab-pane label="解决方案" name="t30601" style="height: 200px; overflow-y: scroll" v-if="tabsName.t30601">
+        <Filemanager
+          @reload="reload"
+          :form="form"
+          :name="'产品解决方案'"
+          :fileName="form.armariumBoFlow.productSolutionAccessoryName"
+          :fileUrlid="form.armariumBoFlow.productSolutionAccessoryUrlId"
+          :field="'product_solution_accessory'"
+        />
+      </el-tab-pane>
+      <!-- 投标与签合同 -->
+      <el-tab-pane label="挂网投标" name="t30701" style="height: 200px; overflow-y: scroll" v-if="tabsName.t30701">
+        <el-form :disabled="!isUpdate" :model="form.armariumBoFlow" >
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="挂网时间" prop="researchTime">
+                <el-date-picker
+                  v-model="form.armariumBoFlow.hangingTime"
+                  type="datetime"
+                  placeholder="选择日期时间"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <Filemanager
+              @reload="reload"
+              :form="form"
+              :name="'投标书'"
+              :fileName="form.armariumBoFlow.biddingDocumentsAccessoryName"
+              :fileUrlid="form.armariumBoFlow.biddingDocumentsAccessoryUrlId"
+              :field="'bidding_documents_accessory'"
+            />
+          </el-row>
+          <el-row>
+            <el-col :span="5">
+              <el-form-item label="投标是否通过" prop="biddingDocumentsPass">
+                <el-radio
+                  v-model="form.armariumBoFlow.biddingDocumentsPass"
+                  label="1"
+                  >是</el-radio
+                >
+                <el-radio
+                  v-model="form.armariumBoFlow.biddingDocumentsPass"
+                  label="0"
+                  >否</el-radio
+                >
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-show="this.form.armariumBoFlow.biddingDocumentsPass == '1'">
+            <el-col :span="8">
+              <el-form-item label="我方优势" prop="ourAdvantage">
+                <el-input
+                  v-model="form.ourAdvantage"
+                  placeholder="我方优势"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-show="this.form.armariumBoFlow.biddingDocumentsPass == '0'">
+            <el-col :span="8">
+              <el-form-item label="我方劣势" prop="ourAdvantage">
+                <el-input
+                  v-model="form.ourAdvantage"
+                  placeholder="我方劣势"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-if="form.armariumBoFlow.biddingDocumentsPass == 1">
+            <Filemanager
+              @reload="reload"
+              :form="form"
+              :name="'中标通知书'"
+              :fileName="form.armariumBoFlow.letterAcceptanceAccessoryName"
+              :fileUrlid="form.armariumBoFlow.letterAcceptanceAccessoryUrlId"
+              :field="'letter_acceptance_accessory'"
+            />
+          </el-row>
+        </el-form>
+      </el-tab-pane>
+      <el-tab-pane label="合同签订" name="t30702" style="height: 200px; overflow-y: scroll" v-if="tabsName.t30702">
+        <el-form :disabled="!isUpdate" :model="form.armariumBoFlow">
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="合同签订时间" prop="contractSigningTime">
+                <el-date-picker
+                  v-model="form.armariumBoFlow.contractSigningTime"
+                  type="datetime"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <Filemanager
+              @reload="reload"
+              :form="form"
+              :name="'合同文件'"
+              :fileName="form.armariumBoFlow.contractDocumentAccessoryName"
+              :fileUrlid="form.armariumBoFlow.contractDocumentAccessoryUrlId"
+              :field="'contract_document_accessory'"
+            />
+          </el-row>
+        </el-form>
+      </el-tab-pane>
+
+      <!-- 军队医疗设备商机页签 -->
+      <!-- 需求信息收集 -->
+      <el-tab-pane label="设备清单" name="t40101" style="height: 200px; overflow-y: scroll" v-if="tabsName.t40101">
+        <Filemanager
+          @reload="reload"
+          :form="form"
+          :name="'设备清单'"
+          :fileName="form.amfBoFlow.hosEqPurchaseAccessoryName"
+          :fileUrlid="form.amfBoFlow.hosEqPurchaseAccessoryUrlId"
+          :field="'hos_eq_purchase_accessory'"
+        />
+      </el-tab-pane>
+      <!-- 商机审核 -->
+      <el-tab-pane label="阶段动作" name="t40201" style="height: 200px; overflow-y: scroll" v-if="tabsName.t40201">
+        <el-descriptions >
+          <el-descriptions-item label="医院应收总额">
+            <div v-for="dict in dict.type.mk_bo_total_revenue" v-if="form.totalHosRevenue == dict.value">
+              <div>{{dict.label}}</div>
+            </div>
+          </el-descriptions-item>
+          <el-descriptions-item label="医院耗材预估额(万元)">{{form.hosDiscreetValue}}</el-descriptions-item>
+        </el-descriptions>
+      </el-tab-pane>
+      <!-- 项目立项 -->
+      <el-tab-pane label="阶段动作" name="t40301" style="height: 200px; overflow-y: scroll" v-if="tabsName.t40301">
+        <el-form :disabled="!isUpdate" :model="form.amfBoFlow" >
+          <el-form-item label="项目立项是否通过" prop="projectApproval">
+            <el-radio
+              v-model="form.amfBoFlow.projectApproval"
+              label="1"
+              >是</el-radio
+            >
+            <el-radio
+              v-model="form.amfBoFlow.projectApproval"
+              label="0"
+              >否</el-radio
+            >
+          </el-form-item>
+          <Filemanager
+            @reload="reload"
+            :form="form"
+            :name="'设备清单'"
+            :fileName="form.amfBoFlow.businessCouncilAccessoryName"
+            :fileUrlid="form.amfBoFlow.businessCouncilAccessoryUrlId"
+            :field="'business_council_accessory'"
+            v-if="form.amfBoFlow.projectApproval == 1"
+          />
+          <Filemanager
+            @reload="reload"
+            :form="form"
+            :name="'立项书'"
+            :fileName="form.amfBoFlow.projectProposalAccessoryName"
+            :fileUrlid="form.amfBoFlow.projectProposalAccessoryUrlId"
+            :field="'project_proposal_accessory'"
+            v-if="form.amfBoFlow.projectApproval == 1"
+          />
+          <el-form-item label="项目未通过原因:" prop="noPassCause"  v-if="form.amfBoFlow.projectApproval == 0">
+            <el-row>
+              <el-col
+                :span="8"
+              >
+                <el-input
+                    v-model="form.amfBoFlow.noPassCause"
+                  />
+              </el-col>
+            </el-row>
+          </el-form-item>
+        </el-form>
+      </el-tab-pane>
+      <!-- 谈判产品 -->
+      <el-tab-pane label="谈判产品" name="t40401" style="height: 200px; overflow-y: scroll" v-if="tabsName.t40401">
+        <el-form :inline="true" :disabled="!isUpdate" :model="form.amfBoFlow" >
+          <el-col :span="1.5">
+            <el-form-item label="谈判产品日期" prop="negotiationTime" >
+              <el-date-picker
+                v-model="form.amfBoFlow.negotiationTime"
+                type="date"
+                placeholder="选择日期">
+              </el-date-picker>
+            </el-form-item>
+          </el-col>
+          <Filemanager
+            @reload="reload"
+            :form="form"
+            :name="'谈判产品报告'"
+            :fileName="form.amfBoFlow.negotiationProductAccessoryName"
+            :fileUrlid="form.amfBoFlow.negotiationProductAccessoryUrlId"
+            :field="'negotiation_product_accessory'"
+          />
+        </el-form>
+      </el-tab-pane>
+      <!-- 获得授权 -->
+      <el-tab-pane label="获得授权" name="t40501" style="height: 200px; overflow-y: scroll" v-if="tabsName.t40501">
+        <el-form :inline="true" :disabled="!isUpdate" :model="form.amfBoFlow">
+          <el-form-item label="授权产品名称" prop="impowerProductName" >
+            <el-input v-model="form.amfBoFlow.impowerProductName" />
+          </el-form-item>
+          <el-form-item label="授权产品品牌" prop="impowerProductBrand" >
+            <el-input v-model="form.amfBoFlow.impowerProductBrand" />
+          </el-form-item>
+          <el-form-item label="授权开始时间" prop="impowerStartTime" >
+            <el-date-picker
+              v-model="form.amfBoFlow.impowerStartTime"
+              type="date"
+              placeholder="选择日期">
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="授权结束时间" prop="impowerEndTime" >
+            <el-date-picker
+              v-model="form.amfBoFlow.impowerEndTime"
+              type="date"
+              placeholder="选择日期">
+            </el-date-picker>
+          </el-form-item>
+        </el-form>
+      </el-tab-pane>
+      <!-- 解决方案 -->
+      <el-tab-pane label="解决方案" name="t40601" style="height: 200px; overflow-y: scroll" v-if="tabsName.t40601">
+        <Filemanager
+          @reload="reload"
+          :form="form"
+          :name="'产品解决方案'"
+          :fileName="form.amfBoFlow.productSolutionAccessoryName"
+          :fileUrlid="form.amfBoFlow.productSolutionAccessoryUrlId"
+          :field="'product_solution_accessory'"
+        />
+      </el-tab-pane>
+      <!-- 投标与签合同 -->
+      <el-tab-pane label="挂网投标" name="t40701" style="height: 200px; overflow-y: scroll" v-if="tabsName.t40701">
+        <el-form :disabled="!isUpdate" :model="form.amfBoFlow" >
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="挂网时间" prop="researchTime">
+                <el-date-picker
+                  v-model="form.amfBoFlow.hangingTime"
+                  type="datetime"
+                  placeholder="选择日期时间"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <Filemanager
+              @reload="reload"
+              :form="form"
+              :name="'投标书'"
+              :fileName="form.amfBoFlow.biddingDocumentsAccessoryName"
+              :fileUrlid="form.amfBoFlow.biddingDocumentsAccessoryUrlId"
+              :field="'bidding_documents_accessory'"
+            />
+          </el-row>
+          <el-row>
+            <el-col :span="5">
+              <el-form-item label="投标是否通过" prop="biddingDocumentsPass">
+                <el-radio
+                  v-model="form.amfBoFlow.biddingDocumentsPass"
+                  label="1"
+                  >是</el-radio
+                >
+                <el-radio
+                  v-model="form.amfBoFlow.biddingDocumentsPass"
+                  label="0"
+                  >否</el-radio
+                >
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-show="this.form.amfBoFlow.biddingDocumentsPass == '1'">
+            <el-col :span="8">
+              <el-form-item label="我方优势" prop="ourAdvantage">
+                <el-input
+                  v-model="form.ourAdvantage"
+                  placeholder="我方优势"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-show="this.form.amfBoFlow.biddingDocumentsPass == '0'">
+            <el-col :span="8">
+              <el-form-item label="我方劣势" prop="ourAdvantage">
+                <el-input
+                  v-model="form.ourAdvantage"
+                  placeholder="我方劣势"
+                />
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row v-if="form.amfBoFlow.biddingDocumentsPass == 1">
+            <Filemanager
+              @reload="reload"
+              :form="form"
+              :name="'中标通知书'"
+              :fileName="form.amfBoFlow.letterAcceptanceAccessoryName"
+              :fileUrlid="form.amfBoFlow.letterAcceptanceAccessoryUrlId"
+              :field="'letter_acceptance_accessory'"
+            />
+          </el-row>
+        </el-form>
+      </el-tab-pane>
+      <el-tab-pane label="合同签订" name="t40702" style="height: 200px; overflow-y: scroll" v-if="tabsName.t40702">
+        <el-form :disabled="!isUpdate" :model="form.amfBoFlow">
+          <el-row>
+            <el-col :span="8">
+              <el-form-item label="合同签订时间" prop="contractSigningTime">
+                <el-date-picker
+                  v-model="form.amfBoFlow.contractSigningTime"
+                  type="datetime"
+                  placeholder="选择日期时间"
+                >
+                </el-date-picker>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <Filemanager
+              @reload="reload"
+              :form="form"
+              :name="'合同文件'"
+              :fileName="form.amfBoFlow.contractDocumentAccessoryName"
+              :fileUrlid="form.amfBoFlow.contractDocumentAccessoryUrlId"
+              :field="'contract_document_accessory'"
+            />
+          </el-row>
+        </el-form>
+      </el-tab-pane>
+
+      <!-- 公用页签 -->
+      <el-tab-pane label="项目成员" name="tB" style="height: 200px; overflow-y: scroll" v-if="tabsName.B">
+        <PojpsnList
+          :source="'BoDetails'"
+          :bo="form"
+          :boAuthority="boAuthority"
+          v-if="activeName == 'tB'"
+        />
+      </el-tab-pane>
+      <el-tab-pane label="跟进记录" name="tA" style="height: 200px; overflow-y: scroll" v-if="tabsName.A">
+        <BehaviorList
+          :source="'BoDetails'"
+          :bo="behaviorParame"
+          :boAuthority="boAuthority"
+          v-if="activeName == 'tA'"
+        />
+      </el-tab-pane>
+    </el-tabs>
+    <!-- 编辑按钮组 -->
+    <dev>
+      <el-row type="flex" class="row-bg" justify="end">
+        <el-col :span="2" v-show="!isUpdate" v-if="this.boAuthority.boAuthority.boEdit">
+          <div class="grid-content bg-purple">
+            <el-button
+              @click="modifyButton"
+              >修改</el-button
+            >
+          </div>
+        </el-col>
+        <el-col :span="2" v-show="isUpdate">
+          <div class="grid-content bg-purple-light">
+            <el-button
+              @click="cancelButton"
+              >取消</el-button
+            >
+          </div>
+        </el-col>
+        <el-col :span="2" v-show="isUpdate">
+          <div class="grid-content bg-purple">
+            <el-button
+              @click="saveButton"
+              >保存</el-button
+            >
+          </div>
+        </el-col>
+      </el-row>
+    </dev>
+  </div>
+</template>
+
+<script>
+import {submit, changeNextStage, updateBasicFlow} from "@/api/business/spd/bo/basic";
+import BehaviorList from "../behavior/behaviorList.vue";
+import PojpsnList from "../pojpsn/pojpsnList.vue";
+import Filemanager from '../basic/filemanager.vue';
+
+export default {
+  name: "process",
+  props: ["form","boAuthority","boStage","dict"],
+  components: {BehaviorList,PojpsnList,Filemanager},
+  data() {
+    return {
+      //选择的选项卡
+      activeName: '',
+      //查看的节点
+      showStage: null,
+      //流程所在节点
+      active: null,
+      //提交按钮是否显示
+      showSubmit:false,
+      //下一步按钮是否显示
+      showNext:false,
+      //页签显示状态
+      tabsName:{
+        t00101:false,
+        t00201:false,
+        t00202:false,
+        t00301:false,
+        t00302:false,
+        t00303:false,
+        t00401:false,
+        t00501:false,
+        t00601:false,
+        t00801:false,
+        t00802:false,
+
+        t10101:false,
+        t10201:false,
+        t10301:false,
+        t10401:false,
+        t10501:false,
+        t10601:false,
+        t10602:false,
+
+        t20101:false,
+        t20201:false,
+        t20301:false,
+        t20401:false,
+        t20501:false,
+        t20601:false,
+        t20701:false,
+        t20801:false,
+        t20802:false,
+
+        t30101:false,
+        t30201:false,
+        t30301:false,
+        t30401:false,
+        t30501:false,
+        t30601:false,
+        t30701:false,
+        t30702:false,
+
+        t40101:false,
+        t40201:false,
+        t40301:false,
+        t40401:false,
+        t40501:false,
+        t40601:false,
+        t40701:false,
+        t40702:false,
+
+        A:false,
+        B:false,
+      },
+      //编辑状态
+      isUpdate:false,
+      //跟进记录参数
+      behaviorParame:{},
+    };
+  },
+  created() {
+    console.log("this.boAuthority", this.boAuthority);
+    console.log('流程组件的boStage',this.boStage);
+    console.log('流程组件的form',this.form);
+    //初始化流程数据
+    //控制提交、下一步按钮显示状态
+    var arr = this.boStage.filter(item=>item.name.toString().includes('审核'));
+    var auditNode = arr[0].orderNum;
+    console.log('auditNode',auditNode);
+    var arr1 = this.boStage.filter(item=>item.code == this.form.boStage);
+    var curNode = arr1[0].orderNum;
+    console.log('curNode',curNode);
+     if(auditNode == curNode || arr1[0].code.toString().includes('99')){
+      this.showSubmit = false;
+      this.showNext = false;
+    }else if(auditNode - 1 == curNode){
+      this.showSubmit = true;
+      this.showNext = false;
+    }else if(auditNode - 1 != curNode){
+      this.showNext = true;
+      this.showSubmit = false;
+    }
+    //控制初始化时展示哪些页签
+    this.showTabs(this.form.boStage);
+  },
+  methods: {
+    // 当前流程节点转换
+    activeConversion(val){
+      let arr = this.boStage.filter(item=>item.code == val);
+      return arr[0].orderNum;
+    },
+    //查看阶段时触发
+    viewingProcedure(stage) {
+      let arr = this.boStage.filter(item=>item.code == this.form.boStage);
+      this.showStage = stage;
+      if(stage.orderNum > arr[0].orderNum){
+        this.$modal.alert("只能查看之前的阶段信息!");
+      }else{
+        this.showTabs(stage.code);
+      }
+    },
+    //  提交至OA进行审批
+    submitOa(){
+      const id = this.form.id;
+      this.$modal.confirm('确认提交吗?').then(function() {
+        return submit(id);
+      }).then(() => {
+        this.$modal.msgSuccess("提交成功");
+        this.$emit('reload');
+      }).catch(() => {});
+    },
+    //下一步
+    next() {
+      var boId = this.form.id;
+      this.$modal.confirm('确定要变更为下一阶段吗?').then(function() {
+        return changeNextStage(boId);
+      }).then(() => {
+        this.$modal.msgSuccess("流程扭转成功");
+        this.$emit('reload');
+      }).catch(function() {
+      });
+    },
+    //修改按钮
+    modifyButton() {
+      this.isUpdate = true;
+    },
+    //取消按钮
+    cancelButton() {
+      this.isUpdate = false;
+      this.$emit('reload');
+    },
+    //保存按钮
+    saveButton() {
+      updateBasicFlow(this.form).then((response) => {
+        this.$modal.msgSuccess("修改成功");
+        this.isUpdate = false;
+        this.$emit('reload');
+      });
+    },
+    //多页签切换
+    tabsSwitch(e) {
+      console.log("当前查看的页签是",e.name);
+      switch(e.name) {
+        case 'tA':
+          this.behaviorParame = JSON.parse(JSON.stringify(this.form));
+          this.behaviorParame.boStage = this.showStage.code;
+          //跟进记录
+          break;
+        case 'tB':
+          //项目成员
+          break;
+        default:
+            break;
+      }
+    },
+    //展示哪些页签
+    showTabs(val){
+      console.log('当前查看的阶段是',val);
+      this.closeTabs();
+      switch(val){
+        case '0-01':
+          this.activeName = 't00101';
+          this.tabsName.t00101 = true;
+          this.tabsName.A = true;
+          break;
+        case '0-02':
+          this.activeName = 't00201';
+          this.tabsName.t00201 = true;
+          this.tabsName.t00202 = true;
+          this.tabsName.A = true;
+          this.tabsName.B = true;
+          break;
+        case '0-03':
+          this.activeName = 't00301';
+          this.tabsName.t00301 = true;
+          this.tabsName.t00302 = true;
+          break;
+        case '0-04':
+          this.activeName = 't00401';
+          this.tabsName.t00401 = true;
+          break;
+        case '0-05':
+          this.activeName = 't00501';
+          this.tabsName.t00501 = true;
+          break;
+        case '0-06':
+          this.activeName = 't00601';
+          this.tabsName.t00601 = true;
+          break;
+        case '0-07':
+          this.activeName = 't00301';
+          this.tabsName.t00301 = true;
+          this.tabsName.t00302 = true;
+          this.tabsName.t00303 = true;
+          this.tabsName.t00401 = true;
+          this.tabsName.t00501 = true;
+          this.tabsName.t00601 = true;
+          this.tabsName.A = true;
+          break;
+        case '0-08':
+          this.activeName = 't00801';
+          this.tabsName.t00801 = true;
+          this.tabsName.t00802 = true;
+          this.tabsName.A = true;
+          break;
+        case '0-09':
+          break;
+        case '0-10':
+          break;
+        case '0-11':
+          break;
+        case '0-12':
+          break;
+        case '1-01':
+          this.activeName = 't10101';
+          this.tabsName.t10101 = true;
+          this.tabsName.A = true;
+          break;
+        case '1-02':
+          this.activeName = 't10201';
+          this.tabsName.t10201 = true;
+          this.tabsName.B = true;
+          this.tabsName.A = true;
+          break;
+        case '1-03':
+          this.activeName = 't10301';
+          this.tabsName.t10301 = true;
+          break;
+        case '1-04':
+          this.activeName = 't10301';
+          this.tabsName.t10301 = true;
+          this.tabsName.t10401 = true;
+          this.tabsName.A = true;
+          break;
+        case '1-05':
+          this.activeName = 't10501';
+          this.tabsName.t10501 = true;
+          this.tabsName.A = true;
+          break;
+        case '1-06':
+          this.activeName = 't10601';
+          this.tabsName.t10601 = true;
+          this.tabsName.t10602 = true;
+          this.tabsName.A = true;
+          break;
+        case '2-01':
+          this.activeName = 't20101';
+          this.tabsName.t20101 = true;
+          this.tabsName.A = true;
+          break;
+        case '2-02':
+          this.activeName = 't20201';
+          this.tabsName.t20201 = true;
+          this.tabsName.A = true;
+          break;
+        case '2-03':
+          this.activeName = 't20301';
+          this.tabsName.t20301 = true;
+          this.tabsName.B = true;
+          this.tabsName.A = true;
+          break;
+        case '2-04':
+          this.activeName = 't20401';
+          this.tabsName.t20401 = true;
+          break;
+        case '2-05':
+          this.activeName = 't20401';
+          this.tabsName.t20401 = true;
+          this.tabsName.t20501 = true;
+          this.tabsName.A = true;
+          break;
+        case '2-06':
+          this.activeName = 't20601';
+          this.tabsName.t20601 = true;
+          this.tabsName.A = true;
+          break;
+        case '2-07':
+          this.activeName = 't20701';
+          this.tabsName.t20701 = true;
+          this.tabsName.A = true;
+          break;
+        case '2-08':
+          this.activeName = 't20801';
+          this.tabsName.t20801 = true;
+          this.tabsName.t20802 = true;
+          this.tabsName.A = true;
+          break;
+        case '3-01':
+          this.activeName = 't30101';
+          this.tabsName.t30101 = true;
+          this.tabsName.A = true;
+          break;
+        case '3-02':
+          this.activeName = 't30201';
+          this.tabsName.t30201 = true;
+          this.tabsName.A = true;
+          break;
+        case '3-03':
+          this.activeName = 't30301';
+          this.tabsName.t30301 = true;
+          this.tabsName.B = true;
+          this.tabsName.A = true;
+          break;
+        case '3-04':
+          this.activeName = 't30401';
+          this.tabsName.t30401 = true;
+          break;
+        case '3-05':
+          this.activeName = 't30501';
+          this.tabsName.t30501 = true;
+          break;
+        case '3-06':
+          this.activeName = 't30401';
+          this.tabsName.t30401 = true;
+          this.tabsName.t30501 = true;
+          this.tabsName.t30601 = true;
+          this.tabsName.A = true;
+          break;
+        case '3-07':
+          this.activeName = 't30701';
+          this.tabsName.t30701 = true;
+          this.tabsName.t30702 = true;
+          this.tabsName.A = true;
+          break;
+        case '4-01':
+          this.activeName = 't40101';
+          this.tabsName.t40101 = true;
+          this.tabsName.A = true;
+          break;
+        case '4-02':
+          this.activeName = 't40201';
+          this.tabsName.t40201 = true;
+          this.tabsName.A = true;
+          break;
+        case '4-03':
+          this.activeName = 't40301';
+          this.tabsName.t40301 = true;
+          this.tabsName.B = true;
+          this.tabsName.A = true;
+          break;
+        case '4-04':
+          this.activeName = 't40401';
+          this.tabsName.t40401 = true;
+          break;
+        case '4-05':
+          this.activeName = 't40501';
+          this.tabsName.t40501 = true;
+          break;
+        case '4-06':
+          this.activeName = 't40401';
+          this.tabsName.t40401 = true;
+          this.tabsName.t40501 = true;
+          this.tabsName.t40601 = true;
+          this.tabsName.A = true;
+          break;
+        case '4-07':
+          this.activeName = 't40701';
+          this.tabsName.t40701 = true;
+          this.tabsName.t40702 = true;
+          this.tabsName.A = true;
+          break;
+        default:
+          break;
+      }
+    },
+    closeTabs(){
+      this.tabsName = {
+        t00101:false,
+        t00201:false,
+        t00202:false,
+        t00301:false,
+        t00302:false,
+        t00303:false,
+        t00401:false,
+        t00501:false,
+        t00601:false,
+        t00801:false,
+        t00802:false,
+
+        t10101:false,
+        t10201:false,
+        t10301:false,
+        t10401:false,
+        t10501:false,
+        t10601:false,
+        t10602:false,
+
+        t20101:false,
+        t20201:false,
+        t20301:false,
+        t20401:false,
+        t20501:false,
+        t20601:false,
+        t20701:false,
+        t20801:false,
+        t20802:false,
+
+        t30101:false,
+        t30201:false,
+        t30301:false,
+        t30401:false,
+        t30501:false,
+        t30601:false,
+        t30701:false,
+        t30702:false,
+
+        t40101:false,
+        t40201:false,
+        t40301:false,
+        t40401:false,
+        t40501:false,
+        t40601:false,
+        t40701:false,
+        t40702:false,
+
+        A:false,
+        B:false,
+      };
+    },
+    //重新加载数据
+    reload(){
+      this.$emit('reload');
+    },
+  },
+};
+</script>

+ 6 - 5
src/views/business/spd/bo/behavior/behaviorList.vue

@@ -245,7 +245,7 @@
           <dev style="width: 50px; height: 40px; font-size: 18px">照片信息</dev>
         </el-divider>
         <!-- <AA :limit="2" v-model="fileList"></AA> -->
-  
+
         <el-upload
           :action="actionUrl"
           list-type="picture-card"
@@ -282,16 +282,16 @@
               </span>
             </div>
         </el-upload>
-        <el-dialog :visible.sync="dialogVisible">
+        <!-- <el-dialog :visible.sync="dialogVisible">
           <img width="100%" :src="dialogImageUrl" alt="">
         </el-dialog>
         <div class="demo-image__preview">
-          <el-image 
+          <el-image
             style="width: 100px; height: 100px"
-            :src="url" 
+            :src="url"
             :preview-src-list="srcList">
           </el-image>
-        </div>
+        </div> -->
         <div class="md-auditInfo">
           <el-divider content-position="left">
             <dev style="width: 50px; height: 40px; font-size: 18px">其它信息</dev>
@@ -448,6 +448,7 @@ url: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',
     if(this.source == 'TaskList'){
       this.queryParams.taskCode = this.bo.code;
     }
+    console.log("this.queryParams", this.queryParams);
     this.getList();
   },
   methods: {

+ 7 - 0
src/views/business/spd/bo/contact/contactList.vue

@@ -522,6 +522,13 @@ export default {
       this.loading = true;
       listContact(this.queryParams).then(response => {
         this.contactList = response.rows;
+        if(this.source == 'BoDetails'){
+          console.log('this.contactList',this.contactList);
+          for (var i = 0; i < this.contactList.length; i++) {
+            this.contactList[i].telephone = this.contactList[i].telephone.substring(0,3) + '******' + this.contactList[i].telephone.substring(this.contactList[i].telephone.length - 4,this.contactList[i].telephone.length);
+            this.contactList[i].customerName = this.contactList[i].customerName.substring(0,2) + '******' + this.contactList[i].customerName.substring(this.contactList[i].customerName.length - 2,this.contactList[i].customerName.length);
+          }
+        }
         this.total = response.total;
         this.loading = false;
       });

+ 102 - 0
src/views/business/spd/bo/filetemplate/botabs.vue

@@ -0,0 +1,102 @@
+<template>
+  <div class="app-container">
+    <el-table v-loading="loading" :data="filetemplateList" @selection-change="handleSelectionChange">
+      <el-table-column
+            type="index"
+            label="序号"
+            width="55"
+            align="center"
+          />
+      <el-table-column label="模板名称" align="center" prop="name" />
+      <el-table-column label="上传者" align="center" prop="createByName" />
+      <el-table-column label="上传时间" align="center" prop="createTime" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            type="success"
+            plain
+            icon="el-icon-download"
+            size="small"
+            @click="downloadAccessory(scope.row)"
+            >下载</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+  </div>
+</template>
+
+<script>
+import { listFiletemplate } from "@/api/business/spd/bo/filetemplate";
+import axios from "axios";
+
+export default {
+  name: "Filetemplate",
+  props:["botype"],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 总条数
+      total: 0,
+      // 文件模板表格数据
+      filetemplateList: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        boType: null,
+        url: null,
+        name: null,
+      },
+
+    };
+  },
+  created() {
+    this.queryParams.boType = this.botype;
+    this.getList();
+  },
+  methods: {
+    /** 查询文件模板列表 */
+    getList() {
+      this.loading = true;
+      listFiletemplate(this.queryParams).then(response => {
+        this.filetemplateList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    //下载附件
+    downloadAccessory(row) {
+      console.log('row',row);
+      var resUrl = "https://sy.derom.com/document-center/fastdfs/download?id=" + row.url;
+      axios
+        .create({
+          timeout: 3000,
+          responseType: "blob", // 响应类型, 将响应数据转换为二进制数据
+          headers: {},
+        })
+        .get(resUrl)
+        .then((res) => {
+          console.log(res);
+          // 地址转换
+          let url = window.URL.createObjectURL(res.data);
+          const a = document.createElement("a");
+          a.setAttribute("href", url);
+          a.setAttribute("download", row.name);
+          document.body.append(a);
+          a.click();
+          document.body.removeChild(a);
+        });
+    },
+  }
+};
+</script>

+ 252 - 0
src/views/business/spd/bo/filetemplate/index.vue

@@ -0,0 +1,252 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="商机类型" prop="boType">
+        <el-input
+          v-model="queryParams.url"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="模板名称" prop="name">
+        <el-input
+          v-model="queryParams.name"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="uploadAccessory"
+        >上传</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="filetemplateList" @selection-change="handleSelectionChange">
+      <el-table-column
+        type="index"
+        label="序号"
+        width="55"
+        align="center"
+      />
+      <el-table-column label="商机类型" align="center" prop="boType" >
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.mk_bo_type" :value="scope.row.boType"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="模板名称" align="center" prop="name" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="small"
+            type="danger"
+            plain
+            icon="el-icon-delete"
+            @click="deleteAccessory(scope.row.id)"
+          >删除</el-button>
+          <el-button
+            type="success"
+            plain
+            icon="el-icon-download"
+            size="small"
+            @click="downloadAccessory(scope.row)"
+            >下载</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <el-dialog
+      :title="upload.title"
+      :visible.sync="upload.open"
+      width="400px"
+      append-to-body
+    >
+      <el-form ref="form" :model="form" label-width="80px">
+        <el-form-item label="商机类型">
+          <el-select v-model="form.boType">
+            <el-option
+              v-for="dict in dict.type.mk_bo_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <el-upload
+        ref="upload"
+        :limit="1"
+        accept=".xlsx, .xls, .doc, .docx, .word, .wordx, .png, .jpg, .gif, .txt"
+        :headers="upload.headers"
+        :action="upload.url + '?boType=' + form.boType"
+        :disabled="upload.isUploading"
+        :on-progress="handleFileUploadProgress"
+        :on-success="handleFileSuccess"
+        :auto-upload="false"
+        drag
+      >
+        <i class="el-icon-upload"></i>
+        <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
+      </el-upload>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitFileForm">确 定</el-button>
+        <el-button @click="upload.open = false">取 消</el-button>
+      </div>
+    </el-dialog>
+
+  </div>
+</template>
+
+<script>
+import { listFiletemplate,delFiletemplate } from "@/api/business/spd/bo/filetemplate";
+import { getToken } from "@/utils/auth";
+import axios from "axios";
+
+export default {
+  name: "Filetemplate",
+  dicts: ['mk_bo_type'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 文件模板表格数据
+      filetemplateList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        boType: null,
+        url: null,
+        name: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      },
+      // 上传参数
+      upload: {
+        // 是否显示弹出层
+        open: false,
+        // 弹出层标题
+        title: "",
+        // 是否禁用上传
+        isUploading: false,
+        // 上传类型
+        flag: "",
+        // 设置上传的请求头部
+        headers: { Authorization: "Bearer " + getToken() },
+        // 上传的地址
+        url: process.env.VUE_APP_BASE_API + "/mk/bo/filetemplate/upload",
+      },
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询文件模板列表 */
+    getList() {
+      this.loading = true;
+      listFiletemplate(this.queryParams).then(response => {
+        this.filetemplateList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    //上传附件公共方法
+    uploadAccessory() {
+      this.upload.open = true;
+    },
+    // 提交上传文件
+    submitFileForm() {
+      this.$refs.upload.submit();
+    },
+    // 文件上传中处理
+    handleFileUploadProgress(event, file, fileList) {
+      this.upload.isUploading = true;
+    },
+    // 文件上传成功处理
+    handleFileSuccess(response, file, fileList) {
+      this.upload.open = false;
+      this.upload.isUploading = false;
+      this.$refs.upload.clearFiles();
+      this.$alert(
+        "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
+          response.msg +
+          "</div>",
+        "上传结果",
+        { dangerouslyUseHTMLString: true }
+      );
+      this.getList();
+    },
+    //下载附件
+    downloadAccessory(row) {
+      var resUrl = "https://sy.derom.com/document-center/fastdfs/download?id=" + row.url;
+      axios
+        .create({
+          timeout: 3000,
+          responseType: "blob", // 响应类型, 将响应数据转换为二进制数据
+          headers: {},
+        })
+        .get(resUrl)
+        .then((res) => {
+          console.log(res);
+          // 地址转换
+          let url = window.URL.createObjectURL(res.data);
+          const a = document.createElement("a");
+          a.setAttribute("href", url);
+          a.setAttribute("download", row.name);
+          document.body.append(a);
+          a.click();
+          document.body.removeChild(a);
+        });
+    },
+    //删除附件
+    deleteAccessory(id) {
+      this.$modal
+        .confirm("是否确认删除?")
+        .then(function () {})
+        .then(() => {
+          delFiletemplate(id).then((res) => {
+            if (res.code == 200) {
+              this.$modal.msgSuccess("删除成功");
+              this.getList();
+            } else {
+              this.$modal.msgSuccess("删除失败");
+            }
+          });
+        })
+        .catch(() => {});
+    },
+  }
+};
+</script>

+ 13 - 4
src/views/business/spd/bo/pojpsn/pojpsnList.vue

@@ -8,10 +8,11 @@
           icon="el-icon-plus"
           size="mini"
           @click="handleAdd"
+          :disabled="!pojpsnAuthority.pojpsnAdd"
           >新增</el-button
         >
       </el-col>
-      <el-col :span="1.5">
+      <!-- <el-col :span="1.5">
         <el-button
           type="success"
           plain
@@ -32,7 +33,7 @@
           @click="handleDelete"
           >删除</el-button
         >
-      </el-col>
+      </el-col> -->
       <right-toolbar
         :showSearch.sync="showSearch"
         @queryTable="getList"
@@ -86,6 +87,7 @@
             type="text"
             icon="el-icon-edit"
             @click="handleUpdate(scope.row)"
+            :disabled="!pojpsnAuthority.pojpsnEdit"
             >修改</el-button
           >
           <el-button
@@ -93,6 +95,7 @@
             type="text"
             icon="el-icon-delete"
             @click="handleDelete(scope.row)"
+            :disabled="!pojpsnAuthority.pojpsnDel"
             >删除</el-button
           >
         </template>
@@ -174,7 +177,7 @@ import StaffRef from "@/views/business/spd/bo/refer/staff/index.vue";
 
 export default {
   name: "pojpsnList",
-  props: ["source", "bo"],
+  props: ["source", "bo","boAuthority"],
   dicts: ["mk_bo_pojpsn_post", "mk_bo_pojpsn_job"],
   components: { StaffRef },
   data() {
@@ -219,6 +222,12 @@ export default {
       },
       //当前操作状态
       operatingState: "",
+      pojpsnAuthority:{
+        pojpsnAdd:true,
+        pojpsnDel:true,
+        pojpsnEdit:true,
+        pojpsnView:true,
+      },
     };
   },
   created() {
@@ -227,9 +236,9 @@ export default {
     }
     if (this.source == "BoDetails") {
       this.queryParams.bo = this.bo.id;
+      this.pojpsnAuthority = this.boAuthority.boAuthority;
     }
     this.getList();
-    console.log("dict.type.mk_bo_pojpsn_job", this.dict.type.mk_bo_pojpsn_job);
   },
   methods: {
     /** 查询项目成员列表 */

+ 224 - 0
src/views/business/spd/bo/statement/index.vue

@@ -0,0 +1,224 @@
+<template>
+  <div class="app-container">
+    <el-tabs v-model="activeName" @tab-click="handleClick">
+      <el-tab-pane label="SPD商机" name="0">
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+          <el-form-item label="商机名称" prop="boName">
+            <el-input
+              v-model="queryParams.boName"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="客户" prop="customerName">
+            <el-input
+              v-model="queryParams.customerName"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="负责人" prop="principalName">
+            <el-input
+              v-model="queryParams.principalName"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item label="商机来源" prop="boSource">
+            <el-input
+              v-model="queryParams.boSource"
+              clearable
+              @keyup.enter.native="handleQuery"
+            />
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+            <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+          </el-form-item>
+        </el-form>
+        <el-table :data="boList" >
+          <el-table-column label="客户" align="center" prop="customerName" />
+          <el-table-column label="部门" align="center" prop="deptName" />
+          <el-table-column label="负责人" align="center" prop="principalName" />
+          <el-table-column label="商机名称" align="center" prop="boName" />
+          <el-table-column label="商机名称" align="center" prop="boCode" />
+          <el-table-column label="创建日期" align="center" prop="createTime" />
+          <el-table-column label="商机审核" align="center" prop="a71" />
+          <el-table-column label="项目立项" align="center" prop="a72" />
+          <el-table-column label="售前提案/邀请考察" align="center" prop="a73" />
+          <el-table-column label="开院务会" align="center" prop="a74" />
+          <el-table-column label="院内立项" align="center" prop="a75" />
+          <el-table-column label="进场调研" align="center" prop="a76" />
+          <el-table-column label="解决方案" align="center" prop="a78" />
+          <el-table-column label="投标与签合同" align="center" prop="a79" />
+        </el-table>
+      </el-tab-pane>
+      <el-tab-pane label="耗材集采商机" name="1">功能开发中</el-tab-pane>
+      <el-tab-pane label="耗材集采商机" name="2">功能开发中</el-tab-pane>
+      <el-tab-pane label="医疗设备商机" name="3">功能开发中</el-tab-pane>
+      <el-tab-pane label="军队医疗设备商机" name="4">功能开发中</el-tab-pane>
+    </el-tabs>
+
+    <pagination
+      v-show="total > 0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+  </div>
+</template>
+
+
+<script>
+import { listBasic } from "@/api/business/spd/bo/statement";
+
+export default {
+  data() {
+    return {
+      //查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        boType: null,
+        boName: null,
+        customerName: null,
+        principalName: null,
+        boSource: null,
+      },
+      // 显示搜索条件
+      showSearch: true,
+      //列表数据
+      boList:[],
+      //spdBoList
+      spdBoList:[],
+      //当前页签
+      activeName: '0',
+      //分页参数
+      total:0,
+    };
+  },
+  created() {
+    // this.getList();
+    var e = {
+      name: '0',
+    }
+    this.handleClick(e);
+  },
+  methods: {
+    /** 查询任务列表 */
+    getList() {
+      this.queryParams.boType = this.activeName;
+      listBasic(this.queryParams).then(response => {
+        this.boList = response.rows;
+        this.total = response.total;
+      });
+    },
+    handleClick(e) {
+      console.log('e',e);
+      // this.queryParams.boType = e.name;
+      // listBasic(this.queryParams).then(response => {
+      //   this.boList = response.rows;
+      //   this.total = response.total;
+      // });
+      switch (e.name) {
+        case "0":
+          // console.log('this.boList[i].boNodeFlowList',this.boList[0].boNodeFlowList);
+          // for (var i = 0; i < this.boList.length; i++) {
+          //   var nodes = this.boList[i].boNodeFlowList;
+          //   console.log('nodes',nodes);
+          //   // this.boList[i].a71 = nodes.filter(ele => ele. == '71').day;
+          // }
+          // console.log('转换后',this.boList);
+          this.boList = [
+            {
+              "id": 180,
+              "boCode": "BO20230428000024",
+              "boName": "李卓-测试客户1-SPD商机",
+              "boType": "0",
+              "boState": "0",
+              "boSource": "0",
+              "boStage": "0-01",
+              "boStageName": "商机审核",
+              "principal": "9273",
+              "principalName": "李卓",
+              "winningRate": "30%",
+              "winningState": "0",
+              "marketingOrganizing": "441675649082705",
+              "marketingOrganizingName": "湖南德荣医疗健康产业有限公司",
+              "marketingArea": "2318344533693184",
+              "marketingAreaName": "湘南区",
+              "deptName": "数字科技中心",
+              "dept": "426339510156234",
+              "createBy": "李卓",
+              "userCode": "002637",
+              "createTime": "2023-04-28 10:37:26",
+              "customerName": "测试客户1",
+              "hosDiscreetValue": 2002,
+              a71:'1天',
+              a72:'2天',
+              a73:'1天',
+              a74:'5天',
+              a75:'1天',
+            },
+            {
+              "id": 180,
+              "boCode": "BO20230428000024",
+              "boName": "李卓-测试客户1-SPD商机",
+              "boType": "0",
+              "boState": "0",
+              "boSource": "0",
+              "boStage": "0-01",
+              "boStageName": "商机审核",
+              "principal": "9273",
+              "principalName": "李卓",
+              "winningRate": "30%",
+              "winningState": "0",
+              "marketingOrganizing": "441675649082705",
+              "marketingOrganizingName": "湖南德荣医疗健康产业有限公司",
+              "marketingArea": "2318344533693184",
+              "marketingAreaName": "湘南区",
+              "deptName": "数字科技中心",
+              "dept": "426339510156234",
+              "createBy": "李卓",
+              "userCode": "002637",
+              "createTime": "2023-04-28 10:37:26",
+              "customerName": "测试客户1",
+              "hosDiscreetValue": 2002,
+              a71:'1天',
+              a72:'2天',
+              a73:'9天',
+              a74:'5天',
+              a75:'1天',
+              a76:'1天',
+              a77:'1天',
+              a78:'1天',
+              a79:'60天',
+            },
+          ]
+          break;
+        case "1":
+          break;
+        case "2":
+          break;
+        case "3":
+          break;
+        case "4":
+          break;
+        default:
+          break;
+      }
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+  }
+};
+</script>

+ 2 - 8
src/views/business/spd/bo/task/taskList.vue

@@ -63,14 +63,7 @@
         prop="boName"
         v-if="source == 'Task'"
       />
-      <el-table-column label="商机阶段" align="center" prop="boStage">
-        <template slot-scope="scope">
-          <dict-tag
-            :options="dict.type.mk_bo_stage"
-            :value="scope.row.boStage"
-          />
-        </template>
-      </el-table-column>
+      <el-table-column label="商机阶段" align="center" prop="boStageName"/>
       <el-table-column
         label="客户名称"
         align="center"
@@ -352,6 +345,7 @@
           :key="timer"
           :source="'TaskList'"
           :bo="this.form"
+          :boAuthority="boAuthority"
           v-if="this.operatingState != 'Insert'"
         />
         <div class="md-auditInfo">

+ 12 - 10
src/views/material/basicFile/details.vue

@@ -88,11 +88,11 @@
         </el-col>
         <el-col :span="6" style="text-align: right;">
           <!-- 附件管理 -->
-        <!-- <el-button-group>
+          <!-- <el-button-group>
                                                                                                                                                       <el-button size="small" icon="el-icon-paperclip" @click="handleFile"></el-button></el-button-group> -->
 
           <!-- 切换 -->
-        <!-- <el-button-group>
+          <!-- <el-button-group>
             <el-button size="small" icon="el-icon-d-arrow-left" :disabled="!handleBasicEdit"
               @click="handleChangePage('first')" />
             <el-button size="small" icon="el-icon-arrow-left" :disabled="!handleBasicEdit"
@@ -406,7 +406,7 @@
               <div slot="empty"></div>
             </el-select>
 
-          <!-- <el-select size="small" v-else-if="mt.attribute == 'select' && mt.dictId"  placeholder="请选择"
+            <!-- <el-select size="small" v-else-if="mt.attribute == 'select' && mt.dictId"  placeholder="请选择"
               :disabled="!(materialType.isEdit && mt.edit)" v-model="scope.row[mt.prop]" :key="scope.row[mt.prop]">
               <el-option v-if="mt.dictId" v-for="d in mt.dictId" :key="d.dictValue" :label="d.dictLabel"
                 :value="d.dictValue">
@@ -786,9 +786,11 @@ export default {
     },
     // 返回
     handleBack() {
-      this.$router.push({
-        path: `/basic/material/basicFile`,
-      });
+      this.$store.dispatch('tagsView/delView', this.$route)
+      this.$router.go(-1)
+      // this.$router.push({
+      //   path: `/basic/material/basicFile`,
+      // });
 
     },
     // 附件按钮
@@ -1920,10 +1922,10 @@ export default {
       param.diCode = param.diCode.replace(/ /g, '');
       console.log(param, '保存物料以及相关页签param');
       materialApi.insertMaterialInfo(param).then(res => {
-        
+
         console.log(res, '保存物料以及相关页签');
         if (res.code == 200) cb();
-      }).catch((error)=>{
+      }).catch((error) => {
         this.loading = false;
       })
     },
@@ -2024,7 +2026,7 @@ export default {
   },
 
   created() {
-
+    console.log(this, 'created');
     // 基本信息
     this.handleRest();
     if (window.name === '') {
@@ -2034,7 +2036,7 @@ export default {
       console.log('页面被刷新')
     }
 
-  },
+  }
 }
 </script>
 

+ 17 - 5
src/views/material/basicFile/index.vue

@@ -19,7 +19,7 @@
         <el-col :span="1.5">
           <el-button-group>
 
-          <!-- <el-dropdown size="small" @command="handleFilter">
+            <!-- <el-dropdown size="small" @command="handleFilter">
             <el-button size="small">
               过滤<i class="el-icon-arrow-down el-icon--right"></i>
             </el-button>
@@ -27,7 +27,7 @@
               <el-dropdown-item :command="filterCondition('stop')">显示停用</el-dropdown-item>
               <el-dropdown-item :command="filterCondition('allot')">显示已分配</el-dropdown-item>
             </el-dropdown-menu>
-                                                                                                                                                                                            </el-dropdown> -->
+          </el-dropdown> -->
 
             <!-- <el-button size="small" @click="handleQuery">查询</el-button> -->
             <el-button size="small" @click="handleRefresh">刷新</el-button>
@@ -239,7 +239,12 @@ export default {
       if (this.checkedList.length) {
         let ids = this.checkedList.map(i => i.id);
         materialApi.delMaterial(ids).then(res => {
-          if (res.code == 200) this.handleRefresh();
+          if (res.code == 200) {
+            this.handleRefresh();
+            // 清空选中数据
+            this.checkedList = [];
+            this.$refs.materialTable.clearSelection();
+          }
         })
       } else {
         this.$message({
@@ -291,10 +296,14 @@ export default {
         isEnable: this.handleJudgeIsUsing() ? '2' : '0',
         id: this.checkedList[0].id
       };
-      console.log(param, '启用/停用param');
       materialApi.updateEnableMaterial(param).then(res => {
         console.log(res, '启用/停用');
-        if (res.code == 200) this.handleRefresh();
+        if (res.code == 200) {
+          this.handleRefresh();
+          // 清空选中数据
+          this.checkedList = [];
+          this.$refs.materialTable.clearSelection();
+        }
       })
 
     },
@@ -490,6 +499,9 @@ export default {
         // this.$store.getQuery(this.queryForm);
         console.log(vm, 'queryValue', vm.$store);
         vm.queryForm = vm.$store.state.query.queryVlue;
+        // 清空选中数据
+        vm.checkedList = [];
+        vm.$refs.materialTable.clearSelection();
       }
       vm.getTagList('material');
       vm.getMaterialList('material');

+ 142 - 0
src/views/purchase/DemandSummary/add.vue

@@ -0,0 +1,142 @@
+<template>
+  <div id="checkDemandSummary">
+    <el-card>
+      <span>采购需求汇总详情</span>
+      <div class="btn_grooup">
+        <el-button type="primary" size="small">编辑</el-button>
+        <el-button type="primary" size="small">确定</el-button>
+        <el-button type="primary" size="small">行关闭</el-button>
+        <el-button type="primary" size="small">重取批量</el-button>
+      </div>
+
+      <el-table 
+          :data="tableList" 
+          fit
+          max-height="680"
+          @selection-change="handleSelectionChange"
+        >
+        <el-table-column type="selection" width="55" />
+        <el-table-column label="序号" align="center" prop="code"/>
+        <el-table-column label="行号" align="center" prop="code"/>
+        <el-table-column label="物料编码" align="center" prop="code"/>
+        <el-table-column label="品名" align="center" prop="code"/>
+        <el-table-column label="规格" align="center" prop="code"/>
+        <el-table-column label="单位" align="center" prop="code"/>
+        <el-table-column label="生产厂家/代理人" align="center" prop="code"/>
+        <el-table-column label="末级供应仓库库存量" align="center" prop="code"/>
+        <el-table-column label="月销量" align="center" prop="code"/>
+        <el-table-column label="采购周期" align="center" prop="code"/>
+        <el-table-column label="最终净需求量" align="center" prop="code"/>
+        <el-table-column label="最终采购量" align="center" prop="code"/>
+        <el-table-column label="需求客户" align="center" prop="code"/>
+        <el-table-column label="最小订货量" align="center" prop="code"/>
+        <el-table-column label="最小包装量" align="center" prop="code"/>
+        <el-table-column label="修改人" align="center" prop="code"/>
+        <el-table-column label="修改原因" align="center" prop="code"/>
+        <el-table-column label="业务备注" align="center" prop="code"/>
+        <el-table-column label="有效期" align="center" prop="code"/>
+        <el-table-column label="要求交货日期" align="center" prop="code"/>
+        <el-table-column label="紧急标识" align="center" prop="code"/>
+        <el-table-column label="补单标识" align="center" prop="code"/>
+        <el-table-column label="需求单单号" align="center" prop="code"/>
+        <el-table-column label="供应仓库" align="center" prop="code"/>
+        <el-table-column label="供应库位" align="center" prop="code"/>
+        <el-table-column label="业务类型" align="center" prop="code"/>
+        <el-table-column label="行状态" align="center" prop="code"/>
+        <el-table-column label="收货仓库" align="center" prop="code"/>
+        <el-table-column label="收货货位" align="center" prop="code"/>
+        <el-table-column label="采购员" align="center" prop="code"/>
+        <el-table-column label="制单人" align="center" prop="code"/>
+        <el-table-column label="审核人员" align="center" prop="code"/>
+        <el-table-column label="请购单号" align="center" prop="code"/>
+        <el-table-column label="品类" align="center" prop="code"/>
+        <el-table-column label="注册人" align="center" prop="code"/>
+        <el-table-column label="集团预测分类" align="center" prop="code"/>
+        <el-table-column label="修改时间" align="center" prop="code"/>
+        <el-table-column label="采购员编码" align="center" prop="code"/>
+        <el-table-column label="采购组织" align="center" prop="code"/>
+        <el-table-column label="物料类别" align="center" prop="code"/>
+        <el-table-column label="有效期单位" align="center" prop="code"/>
+        <el-table-column label="最小批量" align="center" prop="code"/>
+        <el-table-column label="业务部门" align="center" prop="code"/>
+        <el-table-column label="需求部门" align="center" prop="code"/>
+        <el-table-column label="批号锁定标识" align="center" prop="code"/>
+        <el-table-column label="采购需求单审批人" align="center" prop="code"/>
+        <el-table-column label="需求单审批时间" align="center" prop="code"/>
+        <el-table-column label="需求单提交时间" align="center" prop="code"/>
+        <el-table-column label="需求单提交人" align="center" prop="code"/>
+        <el-table-column label="处理需求时间" align="center" prop="code"/>
+        <el-table-column label="处理需求人员" align="center" prop="code"/>
+        <el-table-column label="汇总确认人" align="center" prop="code"/>
+        <el-table-column label="汇总确认时间" align="center" prop="code"/>
+        <el-table-column label="转请购时间" align="center" prop="code"/>
+        <el-table-column label="转请购人员" align="center" prop="code"/>
+        <el-table-column label="价格类型" align="center" prop="code"/>
+      </el-table>
+    </el-card>
+
+    <div class="btn_group">
+      <el-col :span="1.5">
+        <el-button size="small" plain @click="back">返回</el-button>
+      </el-col>
+    </div>
+  </div>
+</template>
+
+<script>
+import {getSummaryDetail} from '@/api/purchase/DemandSummary.js'
+export default {
+  name: 'checkDemandSummary',
+  props: ['pageStu','row', 'disable'],
+  model: {
+    prop: 'isList',
+    event: 'jugislist'
+  },
+  data() {
+    return{
+      tableList: []
+    }
+  },
+  created() {
+    if(this.pageStu == 'check') {
+      console.log('数据', this.row)
+      this.getDetails(this.row)
+    } else if(this.pageStu == 'edit') {
+      this.getDetails(this.row)
+    }
+  },
+  methods: {
+    handleSelectionChange() {},
+    back() {
+      this.$emit('jugislist', true)
+      let queryParams = {
+        pageNum: 1,
+        pageSize: 10
+      }
+      this.$emit('refresh', queryParams)
+    },
+    // 如果需要回显则调用详情接口
+    getDetails(row) {
+      getSummaryDetail(row).then(res => {
+        if (res.code === 200) {
+
+        }
+      })
+    },
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+ .btn_group {
+  width: 100%;
+  margin: 20px 0;
+  display: flex;
+  justify-content: center;
+} 
+.btn_grooup {
+  margin-bottom: 10px;
+  display: flex;
+  justify-content: flex-end;
+} 
+</style>

+ 69 - 48
src/views/purchase/DemandSummary/index.vue

@@ -286,7 +286,7 @@
           <el-button type="primary" size="small">保存</el-button>
           <el-button type="primary" size="small">确认</el-button>
           <el-button type="primary" size="small">取消</el-button>
-          <el-button type="primary" size="small">审核</el-button>
+          <el-button type="primary" size="small" @click="audits">审核</el-button>
           <el-button type="primary" size="small">弃审</el-button>
 
           <el-dropdown size="small" @command="handleCommand">
@@ -304,6 +304,7 @@
         <el-table 
           :data="tableList" 
           fit
+          show-summary
           max-height="680"
           @selection-change="handleSelectionChange"
         >
@@ -312,53 +313,53 @@
           <el-table-column label="物料编码" align="center" prop="code"/>
           <el-table-column label="品名" align="center" prop="code"/>
           <el-table-column label="规格" align="center" prop="code"/>
-          <el-table-column label="单位" align="center" prop="code"/>
-          <el-table-column label="生产厂家/代理人" align="center" prop="code"/>
+          <el-table-column label="单位" align="center" prop="demandUnit"/>
+          <el-table-column label="生产厂家/代理人" align="center" prop="manufacturer"/>
           <el-table-column label="需求单位数" align="center" prop="code"/>
           <el-table-column label="总最终净需求量" align="center" prop="code"/>
-          <el-table-column label="总月销量" align="center" prop="code"/>
-          <el-table-column label="需求可用周期" align="center" prop="code"/>
-          <el-table-column label="呆滞量" align="center" prop="code"/>
-          <el-table-column label="采购周期" align="center" prop="code"/>
-          <el-table-column label="中心公共库存" align="center" prop="code"/>
-          <el-table-column label="中心仓专属货位" align="center" prop="code"/>
-          <el-table-column label="区域分仓公共库存" align="center" prop="code"/>
-          <el-table-column label="各项目仓库存" align="center" prop="code"/>
-          <el-table-column label="电商仓库" align="center" prop="code"/>
-          <el-table-column label="采购在途" align="center" prop="code"/>
-          <el-table-column label="借出在途" align="center" prop="code"/>
-          <el-table-column label="调拨在途" align="center" prop="code"/>
-          <el-table-column label="库存总计" align="center" prop="code"/>
-          <el-table-column label="最小包装量" align="center" prop="code"/>
-          <el-table-column label="最小订货量" align="center" prop="code"/>
-          <el-table-column label="最小批量" align="center" prop="code"/>
-          <el-table-column label="人工调整数" align="center" prop="code"/>
-          <el-table-column label="修改原因" align="center" prop="code"/>
-          <el-table-column label="建议采购量" align="center" prop="code"/>
-          <el-table-column label="建议净采购量" align="center" prop="code"/>
-          <el-table-column label="最终采购量" align="center" prop="code"/>
+          <el-table-column label="总月销量" align="center" prop="totalMonthlySales"/>
+          <el-table-column label="需求可用周期" align="center" prop="demandCycle"/>
+          <el-table-column label="呆滞量" align="center" prop="dullQut"/>
+          <el-table-column label="采购周期" align="center" prop="buyPeriod"/>
+          <el-table-column label="中心公共库存" align="center" prop="centralPublicStock"/>
+          <el-table-column label="中心仓专属货位" align="center" prop="centralWarehouse"/>
+          <el-table-column label="区域分仓公共库存" align="center" prop="regionPublicStock"/>
+          <el-table-column label="各项目仓库存" align="center" prop="eachWarehouseStock"/>
+          <el-table-column label="电商仓库" align="center" prop="commerceWarehouse"/>
+          <el-table-column label="采购在途" align="center" prop="buyTransit"/>
+          <el-table-column label="借出在途" align="center" prop="lendTransit"/>
+          <el-table-column label="调拨在途" align="center" prop="transferTransit"/>
+          <el-table-column label="库存总计" align="center" prop="stockTotal"/>
+          <el-table-column label="最小包装量" align="center" prop="minPackage"/>
+          <el-table-column label="最小订货量" align="center" prop="minOrder"/>
+          <el-table-column label="最小批量" align="center" prop="minBatch"/>
+          <el-table-column label="人工调整数" align="center" prop="artificialAdjust"/>
+          <el-table-column label="修改原因" align="center" prop="modifyReason"/>
+          <el-table-column label="建议采购量" align="center" prop="suggestionPurchase"/>
+          <el-table-column label="建议净采购量" align="center" prop="suggestBuyQty"/>
+          <el-table-column label="最终采购量" align="center" prop="finalBuyQty"/>
           <el-table-column label="二级品类" align="center" prop="code"/>
           <el-table-column label="三级品类" align="center" prop="code"/>
           <el-table-column label="四级品类" align="center" prop="code"/>
-          <el-table-column label="单据状态" align="center" prop="code"/>
-          <el-table-column label="采购员" align="center" prop="code"/>
+          <el-table-column label="单据状态" align="center" prop="status"/>
+          <el-table-column label="采购员" align="center" prop="buyerName"/>
           <el-table-column label="默认采购组织" align="center" prop="code"/>
-          <el-table-column label="有效期" align="center" prop="code"/>
-          <el-table-column label="有效期单位" align="center" prop="code"/>
-          <el-table-column label="业务类型" align="center" prop="code"/>
+          <el-table-column label="有效期" align="center" prop="validityPeriod"/>
+          <el-table-column label="有效期单位" align="center" prop="validityPeriodUnit"/>
+          <el-table-column label="业务类型" align="center" prop="businessType"/>
           <el-table-column label="安全库存量" align="center" prop="code"/>
-          <el-table-column label="单据来源" align="center" prop="code"/>
-          <el-table-column label="行号" align="center" prop="code"/>
+          <el-table-column label="单据来源" align="center" prop="billSource"/>
+          <el-table-column label="行号" align="center" prop="rowNo"/>
           <el-table-column label="注册人" align="center" prop="code"/>
-          <el-table-column label="可用量" align="center" prop="code"/>
-          <el-table-column label="总需与终采差异" align="center" prop="code"/>
-          <el-table-column label="集团预测分类" align="center" prop="code"/>
-          <el-table-column label="中心仓占有量" align="center" prop="code"/>
+          <el-table-column label="可用量" align="center" prop="qty"/>
+          <el-table-column label="总需与终采差异" align="center" prop="buyDiscrepancy"/>
+          <el-table-column label="集团预测分类" align="center" prop="forecastClassification"/>
+          <el-table-column label="中心仓占有量" align="center" prop="centerBinPossession"/>
           <el-table-column label="中心仓可用量" align="center" prop="code"/>
-          <el-table-column label="物料类别" align="center" prop="code"/>
-          <el-table-column label="业务部门" align="center" prop="code"/>
-          <el-table-column label="需求单位" align="center" prop="code"/>
-          <el-table-column label="采购经理审核人" align="center" prop="code"/>
+          <el-table-column label="物料类别" align="center" prop="materialCategory"/>
+          <el-table-column label="业务部门" align="center" prop="departmentName"/>
+          <el-table-column label="需求单位" align="center" prop="demandUnit"/>
+          <el-table-column label="采购经理审核人" align="center" prop="puManagerAuditor"/>
           <el-table-column
           fixed="right"
           label="操作"
@@ -382,15 +383,19 @@
         </el-pagination>
       </el-card>
     </div>
+
+    <Add v-model="isList" v-if="!isList" :pageStu="page" :disable="disable" :row="rowDetail" @refresh="getList"/>
   </div>
 </template>
 
 <script>
+import Add from './add.vue'
 import CollapseTransition from '@/components/MyCollapse/collapse.vue'
+import {getSummaryList, auditSummary} from '@/api/purchase/DemandSummary.js'
 export default {
   name: 'demandSummary',
   components: {
-    // Add,
+    Add,
     CollapseTransition
   },
   data() {
@@ -428,18 +433,21 @@ export default {
       ids: []
     }
   },
+  created() {
+    this.getList(this.queryParams)
+  },
   methods: {
     getList(params){
-      // getDemandList(params).then(res => {
-      //   if (res.code === 200) {
-      //     this.tableList = res.rows
-      //     this.total = res.total
-      //   }
-      // })
+      getSummaryList(params).then(res => {
+        if (res.code === 200) {
+          this.tableList = res.rows
+          this.total = res.total
+        }
+      })
     },
     handleSelectionChange(selection) {
       console.log('选中', selection)
-      this.ids = selection.map(item => item.id)
+      this.ids = selection.map(item => item.demandItemId)
       console.log('选中数组', this.ids.join())
     },
     handleCommand(command) {
@@ -463,7 +471,20 @@ export default {
     },
     drop() {
       this.expanded = !this.expanded
-    }
+    },
+    audits() {
+      if(this.ids.length == 0) {
+        this.$modal.msgWarning("请选中至少一条数据");
+      } else {
+        let param = this.ids.join()
+        auditSummary(param).then(res => {
+          if (res.code === 200) {
+            this.$modal.msgSuccess("审核成功");
+            this.getList(this.queryParams)
+          }
+        })
+      }
+    },
   }
 }
 </script>

+ 64 - 19
src/views/purchase/PurchaseDemandList/add.vue

@@ -17,13 +17,9 @@
 
         <el-col :span="1.5">
             <el-form-item label="组织">
-              <el-input
-                v-model="basicForm.org"
-                size="small"
-                placeholder=""
-                clearable
-                style="width: 200px"
-              />
+              <el-input v-model="basicForm.org" size="small" style="width: 200px">
+               <el-button slot="append" icon="el-icon-more" @click="chooseOrg"></el-button>
+              </el-input>
             </el-form-item>
          </el-col>
 
@@ -181,7 +177,7 @@
           </el-col>
 
           <el-col :span="1.5">
-            <el-form-item label="是否特殊需求">
+            <el-form-item label="是否客户指定">
               <el-input
                 v-model="basicForm.isSpeical"
                 size="small"
@@ -192,7 +188,7 @@
             </el-form-item>
          </el-col>
 
-          <el-col :span="1.5">
+          <!-- <el-col :span="1.5">
             <el-form-item label="是否处理需求">
               <el-input
                 v-model="basicForm.isProcess"
@@ -202,7 +198,7 @@
                 style="width: 200px"
               />
             </el-form-item>
-         </el-col>
+         </el-col> -->
 
           <el-col :span="1.5">
             <el-form-item label="是否月销量计算">
@@ -235,12 +231,13 @@
       <div class="btn_grooup">
         <el-button type="primary" size="small" @click="addLine">增行</el-button>
         <el-button type="primary" size="small" >批量调整</el-button>
+        <el-button type="primary" size="small" v-if="pageStu == 'check' || pageStu == 'edit'" @click="showReserved">货权预留单</el-button>
       </div>
 
       <el-table 
           :data="basicForm.puDemandItemList" 
           fit
-          max-height="680"
+          max-height="300"
           @selection-change="handleSelectionChange"
         >
           <el-table-column type="selection"/>
@@ -281,17 +278,39 @@
               </el-form-item>
             </template>
           </el-table-column>
+          <el-table-column label="预留比例" align="center" width="150" prop="reservedProportion">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.reservedProportion"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="预留周期" align="center" width="150" prop="reservedPeriod">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.reservedPeriod"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
+          <el-table-column label="预留数量" align="center" width="150" prop="reservedQty">
+            <template slot-scope="scope">
+              <el-form-item class="hang">
+                <el-input v-model="scope.row.reservedQty"/>
+              </el-form-item>
+            </template>
+          </el-table-column>
           <el-table-column label="采购员名称" align="center" prop="buyerName" />
           <el-table-column label="采购员" align="center" width="150" prop="buyer" />
-          <el-table-column label="物料编码" align="center" width="120" prop="material">
+          <el-table-column label="物料编码" align="center" width="120" prop="materialCode">
             <template slot-scope="scope">
               <el-form-item class="hang">
-                <el-input v-model="scope.row.material"/>
+                <el-input v-model="scope.row.materialCode"/>
               </el-form-item>
             </template>
           </el-table-column>
           <el-table-column label="物料名称" align="center" width="150" prop="materialName" />
           <el-table-column label="规格" align="center" width="150" prop="specification" />
+          <el-table-column label="型号" align="center" width="150" prop="model" />
           <el-table-column label="单位" align="center" width="150" prop="unit	" />
           <el-table-column label="生产厂家/代理人" align="center" width="150" prop="registrant" />
           <el-table-column label="注册人" align="center" width="150" prop="registrant" />
@@ -353,7 +372,7 @@
             </template>
           </el-table-column> 
           <el-table-column label="采购备注" align="center" width="150" prop="puRemark" />
-          <el-table-column label="末级供应仓库存量" align="center" width="150" prop="lastWarehouseQty" />
+          <!-- <el-table-column label="末级供应仓库存量" align="center" width="150" prop="lastWarehouseQty" /> -->
           <!-- <el-table-column label="调拨占有量" align="center" width="150" prop="superiorAllotQty"></el-table-column> -->
           <el-table-column label="最终净需求量" align="center" width="150" prop="resDemandQty">
             <template slot-scope="scope">
@@ -400,13 +419,13 @@
           </el-table-column>
           <el-table-column label="默认采购组织" align="center" width="150" prop="purOrgName" />
           <el-table-column label="默认采购组织编码" align="center" width="150" prop="puOrg" />
-          <el-table-column label="末级供应调拨待入量" align="center" width="150" prop="lastStockQty">
+          <!-- <el-table-column label="末级供应调拨待入量" align="center" width="150" prop="lastStockQty">
             <template slot-scope="scope">
               <el-form-item class="hang">
                 <el-input v-model="scope.row.lastStockQty"/>
               </el-form-item>
             </template>
-          </el-table-column>
+          </el-table-column> -->
           <el-table-column label="上级供应中心现存量" align="center" width="150" prop="superiorCenterQty" />
           <el-table-column label="上级库存被调拨占用量" align="center" width="150" prop="superiorAllotQty" />
           <el-table-column label="可用量" align="center" width="150" prop="availableQty" />
@@ -446,7 +465,7 @@
             </template>
           </el-table-column>
           <!-- <el-table-column label="末级供应库存组织" align="center" width="150" prop="updateTime"></el-table-column> -->
-          <!-- <el-table-column label="上级供应中心库存组织" align="center" width="150" prop="updateTime"></el-table-column> -->
+          <el-table-column label="中心仓可用量" align="center" width="150" prop="updateTime"></el-table-column>
           <!-- <el-table-column label="调拨单号" align="center" width="150" prop="updateTime"></el-table-column> -->
           <!-- <el-table-column label="收货地址" align="center" width="150" prop="updateTime"></el-table-column> -->
           <!-- <el-table-column label="收货地址编码" align="center" width="150" prop="updateTime" /> -->
@@ -478,21 +497,31 @@
       <el-col :span="1.5">
         <el-button size="small" plain @click="back">返回</el-button>
       </el-col>
+
+      <Reserved v-if="dialog.config" :isVisible="dialog.config" :info="row" @updateReserved="updateReserved"/>
     </div>
   </div>
 </template>
 
 <script>
+import Reserved from './reserved.vue'
 import {addDemand,getDemandDetail, getDemandSonDetail, editDemand} from '@/api/purchase/purchaseDemand.js'
+import {getRefer} from '@/api/purchase/basic.js'
 export default {
   name: 'addDemandList',
   props: ['pageStu','row', 'disable'],
+  components: {
+    Reserved
+  },
   model: {
     prop: 'isList',
     event: 'jugislist'
   },
   data() {
     return {
+      dialog: {
+        config: false
+      },
       basicForm: {
         code: '',
         org: '',
@@ -570,7 +599,7 @@ export default {
         materialClassifyThreeName: null,
         materialClassifyFour: null,
         materialClassifyFourName: null,
-        material: null,
+        materialCode: null,
         materialName: null,
         specification: null,
         unit: null,
@@ -645,7 +674,9 @@ export default {
         updateBy: null,
         updateByName: null,
         updateTime: null,
-        delFlag: null
+        delFlag: null,
+        // 新增字段
+        model: null,
       }
       this.basicForm.puDemandItemList.push(newLine)
     },
@@ -681,6 +712,20 @@ export default {
       })
     },
     handleSelectionChange() {},
+    // 点击预留单展示
+    showReserved() {
+      this.dialog.config = true
+    },
+    // 修改是否让页面显示与隐藏的事件
+	  updateReserved (val) {
+      this.dialog.config = val
+    },
+    chooseOrg() {
+      getRefer({type:'ORG_PARAM', search:'BB国际'}).then(res => {
+        console.log("🚀 ~ file: add.vue:725 ~ getRefer ~ res:", res)
+        
+      })
+    },
   }
 }
 </script>

+ 6 - 6
src/views/purchase/PurchaseDemandList/index.vue

@@ -40,7 +40,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="1.5">
-            <el-form-item label="是否已处理需求">
+            <el-form-item label="是否客户指定">
               <el-select v-model="queryParams.isProcess" size="small" style="width: 200px" clearable placeholder="请选择">
                 <el-option
                   v-for="item in options"
@@ -194,21 +194,21 @@
         <el-table 
           :data="tableList" 
           fit
-          max-height="680"
+          max-height="350"
           @selection-change="handleSelectionChange"
         >
           <el-table-column type="selection" width="55" />
           <el-table-column label="编码" align="center" prop="code"/>
           <el-table-column label="需求日期" align="center" width="200" prop="demandDate" />
           <el-table-column label="单据状态" align="center" prop="status" />
-          <el-table-column label="是否已处理需求" align="center" width="150" prop="isProcess" />
+          <!-- <el-table-column label="是否已处理需求" align="center" width="150" prop="isProcess" /> -->
           <el-table-column label="业务类型" align="center" width="150" prop="billType"/>
-          <el-table-column label="是否特殊需求" align="center" width="150" prop="isSpeical" />
+          <!-- <el-table-column label="是否特殊需求" align="center" width="150" prop="isSpeical" /> -->
           <el-table-column label="需求人员" align="center" width="150" prop="demandPersonalName" />
           <el-table-column label="需求客户" align="center" prop="customerName" />
           <el-table-column label="需求部门" align="center" width="150" prop="demandDeptName" />
-          <el-table-column label="供应仓库" align="center" width="120" prop="warehouseName" />
-          <el-table-column label="供应货位" align="center" width="150" prop="goodsAllocationName" />
+          <!-- <el-table-column label="供应仓库" align="center" width="120" prop="warehouseName" /> -->
+          <!-- <el-table-column label="供应货位" align="center" width="150" prop="goodsAllocationName" /> -->
           <el-table-column label="单据来源" align="center" width="150" prop="source" />
           <el-table-column label="组织" align="center" width="150" prop="orgName" />
           <el-table-column label="备注" align="center" width="150" prop="remark" />

+ 98 - 0
src/views/purchase/PurchaseDemandList/reserved.vue

@@ -0,0 +1,98 @@
+<template>
+  <div class="reserved">
+    <el-dialog
+      title="货权预留单"
+      :visible.sync="visible"
+      :before-close="handleClose"
+      width="70%"
+    >
+      <el-table :data="tableList1">
+        <el-table-column property="date" label="预留单型号" width="150"></el-table-column>
+        <el-table-column property="date" label="来源单据号" width="150"></el-table-column>
+        <el-table-column property="date" label="客户" width="150"></el-table-column>
+        <el-table-column property="date" label="客户名称" width="150"></el-table-column>
+        <el-table-column property="date" label="创建人" width="150"></el-table-column>
+        <el-table-column property="date" label="创建人名称" width="150"></el-table-column>
+        <el-table-column property="date" label="创建时间" width="150"></el-table-column>
+        <el-table-column property="date" label="更新人" width="150"></el-table-column>
+        <el-table-column property="date" label="更新人名称" width="150"></el-table-column>
+        <el-table-column property="date" label="更新时间" width="150"></el-table-column>
+      </el-table>
+      <el-table style="margin-top: 50px" :data="tableList2">
+        <el-table-column property="date" label="物料编码" width="150"></el-table-column>
+        <el-table-column property="date" label="物料名称" width="150"></el-table-column>
+        <el-table-column property="date" label="单位" width="150"></el-table-column>
+        <el-table-column property="date" label="单位名称" width="150"></el-table-column>
+        <el-table-column property="date" label="预留数量" width="150"></el-table-column>
+        <el-table-column property="date" label="预留比例" width="150"></el-table-column>
+        <el-table-column property="date" label="预留周期" width="150"></el-table-column>
+        <el-table-column property="date" label="仓库" width="150"></el-table-column>
+        <el-table-column property="date" label="仓库名称" width="150"></el-table-column>
+        <el-table-column property="date" label="货位" width="150"></el-table-column>
+        <el-table-column property="date" label="货位名称" width="150"></el-table-column>
+        <el-table-column property="date" label="可用量" width="150"></el-table-column>
+        <el-table-column property="date" label="已用量" width="150"></el-table-column>
+      </el-table>
+      <el-table style="margin-top: 50px" :data="tableList3">
+        <el-table-column property="date" label="物料编码" width="150"></el-table-column>
+        <el-table-column property="date" label="物料名称" width="150"></el-table-column>
+        <el-table-column property="date" label="单位" width="150"></el-table-column>
+        <el-table-column property="date" label="单位名称" width="150"></el-table-column>
+        <el-table-column property="date" label="预留数量" width="150"></el-table-column>
+        <el-table-column property="date" label="预留比例" width="150"></el-table-column>
+        <el-table-column property="date" label="预留周期" width="150"></el-table-column>
+        <el-table-column property="date" label="调出仓库" width="150"></el-table-column>
+        <el-table-column property="date" label="调出仓库名称" width="150"></el-table-column>
+        <el-table-column property="date" label="调出货位" width="150"></el-table-column>
+        <el-table-column property="date" label="调出货位名称" width="150"></el-table-column>
+        <el-table-column property="date" label="调入仓库" width="150"></el-table-column>
+        <el-table-column property="date" label="调入仓库名称" width="150"></el-table-column>
+        <el-table-column property="date" label="调入货位" width="150"></el-table-column>
+        <el-table-column property="date" label="调入货位名称" width="150"></el-table-column>
+        <el-table-column property="date" label="调拨数量" width="150"></el-table-column>
+      </el-table>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import {getResevedDetail} from '@/api/purchase/transferOrder.js'
+export default {
+  props: {
+    isVisible: {
+      type: Boolean,
+      default: false
+    },
+    info: {
+      type: Object,
+      default: null
+    }
+  },
+  mounted() {
+    console.log('出现')
+    console.log(this.info)
+    this.getDetails(this.info)
+  },
+  data() {
+    return {
+      visible:this.isVisible,
+      tableList1: [],
+      tableList2: [],
+      tableList3: [],
+    }
+  },
+  methods: {
+    getDetails(row) {
+      getResevedDetail(row.id).then(res => {
+        if (res.code === 200) {
+          // this.basicForm = res.data
+        }
+      })
+    },
+    handleClose() {
+      console.log('调用')
+      this.$emit('updateReserved', false)
+    }
+  }
+}
+</script>

+ 211 - 0
src/views/purchase/priceDeclaration/add-price-declaration.vue

@@ -0,0 +1,211 @@
+<!-- 价格申报单-新增 -->
+<template>
+  <el-drawer title="我是标题" direction="btt" size="100%" :with-header="false" :visible.sync="visible"
+    :before-close="handleClose">
+    <el-card :body-style="{
+        padding: '20px',
+        display: 'flex',
+        'flex-wrap': 'wrap',
+      }" style="margin: 10px">
+      <div slot="header" style="
+          display: flex;
+          justify-content: space-between;
+          align-items: center;
+        ">
+        <h3>新增</h3>
+        <div style="text-align: right">
+          <el-button size="mini" @click="setVisible(false)">取消</el-button>
+          <el-button size="mini" type="info" @click="setVisible(false)">保存并新增</el-button>
+          <el-button size="mini" type="danger" @click="setVisible(false)">保存</el-button>
+        </div>
+      </div>
+      <el-row>
+        <el-form size="mini" label-position="right" label-width="150px" :model="params">
+          <el-col v-for="(column, index) in columns" :key="index" :span="column.span || 8">
+            <el-form-item :prop="column.key" :label="column.title" :required="column.required">
+
+              <el-input v-if="column.type === 'Input'" v-model="params[column.key]" :placeholder="column.placeholder"
+                :clearable="column.clearable" style="width: 90%"></el-input>
+
+              <el-input-number v-if="column.type === 'InputNumber'" v-model="params[column.key]"
+                :controls-position="column.config.controlsPosition" :placeholder="column.placeholder"
+                :clearable="column.clearable" style="width: 90%"></el-input-number>
+
+              <el-select v-if="column.type === 'Select'" v-model="params[column.key]" :placeholder="column.placeholder"
+                :clearable="column.clearable" style="width: 90%">
+                <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
+                </el-option>
+              </el-select>
+
+              <el-select v-if="column.type === 'TagSelect'" v-model="params[column.key]" multiple clearable collapse-tags
+                :placeholder="column.placeholder" :clearable="column.clearable" style="width: 90%">
+                <template #prefix>
+                  <el-icon class="el-icon-s-operation" style="cursor: pointer" @click.stop="$message.info(234)"></el-icon>
+                </template>
+                <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
+                </el-option>
+              </el-select>
+
+              <el-date-picker v-if="column.type === 'DatePicker'" v-model="params[column.key]" :type="column.config.type"
+                :placeholder="column.placeholder" :clearable="column.clearable" :picker-options="column.pickerOptions"
+                style="width: 90%">
+              </el-date-picker>
+
+              <el-upload v-if="column.type === 'Upload'" :file-list="params[column.key]" drag
+                action="https://jsonplaceholder.typicode.com/posts/" multiple>
+                <i class="el-icon-upload"></i>
+                <div class="el-upload__text">
+                  将文件拖到此处,或<em>点击上传</em>
+                </div>
+                <div class="el-upload__tip" slot="tip">
+                  只能上传jpg/png文件,且不超过500kb
+                </div>
+              </el-upload>
+
+            </el-form-item>
+          </el-col>
+        </el-form>
+      </el-row>
+    </el-card>
+    <el-card :body-style="{
+        padding: '20px',
+        display: 'flex',
+        'flex-wrap': 'wrap',
+      }" style="margin: 10px">
+      <el-tabs v-model="tabName" @tab-click="handleClick" style="width: 100%">
+        <el-tab-pane v-for="(column, index) in tabColumns" :key="index" :label="column.title" :name="column.key">
+          <el-table :data="tabTableDatas[column.key]" style="width: 100%">
+            <el-table-column v-for="(cColumn, cIndex) in column.tableColumns" :key="cIndex" :prop="cColumn.key"
+              :label="cColumn.title">
+            </el-table-column>
+          </el-table>
+        </el-tab-pane>
+      </el-tabs>
+    </el-card>
+  </el-drawer>
+</template>
+
+<script>
+export default {
+  name: 'addPriceDeclaration',
+  data() {
+    const arr2Obj = function (data, keyName, valueName) {
+      return Object.fromEntries(
+        data.map((item) => [item[keyName], item[valueName]])
+      );
+    };
+    const columns = [
+      { key: "id", title: "id", type: "TagSelect", require: true },
+      { key: "status", title: "单据状态" },
+      { key: "priceName", title: "价格名称" },
+      { key: "supplier", title: "供应商" },
+      { key: "supplierName", title: "供应商名称" },
+      { key: "puOrg", title: "采购组织" },
+      { key: "puOrgName", title: "采购组织名称" },
+      { key: "currency", title: "币种" },
+      { key: "currencyName", title: "币种名称" },
+      { key: "explain", title: "价格合理性说明" },
+      { key: "buyer", title: "采购员" },
+      { key: "buyerName", title: "采购员名称" },
+      { key: "puDept", title: "采购部门" },
+      { key: "puDeptName", title: "采购部门名称" },
+      { key: "sourceType", title: "来源单据类型" },
+      { key: "source", title: "来源单据号" },
+      { key: "isEffective", title: "是否已推价格" },
+      { key: "effectiveDate", title: "生效日期" },
+      { key: "file", title: "附件" },
+      { key: "tenantId", title: "租户号" },
+      { key: "revision", title: "乐观锁" },
+      { key: "createByName", title: "创建人名称" },
+      { key: "updateByName", title: "更新人" },
+      { key: "delFlag", title: "删除标记" }
+    ];
+    const initColumns = () =>
+      columns.map((column) => {
+        const clearable = column.clearable || true;
+        if (column.type === "InputNumber") {
+          return {
+            ...column,
+            clearable,
+            config: { controlsPosition: "right" },
+          };
+        }
+        if (column.type === "DatePicker") {
+          return {
+            ...column,
+            clearable,
+            config: { type: "date" },
+          };
+        }
+        return {
+          ...column,
+          clearable,
+        };
+      });
+    const initParams = () => arr2Obj(initColumns(), "key", "value");
+    // 标签页列
+    const tabColumns = [
+      {
+        key: 'materialBasic',
+        title: '物料信息表',
+        tableColumns: [],
+      },
+      {
+        key: 'enforcementScope',
+        title: '执行范围组织',
+        tableColumns: [],
+      },
+    ]
+    const initTabColumns = () => tabColumns;
+    return {
+      visible: false,
+      // 主数据表头
+      columns: initColumns(),
+      // 表单
+      params: initParams(),
+      options: [
+        {
+          value: "选项1",
+          label: "黄金糕",
+        },
+        {
+          value: "选项2",
+          label: "双皮奶",
+        },
+        {
+          value: "选项3",
+          label: "蚵仔煎",
+        },
+        {
+          value: "选项4",
+          label: "龙须面",
+        },
+        {
+          value: "选项5",
+          label: "北京烤鸭",
+        },
+      ],
+      // 标签页表格列
+      tabColumns: initTabColumns(),
+      // 标签页激活
+      tabName: "materialBasic",
+      // 标签页对应数据
+      tabTableDatas: {
+        materialBasic: [],
+        enforcementScope: [],
+      },
+    }
+  },
+  methods: {
+    setVisible(prop) {
+      this.visible = prop;
+    },
+    handleClose() { },
+    handleClick() { },
+
+  },
+  created() {
+    console.log(this.params, this.columns);
+  },
+}
+</script>

+ 373 - 0
src/views/purchase/priceDeclaration/index.vue

@@ -0,0 +1,373 @@
+<!-- 价格申报单-列表 -->
+<template>
+  <el-card v-loading="loading" class="priceDeclaration" :body-style="{ padding: 0 }">
+
+    <addPriceDeclaration ref="addDeclaration"></addPriceDeclaration>
+    <seePriceDeclaration ref="seeDeclaration"></seePriceDeclaration>
+
+    <!-- 检索 -->
+    <el-form size="mini" label-position="right" label-width="85px" :model="searchParams" style="padding: 20px 0 0 0">
+      <el-row :gutter="24">
+        <el-col :span="22">
+          <el-row :gutter="20">
+            <el-col v-for="column in showSearchColumns" :key="column.title" :xl="6" :lg="6" :md="8" :sm="12" :xs="24">
+              <el-form-item :prop="column.key" :label="column.title">
+                <el-input v-model="searchParams[column.key]" :placeholder="column.placeholder"></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-col>
+        <el-col :span="2">
+          <el-row :gutter="24">
+            <el-col :span="24">
+              <el-button type="primary" size="mini">搜索</el-button>
+            </el-col>
+            <el-col v-show="!isSimpleSearch" :span="24" style="margin: 10px 0 0">
+              <el-button size="mini">重置</el-button>
+            </el-col>
+          </el-row>
+        </el-col>
+      </el-row>
+    </el-form>
+    <el-divider>
+      <i :class="isSimpleSearch ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="cursor: pointer"
+        @click="handleSearchChange"></i>
+    </el-divider>
+
+    <!-- 操作 -->
+    <el-row :gutter="24" style="padding: 0 20px">
+      <!-- <el-col :span="6">  </el-col> -->
+      <el-col :span="24" style="text-align: right">
+        <el-button size="mini" type="danger" @click="handleAddDeclaration">新增</el-button>
+        <el-button-group>
+          <el-dropdown>
+            <el-button size="mini">
+              导入<i class="el-icon-arrow-down el-icon--right"></i>
+            </el-button>
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item>导入</el-dropdown-item>
+              <el-dropdown-item>模板下载</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+          <el-dropdown>
+            <el-button size="mini">
+              导出<i class="el-icon-arrow-down el-icon--right"></i>
+            </el-button>
+            <el-dropdown-menu slot="dropdown">
+              <el-dropdown-item>Excel导出</el-dropdown-item>
+              <el-dropdown-item>导出明细</el-dropdown-item>
+            </el-dropdown-menu>
+          </el-dropdown>
+        </el-button-group>
+
+        <el-button-group>
+          <el-button size="mini">删除</el-button>
+          <el-button size="mini">打印</el-button>
+          <el-button size="mini">下载</el-button>
+        </el-button-group>
+      </el-col>
+    </el-row>
+
+    <el-container>
+      <el-main>
+        <!-- 主信息 -->
+        <el-table class="pd-mainTable" :data="tableData" size="mini" @row-dblclick="handleOpenDetails">
+          <el-table-column type="selection" width="35" />
+          <el-table-column v-for="(column, index) in tableColumns" :key="index" :prop="column.key" :label="column.title"
+            :width="column.width || 180" :show-overflow-tooltip="column.showOverflowTooltip || true">
+          </el-table-column>
+          <!-- 操作 -->
+          <el-table-column label="操作" width="100">
+            <template slot-scope="scope">
+              <el-button size="mini" type="text" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
+              <el-button size="mini" type="text" @click="handleDelete(scope.$index, scope.row)">删除</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+        <!-- 分页 -->
+        <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :total="total"
+          :page-sizes="pageSizes" :page-size="page.pageSize" :current-page="page.pageNum" hide-on-single-page
+          layout="total, prev, pager, next, sizes, jumper">
+        </el-pagination>
+
+        <!-- 附表格 -->
+        <div class="pd-viceTable">
+          <el-tabs class="pd-tabs" v-model="activeName" @tab-click="handleTabClick" style="width: 100%;">
+            <el-tab-pane v-for="v in viceTable" :label="v.title" :name="v.name">
+
+              <el-table class="pd_viceTable" :data="tabTableDatas[v.name]" style="width: 100%;">
+                <el-table-column v-if="tabTableDatas[v.name].lenth" type="index" width="35" />
+                <el-table-column v-for="(column, index) in v.columns" :key="index" :prop="column.key"
+                  :label="column.title" :width="column.width || 180"
+                  :show-overflow-tooltip="column.showOverflowTooltip || true">
+                </el-table-column>
+              </el-table>
+            </el-tab-pane>
+          </el-tabs>
+        </div>
+
+      </el-main>
+    </el-container>
+
+  </el-card>
+</template>
+
+<script>
+import declaration from '@/api/business/purchase/priceDeclaration'
+import addPriceDeclaration from './add-price-declaration.vue'
+import seePriceDeclaration from './see-price-declaration.vue'
+
+export default {
+  name: 'priceDeclaration',
+  components: {
+    addPriceDeclaration,
+    seePriceDeclaration
+  },
+  data() {
+    const arr2Obj = function (data, keyName, valueName) {
+      return Object.fromEntries(
+        data.map((item) => [item[keyName], item[valueName]])
+      );
+    };
+    // 检索列
+    const searchColumns = [
+      // { key: "id", title: "id", type: '' },
+      // { key: "status", title: "单据状态" },
+      // { key: "priceName", title: "价格名称" },
+      // { key: "supplier", title: "供应商" },
+      // { key: "supplierName", title: "供应商名称" },
+      { key: "puOrg", title: "采购组织" },
+      // { key: "puOrgName", title: "采购组织名称" },
+      // { key: "currency", title: "币种" },
+      // { key: "currencyName", title: "币种名称" },
+      // { key: "explain", title: "价格合理性说明" },
+      { key: "buyer", title: "采购员" },
+      // { key: "buyerName", title: "采购员名称" },
+      { key: "puDept", title: "采购部门" },
+      // { key: "puDeptName", title: "采购部门名称" },
+      // { key: "sourceType", title: "来源单据类型" },
+      { key: "source", title: "来源单据号" },
+      // { key: "isEffective", title: "是否已推价格" },
+      // { key: "effectiveDate", title: "生效日期" },
+      // { key: "file", title: "附件" },
+      // { key: "tenantId", title: "租户号" },
+      // { key: "revision", title: "乐观锁" },
+      // { key: "createByName", title: "创建人名称" },
+      // { key: "updateByName", title: "更新人" },
+      // { key: "delFlag", title: "删除标记" }
+    ];
+    // 表头
+    const tableHeader = [
+      { key: "id", title: "id" },
+      { key: "status", title: "单据状态" },
+      { key: "priceName", title: "价格名称" },
+      { key: "supplier", title: "供应商" },
+      { key: "supplierName", title: "供应商名称" },
+      { key: "puOrg", title: "采购组织" },
+      { key: "puOrgName", title: "采购组织名称" },
+      { key: "currency", title: "币种" },
+      { key: "currencyName", title: "币种名称" },
+      { key: "explain", title: "价格合理性说明" },
+      { key: "buyer", title: "采购员" },
+      { key: "buyerName", title: "采购员名称" },
+      { key: "puDept", title: "采购部门" },
+      { key: "puDeptName", title: "采购部门名称" },
+      { key: "sourceType", title: "来源单据类型" },
+      { key: "source", title: "来源单据号" },
+      { key: "isEffective", title: "是否已推价格" },
+      { key: "effectiveDate", title: "生效日期" },
+      { key: "file", title: "附件" },
+      { key: "tenantId", title: "租户号" },
+      { key: "revision", title: "乐观锁" },
+      { key: "createByName", title: "创建人名称" },
+      { key: "updateByName", title: "更新人" },
+      { key: "delFlag", title: "删除标记" }
+    ];
+    // 附表
+    const viceTable = [
+      {
+        name: 'materialBasic',
+        title: '物料信息表',
+        columns: [],
+      },
+      {
+        name: 'enforcementScope',
+        title: '执行范围组织',
+        columns: [],
+      },
+    ]
+
+    // 初始化搜索列
+    const initSearchColumns = () => searchColumns;
+    // 初始化搜索参数
+    const initSearchParams = () => arr2Obj(initSearchColumns(), "key", "value");
+    // 初始化表头
+    const initTableHeader = () => tableHeader;
+    // 附表格
+    const initViceTable = () => viceTable;
+
+    return {
+      loading: false,
+      // 简单检索
+      isSimpleSearch: true,
+      // 标签页激活
+      activeName: 'materialBasic',
+      // 检索参数
+      searchParams: {
+        isAsc: "desc",
+        reasonable: "",
+        orderByColumn: "",
+        ...initSearchParams(),
+      },
+      // 检索列
+      searchColumns: initSearchColumns(),
+      // 列表
+      tableColumns: initTableHeader(),
+      // 附表格
+      viceTable: initViceTable(),
+      // 附表格数据
+      tabTableDatas: {
+        // 物料信息表
+        materialBasic: [],
+        // 执行范围组织
+        enforcementScope: [],
+      },
+      // 列表数据
+      tableData: [
+        {
+          buyer: '1',
+          buyerName: '1',
+          createByName: '1',
+          currency: '1',
+          currencyName: '1',
+          delFlag: '1',
+          effectiveDate: '1',
+          explain: '1',
+          file: '1',
+          id: '1',
+          isAsc: '1',
+          isEffective: '1',
+          orderByColumn: '1',
+          priceName: '1',
+          puDept: '1',
+          puDeptName: '1',
+          puOrg: '1',
+          puOrgName: '1',
+          reasonable: '1',
+          revision: '1',
+          source: '1',
+          sourceType: '1',
+          status: '1',
+          supplier: '1',
+          supplierName: '1',
+          tenantId: '1',
+          updateByName: '1'
+        }
+      ],
+      page: { pageNum: 1, pageSize: 25 },
+      total: 1,
+      pageSizes: [25, 50, 100],
+    }
+  },
+  computed: {
+    showSearchColumns() {
+      return this.isSimpleSearch
+        ? this.searchColumns.slice(0, 4)
+        : this.searchColumns;
+    },
+  },
+  methods: {
+    // 改变页数大小
+    handleSizeChange() { },
+    // 改变当前页
+    handleCurrentChange() { },
+    // 查询条件改变
+    handleSearchChange() {
+      this.isSimpleSearch = !this.isSimpleSearch;
+      // this.$notify.info({
+      //   title: this.isSimpleSearch ? "Simple Search" : "All Search",
+      // });
+    },
+    // 新增
+    handleAddDeclaration() {
+      const { setVisible } = this.$refs.addDeclaration;
+      setVisible(true);
+      setTimeout(() => {
+        this.$notify.info("Open Add Drawer");
+      }, 250);
+    },
+    // 标签页切换
+    handleTabClick() {
+      console.log(this.activeName, '标签页切换');
+
+    },
+    // 行双击-进入详情
+    handleOpenDetails(row) {
+      console.log(row, '行双击-进入详情');
+      const { setVisible } = this.$refs.seeDeclaration;
+      setVisible(true);
+      setTimeout(() => {
+        this.$notify.info("Open See Drawer");
+      }, 250);
+    },
+    // 行编辑
+    handleEdit(index, row) {
+      console.log(index, row, '行编辑');
+    },
+    // 行删除
+    handleDelete(index, row) {
+      console.log(index, row, '行删除');
+    },
+    // 查询列表
+    handlePriceApplyList() {
+      let data = {
+        ...this.page,
+        ...this.searchParams,
+      }
+      declaration.getPriceApplyList(data).then(res => {
+        console.log(res, 'res');
+      }).catch(error => {
+
+      })
+    },
+  },
+  created() {
+    console.log(this.searchParams, 'searchParams');
+    // this.handlePriceApplyList();
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.priceDeclaration {
+  width: calc(100% - 24px);
+  height: 100%;
+  margin: 10px;
+
+  .el-main {
+    padding-top: 0px;
+
+    .pd-mainTable {
+      width: 100%;
+      margin: 20px 0 0 0;
+    }
+
+    .pd-viceTable {
+      padding: 20px 0 0 0;
+      display: flex;
+      flex-wrap: wrap;
+    }
+
+    // .pd_tabs {
+    //   margin-top: 20px;
+    // }
+  }
+}
+</style>
+
+<style scoped>
+.pd_mainTable>>>.el-table__body-wrapper {
+  max-height: 400px;
+  overflow: auto;
+}
+</style>

+ 208 - 0
src/views/purchase/priceDeclaration/see-price-declaration.vue

@@ -0,0 +1,208 @@
+<!-- 价格申报单-详情 -->
+<template>
+  <el-drawer title="我是标题" direction="btt" size="100%" :with-header="false" :visible.sync="visible"
+    :before-close="handleClose">
+    <el-card :body-style="{
+        padding: '20px',
+        display: 'flex',
+        'flex-wrap': 'wrap',
+      }" style="margin: 10px">
+      <div slot="header" style="
+          display: flex;
+          justify-content: space-between;
+          align-items: center;
+        ">
+        <h3>查看</h3>
+        <div style="text-align: right">
+          <el-button size="mini" @click="setVisible(false)">取消</el-button>
+          <el-button size="mini" type="info" @click="setVisible(false)">保存并新增</el-button>
+          <el-button size="mini" type="danger" @click="setVisible(false)">保存</el-button>
+        </div>
+      </div>
+      <el-row>
+        <el-form size="mini" label-position="right" label-width="150px" :model="params">
+          <el-col v-for="(column, index) in columns" :key="index" :span="column.span || 8">
+            <el-form-item :prop="column.key" :label="column.title" :required="column.required">
+
+              <el-input v-if="column.type === 'Input'" v-model="params[column.key]" :placeholder="column.placeholder"
+                :clearable="column.clearable" style="width: 90%"></el-input>
+
+              <el-input-number v-if="column.type === 'InputNumber'" v-model="params[column.key]"
+                :controls-position="column.config.controlsPosition" :placeholder="column.placeholder"
+                :clearable="column.clearable" style="width: 90%"></el-input-number>
+
+              <el-select v-if="column.type === 'Select'" v-model="params[column.key]" :placeholder="column.placeholder"
+                :clearable="column.clearable" style="width: 90%">
+                <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
+                </el-option>
+              </el-select>
+
+              <el-select v-if="column.type === 'TagSelect'" v-model="params[column.key]" multiple clearable collapse-tags
+                :placeholder="column.placeholder" :clearable="column.clearable" style="width: 90%">
+                <template #prefix>
+                  <el-icon class="el-icon-s-operation" style="cursor: pointer" @click.stop="$message.info(234)"></el-icon>
+                </template>
+                <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
+                </el-option>
+              </el-select>
+
+              <el-date-picker v-if="column.type === 'DatePicker'" v-model="params[column.key]" :type="column.config.type"
+                :placeholder="column.placeholder" :clearable="column.clearable" :picker-options="column.pickerOptions"
+                style="width: 90%">
+              </el-date-picker>
+
+              <el-upload v-if="column.type === 'Upload'" :file-list="params[column.key]" drag
+                action="https://jsonplaceholder.typicode.com/posts/" multiple>
+                <i class="el-icon-upload"></i>
+                <div class="el-upload__text">
+                  将文件拖到此处,或<em>点击上传</em>
+                </div>
+                <div class="el-upload__tip" slot="tip">
+                  只能上传jpg/png文件,且不超过500kb
+                </div>
+              </el-upload>
+
+            </el-form-item>
+          </el-col>
+        </el-form>
+      </el-row>
+    </el-card>
+    <el-card :body-style="{
+        padding: '20px',
+        display: 'flex',
+        'flex-wrap': 'wrap',
+      }" style="margin: 10px">
+      <el-tabs v-model="tabName" @tab-click="handleClick" style="width: 100%">
+        <el-tab-pane v-for="(column, index) in tabColumns" :key="index" :label="column.title" :name="column.key">
+          <el-table :data="tabTableDatas[column.key]" style="width: 100%">
+            <el-table-column v-for="(cColumn, cIndex) in column.tableColumns" :key="cIndex" :prop="cColumn.key"
+              :label="cColumn.title">
+            </el-table-column>
+          </el-table>
+        </el-tab-pane>
+      </el-tabs>
+    </el-card>
+  </el-drawer>
+</template>
+
+<script>
+export default {
+  name: 'seePriceDeclaration',
+  data() {
+    const arr2Obj = function (data, keyName, valueName) {
+      return Object.fromEntries(
+        data.map((item) => [item[keyName], item[valueName]])
+      );
+    };
+    const columns = [
+      { key: "id", title: "id", type: "TagSelect", require: true },
+      { key: "status", title: "单据状态" },
+      { key: "priceName", title: "价格名称" },
+      { key: "supplier", title: "供应商" },
+      { key: "supplierName", title: "供应商名称" },
+      { key: "puOrg", title: "采购组织" },
+      { key: "puOrgName", title: "采购组织名称" },
+      { key: "currency", title: "币种" },
+      { key: "currencyName", title: "币种名称" },
+      { key: "explain", title: "价格合理性说明" },
+      { key: "buyer", title: "采购员" },
+      { key: "buyerName", title: "采购员名称" },
+      { key: "puDept", title: "采购部门" },
+      { key: "puDeptName", title: "采购部门名称" },
+      { key: "sourceType", title: "来源单据类型" },
+      { key: "source", title: "来源单据号" },
+      { key: "isEffective", title: "是否已推价格" },
+      { key: "effectiveDate", title: "生效日期" },
+      { key: "file", title: "附件" },
+      { key: "tenantId", title: "租户号" },
+      { key: "revision", title: "乐观锁" },
+      { key: "createByName", title: "创建人名称" },
+      { key: "updateByName", title: "更新人" },
+      { key: "delFlag", title: "删除标记" }
+    ];
+    const initColumns = () =>
+      columns.map((column) => {
+        const clearable = column.clearable || true;
+        if (column.type === "InputNumber") {
+          return {
+            ...column,
+            clearable,
+            config: { controlsPosition: "right" },
+          };
+        }
+        if (column.type === "DatePicker") {
+          return {
+            ...column,
+            clearable,
+            config: { type: "date" },
+          };
+        }
+        return {
+          ...column,
+          clearable,
+        };
+      });
+    const initParams = () => arr2Obj(initColumns(), "key", "value");
+    // 标签页列
+    const tabColumns = [
+      {
+        key: 'materialBasic',
+        title: '物料信息表',
+        tableColumns: [],
+      },
+      {
+        key: 'enforcementScope',
+        title: '执行范围组织',
+        tableColumns: [],
+      },
+    ]
+    const initTabColumns = () => tabColumns;
+    return {
+      visible: false,
+      // 主数据表头
+      columns: initColumns(),
+      // 表单
+      params: initParams(),
+      options: [
+        {
+          value: "选项1",
+          label: "黄金糕",
+        },
+        {
+          value: "选项2",
+          label: "双皮奶",
+        },
+        {
+          value: "选项3",
+          label: "蚵仔煎",
+        },
+        {
+          value: "选项4",
+          label: "龙须面",
+        },
+        {
+          value: "选项5",
+          label: "北京烤鸭",
+        },
+      ],
+      // 标签页表格列
+      tabColumns: initTabColumns(),
+      // 标签页激活
+      tabName: "materialBasic",
+      // 标签页对应数据
+      tabTableDatas: {
+        materialBasic: [],
+        enforcementScope: [],
+      },
+    }
+  },
+  methods: {
+    setVisible(prop) {
+      this.visible = prop;
+    },
+    handleClose() { },
+    handleClick() { },
+  },
+  created() { },
+}
+</script>

+ 19 - 80
src/views/purchase/purchase-task/index.vue

@@ -401,8 +401,8 @@ export default {
         title: this.isSimpleSearch ? "Simple Search" : "All Search",
       });
     },
-    handleSizeChange() {},
-    handleCurrentChange() {},
+    handleSizeChange() { },
+    handleCurrentChange() { },
     handleOpenAddDrawer() {
       const { setVisible } = this.$refs.addDrawerFef;
       setVisible(true);
@@ -422,37 +422,16 @@ export default {
 </script>
 
 <template>
-  <el-card
-    v-loading="loading"
-    style="width: calc(100% - 24px); height: 100%; margin: 10px"
-    :body-style="{ padding: 0 }"
-  >
+  <el-card v-loading="loading" style="width: calc(100% - 24px); height: 100%; margin: 10px" :body-style="{ padding: 0 }">
     <AddPurchaseTaskDrawer ref="addDrawerFef"></AddPurchaseTaskDrawer>
     <SeePurchaseTaskDrawer ref="seeDrawerFef"></SeePurchaseTaskDrawer>
-    <el-form
-      size="mini"
-      label-position="right"
-      label-width="85px"
-      :model="searchParams"
-      style="padding: 20px 0 0 0"
-    >
+    <el-form size="mini" label-position="right" label-width="85px" :model="searchParams" style="padding: 20px 0 0 0">
       <el-row :gutter="24">
         <el-col :span="22">
           <el-row :gutter="20">
-            <el-col
-              v-for="column in showSearchColumns"
-              :key="column.title"
-              :xl="6"
-              :lg="6"
-              :md="8"
-              :sm="12"
-              :xs="24"
-            >
+            <el-col v-for="column in showSearchColumns" :key="column.title" :xl="6" :lg="6" :md="8" :sm="12" :xs="24">
               <el-form-item :prop="column.key" :label="column.title">
-                <el-input
-                  v-model="searchParams[column.key]"
-                  :placeholder="column.placeholder"
-                ></el-input>
+                <el-input v-model="searchParams[column.key]" :placeholder="column.placeholder"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
@@ -462,11 +441,7 @@ export default {
             <el-col :span="24">
               <el-button type="primary" size="mini">搜索</el-button>
             </el-col>
-            <el-col
-              v-show="!isSimpleSearch"
-              :span="24"
-              style="margin: 10px 0 0"
-            >
+            <el-col v-show="!isSimpleSearch" :span="24" style="margin: 10px 0 0">
               <el-button size="mini">重置</el-button>
             </el-col>
           </el-row>
@@ -474,21 +449,13 @@ export default {
       </el-row>
     </el-form>
     <el-divider>
-      <i
-        :class="isSimpleSearch ? 'el-icon-arrow-down' : 'el-icon-arrow-up'"
-        style="cursor: pointer"
-        @click="handleSearchChange"
-      ></i>
+      <i :class="isSimpleSearch ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="cursor: pointer"
+        @click="handleSearchChange"></i>
     </el-divider>
     <el-row :gutter="24" style="padding: 0 20px">
       <el-col :span="6">123</el-col>
       <el-col :span="18" style="text-align: right">
-        <el-button
-          size="mini"
-          type="danger"
-          style="margin: 0 10px 0 0"
-          @click="handleOpenAddDrawer"
-        >
+        <el-button size="mini" type="danger" style="margin: 0 10px 0 0" @click="handleOpenAddDrawer">
           新增
         </el-button>
         <el-dropdown placement="bottom-start">
@@ -504,10 +471,7 @@ export default {
         </el-dropdown>
 
         <el-dropdown placement="bottom-start">
-          <el-button
-            size="mini"
-            style="border-right: 0; border-radius: 3px 0 0 3px"
-          >
+          <el-button size="mini" style="border-right: 0; border-radius: 3px 0 0 3px">
             首次协议直采
             <i class="el-icon-arrow-down el-icon--right"></i>
           </el-button>
@@ -528,10 +492,7 @@ export default {
         <el-button size="mini" style="border-right: 0; border-radius: 0">
           Excel导出
         </el-button>
-        <el-button
-          size="mini"
-          style="margin: 0; border-right: 0; border-radius: 0"
-        >
+        <el-button size="mini" style="margin: 0; border-right: 0; border-radius: 0">
           退回请购
         </el-button>
         <el-dropdown placement="bottom-start">
@@ -543,11 +504,7 @@ export default {
             <el-dropdown-item>商超匹配下单</el-dropdown-item>
           </el-dropdown-menu>
         </el-dropdown>
-        <el-button
-          size="mini"
-          disabled
-          style="margin: 0 10px 0 0; border-radius: 0 3px 3px 0"
-        >
+        <el-button size="mini" disabled style="margin: 0 10px 0 0; border-radius: 0 3px 3px 0">
           一键合同下单
         </el-button>
         <el-button size="mini" style="margin: 0 10px 0 0">删除</el-button>
@@ -566,32 +523,14 @@ export default {
         </el-dropdown>
       </el-col>
     </el-row>
-    <el-table
-      @row-dblclick="handleOpenSeeDrawer"
-      :data="tableData"
-      size="mini"
-      style="width: 100%; margin: 20px 0 0 0"
-    >
-      <el-table-column
-        v-for="(column, index) in tableColumns"
-        :key="index"
-        :prop="column.key"
-        :label="column.title"
-        :width="column.width || 180"
-        :show-overflow-tooltip="column.showOverflowTooltip || true"
-      >
+    <el-table @row-dblclick="handleOpenSeeDrawer" :data="tableData" size="mini" style="width: 100%; margin: 20px 0 0 0">
+      <el-table-column v-for="(column, index) in tableColumns" :key="index" :prop="column.key" :label="column.title"
+        :width="column.width || 180" :show-overflow-tooltip="column.showOverflowTooltip || true">
       </el-table-column>
     </el-table>
-    <el-pagination
-      @size-change="handleSizeChange"
-      @current-change="handleCurrentChange"
-      :total="total"
-      :page-sizes="pageSizes"
-      :page-size="page.pageSize"
-      :current-page="page.pageNum"
-      hide-on-single-page
-      layout="total, prev, pager, next, sizes, jumper"
-    >
+    <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :total="total"
+      :page-sizes="pageSizes" :page-size="page.pageSize" :current-page="page.pageNum" hide-on-single-page
+      layout="total, prev, pager, next, sizes, jumper">
     </el-pagination>
     <DirectSourcingTable></DirectSourcingTable>
   </el-card>

+ 206 - 136
src/views/purchase/transferOrder/add.vue

@@ -5,7 +5,7 @@
         <el-col :span="1.5">
             <el-form-item label="订单类型">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.billType"
                 size="small"
                 placeholder=""
                 clearable
@@ -27,7 +27,7 @@
         <el-col :span="1.5">
             <el-form-item label="单据日期">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.billDate"
                 size="small"
                 placeholder=""
                 clearable
@@ -38,7 +38,7 @@
         <el-col :span="1.5">
             <el-form-item label="调拨方式">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.allotType"
                 size="small"
                 placeholder=""
                 clearable
@@ -49,7 +49,7 @@
         <el-col :span="1.5">
             <el-form-item label="调拨出库单号">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.deliveryCode"
                 size="small"
                 placeholder=""
                 clearable
@@ -60,7 +60,7 @@
         <el-col :span="1.5">
             <el-form-item label="调拨入库单号">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.storageCode"
                 size="small"
                 placeholder=""
                 clearable
@@ -71,7 +71,7 @@
         <el-col :span="1.5">
             <el-form-item label="调入库存组织">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.storageInventoryOrg"
                 size="small"
                 placeholder=""
                 clearable
@@ -82,7 +82,7 @@
         <el-col :span="1.5">
             <el-form-item label="调出业务员">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.businessPersonal"
                 size="small"
                 placeholder=""
                 clearable
@@ -93,7 +93,7 @@
         <el-col :span="1.5">
             <el-form-item label="调出部门">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.deliveryDept"
                 size="small"
                 placeholder=""
                 clearable
@@ -102,9 +102,9 @@
             </el-form-item>
          </el-col>
         <el-col :span="1.5">
-            <el-form-item label="人民币">
+            <el-form-item label="币">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.currency"
                 size="small"
                 placeholder=""
                 clearable
@@ -115,7 +115,7 @@
         <el-col :span="1.5">
             <el-form-item label="折本汇率">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.rate"
                 size="small"
                 placeholder=""
                 clearable
@@ -126,7 +126,7 @@
         <el-col :span="1.5">
             <el-form-item label="在途归属">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.onRouteAffilliation"
                 size="small"
                 placeholder=""
                 clearable
@@ -137,7 +137,7 @@
         <el-col :span="1.5">
             <el-form-item label="总数量">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.qty"
                 size="small"
                 placeholder=""
                 clearable
@@ -148,7 +148,7 @@
         <el-col :span="1.5">
             <el-form-item label="结算路径">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.accountPath"
                 size="small"
                 placeholder=""
                 clearable
@@ -159,7 +159,7 @@
         <el-col :span="1.5">
             <el-form-item label="客户">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.customer"
                 size="small"
                 placeholder=""
                 clearable
@@ -170,7 +170,7 @@
         <el-col :span="1.5">
             <el-form-item label="调入仓库">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.storageWarehouse"
                 size="small"
                 placeholder=""
                 clearable
@@ -181,7 +181,7 @@
         <el-col :span="1.5">
             <el-form-item label="调出仓库">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.deliveryWarehouse"
                 size="small"
                 placeholder=""
                 clearable
@@ -192,7 +192,7 @@
         <el-col :span="1.5">
             <el-form-item label="物料项目组">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.materialProject"
                 size="small"
                 placeholder=""
                 clearable
@@ -214,7 +214,7 @@
         <el-col :span="1.5">
             <el-form-item label="是否已同步WMS">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.isSendWms"
                 size="small"
                 placeholder=""
                 clearable
@@ -225,7 +225,7 @@
         <el-col :span="1.5">
             <el-form-item label="备注">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.remark"
                 size="small"
                 placeholder=""
                 clearable
@@ -299,7 +299,7 @@
         <el-col :span="1.5">
             <el-form-item label="创建人">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.createByName"
                 size="small"
                 placeholder=""
                 clearable
@@ -321,7 +321,7 @@
         <el-col :span="1.5">
             <el-form-item label="最后修改人">
               <el-input
-                v-model="basicForm.code"
+                v-model="basicForm.updateByName"
                 size="small"
                 placeholder=""
                 clearable
@@ -349,41 +349,40 @@
             fit
             max-height="380"
             >
-            <el-table-column label="行号" align="center" prop="code"/>
-            <el-table-column label="物料编码" align="center" prop="code"/>
-            <el-table-column label="物料名称" align="center" prop="code"/>
+            <el-table-column label="行号" align="center" prop="rowno"/>
+            <el-table-column label="物料编码" align="center" prop="material"/>
+            <el-table-column label="物料名称" align="center" prop="materialName"/>
             <el-table-column label="调拨出库单号" align="center" prop="code"/>
             <el-table-column label="调拨入库单号" align="center" prop="code"/>
             <el-table-column label="规格" align="center" prop="code"/>
-            <el-table-column label="生产厂家/代理人" align="center" prop="code"/>
-            <el-table-column label="产地" align="center" prop="code"/>
-            <el-table-column label="型号" align="center" prop="code"/>
-            <el-table-column label="类别" align="center" prop="code"/>
-            <el-table-column label="单位" align="center" prop="code"/>
-            <el-table-column label="调出仓库" align="center" prop="code"/>
-            <el-table-column label="数量" align="center" prop="code"/>
-            <el-table-column label="主单位" align="center" prop="code"/>
-            <el-table-column label="换算率" align="center" prop="code"/>
-            <el-table-column label="主数量" align="center" prop="code"/>
-            <el-table-column label="税率" align="center" prop="code"/>
-            <el-table-column label="调入仓库" align="center" prop="code"/>
-            <el-table-column label="批次号" align="center" prop="code"/>
-            <el-table-column label="产品批号" align="center" prop="code"/>
-            <el-table-column label="生产日期" align="center" prop="code"/>
-            <el-table-column label="有效期至/失效日期" align="center" prop="code"/>
-            <el-table-column label="批准文号" align="center" prop="code"/>
-            <el-table-column label="注册证号" align="center" prop="code"/>
-            <el-table-column label="商品名" align="center" prop="code"/>
-            <el-table-column label="通用名" align="center" prop="code"/>
-            <el-table-column label="剂型" align="center" prop="code"/>
-            <el-table-column label="调入调出结算规则明细" align="center" prop="code"/>
-            <el-table-column label="上市许可持有人" align="center" prop="code"/>
-            <el-table-column label="生产许可证号/经营许可证号/备案凭证号" align="center" prop="code"/>
-            <el-table-column label="pi码" align="center" prop="code"/>
-            <el-table-column label="无税金额" align="center" prop="code"/>
-            <el-table-column label="备注" align="center" prop="code"/>
-            <el-table-column label="客户物料码" align="center" prop="code"/>
-            <el-table-column label="客户物料名称" align="center" prop="code"/>
+            <el-table-column label="生产厂家/代理人" align="center" prop="manufacturer"/>
+            <el-table-column label="产地" align="center" prop="originPlace"/>
+            <el-table-column label="型号" align="center" prop="model"/>
+            <el-table-column label="单位" align="center" prop="unit"/>
+            <el-table-column label="调出仓库" align="center" prop="deliveryWarehouseName"/>
+            <el-table-column label="数量" align="center" prop="qty"/>
+            <el-table-column label="主单位" align="center" prop="mainUnit"/>
+            <el-table-column label="换算率" align="center" prop="equation"/>
+            <el-table-column label="主数量" align="center" prop="mainQty"/>
+            <el-table-column label="税率" align="center" prop="rate"/>
+            <el-table-column label="调入仓库" align="center" prop="storageWarehouseName"/>
+            <el-table-column label="批次号" align="center" prop="patchNo"/>
+            <el-table-column label="产品批号" align="center" prop="producBatch"/>
+            <el-table-column label="生产日期" align="center" prop="manufactureDate"/>
+            <el-table-column label="有效期至/失效日期" align="center" prop="periodEndDate"/>
+            <el-table-column label="批准文号" align="center" prop="ratifyCode"/>
+            <el-table-column label="注册证号" align="center" prop="registration"/>
+            <el-table-column label="商品名" align="center" prop="productCode"/>
+            <el-table-column label="通用名" align="center" prop="commonCode"/>
+            <el-table-column label="剂型" align="center" prop="drug"/>
+            <el-table-column label="调入调出结算规则明细" align="center" prop="ruleDetail"/>
+            <el-table-column label="上市许可持有人" align="center" prop="marketingApprovalPersonal"/>
+            <el-table-column label="生产许可证号/经营许可证号/备案凭证号" align="center" prop="production"/>
+            <el-table-column label="pi码" align="center" prop="pi"/>
+            <!-- <el-table-column label="无税金额" align="center" prop="code"/> -->
+            <!-- <el-table-column label="备注" align="center" prop="code"/> -->
+            <el-table-column label="客户物料码" align="center" prop="customerLogistic"/>
+            <el-table-column label="客户物料名称" align="center" prop="customerLogisticName"/>
             </el-table>
           </el-tab-pane>
 
@@ -393,35 +392,35 @@
             fit
             max-height="380"
             >
-            <el-table-column label="行号" align="center" prop="code"/>
-            <el-table-column label="调拨出库单号" align="center" prop="code"/>
-            <el-table-column label="调拨入库单号" align="center" prop="code"/>
-            <el-table-column label="生产厂家/代理人" align="center" prop="code"/>
-            <el-table-column label="产地" align="center" prop="code"/>
-            <el-table-column label="类别" align="center" prop="code"/>
-            <el-table-column label="调出仓库" align="center" prop="code"/>
-            <el-table-column label="调入仓库" align="center" prop="code"/>
-            <el-table-column label="收货利润中心" align="center" prop="code"/>
-            <el-table-column label="发货利润中心" align="center" prop="code"/>
-            <el-table-column label="调入业务员" align="center" prop="code"/>
-            <el-table-column label="产品批号" align="center" prop="code"/>
-            <el-table-column label="生产日期" align="center" prop="code"/>
-            <el-table-column label="有效期至/失效日期" align="center" prop="code"/>
-            <el-table-column label="批准文号" align="center" prop="code"/>
-            <el-table-column label="注册证号" align="center" prop="code"/>
-            <el-table-column label="商品名" align="center" prop="code"/>
-            <el-table-column label="通用名" align="center" prop="code"/>
-            <el-table-column label="剂型" align="center" prop="code"/>
-            <el-table-column label="收货客户" align="center" prop="code"/>
-            <el-table-column label="收货地址" align="center" prop="code"/>
-            <el-table-column label="收货地区" align="center" prop="code"/>
-            <el-table-column label="收货地点" align="center" prop="code"/>
-            <el-table-column label="计划发货日期" align="center" prop="code"/>
-            <el-table-column label="计划到货日期" align="center" prop="code"/>
-            <el-table-column label="运输方式" align="center" prop="code"/>
-            <el-table-column label="备注" align="center" prop="code"/>
-            <el-table-column label="客户物料编码" align="center" prop="code"/>
-            <el-table-column label="客户物料名称" align="center" prop="code"/>
+            <el-table-column label="行号" align="center" prop="rowno"/>
+            <el-table-column label="调拨出库单号" align="center" prop="deliveryCode"/>
+            <el-table-column label="调拨入库单号" align="center" prop="storageCode"/>
+            <el-table-column label="生产厂家/代理人" align="center" prop="manufacturer"/>
+            <el-table-column label="产地" align="center" prop="originPlace"/>
+            <el-table-column label="类别" align="center" prop="classify"/>
+            <el-table-column label="调出仓库" align="center" prop="deliveryWarehouseName"/>
+            <el-table-column label="调入仓库" align="center" prop="storageWarehouseName"/>
+            <!-- <el-table-column label="收货利润中心" align="center" prop="code"/>
+            <el-table-column label="发货利润中心" align="center" prop="code"/> -->
+            <el-table-column label="调入业务员" align="center" prop="businessPersonalName"/>
+            <el-table-column label="产品批号" align="center" prop="productBatch"/>
+            <el-table-column label="生产日期" align="center" prop="manufactureDate"/>
+            <el-table-column label="有效期至/失效日期" align="center" prop="periodEndDate"/>
+            <el-table-column label="批准文号" align="center" prop="ratifyCode"/>
+            <el-table-column label="注册证号" align="center" prop="registration"/>
+            <el-table-column label="商品名" align="center" prop="productCode"/>
+            <el-table-column label="通用名" align="center" prop="commonCode"/>
+            <el-table-column label="剂型" align="center" prop="drug"/>
+            <el-table-column label="收货客户" align="center" prop="customerName"/>
+            <el-table-column label="收货地址" align="center" prop="addressaddress"/>
+            <el-table-column label="收货地区" align="center" prop="area"/>
+            <el-table-column label="收货地点" align="center" prop="place"/>
+            <el-table-column label="计划发货日期" align="center" prop="deliveryDate"/>
+            <el-table-column label="计划到货日期" align="center" prop="strageDate"/>
+            <el-table-column label="运输方式" align="center" prop="transportation"/>
+            <el-table-column label="备注" align="center" prop="remark"/>
+            <el-table-column label="客户物料编码" align="center" prop="customerLogistic"/>
+            <el-table-column label="客户物料名称" align="center" prop="customerLogisticName"/>
             </el-table>
           </el-tab-pane>
 
@@ -431,31 +430,31 @@
             fit
             max-height="380"
             >
-            <el-table-column label="行号" align="center" prop="code"/>
-            <el-table-column label="调拨出库单号" align="center" prop="code"/>
-            <el-table-column label="调拨入库单号" align="center" prop="code"/>
-            <el-table-column label="生产厂家/代理人" align="center" prop="code"/>
-            <el-table-column label="产地" align="center" prop="code"/>
-            <el-table-column label="类别" align="center" prop="code"/>
-            <el-table-column label="税率" align="center" prop="code"/>
-            <el-table-column label="无税单价" align="center" prop="code"/>
-            <el-table-column label="含税单价" align="center" prop="code"/>
-            <el-table-column label="产品批号" align="center" prop="code"/>
-            <el-table-column label="生产日期" align="center" prop="code"/>
-            <el-table-column label="有效期至/失效日期" align="center" prop="code"/>
-            <el-table-column label="批准文号" align="center" prop="code"/>
-            <el-table-column label="注册证号" align="center" prop="code"/>
-            <el-table-column label="商品名" align="center" prop="code"/>
-            <el-table-column label="通用名" align="center" prop="code"/>
-            <el-table-column label="剂型" align="center" prop="code"/>
-            <el-table-column label="询价无税价" align="center" prop="code"/>
-            <el-table-column label="询价含税价" align="center" prop="code"/>
-            <el-table-column label="税额" align="center" prop="code"/>
-            <el-table-column label="加价率" align="center" prop="code"/>
-            <el-table-column label="无税金额" align="center" prop="code"/>
-            <el-table-column label="价税合计" align="center" prop="code"/>
-            <el-table-column label="客户物料码" align="center" prop="code"/>
-            <el-table-column label="客户物料名称" align="center" prop="code"/>
+            <el-table-column label="行号" align="center" prop="rowno"/>
+            <el-table-column label="调拨出库单号" align="center" prop="deliveryCode"/>
+            <el-table-column label="调拨入库单号" align="center" prop="storageCode"/>
+            <el-table-column label="生产厂家/代理人" align="center" prop="manufacturer"/>
+            <el-table-column label="产地" align="center" prop="originPlace"/>
+            <el-table-column label="类别" align="center" prop="classify"/>
+            <!-- <el-table-column label="税率" align="center" prop="code"/> -->
+            <!-- <el-table-column label="无税单价" align="center" prop="code"/> -->
+            <!-- <el-table-column label="含税单价" align="center" prop="code"/> -->
+            <el-table-column label="产品批号" align="center" prop="productBatch"/>
+            <el-table-column label="生产日期" align="center" prop="manufactureDate"/>
+            <el-table-column label="有效期至/失效日期" align="center" prop="periodEndDate"/>
+            <el-table-column label="批准文号" align="center" prop="ratifyCode"/>
+            <el-table-column label="注册证号" align="center" prop="registration"/>
+            <el-table-column label="商品名" align="center" prop="productCode"/>
+            <el-table-column label="通用名" align="center" prop="commonCode"/>
+            <el-table-column label="剂型" align="center" prop="drug"/>
+            <!-- <el-table-column label="询价无税价" align="center" prop="code"/> -->
+            <!-- <el-table-column label="询价含税价" align="center" prop="code"/> -->
+            <!-- <el-table-column label="税额" align="center" prop="code"/> -->
+            <!-- <el-table-column label="加价率" align="center" prop="code"/> -->
+            <!-- <el-table-column label="无税金额" align="center" prop="code"/> -->
+            <!-- <el-table-column label="价税合计" align="center" prop="code"/> -->
+            <el-table-column label="客户物料码" align="center" prop="customerLogistic"/>
+            <el-table-column label="客户物料名称" align="center" prop="customerLogisticName"/>
             </el-table>
           </el-tab-pane>
 
@@ -465,30 +464,30 @@
             fit
             max-height="380"
             >
-            <el-table-column label="行号" align="center" prop="code"/>
-            <el-table-column label="调拨出库单号" align="center" prop="code"/>
-            <el-table-column label="调拨入库单号" align="center" prop="code"/>
-            <el-table-column label="生产厂家/代理人" align="center" prop="code"/>
-            <el-table-column label="产地" align="center" prop="code"/>
-            <el-table-column label="类别" align="center" prop="code"/>
-            <el-table-column label="产品批号" align="center" prop="code"/>
-            <el-table-column label="生产日期" align="center" prop="code"/>
-            <el-table-column label="有效期至/失效日期" align="center" prop="code"/>
-            <el-table-column label="批准文号" align="center" prop="code"/>
-            <el-table-column label="注册证号" align="center" prop="code"/>
-            <el-table-column label="商品名" align="center" prop="code"/>
-            <el-table-column label="通用名" align="center" prop="code"/>
-            <el-table-column label="剂型" align="center" prop="code"/>
-            <el-table-column label="已调出主数量" align="center" prop="code"/>
-            <el-table-column label="已调入主数量" align="center" prop="code"/>
-            <el-table-column label="调拨在途主数量" align="center" prop="code"/>
-            <el-table-column label="已发货主数量" align="center" prop="code"/>
-            <el-table-column label="途损主数量" align="center" prop="code"/>
-            <el-table-column label="累计退货主数量" align="center" prop="code"/>
-            <el-table-column label="调出与调入已结算主数量" align="center" prop="code"/>
-            <el-table-column label="调出与调入已结算金额" align="center" prop="code"/>
-            <el-table-column label="客户物料码" align="center" prop="code"/>
-            <el-table-column label="客户物料名称" align="center" prop="code"/>
+            <el-table-column label="行号" align="center" prop="rowno"/>
+            <el-table-column label="调拨出库单号" align="center" prop="deliveryCode"/>
+            <el-table-column label="调拨入库单号" align="center" prop="storageCode"/>
+            <el-table-column label="生产厂家/代理人" align="center" prop="manufacturer"/>
+            <el-table-column label="产地" align="center" prop="originPlace"/>
+            <el-table-column label="类别" align="center" prop="classify"/>
+            <el-table-column label="产品批号" align="center" prop="productBatch	"/>
+            <el-table-column label="生产日期" align="center" prop="manufactureDate"/>
+            <el-table-column label="有效期至/失效日期" align="center" prop="periodEndDate"/>
+            <el-table-column label="批准文号" align="center" prop="ratifyCode"/>
+            <el-table-column label="注册证号" align="center" prop="registration"/>
+            <el-table-column label="商品名" align="center" prop="productCode"/>
+            <el-table-column label="通用名" align="center" prop="commonCode"/>
+            <el-table-column label="剂型" align="center" prop="drug"/>
+            <!-- <el-table-column label="已调出主数量" align="center" prop="code"/>
+            <el-table-column label="已调入主数量" align="center" prop="code"/> -->
+            <!-- <el-table-column label="调拨在途主数量" align="center" prop="code"/> -->
+            <!-- <el-table-column label="已发货主数量" align="center" prop="code"/> -->
+            <!-- <el-table-column label="途损主数量" align="center" prop="code"/> -->
+            <!-- <el-table-column label="累计退货主数量" align="center" prop="code"/> -->
+            <!-- <el-table-column label="调出与调入已结算主数量" align="center" prop="code"/> -->
+            <!-- <el-table-column label="调出与调入已结算金额" align="center" prop="code"/> -->
+            <el-table-column label="客户物料码" align="center" prop="customerLogistic"/>
+            <el-table-column label="客户物料名称" align="center" prop="customerLogisticName"/>
             </el-table>
           </el-tab-pane>
         </el-tabs>
@@ -509,6 +508,7 @@
 </template>
 
 <script>
+import {addOrder, getOrderDetail, editOrder} from '@/api/purchase/transferOrder.js'
 export default {
   name: 'addOder',
   props: ['pageStu','row', 'disable'],
@@ -524,7 +524,41 @@ export default {
       }, {
         value: '0', label: '否'
       }],
-      basicRules: {},
+      basicRules: {
+        billType: '',
+        code: '',
+        billDate	: '',
+        allotType: '',
+        deliveryCode: '',
+        storageCode: '',
+        storageInventoryOrg: '',
+        storageInventoryOrgName: '',
+        businessPersonal: '',
+        businessPersonalName: '',
+        deliveryDept: '',
+        deliveryDeptName: '',
+        currency: '',
+        currencyName: '',
+        rate: '',
+        onRouteAffilliation: '',
+        qty: '',
+        accountPath: '',
+        customer: '',
+        customerName: '',
+        deliveryWarehouse: '',
+        deliveryWarehouseName: '',
+        storageWarehouse: '',
+        storageWarehouseName: '',
+        materialProject: '',
+        sourceIdentification: '',
+        isSendWms: '',
+        status: '',
+        tenantId: '',
+        revision: '',
+        createByName: '',
+        updateByName: '',
+        delFlag: '',
+      },
       materialInfo: [],
       receiveInfo: [],
       priceList: [],
@@ -534,13 +568,37 @@ export default {
   created() {
     if(this.pageStu == 'check') {
       console.log('数据', this.row)
-      // this.getDetails(this.row)
+      this.getDetails(this.row)
     } else if(this.pageStu == 'edit') {
-      // this.getDetails(this.row)
+      this.getDetails(this.row)
     }
   },
   methods: {
-    save() {},
+    save() {
+      if(this.pageStu == 'add') {
+        this.basicForm.stAllotMaterialList = this.materialInfo
+        this.basicForm.stAllotReceiveDeliverList = this.receiveInfo
+        this.basicForm.stAllotReceiveExecuteList = this.priceList
+        this.basicForm.stAllotReceiveExpenseList = this.resultList
+        addOrder(this.basicForm).then(res => {
+          if (res.code === 200) {
+            this.$modal.msgSuccess("保存成功");
+            this.back()
+          }
+        })
+      } else if (this.pageStu == 'edit') {
+        this.basicForm.stAllotMaterialList = this.materialInfo
+        this.basicForm.stAllotReceiveDeliverList = this.receiveInfo
+        this.basicForm.stAllotReceiveExecuteList = this.priceList
+        this.basicForm.stAllotReceiveExpenseList = this.resultList
+        editOrder(this.basicForm).then(res => {
+          if (res.code === 200) {
+            this.$modal.msgSuccess("编辑成功");
+            this.back()
+          }
+        })
+      }
+    },
     back() {
       this.$emit('jugislist', true)
       let queryParams = {
@@ -549,6 +607,18 @@ export default {
       }
       this.$emit('refresh', queryParams)
     },
+    // 如果需要回显则调用详情接口
+    getDetails(row) {
+      getOrderDetail(row.id).then(res => {
+        if (res.code === 200) {
+          this.basicForm = res.data
+          // this.materialInfo = res.data.stAllotMaterialList
+          // this.receiveInfo = res.data.stAllotReceiveDeliverList
+          // this.priceList = res.data.stAllotReceiveExecuteList
+          // this.resultList = res.data.stAllotReceiveExpenseList
+        }
+      })
+    },
   }
 }
 </script>

+ 175 - 136
src/views/purchase/transferOrder/index.vue

@@ -18,7 +18,7 @@
             <el-form-item label="单据日期">
               <el-date-picker
                style="width: 240px"
-                v-model="queryParams.djrq"
+                v-model="queryParams.billDate"
                 type="daterange"
                 range-separator="至"
                 start-placeholder="开始日期"
@@ -73,7 +73,7 @@
             <el-col :span="1.5">
               <el-form-item label="调入库存组织">
                 <el-input
-                v-model="queryParams.drkuzz"
+                v-model="queryParams.storageInventoryOrg"
                 size="small"
                 placeholder=""
                 clearable
@@ -99,23 +99,23 @@
           max-height="680"
         >
           <el-table-column label="调出库存" align="center" prop="code"/>
-          <el-table-column label="订单类型" align="center" prop="code"/>
+          <el-table-column label="订单类型" align="center" prop="billType"/>
           <el-table-column label="单据号" align="center" prop="code"/>
-          <el-table-column label="单据日期" align="center" prop="code"/>
-          <el-table-column label="调拨方式" align="center" prop="code"/>
-          <el-table-column label="调拨出库单号" align="center" prop="code"/>
-          <el-table-column label="调拨入库单号" align="center" prop="code"/>
-          <el-table-column label="调拨入库组织" align="center" prop="code"/>
-          <el-table-column label="调出业务员" align="center" prop="code"/>
-          <el-table-column label="调出部门" align="center" prop="code"/>
-          <el-table-column label="币种" align="center" prop="code"/>
-          <el-table-column label="折本汇率" align="center" prop="code"/>
-          <el-table-column label="在途归属" align="center" prop="code"/>
-          <el-table-column label="总数量" align="center" prop="code"/>
-          <el-table-column label="结算路径" align="center" prop="code"/>
-          <el-table-column label="客户" align="center" prop="code"/>
-          <el-table-column label="调出仓库" align="center" prop="code"/>
-          <el-table-column label="调入仓库" align="center" prop="code"/>
+          <el-table-column label="单据日期" align="center" prop="billDate"/>
+          <el-table-column label="调拨方式" align="center" prop="allotType"/>
+          <el-table-column label="调拨出库单号" align="center" prop="deliveryCode"/>
+          <el-table-column label="调拨入库单号" align="center" prop="storageCode"/>
+          <el-table-column label="调拨入库组织" align="center" prop="storageInventoryOrgName"/>
+          <el-table-column label="调出业务员" align="center" prop="businessPersonalName"/>
+          <el-table-column label="调出部门" align="center" prop="deliveryDeptName"/>
+          <el-table-column label="币种" align="center" prop="currencyName"/>
+          <el-table-column label="折本汇率" align="center" prop="rate"/>
+          <el-table-column label="在途归属" align="center" prop="onRouteAffilliation"/>
+          <el-table-column label="总数量" align="center" prop="qty"/>
+          <el-table-column label="结算路径" align="center" prop="accountPath"/>
+          <el-table-column label="客户" align="center" prop="customerName"/>
+          <el-table-column label="调出仓库" align="center" prop="deliveryWarehouseName"/>
+          <el-table-column label="调入仓库" align="center" prop="storageWarehouseName"/>
           <el-table-column label="物流项目组" align="center" prop="code"/>
           <el-table-column label="利润中心" align="center" prop="code"/>
           <el-table-column label="已同步WMS" align="center" prop="code"/>
@@ -129,6 +129,18 @@
           <el-table-column label="创建时间" align="center" prop="code"/>
           <el-table-column label="最后修改人" align="center" prop="code"/>
           <el-table-column label="最后修改时间" align="center" prop="code"/>
+          <el-table-column
+          fixed="right"
+          label="操作"
+          align="center"
+          width="150"
+          >
+          <template slot-scope="scope">
+            <el-button type="text" size="small" @click="check(scope.row)">查看</el-button>
+            <el-button type="text" size="small" @click="edit(scope.row)">编辑</el-button>
+            <el-button type="text" size="small" @click="deleteids(scope.row)">删除</el-button>
+          </template>
+        </el-table-column>
         </el-table>
         <el-pagination
           @size-change="handleSizeChange"
@@ -147,41 +159,40 @@
             fit
             max-height="380"
             >
-            <el-table-column label="行号" align="center" prop="code"/>
-            <el-table-column label="物料编码" align="center" prop="code"/>
-            <el-table-column label="物料名称" align="center" prop="code"/>
+            <el-table-column label="行号" align="center" prop="rowno"/>
+            <el-table-column label="物料编码" align="center" prop="material"/>
+            <el-table-column label="物料名称" align="center" prop="materialName"/>
             <el-table-column label="调拨出库单号" align="center" prop="code"/>
             <el-table-column label="调拨入库单号" align="center" prop="code"/>
             <el-table-column label="规格" align="center" prop="code"/>
-            <el-table-column label="生产厂家/代理人" align="center" prop="code"/>
-            <el-table-column label="产地" align="center" prop="code"/>
-            <el-table-column label="型号" align="center" prop="code"/>
-            <el-table-column label="类别" align="center" prop="code"/>
-            <el-table-column label="单位" align="center" prop="code"/>
-            <el-table-column label="调出仓库" align="center" prop="code"/>
-            <el-table-column label="数量" align="center" prop="code"/>
-            <el-table-column label="主单位" align="center" prop="code"/>
-            <el-table-column label="换算率" align="center" prop="code"/>
-            <el-table-column label="主数量" align="center" prop="code"/>
-            <el-table-column label="税率" align="center" prop="code"/>
-            <el-table-column label="调入仓库" align="center" prop="code"/>
-            <el-table-column label="批次号" align="center" prop="code"/>
-            <el-table-column label="产品批号" align="center" prop="code"/>
-            <el-table-column label="生产日期" align="center" prop="code"/>
-            <el-table-column label="有效期至/失效日期" align="center" prop="code"/>
-            <el-table-column label="批准文号" align="center" prop="code"/>
-            <el-table-column label="注册证号" align="center" prop="code"/>
-            <el-table-column label="商品名" align="center" prop="code"/>
-            <el-table-column label="通用名" align="center" prop="code"/>
-            <el-table-column label="剂型" align="center" prop="code"/>
-            <el-table-column label="调入调出结算规则明细" align="center" prop="code"/>
-            <el-table-column label="上市许可持有人" align="center" prop="code"/>
-            <el-table-column label="生产许可证号/经营许可证号/备案凭证号" align="center" prop="code"/>
-            <el-table-column label="pi码" align="center" prop="code"/>
-            <el-table-column label="无税金额" align="center" prop="code"/>
-            <el-table-column label="备注" align="center" prop="code"/>
-            <el-table-column label="客户物料码" align="center" prop="code"/>
-            <el-table-column label="客户物料名称" align="center" prop="code"/>
+            <el-table-column label="生产厂家/代理人" align="center" prop="manufacturer"/>
+            <el-table-column label="产地" align="center" prop="originPlace"/>
+            <el-table-column label="型号" align="center" prop="model"/>
+            <el-table-column label="单位" align="center" prop="unit"/>
+            <el-table-column label="调出仓库" align="center" prop="deliveryWarehouseName"/>
+            <el-table-column label="数量" align="center" prop="qty"/>
+            <el-table-column label="主单位" align="center" prop="mainUnit"/>
+            <el-table-column label="换算率" align="center" prop="equation"/>
+            <el-table-column label="主数量" align="center" prop="mainQty"/>
+            <el-table-column label="税率" align="center" prop="rate"/>
+            <el-table-column label="调入仓库" align="center" prop="storageWarehouseName"/>
+            <el-table-column label="批次号" align="center" prop="patchNo"/>
+            <el-table-column label="产品批号" align="center" prop="producBatch"/>
+            <el-table-column label="生产日期" align="center" prop="manufactureDate"/>
+            <el-table-column label="有效期至/失效日期" align="center" prop="periodEndDate"/>
+            <el-table-column label="批准文号" align="center" prop="ratifyCode"/>
+            <el-table-column label="注册证号" align="center" prop="registration"/>
+            <el-table-column label="商品名" align="center" prop="productCode"/>
+            <el-table-column label="通用名" align="center" prop="commonCode"/>
+            <el-table-column label="剂型" align="center" prop="drug"/>
+            <el-table-column label="调入调出结算规则明细" align="center" prop="ruleDetail"/>
+            <el-table-column label="上市许可持有人" align="center" prop="marketingApprovalPersonal"/>
+            <el-table-column label="生产许可证号/经营许可证号/备案凭证号" align="center" prop="production"/>
+            <el-table-column label="pi码" align="center" prop="pi"/>
+            <!-- <el-table-column label="无税金额" align="center" prop="code"/> -->
+            <!-- <el-table-column label="备注" align="center" prop="code"/> -->
+            <el-table-column label="客户物料码" align="center" prop="customerLogistic"/>
+            <el-table-column label="客户物料名称" align="center" prop="customerLogisticName"/>
             </el-table>
           </el-tab-pane>
 
@@ -191,35 +202,35 @@
             fit
             max-height="380"
             >
-            <el-table-column label="行号" align="center" prop="code"/>
-            <el-table-column label="调拨出库单号" align="center" prop="code"/>
-            <el-table-column label="调拨入库单号" align="center" prop="code"/>
-            <el-table-column label="生产厂家/代理人" align="center" prop="code"/>
-            <el-table-column label="产地" align="center" prop="code"/>
-            <el-table-column label="类别" align="center" prop="code"/>
-            <el-table-column label="调出仓库" align="center" prop="code"/>
-            <el-table-column label="调入仓库" align="center" prop="code"/>
-            <el-table-column label="收货利润中心" align="center" prop="code"/>
-            <el-table-column label="发货利润中心" align="center" prop="code"/>
-            <el-table-column label="调入业务员" align="center" prop="code"/>
-            <el-table-column label="产品批号" align="center" prop="code"/>
-            <el-table-column label="生产日期" align="center" prop="code"/>
-            <el-table-column label="有效期至/失效日期" align="center" prop="code"/>
-            <el-table-column label="批准文号" align="center" prop="code"/>
-            <el-table-column label="注册证号" align="center" prop="code"/>
-            <el-table-column label="商品名" align="center" prop="code"/>
-            <el-table-column label="通用名" align="center" prop="code"/>
-            <el-table-column label="剂型" align="center" prop="code"/>
-            <el-table-column label="收货客户" align="center" prop="code"/>
-            <el-table-column label="收货地址" align="center" prop="code"/>
-            <el-table-column label="收货地区" align="center" prop="code"/>
-            <el-table-column label="收货地点" align="center" prop="code"/>
-            <el-table-column label="计划发货日期" align="center" prop="code"/>
-            <el-table-column label="计划到货日期" align="center" prop="code"/>
-            <el-table-column label="运输方式" align="center" prop="code"/>
-            <el-table-column label="备注" align="center" prop="code"/>
-            <el-table-column label="客户物料编码" align="center" prop="code"/>
-            <el-table-column label="客户物料名称" align="center" prop="code"/>
+            <el-table-column label="行号" align="center" prop="rowno"/>
+            <el-table-column label="调拨出库单号" align="center" prop="deliveryCode"/>
+            <el-table-column label="调拨入库单号" align="center" prop="storageCode"/>
+            <el-table-column label="生产厂家/代理人" align="center" prop="manufacturer"/>
+            <el-table-column label="产地" align="center" prop="originPlace"/>
+            <el-table-column label="类别" align="center" prop="classify"/>
+            <el-table-column label="调出仓库" align="center" prop="deliveryWarehouseName"/>
+            <el-table-column label="调入仓库" align="center" prop="storageWarehouseName"/>
+            <!-- <el-table-column label="收货利润中心" align="center" prop="code"/>
+            <el-table-column label="发货利润中心" align="center" prop="code"/> -->
+            <el-table-column label="调入业务员" align="center" prop="businessPersonalName"/>
+            <el-table-column label="产品批号" align="center" prop="productBatch"/>
+            <el-table-column label="生产日期" align="center" prop="manufactureDate"/>
+            <el-table-column label="有效期至/失效日期" align="center" prop="periodEndDate"/>
+            <el-table-column label="批准文号" align="center" prop="ratifyCode"/>
+            <el-table-column label="注册证号" align="center" prop="registration"/>
+            <el-table-column label="商品名" align="center" prop="productCode"/>
+            <el-table-column label="通用名" align="center" prop="commonCode"/>
+            <el-table-column label="剂型" align="center" prop="drug"/>
+            <el-table-column label="收货客户" align="center" prop="customerName"/>
+            <el-table-column label="收货地址" align="center" prop="addressaddress"/>
+            <el-table-column label="收货地区" align="center" prop="area"/>
+            <el-table-column label="收货地点" align="center" prop="place"/>
+            <el-table-column label="计划发货日期" align="center" prop="deliveryDate"/>
+            <el-table-column label="计划到货日期" align="center" prop="strageDate"/>
+            <el-table-column label="运输方式" align="center" prop="transportation"/>
+            <el-table-column label="备注" align="center" prop="remark"/>
+            <el-table-column label="客户物料编码" align="center" prop="customerLogistic"/>
+            <el-table-column label="客户物料名称" align="center" prop="customerLogisticName"/>
             </el-table>
           </el-tab-pane>
 
@@ -229,31 +240,31 @@
             fit
             max-height="380"
             >
-            <el-table-column label="行号" align="center" prop="code"/>
-            <el-table-column label="调拨出库单号" align="center" prop="code"/>
-            <el-table-column label="调拨入库单号" align="center" prop="code"/>
-            <el-table-column label="生产厂家/代理人" align="center" prop="code"/>
-            <el-table-column label="产地" align="center" prop="code"/>
-            <el-table-column label="类别" align="center" prop="code"/>
-            <el-table-column label="税率" align="center" prop="code"/>
-            <el-table-column label="无税单价" align="center" prop="code"/>
-            <el-table-column label="含税单价" align="center" prop="code"/>
-            <el-table-column label="产品批号" align="center" prop="code"/>
-            <el-table-column label="生产日期" align="center" prop="code"/>
-            <el-table-column label="有效期至/失效日期" align="center" prop="code"/>
-            <el-table-column label="批准文号" align="center" prop="code"/>
-            <el-table-column label="注册证号" align="center" prop="code"/>
-            <el-table-column label="商品名" align="center" prop="code"/>
-            <el-table-column label="通用名" align="center" prop="code"/>
-            <el-table-column label="剂型" align="center" prop="code"/>
-            <el-table-column label="询价无税价" align="center" prop="code"/>
-            <el-table-column label="询价含税价" align="center" prop="code"/>
-            <el-table-column label="税额" align="center" prop="code"/>
-            <el-table-column label="加价率" align="center" prop="code"/>
-            <el-table-column label="无税金额" align="center" prop="code"/>
-            <el-table-column label="价税合计" align="center" prop="code"/>
-            <el-table-column label="客户物料码" align="center" prop="code"/>
-            <el-table-column label="客户物料名称" align="center" prop="code"/>
+            <el-table-column label="行号" align="center" prop="rowno"/>
+            <el-table-column label="调拨出库单号" align="center" prop="deliveryCode"/>
+            <el-table-column label="调拨入库单号" align="center" prop="storageCode"/>
+            <el-table-column label="生产厂家/代理人" align="center" prop="manufacturer"/>
+            <el-table-column label="产地" align="center" prop="originPlace"/>
+            <el-table-column label="类别" align="center" prop="classify"/>
+            <!-- <el-table-column label="税率" align="center" prop="code"/> -->
+            <!-- <el-table-column label="无税单价" align="center" prop="code"/> -->
+            <!-- <el-table-column label="含税单价" align="center" prop="code"/> -->
+            <el-table-column label="产品批号" align="center" prop="productBatch"/>
+            <el-table-column label="生产日期" align="center" prop="manufactureDate"/>
+            <el-table-column label="有效期至/失效日期" align="center" prop="periodEndDate"/>
+            <el-table-column label="批准文号" align="center" prop="ratifyCode"/>
+            <el-table-column label="注册证号" align="center" prop="registration"/>
+            <el-table-column label="商品名" align="center" prop="productCode"/>
+            <el-table-column label="通用名" align="center" prop="commonCode"/>
+            <el-table-column label="剂型" align="center" prop="drug"/>
+            <!-- <el-table-column label="询价无税价" align="center" prop="code"/> -->
+            <!-- <el-table-column label="询价含税价" align="center" prop="code"/> -->
+            <!-- <el-table-column label="税额" align="center" prop="code"/> -->
+            <!-- <el-table-column label="加价率" align="center" prop="code"/> -->
+            <!-- <el-table-column label="无税金额" align="center" prop="code"/> -->
+            <!-- <el-table-column label="价税合计" align="center" prop="code"/> -->
+            <el-table-column label="客户物料码" align="center" prop="customerLogistic"/>
+            <el-table-column label="客户物料名称" align="center" prop="customerLogisticName"/>
             </el-table>
           </el-tab-pane>
 
@@ -263,30 +274,30 @@
             fit
             max-height="380"
             >
-            <el-table-column label="行号" align="center" prop="code"/>
-            <el-table-column label="调拨出库单号" align="center" prop="code"/>
-            <el-table-column label="调拨入库单号" align="center" prop="code"/>
-            <el-table-column label="生产厂家/代理人" align="center" prop="code"/>
-            <el-table-column label="产地" align="center" prop="code"/>
-            <el-table-column label="类别" align="center" prop="code"/>
-            <el-table-column label="产品批号" align="center" prop="code"/>
-            <el-table-column label="生产日期" align="center" prop="code"/>
-            <el-table-column label="有效期至/失效日期" align="center" prop="code"/>
-            <el-table-column label="批准文号" align="center" prop="code"/>
-            <el-table-column label="注册证号" align="center" prop="code"/>
-            <el-table-column label="商品名" align="center" prop="code"/>
-            <el-table-column label="通用名" align="center" prop="code"/>
-            <el-table-column label="剂型" align="center" prop="code"/>
-            <el-table-column label="已调出主数量" align="center" prop="code"/>
-            <el-table-column label="已调入主数量" align="center" prop="code"/>
-            <el-table-column label="调拨在途主数量" align="center" prop="code"/>
-            <el-table-column label="已发货主数量" align="center" prop="code"/>
-            <el-table-column label="途损主数量" align="center" prop="code"/>
-            <el-table-column label="累计退货主数量" align="center" prop="code"/>
-            <el-table-column label="调出与调入已结算主数量" align="center" prop="code"/>
-            <el-table-column label="调出与调入已结算金额" align="center" prop="code"/>
-            <el-table-column label="客户物料码" align="center" prop="code"/>
-            <el-table-column label="客户物料名称" align="center" prop="code"/>
+            <el-table-column label="行号" align="center" prop="rowno"/>
+            <el-table-column label="调拨出库单号" align="center" prop="deliveryCode"/>
+            <el-table-column label="调拨入库单号" align="center" prop="storageCode"/>
+            <el-table-column label="生产厂家/代理人" align="center" prop="manufacturer"/>
+            <el-table-column label="产地" align="center" prop="originPlace"/>
+            <el-table-column label="类别" align="center" prop="classify"/>
+            <el-table-column label="产品批号" align="center" prop="productBatch	"/>
+            <el-table-column label="生产日期" align="center" prop="manufactureDate"/>
+            <el-table-column label="有效期至/失效日期" align="center" prop="periodEndDate"/>
+            <el-table-column label="批准文号" align="center" prop="ratifyCode"/>
+            <el-table-column label="注册证号" align="center" prop="registration"/>
+            <el-table-column label="商品名" align="center" prop="productCode"/>
+            <el-table-column label="通用名" align="center" prop="commonCode"/>
+            <el-table-column label="剂型" align="center" prop="drug"/>
+            <!-- <el-table-column label="已调出主数量" align="center" prop="code"/>
+            <el-table-column label="已调入主数量" align="center" prop="code"/> -->
+            <!-- <el-table-column label="调拨在途主数量" align="center" prop="code"/> -->
+            <!-- <el-table-column label="已发货主数量" align="center" prop="code"/> -->
+            <!-- <el-table-column label="途损主数量" align="center" prop="code"/> -->
+            <!-- <el-table-column label="累计退货主数量" align="center" prop="code"/> -->
+            <!-- <el-table-column label="调出与调入已结算主数量" align="center" prop="code"/> -->
+            <!-- <el-table-column label="调出与调入已结算金额" align="center" prop="code"/> -->
+            <el-table-column label="客户物料码" align="center" prop="customerLogistic"/>
+            <el-table-column label="客户物料名称" align="center" prop="customerLogisticName"/>
             </el-table>
           </el-tab-pane>
         </el-tabs>
@@ -300,6 +311,7 @@
 <script>
 import Add from './add.vue'
 import CollapseTransition from '@/components/MyCollapse/collapse.vue'
+import {getOrderList, delOrder} from '@/api/purchase/transferOrder.js'
 export default {
   name: 'transferOrder',
   components: {
@@ -315,11 +327,11 @@ export default {
       page: '',
       queryParams: {
         dckczz: '',
-        djrq: '',
+        billDate: '',
         jylx: '',
         chkczz: '',
         code: '',
-        drkuzz: '',
+        storageInventoryOrg: '',
         pageNum: 1,
         pageSize: 10
       },
@@ -339,20 +351,47 @@ export default {
       ids: []
     }
   },
+  created() {
+    this.getList(this.queryParams)
+  },
   methods: {
     getList(params){
-      // getDemandList(params).then(res => {
-      //   if (res.code === 200) {
-      //     this.tableList = res.rows
-      //     this.total = res.total
-      //   }
-      // })
+      getOrderList(params).then(res => {
+        if (res.code === 200) {
+          this.tableList = res.rows
+          this.total = res.total
+        }
+      })
     },
     addOrder() {
       this.isList = false
       this.page = 'add'
       this.disable = false
     },
+    check(row) {
+      this.isList = false
+      this.page = 'check'
+      this.rowDetail = row
+      this.disable = true
+    },
+    edit(row) {
+      this.isList = false
+      this.page = 'edit'
+      this.rowDetail = row
+      this.disable = false
+    },
+    // 行内删除
+    deleteids(row) {
+      console.log('row', row)
+      this.$modal.confirm('确认信息').then(() => {
+        delOrder(row.id).then(res => {
+          if (res.code === 200) {
+            this.$modal.msgSuccess("删除成功");
+            this.getList(this.queryParams)
+          }
+        })
+        }).catch(() => {})
+    },
     handleSizeChange(val) {
       console.log(`每页 ${val} 条`);
       this.queryParams.pageSize = val

Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff