yusheng hai 1 ano
pai
achega
e568475375

+ 43 - 0
src/BIZComponents/modalTitle.vue

@@ -0,0 +1,43 @@
+<template>
+ <div  class="modalTitle">
+        <span>
+          {{ title }}
+        </span>
+        <i style="font-size: 20px;" class="el-icon-full-screen" @click="fullscreen"></i>
+      </div>
+</template>
+
+<script>
+
+  export default {
+    components: {},
+    props:{
+      title:""
+    },
+    data() {
+      return {
+        
+      };
+    },
+
+    methods:{
+      fullscreen(){
+        this.$emit('setFullscreen')
+      }
+    }
+  };
+</script>
+
+<style lang="scss" scoped>
+  .modalTitle{
+  width: 100%;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  font-size: 16px;
+  i{
+    margin-right: 15px;
+    cursor: pointer;
+  }
+}
+</style>

+ 184 - 169
src/views/bpm/handleTask/components/saleOrder/customerReturnGoods/customerReturnOrder.vue

@@ -256,11 +256,8 @@
               </el-form-item>
             </template>
             <template v-slot:unqualifiedReasonAnalysisView="{ row, $index }">
-              <el-form-item
-              
-              >
-        
-                <div >{{ row.unqualifiedReasonAnalysis }}</div>
+              <el-form-item>
+                <div>{{ row.unqualifiedReasonAnalysis }}</div>
               </el-form-item>
             </template>
             <template v-slot:headerUnqualifiedReasonAnalysis="{ column }">
@@ -300,10 +297,7 @@
               </el-form-item>
             </template>
             <template v-slot:unqualifiedTypeView="{ row, $index }">
-              <el-form-item
-              
-              >
-               
+              <el-form-item>
                 <div>{{ row.unqualifiedTypeName }}</div>
               </el-form-item>
             </template>
@@ -335,10 +329,7 @@
               <span class="is-required">{{ column.label }}</span>
             </template>
             <template v-slot:handleOpinionView="{ row, $index }">
-              <el-form-item
-               
-              >
-               
+              <el-form-item>
                 <div>{{ row.handleOpinion }}</div>
               </el-form-item>
             </template>
@@ -377,9 +368,8 @@
                 <el-input
                   v-if="isTrue && row.inOrOut == 2"
                   v-model="row.outerInfo"
-
                 ></el-input>
-                
+
                 <div v-else>{{ row.outerInfo }}</div>
               </el-form-item>
             </template>
@@ -409,6 +399,14 @@
             <template v-slot:headerImproveOpinion="{ column }">
               <span class="is-required">{{ column.label }}</span>
             </template>
+            <template v-slot:technicalDrawings="scope">
+          <el-form-item
+            style="margin-bottom: 20px"
+            :prop="'detailList.' + scope.$index + '.technicalDrawings'"
+          >
+            <fileMain v-model="scope.row.technicalDrawings" type="view"></fileMain>
+          </el-form-item>
+        </template>
             <!--////-->
           </ele-pro-table>
         </el-form>
@@ -419,15 +417,19 @@
           :returnDetailsForm="form"
         ></inbound-details> -->
         <add
-        ref="add"
-        :form="form"
-        v-if="isShowReturnOrder&&taskDefinitionKey=='storeman'"
-        :bizType="6"
-        :sourceBizNo="form.returnHandleNo"
-        :detailList="detailList"
-      ></add>
+          ref="add"
+          :form="form"
+          v-if="isShowReturnOrder && taskDefinitionKey == 'storeman'"
+          :bizType="6"
+          :sourceBizNo="form.returnHandleNo"
+          :detailList="detailList"
+        ></add>
 
-      <inboundDetails :businessId="form.returnInReceiptId"  :isInterior="true"    v-if="isShowReturnOrder&&taskDefinitionKey!='storeman'" ></inboundDetails>
+        <inboundDetails
+          :businessId="form.returnInReceiptId"
+          :isInterior="true"
+          v-if="isShowReturnOrder && taskDefinitionKey != 'storeman'"
+        ></inboundDetails>
       </el-tab-pane>
     </el-tabs>
 
@@ -457,6 +459,7 @@
   import { EventBus } from './eventBus.js';
   import { mapActions, mapGetters } from 'vuex';
   import dictEnum from '@/enum/dict';
+  import fileMain from '@/components/addDoc/index.vue';
 
   export default {
     name: 'customerReturnOrder',
@@ -482,7 +485,7 @@
         default: false
       }
     },
-    components: { outboundDetailsDialog, headList, inboundDetails,add },
+    components: { outboundDetailsDialog, headList, inboundDetails, add,fileMain },
     data() {
       return {
         activeName: '退货物品明细',
@@ -495,133 +498,147 @@
         form: {
           detailList: []
         },
-        detailList:[],
+        detailList: [],
         rules: {}
       };
     },
     computed: {
       columns() {
         let basicFields = [
-        {
-          width: 45,
-          type: 'index',
-          columnKey: 'index',
-          align: 'center',
-          fixed: 'left'
-        },
-        {
-          minWidth: 120,
-          prop: 'productName',
-          label: '名称',
-          align: 'center',
-        },
-        {
-          minWidth: 120,
-          prop: 'productCode',
-          label: '编码',
-          align: 'center',
-        },
-   
-        {
-          minWidth: 120,
-          prop: 'specification',
-          label: '规格',
-          align: 'center',
-          slot: 'specification'
-        },
-        {
-          minWidth: 120,
-          prop: 'batchNo',
-          label: '批次号',
-          align: 'center',
-        },
-        {
-          minWidth: 120,
-          prop: 'barcodes',
-          label: '发货条码',
-          align: 'center',
-        },   {
-          minWidth: 120,
-          prop: 'packageNo',
-          label: '包装编码',
-          align: 'center',
-        },
-        {
-          minWidth: 80,
-          prop: 'packageCount',
-          label: '包装数量',
-          align: 'center',
-          // slot: 'packageCount',
-          headerSlot: 'headerPackingCount'
-        },
-        {
-          minWidth: 80,
-          prop: 'packingUnit',
-          label: '单位',
-          align: 'center',
-          slot: 'packingUnit'
-        },
-        {
-          minWidth: 80,
-          prop: 'measurementCount',
-          label: '计量数量',
-          align: 'center',
-          // slot: 'measurementCount',
-          headerSlot: 'headerCount'
-        },
-        {
-          minWidth: 80,
-          prop: 'measurementUnit',
-          label: '计量单位',
-          align: 'center',
-          slot: 'measuringUnit'
-        },
-        {
-          minWidth: 80,
-          prop: 'weight',
-          label: '重量',
-          align: 'center',
-          // slot: 'weight',
-          headerSlot: 'headerWeight'
-        },
-        {
-          minWidth: 80,
-          prop: 'weightUnit',
-          label: '重量单位',
-          align: 'center',
-          slot: 'weightUnit'
-        },
-        {
-          minWidth: 80,
-          prop: 'carveCode',
-          label: '刻码',
-          // slot: 'carveCode',
-          align: 'center',
-          headerSlot: 'headerEngrave'
-        },
-        {
-          minWidth: 140,
-          prop: 'reason',
-          label: '客户退货理由',
-          align: 'center',
-          slot: 'reason',
-          headerSlot: 'headerReason'
-        },
-        {
-          minWidth: 180,
-          prop: 'feedbackDate',
-          label: '客户反馈日期',
-          align: 'center',
-          slot: 'feedbackDate'
-        },
-        {
-          minWidth: 180,
-          prop: 'sendDate',
-          label: '客户发出日期',
-          slot: 'sendDate',
-          align: 'center',
-          headerSlot: 'headerSendDate'
-        },
+          {
+            width: 45,
+            type: 'index',
+            columnKey: 'index',
+            align: 'center',
+            fixed: 'left'
+          },
+          {
+            minWidth: 120,
+            prop: 'productName',
+            label: '名称',
+            align: 'center'
+          },
+          {
+            minWidth: 120,
+            prop: 'productCode',
+            label: '编码',
+            align: 'center'
+          },
+
+          {
+            minWidth: 120,
+            prop: 'specification',
+            label: '规格',
+            align: 'center',
+            slot: 'specification'
+          },
+          {
+            minWidth: 120,
+            prop: 'batchNo',
+            label: '批次号',
+            align: 'center'
+          },
+          {
+            minWidth: 120,
+            prop: 'barcodes',
+            label: '发货条码',
+            align: 'center'
+          },
+          {
+            minWidth: 120,
+            prop: 'packageNo',
+            label: '包装编码',
+            align: 'center'
+          },
+          {
+            minWidth: 80,
+            prop: 'packageCount',
+            label: '包装数量',
+            align: 'center',
+            // slot: 'packageCount',
+            headerSlot: 'headerPackingCount'
+          },
+          {
+            minWidth: 80,
+            prop: 'packingUnit',
+            label: '单位',
+            align: 'center',
+            slot: 'packingUnit'
+          },
+          {
+            minWidth: 80,
+            prop: 'measurementCount',
+            label: '计量数量',
+            align: 'center',
+            // slot: 'measurementCount',
+            headerSlot: 'headerCount'
+          },
+          {
+            minWidth: 80,
+            prop: 'measurementUnit',
+            label: '计量单位',
+            align: 'center',
+            slot: 'measuringUnit'
+          },
+          {
+            minWidth: 80,
+            prop: 'weight',
+            label: '重量',
+            align: 'center',
+            // slot: 'weight',
+            headerSlot: 'headerWeight'
+          },
+          {
+            minWidth: 80,
+            prop: 'weightUnit',
+            label: '重量单位',
+            align: 'center',
+            slot: 'weightUnit'
+          },
+          {
+            width: 240,
+            prop: 'technologyRouteName',
+            label: '工艺路线',
+            align: 'center'
+          },
+          {
+            width: 240,
+            prop: 'technicalDrawings',
+            label: '技术图纸',
+            slot: 'technicalDrawings',
+            align: 'center'
+          },
+          {
+            minWidth: 80,
+            prop: 'carveCode',
+            label: '刻码',
+            // slot: 'carveCode',
+            align: 'center',
+            headerSlot: 'headerEngrave'
+          },
+          {
+            minWidth: 140,
+            prop: 'reason',
+            label: '客户退货理由',
+            align: 'center',
+            slot: 'reason',
+            headerSlot: 'headerReason'
+          },
+          {
+            minWidth: 180,
+            prop: 'feedbackDate',
+            label: '客户反馈日期',
+            align: 'center',
+            slot: 'feedbackDate'
+          },
+          {
+            minWidth: 180,
+            prop: 'sendDate',
+            label: '客户发出日期',
+            slot: 'sendDate',
+            align: 'center',
+            headerSlot: 'headerSendDate'
+          }
         ];
         let processNodes = {
           //发起人
@@ -838,21 +855,20 @@
               prop: 'unqualifiedReasonAnalysis',
               label: '不合格原因分析',
               align: 'center',
-              slot: 'unqualifiedReasonAnalysisView',
+              slot: 'unqualifiedReasonAnalysisView'
             },
             {
               minWidth: 250,
               prop: 'unqualifiedTypeName',
               label: '不合格类型',
-              align: 'center',
-            
+              align: 'center'
             },
             {
               minWidth: 250,
               prop: 'handleOpinion',
               label: '对不合格品的处理意见',
               align: 'center',
-              slot: 'handleOpinionView',
+              slot: 'handleOpinionView'
             }
           ],
           //质检员反馈
@@ -971,24 +987,24 @@
               });
             }
           }
-          let totalCount=0
-          this.detailList=this.form.detailList.map(item=>{
-          item['outType']=item.outboundType
-          item['categoryName']=item.productName
-          item['categoryCode']=item.productCode
-          item['packingQuantity']=item.packageCount
-          item['quantity']=item.measurementCount
-          item['measuringUnit']=item.measurementUnit
-          item['categoryId']=item.productCategoryId
-          item['engrave']=item.carveCode
-          item['categoryName']=item.productCategoryName
-          totalCount+=item.measurementCount
-          return item
-          })
-          this.form.totalCount=totalCount
-          this.form['warehouseId']=this.detailList[0].warehouseId
-          this.form['warehouseName']= this.detailList[0].warehouseName
-         
+          let totalCount = 0;
+          this.detailList = this.form.detailList.map((item) => {
+            item['outType'] = item.outboundType;
+            item['categoryName'] = item.productName;
+            item['categoryCode'] = item.productCode;
+            item['packingQuantity'] = item.packageCount;
+            item['quantity'] = item.measurementCount;
+            item['measuringUnit'] = item.measurementUnit;
+            item['categoryId'] = item.productCategoryId;
+            item['engrave'] = item.carveCode;
+            item['categoryName'] = item.productCategoryName;
+            totalCount += item.measurementCount;
+            return item;
+          });
+          this.form.totalCount = totalCount;
+          this.form['warehouseId'] = this.detailList[0].warehouseId;
+          this.form['warehouseName'] = this.detailList[0].warehouseName;
+
           // this.form.detailList.forEach((item) => {
           //   if (item.outboundType == 1) {
           //     let find =
@@ -1070,8 +1086,7 @@
                 detailList: this.form.detailList,
                 returnRecordId: this.form.returnRecordId,
                 id: this.form.id,
-                returnStorageData:
-                  await this.$refs.add?.getReturnStorage()
+                returnStorageData: await this.$refs.add?.getReturnStorage()
               };
               resolve(params);
             }

+ 2 - 2
src/views/bpm/handleTask/components/saleOrder/customerReturnGoods/repair-tabs-page.vue

@@ -192,7 +192,7 @@
             };
           case 'innerInQC':
             return {
-              businessId: this.businessId
+              businessId: this.form.innerInReceiptId
             };
           case 'outerFillWeight':
             return {
@@ -202,7 +202,7 @@
             };
           case 'innerFillWeight':
             return {
-              businessId: this.businessId,
+              businessId: this.form.innerInReceiptId,
               qualityInspectionItems: ['weight']
             };
         }

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

@@ -6,7 +6,14 @@
     :close-on-click-modal="false"
     :append-to-body="true"
     width="80%"
+    :fullscreen="fullscreen"
   >
+    <template slot="title">
+      <modalTitle
+        :title="title"
+        @setFullscreen="fullscreen = !fullscreen"
+      ></modalTitle>
+    </template>
     <div class="app-container">
       <!-- 申请信息 -->
       <el-card class="box-card" v-loading="processInstanceLoading">
@@ -323,16 +330,19 @@
   } 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';
 
   // 流程实例的详情页,可用于审批
   export default {
     name: 'ProcessInstanceDetail',
     components: {
-      //   Parser
+      modalTitle
     },
     data() {
       return {
+        fullscreen:false,
         // 遮罩层
         processInstanceLoading: true,
         dialogVisible: false,