From 37c5fa644553d6e24c729b62408e631a8c50e379 Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期四, 19 六月 2025 15:19:36 +0800 Subject: [PATCH] tijiao --- src/api/account/contract.js | 38 +++++++ src/views/system/contract/index.vue | 191 ++++++++++++++++++++++++++++++++++++-- src/views/hosp/project/index.vue | 39 +++++-- 3 files changed, 246 insertions(+), 22 deletions(-) diff --git a/src/api/account/contract.js b/src/api/account/contract.js new file mode 100644 index 0000000..b3d6c5e --- /dev/null +++ b/src/api/account/contract.js @@ -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' + }) +} + diff --git a/src/views/hosp/project/index.vue b/src/views/hosp/project/index.vue index 775a846..8a75a61 100644 --- a/src/views/hosp/project/index.vue +++ b/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="璇疯緭鍏is缂栫爜" - 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="璇疯緭鍏IS椤圭洰" - 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="璇疯緭鍏is缂栫爜" - 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) { diff --git a/src/views/system/contract/index.vue b/src/views/system/contract/index.vue index a12dde3..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" @@ -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="缁熶竴淇$敤浠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 { 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) { -- Gitblit v1.8.0