From 5fc42c5d825592f2c04ca284f4360f9bbad62174 Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期四, 12 六月 2025 16:53:45 +0800 Subject: [PATCH] 11 --- src/views/system/contract/index.vue | 752 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 752 insertions(+), 0 deletions(-) diff --git a/src/views/system/contract/index.vue b/src/views/system/contract/index.vue new file mode 100644 index 0000000..9ff09a8 --- /dev/null +++ b/src/views/system/contract/index.vue @@ -0,0 +1,752 @@ +<template> + <div class="app-container"> + <el-form + :model="queryParams" + ref="queryForm" + size="small" + :inline="true" + v-show="showSearch" + label-width="68px" + > + <el-form-item label="鍗曚綅鍚嶇О" prop="company"> + <el-select + :remote-method="getRemoteData" + v-model="queryParams.company" + 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> + <i class="el-icon-circle-plus-outline" @click="handleAdd1"></i> + </el-form-item> + + <el-form-item label="鍚堝悓绫诲瀷" prop="htlx"> + <el-select + v-model="queryParams.htlx" + placeholder="璇烽�夋嫨鍚堝悓绫诲瀷" + clearable + style="width: 100%" + > + <el-option + v-for="dict in dict.type.sys_type_contract" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> + + <el-form-item label="鏃ユ湡璧峰" prop="htrqqz"> + <el-date-picker + v-model="queryParams.htrqqz" + type="date" + placeholder="閫夋嫨璧峰鏃ユ湡" + > + </el-date-picker> + </el-form-item> + + <el-form-item label="鏃ユ湡缁堟" prop="htrqzz"> + <el-date-picker + v-model="queryParams.htrqzz" + type="date" + placeholder="閫夋嫨缁堟鏃ユ湡" + > + </el-date-picker> + </el-form-item> + + <el-form-item> + <el-button + type="primary" + icon="el-icon-search" + size="mini" + @click="handleQuery" + >鎼滅储</el-button + > + + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery" + >閲嶇疆</el-button + > + </el-form-item> + </el-form> + + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="primary" + icon="el-icon-plus" + size="mini" + @click="handleAdd" + v-hasPermi="['system:package:add']" + >鏂板</el-button + > + </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="handleUp" + v-hasPermi="['system:package:edit']" + >淇敼</el-button + > + </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + icon="el-icon-delete" + size="mini" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['system:package:remove']" + >鍒犻櫎</el-button + > + </el-col> + </el-row> + + <el-table + border + v-loading="loading" + :data="dataList" + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="55" align="center" /> + + <el-table-column label="搴忓彿" align="center" prop="newID" width="55" /> + + <el-table-column label="鍚堝悓绫诲瀷" align="center" prop="htlx" width="90"> + <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_type_contract" + :value="scope.row.htlx" + /> + </template> + </el-table-column> + + <el-table-column + label="璐熻矗浜哄憳" + align="center" + prop="htfzr" + width="100" + :show-overflow-tooltip="true" + /> + + <el-table-column + label="鏃ユ湡璧峰" + align="center" + prop="htrqqz" + width="100" + > + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.htrqqz, "{y}-{m}-{d}") }}</span> + </template> + </el-table-column> + + <el-table-column + label="鏃ユ湡缁堟" + align="center" + prop="htrqzz" + width="100" + > + <template slot-scope="scope"> + <span>{{ parseTime(scope.row.htrqzz, "{y}-{m}-{d}") }}</span> + </template> + </el-table-column> + + <el-table-column + label="瀹㈡埛濮撳悕" + align="center" + prop="lxrxm" + width="80" + /> + + <el-table-column label="瀹㈡埛鐢佃瘽" align="center" prop="lxrdh" width="120"> + </el-table-column> + + <el-table-column label="鍚堝悓閲戦" align="center" prop="htje" width="80" /> + + <el-table-column + label="缁鍚堝悓鏍囧織" + align="center" + prop="xqbz" + width="140" + > + </el-table-column> + + <el-table-column + label="鍘熷悎鍚屽簭鍙�" + align="center" + prop="yhtxh" + width="140" + > + </el-table-column> + + <el-table-column label="浼佷笟鍚嶇О" align="center" prop="qymc" width="140"> + </el-table-column> + + <el-table-column label="澶囨敞" align="center" prop="remark" /> + + <el-table-column label="鎿嶄綔" align="center" width="140"> + <template slot-scope="scope"> + <el-button size="mini" type="text" @click="handleEdit(scope.row)" + >缂栬緫</el-button + > + + <el-button size="mini" type="text" @click="handleDelete(scope.row)" + >鍒犻櫎</el-button + > + </template> + </el-table-column> + </el-table> + + <div class="pag"> + <div class="pag1"> + <pagination + v-show="total > 0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> + </div> + </div> + + <!-- 娣诲姞鎴栦慨鏀归棶棰樺垪琛ㄥ璇濇 --> + + <el-dialog + :title="title" + :visible.sync="open" + width="1000px" + append-to-body + > + <el-form + :model="form" + ref="form" + :rules="rules" + label-width="80px" + :inline="true" + > + <el-form-item label="鍚堝悓绫诲瀷" prop="htlx"> + <el-select + v-model="form.htlx" + filterable + placeholder="璇烽�夋嫨鍚堝悓绫诲瀷" + style="width: 100%" + clearable + > + <el-option + v-for="dict in dict.type.sys_type_contract" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> + + + <el-form-item label="浼佷笟鍚嶇О" prop="qymc"> + <el-input + placeholder="璇疯緭鍏ヤ紒涓氬悕绉�" + v-model="form.qymc" + clearable + ></el-input> + </el-form-item> + + <el-form-item label="鍚堝悓閲戦" prop="htje"> + <el-input + placeholder="璇疯緭鍏ュ悎鍚岄噾棰�" + v-model="form.htje" + clearable + ></el-input> + </el-form-item> + + <el-form-item label="璐熻矗浜哄憳" prop="htfzr"> + <el-input + v-model="form.htfzr" + placeholder="璇疯緭鍏ヨ礋璐d汉鍛�" + clearable + /> + </el-form-item> + + <el-form-item label="璧峰鏃ユ湡" prop="htrqqz"> + <el-date-picker + clearable + v-model="form.htrqqz" + type="date" + value-format="yyyy-MM-dd" + placeholder="璇烽�夋嫨鍚堝悓璧峰鏃ユ湡" + > + </el-date-picker> + </el-form-item> + + <el-form-item label="缁堟鏃ユ湡" prop="htrqzz"> + <el-date-picker + clearable + v-model="form.htrqzz" + type="date" + value-format="yyyy-MM-dd" + placeholder="璇烽�夋嫨鍚堝悓缁堟鏃ユ湡" + > + </el-date-picker> + </el-form-item> + + <!-- <el-form-item label="瀹㈡埛濮撳悕" prop="lxrxm"> + <el-input + placeholder="璇疯緭鍏ュ鎴峰鍚�" + v-model="form.lxrxm" + clearable + ></el-input> + </el-form-item> --> + + <el-form-item label="鑱旂郴鐢佃瘽" prop="lxrdh"> + <el-input + placeholder="璇疯緭鍏ヨ仈绯荤數璇�" + v-model="form.lxrdh" + clearable + ></el-input> + </el-form-item> + + <el-form-item label="鍏徃搴ф満" prop="gszj"> + <el-input + placeholder="璇疯緭鍏ュ叕鍙稿骇鏈�" + v-model="form.gszj" + clearable + ></el-input> + </el-form-item> + + <el-form-item label="绛剧害浜烘暟" prop="qyrs"> + <el-input + placeholder="璇疯緭鍏ョ绾︿汉鏁�" + v-model="form.qyrs" + clearable + ></el-input> + </el-form-item> + + + + <el-form-item label="缁鏍囧織" prop="xqbz"> + <el-input + placeholder="璇疯緭鍏ョ画绛惧悎鍚屾爣蹇�" + v-model="form.xqbz" + clearable + ></el-input> + + <!-- <el-select v-model="form.xqbz" placeholder="璇烽�夋嫨缁鍚堝悓鏍囧織" clearable style="width: 100%;"> + + <el-option v-for="dict in dict.type.sys_bill" :key="dict.value" :label="dict.label" + + :value="dict.value" /> + + </el-select> --> + </el-form-item> + + <el-form-item label="鍘熷悎鍚屽彿" prop="yhtxh"> + <el-input + placeholder="璇疯緭鍏ュ師鍚堝悓搴忓彿" + v-model="form.yhtxh" + clearable + ></el-input> + </el-form-item> + + + + <el-form-item label="澶囨敞" prop="remark"> + <el-input + type="textarea" + placeholder="璇疯緭鍏ュ娉�" + v-model="form.remark" + style="width: 220px" + ></el-input> + </el-form-item> + </el-form> + + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> + + <el-button @click="cancel">鍙� 娑�</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 { + addDept, + addComp, + Deptlist, + getDwAndDwDept, + newExcelImport, +} from "@/api/system/comp"; + +export default { + name: "WebQuestion", + + dicts: ["sys_type_contract"], + + data() { + return { + // 閬僵灞� + + loading: true, + + // 閫変腑鏁扮粍 + + ids: [], + + deptList: [], + + CompanyList: [], + + // 闈炲崟涓鐢� + + single: true, + + // 闈炲涓鐢� + + multiple: true, + + // 鏄剧ず鎼滅储鏉′欢 + + showSearch: true, + + // 鎬绘潯鏁� + + total: 0, + + // 琛ㄦ牸鏁版嵁 + + dataList: [], + + // 寮瑰嚭灞傛爣棰� + + title: "", + + // 鏄惁鏄剧ず寮瑰嚭灞� + + open: false, + + objs: { + drugManufacturerId: "", + reservationTime: "", + yxts: "", + }, + + // 鏌ヨ鍙傛暟 + + queryParams: { + pageNum: 1, + + pageSize: 10, + }, + + // 鎬绘潯鏁� + total: 0, + + // 琛ㄥ崟鍙傛暟 + + form: {}, + + selection: [], + + // 琛ㄥ崟鏍¢獙 + + rules: { + deleted: [ + { + required: true, + + message: "鍒犻櫎鏍囪涓嶈兘涓虹┖", + + trigger: "blur", + }, + ], + }, + }; + }, + + created() { + this.getList(); + }, + + methods: { + /** 鏌ヨ闂鍒楄〃鍒楄〃 */ + + getList() { + this.loading = true; + + /* getList(this.queryParams).then((response) => { + for (let i = 0; i < response.rows.length; i++) { + response.rows[i].newID = i + 1; + } + + this.dataList = response.rows; + + this.loading = false; + }); */ + + // 鑾峰彇鍗曚綅淇℃伅闆嗗悎 + getCompany(this.queryParam).then((response) => { + this.CompanyList = response.data; + }); + }, + + // 鑾峰彇鍗曚綅淇℃伅闆嗗悎 + getCompanyList() { + this.loading = true; + getconfigKey("team_reservation_default_day").then((res) => { + console.log(res, 1111); + this.queryParams.yxts = res.msg; + }); + getCompany(this.queryParam).then((response) => { + this.CompanyList = response.data; + this.total = response.total; + this.loading = false; + }); + }, + + // 浣撴鍏徃鎷奸煶鎼滅储 + getRemoteData(query) { + if (query) { + let compName = query; + queryCompany(compName).then((response) => { + console.log(response,123); + + this.CompanyList = response.data; + }); + } + }, + + idFn1(value) { + if (value) { + this.form.dictCompId = value; + this.CompanyList.forEach((item) => { + if (item.drugManufacturerId == this.form.dictCompId) { + this.form.compName = item.cnName; + this.queryParams.company = item.cnName; + } + }); + } + }, + + /** 鏂板鎸夐挳鎿嶄綔 */ + handleAdd1() { + this.reset(); + this.open = true; + this.title = "娣诲姞浣撴鍗曚綅淇℃伅缁存姢"; + }, + + // 鍙栨秷鎸夐挳 + + cancel() { + this.open = false; + this.reset(); + // this.getList(); + }, + + // 鎼滅储 + getRemoteData(query) { + if (query) { + let compName = query; + queryCompany(compName).then((response) => { + this.CompanyList = response.data; + this.CompanyList.forEach((item) => { + this.objs = item; + }); + }); + } + }, + + // 鑾峰彇鍗曚綅淇℃伅闆嗗悎 + getCompanyList() { + this.loading = true; + getconfigKey("team_reservation_default_day").then((res) => { + console.log(res, 1111); + this.objs.yxts = res.msg; + }); + getZybCompList(this.queryParam).then((response) => { + this.CompanyList = response.data; + this.total = response.total; + this.loading = false; + }); + }, + + idFn(value) { + this.userList = []; + if (value) { + this.data.dwId = value; + Deptlist(value).then((response) => { + this.deptList = response.data; + }); + } + }, + + // 琛ㄥ崟閲嶇疆 + + reset() { + this.form = { + id: null, + + htfzr: null, + + htbh: null, + + htje: null, + + htlx: null, + + htrqqz: null, + + htrqzz: null, + + lxrdh: null, + + lxrxm: null, + + qymc: null, + + xqbz: null, + + remark: null, + + yhtxh: null, + }; + + this.resetForm("form"); + }, + + /** 鎼滅储鎸夐挳鎿嶄綔 */ + + handleQuery() { + this.queryParams.pageNum = 1; + + this.getList(); + }, + + /** 閲嶇疆鎸夐挳鎿嶄綔 */ + + resetQuery() { + this.resetForm("queryForm"); + + this.handleQuery(); + }, + + // 澶氶�夋閫変腑鏁版嵁 + + handleSelectionChange(selection) { + this.selection = selection; + + this.ids = selection.map((item) => item.id); + + this.single = selection.length !== 1; + + this.multiple = !selection.length; + }, + + /** 鏂板鎸夐挳鎿嶄綔 */ + + handleAdd() { + this.reset(); + + this.open = true; + + this.title = "娣诲姞鍚堝悓淇℃伅璇︽儏"; + }, + + handleUp() { + this.reset(); + + this.selection.forEach((item) => { + this.form = item; + }); + + this.open = true; + + this.title = "鍚堝悓淇℃伅璇︽儏"; + }, + + /** 淇敼鎸夐挳鎿嶄綔 */ + + handleEdit(row) { + this.reset(); + + this.form = row; + + this.open = true; + + this.title = "鍚堝悓淇℃伅璇︽儏"; + }, + + handleDelete(row) { + if (row.id) { + var id = row.id; + } else { + var id = this.ids; + } + + delhtxxb(id).then((res) => { + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + + this.getList(); + }); + }, + + submitForm() { + this.$refs["form"].validate((valid) => { + if (valid) { + if (this.form.id != null) { + edithtxxb(this.form).then((response) => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + + this.open = false; + + this.getList(); + }); + } else { + addhtxxb(this.form).then((response) => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + + this.open = false; + + this.getList(); + }); + } + } + }); + }, + }, +}; +</script> + + <style scoped> +.pag { + width: 100%; + + display: flex; + + justify-content: center; +} + +.pag1 { + width: 19%; +} +</style> + + \ No newline at end of file -- Gitblit v1.8.0