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/system/tijian/index.vue | 218 ++++---- src/views/system/comp/index.vue | 243 ++++----- src/views/hosp/project/index.vue | 923 +++++++++----------------------------- 3 files changed, 434 insertions(+), 950 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; } diff --git a/src/views/system/comp/index.vue b/src/views/system/comp/index.vue index ee61488..8625a5e 100644 --- a/src/views/system/comp/index.vue +++ b/src/views/system/comp/index.vue @@ -331,7 +331,7 @@ <el-form-item label="鍘熶环"> <el-input ref="inputName" v-model="queryParams.price" placeholder="鍚堣" clearable style="width: 140px" /> </el-form-item> - <el-form-item label="浼樻儬"> + <el-form-item label="鎶樻墸"> <el-input-number ref="inputNumber" style="width: 150px" v-model="youhui" :precision="1" :step="0.1" :min="0" :max="20" @change="debounceNumberChange" :debounce="3000"></el-input-number> </el-form-item> @@ -355,7 +355,8 @@ <template slot-scope="scope"> <!-- 鍙緭鍏ョ函鏁板瓧鎶樻墸 --> <el-input-number v-model.number="scope.row.limits" @input="validateDiscount(scope.row)" - placeholder="杈撳叆鎶樻墸" size="small" type="number" :min="0" :step="0.1" :precision="1" :max="20"> + @change="handleManualChange(scope.row)" placeholder="杈撳叆鎶樻墸" size="small" type="number" :min="0" + :step="0.1" :precision="1" :max="20"> </el-input-number> </template> </el-table-column> @@ -369,10 +370,13 @@ </el-table> </el-col> <el-col :span="2" :xs="24"> - <div style="margin: 240% 16%"> - <el-button type="primary" size="medium " icon="el-icon-back" - style="writing-mode: vertical-rl; text-align: center;letter-spacing: 10px;" @click="resetright">纭� - 璁�</el-button> + <div style="margin: 240% 16%" class="btntoleft"> + <el-button type="primary" size="medium" + style="writing-mode: vertical-rl; text-align: center; letter-spacing: 5px;" @click="resetright"> + 纭� + 璁� + <i class="el-icon-back"></i> + </el-button> </div> </el-col> <el-col :span="7" :xs="24"> @@ -537,80 +541,7 @@ <el-form-item label="琛屾斂鍖哄垝鍚嶇О" prop="areaName"> <el-input v-model="form.areaName" placeholder="璇疯緭鍏ヨ鏀垮尯鍒掑悕绉�" /> </el-form-item> - <!-- <el-form-item label="浼佷笟绫诲瀷" prop="typeOfEnterprise"> - <el-select v-model="form.typeOfEnterprise" placeholder="璇烽�夋嫨浼佷笟绫诲瀷"> - <el-option - v-for="dict in dict.type.dict_comp_type" - :key="dict.value" - :label="dict.label" -:value="dict.value" - ></el-option> - </el-select> - </el-form-item> --> - <!-- <el-form-item label="琛屾斂鍖哄垝id" prop="areaid"> - <el-input v-model="form.areaid" placeholder="璇疯緭鍏ヨ鏀垮尯鍒抜d" /> - </el-form-item> --> - <!-- <el-form-item label="GMP璇佷功缂栧彿" prop="gmpNo"> - <el-input v-model="form.gmpNo" placeholder="璇疯緭鍏MP璇佷功缂栧彿" /> - </el-form-item> --> - <!-- <el-form-item label="GMP鍙戣瘉鏃ユ湡" prop="gmpissueDate"> - <el-date-picker clearable - v-model="form.gmpissueDate" - type="date" - value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨GMP鍙戣瘉鏃ユ湡"> - </el-date-picker> - </el-form-item> --> - <!-- <el-form-item label="缁忚惀璁稿彲璇佸彿" prop="businessLicenseNumber"> - <el-input v-model="form.businessLicenseNumber" placeholder="璇疯緭鍏ョ粡钀ヨ鍙瘉鍙�" /> - </el-form-item> --> - <!-- <el-form-item label="GMP鏈夋晥鎴鏃ユ湡" prop="gmpDeadlineDate"> - <el-date-picker clearable - v-model="form.gmpDeadlineDate" - type="date" - value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨GMP鏈夋晥鎴鏃ユ湡"> - </el-date-picker> - </el-form-item> --> - <!-- <el-form-item label="GMP璁よ瘉鑼冨洿" prop="gmpRange"> - <el-input v-model="form.gmpRange" placeholder="璇疯緭鍏MP璁よ瘉鑼冨洿" /> - </el-form-item> --> - <!-- <el-form-item label="GMP寤剁画鑼冨洿" prop="gmpDelayRange"> - <el-input v-model="form.gmpDelayRange" placeholder="璇疯緭鍏MP寤剁画鑼冨洿" /> - </el-form-item> --> - <!-- <el-form-item label="GMP寤剁画鏃ユ湡" prop="gmpDelayDate"> - <el-date-picker clearable - v-model="form.gmpDelayDate" - type="date" - value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨GMP寤剁画鏃ユ湡"> - </el-date-picker> - </el-form-item> --> - <!-- <el-form-item label="GMP璇佷功鍥剧墖(base64缂栫爜)"> - <image-upload v-model="form.gmpPhoto"/> - </el-form-item> --> - <!-- <el-form-item label="鎺掑簭" prop="orderNum"> - <el-input v-model="form.orderNum" placeholder="璇疯緭鍏ユ帓搴�" /> - </el-form-item> --> - <!-- <el-form-item label="鏁版嵁鐘舵��(PT10.00.004)" prop="effective"> - <el-select v-model="form.effective" placeholder="璇烽�夋嫨鏁版嵁鐘舵��(PT10.00.004)"> - <el-option - v-for="dict in dict.type.dict_data_status" - :key="dict.value" - :label="dict.label" -:value="dict.value" - ></el-option> - </el-select> - </el-form-item> --> - <!-- <el-form-item label="鎷奸煶" prop="spell"> - <el-input v-model="form.spell" placeholder="璇疯緭鍏ユ嫾闊�" /> - </el-form-item> --> - <!-- <el-form-item label="鏈夋晥鏃堕棿" prop="validTime"> - <el-date-picker clearable v-model="form.validTime" type="date" value-format="yyyy-MM-dd" - placeholder="璇烽�夋嫨鏈夋晥鏃堕棿"> - </el-date-picker> - </el-form-item><br> --> <el-form-item label="澶囨敞" prop="remark"> <el-input v-model="form.remark" type="textarea" placeholder="璇疯緭鍏ュ唴瀹�" :rows="2" label-width="400px" style="width: 830px" resize="none"></el-input> @@ -671,7 +602,6 @@ // 閬僵灞� loading: true, Treedata: [], - getInfodis: 0, id: "", // 閫変腑鏁扮粍 ids: [], @@ -722,6 +652,7 @@ id: "", // 琛ㄥ崟鍙傛暟 form: {}, + lastXianPrice: 0, forms: { limits: 10, ltAge: 0, @@ -800,18 +731,21 @@ this.getList(); }, methods: { + handleManualChange(row) { + console.log("杩欐槸涓诲姩鍑哄彂鐨�"); + this.updateProPrice(row); + }, validateDiscount(row) { - if (row.limits > 10) { - row.limits = 10; // 寮哄埗灏嗗�艰缃负鏈�澶у�� - } else if (row.limits < 0) { - row.limits = 0; // 寮哄埗灏嗗�艰缃负鏈�灏忓�� + if (this.queryParams.xianprice !== undefined && + !isNaN(this.queryParams.xianprice) && + this.queryParams.xianprice !== this.lastXianPrice) { + // 鍙湁鍦ㄧ幇浠峰疄闄呯敱鐢ㄦ埛杈撳叆淇敼鏃舵墠鏇存柊 + this.updateProPrice1(row); + this.lastXianPrice = this.queryParams.xianprice; } - this.updateProPrice(row); // 鏇存柊浠锋牸鎴栧叾浠栭�昏緫 }, updateProPrice(row) { - console.log('1234') const proPrice = new Big(row.proPrice); - const limits = new Big(row.limits); const result = proPrice.times(limits.div(10)); // ordPrice * (discount / 10) row.ysPrice = result.toNumber(); @@ -819,6 +753,32 @@ return sum.plus(new Big(item.ysPrice || '0')); }, new Big(0)).toNumber(); this.youhui = (Math.floor((this.queryParams.xianprice / this.queryParams.price) * 100) / 100) * 10 + }, + updateProPrice1(row) { + const proPrice = new Big(row.proPrice); + const limits = new Big(row.limits); + const result = proPrice.times(limits.div(10)); + row.ysPrice = result.toNumber(); + const totalYsPrice = this.OnenewpacName.reduce((sum, item) => { + return sum.plus(new Big(item.ysPrice || '0')); + }, new Big(0)); + const totalYsPriceNum = totalYsPrice.toNumber(); + if (this.queryParams.xianprice !== undefined && !isNaN(this.queryParams.xianprice)) { + const xianPrice = new Big(this.queryParams.xianprice); + const diff = xianPrice.minus(totalYsPriceNum); + if (!diff.eq(0) && this.OnenewpacName.length > 0) { + const lastItem = this.OnenewpacName[this.OnenewpacName.length - 1]; + const newYsPrice = new Big(lastItem.ysPrice).plus(diff).toNumber(); + this.$set(this.OnenewpacName[this.OnenewpacName.length - 1], 'ysPrice', newYsPrice); + } + } + + // Update youhui calculation + if (this.queryParams.price !== 0 && this.queryParams.xianprice !== 0) { + this.youhui = (Math.floor((this.queryParams.xianprice / this.queryParams.price) * 100) / 100) * 10; + } else { + this.youhui = 0; + } }, debounceNumberChange(currentValue, oldValue) { clearTimeout(this.debounceTimer); @@ -835,7 +795,7 @@ } }, - + getList() { this.$nextTick(() => { this.$refs.inputName.focus(); @@ -854,11 +814,11 @@ this.loading = false; }); }, - // 鍙栨秷鎸夐挳 + cancel() { this.open = false; this.opens = false; - this.$router.go(0); + // this.$router.go(0); }, // 鍙栨秷濂楅 @@ -989,12 +949,7 @@ this.beCurrentDept(); } this.title = "濂楅鍒嗙粍缁存姢" + "( " + this.form.cnName + ")"; - getInfo().then((response) => { - this.getInfodis = response.user.discount; - if (this.getInfodis == null || this.getInfodis == 10) { - this.isfalse = true; - } - }); + }, numberChange(currentValue, oldValue) { this.$confirm("纭畾淇敼鎵�鏈夊瓙椤圭殑鎶樻墸鍚楋紵", "鎻愮ず", { @@ -1004,10 +959,7 @@ }) .then(() => { this.youhui = currentValue; - if (this.youhui < this.getInfodis) { - this.youhui = this.getInfodis; - // this.$modal.msgError(`璇ヤ汉鍛樻渶楂樹紭鎯犳潈闄愪负${this.getInfodis}鎶榒); - } + this.OnenewpacName.forEach((item) => { item.limits = this.youhui const proPrice = new Big(item.proPrice); @@ -1027,48 +979,49 @@ }, numberChangeXianPrice(currentValue, oldValue) { - this.$confirm("纭畾淇敼鎵�鏈夊瓙椤圭殑鎶樻墸鍚楋紵", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning", - }) - .then(() => { - // 纭繚淇敼鎶樻墸鐨勫�� - this.youhui = currentValue; - // 濡傛灉鎶樻墸灏忎簬鏈�灏忔姌鎵e�硷紝淇鎶樻墸 - if (this.youhui < this.getInfodis) { - this.youhui = this.getInfodis; - } - let totalYsprice = new Big(0); // 鍒濆鍖栨�� ysprice - // 閬嶅巻姣忎釜椤圭洰锛屾洿鏂版瘡涓瓙椤圭殑浠锋牸 - this.OnenewpacName.forEach((item) => { - item.limits = this.youhui; - const proPrice = new Big(item.proPrice); - const limits = new Big(item.limits); - const result = proPrice.times(limits.div(10)); // ordPrice * (discount / 10) - item.ysPrice = result.toNumber(); - totalYsprice = totalYsprice.plus(new Big(item.ysPrice)); - }); - // 濡傛灉鎬荤殑 ysPrice 鍜屾煡璇㈠弬鏁颁腑鐨� xianprice 涓嶄竴鑷达紝杩涜璋冩暣 - if (!totalYsprice.eq(this.queryParams.xianprice)) { - const diff = new Big(this.queryParams.xianprice).minus(totalYsprice); - // 濡傛灉 OnenewpacName 鏁扮粍涓嶄负绌猴紝璋冩暣鏈�鍚庝竴椤圭殑 ysPrice - if (this.OnenewpacName.length > 0) { - const lastItem = this.OnenewpacName[this.OnenewpacName.length - 1]; - const newYsPrice = new Big(lastItem.ysPrice).plus(diff).toNumber(); - // 浣跨敤 splice 鏇挎崲鏈�鍚庝竴椤癸紝纭繚鏇存柊瑙﹀彂瑙嗗浘鏇存柊 - console.log("hhh"); + // 濡傛灉鐜颁环娌℃湁鍙樺寲锛岀洿鎺ヨ繑鍥� + if (this.queryParams.xianprice === this.lastXianPrice || !this.queryParams.xianprice) { + return; + } - this.$set(this.OnenewpacName[this.OnenewpacName.length - 1], 'ysPrice', newYsPrice); + this.$confirm("纭畾淇敼鎵�鏈夊瓙椤圭殑鎶樻墸鍚楋紵", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(() => { + // 纭繚淇敼鎶樻墸鐨勫�� + this.youhui = currentValue; - } - } - }) - .catch(() => { - // 濡傛灉鍙栨秷淇敼锛屾仮澶嶅師鏈夌殑浼樻儬鍊� - this.youhui = oldValue; - }); - }, + let totalYsprice = new Big(0); // 鍒濆鍖栨�� ysprice + // 閬嶅巻姣忎釜椤圭洰锛屾洿鏂版瘡涓瓙椤圭殑浠锋牸 + this.OnenewpacName.forEach((item) => { + item.limits = this.youhui; + const proPrice = new Big(item.proPrice); + const limits = new Big(item.limits); + const result = proPrice.times(limits.div(10)); // ordPrice * (discount / 10) + item.ysPrice = result.toNumber(); + totalYsprice = totalYsprice.plus(new Big(item.ysPrice)); + }); + // 濡傛灉鎬荤殑 ysPrice 鍜屾煡璇㈠弬鏁颁腑鐨� xianprice 涓嶄竴鑷达紝杩涜璋冩暣 + if (!totalYsprice.eq(this.queryParams.xianprice)) { + const diff = new Big(this.queryParams.xianprice).minus(totalYsprice); + // 濡傛灉 OnenewpacName 鏁扮粍涓嶄负绌猴紝璋冩暣鏈�鍚庝竴椤圭殑 ysPrice + if (this.OnenewpacName.length > 0) { + const lastItem = this.OnenewpacName[this.OnenewpacName.length - 1]; + const newYsPrice = new Big(lastItem.ysPrice).plus(diff).toNumber(); + // 浣跨敤 $set 纭繚鍝嶅簲鎬ф洿鏂� + this.$set(this.OnenewpacName[this.OnenewpacName.length - 1], 'ysPrice', newYsPrice); + } + } + // 鏇存柊 lastXianPrice 浠ヤ究涓嬫姣旇緝 + this.lastXianPrice = this.queryParams.xianprice; + }) + .catch(() => { + // 濡傛灉鍙栨秷淇敼锛屾仮澶嶅師鏈夌殑浼樻儬鍊� + this.youhui = oldValue; + }); +}, changegroupingName() { @@ -1554,7 +1507,7 @@ } }, - // 鎶婃瘡涓�琛岀殑绱㈠紩鏀捐繘row,鏂逛究鍙屽嚮淇敼鏃犳硶鑾峰緱绱㈠紩鍒欐棤娉曞彇娑堝悗鏁版嵁杩涜杩樺師 + tableRowClassName({ row, rowIndex }) { row.index = rowIndex; }, @@ -1618,7 +1571,7 @@ }, }; </script> -<style scoped> +<style lang="scss" scoped> .pag { width: 100%; display: flex; @@ -1661,4 +1614,10 @@ height: 750px; overflow-y: auto; } + +::v-deep .btntoleft .el-button--medium { + padding: 20px 20px 10px; + font-size: 14px; + border-radius: 4px; +} </style> diff --git a/src/views/system/tijian/index.vue b/src/views/system/tijian/index.vue index fc8f1dd..f082f7c 100644 --- a/src/views/system/tijian/index.vue +++ b/src/views/system/tijian/index.vue @@ -929,7 +929,7 @@ style="width: 150px" ></el-input> </el-form-item> - <el-form-item label="浼樻儬"> + <el-form-item label="鎶樻墸"> <!-- {{ discount }} --> <el-input-number ref="inputNumber" @@ -1441,6 +1441,7 @@ }, data() { return { + isSubmitting: false, open1: false, filterage: "", checkedkeys: [], @@ -1502,7 +1503,6 @@ taocan: false, top: true, value: "2", - getInfodis: "", srcUrl: "", hides: false, hide: true, @@ -1642,7 +1642,7 @@ cusIsvip: null, }, // 娣诲姞 - + lastXianPrice: 0, // 琛ㄥ崟鍙傛暟 // 琛ㄥ崟鍙傛暟 obj: {}, @@ -1777,13 +1777,17 @@ }) .catch(() => {}); }, + handleManualChange(row) { + console.log("杩欐槸涓诲姩鍑哄彂鐨�"); + this.updateProPrice(row); + }, validateDiscount(row) { - if (row.discount > 10) { - row.discount = 10; // 寮哄埗灏嗗�艰缃负鏈�澶у�� - } else if (row.discount < 0) { - row.discount = 0; // 寮哄埗灏嗗�艰缃负鏈�灏忓�� + console.log("杞簡") + if (this.TotalPrice !== undefined && !isNaN(this.TotalPrice) && this.TotalPrice !== this.lastXianPrice) { + console.log("杩涘叆浜�") + this.updateProPrice1(row); + this.lastXianPrice = this.TotalPrice; } - this.updateProPrice(row); // 鏇存柊浠锋牸鎴栧叾浠栭�昏緫 }, isAll(value) { return value === "" || value === null; @@ -1801,7 +1805,33 @@ this.discount = (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10; }, + updateProPrice1(row) { + console.log("杩涘叆浜�1") + const ordPrice = new Big(row.ordPrice); + const discount = new Big(row.discount); + const result = ordPrice.times(discount.div(10)); + row.nowPrice = result.toNumber(); + const totalYsPrice = this.tableData1.reduce((sum, item) => { + return sum.plus(new Big(item.nowPrice || '0')); + }, new Big(0)); + const totalYsPriceNum = totalYsPrice.toNumber(); + if (this.TotalPrice !== undefined && !isNaN(this.TotalPrice)) { + const xianPrice = new Big(this.TotalPrice); + const diff = xianPrice.minus(totalYsPriceNum); + if (!diff.eq(0) && this.tableData1.length > 0) { + const lastItem = this.tableData1[this.tableData1.length - 1]; + const newYsPrice = new Big(lastItem.nowPrice).plus(diff).toNumber(); + this.$set(this.tableData1[this.tableData1.length - 1], 'nowPrice', newYsPrice); + } + } + // Update youhui calculation + if (this.TotalPrice1 !== 0 && this.TotalPrice !== 0) { + this.discount = (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10; + } else { + this.discount = 0; + } + }, openname() { this.$refs.bbb.open = true; this.$refs.bbb.title = "鎼滅储濮撳悕"; @@ -1925,11 +1955,9 @@ }, getList1() { getInfo().then((response) => { - this.getInfodis = response.user.discount; + this.hospName = response.hospName; - if (this.getInfodis === null) { - this.isfalse = true; - } + }); getIsRequired().then((response) => { this.showHidden = response.data; @@ -2154,10 +2182,8 @@ /** 鏌ヨ淇℃伅鍒楄〃 */ getList() { getInfo().then((response) => { - this.getInfodis = response.user.discount; - if (this.getInfodis === null) { - this.isfalse = true; - } + + }); let cusSex = this.form.cusSex; //鍏ㄩ儴濂楅 @@ -2241,10 +2267,7 @@ }) .then(() => { this.discount = currentValue; - if (this.discount < this.getInfodis) { - this.discount = this.getInfodis; - // this.$modal.msgError(`璇ヤ汉鍛樻渶楂樹紭鎯犳潈闄愪负${this.getInfodis}鎶榒); - } + this.tableData1.forEach((item) => { item.discount = this.discount; const ordPrice = new Big(item.ordPrice); @@ -3355,118 +3378,99 @@ var cusId = this.form.cusIdcard; } else { this.$message.warning("璇峰厛濉啓淇℃伅锛屽啀閫変綋妫�鍐呭"); + return; // 濡傛灉娌℃湁韬唤璇佸彿鐮侊紝鍋滄鎵ц } + let _this = this; + + // 鍒濆鍖栧彉閲� + this.isSubmitting = true; // 寮�濮嬫彁浜ゆ椂璁剧疆鏍囧織 + this.TotalPrice1 = 0; // 鍒濆鍖栧簲鏀堕噾棰� + this.TotalPrice = 0; // 鍒濆鍖栧疄鏀堕噾棰� + this.discount = 10; // 鍒濆鍖栨姌鎵d负10锛�100%锛� + + // 鍒ゆ柇鏄惁鏈夐�変腑鐨勫椁� if (this.tableData.length != 0) { - this.tableData.forEach((item) => { - _this.pacId = item.pacId; - }); + _this.pacId = this.tableData[0].pacId; } else { _this.pacId = ""; } + this.proIds = []; - if (this.DataList.length != 0) { - this.DataList.forEach((item) => { + + // 澶勭悊閫変腑鐨勯」鐩� + const newItemsToAdd = []; + const allItems = [...this.DataList, ...this.DataLists]; // 鍚堝苟鎵�鏈夐」鐩� + + allItems.forEach((item) => { + if (!this.proIds.includes(item.proId)) { + newItemsToAdd.push(item); this.proIds.push(item.proId); - }); - } - if (this.DataLists.length != 0) { - this.DataLists.forEach((item) => { - this.proIds.push(item.proId); - }); - } + } + }); + + // 鍑嗗鏁版嵁 let data = { cusId, pacId: _this.pacId, proIds: this.proIds, }; + + // 鏍规嵁浣撴绫诲瀷閫夋嫨涓嶅悓鐨勫鐞嗘柟娉� if (this.form.tjType == 1) { tuantiqueren(data).then((response) => { if (response.code == 200) { - let cusId = this.form.cusIdcard; - this.proIds = []; - getTransitionList1(cusId).then((response) => { - this.tableData1 = response.data; - this.TotalPrice1 = 0; - if (this.tableData1) { - this.tableData1.forEach((item) => { - if (item.tjCategory != null) { - this.tjCategory = item.tjCategory; - } - if (item.pacName == "鍗曢」") { - item.list.forEach((item9) => { - this.treeList.push(item9.proId); - }); - } - this.TotalPrice = 0; - this.TotalPrice1 += item.ordPrice; - this.TotalPrice += item.nowPrice; - - this.pacName = item.pacName; - }); - - this.TotalPrice = this.tableData1.reduce((sum, item) => { - return sum.plus(new Big(item.nowPrice || "0")); - }, new Big(0)); - this.discount = - (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / - 100) * - 10; - this.list1 = false; - this.list3 = true; - this.list2 = false; - } else { - this.list1 = true; - this.TotalPrice = 0; - } - }); - } else { + this.processOrderItems(cusId); } + this.isSubmitting = false; // 鎻愪氦瀹屾垚鍚庨噸缃爣蹇� + }).catch(() => { + this.isSubmitting = false; // 纭繚鍦ㄩ敊璇儏鍐典笅涔熼噸缃爣蹇� }); } else { getaddtTransition(data).then((response) => { if (response.code == 200) { - let cusId = this.form.cusIdcard; - this.proIds = []; - getTransitionList1(cusId).then((response) => { - this.tableData1 = response.data; - this.TotalPrice1 = 0; - if (this.tableData1) { - this.tableData1.forEach((item) => { - if (item.tjCategory != null) { - this.tjCategory = item.tjCategory; - } - if (item.pacName == "鍗曢」") { - item.list.forEach((item9) => { - this.treeList.push(item9.proId); - }); - } - this.TotalPrice = 0; - this.TotalPrice1 += item.ordPrice; - this.TotalPrice += item.nowPrice; - - this.pacName = item.pacName; - }); - this.discount = - (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / - 100) * - 10; - - this.list1 = false; - this.list3 = true; - this.list2 = false; - } else { - this.list1 = true; - this.TotalPrice = 0; - } - }); - } else { + this.processOrderItems(cusId); } + this.isSubmitting = false; // 鎻愪氦瀹屾垚鍚庨噸缃爣蹇� + }).catch(() => { + this.isSubmitting = false; // 纭繚鍦ㄩ敊璇儏鍐典笅涔熼噸缃爣蹇� }); } + this.taocan = false; this.defaultKeys = []; this.DataLists = []; + }, + + // 澶勭悊璁㈠崟椤圭洰 + processOrderItems(cusId) { + getTransitionList1(cusId).then((response) => { + this.tableData1 = response.data; + if (this.tableData1) { + this.tableData1.forEach((item) => { + if (item.tjCategory != null) { + this.tjCategory = item.tjCategory; + } + if (item.pacName == "鍗曢」") { + item.list.forEach((item9) => { + this.treeList.push(item9.proId); + }); + } + this.TotalPrice1 += item.ordPrice || 0; // 绱姞搴旀敹閲戦 + this.TotalPrice += item.nowPrice || 0; // 绱姞瀹炴敹閲戦 + }); + // 璁$畻鎶樻墸 + this.discount = this.TotalPrice1 > 0 ? + (Math.floor((this.TotalPrice / this.TotalPrice1) * 100) / 100) * 10 : 0; + + this.list1 = false; + this.list3 = true; + this.list2 = false; + } else { + this.list1 = true; + this.TotalPrice = 0; + } + }); }, submitCheckinfee() { let _this = this; @@ -3632,9 +3636,7 @@ } this.discount = (this.formInline.paidIn / this.formInline.price) * 10; - if (this.discount <= this.getInfodis) { - this.discount = this.getInfodis; - } + } else { this.discount = 10; this.formInline.paidIn = "0.00"; -- Gitblit v1.8.0