Merge remote-tracking branch 'origin/dev2.0' into dev2.0
						commit
						0f72ded45d
					
				| @ -0,0 +1,56 @@ | |||||||
|  | import axios from "@/utils/request"; | ||||||
|  | 
 | ||||||
|  | export function stockComparePage(params) { | ||||||
|  |   return axios({ | ||||||
|  |     url: "/udiwms/stockCompare/page", | ||||||
|  |     method: "POST", | ||||||
|  |     data: params | ||||||
|  |   }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function selectInvProductDetail(params) { | ||||||
|  |   return axios({ | ||||||
|  |     url: "/udiwms/stockCompare/selectInvProductDetail", | ||||||
|  |     method: "POST", | ||||||
|  |     data: params | ||||||
|  |   }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function stockCompareSave(params) { | ||||||
|  |   return axios({ | ||||||
|  |     url: "/udiwms/stockCompare/save", | ||||||
|  |     method: "POST", | ||||||
|  |     data: params | ||||||
|  |   }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function stockCompareDelete(compareId) { | ||||||
|  |   return axios({ | ||||||
|  |     url: `/udiwms/stockCompare/delete/${compareId}`, | ||||||
|  |     method: "DELETE", | ||||||
|  |   }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function stockCompareAddProduct(params) { | ||||||
|  |   return axios({ | ||||||
|  |     url: "/udiwms/stockCompare/addProduct", | ||||||
|  |     method: "POST", | ||||||
|  |     data: params | ||||||
|  |   }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function stockCompareDetailPage(params) { | ||||||
|  |   return axios({ | ||||||
|  |     url: "/udiwms/stockCompare/detail/page", | ||||||
|  |     method: "POST", | ||||||
|  |     data: params | ||||||
|  |   }); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | export function stockCompareDetailDel(params) { | ||||||
|  |   return axios({ | ||||||
|  |     url: "/udiwms/stockCompare/detail/del", | ||||||
|  |     method: "DELETE", | ||||||
|  |     data: params | ||||||
|  |   }); | ||||||
|  | } | ||||||
| @ -0,0 +1,310 @@ | |||||||
|  | import { | ||||||
|  |   selectInvProductDetail, stockCompareAddProduct, | ||||||
|  |   stockCompareDelete, stockCompareDetailDel, stockCompareDetailPage, | ||||||
|  |   stockComparePage, | ||||||
|  |   stockCompareSave | ||||||
|  | } from "@/api/inventory/stockCompareApi"; | ||||||
|  | import {mainActionMap, stockCompareStatusEnum} from "@/utils/data"; | ||||||
|  | import data from "@/views/system/dict/data.vue"; | ||||||
|  | 
 | ||||||
|  | let filterQuery = { | ||||||
|  |   page: 1, | ||||||
|  |   limit: 10, | ||||||
|  |   id: null, | ||||||
|  |   thrSysId: null, | ||||||
|  |   invCode: null, | ||||||
|  |   mainAction: null, | ||||||
|  |   action: null, | ||||||
|  |   remark: null, | ||||||
|  |   status: null, | ||||||
|  | } | ||||||
|  | let param = { | ||||||
|  |   thrSysId: null, | ||||||
|  |   invCode: null, | ||||||
|  |   action: null, | ||||||
|  |   mainAction: '', | ||||||
|  |   compareDate: [], | ||||||
|  |   compareStartDate: '', | ||||||
|  |   compareEndDate: '', | ||||||
|  |   remark: null, | ||||||
|  | } | ||||||
|  | let selectProductQuery = { | ||||||
|  |   page: 1, limit: 10, compareId: null | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | export default { | ||||||
|  |   computed: { | ||||||
|  |     stockCompareStatusEnum() { | ||||||
|  |       return stockCompareStatusEnum | ||||||
|  |     }, | ||||||
|  |     data() { | ||||||
|  |       return data | ||||||
|  |     }, | ||||||
|  |     mainActionMap() { | ||||||
|  |       return mainActionMap | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       showSearch: true, | ||||||
|  |       compareId: null, | ||||||
|  |       editRow: null, | ||||||
|  |       saveLoading: false, | ||||||
|  |       showDialog: false, | ||||||
|  |       loading: false, | ||||||
|  |       stockCompareDetailLoading: false, | ||||||
|  |       stockCompareDetailList: [], | ||||||
|  |       stockCompareDetailTotal: 0, | ||||||
|  |       stockCompareDetailQuery: { | ||||||
|  |         page: 1, | ||||||
|  |         limit: 10 | ||||||
|  |       }, | ||||||
|  |       // --------选入产品--------------
 | ||||||
|  |       showAddProductDialog: false, | ||||||
|  |       productLoading: false, | ||||||
|  |       productList: [], | ||||||
|  |       checkProductList: [], | ||||||
|  |       productTotal: 0, | ||||||
|  |       // ---------------------------
 | ||||||
|  |       filterQuery: {...filterQuery}, | ||||||
|  |       list: [], | ||||||
|  |       total: 0, | ||||||
|  |       param: {...param}, | ||||||
|  |       selectProductQuery: {...selectProductQuery}, | ||||||
|  |       paramRules: { | ||||||
|  |         thrSysId: [{required: true, message: '第三方系统不能为空', trigger: 'change'}], | ||||||
|  |         invCode: [{required: true, message: '所属仓库不能为空', trigger: 'change'}], | ||||||
|  |         compareDate: [{required: true, message: '对比时间不能为空', trigger: 'change'}], | ||||||
|  |         remark: [{required: true, message: '备注描述不能为空', trigger: 'blur'}], | ||||||
|  | 
 | ||||||
|  |       }, | ||||||
|  |       pickerOptions: { | ||||||
|  |         shortcuts: [{ | ||||||
|  |           text: '最近一周', | ||||||
|  |           onClick(picker) { | ||||||
|  |             let now = new Date(); | ||||||
|  |             const end = new Date(now - 24 * 60 * 60 * 1000); | ||||||
|  |             const start = new Date(now - 24 * 60 * 60 * 1000); | ||||||
|  |             start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); | ||||||
|  |             picker.$emit('pick', [start, end]); | ||||||
|  |           } | ||||||
|  |         }, { | ||||||
|  |           text: '最近一个月', | ||||||
|  |           onClick(picker) { | ||||||
|  |             let now = new Date(); | ||||||
|  |             const end = new Date(now - 24 * 60 * 60 * 1000); | ||||||
|  |             const start = new Date(now - 24 * 60 * 60 * 1000); | ||||||
|  |             start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); | ||||||
|  |             picker.$emit('pick', [start, end]); | ||||||
|  |           } | ||||||
|  |         }, { | ||||||
|  |           text: '最近三个月', | ||||||
|  |           onClick(picker) { | ||||||
|  |             let now = new Date(); | ||||||
|  |             const end = new Date(now - 24 * 60 * 60 * 1000); | ||||||
|  |             const start = new Date(now - 24 * 60 * 60 * 1000); | ||||||
|  |             start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); | ||||||
|  |             picker.$emit('pick', [start, end]); | ||||||
|  |           } | ||||||
|  |         }], | ||||||
|  |         disabledDate(time) { | ||||||
|  |           const now = new Date(); | ||||||
|  |           const oneDayAgo = new Date(now - 24 * 60 * 60 * 1000); | ||||||
|  |           return time.getTime() >= oneDayAgo; | ||||||
|  |         }, | ||||||
|  |         firstDayOfWeek: 1 | ||||||
|  |       }, | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |     this.getList() | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     checkProduct(isAll) { | ||||||
|  |       let param = { | ||||||
|  |         compareId: this.compareId, | ||||||
|  |         isAll: isAll, | ||||||
|  |         productIds: this.checkProductList | ||||||
|  |       } | ||||||
|  |       stockCompareAddProduct(param).then(res => { | ||||||
|  |         if (res.code != 20000) { | ||||||
|  |           this.$message.error(res.message) | ||||||
|  |           return | ||||||
|  |         } | ||||||
|  |         this.$message.success(res.message) | ||||||
|  |         this.showAddProductDialog = false | ||||||
|  |         this.stockCompareDetailQuery.page = 1 | ||||||
|  |         this.getStockCompareDetailList() | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     addProductSelectionChange(row) { | ||||||
|  |       this.checkProductList = row.map(i => { | ||||||
|  |         return {productId: i.productId} | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     //触发对比
 | ||||||
|  |     compareFunc() { | ||||||
|  |       const loading = this.$loading({ | ||||||
|  |         lock: true, | ||||||
|  |         text: 'Loading', | ||||||
|  |         spinner: 'el-icon-loading', | ||||||
|  |         background: 'rgba(0, 0, 0, 0.7)' | ||||||
|  |       }); | ||||||
|  |       setTimeout(() => { | ||||||
|  |         loading.close(); | ||||||
|  |       }, 2000); | ||||||
|  |     }, | ||||||
|  |     showAddProduct() { | ||||||
|  |       this.selectProductQuery = {...selectProductQuery, compareId: this.compareId} | ||||||
|  |       this.productList = [] | ||||||
|  |       this.checkProductList = [] | ||||||
|  |       this.productTotal = 0 | ||||||
|  |       this.showAddProductDialog = true | ||||||
|  |       this.selectInvProductDetailList() | ||||||
|  |     }, | ||||||
|  |     getStockCompareDetailList() { | ||||||
|  |       this.stockCompareDetailQuery.compareId = this.compareId | ||||||
|  |       this.stockCompareDetailLoading = true | ||||||
|  |       stockCompareDetailPage(this.stockCompareDetailQuery).then(res => { | ||||||
|  |         this.stockCompareDetailLoading = false | ||||||
|  |         if (res.code != 20000) { | ||||||
|  |           this.$message.error(res.message) | ||||||
|  |           return | ||||||
|  |         } | ||||||
|  |         this.stockCompareDetailList = res.data.list || [] | ||||||
|  |         this.stockCompareDetailTotal = res.data.total || 0 | ||||||
|  |       }).catch(e => { | ||||||
|  |         this.stockCompareDetailLoading = false | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     selectInvProductDetailList() { | ||||||
|  |       this.productLoading = true | ||||||
|  |       selectInvProductDetail(this.selectProductQuery).then(res => { | ||||||
|  |         this.productLoading = false | ||||||
|  |         if (res.code != 20000) { | ||||||
|  |           this.$message.error(res.message) | ||||||
|  |           return | ||||||
|  |         } | ||||||
|  |         this.productList = res.data.list || [] | ||||||
|  |         this.productTotal = res.data.total || 0 | ||||||
|  |       }).catch(e => { | ||||||
|  |         this.productLoading = false | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     saveStockCompare() { | ||||||
|  |       this.saveLoading = true | ||||||
|  |       this.$refs.stockCompare.validate(valid => { | ||||||
|  |         if (valid) { | ||||||
|  |           this.param.compareStartDate = this.param.compareDate[0] | ||||||
|  |           this.param.compareEndDate = this.param.compareDate[1] | ||||||
|  |           stockCompareSave(this.param).then(res => { | ||||||
|  |             this.saveLoading = false | ||||||
|  |             if (res.code != 20000) { | ||||||
|  |               this.$message.error(res.message) | ||||||
|  |               return | ||||||
|  |             } | ||||||
|  |             this.stockCompareDetailList = [] | ||||||
|  |             this.stockCompareDetailTotal = 0 | ||||||
|  |             this.compareId = res.data | ||||||
|  |             this.editRow = {status: stockCompareStatusEnum.DRAFT.key} | ||||||
|  |           }).catch(e => { | ||||||
|  |             this.saveLoading = false | ||||||
|  |           }) | ||||||
|  |         } | ||||||
|  |         this.saveLoading = false | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     removeDetail(row) { | ||||||
|  |       this.$confirm("此操作将永久移除该条数据,是否继续", "提示", { | ||||||
|  |         confirmButtonText: '确定', | ||||||
|  |         cancelButtonText: '取消', | ||||||
|  |         type: 'warning' | ||||||
|  |       }).then(res => { | ||||||
|  |         let param = { | ||||||
|  |           compareId: row.compareId, | ||||||
|  |           productId: row.productId, | ||||||
|  |           mainAction: row.mainAction, | ||||||
|  |           batchNo: row.batchNo | ||||||
|  |         } | ||||||
|  |         stockCompareDetailDel(param).then(res => { | ||||||
|  |           if (res.code != 20000) { | ||||||
|  |             this.$message.error(res.message) | ||||||
|  |             return | ||||||
|  |           } | ||||||
|  |           this.$message.success(res.message) | ||||||
|  |           this.stockCompareDetailQuery.page = 1 | ||||||
|  |           this.getStockCompareDetailList() | ||||||
|  |         }) | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     del(row) { | ||||||
|  |       this.$confirm("此操作将永久删除该条数据,是否继续", "提示", { | ||||||
|  |         confirmButtonText: '确定', | ||||||
|  |         cancelButtonText: '取消', | ||||||
|  |         type: 'warning' | ||||||
|  |       }).then(res => { | ||||||
|  |         stockCompareDelete(row.id).then(res => { | ||||||
|  |           if (res.code != 20000) { | ||||||
|  |             this.$message.error(res.message) | ||||||
|  |             return | ||||||
|  |           } | ||||||
|  |           this.filterQuery.page = 1 | ||||||
|  |           this.getList() | ||||||
|  |         }) | ||||||
|  |       }) | ||||||
|  |     }, | ||||||
|  |     edit(row) { | ||||||
|  |       this.compareId = row.id | ||||||
|  |       this.editRow = row | ||||||
|  |       this.saveLoading = false | ||||||
|  |       this.param = { | ||||||
|  |         thrSysId: row.thrSysId, | ||||||
|  |         invCode: row.invCode, | ||||||
|  |         action: row.action, | ||||||
|  |         mainAction: row.mainAction, | ||||||
|  |         compareDate: [row.compareStartDate, row.compareEndDate], | ||||||
|  |         compareStartDate: row.compareStartDate, | ||||||
|  |         compareEndDate: row.compareEndDate, | ||||||
|  |         remark: row.remark | ||||||
|  |       } | ||||||
|  |       this.showDialog = true | ||||||
|  |       this.stockCompareDetailQuery.page = 1 | ||||||
|  |       this.stockCompareDetailQuery.limit = 10 | ||||||
|  |       this.stockCompareDetailQuery.compareId = this.compareId | ||||||
|  |       this.getStockCompareDetailList() | ||||||
|  |     }, | ||||||
|  |     add() { | ||||||
|  |       this.param = {...param} | ||||||
|  |       this.compareId = null | ||||||
|  |       this.editRow = null | ||||||
|  |       this.showDialog = true | ||||||
|  |       this.saveLoading = false | ||||||
|  |     }, | ||||||
|  |     hideSearch() { | ||||||
|  |       this.showSearch = !this.showSearch | ||||||
|  |     }, | ||||||
|  |     onReset() { | ||||||
|  |       this.showSearch = true | ||||||
|  |       this.filterQuery = {...filterQuery} | ||||||
|  |     }, | ||||||
|  |     onSubmit() { | ||||||
|  |       this.filterQuery.page = 1 | ||||||
|  |       this.getList() | ||||||
|  |     }, | ||||||
|  |     getList() { | ||||||
|  |       this.loading = true | ||||||
|  |       stockComparePage(this.filterQuery).then(res => { | ||||||
|  |         this.loading = false | ||||||
|  |         if (res.code != 20000) { | ||||||
|  |           this.$message.error(res.message) | ||||||
|  |           return | ||||||
|  |         } | ||||||
|  |         this.list = res.data.list || [] | ||||||
|  |         this.total = res.data.total || 0 | ||||||
|  |       }).catch(res => { | ||||||
|  |         this.loading = false | ||||||
|  |       }) | ||||||
|  |     } | ||||||
|  |   } | ||||||
|  | } | ||||||
| @ -0,0 +1,293 @@ | |||||||
|  | <template> | ||||||
|  |   <div> | ||||||
|  |     <el-card> | ||||||
|  |       <el-form :model="filterQuery" class="query-form" size="mini" label-width="auto" v-show="showSearch"> | ||||||
|  |         <el-row> | ||||||
|  |           <el-col :span="6"> | ||||||
|  |             <el-form-item class="query-form-item" label="记录号:"> | ||||||
|  |               <el-input v-model="filterQuery.id" placeholder="请输入记录号" | ||||||
|  |                         style="width: 90%"></el-input> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |           <el-col :span="6"> | ||||||
|  |             <el-form-item class="query-form-item" label="状态:"> | ||||||
|  |               <el-select v-model="filterQuery.status" @clear="filterQuery.status=null"  placeholder="请选择状态" style="width: 90%" clearable> | ||||||
|  |                 <el-option v-for="item in stockCompareStatusEnum" :key="item.key" :label="item.desc" :value="item.key"/> | ||||||
|  |               </el-select> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |           <el-col :span="6"> | ||||||
|  |             <el-form-item class="query-form-item" label="备注描述:"> | ||||||
|  |               <el-input v-model="filterQuery.remark" clearable placeholder="请输入备注描述" style="width: 90%"/> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |           <el-col :span="6"> | ||||||
|  |             <el-form-item class="query-form-item" label="第三方系统:"> | ||||||
|  |               <thirdSysSelect :value.sync="filterQuery.thrSysId"/> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |           <el-col :span="6"> | ||||||
|  |             <el-form-item class="query-form-item" label="所属仓库:"> | ||||||
|  |               <invSelect :value.sync="filterQuery.invCode"/> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |           <el-col :span="6"> | ||||||
|  |             <el-form-item class="query-form-item" label="出入库类型:"> | ||||||
|  |               <mainActionSelect :value.sync="filterQuery.mainAction"/> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |           <el-col :span="6"> | ||||||
|  |             <el-form-item class="query-form-item" label="单据类型:"> | ||||||
|  |               <actionSelect :value.sync="filterQuery.action" :mainAction="filterQuery.mainAction" | ||||||
|  |                             :invCode="filterQuery.invCode"/> | ||||||
|  |             </el-form-item> | ||||||
|  |           </el-col> | ||||||
|  |         </el-row> | ||||||
|  |       </el-form> | ||||||
|  |       <div class="top-right-btn"> | ||||||
|  |         <el-button-group> | ||||||
|  |           <el-button icon="el-icon-view" type="primary" @click="hideSearch">显示/隐藏搜索栏</el-button> | ||||||
|  |           <el-button | ||||||
|  |             type="primary" | ||||||
|  |             icon="el-icon-refresh" | ||||||
|  |             @click="onReset" | ||||||
|  |           >重置 | ||||||
|  |           </el-button> | ||||||
|  |           <el-button type="primary" icon="el-icon-search" @click="onSubmit" | ||||||
|  |           >查询 | ||||||
|  |           </el-button> | ||||||
|  |           <el-button type="primary" icon="el-icon-plus" @click="add" | ||||||
|  |           >添加 | ||||||
|  |           </el-button> | ||||||
|  |         </el-button-group> | ||||||
|  |       </div> | ||||||
|  |       <el-divider style="margin: 15px"></el-divider> | ||||||
|  | 
 | ||||||
|  |       <el-table | ||||||
|  |         v-loading="loading" | ||||||
|  |         :data="list" | ||||||
|  |         style="width: 100%; margin-top: 20px" | ||||||
|  |         highlight-current-row | ||||||
|  |         border | ||||||
|  |         max-height="300" | ||||||
|  |         height="300"> | ||||||
|  |         <el-table-column label="序号" width="50" type="index"></el-table-column> | ||||||
|  |         <el-table-column label="记录号" width="160" prop="id"/> | ||||||
|  |         <el-table-column label="备注描述" width="160" prop="remark"/> | ||||||
|  |         <el-table-column label="状态" width="80" prop="statusDesc"/> | ||||||
|  |         <el-table-column label="第三方系统" width="160" prop="thrSysName"/> | ||||||
|  |         <el-table-column label="仓库" width="110" prop="invName"/> | ||||||
|  |         <el-table-column label="对比日期区间" width="170"> | ||||||
|  |           <template slot-scope="scope"> | ||||||
|  |             {{ scope.row.compareStartDate }} 至 {{ scope.row.compareEndDate }} | ||||||
|  |           </template> | ||||||
|  |         </el-table-column> | ||||||
|  |         <el-table-column label="出入库类型" width="110" prop="mainAction"> | ||||||
|  |           <template slot-scope="scope"> | ||||||
|  |             {{ mainActionMap[scope.row.mainAction] || '全部' }} | ||||||
|  |           </template> | ||||||
|  |         </el-table-column> | ||||||
|  |         <el-table-column label="单据类型" width="110" prop="actionName"> | ||||||
|  |           <template scope="scope"> | ||||||
|  |             {{ scope.row.actionName || '未选择' }} | ||||||
|  |           </template> | ||||||
|  |         </el-table-column> | ||||||
|  |         <el-table-column label="创建时间" width="160" prop="createTime"/> | ||||||
|  |         <el-table-column label="对比时间" width="160" prop="compareTime"/> | ||||||
|  |         <el-table-column label="操作人" width="110" prop="createUserName"/> | ||||||
|  |         <el-table-column fixed="right" width="100" label="操作"> | ||||||
|  |           <template slot-scope="scope"> | ||||||
|  |             <el-button type="text" @click="edit(scope.row)">编辑</el-button> | ||||||
|  |             <el-button type="text" @click="del(scope.row)">删除</el-button> | ||||||
|  |           </template> | ||||||
|  |         </el-table-column> | ||||||
|  | 
 | ||||||
|  |       </el-table> | ||||||
|  |       <pagination | ||||||
|  |         v-show="total>0" | ||||||
|  |         :total="total" | ||||||
|  |         :limit.sync="filterQuery.limit" | ||||||
|  |         :page.sync="filterQuery.page" | ||||||
|  |         @pagination="getList" | ||||||
|  |       ></pagination> | ||||||
|  |     </el-card> | ||||||
|  | 
 | ||||||
|  |     <el-dialog | ||||||
|  |       append-to-body | ||||||
|  |       :title="compareId?'编辑对比':'新增对比'" | ||||||
|  |       :visible="true" | ||||||
|  |       v-if="showDialog" | ||||||
|  |       @close="showDialog = false;filterQuery.page = 1;getList()" | ||||||
|  |       width="60%" | ||||||
|  |     > | ||||||
|  |       <el-card class="dialogCard"> | ||||||
|  |         <el-form :model="param" ref="stockCompare" :disabled="compareId" :rules="paramRules" class="query-form" | ||||||
|  |                  size="mini" label-width="auto"> | ||||||
|  |           <el-row :gutter="20"> | ||||||
|  |             <el-col :span="12"> | ||||||
|  |               <el-form-item class="query-form-item" prop="thrSysId" label="第三方系统:"> | ||||||
|  |                 <thirdSysSelect :value.sync="param.thrSysId"/> | ||||||
|  |               </el-form-item> | ||||||
|  |             </el-col> | ||||||
|  |             <el-col :span="12"> | ||||||
|  |               <el-form-item class="query-form-item" prop="invCode" label="所属仓库:"> | ||||||
|  |                 <invSelect :value.sync="param.invCode"/> | ||||||
|  |               </el-form-item> | ||||||
|  |             </el-col> | ||||||
|  |             <el-col :span="12"> | ||||||
|  |               <el-form-item class="query-form-item" label="出入库类型:"> | ||||||
|  |                 <mainActionSelect :value.sync="param.mainAction"/> | ||||||
|  |               </el-form-item> | ||||||
|  |             </el-col> | ||||||
|  |             <el-col :span="12"> | ||||||
|  |               <el-form-item class="query-form-item" label="单据类型:"> | ||||||
|  |                 <actionSelect :value.sync="param.action" :mainAction="param.mainAction" :invCode="param.invCode"/> | ||||||
|  |               </el-form-item> | ||||||
|  |             </el-col> | ||||||
|  |             <el-col :span="12"> | ||||||
|  |               <el-form-item class="query-form-item" prop="compareDate" label="对比时间:"> | ||||||
|  |                 <el-date-picker | ||||||
|  |                   style="width: 90%" | ||||||
|  |                   v-model="param.compareDate" | ||||||
|  |                   type="daterange" | ||||||
|  |                   align="right" | ||||||
|  |                   unlink-panels | ||||||
|  |                   value-format="yyyy-MM-dd" | ||||||
|  |                   range-separator="至" | ||||||
|  |                   start-placeholder="开始日期" | ||||||
|  |                   end-placeholder="结束日期" | ||||||
|  |                   :picker-options="pickerOptions"> | ||||||
|  |                 </el-date-picker> | ||||||
|  |               </el-form-item> | ||||||
|  |             </el-col> | ||||||
|  |             <el-col :span="12"> | ||||||
|  |               <el-form-item class="query-form-item" label="备注描述:" prop="remark"> | ||||||
|  |                 <el-input class="w90-percent" type="textarea" v-model="param.remark" | ||||||
|  |                           :autosize="{minRows: 2, maxRows: 6}" show-word-limit clearable :maxlength="500"/> | ||||||
|  |               </el-form-item> | ||||||
|  |             </el-col> | ||||||
|  |           </el-row> | ||||||
|  |           <el-row v-if="!compareId"> | ||||||
|  |             <el-col align="center"> | ||||||
|  |               <el-button @click="saveStockCompare" :loading="saveLoading" type="primary">下一步</el-button> | ||||||
|  |             </el-col> | ||||||
|  |           </el-row> | ||||||
|  |         </el-form> | ||||||
|  |       </el-card> | ||||||
|  |       <el-card v-if="compareId" class="dialogSecCard"> | ||||||
|  |         <el-row v-if="editRow&&editRow.status==stockCompareStatusEnum.DRAFT.key"> | ||||||
|  |           <el-col align="right"> | ||||||
|  |             <el-button icon="el-icon-refresh" @click="stockCompareDetailQuery.page=1;getStockCompareDetailList()">刷新 | ||||||
|  |             </el-button> | ||||||
|  |             <el-button type="primary" @click="showAddProduct">添加产品</el-button> | ||||||
|  |             <el-button type="primary" @click="compareFunc">立即对比</el-button> | ||||||
|  |           </el-col> | ||||||
|  |         </el-row> | ||||||
|  |         <el-row style="margin-top: 10px"> | ||||||
|  |           <el-table v-loading="stockCompareDetailLoading" | ||||||
|  |                     :data="stockCompareDetailList" | ||||||
|  |                     highlight-current-row | ||||||
|  |                     max-height="300" | ||||||
|  |                     height="300"> | ||||||
|  |             <el-table-column label="序号" width="50" type="index"/> | ||||||
|  |             <el-table-column label="最小销售标识" width="110" prop="nameCode"/> | ||||||
|  |             <el-table-column label="产品名称" width="110" prop="productName"/> | ||||||
|  |             <el-table-column label="规格型号" width="110" prop="ggxh"/> | ||||||
|  |             <el-table-column label="出入库类型" width="90" prop="mainAction"> | ||||||
|  |               <template scope="scope"> | ||||||
|  |                 {{ mainActionMap[scope.row.mainAction] }} | ||||||
|  |               </template> | ||||||
|  |             </el-table-column> | ||||||
|  |             <el-table-column label="数量" width="80" prop="count"/> | ||||||
|  |             <el-table-column label="产品描述" width="110" prop="cpms"/> | ||||||
|  |             <el-table-column label="生产厂家" width="110" prop="manufactory"/> | ||||||
|  |             <el-table-column label="医疗器械注册/备案人名称" width="220" prop="ylqxzcrbarmc"/> | ||||||
|  |             <el-table-column label="注册证/备案批准编号" width="220" prop="zczbhhzbapzbh"/> | ||||||
|  |             <el-table-column label="操作" v-if="editRow&&editRow.status==stockCompareStatusEnum.DRAFT.key" width="80" | ||||||
|  |                              fixed="right"> | ||||||
|  |               <template scope="scope"> | ||||||
|  |                 <el-button type="text" @click="removeDetail(scope.row)">移除</el-button> | ||||||
|  |               </template> | ||||||
|  |             </el-table-column> | ||||||
|  |           </el-table> | ||||||
|  |           <pagination | ||||||
|  |             v-show="stockCompareDetailTotal>0" | ||||||
|  |             :total="stockCompareDetailTotal" | ||||||
|  |             :limit.sync="stockCompareDetailQuery.limit" | ||||||
|  |             :page.sync="stockCompareDetailQuery.page" | ||||||
|  |             @pagination="getList" | ||||||
|  |           ></pagination> | ||||||
|  |         </el-row> | ||||||
|  |       </el-card> | ||||||
|  | 
 | ||||||
|  |     </el-dialog> | ||||||
|  | 
 | ||||||
|  |     <el-dialog | ||||||
|  |       :visible="showAddProductDialog" | ||||||
|  |       v-if="showAddProductDialog" | ||||||
|  |       width="60%" | ||||||
|  |       @close="showAddProductDialog=false" | ||||||
|  |     > | ||||||
|  |       <el-card> | ||||||
|  |         <template slot="header"> | ||||||
|  |           <el-row> | ||||||
|  |             <el-col :span="12" align="left">选择产品</el-col> | ||||||
|  |             <el-col :span="12" align="right"> | ||||||
|  |               <el-button icon="el-icon-refresh" @click="selectProductQuery.page = 1;selectInvProductDetailList()">刷新 | ||||||
|  |               </el-button> | ||||||
|  |               <el-button icon="el-icon-check" type="primary" :disabled="!checkProductList.length" | ||||||
|  |                          @click="checkProduct(false)">选中选入 | ||||||
|  |               </el-button> | ||||||
|  |               <el-button icon="el-icon-check" type="primary" @click="checkProduct(true)">结果全部选入</el-button> | ||||||
|  |             </el-col> | ||||||
|  |           </el-row> | ||||||
|  |         </template> | ||||||
|  |         <el-table | ||||||
|  |           v-loading="productLoading" | ||||||
|  |           :data="productList" | ||||||
|  |           ref="addProductTable" | ||||||
|  |           style="width: 100%; margin-top: 20px" | ||||||
|  |           @selection-change="addProductSelectionChange" | ||||||
|  |           @row-click="(row)=>{this.$refs.addProductTable.toggleRowSelection(row)}" | ||||||
|  |           max-height="300" | ||||||
|  |           height="300" | ||||||
|  |         > | ||||||
|  |           <el-table-column label="" width="50" type="selection"/> | ||||||
|  |           <!--          <el-table-column label="序号" width="50" type="index"/>--> | ||||||
|  |           <el-table-column label="最小销售标识" width="120" prop="nameCode"/> | ||||||
|  |           <el-table-column label="产品名称" width="120" prop="cpmctymc"/> | ||||||
|  |           <el-table-column label="规格型号" width="120" prop="ggxh"/> | ||||||
|  |           <el-table-column label="出入库类型" width="90" prop="mainAction"> | ||||||
|  |             <template slot-scope="scope"> | ||||||
|  |               {{ mainActionMap[scope.row.mainAction] }} | ||||||
|  |             </template> | ||||||
|  |           </el-table-column> | ||||||
|  |           <el-table-column label="数量" width="80" prop="count"/> | ||||||
|  |           <el-table-column label="产品描述" width="120" prop="cpms"/> | ||||||
|  |           <el-table-column label="生产厂家" width="110" prop="manufactory"/> | ||||||
|  |           <el-table-column label="医疗器械注册/备案人名称" width="220" prop="ylqxzcrbarmc"/> | ||||||
|  |           <el-table-column label="注册证/备案批准编号" width="220" prop="zczbhhzbapzbh"/> | ||||||
|  |         </el-table> | ||||||
|  |         <pagination | ||||||
|  |           v-show="productTotal>0" | ||||||
|  |           :total="productTotal" | ||||||
|  |           :limit.sync="selectProductQuery.limit" | ||||||
|  |           :page.sync="selectProductQuery.page" | ||||||
|  |           @pagination="selectInvProductDetailList" | ||||||
|  |         ></pagination> | ||||||
|  |       </el-card> | ||||||
|  |     </el-dialog> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  | 
 | ||||||
|  | <script src="./stockCompare.js"/> | ||||||
|  | <style></style> | ||||||
|  | <style scoped> | ||||||
|  | .dialogCard { | ||||||
|  |   margin: -30px -5px 0px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .dialogSecCard { | ||||||
|  |   margin: 5px -5px -10px; | ||||||
|  | } | ||||||
|  | </style> | ||||||
					Loading…
					
					
				
		Reference in New Issue