优化时间格式YYYY-mm-dd
							parent
							
								
									85556ab834
								
							
						
					
					
						commit
						0f3d914dc4
					
				| @ -0,0 +1,447 @@ | ||||
| <template> | ||||
|     <div> | ||||
|         <el-card class="el-card"> | ||||
|             <div> | ||||
|                 <el-form :inline="true" :model="listQuery" size="mini"> | ||||
|                     <el-row style="margin-top: 15px;width: 1000px"> | ||||
|                         <el-form-item class="query-form-item"> | ||||
|                             <el-input v-model="listQuery.udiCode" | ||||
|                                       style="width: 600px" | ||||
|                                       placeholder="请扫描或输入UDI码" | ||||
|                                       clearable="true" | ||||
|                                       @keyup.enter.native="keyup_submit($event)"></el-input> | ||||
|                         </el-form-item> | ||||
|                     </el-row> | ||||
| 
 | ||||
|                     <el-row> | ||||
|                         <el-form-item class="query-form-item"> | ||||
|                             <el-input v-model="listQuery.unionCode" placeholder="DI/医保编码/商品条码" | ||||
|                                       clearable="true"></el-input> | ||||
|                         </el-form-item> | ||||
|                         <el-form-item class="query-form-item"> | ||||
|                             <el-input v-model="listQuery.cpmctymc" placeholder="产品通用名" clearable="true"></el-input> | ||||
|                         </el-form-item> | ||||
|                         <el-form-item class="query-form-item"> | ||||
|                             <el-input v-model="listQuery.ggxh" placeholder="规格型号" clearable="true"></el-input> | ||||
|                         </el-form-item> | ||||
|                     </el-row> | ||||
| 
 | ||||
|                     <el-row> | ||||
|                         <el-form-item class="query-form-item"> | ||||
|                             <el-input v-model="listQuery.ylqxzcrbarmc" placeholder="生产企业/注册备案人" | ||||
|                                       clearable="true"></el-input> | ||||
|                         </el-form-item> | ||||
|                         <el-form-item class="query-form-item"> | ||||
|                             <el-input v-model="listQuery.thrPiId" placeholder="第三方产品编码" clearable="true"></el-input> | ||||
|                         </el-form-item> | ||||
| 
 | ||||
|                         <el-form-item> | ||||
|                             <el-button-group> | ||||
|                                 <el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button> | ||||
|                                 <el-button type="primary" icon="search" @click="search">查询</el-button> | ||||
|                                 <el-button type="primary" icon="search" @click="confirmSelect">确定</el-button> | ||||
|                             </el-button-group> | ||||
|                         </el-form-item> | ||||
|                     </el-row> | ||||
|                 </el-form> | ||||
| 
 | ||||
|                 <el-table | ||||
|                     :data="dataList" | ||||
|                     style="width: 100%" | ||||
|                     highlight-current-row="false" | ||||
|                     v-loading="loading" | ||||
|                     :row-class-name="tableRowClassName" | ||||
|                     @current-change="handleChange" | ||||
|                     ref="multipleTable" | ||||
|                 > | ||||
|                     <!--                    <el-table-column--> | ||||
|                     <!--                        type="selection"--> | ||||
|                     <!--                        width="55">--> | ||||
|                     <!--                    </el-table-column>--> | ||||
|                     <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 label="序号" type="index"></el-table-column> | ||||
|                     <el-table-column | ||||
|                         label="最小销售产品标识" | ||||
|                         prop="nameCode" | ||||
|                         width="140" | ||||
|                         show-overflow-tooltip | ||||
|                     ></el-table-column> | ||||
|                     <el-table-column | ||||
|                         label="产品编码" | ||||
|                         prop="thirdId" | ||||
|                         show-overflow-tooltip | ||||
|                     ></el-table-column> | ||||
|                     <el-table-column | ||||
|                         label="医疗器械注册人" | ||||
|                         prop="ylqxzcrbarmc" | ||||
|                         show-overflow-tooltip | ||||
|                     ></el-table-column> | ||||
|                     <el-table-column | ||||
|                         label="产品通用名" | ||||
|                         prop="cpmctymc" | ||||
|                         show-overflow-tooltip | ||||
|                     ></el-table-column> | ||||
|                     <el-table-column | ||||
|                         label="规格型号" | ||||
|                         prop="ggxh" | ||||
|                         show-overflow-tooltip | ||||
|                     ></el-table-column> | ||||
|                     <el-table-column | ||||
|                         label="注册/备案凭证" | ||||
|                         prop="zczbhhzbapzbh" | ||||
|                         show-overflow-tooltip | ||||
|                     ></el-table-column> | ||||
|                     <el-table-column | ||||
|                         label="器械类别" | ||||
|                         prop="qxlb" | ||||
|                         show-overflow-tooltip | ||||
|                     ></el-table-column> | ||||
|                     <el-table-column | ||||
|                         label="配送企业" | ||||
|                         prop="companyName" | ||||
|                         show-overflow-tooltip | ||||
|                     ></el-table-column> | ||||
|                     <el-table-column label="操作" fixed="right" width="160"> | ||||
|                         <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-pagination | ||||
|                     :page-size="listQuery.limit" | ||||
|                     @current-change="handleErpPageChange" | ||||
|                     layout="prev, pager, next" | ||||
|                     :total="pageTotal" | ||||
|                     :current-page="listQuery.page" | ||||
|                 ></el-pagination> | ||||
|             </div> | ||||
|         </el-card> | ||||
|         <el-dialog | ||||
|             title="耗材字典详情" | ||||
|             :visible.sync="udiRlDetailVisible" | ||||
|             width="85%" | ||||
|             :close-on-click-modal="false" | ||||
|             :close-on-press-escape="false" | ||||
|             append-to-body | ||||
|             v-if="udiRlDetailVisible" | ||||
|         > | ||||
|             <udiRlDetailDialog :editQuery="currentRow"></udiRlDetailDialog> | ||||
|         </el-dialog> | ||||
| 
 | ||||
|         <el-dialog title="请选择对应的资质证书" :visible.sync="dialogFormVisible" append-to-body width="40%"> | ||||
|             <el-form :model="form"> | ||||
|                 <el-form-item label="" prop="isGive"> | ||||
|                     <el-radio-group v-model="currentCert"> | ||||
|                         <el-radio :label="item" :key="item" v-for="item in certList">{{ item }}</el-radio> | ||||
|                     </el-radio-group> | ||||
|                 </el-form-item> | ||||
|             </el-form> | ||||
|             <div slot="footer" class="dialog-footer"> | ||||
|                 <el-button type="primary" @click="selectCert">确 定</el-button> | ||||
|                 <el-button @click="dialogFormVisible = false">取 消</el-button> | ||||
|             </div> | ||||
|         </el-dialog> | ||||
| 
 | ||||
|     </div> | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
| import { | ||||
|     getStockOrderDetailInstrumentById, | ||||
|     stockOrderDetailFilterProduct | ||||
| } from "../../api/warehouse/stockOrder"; | ||||
| import store from "../../store"; | ||||
| import udiRlDetailDialog from "./../basic/UdiRlDetailDialog"; | ||||
| 
 | ||||
| export default { | ||||
|     name: "stockOrderNewSelectProduct", | ||||
|     props: { | ||||
|         data: { | ||||
|             type: Object, | ||||
|             required: true, | ||||
|         }, | ||||
|         closeDialog: { | ||||
|             type: Function, | ||||
|             required: true, | ||||
|         }, | ||||
|         purType: { | ||||
|             type: Object, | ||||
|             required: true, | ||||
|         }, | ||||
| 
 | ||||
|     }, | ||||
| 
 | ||||
|     data() { | ||||
|         return { | ||||
|             listQuery: { | ||||
|                 udiCode: "", | ||||
|                 unionCode: "", | ||||
|                 cpmctymc: "", | ||||
|                 ggxh: "", | ||||
|                 ylqxzcrbarmc: "", | ||||
|                 thrPiId: "", | ||||
|                 page: 1, | ||||
|                 limit: 10, | ||||
|             }, | ||||
|             combineQuery: { | ||||
|                 thirdId: "", | ||||
|                 relId: "", | ||||
|                 erpName: "", | ||||
|                 keys: [], | ||||
|             }, | ||||
|             ids: [], | ||||
|             radioCheck: null, | ||||
|             dataList: [], | ||||
|             pageTotal: 1, | ||||
|             total: 1, | ||||
|             currentRow: null, | ||||
|             loading: false, | ||||
|             udiRlDetailVisible: false, | ||||
|             thirdSys: [], | ||||
|             thirdSysFk: null, | ||||
|             busTypes: [], | ||||
|             actDateRange: [], | ||||
|             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]); | ||||
|                         }, | ||||
|                     }, | ||||
|                 ], | ||||
|             }, | ||||
|             orderEditor: false, | ||||
|             orderId: "", | ||||
|             currentCert: null, | ||||
|             certList: [], | ||||
|             dialogFormVisible: false, | ||||
|             multipleSelection: null, | ||||
|         }; | ||||
|     }, | ||||
|     methods: { | ||||
|         onReset() { | ||||
|             // this.$router.push({ | ||||
|             //     path: "", | ||||
|             // }); | ||||
|             this.listQuery = { | ||||
|                 udiCode: "", | ||||
|                 unionCode: "", | ||||
|                 cpmctymc: "", | ||||
|                 ggxh: "", | ||||
|                 ylqxzcrbarmc: "", | ||||
|                 thrPiId: "", | ||||
|                 page: 1, | ||||
|                 limit: 10, | ||||
|             }, | ||||
|                 this.getList(); | ||||
|         }, | ||||
|         tableRowClassName({row}) { | ||||
|             if (row.checked) return "warning-row"; | ||||
|             return ""; | ||||
|         }, | ||||
|         checkSelectable(row) { | ||||
|             return !row.check; | ||||
|         }, | ||||
|         handleCurrentChange(val) { | ||||
|             this.unionQuery.page = val; | ||||
|             this.getList(); | ||||
|         }, | ||||
|         handleChange(val) { | ||||
|             this.radioCheck = val.id; | ||||
|             this.currentRow = val; | ||||
|             this.multipleSelection = val | ||||
|         }, | ||||
|         handleDetailClick(row) { | ||||
|             this.currentRow = row; | ||||
|             this.udiRlDetailVisible = true; | ||||
| 
 | ||||
|         }, | ||||
|         handleErpPageChange(val) { | ||||
|             this.listQuery.page = val; | ||||
|             this.getList(); | ||||
|         }, | ||||
|         keyup_submit(event) { | ||||
|             this.listQuery.page = 1; | ||||
|             this.getList(); | ||||
|             event.target.select(); | ||||
|         }, | ||||
|         search() { | ||||
|             this.listQuery.page = 1; | ||||
|             this.getList(); | ||||
|         }, | ||||
|         getList() { | ||||
| 
 | ||||
|             this.loading = true; | ||||
|             this.listQuery.customerId = store.getters.customerId; | ||||
|             if(this.listQuery.customerId==110 && this.data.formData!=null && this.data.formData!=undefined){ | ||||
|                 this.listQuery.companyName=this.data.formData.corpName | ||||
|             } | ||||
|             if(this.listQuery.customerId!=110 && this.data!=null && this.data!=undefined){ | ||||
|                 this.listQuery.companyName=this.data.corpName | ||||
|             } | ||||
| 
 | ||||
|             stockOrderDetailFilterProduct(this.listQuery) | ||||
|                 .then((response) => { | ||||
|                     this.loading = false; | ||||
|                     if (response.code === 20000) { | ||||
|                         this.dataList = response.data.list || []; | ||||
|                         this.pageTotal = response.data.total || 0; | ||||
|                     } else { | ||||
|                         this.$message.error(response.message); | ||||
|                         this.dataList = []; | ||||
|                         this.pageTotal = 0; | ||||
|                     } | ||||
|                 }) | ||||
|                 .catch(() => { | ||||
|                     this.loading = false; | ||||
|                     this.dataList = []; | ||||
|                     this.pageTotal = 0; | ||||
|                 }); | ||||
|         }, | ||||
|         intentBack() { | ||||
|             this.closeDialog(); | ||||
|         }, | ||||
| 
 | ||||
| 
 | ||||
|         confirmSelect() { | ||||
|             if (this.multipleSelection == null) { | ||||
|                 this.$message.error('未选择产品'); | ||||
|                 return; | ||||
|             } | ||||
| 
 | ||||
|             if (this.ids.length > 0) { | ||||
|                 for (var i = 0; i < this.ids.length; i++) { | ||||
|                     if (this.ids[i] == this.multipleSelection.rlId) { | ||||
|                         this.$message.error("该产品已录入!"); | ||||
|                         return | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             let str = this.multipleSelection.zczbhhzbapzbh; | ||||
|             if (str.search(",") != -1) { | ||||
|                 this.currentCert = null; | ||||
|                 this.certList = str.split(','); | ||||
|                 this.dialogFormVisible = true; | ||||
|             } else { | ||||
|                 this.combine(); | ||||
|             } | ||||
|         }, | ||||
| 
 | ||||
|         combine() { | ||||
|             let ids = []; | ||||
|             let data = { | ||||
|                 relId: this.multipleSelection.rlId, | ||||
|                 supId: this.multipleSelection.customerId, | ||||
|                 zczbhhzbapzbh: this.multipleSelection.zczbhhzbapzbh, | ||||
|             } | ||||
|             ids.push(data); | ||||
|             this.loading = true; | ||||
|             let tQuery = { | ||||
|                 datas: ids, | ||||
|                 stockOrderLists: this.data.stockOrderLists, | ||||
|                 purType: this.purType | ||||
|             }; | ||||
|             getStockOrderDetailInstrumentById(tQuery).then((response) => { | ||||
|                 this.loading = false; | ||||
|                 if (response.code === 20000) { | ||||
|                     this.closeDialog(response.data); | ||||
|                 } else { | ||||
|                     if (response.code == 601) { | ||||
|                         this.$alert(response.message, "提示", { | ||||
|                             confirmButtonText: "确定", | ||||
|                         }); | ||||
|                     } else | ||||
|                         this.$message.error(response.message); | ||||
|                 } | ||||
|             }).catch(() => { | ||||
|                 this.loading = false; | ||||
|             }); | ||||
| 
 | ||||
|         }, | ||||
| 
 | ||||
|         selectCert() { | ||||
|             if (this.currentCert == null) { | ||||
|                 this.$message.error("请先选择对应的注册证!"); | ||||
|             } else { | ||||
|                 this.multipleSelection.zczbhhzbapzbh = this.currentCert; | ||||
|                 this.combine(); | ||||
|             } | ||||
| 
 | ||||
|         }, | ||||
|     }, | ||||
|     components: {udiRlDetailDialog}, | ||||
| 
 | ||||
|     created() { | ||||
|         if (this.$isNotBlank(this.data)) { | ||||
| 
 | ||||
|             // this.listQuery.nameCode = this.data.udi; | ||||
|             // if (this.data.billType != null) { | ||||
|             //     this.listQuery.billType = this.data.billType; | ||||
|             // } else | ||||
|             //     this.listQuery.billType = this.data.formData.billType; | ||||
| 
 | ||||
|             // if (this.data.formData != null) { | ||||
|             //     this.listQuery.corpId = this.data.formData.corpId; | ||||
|             // } | ||||
|             // this.orderEditor = this.data.orderEditor; | ||||
|             // this.orderId = this.data.orderId; | ||||
|             this.ids = []; | ||||
|             if (this.data.stockOrderLists.length > 0) { | ||||
|                 for (var i = 0; i < this.data.stockOrderLists.length; i++) { | ||||
|                     this.ids.push(this.data.stockOrderLists[i].productId); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         this.getList(); | ||||
|     }, | ||||
| }; | ||||
| </script> | ||||
| 
 | ||||
| <style scoped> | ||||
| .query-form-item { | ||||
|     display: block !important; | ||||
|     margin-right: 10px; | ||||
|     margin-bottom: 5px; | ||||
| } | ||||
| 
 | ||||
| div /deep/ .el-table .warning-row { | ||||
|     background: #bebebe; | ||||
| } | ||||
| 
 | ||||
| div /deep/ .el-table .success-row { | ||||
|     background: #ffffff; | ||||
| } | ||||
| </style> | ||||
					Loading…
					
					
				
		Reference in New Issue