11
lkk
2025-03-31 bad2bc143be3f8ddb93a1c9f984127b3ccf43e8f
src/views/hosp/customer/index.vue
@@ -255,6 +255,7 @@
          size="mini"
          @click="handleBlacklist"
          :disabled="single"
          :loading="blackloading"
          v-hasPermi="['hosp:order:export']"
          >加入黑名单</el-button
        >
@@ -392,6 +393,28 @@
          />
        </template>
      </el-table-column>
      <el-table-column
        label="职业"
        align="center"
        prop="career"
        width="90px"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="工龄"
        align="center"
        prop="gl"
        width="90px"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="文化程度"
        align="center"
        prop="wenHua"
        width="90px"
        :show-overflow-tooltip="true"
      />
      <el-table-column
        label="介绍人"
@@ -603,6 +626,27 @@
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="职业" prop="career">
          <el-input
            v-model="form.career"
            placeholder="请输入职业"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="工龄" prop="gl">
          <el-input
            v-model="form.gl"
            placeholder="请输入工龄"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="文化程度" prop="wenHua">
          <el-input
            v-model="form.wenHua"
            placeholder="请输入文化程度"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="介绍人" prop="cusIntroduce">
          <el-input
@@ -632,27 +676,27 @@
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="单位名称" prop="dictCompId">
          <el-select
            :remote-method="getRemoteData"
            v-model="form.compName"
            remote
            filterable
            style="width: 300px"
            placeholder="请选择单位名称"
            clearable
            @change="idFn1"
          >
            <el-option
              v-for="dict in CompanyList"
              :key="dict.cnName"
              :label="dict.cnName"
              :value="dict.drugManufacturerId"
            />
          </el-select>
          <i class="el-icon-circle-plus-outline" @click="handleAdd1"></i>
        </el-form-item>
        <el-form-item label="单位名称" prop="compName">
              <el-select
                v-model="form.compName"
                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.cnName"
                />
              </el-select>
              <i class="el-icon-circle-plus-outline" @click="handleAdd1"></i>
            </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" @click="submitForm">确 定</el-button>
@@ -952,7 +996,6 @@
import "quill/dist/quill.snow.css";
import "quill/dist/quill.bubble.css";
import {
  newConfirm,
  getCompany,
  queryCompany,
  getconfigKey,
@@ -967,11 +1010,7 @@
} from "@/api/hosp/customer";
import { getPdf, addCustomerBlack } from "@/api/hosp/order";
import {
  addDept,
  addComp,
  Deptlist,
  getDwAndDwDept,
  newExcelImport,
} from "@/api/system/comp";
export default {
  name: "Customer",
@@ -1018,6 +1057,9 @@
      // 遮罩层
      loading: true,
      blackloading:false,
      isAdding:false,
      // 选中数组
      ids: [],
      // 非单个禁用
@@ -1054,6 +1096,9 @@
        cusMarryStatus: null,
        cusIdcard: null,
        cusIntroduce: null,
        career:null,
        gl:null,
        wenHua: null,
        cusNumber: null,
        cusIsvip: null,
      },
@@ -1113,76 +1158,13 @@
      contactPhone: [
        { 
          required: true, 
          message: '请输入联系电话',
          trigger: 'blur' 
        },
        { 
          pattern: /^1[3-9]\d{9}$/, 
          message: '请输入有效的手机号',
          trigger: 'blur'
        }
      ],
      // taxNumber: [
      //   { required: true, message: '请输入税号', trigger: 'blur' },
      // ],
      // legalPerson: [
      //   { required: true, message: '请输入法人', trigger: 'blur' },
      // ],
      // registerAddress: [
      //   { required: true, message: '请输入注册地址', trigger: 'blur' },
      // ],
      // mailingAddress: [
      //   { required: true, message: '请输入通讯地址', trigger: 'blur' },
      // ],
      // bankAccount: [
      //   { required: true, message: '请输入开户银行', trigger: 'blur' },
      // ],
      // countNum: [
      //   { required: true, message: '请输入银行账户', trigger: 'blur' },
      // ],
      // email: [
      //   {
      //     required: true,
      //     message: '请输入邮箱',
      //     trigger: 'blur'
      //   },
      //   {
      //     type: 'email',
      //     message: '请输入有效的邮箱地址',
      //     trigger: 'blur'
      //   }
      // ],
      // principal: [
      //   { required: true, message: '请输入负责人', trigger: 'blur' },
      // ],
      // url: [
      //   { required: true, message: '请输入网址', trigger: 'blur' },
      //   {
      //     type: 'url',
      //     message: '请输入有效的网址',
      //     trigger: 'blur'
      //   }
      // ],
      // faxNumber: [
      //   { required: true, message: '请输入传真', trigger: 'blur' },
      // ],
      // areaName: [
      //   { required: true, message: '请输入行政区划名称', trigger: 'blur' },
      // ],
      // orderNum: [
      //   { required: true, message: '请输入排序', trigger: 'blur' },
      //   {
      //     pattern: /^[1-9]\d*$/,
      //     message: '排序必须是正整数',
      //     trigger: 'blur'
      //   }
      // ],
      // validTime: [
      //   { required: true, message: '请选择有效时间', trigger: 'change' },
      // ],
      // remark: [
      //   { required: false, message: '请输入备注', trigger: 'blur' },
      // ],
    }
    };
  },
@@ -1196,6 +1178,7 @@
    submitFormS() {
      this.$refs["form1"].validate((valid) => {
        if (valid) {
          addComp(this.form1).then((response) => {
            this.$modal.msgSuccess("新增成功");
            this.open1 = false;
@@ -1205,14 +1188,24 @@
      });
    },
    idFn1(value) {
      console.log(value);
      if (value) {
        this.form.dictCompId = value;
        // 保存修改前的 dictCompId
        const originalCompId = this.form.dictCompId;
        // 更新公司名称
        this.form.compName = value;
        // 遍历公司列表,根据公司名称设置对应的 drugManufacturerId
        this.CompanyList.forEach((item) => {
          if (item.drugManufacturerId == this.form.dictCompId) {
            this.form.compName = item.cnName;
          if (item.cnName == this.form.compName) {
            this.form.dictCompId = item.drugManufacturerId;
          }
        });
        // 如果 dictCompId 没有变化,重置为空
        if (this.form.dictCompId === originalCompId) {
          this.form.dictCompId = '';
        }
      }
    },
    // 搜索
@@ -1300,6 +1293,9 @@
        cusMarryStatus: null,
        cusIdcard: null,
        cusIntroduce: null,
        wenHua: null,
        career:null,
        gl:null,
        cusNumber: null,
        cusIsvip: null,
        createBy: null,
@@ -1353,11 +1349,13 @@
    },
    handleBlacklist() {
      this.blackloading = true;
      let data = {
        cusId: this.ids[0],
      };
      addCustomerBlack(data).then((res) => {
        this.$modal.msgSuccess("已加入黑名单");
        this.blackloading = false;
        this.getList();
      });
    },
@@ -1495,10 +1493,6 @@
.dialog-footer {
  display: flex;
  justify-content: center;
}
.el-icon-circle-plus-outline {
  line-height: 20px;
  font-size: 20px;
}
.dialog-footer2 {
  width: 960px;