feat: 术士套包、定数包功能开发
							parent
							
								
									f8c3f714b8
								
							
						
					
					
						commit
						9cbb373439
					
				| @ -0,0 +1,430 @@ | ||||
| <template> | ||||
|   <div> | ||||
|     <el-card> | ||||
|       <el-form :model="filterQuery" label-width="100px" size="mini"> | ||||
|         <el-row> | ||||
|           <el-col :span="6"> | ||||
|             <el-form-item label="套包名称:" class="query-form-item"> | ||||
|               <el-input v-model="filterQuery.name" placeholder="请输入套包名称" clearable></el-input> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           <el-col :span="6"> | ||||
|             <el-form-item label="套包编码:" class="query-form-item"> | ||||
|               <el-input v-model="filterQuery.code" placeholder="请输入套包编码" clearable></el-input> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|           <el-col :span="11" offset="1"> | ||||
|             <el-form-item style=""> | ||||
|               <el-button-group> | ||||
|                 <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="handleAddClick">新增</el-button> | ||||
|               </el-button-group> | ||||
|             </el-form-item> | ||||
|           </el-col> | ||||
|         </el-row> | ||||
|       </el-form> | ||||
| 
 | ||||
|       <el-table v-loading="loading" :data="list" @current-change="handleDetail" border highlight-current-row | ||||
|                 style="width: 100%"> | ||||
|         <el-table-column label="序号" type="index"></el-table-column> | ||||
|         <el-table-column label="套包编码" prop="code" width="260"></el-table-column> | ||||
|         <el-table-column label="套包名称" prop="name" width="260"></el-table-column> | ||||
|         <el-table-column label="状态" prop="status" show-overflow-tooltip> | ||||
|           <template slot-scope="scope"> | ||||
|             <el-tag :type="statusFilterType(scope.row.status)">{{ statusMap[scope.row.status] }}</el-tag> | ||||
|           </template> | ||||
|         </el-table-column> | ||||
| <!--        <el-table-column label="备注" prop="remark" width="260"></el-table-column>--> | ||||
|         <el-table-column label="规格" prop="ggxh" width="260"></el-table-column> | ||||
|         <el-table-column label="价格" prop="price" width="260"> | ||||
|           <template slot-scope="scope"> | ||||
|            {{ scope.row.price == "null" ? "0.00":scope.row.price }} | ||||
|           </template> | ||||
|         </el-table-column> | ||||
| <!--        <el-table-column label="单位" prop="unit" width="260"></el-table-column>--> | ||||
|         <el-table-column label="创建人" prop="createByName" width="260"></el-table-column> | ||||
|         <el-table-column label="创建时间" prop="createTime" width="260"></el-table-column> | ||||
|         <el-table-column label="操作" width="220" fixed="right"> | ||||
|           <template slot-scope="scope"> | ||||
|             <el-button type="text" size="small" @click.native.stop="handleModifyClick(scope.row)" :disabled="scope.row.status != 1">编辑</el-button> | ||||
|             <el-button type="text" size="small" @click.native.stop="deleteDialog(scope.row)" :disabled="scope.row.status != 1" >删除</el-button> | ||||
|             <el-button type="text" size="small" @click.native.stop="onSubmitSkSkProject(scope.row)" v-if="scope.row.status == 1">提交</el-button> | ||||
|           </template> | ||||
|         </el-table-column> | ||||
|       </el-table> | ||||
| 
 | ||||
|       <pagination | ||||
|         v-show="total>0" | ||||
|         :total="total" | ||||
|         :limit.sync="filterQuery.limit" | ||||
|         :page.sync="filterQuery.page" | ||||
|         @pagination="handleCurrentChange" | ||||
|       ></pagination> | ||||
|     </el-card> | ||||
| 
 | ||||
|     <el-card> | ||||
|       <el-row> | ||||
|         <el-col :span="24"> | ||||
|           <el-button type="primary" style="float: right;margin-bottom: 12px;margin-right: 20px" size="small" | ||||
|                      icon="search" @click="selectProduct" | ||||
|           v-if="this.delectQuery.id != null ">新增产品 | ||||
|           </el-button> | ||||
|         </el-col> | ||||
|       </el-row> | ||||
| 
 | ||||
|       <el-table v-loading="loading" :data="delectList" border highlight-current-row style="width: 100%"> | ||||
|         <el-table-column label="序号" type="index"></el-table-column> | ||||
|         <el-table-column label="产品DI" prop="nameCode" width="200"></el-table-column> | ||||
|         <el-table-column label="产品编码" prop="thirdId" width="200"></el-table-column> | ||||
|         <el-table-column label="产品名称" prop="cpmctymc" width="200"></el-table-column> | ||||
|         <el-table-column label="规格型号" prop="ggxh"></el-table-column> | ||||
|         <el-table-column label="计量单位" prop="measname"></el-table-column> | ||||
|         <el-table-column label="数量" prop="count"> | ||||
|           <template slot-scope="scope"> | ||||
|             <el-input size="small" v-model="scope.row.count" | ||||
|                       placeholder="请输入数量" style="width: 100%" | ||||
|                       type='number' | ||||
|                       :disabled="scope.row.index !== selectedIndex" | ||||
|                       oninput="value=value.replace(/[^\d]/g,'')"></el-input> | ||||
|           </template> | ||||
|         </el-table-column> | ||||
|         <el-table-column label="价格" prop="price"></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="操作" width="220" > | ||||
|           <template slot-scope="scope"> | ||||
|             <el-button type="text" size="small" :disabled="scope.row.index === selectedIndex" | ||||
|                        @click.native.stop="rowChange(scope.row)">编辑 | ||||
|             </el-button> | ||||
|             <el-button type="text" size="small" :disabled="scope.row.index !== selectedIndex" @click.stop="true" | ||||
|                        @click.native="tableCountChange(scope.row)">保存 | ||||
|             </el-button> | ||||
|             <el-button type="text" size="small" @click.native.stop="delectModifyClick(scope.row)">移除</el-button> | ||||
|           </template> | ||||
|         </el-table-column> | ||||
|       </el-table> | ||||
|       <pagination | ||||
|         v-show="delectTotal>0" | ||||
|         :total="delectTotal" | ||||
|         :limit.sync="delectQuery.limit" | ||||
|         :page.sync="delectQuery.page" | ||||
|         @pagination="handleCurrentDelectChange" | ||||
|       ></pagination> | ||||
|     </el-card> | ||||
| 
 | ||||
|     <el-dialog | ||||
|       :title="formMap[formName]" | ||||
|       :visible.sync="formVisible" | ||||
|       :close-on-click-modal="false" | ||||
|       :close-on-press-escape="false" | ||||
|       width="40%" | ||||
|       :before-close="closeDialog" | ||||
|       v-if="formVisible" | ||||
|     > | ||||
|       <destinyModelEdit | ||||
|         :editQuery="editQuery" | ||||
|         :closeDialog="closeDialog" | ||||
|         :type="2" | ||||
|       ></destinyModelEdit> | ||||
|     </el-dialog> | ||||
| 
 | ||||
| <!--    <el-dialog--> | ||||
| <!--      title="选入产品"--> | ||||
| <!--      :visible.sync="selectFormVisible"--> | ||||
| <!--      :close-on-click-modal="false"--> | ||||
| <!--      :close-on-press-escape="false"--> | ||||
| <!--      width="80%"--> | ||||
| <!--      :before-close="closeDialog"--> | ||||
| <!--      v-if="selectFormVisible"--> | ||||
| <!--    >--> | ||||
| <!--      <destinyModelSelectProduct--> | ||||
| <!--        :editQuery="editQuery"--> | ||||
| <!--        :codeArray="codeArray"--> | ||||
| <!--        :closeDialog="closeDialog"--> | ||||
| <!--      ></destinyModelSelectProduct>--> | ||||
| <!--    </el-dialog>--> | ||||
| 
 | ||||
|     <el-dialog | ||||
|       title="选入产品" | ||||
|       :visible.sync="selectFormVisible" | ||||
|       append-to-body | ||||
|       :close-on-click-modal="false" | ||||
|       :close-on-press-escape="false" | ||||
|       width="80%" | ||||
|       :before-close="closeProudDialog" | ||||
|       v-if="selectFormVisible" | ||||
|     > | ||||
|       <destinySelectProduct | ||||
|         :editQuery="editLogin" | ||||
|         :closeDialog="closeProudDialog" | ||||
|       ></destinySelectProduct> | ||||
|     </el-dialog> | ||||
| 
 | ||||
| 
 | ||||
|   </div> | ||||
| </template> | ||||
| 
 | ||||
| <script> | ||||
| import { | ||||
|   addModeldestiny, | ||||
|   delectModeldestiny, | ||||
|   filterDestinyDelect, | ||||
|   getBasicDestinyfilter, delectModeldestinyProduct, downloadBasicProject, uploadModeldestinyProduct,submitSkSkProject | ||||
| } from "@/api/basic/basicDestinyRel"; | ||||
| import destinyModelEdit from "@/views/basic/destiny/destinyModelEdit"; | ||||
| import destinyModelSelectProduct from "@/views/basic/destiny/destinyModelSelectProduct"; | ||||
| import destinySelectProduct from "@/views/basic/destiny/destinySelectProduct"; | ||||
| 
 | ||||
| 
 | ||||
| export default { | ||||
|   data() { | ||||
|     return { | ||||
|       editLogin: { | ||||
|         id: null, | ||||
|         status: null, | ||||
|         cpmctymc: null, | ||||
|         ids: [], | ||||
|         page: 1, | ||||
|         limit: 10, | ||||
|       }, | ||||
|       filterQuery: { | ||||
|         name: "", | ||||
|         code: "", | ||||
|         type: 2, | ||||
|         page: 1, | ||||
|         limit: 20 | ||||
|       }, | ||||
|       selectedIndex: '', | ||||
|       editType: "", | ||||
|       formVisible: false, | ||||
|       selectFormVisible: false, | ||||
|       loading: false, | ||||
|       formName: "", | ||||
|       total: 0, | ||||
|       list: [], | ||||
|       codeArray: [], | ||||
|       editQuery: {}, | ||||
|       formMap: { | ||||
|         "add": "新增术士套包", | ||||
|         "edit": "编辑术士套包" | ||||
|       }, | ||||
|       statusMap: { | ||||
|         1: "草稿", | ||||
|         2: "未提交", | ||||
|         3: "已提交", | ||||
|       }, | ||||
|       delectQuery: { | ||||
|         id: null, | ||||
|         status: null, | ||||
|         page: 1, | ||||
|         limit: 20 | ||||
|       }, | ||||
|       delectList: [], | ||||
|       delectTotal: 0, | ||||
|     }; | ||||
|   }, | ||||
|   methods: { | ||||
|     statusFilterType(status) { | ||||
|       const statusMap = { | ||||
|         5: 'warning', | ||||
|         1: 'warning', | ||||
|         6: 'danger', | ||||
|         7: 'success' | ||||
|       } | ||||
|       return statusMap[status] | ||||
|     }, | ||||
|     delectModifyClick(row) { | ||||
|       this.$confirm("是否确定移除该产品?", "提示", { | ||||
|         confirmButtonText: "确定", | ||||
|         cancelButtonText: "取消", | ||||
|         type: "warning", | ||||
|       }).then(() => { | ||||
|         this.loading = true; | ||||
|         let tquery = { | ||||
|           id: row.deId | ||||
|         }; | ||||
|         delectModeldestinyProduct(tquery) | ||||
|           .then((response) => { | ||||
|             this.loading = false; | ||||
|             if (response.code === 20000) { | ||||
|               this.filterDestinyDelect(); | ||||
|               this.getList(); | ||||
|               this.selectedIndex = null | ||||
|               this.$message({ | ||||
|                 type: "success", | ||||
|                 message: "删除成功!", | ||||
|               }); | ||||
|             } else { | ||||
|               this.$message.error(response.message); | ||||
|             } | ||||
|           }) | ||||
|           .catch(() => { | ||||
|             this.certLoading = false; | ||||
|           }); | ||||
|       }).catch(() => { | ||||
|       }); | ||||
|     }, | ||||
|     tableCountChange(row) { | ||||
|       if (this.$isNotBlank(row)) { | ||||
|         var query = { | ||||
|           id: row.deId, | ||||
|           count: row.count | ||||
|         } | ||||
|         uploadModeldestinyProduct(query).then((response) => { | ||||
|           if (response.code === 20000) { | ||||
|             this.getList(); | ||||
|             this.selectedIndex = null | ||||
|           } | ||||
|         }).catch(() => { | ||||
|           }); | ||||
|       } | ||||
|     }, | ||||
|     rowChange(val) { | ||||
|       this.selectedIndex = val.index | ||||
|     }, | ||||
|     selectProduct() { | ||||
|       this.editLogin.id = this.delectQuery.id | ||||
|       this.editLogin.status = this.delectQuery.status | ||||
|       this.selectFormVisible = true; | ||||
|     }, | ||||
|     onReset() { | ||||
|       this.$router.push({ | ||||
|         path: "" | ||||
|       }); | ||||
|       this.filterQuery = { | ||||
|         name: "", | ||||
|         code: "", | ||||
|         type: 2, | ||||
|         page: 1, | ||||
|         limit: 20 | ||||
|       }; | ||||
|       this.getList(); | ||||
|     }, | ||||
|     onSubmit() { | ||||
|       this.$router.push({ | ||||
|         path: "", | ||||
|       }); | ||||
|       this.filterQuery.page = 1; | ||||
|       this.getList(); | ||||
|     }, | ||||
|     getList() { | ||||
|       this.loading = true; | ||||
|       getBasicDestinyfilter(this.filterQuery).then(response => { | ||||
|         this.loading = false; | ||||
|         this.list = response.data.list || []; | ||||
|         this.total = response.data.total || 0; | ||||
|       }).catch(() => { | ||||
|         this.loading = false; | ||||
|         this.list = []; | ||||
|         this.total = 0; | ||||
|         this.roles = []; | ||||
|       }); | ||||
|     }, | ||||
|     handleCurrentChange(val) { | ||||
|       this.filterQuery.page = val.page; | ||||
|       this.getList(); | ||||
|     }, | ||||
|     handleCurrentDelectChange(val) { | ||||
|       this.delectQuery.page = val.page; | ||||
|       this.filterDestinyDelect() | ||||
|     }, | ||||
|     handleAddClick() { | ||||
|       this.formName = "add"; | ||||
|       this.formVisible = true; | ||||
|     }, | ||||
|     handleModifyClick(row) { | ||||
|       this.formName = "edit"; | ||||
|       this.formVisible = true; | ||||
|       this.editQuery = row; | ||||
|     }, | ||||
|     onSubmitSkSkProject(row){ | ||||
|       submitSkSkProject(row).then(res => { | ||||
|         if (res.code == 20000) { | ||||
|           this.getList(); | ||||
|           this.$message.success("提交成功!"); | ||||
|         } else { | ||||
|           this.$message.error(res.message); | ||||
|         } | ||||
|       }).catch(() => { | ||||
|         this.$message.error("提交失败!"); | ||||
|       }); | ||||
|     }, | ||||
|     deleteDialog(row) { | ||||
|       this.$confirm("是否确定移除该套包?", "提示", { | ||||
|         confirmButtonText: "确定", | ||||
|         cancelButtonText: "取消", | ||||
|         type: "warning", | ||||
|       }).then(() => { | ||||
|         this.loading = true; | ||||
|         delectModeldestiny(row).then(res => { | ||||
|           if (res.code == 20000) { | ||||
|             this.getList(); | ||||
|             this.$message({ | ||||
|               type: "success", | ||||
|               message: "删除成功!", | ||||
|             }); | ||||
|           } else { | ||||
|             this.$message.error(res.message); | ||||
|           } | ||||
|         }).catch(() => { | ||||
|           this.$message.error("删除失败!"); | ||||
|         }); | ||||
|       }) | ||||
|     }, | ||||
|     selectDialog(row) { | ||||
|       this.selectFormVisible = true; | ||||
|       this.editQuery = row; | ||||
|     }, | ||||
|     closeDialog() { | ||||
|       this.formVisible = false; | ||||
|       this.selectFormVisible = false; | ||||
|       this.getList(); | ||||
|       // this.delectList = [] | ||||
|       this.editQuery = {} | ||||
|     }, | ||||
|     closeProudDialog() { | ||||
|       this.selectFormVisible = false; | ||||
|       this.getList(); | ||||
|       this.filterDestinyDelect(); | ||||
|     }, | ||||
|     handleDetail(row) { | ||||
|       this.delectQuery.id = row.id | ||||
|       this.delectQuery.status = row.status | ||||
|       this.filterDestinyDelect() | ||||
|     }, | ||||
|     filterDestinyDelect() { | ||||
|       filterDestinyDelect(this.delectQuery) | ||||
|         .then((response) => { | ||||
|           this.loading = false; | ||||
|           if (response.code === 20000) { | ||||
|             this.delectList = response.data.list || []; | ||||
|             this.delectTotal = response.data.total || 0; | ||||
|           } else { | ||||
|             this.$message.error(response.message); | ||||
|             this.delectList = []; | ||||
|             this.delectTotal = 0; | ||||
|           } | ||||
|         }) | ||||
|         .catch(() => { | ||||
|           this.loading = false; | ||||
|           this.delectList = []; | ||||
|           this.delectTotal = 0; | ||||
|         }); | ||||
|     }, | ||||
|   } | ||||
|   , | ||||
|   mounted() { | ||||
|   } | ||||
|   , | ||||
|   components: { | ||||
|     destinyModelEdit, destinyModelSelectProduct,destinySelectProduct | ||||
|   } | ||||
|   , | ||||
|   created() { | ||||
|     this.filterQuery.name = this.$route.query.cpmctymc; | ||||
|     this.getList(); | ||||
|   } | ||||
| } | ||||
| ; | ||||
| </script> | ||||
					Loading…
					
					
				
		Reference in New Issue