Merge branch '20231126-yw' into dev_ksck
						commit
						5a9cda84a3
					
				| @ -0,0 +1,66 @@ | ||||
| import axios from '@/utils/request' | ||||
| 
 | ||||
| /** | ||||
|  * 获取单据列表 | ||||
|  * @param query | ||||
|  * @returns {*} | ||||
|  */ | ||||
| export function getThrInvOrders(query) { | ||||
|   return axios({ | ||||
|     url: '/udiwms/thrsys/getThrInvOrders', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 获取单据明细列表 | ||||
|  * @param query | ||||
|  * @returns {*} | ||||
|  */ | ||||
| export function getThrInvOrderDetails(query) { | ||||
|   return axios({ | ||||
|     url: '/udiwms/thrsys/getThrInvOrderDetails', | ||||
|     method: 'get', | ||||
|     params: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 删除明细行 | ||||
|  * @param query | ||||
|  * @returns {*} | ||||
|  */ | ||||
| export function delThrInvOrderDetail(query) { | ||||
|   return axios({ | ||||
|     url: '/udiwms/thrsys/delThrInvOrderDetail', | ||||
|     method: 'post', | ||||
|     data: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * 删除单据 | ||||
|  * @param query | ||||
|  * @returns {*} | ||||
|  */ | ||||
| export function delThrInvOrder(query) { | ||||
|   return axios({ | ||||
|     url: '/udiwms/thrsys/delThrInvOrder', | ||||
|     method: 'post', | ||||
|     data: query | ||||
|   }) | ||||
| } | ||||
| /** | ||||
|  * 生成单据 | ||||
|  * @param query | ||||
|  * @returns {*} | ||||
|  */ | ||||
| export function generateOrder(query) { | ||||
|   return axios({ | ||||
|     url: '/udiwms/thrsys/generateOrder', | ||||
|     method: 'post', | ||||
|     data: query | ||||
|   }) | ||||
| } | ||||
| 
 | ||||
| @ -0,0 +1,488 @@ | ||||
| <template> | ||||
|   <div> | ||||
|     <el-card> | ||||
|       <el-form :model="filterQuery" size="mini" label-width="100px" v-if="showSearch"> | ||||
|         <el-row> | ||||
|           <el-col :span="8"> | ||||
|             <el-form-item label="单据号:"> | ||||
|               <el-input v-model="filterQuery.billNo" style="width: 90%" placeholder="请输入单据号" clearable></el-input> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           <el-col :span="8"> | ||||
|             <el-form-item label="外部系统:"> | ||||
|               <el-select v-model="filterQuery.thirdSysFk" style="width: 90%" placeholder="请选择第三方系统" | ||||
|                          clearable="true" @change="thirdSysChange"> | ||||
|                 <el-option | ||||
|                   v-for="item in thirdSys" | ||||
|                   :key="item.thirdId" | ||||
|                   :label="item.thirdName" | ||||
|                   :value="item.thirdId"> | ||||
|                   <span style="float: left;font-size: 13px">{{ item.thirdName }}</span> | ||||
|                 </el-option> | ||||
|               </el-select> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           <el-col :span="8"> | ||||
|             <el-form-item label="单据类型:"> | ||||
|               <el-select v-model="filterQuery.billType" style="width: 90%" placeholder="请选择第三方系统单据类型" | ||||
|                          clearable="true"> | ||||
|                 <el-option | ||||
|                   v-for="item in originTypes" | ||||
|                   :key="item.name" | ||||
|                   :label="item.name" | ||||
|                   :value="item.action"> | ||||
|                   <span style="float: left;font-size: 13px">{{ item.name }}</span> | ||||
|                   <span style="float: right; color: #8492a6; font-size: 13px;margin-left: 10px">{{ | ||||
|                       item.thirdSysName | ||||
|                     }}</span> | ||||
|                 </el-option> | ||||
|               </el-select> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
| 
 | ||||
| 
 | ||||
|         </el-row> | ||||
|         <el-row> | ||||
|           <el-col :span="8"> | ||||
|             <el-form-item label="单据日期:"> | ||||
|               <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-col> | ||||
|         </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="getList">查询</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 | ||||
|                 @current-change="handleDetail"> | ||||
|         <el-table-column label="序号" type="index" width="60"></el-table-column> | ||||
|         <el-table-column label="单据号" prop="billNo"></el-table-column> | ||||
|         <el-table-column label="单据时间" prop="billDate"></el-table-column> | ||||
|         <el-table-column label="出入库类型" prop="mainAction"></el-table-column> | ||||
|         <el-table-column label="第三方单据类型" prop="billType"></el-table-column> | ||||
|         <el-table-column label="外部系统" prop="thirdSysFk"></el-table-column> | ||||
|         <el-table-column label="单据状态" prop="status"></el-table-column> | ||||
|         <el-table-column label="操作" width="160"> | ||||
|           <template slot-scope="scope"> | ||||
|             <el-button type="text" @click.native.stop="deleteDialog(scope.row)" | ||||
|             >删除 | ||||
|             </el-button> | ||||
|             <el-button type="text" @click.native.stop="generateBill(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" | ||||
|       /> | ||||
|     </el-card> | ||||
|     <el-card class="el-card"> | ||||
|       <el-table v-loading="loading" :data="detailList" style="width: 100%" border highlight-current-row> | ||||
|         <el-table-column label="序号" type="index" width="120"></el-table-column> | ||||
|         <el-table-column label="物资编码" prop="relId"></el-table-column> | ||||
|         <el-table-column label="第三方项目编码" prop="thrCode"></el-table-column> | ||||
|         <el-table-column label="产品通用名" prop="cpmctymc" show-overflow-tooltip="true"></el-table-column> | ||||
|         <el-table-column label="DI" prop="nameCode" show-overflow-tooltip="true"></el-table-column> | ||||
|         <el-table-column label="规格型号" prop="ggxh" show-overflow-tooltip="true"></el-table-column> | ||||
|         <el-table-column label="批次号" prop="batchNo"></el-table-column> | ||||
|         <el-table-column label="计量单位" prop="measname"></el-table-column> | ||||
|         <el-table-column label="价格" prop="price"></el-table-column> | ||||
|         <el-table-column label="生产日期" prop="productDate"></el-table-column> | ||||
|         <el-table-column label="失效日期" prop="expireDate"></el-table-column> | ||||
| 
 | ||||
|         <el-table-column label="医疗器械注册备案人" prop="ylqxzcrbarmc"></el-table-column> | ||||
|         <el-table-column label="注册/备案号" prop="zczbhhzbapzbh"></el-table-column> | ||||
| 
 | ||||
|         <el-table-column label="入库数量" prop="inCount"></el-table-column> | ||||
|         <el-table-column label="出库数量" prop="outCount"></el-table-column> | ||||
|         <el-table-column label="实际数量" prop="reCount"></el-table-column> | ||||
|         <el-table-column label="操作" width="60"> | ||||
|           <template slot-scope="scope"> | ||||
|             <el-button type="text" @click.native.stop="deleteDetailDialog(scope.row)" | ||||
|             >删除 | ||||
|             </el-button> | ||||
|           </template> | ||||
|         </el-table-column> | ||||
|       </el-table> | ||||
|     </el-card> | ||||
| 
 | ||||
|     <el-dialog | ||||
|       :close-on-click-modal="false" | ||||
|       :close-on-press-escape="false" | ||||
|       title="生成单据" | ||||
|       :visible.sync="thrInvOrderGenerateVisible" | ||||
|       width="60%" | ||||
|       v-if="thrInvOrderGenerateVisible" | ||||
|       :close="closeAddDialog" | ||||
|       class="dialog-two" | ||||
|       top="5vh" | ||||
|     > | ||||
| 
 | ||||
|       <thrInvOrderGenerate | ||||
|         :generateOrderDate=thisData | ||||
|         :originTypes=originTypes | ||||
|         :closeAddDialog="closeAddDialog"> | ||||
|       </thrInvOrderGenerate> | ||||
|     </el-dialog> | ||||
|   </div> | ||||
| </template> | ||||
| <script> | ||||
| import {delThrInvOrder, getThrInvOrders, getThrInvOrderDetails,delThrInvOrderDetail} from "@/api/thrsys/thrInvOrder"; | ||||
| import {getBussinessType} from "@/api/basic/bussinessType"; | ||||
| import {getOriginBusType} from "@/api/basic/busOriginType"; | ||||
| import {getBasicThirdSys, filterDetailByKey} from "@/api/basic/basicThirdSys"; | ||||
| import {selectIp} from "@/api/param/systemParamConfig"; | ||||
| import thrInvOrderGenerate from "@/views/thirdSys/invOrder/thrInvOrderGenerate"; | ||||
| 
 | ||||
| export default { | ||||
|   data() { | ||||
|     return { | ||||
|       thisData:null, | ||||
|       showSearch: true, | ||||
|       filterQuery: { | ||||
|         billType: null, | ||||
|         billNo: "", | ||||
|         // originType: null, | ||||
|         thirdSysFk: "", | ||||
|         page: 1, | ||||
|         limit: 10, | ||||
|         // corpName: null, | ||||
|       }, | ||||
|       thrInvOrderGenerateVisible: false, | ||||
|       total: 0, | ||||
|       thirdSys: [], | ||||
|       thirdSysDetail: null, | ||||
|       busTypes: [], | ||||
|       originTypes: [], | ||||
|       list: [], | ||||
|       detailList: [], | ||||
|       uploadFileUrl: null, | ||||
|       fileList: [], | ||||
|       uploadData: { | ||||
|         thirdSys: "thirdId", | ||||
|       }, | ||||
|       loading: false, | ||||
|       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]); | ||||
|             }, | ||||
|           }, | ||||
|         ], | ||||
|       }, | ||||
|     }; | ||||
|   }, | ||||
|   methods: { | ||||
|     onReset() { | ||||
|       this.$router.push({ | ||||
|         path: "", | ||||
|       }); | ||||
|       this.filterQuery = { | ||||
|         billNo: "", | ||||
|         thirdSysFk: "", | ||||
|         // billFlag: null, | ||||
|         billType: null, | ||||
|         startDate: null, | ||||
|         endDate: null, | ||||
|         page: 1, | ||||
|         limit: 10, | ||||
|         // corpName: null, | ||||
|       }; | ||||
|       this.actDateRange = []; | ||||
|       this.getList(); | ||||
|     }, | ||||
|     hideSearch() { | ||||
|       this.showSearch = !this.showSearch; | ||||
|     }, | ||||
|     getList() { | ||||
|       if (this.filterQuery.thirdSysFk == null) { | ||||
|         this.$message.warning("请先选择第三方系统!") | ||||
|         return; | ||||
|       } | ||||
|       if (this.actDateRange != null) { | ||||
|         this.filterQuery.startDate = this.actDateRange[0]; | ||||
|         this.filterQuery.endDate = this.actDateRange[1]; | ||||
|       } else { | ||||
|         this.filterQuery.startDate = null; | ||||
|         this.filterQuery.endDate = null; | ||||
|       } | ||||
|       this.loading = true; | ||||
|       getThrInvOrders(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); | ||||
|           } | ||||
|           this.loading = false; | ||||
|         }) | ||||
|         .catch(() => { | ||||
|           this.loading = false; | ||||
|           this.list = []; | ||||
|           this.total = 0; | ||||
|         }); | ||||
|     }, | ||||
|     handleDetail(row) { | ||||
|       if (row ==null) return; | ||||
|       let query = {orderIdFk: row.billNo}; | ||||
|       getThrInvOrderDetails(query) | ||||
|         .then((response) => { | ||||
|           if (response.code == 20000) { | ||||
|             this.detailList = response.data.list || []; | ||||
|           } else { | ||||
|             this.$message.error(response.message); | ||||
|           } | ||||
|           this.loading = false; | ||||
|         }) | ||||
|         .catch(() => { | ||||
|           this.loading = false; | ||||
|         }); | ||||
| 
 | ||||
|     }, | ||||
|     generateBill(row){ | ||||
|       this.thisData = row; | ||||
|       this.thrInvOrderGenerateVisible = true; | ||||
|     }, | ||||
|     deleteDialog(row) { | ||||
|       this.$confirm("此操作将永久删除该单据, 是否继续?", "提示", { | ||||
|         confirmButtonText: "确定", | ||||
|         cancelButtonText: "取消", | ||||
|         type: "warning", | ||||
|       }) | ||||
|         .then(() => { | ||||
|           let dQuery = { | ||||
|             billNo: row.billNo, | ||||
|           }; | ||||
|           delThrInvOrder(dQuery) | ||||
|             .then((response) => { | ||||
|               this.loading = false; | ||||
|               if (response.code == 20000) { | ||||
|                 this.$message.success("删除成功"); | ||||
|                 this.getList(); | ||||
|               } else { | ||||
|                 this.$message.error(response.message); | ||||
|               } | ||||
|             }) | ||||
|             .catch(() => { | ||||
|               this.loading = false; | ||||
|             }); | ||||
| 
 | ||||
|         }) | ||||
|         .catch(() => { | ||||
|         }); | ||||
|     }, | ||||
|     deleteDetailDialog(row){ | ||||
|       this.$confirm("此操作将永久删除该单据明细行, 是否继续?", "提示", { | ||||
|         confirmButtonText: "确定", | ||||
|         cancelButtonText: "取消", | ||||
|         type: "warning", | ||||
|       }) | ||||
|         .then(() => { | ||||
|           let dQuery = { | ||||
|             id: row.id, | ||||
|           }; | ||||
|           delThrInvOrderDetail(dQuery) | ||||
|             .then((response) => { | ||||
|               this.loading = false; | ||||
|               if (response.code == 20000) { | ||||
|                 this.$message.success("删除成功"); | ||||
|                 row.billNo = row.orderIdFk; | ||||
|                 this.handleDetail(row); | ||||
|               } else { | ||||
|                 this.$message.error(response.message); | ||||
|               } | ||||
|             }) | ||||
|             .catch(() => { | ||||
|               this.loading = false; | ||||
|             }); | ||||
| 
 | ||||
|         }) | ||||
|         .catch(() => { | ||||
|         }); | ||||
|     }, | ||||
|     getBasicThirdSys() { | ||||
|       let query = { | ||||
|         enabled: true, | ||||
|       }; | ||||
|       getBasicThirdSys(query) | ||||
|         .then((response) => { | ||||
|           this.thirdSys = response.data.list || []; | ||||
|           this.filterQuery.thirdSysFk = this.thirdSys[0].thirdId; | ||||
|           this.uploadData.thirdSys = this.filterQuery.thirdSysFk; | ||||
|           this.selectSysParam(); | ||||
|           this.getThirdSysDetail(); | ||||
|           this.getBusType(); | ||||
|         }) | ||||
|         .catch(() => { | ||||
|           this.loading = false; | ||||
|           this.list = []; | ||||
|         }); | ||||
|     }, | ||||
|     handleChange(response, files, fileList) { | ||||
|       console.log(response); | ||||
|       if (response.code != 20000) { | ||||
|         this.$message.error(response.message); | ||||
|       } else { | ||||
|         console.log(files[0] + "\n" + this.fileList[0] + "\n" + fileList[0]); | ||||
|         this.$message.success("文件上传成功,请稍后刷新查看!"); | ||||
|       } | ||||
|     }, | ||||
|     selectSysParam() { | ||||
|       let query = { | ||||
|         key: "thirdIpUrl", | ||||
|         thirdSysFk: this.filterQuery.thirdSysFk | ||||
|       }; | ||||
|       selectIp(query).then((response) => { | ||||
|         if (response.code == 20000) { | ||||
|           this.uploadFileUrl = response.data.thridUrl + "/udiwms/erp/pi/upload"; | ||||
|         } | ||||
|       }); | ||||
|     }, | ||||
|     thirdSysChange() { | ||||
|       this.uploadData.thirdSys = this.filterQuery.thirdSysFk; | ||||
|       this.getThirdSysDetail(); | ||||
|       this.filterQuery.billAction = ""; | ||||
|       this.getBusType(); | ||||
|     }, | ||||
|     getThirdSysDetail() { | ||||
|       let query = { | ||||
|         thirdSysFk: this.filterQuery.thirdSysFk, | ||||
|         key: "orderQueryUrl", | ||||
|       }; | ||||
|       filterDetailByKey(query) | ||||
|         .then((response) => { | ||||
|           this.thirdSysDetail = response.data; | ||||
|         }) | ||||
|         .catch(() => { | ||||
|           this.loading = false; | ||||
|           this.list = []; | ||||
|         }); | ||||
| 
 | ||||
|     }, | ||||
| 
 | ||||
|     getActionName(action) { | ||||
|       for (let i = 0; i < this.busTypes.length; i++) { | ||||
|         if (this.busTypes[i].action === action) { | ||||
|           return this.busTypes[i].name; | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
| 
 | ||||
|     getlocalName(action) { | ||||
|       for (let i = 0; i < this.busTypes.length; i++) { | ||||
|         if (this.busTypes[i].action === action) { | ||||
|           return this.busTypes[i].localName; | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     getBusType() { | ||||
|       let query = { | ||||
|         enabled: true, | ||||
|         thirdSys: this.filterQuery.thirdSysFk, | ||||
|       }; | ||||
|       getBussinessType(query) | ||||
|         .then((response) => { | ||||
|           this.busTypes = response.data.list || []; | ||||
|           this.getList(); | ||||
|         }) | ||||
|         .catch(() => { | ||||
|         }); | ||||
|       getOriginBusType(query) | ||||
|         .then((response) => { | ||||
|           this.originTypes = response.data.list || []; | ||||
|           // this.filterQuery.originType = this.originTypes[0].action; | ||||
|           // this.getList(); | ||||
|         }) | ||||
|         .catch(() => { | ||||
|         }); | ||||
|     }, | ||||
|     closeAddDialog(val) { | ||||
|       this.thrInvOrderGenerateVisible = false; | ||||
|       if (val) { | ||||
|         this.getList(); | ||||
|       } | ||||
|     }, | ||||
|   }, | ||||
|   components: {thrInvOrderGenerate}, | ||||
|   mounted() { | ||||
|   }, | ||||
|   created() { | ||||
|     this.getBasicThirdSys(); | ||||
|     let end = new Date(); | ||||
|     let start = new Date(); | ||||
|     start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); | ||||
|     this.actDateRange = [start, end]; | ||||
|   }, | ||||
| }; | ||||
| </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,278 @@ | ||||
| <template> | ||||
|   <el-form :model="generateOrderDate" label-width="120px"> | ||||
|     <el-row type="flex"> | ||||
|       <el-col :span="11" type="flex"> | ||||
|         <el-form-item label="来源单据号:" prop="code"> | ||||
|           <el-input style="width: 90%" size="small" placeholder="请输入来源单据号" | ||||
|                     disabled | ||||
|                     v-model.trim="generateOrderDate.billNo"></el-input> | ||||
|         </el-form-item> | ||||
|       </el-col> | ||||
|     </el-row> | ||||
|     <el-row> | ||||
|       <el-col :span="11"> | ||||
|         <el-form-item prop="invCode" label="当前仓库:"> | ||||
|           <el-select | ||||
|             v-model="generateOrderDate.invCode" | ||||
|             placeholder="当前仓库" | ||||
|             style="width: 90%" | ||||
|             :disabled="corpOrderIdDisabled" | ||||
|             @change="changeInv" | ||||
|             filterable | ||||
|           > | ||||
|             <el-option | ||||
|               v-for="item in curInvOptions" | ||||
|               :key="item.name" | ||||
|               :label="item.name" | ||||
|               :value="item.code" | ||||
|             > | ||||
|               <span style="float: left">{{ item.name }}</span> | ||||
|               <span style="float: right; color: #8492a6; font-size: 13px">{{ | ||||
|                   item.warehouseName | ||||
|                 }}</span> | ||||
|             </el-option> | ||||
|           </el-select> | ||||
|         </el-form-item> | ||||
|       </el-col> | ||||
| 
 | ||||
|       <el-col :span="11"> | ||||
|         <el-form-item prop="action" label="单据类型:"> | ||||
|           <el-select | ||||
|             v-model="generateOrderDate.action" | ||||
|             placeholder="请选择单据类型" | ||||
|             :disabled="corpOrderIdDisabled" | ||||
|             style="width: 90%" | ||||
|             filterable | ||||
|             @change="actionChange" | ||||
|           > | ||||
|             <el-option | ||||
|               v-for="item in busTypeOptions" | ||||
|               :key="item.name" | ||||
|               :label="item.name" | ||||
|               :value="item.action" | ||||
|             > | ||||
|               <span style="float: left">{{ item.name }}</span> | ||||
|             </el-option> | ||||
|           </el-select> | ||||
|         </el-form-item> | ||||
|       </el-col> | ||||
|     </el-row> | ||||
|     <el-row type="flex"> | ||||
|       <el-form-item | ||||
|       prop="fromCorp" | ||||
|       label="往来信息:"> | ||||
|       <el-select | ||||
|         v-model="generateOrderDate.fromCorp" | ||||
|         filterable | ||||
|         remote | ||||
|         clearable | ||||
|         reserve-keyword | ||||
|         style="width: 90%" | ||||
|         placeholder="请输入往来信息" | ||||
|         :remote-method="findMethod" | ||||
|         :loading="loading" | ||||
|         :disabled="corpOrderIdDisabled" | ||||
|       > | ||||
|         <el-option | ||||
|           v-for="item in fromOptions" | ||||
|           :key="item.erpId" | ||||
|           :label="item.name" | ||||
|           :value="item.erpId" | ||||
|         > | ||||
|           <span style="float: left">{{ item.name }}</span> | ||||
|         </el-option> | ||||
|       </el-select> | ||||
|       </el-form-item> | ||||
|     </el-row> | ||||
| 
 | ||||
|     <div style='text-align: center; margin-bottom: 10px;'> | ||||
|       <el-button type="primary" @click="generateOrder">提交</el-button> | ||||
|       <el-button type="primary" @click="closeAddDialog">取消</el-button> | ||||
|     </div> | ||||
| 
 | ||||
|   </el-form> | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
| import {generateOrder} from "@/api/thrsys/thrInvOrder"; | ||||
| import { findByFrom, findInvByUser } from '../../../api/system/invSubWarehouse' | ||||
| import { parseTime } from '../../../utils/coTools' | ||||
| import {findByInvUser, getBusTypeList} from "@/api/basic/busType"; | ||||
| import { getBasicUnitMaintains } from '../../../api/basic/basicUnitMaintain' | ||||
| 
 | ||||
| export default { | ||||
|   name: 'thrInvOrderGenerate', | ||||
|   props: { | ||||
|     generateOrderDate: { | ||||
|       type: Object, | ||||
|       required: true, | ||||
|     }, | ||||
|     closeAddDialog: { | ||||
|       type: Function, | ||||
|       required: true, | ||||
|     }, | ||||
|     originTypes: { | ||||
|       type: Object, | ||||
|       required: true, | ||||
|     } | ||||
|   }, | ||||
|   data() { | ||||
|     return { | ||||
|       thirdSys: [], | ||||
|       options: [{ | ||||
|         value: 1, | ||||
|         label: '客户信息' | ||||
|       }, { | ||||
|         value: 2, | ||||
|         label: '供应商信息' | ||||
|       }, | ||||
|         { | ||||
|           value: 3, | ||||
|           label: '内部科室' | ||||
|         }, { | ||||
|           value: 4, | ||||
|           label: '特殊往来' | ||||
|         }], | ||||
| 
 | ||||
|       curInvOptions: [], | ||||
|       fromOptions: [], | ||||
|       busTypeOptions: [], | ||||
|       fromInvOptions: [], | ||||
|       curPreInInvOptions: [],    //预验收仓库 | ||||
|       curPreInSpaceOptions: [],  //预验收货位 | ||||
|       curPreSpaceOptions: [],    //寄售货位 | ||||
|       curSpaceOptions: [], //当前货位 | ||||
|       curAction: { | ||||
|         corpType: 0, | ||||
|         genUnit: false, | ||||
|         checkWebNew: null, | ||||
|         mainAction: null, | ||||
|       } | ||||
|     } | ||||
| 
 | ||||
|   }, | ||||
|   methods:{ | ||||
|     //提交 | ||||
|     generateOrder(){ | ||||
|       generateOrder(this.generateOrderDate).then((res) => { | ||||
|         if (res.code == 20000) { | ||||
|           this.$message.success("生成成功!"); | ||||
|         } else | ||||
|           this.$message.error(res.message); | ||||
|       }).catch((error) => { | ||||
|         this.$message.error(error.message); | ||||
|       }) | ||||
|     }, | ||||
|     //获取用户仓库列表 | ||||
|     findInvListByUser() { | ||||
|       this.curInvOptions = []; | ||||
|       findInvByUser() | ||||
|         .then((response) => { | ||||
|           this.curInvOptions = response.data || []; | ||||
|           if ( | ||||
|             this.curInvOptions != null && | ||||
|             this.curInvOptions.length > 0 && | ||||
|             this.generateOrderDate.invWarehouseCode == null | ||||
|           ) { | ||||
|             //this.orderFormData.invCode = this.curInvOptions[0].code; | ||||
|             this.getBusTypeByInv(); | ||||
|           } | ||||
|         }) | ||||
|         .catch(() => { | ||||
|         }); | ||||
|     }, | ||||
|     //仓库改变 | ||||
|     changeInv(row) { | ||||
|       this.generateOrderDate.action = null; | ||||
|       this.generateOrderDate.checkPreInOrders = null; | ||||
|       this.checkPreInArray = []; | ||||
|       if (this.documentShow) { | ||||
|         this.documentShow = false; | ||||
|       } | ||||
| 
 | ||||
|       this.curSpaceShow = false; | ||||
|       this.preInSpaceShow = false; | ||||
|       this.preSpaceShow = false; | ||||
|       this.generateOrderDate.curSpaceCode = false; | ||||
|       this.generateOrderDate.checkPreInSpaceCode = false; | ||||
|       this.generateOrderDate.preCurSpaceCode = false; | ||||
|       this.getBusTypeByInv(); | ||||
|     }, | ||||
|     //单据类型改变 | ||||
|     actionChange(item) { | ||||
|       this.generateOrderDate.checkPreInOption = null; | ||||
|       this.generateOrderDate.checkPreInOrders = null; | ||||
|       this.checkPreInArray = []; | ||||
|       this.curAction = this.getActionItem(item); | ||||
|       this.bizShow = false; | ||||
|       //2. 切换往来仓库 | ||||
|       this.generateOrderDate.fromInvCode = null; | ||||
|       this.findMethod(); | ||||
|     }, | ||||
|     //根据仓库,用户获取单据类型 | ||||
|     getBusTypeByInv() { | ||||
|       let query = { | ||||
|         code: this.generateOrderDate.invCode, | ||||
|         editType: 2    //可编辑 | ||||
|       }; | ||||
|       findByInvUser(query) | ||||
|         .then((response) => { | ||||
|           this.busTypeOptions = response.data || []; | ||||
|         }) | ||||
|         .catch(() => { | ||||
|         }); | ||||
|     }, | ||||
|     //获取当前单据类型 | ||||
|     getActionItem(action) { | ||||
|       for (let i = 0; i < this.busTypeOptions.length; i++) { | ||||
|         if (this.busTypeOptions[i].action == action) { | ||||
|           return this.busTypeOptions[i]; | ||||
|         } | ||||
|       } | ||||
|     }, | ||||
|     //获取往来单位候选列表 | ||||
|     findMethod(query) { | ||||
|       this.fromOptions = []; | ||||
|       let cQuery = { | ||||
|         key: query, | ||||
|         corpType: 4, | ||||
|         outType: null, | ||||
|         page: 1, | ||||
|         limit: 20, | ||||
|       }; | ||||
|       getBasicUnitMaintains(cQuery) | ||||
|         .then((response) => { | ||||
|           this.loading = false; | ||||
|           this.fromOptions = response.data.list || []; | ||||
|         }) | ||||
|         .catch(() => { | ||||
|           this.loading = false; | ||||
|         }); | ||||
|     }, | ||||
| 
 | ||||
|   }, | ||||
|   created() { | ||||
|     //页面初始化 | ||||
|     this.generateOrderDate.code = ""; | ||||
|     this.generateOrderDate.orderType = this.viewType; | ||||
|       //新增页面 | ||||
|       this.corpOrderIdDisabled = false; | ||||
|       let date = new Date(); | ||||
|       this.generateOrderDate.createTime = parseTime( | ||||
|         date, | ||||
|         "{y}-{m}-{d} {h}:{i}:{s}" | ||||
|       ); | ||||
|       this.generateOrderDate.corpOrderId = | ||||
|         parseTime(date, "{y}{m}{d}{h}{i}{s}") + | ||||
|         Math.ceil(Math.random() * 89 + 10); | ||||
|       this.generateOrderDate.deptCode = this.$store.getters.deptCode; | ||||
|       this.generateOrderDate.invCode = this.$store.getters.locInvCode; | ||||
|       this.findInvListByUser(); | ||||
| 
 | ||||
|     } | ||||
| } | ||||
| </script> | ||||
| 
 | ||||
| <style scoped> | ||||
| 
 | ||||
| </style> | ||||
					Loading…
					
					
				
		Reference in New Issue