From fed5c0ec889ad66057c353f93550e6434353a38f Mon Sep 17 00:00:00 2001
From: chenhaozhe <cgz@hz-kingdee.com>
Date: 星期三, 10 十二月 2025 14:20:48 +0800
Subject: [PATCH] 添加 辅助属性 修改 条码生成页面 选源单 模块获取单据 逻辑 调整 调拨申请单 添加 物料 可选辅助属性

---
 src/views/warehouse/transfer/Kf_MoveStockRequestBillList.vue |    2 
 src/store/modules/permission.js                              |   12 ++
 src/views/component/HSourceReportHtml/index.vue              |    2 
 src/views/basic/gyProperty/gyPropertyList.vue                |   46 +++-----
 src/views/warehouse/transfer/Kf_MoveStockRequestBillEdit.vue |  148 +++++++++++++++++++----------
 src/router/index.js                                          |   45 +++++++-
 6 files changed, 163 insertions(+), 92 deletions(-)

diff --git a/src/router/index.js b/src/router/index.js
index 92b2a75..65a99ba 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -584,7 +584,7 @@
     ],
   },
   //#endregion
-  
+
   //#region 鐢熶骇鍏ュ簱鍗�
   {
     path: "/icmo",
@@ -739,7 +739,7 @@
     ],
   },
   //#endregion
-  
+
   //#region 閿�鍞��璐у崟鍒楄〃
   {
     path: "/sell/StockBillMainList/KfICStockBillMainList",
@@ -813,7 +813,7 @@
     ],
   },
   //#endregion 
-  
+
   //#region 鍣ㄥ叿涓绘。
   {
     path: "/scMould/basicModeling/Gy_MouldFile",
@@ -863,7 +863,7 @@
   },
   //#endregion
   //#endregion 
-  
+
   //#region 鍣ㄥ叿浠撳瓨绠$悊
   //#region 鍣ㄥ叿棰嗙敤鐢宠鍗曞垪琛�
   {
@@ -1296,7 +1296,7 @@
     ],
   },
   //#endregion
-  
+
   //#region 浠撲綅
   {
     path: "/basic/gy/gyStockPlace",
@@ -1396,7 +1396,7 @@
   },
   //#endregion
   //#endregion
-  
+
   //#region 鐗╂祦鍩虹璧勬枡
   //#region 椹鹃┒鍛樺垪琛�
   {
@@ -1468,7 +1468,7 @@
   //#endregion
 
   //#endregion
-  
+
   //#region 璐圭敤鍩虹璧勬枡
   //#region 璐圭敤椤圭洰鍒楄〃
   {//src\views\basic\gyItemMoney\gyItemMoney.vue
@@ -1491,6 +1491,27 @@
   },
   //#endregion
   //#endregion
+  
+  //#region 杈呭姪灞炴�у熀纭�璧勬枡
+   {//src\views\basic\gyItemMoney\gyItemMoney.vue
+    path: "/basic",
+    component: Layout,
+    hidden: true,
+    redirect: "noredirect",
+    meta: {
+      breadcrumb: false, // 濡傛灉璁剧疆涓篺alse锛屽垯涓嶄細鍦╞readcrumb闈㈠寘灞戜腑鏄剧ず
+      activeMenu: "/basic/gy", // 褰撹矾鐢辫缃簡璇ュ睘鎬э紝鍒欎細楂樹寒鐩稿搴旂殑渚ц竟鏍忋��
+    },
+    children: [
+      {
+        path: "/basic/gy/gyProperty",
+        component: () => import("@/views/basic/gyProperty/gyPropertyList.vue"),
+        name: "GyProperty",
+        meta: { title: "杈呭姪灞炴�у垪琛�", activeMenu: "basic/gy" },
+      },
+    ],
+  },
+  //#endregion
   //#endregion
 
   //#region 閫氱敤椤甸潰
@@ -1512,7 +1533,7 @@
   //#endregion
   //#endregion
   //#endregion
-  
+
   //#region 鑺傜偣椤甸潰
   {
     path: "/iframe",
@@ -1593,8 +1614,14 @@
         name: "IframeGyCarEdit",
         meta: { title: "杞﹁締缂栬緫", noCache: true, noLoading: true },
       },
+      {
+        path: "GyProperty",
+        component: () => import("@/views/basic/gyProperty/gyPropertyList"), // 杈呭姪灞炴��
+        name: "IframeGyProperty",
+        meta: { title: "杈呭姪灞炴��", noCache: true, noLoading: true },
+      },
     ],
-  }, 
+  },
   //#endregion
 ];
 
diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js
index 7e0a423..96cd1f0 100644
--- a/src/store/modules/permission.js
+++ b/src/store/modules/permission.js
@@ -610,6 +610,18 @@
                     name: "GyCustomer",
                     path: "GyCustomer",
                   },
+                  {
+                    meta: {
+                      icon: "build",
+                      link: null,
+                      noCache: false,
+                      title: "杈呭姪灞炴�у垪琛�",
+                    },
+                    component: () => import("@/views/basic/gyProperty/gyPropertyList.vue"),
+                    hidden: false,
+                    name: "GyProperty",
+                    path: "gyProperty",
+                  },
                 ],
               },
             ],
diff --git a/src/views/basic/gyProperty/gyPropertyList.vue b/src/views/basic/gyProperty/gyPropertyList.vue
index 486fc2b..4edeba4 100644
--- a/src/views/basic/gyProperty/gyPropertyList.vue
+++ b/src/views/basic/gyProperty/gyPropertyList.vue
@@ -8,18 +8,18 @@
       class="searchBox"
     >
       <el-row>
-        <el-form-item label="浠撳簱浠g爜" prop="HNumber" style="padding-left: 100px">
+        <el-form-item label="杈呭姪灞炴�т唬鐮�" prop="HNumber" style="padding-left: 100px">
           <el-input
             v-model="queryParams.HNumber"
-            placeholder="璇疯緭鍏ヤ粨搴撲唬鐮�"
+            placeholder="璇疯緭鍏ヨ緟鍔╁睘鎬т唬鐮�"
             @keyup.enter.native="handleQuery"
             class="ForFilteringSchemes"
           />
         </el-form-item>
-        <el-form-item label="浠撳簱鍚嶇О" prop="HName">
+        <el-form-item label="杈呭姪灞炴�у悕绉�" prop="HName">
           <el-input
             v-model="queryParams.HName"
-            placeholder="璇疯緭鍏ヤ粨搴撳悕绉�"
+            placeholder="璇疯緭鍏ヨ緟鍔╁睘鎬у悕绉�"
             @keyup.enter.native="handleQuery"
             class="ForFilteringSchemes"
           />
@@ -38,15 +38,6 @@
             >
             </el-option>
           </el-select>
-        </el-form-item>
-        <el-form-item label="鍚屾" :inline="true">
-          <el-input
-            v-model="queryParams.HSyncNumber"
-            placeholder="璇疯緭鍏ヤ粨搴撲唬鐮�"
-            @keyup.enter.native="handleSync"
-          >
-            <el-button slot="append" type="primary" @click="handleSync">鍚屾</el-button>
-          </el-input>
         </el-form-item>
       </el-row>
       <el-form-item label-width="78px">
@@ -201,7 +192,7 @@
     </el-form>
 
     <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
+      <!-- <el-col :span="1.5">
         <el-button
           type="primary"
           icon="el-icon-download"
@@ -209,9 +200,9 @@
           @click="handleImport"
           >瀵煎叆</el-button
         >
-      </el-col>
-      <el-col :span="1.5">
-        <el-button
+      </el-col> -->
+       <!-- <el-col :span="1.5">
+       <el-button
           type="primary"
           icon="el-icon-plus"
           size="mini"
@@ -219,8 +210,8 @@
           id="btn-Add"
           >鏂板</el-button
         >
-      </el-col>
-      <el-col :span="1.5">
+      </el-col> -->
+      <!-- <el-col :span="1.5">
         <el-button
           type="primary"
           icon="el-icon-edit"
@@ -229,8 +220,8 @@
           @click="handleEdit((row = rowForm), (OperationType = 3))"
           >缂栬緫</el-button
         >
-      </el-col>
-      <el-col :span="1.5">
+      </el-col> -->
+      <!-- <el-col :span="1.5">
         <el-button
           type="primary"
           icon="el-icon-edit"
@@ -239,7 +230,7 @@
           @click="handleEdit((row = rowForm), (OperationType = 2))"
           >澶嶅埗</el-button
         >
-      </el-col>
+      </el-col> -->
       <el-col :span="1.5">
         <el-button
           type="primary"
@@ -780,11 +771,10 @@
       this.sWhere += "";
       //鐢熶骇璧勬枡鍒楄〃
       axios
-        .get(this.baseURL + "/Gy_WareHouse/listpage", {
+        .get(this.baseURL + "/Gy_Property/listPage", {
           params: {
             sWhere: `${this.sWhere}`,
             user: sessionStorage["HUserName"],
-            Organization: "娴欐睙鏅轰簯杩堟��",
             page: this.page,
             size: this.pageSize,
           },
@@ -1041,7 +1031,7 @@
       this.lastSelectedRowIndex = this.tableData.indexOf(row);
       this.$refs.tableData.toggleRowSelection(row);
       if (this.openPage) {
-        this.$emit("deptEmit", row, 2);
+        this.$emit("deptEmit", row, 'gyProperty');
       }
     },
     //閫変腑琛岄珮浜牱寮�
@@ -1065,7 +1055,7 @@
       }
       this.OperationType = 3;
       if (this.openPage) {
-        this.$emit("deptEmitDb", row, 2);
+        this.$emit("deptEmitDb", row, 'gyProperty');
       } else {
         this.handleEdit(row);
       }
@@ -1175,9 +1165,7 @@
         this.sWhere += " and 浠撳簱鍚嶇О like '%" + this.queryParams.HName + "%'";
       }
       if (this.queryParams.HOrgID) {
-        let OrgName = this.organizationList.find((e) => e.ID == this.queryParams.HOrgID)
-          ?.Name;
-        this.sWhere += " and 缁勭粐鍚嶇О = '" + OrgName + "'";
+        this.sWhere += " and HUSEORGID = '" + this.queryParams.HOrgID + "'";
       }
       // this.sWhere += this.addSWhereByOpenType()
       // this.sWhere += this.getOrgIDByUser()
diff --git a/src/views/component/HSourceReportHtml/index.vue b/src/views/component/HSourceReportHtml/index.vue
index 7f7ec1d..2e02102 100644
--- a/src/views/component/HSourceReportHtml/index.vue
+++ b/src/views/component/HSourceReportHtml/index.vue
@@ -297,7 +297,7 @@
                 }
             }
             // 鍒楄〃
-            axios.get(this.baseURL + "/Sc_BarCode/ReportFromBillList", {
+            axios.get(this.baseURL + "/Sc_BarCode/ReportFromBillList_New", {
                 params: {
                     sWhere: this.sWhere,
                     HSouceBillType: this.HSouceBillType,
diff --git a/src/views/warehouse/transfer/Kf_MoveStockRequestBillEdit.vue b/src/views/warehouse/transfer/Kf_MoveStockRequestBillEdit.vue
index f91d3c1..a1d295e 100644
--- a/src/views/warehouse/transfer/Kf_MoveStockRequestBillEdit.vue
+++ b/src/views/warehouse/transfer/Kf_MoveStockRequestBillEdit.vue
@@ -137,8 +137,8 @@
           </el-row>
           <el-row>
             <el-col :span="6">
-              <el-form-item label="璋冨叆缁勭粐" prop="HSTOCKINORGID">
-                <el-select v-model="form.HSTOCKINORGID" placeholder="璇烽�夋嫨璋冨叆缁勭粐">
+              <el-form-item label="璋冨叆缁勭粐" prop="HSTOCKINORGID" >
+                <el-select v-model="form.HSTOCKINORGID" placeholder="璇烽�夋嫨璋冨叆缁勭粐" :disabled="OperationType == 3">
                   <el-option
                     v-for="(item, index) in organizationList"
                     :key="index"
@@ -151,7 +151,7 @@
             </el-col>
             <el-col :span="6">
               <el-form-item label="璋冨嚭缁勭粐" prop="HSTOCKOUTORGID">
-                <el-select v-model="form.HSTOCKOUTORGID" placeholder="璇烽�夋嫨璋冨叆缁勭粐">
+                <el-select v-model="form.HSTOCKOUTORGID" placeholder="璇烽�夋嫨璋冨叆缁勭粐" :disabled="OperationType == 3">
                   <el-option
                     v-for="(item, index) in organizationList"
                     :key="index"
@@ -300,7 +300,7 @@
               >涓嬬Щ</el-button
             >
           </div>
-          <!-- TODO 鏄庣粏鍒楄〃娣诲姞杈呭姪灞炴�ч�夋嫨 -->
+          <!-- TODO: 鏄庣粏鍒楄〃娣诲姞杈呭姪灞炴�ч�夋嫨 -->
           <el-table
             :data="editData"
             style="width: 100%"
@@ -337,6 +337,16 @@
             <el-table-column align="center" label="璁¢噺鍗曚綅" width="120">
               <template slot-scope="scope">
                 <span>{{ scope.row.璁¢噺鍗曚綅 }}</span>
+              </template>
+            </el-table-column>
+            <el-table-column align="center" label="杈呭姪灞炴��" width="120">
+              <template slot-scope="scope">
+                <el-input
+                  v-model="scope.row.杈呭姪灞炴��"
+                  placeholder="璇疯緭鍏�"
+                  @keyup.native.f7="openDataDialog(7, scope.row)"
+                  @dblclick.native="openDataDialog(7, scope.row)"
+                />
               </template>
             </el-table-column>
             <el-table-column align="center" label="鎹㈢畻鐜�" width="120">
@@ -476,6 +486,12 @@
         :openPage="HModName"
         v-if="materialShow"
       />
+      <GyProperty
+        @deptEmitDb="dbEmitData"
+        @deptEmit="emitData"
+        :openPage="HModName"
+        v-if="propertyShow"
+      />
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="deptClickSub">纭� 瀹�</el-button>
         <el-button @click="deptClose">鍙� 娑�</el-button>
@@ -505,11 +521,20 @@
 import Warehouse from "@/views/basic/gyWarehouse/gyWarehouse.vue";
 import GySupplier from "@/views/basic/gy/gySupplier.vue";
 import Material from "@/views/gyMaterial/GyMaterial.vue";
+import GyProperty from "@/views/basic/gyProperty/gyPropertyList.vue";
 import moment from "moment";
 
 export default {
   name: "Kf_MoveStockRequestBillEdit",
-  components: { Dept, Warehouse, RowSettings, GyEmployee, GySupplier, Material },
+  components: {
+    Dept,
+    Warehouse,
+    RowSettings,
+    GyEmployee,
+    GySupplier,
+    Material,
+    GyProperty,
+  },
   props: {
     OperationType: { type: Number },
     linterid: { type: Number },
@@ -534,6 +559,7 @@
       gyEmployeeShow: false, //閿�鍞憳鏁版嵁缁勪欢
       gySupplierShow: false, //渚涘簲鍟嗘暟鎹粍浠�
       materialShow: false, //鐗╂枡鏁版嵁缁勪欢
+      propertyShow: false, // 杈呭姪灞炴�у熀纭�璧勬枡
       eHWHType: 1, //浠撳簱寮圭獥鍖哄垎鏍囧織
       empType: 1, //鑱屽憳寮圭獥鍖哄垎鏍囧織
       deptform: {}, //寮圭獥閫変腑鏁版嵁
@@ -659,7 +685,7 @@
     //寮圭獥璧嬪��
     dbEmitData(deptRow, num) {
       // num=1閮ㄩ棬 num=2浠撳簱
-      console.log(deptRow);
+      console.log(deptRow, num);
       if (deptRow.HItemID || deptRow.hmainid) {
         if (num == 1) {
           this.form.HDeptName = deptRow.閮ㄩ棬鍚嶇О;
@@ -711,6 +737,12 @@
           this.form.HSupName = deptRow.渚涘簲鍟嗗悕绉�;
           this.form.HSupID = deptRow.HItemID;
           this.gySupplierShow = false;
+          this.openData = false;
+        } else if (num == "gyProperty") {
+          this.editData[this.zbIndex].HPropertyID = deptRow.HItemID;
+          this.editData[this.zbIndex]["杈呭姪灞炴��"] = deptRow["杈呭姪灞炴�у悕绉�"];
+
+          this.propertyShow = false;
           this.openData = false;
         }
       } else {
@@ -836,10 +868,9 @@
       //鏂板鑾峰彇鍗曟嵁鍙�
       this.getHBillNo();
       let date = new Date();
-      this.form.HDate = moment(date).format("YYYY-MM-DDTHH:mm:ss");
-      this.form.HSTOCKOUTORGID = sessionStorage["OrganizationID"];
-      this.form.HSTOCKINORGID = sessionStorage["OrganizationID"];
-      this.form.HSTOCKORGID = sessionStorage["OrganizationID"];
+      this.$set(this.form, "HSTOCKOUTORGID", sessionStorage["OrganizationID"]);
+      this.$set(this.form, "HSTOCKINORGID", sessionStorage["OrganizationID"]);
+      this.$set(this.form, "HDate", moment(date).format("YYYY-MM-DD HH:mm:ss"));
       if (this.OperationType == 1) {
         this.handleAddSysZb();
       }
@@ -880,13 +911,10 @@
             var result = response.data;
             var data = response.data.data;
             console.log(result, data);
-            if (this.copyType == 1) {
-              this.getHBillNo();
-              let date = new Date();
-              this.form.HDate = moment(date).format("YYYY-MM-DDTHH:mm:ss");
-            } else {
-              this.allVal = data[0];
-              this.form = {
+
+            this.allVal = data[0];
+            this.form = {
+              ...{
                 HBillNo: data[0].鍗曟嵁鍙�,
                 HDate: data[0].鏃ユ湡,
                 HDeptName: data[0].閮ㄩ棬,
@@ -917,42 +945,52 @@
                 HCloseDate: data[0].鍏抽棴鏃ユ湡,
                 HUpDateDate: data[0].淇敼鏃ユ湡,
                 HDeleteDate: data[0].浣滃簾鏃ユ湡,
-                HSTOCKOUTORGID: sessionStorage["OrganizationID"],
-                HSTOCKORGID: sessionStorage["OrganizationID"],
-              };
-              //瀛愯〃
-              var rowdata = [];
-              for (let i = 0; i < data.length; i++) {
-                rowdata.push({
-                  HMaterID: data[i].HMaterID,
-                  鐗╂枡浠g爜: data[i].鐗╂枡浠g爜,
-                  鐗╂枡鍚嶇О: data[i].鐗╂枡鍚嶇О,
-                  瑙勬牸鍨嬪彿: data[i].瑙勬牸鍨嬪彿,
-                  HUnitID: data[i].HUnitID,
-                  璁¢噺鍗曚綅: data[i].璁¢噺鍗曚綅,
-                  HSecUnitRate: data[i].鎹㈢畻鐜�,
-                  HSecUnitID: data[i].HSecUnitID,
-                  杈呭姪璁¢噺鍗曚綅: data[i].杈呭姪璁¢噺鍗曚綅,
-                  HQtyMust: data[i].搴旀敹鏁伴噺,
-                  HQty: data[i].瀹炴敹鏁伴噺,
-                  HRemark: data[i].琛ㄤ綋澶囨敞,
-                  HPrice: data[i].鍗曚环,
-                  HMoney: data[i].閲戦,
-                  HOutPrice: data[i].璋冨嚭鍗曚环,
-                  HOutMoney: data[i].璋冨嚭閲戦,
-                  HWHID: data[i].HWHID,
-                  璋冨叆浠撳簱: data[i].璋冨叆浠撳簱,
-                  HSCWHID: data[i].HSCWHID,
-                  璋冨嚭浠撳簱: data[i].璋冨嚭浠撳簱,
-                  HBASEUNITID: data[i].HBASEUNITID,
-                  鍩烘湰璁¢噺鍗曚綅: data[i].鍩烘湰璁¢噺鍗曚綅,
-                  HEXTAUXUNITID: data[i].HEXTAUXUNITID,
-                  杈呭崟浣�: data[i].杈呭崟浣�,
-                  HSTOCKORGID: sessionStorage["OrganizationID"],
-                });
-              }
-              this.editData = rowdata;
+                HSTOCKOUTORGID: data[0].HSTOCKOUTORGID.toString(),
+                HSTOCKINORGID: data[0].HSTOCKINORGID.toString(),
+              },
+            };
+            //瀛愯〃
+            var rowdata = [];
+            for (let i = 0; i < data.length; i++) {
+              rowdata.push({
+                HMaterID: data[i].HMaterID,
+                鐗╂枡浠g爜: data[i].鐗╂枡浠g爜,
+                鐗╂枡鍚嶇О: data[i].鐗╂枡鍚嶇О,
+                瑙勬牸鍨嬪彿: data[i].瑙勬牸鍨嬪彿,
+                HUnitID: data[i].HUnitID,
+                璁¢噺鍗曚綅: data[i].璁¢噺鍗曚綅,
+                HSecUnitRate: data[i].鎹㈢畻鐜�,
+                HSecUnitID: data[i].HSecUnitID,
+                杈呭姪璁¢噺鍗曚綅: data[i].杈呭姪璁¢噺鍗曚綅,
+                HQtyMust: data[i].搴旀敹鏁伴噺,
+                HQty: data[i].瀹炴敹鏁伴噺,
+                HRemark: data[i].琛ㄤ綋澶囨敞,
+                HPrice: data[i].鍗曚环,
+                HMoney: data[i].閲戦,
+                HOutPrice: data[i].璋冨嚭鍗曚环,
+                HOutMoney: data[i].璋冨嚭閲戦,
+                HWHID: data[i].HWHID,
+                璋冨叆浠撳簱: data[i].璋冨叆浠撳簱,
+                HSCWHID: data[i].HSCWHID,
+                璋冨嚭浠撳簱: data[i].璋冨嚭浠撳簱,
+                HBASEUNITID: data[i].HBASEUNITID,
+                鍩烘湰璁¢噺鍗曚綅: data[i].鍩烘湰璁¢噺鍗曚綅,
+                HEXTAUXUNITID: data[i].HEXTAUXUNITID,
+                杈呭崟浣�: data[i].杈呭崟浣�,
+                HSTOCKORGID: data[i]["HSTOCKORGID"],
+                HPropertyID: data[i]["HPropertyID"],
+                杈呭姪灞炴��: data[i]["杈呭姪灞炴��"],
+              });
             }
+            this.editData = rowdata;
+
+            // 娓叉煋瀹屽悗鍐嶅弬涓庢槸鍚﹀鍒剁殑鍒ゆ柇
+            if (this.copyType == 1) {
+              this.getHBillNo();
+              let date = new Date();
+              this.form.HDate = moment(date).format("YYYY-MM-DDTHH:mm:ss");
+            }
+
             this.formShow = true;
             this.formLoading = false;
           }
@@ -997,6 +1035,8 @@
           杈呭崟浣�: "",
           HRemark: "",
           HSTOCKORGID: sessionStorage["OrganizationID"],
+          HPropertyID: 0,
+          杈呭姪灞炴��: "",
         };
         if (index) {
           this.editData.splice(index, 0, obj);
@@ -1176,6 +1216,10 @@
         this.dialogTitle = "渚涘簲鍟嗗垪琛�";
         this.gySupplierShow = true;
         this.openData = true;
+      } else if (num == 7) {
+        this.dialogTitle = "杈呭姪灞炴�у垪琛�";
+        this.propertyShow = true;
+        this.openData = true;
       }
     },
   },
diff --git a/src/views/warehouse/transfer/Kf_MoveStockRequestBillList.vue b/src/views/warehouse/transfer/Kf_MoveStockRequestBillList.vue
index b96e193..620b5c0 100644
--- a/src/views/warehouse/transfer/Kf_MoveStockRequestBillList.vue
+++ b/src/views/warehouse/transfer/Kf_MoveStockRequestBillList.vue
@@ -172,7 +172,7 @@
               <el-checkbox v-model="checked" v-if="item.type == 'checkbox'"></el-checkbox>
               <div :style="item.style">
                 <span v-if="column.property.includes('鏃ユ湡')">{{ parseTime(row[column.property], '{y}-{m}-{d}') }}</span>
-                <el-button type="text" @click="handleEdit(row, OperationType = 3)"
+                <el-button type="text" @click.stop="handleEdit(row, OperationType = 3)"
                   v-else-if="column.property == '鍗曟嵁鍙�'">{{
                     row.鍗曟嵁鍙�
                   }}</el-button>

--
Gitblit v1.9.1