优化时间格式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