处方分配
							parent
							
								
									6a09ddf530
								
							
						
					
					
						commit
						5c5fe6e6e3
					
				| @ -0,0 +1,226 @@ | |||||||
|  | <template> | ||||||
|  |   <div> | ||||||
|  |     <el-card> | ||||||
|  |       <el-form :model="query" label-width="auto" v-show="showSearch" size="mini" class="order-el-form"> | ||||||
|  |         <el-row :gutter="20"> | ||||||
|  |           <el-col :span="8"> | ||||||
|  |             <el-form-item label="当前仓库:" class="query-form-item"> | ||||||
|  |               <invSelect :value.sync="query.invCode" :params.sync="filterBadInv" :changeValue.sync="invChange"/> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |           <el-col :span="8"> | ||||||
|  |             <el-form-item label="编码/名称:" class="query-form-item"> | ||||||
|  |               <el-input v-model="query.key" placeholder="请输入编码/工位名称" clearable> | ||||||
|  |               </el-input> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |         </el-row> | ||||||
|  |       </el-form> | ||||||
|  | 
 | ||||||
|  |       <div class="top-right-btn"> | ||||||
|  |         <el-button-group> | ||||||
|  |           <el-button icon="el-icon-view" type="primary" @click="hideSearch">显示/隐藏搜索栏</el-button> | ||||||
|  |           <el-button type="primary" icon="el-icon-refresh" @click="onReset">重置</el-button> | ||||||
|  |           <el-button type="primary" icon="el-icon-search" @click="onSubmit">查询</el-button> | ||||||
|  |           <el-button type="primary" icon="el-icon-check" @click="bindWork">绑定</el-button> | ||||||
|  |         </el-button-group> | ||||||
|  |       </div> | ||||||
|  | 
 | ||||||
|  |       <el-table v-loading="loading" :data="list" style="width: 100%" :row-style="{height: '32px' }" | ||||||
|  |                 @current-change="productRowClick" | ||||||
|  |       > | ||||||
|  |         <el-table-column label width="45"> | ||||||
|  |           <template slot-scope="scope"> | ||||||
|  |             <el-radio :label="scope.row.id" v-model="radioCheck"><span></span></el-radio> | ||||||
|  |           </template> | ||||||
|  |         </el-table-column> | ||||||
|  |         <el-table-column type="index" label="序号"></el-table-column> | ||||||
|  |         <el-table-column label="工位编码" prop="workplaceId" width="90"></el-table-column> | ||||||
|  |         <el-table-column label="工位名称" prop="workplaceName" width="90"></el-table-column> | ||||||
|  |         <el-table-column label="所属仓库" prop="invName" width="90"></el-table-column> | ||||||
|  |         <el-table-column label="备注" prop="remake" width="90"></el-table-column> | ||||||
|  |       </el-table> | ||||||
|  |     </el-card> | ||||||
|  | 
 | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | import { | ||||||
|  |   listPage, | ||||||
|  |   addWorkplace, | ||||||
|  |   updateWorkplace, | ||||||
|  |   deleteWorkplace, | ||||||
|  |   createWorkplaceId | ||||||
|  | } from '@/api/basic/sysWorkplaceManage' | ||||||
|  | import {bindWork} from "@/api/basic/sicker/prescribeApi"; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export default { | ||||||
|  |   name: "bindWorkDialog", | ||||||
|  |   props: { | ||||||
|  |     prescribeList: { | ||||||
|  |       type: Object, | ||||||
|  |       required: true, | ||||||
|  |     }, | ||||||
|  |     closeDialog: { | ||||||
|  |       type: Function, | ||||||
|  |       required: true, | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       query: { | ||||||
|  |         invCode: this.$store.getters.locInvCode, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 20 | ||||||
|  |       }, | ||||||
|  |       showSearch: true, | ||||||
|  |       loading: false, | ||||||
|  |       list: [], | ||||||
|  |       addWorkplaceDialogVisible: false, | ||||||
|  |       fromName: 'add', | ||||||
|  |       fromMap: { | ||||||
|  |         'add': '新增工位', | ||||||
|  |         'edit': '编辑工位' | ||||||
|  |       }, | ||||||
|  |       formData: {}, | ||||||
|  |       workplaceCode: '6001', | ||||||
|  |       unitStorageList: [], | ||||||
|  |       filterBadInv: true, | ||||||
|  |       radioCheck: null, | ||||||
|  |       currentRow: {}, | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     hideSearch() { | ||||||
|  |       this.showSearch = !this.showSearch | ||||||
|  |     }, | ||||||
|  |     onSubmit() { | ||||||
|  |       this.query.page = 1 | ||||||
|  |       this.getList() | ||||||
|  |     }, | ||||||
|  |     onReset() { | ||||||
|  |       this.$router.push({ | ||||||
|  |         path: '' | ||||||
|  |       }) | ||||||
|  |       this.query = { | ||||||
|  |         page: 1, | ||||||
|  |         limit: 20 | ||||||
|  |       } | ||||||
|  |       this.getList() | ||||||
|  |     }, | ||||||
|  |     getList() { | ||||||
|  |       listPage(this.query).then(res => { | ||||||
|  |         if (res.code != 20000) { | ||||||
|  |           return this.$message.error('错误错误') | ||||||
|  |         } | ||||||
|  |         this.list = res.data.list || [] | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     addWorkplace() { | ||||||
|  |       this.fromName = 'add' | ||||||
|  |       createWorkplaceId().then(res => { | ||||||
|  |         if (res.code == 20000) { | ||||||
|  |           if (res.data == null) { | ||||||
|  |             this.formData.workplaceId = this.workplaceCode + 1001 | ||||||
|  |             this.addWorkplaceDialogVisible = true | ||||||
|  |           } else { | ||||||
|  |             this.formData = {} | ||||||
|  |             this.formData.workplaceId = res.data | ||||||
|  |             this.addWorkplaceDialogVisible = true | ||||||
|  |           } | ||||||
|  |         } else { | ||||||
|  |           this.$message.error('获取错误') | ||||||
|  |         } | ||||||
|  |       }).catch(() => { | ||||||
|  |         this.$message.error('获取错误') | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     hideForm() { | ||||||
|  |       this.addWorkplaceDialogVisible = false | ||||||
|  |     }, | ||||||
|  |     invChange(invCode) { | ||||||
|  |       this.filterQuery.invCode = invCode | ||||||
|  |     }, | ||||||
|  |     formSubmit() { | ||||||
|  |       if (this.fromName == 'add') { | ||||||
|  |         addWorkplace(this.formData).then(res => { | ||||||
|  |           if (res.code != 20000) { | ||||||
|  |             return this.$message.error('新增错误') | ||||||
|  |           } | ||||||
|  |           this.addWorkplaceDialogVisible = false | ||||||
|  |           this.$message.success(res.data) | ||||||
|  |           this.getList() | ||||||
|  |         }).cache(() => { | ||||||
|  |           this.addWorkplaceDialogVisible = false | ||||||
|  |           this.$message.error('新增错误') | ||||||
|  |         }) | ||||||
|  |       } else { | ||||||
|  |         updateWorkplace(this.formData).then(res => { | ||||||
|  |           if (res.code != 20000) { | ||||||
|  |             return this.$message.error('更新错误') | ||||||
|  |           } | ||||||
|  |           this.addWorkplaceDialogVisible = false | ||||||
|  |           this.$message.success(res.data) | ||||||
|  |           this.getList() | ||||||
|  |         }).catch(() => { | ||||||
|  |           this.addWorkplaceDialogVisible = false | ||||||
|  |           this.$message.error('更新错误') | ||||||
|  |         }) | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |     }, | ||||||
|  |     edit(row) { | ||||||
|  |       this.formData = row | ||||||
|  |       this.fromName = 'edit' | ||||||
|  |       this.addWorkplaceDialogVisible = true | ||||||
|  |     }, | ||||||
|  |     deleteWorkplace(row) { | ||||||
|  |       this.$confirm('此操作将永久删除该工位, 是否继续?', '提示', { | ||||||
|  |         confirmButtonText: '确定', | ||||||
|  |         cancelButtonText: '取消', | ||||||
|  |         type: 'warning' | ||||||
|  |       }).then(() => { | ||||||
|  |         deleteWorkplace(row).then(res => { | ||||||
|  |           if (res.code != 20000) { | ||||||
|  |             this.$message.error('删除错误') | ||||||
|  |           } else { | ||||||
|  |             this.$message.success(res.data) | ||||||
|  |             this.getList() | ||||||
|  |           } | ||||||
|  |         }) | ||||||
|  |       }).catch(() => { | ||||||
|  | 
 | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     productRowClick(row) { | ||||||
|  |       this.radioCheck = row.workplaceId | ||||||
|  |       this.currentRow = row; | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     bindWork() { | ||||||
|  |       let query = { | ||||||
|  |         prescribeList: this.prescribeList, | ||||||
|  |         workplaceCode: this.radioCheck | ||||||
|  |       } | ||||||
|  |       bindWork(query).then(res => { | ||||||
|  |         if (res.code != 20000) { | ||||||
|  |           this.$message.error('删除错误') | ||||||
|  |         } else { | ||||||
|  |           this.$message.success(res.data) | ||||||
|  |           this.closeDialog(); | ||||||
|  |         } | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     this.getList() | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | </script> | ||||||
|  | 
 | ||||||
|  | <style scoped> | ||||||
|  | 
 | ||||||
|  | </style> | ||||||
| @ -0,0 +1,598 @@ | |||||||
|  | <template> | ||||||
|  |   <div> | ||||||
|  |     <el-card> | ||||||
|  |       <el-form v-if="queryList && queryList.length > 0 && showSearch" :model="filterQuery" class="query-form" | ||||||
|  |                size="mini" label-width="100px"> | ||||||
|  |         <el-row style=" display:flex;  flex-wrap: wrap; "> | ||||||
|  |           <template v-for="(item, index) in queryList"> | ||||||
|  |             <el-form-item v-if="item.columnType == 'input' && executeEval(row,item.expression,true)" | ||||||
|  |                           class="query-form-item" | ||||||
|  |                           :label="item.columnDesc+`:`" :key="item.id"> | ||||||
|  |               <el-input | ||||||
|  |                 v-model="filterQuery[item.columnName]" | ||||||
|  |                 :placeholder="item.columnDesc" | ||||||
|  |                 :disabled="executeEval(null,item.disabledFuc,false)" | ||||||
|  |                 @keyup.enter.native="executeFuc($event,'5',item.clickFuc)" | ||||||
|  |                 clearable | ||||||
|  |               ></el-input> | ||||||
|  |             </el-form-item> | ||||||
|  |             <el-form-item v-if="item.columnType == 'select' && executeEval(row,item.expression,true)" | ||||||
|  |                           class="query-form-item" | ||||||
|  |                           :label="item.columnDesc+`:`"> | ||||||
|  |               <el-select v-model="filterQuery[item.columnName]" | ||||||
|  |                          :placeholder="item.columnDesc" | ||||||
|  |                          :disabled="executeEval(null,item.disabledFuc,false)" | ||||||
|  |                          clearable> | ||||||
|  |                 <el-option | ||||||
|  |                   v-for="dict in item.lableRuleObj" | ||||||
|  |                   :key="dict.value" | ||||||
|  |                   :label="dict.label" | ||||||
|  |                   :value="dict.value" | ||||||
|  |                 /> | ||||||
|  |               </el-select> | ||||||
|  |             </el-form-item> | ||||||
|  |             <el-form-item v-if="item.columnType == 'selectServer' && executeEval(row,item.expression,true)" | ||||||
|  |                           class="query-form-item" | ||||||
|  |                           :label="item.columnDesc+`:`"> | ||||||
|  |               <el-select | ||||||
|  |                 v-model="filterQuery[item.columnName]" | ||||||
|  |                 :placeholder="item.columnDesc" | ||||||
|  |                 @change="executeFuc($event,'5',item.checkRules)" | ||||||
|  |                 :disabled="executeEval(null,item.disabledFuc,false)" | ||||||
|  |                 filterable | ||||||
|  |                 remote | ||||||
|  |                 :remote-method="(query) => executeFuc(query,'5',item.clickFuc)" | ||||||
|  |                 clearable> | ||||||
|  |                 <el-option | ||||||
|  |                   v-for="item in options[item.clickFuc]" | ||||||
|  |                   :key="item.code" | ||||||
|  |                   :label="item.label" | ||||||
|  |                   :value="item.code" | ||||||
|  |                 /> | ||||||
|  |               </el-select> | ||||||
|  |             </el-form-item> | ||||||
|  |             <el-form-item v-if="item.columnType == 'datePicker' && executeEval(row,item.expression,true)" | ||||||
|  |                           class="query-form-item" | ||||||
|  |                           :label="item.columnDesc+`:`"> | ||||||
|  |               <el-date-picker | ||||||
|  |                 :picker-options="pickerOptions" | ||||||
|  |                 v-model="actDateRange" | ||||||
|  |                 type="daterange" | ||||||
|  |                 format="yyyy 年 MM 月 dd 日" | ||||||
|  |                 value-format="yyyy-MM-dd" | ||||||
|  |                 range-separator="至" | ||||||
|  |                 start-placeholder="开始日期" | ||||||
|  |                 end-placeholder="结束日期" | ||||||
|  |               ></el-date-picker> | ||||||
|  |             </el-form-item> | ||||||
|  |             <el-form-item v-if="item.columnType == 'date' && executeEval(row,item.expression,true)" | ||||||
|  |                           class="query-form-item" | ||||||
|  |                           :label="item.columnDesc+`:`"> | ||||||
|  |               <el-date-picker | ||||||
|  |                 v-model="filterQuery[item.columnName]" | ||||||
|  |                 :style="`width:${item.width+'px'}`" | ||||||
|  |                 value-format="yyyy-MM-dd" | ||||||
|  |                 :disabled="executeEval(null,item.disabledFuc,false)" | ||||||
|  |                 type="date" | ||||||
|  |                 :placeholder="item.columnDesc" | ||||||
|  |               ></el-date-picker> | ||||||
|  |             </el-form-item> | ||||||
|  |           </template> | ||||||
|  |         </el-row> | ||||||
|  |       </el-form> | ||||||
|  |       <div class="top-right-btn"> | ||||||
|  |         <el-button-group> | ||||||
|  |           <el-button icon="el-icon-view" type="primary" @click="hideSearch">显示/隐藏搜索栏</el-button> | ||||||
|  |           <el-button | ||||||
|  |             type="primary" | ||||||
|  |             icon="el-icon-refresh" | ||||||
|  |             @click="onReset" | ||||||
|  |           >重置 | ||||||
|  |           </el-button> | ||||||
|  |           <el-button type="primary" icon="el-icon-search" @click="onSubmit" | ||||||
|  |           >查询 | ||||||
|  |           </el-button | ||||||
|  |           > | ||||||
|  |           <el-button type="primary" icon="el-icon-position" @click="bindWorkPlace" | ||||||
|  |           >绑定工位 | ||||||
|  |           </el-button | ||||||
|  |           > | ||||||
|  |         </el-button-group> | ||||||
|  |       </div> | ||||||
|  |       <el-divider style="margin: 15px"></el-divider> | ||||||
|  | 
 | ||||||
|  |       <el-table v-loading="loading" :data="list" style="width: 100%;" border highlight-current-row | ||||||
|  |                 @row-click="(row) => executeFuc(row,'0',tableObj.handleChangeFuc)" ref="multipleTable" | ||||||
|  |                 :default-sort="defaultSort" | ||||||
|  |                 :row-style="{ height: '32px' }" | ||||||
|  |                 @selection-change="handleSelectionChange" | ||||||
|  |                 @sort-change="handleSortChange"> | ||||||
|  |         <template v-for="(item, index) in tableHeader"> | ||||||
|  |           <el-table-column | ||||||
|  |             v-if="item.columnType == 'id' && executeEval(row,item.expression,true)" | ||||||
|  |             type="index" :label="item.columnDesc"></el-table-column> | ||||||
|  |           <el-table-column | ||||||
|  |             v-if="item.columnType == 'selection'" | ||||||
|  |             type="selection" | ||||||
|  |             :width="item.width" | ||||||
|  |             :selectable="(row,number) => executeFuc(row,'3',item.clickFuc)" | ||||||
|  |           ></el-table-column> | ||||||
|  | 
 | ||||||
|  |           <el-table-column | ||||||
|  |             v-if="item.columnType == 'radio' && executeEval(row,item.expression,true)" | ||||||
|  |             :prop="item.columnName" | ||||||
|  |             :label="item.columnDesc" | ||||||
|  |             :sortable="item.sort" | ||||||
|  |             :width="item.width" | ||||||
|  |             :show-overflow-tooltip="item.tooltip" | ||||||
|  |             :key="item.columnName" | ||||||
|  |           > | ||||||
|  |             <template slot-scope="scope"> | ||||||
|  |               <el-radio :label="scope.row.id" v-model="radioCheck"><span></span></el-radio> | ||||||
|  |             </template> | ||||||
|  |           </el-table-column> | ||||||
|  |           <el-table-column | ||||||
|  |             v-if="item.columnType == 'laber' && executeEval(row,item.expression,true)" | ||||||
|  |             :prop="item.columnName" | ||||||
|  |             :label="item.columnDesc" | ||||||
|  |             :sortable="item.sort" | ||||||
|  |             :width="item.width" | ||||||
|  |             :show-overflow-tooltip="item.tooltip" | ||||||
|  |             :key="item.columnName" | ||||||
|  |           > | ||||||
|  |             <template slot-scope="scope"> | ||||||
|  |             <span :style="{color: executeFuc(scope.row,'4',item.lableRuleObj[scope.row[item.columnName]])}">{{ | ||||||
|  |                 item.lableRuleObj[scope.row[item.columnName]] | ||||||
|  |               }}</span> | ||||||
|  |             </template> | ||||||
|  |           </el-table-column> | ||||||
|  |           <el-table-column | ||||||
|  |             v-if="item.columnType == 'eltag' && executeEval(row,item.expression,true)" | ||||||
|  |             :prop="item.columnName" | ||||||
|  |             :label="item.columnDesc" | ||||||
|  |             :sortable="item.sort" | ||||||
|  |             :width="item.width" | ||||||
|  |             :show-overflow-tooltip="item.tooltip" | ||||||
|  |             :key="item.columnName" | ||||||
|  |           > | ||||||
|  |             <template slot-scope="scope"> | ||||||
|  |               <el-tag | ||||||
|  |                 :type="executeFuc(scope.row,'4',item,item.lableRuleObj?item.lableRuleObj[scope.row[item.columnName]]:scope.row[item.columnName])"> | ||||||
|  |               <span>{{ | ||||||
|  |                   item.lableRuleObj ? item.lableRuleObj[scope.row[item.columnName]] : scope.row[item.columnName] | ||||||
|  |                 }}</span> | ||||||
|  |               </el-tag> | ||||||
|  |             </template> | ||||||
|  |           </el-table-column> | ||||||
|  |           <el-table-column | ||||||
|  |             v-if="item.columnType == 'button' && executeEval(row,item.expression,true)" | ||||||
|  |             :prop="item.columnName" | ||||||
|  |             :label="item.columnDesc" | ||||||
|  |             :width="item.width" | ||||||
|  |             :key="item.columnName" | ||||||
|  |             fixed="right" | ||||||
|  |           > | ||||||
|  |             <template slot-scope="scope"> | ||||||
|  |               <el-button v-for="(buttonItem, buttonIndex) in item.buttonRulObj" | ||||||
|  |                          :type="buttonItem.type" | ||||||
|  |                          :size="buttonItem.size" | ||||||
|  |                          :style="buttonItem.style" | ||||||
|  |                          :key="buttonItem" | ||||||
|  |                          v-if="executeEval(scope.row,buttonItem.hasPermi,true)" | ||||||
|  |                          :disabled="executeEval(scope.row,buttonItem.disabledFuc,false)" | ||||||
|  |                          @click.native.stop="executeFuc(scope.row,'1',buttonItem.clickFuc)" | ||||||
|  |               >{{ buttonItem.name }} | ||||||
|  |               </el-button> | ||||||
|  |             </template> | ||||||
|  |           </el-table-column> | ||||||
|  |           <el-table-column | ||||||
|  |             v-if="item.columnType == 'text' && executeEval(row,item.expression,true)" | ||||||
|  |             :prop="item.columnName" | ||||||
|  |             :label="item.columnDesc" | ||||||
|  |             :sortable="item.sort" | ||||||
|  |             :width="item.width" | ||||||
|  |             :show-overflow-tooltip="item.tooltip" | ||||||
|  |             :key="item.columnName" | ||||||
|  |           > | ||||||
|  |             <template slot-scope="scope"> | ||||||
|  |             <span :style="{color: executeFuc(scope.row,'4',item,scope.row[item.columnName])}">{{ | ||||||
|  |                 scope.row[item.columnName] | ||||||
|  |               }}</span> | ||||||
|  |             </template> | ||||||
|  |           </el-table-column> | ||||||
|  |         </template> | ||||||
|  |       </el-table> | ||||||
|  | 
 | ||||||
|  |       <pagination | ||||||
|  |         v-show="total>0" | ||||||
|  |         :total="total" | ||||||
|  |         :limit.sync="filterQuery.limit" | ||||||
|  |         :page.sync="filterQuery.page" | ||||||
|  |         @pagination="handleCurrentChange" | ||||||
|  |       ></pagination> | ||||||
|  |     </el-card> | ||||||
|  |     <el-tabs type="border-card" style="margin: 15px"> | ||||||
|  |       <el-tab-pane label="处方明细"> | ||||||
|  | 
 | ||||||
|  |         <el-table v-loading="preLoading" :data="preDetailList" style="width: 100%" border> | ||||||
|  |           <template v-for="(item, index) in tableHeader1"> | ||||||
|  |             <el-table-column | ||||||
|  |               v-if="item.columnType == 'id' && executeEval(row,item.expression,true)" | ||||||
|  |               type="index" :label="item.columnDesc"></el-table-column> | ||||||
|  |             <el-table-column | ||||||
|  |               v-if="item.columnType == 'selection'" | ||||||
|  |               type="selection" | ||||||
|  |               :width="item.width" | ||||||
|  |               :selectable="(row,number) => executeFuc(row,'3',item.clickFuc)" | ||||||
|  |             ></el-table-column> | ||||||
|  | 
 | ||||||
|  |             <el-table-column | ||||||
|  |               v-if="item.columnType == 'radio' && executeEval(row,item.expression,true)" | ||||||
|  |               :prop="item.columnName" | ||||||
|  |               :label="item.columnDesc" | ||||||
|  |               :sortable="item.sort" | ||||||
|  |               :width="item.width" | ||||||
|  |               :show-overflow-tooltip="item.tooltip" | ||||||
|  |               :key="item.columnName" | ||||||
|  |             > | ||||||
|  |               <template slot-scope="scope"> | ||||||
|  |                 <el-radio :label="scope.row.id" v-model="radioCheck"><span></span></el-radio> | ||||||
|  |               </template> | ||||||
|  |             </el-table-column> | ||||||
|  |             <el-table-column | ||||||
|  |               v-if="item.columnType == 'laber' && executeEval(row,item.expression,true)" | ||||||
|  |               :prop="item.columnName" | ||||||
|  |               :label="item.columnDesc" | ||||||
|  |               :sortable="item.sort" | ||||||
|  |               :width="item.width" | ||||||
|  |               :show-overflow-tooltip="item.tooltip" | ||||||
|  |               :key="item.columnName" | ||||||
|  |             > | ||||||
|  |               <template slot-scope="scope"> | ||||||
|  |                 <span :style="{color: executeFuc(scope.row,'4',item.lableRuleObj[scope.row[item.columnName]])}">{{ | ||||||
|  |                     item.lableRuleObj[scope.row[item.columnName]] | ||||||
|  |                   }}</span> | ||||||
|  |               </template> | ||||||
|  |             </el-table-column> | ||||||
|  |             <el-table-column | ||||||
|  |               v-if="item.columnType == 'eltag' && executeEval(row,item.expression,true)" | ||||||
|  |               :prop="item.columnName" | ||||||
|  |               :label="item.columnDesc" | ||||||
|  |               :sortable="item.sort" | ||||||
|  |               :width="item.width" | ||||||
|  |               :show-overflow-tooltip="item.tooltip" | ||||||
|  |               :key="item.columnName" | ||||||
|  |             > | ||||||
|  |               <template slot-scope="scope"> | ||||||
|  |                 <el-tag | ||||||
|  |                   :type="executeFuc(scope.row,'4',item,item.lableRuleObj?item.lableRuleObj[scope.row[item.columnName]]:scope.row[item.columnName])"> | ||||||
|  |                   <span>{{ | ||||||
|  |                       item.lableRuleObj ? item.lableRuleObj[scope.row[item.columnName]] : scope.row[item.columnName] | ||||||
|  |                     }}</span> | ||||||
|  |                 </el-tag> | ||||||
|  |               </template> | ||||||
|  |             </el-table-column> | ||||||
|  |             <el-table-column | ||||||
|  |               v-if="item.columnType == 'button' && executeEval(row,item.expression,true)" | ||||||
|  |               :prop="item.columnName" | ||||||
|  |               :label="item.columnDesc" | ||||||
|  |               :width="item.width" | ||||||
|  |               :key="item.columnName" | ||||||
|  |               fixed="right" | ||||||
|  |             > | ||||||
|  |               <template slot-scope="scope"> | ||||||
|  |                 <el-button v-for="(buttonItem, buttonIndex) in item.buttonRulObj" | ||||||
|  |                            :type="buttonItem.type" | ||||||
|  |                            :size="buttonItem.size" | ||||||
|  |                            :style="buttonItem.style" | ||||||
|  |                            :key="buttonItem" | ||||||
|  |                            v-if="executeEval(scope.row,buttonItem.hasPermi,true)" | ||||||
|  |                            :disabled="executeEval(scope.row,buttonItem.disabledFuc,false)" | ||||||
|  |                            @click.native.stop="executeFuc(scope.row,'1',buttonItem.clickFuc)" | ||||||
|  |                 >{{ buttonItem.name }} | ||||||
|  |                 </el-button> | ||||||
|  |               </template> | ||||||
|  |             </el-table-column> | ||||||
|  |             <el-table-column | ||||||
|  |               v-if="item.columnType == 'text'  && !(item.columnName == 'productDate' || item.columnName == 'expireDate') && executeEval(row,item.expression,true)" | ||||||
|  |               :prop="item.columnName" | ||||||
|  |               :label="item.columnDesc" | ||||||
|  |               :sortable="item.sort" | ||||||
|  |               :width="item.width" | ||||||
|  |               :show-overflow-tooltip="item.tooltip" | ||||||
|  |               :key="item.columnName" | ||||||
|  |             > | ||||||
|  |               <template slot-scope="scope"> | ||||||
|  |                 <span :style="{color: executeFuc(scope.row,'4',item,scope.row[item.columnName])}">{{ | ||||||
|  |                     scope.row[item.columnName] | ||||||
|  |                   }}</span> | ||||||
|  |               </template> | ||||||
|  |             </el-table-column> | ||||||
|  |             <el-table-column | ||||||
|  |               v-if="item.columnType == 'text' && (item.columnName == 'productDate' || item.columnName == 'expireDate') && executeEval(row,item.expression,true)" | ||||||
|  |               :prop="item.columnName" | ||||||
|  |               :label="item.columnDesc" | ||||||
|  |               :sortable="item.sort" | ||||||
|  |               :width="item.width" | ||||||
|  |               :show-overflow-tooltip="item.tooltip" | ||||||
|  |               :key="item.columnName" | ||||||
|  |             > | ||||||
|  |               <template slot-scope="scope"> | ||||||
|  |                 <span :style="{color: executeFuc(scope.row,'4',item,scope.row[item.columnName])}">{{ | ||||||
|  |                     convertDateFun(scope.row[item.columnName]) | ||||||
|  |                   }}</span> | ||||||
|  |               </template> | ||||||
|  |             </el-table-column> | ||||||
|  |           </template> | ||||||
|  |         </el-table> | ||||||
|  | 
 | ||||||
|  |         <pagination | ||||||
|  |           v-show="preTotal>0" | ||||||
|  |           :total="preTotal" | ||||||
|  |           :limit.sync="preQuery.limit" | ||||||
|  |           :page.sync="preQuery.page" | ||||||
|  |           @pagination="preHandleCurrentChange" | ||||||
|  |         ></pagination> | ||||||
|  | 
 | ||||||
|  |       </el-tab-pane> | ||||||
|  |     </el-tabs> | ||||||
|  | 
 | ||||||
|  |     <el-dialog | ||||||
|  |       title="下载处方" | ||||||
|  |       :visible.sync="downloadPrescriptionVisible" | ||||||
|  |       :close-on-click-modal="false" | ||||||
|  |       :close-on-press-escape="false" | ||||||
|  |       v-if="downloadPrescriptionVisible" | ||||||
|  |       width="65%" | ||||||
|  |       append-to-body | ||||||
|  |     > | ||||||
|  |       <prescribeDownloadDialog | ||||||
|  |         :closeDialog="this.closeDialog" | ||||||
|  |       ></prescribeDownloadDialog> | ||||||
|  |     </el-dialog> | ||||||
|  | 
 | ||||||
|  |     <el-dialog | ||||||
|  |       title="下载处方" | ||||||
|  |       :visible.sync="bindWorkPlaceVisible" | ||||||
|  |       :close-on-click-modal="false" | ||||||
|  |       :close-on-press-escape="false" | ||||||
|  |       v-if="bindWorkPlaceVisible" | ||||||
|  |       width="45%" | ||||||
|  |       append-to-body | ||||||
|  |     > | ||||||
|  |       <bindWorkDialog | ||||||
|  |         :prescribeList="this.multiplePreSelection" | ||||||
|  |         :closeDialog="this.closeDialog" | ||||||
|  |       ></bindWorkDialog> | ||||||
|  |     </el-dialog> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script> | ||||||
|  | import addOrder from "@/views/inout/DialogCreateOrder"; | ||||||
|  | import errOrder from "@/views/inout/IoCreateErrorOrder"; | ||||||
|  | import {executeFuc, getHead} from "@/utils/customConfig"; | ||||||
|  | import {convertDate} from "@/utils/date"; | ||||||
|  | import {detail, page as prescribePage, deleteDataByCode} from "@/api/basic/sicker/prescribeApi"; | ||||||
|  | import prescribeDownloadDialog from "@/views/inout/split/prescribeDownloadDialog"; | ||||||
|  | import bindWorkDialog from "@/views/inout/split/bindWorkDialog"; | ||||||
|  | 
 | ||||||
|  | export default { | ||||||
|  |   name: "prescribePanel", | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  | 
 | ||||||
|  |       //界面配置相关 | ||||||
|  |       //患者处方 | ||||||
|  |       tableHeader: [], | ||||||
|  |       queryList: [], | ||||||
|  |       tableObj: [], | ||||||
|  |       fromList: [], | ||||||
|  |       //处方明细 | ||||||
|  |       tableHeader1: [], | ||||||
|  |       queryList1: [], | ||||||
|  |       tableObj1: [], | ||||||
|  |       fromList1: [], | ||||||
|  |       convertDateFun: convertDate, | ||||||
|  |       //界面配置-------------end | ||||||
|  | 
 | ||||||
|  |       showSearch: true, | ||||||
|  |       filterQuery: { | ||||||
|  |         billNo: null, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 10, | ||||||
|  |       }, | ||||||
|  |       defaultSort: {prop: 'createTime', order: 'desc'}, | ||||||
|  |       loading: false, | ||||||
|  |       list: [], | ||||||
|  |       total: 0, | ||||||
|  |       downloadPrescriptionVisible: false, | ||||||
|  |       deleteData: {}, | ||||||
|  |       preLoading: false, | ||||||
|  |       preDetailList: [], | ||||||
|  |       preTotal: 0, | ||||||
|  |       preQuery: { | ||||||
|  |         prescribeCode: null, | ||||||
|  |         page: 1, | ||||||
|  |         limit: 10, | ||||||
|  |       }, | ||||||
|  | 
 | ||||||
|  |       bindWorkPlaceVisible: false, | ||||||
|  |       multiplePreSelection: [], | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  | 
 | ||||||
|  |   components: { | ||||||
|  |     addOrder, errOrder, prescribeDownloadDialog, bindWorkDialog | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  | 
 | ||||||
|  |     //界面配置相关------------ | ||||||
|  |     executeFuc(row, type, clickFuc, value) { | ||||||
|  |       return executeFuc(this, row, type, clickFuc, value); | ||||||
|  |     }, | ||||||
|  |     executeEval(row, expression, defaultRet) { | ||||||
|  |       if (expression) { | ||||||
|  |         return eval(expression); | ||||||
|  |       } | ||||||
|  |       return defaultRet; | ||||||
|  |     }, | ||||||
|  |     handleSortChange(column, prop, order) { | ||||||
|  |       if (column.order === 'descending') { | ||||||
|  |         this.query.sort = 'desc' | ||||||
|  |       } else { | ||||||
|  |         this.query.sort = 'asc' | ||||||
|  |       } | ||||||
|  |       this.query.orderBy = column.prop; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     ///界面配置相关------------end | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     hideSearch() { | ||||||
|  |       this.showSearch = !this.showSearch; | ||||||
|  |     }, | ||||||
|  |     onReset() { | ||||||
|  |       this.filterQuery = {}; | ||||||
|  |       this.actDateRange = []; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     downloadPrescription() { | ||||||
|  |       this.downloadPrescriptionVisible = true | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     bindWorkPlace() { | ||||||
|  |       if (this.multiplePreSelection.length == 0) { | ||||||
|  |         this.$message.warning('请先选择处方!'); | ||||||
|  |         return | ||||||
|  |       } | ||||||
|  |       this.bindWorkPlaceVisible = true; | ||||||
|  | 
 | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     closeDialog() { | ||||||
|  |       this.bindWorkPlaceVisible = false; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  |     onSubmit() { | ||||||
|  |       this.filterQuery.page = 1; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     getList() { | ||||||
|  |       this.loading = true; | ||||||
|  |       prescribePage(this.filterQuery).then(res => { | ||||||
|  |         this.loading = false | ||||||
|  |         this.list = res.data.list || [] | ||||||
|  |         this.total = res.data.total || 0 | ||||||
|  |       }).catch(() => { | ||||||
|  |         this.loading = false | ||||||
|  |         this.list = [] | ||||||
|  |         this.total = 0 | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     handleCurrentChange(val) { | ||||||
|  |       this.filterQuery.page = val.page; | ||||||
|  |       this.getList(); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     prescribeClick(_this, row) { | ||||||
|  |       this.getPrescribeDetail(_this, row) | ||||||
|  |       this.getCodeDetail(_this, row) | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     getPrescribeDetail(_this, row) { | ||||||
|  |       if (row != null) { | ||||||
|  |         _this.preQuery.page = 1 | ||||||
|  |         _this.preQuery.prescribeCode = row.code | ||||||
|  |       } | ||||||
|  |       _this.preLoading = true; | ||||||
|  |       detail(_this.preQuery).then(res => { | ||||||
|  |         _this.preLoading = false | ||||||
|  |         if (res.code != 20000) { | ||||||
|  |           _this.$message.error(res.message) | ||||||
|  |           return | ||||||
|  |         } | ||||||
|  |         _this.preDetailList = res.data.items | ||||||
|  |         _this.preLoading = false | ||||||
|  |       }).catch(() => { | ||||||
|  |         _this.preLoading = false | ||||||
|  |         _this.$message.error("数据加载失败") | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     preHandleCurrentChange(val) { | ||||||
|  |       this.filterQuery.page = val.page; | ||||||
|  |       this.getPrescribeDetail(this, null); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     deleteDialog(_this, row) { | ||||||
|  |       _this.$confirm("此操作将永久删除该订单, 是否继续?", "提示", { | ||||||
|  |         confirmButtonText: "确定", | ||||||
|  |         cancelButtonText: "取消", | ||||||
|  |         type: "warning", | ||||||
|  |       }) | ||||||
|  |         .then(() => { | ||||||
|  |           _this.deleteOrders(row.code); | ||||||
|  |         }) | ||||||
|  |         .catch(() => { | ||||||
|  |         }); | ||||||
|  |     }, | ||||||
|  |     deleteOrders(data) { | ||||||
|  |       this.loading = true; | ||||||
|  |       this.deleteData.code = data; | ||||||
|  |       deleteDataByCode(this.deleteData) | ||||||
|  |         .then((response) => { | ||||||
|  |           if (response.code == 20000) { | ||||||
|  |             this.getList(); | ||||||
|  |             this.$message({ | ||||||
|  |               type: "success", | ||||||
|  |               message: "删除成功!", | ||||||
|  |             }); | ||||||
|  |           } else if (response.code == 520) { | ||||||
|  |             this.$message.error(response.message); | ||||||
|  |             this.getList(); | ||||||
|  |           } else { | ||||||
|  |             this.$message.error(response.message); | ||||||
|  |             this.getList(); | ||||||
|  |           } | ||||||
|  | 
 | ||||||
|  |         }) | ||||||
|  |         .catch(() => { | ||||||
|  |         }); | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |     handleSelectionChange(val) { | ||||||
|  |       this.multiplePreSelection = val; | ||||||
|  |     }, | ||||||
|  | 
 | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     getHead("prescribeAllot", "1").then((re) => { | ||||||
|  |       // 处理返回的数据 | ||||||
|  |       this.tableObj = re.data; | ||||||
|  |       this.tableHeader = re.data.tableList; | ||||||
|  |       this.queryList = re.data.queryList; | ||||||
|  |       this.fromList = re.data.fromList; | ||||||
|  |       this.getList(); | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     getHead("prescribeAllot-1", "1").then((re) => { | ||||||
|  |       // 处理返回的数据 | ||||||
|  |       this.tableObj1 = re.data; | ||||||
|  |       this.tableHeader1 = re.data.tableList; | ||||||
|  |       this.queryList1 = re.data.queryList; | ||||||
|  |       this.fromList1 = re.data.fromList; | ||||||
|  |       this.getList(); | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |   } | ||||||
|  | 
 | ||||||
|  | } | ||||||
|  | </script> | ||||||
|  | <style scoped> | ||||||
|  | 
 | ||||||
|  | </style> | ||||||
					Loading…
					
					
				
		Reference in New Issue