فهرست منبع

采购退货单新增时,供应商收货地址从供应商里面自动带入,可编辑
通过询价单生成合同时,默认无法显示合同分类,必须要变更一下合同类型后,才能显示。
合同收付款列表,默认增加收付款三种类型
从配料计划来的采购计划,未默认显示为生产性
从配料计划来的采购计划,分类名称未带过来
新增销售订单时:
总重量、工艺路线等数据没有带过来
报价单生成合同时,合同分类默认无数据,选择合同类型后才会显示合同分类数据;
商机生成报价单时:
报价单产品列表:质保期单位变成了数字;
工艺路线未带过来;
报价单-销售主管审批节点付款方式没显示;
工艺路线、总重没显示;
报价单列表页面有税率有null值;
商机流程,商机客户代号没有了;
技术员节点计算总重有bug,保留两位小数;
商机列表、详情、流程页面有null值

Z 2 سال پیش
والد
کامیت
eda17405f1
25فایلهای تغییر یافته به همراه132 افزوده شده و 76 حذف شده
  1. BIN
      dist.rar
  2. 7 0
      src/components/AssetTree/index.vue
  3. 1 0
      src/enum/dict.js
  4. 9 0
      src/views/contractManage/contractBook/components/addDialog.vue
  5. 1 0
      src/views/contractManage/contractBook/components/detailDialog.vue
  6. 10 11
      src/views/contractManage/contractBook/components/inventoryTable.vue
  7. 4 4
      src/views/contractManage/contractBook/components/inventoryTabledetail.vue
  8. 9 0
      src/views/contractManage/contractBook/components/paymentList.vue
  9. 2 1
      src/views/purchasingManage/purchaseNeedManage/components/addDialog.vue
  10. 14 14
      src/views/purchasingManage/purchaseNeedManage/index.vue
  11. 2 2
      src/views/purchasingManage/purchaseOrder/components/detailDialog.vue
  12. 7 3
      src/views/purchasingManage/purchaseOrder/returnGoods/components/addReturnGoodsDialog.vue
  13. 10 5
      src/views/purchasingManage/purchasePlanManage/components/addDialog.vue
  14. 14 14
      src/views/purchasingManage/purchasePlanManage/index.vue
  15. 1 1
      src/views/saleManage/businessOpportunity/components/addOpportunityDialog.vue
  16. 5 4
      src/views/saleManage/businessOpportunity/components/opportunityDetailDialog.vue
  17. 3 3
      src/views/saleManage/businessOpportunity/index.vue
  18. 12 10
      src/views/saleManage/contact/components/addContactDialog.vue
  19. 4 0
      src/views/saleManage/contact/contactList.vue
  20. 4 0
      src/views/saleManage/contact/contactListAdmin.vue
  21. 7 0
      src/views/saleManage/contact/index.vue
  22. 1 0
      src/views/saleManage/quotation/components/addDialog.vue
  23. 2 1
      src/views/saleManage/quotation/components/detailDialog.vue
  24. 1 1
      src/views/saleManage/quotation/index.vue
  25. 2 2
      src/views/saleManage/saleOrder/invoice/components/detailDialog.vue

BIN
dist.rar


+ 7 - 0
src/components/AssetTree/index.vue

@@ -11,6 +11,7 @@
       @node-click="handleNodeClick"
       v-bind="$attrs"
       :default-expand-all="defaultExpandAll"
+      :default-expanded-keys="defaultExpandedKeys"
     >
     </el-tree>
   </div>
@@ -43,6 +44,12 @@
           return true;
         }
       },
+      defaultExpandedKeys: {
+        type: Array,
+        default:  ()=> {
+          return [];
+        }
+      },
       // 初始请求treeList
       init: {
         type: Boolean,

+ 1 - 0
src/enum/dict.js

@@ -24,6 +24,7 @@ export default {
   影响力:'influence_level_code',
   态度:'attittude_code',
   质保期单位:'date_unit',
+  保质期单位: 'date_unit',
   商机阶段:'business_stage_code',
   合同类型:'contract_type',
   销售类型:'order_type',

+ 9 - 0
src/views/contractManage/contractBook/components/addDialog.vue

@@ -426,6 +426,7 @@
       <inventoryTable
         ref="inventoryTable"
         :contractStartDate="this.form.contractStartDate"
+        :isCustomerMark="false"
         :isDiscountTotalPrice="true"
         :contractBookType="form.type"
       ></inventoryTable>
@@ -909,6 +910,13 @@
           this.isUpdate = false;
           userInfo.id = userInfo.userId;
           this.changePersonel();
+          if(row?.contractVO?.type){
+            this.dictChange(row.contractVO.type, 'init');
+          }
+           this.$nextTick(()=>{
+            this.$refs.paymentListTable.defaultList()
+           })
+          
           if (create) {
             this.create = create;
             //核价单生成的合同
@@ -1012,6 +1020,7 @@
             '结算方式',
             this.form.settlementMode
           );
+          
           let commitData = Object.assign(
             {},
             {

+ 1 - 0
src/views/contractManage/contractBook/components/detailDialog.vue

@@ -224,6 +224,7 @@
       <headerTitle title="产品清单"></headerTitle>
       <inventoryTabledetail
         ref="inventoryTabledetailRef"
+        :isCustomerMark="false"
         :contractBookType="form.type"
       ></inventoryTabledetail>
 

+ 10 - 11
src/views/contractManage/contractBook/components/inventoryTable.vue

@@ -486,7 +486,7 @@
         type: Boolean
       },
       isCustomerMark: {
-        default: false,
+        default: true,
         type: Boolean
       },
       contractBookType: {
@@ -501,6 +501,7 @@
         name: '',
         startTime: '',
         workHour: '',
+        guaranteePeriodUnitCode:'',
         technicalDrawings: []
       };
       return {
@@ -562,8 +563,8 @@
             prop: 'customerMark',
             label: '客户代号',
             slot: 'customerMark',
-            headerSlot: 'headerCustomerMark'
-            // show: this.isCustomerMark
+            headerSlot: 'headerCustomerMark',
+            show: this.isCustomerMark
           },
           {
             width: 160,
@@ -807,8 +808,6 @@
           : 'second';
       },
       setDay(addDay, dateType = 'day') {
-        console.log(addDay, 'addDay');
-        console.log(dateType, 'dateType');
         return dayjs(this.contractStartDate || new Date())
           .add(addDay, dateType)
           .format('YYYY-MM-DD');
@@ -822,11 +821,13 @@
             (v.totalCount &&
               v.singlePrice &&
               (v.totalCount * v.singlePrice)?.toFixed(2)) ||
-            null;
-          v.guaranteePeriodUnitName = this.getDictValue(
-            '质保期单位',
+            '';
+       if(v.guaranteePeriodUnitCode) {
+        v.guaranteePeriodUnitName = this.getDictValue(
+            '保质期单位',
             v.guaranteePeriodUnitCode
           );
+       }
           v.technicalDrawings = v.technicalDrawings ? v.technicalDrawings : [];
           v.customerReqFiles = v.customerReqFiles || [];
           v.industryArtFiles = v.industryArtFiles || [];
@@ -897,7 +898,7 @@
       //计算单重
       singleWeightChange(row) {
         if (row && row.singleWeight && row.totalCount) {
-          row.totalWeight = row.singleWeight * row.totalCount || 0;
+          row.totalWeight = (row.singleWeight * row.totalCount).toFixed(2) || 0;
         }
       },
       //选择产品
@@ -920,8 +921,6 @@
       },
       //选择产品回调
       changeParent(obj, idx) {
-        console.log(obj, '33333');
-
         this.$set(this.form.datasource[idx], 'categoryName', obj.name);
         this.$set(
           this.form.datasource[idx],

+ 4 - 4
src/views/contractManage/contractBook/components/inventoryTabledetail.vue

@@ -91,7 +91,7 @@
         type: Boolean
       },
       isCustomerMark: {
-        default: false,
+        default: true,
         type: Boolean
       },
       isSinglePrice: {
@@ -153,7 +153,7 @@
             prop: 'customerMark',
             label: '客户代号',
             slot: 'customerMark',
-            // show: this.isCustomerMark
+            show: this.isCustomerMark
           },
           {
             width: 160,
@@ -181,7 +181,7 @@
             label: '合计',
             slot: 'totalPrice',
             formatter: (_row, _column, cellValue) => {
-              return _row.totalPrice + '元';
+              return _row.totalPrice?_row.totalPrice + '元':'';
             }
           },
           {
@@ -236,7 +236,7 @@
             label: '质保期',
             slot: 'guaranteePeriod',
             formatter: (_row, _column, cellValue) => {
-              return _row.guaranteePeriod + _row.guaranteePeriodUnitName;
+              return (_row.guaranteePeriod||'') + _row.guaranteePeriodUnitName;
             }
           },
           {

+ 9 - 0
src/views/contractManage/contractBook/components/paymentList.vue

@@ -312,6 +312,15 @@
           n.key = index + 1;
         });
       },
+      defaultList(){
+        let params = ['预付款','交货款','质保金']
+        params.forEach((item,index)=>{
+          let i = JSON.parse(JSON.stringify(this.defaultForm));
+          i.moneyName = item
+          i.key = index + 1;
+          this.form.datasource.push(i)
+        })
+      },
       // 添加
       handlAdd() {
         let item = JSON.parse(JSON.stringify(this.defaultForm));

+ 2 - 1
src/views/purchasingManage/purchaseNeedManage/components/addDialog.vue

@@ -221,7 +221,8 @@
 
     methods: {
       listFormatte(data) {
-        return data.filter((item) => item.dictCode != 1);
+        return data
+        // return data.filter((item) => item.dictCode != 1);
       },
       // 获取公司数据
       getGroupAll() {

+ 14 - 14
src/views/purchasingManage/purchaseNeedManage/index.vue

@@ -183,13 +183,13 @@
             minWidth: 140
           },
 
-          {
-            prop: 'finishDate',
-            label: '完成日期',
-            align: 'center',
-            showOverflowTooltip: true,
-            minWidth: 140
-          },
+          // {
+          //   prop: 'finishDate',
+          //   label: '完成日期',
+          //   align: 'center',
+          //   showOverflowTooltip: true,
+          //   minWidth: 140
+          // },
           {
             prop: 'createTime',
             label: '创建时间',
@@ -205,13 +205,13 @@
             showOverflowTooltip: true,
             minWidth: 120
           },
-          {
-            prop: 'remark',
-            label: '备注',
-            align: 'center',
-            showOverflowTooltip: true,
-            minWidth: 170
-          },
+          // {
+          //   prop: 'remark',
+          //   label: '备注',
+          //   align: 'center',
+          //   showOverflowTooltip: true,
+          //   minWidth: 170
+          // },
           {
             columnKey: 'action',
             label: '操作',

+ 2 - 2
src/views/purchasingManage/purchaseOrder/components/detailDialog.vue

@@ -470,7 +470,7 @@
             label: '质保期',
             slot: 'guaranteePeriod',
             formatter: (_row, _column, cellValue) => {
-              return _row.guaranteePeriod + _row.guaranteePeriodUnitName;
+              return (_row.guaranteePeriod||'') + _row.guaranteePeriodUnitName;
             }
           },
           {
@@ -497,7 +497,7 @@
             label: '技术图纸',
             slot: 'technicalDrawings',
             formatter: (_row, _column, cellValue) => {
-              return _row.guaranteePeriod + _row.guaranteePeriodUnitName;
+              return (_row.guaranteePeriod||'') + _row.guaranteePeriodUnitName;
             }
           },
           {

+ 7 - 3
src/views/purchasingManage/purchaseOrder/returnGoods/components/addReturnGoodsDialog.vue

@@ -114,6 +114,7 @@
 </template>
 
 <script>
+import {contactDetail} from '@/api/saleManage/contact';
   import { numberReg } from 'ele-admin';
   import fileUpload from '@/components/upload/fileUpload';
   import dictMixins from '@/mixins/dictMixins';
@@ -217,6 +218,7 @@
       //选择订单回调
       changeOrder(obj) {
         this.getSendSaleOrderDetail(obj.id);
+
       },
 
       //发货单详情
@@ -225,11 +227,13 @@
         const data = await getReceiveSaleOrderrecordDetail(id);
         this.loading = false;
         if (data) {
-          this.$nextTick(() => {
+          this.$nextTick(async () => {
+    
+            const contactInfo = await contactDetail(data.supplierId);
             this.form = Object.assign({}, data, {
-              receiveId: data.id
+              receiveId: data.id,
+              receiveAddress:contactInfo.other?.addressName +  contactInfo.other?.address
             });
-            console.log(this.form, 'this.form');
             this.$refs.inventoryTableref &&
               this.$refs.inventoryTableref.putTableValue(data.productList);
           });

+ 10 - 5
src/views/purchasingManage/purchasePlanManage/components/addDialog.vue

@@ -51,14 +51,15 @@
               v-model="form.sourceType"
               :disabled="!!form.requirementCode"
               :listFormatte="listFormatte"
-              v-if="form.sourceType != 1"
+             
             >
+            <!--  v-if="form.sourceType != 1" -->
             </DictSelection>
-            <el-input
+            <!-- <el-input
               v-if="form.sourceType == 1"
               v-model="form.sourceTypeName"
               disabled
-            ></el-input>
+            ></el-input> -->
           </el-form-item>
         </el-col>
 
@@ -343,7 +344,10 @@
             { required: true, message: '请选择到货日期', trigger: 'change' }
           ],
           sourceId: [
-            { required: true, message: '请选择需求来源类型', trigger: 'change' }
+            { required: true, message: '请选择来源类型', trigger: 'change' }
+          ],
+          sourceType: [
+            { required: true, message: '请选择需求类型', trigger: 'change' }
           ]
         },
 
@@ -362,7 +366,8 @@
 
     methods: {
       listFormatte(data) {
-        return data.filter((item) => item.dictCode != 1);
+        return data
+        // return data.filter((item) => item.dictCode != 1);
       },
       // 获取公司数据
       getGroupAll() {

+ 14 - 14
src/views/purchasingManage/purchasePlanManage/index.vue

@@ -209,13 +209,13 @@
             minWidth: 140
           },
 
-          {
-            prop: 'finishDate',
-            label: '完成日期',
-            align: 'center',
-            showOverflowTooltip: true,
-            minWidth: 140
-          },
+          // {
+          //   prop: 'finishDate',
+          //   label: '完成日期',
+          //   align: 'center',
+          //   showOverflowTooltip: true,
+          //   minWidth: 140
+          // },
           {
             prop: 'createTime',
             label: '创建时间',
@@ -231,13 +231,13 @@
             showOverflowTooltip: true,
             minWidth: 120
           },
-          {
-            prop: 'remark',
-            label: '备注',
-            align: 'center',
-            showOverflowTooltip: true,
-            minWidth: 170
-          },
+          // {
+          //   prop: 'remark',
+          //   label: '备注',
+          //   align: 'center',
+          //   showOverflowTooltip: true,
+          //   minWidth: 170
+          // },
           {
             columnKey: 'action',
             label: '操作',

+ 1 - 1
src/views/saleManage/businessOpportunity/components/addOpportunityDialog.vue

@@ -117,7 +117,7 @@
     </el-form>
     <headerTitle title="产品清单"></headerTitle>
         
-    <inventoryTable ref="inventoryTable" :isDeliveryDeadline="false" :isGuaranteePeriod="false" pageName="businessOpportunity"></inventoryTable>
+    <inventoryTable ref="inventoryTable" :isCustomerMark="false" :isDeliveryDeadline="false" :isGuaranteePeriod="false" pageName="businessOpportunity"></inventoryTable>
     <headerTitle title="竞品"></headerTitle>
     <businessAddTable
       ref="businessAddTable"

+ 5 - 4
src/views/saleManage/businessOpportunity/components/opportunityDetailDialog.vue

@@ -56,12 +56,12 @@
           </el-col>
           <el-col :span="8">
             <el-form-item label="赢单率:" prop="winRate">
-              {{ detailData.winRate + '%' }}
+              {{detailData.winRate? detailData.winRate + '%' : '' }}
             </el-form-item>
           </el-col>
           <el-col :span="8">
             <el-form-item label="预算:" prop="budget">
-              {{ detailData.budget + '万元' }}
+              {{ detailData.budget? detailData.budget + '万元':'' }}
             </el-form-item>
           </el-col>
           <el-col :span="8">
@@ -99,6 +99,7 @@
       <headerTitle title="产品清单" style="margin-top: 15px"></headerTitle>
       <inventoryTabledetail
         ref="inventoryTabledetailRef"
+        :isCustomerMark="false"
         :isDeliveryDeadline="false"
         :isGuaranteePeriod="false"
       ></inventoryTabledetail>
@@ -307,7 +308,7 @@
             label: '质保期',
             slot: 'guaranteePeriod',
             formatter: (_row, _column, cellValue) => {
-              return _row.guaranteePeriod + _row.guaranteePeriodUnitName;
+              return (_row.guaranteePeriod||'') + _row.guaranteePeriodUnitName;
             }
           },
           {
@@ -334,7 +335,7 @@
             label: '技术图纸',
             slot: 'technicalDrawings',
             formatter: (_row, _column, cellValue) => {
-              return _row.guaranteePeriod + _row.guaranteePeriodUnitName;
+              return (_row.guaranteePeriod||'') + _row.guaranteePeriodUnitName;
             }
           },
           {

+ 3 - 3
src/views/saleManage/businessOpportunity/index.vue

@@ -59,7 +59,7 @@
               type="primary"
               :underline="false"
               icon="el-icon-plus"
-              v-if="[2].includes(row.approvalStatus)"
+              v-if="[2].includes(row.approvalStatus)&& row.hasQuote!=1"
               @click="addQuotation('add', row)"
             >
               生成报价
@@ -228,7 +228,7 @@
             showOverflowTooltip: true,
             minWidth: 140,
             formatter: (_row, _column, cellValue) => {
-              return _row.budget + '万元';
+              return _row.budget ? _row.budget + '万元' : '';
             }
           },
           {
@@ -238,7 +238,7 @@
             showOverflowTooltip: true,
             minWidth: 140,
             formatter: (_row, _column, cellValue) => {
-              return _row.winRate + '%';
+              return _row.winRate? _row.winRate + '%': '';
             }
           },
           {

+ 12 - 10
src/views/saleManage/contact/components/addContactDialog.vue

@@ -115,7 +115,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="8">
-              <el-form-item label="业类型" prop="companyCategoryId">
+              <el-form-item label="业类型" prop="companyCategoryId">
                 <DictSelection
                   dictName="企业类型"
                   clearable
@@ -137,15 +137,6 @@
                 </el-date-picker>
               </el-form-item>
             </el-col>
-            <el-col :span="8">
-              <el-form-item label="经营范围" prop="businessScope">
-                <el-input
-                  placeholder="请输入"
-                  v-model="form.businessScope"
-                  maxlength="100"
-                ></el-input>
-              </el-form-item>
-            </el-col>
             <el-col :span="8">
               <el-form-item label="主营产品" prop="mainProduct">
                 <el-input
@@ -180,6 +171,17 @@
                 />
               </el-form-item>
             </el-col>
+            <el-col :span="16">
+              <el-form-item label="经营范围" prop="businessScope">
+                <el-input
+                  type="textarea"
+                  :max="500"
+                  placeholder="请输入"
+                  v-model="form.businessScope"
+                  maxlength="100"
+                ></el-input>
+              </el-form-item>
+            </el-col>
             <el-col :span="16">
               <el-form-item label="备注" prop="remark">
                 <el-input

+ 4 - 0
src/views/saleManage/contact/contactList.vue

@@ -10,6 +10,8 @@
       <div class="ele-border-lighter sys-organization-list">
         <AssetTree
           @handleNodeClick="handleNodeClick"
+          :defaultExpandedKeys="defaultExpandedKeys"
+          :defaultExpandAll = false
           id="17"
           :isFirstRefreshTable="false"
           ref="treeList"
@@ -149,6 +151,7 @@
     data() {
       return {
         selection: [],
+        defaultExpandedKeys:[],
         delVisible: false,
         // 加载状态
         loading: false,
@@ -309,6 +312,7 @@
           if (res?.code === '0') {
             this.treeList = res.data;
             this.$nextTick(() => {
+              this.defaultExpandedKeys = this.treeList?.map(item=>item.id) ||[17]
               // 默认高亮第一级树节点
               // if (this.treeList[0]) {
               //   this.rootTreeId = this.treeList[0].id;

+ 4 - 0
src/views/saleManage/contact/contactListAdmin.vue

@@ -10,6 +10,8 @@
       <div class="ele-border-lighter sys-organization-list">
         <AssetTree
           @handleNodeClick="handleNodeClick"
+          :defaultExpandedKeys="defaultExpandedKeys"
+          :defaultExpandAll = false
           id="17"
           :isFirstRefreshTable="false"
           ref="treeList"
@@ -188,6 +190,7 @@
     data() {
       return {
         selection: [],
+        defaultExpandedKeys:[],
         delVisible: false,
         // 加载状态
         loading: false,
@@ -365,6 +368,7 @@
           if (res?.code === '0') {
             this.treeList = res.data;
             this.$nextTick(() => {
+              this.defaultExpandedKeys = this.treeList?.map(item=>item.id) ||[17]
               // 默认高亮第一级树节点
               // if (this.treeList[0]) {
               //   this.rootTreeId = this.treeList[0].id;

+ 7 - 0
src/views/saleManage/contact/index.vue

@@ -25,6 +25,8 @@
           <div class="ele-border-lighter sys-organization-list">
             <AssetTree
               @handleNodeClick="handleNodeClick"
+              :defaultExpandedKeys="defaultExpandedKeys"
+              :defaultExpandAll = false
               id="17"
               :isFirstRefreshTable="false"
               ref="treeList"
@@ -207,6 +209,7 @@
           { key: 'contactList', name: '客户列表' }
         ],
         selection: [],
+        defaultExpandedKeys:[],
         delVisible: false,
         // 加载状态
         loading: false,
@@ -367,6 +370,10 @@
           if (res?.code === '0') {
             this.treeList = res.data;
             this.$nextTick(() => {
+             // console.log(this.treeList);
+
+              this.defaultExpandedKeys = this.treeList?.map(item=>item.id) ||[17]
+             
               // 默认高亮第一级树节点
               // if (this.treeList[0]) {
               //   this.rootTreeId = this.treeList[0].id;

+ 1 - 0
src/views/saleManage/quotation/components/addDialog.vue

@@ -226,6 +226,7 @@
       <headerTitle title="报价单产品清单"></headerTitle>
       <inventoryTable
         ref="inventoryTable"
+        :isCustomerMark="false"
         :isDeliveryDeadline="false"
         :isGuaranteePeriod="false"
       ></inventoryTable>

+ 2 - 1
src/views/saleManage/quotation/components/detailDialog.vue

@@ -176,6 +176,7 @@
 
       <headerTitle title="报价单产品清单"></headerTitle>
       <inventoryTabledetail
+      :isCustomerMark="false"
         ref="inventoryTabledetailRef"
       ></inventoryTabledetail>
     </div>
@@ -304,7 +305,7 @@
             label: '质保期',
             slot: 'guaranteePeriod',
             formatter: (_row, _column, cellValue) => {
-              return _row.guaranteePeriod + _row.guaranteePeriodUnitName;
+              return (_row.guaranteePeriod||'') + _row.guaranteePeriodUnitName;
             }
           },
           // {

+ 1 - 1
src/views/saleManage/quotation/index.vue

@@ -227,7 +227,7 @@
             showOverflowTooltip: true,
             minWidth: 140,
             formatter: (_row, _column, cellValue) => {
-              return _row.taxRate + '%';
+              return _row.taxRate? _row.taxRate + '%' :'';
             }
           },
           {

+ 2 - 2
src/views/saleManage/saleOrder/invoice/components/detailDialog.vue

@@ -304,7 +304,7 @@
             label: '质保期',
             slot: 'guaranteePeriod',
             formatter: (_row, _column, cellValue) => {
-              return _row.guaranteePeriod + _row.guaranteePeriodUnitName;
+              return (_row.guaranteePeriod||'') + _row.guaranteePeriodUnitName;
             }
           },
           // {
@@ -331,7 +331,7 @@
             label: '技术图纸',
             slot: 'technicalDrawings',
             formatter: (_row, _column, cellValue) => {
-              return _row.guaranteePeriod + _row.guaranteePeriodUnitName;
+              return (_row.guaranteePeriod||'') + _row.guaranteePeriodUnitName;
             }
           },
           {