Przeglądaj źródła

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

002201 1 rok temu
rodzic
commit
5632d860a0

+ 19 - 0
src/api/business/purchase/purchase-order.js

@@ -118,6 +118,22 @@ const REFER = (data, params) => {
     params: params,
   });
 }
+// 获取入库数据
+const putInStorage = (data) =>{
+  return request({
+    url: "/pu/order/putInStorage",
+    method: "POST",
+    data: data,
+  });
+}
+// 获取入库数据
+const returnedGoods = (data) =>{
+  return request({
+    url: "/pu/order/returnedGoods",
+    method: "POST",
+    data: data,
+  });
+}
 
 export default {
   list,
@@ -133,5 +149,8 @@ export default {
   toNc,
   payRequest,
   REFER,
+  putInStorage,
+  returnedGoods,
+
 
 }

+ 40 - 23
src/views/material/basicFile/details.vue

@@ -160,11 +160,13 @@
                         <el-form-item v-else-if="f.attribute == 'select'"
                           :id="(updateButtonGroup && f.apiUrl) ? 'selected' : ''"
                           :prop="f.apiUrl ? `${f.prop}Name` : f.prop"
+                          :rules="[{ required: f.required ,message: `请选择${f.name}`, trigger: 'change' }]"
                         >
                           <template slot="label">
                             <el-tooltip class="item" effect="dark" placement="top-start" :disabled="f.name.length < 10">
                               
-                              <span :class="(f.apiUrl && f.required) ? 'redSpan': ''">{{ f.name }}</span>
+                              <!-- <span :class="(f.apiUrl && f.required) ? 'redSpan': ''">{{ f.name }}</span> -->
+                              <span>{{ f.name }}</span>
 
                               <div slot="content">
                                 <p> {{ f.name }}</p>
@@ -257,8 +259,13 @@
 
                   <template #tabContent>
 
-                    <el-form v-if="activeViceTab == 'material_medcine'" :inline="true" label-position="right"
-                             :hide-required-asterisk="true" :model="medcineData.value" class="md-vice-content">
+                    <el-form v-if="activeViceTab == 'material_medcine'" 
+                      :inline="true" 
+                      label-position="right"
+                      :model="medcineData.value" 
+                      class="md-vice-content"
+                      :rules="medcineRules"
+                    >
 
                       <el-row :gutter="10">
                         <el-col :span="8" v-for="m in medcineData.form" style="text-align: right;">
@@ -267,32 +274,39 @@
                           <template v-if="m.show">
 
                             <!-- 多选框 -->
-                            <el-form-item v-if="m.attribute == 'checkbox'">
-                              <el-checkbox :label="m.name" name="type" v-model="medcineData.value[m.prop]" size="mini"
-                                           :disabled="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')"
-                                           true-label="0" false-label="2">
+                            <el-form-item v-if="m.attribute == 'checkbox'" :prop="m.prop">
+                              <el-checkbox 
+                                :label="m.name" name="type" v-model="medcineData.value[m.prop]" size="mini"
+                                :disabled="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')"
+                                true-label="0" false-label="2">
                               </el-checkbox>
                             </el-form-item>
 
                             <!-- 下拉框 -->
-                            <el-form-item v-else-if="m.attribute == 'select'" :label="m.name">
+                            <el-form-item v-else-if="m.attribute == 'select'" 
+                              :label="m.name" 
+                              :prop="m.apiUrl ?`${m.prop}Name`: m.prop"
+                              :rules="[{ required: m.required ,message: `请选择${m.name}`, trigger: 'change' }]"
+                            >
 
                               <!-- 参照弹窗 -->
-                              <el-select v-if="m.apiUrl" v-model="medcineData.value[`${m.prop}Name`]" placeholder="请选择"
-                                         :key="medcineData.value[m.prop]" size="mini"
-                                         :disabled="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')"
-                                         @focus="m.apiUrl && handleQueryMore(m, '', { name: 'medcineData', prop: m.prop })">
-
-                                <!-- <el-option v-if="m.dictId" v-for="d in m.dictValue" :key="d.dictValue":label="d.dictLabel" :value="d.dictValue"></el-option> -->
-
+                              <el-select v-if="m.apiUrl" 
+                                v-model="medcineData.value[`${m.prop}Name`]" 
+                                placeholder="请选择"
+                                :key="medcineData.value[m.prop]" size="mini"
+                                :disabled="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')"
+                                @focus="m.apiUrl && handleQueryMore(m, '', { name: 'medcineData', prop: m.prop })">
                                 <div slot="empty"></div>
                               </el-select>
 
                               <!-- 下拉选择 -->
-                              <el-select v-else v-model="medcineData.value[m.prop]" placeholder="请选择"
-                                         :key="medcineData.value[m.prop]" size="mini"
-                                         :disabled="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')"
-                                         @focus="m.apiUrl && handleQueryMore(m, '', { name: 'medcineData', prop: m.prop })">
+                              <el-select v-if="m.dictId" 
+                                v-model="medcineData.value[m.prop]" 
+                                placeholder="请选择"
+                                :key="medcineData.value[m.prop]" 
+                                size="mini"
+                                :disabled="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')"
+                                @focus="m.apiUrl && handleQueryMore(m, '', { name: 'medcineData', prop: m.prop })">
 
                                 <el-option v-if="m.dictId" v-for="d in m.dictValue" :key="d.dictValue"
                                            :label="d.dictLabel" :value="d.dictValue">
@@ -309,8 +323,10 @@
 
                             <!-- 文本、数字、textarae -->
                             <el-form-item v-else :label="m.name">
-                              <el-input size="mini" v-model="medcineData.value[m.prop]" :type="m.attribute || 'text'"
-                                        :readonly="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')">
+                              <el-input size="mini" 
+                                v-model="medcineData.value[m.prop]" 
+                                :type="m.attribute || 'text'"
+                                :readonly="!(updateButtonGroup && m.edit && basicData.value.isMedicine == '0')">
                               </el-input>
                             </el-form-item>
                           </template>
@@ -648,6 +664,7 @@
         refer: 1,
         loading: false,
         rules:{},
+        medcineRules:{},
         // 维护新版本
         maintainNewVersion: false,
         // 详情固定标签页
@@ -2089,8 +2106,7 @@
         // 基本信息
         await this.getTagList('material', (form) => {
           this.basicData.form = form;
-          this.rules = initRules(this.basicData.form);
-          console.log(this.rules,'this.rules--------------');
+          this.rules = initRules(form);
           this.getMaterialDetails(this.materialId, 'material');
         })
         // 医疗行业
@@ -2099,6 +2115,7 @@
             this.medcineData.value[item.prop] = ''
           })
           this.medcineData.form = form;
+          this.medcineRules = initRules(form);
           this.getMedcineDetails(this.materialId, 'material_medcine');
         })
 

+ 19 - 1
src/views/purchase/DemandSummary/add.vue

@@ -71,7 +71,7 @@
         <el-table-column show-overflow-tooltip label="需求单单号" align="center" prop="code" width="150"/>
         <el-table-column show-overflow-tooltip label="供应仓库" align="center" prop="lastWarehouseName" width="150"/>
         <el-table-column show-overflow-tooltip label="供应货位" align="center" prop="lastAllocationName" width="150"/>
-        <el-table-column show-overflow-tooltip label="业务类型" align="center" prop="billType" width="150"/>
+        <el-table-column show-overflow-tooltip label="业务类型" align="center" prop="billType" width="150" :formatter="formatterBillType"/>
         <el-table-column show-overflow-tooltip label="收货仓库" align="center" prop="deliveryWarehouseName" width="150"/>
         <el-table-column show-overflow-tooltip label="收货货位" align="center" prop="deliveryAllocationName" width="200">
           <template slot-scope="scope">
@@ -170,6 +170,24 @@ export default {
             return '调货价'
         }
       },
+      formatterBillType(row) {
+        switch (row.billType) {
+          case 'ZQBH':
+            return '周期备货'
+          case 'FXXQ':
+            return '分销需求'
+          case 'TSXQ':
+            return '特殊采购需求'
+          case 'BDXQ':
+            return '补单需求'
+          case 'JJXQ':
+            return '紧急需求单'
+          case 'XPXQ':
+            return '新品需求'
+          case 'HZBM':
+            return '合作部门需求'
+        }
+      },
       // 不能直接改变props传来的值
       sonPageStu: this.pageStu,
       sonDisable: this.disable,

+ 1 - 1
src/views/purchase/MaterialClassDivision/index.vue

@@ -220,7 +220,7 @@
           <el-table-column show-overflow-tooltip label="二级分类名称" align="center" width="150" prop="materialClassifyTwoName" />
           <el-table-column show-overflow-tooltip label="三级分类名称" align="center" width="150" prop="materialClassifyThreeName"/>
           <el-table-column show-overflow-tooltip label="四级分类名称" align="center" width="150" prop="materialClassifyFourName" />
-          <el-table-column show-overflow-tooltip label="物料编码" align="center" width="150" prop="material" />
+          <el-table-column show-overflow-tooltip label="物料编码" align="center" width="150" prop="materialCode" />
           <el-table-column show-overflow-tooltip label="物料名称" align="center" prop="materialName" />
           <el-table-column show-overflow-tooltip label="生产厂商" align="center" width="150" prop="manufacturer" />
           <el-table-column show-overflow-tooltip label="所属组织" align="center" width="120" prop="orgName"/>

+ 13 - 2
src/views/purchase/PurchaseDemandList/add.vue

@@ -212,7 +212,7 @@
           <el-table-column show-overflow-tooltip label="物料编码" align="center" prop="materialCode" width="230px">
             <template slot-scope="scope">
               <el-form-item class="hang" :prop="'puDemandItemList.' + scope.$index + '.' + 'materialCode'" :rules="{ required: true, message: '请选择物料编码', trigger: 'blur' }">
-                <el-input clearable :disabled="sonDisable" size="mini" v-model="scope.row.materialCode" @focus="chooseMaterial(scope.$index)">
+                <el-input clearable :disabled="sonDisable" size="mini" v-model="scope.row.materialCode" @paste.native="pasteMe($event, scope)">
                   <el-button size="mini" :disabled="sonDisable" slot="append" icon="el-icon-more" @click="chooseMaterial(scope.$index)"></el-button>
                 </el-input>
               </el-form-item>
@@ -246,7 +246,7 @@
             <el-table-column show-overflow-tooltip label="预留比例" align="center" prop="reservedProportion" width="150px">
               <template slot-scope="scope">
                 <el-form-item class="hang">
-                  <el-select clearable :disabled="sonDisable" size="mini" v-model="scope.row.reservedProportion" @change="getYLSL(scope)">
+                  <el-select clearable :disabled="sonDisable" size="mini" v-model="scope.row.reservedProportion" @change="getYLSL(scope)" @clear="scope.row.reservedQty = ''">
                     <el-option v-for=" dict in dict.type.sys_reserve_ratio" :key="dict.value" :label="dict.label" :value="dict.value">
                     </el-option>
                   </el-select>
@@ -1116,6 +1116,17 @@ export default {
         this.basicForm.puDemandItemList[this.tableIndex].address = selection[0].address
       }
     },
+    // 粘贴来的数据
+    pasteMe(e, socpe) {
+      e.preventDefault() //阻止默认粘贴事件
+      let source = e.clipboardData.getData("Text");
+      console.log('eee:', source)
+      // 首先对源头进行解析
+      let rows = source.split("\r\n"); // 拆成一个数组
+      rows.pop()
+      console.log('复制的数组',rows);
+      console.log('列表的数组',this.basicForm.puDemandItemList)
+    },
     // 明细行选择物料编码带出数据
     chooseMaterial(index) {
       console.log("🚀 ~ file: add.vue:790 ~ chooseMaterial ~ index:", index)

+ 5 - 1
src/views/purchase/PurchaseDemandList/reserved.vue

@@ -82,6 +82,8 @@
         <el-table-column show-overflow-tooltip prop="allocationName" label="货位名称" width="150"></el-table-column>
         <el-table-column show-overflow-tooltip prop="qty" label="可用量" width="150"></el-table-column>
         <el-table-column show-overflow-tooltip prop="usedQty" label="已用量" width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip prop="createTime" label="创建时间" width="200"></el-table-column>
+        <el-table-column show-overflow-tooltip prop="updateTime" label="更新时间" width="200"></el-table-column>
       </el-table>
       <el-table style="margin-top: 50px" :data="tableList3">
         <el-table-column show-overflow-tooltip prop="material" label="物料编码" width="150"></el-table-column>
@@ -89,6 +91,7 @@
         <!-- <el-table-column show-overflow-tooltip prop="unit" label="单位" width="150"></el-table-column> -->
         <el-table-column show-overflow-tooltip prop="unitName" label="单位名称" width="150"></el-table-column>
         <el-table-column show-overflow-tooltip prop="reservedQty" label="预留数量" width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip prop="allotQty" label="操作数量" width="150"></el-table-column>
         <el-table-column show-overflow-tooltip prop="reservedProportion" label="预留比例" width="150"></el-table-column>
         <el-table-column show-overflow-tooltip prop="reservedPeriod" label="预留周期" width="150"></el-table-column>
         <!-- <el-table-column show-overflow-tooltip prop="deliveryWarehouse" label="调出仓库" width="150"></el-table-column> -->
@@ -99,7 +102,8 @@
         <el-table-column show-overflow-tooltip prop="storageWarehouseName" label="调入仓库名称" width="150"></el-table-column>
         <!-- <el-table-column show-overflow-tooltip prop="storageAllocation" label="调入货位" width="150"></el-table-column> -->
         <el-table-column show-overflow-tooltip prop="storageAllocationName" label="调入货位名称" width="150"></el-table-column>
-        <el-table-column show-overflow-tooltip prop="allotQty" label="操作数量" width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip prop="createTime" label="创建时间" width="200"></el-table-column>
+        <el-table-column show-overflow-tooltip prop="updateTime" label="更新时间" width="200"></el-table-column>
       </el-table>
     </el-dialog>
   </div>

+ 15 - 1
src/views/purchase/purchase-order/index.vue

@@ -360,6 +360,15 @@ export default {
       }
       
     },
+    // 退货
+    handlePurchaseReturn(){
+      console.log(this.checkedList,'1111111111111');
+      // let {id:puOrderId} = ;
+      let puOrderId = Number(this.checkedList[0].id);
+      orderApi.putInStorage({puOrderId}).then(res=>{
+        console.log(res,'res---------------');
+      })
+    },
     // 主表Select框
     handleSelect(selection, row) {
 
@@ -375,6 +384,7 @@ export default {
 
       console.log(this.checkedTabList, 'this.checkedTabList');
     },
+    // 保留两位小数,补位
     keepTwoDecimalStr(num) {
       if(num){
           const result = Number(num.toString().match(/^\d+(?:\.\d{0,2})?/));
@@ -526,7 +536,11 @@ export default {
         </el-button-group>
 
         <el-button-group style="margin-left: 10px">
-          <!-- <el-button size="mini">采购退货</el-button> -->
+          <!-- <el-button size="mini" 
+            :disabled="!(checkedList.length == 1 && checkedList[0].deliveryStatus == '0')"
+            :key="checkedList.length"
+            @click="handlePurchaseReturn"
+          >采购退货</el-button> -->
           <el-button size="mini" @click="handlePaymentRequest">付款申请</el-button>
 
           <!-- <el-button size="mini">附件管理</el-button>

+ 63 - 0
src/views/purchase/purchase-order/purchaseReturn/column.js

@@ -0,0 +1,63 @@
+export const TableColumns = [
+  {key:"pkOrg",title:"库存组织"},
+  {key:"orgName",title:"组织名称"},
+  {key:"approver",title:"签字人"},
+  {key:"billmaker",title:"制单人"},
+  {key:"cbizid",title:"采购员"},
+  {key:"cbizName",title:"采购员名称"},
+  {key:"cdptvid",title:"采购部门"},
+  {key:"cdptName",title:"部门名称"},
+  {key:"cwarehouseName",title:"仓库名称"},
+  {key:"cwarehouseid",title:"仓库id"},
+  {key:"cwhsmanagerid",title:"库管员"},
+  {key:"cwhsmanagerName",title:"库管员名称"},
+  {key:"dbilldate",title:"单据日期"},
+  {key:"dmakedate",title:"制单日期"},
+  {key:"freplenishflag",title:"退库"},
+  {key:"modifiedtime",title:"最后修改时间"},
+  {key:"modifier",title:"最后修改人"},
+  {key:"ntotalnum",title:"总数量"},
+  {key:"taudittime",title:"签字日期"},
+  {key:"vbillcode",title:"单据日期"},
+  {key:"project",title:"项目"},
+  {key:"goodsWarehouse",title:"收货仓库"},
+  {key:"shippingAddress",title:"收货地址"},
+  {key:"customerDept",title:"客户部门"},
+  {key:"degreeEmergency",title:"紧急程度"},
+  {key:"agent",title:"代理人"},
+  {key:"syncSrm",title:"是否同步SRM"},
+  {key:"modeProcess",title:"处理方式"},
+  {key:"receivingContact",title:"收货联系人"},
+  {key:"vnote",title:"备注"},
+  {key:"vreturnreason",title:"退货原因"},
+  {key:"billtypeName",title:"出入库类型名称"},
+  {key:"drpOrderCode",title:"drp订单编号"},
+  
+];
+
+// {key:"ncProcurementWarehouseDetailModels",title:"入库单明细"}
+export const DetailColumns =[
+  {key:"materialCode",title:"物料编码"},
+  {key:"materialName",title:"物料名称"},
+  {key:"materialSpec",title:"物料规格"},
+  {key:"materialType",title:"物料型号"},
+  {key:"unitName",title:"计量单位名称"},
+  {key:"udi",title:"udi"},
+  {key:"vlotno",title:"批次号"},
+  {key:"registrationNum",title:"注册证号"},
+  {key:"vapprovalNumber",title:"批准文号"},
+  {key:"vchangerate",title:"换算率"},
+  {key:"dbizdate",title:"入库日期"},
+  {key:"dprodate",title:"生产日期"},
+  {key:"vinvalidDate",title:"有效期至"},
+  {key:"flargess",title:"赠品"},
+  {key:"nassistnum",title:"实收数量"},
+  {key:"nnum",title:"实收主数量"},
+  {key:"nshouldassistNum",title:"应收数量"},
+  {key:"nshouldNum",title:"应收主数量"},
+  {key:"receivingCustomer",title:"收货客户"},
+  {key:"wmsRowNum",title:"WMS行号"},
+  {key:"agent",title:"代理人"},
+  {key:"vsourcebillCode",title:"来源单据号"},
+  {key:"vsourceRowno",title:"来源单据行号"}
+];

+ 250 - 0
src/views/purchase/purchase-order/purchaseReturn/index.vue

@@ -0,0 +1,250 @@
+<!-- 采购退货 -->
+<template>
+
+  <el-drawer 
+    direction="btt" 
+    size="100%" 
+    :with-header="false" 
+    :visible.sync="visible" 
+    @open="beforeOpen"
+    @close="$emit('close')"
+    v-loading="loading"
+  >
+    <el-form 
+      size="mini" 
+      label-position="right" 
+      label-width="140px" 
+      :model="params" 
+      :rules="rules"
+      ref="orderSeeForm" 
+    >
+      <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="handleRefresh">刷新</el-button>
+           
+            <el-button size="mini" @click="handleCancel">取 消</el-button>
+          </div>
+        </div>
+        <el-row style="display:flex; flex-wrap: wrap;">
+          <el-col v-for="(column, index) in columns" :key="index" :span="column.span || 6">
+            <el-form-item :prop="column.key" :label="column.title">
+
+              <el-input v-if="column.inputType === 'Input'" 
+                v-model="params[column.key]" 
+                :placeholder="column.placeholder"
+                :clearable="column.clearable" 
+                readonly 
+                style="width: 100%"
+              ></el-input>
+              <dr-popover-select v-if="column.inputType === 'PopoverSelect'" 
+                v-model="params[column.key]" 
+                disabled
+                :value-key="column.valueKey" 
+                :source.sync="params" 
+                :title="column.title" 
+                :type="column.referName"
+                :multiple="column.multiple" 
+                :placeholder="column.placeholder" 
+                :data-mapping="column.dataMapping"
+                :query-params="column.queryParams"
+              ></dr-popover-select>
+
+              <el-input v-if="column.inputType === 'Textarea'" 
+                v-model="params[column.key]" 
+                type="textarea"
+                :placeholder="column.placeholder" 
+                :clearable="column.clearable" 
+                readonly 
+                style="width: 100%"
+              ></el-input>
+
+              <el-input-number v-if="column.inputType === 'InputNumber'" 
+                v-model="params[column.key]"
+                :controls-position="column.controlsPosition" 
+                :placeholder="column.placeholder"
+                :clearable="column.clearable" 
+                :precision="column.precision"
+                disabled 
+                style="width: 100%"
+              ></el-input-number>
+              <el-select v-if="column.inputType === 'Select'" 
+                v-model="params[column.key]" 
+                disabled 
+                size="mini"
+                :clearable="column.clearable" 
+                :placeholder="column.placeholder" 
+                style="width: 100%">
+                <el-option 
+                  v-for="item in dict.type[column.referName]" 
+                  :key="item.value" 
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select>
+              <el-select v-if="column.inputType === 'TagSelect'" 
+                v-model="params[column.key]" 
+                multiple 
+                clearable
+                collapse-tags 
+                :placeholder="column.placeholder" 
+                :clearable="column.clearable" 
+                disabled
+                style="width: 100%">
+                <template #prefix>
+                  <el-icon class="el-icon-view" 
+                    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.inputType === 'DatePicker'" 
+                v-model="params[column.key]" 
+                :type="column.type"
+                :placeholder="column.placeholder" 
+                :clearable="column.clearable" 
+                readonly
+                :picker-options="column.pickerOptions" 
+                style="width: 100%"
+              ></el-date-picker>
+              <el-checkbox v-if="column.inputType === 'Checkbox'" 
+                v-model="params[column.key]" 
+                disabled 
+                true-label="Y"
+                false-label="N"
+              ></el-checkbox>
+              <file-upload-center v-if="column.inputType === 'Upload'" 
+                v-model="params[column.key]"
+                :file-type="column.fileType" 
+                :disabled="true"
+              ></file-upload-center>
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-card>
+      <el-card :body-style="{
+        padding: '20px',
+        display: 'flex',
+        'flex-wrap': 'wrap',
+        position: 'relative',
+      }" style="margin: 10px">
+        <el-tabs v-model="tabName" style="width: 100%">
+          <el-tab-pane 
+            v-for="(column, index) in tabColumns" 
+            :key="index" 
+            :label="column.title" 
+            :name="column.key"
+          >
+            <el-table :data="params[column.key]" style="width: 100%">
+              <el-table-column 
+                v-for="(cColumn, cIndex) in column.tableColumns" 
+                :key="cIndex" 
+                :prop="cColumn.key"
+                :label="cColumn.title" 
+                :width="cColumn.width || 80"
+              >
+                <template slot-scope="scope">
+                  <el-tag v-if="cColumn.key === 'index'">
+                    {{ scope.$index + 1 }}
+                  </el-tag>
+                  <el-input v-if="cColumn.inputType === 'Input'" 
+                    v-model="scope.row[cColumn.key]"
+                    :placeholder="cColumn.placeholder" 
+                    :clearable="cColumn.clearable" 
+                    readonly 
+                    size="mini"
+                    style="width: 100%"
+                  ></el-input>
+
+                  <!--  -->
+                  <dr-popover-select v-if="cColumn.inputType === 'PopoverSelect'"
+                    v-model="scope.row[cColumn.key]"
+                    :source.sync="scope.row" 
+                    :title="cColumn.title" 
+                    :value-key="cColumn.valueKey" 
+                    disabled
+                    :type="cColumn.referName" 
+                    :multiple="cColumn.multiple" 
+                    :placeholder="cColumn.placeholder"
+                    :data-mapping="cColumn.dataMapping" 
+                    :query-params="cColumn.queryParams" 
+                    size="mini"
+                  ></dr-popover-select>
+
+                  <el-input-number v-if="cColumn.inputType === 'InputNumber'" 
+                    v-model="scope.row[cColumn.key]"
+                    :precision="cColumn.precision"
+                    :controls-position="cColumn.controlsPosition" 
+                    :placeholder="cColumn.placeholder"
+                    :clearable="cColumn.clearable" 
+                    disabled 
+                    size="mini" 
+                    style="width: 100%"
+                  ></el-input-number>
+
+                  <el-select v-if="cColumn.inputType === 'Select'" 
+                    v-model="scope.row[cColumn.key]" 
+                    disabled 
+                    size="mini"
+                    :clearable="cColumn.clearable" 
+                    :placeholder="cColumn.placeholder" 
+                    style="width: 100%">
+                    <el-option 
+                      v-for="item in dict.type[cColumn.referName]" 
+                      :key="item.value" 
+                      :label="item.label"
+                      :value="item.value"
+                    ></el-option>
+                  </el-select>
+
+                  <el-checkbox v-if="cColumn.inputType === 'Checkbox'" 
+                    v-model="scope.row[cColumn.key]" 
+                    disabled
+                    true-label="Y" 
+                    false-label="N"
+                  ></el-checkbox>
+
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-tab-pane>
+        </el-tabs>
+      </el-card>
+
+    </el-form>
+  </el-drawer>
+
+</template>
+
+<script>
+export default{
+  name:'purchaseReturn',
+
+  data(){
+    return {
+      visible: false,
+      loading:false,
+    }
+  },
+  methods:{
+    beforeOpen(){}
+  }
+}
+</script>