qx
qx
2025-06-19 2767c4c422c39bb26ee92d5c841b094ce12df4c6
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="统一信用代码" prop="taxNumber">
          <el-input
            v-model="form.taxNumber"
            placeholder="请输入统一信用代码"
            style="width: 510px"
          />
        </el-form-item>
        <el-form-item label="法人代表" 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="请输入负责人" />
        </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) {