lkk
2025-06-19 37c5fa644553d6e24c729b62408e631a8c50e379
tijiao
2个文件已修改
1个文件已添加
268 ■■■■■ 已修改文件
src/api/account/contract.js 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/hosp/project/index.vue 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/system/contract/index.vue 191 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/account/contract.js
New file
@@ -0,0 +1,38 @@
import request from '@/utils/request'
// 查询合同列表
export function getList(query) {
    return request({
        url: '/system/htxxb/list',
        method: 'get',
        params: query
    })
}
// 修改合同
export function edithtxxb(data) {
  return request({
    url: '/system/htxxb',
    method: 'put',
    data: data
  })
}
// 新增合同
export function addhtxxb(data) {
    return request({
        url: '/system/htxxb',
        method: 'post',
        data: data
    })
}
// 删除体检项目建议规则新表
export function delhtxxb(id) {
    return request({
        url: '/system/htxxb/' + id,
        method: 'delete'
    })
}
src/views/hosp/project/index.vue
@@ -469,11 +469,27 @@
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="标本类型" prop="specimenType">
          <el-select
            v-model="form.specimenType"
            placeholder="请选择标本类型"
            style="width: 200px"
            filterable
            clearable
          >
            <el-option
              v-for="dict in dict.type.yblx"
              :key="dict.value"
              :label="dict.label"
              :value="dict.value"
            ></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="检查部位" prop="checkBw">
          <el-select
            v-model="form.checkBw"
            placeholder="请选择检查部位"
            style="width: 200px"
            style="width: 260px"
            filterable
            clearable
          >
@@ -489,7 +505,7 @@
          <el-input
            v-model="form.proMetering"
            placeholder="请输入单位"
            style="width: 260px"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="参考范围" prop="proScope">
@@ -503,14 +519,14 @@
          <el-input
            v-model="form.sl"
            placeholder="请输入数量"
            style="width: 200px"
            style="width: 260px"
          />
        </el-form-item>
        <el-form-item label="组合标志" prop="sfzhfy">
          <el-select
            v-model="form.sfzhfy"
            placeholder="请选择是否组合标志"
            style="width: 260px"
            style="width: 200px"
          >
            <el-option
              v-for="dict in dict.type.sys_yes_no"
@@ -547,7 +563,7 @@
          <el-input
            v-model="form.hisXmmc"
            placeholder="his项目名称"
            style="width: 200px"
            style="width: 260px"
          ></el-input>
        </el-form-item>
        <el-form-item label="his项目名称" prop="hisXmmc" v-if="key == 'N'">
@@ -561,7 +577,7 @@
          <el-input
            v-model="form.hisXmbm"
            placeholder="请输入his编码"
            style="width: 260px"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="his单价" prop="hisdj">
@@ -582,14 +598,14 @@
          <el-input
            v-model="form.lisXmmc"
            placeholder="请输入LIS项目"
            style="width: 200px"
            style="width: 260px"
          ></el-input>
        </el-form-item>
        <el-form-item label="LIS编码" prop="lisXmbm">
          <el-input
            v-model="form.lisXmbm"
            placeholder="请输入his编码"
            style="width: 260px"
            style="width: 200px"
          />
        </el-form-item>
        <el-form-item label="备注" prop="proRemark">
@@ -603,11 +619,11 @@
          <el-input
            v-model="form.xh"
            placeholder="请输入排序"
            style="width: 200px"
            style="width: 260px"
          />
        </el-form-item>
        <el-form-item label="是否参与异常" prop="sfcyyc">
          <el-select v-model="form.sfcyyc" placeholder="请选择是否参与异常" style="width: 260px">
          <el-select v-model="form.sfcyyc" placeholder="请选择是否参与异常" style="width: 200px">
            <el-option v-for="dict in dictTypesy" :key="dict.value" :label="dict.label"
              :value="dict.value"></el-option>
          </el-select>
@@ -962,6 +978,7 @@
    "sys_dict_position",
    "tj_result_type",
    "sys_yes_no",
    "yblx",
  ],
  components: { Treeselect, IconSelect, Packagese },
  data() {
@@ -1101,7 +1118,7 @@
  watch: {
    deptName(val) {
      this.debounceFilter(val);
    },
    },
    treeId(newVal) {
      console.log(newVal,8989)
      if (newVal && newVal.length > 0) {
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"
@@ -412,13 +412,132 @@
        <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 { getList, addhtxxb, edithtxxb, delhtxxb } from "@/api/account/contract";
import {
  getZybCompList,
  queryCompany,
@@ -427,11 +546,9 @@
} from "@/api/team/tuanti";
import {
  addDept,
  addComp,
  updateComp,
  Deptlist,
  getDwAndDwDept,
  newExcelImport,
} from "@/api/system/comp";
export default {
@@ -440,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 {
      // 遮罩层
@@ -480,6 +607,7 @@
      // 是否显示弹出层
      open: false,
      open1: false,
      objs: {
        drugManufacturerId: "",
@@ -516,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" },
        ],
      },
    };
  },
@@ -530,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;
        }
@@ -538,7 +674,7 @@
        this.dataList = response.rows;
        this.loading = false;
      }); */
      });
      // 获取单位信息集合
      getCompany(this.queryParam).then((response) => {
@@ -572,6 +708,7 @@
      }
    },
    idFn1(value) {
      if (value) {
        this.form.dictCompId = value;
@@ -587,7 +724,7 @@
    /** 新增按钮操作 */
    handleAdd1() {
      this.reset();
      this.open = true;
      this.open1 = true;
      this.title = "添加体检单位信息维护";
    },
@@ -597,6 +734,38 @@
      this.open = false;
      this.reset();
      //   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("请填写必传项");
            }
          }
        }
      });
    },
    // 搜索
@@ -717,7 +886,7 @@
      this.open = true;
      this.title = "合同信息详情";
      this.title = "添加合同信息详情";
    },
    /** 修改按钮操作 */
@@ -731,10 +900,10 @@
      this.title = "合同信息详情";
      this.form = {
      /* this.form = {
        ...row,
        cnName: row.drugManufacturerId, // 确保这里是 ID
      };
      }; */
    },
    handleDelete(row) {