Selaa lähdekoodia

Merge branch 'purchaseDev' into 'dev'

Purchase dev

See merge request new-business/drp-web!577
黄梓星 1 vuosi sitten
vanhempi
commit
2d24727ccb

+ 5 - 2
src/components/popover-tree-select/index.vue

@@ -103,8 +103,11 @@ export default {
   methods: {
     // open dialog
     async open() {
-      this.visible = true;
-      await this.useReset();
+      let { disabled } = this.$attrs;
+      if (!disabled) {
+        this.visible = true;
+        await this.useReset();
+      }
     },
     // hide dialog
     async hide() {

+ 10 - 2
src/components/super-ux-table/index.vue

@@ -258,6 +258,7 @@ export default {
     // 排序
     onSort(prop) {
       const { key, sort } = prop;
+      console.log(key, "key", sort, "sort");
       this.$nextTick(() => {
         this.$refs.superUxTable.sort(key, sort);
         this.$refs.superUxTable.doLayout();
@@ -425,6 +426,7 @@ export default {
         :title="item.title"
         :fixed="item.fixed ? 'left' : undefined"
         :width="item.width || 180"
+        :sortable="item.sortabled"
         resizable
         show-overflow
       >
@@ -444,11 +446,11 @@ export default {
               {{ item.title }}
             </span>
             <template>
-              <icon-sort
+              <!-- <icon-sort
                 v-if="item.sortabled"
                 v-model="item.sort"
                 @sort="onSort(item)"
-              ></icon-sort>
+              ></icon-sort> -->
               <icon-freeze
                 v-if="item.fixedabled"
                 v-model="item.fixed"
@@ -599,6 +601,12 @@ export default {
   &:hover .icon-hide {
     display: inline-block;
   }
+  .elx-cell--sort {
+    display: none;
+  }
+  &:hover .elx-cell--sort {
+    display: inline-block;
+  }
 }
 
 ::v-deep.uxbeautifyTableClass

+ 1 - 21
src/views/material/changeApply/add/index.vue

@@ -205,10 +205,6 @@ export default {
     //
     async useSubmit(prop) {
       let params = _.cloneDeep(this.params);
-      params.materialBasic = params.materialBasic.map((item) => {
-        delete item.isNewVersion;
-        return item;
-      });
 
       this.handleSubmitValidate(prop, async () => {
         try {
@@ -288,21 +284,7 @@ export default {
       }
       this.changeExpiryDateManagerment(row);
     },
-    visibleChange(val, source) {
-      val &&
-        !source.isNewVersion &&
-        this.$confirm("是否生成新版本?", "提示", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning",
-        })
-          .then(() => {
-            source.isNewVersion = true;
-          })
-          .catch(() => {
-            source.isNewVersion = false;
-          });
-    },
+    
     changeExpiryDateManagerment(row) {
       if (row.expiryDateManagerment === "2") {
         row.usefulLife = "";
@@ -479,7 +461,6 @@ export default {
                 v-model="scope.row[scope.item.key]"
                 :size="$attrs.size"
                 :source.sync="scope.row"
-                @visible-change="(val) => visibleChange(val, scope.row)"
                 @change="changeIsInventoryStatus(scope.row)"
               >
                 <el-option
@@ -518,7 +499,6 @@ export default {
                 :size="$attrs.size"
                 :source.sync="scope.row"
                 :disabled="scope.row.isInventoryStatus !== '0'"
-                @visible-change="(val) => visibleChange(val, scope.row)"
               >
                 <el-option
                   v-for="item in dict.type[scope.attr.dictName]"

+ 81 - 36
src/views/material/changeApply/see/index.vue

@@ -127,19 +127,66 @@ export default {
       this.params = this.$init.params([...TabColumns, ...TableColumns]);
     },
 
+    // 提交
     async handleSubmit() {
-      this.params = { ...this.params, status: "1" };
-      console.log(this.params, "this.params");
+      let params = _.cloneDeep({ ...this.params, status: "1" });
+
+      console.log(params, "params");
       try {
         this.loading = true;
 
-        const { code, msg } = await addChangeList(this.params);
+        const { code, msg } = await addChangeList({
+          ...params,
+          isInventory: "Y",
+        });
 
         if (code == 200) {
           this.hide();
           this.$notify.success({
             message: msg,
           });
+        } else if (code == 10000) {
+          this.$alert(
+            "<div style='overflow: auto;overflow-x: hidden;max-height: 65vh;padding: 10px 20px 0;'>" +
+              msg +
+              "</div>",
+            "提示",
+            {
+              showCancelButton: true,
+              dangerouslyUseHTMLString: true,
+              confirmButtonText: "确认",
+              cancelButtonText: "取消",
+              beforeClose: async (action, instance, done) => {
+                if (action === "confirm") {
+                  instance.confirmButtonLoading = true;
+                  instance.confirmButtonText = "执行中...";
+                  try {
+                    const { code, msg } = await addChangeList({
+                      ...params,
+                      isInventory: "N",
+                    });
+                    if (code == 200) {
+                      done();
+                      this.hide();
+                      this.$notify.success({
+                        message: msg,
+                      });
+                    }
+                  } catch (error) {
+                    instance.confirmButtonText = "确认";
+                  } finally {
+                    instance.confirmButtonLoading = false;
+                  }
+                } else {
+                  done();
+                  this.$notify.warning({
+                    message:
+                      "不允许修改【批号及库存状态管理】或【是否序列号管理】",
+                  });
+                }
+              },
+            }
+          );
         }
       } catch (error) {
       } finally {
@@ -235,41 +282,39 @@ export default {
         :name="item.key"
         lazy
       >
-        
-          <el-super-ux-table
-            v-model="materialInfo[item.key]"
-            :dict="dict"
-            index
-            :ref="tabName"
-            :columns="columns"
-            :size="$attrs.size"
-            :height="420"
+        <el-super-ux-table
+          v-model="materialInfo[item.key]"
+          :dict="dict"
+          index
+          :ref="tabName"
+          :columns="columns"
+          :size="$attrs.size"
+          :height="420"
+        >
+          <template slot="materialName" slot-scope="scope">
+            <component
+              v-bind="scope.attr"
+              v-model="scope.row[scope.item.key]"
+              :size="$attrs.size"
+              :source.sync="scope.row"
+              @change="changeMaterialName(scope)"
+            >
+            </component>
+          </template>
+          <ux-table-column
+            fixed="right"
+            title="操作"
+            width="120"
+            align="center"
           >
-            <template slot="materialName" slot-scope="scope">
-              <component
-                v-bind="scope.attr"
-                v-model="scope.row[scope.item.key]"
-                :size="$attrs.size"
-                :source.sync="scope.row"
-                @change="changeMaterialName(scope)"
-              >
-              </component>
+            <template slot-scope="scope">
+              <AmendantRecord
+                v-if="tabName === 'materialBasic'"
+                v-model="scope.row"
+              ></AmendantRecord>
             </template>
-            <ux-table-column
-              fixed="right"
-              title="操作"
-              width="120"
-              align="center"
-            >
-              <template slot-scope="scope">
-                <AmendantRecord
-                  v-if="tabName === 'materialBasic'"
-                  v-model="scope.row"
-                ></AmendantRecord>
-              </template>
-            </ux-table-column>
-          </el-super-ux-table>
-        
+          </ux-table-column>
+        </el-super-ux-table>
       </el-tab-pane>
     </el-tabs>
   </el-drawer>

+ 1 - 0
src/views/material/requisition/details/columns.js

@@ -504,6 +504,7 @@ export default function useColumns(){
             is: "el-popover-select-v2",
             valueKey: "name",
             referName: "MATERIALTAX_PARAM",
+            readonly:true,
             dataMapping: {
               materialRate: "id",
               rateCode:'code',

+ 13 - 0
src/views/material/requisition/details/index.vue

@@ -639,6 +639,7 @@ export default {
                   v-model="materialReference.name"
                   :source.sync="materialReference"
                   v-bind="materialColums.attr"
+                  :disabled="addType === 'see'"
                   style="width: 100%"
                   @change="materialReferenceChange"
                 >
@@ -828,6 +829,18 @@ export default {
               style="width: 100%"
             ></component>
           </template>
+
+          <!-- DI -->
+          <!-- <template slot="diCode" slot-scope="scope">
+            <component
+              v-bind="scope.attr"
+              v-model="scope.row[scope.item.key]"
+              :size="$attrs.size"
+              :source.sync="scope.row"
+              :disabled="addType === 'see'"
+              style="width: 100%"
+            ></component>
+          </template> -->
         </component>
 
         <!--  -->

+ 8 - 9
src/views/purchase/purchase-order/add/index.vue

@@ -31,8 +31,7 @@ NewTabColumns.forEach((column) => {
 
 export default {
   name: "AddPurchaseOrderDrawer",
-  props: {
-  },
+  props: {},
   dicts: initDicts(SelectColumns),
   components: {
     "virtual-scroll": VirtualScroll,
@@ -205,6 +204,7 @@ export default {
             paymentMoney: "",
             applyPaymentMoney: "",
             erpOrderCode: "",
+            closeReason: "",
           };
 
           try {
@@ -229,6 +229,7 @@ export default {
               this.params[key].forEach((v) => {
                 v.id = "";
                 v.demandCode = "";
+                v.closeReason = "";
                 v["isInvoice"] && (v["isInvoice"] = "N");
                 v["isStorage"] && (v["isStorage"] = "N");
                 v["isArrival"] && (v["isArrival"] = "N");
@@ -504,11 +505,11 @@ export default {
           } else if (
             key != "puOrg" &&
             key != "puOrgName" &&
-            key != "buyer" &&
-            key != "buyerName" &&
-            key != "puDept" &&
-            key != "puDeptName" &&
-            key != "status" &&
+            // key != "buyer" &&
+            // key != "buyerName" &&
+            // key != "puDept" &&
+            // key != "puDeptName" &&
+            // key != "status" &&
             key != "billDate" &&
             key != "createTime"
           ) {
@@ -668,7 +669,6 @@ export default {
         });
 
         if (code == 200) {
-
           this.params = { ...data };
         }
       } catch (error) {}
@@ -696,7 +696,6 @@ export default {
         let { code, data } = await orderApi.orderImport(formData);
 
         if (code == 200) {
-
           for (const key in data) {
             this.params[key].push(...data[key]);
           }

+ 6 - 6
src/views/purchase/purchase-order/edit/index.vue

@@ -435,12 +435,13 @@ export default {
           } else if (
             key != "puOrg" &&
             key != "puOrgName" &&
-            key != "buyer" &&
-            key != "buyerName" &&
-            key != "puDept" &&
-            key != "puDeptName" &&
+            // key != "buyer" &&
+            // key != "buyerName" &&
+            // key != "puDept" &&
+            // key != "puDeptName" &&
             key != "status" &&
-            key != "billDate"
+            key != "billDate" &&
+            key != "createTime"
           ) {
             this.params[key] = "";
           } else {
@@ -653,7 +654,6 @@ export default {
         let { code, data } = await orderApi.orderImport(formData);
 
         if (code == 200) {
-          
           for (const key in data) {
             this.params[key].push(...data[key]);
           }