From 2767c4c422c39bb26ee92d5c841b094ce12df4c6 Mon Sep 17 00:00:00 2001
From: qx <1084500556@qq.com>
Date: 星期四, 19 六月 2025 15:26:49 +0800
Subject: [PATCH] qx

---
 src/views/system/contract/index.vue |  252 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 232 insertions(+), 20 deletions(-)

diff --git a/src/views/system/contract/index.vue b/src/views/system/contract/index.vue
index 9ff09a8..d60875e 100644
--- a/src/views/system/contract/index.vue
+++ b/src/views/system/contract/index.vue
@@ -8,7 +8,7 @@
       v-show="showSearch"
       label-width="68px"
     >
-      <el-form-item label="鍗曚綅鍚嶇О" prop="company">
+      <el-form-item label="鍗曚綅鍚嶇О" v-show="showSearch"  prop="company">
         <el-select
           :remote-method="getRemoteData"
           v-model="queryParams.company"
@@ -239,6 +239,28 @@
         label-width="80px"
         :inline="true"
       >
+        <el-form-item label="鍗曚綅鍚嶇О" prop="cnName">
+          <!-- <el-input v-model="form.cnName" placeholder="璇疯緭鍏ヤ腑鏂囧悕绉�" /> -->
+          <el-select
+            :remote-method="getRemoteData"
+            v-model="form.cnName"
+            remote
+            default-first-option
+            allow-create
+            filterable
+            style="width: 200px"
+            placeholder="璇烽�夋嫨鍗曚綅鍚嶇О"
+            clearable
+            @change="idFn1"
+          >
+            <el-option
+              v-for="dict in CompanyList"
+              :key="dict.cnName"
+              :label="dict.cnName"
+              :value="dict.drugManufacturerId"
+            />
+          </el-select>
+        </el-form-item>
         <el-form-item label="鍚堝悓绫诲瀷" prop="htlx">
           <el-select
             v-model="form.htlx"
@@ -256,7 +278,6 @@
           </el-select>
         </el-form-item>
 
-        
         <el-form-item label="浼佷笟鍚嶇О" prop="qymc">
           <el-input
             placeholder="璇疯緭鍏ヤ紒涓氬悕绉�"
@@ -265,7 +286,7 @@
           ></el-input>
         </el-form-item>
 
-         <el-form-item label="鍚堝悓閲戦" prop="htje">
+        <el-form-item label="鍚堝悓閲戦" prop="htje">
           <el-input
             placeholder="璇疯緭鍏ュ悎鍚岄噾棰�"
             v-model="form.htje"
@@ -335,8 +356,6 @@
           ></el-input>
         </el-form-item>
 
-       
-
         <el-form-item label="缁鏍囧織" prop="xqbz">
           <el-input
             placeholder="璇疯緭鍏ョ画绛惧悎鍚屾爣蹇�"
@@ -361,7 +380,21 @@
           ></el-input>
         </el-form-item>
 
-        
+        <el-form-item label="寮�绁ㄥ悕绉�" prop="kpmc">
+          <el-input
+            placeholder="璇疯緭鍏ュ紑绁ㄥ悕绉�"
+            v-model="form.kpmc"
+            clearable
+          ></el-input>
+        </el-form-item>
+
+        <el-form-item label="寮�绁ㄧ◣鍙�" prop="kpsh">
+          <el-input
+            placeholder="璇疯緭鍏ュ紑绁ㄧ◣鍙�"
+            v-model="form.kpsh"
+            clearable
+          ></el-input>
+        </el-form-item>
 
         <el-form-item label="澶囨敞" prop="remark">
           <el-input
@@ -379,21 +412,143 @@
         <el-button @click="cancel">鍙� 娑�</el-button>
       </div>
     </el-dialog>
+
+    <!-- 娣诲姞鍗曚綅瀵硅瘽妗� -->
+    <el-dialog
+      :title="title"
+      :visible.sync="open1"
+      width="1000px"
+      append-to-body
+    >
+      <el-form
+        ref="form"
+        :model="form"
+        :rules="rules"
+        label-width="98px"
+        :inline="true"
+        @submit.native.prevent
+      >
+        <el-form-item label="鍗曚綅鍚嶇О" prop="cnName">
+          <el-input
+            v-model="form.cnName"
+            placeholder="璇疯緭鍏ヤ腑鏂囧悕绉�"
+            style="width: 510px"
+          />
+        </el-form-item>
+        <el-form-item label="缁熶竴淇$敤浠g爜" prop="taxNumber">
+          <el-input
+            v-model="form.taxNumber"
+            placeholder="璇疯緭鍏ョ粺涓�淇$敤浠g爜"
+            style="width: 510px"
+          />
+        </el-form-item>
+        <el-form-item label="娉曚汉浠h〃" prop="legalPerson">
+          <el-input v-model="form.legalPerson" placeholder="璇疯緭鍏ユ硶浜�" />
+        </el-form-item>
+        <el-form-item label="鑱旂郴浜�" prop="contactPerson">
+          <el-input v-model="form.contactPerson" placeholder="璇疯緭鍏ヨ仈绯讳汉" />
+        </el-form-item>
+        <el-form-item label="鑱旂郴鐢佃瘽" prop="contactPhone">
+          <el-input v-model="form.contactPhone" placeholder="璇疯緭鍏ヨ仈绯荤數璇�" />
+        </el-form-item>
+        <el-form-item label="浼犵湡" prop="faxNumber">
+          <el-input v-model="form.faxNumber" placeholder="璇疯緭鍏ヤ紶鐪�" />
+        </el-form-item>
+
+        <el-form-item label="娉ㄥ唽鍦板潃" prop="registerAddress">
+          <el-input
+            v-model="form.registerAddress"
+            placeholder="璇疯緭鍏ユ敞鍐屽湴鍧�"
+            style="width: 830px"
+          />
+        </el-form-item>
+        <el-form-item label="閫氳鍦板潃" prop="mailingAddress">
+          <el-input
+            v-model="form.mailingAddress"
+            placeholder="璇疯緭鍏ラ�氳鍦板潃"
+            style="width: 830px"
+          />
+        </el-form-item>
+
+        <br />
+        <el-form-item label="寮�鎴烽摱琛�" prop="bankAccount">
+          <el-input
+            v-model="form.bankAccount"
+            placeholder="璇疯緭鍏ュ紑鎴烽摱琛�"
+            style="width: 510px"
+          />
+        </el-form-item>
+        <el-form-item label="閾惰璐︽埛" prop="countNum">
+          <el-input
+            v-model="form.countNum"
+            placeholder="璇疯緭鍏ラ摱琛岃处鎴�"
+            style="width: 510px"
+          />
+        </el-form-item>
+        <el-form-item label="鑱旂郴閭" prop="email">
+          <el-input v-model="form.email" placeholder="璇疯緭鍏ラ偖绠�" />
+        </el-form-item>
+        <el-form-item label="璐熻矗浜�" prop="principal">
+          <el-input v-model="form.principal" placeholder="璇疯緭鍏ヨ礋璐d汉" />
+        </el-form-item>
+        <el-form-item label="缃戝潃" prop="url">
+          <el-input v-model="form.url" placeholder="璇疯緭鍏ョ綉鍧�" />
+        </el-form-item>
+
+        <el-form-item label="琛屾斂鍖哄垝鍚嶇О" prop="areaName">
+          <el-select
+            filterable
+            v-model="form.areaName"
+            placeholder="璇烽�夋嫨琛屾斂鍖哄垝鍚嶇О"
+            clearable
+            style="width: 198px"
+          >
+            <el-option
+              v-for="dict in dict.type.sys_yes_no"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            />
+          </el-select>
+        </el-form-item>
+
+        <el-form-item label="澶囨敞" prop="remark">
+          <el-input
+            v-model="form.remark"
+            type="textarea"
+            placeholder="璇疯緭鍏ュ唴瀹�"
+            :rows="2"
+            label-width="400px"
+            style="width: 830px"
+            resize="none"
+          ></el-input>
+        </el-form-item>
+      </el-form>
+
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm1">纭� 瀹�</el-button>
+
+        <el-button @click="cancel1">鍙� 娑�</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
   
 
   <script>
-//   import { getList, addhtxxb, edithtxxb, delhtxxb } from "@/api/account/contract";
-import { getZybCompList, queryCompany, getconfigKey, getCompany } from "@/api/team/tuanti";
+import { getList, addhtxxb, edithtxxb, delhtxxb } from "@/api/account/contract";
+import {
+  getZybCompList,
+  queryCompany,
+  getconfigKey,
+  getCompany,
+} from "@/api/team/tuanti";
 
 import {
-  addDept,
   addComp,
+  updateComp,
   Deptlist,
-  getDwAndDwDept,
-  newExcelImport,
 } from "@/api/system/comp";
 
 export default {
@@ -402,6 +557,16 @@
   dicts: ["sys_type_contract"],
 
   data() {
+    let checkPhoneNum = (rule, value, callback) => {
+      let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/);
+      if (value == "" && value == undefined && !value) {
+        return callback("");
+      } else if (value != undefined && value != "") {
+        return callback();
+      } else if (!patter.test(value)) {
+        return callback("");
+      }
+    };
     return {
       // 閬僵灞�
 
@@ -442,6 +607,7 @@
       // 鏄惁鏄剧ず寮瑰嚭灞�
 
       open: false,
+      open1: false,
 
       objs: {
         drugManufacturerId: "",
@@ -478,6 +644,14 @@
             trigger: "blur",
           },
         ],
+        cnName: [{ required: true, validator: checkPhoneNum, trigger: "blur" }],
+        contactPerson: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        contactPhone: [
+          { required: true, validator: checkPhoneNum, trigger: "blur" },
+        ],
+        
       },
     };
   },
@@ -492,7 +666,7 @@
     getList() {
       this.loading = true;
 
-      /* getList(this.queryParams).then((response) => {
+      getList(this.queryParams).then((response) => {
         for (let i = 0; i < response.rows.length; i++) {
           response.rows[i].newID = i + 1;
         }
@@ -500,9 +674,9 @@
         this.dataList = response.rows;
 
         this.loading = false;
-      }); */
+      });
 
-       // 鑾峰彇鍗曚綅淇℃伅闆嗗悎
+      // 鑾峰彇鍗曚綅淇℃伅闆嗗悎
       getCompany(this.queryParam).then((response) => {
         this.CompanyList = response.data;
       });
@@ -522,18 +696,19 @@
       });
     },
 
-     // 浣撴鍏徃鎷奸煶鎼滅储
+    // 浣撴鍏徃鎷奸煶鎼滅储
     getRemoteData(query) {
       if (query) {
         let compName = query;
         queryCompany(compName).then((response) => {
-            console.log(response,123);
-            
+          console.log(response, 123);
+
           this.CompanyList = response.data;
         });
       }
     },
 
+   
     idFn1(value) {
       if (value) {
         this.form.dictCompId = value;
@@ -549,7 +724,7 @@
     /** 鏂板鎸夐挳鎿嶄綔 */
     handleAdd1() {
       this.reset();
-      this.open = true;
+      this.open1 = true;
       this.title = "娣诲姞浣撴鍗曚綅淇℃伅缁存姢";
     },
 
@@ -558,7 +733,39 @@
     cancel() {
       this.open = false;
       this.reset();
-    //   this.getList();
+      //   this.getList();
+    },
+    cancel1(){
+      this.open1 = false;
+    },
+
+    /** 鎻愪氦鎸夐挳 */
+    submitForm1() {
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          if (this.form.drugManufacturerId != null) {
+            updateComp(this.form).then((response) => {
+              this.$modal.msgSuccess("淇敼鎴愬姛");
+              this.open1 = false;
+              this.getList();
+            });
+          } else {
+            if (
+              this.form.cnName &&
+              this.form.contactPerson &&
+              this.form.contactPhone
+            ) {
+              addComp(this.form).then((response) => {
+                this.$modal.msgSuccess("鏂板鎴愬姛");
+                this.open1 = false;
+                this.getList();
+              });
+            } else {
+              this.$modal.msgError("璇峰~鍐欏繀浼犻」");
+            }
+          }
+        }
+      });
     },
 
     // 鎼滅储
@@ -679,7 +886,7 @@
 
       this.open = true;
 
-      this.title = "鍚堝悓淇℃伅璇︽儏";
+      this.title = "娣诲姞鍚堝悓淇℃伅璇︽儏";
     },
 
     /** 淇敼鎸夐挳鎿嶄綔 */
@@ -692,6 +899,11 @@
       this.open = true;
 
       this.title = "鍚堝悓淇℃伅璇︽儏";
+
+      /* this.form = {
+        ...row,
+        cnName: row.drugManufacturerId, // 纭繚杩欓噷鏄� ID
+      }; */
     },
 
     handleDelete(row) {

--
Gitblit v1.8.0