Merge remote-tracking branch 'origin/dev_ksck_z' into dev_ksck_z
						commit
						6a09ddf530
					
				| @ -0,0 +1,407 @@ | ||||
| <template> | ||||
|   <div> | ||||
| 
 | ||||
|     <el-card class="el-card"> | ||||
|       <el-form v-if="queryList && queryList.length > 0 && showSearch" :model="filterQuery" 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)" | ||||
|                           :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)" | ||||
|                           :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)" | ||||
|                           :label="item.columnDesc+`:`" | ||||
|             > | ||||
|               <el-select | ||||
|                 v-model="filterQuery[item.columnName]" | ||||
|                 :placeholder="item.columnDesc" | ||||
|                 :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)" | ||||
|                           :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)" | ||||
|                           :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 style="display:flex;"> | ||||
|           <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="onSubmitFind">查询</el-button> | ||||
|           <el-button type="primary" icon="el-icon-plus" @click="choose">选入</el-button> | ||||
| 
 | ||||
|         </el-button-group> | ||||
|       </div> | ||||
| 
 | ||||
|       <el-divider style="margin: 15px"></el-divider> | ||||
| 
 | ||||
| 
 | ||||
|       <el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row="true" border | ||||
|                 @current-change="handMedicalClick" | ||||
|                 ref="multipleTable" | ||||
|       > | ||||
|         <el-table-column label width="45"> | ||||
|           <template slot-scope="scope"> | ||||
|             <el-radio :label="scope.row.id" v-model="chenck"><span></span></el-radio> | ||||
|           </template> | ||||
|         </el-table-column> | ||||
|         <el-table-column label="序号" type="index" width="55"></el-table-column> | ||||
|         <el-table-column label="医疗目录编码" prop="medCatalogCode" width="120" show-overflow-tooltip></el-table-column> | ||||
|         <el-table-column label="药品通用名" prop="genericName" width="160" show-overflow-tooltip></el-table-column> | ||||
|         <el-table-column label="药品剂型" prop="dosageForm" width="160"></el-table-column> | ||||
|         <el-table-column label="药品规格" prop="medSpec" width="100"></el-table-column> | ||||
|         <el-table-column label="包装规格" prop="packagingSpec" width="90"></el-table-column> | ||||
|         <el-table-column label="包装材质" prop="packagingMaterial"></el-table-column> | ||||
|         <el-table-column label="生产企业" prop="manufacturerName" width="90"></el-table-column> | ||||
|         <el-table-column label="批准文号" prop="approvalNum" width="90"></el-table-column> | ||||
|         <el-table-column label="药监本位码" prop="medStandardCode" width="90"></el-table-column> | ||||
|         <el-table-column label="操作" width="80" fixed="right"> | ||||
|           <template slot-scope="scope"> | ||||
|             <el-button type="text" size="small" @click.native.stop="handleDetailClick(scope.row)">详情</el-button> | ||||
|           </template> | ||||
|         </el-table-column> | ||||
|       </el-table> | ||||
| 
 | ||||
| 
 | ||||
|       <pagination | ||||
|         v-show="total>0" | ||||
|         :total="total" | ||||
|         :page.sync="filterQuery.page" | ||||
|         :limit.sync="filterQuery.limit" | ||||
|         @pagination="getList" | ||||
|       ></pagination> | ||||
|     </el-card> | ||||
| 
 | ||||
|     <el-dialog | ||||
|       title="药品详情" | ||||
|       :visible.sync="newSpDistributionVisible" | ||||
|       width="80%" | ||||
|       v-if="newSpDistributionVisible" | ||||
|       :close-on-click-modal="false" | ||||
|       :close-on-press-escape="false" | ||||
|     > | ||||
|       <pharmaceuticalsDetail | ||||
|         :rowData="rowData" | ||||
|       > | ||||
|       </pharmaceuticalsDetail> | ||||
|     </el-dialog> | ||||
| 
 | ||||
| 
 | ||||
|     <el-dialog | ||||
|       title="医用药品详情" | ||||
|       :visible.sync="drugDetailVisible" | ||||
|       width="70%" | ||||
|       :close-on-click-modal="false" | ||||
|       :close-on-press-escape="false" | ||||
|       append-to-body | ||||
|       v-if="drugDetailVisible" | ||||
|     > | ||||
|       <pharmaceuticalsDetail | ||||
|         :rowData="drugDetailData" | ||||
|       > | ||||
|       </pharmaceuticalsDetail> | ||||
|     </el-dialog> | ||||
| 
 | ||||
|   </div> | ||||
| </template> | ||||
| <script> | ||||
| import { delReceive } from '@/api/thrsys/thrOrderReceive' | ||||
| import { | ||||
|   getHead, executeFuc | ||||
| } from '@/utils/customConfig' | ||||
| import { chDrugList, deleteChDrug } from '@/api/thrsys/medicalSupplies' | ||||
| import pharmaceuticalsDetail from "@/views/thirdSys/medicare/pharmaceuticalsDetail" | ||||
| 
 | ||||
| export default { | ||||
|   props: { | ||||
|     getData: { | ||||
|       type: Function, | ||||
|       required: true | ||||
|     } | ||||
|   }, | ||||
|   components: {pharmaceuticalsDetail}, | ||||
|   data() { | ||||
|     return { | ||||
|       defaultSort: { prop: 'createTime', order: 'desc' }, | ||||
|       showSearch: true, | ||||
|       filterQuery: { | ||||
|         medCatalogCode: '', | ||||
|         tradeName: '', | ||||
|         genericNum: '', | ||||
|         genericName: '', | ||||
|         page: 1, | ||||
|         limit: 10 | ||||
|       }, | ||||
|       invList: [], | ||||
|       formName: null, | ||||
|       formMap: { | ||||
|         add: '新增领用单据', | ||||
|         update: '编辑领用单据' | ||||
|       }, | ||||
|       statusMap: { | ||||
|         1: '草稿', | ||||
|         2: '未审核', | ||||
|         3: '已审核', | ||||
|         4: '已拒绝' | ||||
|       }, | ||||
|       total: 0, | ||||
|       tableHeader: [], | ||||
|       queryList: [], | ||||
|       fromList: [], | ||||
|       fList: [], | ||||
|       options: { | ||||
|         finCurInv: [], | ||||
|         finCorpList: [] | ||||
|       }, | ||||
|       thirdSys: [], | ||||
|       thirdSysDetail: null, | ||||
|       busTypes: [], | ||||
|       originTypes: [], | ||||
|       list: [], | ||||
|       detailList: [], | ||||
|       uploadFileUrl: null, | ||||
|       fileList: [], | ||||
|       uploadData: { | ||||
|         thirdSys: 'thirdId' | ||||
|       }, | ||||
|       invCodebe: null, | ||||
|       closeConfirm: false, | ||||
|       loading: false, | ||||
|       actDateRange: [], | ||||
|       newSpDistributionVisible: false, | ||||
|       pickerOptions: { | ||||
|         shortcuts: [ | ||||
|           { | ||||
|             text: '最近一周', | ||||
|             onClick(picker) { | ||||
|               const end = new Date() | ||||
|               const start = new Date() | ||||
|               start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) | ||||
|               picker.$emit('pick', [start, end]) | ||||
|             } | ||||
|           }, | ||||
|           { | ||||
|             text: '最近一个月', | ||||
|             onClick(picker) { | ||||
|               const end = new Date() | ||||
|               const start = new Date() | ||||
|               start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) | ||||
|               picker.$emit('pick', [start, end]) | ||||
|             } | ||||
|           }, | ||||
|           { | ||||
|             text: '最近三个月', | ||||
|             onClick(picker) { | ||||
|               const end = new Date() | ||||
|               const start = new Date() | ||||
|               start.setTime(start.getTime() - 3600 * 1000 * 24 * 90) | ||||
|               picker.$emit('pick', [start, end]) | ||||
|             } | ||||
|           } | ||||
|         ] | ||||
|       }, | ||||
|       rowData: null, | ||||
|       chenck: '', | ||||
|       data: {}, | ||||
|       drugDetailVisible: false, | ||||
|       drugDetailData: {} | ||||
|     } | ||||
|   }, | ||||
| 
 | ||||
|   methods: { | ||||
|     onReset() { | ||||
|       this.$router.push({ | ||||
|         path: '' | ||||
|       }) | ||||
|       this.filterQuery = { | ||||
|         medCatalogCode: '', | ||||
|         tradeName: '', | ||||
|         genericNum: '', | ||||
|         genericName: '', | ||||
|         page: 1, | ||||
|         limit: 10 | ||||
|       } | ||||
|       this.getList() | ||||
|     }, | ||||
| 
 | ||||
|     onSubmitFind() { | ||||
|       this.filterQuery.page = 1 | ||||
|       this.getList() | ||||
|     }, | ||||
|     getList() { | ||||
|       chDrugList(this.filterQuery) | ||||
|         .then((response) => { | ||||
|           if (response.code == 20000) { | ||||
|             this.list = response.data.list || [] | ||||
|             this.total = response.data.total || 0 | ||||
|           } else { | ||||
|             this.$message.error(response.message) | ||||
|           } | ||||
|         }) | ||||
|         .catch(() => { | ||||
|           this.list = [] | ||||
|           this.total = 0 | ||||
|         }) | ||||
|     }, | ||||
| 
 | ||||
|     handleDetail(_this, row) { | ||||
|       _this.rowData = row | ||||
|       _this.newSpDistributionVisible = true | ||||
|     }, | ||||
|     hideSearch() { | ||||
|       this.showSearch = !this.showSearch | ||||
|     }, | ||||
|     deleteClick(_this, row) { | ||||
|       _this.$confirm('此操作将永久删除该药品, 是否继续?', '提示', { | ||||
|         confirmButtonText: '确定', | ||||
|         cancelButtonText: '取消', | ||||
|         type: 'warning' | ||||
|       }) | ||||
|         .then(() => { | ||||
|           deleteChDrug(row).then(res => { | ||||
|             if (res.code == 20000) { | ||||
|               _this.$message.success('success') | ||||
|               _this.getList() | ||||
|             } else { | ||||
|               _this.$message.error('删除失败') | ||||
|             } | ||||
|           }) | ||||
|         }) | ||||
|         .catch(() => { | ||||
|         }) | ||||
|     }, | ||||
|     handMedicalClick(row) { | ||||
|       this.chenck = row.id | ||||
|       this.data = row | ||||
|     }, | ||||
|     handleCurrentChange(val) { | ||||
|       this.filterQuery.page = val.page | ||||
|       this.getList() | ||||
|     }, | ||||
|     closeDialog() { | ||||
|       this.newSpDistributionVisible = false | ||||
|       this.getList() | ||||
|       this.detailList = [] | ||||
|     }, | ||||
|     executeFuc(row, type, clickFuc, value) { | ||||
|       return executeFuc(this, row, type, clickFuc, value) | ||||
|     }, | ||||
|     executeEval(row, expression, defaultRet) { | ||||
|       if (expression) { | ||||
|         return eval(expression) | ||||
|       } | ||||
|       return defaultRet | ||||
|     }, | ||||
|     /** | ||||
|      * 选入 | ||||
|      */ | ||||
|     choose() { | ||||
|       this.getData(this.data) | ||||
|     }, | ||||
|     handleDetailClick(row){ | ||||
|       this.drugDetailData = row | ||||
|       this.drugDetailVisible = true | ||||
|     } | ||||
|   }, | ||||
|   // components: { | ||||
|   //   pharmaceuticalsDetail | ||||
|   // }, | ||||
|   mounted() { | ||||
|   }, | ||||
|   created() { | ||||
|     this.getList() | ||||
|     getHead('pharmaceuticals-1', '1').then((re) => { | ||||
|       // 处理返回的数据 | ||||
|       this.tableHeader = re.data.tableList | ||||
|       this.queryList = re.data.queryList | ||||
|       this.fromList = re.data.fromList | ||||
| 
 | ||||
|     }) | ||||
| 
 | ||||
|   } | ||||
| } | ||||
| </script> | ||||
| <style scoped> | ||||
| .itemTag { | ||||
|   float: left; | ||||
|   text-align: left; | ||||
|   margin-top: 10px; | ||||
|   width: 25%; | ||||
| } | ||||
| 
 | ||||
| .text { | ||||
|   font-size: 13px; | ||||
|   font-family: "Microsoft YaHei"; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| .el-row { | ||||
|   display: flex; | ||||
|   flex-wrap: wrap; | ||||
| } | ||||
| 
 | ||||
| .el-col { | ||||
|   border-radius: 4px; | ||||
|   flex-wrap: wrap; | ||||
| } | ||||
| </style> | ||||
| 
 | ||||
| @ -0,0 +1,526 @@ | ||||
| <template> | ||||
|   <div> | ||||
|     <el-card class="el-card"> | ||||
|       <el-form v-if="queryList && queryList.length > 0 && showSearch" :model="filterQuery" 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)" | ||||
|                           :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)" | ||||
|                           :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)" | ||||
|                           :label="item.columnDesc+`:`" | ||||
|             > | ||||
|               <el-select | ||||
|                 v-model="filterQuery[item.columnName]" | ||||
|                 :placeholder="item.columnDesc" | ||||
|                 :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)" | ||||
|                           :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)" | ||||
|                           :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 style="display:flex;"> | ||||
|           <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="onSubmitFind">查询</el-button> | ||||
|           <el-button type="primary" icon="el-icon-plus" @click="choose">选入</el-button> | ||||
|           <!--  <el-button type="primary" icon="el-icon-plus" @click="newDistributionForm()" :loading="loading">--> | ||||
|           <!--    导入收费项目--> | ||||
|           <!--  </el-button>--> | ||||
|           <!--  <el-button type="primary" icon="el-icon-plus" @click="newDistributionForm()" :loading="loading">--> | ||||
|           <!--  下载收费项目--> | ||||
|           <!--</el-button>--> | ||||
| 
 | ||||
|         </el-button-group> | ||||
|       </div> | ||||
| 
 | ||||
|       <el-divider style="margin: 15px"></el-divider> | ||||
| 
 | ||||
| 
 | ||||
|       <el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row="true" border | ||||
|                 @current-change="handMedicalClick" | ||||
|                 ref="multipleTable" | ||||
|       > | ||||
|         <el-table-column label width="45"> | ||||
|           <template slot-scope="scope"> | ||||
|             <el-radio :label="scope.row.id" v-model="chenck"><span></span></el-radio> | ||||
|           </template> | ||||
|         </el-table-column> | ||||
|         <!--<el-table-column type="selection" width="55" v-if="type!=3"></el-table-column>--> | ||||
|         <el-table-column label="序号" type="index" width="55"></el-table-column> | ||||
|         <el-table-column label="医疗目录编码" prop="medCatalogCode" width="120" show-overflow-tooltip></el-table-column> | ||||
|         <el-table-column label="耗材名称" prop="consumableName" width="160" show-overflow-tooltip></el-table-column> | ||||
|         <el-table-column label="医疗器械唯一标识码" prop="deviceUniqueCode" width="160"></el-table-column> | ||||
|         <el-table-column label="医保通用名代码" prop="insuranceGenericCode" width="100"></el-table-column> | ||||
|         <el-table-column label="产品型号" prop="productModel" width="90"></el-table-column> | ||||
|         <el-table-column label="规格" prop="specCode"></el-table-column> | ||||
|         <el-table-column label="规格" prop="specification" width="90"></el-table-column> | ||||
|         <el-table-column label="耗材分类" prop="consumableCategory" width="90"></el-table-column> | ||||
|         <el-table-column label="规格型号" prop="specModel" width="90"></el-table-column> | ||||
|         <el-table-column label="materialCode" prop="materialCode" width="90"></el-table-column> | ||||
|         <el-table-column label="耗材材质" prop="consumableMaterial" width="90"></el-table-column> | ||||
|         <el-table-column label="包装规格" prop="packagingSpec" width="180"></el-table-column> | ||||
|         <el-table-column label="包装数量/备案号" prop="packagingQuantity" width="180"></el-table-column> | ||||
|         <el-table-column label="产品包装材质" prop="packagingMaterial" width="180"></el-table-column> | ||||
|         <el-table-column label="包装单位" prop="packagingUnit" width="180"></el-table-column> | ||||
|         <el-table-column label="生产地类别" prop="productionAreaType" width="180"></el-table-column> | ||||
|         <el-table-column label="注册备案号" prop="regFilingNum" width="180"></el-table-column> | ||||
|         <el-table-column label="注册备案人" prop="regFilingPersonName" width="180"></el-table-column> | ||||
|         <el-table-column label="供应商" prop="manufacturerName" width="180"></el-table-column> | ||||
|         <el-table-column label="收费项目编码" prop="payFeeCode" width="180"></el-table-column> | ||||
|         <el-table-column label="操作" width="80" fixed="right"> | ||||
|           <template slot-scope="scope"> | ||||
|             <el-button type="text" size="small" @click.native.stop="handleDetailClick(scope.row)">详情</el-button> | ||||
|           </template> | ||||
|         </el-table-column> | ||||
|       </el-table> | ||||
| 
 | ||||
| 
 | ||||
|       <!--<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row="true" border--> | ||||
|       <!--          @current-change="handMedicalClick"--> | ||||
|       <!--          :default-sort="defaultSort" @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" | ||||
|         :page.sync="filterQuery.page" | ||||
|         :limit.sync="filterQuery.limit" | ||||
|         @pagination="handleCurrentChange" | ||||
|       ></pagination> | ||||
|     </el-card> | ||||
| 
 | ||||
| 
 | ||||
|     <el-dialog | ||||
|       title="医用耗材详情" | ||||
|       :visible.sync="suppliesDetailVisible" | ||||
|       width="70%" | ||||
|       :close-on-click-modal="false" | ||||
|       :close-on-press-escape="false" | ||||
|       append-to-body | ||||
|       v-if="suppliesDetailVisible" | ||||
|     > | ||||
|       <medicalSuppliesSddDialog | ||||
|         :rowData="suppliesDetailData" | ||||
|       > | ||||
|       </medicalSuppliesSddDialog> | ||||
|     </el-dialog> | ||||
|   </div> | ||||
| </template> | ||||
| <script> | ||||
| import { deleteMaterial, getAll } from '@/api/thrsys/medicalSupplies' | ||||
| import { getBusChange } from '@/api/basic/busTypeChange' | ||||
| import { | ||||
|   getHead, executeFuc | ||||
| } from '@/utils/customConfig' | ||||
| import medicalSuppliesSddDialog from "@/views/thirdSys/medicare/medicalSuppliesSddDialog" | ||||
| 
 | ||||
| export default { | ||||
|   props: { | ||||
|     getData: { | ||||
|       type: Function, | ||||
|       required: true | ||||
|     } | ||||
|   }, | ||||
|   components: {medicalSuppliesSddDialog}, | ||||
|   data() { | ||||
|     return { | ||||
|       defaultSort: { prop: 'createTime', order: 'desc' }, | ||||
|       showSearch: true, | ||||
|       filterQuery: { | ||||
|         medCatalogCode: '', | ||||
|         consumableName: '', | ||||
|         page: 1, | ||||
|         limit: 10 | ||||
|       }, | ||||
|       invList: [], | ||||
|       formName: null, | ||||
|       formMap: { | ||||
|         add: '新增领用单据', | ||||
|         update: '编辑领用单据' | ||||
|       }, | ||||
|       statusMap: { | ||||
|         1: '草稿', | ||||
|         2: '未审核', | ||||
|         3: '已审核', | ||||
|         4: '已拒绝' | ||||
|       }, | ||||
|       idQuery: {}, | ||||
|       corpList: [], | ||||
|       total: 0, | ||||
|       tableHeader: [], | ||||
|       queryList: [], | ||||
|       fromList: [], | ||||
|       tableHeader2: [], | ||||
|       queryList2: [], | ||||
|       fromList2: [], | ||||
|       options: { | ||||
|         finCurInv: [], | ||||
|         finCorpList: [] | ||||
|       }, | ||||
|       thirdSys: [], | ||||
|       thirdSysDetail: null, | ||||
|       busTypes: [], | ||||
|       originTypes: [], | ||||
|       list: [], | ||||
|       detailList: [], | ||||
|       uploadFileUrl: null, | ||||
|       fileList: [], | ||||
|       uploadData: { | ||||
|         thirdSys: 'thirdId' | ||||
|       }, | ||||
|       invCodebe: null, | ||||
|       closeConfirm: false, | ||||
|       loading: false, | ||||
|       actDateRange: [], | ||||
|       newSpDistributionVisible: false, | ||||
|       pickerOptions: { | ||||
|         shortcuts: [ | ||||
|           { | ||||
|             text: '最近一周', | ||||
|             onClick(picker) { | ||||
|               const end = new Date() | ||||
|               const start = new Date() | ||||
|               start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) | ||||
|               picker.$emit('pick', [start, end]) | ||||
|             } | ||||
|           }, | ||||
|           { | ||||
|             text: '最近一个月', | ||||
|             onClick(picker) { | ||||
|               const end = new Date() | ||||
|               const start = new Date() | ||||
|               start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) | ||||
|               picker.$emit('pick', [start, end]) | ||||
|             } | ||||
|           }, | ||||
|           { | ||||
|             text: '最近三个月', | ||||
|             onClick(picker) { | ||||
|               const end = new Date() | ||||
|               const start = new Date() | ||||
|               start.setTime(start.getTime() - 3600 * 1000 * 24 * 90) | ||||
|               picker.$emit('pick', [start, end]) | ||||
|             } | ||||
|           } | ||||
|         ] | ||||
|       }, | ||||
|       productType: null, | ||||
| 
 | ||||
|       // | ||||
|       rowData: null, | ||||
|       data: {}, | ||||
|       suppliesDetailData: {}, | ||||
|       chenck: '', | ||||
|       suppliesDetailVisible: false | ||||
|     } | ||||
|   }, | ||||
| 
 | ||||
|   methods: { | ||||
|     onReset() { | ||||
|       this.$router.push({ | ||||
|         path: '' | ||||
|       }) | ||||
|       this.filterQuery = { | ||||
|         medCatalogCode: '', | ||||
|         consumableName: '', | ||||
|         page: 1, | ||||
|         limit: 10 | ||||
|       }, | ||||
|         this.actDateRange = [] | ||||
|       this.getList() | ||||
|     }, | ||||
| 
 | ||||
|     onSubmitFind() { | ||||
|       this.filterQuery.page = 1 | ||||
|       this.getList() | ||||
|     }, | ||||
| 
 | ||||
|     getList() { | ||||
|       getAll(this.filterQuery) | ||||
|         .then((response) => { | ||||
|           if (response.code == 20000) { | ||||
|             this.list = response.data.list || [] | ||||
|             this.total = response.data.total || 0 | ||||
|           } else { | ||||
|             this.$message.error(response.message) | ||||
|           } | ||||
|         }) | ||||
|         .catch(() => { | ||||
|           this.list = [] | ||||
|           this.total = 0 | ||||
|         }) | ||||
|     }, | ||||
| 
 | ||||
|     // handleDetail(_this,row) { | ||||
|     //   _this.rowData = row | ||||
|     //   _this.newSpDistributionVisible = true | ||||
|     // }, | ||||
| 
 | ||||
|     handMedicalClick(row) { | ||||
|       this.chenck = row.id | ||||
|       this.data = row | ||||
| 
 | ||||
|     }, | ||||
|     hideSearch() { | ||||
|       this.showSearch = !this.showSearch | ||||
|     }, | ||||
|     deleteClick(_this, row) { | ||||
|       _this.$confirm('此操作将永久删除该耗材, 是否继续?', '提示', { | ||||
|         confirmButtonText: '确定', | ||||
|         cancelButtonText: '取消', | ||||
|         type: 'warning' | ||||
|       }) | ||||
|         .then(() => { | ||||
|           deleteMaterial(row).then(res => { | ||||
|             if (res.code == 20000) { | ||||
|               _this.$message.success('success') | ||||
|               _this.getList() | ||||
|             } else { | ||||
|               _this.$message.error('删除失败') | ||||
|             } | ||||
|           }) | ||||
|         }) | ||||
|         .catch(() => { | ||||
|         }) | ||||
|     }, | ||||
| 
 | ||||
|     handleCurrentChange(val) { | ||||
|       this.filterQuery.page = val.page | ||||
|       this.getList() | ||||
|     }, | ||||
|     closeDialog() { | ||||
|       this.newSpDistributionVisible = false | ||||
|       this.getList() | ||||
|       this.detailList = [] | ||||
|     }, | ||||
|     getBusType() { | ||||
|       let query = { | ||||
|         enable: true, | ||||
|         type: 1 | ||||
|       } | ||||
|       getBusChange(query) | ||||
|         .then((response) => { | ||||
|           this.originTypes = response.data.list || [] | ||||
|         }) | ||||
|         .catch(() => { | ||||
|         }) | ||||
|     }, | ||||
|     executeFuc(row, type, clickFuc, value) { | ||||
|       return executeFuc(this, row, type, clickFuc, value) | ||||
|     }, | ||||
|     executeEval(row, expression, defaultRet) { | ||||
|       if (expression) { | ||||
|         return eval(expression) | ||||
|       } | ||||
|       return defaultRet | ||||
|     }, | ||||
| 
 | ||||
|     /** | ||||
|      * 选入 | ||||
|      */ | ||||
|     choose() { | ||||
|       this.getData(this.data) | ||||
|     }, | ||||
|     handleDetailClick(row){ | ||||
|       this.suppliesDetailData = row | ||||
|       this.suppliesDetailVisible = true | ||||
|     }, | ||||
|   }, | ||||
| 
 | ||||
|   // components: { | ||||
|   //   medicalSuppliesSddDialog | ||||
|   // }, | ||||
|   mounted() { | ||||
|   }, | ||||
|   created() { | ||||
| 
 | ||||
|     this.getList() | ||||
|     this.getBusType() | ||||
| 
 | ||||
|     getHead('medicalSupplies-1', '1').then((re) => { | ||||
|       // 处理返回的数据 | ||||
|       this.tableObj = re.data | ||||
|       this.tableHeader = re.data.tableList | ||||
|       this.queryList = re.data.queryList | ||||
|       this.fromList = re.data.fromList | ||||
|     }) | ||||
| 
 | ||||
|   } | ||||
| } | ||||
| </script> | ||||
| <style scoped> | ||||
| .itemTag { | ||||
|   float: left; | ||||
|   text-align: left; | ||||
|   margin-top: 10px; | ||||
|   width: 25%; | ||||
| } | ||||
| 
 | ||||
| .text { | ||||
|   font-size: 13px; | ||||
|   font-family: "Microsoft YaHei"; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| .el-row { | ||||
|   display: flex; | ||||
|   flex-wrap: wrap; | ||||
| } | ||||
| 
 | ||||
| .el-col { | ||||
|   border-radius: 4px; | ||||
|   flex-wrap: wrap; | ||||
| } | ||||
| </style> | ||||
| 
 | ||||
					Loading…
					
					
				
		Reference in New Issue