2 changed files with 169 additions and 1 deletions
			
			
		@ -0,0 +1,168 @@ | 
			
		|||||
 | 
				<template> | 
			
		||||
 | 
				  <div> | 
			
		||||
 | 
				    <el-card> | 
			
		||||
 | 
				      <div style="display: flex;"> | 
			
		||||
 | 
				        <div class="leftTree"> | 
			
		||||
 | 
				          <el-tree :data="sysParmTypesTree" :props="treeProps" @node-click="nodeClick" /> | 
			
		||||
 | 
				        </div> | 
			
		||||
 | 
				        <div class="midBlock"> | 
			
		||||
 | 
				          <div style="display: flex;"> | 
			
		||||
 | 
				            <div> | 
			
		||||
 | 
				              <span>体检中心</span> | 
			
		||||
 | 
				              <el-select v-model="organizationId" placeholder="请选择体检中心" style="margin-left: 15px" filterable  | 
			
		||||
 | 
				                size="small" @change="changeOrganization"> | 
			
		||||
 | 
				                <el-option v-for="item in organization" :key="item.id" :label="item.displayName" :value="item.id"> | 
			
		||||
 | 
				                </el-option> | 
			
		||||
 | 
				              </el-select> | 
			
		||||
 | 
				            </div> | 
			
		||||
 | 
				            <div style="margin-left: 30px;"> | 
			
		||||
 | 
				              <el-button type="success" @click="save">保存</el-button> | 
			
		||||
 | 
				            </div> | 
			
		||||
 | 
				          </div> | 
			
		||||
 | 
				          <div style="margin-top: 2px;"> | 
			
		||||
 | 
				            <el-table :data="sysParms" border :height="window.pageHeight < 600 ? 420 : window.pageHeight - 190" | 
			
		||||
 | 
				              size="small" highlight-current-row> | 
			
		||||
 | 
				              <el-table-column prop="id" label="参数ID" /> | 
			
		||||
 | 
				              <el-table-column prop="displayName" label="参数名称" /> | 
			
		||||
 | 
				              <el-table-column prop="organizationUnitId" label="体检中心"> | 
			
		||||
 | 
				                <template slot-scope="scope"> | 
			
		||||
 | 
				                  <el-select v-model="scope.row.organizationUnitId" placeholder="请选择体检中心" filterable size="small" > | 
			
		||||
 | 
				                    <el-option v-for="item in organization" :key="item.id" :label="item.displayName" :value="item.id"> | 
			
		||||
 | 
				                    </el-option> | 
			
		||||
 | 
				                  </el-select> | 
			
		||||
 | 
				                </template> | 
			
		||||
 | 
				              </el-table-column> | 
			
		||||
 | 
				              <el-table-column prop="sysParmValueName" label="参数值"> | 
			
		||||
 | 
				                <template slot-scope="scope"> | 
			
		||||
 | 
				                  <el-input v-model="scope.row.sysParmValueName"/> | 
			
		||||
 | 
				                </template> | 
			
		||||
 | 
				              </el-table-column> | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				              <el-table-column prop="sysParmValueRemark" label="备注"> | 
			
		||||
 | 
				                <template slot-scope="scope"> | 
			
		||||
 | 
				                  <el-input v-model="scope.row.sysParmValueRemark"/> | 
			
		||||
 | 
				                </template> | 
			
		||||
 | 
				              </el-table-column> | 
			
		||||
 | 
				              <el-table-column prop="remark" label="参数说明" /> | 
			
		||||
 | 
				            </el-table> | 
			
		||||
 | 
				          </div> | 
			
		||||
 | 
				        </div> | 
			
		||||
 | 
				      </div> | 
			
		||||
 | 
				    </el-card> | 
			
		||||
 | 
				  </div> | 
			
		||||
 | 
				</template> | 
			
		||||
 | 
				<script> | 
			
		||||
 | 
				import { mapState } from "vuex"; | 
			
		||||
 | 
				import { getapi, postapi, putapi, deletapi } from "@/api/api"; | 
			
		||||
 | 
				import { tcdate, objCopy } from "../../utlis/proFunc"; | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				export default { | 
			
		||||
 | 
				  components: {}, | 
			
		||||
 | 
				  data() { | 
			
		||||
 | 
				    return { | 
			
		||||
 | 
				      sysParmTypesTree: [],  //参数类别树 | 
			
		||||
 | 
				      treeProps: { | 
			
		||||
 | 
				        label: "displayName", | 
			
		||||
 | 
				        value: "id", | 
			
		||||
 | 
				        children: "treeChildren", | 
			
		||||
 | 
				      }, | 
			
		||||
 | 
				      organization: [],    //体检中心 | 
			
		||||
 | 
				      organizationId: '00000000-0000-0000-0000-000000000000', | 
			
		||||
 | 
				      sysParmTypeId: '', | 
			
		||||
 | 
				      sysParms: [],      //系统参数列表 | 
			
		||||
 | 
				    }; | 
			
		||||
 | 
				  }, | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				  created() { }, | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				  //挂载完成 | 
			
		||||
 | 
				  mounted() { | 
			
		||||
 | 
				    this.getSysParmTypesTree(); | 
			
		||||
 | 
				    this.getOraniztion(); | 
			
		||||
 | 
				  }, | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				  computed: { | 
			
		||||
 | 
				    ...mapState(["window", "dict"]), | 
			
		||||
 | 
				  }, | 
			
		||||
 | 
				  methods: { | 
			
		||||
 | 
				    //获取组织体检中心数据 | 
			
		||||
 | 
				    getOraniztion() { | 
			
		||||
 | 
				      getapi("/api/app/organization-units/organization-unit-by-is-peis").then( | 
			
		||||
 | 
				        (res) => { | 
			
		||||
 | 
				          this.organization = [{ displayName: "公共参数", id: "00000000-0000-0000-0000-000000000000", }, ...res.data]; | 
			
		||||
 | 
				        } | 
			
		||||
 | 
				      ); | 
			
		||||
 | 
				    }, | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				    //获取系统参数类别树数据 | 
			
		||||
 | 
				    getSysParmTypesTree() { | 
			
		||||
 | 
				      getapi("/api/app/sys-parm-type/by-code-all").then((res) => { | 
			
		||||
 | 
				        if (res.code != - 1) { | 
			
		||||
 | 
				          this.sysParmTypesTree = res.data; | 
			
		||||
 | 
				          //console.log("res.data", res.data);        | 
			
		||||
 | 
				          tcdate(this.sysParmTypesTree); | 
			
		||||
 | 
				        } | 
			
		||||
 | 
				      }); | 
			
		||||
 | 
				    }, | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				    nodeClick(data, node, self) { | 
			
		||||
 | 
				      this.sysParmTypeId = data.id; | 
			
		||||
 | 
				      this.getSysParms(); | 
			
		||||
 | 
				    }, | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				    changeOrganization(v) { | 
			
		||||
 | 
				      this.organizationId = v; | 
			
		||||
 | 
				      this.getSysParms(); | 
			
		||||
 | 
				    }, | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				    getSysParms() { | 
			
		||||
 | 
				      let url = `/api/app/sys-parm/in-sys-parm-value-name?SysParmTypeId=${this.sysParmTypeId}`; | 
			
		||||
 | 
				      if (this.organizationId) { | 
			
		||||
 | 
				        url += `&OrganizationUnitId=${this.organizationId}` | 
			
		||||
 | 
				      } | 
			
		||||
 | 
				      getapi(`${url}`).then((res) => { | 
			
		||||
 | 
				        if (res.code != - 1) { | 
			
		||||
 | 
				          this.sysParms = res.data; | 
			
		||||
 | 
				        } | 
			
		||||
 | 
				      }); | 
			
		||||
 | 
				    }, | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				    save() { | 
			
		||||
 | 
				      let body = []; | 
			
		||||
 | 
				      if(this.sysParms.length < 1) return; | 
			
		||||
 | 
				      this.sysParms.forEach(item =>{ | 
			
		||||
 | 
				        body.push({ | 
			
		||||
 | 
				          sysParmId:item.id, | 
			
		||||
 | 
				          organizationUnitId:item.organizationUnitId, | 
			
		||||
 | 
				          parmValue:item.sysParmValueName, | 
			
		||||
 | 
				          remark:item.sysParmValueRemark | 
			
		||||
 | 
				        }); | 
			
		||||
 | 
				      }); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				      getpost("/api/app/sys-parm-type/by-code-all",body).then((res) => { | 
			
		||||
 | 
				        if (res.code != - 1) { | 
			
		||||
 | 
				          this.$message.success('操作成功!'); | 
			
		||||
 | 
				        } | 
			
		||||
 | 
				      }); | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				    }, | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				  }, | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				}; | 
			
		||||
 | 
				</script> | 
			
		||||
 | 
				<style scoped> | 
			
		||||
 | 
				.leftTree { | 
			
		||||
 | 
				  overflow: scroll; | 
			
		||||
 | 
				  border: 1px solid; | 
			
		||||
 | 
				  width: 200px; | 
			
		||||
 | 
				  height: v-bind("(window.pageHeight < 600 ? 450 : window.pageHeight - 150) + 'px'"); | 
			
		||||
 | 
				} | 
			
		||||
 | 
				
 | 
			
		||||
 | 
				.midBlock { | 
			
		||||
 | 
				  margin-left: 5px; | 
			
		||||
 | 
				  width: v-bind("(window.pageWidth < 500 ? 300 : window.pageWidth - 270) + 'px'"); | 
			
		||||
 | 
				} | 
			
		||||
 | 
				</style> | 
			
		||||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue