yusheng 1 год назад
Родитель
Сommit
a38b40bc90

+ 0 - 1
src/BIZComponents/inventoryTableDetails.vue

@@ -546,7 +546,6 @@
       },
       //修改回显
       async putTableValue(data) {
-        console.log(data, 'dasdas');
         let productList =
           (data &&
             (data.quoteProductList || data.productList || data.detailList)) ||

+ 1 - 5
src/components/bpmnProcessDesigner/package/theme/element-variables.scss

@@ -31,11 +31,7 @@ span:focus {
   overflow-y: auto;
 }
 
-.el-dialog {
-  margin-top: 50vh !important;
-  transform: translateY(-50%);
-  overflow: hidden;
-}
+
 .el-dialog__wrapper {
   overflow: hidden;
   max-height: 100vh;

+ 5 - 1
src/styles/transition/common.scss

@@ -167,11 +167,15 @@
   }
 }
 
-
 .el-dialog {
   margin-top: 5vh !important;
 }
+.el-dialog__body {
+  max-height: calc(100vh - 129px);
+  padding-bottom: 30px;
+  overflow: auto;
 
+}
 .el-table--medium .el-table__cell {
   padding: 2px 0 !important;
 }

+ 22 - 12
src/views/bpm/handleTask/components/saleOrder/detailDialog.vue

@@ -134,15 +134,15 @@
                   ? '生产性订单'
                   : form.needProduce == 2
                   ? '生产性订单'
-                  : form.needProduce == 3
-                  ? '不定订单'
+                  : form.needProduce == 4
+                  ? '不定订单'
                   : '库存式订单'
               }}
             </el-form-item>
             <el-form-item
               label="总数"
               prop="totalPlanNum"
-              v-if="form.needProduce == 3"
+              v-if="form.needProduce == 4"
             >
               {{ form.totalPlanNum }}
               {{ form.planNumUnit }}
@@ -279,13 +279,20 @@
         </el-row>
       </el-form>
 
-      <headerTitle title="物品清单"></headerTitle>
+      <headerTitle title="物品清单" v-if="form.needProduce != 4"></headerTitle>
       <inventoryTabledetail
-        v-if="form.needProduce != 3"
+        v-if="form.needProduce != 4"
         ref="inventoryTabledetailRef"
         :isCustomerMark="true"
         :isDiscountTotalPrice="true"
       ></inventoryTabledetail>
+      <headerTitle title="类型清单" v-if="form.needProduce == 4"></headerTitle>
+
+      <typeList
+        v-if="form.needProduce == 4"
+        ref="typeListRef"
+        type="view"
+      ></typeList>
     </div>
     <!-- <div v-if="activeComp=='invoice'">
       <invoiceList :orderId="detailId"></invoiceList>
@@ -310,15 +317,14 @@
   import { copyObj } from '@/utils/util';
   import inventoryTabledetail from '@/BIZComponents/inventoryTableDetails.vue';
   import fileMain from '@/components/addDoc/index.vue';
-
+  import typeList from './typeList.vue';
+  
   export default {
     mixins: [dictMixins],
     components: {
       fileMain,
-      inventoryTabledetail
-      // invoiceList,
-      // returnGoodsList,
-      // accountstatementList
+      inventoryTabledetail,
+      typeList
     },
     props: {
       businessId: {
@@ -540,8 +546,12 @@
         if (data) {
           this.form = data;
           this.detailData = data;
-          this.$refs.inventoryTabledetailRef &&
-            this.$refs.inventoryTabledetailRef.putTableValue(data);
+          this.$nextTick(() => {
+            this.$refs.inventoryTabledetailRef &&
+              this.$refs.inventoryTabledetailRef.putTableValue(data);
+            this.$refs.typeListRef &&
+              this.$refs.typeListRef.putTableValue(data.typedetailList);
+          });
         }
       }
     }

+ 220 - 0
src/views/bpm/handleTask/components/saleOrder/typeList.vue

@@ -0,0 +1,220 @@
+<template>
+  <el-form ref="form" :model="form">
+    <ele-pro-table
+      ref="table"
+      :needPage="false"
+      :columns="columns"
+      :datasource="form.datasource"
+      class="time-form"
+      max-height="300"
+      :toolkit="[]"
+    >
+      <!-- 表头工具栏 -->
+      <template v-slot:toolbar>
+        <div class="headbox">
+          <div>
+            <el-button
+              size="small"
+              type="primary"
+              icon="el-icon-plus"
+              class="ele-btn-icon"
+              @click="handlAdd"
+              v-if="type!='view'"
+            >
+              新增
+            </el-button>
+          </div>
+          <div class="pricebox">
+            <span class="amount">总计:{{ allPrice }}元</span>
+          </div>
+        </div>
+      </template>
+
+    </ele-pro-table>
+
+  </el-form>
+</template>
+<script>
+  import dictMixins from '@/mixins/dictMixins';
+  export default {
+    mixins: [dictMixins],
+    props: {
+      type:{
+        default:''
+      }
+    },
+    data() {
+      const defaultForm = {
+        measuringUnit: '立方'
+      };
+      return {
+        allPrice: 0,
+        defaultForm,
+        form: {
+          datasource: []
+        }
+      };
+    },
+    
+    computed: {
+      columns() {
+        return [
+          {
+            width: 45,
+            type: 'index',
+            columnKey: 'index',
+            align: 'center',
+            fixed: 'left'
+          },
+
+          {
+            prop: 'categoryLevelPathName',
+            label: '类型',
+            slot: 'categoryLevelPathName',
+            align: 'center'
+          },
+
+          {
+            width: 200,
+            prop: 'totalCount',
+            label: '数量',
+            slot: 'totalCount',
+            headerSlot: 'headerTotalCount',
+            align: 'center'
+          },
+          {
+            width: 160,
+            prop: 'sendTotelCount',
+            label: '发货数量',
+            align: 'center',
+            show:this.type=='view'
+          },
+          {
+            width: 160,
+            prop: 'returnTotelCount',
+            label: '退货数量',
+            align: 'center',
+            show:this.type=='view'
+
+          },
+          // {
+          //   width: 200,
+          //   prop: 'totalCount',
+          //   label: '受托数量',
+          //   slot: 'totalCount',
+          //   headerSlot: 'headerTotalCount',
+          //   align: 'center'
+          // },
+
+          {
+            width: 150,
+            prop: 'measuringUnit',
+            label: '单位',
+            slot: 'measuringUnit',
+            align: 'center'
+          },
+          {
+            width: 200,
+            prop: 'singlePrice',
+            label: '单价',
+            slot: 'singlePrice',
+            headerSlot: 'headerSinglePrice',
+            align: 'center'
+          },
+
+          {
+            width: 180,
+            prop: 'totalPrice',
+            label: '合计',
+            slot: 'totalPrice',
+            align: 'center'
+          },
+
+          {
+            columnKey: 'action',
+            label: '操作',
+            width: 120,
+            align: 'center',
+            resizable: false,
+            slot: 'action',
+            fixed: 'right',
+            showOverflowTooltip: true
+          }
+        ];
+      }
+    },
+
+    methods: {
+      // 返回列表数据
+      getTableValue() {
+        let comitDatasource = this.form.datasource;
+        if (comitDatasource.length === 0) return [];
+
+        return comitDatasource;
+      },
+      getPrice() {
+        return [this.allPrice, this.allPrice];
+      },
+
+
+      //修改回显
+      async putTableValue(productList) {
+        if (productList) {
+          this.form.datasource = productList;
+          this.$refs.table.reload();
+        }
+      },
+
+    }
+  };
+</script>
+<style lang="scss" scoped>
+  .headbox {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+
+    .amount {
+      font-size: 14px;
+      font-weight: bold;
+      padding-right: 30px;
+    }
+  }
+
+  .time-form .el-form-item {
+    margin-bottom: 0 !important;
+  }
+
+  ::v-deep .period {
+    display: flex;
+
+    .borderleftnone {
+      .el-input--medium .el-input__inner {
+        border-top-right-radius: 0;
+        border-bottom-right-radius: 0;
+      }
+    }
+
+    .borderrightnone {
+      .el-input--medium .el-input__inner {
+        border-top-left-radius: 0;
+        border-bottom-left-radius: 0;
+      }
+    }
+  }
+
+  ::v-deep .time-form tbody > tr:hover > td {
+    background-color: transparent !important;
+  }
+
+  ::v-deep .time-form .el-table tr {
+    background-color: #ffffff;
+  }
+
+  .pricebox {
+    display: flex;
+    justify-content: flex-start;
+    align-items: center;
+    font-weight: bold;
+  }
+</style>

+ 6 - 11
src/views/bpm/handleTask/index.vue

@@ -1,19 +1,15 @@
 <template>
-  <el-dialog
+  <ele-modal
   
     :before-close="handleClose"
     :visible.sync="dialogVisible"
     :close-on-click-modal="false"
     :append-to-body="true"
     width="80%"
-    :fullscreen="fullscreen"
+    title="处理"
+    :maxable="true"
   >
-    <template slot="title">
-      <modalTitle
-      title="处理"
-        @setFullscreen="fullscreen = !fullscreen"
-      ></modalTitle>
-    </template>
+
     <div class="app-container">
       <!-- 申请信息 -->
       <el-card class="box-card" v-loading="processInstanceLoading">
@@ -314,7 +310,7 @@
         </span>
       </el-dialog>
     </div>
-  </el-dialog>
+  </ele-modal>
 </template>
 
 <script>
@@ -335,7 +331,6 @@
   } from '@/api/bpm/task';
   import { getProcessDefinitionBpmnXML } from '@/api/bpm/definition';
   import { getActivityList } from '@/api/bpm/activity';
-  import modalTitle from '@/BIZComponents/modalTitle.vue';
 
   // import { getDate } from '@/utils/dateUtils';
 
@@ -343,7 +338,7 @@
   export default {
     name: 'ProcessInstanceDetail',
     components: {
-      modalTitle
+      
     },
     data() {
       return {