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

+ 10 - 0
src/api/purchasingManage/purchasePlanManage.js

@@ -96,3 +96,13 @@ export async function savePurchasePlanCutAPI(data) {
   }
   return Promise.resolve(0);
 }
+/**
+ * 判断是否计划负责任
+ */
+export async function isPlanPerson(id) {
+  const res = await request.get(`/eom/purchaseplan/isPlanPerson/${id}`);
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.resolve(0);
+}

+ 1 - 1
src/views/contractManage/contractBook/index.vue

@@ -397,7 +397,7 @@
             }
           },
           {
-            prop: 'totalPrice',
+            prop: 'discountTotalPrice',
             label: '合同总金额',
             align: 'center',
             showOverflowTooltip: true,

+ 59 - 62
src/views/financialManage/invoiceManage/components/addOrEditDialog.vue

@@ -20,7 +20,7 @@
     >
       <headerTitle title="基本信息"></headerTitle>
       <el-row :gutter="12">
-        <el-col :span="12">
+        <el-col :span="8">
           <el-form-item label="发票类型" prop="type">
             <el-select
               v-model="form.type"
@@ -33,7 +33,7 @@
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col :span="12" v-if="form.type">
+        <el-col :span="8" v-if="form.type">
           <el-form-item label="来源类型" prop="sourceType">
             <el-select
               v-model="form.sourceType"
@@ -58,7 +58,7 @@
             </el-select>
           </el-form-item>
         </el-col>
-        <el-col :span="12" v-if="form.sourceType == 1">
+        <el-col :span="8" v-if="form.sourceType == 1">
           <el-form-item label="对账单" prop="sourceCode">
             <el-input
               v-model="form.sourceCode"
@@ -67,7 +67,7 @@
             ></el-input>
           </el-form-item>
         </el-col>
-        <el-col :span="12" v-if="form.sourceType == 2">
+        <el-col :span="8" v-if="form.sourceType == 2">
           <el-form-item label="合同" prop="sourceCode">
             <el-input
               v-model="form.sourceCode"
@@ -76,7 +76,7 @@
             ></el-input>
           </el-form-item>
         </el-col>
-        <el-col :span="12" v-if="form.sourceType == 3">
+        <el-col :span="8" v-if="form.sourceType == 3">
           <el-form-item label="订单" prop="sourceCode">
             <el-input
               v-model="form.sourceCode"
@@ -85,7 +85,7 @@
             ></el-input>
           </el-form-item>
         </el-col>
-        <el-col :span="12" v-if="form.sourceType == 5">
+        <el-col :span="8" v-if="form.sourceType == 5">
           <el-form-item label="应收" prop="sourceCode">
             <el-input
               v-model="form.sourceCode"
@@ -94,7 +94,7 @@
             ></el-input>
           </el-form-item>
         </el-col>
-        <el-col :span="12" v-if="form.sourceType == 4">
+        <el-col :span="8" v-if="form.sourceType == 4">
           <el-form-item label="应付" prop="sourceCode">
             <el-input
               v-model="form.sourceCode"
@@ -103,7 +103,7 @@
             ></el-input>
           </el-form-item>
         </el-col>
-        <el-col :span="12">
+        <el-col :span="8">
           <el-form-item label="金额" prop="amount">
             <el-input-number
               v-model="form.amount"
@@ -115,7 +115,7 @@
           </el-form-item>
         </el-col>
 
-        <el-col :span="12">
+        <el-col :span="8">
           <el-form-item label="申请部门" prop="applyDeptId">
             <ele-tree-select
               clearable
@@ -129,7 +129,7 @@
             />
           </el-form-item>
         </el-col>
-        <el-col :span="12">
+        <el-col :span="8">
           <el-form-item label="申请人" prop="applyUserId">
             <personSelect
               ref="directorRef"
@@ -139,7 +139,7 @@
           </el-form-item>
         </el-col>
 
-        <el-col :span="12">
+        <el-col :span="8">
           <el-form-item label="预计开票日期">
             <el-date-picker
               style="width: 100%"
@@ -151,11 +151,26 @@
             </el-date-picker>
           </el-form-item>
         </el-col>
+        <el-col :span="8">
+          <el-form-item label="发票类型" prop="category">
+            <el-radio v-model="form.category" :label="2"
+              >增值税普通发票</el-radio
+            >
+            <el-radio v-model="form.category" :label="1"
+              >增值税专用发票</el-radio
+            >
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item prop="files" label="发票附件">
+            <fileMain v-model="form.files"></fileMain>
+          </el-form-item>
+        </el-col>
       </el-row>
-      <headerTitle title="购买方信息"></headerTitle>
+      <headerTitle title="发票信息"></headerTitle>
       <el-row :gutter="12">
         <el-col :span="12">
-          <el-form-item label="名称" prop="companyName">
+          <el-form-item label="购买方名称" prop="companyName">
             <el-input
               v-model="form.companyName"
               placeholder="请输入"
@@ -177,18 +192,6 @@
               </el-option>
             </el-select>
           </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="发票类型" prop="category">
-            <el-radio v-model="form.category" :label="2"
-              >增值税普通发票</el-radio
-            >
-            <el-radio v-model="form.category" :label="1"
-              >增值税专用发票</el-radio
-            >
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
           <el-form-item
             label="统一社会信用代码"
             prop="companyUsc"
@@ -196,40 +199,21 @@
           >
             <el-input v-model="form.companyUsc"></el-input>
           </el-form-item>
-        </el-col>
-
-        <el-col :span="12">
           <el-form-item label="开户银行" prop="companyBankBranchNo">
             <el-input v-model="form.companyBankBranchNo"></el-input>
           </el-form-item>
-        </el-col>
-        <el-col :span="12">
           <el-form-item label="银行账户" prop="companyBankAccount">
             <el-input v-model="form.companyBankAccount"></el-input>
           </el-form-item>
-        </el-col>
-
-        <el-col :span="12">
           <el-form-item label="地址" prop="companyAddress">
             <el-input v-model="form.companyAddress"></el-input>
           </el-form-item>
-        </el-col>
-        <el-col :span="12">
           <el-form-item label="电话号码" prop="companyTel">
             <el-input v-model="form.companyTel"></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="12">
-            <el-form-item prop="files" label="发票附件">
-              <fileMain v-model="form.files" ></fileMain>
-            </el-form-item>
-          </el-col>
-      </el-row>
-      <headerTitle title="销售方信息"></headerTitle>
-
-      <el-row :gutter="12">
-        <el-col :span="12">
-          <el-form-item label="名称" prop="receiverName">
+          <el-form-item label="销售方名称" prop="receiverName">
             <el-input
               v-model="form.receiverName"
               placeholder="请输入"
@@ -251,19 +235,28 @@
               </el-option>
             </el-select>
           </el-form-item>
-        </el-col>
-        <el-col :span="12">
+          <el-form-item
+            label="统一社会信用代码"
+            prop="salesCompanyUsc"
+            class="form_item_label"
+          >
+            <el-input v-model="form.salesCompanyUsc"></el-input>
+          </el-form-item>
+          <el-form-item label="开户银行" prop="salesCompanyBankBranchNo">
+            <el-input v-model="form.salesCompanyBankBranchNo"></el-input>
+          </el-form-item>
+          <el-form-item label="银行账户" prop="salesCompanyBankAccount">
+            <el-input v-model="form.salesCompanyBankAccount"></el-input>
+          </el-form-item>
           <el-form-item label="地址" prop="receiverAddress">
             <el-input v-model="form.receiverAddress"></el-input>
           </el-form-item>
-        </el-col>
-
-      </el-row>
-      <el-row :gutter="12">
-        <el-col :span="12">
-          <el-form-item label="联系方式" prop="receiverTel">
+          <el-form-item label="电话号码" prop="receiverTel">
             <el-input v-model="form.receiverTel"></el-input>
           </el-form-item>
+          <!-- <el-form-item prop="files" label="发票附件">
+            <fileMain v-model="form.files"></fileMain>
+          </el-form-item> -->
         </el-col>
       </el-row>
     </el-form>
@@ -394,6 +387,9 @@
     getAccountData: '',
     sourceId: '',
     sourceCode: '',
+    salesCompanyUsc: '',
+    salesCompanyBankBranchNo: '',
+    salesCompanyBankAccount: '',
     category: 1
   };
   export default {
@@ -565,27 +561,26 @@
           contactValue = await contactDetail(id);
         }
         const { base, other, bankList, linkList } = contactValue;
-        if (this.form.type == 2) {
+        if (this.form.type == 1) {
           this.form.companyName = base.name;
-          this.form.companyUsc =
-            data.partbUnifiedSocialCreditCode || base.unifiedSocialCreditCode;
-          this.form.companyAddress =
-            data.partbAddress || other?.addressName + other?.address;
+          this.form.companyUsc = base.unifiedSocialCreditCode;
+          this.form.companyAddress = other?.addressName + other?.address;
           this.form.companyTel =
             data.partbTel ||
             linkList.find((item) => item.ifChief == 1)?.mobilePhone;
 
           this.form.companyBankAccount = bankList[0]?.accountNo;
           this.form.companyBankBranchNo = bankList[0]?.bankName;
-          this.enterpriseChange(data.partaName);
+          // this.enterpriseChange(data.partbName);
         } else {
           this.form.receiverName = base.name;
-          this.form.receiverAddress =
-            data.partaAddress || other?.addressName + other?.address;
+          this.form.receiverAddress = other?.addressName + other?.address;
           this.form.receiverTel =
             data.partaTel ||
             linkList.find((item) => item.ifChief == 1)?.mobilePhone;
-          this.enterpriseChange(data.partbName);
+          this.form.salesCompanyUsc = base.unifiedSocialCreditCode;
+          this.form.salesCompanyBankAccount = bankList[0]?.accountNo;
+          this.form.salesCompanyBankBranchNo = bankList[0]?.bankName;
         }
       },
       //订单回调
@@ -770,6 +765,7 @@
       //系统公司信息
       enterpriseChange(name) {
         let data = this.enterprisePage.find((item) => item.name == name);
+
         if (this.form.type == 2) {
           this.form.companyName = data?.name;
           this.form.companyUsc = data?.unifiedSocialCreditCode;
@@ -778,6 +774,7 @@
         } else {
           this.form.receiverName = data?.name;
           this.form.receiverAddress = data?.address;
+          this.form.salesCompanyUsc = data?.unifiedSocialCreditCode;
           this.form.receiverTel = data?.tel;
         }
         this.$forceUpdate();

+ 46 - 51
src/views/financialManage/invoiceManage/components/detailDialog.vue

@@ -27,7 +27,7 @@
       <el-form ref="form" :model="form" class="el-form-box" label-width="140px">
         <headerTitle title="基本信息"></headerTitle>
         <el-row :gutter="12">
-          <el-col :span="12">
+          <el-col :span="8">
             <el-form-item label="发票类型" prop="type">
               <el-select v-model="form.type" disabled style="width: 100%">
                 <el-option label="开票" :value="1"></el-option>
@@ -35,7 +35,7 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="8">
             <el-form-item label="来源类型" prop="sourceType">
               <el-select
                 v-model="form.sourceType"
@@ -50,32 +50,32 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="12" v-if="form.sourceType == 1">
+          <el-col :span="8" v-if="form.sourceType == 1">
             <el-form-item label="对账单" prop="sourceCode">
               <el-input v-model="form.sourceCode" :disabled="true"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="12" v-if="form.sourceType == 2">
+          <el-col :span="8" v-if="form.sourceType == 2">
             <el-form-item label="合同" prop="sourceCode">
               <el-input v-model="form.sourceCode" :disabled="true"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="12" v-if="form.sourceType == 3">
+          <el-col :span="8" v-if="form.sourceType == 3">
             <el-form-item label="订单" prop="sourceCode">
               <el-input v-model="form.sourceCode" :disabled="true"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="12" v-if="form.sourceType == 5">
+          <el-col :span="8" v-if="form.sourceType == 5">
             <el-form-item label="应收" prop="sourceCode">
               <el-input v-model="form.sourceCode" :disabled="true"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="12" v-if="form.sourceType == 4">
+          <el-col :span="8" v-if="form.sourceType == 4">
             <el-form-item label="应付" prop="sourceCode">
               <el-input v-model="form.sourceCode" :disabled="true"></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="8">
             <el-form-item label="金额" prop="amount">
               <el-input-number
                 disabled
@@ -88,18 +88,18 @@
             </el-form-item>
           </el-col>
 
-          <el-col :span="12">
+          <el-col :span="8">
             <el-form-item label="申请部门" prop="applyDeptId">
               <el-input v-model="form.applyDeptName" disabled></el-input>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="8">
             <el-form-item label="申请人" prop="applyUserId">
               <el-input v-model="form.applyUserName" disabled></el-input>
             </el-form-item>
           </el-col>
 
-          <el-col :span="12">
+          <el-col :span="8">
             <el-form-item label="预计开票日期">
               <el-date-picker
                 style="width: 100%"
@@ -111,7 +111,7 @@
               </el-date-picker>
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="8">
             <el-form-item label="会计科目" prop="accountingSubjectName">
               <el-input
                 v-model="form.accountingSubjectName"
@@ -119,27 +119,28 @@
               ></el-input>
             </el-form-item>
           </el-col>
-
-          <el-col :span="12">
+          <el-col :span="8">
+            <el-form-item label="发票类型" prop="category">
+              <el-radio disabled v-model="form.category" :label="2"
+                >增值税普通发票</el-radio
+              >
+              <el-radio disabled v-model="form.category" :label="1"
+                >增值税专用发票</el-radio
+              >
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
             <el-form-item prop="files" label="发票附件">
               <fileMain v-model="form.files" type="view"></fileMain>
             </el-form-item>
           </el-col>
         </el-row>
-        <headerTitle title="购买方信息"></headerTitle>
+        <headerTitle title="发票信息"></headerTitle>
         <el-row :gutter="12">
           <el-col :span="12">
-            <el-form-item label="名称" prop="companyName">
+            <el-form-item label="购买方名称" prop="companyName">
               <el-input disabled v-model="form.companyName"></el-input>
             </el-form-item>
-          </el-col>
-          <el-col :span="12">
-          <el-form-item label="发票类型" prop="category">
-            <el-radio disabled v-model="form.category" :label="2">增值税普通发票</el-radio>
-            <el-radio disabled v-model="form.category" :label="1">增值税专用发票</el-radio>
-          </el-form-item>
-        </el-col>
-          <el-col :span="12">
             <el-form-item
               label="统一社会信用代码"
               class="form_item_label"
@@ -147,49 +148,43 @@
             >
               <el-input disabled v-model="form.companyUsc"></el-input>
             </el-form-item>
-          </el-col>
- 
-          <el-col :span="12">
             <el-form-item label="开户银行" prop="companyBankBranchNo">
               <el-input disabled v-model="form.companyBankBranchNo"></el-input>
             </el-form-item>
-          </el-col>
-          <el-col :span="12">
             <el-form-item label="银行账户" prop="companyBankAccount">
               <el-input disabled v-model="form.companyBankAccount"></el-input>
             </el-form-item>
-          </el-col>
- 
-          <el-col :span="12">
             <el-form-item label="地址" prop="companyAddress">
               <el-input disabled v-model="form.companyAddress"></el-input>
             </el-form-item>
-          </el-col>
-          <el-col :span="12">
             <el-form-item label="电话号码" prop="companyTel">
               <el-input disabled v-model="form.companyTel"></el-input>
             </el-form-item>
           </el-col>
-        </el-row>
-        <headerTitle title="销售方信息"></headerTitle>
 
-        <el-row :gutter="12">
           <el-col :span="12">
-            <el-form-item label="名称" prop="receiverName">
+            <el-form-item label="销售方名称" prop="receiverName">
               <el-input disabled v-model="form.receiverName"></el-input>
             </el-form-item>
-          </el-col>
-          <el-col :span="12">
-            <el-form-item label="地址" prop="receiverAddress">
-              <el-input disabled v-model="form.receiverAddress"></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row :gutter="12">
-          <el-col :span="12">
-            <el-form-item label="联系方式" prop="receiverTel">
-              <el-input disabled v-model="form.receiverTel"></el-input>
-            </el-form-item>
+            <el-form-item
+            label="统一社会信用代码"
+            prop="salesCompanyUsc"
+            class="form_item_label"
+          >
+            <el-input v-model="form.salesCompanyUsc" disabled></el-input>
+          </el-form-item>
+          <el-form-item label="开户银行" prop="salesCompanyBankBranchNo">
+            <el-input v-model="form.salesCompanyBankBranchNo" disabled></el-input>
+          </el-form-item>
+          <el-form-item label="银行账户" prop="salesCompanyBankAccount">
+            <el-input v-model="form.salesCompanyBankAccount" disabled></el-input>
+          </el-form-item>
+          <el-form-item label="地址" prop="receiverAddress">
+            <el-input v-model="form.receiverAddress" disabled></el-input>
+          </el-form-item>
+          <el-form-item label="电话号码" prop="receiverTel">
+            <el-input v-model="form.receiverTel" disabled></el-input>
+          </el-form-item>
           </el-col>
         </el-row>
       </el-form>
@@ -228,7 +223,7 @@
       tableInfo,
       personSelect,
       feeRelatedInfoTable,
-      bpmDetail,
+      bpmDetail
       // fileMain
     },
     data() {

+ 1 - 1
src/views/marketManagem/components/addOrEditDialog.vue

@@ -83,7 +83,7 @@
                 placeholder="请输入"
               ></el-input></el-form-item
           ></el-descriptions-item>
-          <el-descriptions-item label="负责人">
+          <el-descriptions-item label="客户名称">
             <el-form-item prop="commanderName">
               <el-autocomplete
                 class="inline-input"

+ 1 - 1
src/views/marketManagem/components/viewDialog.vue

@@ -55,7 +55,7 @@
           <el-descriptions-item label="人数">
             {{ form.numberOfVisitors }}
           </el-descriptions-item>
-          <el-descriptions-item label="负责人">
+          <el-descriptions-item label="客户名称">
             {{ form.commanderName }}
           </el-descriptions-item>
           <el-descriptions-item label="职位">

+ 12 - 3
src/views/purchasingManage/inquiryManage/components/inquiryManage-list.vue

@@ -52,7 +52,7 @@
   import {
     getTableList,
     isHasGeneratedContractPI,
-    isHasGeneratedInquiryAPI
+    isHasGeneratedInquiryAPI,isPlanPerson
   } from '@/api/purchasingManage/purchasePlanManage';
   import searchQuotation from '@/views/purchasingManage/purchasePlanManage/components/searchQuotation.vue';
 
@@ -208,7 +208,7 @@
         return getTableList({
           pageNum: page,
           size: limit,
-          status:2,
+          status: 2,
           ...where
         }).then((res) => {
           this.current = res.list.find((item) => item.planCode == this.radio);
@@ -221,7 +221,8 @@
       /* 刷新表格 */
       reload(where) {
         this.$nextTick(() => {
-          this.$refs.table&&this.$refs.table.reload({ pageNum: 1, where: where });
+          this.$refs.table &&
+            this.$refs.table.reload({ pageNum: 1, where: where });
         });
       },
 
@@ -256,6 +257,14 @@
         if (!this.current) {
           return this.$message.warning('请至少选择一条数据');
         }
+        if (this.generatedType == 'inquiry') {
+          let code = await isPlanPerson(this.current.id);
+          if (code == 1) {
+            return this.$message.warning(
+              '您不是该采购计划责任人,无法对该计划进行核价操作!'
+            );
+          }
+        }
         this.$emit('changeInquiryManageList', this.current);
         switch (this.generatedType) {
           case 'inquiry':

+ 16 - 13
src/views/purchasingManage/purchaseOrder/invoice/components/addInvoiceDialog.vue

@@ -166,14 +166,12 @@
 <script>
   import { acceptUnpackoptions } from '@/enum/dict';
   import dictMixins from '@/mixins/dictMixins';
-  import {
-    getByIdCondition
-  } from '@/api/purchasingManage/purchaseOrder';
+  import { getByIdCondition } from '@/api/purchasingManage/purchaseOrder';
 
   import {
     addReceiveInformation,
     UpdateReceiveInformation,
-    getReceiveSaleOrderrecordDetail,
+    getReceiveSaleOrderrecordDetail
   } from '@/api/purchasingManage/purchaseorderreceive';
   import inventoryTable from './inventoryTable.vue';
   import orderListDialog from './orderListDialog.vue';
@@ -191,7 +189,7 @@
       // fileMain,
       inventoryTable,
       orderListDialog,
-      outSourceSendDialog,
+      outSourceSendDialog
     },
     data() {
       let formDef = {
@@ -248,10 +246,10 @@
         // 是否是修改
         isUpdate: false,
         pickerOptions: {
-        disabledDate(time) {
-          return time.getTime() > Date.now();
+          disabledDate(time) {
+            return time.getTime() > Date.now();
+          }
         }
-      },
       };
     },
     computed: {
@@ -265,7 +263,9 @@
       changeOrder(obj) {
         this.form = Object.assign({}, this.form, {
           orderId: obj.id,
-          orderNo: obj.orderNo
+          orderNo: obj.orderNo,
+          outsourceSendCode: '',
+          outsourceSendId: ''
         });
         this.getPurchaseorderDetail(obj.id);
       },
@@ -402,8 +402,8 @@
       //获取委外发货单数据回调
       async getOutSourceInfo(row) {
         const data = await getPurchaseOutSourceSendDetailAPI(row.id);
-       let orderData = await getByIdCondition(data.orderId,2);
- 
+        let orderData = await getByIdCondition(data.orderId, 2);
+
         this.$nextTick(() => {
           let {
             carNo,
@@ -441,13 +441,16 @@
             carNo,
             pricingWay,
             outsourceSendCode: code,
-            outsourceSendId: id,
+            outsourceSendId: id
           });
           // productList.forEach((item) => {
           //   item.id = '';
           // });
           this.$refs.inventoryTableref &&
-            this.$refs.inventoryTableref.putTableValue(orderData.productList, code);
+            this.$refs.inventoryTableref.putTableValue(
+              orderData.productList,
+              code
+            );
         });
       },
       //打开新增编辑弹框

+ 85 - 158
src/views/purchasingManage/purchaseOrder/invoice/components/inventoryTable.vue

@@ -72,26 +72,19 @@
         <el-form-item
           style="margin-bottom: 20px"
           :prop="'datasource.' + scope.$index + '.sendTotalWeight'"
-          :rules="[
-            {
-              required: [2, 3].includes(Number(sourceType)) && pricingWay == 2,
-              message: '请输入数字',
-              trigger: 'blur'
-            }
-          ]"
         >
-          {{ scope.row.sendTotalWeight1 }}
           <el-input-number
             :controls="false"
             v-model="scope.row.sendTotalWeight"
-            @blur="changeSendTotalWeight(scope.$index)"
+            @blur="setIcreaseTotalWeight(scope.$index)"
             style="width: 60%; margin-right: 10px"
+            :disabled="!outsourceSendCode"
           >
           </el-input-number>
           <el-button
             size="small"
             type="primary"
-            v-if="[2, 3].includes(Number(sourceType)) && outsourceSendCode"
+            v-if="outsourceSendCode"
             @click.native="(e) => handleOutBound(e, scope.row, scope.$index)"
             >选择
           </el-button>
@@ -104,8 +97,7 @@
           <el-input-number
             :controls="false"
             v-model="scope.row.receiveTotalWeight"
-            @blur="changeSendTotalWeight(scope.$index)"
-
+            @blur="setIcreaseTotalWeight(scope.$index)"
             style="width: 100%"
           >
           </el-input-number>
@@ -118,8 +110,7 @@
           <el-input-number
             :controls="false"
             v-model="scope.row.increaseTotalWeight"
-            @blur="changeSendTotalWeight(scope.$index)"
-
+            :disabled="true"
             style="width: 100%"
           >
           </el-input-number>
@@ -702,17 +693,7 @@
         const data = this.warehouseList.find(
           (item) => item.id == row.warehouseId
         );
-        // if (warehouseIds.length > 0 && warehouseIds.includes(row.warehouseId)) {
-        //   row.warehouseId = '';
-        //   return this.$message.error('同一个产品不能选择相同的仓库');
-        // }
-        // this.form.datasource.forEach((item, i) => {
-        //   if (row.productCode == item.productCode && !item.warehouseId) {
-        //     this.$set(this.form.datasource[i], 'warehouseName', data.name);
-        //     this.$set(this.form.datasource[i], 'warehouseCode', data.code);
-        //     this.$set(this.form.datasource[i], 'warehouseId', data.id);
-        //   }
-        // });
+
         this.$set(this.form.datasource[index], 'warehouseName', data.name);
         this.$set(this.form.datasource[index], 'warehouseCode', data.code);
         this.$set(this.form.datasource[index], 'warehouseId', data.id);
@@ -732,7 +713,7 @@
             this.$set(this.form.datasource[i], 'warehouseId', data.id);
           }
         });
-        this.warehouseShow=false
+        this.warehouseShow = false;
       },
       handleTaskinstance(row, index) {
         this.taskinstanceDialogFlag = true;
@@ -749,11 +730,7 @@
           row.produceRoutingId
         );
       },
-      //修改发货总重
-      changeSendTotalWeight(index) {
-        this.curIndex = index;
-        this.setIcreaseTotalWeight();
-      },
+
       //出库单详情
       handleOutBound(e, rows, index) {
         this.curIndex = index;
@@ -773,7 +750,6 @@
           num += Number(row.weight);
           return num;
         }, 0);
-        console.log(totalWeight, 'totalWeight');
         this.$set(
           this.form.datasource[this.curIndex],
           'sendTotalWeight',
@@ -782,103 +758,77 @@
         this.$forceUpdate();
         this.$refs.table.reload();
 
-        console.log(
-          this.form.datasource[this.curIndex],
-          'this.form.datasource[this.curIndex]'
-        );
-        // this.setIcreaseTotalWeight();
+        this.setIcreaseTotalWeight(this.curIndex);
       },
       //修改数量更新合计/总重
       changeNum(val, index, row) {
-        this.curIndex = index;
-        if (row.pricingWay == 2) {
-          if (val != this.form.datasource[index].orderTotalCount) {
-            this.$set(this.form.datasource[index], 'sendTotalWeight', '');
-            this.$set(
-              this.form.datasource[index],
-              'receiveTotalWeight',
-              Number(val) * Number(this.form.datasource[index].singleWeight)
-            );
-          } else {
-            let find =
-              this.oldSendTotalWeightList.find(
-                (key) =>
-                  key.productCode == this.form.datasource[index].productCode
-              ) || {};
-            this.$set(
-              this.form.datasource[index],
-              'sendTotalWeight',
-              find.oldSendTotalWeight || ''
-            );
-            this.$set(
-              this.form.datasource[index],
-              'receiveTotalWeight',
-              Number(val) * Number(this.form.datasource[index].singleWeight)
-            );
-          }
-          this.setIcreaseTotalWeight();
-          this.getWeightPrice();
-        } else {
+        this.setWeight(index);
+        this.getTotalPrice(index);
+      },
+      setWeight(index) {
+        let data = this.form.datasource[index];
+        let totalCount = data.totalCount;
+        let singleWeight = data.singleWeight;
+        let sendTotalWeight = data.sendTotalWeight;
+        this.$set(
+          this.form.datasource[index],
+          'receiveTotalWeight',
+          totalCount * singleWeight || 0
+        );
+        this.$set(
+          this.form.datasource[index],
+          'increaseTotalWeight',
+          Number(this.form.datasource[index].receiveTotalWeight) -
+            Number(sendTotalWeight)
+        );
+      },
+      getTotalPrice(index) {
+        let data = this.form.datasource[index];
+        let singlePrice = data.singlePrice;
+        let discountSinglePrice = data.discountSinglePrice;
+        let totalCount = data.totalCount;
+        if (data['pricingWay'] == 2) {
+          let increaseTotalWeight = data.increaseTotalWeight;
           this.$set(
             this.form.datasource[index],
             'totalPrice',
-            (Number(this.form.datasource[index].singlePrice) * val).toFixed(2)
+            (Number(increaseTotalWeight) * Number(singlePrice)).toFixed(2)
           );
           this.$set(
             this.form.datasource[index],
             'discountTotalPrice',
-            (
-              Number(this.form.datasource[index].discountSinglePrice) * val
-            ).toFixed(2)
+            (Number(discountSinglePrice) * Number(increaseTotalWeight)).toFixed(
+              2
+            )
           );
+        }
+        if (this.form.datasource[index]['pricingWay'] == 1) {
           this.$set(
             this.form.datasource[index],
-            'receiveTotalWeight',
-            Number(this.form.datasource[index].totalCount) *
-              Number(this.form.datasource[index].singleWeight)
+            'totalPrice',
+            (Number(totalCount) * Number(singlePrice)).toFixed(2)
           );
           this.$set(
             this.form.datasource[index],
-            'increaseTotalWeight',
-            Number(this.form.datasource[index].totalCount) *
-              Number(this.form.datasource[index].singleWeight)
+            'discountTotalPrice',
+            (Number(totalCount) * Number(discountSinglePrice)).toFixed(2)
           );
         }
       },
-      getWeightPrice() {
-        if (this.form.datasource[this.curIndex]['pricingWay'] != 2) {
-          return;
-        }
-        let increaseTotalWeight =
-          this.form.datasource[this.curIndex].increaseTotalWeight;
-        let singlePrice = this.form.datasource[this.curIndex].singlePrice;
-        let discountSinglePrice =
-          this.form.datasource[this.curIndex].discountSinglePrice;
-        this.$set(
-          this.form.datasource[this.curIndex],
-          'totalPrice',
-          (Number(increaseTotalWeight) * Number(singlePrice)).toFixed(2)
-        );
-        this.$set(
-          this.form.datasource[this.curIndex],
-          'discountTotalPrice',
-          (Number(discountSinglePrice) * Number(increaseTotalWeight)).toFixed(2)
-        );
-      },
       //设置增重总重
-      setIcreaseTotalWeight() {
+      setIcreaseTotalWeight(index) {
         let receiveTotalWeight = Number(
-          this.form.datasource[this.curIndex].receiveTotalWeight
+          this.form.datasource[index].receiveTotalWeight
         );
         let sendTotalWeight = Number(
-          this.form.datasource[this.curIndex].sendTotalWeight
+          this.form.datasource[index].sendTotalWeight
         );
         this.$set(
-          this.form.datasource[this.curIndex],
+          this.form.datasource[index],
           'increaseTotalWeight',
           (receiveTotalWeight - sendTotalWeight).toFixed(2)
         );
-        this.getWeightPrice();
+        this.getTotalPrice(index);
         this.$refs.table.reload();
       },
       //选择产品回调
@@ -890,36 +840,6 @@
           this.form.datasource.length,
           copyObj(obj)
         );
-        this.form.datasource.forEach((item, index) => {
-          this.$set(
-            this.form.datasource[index],
-            'receiveTotalWeight',
-            item.receiveTotalWeight ||
-              Number(item.totalCount) * Number(item.singleWeight) ||
-              0
-          );
-
-          if (this.outsourceSendCode) {
-            this.$set(
-              this.form.datasource[index],
-              'increaseTotalWeight',
-              Number(item.receiveTotalWeight) - Number(item.sendTotalWeight)
-            );
-          } else {
-            this.$set(
-              this.form.datasource[index],
-              'increaseTotalWeight',
-              item.increaseTotalWeight || item.receiveTotalWeight || 0
-            );
-          }
-          this.$set(
-            this.form.datasource[index],
-            'sendTotalWeight',
-            item.sendTotalWeight || 0
-          );
-          item.pricingWay = item.pricingWay || this.pricingWay;
-          this.changeNum(item.totalCount, index, item);
-        });
       },
       changeParentMain(obj) {
         obj.forEach(async (item, index) => {
@@ -945,6 +865,8 @@
           this.$set(parasm, 'pricingWay', item.pricingWay || 1);
           this.$set(parasm, 'singlePrice', 0);
           this.$set(parasm, 'discountSinglePrice', 0);
+          this.$set(parasm, 'sendTotalWeight', 0);
+          this.$set(parasm, 'increaseTotalWeight', 0);
 
           this.$set(
             parasm,
@@ -1000,38 +922,43 @@
             };
           });
           this.form.datasource.forEach((item, index) => {
-            this.$set(
-              this.form.datasource[index],
-              'receiveTotalWeight',
-              item.receiveTotalWeight ||
-                Number(item.totalCount) * Number(item.singleWeight) ||
-                0
-            );
-            if (this.outsourceSendCode) {
-              this.$set(
-                this.form.datasource[index],
-                'increaseTotalWeight',
-                Number(item.receiveTotalWeight) - Number(item.sendTotalWeight)
-              );
-            } else {
-              this.$set(
-                this.form.datasource[index],
-                'increaseTotalWeight',
-                item.increaseTotalWeight || item.receiveTotalWeight || 0
-              );
-            }
-            this.$set(
-              this.form.datasource[index],
-              'sendTotalWeight',
-              item.sendTotalWeight || 0
-            );
-            item.pricingWay = item.pricingWay || this.pricingWay;
-            this.changeNum(item.totalCount, index, item);
+            this.init(item, index);
+            this.getTotalPrice(index);
           });
           this.$refs.table.reload();
           this.$forceUpdate();
         });
       },
+      init(item, index) {
+        this.$set(
+          this.form.datasource[index],
+          'receiveTotalWeight',
+          item.receiveTotalWeight ||
+            item.totalWeight ||
+            Number(item.totalCount) * Number(item.singleWeight) ||
+            0
+        );
+        if (this.outsourceSendCode) {
+          this.$set(
+            this.form.datasource[index],
+            'sendTotalWeight',
+            item.totalWeight || 0
+          );
+          this.$set(
+            this.form.datasource[index],
+            'increaseTotalWeight',
+            Number(this.form.datasource[index].receiveTotalWeight) -
+              Number(this.form.datasource[index].sendTotalWeight)
+          );
+        } else {
+          this.$set(
+            this.form.datasource[index],
+            'increaseTotalWeight',
+            item.increaseTotalWeight || item.receiveTotalWeight || 0
+          );
+        }
+        this.$set(this.form.datasource[index], 'pricingWay', 2);
+      },
 
       remove(i) {
         this.form.datasource.splice(i, 1);

+ 10 - 4
src/views/purchasingManage/purchasePlanManage/index.vue

@@ -329,7 +329,8 @@
   import dictMixins from '@/mixins/dictMixins';
   import {
     getTableList,
-    deleteInformation
+    deleteInformation,
+    isPlanPerson
   } from '@/api/purchasingManage/purchasePlanManage';
   import splitDialog from './components/splitDialog.vue';
   import { purchasePlanProgressStatusEnum } from '@/enum/dict';
@@ -338,7 +339,6 @@
   import { parameterGetByCode } from '@/api/main/index.js';
   import { orderSourceType } from '@/enum/dict';
   import exportButton from '@/components/upload/exportButton.vue';
-
   export default {
     mixins: [dictMixins],
     components: {
@@ -367,7 +367,7 @@
         splitDialogFlag: false, // 加载状态
         isAddInquiry: 0,
         orderSourceType,
-        params:{}
+        params: {}
       };
     },
     //客户管理数据
@@ -556,7 +556,7 @@
           pageNum: pageNum,
           size: pageSize,
           ...where
-        }
+        };
         const row = await getTableList(this.params);
         this.tableList = row.list;
         this.total = row.count;
@@ -625,6 +625,12 @@
       },
       //新增核价
       async addInquiry(type, row) {
+        let code = await isPlanPerson(row.id);
+        if (code == 1) {
+          return this.$message.warning(
+            '您不是该采购计划责任人,无法对该计划进行核价操作!'
+          );
+        }
         await this.$router.push({
           path: '/purchasingManage/inquiryManage/components/addDialog',
           query: {

+ 37 - 12
src/views/saleManage/businessOpportunity/index.vue

@@ -61,7 +61,7 @@
               type="primary"
               :underline="false"
               icon="el-icon-edit"
-              @click="assign(row)"
+              @click="handHead(row)"
             >
               转派
             </el-link>
@@ -169,7 +169,8 @@
       ref="processSubmitDialogRef"
       @reload="reload"
     ></process-submit-dialog>
-    <assignDialog ref="assignDialogRef" @success="reload"></assignDialog>
+    <!-- <assignDialog ref="assignDialogRef" @success="reload"></assignDialog> -->
+    <headList ref="headRef" @changeParent="changePersonel"></headList>
   </div>
 </template>
 
@@ -184,18 +185,20 @@
   import popModal from '@/components/pop-modal';
   import {
     getTableList,
-    submit,
     deleteInformation,
-    updateStatus
+    updateStatus,
+    getDetail,
+    UpdateInformation
   } from '@/api/saleManage/businessOpportunity';
   import dictMixins from '@/mixins/dictMixins';
   import assignDialog from './components/assignDialog';
   import { reviewStatus } from '@/enum/dict';
   import { businessOpportunityUpdateStatusAPI } from '@/BIZComponents/processSubmitDialog/api';
   import tabMixins from '@/mixins/tableColumnsMixin';
+  import headList from '@/BIZComponents/user-select/user-select.vue';
 
   export default {
-    mixins: [dictMixins,tabMixins],
+    mixins: [dictMixins, tabMixins],
     components: {
       opportunitySearch,
       followList,
@@ -205,12 +208,13 @@
       addQuotation,
       drawer,
       processSubmitDialog,
-      assignDialog
+      // assignDialog,
+      headList
     },
     props: {
       contactId: '',
       contactName: '',
-      contactStatus:''
+      contactStatus: ''
     },
     data() {
       return {
@@ -431,8 +435,9 @@
           children: 'children',
           label: 'name'
         },
+        form: {},
         showEdit: true,
-        cacheKeyUrl:"eos-eaf1548b-businessOpportunity"
+        cacheKeyUrl: 'eos-eaf1548b-businessOpportunity'
       };
     },
     computed: {},
@@ -441,6 +446,26 @@
     },
     methods: {
       businessOpportunityUpdateStatusAPI,
+      async handHead(row) {
+        this.form = await getDetail(row.id);
+        this.$refs.headRef.open();
+      },
+      changePersonel(obj) {
+        // console.log(obj)
+        this.$set(this.form, 'responsibleId', obj.id);
+        this.$set(this.form, 'responsibleName', obj.name);
+        const commitData = {
+          opportunity: this.form,
+          competAnalysisList: this.form.competAnalysisList,
+          partyList: this.form.partyList,
+          productList: this.form.productList
+        };
+        UpdateInformation(commitData).then((res) => {
+          this.$message.success('转派成功');
+          this.reload();
+        });
+      },
+
       /* 表格数据源 */
       datasource({ page, limit, where, order }) {
         if (this.contactId) {
@@ -469,9 +494,9 @@
       reload(where) {
         this.$refs.table.reload({ page: 1, where });
       },
-      assign(row) {
-        this.$refs.assignDialogRef.open(row.id);
-      },
+      // assign(row) {
+      //   this.$refs.assignDialogRef.open(row.id);
+      // },
       openEdit(type, row) {
         this.current = row;
         this.showEdit = true;
@@ -547,7 +572,7 @@
             variables: {
               businessCode: res.code,
               businessName: res.name,
-              businessType:res.sourceName
+              businessType: res.sourceName
             }
 
             // callBackMethodType : '1',

+ 3 - 3
src/views/saleManage/contact/components/addContactDialog.vue

@@ -1078,9 +1078,9 @@
           // settlementMode: [
           //   { required: true, message: '请输入结算方式', trigger: 'blur' }
           // ],
-          // addressId: [
-          //   { required: true, message: '请选择地址', trigger: 'change' }
-          // ]
+          addressId: [
+            { required: true, message: '请选择地址', trigger: 'change' }
+          ]
         },
         options: {
           cityData,

+ 14 - 8
src/views/saleManage/contact/contactList.vue

@@ -92,9 +92,9 @@
             <el-link
               type="primary"
               v-if="
-                (isNeed_process_is_close &&
-                  [0, 3].includes(row.approvalStatus)) ||
-                !isNeed_process_is_close
+                [0, 3].includes(row.approvalStatus) ||
+                ([2].includes(row.approvalStatus) &&
+                  contact_approval_afterupdate == 1)
               "
               :underline="false"
               icon="el-icon-edit"
@@ -111,9 +111,9 @@
               <template v-slot:reference>
                 <el-link
                   v-if="
-                    (isNeed_process_is_close &&
-                      [0, 3].includes(row.approvalStatus)) ||
-                    !isNeed_process_is_close
+                    [0, 3].includes(row.approvalStatus) ||
+                    ([2].includes(row.approvalStatus) &&
+                      contact_approval_afterupdate == 1)
                   "
                   type="danger"
                   :underline="false"
@@ -176,6 +176,7 @@
   import tabMixins from '@/mixins/tableColumnsMixin';
   import importDialog from '@/components/upload/import-dialog.vue';
   import exportButton from '@/components/upload/exportButton.vue';
+  import { parameterGetByCode } from '@/api/main/index.js';
 
   export default {
     mixins: [dictMixins, tabMixins],
@@ -194,6 +195,7 @@
       return {
         selection: [],
         defaultExpandedKeys: [],
+        contact_approval_afterupdate: 0,
         params: {},
         delVisible: false,
         // 加载状态
@@ -370,6 +372,11 @@
     created() {
       this.requestDict('状态');
       this.getTreeData();
+      parameterGetByCode({
+        code: 'contact_approval_afterupdate'
+      }).then((res) => {
+        this.contact_approval_afterupdate = res.value;
+      });
     },
     methods: {
       /* 表格数据源 */
@@ -380,8 +387,7 @@
           assignStatus: 0,
           type: 1,
           ...where,
-          categoryId:this.curNodeData.id,
-
+          categoryId: this.curNodeData.id
         };
         return contactPage(this.params);
       },

+ 17 - 33
src/views/saleManage/contact/contactListAdmin.vue

@@ -56,17 +56,6 @@
             >
               新建
             </el-button>
-            <!--            <el-button-->
-            <!--              size="small"-->
-            <!--              type="danger"-->
-            <!--              el-icon-delete-->
-            <!--              class="ele-btn-icon"-->
-            <!--              v-if="$hasPermission('eom:contact:delete')"-->
-            <!--              @click="allDelBtn"-->
-            <!--              :disabled="selection?.length === 0"-->
-            <!--            >-->
-            <!--              批量删除-->
-            <!--            </el-button>-->
             <el-button
               size="small"
               type="primary"
@@ -122,26 +111,17 @@
               v-if="
                 row.assignStatus !== 1 &&
                 $hasPermission('eom:contact:update') &&
-                [0, 3].includes(row.approvalStatus)
+                (([2].includes(row.approvalStatus) &&
+                  contact_approval_afterupdate == 1) ||
+                  [0, 3].includes(row.approvalStatus))
               "
             >
               修改
             </el-link>
-            <!-- <el-link-->
-            <!--              type="primary"-->
-            <!--              v-if="isNeed_process_is_close&&[0, 3].includes(row.approvalStatus)"-->
-            <!--              :underline="false"-->
-            <!--              icon="el-icon-plus"-->
-            <!--              @click="sub(row)"-->
-            <!--            >-->
-            <!--              提交-->
-            <!--            </el-link> -->
             <el-link
               type="primary"
               v-if="
-                row.assignStatus === 0 &&
-                $hasPermission('eom:contact:assign') &&
-                [2].includes(row.approvalStatus)
+                row.assignStatus === 0 && $hasPermission('eom:contact:assign')
               "
               :underline="false"
               @click="assign('', row)"
@@ -189,13 +169,11 @@
               class="ele-action"
               title="确定要删除此信息吗?"
               v-if="
-                (row.assignStatus !== 1 &&
-                  $hasPermission('eom:contact:delete') &&
-                  [0, 3].includes(row.approvalStatus) &&
-                  isNeed_process_is_close) ||
-                (row.assignStatus !== 1 &&
-                  $hasPermission('eom:contact:delete') &&
-                  !isNeed_process_is_close)
+                row.assignStatus !== 1 &&
+                $hasPermission('eom:contact:delete') &&
+                (([2].includes(row.approvalStatus) &&
+                  contact_approval_afterupdate == 1) ||
+                  [0, 3].includes(row.approvalStatus))
               "
               @confirm="remove(row)"
             >
@@ -264,6 +242,7 @@
   import tabMixins from '@/mixins/tableColumnsMixin';
   import importDialog from '@/components/upload/import-dialog.vue';
   import exportButton from '@/components/upload/exportButton.vue';
+  import { parameterGetByCode } from '@/api/main/index.js';
 
   export default {
     mixins: [dictMixins, tabMixins],
@@ -286,6 +265,7 @@
         defaultExpandedKeys: [],
         delVisible: false,
         processSubmitDialogFlag: false,
+        contact_approval_afterupdate: 0,
         params: {},
         // 加载状态
         loading: false,
@@ -472,6 +452,11 @@
     created() {
       this.requestDict('状态');
       this.getTreeData();
+      parameterGetByCode({
+        code: 'contact_approval_afterupdate'
+      }).then((res) => {
+        this.contact_approval_afterupdate = res.value;
+      });
     },
     methods: {
       /* 表格数据源 */
@@ -481,8 +466,7 @@
           size: limit,
           type: 1,
           ...where,
-          categoryId:this.curNodeData.id,
-
+          categoryId: this.curNodeData.id
         };
         return contactPage(this.params);
       },

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

@@ -288,6 +288,7 @@
         :isArrivalWay="true"
         :cacheKeyUrl="cacheKeyUrl"
         :isGoods="true"
+        :isSinglePrice="form.needProduce != 2"
       ></inventoryTable>
       <headerTitle
         title="类型清单"