From 410d5bf8bc5ef56be822105e71dac02f43aa9463 Mon Sep 17 00:00:00 2001 From: wwl <xchao828@163.com> Date: 星期四, 16 一月 2025 17:29:13 +0800 Subject: [PATCH] 1 --- src/views/hosp/project/index.vue | 923 +++++++++++++------------------------------------------- 1 files changed, 223 insertions(+), 700 deletions(-) diff --git a/src/views/hosp/project/index.vue b/src/views/hosp/project/index.vue index c1f1630..59f180d 100644 --- a/src/views/hosp/project/index.vue +++ b/src/views/hosp/project/index.vue @@ -3,107 +3,41 @@ <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="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" - :render-content="renderContent" - /> + <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" :render-content="renderContent" /> </div> </div> - <!-- <el-scrollbar style="height: 629px; width: 100%"> - <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-expanded-keys="treeId" - highlight-current - @node-click="handleNodeClick" - /> - </div> - </el-scrollbar> --> </el-col> <el-col :span="20" :xs="24"> - <el-form - :model="queryParams" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="68px" - > + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" + label-width="68px"> <el-form-item label="椤圭洰鍚嶇О" prop="proName"> - <el-input - v-model="queryParams.proName" - placeholder="璇疯緭鍏ラ」鐩悕绉�" - clearable - @keyup.enter.native="handleQuery" - /> + <el-input v-model="queryParams.proName" placeholder="璇疯緭鍏ラ」鐩悕绉�" clearable @keyup.enter.native="handleQuery" /> </el-form-item> <el-form-item label="妫�鏌ョ被鍒�" prop="checkType"> - <el-input - v-model="queryParams.checkType" - placeholder="璇疯緭鍏ユ鏌ョ被鍒�" - clearable - @keyup.enter.native="handleQuery" - /> + <el-input v-model="queryParams.checkType" placeholder="璇疯緭鍏ユ鏌ョ被鍒�" clearable + @keyup.enter.native="handleQuery" /> </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="['hosp:project:add']" - >鏂板</el-button - > + <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" + v-hasPermi="['hosp:project:add']">鏂板</el-button> </el-col> <el-col :span="1.5"> - <el-button - :disabled="xiugais" - type="primary" - icon="el-icon-plus" - size="mini" - @click="handleUpdate1" - v-hasPermi="['hosp:project:add']" - >淇敼</el-button - > + <el-button :disabled="xiugais" type="primary" icon="el-icon-plus" size="mini" @click="handleUpdate1" + v-hasPermi="['hosp:project:add']">淇敼</el-button> </el-col> <!-- <el-col :span="1.5"> <el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" v-hasPermi="['hosp:project:edit']">淇敼</el-button> @@ -112,197 +46,66 @@ <el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" v-hasPermi="['hosp:project:remove']">鍒犻櫎</el-button> </el-col> --> <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-download" - size="mini" - @click="handleExport" - v-hasPermi="['hosp:project:export']" - >瀵煎嚭</el-button - > + <el-button type="primary" icon="el-icon-download" size="mini" @click="handleExport" + v-hasPermi="['hosp:project:export']">瀵煎嚭</el-button> </el-col> <el-col :span="1.5"> - <el-button - type="primary" - icon="el-icon-download" - size="mini" - @click="Synchronizationfees" - >鎵归噺鍚屾璐圭敤</el-button - > + <el-button type="primary" icon="el-icon-download" size="mini" + @click="Synchronizationfees">鎵归噺鍚屾璐圭敤</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 - v-if="refreshTable" - v-loading="loading" - :data="projectList" - ref="tableRef" - border - > + <el-table v-if="refreshTable" v-loading="loading" :data="projectList" ref="tableRef" border> <!-- :show-overflow-tooltip="true" --> - <el-table-column - label="椤圭洰鍚嶇О" - prop="proName" - fixed="left" - :width="flexColumnWidth('rwdtypeName')" - /> - <el-table-column - label="浠锋牸(/鍏�)" - align="center" - prop="proPrice" - width="75px" - :show-overflow-tooltip="true" - ></el-table-column> - <el-table-column - label="鏁伴噺" - align="center" - prop="sl" - width="65px" - :show-overflow-tooltip="true" - ></el-table-column> + <el-table-column label="椤圭洰鍚嶇О" prop="proName" fixed="left" :width="flexColumnWidth('rwdtypeName')" /> + <el-table-column label="浠锋牸(/鍏�)" align="center" prop="proPrice" width="75px" + :show-overflow-tooltip="true"></el-table-column> + <el-table-column label="鏁伴噺" align="center" prop="sl" width="65px" + :show-overflow-tooltip="true"></el-table-column> <!-- <el-table-column label="绉戝鍚嶇О" align="center" prop="deptName" width="110px" :show-overflow-tooltip="true" /> --> - <el-table-column - label="妫�鏌ョ被鍒�" - align="center" - prop="proCheckType" - width="110px" - :show-overflow-tooltip="true" - /> - <el-table-column - label="榛樿鍊�" - align="center" - prop="proDefault" - width="110px" - :show-overflow-tooltip="true" - /> - <el-table-column - label="缁撴灉绫诲瀷" - align="center" - prop="resultType" - width="80px" - :show-overflow-tooltip="true" - > + <el-table-column label="妫�鏌ョ被鍒�" align="center" prop="proCheckType" width="110px" + :show-overflow-tooltip="true" /> + <el-table-column label="榛樿鍊�" align="center" prop="proDefault" width="110px" :show-overflow-tooltip="true" /> + <el-table-column label="缁撴灉绫诲瀷" align="center" prop="resultType" width="80px" :show-overflow-tooltip="true"> <template slot-scope="scope"> - <dict-tag - :options="dict.type.tj_result_type" - :value="scope.row.resultType" - /> + <dict-tag :options="dict.type.tj_result_type" :value="scope.row.resultType" /> </template> </el-table-column> <!-- <el-table-column label="妫�鏌ユ柟寮�" align="center" prop="proCheckMethod" :show-overflow-tooltip="true" width="110px" /> --> - <el-table-column - label="鍙備笌灏忕粨" - align="center" - prop="needReport" - :show-overflow-tooltip="true" - width="75px" - > + <el-table-column label="鍙備笌灏忕粨" align="center" prop="needReport" :show-overflow-tooltip="true" width="75px"> <template slot-scope="scope"> - <dict-tag - :options="dict.type.sys_yes_no" - :value="scope.row.needReport" - /> + <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.needReport" /> </template> </el-table-column> - <el-table-column - label="鏄惁绌鸿吂" - align="center" - prop="proCheckMethod" - :show-overflow-tooltip="true" - width="75px" - > + <el-table-column label="鏄惁绌鸿吂" align="center" prop="proCheckMethod" :show-overflow-tooltip="true" width="75px"> <template slot-scope="scope"> - <dict-tag - :options="dict.type.sys_yes_no" - :value="scope.row.proCheckMethod" - /> + <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.proCheckMethod" /> </template> </el-table-column> - <el-table-column - label="椤圭洰鏍囧噯鍊�" - align="center" - prop="proScope" - :show-overflow-tooltip="true" - width="90px" - > + <el-table-column label="椤圭洰鏍囧噯鍊�" align="center" prop="proScope" :show-overflow-tooltip="true" width="90px"> </el-table-column> - <el-table-column - label="涓村簥鎰忎箟" - align="center" - prop="proMeaning" - width="350px" - :show-overflow-tooltip="true" - /> - <el-table-column - label="澶囨敞" - prop="remark" - align="center" - width="120px" - :show-overflow-tooltip="true" - > + <el-table-column label="涓村簥鎰忎箟" align="center" prop="proMeaning" width="350px" :show-overflow-tooltip="true" /> + <el-table-column label="澶囨敞" prop="remark" align="center" width="120px" :show-overflow-tooltip="true"> </el-table-column> - <el-table-column - label="鐘舵��" - align="center" - prop="proStatus" - fixed="right" - width="80px" - > + <el-table-column label="鐘舵��" align="center" prop="proStatus" fixed="right" width="80px"> <template slot-scope="scope"> - <dict-tag - :options="dict.type.sys_normal_disable" - :value="scope.row.proStatus" - /> + <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.proStatus" /> </template> </el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - fixed="right" - class-name="small-padding fixed-width" - width="80px" - > + <el-table-column label="鎿嶄綔" align="center" fixed="right" class-name="small-padding fixed-width" width="80px"> <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - @click="handleUpdate(scope.row)" - v-hasPermi="['hosp:project:edit']" - title="淇敼" - ></el-button> - <el-button - v-if="scope.row.proParentId == '0'" - size="mini" - type="text" - icon="el-icon-plus" - @click="handleAdd(scope.row)" - v-hasPermi="['system:dept:add']" - title="澧炲姞" - ></el-button> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click="handleDelete(scope.row)" - v-hasPermi="['hosp:project:remove']" - title="鍒犻櫎" - ></el-button> + <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" + v-hasPermi="['hosp:project:edit']" title="淇敼"></el-button> + <el-button v-if="scope.row.proParentId == '0'" size="mini" type="text" icon="el-icon-plus" + @click="handleAdd(scope.row)" v-hasPermi="['system:dept:add']" title="澧炲姞"></el-button> + <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" + v-hasPermi="['hosp:project:remove']" title="鍒犻櫎"></el-button> </template> </el-table-column> </el-table> @@ -310,32 +113,12 @@ </el-row> <!-- 娣诲姞鎴栦慨鏀逛綋妫�椤圭洰瀵硅瘽妗� --> - <el-dialog - :title="title" - :visible.sync="open" - width="1200px" - append-to-body - :before-close="handleClose" - :close-on-click-modal="false" - > - <el-form - ref="form" - :model="form" - :rules="rules" - label-width="100px" - :inline="true" - > + <el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body :before-close="handleClose" + :close-on-click-modal="false"> + <el-form ref="form" :model="form" :rules="rules" label-width="100px" :inline="true"> <el-form-item label="涓婚」鍚嶇О" prop="proParentId"> - <treeselect - :disabled="proParent" - v-model="form.proParentId" - :options="projectOptions" - :normalizer="normalizer" - :show-count="true" - placeholder="閫夋嫨涓婚」鍚嶇О" - style="width: 260px" - @select="obtain" - /> + <treeselect :disabled="proParent" v-model="form.proParentId" :options="projectOptions" + :normalizer="normalizer" :show-count="true" placeholder="閫夋嫨涓婚」鍚嶇О" style="width: 260px" @select="obtain" /> </el-form-item> <el-form-item label="鏄庣粏椤圭洰" prop="proName"> @@ -343,48 +126,24 @@ </el-input> </el-form-item> <el-form-item label="椤圭洰浠锋牸" prop="proPrice"> - <el-input - v-model="form.proPrice" - :disabled="isPriceDisabled" - placeholder="璇疯緭鍏ラ」鐩环鏍�" - /> + <el-input v-model="form.proPrice" :disabled="isPriceDisabled" placeholder="璇疯緭鍏ラ」鐩环鏍�" /> </el-form-item> <el-form-item label="妫�鏌ョ被鍒�" prop="proCheckType"> - <el-input - v-model="form.proCheckType" - placeholder="璇疯緭鍏ユ鏌ョ被鍒�" - style="width: 260px" - /> + <el-input v-model="form.proCheckType" placeholder="璇疯緭鍏ユ鏌ョ被鍒�" style="width: 260px" /> </el-form-item> <el-form-item label="涓村簥鎰忎箟" prop="proMeaning"> <el-input v-model="form.proMeaning" placeholder="璇疯緭鍏ヤ复搴婃剰涔�" /> </el-form-item> <el-form-item label="鍙備笌灏忕粨" prop="needReport"> - <el-select - v-model="form.needReport" - 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.needReport" 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="proCheckMethod"> - <el-select - v-model="form.proCheckMethod" - placeholder="璇烽�夋嫨鏄惁绌鸿吂" - style="width: 260px" - > - <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.proCheckMethod" placeholder="璇烽�夋嫨鏄惁绌鸿吂" style="width: 260px"> + <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="isEat"> @@ -394,18 +153,9 @@ </el-select> </el-form-item> --> <el-form-item label="鎬у埆" prop="proSex"> - <el-select - v-model="form.proSex" - placeholder="璇烽�夋嫨浣撴浜烘�у埆" - style="width: 200px" - 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.proSex" placeholder="璇烽�夋嫨浣撴浜烘�у埆" style="width: 200px" 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="proType"> @@ -413,196 +163,83 @@ </el-form-item> <el-form-item label="绉戝鍚嶇О" prop="deptId"> - <el-select - v-model="form.deptId" - placeholder="璇烽�夋嫨绉戝鍚嶇О" - @change="changeType" - filterable - style="width: 260px" - > - <el-option - v-for="item in parentNameList" - :key="item.deptId" - :label="item.deptName" - :value="item.deptId" - /> + <el-select v-model="form.deptId" placeholder="璇烽�夋嫨绉戝鍚嶇О" @change="changeType" filterable style="width: 260px"> + <el-option v-for="item in parentNameList" :key="item.deptId" :label="item.deptName" :value="item.deptId" /> </el-select> </el-form-item> <el-form-item label="鍚敤鏍囧織" prop="proStatus"> - <el-select - v-model="form.proStatus" - 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 v-model="form.proStatus" 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> <el-form-item label="椤圭洰榛樿鍊�" prop="proDefault"> - <el-input - v-model="form.proDefault" - placeholder="璇疯緭鍏ラ」鐩粯璁ゅ��" - style="width: 200px" - /> + <el-input v-model="form.proDefault" placeholder="璇疯緭鍏ラ」鐩粯璁ゅ��" style="width: 200px" /> </el-form-item> <el-form-item label="閲囨牱鏍囪" prop="isSampling"> - <el-select - v-model="form.isSampling" - placeholder="璇烽�夋嫨閲囨牱鏍囪" - style="width: 260px" - filterable - clearable - > - <el-option - v-for="dict in dict.type.dis_sampling_tab" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> + <el-select v-model="form.isSampling" placeholder="璇烽�夋嫨閲囨牱鏍囪" style="width: 260px" filterable clearable> + <el-option v-for="dict in dict.type.dis_sampling_tab" :key="dict.value" :label="dict.label" + :value="dict.value"></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.sys_dict_specimen" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> + <el-select v-model="form.specimenType" placeholder="璇烽�夋嫨鏍囨湰绫诲瀷" style="width: 200px" filterable clearable> + <el-option v-for="dict in dict.type.sys_dict_specimen" :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" - filterable - clearable - > - <el-option - v-for="dict in dict.type.sys_dict_position" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> + <el-select v-model="form.checkBw" placeholder="璇烽�夋嫨妫�鏌ラ儴浣�" style="width: 200px" filterable clearable> + <el-option v-for="dict in dict.type.sys_dict_position" :key="dict.value" :label="dict.label" + :value="dict.value"></el-option> </el-select> </el-form-item> <el-form-item label="鍗曚綅" prop="proMetering"> - <el-input - v-model="form.proMetering" - placeholder="璇疯緭鍏ュ崟浣�" - style="width: 260px" - /> + <el-input v-model="form.proMetering" placeholder="璇疯緭鍏ュ崟浣�" style="width: 260px" /> </el-form-item> <el-form-item label="鍙傝�冭寖鍥�" prop="proScope"> - <el-input - v-model="form.proScope" - placeholder="璇疯緭鍏ュ弬鑰冭寖鍥�" - style="width: 200px" - /> + <el-input v-model="form.proScope" placeholder="璇疯緭鍏ュ弬鑰冭寖鍥�" style="width: 200px" /> </el-form-item> <el-form-item label="鏁伴噺" prop="sl"> - <el-input - v-model="form.sl" - placeholder="璇疯緭鍏ユ暟閲�" - style="width: 200px" - /> + <el-input v-model="form.sl" placeholder="璇疯緭鍏ユ暟閲�" style="width: 200px" /> </el-form-item> <el-form-item label="缁勫悎鏍囧織" prop="sfzhfy"> - <el-select - v-model="form.sfzhfy" - placeholder="璇烽�夋嫨鏄惁缁勫悎鏍囧織" - style="width: 260px" - > - <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.sfzhfy" placeholder="璇烽�夋嫨鏄惁缁勫悎鏍囧織" style="width: 260px"> + <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="resultType"> - <el-select - v-model="form.resultType" - placeholder="璇烽�夋嫨缁撴灉绫诲瀷" - style="width: 200px" - filterable - clearable - > - <el-option - v-for="dict in dict.type.tj_result_type" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> + <el-select v-model="form.resultType" placeholder="璇烽�夋嫨缁撴灉绫诲瀷" style="width: 200px" filterable clearable> + <el-option v-for="dict in dict.type.tj_result_type" :key="dict.value" :label="dict.label" + :value="dict.value"></el-option> </el-select> </el-form-item> <el-form-item label="his椤圭洰鍚嶇О" prop="hisXmmc" v-if="key == 'Y'"> - <span - slot="label" - style="display: inline-block; border-bottom: 2px solid blue" - @click="getDetailed" - > + <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="getDetailed"> his椤圭洰鍚嶇О </span> - <el-input - v-model="form.hisXmmc" - placeholder="his椤圭洰鍚嶇О" - style="width: 200px" - > + <el-input v-model="form.hisXmmc" placeholder="his椤圭洰鍚嶇О" style="width: 200px"> </el-input> </el-form-item> <el-form-item label="his椤圭洰鍚嶇О" prop="hisXmmc" v-if="key == 'N'"> - <el-input - v-model="form.hisXmmc" - placeholder="璇疯緭鍏ユ槑缁嗛」鐩�" - style="width: 260px" - > + <el-input v-model="form.hisXmmc" placeholder="璇疯緭鍏ユ槑缁嗛」鐩�" style="width: 260px"> </el-input> </el-form-item> <el-form-item label="his缂栫爜" prop="hisXmbm"> - <el-input - v-model="form.hisXmbm" - placeholder="璇疯緭鍏is缂栫爜" - style="width: 260px" - /> + <el-input v-model="form.hisXmbm" placeholder="璇疯緭鍏is缂栫爜" style="width: 260px" /> </el-form-item> <el-form-item label="his鍗曚环" prop="hisdj"> - <el-input - v-model="form.hisdj" - placeholder="璇疯緭鍏is鍗曚环" - style="width: 200px" - /> + <el-input v-model="form.hisdj" placeholder="璇疯緭鍏is鍗曚环" style="width: 200px" /> </el-form-item> <el-form-item label="LIS椤圭洰" prop="lisXmmc"> - <span - slot="label" - style="display: inline-block; border-bottom: 2px solid blue" - @click="handleQuerys" - > + <span slot="label" style="display: inline-block; border-bottom: 2px solid blue" @click="handleQuerys"> LIS椤圭洰 </span> - <el-input - v-model="form.lisXmmc" - placeholder="璇疯緭鍏IS椤圭洰" - style="width: 200px" - > + <el-input v-model="form.lisXmmc" placeholder="璇疯緭鍏IS椤圭洰" style="width: 200px"> </el-input> </el-form-item> @@ -614,48 +251,19 @@ /> </el-form-item> <el-form-item label="澶囨敞" prop="proRemark"> - <el-input - v-model="form.proRemark" - placeholder="璇疯緭鍏ュ娉�" - style="width: 200px" - /> + <el-input v-model="form.proRemark" placeholder="璇疯緭鍏ュ娉�" style="width: 200px" /> </el-form-item> </el-form> - <el-button - style="margin-left: 40px" - type="primary" - plain - size="mini" - icon="el-icon-plus" - @click="addmembers" - >鏂板琛�</el-button - > + <el-button style="margin-left: 40px" type="primary" plain size="mini" icon="el-icon-plus" + @click="addmembers">鏂板琛�</el-button> <!-- 鑰楁潗琛� --> - <el-table - :data="form.consumablesList" - border - style="margin-top: 10px; margin-left: 40px; width: 890px" - v-if="showPrise" - > - <el-table-column - label="鑰楁潗鍚嶇О" - align="center" - prop="makings" - width="200px" - > + <el-table :data="form.consumablesList" border style="margin-top: 10px; margin-left: 40px; width: 890px" + v-if="showPrise"> + <el-table-column label="鑰楁潗鍚嶇О" align="center" prop="makings" width="200px"> <template slot-scope="scope"> - <el-select - filterable - v-model="scope.row.makings" - placeholder="璇烽�夋嫨鏀惰垂椤圭洰" - @change="getSelectValue" - > - <el-option - v-for="(item, index) in consumableList" - :key="index" - :label="item.makings" - :value="item.makings" - > + <el-select filterable v-model="scope.row.makings" placeholder="璇烽�夋嫨鏀惰垂椤圭洰" @change="getSelectValue"> + <el-option v-for="(item, index) in consumableList" :key="index" :label="item.makings" + :value="item.makings"> </el-option> </el-select> </template> @@ -664,200 +272,94 @@ </el-table-column> <el-table-column label="浠锋牸" align="center" prop="price"> </el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - fixed="right" - class-name="small-padding fixed-width" - > + <el-table-column label="鎿嶄綔" align="center" fixed="right" class-name="small-padding fixed-width"> <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click.native.prevent="Delete(scope.$index)" - v-hasPermi="['hosp:consumables:remove']" - title="鍒犻櫎" - ></el-button> + <el-button size="mini" type="text" icon="el-icon-delete" @click.native.prevent="Delete(scope.$index)" + v-hasPermi="['hosp:consumables:remove']" title="鍒犻櫎"></el-button> </template> </el-table-column> </el-table> <!-- 椤圭洰鏍囧噯鍊艰〃 --> - <el-table - :data="form.tjStandardList" - border - style="margin-top: 10px; margin-left: 40px; width: 890px" - v-if="showRentPrise" - > + <el-table :data="form.tjStandardList" border style="margin-top: 10px; margin-left: 40px; width: 890px" + v-if="showRentPrise"> <el-table-column label="浣撴浜烘�у埆" align="center" prop="tjSex"> <template slot-scope="scope"> <el-select v-model="scope.row.tjSex" placeholder="璇烽�夋嫨浣撴浜烘�у埆"> - <el-option - v-for="dict in dict.type.sys_user_sex" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> + <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" + :value="dict.value"></el-option> </el-select> </template> </el-table-column> <el-table-column label="浣撴浜虹被鍨�" align="center" prop="tjType"> <template slot-scope="scope"> - <el-select - filterable - v-model="scope.row.tjType" - placeholder="璇烽�夋嫨浣撴浜虹被鍨�" - > - <el-option - v-for="dict in dict.type.dict_personnel_type" - :key="dict.value" - :label="dict.label" - :value="dict.value" - ></el-option> + <el-select filterable v-model="scope.row.tjType" placeholder="璇烽�夋嫨浣撴浜虹被鍨�"> + <el-option v-for="dict in dict.type.dict_personnel_type" :key="dict.value" :label="dict.label" + :value="dict.value"></el-option> </el-select> </template> </el-table-column> <el-table-column label="鍗曚綅" align="center" prop="company"> <template slot-scope="scope"> - <el-input - v-model="scope.row.company" - autocomplete="off" - placeholder="璇疯緭鍏ュ唴瀹�" - ></el-input> + <el-input v-model="scope.row.company" autocomplete="off" placeholder="璇疯緭鍏ュ唴瀹�"></el-input> </template> </el-table-column> - <el-table-column - label="鏍囧噯鏈�灏忓��" - align="center" - prop="tjStandardLtValue" - > + <el-table-column label="鏍囧噯鏈�灏忓��" align="center" prop="tjStandardLtValue"> <template slot-scope="scope"> - <el-input - v-model="scope.row.tjStandardLtValue" - autocomplete="off" - placeholder="璇疯緭鍏ユ爣鍑嗘渶灏忓��" - ></el-input> + <el-input v-model="scope.row.tjStandardLtValue" autocomplete="off" placeholder="璇疯緭鍏ユ爣鍑嗘渶灏忓��"></el-input> </template> </el-table-column> - <el-table-column - label="鏍囧噯鏈�澶у��" - align="center" - prop="tjStandardGtValue" - > + <el-table-column label="鏍囧噯鏈�澶у��" align="center" prop="tjStandardGtValue"> <template slot-scope="scope"> - <el-input - v-model="scope.row.tjStandardGtValue" - autocomplete="off" - placeholder="璇疯緭鍏ユ爣鍑嗘渶澶у��" - ></el-input> + <el-input v-model="scope.row.tjStandardGtValue" autocomplete="off" placeholder="璇疯緭鍏ユ爣鍑嗘渶澶у��"></el-input> </template> </el-table-column> - <el-table-column - label="鎿嶄綔" - align="center" - fixed="right" - class-name="small-padding fixed-width" - > + <el-table-column label="鎿嶄綔" align="center" fixed="right" class-name="small-padding fixed-width"> <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-delete" - @click.native.prevent="Delete(scope.$index)" - v-hasPermi="['hosp:consumables:remove']" - title="鍒犻櫎" - ></el-button> + <el-button size="mini" type="text" icon="el-icon-delete" @click.native.prevent="Delete(scope.$index)" + v-hasPermi="['hosp:consumables:remove']" title="鍒犻櫎"></el-button> </template> </el-table-column> </el-table> <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="submitForm">纭� 瀹�</el-button> + <el-button type="primary" @click.stop="submitForm">纭� 瀹�</el-button> <el-button @click="cancel">鍙� 娑�</el-button> </div> </el-dialog> - <el-dialog - title="鏀惰垂椤圭洰" - :visible.sync="dialogTableVisible" - width="80%" - :close-on-click-modal="false" - > + <el-dialog title="鏀惰垂椤圭洰" :visible.sync="dialogTableVisible" width="80%" :close-on-click-modal="false"> <div class="app-container"> <el-row :gutter="24"> <!--閮ㄩ棬鏁版嵁--> <el-col :span="6" :xs="24"> <div style="height: 560px; overflow-y: scroll"> <div class="head-container"> - <el-input - v-model="xmmc" - placeholder="璇疯緭鍏ラ」鐩紪鐮�" - clearable - size="small" - prefix-icon="el-icon-search" - style="margin-bottom: 20px" - /> + <el-input v-model="xmmc" placeholder="璇疯緭鍏ラ」鐩紪鐮�" clearable size="small" prefix-icon="el-icon-search" + style="margin-bottom: 20px" /> </div> <div id="changtree"> - <el-tree - ref="tree" - node-key="id" - highlight-current - :default-expanded-keys="chargeId" - :data="deptOptionstree" - :props="defaultPropstree" - :expand-on-click-node="false" - :auto-expand-parent="false" - :filter-node-method="filterNode2" - @node-click="handleNodecharge" - /> + <el-tree ref="tree" node-key="id" highlight-current :default-expanded-keys="chargeId" + :data="deptOptionstree" :props="defaultPropstree" :expand-on-click-node="false" + :auto-expand-parent="false" :filter-node-method="filterNode2" @node-click="handleNodecharge" /> </div> </div> </el-col> <el-col :span="18" :xs="24"> - <el-form - :model="querycharge" - ref="queryForm" - size="small" - :inline="true" - v-show="showSearch" - label-width="68px" - > + <el-form :model="querycharge" ref="queryForm" size="small" :inline="true" v-show="showSearch" + label-width="68px"> <el-form-item label="椤圭洰鍚嶇О" prop="xmmc"> - <el-input - v-model="querycharge.xmmc" - placeholder="璇疯緭鍏ラ」鐩悕绉�" - clearable - @keyup.enter.native="handlecharge" - /> + <el-input v-model="querycharge.xmmc" placeholder="璇疯緭鍏ラ」鐩悕绉�" clearable + @keyup.enter.native="handlecharge" /> </el-form-item> <el-form-item label="鎷奸煶鐮�" prop="pym"> - <el-input - v-model="querycharge.pym" - placeholder="璇疯緭鍏ユ嫾闊崇爜" - clearable - @keyup.enter.native="handlecharge" - /> + <el-input v-model="querycharge.pym" placeholder="璇疯緭鍏ユ嫾闊崇爜" clearable @keyup.enter.native="handlecharge" /> </el-form-item> <el-form-item> - <el-button - type="primary" - icon="el-icon-search" - size="mini" - @click="handlecharge" - >鎼滅储</el-button - > + <el-button type="primary" icon="el-icon-search" size="mini" @click="handlecharge">鎼滅储</el-button> </el-form-item> </el-form> - <el-table - v-loading="loading" - ref="tb" - :data="sfxmList" - @selection-change="handleSelectionChange" - border - height="520px" - style="width: 100%" - > + <el-table v-loading="loading" ref="tb" :data="sfxmList" @selection-change="handleSelectionChange" border + height="520px" style="width: 100%"> <el-table-column type="selection" align="center" /> <el-table-column label="搴忓彿" align="center" prop="newID" /> <el-table-column label="椤圭洰缂栫爜" align="center" prop="xmbm" /> @@ -865,48 +367,22 @@ <el-table-column label="鎷奸煶鐮�" align="center" prop="pym" /> <!-- <el-table-column label="浜旂瑪鐮�" align="center" prop="wbm" /> --> <el-table-column label="鍙傝�冨崟浠�" align="center" prop="ckdj" /> - <el-table-column - label="涓�绾ф渶楂橀檺浠�" - align="center" - prop="yjzgxj" - /> - <el-table-column - label="浜岀骇鏈�楂橀檺浠�" - align="center" - prop="ejzgxj" - /> - <el-table-column - label="涓夌骇鏈�楂橀檺浠�" - align="center" - prop="sjzgxj" - /> - <el-table-column - label="鐗瑰畾鏈�楂橀檺浠�" - align="center" - prop="tdzgxj" - /> + <el-table-column label="涓�绾ф渶楂橀檺浠�" align="center" prop="yjzgxj" /> + <el-table-column label="浜岀骇鏈�楂橀檺浠�" align="center" prop="ejzgxj" /> + <el-table-column label="涓夌骇鏈�楂橀檺浠�" align="center" prop="sjzgxj" /> + <el-table-column label="鐗瑰畾鏈�楂橀檺浠�" align="center" prop="tdzgxj" /> </el-table> <div class="pag" v-if="List == true"> <div class="pag1"> - <pagination - v-show="total > 0" - :total="total" - :page.sync="querycharge.pageNum" - :limit.sync="querycharge.pageSize" - @pagination="getlistSfxm" - /> + <pagination v-show="total > 0" :total="total" :page.sync="querycharge.pageNum" + :limit.sync="querycharge.pageSize" @pagination="getlistSfxm" /> </div> </div> <div class="pag" v-if="List == false"> <div class="pag1"> - <pagination - v-show="total > 0" - :total="total" - :page.sync="queryParam.page" - :limit.sync="queryParam.pageSize" - @pagination="getListByXmId" - /> + <pagination v-show="total > 0" :total="total" :page.sync="queryParam.page" + :limit.sync="queryParam.pageSize" @pagination="getListByXmId" /> </div> </div> </el-col> @@ -1011,8 +487,9 @@ showSearch: true, // 鎬绘潯鏁� total: 0, - treeId: [], + treeId: ["532"], ListId: [], + noclick: false, // 浣撴鑰楁潗琛ㄦ牸鏁版嵁 consumableList: [], tjStandardList: [], @@ -1038,6 +515,7 @@ }, proParent: false, id: "", + isSubmitting: false, // 閲嶆柊娓叉煋琛ㄦ牸鐘舵�� refreshTable: true, // 鏌ヨ鍙傛暟 @@ -1113,11 +591,23 @@ this.$refs.tree.filter(val); }, treeId(newVal, oldVal) { - if (newVal) { + if (newVal && newVal.length > 0) { this.$nextTick(() => { - document - .querySelector(".el-tree-node__children .el-tree-node__content") - .click(); + // Find the last ID in the treeId array + const lastId = newVal[newVal.length - 1] || "532"; // Default to 100 if undefined + // Search for the node in deptOptions + const node = this.findNodeById(this.deptOptions, lastId); + + if (node) { + // Set the current key for the tree + this.$refs.tree.setCurrentKey(lastId); + + // Simulate clicking on the node + const nodeElement = document.querySelector(`.el-tree-node[data-key="${lastId}"] .el-tree-node__content`); + if (nodeElement) { + nodeElement.click(); + } + } }); } }, @@ -1143,6 +633,7 @@ this.getConsumables(); this.getDeptList(); this.getDeptTree(); + }, mounted() { this.getDeptTree(); @@ -1164,17 +655,9 @@ this.form.lisXmmc = param1[0].pacName; }, //鏄惁鏄剧ず閫変腑鐨勫�� - display(value) {}, + display(value) { }, /** 鏌ヨ浣撴椤圭洰鍒楄〃 */ getList() { - // this.loading = true; - // listProject(this.queryParams).then((response) => { - // this.projectList = response.rows; - // this.total = response.total; - // this.loading = false; - // }); - // this.getData(); - this.loading = true; let data = { proName: this.queryParams.proName, @@ -1183,9 +666,6 @@ proId: this.queryParams.proId, }; getAllChildListById(data).then((response) => { - // this.projectList = this.handleTree(response.data.list, "proId"); - console.log(response, 1122); - this.projectList = response.data.list; this.loading = false; }); @@ -1401,12 +881,26 @@ }, /** 鏌ヨ閮ㄩ棬涓嬫媺鏍戠粨鏋� */ getDeptTree() { + deptTree111().then((response) => { this.deptOptions = response.data; - this.treeId.push(this.deptOptions[0].id); + this.treeId.push(this.treeDate.id); + console.log(this.treeId) }); - }, + }, + findNodeById(nodes, id) { + for (let node of nodes) { + if (node.id === id) { + return node; + } + if (node.children) { + let result = this.findNodeById(node.children, id); + if (result) return result; + } + } + return null; + }, renderContent(h, { node, data }) { return h( "span", @@ -1432,6 +926,8 @@ }, // 鑺傜偣鍗曞嚮浜嬩欢 handleNodeClick(date) { + + console.log("璋冪敤浜唄andleNodeClick ", date.id, this.id) this.treeDate = date; if (date.qf == "0") { this.xiugais = true; @@ -1658,9 +1154,9 @@ } }, handleUpdate1() { - this.open = true; this.form = this.xiugaiList; - + console.log('璋冪敤浜唄andleUpdate1'); + this.form.proStatus = this.form.proStatus.toString(); this.proParent = true; // 璁剧疆椤圭洰浠锋牸绂佺敤 @@ -1668,6 +1164,9 @@ // if(){ // this.proParent = true // } + // 杩欎釜鏄共鍟ョ殑 + // 鎸夌悊鏉ヨ姝ゆ椂鍙渶瑕乷pen涓簍rue灏卞ソ浜嗗晩 + // 鍘嬫牴涓嶇悊瑙o紝浣犲氨鐪嬫垜缁欎綘璇寸殑閭d釜闂锛岃繖閲岄潰闂澶氱殑寰� getlist().then((response) => { if (response.code == 200) { this.loading = false; @@ -1678,9 +1177,13 @@ this.projectOptions.push(project); } }); + this.open = true; + }, /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { + console.log('璋冪敤浜唄andleUpdate'); + this.reset(); this.getData(); // this.form = row; @@ -1749,6 +1252,8 @@ this.projectOptions.push(project); } }); + // 鐢ㄧ殑閮芥槸鍚屼竴涓猟ialog鍟� + this.open = true; this.title = "浣撴椤圭洰淇℃伅缁存姢"; }); @@ -1785,7 +1290,11 @@ /** 鎻愪氦鎸夐挳 */ submitForm() { + this.noclick = true if (this.key == "N") { + console.log('1111'); + + // 杩欎釜鏄笂闈慨鏀硅繕鏄崟琛屼慨鏀� this.$refs["form"].validate((valid) => { if (valid) { if (this.form.proId != null) { @@ -1825,9 +1334,11 @@ updateProject(this.form).then((response) => { this.$modal.msgSuccess("淇敼鎴愬姛"); if (this.proParent == true) { + console.log('杩涘叆浜唒roParent == true') this.getDeptTree(); this.cancel(); } else { + console.log('杩涘叆浜唒roParent == false') this.cancel(); this.getList(); } @@ -1854,10 +1365,13 @@ } }); } else if (this.key == "Y") { + this.form.sfxmId = this.sfxmId; this.$refs["form"].validate((valid) => { if (valid) { + console.log('222'); if (this.form.proId != null) { + console.log('22-11'); if (this.form.tjStandardList != null) { this.form.tjStandardList.forEach((items) => { if (items.tjSex === "鐢�" || items.tjSex === "0") { @@ -1902,6 +1416,8 @@ } }); } else { + console.log('22-22'); + if (this.form.proParentId === 0) { this.form.tjStandardList = null; } else { @@ -1954,7 +1470,7 @@ this.getList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) - .catch(() => {}); + .catch(() => { }); }, /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { @@ -1971,16 +1487,23 @@ </script> <style scoped> .scrollable-container { - width: 200px; /* 璁剧疆瀹瑰櫒鐨勫搴� */ - height: 629px; /* 璁剧疆瀹瑰櫒鐨勯珮搴� */ - overflow: auto; /* 鍏佽鍐呭婧㈠嚭鏃舵樉绀烘粴鍔ㄦ潯 */ - border: 1px solid #ccc; /* 鍙�夛細娣诲姞杈规浠ユ洿濂藉湴鏄剧ず瀹瑰櫒 */ - position: relative; /* 鍙�夛細浣垮鍣ㄥ唴鐨勭粷瀵瑰畾浣嶅厓绱犺兘澶熸纭樉绀� */ + width: 200px; + /* 璁剧疆瀹瑰櫒鐨勫搴� */ + height: 629px; + /* 璁剧疆瀹瑰櫒鐨勯珮搴� */ + overflow: auto; + /* 鍏佽鍐呭婧㈠嚭鏃舵樉绀烘粴鍔ㄦ潯 */ + border: 1px solid #ccc; + /* 鍙�夛細娣诲姞杈规浠ユ洿濂藉湴鏄剧ず瀹瑰櫒 */ + position: relative; + /* 鍙�夛細浣垮鍣ㄥ唴鐨勭粷瀵瑰畾浣嶅厓绱犺兘澶熸纭樉绀� */ } .content { - width: 1000px; /* 璁剧疆鍐呭鐨勫搴︼紝浠ヨЕ鍙戞按骞虫粴鍔ㄦ潯 */ - height: 1000px; /* 璁剧疆鍐呭鐨勯珮搴︼紝浠ヨЕ鍙戝瀭鐩存粴鍔ㄦ潯 */ + width: 1000px; + /* 璁剧疆鍐呭鐨勫搴︼紝浠ヨЕ鍙戞按骞虫粴鍔ㄦ潯 */ + height: 1000px; + /* 璁剧疆鍐呭鐨勯珮搴︼紝浠ヨЕ鍙戝瀭鐩存粴鍔ㄦ潯 */ } .el-table__header-wrapper .el-checkbox { @@ -2010,7 +1533,7 @@ background: #e5f3ff; } -.el-tree-node.is-current > .el-tree-node__content { +.el-tree-node.is-current>.el-tree-node__content { background-color: #e5f3ff !important; color: #333 !important; } -- Gitblit v1.8.0