From 41710058c166ba40e6cc8b7e3d1f2f18925ef937 Mon Sep 17 00:00:00 2001 From: lkk <364857242@qq.com> Date: 星期三, 25 六月 2025 11:13:24 +0800 Subject: [PATCH] 1 --- src/views/system/user/index.vue | 1396 ++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 1,107 insertions(+), 289 deletions(-) diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index c3a6932..d966abc 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -4,31 +4,89 @@ <!--閮ㄩ棬鏁版嵁--> <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="deptOptions" :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 class="head-container"> + <el-tree + :data="deptOptions" + :props="defaultProps" + :expand-on-click-node="false" + :filter-node-method="filterNode" + ref="tree" + node-key="id" + default-expand-all + :default-expanded-keys="treeId" + highlight-current + @node-click="handleNodeClick" + /> + </div> --> + <div class="scrollable-container"> + <div class="content"> + <el-tree + :data="deptOptions" + :props="defaultProps" + :expand-on-click-node="false" + :filter-node-method="filterNode" + ref="tree" + node-key="id" + :default-expanded-keys="treeId" + highlight-current + @node-click="handleNodeClick" + /> + </div> </div> </el-col> <!--鐢ㄦ埛鏁版嵁--> <el-col :span="20" :xs="24"> - <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="72px"> + <el-form + :model="queryParams" + ref="queryForm" + size="small" + :inline="true" + v-show="showSearch" + label-width="72px" + > <el-form-item label="鐢ㄦ埛鍚嶇О" prop="nickName"> - <el-input v-model="queryParams.nickName" placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" clearable style="width: 180px" - @keyup.enter.native="handleQuery" /> + <el-input + v-model="queryParams.nickName" + placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" + clearable + style="width: 180px" + @keyup.enter.native="handleQuery" + /> </el-form-item> - <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber"> - <el-input v-model="queryParams.phonenumber" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" clearable style="width: 180px" - @keyup.enter.native="handleQuery" /> + + <el-form-item label="鐢ㄦ埛宸ュ彿" prop="userName"> + <el-input + v-model="queryParams.userName" + placeholder="璇疯緭鍏ョ敤鎴峰伐鍙�" + clearable + style="width: 180px" + @keyup.enter.native="handleQuery" + /> </el-form-item> <el-form-item label="鐘舵��" prop="status"> - <el-select v-model="queryParams.status" placeholder="鐢ㄦ埛鐘舵��" clearable style="width: 180px" filterable> - <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 + style="width: 180px" + filterable + > + <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 label="鎵�鍦ㄦ満鏋�" prop="hospName"> @@ -49,45 +107,124 @@ ></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-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:user:add']">鏂板</el-button> + <el-button + type="primary" + icon="el-icon-plus" + size="mini" + @click="handleAdd" + v-hasPermi="['system:user: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:user:edit']">淇敼</el-button> + <el-button + type="primary" + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="handleUp" + v-hasPermi="['system:user: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:user:remove']">鍒犻櫎</el-button> + <el-button + type="primary" + icon="el-icon-delete" + size="mini" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['system:user:remove']" + >鍒犻櫎</el-button + > </el-col> <el-col :span="1.5"> - <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleImport" - v-hasPermi="['system:user:import']">瀵煎叆</el-button> + <el-button + type="primary" + icon="el-icon-upload2" + size="mini" + @click="handleImport" + v-hasPermi="['system:user:import']" + >瀵煎叆</el-button + > </el-col> <el-col :span="1.5"> - <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" - v-hasPermi="['system:user:export']">瀵煎嚭</el-button> + <el-button + type="primary" + icon="el-icon-download" + size="mini" + @click="handleExport" + v-hasPermi="['system:user:export']" + >瀵煎嚭</el-button + > </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar> + <right-toolbar + :showSearch.sync="showSearch" + @queryTable="getList" + :columns="columns" + ></right-toolbar> </el-row> - <el-table v-loading="loading" :data="userList" border @selection-change="handleSelectionChange" - highlight-current-row> - <el-table-column type="selection" width="50" align="center" fixed="left" /> - <el-table-column label="搴忓彿" align="center" key="newID" prop="newID" width="50px" fixed="left" /> + <el-table + :data="userList" + border + @selection-change="handleSelectionChange" + v-loading="loading" + highlight-current-row + > + <el-table-column + type="selection" + width="50" + align="center" + fixed="left" + /> + <el-table-column + label="搴忓彿" + align="center" + key="newID" + prop="newID" + width="50px" + fixed="left" + /> <!-- <el-table-column label="缂栧彿" align="center" key="userId" prop="userId" v-if="columns[0].visible" /> --> - <el-table-column label="鐢ㄦ埛宸ュ彿" align="center" key="userName" prop="userName" width="85px" - :show-overflow-tooltip="true" /> - <el-table-column label="鐢ㄦ埛鍚嶇О" align="center" key="nickName" prop="nickName" width="100px" - :show-overflow-tooltip="true" /> - <el-table-column label="鎬у埆" align="center" key="sex" prop="sex" width="50px"> + <el-table-column + label="鐢ㄦ埛宸ュ彿" + align="center" + key="userName" + prop="userName" + width="85px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鐢ㄦ埛鍚嶇О" + align="center" + key="nickName" + prop="nickName" + width="100px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鎬у埆" + align="center" + key="sex" + prop="sex" + width="50px" + > <template slot-scope="scope"> <span v-if="scope.row.sex == '0'">鐢�</span> <span v-if="scope.row.sex == '1'">濂�</span> @@ -95,20 +232,61 @@ <span v-if="scope.row.sex == '9'">鏈鏄庢�у埆</span> </template> </el-table-column> - <el-table-column label="绉戝鍚嶇О" align="center" key="deptName" prop="dept.deptName" width="110px" - :show-overflow-tooltip="true" /> - <el-table-column label="鎵嬫満鍙风爜" align="center" key="phonenumber" prop="phonenumber" width="130px" - :show-overflow-tooltip="true" /> - <el-table-column label="鎵�鍦ㄩ櫌鍖�" align="center" key="hospName" prop="hospName" width="120px" - :show-overflow-tooltip="true" /> - <el-table-column label="鍏ヨ亴鏃ユ湡" align="center" key="entryDate" prop="entryDate" width="110px" - :show-overflow-tooltip="true" /> - <el-table-column label="鍖讳繚缂栫爜" align="center" key="medicalId" prop="medicalId" width="90px" - :show-overflow-tooltip="true" /> + <el-table-column + label="绉戝鍚嶇О" + align="center" + key="deptName" + prop="dept.deptName" + width="110px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鎵嬫満鍙风爜" + align="center" + key="phonenumber" + prop="phonenumber" + width="130px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鎵�鍦ㄩ櫌鍖�" + align="center" + key="hospName" + prop="hospName" + width="120px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鍏ヨ亴鏃ユ湡" + align="center" + key="entryDate" + prop="entryDate" + width="110px" + :show-overflow-tooltip="true" + /> + <el-table-column + label="鍖讳繚缂栫爜" + align="center" + key="medicalId" + prop="medicalId" + width="90px" + :show-overflow-tooltip="true" + /> - - <el-table-column label="鍒涘缓浜�" align="center" key="createBy" prop="createBy" width="80px" /> - <el-table-column label="淇敼浜�" align="center" key="updateBy" prop="updateBy" width="80px" /> + <el-table-column + label="鍒涘缓浜�" + align="center" + key="createBy" + prop="createBy" + width="80px" + /> + <el-table-column + label="淇敼浜�" + align="center" + key="updateBy" + prop="updateBy" + width="80px" + /> <!-- <el-table-column label="鍒涘缓鏃堕棿" align="center" @@ -120,24 +298,60 @@ <span>{{ parseTime(scope.row.createTime) }}</span> </template> </el-table-column> --> - <el-table-column label="淇敼鏃堕棿" align="center" prop="updateTime" v-if="columns[6].visible" width="160px"> + <el-table-column + label="淇敼鏃堕棿" + align="center" + prop="updateTime" + v-if="columns[6].visible" + width="160px" + > <template slot-scope="scope"> <span>{{ parseTime(scope.row.updateTime) }}</span> </template> </el-table-column> - <el-table-column label="鐘舵��" align="center" key="status" width="70px" fixed="right"> + <el-table-column + label="鐘舵��" + align="center" + key="status" + width="70px" + fixed="right" + > <template slot-scope="scope" v-if="scope.row.userId !== 1"> - <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 label="鎿嶄綔" fixed="right" align="center" width="100px" class-name="small-padding fixed-width"> + <el-table-column + label="鎿嶄綔" + fixed="right" + align="center" + width="100px" + class-name="small-padding fixed-width" + > <template slot-scope="scope" v-if="scope.row.userId !== 1"> - <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" - v-hasPermi="['system:user:edit']" title="淇敼"></el-button> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + @click="handleUpdate(scope.row)" + v-hasPermi="['system:user:edit']" + title="淇敼" + close-on-click-modal="false" + ></el-button> - <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" - v-hasPermi="['system:user:remove']" title="鍒犻櫎"></el-button> + <el-button + size="mini" + type="text" + icon="el-icon-delete" + @click="handleDelete(scope.row)" + v-hasPermi="['system:user:remove']" + title="鍒犻櫎" + close-on-click-modal="false" + ></el-button> <!-- 娣诲姞鐢ㄦ埛璇︽儏鎸夐挳 鐐瑰嚮璺冲嚭璇ョ敤鎴风殑璇︾粏淇℃伅椤甸潰 <el-button @@ -149,23 +363,30 @@ >璇︾粏淇℃伅</el-button > --> - <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" - v-hasPermi="['system:user:resetPwd', 'system:user:edit']"> - <el-button size="mini" type="text" icon="el-icon-d-arrow-right" title="鏇村"></el-button> - <el-dropdown-menu slot="dropdown"> - <el-dropdown-item command="handleResetPwd" icon="el-icon-key" - v-hasPermi="['system:user:resetPwd']">閲嶇疆瀵嗙爜</el-dropdown-item> - <el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check" - v-hasPermi="['system:user:edit']">鍒嗛厤瑙掕壊</el-dropdown-item> - <!-- 娣诲姞鐢ㄦ埛璇︽儏鎸夐挳 鐐瑰嚮璺冲嚭璇ョ敤鎴风殑璇︾粏淇℃伅椤甸潰 --> - <!-- <el-button - size="mini" - type="text" - icon="el-icon-share" - @click="handleSearch(scope.row)" - v-hasPermi="['hosp:Userinfo:list']" - >璇︾粏淇℃伅</el-button - > --> + <el-dropdown + size="mini" + @command="(command) => handleCommand(command, scope.row)" + v-hasPermi="['system:user:resetPwd', 'system:user:edit']" + > + <el-button + size="mini" + type="text" + icon="el-icon-d-arrow-right" + title="鏇村" + ></el-button> + <el-dropdown-menu slot="dropdown" :append-to-body="true"> + <el-dropdown-item + command="handleResetPwd" + icon="el-icon-key" + v-hasPermi="['system:user:resetPwd']" + >閲嶇疆瀵嗙爜</el-dropdown-item + > + <el-dropdown-item + command="handleAuthRole" + icon="el-icon-circle-check" + v-hasPermi="['system:user:edit']" + >鍒嗛厤瑙掕壊</el-dropdown-item + > </el-dropdown-menu> </el-dropdown> </template> @@ -174,8 +395,13 @@ <div class="pag"> <div class="pag1"> - <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" @pagination="getList" /> + <pagination + v-show="total > 0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> </div> </div> </el-col> @@ -183,8 +409,20 @@ <!-- 娣诲姞鎴栦慨鏀圭敤鎴烽厤缃璇濇 --> <div class="dia"> - <el-dialog :title="title" :visible.sync="open" width="1300px" append-to-body :before-close="handleClose"> - <el-form ref="form" :model="form" :rules="rules" label-width="100px" :inline="true"> + <el-dialog + :title="title" + :visible.sync="open" + width="1300px" + append-to-body + :before-close="handleClose" + > + <el-form + ref="form" + :model="form" + :rules="rules" + label-width="100px" + :inline="true" + > <!-- <el-form-item label="鐢ㄦ埛id" prop="userId" > <el-select v-model="form.userId" placeholder="璇烽�夋嫨鐢ㄦ埛id" style="width: 200px"> <el-option v-for="dict in userList" :key="dict.userId" :label="dict.userId" :value="dict.userId"></el-option> @@ -192,93 +430,235 @@ <el-input v-model="form.userId" placeholder="璇疯緭鍏ョ敤鎴穒d" /> </el-form-item> --> <el-form-item label="鐢ㄦ埛鍚嶇О" prop="nickName"> - <el-input v-model="form.nickName" placeholder="璇疯緭鍏ョ敤鎴锋樀绉�" maxlength="30" style="width: 130px" /> + <span + slot="label" + style="display: inline-block; border-bottom: 2px solid blue" + @click="handlePackage" + > + 鐢ㄦ埛鍚嶇О + </span> + <el-input + v-model="form.nickName" + placeholder="璇疯緭鍏ョ敤鎴锋樀绉�" + maxlength="30" + style="width: 130px" + /> </el-form-item> <el-form-item label="鐢ㄦ埛宸ュ彿" prop="userName"> - <el-input v-model="form.userName" placeholder="璇疯緭鍏ヤ汉鍛樼紪鐮�" style="width: 200px" /> + <el-input + v-model="form.userName" + placeholder="璇疯緭鍏ヤ汉鍛樼紪鐮�" + style="width: 200px" + /> </el-form-item> <el-form-item label="璇佷欢绫诲瀷" prop="certificateType"> - <el-select v-model="form.userInfo.certificateType" placeholder="璇烽�夋嫨璇佷欢绫诲瀷" style="width: 200px" filterable - clearable> - <el-option v-for="dict in dict.type.dict_user_cardtype" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.userInfo.certificateType" + placeholder="璇烽�夋嫨璇佷欢绫诲瀷" + style="width: 200px" + filterable + clearable + > + <el-option + v-for="dict in dict.type.dict_user_cardtype" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> <!-- <el-input v-model="form.certificateType" placeholder="璇烽�夋嫨璇佷欢绫诲瀷" /> --> </el-form-item> <el-form-item label="韬唤璇佸彿" prop="cardNo"> - <el-input v-model="form.userInfo.cardNo" placeholder="璇疯緭鍏ヨ韩浠借瘉浠跺彿" style="width: 200px" /> + <el-input + v-model="form.userInfo.cardNo" + placeholder="璇疯緭鍏ヨ韩浠借瘉浠跺彿" + style="width: 200px" + /> </el-form-item> <el-form-item label="鐢ㄦ埛鎬у埆" prop="sex"> - <el-select v-model="form.sex" placeholder="璇烽�夋嫨鎬у埆" style="width: 130px" filterable clearable> - <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.sex" + placeholder="璇烽�夋嫨鎬у埆" + style="width: 130px" + filterable + clearable + > + <el-option + v-for="dict in dict.type.sys_user_sex" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="鍑虹敓鏃ユ湡" prop="brithday"> - <el-date-picker v-model="form.userInfo.brithday" type="date" placeholder="璇烽�夋嫨鍑虹敓鏃ユ湡" style="width: 200px"> + <el-date-picker + v-model="form.userInfo.brithday" + type="date" + placeholder="璇烽�夋嫨鍑虹敓鏃ユ湡" + style="width: 200px" + > </el-date-picker> <!-- <el-input v-model="form.brithday" placeholder="璇烽�夋嫨鍑虹敓鏃ユ湡" /> --> </el-form-item> <el-form-item label="鎵嬫満鍙风爜" prop="phonenumber"> - <el-input v-model="form.phonenumber" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" maxlength="11" style="width: 200px" /> + <el-input + v-model="form.phonenumber" + placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" + maxlength="11" + style="width: 200px" + /> </el-form-item> <el-form-item label="閭" prop="email"> - <el-input v-model="form.email" placeholder="璇疯緭鍏ラ偖绠�" maxlength="50" style="width: 200px" /> + <el-input + v-model="form.email" + placeholder="璇疯緭鍏ラ偖绠�" + maxlength="50" + style="width: 200px" + /> </el-form-item> <el-form-item label="姘戞棌" prop="nationDesc"> - <el-select v-model="form.userInfo.nationDesc" placeholder="璇烽�夋嫨姘戞棌" style="width: 130px" filterable clearable> - <el-option v-for="dict in dict.type.dict_user_national" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.userInfo.nationDesc" + placeholder="璇烽�夋嫨姘戞棌" + style="width: 130px" + filterable + clearable + > + <el-option + v-for="dict in dict.type.dict_user_national" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> <!-- <el-input v-model="form.nationDesc" placeholder="璇疯緭鍏ユ皯鏃忔弿杩�"/> --> </el-form-item> - <el-form-item label="鎵�鍦ㄩ櫌鍖�" prop="hospName"> - <el-select v-model="form.hospName" placeholder="璇烽�夋嫨鎵�鍦ㄩ櫌鍖�" clearable style="width: 200px" filterable> - <el-option v-for="dict in hospList" :key="dict.hospAreaName" :label="dict.hospAreaName" - :value="dict.hospAreaId" /> + <el-form-item label="鎵�鍦ㄥ尰闄�" prop="hospId"> + <el-select + v-if="hospList.length > 0" + v-model="form.hospId" + placeholder="璇烽�夋嫨鎵�鍦ㄥ尰闄�" + clearable + style="width: 200px" + filterable + @change="sendhospName" + > + <el-option + v-for="dict in hospList" + :key="dict.hospAreaName" + :label="dict.hospAreaName" + :value="dict.hospAreaId" + /> </el-select> <!-- <el-input v-model="form.hospName" placeholder="璇疯緭鍏ョ粍缁囦腑鏂囧悕绉�" /> --> </el-form-item> <el-form-item label="褰掑睘绉戝" prop="deptId"> - <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="璇烽�夋嫨褰掑睘绉戝" - style="width: 200px" /> + <!-- <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="璇烽�夋嫨褰掑睘绉戝" + style="width: 200px" /> --> + <el-select + v-if="DepartmentList.length > 0" + v-model="form.deptId" + placeholder="璇烽�夋嫨褰掑睘绉戝" + clearable + style="width: 200px" + filterable + > + <el-option + v-for="dict in DepartmentList" + :key="dict.deptId" + :label="dict.deptName" + :value="dict.deptId" + /> + </el-select> </el-form-item> <el-form-item label="鍏ヨ亴鏃ユ湡" prop="entryDate"> - <el-date-picker v-model="form.userInfo.entryDate" type="date" placeholder="璇烽�夋嫨鍏ヨ亴鏃ユ湡" style="width: 200px"> + <el-date-picker + v-model="form.userInfo.entryDate" + type="date" + placeholder="璇烽�夋嫨鍏ヨ亴鏃ユ湡" + style="width: 200px" + > </el-date-picker> <!-- <el-input v-model="form.entryDate" placeholder="璇烽�夋嫨鍏ヨ亴鏃ユ湡" /> --> </el-form-item> <el-form-item label="鎵т笟璇佷功" prop="phyQualifiedCertifiedNo"> - <el-input v-model="form.phyQualifiedCertifiedNo" placeholder="璇疯緭鍏ュ尰甯�-鎵т笟璧勬牸璇佷功缂栫爜" style="width: 130px" /> + <el-input + v-model="form.phyQualifiedCertifiedNo" + placeholder="璇疯緭鍏ュ尰甯�-鎵т笟璧勬牸璇佷功缂栫爜" + style="width: 130px" + /> </el-form-item> <el-form-item label="璇佷功缂栫爜" prop="phyPracticeCertificateNo"> - <el-input v-model="form.phyPracticeCertificateNo" placeholder="璇疯緭鍏ヨ瘉涔︾紪鐮�" style="width: 200px" /> + <el-input + v-model="form.phyPracticeCertificateNo" + placeholder="璇疯緭鍏ヨ瘉涔︾紪鐮�" + style="width: 200px" + /> </el-form-item> <el-form-item label="鍖讳繚缂栫爜" prop="medicalId"> - <el-input v-model="form.medicalId" placeholder="璇疯緭鍏ュ尰淇濈紪鐮�" style="width: 200px" /> + <el-input + v-model="form.medicalId" + placeholder="璇疯緭鍏ュ尰淇濈紪鐮�" + style="width: 200px" + /> </el-form-item> <el-form-item label="浼樻儬鎶樻墸"> - <el-input-number ref="inputNumber" style="width: 200px" v-model="form.discount" :precision="2" - :step="0.1" :max="10" :min="1" @change="numberChange"></el-input-number> + <el-input-number + ref="inputNumber" + style="width: 200px" + v-model="form.discount" + :precision="2" + :step="0.1" + :max="10" + :min="1" + @change="numberChange" + ></el-input-number> </el-form-item> <el-form-item label="鐜颁綇鍧�" prop="liveAddr"> - <el-input v-model="form.userInfo.liveAddr" placeholder="璇疯緭鍏ョ幇灞呬綇鍦板潃" style="width: 440px" /> + <el-input + v-model="form.userInfo.liveAddr" + placeholder="璇疯緭鍏ョ幇灞呬綇鍦板潃" + style="width: 440px" + /> </el-form-item> <!-- <el-form-item v-if="form.userId == undefined" label="鐢ㄦ埛宸ュ彿" prop="userName"> <el-input v-model="form.userName" placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" maxlength="30" /> </el-form-item> --> - <el-form-item v-if="form.userId == undefined" label="鐢ㄦ埛瀵嗙爜" prop="password"> - <el-input v-model="form.password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�" type="password" maxlength="20" show-password - style="width: 200px" /> + <el-form-item + v-if="form.userId == undefined" + label="鐢ㄦ埛瀵嗙爜" + prop="password" + > + <el-input + v-model="form.password" + placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�" + type="password" + maxlength="20" + show-password + style="width: 200px" + /> </el-form-item> <el-form-item label="宀椾綅" prop="postNames"> - <el-select multiple v-model="form.postIds" placeholder="璇烽�夋嫨宀椾綅" style="width: 200px" @change="select" - filterable clearable> - <el-option v-for="item in postList" :key="item.postIds" :label="item.postName" :value="item.postId" - :disabled="item.status == 1"></el-option> + <el-select + multiple + v-model="form.postIds" + placeholder="璇烽�夋嫨宀椾綅" + style="width: 200px" + @change="select" + filterable + clearable + > + <el-option + v-for="item in postList" + :key="item.postIds" + :label="item.postName" + :value="item.postId" + :disabled="item.status == 1" + ></el-option> </el-select> </el-form-item> <!-- <el-form-item label="瑙掕壊"> @@ -292,13 +672,31 @@ <el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio> </el-radio-group> --> - <el-select v-model="form.status" placeholder="璇烽�夋嫨鐘舵��" style="width: 200px" filterable clearable> - <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> - </el-select> </el-form-item><br /> + <el-select + v-model="form.status" + placeholder="璇烽�夋嫨鐘舵��" + style="width: 200px" + filterable + clearable + > + <el-option + v-for="dict in dict.type.sys_normal_disable" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> </el-form-item + ><br /> <el-form-item label="澶囨敞"> - <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" :rows="2" label-width="400px" - style="width: 1130px" resize="none"></el-input> + <el-input + v-model="form.remark" + type="textarea" + placeholder="璇疯緭鍏ュ唴瀹�" + :rows="2" + label-width="400px" + style="width: 1130px" + resize="none" + ></el-input> </el-form-item> <!-- 鎶樺彔闈㈡澘 --> <el-collapse v-model="activeNames" @change="handleChange"> @@ -307,7 +705,11 @@ <el-input v-model="form.hosp_id" placeholder="璇疯緭鍏ョ粍缁嘔D" /> </el-form-item> --> <el-form-item label="缁勭粐绫诲瀷" prop="orgType"> - <el-input v-model="form.orgType" placeholder="璇峰~鍐欑粍缁囩被鍨�" style="width: 200px" /> + <el-input + v-model="form.orgType" + placeholder="璇峰~鍐欑粍缁囩被鍨�" + style="width: 200px" + /> </el-form-item> <!-- <el-form-item label="濮撳悕" prop="staffName"> <el-input v-model="form.staffName" placeholder="璇疯緭鍏ュ鍚�" /> @@ -316,7 +718,11 @@ <el-input v-model="form.staffEnName" placeholder="璇疯緭鍏ヨ嫳鏂囧悕" /> </el-form-item> --> <el-form-item label="鎷奸煶" prop="spell"> - <el-input v-model="form.spell" placeholder="璇疯緭鍏ユ嫾闊�" style="width: 200px" /> + <el-input + v-model="form.spell" + placeholder="璇疯緭鍏ユ嫾闊�" + style="width: 200px" + /> </el-form-item> <!-- <el-form-item label="姘戞棌鐮佸��" prop="nationCode"> <el-input @@ -326,7 +732,11 @@ </el-form-item> --> <el-form-item label="璇佷欢鍙风爜" prop="certificateNo"> - <el-input v-model="form.certificateNo" placeholder="璇疯緭鍏ヨ瘉浠跺彿鐮�" style="width: 200px" /> + <el-input + v-model="form.certificateNo" + placeholder="璇疯緭鍏ヨ瘉浠跺彿鐮�" + style="width: 200px" + /> </el-form-item> <!-- <el-form-item label="濠氬Щ鐮佸��" prop="marriageCode"> @@ -336,9 +746,19 @@ /> </el-form-item> --> <el-form-item label="濠氬Щ鎻忚堪" prop="marriageDesc"> - <el-select v-model="form.marriageDesc" placeholder="璇烽�夋嫨濠氬Щ鎻忚堪" style="width: 200px" filterable clearable> - <el-option v-for="dict in dict.type.dict_user_marry" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.marriageDesc" + placeholder="璇烽�夋嫨濠氬Щ鎻忚堪" + style="width: 200px" + filterable + clearable + > + <el-option + v-for="dict in dict.type.dict_user_marry" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> <!-- <el-input v-model="form.marriageDesc" @@ -346,27 +766,53 @@ /> --> </el-form-item> <el-form-item label="绫嶈疮" prop="homeTown"> - <el-select v-model="form.homeTown" placeholder="璇烽�夋嫨绫嶈疮" filterable clearable style="width: 200px"> - <el-option v-for="dict in dict.type.dict_qhdm" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.homeTown" + placeholder="璇烽�夋嫨绫嶈疮" + filterable + clearable + style="width: 200px" + > + <el-option + v-for="dict in dict.type.dict_qhdm" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> <!-- <el-input v-model="form.homeTown" placeholder="璇疯緭鍏ョ睄璐�" style="width: 200px" /> --> </el-form-item> <el-form-item label="鍑虹敓鍦板潃" prop="brithAddr"> - <el-input v-model="form.brithAddr" placeholder="璇疯緭鍏ュ嚭鐢熷湴鍧�" style="width: 200px" /> + <el-input + v-model="form.brithAddr" + placeholder="璇疯緭鍏ュ嚭鐢熷湴鍧�" + style="width: 200px" + /> </el-form-item> <el-form-item label="鍔炲叕鐢佃瘽" prop="officePhone"> - <el-input v-model="form.officePhone" placeholder="璇疯緭鍏ュ姙鍏數璇�" style="width: 200px" /> + <el-input + v-model="form.officePhone" + placeholder="璇疯緭鍏ュ姙鍏數璇�" + style="width: 200px" + /> </el-form-item> <el-form-item label="閭斂缂栫爜" prop="postCode"> - <el-input v-model="form.postCode" placeholder="璇疯緭鍏ラ偖鏀跨紪鐮�" style="width: 200px" /> + <el-input + v-model="form.postCode" + placeholder="璇疯緭鍏ラ偖鏀跨紪鐮�" + style="width: 200px" + /> </el-form-item> <!-- <el-form-item label="鐢靛瓙閭" prop="email"> <el-input v-model="form.email" placeholder="璇疯緭鍏ョ數瀛愰偖绠�" /> </el-form-item> --> <el-form-item label="浜哄憳绫诲埆" prop="kindCode"> - <el-input v-model="form.kindCode" placeholder="璇烽�夋嫨浜哄憳绫诲埆" style="width: 200px" /> + <el-input + v-model="form.kindCode" + placeholder="璇烽�夋嫨浜哄憳绫诲埆" + style="width: 200px" + /> </el-form-item> <!-- <el-form-item label="瀛﹀巻鐮佸��" prop="educationCode"> <el-input @@ -375,9 +821,19 @@ /> </el-form-item> --> <el-form-item label="瀛﹀巻鎻忚堪" prop="educationDesc"> - <el-select v-model="form.educationDesc" placeholder="璇烽�夋嫨瀛﹀巻鎻忚堪" style="width: 200px" filterable clearable> - <el-option v-for="dict in dict.type.dict_user_study" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.educationDesc" + placeholder="璇烽�夋嫨瀛﹀巻鎻忚堪" + style="width: 200px" + filterable + clearable + > + <el-option + v-for="dict in dict.type.dict_user_study" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <!-- <el-form-item label="瀛︿綅鐮佸��" prop="degreeCode"> @@ -405,146 +861,335 @@ /> </el-form-item> --> <el-form-item label="鍋ュ悍鐘跺喌" prop="healthStatusCode"> - <el-select v-model="form.healthStatusCode" placeholder="璇烽�夋嫨鍋ュ悍鐘跺喌" style="width: 200px" filterable - clearable> - <el-option v-for="dict in dict.type.dict_user_healthy" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.healthStatusCode" + placeholder="璇烽�夋嫨鍋ュ悍鐘跺喌" + style="width: 200px" + filterable + clearable + > + <el-option + v-for="dict in dict.type.dict_user_healthy" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="琛屾斂绠$悊鑱屽姟" prop="managerPosition"> - <el-select v-model="form.managerPosition" placeholder="璇烽�夋嫨琛屾斂绠$悊鑱屽姟" style="width: 200px" filterable - clearable> - <el-option v-for="dict in dict.type.dict_user_manage" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.managerPosition" + placeholder="璇烽�夋嫨琛屾斂绠$悊鑱屽姟" + style="width: 200px" + filterable + clearable + > + <el-option + v-for="dict in dict.type.dict_user_manage" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="澶勬柟鑱岀О" prop="cftitle"> - <el-select v-model="form.cftitle" placeholder="璇烽�夋嫨澶勬柟鑱岀О" style="width: 200px" filterable clearable> - <el-option v-for="dict in dict.type.dict_prescription_title" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.cftitle" + placeholder="璇烽�夋嫨澶勬柟鑱岀О" + style="width: 200px" + filterable + clearable + > + <el-option + v-for="dict in dict.type.dict_prescription_title" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="鍙傚姞宸ヤ綔鏃ユ湡" prop="workDate"> - <el-date-picker v-model="form.workDate" type="date" placeholder="璇烽�夋嫨鍑虹敓鏃ユ湡" style="width: 200px"> + <el-date-picker + v-model="form.workDate" + type="date" + placeholder="璇烽�夋嫨鍑虹敓鏃ユ湡" + style="width: 200px" + > </el-date-picker> </el-form-item> <el-form-item label="璋冨叆/鍑烘椂闂�" prop="drcDate"> - <el-date-picker v-model="form.drcDate" type="date" placeholder="璇烽�夋嫨鍑虹敓鏃ユ湡" style="width: 200px"> + <el-date-picker + v-model="form.drcDate" + type="date" + placeholder="璇烽�夋嫨鍑虹敓鏃ユ湡" + style="width: 200px" + > </el-date-picker> </el-form-item> <el-form-item label="椹绘潙" prop="stationed"> - <el-select v-model="form.stationed" placeholder="璇烽�夋嫨鏄惁椹绘潙" style="width: 200px"> - <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.stationed" + placeholder="璇烽�夋嫨鏄惁椹绘潙" + style="width: 200px" + > + <el-option + v-for="dict in dict.type.sys_yes_no" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="闄㈠+" prop="academician"> - <el-select v-model="form.academician" placeholder="璇烽�夋嫨鏄惁闄㈠+" style="width: 200px"> - <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.academician" + placeholder="璇烽�夋嫨鏄惁闄㈠+" + style="width: 200px" + > + <el-option + v-for="dict in dict.type.sys_yes_no" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="绐佸嚭" prop="expert"> - <el-select v-model="form.expert" placeholder="璇烽�夋嫨鏄惁绐佸嚭" style="width: 200px"> - <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.expert" + placeholder="璇烽�夋嫨鏄惁绐佸嚭" + style="width: 200px" + > + <el-option + v-for="dict in dict.type.sys_yes_no" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="浜彈娲ヨ创" prop="allowance"> - <el-select v-model="form.allowance" placeholder="璇烽�夋嫨鏄惁浜彈娲ヨ创" style="width: 200px"> - <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.allowance" + placeholder="璇烽�夋嫨鏄惁浜彈娲ヨ创" + style="width: 200px" + > + <el-option + v-for="dict in dict.type.sys_yes_no" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="鍗冧竾浜烘墠" prop="nationPeople"> - <el-select v-model="form.nationPeople" placeholder="璇烽�夋嫨鏄惁鍗冧竾浜烘墠宸ョ▼鍥藉绾т汉閫�" style="width: 200px"> - <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.nationPeople" + placeholder="璇烽�夋嫨鏄惁鍗冧竾浜烘墠宸ョ▼鍥藉绾т汉閫�" + style="width: 200px" + > + <el-option + v-for="dict in dict.type.sys_yes_no" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="绉戞妧濂栭」" prop="technologyHeadPeople"> - <el-select v-model="form.technologyHeadPeople" placeholder="璇烽�夋嫨鏄惁鍥藉绉戞妧濂栭」璐熻矗浜�" style="width: 200px"> - <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.technologyHeadPeople" + placeholder="璇烽�夋嫨鏄惁鍥藉绉戞妧濂栭」璐熻矗浜�" + style="width: 200px" + > + <el-option + v-for="dict in dict.type.sys_yes_no" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="鎬ユ晳浜哄憳" prop="responder"> - <el-select v-model="form.responder" placeholder="璇烽�夋嫨鏄惁鎬ユ晳浜哄憳" style="width: 200px"> - <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.responder" + placeholder="璇烽�夋嫨鏄惁鎬ユ晳浜哄憳" + style="width: 200px" + > + <el-option + v-for="dict in dict.type.sys_yes_no" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="鎵т笟绫诲埆" prop="phyPrcaticeTypeCod"> - <el-input v-model="form.phyPrcaticeTypeCod" placeholder="璇疯緭鍏ュ尰甯堟墽涓氱被鍒爜鍊�" style="width: 200px" /> + <el-input + v-model="form.phyPrcaticeTypeCod" + placeholder="璇疯緭鍏ュ尰甯堟墽涓氱被鍒爜鍊�" + style="width: 200px" + /> </el-form-item> <el-form-item label="鎵т笟鑼冨洿" prop="phyPrcaticeScopeCode"> - <el-input v-model="form.phyPrcaticeScopeCode" placeholder="璇疯緭鍏ュ尰甯�-鎵т笟鑼冨洿鐮佸��" style="width: 200px" /> + <el-input + v-model="form.phyPrcaticeScopeCode" + placeholder="璇疯緭鍏ュ尰甯�-鎵т笟鑼冨洿鐮佸��" + style="width: 200px" + /> </el-form-item> <el-form-item label="鎵т笟璧勬牸" prop="phyQualifiedName"> - <el-input v-model="form.phyQualifiedName" placeholder="璇疯緭鍏ュ尰甯�-鎵т笟璧勬牸鍚嶇О" style="width: 200px" /> + <el-input + v-model="form.phyQualifiedName" + placeholder="璇疯緭鍏ュ尰甯�-鎵т笟璧勬牸鍚嶇О" + style="width: 200px" + /> </el-form-item> <el-form-item label="鍖诲笀-娉ㄥ唽" prop="phyRegisterDate"> - <el-date-picker clearable v-model="form.phyRegisterDate" type="date" value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨鍖诲笀-娉ㄥ唽鏃堕棿" style="width: 200px"> + <el-date-picker + clearable + v-model="form.phyRegisterDate" + type="date" + value-format="yyyy-MM-dd" + placeholder="璇烽�夋嫨鍖诲笀-娉ㄥ唽鏃堕棿" + style="width: 200px" + > </el-date-picker> </el-form-item> <el-form-item label="娉ㄥ唽鏈夋晥鏈�" prop="phyRegisterValidDate"> - <el-date-picker clearable v-model="form.phyRegisterValidDate" type="date" value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨鍖诲笀-娉ㄥ唽鏈夋晥鏈�" style="width: 200px"> + <el-date-picker + clearable + v-model="form.phyRegisterValidDate" + type="date" + value-format="yyyy-MM-dd" + placeholder="璇烽�夋嫨鍖诲笀-娉ㄥ唽鏈夋晥鏈�" + style="width: 200px" + > </el-date-picker> </el-form-item> <el-form-item label="鍖诲笀-娉ㄥ唽鍦�" prop="phyRegisterAddress"> - <el-input v-model="form.phyRegisterAddress" placeholder="璇疯緭鍏ュ尰甯�-娉ㄥ唽鍦�" style="width: 200px" /> + <el-input + v-model="form.phyRegisterAddress" + placeholder="璇疯緭鍏ュ尰甯�-娉ㄥ唽鍦�" + style="width: 200px" + /> </el-form-item> <el-form-item label="缂栧埗鎯呭喌" prop="formation"> - <el-select v-model="form.formation" placeholder="璇烽�夋嫨缂栧埗鎯呭喌" style="width: 200px" filterable clearable> - <el-option v-for="dict in dict.type.dict_user_bianzhi" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.formation" + placeholder="璇烽�夋嫨缂栧埗鎯呭喌" + style="width: 200px" + filterable + clearable + > + <el-option + v-for="dict in dict.type.dict_user_bianzhi" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="鍖讳繚鑱岀О" prop="medicalTitle"> - <el-input v-model="form.medicalTitle" placeholder="璇疯緭鍏ュ尰淇濊亴绉�" style="width: 200px" /> + <el-input + v-model="form.medicalTitle" + placeholder="璇疯緭鍏ュ尰淇濊亴绉�" + style="width: 200px" + /> </el-form-item> <el-form-item label="澶氭満鏋勫尰甯�" prop="moreHospPhy"> - <el-input v-model="form.moreHospPhy" placeholder="璇疯緭鍏ュ鏈烘瀯鎵т笟鍖诲笀" style="width: 200px" /> + <el-input + v-model="form.moreHospPhy" + placeholder="璇疯緭鍏ュ鏈烘瀯鎵т笟鍖诲笀" + style="width: 200px" + /> </el-form-item> - <el-form-item label="鑽笀-娉ㄥ唽璇�" prop="phaPracticeCertificateCode"> - <el-input v-model="form.phaPracticeCertificateCode" placeholder="璇疯緭鍏ヨ嵂甯�-娉ㄥ唽璇佷功缂栧彿" style="width: 200px" /> + <el-form-item + label="鑽笀-娉ㄥ唽璇�" + prop="phaPracticeCertificateCode" + > + <el-input + v-model="form.phaPracticeCertificateCode" + placeholder="璇疯緭鍏ヨ嵂甯�-娉ㄥ唽璇佷功缂栧彿" + style="width: 200px" + /> </el-form-item> <el-form-item label="鑽笀-鎵т笟" prop="phaPrcaticeTypeCode"> - <el-input v-model="form.phaPrcaticeTypeCode" placeholder="璇疯緭鍏ヨ嵂甯�-鎵т笟绫诲埆鐮佸��" style="width: 200px" /> + <el-input + v-model="form.phaPrcaticeTypeCode" + placeholder="璇疯緭鍏ヨ嵂甯�-鎵т笟绫诲埆鐮佸��" + style="width: 200px" + /> </el-form-item> <el-form-item label="鎵т笟鑼冨洿" prop="phaPrcaticeScopeCode"> - <el-input v-model="form.phaPrcaticeScopeCode" placeholder="璇疯緭鍏ヨ嵂甯�-鎵т笟鑼冨洿鐮佸��" style="width: 200px" /> + <el-input + v-model="form.phaPrcaticeScopeCode" + placeholder="璇疯緭鍏ヨ嵂甯�-鎵т笟鑼冨洿鐮佸��" + style="width: 200px" + /> </el-form-item> <el-form-item label="鑽笀-娉ㄥ唽" prop="phaRegisterDate"> - <el-date-picker clearable v-model="form.phaRegisterDate" type="date" value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨鑽笀-娉ㄥ唽鏃堕棿" style="width: 200px"> + <el-date-picker + clearable + v-model="form.phaRegisterDate" + type="date" + value-format="yyyy-MM-dd" + placeholder="璇烽�夋嫨鑽笀-娉ㄥ唽鏃堕棿" + style="width: 200px" + > </el-date-picker> </el-form-item> <el-form-item label="鑽笀-鏈夋晥鏈�" prop="phaRegisterValidDate"> - <el-date-picker clearable v-model="form.phaRegisterValidDate" type="date" value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨鑽笀-娉ㄥ唽鏈夋晥鏈�" style="width: 200px"> + <el-date-picker + clearable + v-model="form.phaRegisterValidDate" + type="date" + value-format="yyyy-MM-dd" + placeholder="璇烽�夋嫨鑽笀-娉ㄥ唽鏈夋晥鏈�" + style="width: 200px" + > </el-date-picker> </el-form-item> <el-form-item label="鑽笀-娉ㄥ唽鍦�" prop="phaRegisterAddress"> - <el-input v-model="form.phaRegisterAddress" placeholder="璇疯緭鍏ヨ嵂甯�-娉ㄥ唽鍦�" style="width: 200px" /> + <el-input + v-model="form.phaRegisterAddress" + placeholder="璇疯緭鍏ヨ嵂甯�-娉ㄥ唽鍦�" + style="width: 200px" + /> </el-form-item> <el-form-item label="涓撳-璧勬牸璇�" prop="phaCertifiedNo"> - <el-input v-model="form.phaCertifiedNo" placeholder="璇疯緭鍏ヤ笓瀹�-璧勬牸璇佸彿" style="width: 200px" /> + <el-input + v-model="form.phaCertifiedNo" + placeholder="璇疯緭鍏ヤ笓瀹�-璧勬牸璇佸彿" + style="width: 200px" + /> </el-form-item> <el-form-item label="鑱岀О绾у埆" prop="expJobLevelCode"> - <el-select v-model="form.expJobLevelCode" placeholder="璇烽�夋嫨鑱岀О绾у埆" style="width: 200px" filterable clearable> - <el-option v-for="dict in dict.type.dict_user_zcjb" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.expJobLevelCode" + placeholder="璇烽�夋嫨鑱岀О绾у埆" + style="width: 200px" + filterable + clearable + > + <el-option + v-for="dict in dict.type.dict_user_zcjb" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="鎺掑簭" prop="orderNum"> - <el-input v-model="form.orderNum" placeholder="璇疯緭鍏ユ帓搴�" style="width: 200px" /> + <el-input + v-model="form.orderNum" + placeholder="璇疯緭鍏ユ帓搴�" + style="width: 200px" + /> </el-form-item> <!-- <el-form-item label="鏁版嵁鐘舵��(PT10.00.004)" prop="effective"> <el-select @@ -572,49 +1217,104 @@ /> </el-form-item> --> <el-form-item label="鏀挎不闈㈣矊" prop="politicalStatus"> - <el-select v-model="form.politicalStatus" placeholder="璇烽�夋嫨鏀挎不闈㈣矊" style="width: 200px" filterable clearable> - <el-option v-for="dict in dict.type.dict_political" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.politicalStatus" + placeholder="璇烽�夋嫨鏀挎不闈㈣矊" + style="width: 200px" + filterable + clearable + > + <el-option + v-for="dict in dict.type.dict_political" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="鍏ュ厷鏃ユ湡" prop="joinpartisanDate"> - <el-date-picker clearable v-model="form.joinpartisanDate" type="date" value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨鍔犲叆鍏氭淳鏃ユ湡" style="width: 200px"> + <el-date-picker + clearable + v-model="form.joinpartisanDate" + type="date" + value-format="yyyy-MM-dd" + placeholder="璇烽�夋嫨鍔犲叆鍏氭淳鏃ユ湡" + style="width: 200px" + > </el-date-picker> </el-form-item> <el-form-item label="鑱屼笟璇佷功鍚嶇О" prop="proQualiCertificate"> - <el-input v-model="form.proQualiCertificate" placeholder="璇疯緭鍏ヨ亴涓氳祫鏍艰瘉涔﹀悕绉�" style="width: 200px" /> + <el-input + v-model="form.proQualiCertificate" + placeholder="璇疯緭鍏ヨ亴涓氳祫鏍艰瘉涔﹀悕绉�" + style="width: 200px" + /> </el-form-item> <el-form-item label="绛捐鍚堝悓" prop="whetherContract"> - <el-select v-model="form.whetherContract" placeholder="璇烽�夋嫨鏄惁绛捐鍚堝悓" style="width: 200px"> - <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.whetherContract" + placeholder="璇烽�夋嫨鏄惁绛捐鍚堝悓" + style="width: 200px" + > + <el-option + v-for="dict in dict.type.sys_yes_no" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="瀹炰範" prop="internshIp"> - <el-select v-model="form.internshIp" placeholder="璇烽�夋嫨鏄惁瀹炰範" style="width: 200px"> - <el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.internshIp" + placeholder="璇烽�夋嫨鏄惁瀹炰範" + style="width: 200px" + > + <el-option + v-for="dict in dict.type.sys_yes_no" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="浜旂瑪" prop="wbm"> - <el-input v-model="form.wbm" placeholder="璇疯緭鍏ヤ簲绗�" style="width: 200px" /> + <el-input + v-model="form.wbm" + placeholder="璇疯緭鍏ヤ簲绗�" + style="width: 200px" + /> </el-form-item> <!-- <el-form-item label="绫嶈疮" prop="homeTownDesc"> <el-input v-model="form.homeTownDesc" placeholder="璇疯緭鍏ョ睄璐�" /> </el-form-item> --> <el-form-item label="寰俊openid" prop="openId"> - <el-input v-model="form.openId" placeholder="璇疯緭鍏ュ井淇penid" style="width: 200px" /> + <el-input + v-model="form.openId" + placeholder="璇疯緭鍏ュ井淇penid" + style="width: 200px" + /> </el-form-item> <el-form-item label="鍦ㄨ亴绫诲埆" prop="jobCategory"> - <el-select v-model="form.jobCategory" placeholder="璇烽�夋嫨鍦ㄨ亴绫诲埆" style="width: 200px" filterable clearable> - <el-option v-for="dict in dict.type.dict_user_work" :key="dict.value" :label="dict.label" - :value="dict.value"></el-option> + <el-select + v-model="form.jobCategory" + placeholder="璇烽�夋嫨鍦ㄨ亴绫诲埆" + style="width: 200px" + filterable + clearable + > + <el-option + v-for="dict in dict.type.dict_user_work" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> </el-select> </el-form-item> <el-form-item label="绠�浠�"> - <file-upload v-model="form.profile" /> </el-form-item><br /> + <file-upload v-model="form.profile" /> </el-form-item + ><br /> <!-- <el-form-item label="澶囨敞"> <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" :rows="2" label-width="400px" style="width: 1157px"></el-input> </el-form-item> --> @@ -629,7 +1329,7 @@ </div> <!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� --> - <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> + <!-- <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" :action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag> @@ -649,32 +1349,50 @@ <el-button type="primary" @click="submitFileForm">纭� 瀹�</el-button> <el-button @click="upload.open = false">鍙� 娑�</el-button> </div> - </el-dialog> + </el-dialog> --> <!-- 閲嶇疆瀵嗙爜瀵硅瘽妗� --> <el-dialog title="鎻愮ず" :visible.sync="dialogVisible1" width="30%" - :before-close="handleClose"> - <el-form> - <span>璇疯緭鍏モ�渰{row.userName}}鈥濈殑鏂板瘑鐮�</span> - <el-form-item> - <el-input v-model="password" :type="type" auto-complete="off" placeholder="瀵嗙爜" ref="barcodeMsg"> - <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" /> - <i slot="suffix" class="icon-style" :class="elIcon" autocomplete="auto" @click="flag = !flag" /></el-input> + :before-close="handleClose" + > + <el-form :rules="rules1"> + <span>璇疯緭鍏モ�渰{ row.userName }}鈥濈殑鏂板瘑鐮�</span> + <el-form-item prop="password"> + <el-input + v-model="password" + :type="type" + auto-complete="off" + placeholder="瀵嗙爜" + ref="barcodeMsg" + > + <svg-icon + slot="prefix" + icon-class="password" + class="el-input__icon input-icon" /> + <i + slot="suffix" + class="icon-style" + :class="elIcon" + autocomplete="auto" + @click="flag = !flag" + /></el-input> </el-form-item> </el-form> - + <span slot="footer" class="dialog-footer"> - <el-button @click="dialogVisible = false">鍙� 娑�</el-button> + <el-button @click="dialogVisible1 = false">鍙� 娑�</el-button> <el-button type="primary" @click="tijiao">纭� 瀹�</el-button> </span> </el-dialog> + <yonghu ref="aaa" @add="handleChanges" /> </div> </template> <script> +import yonghu from "@/components/yonghu"; import { listUser, getUser, @@ -684,9 +1402,10 @@ resetUserPwd, changeUserStatus, deptTreeSelect, - getUserInfo, + getDeptListByDictHospId, } from "@/api/system/user"; import { getToken } from "@/utils/auth"; +import { getInfo } from "@/api/login"; import { listHosp } from "@/api/hosp/hosp"; import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; @@ -712,17 +1431,33 @@ "dict_user_work", "dict_qhdm", ], - components: { Treeselect }, + components: { Treeselect, yonghu }, data() { + let checkPhoneNum = (rule, value, callback) => { + console.log(value); + let patter = new RegExp(/^1\s*[3456789]\s*(\d\s*){9}$/); + if (value == "" && value == undefined && !value) { + console.log(11111); + return callback(""); + } else if (value != undefined && value != "") { + console.log(22222); + return callback(); + } else if (!patter.test(value)) { + console.log(33333); + return callback(""); + } + }; return { - row:[], + row: [], flag: false, - password:"", - dialogVisible1:false, + password: "", + dialogVisible1: false, nums: "", userInfoList: [], hospList: [], activeNames: ["1"], + treeId: [], + selectedDeptId: null, // 閬僵灞� loading: true, // 閫変腑鏁扮粍 @@ -746,6 +1481,7 @@ dialogVisible: false, // 鐢ㄦ埛琛ㄦ牸鏁版嵁 sysUserList: [], + DepartmentList: [], // 宀椾綅琛ㄦ牸鏁版嵁 postList: [], // 瑙掕壊琛ㄦ牸鏁版嵁 @@ -770,7 +1506,7 @@ brithday: "", nationDesc: "", entryDate: "", - hospName: "", + hospName: "", }, }, forms: {}, @@ -823,47 +1559,67 @@ // 琛ㄥ崟鏍¢獙 rules: { userName: [ - { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, + { required: true, validator: checkPhoneNum, trigger: "blur" }, { min: 2, max: 20, - message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿", + validator: checkPhoneNum, trigger: "blur", }, ], nickName: [ - { required: true, message: "鐢ㄦ埛鏄电О涓嶈兘涓虹┖", trigger: "blur" }, + { required: true, validator: checkPhoneNum, trigger: "blur" }, ], password: [ - { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, + { required: true, validator: checkPhoneNum, trigger: "blur" }, { min: 5, max: 20, - message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", + validator: checkPhoneNum, trigger: "blur", }, ], email: [ { type: "email", - message: "璇疯緭鍏ユ纭殑閭鍦板潃", + validator: checkPhoneNum, trigger: ["blur", "change"], }, ], phonenumber: [ { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", + validator: checkPhoneNum, trigger: "blur", }, ], + }, + rules1: { + // password: [ + // { required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, + // { + // min: 5, + // max: 20, + // message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", + // trigger: "blur", + // }, + // ], }, }; }, watch: { // 鏍规嵁鍚嶇О绛涢�夐儴闂ㄦ爲 deptName(val) { - this.$refs.tree.filter(val); + console.log(val); + }, + treeId(newVal, oldVal) { + if (newVal) { + this.$nextTick(() => { + document + .querySelector(".el-tree-node__children .el-tree-node__content") + .click(); + }); + } }, }, computed: { @@ -872,42 +1628,43 @@ }, elIcon() { return this.flag ? "el-icon-minus" : "el-icon-view"; - } + }, }, created() { - this.getList(); this.getDeptTree(); - this.getlistHosp(); - this.getPostList(); - this.getRoleList(); - this.getConfigKey("sys.user.initPassword").then((response) => { - this.initPassword = response.msg; - }); + this.getList(); + if (this.form.hospId) { + this.sendhospName(); // 椤甸潰鍔犺浇鏃惰嚜鍔ㄥ姞杞界瀹ゆ暟鎹� + } + + // this.getRoleList(); + // this.getConfigKey("sys.user.initPassword").then((response) => { + // this.initPassword = response.msg; + // }); }, + methods: { - handleChange(val) { }, + handleChange(val) {}, /** 鏌ヨ鐢ㄦ埛鍒楄〃 */ getList() { this.loading = true; - listUser(this.addDateRange(this.queryParams, this.dateRange)).then( - (response) => { - response.rows.forEach((item, index) => { - item.newID = - (this.queryParams.pageNum - 1) * this.queryParams.pageSize + - index + - 1; - }); - this.userList = response.rows; - // for(let key in this.userList){ - // for(let i = 0; i < this.userList[key].length; i++){ - // this.userList[key][i]["form"] = key; - // this.userInfoList.push(this.userList[key][i]) - // } - // } - this.total = response.total; - this.loading = false; - } - ); + if (this.queryParams.deptId) { + listUser(this.addDateRange(this.queryParams, this.dateRange)).then( + (response) => { + response.rows.forEach((item, index) => { + item.newID = + (this.queryParams.pageNum - 1) * this.queryParams.pageSize + + index + + 1; + }); + console.log(response, 999); + + this.userList = response.rows; + this.total = response.total; + this.loading = false; + } + ); + } }, /** 鏌ヨ宀椾綅鍒楄〃 */ getPostList() { @@ -925,11 +1682,10 @@ }, /** 鏌ヨ闄㈠尯淇℃伅鍒楄〃 */ getlistHosp() { - this.loading = true; listHosp(this.queryParams).then((response) => { this.hospList = response.rows; + this.total = response.total; - this.loading = false; }); }, @@ -942,6 +1698,9 @@ deptTreeSelect().then((response) => { this.deptOptions = response.data; console.log(this.deptOptions); + this.treeId.push(this.deptOptions[0].id); + this.queryParams.deptId = this.deptOptions[0].id; + console.log(this.queryParams.deptId); }); }, // 绛涢�夎妭鐐� @@ -952,7 +1711,21 @@ // 鑺傜偣鍗曞嚮浜嬩欢 handleNodeClick(data) { this.queryParams.deptId = data.id; + this.selectedDeptId = data.id; this.handleQuery(); + }, + handlePackage() { + this.$refs.aaa.open = true; + this.$refs.aaa.getList(); + this.$refs.aaa.title = "鏁版嵁瀛楀吀"; + }, + handleChanges(param1) { + this.form.nickName = param1[0].staffName; + // this.form.hisPacId = param1[0].pacId; + // if (param1[0].price) { + // this.form.counterPrice = param1[0].price; + // this.form.retailPrice = param1[0].price; + // } }, // 鐢ㄦ埛鐘舵�佷慨鏀� handleStatusChange(row) { @@ -973,10 +1746,11 @@ cancel() { this.open = false; this.reset(); - this.$tab.refreshPage(); + // this.$tab.refreshPage(); }, handleClose() { - this.$tab.refreshPage(); + this.cancel(); + // this.$tab.refreshPage(); }, // 琛ㄥ崟閲嶇疆 reset() { @@ -1025,8 +1799,11 @@ this.single = selection.length != 1; this.multiple = !selection.length; }, + // 鏇村鎿嶄綔瑙﹀彂 handleCommand(command, row) { + console.log("Command triggered:", command); + switch (command) { case "handleResetPwd": this.handleResetPwd(row); @@ -1043,6 +1820,17 @@ this.reset(); this.open = true; this.title = "鐢ㄦ埛淇℃伅缁存姢"; + this.getPostList(); + this.getlistHosp(); + getInfo(this.queryParams).then((response) => { + this.form.hospId = response.user.hospId; + if (this.form.hospId) { + this.sendhospName(); + } + }); + if (this.selectedDeptId) { + this.form.deptId = this.selectedDeptId; + } // getUser().then((response) => { // this.postOptions = response.posts; // this.roleOptions = response.roles; @@ -1051,10 +1839,22 @@ // }); }, + sendhospName() { + let data = { + id: this.form.hospId, + }; + getDeptListByDictHospId(data).then((res) => { + console.log(res, 123456); + this.DepartmentList = res.data; + // this.form.deptId = String(this.form.deptId); + }); + }, + handleUp(row) { this.title = "鐢ㄦ埛淇℃伅缁存姢"; this.open = true; this.form = row; + this.form.hospId = Number(row.hospId); // listUser(this.addDateRange(this.queryParams, this.dateRange)).then( // (response) => { // response.rows.forEach((item, index) => { @@ -1073,8 +1873,13 @@ }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { + this.getPostList(); + this.getlistHosp(); this.reset(); this.form = row; + if (this.form.hospId) { + this.sendhospName(); + } // this.form.userInfo.id = null; // if(this.form.userInfo != null){ // this.forms = this.form.userInfo; @@ -1106,7 +1911,6 @@ }, /** 閲嶇疆瀵嗙爜鎸夐挳鎿嶄綔 */ handleResetPwd(row) { - console.log(row); this.dialogVisible1 = true; this.row = row; // this.$prompt('璇疯緭鍏�"' + row.userName + '"鐨勬柊瀵嗙爜', "鎻愮ず", { @@ -1125,18 +1929,21 @@ // }) // .catch(() => { }); }, - tijiao(){ - let data = { - password:this.password, - userId:this.row.userId, + tijiao() { + if (this.password) { + let data = { + password: this.password, + userId: this.row.userId, + }; + resetUserPwd(data).then((res) => { + if (res.code == 200) { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.dialogVisible1 = false; + } + }); + } else { + this.$modal.msgError("鐢ㄦ埛鍚嶅瘑鐮佷笉鑳戒负绌�"); } - resetUserPwd(data).then(res=>{ - console.log(res); - if(res.code == 200){ - this.$modal.msgSuccess("淇敼鎴愬姛"); - this.dialogVisible1 = false; - } - }) }, /** 鍒嗛厤瑙掕壊鎿嶄綔 */ handleAuthRole: function (row) { @@ -1156,7 +1963,7 @@ this.getList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) - .catch(() => { }); + .catch(() => {}); }, /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { @@ -1192,8 +1999,8 @@ this.$refs.upload.clearFiles(); this.$alert( "<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + - response.msg + - "</div>", + response.msg + + "</div>", "瀵煎叆缁撴灉", { dangerouslyUseHTMLString: true } ); @@ -1224,6 +2031,17 @@ line-height: 36px; width: 200px; } +.scrollable-container { + width: 200px; /* 璁剧疆瀹瑰櫒鐨勫搴� */ + height: 629px; /* 璁剧疆瀹瑰櫒鐨勯珮搴� */ + overflow: auto; /* 鍏佽鍐呭婧㈠嚭鏃舵樉绀烘粴鍔ㄦ潯 */ + border: 1px solid #ccc; /* 鍙�夛細娣诲姞杈规浠ユ洿濂藉湴鏄剧ず瀹瑰櫒 */ + position: relative; /* 鍙�夛細浣垮鍣ㄥ唴鐨勭粷瀵瑰畾浣嶅厓绱犺兘澶熸纭樉绀� */ +} +.content { + width: 600px; /* 璁剧疆鍐呭鐨勫搴︼紝浠ヨЕ鍙戞按骞虫粴鍔ㄦ潯 */ + height: 1000px; /* 璁剧疆鍐呭鐨勯珮搴︼紝浠ヨЕ鍙戝瀭鐩存粴鍔ㄦ潯 */ +} .pag { width: 100%; -- Gitblit v1.8.0