Browse Source

企业信息

yusheng 2 năm trước cách đây
mục cha
commit
8a14fa295c

+ 10 - 0
src/api/contractManage/contractBook.js

@@ -81,3 +81,13 @@ export async function getContractReview(params) {
   }
   return Promise.reject(new Error(res.data.message));
 }
+/**
+ * 企业信息
+ */
+export async function enterprisePage(params) {
+  const res = await request.get(`/main/enterprise/page`, { params });
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}

+ 90 - 5
src/views/contractManage/contractBook/components/addDialog.vue

@@ -23,6 +23,7 @@
               clearable
               v-model="form.type"
               @itemChange="dictChange"
+              :disabled="create"
             >
             </DictSelection>
           </el-form-item>
@@ -128,7 +129,23 @@
                 clearable
                 v-model="form.partaName"
                 placeholder="请输入"
+                v-if="enterprisePage.length <= 1"
               />
+              <el-select
+                v-if="enterprisePage.length > 1"
+                style="width: 100%"
+                v-model="form.partaName"
+                placeholder="请选择"
+                @change="getEnterprise(1)"
+              >
+                <el-option
+                  v-for="item in enterprisePage"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.name"
+                >
+                </el-option>
+              </el-select>
             </template>
             <template v-else>
               <el-input
@@ -249,7 +266,23 @@
                 clearable
                 v-model="form.partbName"
                 placeholder="请输入"
+                v-if="enterprisePage.length <= 1"
               />
+              <el-select
+                v-if="enterprisePage.length > 1"
+                style="width: 100%"
+                v-model="form.partbName"
+                placeholder="请选择"
+                @change="getEnterprise(1)"
+              >
+                <el-option
+                  v-for="item in enterprisePage"
+                  :key="item.id"
+                  :label="item.name"
+                  :value="item.name"
+                >
+                </el-option>
+              </el-select>
             </el-form-item>
           </template>
 
@@ -378,6 +411,7 @@
   import supplierList from '@/views/purchasingManage/supplierManage/components/parentList.vue';
   import paymentList from './paymentList.vue';
   import { copyObj } from '@/utils/util';
+  import { enterprisePage } from '@/api/contractManage/contractBook';
 
   export default {
     props: {
@@ -518,7 +552,12 @@
             { validator: this.validateEndDate, trigger: 'blur' }
           ]
         },
-
+        enterprise: {
+          address: '',
+          unifiedSocialCreditCode: '',
+          tel: '',
+          name: ''
+        },
         options: {
           cityData,
           categoryData
@@ -531,9 +570,21 @@
         // 组织机构树形结构数据
         groupTreeData: [],
         // 组织机构平铺数据
-        groupData: []
+        groupData: [],
+        enterprisePage: [],
+        create: false
       };
     },
+    created() {
+      enterprisePage({
+        pageNum: 1,
+        size: 200
+      }).then((res) => {
+        this.enterprisePage = [];
+        this.enterprisePage.push(...res.list);
+        this.getEnterprise();
+      });
+    },
 
     methods: {
       //开始日期验证
@@ -592,8 +643,8 @@
         }
       },
       //签订日期 更新
-      setDeliveryDays(){
-        this.$refs.inventoryTable.setDeliveryDays('','','',true);
+      setDeliveryDays() {
+        this.$refs.inventoryTable.setDeliveryDays('', '', '', true);
       },
 
       //更新联系人数据
@@ -633,6 +684,38 @@
           categoryName: '',
           categoryId: ''
         });
+        this.getEnterprise();
+      },
+      getEnterprise(type) {
+        let key = this.form.type == '1' || !this.form.type ? 'partb' : 'parta';
+        let keyArr = [
+          key + 'Name',
+          key + 'UnifiedSocialCreditCode',
+          key + 'Tel',
+          key + 'Address'
+        ];
+        if (type === 1) {
+          let data = this.enterprisePage.find(
+            (item) => item.name == this.form[keyArr[0]]
+          );
+          this.form[keyArr[0]] = data.name;
+          this.form[keyArr[1]] = data.unifiedSocialCreditCode;
+          this.form[keyArr[2]] = data.tel;
+          this.form[keyArr[3]] = data.address;
+          return;
+        }
+        if (this.enterprisePage.length > 0) {
+          console.log('dsds');
+          this.form[keyArr[0]] =
+            this.form[keyArr[0]] || this.enterprisePage[0].name;
+          this.form[keyArr[1]] =
+            this.form[keyArr[1]] ||
+            this.enterprisePage[0].unifiedSocialCreditCode;
+          this.form[keyArr[2]] =
+            this.form[keyArr[2]] || this.enterprisePage[0].tel;
+          this.form[keyArr[3]] =
+            this.form[keyArr[3]] || this.enterprisePage[0].address;
+        }
       },
       //选择合同分类
       treeChange(val) {
@@ -725,9 +808,11 @@
         this.title = type === 'add' ? '新增' : '修改';
         this.row = row;
         this.visible = true;
+        this.create = create;
         if (type == 'add') {
           this.isUpdate = false;
           if (create) {
+            this.create = create;
             //核价单生成的合同
             this.$nextTick(() => {
               let { contractVO } = row;
@@ -738,7 +823,7 @@
                 this.$refs.paymentListTable.putTableValue(
                   row.receiptPaymentList
                 );
-
+              this.getEnterprise();
               this.getLinkInfo(
                 contractVO.type == '2' ? contractVO.partbId : contractVO.partaId
               );

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

@@ -323,7 +323,7 @@ export default {
       
       //新增编辑
       openEdit(type,row) {
-        this.$refs.addDialogRef.open( type,row, row.id);
+        this.$refs.addDialogRef.open( type,row);
         this.$refs.addDialogRef.$refs.form &&
         this.$refs.addDialogRef.$refs.form.clearValidate();
       },

+ 70 - 22
src/views/saleManage/quotation/components/addDialog.vue

@@ -13,12 +13,29 @@
       <headerTitle title="基本信息"></headerTitle>
       <el-row>
         <el-col :span="12">
+  
+          <el-form-item
+            label="询价方名称"
+            prop="contactName"
+            style="margin-bottom: 22px"
+          >
+            <el-input
+              clearable
+              v-model="form.contactName"
+              @click.native="handParent"
+              placeholder="请输入"
+            />
+          </el-form-item>
           <el-form-item
             label="关联商机"
             prop="opportunityId"
             style="margin-bottom: 22px"
           >
-            <el-select v-model="form.opportunityId" placeholder="请选择" style="width: 100%;">
+            <el-select
+              v-model="form.opportunityId"
+              placeholder="请选择"
+              style="width: 100%"
+            >
               <el-option
                 v-for="item in businessList"
                 :key="item.id"
@@ -28,26 +45,14 @@
               </el-option>
             </el-select>
           </el-form-item>
-          <el-form-item
-            label="询价方名称"
-            prop="contactName"
-            style="margin-bottom: 22px"
-          >
-            <el-input
-              clearable
-              v-model="form.contactName"
-              @click.native="handParent"
-              placeholder="请输入"
-            />
-          </el-form-item>
-        
           <el-form-item
             label="询价方联系人"
             prop="contactLinkName"
             style="margin-bottom: 22px"
           >
             <el-select
-              v-model="form.contactLinkName" style="width: 100%;"
+              v-model="form.contactLinkName"
+              style="width: 100%"
               placeholder="请选择"
               @change="onchangeLink"
               @focus="selectFocus"
@@ -122,7 +127,22 @@
             prop="quoteName"
             style="margin-bottom: 22px"
           >
-            <el-input clearable v-model="form.quoteName" placeholder="请输入" />
+            <el-input  v-if="enterprisePage.length <=1" clearable v-model="form.quoteName" placeholder="请输入" />
+            <el-select
+              v-if="enterprisePage.length > 1"
+              style="width: 100%"
+              v-model="form.quoteName"
+              placeholder="请选择"
+              @change="getEnterprise()"
+            >
+              <el-option
+                v-for="item in enterprisePage"
+                :key="item.id"
+                :label="item.name"
+                :value="item.name"
+              >
+              </el-option>
+            </el-select>
           </el-form-item>
 
           <el-form-item
@@ -262,6 +282,7 @@
     submit
   } from '@/api/saleManage/quotation';
   import { getTableList } from '@/api/saleManage/businessOpportunity';
+  import { enterprisePage } from '@/api/contractManage/contractBook';
   import { getcontactlink } from '@/api/saleManage/businessFollow';
   import headList from '@/views/saleManage/businessOpportunity/components/headList.vue';
   import { copyObj } from '@/utils/util';
@@ -324,10 +345,9 @@
         tableLinkData: [],
         businessList: [], //商机列表
         rules: {
-          
-          opportunityId: [
-            { required: true, message: '请选择关联商机', trigger: 'change' }
-          ],
+          // opportunityId: [
+          //   { required: true, message: '请选择关联商机', trigger: 'change' }
+          // ],
           contactName: [
             { required: true, message: '请选择客户', trigger: 'change' }
           ],
@@ -391,9 +411,13 @@
         // 组织机构树形结构数据
         groupTreeData: [],
         // 组织机构平铺数据
-        groupData: []
+        groupData: [],
+        enterprisePage: []
       };
     },
+    created() {
+      this.getEnterprisePage();
+    },
 
     methods: {
       //获取详情
@@ -496,14 +520,38 @@
         this.title = type === 'add' ? '新增' : '修改';
         this.row = row;
         this.visible = true;
+        if (this.enterprisePage.length == 0) {
+          await this.getEnterprisePage();
+        }
         if (type == 'add') {
           this.isUpdate = false;
+          if (this.enterprisePage.length > 0) {
+            this.form.quoteName = this.enterprisePage[0].name;
+            this.form.quoteTel = this.enterprisePage[0].tel;
+            this.form.quoteAddress = this.enterprisePage[0].address;
+          }
         } else {
           this.isUpdate = true;
           this.getDetailData(row.id);
         }
       },
-
+      getEnterprisePage() {
+        enterprisePage({
+          pageNum: 1,
+          size: 100
+        }).then((res) => {
+          this.enterprisePage = [];
+          this.enterprisePage.push(...res.list);
+        });
+      },
+      getEnterprise() {
+        let data = this.enterprisePage.find(
+          (item) => item.name == this.form.quoteName
+        );
+        this.form.quoteName = data.name;
+        this.form.quoteTel = data.tel;
+        this.form.quoteAddress = data.address;
+      },
       salesmanChange(val, info) {
         this.otherForm.salesmanName = info.name;
       },