Quellcode durchsuchen

Merge branch 'purchaseDev' into 'dev'

Purchase dev

See merge request new-business/drp-web!459
黄梓星 vor 1 Jahr
Ursprung
Commit
9bd90ce1e8

+ 9 - 0
src/components/popover-select/components/MATERIAL_PARAM.js

@@ -103,4 +103,13 @@ export default [
       },
     },
   },
+  {
+    item: { key: "ratifyBatchNo", title: "批准文号", width: "auto" },
+    attr: {
+      type:'ComputedInput',
+      formatter: (prop) => {
+        return prop.materialMedcine.ratifyBatchNo;
+      },
+    },
+  },
 ];

+ 2 - 0
src/store/modules/user.js

@@ -1,5 +1,6 @@
 import { login, logout, getInfo } from '@/api/login'
 import { getToken, setToken, removeToken } from '@/utils/auth'
+import Cookies from 'js-cookie'
 
 const user = {
   state: {
@@ -78,6 +79,7 @@ const user = {
           const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
           if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
             commit('SET_ROLES', res.roles)
+            Cookies.set('roles',res.roles,{ expires: 30 });
             commit('SET_PERMISSIONS', res.permissions)
           } else {
             commit('SET_ROLES', ['ROLE_DEFAULT'])

+ 59 - 0
src/views/material/changeApply/add/column.js

@@ -160,6 +160,12 @@ export default function useColumns(){
               maintenanceType:'curingType',
               medicalDevices:'medicalInstruments',
               leadTime:'deliveryPeriod',
+              isInventoryStatus:'isInventoryStatus',
+              expiryDateManagerment:'expiryDateManagerment',
+              usefulLife:'usefulLife',
+              serialNoManager:'serialNoManager',
+              ratifyBatchNo:'ratifyBatchNo',
+
             },
 
 
@@ -282,6 +288,49 @@ export default function useColumns(){
           },
 
         },
+        {
+          item:{
+            key:'isInventoryStatus',
+            title:'批号及库存状态管理',
+          },
+          attr:{
+            is: "el-select",
+            dictName: "sys_number_yes_no", // 字典名
+          },
+        },
+        {
+          item:{
+            key:'expiryDateManagerment',
+            title:'效期管理',
+          },
+          attr:{
+            is: "el-select",
+            dictName: "sys_number_yes_no", // 字典名
+          },
+        },
+        {
+          item:{
+            key:'serialNoManager',
+            title:'是否序列号管理',
+          },
+          attr:{
+            is: "el-select",
+            dictName: "sys_number_yes_no", // 字典名
+          },
+        },
+        {
+          item:{
+            key:'usefulLife',
+            title:'有效期',
+          },
+          attr:{
+            is: "el-input-number",
+            controlsPosition:"right",
+            min:0,
+          },
+        },
+
+
         // {
         //   item:{
         //     key:'diCode',
@@ -359,6 +408,16 @@ export default function useColumns(){
         },
         {
           item:{
+            key:'ratifyBatchNo',
+            title:'批准文号',
+          },
+          attr:{
+            is: "el-input",
+          },
+
+        },
+        {
+          item:{
             key:'registrationNo',
             title:'注册证号/备案凭证编号',
           },

+ 84 - 0
src/views/material/changeApply/add/index.vue

@@ -281,6 +281,24 @@ export default {
 
       this.download('/material/change/downloadInner',{}, `变更单物料信息模板${new Date().getTime()}.xlsx`);
     },
+    // 批号及库存状态管理
+    changeIsInventoryStatus(row){
+
+      if(row.isInventoryStatus === '2'){
+
+        row.expiryDateManagerment = '2';
+
+        row.serialNoManager = '2';
+      }
+      this.changeExpiryDateManagerment(row);
+    },
+    changeExpiryDateManagerment(row){
+      
+      if(row.expiryDateManagerment === '2'){
+
+        row.usefulLife = '';
+      }
+    }
 
   },
   created() {
@@ -445,6 +463,72 @@ export default {
                   >
                   </component>
                 </template>
+                <!-- 批号及库存状态管理 -->
+                <template slot="isInventoryStatus" slot-scope="scope">
+                  <component
+                    v-bind="scope.attr"
+                    v-model="scope.row[scope.item.key]"
+                    :size="$attrs.size"
+                    :source.sync="scope.row"
+                    @change="changeIsInventoryStatus(scope.row)"
+                  >
+                  <el-option
+                      v-for="item in dict.type[scope.attr.dictName]"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    >
+                    </el-option>
+                  </component>
+                </template>
+                <!-- 效期管理 -->
+                <template slot="expiryDateManagerment" slot-scope="scope">
+                  <component
+                    v-bind="scope.attr"
+                    v-model="scope.row[scope.item.key]"
+                    :size="$attrs.size"
+                    :source.sync="scope.row"
+                    :disabled="scope.row.isInventoryStatus !=='0' "
+                    @change="changeExpiryDateManagerment(scope.row)"
+                  >
+                  <el-option
+                      v-for="item in dict.type[scope.attr.dictName]"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    >
+                    </el-option>
+                  </component>
+                </template>
+                <!-- 是否序列号管理 -->
+                <template slot="serialNoManager" slot-scope="scope">
+                  <component
+                    v-bind="scope.attr"
+                    v-model="scope.row[scope.item.key]"
+                    :size="$attrs.size"
+                    :source.sync="scope.row"
+                    :disabled="scope.row.isInventoryStatus !=='0' "
+                  >
+                  <el-option
+                      v-for="item in dict.type[scope.attr.dictName]"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                    >
+                    </el-option>
+                  </component>
+                </template>
+                <!-- 有效期 -->
+                <template slot="usefulLife" slot-scope="scope">
+                  <component
+                    v-bind="scope.attr"
+                    v-model="scope.row[scope.item.key]"
+                    :size="$attrs.size"
+                    :source.sync="scope.row"
+                    :disabled="scope.row.expiryDateManagerment !=='0'"
+                  >
+                  </component>
+                </template>
   
   
                 <el-table-column fixed="right" label="操作" width="120" align="center">

+ 0 - 23
src/views/purchase/purchase-order/add/column copy.js

@@ -1,23 +0,0 @@
-
-// 集采中心
-const PurColumns =[];
-const PurchaseTabColumns =[];
-
-// 事业发展部
-const CauseColumns =[];
-const CauseTabColumns =[];
-// export const initTabColumns = () => tabColumns;
-
-export const Columns = [];
-export const TabColumns = [];
-
-const judgeColumns = () =>{
-
-  const { deptName, deptId, name, nickName, roles } = this.$store.state.user;
-
-  if(roles.length && roles.find(role => role === '')){
-
-  }
-
-
-}

Datei-Diff unterdrückt, da er zu groß ist
+ 787 - 125
src/views/purchase/purchase-order/add/column.js


+ 1055 - 0
src/views/purchase/purchase-order/add/columnCopy.js

@@ -0,0 +1,1055 @@
+export const Columns = [
+  {
+    key: "puOrgName",
+    title: "采购组织",
+    inputType: "PopoverSelect",
+    valueKey: "id",
+    referName: "ORG_PARAM",
+    dataMapping: {
+      puOrg: "id",
+      puOrgName: "name",
+    },
+    queryParams: () => ({}),
+    require: true,
+    isShow:true,
+  },
+  {
+    key: "billType",
+    title: "订单类型",
+    inputType: "Select",
+    referName: "sys_order_type", // 字典名
+    isShow:true,
+    require: true,
+  },
+  { 
+    key: "oaDemandNo", 
+    title: "OA需求单号", 
+    inputType: "Input",  
+    isShow:true,
+    
+  },
+  { 
+    key: "erpOrderCode", 
+    title: "erp订单编号", 
+    inputType: "Input",  
+    readonly: true,
+    disabled: true,
+    isShow:true,
+  },
+  {
+    key: "code",
+    title: "订单编号",
+    inputType: "Input",
+    readonly: true,
+    disabled: true,
+    isShow:true,
+  },
+  {
+    key: "billDate",
+    title: "订单日期",
+    inputType: "DatePicker",
+    valueFormat: "yyyy-MM-dd",
+    width: 200, 
+    require: true,
+    isShow:true,
+  },
+  {
+    key: "supplierName",
+    title: "供应商",
+    inputType: "PopoverSelect",
+    valueKey: "id",
+    referName: "SUPPLIER_PARAM",
+    dataMapping: {
+      supplier: "id",
+      supplierName: "name",
+      paymentAgreement: 'paymentId',
+      paymentAgreementName: 'paymentName',
+    },
+    queryParams: () => ({}),
+    require: true,
+    isShow:true,
+  },
+  {
+    key: "paymentAgreementName",
+    title: "付款协议",
+    inputType: "PopoverSelect",
+    valueKey: "id",
+    referName: "PAYAGREEMENT_PARAM",
+    dataMapping: {
+      paymentAgreement: 'id',
+      paymentAgreementName: 'name'
+    },
+    queryParams: () => ({}),
+    isShow:true,
+    disabled:true,
+    require: true,
+  },
+  {
+    key: "finalTypeName",
+    title: "结算方式",
+    inputType: "PopoverSelect",
+    valueKey: "id",
+    referName: "BALATYPE_PARAM",
+    dataMapping: {
+      finalType: 'id',
+      finalTypeName: 'name'
+    },
+    queryParams: () => ({}),
+    isShow:true,
+    disabled:true,
+  },
+  {
+    key: "buyerName",
+    title: "采购员",
+    inputType: "PopoverSelect",
+    valueKey: "code",
+    referName: "CONTACTS_PARAM",
+    dataMapping: {
+      buyer: 'code',
+      buyerName: 'name'
+    },
+    queryParams: () => ({}),
+    require: true,
+    isShow:true,
+  },
+  {
+    key: "puDeptName",
+    title: "采购部门",
+    inputType: "PopoverSelect",
+    valueKey: "id",
+    referName: "DEPT_PARAM",
+    dataMapping: {
+      puDept: 'id',
+      puDeptName: 'name'
+    },
+    queryParams: () => ({}),
+    require: true,
+    isShow:true,
+  },
+  {
+    key: "customerName",
+    title: "收货客户",
+    inputType: "PopoverSelect",
+    width: 200,
+    valueKey: "id",
+    referName: "CUSTOMER_PARAM",
+    dataMapping: {
+      customer: 'id',
+      customerName: 'name'
+    },
+    queryParams: () => ({}),
+    isShow:true,
+  },
+  {
+    key: "qty",
+    title: "总数量",
+    inputType: "InputNumber",
+    controlsPosition: "right",
+    isShow:true,
+    disabled:true,
+  },
+  {
+    key: "originalQty",
+    title: "原始总数量",
+    inputType: "InputNumber",
+    controlsPosition: "right",
+    isShow:true,
+    disabled:true,
+  },
+  { 
+    key: "money", 
+    title: "价税合计", 
+    inputType: "InputNumber",
+    controlsPosition: "right", 
+    // precision:2,
+    isShow:true, 
+    disabled:true,
+  },
+  { 
+    key: "originalMoney", 
+    title: "原始总金额", 
+    inputType: "InputNumber",
+    controlsPosition: "right", 
+    // precision:2,
+    isShow:true, 
+    disabled:true,
+  },
+  { 
+    key: "notaxMoney", 
+    title: "无税金额", 
+    inputType: "InputNumber",  
+    controlsPosition: "right",
+    // precision:2,
+    isShow:true, 
+    disabled:true,
+  },
+  {
+    key: "status",
+    title: "单据状态",
+    inputType: "Select",
+    referName: "documents_status", // 字典名
+    disabled: true,
+    isShow:true,
+  },
+  // { key: "freezeCause", title: "冻结原因", inputType: "Checkbox", isShow:true, },
+  { key: "isBack", title: "退货", inputType: "Input", inputType: "Checkbox",  isShow:true,},
+  // { key: "isMarketing", title: "已协同生成销售订单", inputType: "Checkbox",  isShow:true,},
+  // { key: "isMarketingSource", title: "由销售订单协同生成", inputType: "Checkbox",  isShow:true,},
+  {
+    key: "warehouseName",
+    title: "WMS入库仓库", 
+    inputType: "PopoverSelect",
+    valueKey: "id",
+    referName: "WAREHOUSE_PARAM",
+    dataMapping: {
+      warehouse: 'id',
+      warehouseName: 'name',
+    },
+    queryParams: (params) => ({
+      pkOrg: params.puOrg,
+    }),
+    isShow:true,
+    
+    // require: true,
+  },
+  {
+    key: "goodsAllocationName",
+    title: "货位",
+    inputType: "PopoverSelect",
+    valueKey: "id",
+    referName: "ALLOCATION_PARAM",
+    dataMapping: {
+      goodsAllocation: 'id',
+      goodsAllocationName: 'name',
+      
+    },
+     isShow:true,
+    queryParams: (params) => ({
+      stordocId: params.warehouse,
+    }),
+    width: 200,
+  },
+  // { key: "isSendSrm", title: "是否同步SRM", inputType: "Checkbox",isShow:true, },
+  { 
+    key: "isInvoice", 
+    title: "发票标识", 
+    inputType: "Checkbox", 
+    isShow:true,
+    disabled:true,
+  },
+  { key: "supplierOrderNo", title: "供应商订单号", inputType: "Input",isShow:true, },
+  { 
+    key: "rebateMoney", 
+    title: "订单使用返利金额", 
+    inputType: "InputNumber",
+    controlsPosition: "right",
+    // precision:2,
+    isShow:true, 
+    require: true,
+  },
+  { 
+    key: "deductionMoney", 
+    title: "订单抵扣余款金额", 
+    inputType: "InputNumber",
+    controlsPosition: "right",
+    // precision:2,
+    isShow:true, 
+    require: true,
+  },
+  { 
+    key: "goodsWarehouseName",
+    title: "收货仓库",
+    inputType: "Input",
+    isShow:true,
+    disabled:true,
+    require: true,
+  },
+  { 
+    key: "address",
+    title: "收货地址",
+    inputType: "PopoverSelect",
+    valueKey: "address",
+    referName: "ADDRESS_PARAM",
+    require: true,
+    isShow:true,
+    dataMapping: {
+      // address: 'address',
+      // addressName: '',
+      goodsWarehouse:'id',
+      goodsWarehouseName:'name',
+      contacts:'contactsName',
+      contactsPhone:'contactsPhone'
+    },
+    queryParams: () => ({}),
+    width: 180
+  },
+  { 
+    key: "contacts", 
+    title: "收货联系人", 
+    inputType: "Input",
+    isShow:true, 
+    disabled:true,
+  },
+  { 
+    key: "contactsPhone", 
+    title: "收货联系人电话", 
+    inputType: "Input",
+    isShow:true, 
+    disabled:true,
+  },
+  {
+    key: "customerDeptName",
+    title: "客户部门",
+    inputType: "PopoverSelect",
+    width: 200,
+    valueKey: "id",
+    referName: "CUSTOMERDEPT_PARAM",
+    dataMapping: {
+      customerDept: 'id',
+      customerDeptName: 'name'
+    },
+     isShow:true,
+    queryParams: () => ({}),
+
+  },
+  {
+    key: "supplierContactsName",
+    title: "供应商业务联系人",
+    inputType: "PopoverSelect",
+    valueKey: "id",
+    referName: "SUPPLIERCONTACTS_PARAM",
+    dataMapping: {
+      supplierContacts: 'id',
+      supplierContactsName: 'name'
+    },
+     isShow:true,
+    queryParams: (params) => ({
+      supplierId:params.supplier
+    }),
+    width: 200,
+  },
+  { 
+    key: "isUrgency", 
+    title: "紧急程度", 
+    inputType: "Checkbox",
+    isShow:true,
+    disabled:true,
+   },
+  { 
+    key: "isSendWms", 
+    title: "已同步WMS", 
+    inputType: "Checkbox",
+    isShow:true,
+    disabled:true,
+   },
+  // { key: "agent", title: "代理人", inputType: "Input", }, // 建议删除
+  // {
+  //   key: "agentName",
+  //   title: "代理人",
+  //   inputType: "PopoverSelect",
+  //   valueKey: "code",
+  //   referName: "CONTACTS_PARAM",
+  //   dataMapping: {
+  //     agent: 'code',
+  //     agentName: 'name'
+  //   },
+  //    isShow:true,
+  //   queryParams: () => ({}),
+  //   width: 200,
+  // },
+
+  { 
+    key: "isClose", 
+    title: "最终关闭", 
+    inputType: "Checkbox", 
+    isShow:true,
+    disabled:true,
+   },
+  {
+    key: "closeTime",
+    title: "最终关闭日期",
+    inputType: "DatePicker",
+    valueFormat: "yyyy-MM-dd",
+    isShow:true,
+    disabled:true,
+  },
+  { 
+    key: "applyPaymentMoney", 
+    title: "累计付款申请金额", 
+    inputType: "InputNumber", 
+    controlsPosition: "right",
+    // precision:2,
+    isShow:true,
+    disabled:true,
+  },
+  { 
+    key: "paymentMoney", 
+    title: "累计付款金额", 
+    inputType: "InputNumber", 
+    controlsPosition: "right",
+    // precision:2,
+    isShow:true,
+  },
+  { 
+    key: "invoiceMoney", 
+    title: "发票金额", 
+    inputType: "InputNumber",
+    controlsPosition: "right",
+    // precision:2,
+    isShow:true,
+   },
+  {
+    key: "supplierPersonalName",
+    title: "供应商业务员",
+    inputType: "PopoverSelect",
+    valueKey: "id",
+    // referName: "SUPPLIERCONTACTS_PARAM",
+    referName: "PSNLICENSE_PARAM",
+    dataMapping: {
+      supplierPersonal: 'id',
+      supplierPersonalName: 'name'
+    },
+     isShow:true,
+    queryParams: (params) => ({
+      // 组织、供应商id
+      pkOrg: params.puOrg,
+      supplierId:params.supplier
+    }),
+  },
+  // { key: "isDeliver", title: "是否发货", inputType: "Checkbox",  isShow:true,},
+  {
+    key: "retReasonName",
+    title: "退换原因",
+    inputType: "PopoverSelect",
+    valueKey: "id",
+    referName: "RETREASON_PARAM",
+    dataMapping: {
+      retReason: 'id',
+      retReasonName: 'name'
+    },
+     isShow:true,
+    queryParams: () => ({}),
+  },
+  {
+    key: "processTypeName",
+    title: "处理方式",
+    inputType: "PopoverSelect",
+    valueKey: "id",
+    referName: "PROCESSTYPE_PARAM",
+    dataMapping: {
+      processType: 'id',
+      processTypeName: 'name'
+    },
+     isShow:true,
+    queryParams: () => ({}),
+  },
+  { key: "isEnd", title: "整单关闭标识", inputType: "Checkbox", isShow:true, },
+  {
+    key: "projectNowName",
+    title: "在建工程项目",
+    inputType: "PopoverSelect",
+    valueKey: "id",
+    referName: "PROJECT_PARAM",
+    dataMapping: {
+      projectNow: 'id',
+      projectNowName: 'name'
+    },
+     isShow:true,
+    queryParams: () => ({}),
+  },
+  {
+    key: "operatingItemsName",
+    title: "经营性项目",
+    inputType: "PopoverSelect",
+    valueKey: "id",
+    referName: "OPERATING_PARAM",
+    dataMapping: {
+      operatingItems: 'id',
+      operatingItemsName: 'name'
+    },
+     isShow:true,
+    queryParams: () => ({}),
+
+  },
+  { key: "isArrivalReson", title: "到货超期原因", inputType: "Input", isShow:true, },
+  // { key: "midOrderNo", title: "中台采购订单号", inputType: "Input", isShow:true, },
+  { key: "marketingCode", title: "销售订单号", inputType: "Input", isShow:true, },
+  { key: "isArrival", title: "到货超期", inputType: "Checkbox",  isShow:true,},
+  { key: "createByName", title: "创建人", inputType: "Input", isShow:false, },
+  {
+    key: "approveTime",
+    title: "提交时间",
+    inputType: "DatePicker",
+    valueFormat: "yyyy-MM-dd",
+    isShow:false,
+  },
+  { key: "approverName", title: "审批人", inputType: "Input", isShow:false, },
+  {
+    key: "approverFinishTime",
+    title: "审批时间",
+    inputType: "DatePicker",
+    valueFormat: "yyyy-MM-dd",
+    isShow:false,
+  },
+  { key: "updateByName", title: "更新人", inputType: "Input", isShow:false, },
+  // { key: "flowId", title: "OA流程ID", inputType: "Input", isShow:false, },
+  {
+    key: "sysFileRecordList",
+    title: "附件",
+    inputType: "Upload",
+    // fileType: ["pdf",""],
+    span: 24,
+    isShow:true,
+  },
+  { 
+    key: "remark",
+    title: "备注",
+    inputType: "Textarea",
+    isShow:true,
+   },
+
+];
+
+// export const initColumns = () => columns;
+
+export const TabColumns = [
+  {
+    title: '物料信息',
+    key: 'puOrderItemList',
+    tableColumns: [
+      { 
+        key: "rowNo", 
+        title: "行号", 
+        inputType: "Input", 
+        disabled:true,
+        require:false,
+      },
+      { 
+        key: "demandCode",
+        title:"采购需求单号",
+        inputType: "Input", 
+        width: 180,
+        disabled:true,
+        require:false,
+      },
+      { 
+        key: "contractNo",
+        title:"合同编号",
+        inputType: "Input", 
+        width: 180,
+        disabled:true,
+        require:false,
+      },
+      // { key: "orderId", title: "采购订单ID", inputType: "Input", width: 180 },
+      // {key: "material",title: "物料",inputType: "Input",   },
+      {
+        key: "materialName",
+        title: "物料",
+        inputType: "PopoverSelect",
+        width: 180,
+        require: true,
+        valueKey: "id",
+        referName: "MATERIAL_PARAM",
+        dataMapping: {
+          material: "id",
+          materialName: "name",
+          materialCode: "code",
+          // materialClassify:'classifyIdName',
+          materialManufacturersCode:'manufacturersMaterialCode',
+          specification:'specification',
+          model:'model',
+          isMedcine:'isMedicineYN',
+          manufacturer:'manufacturerId',
+          manufacturerName:'manufacturerIdName',
+          unit:'unitId',
+          unitName:'unitIdName',
+          // tax:'materialRateName',
+          storageCondition:'storageCondition',
+          carriageCondition:'transportationCondition',
+          materialClassifyOneName:'oneClass',
+          materialClassifyTwoName:'twoClass',
+          materialClassifyThreeName:'threeClass',
+          materialClassifyFourName:'fourClass',
+          registration:'registrationNo',
+          isDrug:'isDrug',
+        },
+        queryParams: () => ({}),
+      },
+      {
+        key: "materialCode",
+        title: "物料编码",
+        inputType: "Input",
+        require: true,
+        width: 180,
+        disabled:true,
+        readonly:true,
+      },
+      // { //classifyIdName   classifyId
+      //   key: "materialClassify",
+      //   title: "物料分类", 
+      //   inputType: "Input",
+      //   width: 180,
+      //   disabled:true,
+      //   readonly:true, 
+      // },
+      { // manufacturersMaterialCode  manufacturersMaterialName
+        key: "materialManufacturersCode",
+         title: "厂家物料编码", 
+         inputType: "Input",
+          width: 180,
+          disabled:true,
+        readonly:true,
+         },
+      { //specification
+        key: "specification",
+        title: "规格", 
+        inputType: "Input",
+        width: 180 ,
+        disabled:true,
+        readonly:true,
+        },
+      { //model
+        key: "model",
+        title: "型号", 
+        inputType: "Input",
+        disabled:true,
+        readonly:true,
+      },
+      { //isMedicine  isMedicineValue
+        key: "isMedcine",
+        title: "医药物料", 
+        inputType: "Checkbox", 
+        disabled:true,
+        readonly:true,
+        },
+      { // manufacturerId  manufacturerIdName
+        key: "manufacturerName",
+        title: "生产厂家代理人",
+        inputType: "Input",
+        width: 180,
+        disabled:true,
+        readonly:true,
+      },
+      { 
+        key: "isDrug",
+         title: "物料药品属性", 
+         inputType: "Checkbox", 
+         disabled:true,
+      },
+      { //unitId  unitIdName
+        key: "unitName", 
+        title: "单位", 
+        inputType: "Input",
+        disabled:true,
+        readonly:true,
+       },
+      {
+        key: "qty",
+        title: "数量",
+        inputType: "InputNumber",
+        controlsPosition: "right",
+        width: 120,
+        require: true,
+      },
+      {
+        key: "currencyName",
+        title: "币种",
+        inputType: "PopoverSelect",
+        valueKey: "id",
+        referName: "CURRENCY_PARAM",
+        dataMapping: {
+          currency: 'id',
+          currencyName: 'name'
+        },
+        queryParams: () => ({}),
+        width: 180,
+      },
+      {
+        key: "priceType",
+        title: "价格类型",
+        inputType: "Select",
+        referName: "sys_price_type", // 字典名
+        width: 180,
+      },
+      { 
+        key: "taxPrice", 
+        title: "含税单价", 
+        inputType: "InputNumber",
+        controlsPosition: "right",
+        // precision:2,
+        require: true,
+        disabled:true,
+        width: 180,
+       },
+      { 
+        key: "money", 
+        title: "价税合计", 
+        inputType: "InputNumber",
+        controlsPosition: "right",
+        // precision:2,
+        disabled:true,
+        width: 180,
+       },
+      { //materialRate  materialRateName
+        key: "tax", 
+        title: "税率",
+        // inputType: "Input",
+        inputType: "InputNumber",
+        controlsPosition: "right",
+        // precision:2,
+        disabled:true,
+        width: 180,
+      },
+      { 
+        key: "taxDeductMoneya", 
+        title: "折扣金额", 
+        inputType: "InputNumber",
+        controlsPosition: "right",
+        // precision:2,
+        disabled:true,
+        width: 180,
+       },
+      { 
+        key: "nitemdiscountrate", 
+        title: "折扣(%)", 
+        inputType: "Input",
+        // precision:2,
+        disabled:true,
+        width: 180,
+       },
+      { 
+        key: "ntaxnetprice", 
+        title: "含税净价", 
+        inputType: "Input",
+        controlsPosition: "right",
+        // precision:2,
+        disabled:true,
+        width: 180,
+       },
+      { 
+        key: "arrivalQty",
+        title: "已到货数量",
+        inputType: "InputNumber",
+        controlsPosition: "right",
+        disabled:true,
+        width: 180,
+      },
+      { 
+        key: "unarrivedQty", 
+        title: "未到货数量", 
+        inputType: "InputNumber", 
+        controlsPosition: "right",
+        disabled:true,
+        width: 180,
+      },
+      { 
+        key: "price",
+        title: "无税单价",
+        inputType: "InputNumber",
+        controlsPosition: "right",
+        // precision:2,
+        disabled:true,
+        width: 180,
+      },
+      { 
+        key: "notaxMoney", 
+        title: "无税金额", 
+        inputType: "InputNumber", 
+        controlsPosition: "right",
+        // precision:2,
+        disabled:true,
+        width: 180,
+      },
+      // { key: "priceSource", title: "价格目录ID", inputType: "Input", },
+      { key: "isStorage", title: "入库关闭", inputType: "Checkbox", disabled:true, },
+      { key: "isInvoice", title: "开票关闭", inputType: "Checkbox", disabled:true, },
+      { key: "isArrival", title: "到货关闭", inputType: "Checkbox", disabled:true,},
+      { key: "isPayment", title: "付款关闭", inputType: "Checkbox", disabled:true, },
+      { key: "isGift", title: "赠品", inputType: "Checkbox", },
+      {
+        key: "goodsWarehouseName",
+        title: "收货仓库", 
+        inputType: "Input",
+        width: 200,
+        disabled:true,
+      },
+      // { key: "place", title: "收货地点", inputType: "Input", width: 180 },
+      { 
+        key: "address",
+        title: "收货地址",
+        inputType: "PopoverSelect",
+        valueKey: "address",
+        referName: "ADDRESS_PARAM",
+        width: 180,
+        dataMapping:{
+          // address: 'address',
+          // addressName: '',
+          goodsWarehouse:'id',
+          goodsWarehouseName:'name',
+          contacts:'contactsName',
+          contactsPhone:'contactsPhone'
+        }
+      },
+      { 
+        key: "customerName",
+        title: "收货客户", 
+        inputType: "PopoverSelect",
+        valueKey: "id",
+        referName: "CUSTOMER_PARAM",
+        width: 180,
+        dataMapping:{
+          customer:'id',
+          customerName:'name',
+        },
+      },
+      { key: "productBatch", title: "产品批号", inputType: "Input", width: 180 },
+      { key: "manufactureDate", title: "生产日期", inputType: "Input", width: 180 },
+      { 
+        key: "efficacyLoseDate", 
+        title: "有效期至/失效日期", 
+        inputType: "Input",
+         width: 180
+         },
+      { 
+        key: "approvalNumber",
+         title: "批准文号",
+          inputType: "Input", 
+          width: 180
+         },
+      { 
+        key: "registration",
+         title: "注册证号", 
+         inputType: "Input", 
+         width: 180 ,
+         disabled:true,
+        },
+
+      { //storageCondition storageConditionName
+        key: "storageCondition",
+        title: "存储条件",
+        inputType: "Select",
+        referName: "sys_storage_condition", // 字典名
+        width: 180,
+        disabled:true,
+        readonly:true,
+      },
+      { // transportationCondition  transportationConditionName
+        key: "carriageCondition",
+        title: "运输条件",
+        inputType: "Select",
+        referName: "sys_conditions_carriage", // 字典名
+        width: 180,
+        disabled:true,
+        readonly:true,
+      },
+
+      { key: "isBatchLock", title: "批号锁定标识", inputType: "Checkbox", },
+      { key: "isReplenishment", title: "补单标识", inputType: "Checkbox", },
+      { key: "isUrgency", title: "紧急标识", inputType: "Checkbox", },
+      { 
+        key: "originalQty", 
+        title: "原始数量", 
+        inputType: "InputNumber", 
+        controlsPosition: "right",
+        disabled:true,
+        width: 180 ,
+      },
+      { 
+        key: "originalMoney", 
+        title: "原始金额", 
+        inputType: "InputNumber", 
+        controlsPosition: "right",
+        // precision:2,
+        disabled:true,
+        width: 180,
+      },
+      { key: "directProductBatch", title: "直运产品批号", inputType: "Input", width: 180 },
+      { key: "discountRule", title: "折扣规则编码", inputType: "Input", width: 180 },
+      { 
+        key: "reservedQty", 
+        title: "预留数量", 
+        inputType: "InputNumber",
+        controlsPosition: "right",
+        width: 180 ,
+       },
+      { key: "reservedPeriod", title: "预留周期", inputType: "Input", },
+      { 
+        key: "taxDeductClassify", 
+        title: "扣税类别", 
+        inputType: "Select",
+        referName: "tax_deduction_category", // 字典名
+        width: 180,
+       },
+      { key: "exchangeRate", title: "折本汇率", inputType: "Input", },
+      { key: "source", title: "上游单据号", inputType: "Input", width: 180 },
+      // { key: "sourceId", title: "上游单据ID", inputType: "Input", width: 180 },
+      // { key: "demandCode", title: "采购需求单号", inputType: "Input", width: 180 },
+      { key: "arrivalDatePlan", title: "计划到货日期", inputType: "Input", width: 180 },
+     
+      { key: "isDistributionPrice", title: "配送价", inputType: "Checkbox", },
+     
+      { //threeClass
+        key: "materialClassifyOneName", 
+        title: "物料一级分类", 
+        inputType: "Input",
+        width: 180,
+        disabled:true,
+        readonly:true, 
+      },
+      { //twoClass
+        key: "materialClassifyTwoName",
+        title: "物料二级分类", 
+        inputType: "Input",
+        width: 180,
+        disabled:true,
+        readonly:true, 
+      },
+      { //threeClass
+        key: "materialClassifyThreeName", 
+        title: "物料三级分类", 
+        inputType: "Input", 
+        width: 180,
+        disabled:true,
+        readonly:true,
+      },
+      { //fourClass
+        key: "materialClassifyFourName", 
+        title: "物料四级分类",
+        inputType: "Input", 
+        width: 180,
+        disabled:true,
+        readonly:true,
+      },
+      // { key: "createByName", title: "创建人", inputType: "Input", },
+      // { key: "updateByName", title: "更新人", inputType: "Input", },
+      
+    ]
+  },
+  {
+    title: '执行结果',
+    key: 'puOrderExecuteList',
+    tableColumns: [
+      // { key: "orderId", title: "采购订单ID", inputType: "Input", width: 180 },
+      { 
+        key: "rowno", 
+        title: "行号", 
+        inputType: "Input", 
+        disabled:true,
+        require:false,
+      },
+      {
+        key: "materialName",
+        title: "物料",
+        inputType: "PopoverSelect",
+        width: 180,
+        require: true,
+        valueKey: "id",
+        referName: "MATERIAL_PARAM",
+        dataMapping: {
+          material: "id",
+          materialName: "name",
+          materialCode: "code",
+          // materialClassify:'classifyIdName',
+          materialManufacturersCode:'manufacturersMaterialCode',
+          specification:'specification',
+          model:'model',
+          isMedcine:'isMedicine',
+          manufacturer:'manufacturerId',
+          manufacturerName:'manufacturerIdName',
+          unit:'unitId',
+          unitName:'unitIdName',
+          // tax:'materialRateName',
+          storageCondition:'storageCondition',
+          carriageCondition:'transportationCondition',
+          materialClassifyOneName:'oneClass',
+          materialClassifyTwoName:'twoClass',
+          materialClassifyThreeName:'threeClass',
+          materialClassifyFourName:'fourClass',
+          registration:'registrationNo',
+          isDrug:'isDrug',
+        },
+        queryParams: () => ({}),
+        width:180,
+      },
+      { 
+        key: "specification",
+        title: "规格", 
+        inputType: "Input", 
+        disabled:true,
+        readonly:true, 
+      },
+      {
+        key: "qty",
+        title: "数量",
+        inputType: "InputNumber",
+        controlsPosition: "right",
+        width: 180,
+        require: true,
+      },
+      { 
+        key: "stroageQty", 
+        title: "累计到货主数量", 
+        inputType: "InputNumber",
+        controlsPosition: "right",
+        width: 180, 
+      },
+      { 
+        key: "stockQty", 
+        title: "累计入库主数量", 
+        inputType: "InputNumber",
+        controlsPosition: "right",
+        width: 180, 
+      },
+      { 
+        key: "invoiceQty", 
+        title: "累计开票主数量", 
+        inputType: "InputNumber",
+        controlsPosition: "right",
+        width: 180, 
+      },
+      { 
+        key: "rollbackQty", 
+        title: "累计退货主数量", 
+        inputType: "InputNumber",
+        controlsPosition: "right",
+        width: 180, 
+      },
+      { 
+        key: "backStockQty", 
+        title: "累计退库主数量", 
+        inputType: "InputNumber",
+        controlsPosition: "right",
+        width: 180, 
+      },
+      { 
+        key: "floatQty", 
+        title: "未到货数量", 
+        inputType: "InputNumber",
+        controlsPosition: "right",
+        width: 180, 
+      },
+      // { 
+      //   key: "createByName", 
+      //   title: "创建人", 
+      //   inputType: "Input", 
+      //   width: 120 
+      // },
+      // { 
+      //   key: "updateByName", 
+      //   title: "更新人", 
+      //   inputType: "Input", 
+      //   width: 120 
+      // },
+    ]
+  },
+];
+
+
+// 集采中心
+const PurColumns =[];
+const PurchaseTabColumns =[];
+
+// 事业发展部
+const CauseColumns =[];
+const CauseTabColumns =[];
+// export const initTabColumns = () => tabColumns;

+ 97 - 39
src/views/purchase/purchase-order/add/index.vue

@@ -1,8 +1,12 @@
 <script>
 import orderApi from "@/api/business/purchase/purchase-order";
 import { initColumns, initDicts, initRules, initParams } from "@/utils/init/index.js";
-import { Columns, TabColumns } from "./column";
+// import { Columns, TabColumns } from "./column";
+import judgeColumns from "./column";
+import { tax, currency } from "@/components/popover-select-v2/fetch";
 
+const {Columns,TabColumns} = judgeColumns();
+    
 const NewColumns = initColumns(Columns);
 const NewTabColumns = TabColumns.map((element) => ({
   ...element,
@@ -20,14 +24,22 @@ NewTabColumns.forEach((column) => {
 
 export default {
   name: "AddPurchaseOrderDrawer",
+  props:{
+    // roles:{
+    //   type:[Array,String,Object],
+    //   require:true,
+    // }
+  },
   dicts: initDicts(SelectColumns),
   components: {
     FileUploadCenter: () => import("../components/FileUploadCenter/index.vue"),
     popDialog: () => import("@/components/PopDialog/index.vue"),
     BatchImport: () => import("@/components/BatchImport/index.vue"),
   },
+  
 
   data() {
+
     return {
       visible: false,
       loading:false,
@@ -45,7 +57,16 @@ export default {
       isCopy:false,
     };
   },
-  computed: {},
+  computed: {
+    role:{
+      get(){
+        let {roles} = this.$store.state.user;
+        return roles.find(item => item === "syfz-purchaseorder") || "procurementManager";
+        
+      },
+      set(){}
+    }
+  },
   watch: {
     "params.puOrderItemList": {
       handler(nVal, oVal) {
@@ -86,7 +107,6 @@ export default {
   },
   methods: {
     beforeOpen() {
-
       if(!this.isCopy){
 
         const { deptName, deptId, name, nickName, orgName, orgId } = this.$store.state.user;
@@ -97,6 +117,7 @@ export default {
         this.params.puDept = deptId;
         this.params.puDeptName = deptName;
         this.params.billDate = new Date().Format('yyyy-MM-dd');
+        this.params.createTime = new Date().Format('yyyy-MM-dd HH:mm:ss');
         console.log(this.params,'this.params');
         // this.addTableRow();
       }
@@ -208,6 +229,8 @@ export default {
               rowData["rowNo"] = this.params[key].length + 1;
               // 扣税类别
               rowData["taxDeductClassify"] = '1';
+              // 折本汇率
+              rowData["exchangeRate"] = '1';
               // 价格类型
               rowData["priceType"] = 'order';
               // 币种
@@ -217,7 +240,7 @@ export default {
           
 
           // 是否完成询价,新增明细行需默认明细为false
-          rowData["whetherCompleteInquiry"] = false;
+          // rowData["whetherCompleteInquiry"] = false;
           this.params[key].push(rowData);
         }
       }
@@ -292,18 +315,20 @@ export default {
           }
 
           // puOrderItemList
-         let isPrice =  this.params.puOrderItemList.filter(item => !item.whetherCompleteInquiry);
+        //  let isPrice =  this.params.puOrderItemList.filter(item => !item.whetherCompleteInquiry);
 
-         if(isPrice.length){
+         
 
-            this.$notify.error({
-              title: '错误',
-              message: '询价失败!'
-            });
-            return false
+        //  if(isPrice.length && this.role === 'procurementManager'){
+
+        //     this.$notify.error({
+        //       title: '错误',
+        //       message: '询价失败!'
+        //     });
+        //     return false
 
-         }
-         console.log(isPrice,'isPrice');
+        //  }
+        //  console.log(isPrice,'isPrice');
           cb();
         } else {
           this.$notify.error({
@@ -399,12 +424,12 @@ export default {
 
         if(detailList.length){
 
-          this.params['puOrderItemList'] = this.params['puOrderItemList'].map(item => {
+        //   this.params['puOrderItemList'] = this.params['puOrderItemList'].map(item => {
             
-            item['whetherCompleteInquiry'] = false
+        //     item['whetherCompleteInquiry'] = false
           
-            return item;
-          });
+        //     return item;
+        //   });
 
           await this.handleGetPrice();
         }
@@ -446,9 +471,9 @@ export default {
       // WMS仓库
       if(type === 'WAREHOUSE_PARAM'){
         this.judgeGoodsAllocation(val.csFlag);
-        this.params.goodsAllocation = ''
-        this.params.goodsAllocationName = ''
-        this.count++
+        source.goodsAllocation = ''
+        source.goodsAllocationName = ''
+        // this.count++
       }
     },
 
@@ -472,7 +497,7 @@ export default {
 
         source['qty'] = 0;
 
-        source['whetherCompleteInquiry'] = false;
+        // source['whetherCompleteInquiry'] = false;
 
         source['taxPrice'] = 0;
 
@@ -497,6 +522,23 @@ export default {
 
       }
 
+      // 物料触发税率
+      if( type == "MATERIAL_PARAM"){
+        let {rateCode} = source;
+        try {
+          // try
+          this.loading = true;
+          const { ntaxrate } = await tax(rateCode);
+          source.tax = ntaxrate === "0E-8" ? 0 : ntaxrate;
+        } catch (err) {
+          // catch
+          console.error(err);
+        } finally {
+          // finally
+          this.loading = false;
+        }
+      }
+
     },
 
     // 子表下拉框改变
@@ -504,7 +546,7 @@ export default {
      
       if(type == 'priceType' && row.material && row.qty && row.qty != ""){
 
-        row['whetherCompleteInquiry'] = false;
+        // row['whetherCompleteInquiry'] = false;
 
         await this.handleGetPrice();
       }
@@ -513,13 +555,20 @@ export default {
     // 子表inputNumber
     handleInputChange(row, type) {
       // 物料数量变化----询价
-      if (type == "qty" && row.material) {
+      if ((type == "qty" || type == "taxPrice" )&& row.material) {
 
-        row['whetherCompleteInquiry'] = false;
+        // row['whetherCompleteInquiry'] = false;
 
-        row.qty && this.handleGetPrice();
+        
+       this.handleGetPrice();
 
       }
+
+      // if(this.role === 'syfz-purchaseorder' && row.material && (type == "qty" ||type === "taxPrice" )){
+
+      //   row.money = row.qty * row.taxPrice;
+      // }
+
     },
 
     // 子表多选框改变
@@ -528,7 +577,7 @@ export default {
       // 勾选赠品,价税合计更新为0,含税单价、无税单价更新为0
       if(type === 'isGift' && source.material && source.qty && source.qty != ""){
 
-        source['whetherCompleteInquiry'] = false;
+        // source['whetherCompleteInquiry'] = false;
 
         this.handleGetPrice()
       }
@@ -537,18 +586,20 @@ export default {
     // 询价 getPrice
     async handleGetPrice() {
 
-      try {
-        
-        // action:insert(新增)、revise(修订)、update(编辑)
-        let { code, data } = await orderApi.getPrice({ ...this.params,action: 'insert' });
-
-        if (code == 200) {
-
-          this.params = data;
-
-        }
+        try {
+          
+          // action:insert(新增)、revise(修订)、update(编辑)
+          let { code, data } = await orderApi.getPrice({ ...this.params,action: 'insert' });
+  
+          if (code == 200) {
+  
+            this.params = data;
+  
+          }
+  
+        } catch (error) {} 
+      
 
-      } catch (error) {} 
     
     },
 
@@ -629,6 +680,12 @@ export default {
       this.download('/pu/order/downloadFailData',{}, `采购订单物料信息模板${new Date().getTime()}.xlsx`);
     },
 
+    // judgeRole(){
+    //   let {roles} = this.$store.state.user;
+    //   let role =  roles.find(item => item === "syfz-purchaseorder") || "procurementManager";
+    //   return role;
+    // },
+
 
   },
   created() {
@@ -943,9 +1000,10 @@ export default {
         </el-tabs>
         <el-row style="position: absolute; top: 20px; right: 20px">
           <el-button size="mini" @click="addTableRow(params[tabName])"
-            >增行</el-button
-          >
+            >增行</el-button>
+         
           <BatchImport
+            v-if="role === 'procurementManager'"
             ref="batchImport"
             @import="handelImport"
             @temDownload="handleTemDownload"

+ 75 - 38
src/views/purchase/purchase-order/edit/index.vue

@@ -2,6 +2,7 @@
 import { editColumns, editTabColumns, forbidden, SelectColumns } from "./initColumn";
 import orderApi from "@/api/business/purchase/purchase-order";
 import {  initDicts, initRules, initParams } from "@/utils/init/index.js";
+import { tax, currency } from "@/components/popover-select-v2/fetch";
 
 export default {
   name: "EditPurchaseOrderDrawer",
@@ -29,7 +30,16 @@ export default {
       count:1
     };
   },
-  computed: {},
+  computed: {
+    role:{
+      get(){
+        let {roles} = this.$store.state.user;
+        return roles.find(item => item === "syfz-purchaseorder") || "procurementManager";
+        
+      },
+      set(){}
+    }
+  },
   watch: {
     "params.contractType": function (newProp) {
       this.tabColumns = editTabColumns.filter((element) =>
@@ -169,6 +179,8 @@ export default {
               rowData["rowNo"] = this.params[key].length + 1;
               // 扣税类别
               rowData["taxDeductClassify"] = '1';
+              // 折本汇率
+              rowData["exchangeRate"] = '1';
               // 价格类型
               rowData["priceType"] = 'order';
               // 币种
@@ -177,7 +189,7 @@ export default {
 
             }
           // 是否完成询价,新增明细行需默认明细为false
-          rowData['whetherCompleteInquiry'] = false;
+          // rowData['whetherCompleteInquiry'] = false;
           rowData['delFlag'] = '0';
 
           this.params[key].push(rowData);
@@ -244,18 +256,18 @@ export default {
             return false;
           }
 
-          let isPrice =  _this.params.puOrderItemList.filter(item => !item.whetherCompleteInquiry);
+        //   let isPrice =  _this.params.puOrderItemList.filter(item => !item.whetherCompleteInquiry);
 
-         if(isPrice.length){
+        //  if(isPrice.length && this.role === 'procurementManager'){
 
-          _this.$notify.error({
-              title: '错误',
-              message: '询价失败!'
-            });
-            return false
+        //   _this.$notify.error({
+        //       title: '错误',
+        //       message: '询价失败!'
+        //     });
+        //     return false
 
-         }
-         console.log(isPrice,'isPrice');
+        //  }
+        //  console.log(isPrice,'isPrice');
           cb();
 
         } else {
@@ -359,12 +371,12 @@ export default {
         
         if(detailList.length){
 
-          this.params['puOrderItemList'] = this.params['puOrderItemList'].map(item => {
+          // this.params['puOrderItemList'] = this.params['puOrderItemList'].map(item => {
 
-            item['whetherCompleteInquiry'] = false
+          //   item['whetherCompleteInquiry'] = false
 
-            return item;
-          });
+          //   return item;
+          // });
 
           await this.handleGetPrice();
         }
@@ -407,9 +419,9 @@ export default {
       // WMS仓库
       if(type === 'WAREHOUSE_PARAM'){
         this.judgeGoodsAllocation(val.csFlag);
-        this.params.goodsAllocation = ''
-        this.params.goodsAllocationName = ''
-        this.count++
+        source.goodsAllocation = ''
+        source.goodsAllocationName = ''
+        // this.count++
       }
     },
     // 子表参照改变之后
@@ -420,7 +432,7 @@ export default {
 
         source['qty'] = 0;
 
-        source['whetherCompleteInquiry'] = false;
+        // source['whetherCompleteInquiry'] = false;
         
         source['taxPrice'] = 0;
 
@@ -446,6 +458,23 @@ export default {
 
       }
 
+      // 物料触发税率
+      if( type == "MATERIAL_PARAM"){
+        let {rateCode} = source;
+        try {
+          // try
+          this.loading = true;
+          const { ntaxrate } = await tax(rateCode);
+          source.tax = ntaxrate === "0E-8" ? 0 : ntaxrate;
+        } catch (err) {
+          // catch
+          console.error(err);
+        } finally {
+          // finally
+          this.loading = false;
+        }
+      }
+
     },
 
     // 子表Select改变之后
@@ -465,7 +494,7 @@ export default {
       // && row.qty
       if(type == 'priceType' && row.material  && row.qty != ""){
 
-        row['whetherCompleteInquiry'] = false;
+        // row['whetherCompleteInquiry'] = false;
 
         this.handleGetPrice();
 
@@ -476,7 +505,7 @@ export default {
 
 
       // 物料数量变化----询价
-      if (type == 'qty' && row.material ) {
+      if ((type == "qty" || type == "taxPrice" ) && row.material ) {
 
         if(this.params.status === '2'){
 
@@ -485,9 +514,9 @@ export default {
 
         }else{
 
-          row['whetherCompleteInquiry'] = false;
+          // row['whetherCompleteInquiry'] = false;
 
-          row.qty && this.handleGetPrice();
+          this.handleGetPrice();
 
         }
 
@@ -510,7 +539,7 @@ export default {
       // 勾选赠品,价税合计更新为0,含税单价、无税单价更新为0
       if(type === 'isGift' && source.material && source.qty && source.qty != ""){
 
-        source['whetherCompleteInquiry'] = false;
+        // source['whetherCompleteInquiry'] = false;
 
         this.handleGetPrice()
       }
@@ -518,21 +547,27 @@ export default {
     },
     // 询价 getPrice
     async handleGetPrice() {
-      try {
-        // action:insert(新增)、revise(修订)、update(编辑)
-        let { code, data } = await orderApi.getPrice({
-          ...this.params ,
-          action: this.handleIsRevise() ? 'revise':'update',
-        });
-        if (code == 200) {
-          this.params = data;
-          
-        }
-      } catch (error) {
 
-      } finally {
+      // if(this.role === 'procurementManager'){
+        
+        try {
+          // action:insert(新增)、revise(修订)、update(编辑)
+          let { code, data } = await orderApi.getPrice({
+            ...this.params ,
+            action: this.handleIsRevise() ? 'revise':'update',
+          });
+          if (code == 200) {
+            this.params = data;
+            
+          }
+        } catch (error) {
 
-      }
+        } finally {
+
+        }
+      // }
+
+      
     },
     // 修订——计算金额
     async handleCalculateOrderAmount(){
@@ -643,6 +678,7 @@ export default {
 
       this.download('/pu/order/downloadFailData',{}, `物料信息模板${new Date().getTime()}.xlsx`);
     },
+
   },
   created() {},
   mounted() { },
@@ -909,6 +945,7 @@ export default {
               编辑:自制:可删可增 -->
               <!-- v-if="!handleIsRevise()" -->
               <el-table-column 
+                v-if="!handleIsRevise()"
                 fixed="right" 
                 label="操作" 
                 width="120" >
@@ -930,7 +967,7 @@ export default {
           <el-button v-if="params.source == '3' && !handleIsRevise()" :size="size"
             @click="addTableRow(params[tabName])">增行</el-button>
           <BatchImport
-            v-if="params.source == '3' && !handleIsRevise()"
+            v-if="params.source == '3' && !handleIsRevise() && role === 'procurementManager'"
             ref="batchImport"
             @import="handelImport"
             @temDownload="handleTemDownload"

+ 4 - 1
src/views/purchase/purchase-order/edit/initColumn.js

@@ -1,7 +1,10 @@
-import { Columns, TabColumns } from "../add/column";
+// import { Columns, TabColumns } from "../add/column";
 import { initColumns, initParams } from "@/utils/init/index.js";
 import deepCopy from "@gby/deep-copy";
 // import {deepCopy} from "../dist/deep-copy.es"
+import judgeColumns from "../add/column";
+
+const { Columns, TabColumns } = judgeColumns();
 
 
 export const editColumns = initColumns(Columns);

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

@@ -2,8 +2,6 @@
 <script>
 import { TableColumns, SearchColumns, TabColumns, SelectColumns } from "./column";
 import orderApi from "@/api/business/purchase/purchase-order";
-import {saveAs} from "file-saver";
-import { blobValidate } from "@/utils/ruoyi";
 import {
   initPage,
   initParams,
@@ -779,7 +777,7 @@ export default {
                 type="text" 
                 size="mini"
                 @click.stop="handleBack(scope.row)"
-              >流程收回</el-button>
+              >收回</el-button>
               <el-button 
                 v-if="scope.row.flowId && scope.row.flowId !== '' && scope.row.status !== '9'" 
                 type="text" 

+ 4 - 1
src/views/purchase/purchase-order/see/index.vue

@@ -6,9 +6,12 @@ import {
   initRules,
   initParams,
 } from "@/utils/init/index.js";
-import { Columns, TabColumns } from "../add/column";
+// import { Columns, TabColumns } from "../add/column";
 import orderApi from "@/api/business/purchase/purchase-order";
 import { PRINT } from "@/api/business/purchase/task";
+import judgeColumns from "../add/column";
+
+const { Columns, TabColumns } = judgeColumns();
 
 const NewColumns = initColumns(Columns);
 const NewTabColumns = TabColumns.map((element) => ({

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.