huang_an 2 سال پیش
والد
کامیت
7a3a795e5f

+ 1 - 1
src/views/warehouseManagement/outgoingManagement/details.vue

@@ -118,7 +118,7 @@
                   <template slot-scope="{ row }">
                     <el-row :gutter="4">
                       <el-col :span="9" v-if="!row.isUnpack">
-                        <el-input type="text" disabled :value="row.outInNum">
+                        <el-input type="text" disabled :value="row.count">
                           <template slot="append">
                             {{ row.measuringUnit }}
                           </template>

+ 4 - 2
src/views/warehouseManagement/outgoingManagement/index.vue

@@ -109,8 +109,10 @@
         </template>
         <!-- 领料人 -->
         <template v-slot:deliveryName="{ row }">
-          <p>{{ getUserName(row.fromUser) }}</p>
-          <p class="col">出库:{{ row.createTime }}</p>
+          <div class="deviceName">
+            <p class="n-p">{{ getUserName(row.fromUser) }}</p>
+            <p class="col">出库:{{ row.createTime }}</p>
+          </div>
         </template>
 
         <template v-slot:bizType="{ row }">

+ 95 - 8
src/views/warehouseManagement/warehouseDefinition/add.vue

@@ -711,6 +711,26 @@
         </div>
       </div>
     </el-card>
+    <!-- 规则货架编号 -->
+    <el-dialog title="规则货架编号" :visible.sync="hjCodeFalg" width="20%">
+      <el-form :model="hjForm">
+        <el-form-item label="规则类型" label-width="100px">
+          <el-radio-group v-model="hjForm.type">
+            <el-radio :label="1">字母</el-radio>
+            <el-radio :label="2">字母+数字</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="规则名称定义" label-width="100px">
+          <el-input v-model="hjForm.code" @input="handleInput"></el-input>
+          <span style="color: #dab8b8">注:只可输入大写A-Z</span>
+        </el-form-item>
+      </el-form>
+
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="hjCodeFalg = false">取 消</el-button>
+        <el-button @click="handleMine" type="primary">确 定</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -788,6 +808,9 @@
         warehouseDefinition_areaType,
         warehouseDefinition_areaAttribute,
         loading: false,
+        hjCodeFalg: false,
+        hjCodeIndex: 0,
+        hjForm: { code: '', type: 1 },
         areaForm: {
           warehouseAreasSaveList: [], //库区
           areaGoodsshelvesList: [], //货架
@@ -923,6 +946,11 @@
       this.getDetail(query.id);
     },
     methods: {
+      handleInput(event) {
+        // 只允许输入 A-Z 的大写字母
+        let filteredValue = this.hjForm.code.replace(/[^A-Z]/g, '');
+        this.hjForm.code = filteredValue;
+      },
       setNUm(row) {
         let result = Number.isNaN(row.extInfo[0].line * row.extInfo[0].column)
           ? ''
@@ -1224,17 +1252,29 @@
           ];
 
         for (var i = 0; i < num; i++) {
+          console.log('wqwqw===》', obj);
           this.areaForm.allocationReqList.push({
             // allocationBarcode: '',
-            code: ``,
+            code: obj.code + '-' + (i + 1),
 
             extInfo: [
               {
-                goodsAllocationWide: '',
-                goodsAllocationHigh: '',
-                goodsAllocationLength: '',
+                goodsAllocationWide: Number(obj.extInfo[0].areaWidth),
+                goodsAllocationHigh: Number(
+                  obj.extInfo[0].areaHigh / Number(obj.extInfo[0].line)
+                ).toFixed(0),
+                goodsAllocationLength: Number(
+                  obj.extInfo[0].areaLength / Number(obj.extInfo[0].column)
+                ).toFixed(0),
                 weightLimit: '',
-                volumeUnit: ''
+                volumeUnit:
+                  Number(
+                    obj.extInfo[0].areaLength / Number(obj.extInfo[0].column)
+                  ).toFixed(0) *
+                  Number(
+                    obj.extInfo[0].areaHigh / Number(obj.extInfo[0].line)
+                  ).toFixed(0) *
+                  Number(obj.extInfo[0].areaWidth)
               }
             ],
             goodsShelvesCode: obj.code,
@@ -1247,6 +1287,7 @@
         }
       },
       saveArea(index) {
+        this.hjForm = { code: '', type: 1 };
         if (
           this.areaForm.warehouseAreasSaveList.filter(
             (item) =>
@@ -1255,7 +1296,13 @@
         ) {
           return this.$message.error('库区编号不能重复!');
         }
-
+        this.hjCodeIndex = index;
+        this.hjCodeFalg = true;
+      },
+      handleMine() {
+        const index = this.hjCodeIndex;
+        const ruleName = this.hjForm.code;
+        // console.log('名称', ruleName + index + 1);
         this.$refs.areaFormName.validate((val) => {
           if (val) {
             this.$set(
@@ -1275,12 +1322,46 @@
             if (pre) {
               preCode = +(pre.code?.substr(1) || 0);
             }
+            let codeEng = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
+            let currentLetterIndex = 0;
+
+            if (ruleName.length > 0) {
+              // 计算初始索引
+              let multiplier = Math.pow(codeEng.length, ruleName.length - 1);
+              for (let i = 0; i < ruleName.length; i++) {
+                currentLetterIndex +=
+                  (codeEng.indexOf(ruleName[i]) + 1) * multiplier;
+                multiplier /= codeEng.length;
+              }
+            }
+
+            for (let i = 0; i < num; i++) {
+              let currentLetter = '';
+
+              // 获取当前字母
+              let index = currentLetterIndex;
+              let dividend = codeEng.length;
+              let remainder;
+              let quotient;
+              let code = '';
+
+              while (index > 0) {
+                remainder = index % dividend;
+                quotient = Math.floor(index / dividend);
+
+                if (remainder === 0) {
+                  remainder = codeEng.length;
+                  quotient--;
+                }
+
+                code = codeEng[remainder - 1] + code;
+                index = quotient;
+              }
 
-            for (var i = 0; i < num; i++) {
               let obj1111 = {
                 reservoirAreaCode: obj.code,
                 warehouseId: this.formData.id,
-                code: ``,
+                code: this.hjForm.type === 1 ? code : ruleName + (i + 1),
                 type: 2,
                 extInfo: [
                   {
@@ -1296,8 +1377,14 @@
                 remark: '',
                 isEdit: true
               };
+
               this.areaForm.areaGoodsshelvesList.push(obj1111);
+
+              currentLetterIndex++; // 自增索引
             }
+
+            this.hjCodeFalg = false;
+            console.log('sasa===qqqq', this.areaForm.areaGoodsshelvesList);
           }
         });
       },