ソースを参照

计划规则提交

LAPTOP-16IUEB3P\Lenovo 3 年 前
コミット
95a32b0525

+ 8 - 1
src/api/ruleManagement/matter.js

@@ -50,5 +50,12 @@ export async function removeRule(data) {
 }
 
 
-
+// 获取仓库列表 
+export async function getWarehouseList (params) {
+  const res = await request.get('/wms/warehouse/page',  params );
+  if (res.data.code == 0) {
+    return res.data.data;
+  }
+  return Promise.reject(new Error(res.data.message));
+}
 

+ 2 - 2
src/components/addPatrolConfigDialog/index.vue

@@ -315,7 +315,7 @@ import AddSpareDialog from '@/components/addSpareDialog';
 import {deepClone} from "@/utils";
   import { getRule , getCategory , getAssetList , saveOrUpdate , getInfoById } from '@/api/ruleManagement/plan';
   import {  getDetail , getCode } from '@/api/ruleManagement/matter';
-  import {  listOrganizations , getUserPage } from '@/api/system/organization';
+  import {  getUserPage } from '@/api/system/organization';
   import { getTreeByType } from '@/api/classifyManage';
   import equipmentSelect from '@/components/CommomSelect/equipment-select.vue';
   import deptSelect from '@/components/CommomSelect/dept-select.vue';
@@ -348,7 +348,7 @@ export default {
       selectedMatter: [],
       selectedSpare: [],
       uerList: [],
-      deptList: [],
+      // deptList: [],
       executorList: [],
       currentEquItemIndex: 0,
       formLabel: '',

+ 83 - 159
src/views/rulesManagement/planRules/InventoryConfig/components/addInventoryDialog.vue

@@ -16,15 +16,15 @@
       label-width="110px"
     >
       <el-row :gutter="20">
-<!--        <el-col :span="8">
-          <el-form-item label="计划配置单号" prop="planRuleCode">
+       <el-col :span="8">
+          <el-form-item label="计划配置单号" prop="code">
             <el-input
-              v-model="addForm.planRuleCode"
+              v-model="addForm.code"
               placeholder="自动生成"
               disabled
             ></el-input>
           </el-form-item>
-        </el-col> -->
+        </el-col>
         <el-col :span="8">
           <el-form-item label="计划配置名称" prop="planRuleName">
             <el-input
@@ -41,6 +41,7 @@
               class="w100"
               placeholder="请选择"
                :disabled="isBindPlan"
+			   filterable
             >
               <el-option :value="true" label="是"></el-option>
               <el-option :value="false" label="否"></el-option>
@@ -54,6 +55,7 @@
               class="w100"
               placeholder="请选择规则名称"
                :disabled="isBindPlan"
+			  filterable
             >
               <el-option
                 v-for="item in ruleNameList"
@@ -65,22 +67,6 @@
             </el-select>
           </el-form-item>
         </el-col>
-        <!-- <el-col :span="8">
-          <el-form-item label="关联事项" prop="ruleId">
-            <el-select
-              v-model="addForm.ruleId"
-              class="w100"
-              placeholder="请选择"
-            >
-              <el-option
-                v-for="item in ruleNameList.filter(i => i.status)"
-                :key="item.id"
-                :value="item.id"
-                :label="item.name"
-              ></el-option>
-            </el-select>
-          </el-form-item>
-        </el-col> -->
         <el-col :span="8">
           <el-form-item label="盘点类型" prop="bizType">
             <el-select
@@ -89,6 +75,7 @@
               placeholder="请选择"
               @change="chooseType"
                :disabled="isBindPlan"
+			  filterable
             >
               <el-option
                 v-for="item in wh_checkStatus"
@@ -119,6 +106,7 @@
               class="w100"
               v-model="addForm.bizTypeId"
               :disabled="addForm.bizType == 2||isBindPlan"
+			  filterable
             >
               <el-option
                 v-for="item in warehouseList"
@@ -141,14 +129,14 @@
               size="small"
               style="width: 100%"
                :disabled="isBindPlan"
+			   filterable
             >
-              <el-option
-                v-for="item in uerList"
-                :key="item.userId"
-                :value="item.userId"
-                :label="item.trueName"
-                @click.native="addForm.verifyUserName = item.trueName"
-              ></el-option>
+			  <el-option
+			    v-for="item in uerList"
+			    :key="item.id"
+			    :value="item.id"
+			    :label="item.name"
+			  ></el-option>
             </el-select>
           </el-form-item>
         </el-col>
@@ -161,87 +149,37 @@
         </el-col>
         <el-col :span="8">
           <el-form-item label="资产分类" prop="assetDict">
-            <!-- <el-select
-              class="form-ipt"
-              style="width: 100%"
-              size="small"
-              v-model="addForm.assetDict"
-              placeholder="请选择"
-              @change=""
-               :disabled="isBindPlan"
-            >
-              <el-option
-                v-for="item in warehousingType"
-                :key="item.key"
-                :label="item.label"
-                :value="item.key"
-                @click.native="handleAssetsChange(item)"
-              >
-              </el-option>
-            </el-select> -->
-            <DictSelection
-              dictName="物品类型"
-              :disabled="isBindPlan"
-              clearable
-              v-model="addForm.assetDict"
-              @itemChange="handleAssetsChange"
-            />
+            <DictSelection dictName="类型用途" clearable filterable v-model="addForm.assetDict">
+            </DictSelection>
           </el-form-item>
         </el-col>
         <el-col :span="8" v-if="addForm.isSyncBill">
           <el-form-item label="执行部门" prop="executorDeptCode">
-           <!-- <el-input
-              v-model="addForm.executorDeptCode"
-              v-show="false"  :disabled="isBindPlan"
-            ></el-input>
-            <SelectTree
-              class="form-input"
-              ref="searchTree"
-              :options="deptList"
-              :value="addForm.executorDeptCode"
-              :props="{
-                value: 'code',
-                label: 'name',
-                children: 'children'
-              }"
-              @getValue="searchDeptNodeClick"
-               :isBindPlan="isBindPlan"
-            /> -->
+				<deptSelect v-model="addForm.executorDeptCode" @changeGroup="searchDeptNodeClick"/>
           </el-form-item>
         </el-col>
         <el-col :span="8" v-if="addForm.isSyncBill">
           <el-form-item label="执行人员" prop="executorId">
-            <el-select
-              v-model="addForm.executorId"
-              size="small"
-              style="width: 100%"
-               :disabled="isBindPlan"
-            >
-              <el-option
-                v-for="item in executorList"
-                :key="item.userId"
-                :value="item.userId"
-                :label="item.trueName"
-                @click.native="addForm.executorName = item.trueName"
-              ></el-option>
-            </el-select>
+			  <el-select
+			    v-model="addForm.executorId"
+			    size="small"
+			    style="width: 100%"
+			    :disabled="isBindPlan"
+				filterable
+			  >
+			    <el-option
+			      v-for="item in executorList"
+			      :key="item.id"
+			      :value="item.id"
+			      :label="item.name"
+			    ></el-option>
+			  </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="8">
           <el-form-item label="紧急程度" prop="urgent">
-            <el-select
-              placeholder="请选择"
-              class="w100"
-              v-model="addForm.urgent"
-               :disabled="isBindPlan"
-            >
-              <el-option
-                v-for="item in emergencyState"
-                :key="item.code"
-                :value="item.code"
-                :label="item.label"
-              ></el-option>
-            </el-select>
+			  <DictSelection dictName="紧急程度" clearable filterable v-model="addForm.urgent">
+			  </DictSelection>
           </el-form-item>
         </el-col>
         <el-col :span="8">
@@ -314,20 +252,12 @@
 
 <script>
 import { mapGetters } from 'vuex'
-import {
-  wh_checkStatus,
-  emergencyState,
-  warehousingType
-} from '@/utils/dict/warehouse'
-// import planRules from '@/api/planRules/patrolConfig'
-// import { warehouseListValuable } from '@/api/stockManagement/warehouseDefinition'
-// import dept from '@/api/main/dept'
-// import user from '@/api/main/user'
-// import SelectTree from '@/components/selectTree'
-// import Assets from './assets'
+import { wh_checkStatus} from '@/utils/dict/warehouse'
+import { getCode , getWarehouseList } from '@/api/ruleManagement/matter';
 import AssetsInWarehouse from './AssetsInWarehouse'
-// import { getRuleNo } from '@/utils'
-// import { getRuleNameList } from '@/api/stockManagement/stocking'
+import { getRule } from '@/api/ruleManagement/plan'
+import {  getUserPage } from '@/api/system/organization';
+import deptSelect from '@/components/CommomSelect/dept-select.vue'
 export default {
   props: {
     dialogTile: {
@@ -342,23 +272,21 @@ export default {
     },
   },
   components: { 
-	  // SelectTree, Assets, 
+	deptSelect,
     AssetsInWarehouse 
   },
   data () {
     return {
+	  addDialogLoading:false,
       dialogVisible: false,
       wh_checkStatus, // 盘点类型
-      warehousingType, // 资产分类
       warehouseList: [], // 盘点仓库
-      emergencyState, // 紧急程度
       uerList: [], // 审核人
-      deptList: [], // 执行部门
       executorList: [], // 执行人
       assetsType: null,
       planRuleInventoryDetailList: [],
       addForm: {
-        // planRuleCode: getRuleNo('PD'), // 计划配置单号
+        code: '', // 计划配置单号
         planRuleName: '', // 计划配置名称
         isSyncBill: true, // 是否自动派单
         ruleId: '', // 规则名称
@@ -421,8 +349,8 @@ export default {
         this.getUserList()
         // 获取盘点仓库
         this._getWarehouse()
-        // 获取部门数据
-        this._getDeptList()
+        // 获取计划单号
+        this.getOrderCode()
         // 获取规则名称
         this._getRuleNameList()
       }
@@ -458,22 +386,27 @@ export default {
     }
   },
   computed: {
-    ...mapGetters([
-      'equipmentList',
-      // 'ruleNameList',
-      'planRulesDetails',
-      'addDialogLoading',
-      'addOrUpdate'
-    ])
+    // ...mapGetters([
+    //   'equipmentList',
+    //   // 'ruleNameList',
+    //   'planRulesDetails',
+    //   'addDialogLoading',
+    //   'addOrUpdate'
+    // ])
   },
   methods: {
     // 获取规则名列表
     async _getRuleNameList () {
-      const res = await getRuleNameList({ ruleTypeEm: 'INVENTORY' })
-      if (res?.success) {
-        this.ruleNameList = res.data || []
+      const res = await getRule({status:1,type:4,pageNum:1,size:-1})
+      if (res.list) {
+        this.ruleNameList = res.list || []
       }
     },
+	// 获取计划配置单号
+	async getOrderCode (tips) {
+		const code = await getCode('inventoryconfig_code');
+		this.$set(this.addForm, 'code', code);
+	}, 
     // 关闭弹窗
     handleClose () {
       this.dialogVisible = false
@@ -487,7 +420,7 @@ export default {
       this.addForm.assetsName = ''
       this.assetsType = null
       this.addForm = {
-        // planRuleCode: getRuleNo('PD'), // 计划配置单号
+        code: '', // 计划配置单号
         planRuleName: '', // 计划配置名称
         isSyncBill: null, // 是否自动派单
         ruleId: '', // 规则名称
@@ -512,46 +445,37 @@ export default {
 
     // 封装 - 获取盘点仓库
     async _getWarehouse () {
-      const res = await warehouseListValuable()
-      if (res?.success) {
-        this.warehouseList = res.data.filter(i => !!i.status)
-      }
-    },
-    // 封装 - 获取部门数据
-    async _getDeptList () {
-      try {
-        const tree = await dept.tree()
-        this.deptList = tree.data
-      } catch (error) {}
+	  const params =  {  pageNum: 1 ,size:-1 }
+      const res = await getWarehouseList(params)
+	  this.warehouseList = res.list
     },
+
     //选择部门(搜索)
     searchDeptNodeClick (info) {
       if (info) {
-        this.addForm.executorDeptCode = info.code
-        this.addForm.executorDeptName = info.name
-        // 根据部门获取人员
-        const params = { deptCode: info.code, status: 1 }
-        this.getUserList(params)
+		   const params = { groupId: info }
+		   this.getUserList(params)
       } else {
         this.addForm.executorDeptCode = null
       }
     },
-    // 获取审核人列表、巡点检人员
-    async getUserList (params) {
-      try {
-        let data = { status: 1, page: 1, size: 999999 }
-        // 如果传了参数就是获取巡点检人员数据
-        if (params) {
-          data = Object.assign(data, params)
-        }
-        const res = await user.list(data)
-        if (params) {
-          this.executorList = res.data.items
-        } else {
-          this.uerList = res.data.items
-        }
-      } catch (error) {}
-    },
+	
+	// 获取审核人列表、巡点检人员
+	async getUserList (params) {
+	  try {
+	    let data = {  pageNum: 1 ,size:-1 }
+	    // 如果传了参数就是获取巡点检人员数据
+	    if (params) {
+	      data = Object.assign(data, params)
+	    }
+	    const res = await getUserPage(data)
+	    if (params) {
+	      this.executorList = res.list
+	    } else {
+	      this.uerList = res.list
+	    }
+	  } catch (error) {}
+	},
 
     // 资产分类
     handleAssetsChange (item) {

+ 3 - 26
src/views/rulesManagement/planRules/InventoryConfig/index.vue

@@ -30,17 +30,6 @@
 		     详情
 		   </el-button>
 	     </template>
-<!-- 	     <template v-slot:enable="{ row }">
-	       <el-switch
-	         v-model="row.enable"
-	         active-color="#13ce66"
-	         inactive-color="#ff4949"
-	         :active-value="1"
-	         :inactive-value="0"
-	         @change="changeEnable(row)"
-	       >
-	       </el-switch>
-	     </template> -->
 	     <!-- 操作列 -->
 	     <template v-slot:action="{ row }">
 	       <el-link
@@ -83,7 +72,7 @@
   export default {
     components: {
       InventorySearch,
-	  AddInventoryDialog
+	    AddInventoryDialog
     },
     data () {
       return {
@@ -202,17 +191,6 @@
       datasource({ page, limit, where, order }) {
         return pageRoles({ pageNum: page, size: limit, ...where });
       },
-      async changeEnable(row) {
-        const res = await putRoles(row);
-        if (res.code == 0) {
-          this.$message({
-            type: 'success',
-            message: '修改成功',
-            customClass: 'ele-message-border'
-          });
-          this.reload();
-        }
-      },
       /* 刷新表格 */
       reload(where) {
         this.$refs.table.reload({ page: 1, where });
@@ -222,9 +200,8 @@
 		  this.isBindPlan = false
 		  this.dialogTitle = '新增盘点计划配置'
 		  this.$refs.addInventoryDialogRef.dialogVisible = true
-		  this.$store.dispatch('planRules/setAddOrUpdate', 'add')
-	  },
-	  
+		  // this.$store.dispatch('planRules/setAddOrUpdate', 'add')
+	  },	  
 	  goDetail(){
 		  this.$router.push({
 		    path: '/rulesManagement/planRules/InventoryConfig/detail',