From 708a208e87e4e580d7a80c7f8b2c11f25dec7ff2 Mon Sep 17 00:00:00 2001 From: qx <2540746708@qq.com> Date: 星期五, 15 十二月 2023 20:50:54 +0800 Subject: [PATCH] qxtj --- src/views/system/dept/index.vue | 333 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 268 insertions(+), 65 deletions(-) diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue index 27ec998..7a80b72 100644 --- a/src/views/system/dept/index.vue +++ b/src/views/system/dept/index.vue @@ -3,70 +3,210 @@ <el-row :gutter="20"> <el-col :span="3" :xs="24"> <div class="head-container"> - <el-input v-model="deptName" placeholder="璇疯緭鍏ョ瀹ゅ悕绉�" clearable size="small" prefix-icon="el-icon-search" - style="margin-bottom: 15px" /> + <el-input + v-model="deptName" + placeholder="璇疯緭鍏ョ瀹ゅ悕绉�" + clearable + size="small" + prefix-icon="el-icon-search" + style="margin-bottom: 15px" + /> </div> <div class="head-container"> - <el-tree :data="deptOption" :props="defaultProps" :expand-on-click-node="false" :filter-node-method="filterNode" - ref="tree" node-key="id" default-expand-all highlight-current @node-click="handleNodeClick" /> + <el-tree + :data="deptOption" + :props="defaultProps" + :expand-on-click-node="false" + :filter-node-method="filterNode" + ref="tree" + node-key="id" + default-expand-all + highlight-current + @node-click="handleNodeClick" + /> </div> </el-col> <el-col :span="20" :xs="24"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> + <el-form + :model="queryParams" + ref="queryForm" + size="small" + :inline="true" + v-show="showSearch" + > <el-form-item label="绉戝鍚嶇О" prop="deptName"> - <el-input v-model="queryParams.deptName" placeholder="璇疯緭鍏ョ瀹ゅ悕绉�" clearable @keyup.enter.native="handleQuery" /> + <el-input + v-model="queryParams.deptName" + placeholder="璇疯緭鍏ョ瀹ゅ悕绉�" + clearable + @keyup.enter.native="handleQuery" + /> </el-form-item> <el-form-item label="鐘舵��" prop="status"> - <el-select v-model="queryParams.status" placeholder="绉戝鐘舵��" clearable filterable style="width: 100px;"> - <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" - :value="dict.value" /> + <el-select + v-model="queryParams.status" + placeholder="绉戝鐘舵��" + clearable + filterable + style="width: 100px" + > + <el-option + v-for="dict in dict.type.sys_normal_disable" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> </el-select> </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-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:dept:add']">鏂板</el-button> + <el-button + type="primary" + icon="el-icon-plus" + size="mini" + @click="handleAdd" + v-hasPermi="['system:dept:add']" + >鏂板</el-button + > </el-col> <el-col :span="1.5"> - <el-button type="primary" icon="el-icon-sort" size="mini" @click="toggleExpandAll">灞曞紑/鎶樺彔</el-button> + <el-button + type="primary" + icon="el-icon-sort" + size="mini" + @click="toggleExpandAll" + >灞曞紑/鎶樺彔</el-button + > </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> + <right-toolbar + :showSearch.sync="showSearch" + @queryTable="getList" + ></right-toolbar> </el-row> - <el-table width="60%" v-if="refreshTable" v-loading="loading" :data="deptList" border row-key="deptId" - :default-expand-all="isExpandAll" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" max-height="720px"> + <el-table + width="60%" + v-if="refreshTable" + v-loading="loading" + :data="deptList" + border + row-key="deptId" + :default-expand-all="isExpandAll" + :tree-props="{ children: 'children', hasChildren: 'hasChildren' }" + max-height="720px" + > <!-- <el-table-column fixed="left" width="55px" label="搴忓彿" align="center" prop="nweID" /> --> - <el-table-column label="绉戝鍚嶇О" align="center" prop="deptName" width="120px" fixed="left" - :show-overflow-tooltip="true" /> - <el-table-column label="绉戝缂栫爜" align="center" prop="departmentCode" :show-overflow-tooltip="true" width="80px" /> + <el-table-column + label="绉戝鍚嶇О" + align="center" + prop="deptName" + width="120px" + fixed="left" + :show-overflow-tooltip="true" + /> + <el-table-column + label="绉戝缂栫爜" + align="center" + prop="departmentCode" + :show-overflow-tooltip="true" + width="80px" + /> <!-- <el-table-column label="鎺掑簭" align="center" prop="orderNum" width="50px" /> --> <el-table-column label="璐熻矗浜�" align="center" prop="leader" /> - <el-table-column label="鑱旂郴鐢佃瘽" align="center" prop="phone" width="110px" :show-overflow-tooltip="true" /> - <el-table-column label="闄㈠尯" align="center" prop="hospName" :show-overflow-tooltip="true" /> - <el-table-column label="绠�浠�" align="center" prop="peofile" width="200px" :show-overflow-tooltip="true" /> - <el-table-column label="鑱旂郴浜�" align="center" prop="contactPerson" :show-overflow-tooltip="true" /> - <el-table-column label="鑱旂郴浜虹數璇�" align="center" prop="contactPhone" width="120px" :show-overflow-tooltip="true" /> - <el-table-column label="鏍囧噯绉戝" align="center" prop="standardDeptCode" :show-overflow-tooltip="true" /> - <el-table-column label="绉戝鐘舵��" align="center" prop="status" width="100px"> + <el-table-column + label="鑱旂郴鐢佃瘽" + align="center" + prop="phone" + width="110px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="闄㈠尯" + align="center" + prop="hospName" + :show-overflow-tooltip="true" + /> + <el-table-column + label="绠�浠�" + align="center" + prop="peofile" + width="200px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鑱旂郴浜�" + align="center" + prop="contactPerson" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鑱旂郴浜虹數璇�" + align="center" + prop="contactPhone" + width="120px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鏍囧噯绉戝" + align="center" + prop="standardDeptCode" + :show-overflow-tooltip="true" + /> + <el-table-column + label="绉戝鐘舵��" + align="center" + prop="status" + width="100px" + > <template slot-scope="scope"> - <el-switch v-model="scope.row.status" active-value="0" inactive-value="1" - @change="handleStatusChange(scope.row)"></el-switch> + <el-switch + v-model="scope.row.status" + active-value="0" + inactive-value="1" + @change="handleStatusChange(scope.row)" + ></el-switch> </template> </el-table-column> - <el-table-column fixed="right" label="鎿嶄綔" align="center" class-name="small-padding "> + <el-table-column + fixed="right" + label="鎿嶄綔" + align="center" + class-name="small-padding " + > <template slot-scope="scope"> - <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" - v-hasPermi="['system:dept:edit']" title="淇敼"></el-button> - <el-button size="mini" type="text" icon="el-icon-plus" @click="handleAdd(scope.row)" - v-hasPermi="['system:dept:add']" title="澧炲姞"></el-button> - <el-button v-if="scope.row.parentId != 0" size="mini" type="text" icon="el-icon-delete" - @click="handleDelete(scope.row)" v-hasPermi="['system:dept:remove']" title="鍒犻櫎"></el-button> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + @click="handleUpdate(scope.row)" + v-hasPermi="['system:dept:edit']" + title="淇敼" + ></el-button> + <!-- <el-button size="mini" type="text" icon="el-icon-plus" @click="handleAdd(scope.row)" + v-hasPermi="['system:dept:add']" title="澧炲姞"></el-button> --> + <el-button + v-if="scope.row.parentId != 0" + size="mini" + type="text" + icon="el-icon-delete" + @click="handleDelete(scope.row)" + v-hasPermi="['system:dept:remove']" + title="鍒犻櫎" + ></el-button> </template> </el-table-column> </el-table> @@ -74,26 +214,61 @@ </el-row> <!-- 娣诲姞鎴栦慨鏀归儴闂ㄥ璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="1050px" append-to-body> - <el-form ref="form" :model="form" :rules="rules" label-width="110px" :inline="true"> + <el-dialog + :title="title" + :visible.sync="open" + width="1050px" + append-to-body + > + <el-form + ref="form" + :model="form" + :rules="rules" + label-width="110px" + :inline="true" + > <el-form-item label="涓婄骇绉戝" prop="parentName"> - <el-select v-model="form.parentId" placeholder="璇烽�夋嫨涓婄骇绉戝" style="width: 200px" clearable filterable> - <el-option v-for="dict in deptOption" :key="dict.label" :label="dict.label" :value="dict.id"></el-option> + <el-select + v-model="form.parentId" + placeholder="璇烽�夋嫨涓婄骇绉戝" + style="width: 200px" + clearable + filterable + > + <el-option + v-for="dict in deptOption" + :key="dict.label" + :label="dict.label" + :value="dict.id" + ></el-option> </el-select> </el-form-item> <el-form-item label="绉戝鍚嶇О" prop="deptName"> <el-input v-model="form.deptName" placeholder="璇疯緭鍏ョ瀹ゅ悕绉�" /> </el-form-item> <el-form-item label="绉戝缂栫爜" prop="departmentCode"> - <el-input v-model="form.departmentCode" placeholder="璇疯緭鍏ョ瀹ょ紪鐮�" /> + <el-input + v-model="form.departmentCode" + placeholder="璇疯緭鍏ョ瀹ょ紪鐮�" + /> </el-form-item> <el-form-item label="鏄剧ず椤哄簭" prop="orderNum"> <el-input v-model="form.orderNum" placeholder="璇疯緭鍏ユ樉绀洪『搴�" /> </el-form-item> <el-form-item label="鎵�灞炲尰闄�" prop="hospName"> - <el-select v-model="form.hospName" placeholder="璇烽�夋嫨鎵�灞炲尰闄�" clearable filterable style="width: 200px"> - <el-option v-for="dict in hospList" :key="dict.hospAreaName" :label="dict.hospAreaName" - :value="dict.hospAreaName" /> + <el-select + v-model="form.hospName" + placeholder="璇烽�夋嫨鎵�灞炲尰闄�" + clearable + filterable + style="width: 200px" + > + <el-option + v-for="dict in hospList" + :key="dict.hospAreaName" + :label="dict.hospAreaName" + :value="dict.hospAreaName" + /> </el-select> </el-form-item> <el-form-item label="璐熻矗浜�" prop="leader"> @@ -162,12 +337,25 @@ </el-date-picker> </el-form-item> --> <el-form-item label="鏍囧噯绉戝" prop="standardDeptCode"> - <el-input v-model="form.standardDeptCode" placeholder="璇疯緭鍏ユ爣鍑嗙瀹�" /> + <el-input + v-model="form.standardDeptCode" + placeholder="璇疯緭鍏ユ爣鍑嗙瀹�" + /> </el-form-item> <el-form-item label="绉戝绫诲瀷" prop="deptTypeCode"> - <el-select v-model="form.parentOrgType" placeholder="璇烽�夋嫨绉戝绫诲瀷" style="width: 200px" clearable filterable> - <el-option v-for="dict in dict.type.dict_dept_type" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.parentOrgType" + placeholder="璇烽�夋嫨绉戝绫诲瀷" + style="width: 200px" + clearable + filterable + > + <el-option + v-for="dict in dict.type.dict_dept_type" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <!-- <el-form-item label="閲嶇偣绉戝" prop="deptFcusTypeCode"> @@ -176,16 +364,31 @@ </el-select> </el-form-item> --> <el-form-item label="绠�浠�" prop="peofile"> - <el-input v-model="form.peofile" placeholder="璇疯緭鍏ョ畝浠�" style="width: 525px" /> </el-form-item><br /> + <el-input + v-model="form.peofile" + placeholder="璇疯緭鍏ョ畝浠�" + style="width: 525px" + /> </el-form-item + ><br /> <el-form-item label="绉戝鍦板潃" prop="officialWeb"> <el-input v-model="form.officialWeb" placeholder="璇疯緭鍏ョ瀹ゅ湴鍧�" /> </el-form-item> <el-form-item label="杩愯惀鏃堕棿" prop="buildDate"> - <el-date-picker style="width: 200px" v-model="form.buildDate" type="date" placeholder="璇烽�夋嫨杩愯惀鏃堕棿"> + <el-date-picker + style="width: 200px" + v-model="form.buildDate" + type="date" + placeholder="璇烽�夋嫨杩愯惀鏃堕棿" + > </el-date-picker> </el-form-item> <el-form-item label="鍋滅敤鏃堕棿" prop="overDate"> - <el-date-picker style="width: 200px" v-model="form.overDate" type="date" placeholder="璇烽�夋嫨鍋滅敤鏃堕棿"> + <el-date-picker + style="width: 200px" + v-model="form.overDate" + type="date" + placeholder="璇烽�夋嫨鍋滅敤鏃堕棿" + > </el-date-picker> </el-form-item> </el-form> @@ -218,14 +421,14 @@ components: { Treeselect }, data() { let checkPhoneNum = (rule, value, callback) => { - console.log( value) + console.log(value); 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 (value != undefined && value != "") { return callback(); - }else if (!patter.test(value)) { - return callback(''); + } else if (!patter.test(value)) { + return callback(""); } }; return { @@ -264,19 +467,19 @@ // 琛ㄥ崟鏍¢獙 rules: { parentId: [ - { required: true, validator: checkPhoneNum, trigger: "blur" }, + { required: true, validator: checkPhoneNum, trigger: "blur" }, ], deptName: [ - { required: true, validator: checkPhoneNum, trigger: "blur" }, + { required: true, validator: checkPhoneNum, trigger: "blur" }, ], orderNum: [ - { required: true, validator: checkPhoneNum, trigger: "blur" }, + { required: true, validator: checkPhoneNum, trigger: "blur" }, ], departmentCode: [ - { required: true, validator: checkPhoneNum, trigger: "blur" }, + { required: true, validator: checkPhoneNum, trigger: "blur" }, ], hospName: [ - { required: true, validator: checkPhoneNum, trigger: "blur" }, + { required: true, validator: checkPhoneNum, trigger: "blur" }, ], // email: [ // { @@ -485,9 +688,9 @@ this.getList(); }); } else { - this.hospList.forEach(element => { - if(this.form.hospName == element.hospAreaName){ - this.form.hospId = element.hospAreaId + this.hospList.forEach((element) => { + if (this.form.hospName == element.hospAreaName) { + this.form.hospId = element.hospAreaId; } }); addDept(this.form).then((response) => { @@ -510,7 +713,7 @@ this.getList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) - .catch(() => { }); + .catch(() => {}); }, }, }; -- Gitblit v1.8.0