From bd7f9985d283a7950c2a29f4d8a2d027f8b45b9d Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期三, 26 十一月 2025 14:09:44 +0800
Subject: [PATCH] Merge branch 'master' of http://101.37.171.70:10101/r/MES-WEB-VUEUI

---
 src/views/warehouse/shipment/Kf_StockOutRequestBill.vue |  914 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 913 insertions(+), 1 deletions(-)

diff --git a/src/views/warehouse/shipment/Kf_StockOutRequestBill.vue b/src/views/warehouse/shipment/Kf_StockOutRequestBill.vue
index 41a40c8..3fbe2ac 100644
--- a/src/views/warehouse/shipment/Kf_StockOutRequestBill.vue
+++ b/src/views/warehouse/shipment/Kf_StockOutRequestBill.vue
@@ -1 +1,913 @@
-<template></template>
\ No newline at end of file
+<template>
+    <div v-loading="formLoading" v-if="formShow">
+        <div style=" margin-bottom: 10px; border-bottom: 1px solid #f6f6f6;">
+            <el-button type="primary" @click="submitForm" :disabled="subDisabled">淇� 瀛�</el-button>
+            <el-button type="primary" @click="close">閫� 鍑�</el-button>
+            <!-- <el-button @click="cancel">鍙� 娑�</el-button> -->
+        </div>
+        <div style="margin: 10px; font-size: 28px; font-weight: bold; text-align: center;">鍑哄簱鐢宠鍗�</div>
+        <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+            <el-tabs v-model="activeName" type="card">
+                <el-tab-pane label="鍩烘湰淇℃伅" name="first">
+                    <el-row>
+                        <el-col :span="6">
+                            <el-form-item label="鍗曟嵁缂栧彿" prop="HBillNo">
+                                <el-input v-model="form.HBillNo" placeholder="璇疯緭鍏ュ崟鎹紪鍙�" disabled />
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="6">
+                            <el-form-item label="鏃ユ湡" prop="HDate">
+                                <el-date-picker v-model="form.HDate" type="date" placeholder="閫夋嫨鏃ユ湡"
+                                    value-format="yyyy-MM-ddT">
+                                </el-date-picker>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="6">
+                            <el-form-item label="杈呭姪瀛楁" prop="HInnerBillNo">
+                                <el-input v-model="form.HInnerBillNo" placeholder="璇疯緭鍏ヨ緟鍔╁瓧娈�" />
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="6">
+                            <el-form-item label="涓氬姟鍛�" prop="HEmpName">
+                                <el-input v-model="form.HEmpName" placeholder="璇疯緭鍏ヤ笟鍔″憳" disabled>
+                                    <el-button slot="append" icon="el-icon-search"
+                                        @click="openDataDialog(4, zhiyuanType = 'yewuyuan')"></el-button>
+                                </el-input>
+                            </el-form-item>
+                        </el-col>
+                    </el-row>
+                    <el-row>
+                        <el-col :span="6">
+                            <el-form-item label="淇濈鍛�" prop="HKeeperName">
+                                <el-input v-model="form.HKeeperName" placeholder="璇疯緭鍏ヤ繚绠″憳" disabled>
+                                    <el-button slot="append" icon="el-icon-search"
+                                        @click="openDataDialog(4, zhiyuanType = 'baoguanyuan')"></el-button>
+                                </el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="6">
+                            <el-form-item label="涓荤" prop="HMangerName">
+                                <el-input v-model="form.HMangerName" placeholder="璇疯緭鍏ヤ富绠�" disabled>
+                                    <el-button slot="append" icon="el-icon-search"
+                                        @click="openDataDialog(4, zhiyuanType = 'zhuguan')"></el-button>
+                                </el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="6">
+                            <el-form-item label="楠屾敹" prop="HSecManagerName">
+                                <el-input v-model="form.HSecManagerName" placeholder="璇疯緭鍏ラ獙鏀�" disabled>
+                                    <el-button slot="append" icon="el-icon-search"
+                                        @click="openDataDialog(4, zhiyuanType = 'yanshou')"></el-button>
+                                </el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="6">
+                            <el-form-item label="浠撳簱" prop="HWHName">
+                                <el-input v-model="form.HWHName" placeholder="璇疯緭鍏ヤ粨搴�" disabled>
+                                    <el-button slot="append" icon="el-icon-search"
+                                        @click="openDataDialog(2, ckType = 'form')"></el-button>
+                                </el-input>
+                            </el-form-item>
+                        </el-col>
+                    </el-row>
+                    <el-row>
+                        <el-col :span="6">
+                            <el-form-item label="閮ㄩ棬" prop="HDeptName">
+                                <el-input v-model="form.HDeptName" placeholder="璇疯緭鍏ラ儴闂�" disabled>
+                                    <el-button slot="append" icon="el-icon-search"
+                                        @click="openDataDialog(1)"></el-button>
+                                </el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="6">
+                            <el-form-item label="寰�鏉ュ崟浣�" prop="HSupName">
+                                <el-input v-model="form.HSupName" placeholder="璇疯緭鍏ュ線鏉ュ崟浣�" disabled>
+                                    <el-button slot="append" icon="el-icon-search"
+                                        @click="openDataDialog(6)"></el-button>
+                                </el-input>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="12">
+                            <el-form-item label="澶囨敞" prop="HRemark">
+                                <el-input v-model="form.HRemark" placeholder="璇疯緭鍏ュ娉�" />
+                            </el-form-item>
+                        </el-col>
+                    </el-row>
+                </el-tab-pane>
+                <el-tab-pane label="鍒跺崟淇℃伅" name="third">
+                    <el-row>
+                        <el-col :span="6">
+                            <el-form-item label="鍒跺崟浜�" prop="HMaker">
+                                <el-input v-model="form.HMaker" placeholder="璇疯緭鍏ュ埗鍗曚汉" disabled />
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="6">
+                            <el-form-item label="淇敼浜�" prop="HUpDater">
+                                <el-input v-model="form.HUpDater" placeholder="璇疯緭鍏ヤ慨鏀逛汉" disabled />
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="6">
+                            <el-form-item label="瀹℃牳浜�" prop="HChecker">
+                                <el-input v-model="form.HChecker" placeholder="璇疯緭鍏ュ鏍镐汉" disabled />
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="6">
+                            <el-form-item label="鍏抽棴浜�" prop="HCloseMan">
+                                <el-input v-model="form.HCloseMan" placeholder="璇疯緭鍏ュ叧闂汉" disabled />
+                            </el-form-item>
+                        </el-col>
+                    </el-row>
+                    <el-row>
+                        <el-col :span="6">
+                            <el-form-item label="鍒跺崟鏃ユ湡" prop="HMakeDate">
+                                <el-date-picker v-model="form.HMakeDate" type="date" placeholder="閫夋嫨鍒跺崟鏃ユ湡" disabled>
+                                </el-date-picker>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="6">
+                            <el-form-item label="淇敼鏃ユ湡" prop="HUpDateDate">
+                                <el-date-picker v-model="form.HUpDateDate" type="date" placeholder="閫夋嫨瀹℃牳鏃ユ湡" disabled>
+                                </el-date-picker>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="6">
+                            <el-form-item label="瀹℃牳鏃ユ湡" prop="HCheckDate">
+                                <el-date-picker v-model="form.HCheckDate" type="date" placeholder="閫夋嫨瀹℃牳鏃ユ湡" disabled>
+                                </el-date-picker>
+                            </el-form-item>
+                        </el-col>
+                        <el-col :span="6">
+                            <el-form-item label="鍏抽棴鏃ユ湡" prop="HCloseDate">
+                                <el-date-picker v-model="form.HCloseDate" type="date" placeholder="閫夋嫨鍏抽棴鏃ユ湡" disabled>
+                                </el-date-picker>
+                            </el-form-item>
+                        </el-col>
+                    </el-row>
+                    <el-row>
+                        <el-col :span="6">
+                            <el-form-item label="浣滃簾浜�" prop="HDeleteMan">
+                                <el-input v-model="form.HDeleteMan" placeholder="璇疯緭鍏ヤ綔搴熶汉" disabled />
+                            </el-form-item>
+                        </el-col>
+                    </el-row>
+                    <el-row>
+                        <el-col :span="6">
+                            <el-form-item label="浣滃簾鏃ユ湡" prop="HDeleteDate">
+                                <el-date-picker v-model="form.HDeleteDate" type="date" placeholder="閫夋嫨浣滃簾鏃ユ湡" disabled>
+                                </el-date-picker>
+                            </el-form-item>
+                        </el-col>
+                    </el-row>
+                </el-tab-pane>
+            </el-tabs>
+            <div style="margin-bottom: 10px;">
+                <el-button type="success" plain icon="el-icon-plus" @click="handleAddSysZb()"
+                    size="mini">澧炲姞涓�琛�</el-button>
+                <el-button type="success" plain icon="el-icon-plus" @click="handleAddSysZb(zbIndex, 1)"
+                    size="mini">鎻掑叆涓�琛�</el-button>
+                <el-button type="success" plain icon="el-icon-plus" @click="handleCopyZbRow"
+                    size="mini">澶嶅埗涓�琛�</el-button>
+                <el-button type="success" plain icon="el-icon-arrow-up" @click="handleMoveRowUp(zbSelForm)"
+                    size="mini">涓婄Щ</el-button>
+                <el-button type="success" plain icon="el-icon-arrow-down" @click="handleMoveRowDown(zbSelForm)"
+                    size="mini">涓嬬Щ</el-button>
+            </div>
+            <el-table :data="editData" style="width: 100%" height="300" width="100%" ref="zbTable"
+                @selection-change="handleTableZbEdit" :row-class-name="rowSysZbIndex" show-summary border>
+                <el-table-column type="selection" width="55" align="center" />
+                <el-table-column align="center" label="搴忓彿" type="index" width="80" />
+                <el-table-column align="center" label="鐗╂枡浠g爜" width="120">
+                    <template slot-scope="scope">
+                        <el-input v-model="scope.row.鐗╂枡浠g爜" placeholder="璇疯緭鍏ョ墿鏂欎唬鐮�"
+                            @keyup.native.f7="openDataDialog(3, scope.row)"
+                            @dblclick.native="openDataDialog(3, scope.row)" />
+                    </template>
+                </el-table-column>
+                <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">
+                        <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('鍗曚綅椤甸潰杩樻病鏈�', scope.row, dwType = 'jldw')"
+                            @dblclick.native="openDataDialog('鍗曚綅椤甸潰杩樻病鏈�', scope.row, dwType = 'jldw')" />
+                    </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(2, scope.row, ckType = 'zb')"
+                            @dblclick.native="openDataDialog(2, scope.row, ckType = 'zb')" />
+                    </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(9, scope.row)"
+                            @dblclick.native="openDataDialog(9, scope.row)" />
+                    </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('鍗曚綅椤甸潰杩樻病鏈�', scope.row, dwType = 'kcfdw')"
+                            @dblclick.native="openDataDialog('鍗曚綅椤甸潰杩樻病鏈�', scope.row, dwType = 'kcfdw')" />
+                    </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('鍗曚綅椤甸潰杩樻病鏈�', scope.row, dwType = 'jbdw')"
+                            @dblclick.native="openDataDialog('鍗曚綅椤甸潰杩樻病鏈�', scope.row, dwType = 'jbdw')" />
+                    </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('鍗曚綅椤甸潰杩樻病鏈�', scope.row, dwType = 'fdw')"
+                            @dblclick.native="openDataDialog('鍗曚綅椤甸潰杩樻病鏈�', scope.row, dwType = 'fdw')" />
+                    </template>
+                </el-table-column>
+                <el-table-column align="center" label="搴旀敹鏁伴噺" width="120">
+                    <template slot-scope="scope">
+                        <el-input-number v-model="scope.row.HQtyMust" :min="1" style="width: 90px;"
+                            controls-position="right"></el-input-number>
+                    </template>
+                </el-table-column>
+                <el-table-column align="center" label="瀹炴敹鏁伴噺" width="120">
+                    <template slot-scope="scope">
+                        <el-input-number v-model="scope.row.HQty" :min="1" style="width: 90px;"
+                            controls-position="right"></el-input-number>
+                    </template>
+                </el-table-column>
+                <el-table-column align="center" label="鍗曚环" width="120">
+                    <template slot-scope="scope">
+                        <el-input-number v-model="scope.row.HPrice" :min="0" style="width: 90px;"
+                            controls-position="right"></el-input-number>
+                    </template>
+                </el-table-column>
+                <el-table-column align="center" label="閲戦" width="120">
+                    <template slot-scope="scope">
+                        <span>{{ scope.row.HMoney }}</span>
+                    </template>
+                </el-table-column>
+                <el-table-column align="center" label="鎿嶄綔" width="55" fixed="right">
+                    <template slot-scope="scope">
+                        <el-button type="danger" icon="el-icon-delete" size="mini" circle
+                            @click="handleDeleteSysZb(scope.row)"></el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+        </el-form>
+        <!-- 閮ㄩ棬寮圭獥 -->
+        <el-dialog :title="dialogTitle" :visible.sync="openData" width="1280px" append-to-body>
+            <Dept @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="deptShow" />
+            <Warehouse @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="warehouseShow" />
+            <Material @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="materialShow" />
+            <GyEmployee @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gyEmployeeShow" />
+            <GySupplier @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gySupplierShow" />
+            <GyStockPlace @deptEmitDb="dbEmitData" @deptEmit="emitData" :openPage="HModName" v-if="gyStockPlaceShow" />
+            <div slot="footer" class="dialog-footer">
+                <el-button type="primary" @click="deptClickSub">纭� 瀹�</el-button>
+                <el-button @click="deptClose">鍙� 娑�</el-button>
+            </div>
+        </el-dialog>
+        <el-dialog title="闅愯棌鍒楄缃�" :visible.sync="openRowHide" width="816px" append-to-body>
+            <RowSettings :colName="btResList" :HModName="HModName" @rowEditClose="rowSetClose" v-if="rowHideShow" />
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+import axios from 'axios'
+import RowSettings from '@/views/component/rowSettings'
+import Dept from '@/views/basic/gy/gyDepartment.vue'
+import Warehouse from '@/views/basic/gyWarehouse/gyWarehouse.vue'
+import Material from '@/views/gyMaterial/GyMaterial.vue'
+import GyEmployee from '@/views/basic/gyEmployee/gyEmployee.vue'
+import GySupplier from '@/views/basic/gy/gySupplier.vue'
+import GyStockPlace from '@/views/basic/gyStockPlace/gyStockPlace.vue'
+import moment from 'moment';
+
+export default {
+    name: 'Kf_StockOutRequestBill',
+    components: { Dept, Warehouse, Material, RowSettings, GyEmployee, GySupplier, GyStockPlace },
+    props: {
+        OperationType: { type: Number, },
+        linterid: { type: Number, },
+        HSouceBillType: { type: String, },
+        propsData: { type: String, },
+        copyType: { type: Number, },
+    },
+    data() {
+        return {
+            HModName: "Kf_StockOutRequestBill",
+            allVal: undefined,
+            zhiyuanType: '',
+            ckType: '',
+            formShow: false,
+            temp: undefined,
+            formLoading: true,
+            zzSelDis: false,
+            rowHideShow: false,
+            openRowHide: false,
+            hPriceTypeList: ['鎴愭湰浠�', '缁撶畻浠�'],
+            addBtnShow: false,
+            zbIndex: null,
+            zbSelForm: {},//瀛愯〃閫変腑鏁版嵁
+            dialogTypeNum: null,//閮ㄩ棬寮圭獥1锛屼粨搴撳脊绐�2
+            deptShow: false,//閮ㄩ棬鏁版嵁缁勪欢
+            warehouseShow: false,//浠撳簱鏁版嵁缁勪欢
+            materialShow: false,//鐗╂枡鏁版嵁缁勪欢
+            gyEmployeeShow: false,//閿�鍞憳鏁版嵁缁勪欢
+            gySupplierShow: false,
+            gyStockPlaceShow: false,
+            deptform: {},//寮圭獥閫変腑鏁版嵁
+            openData: false,//鏁版嵁寮圭獥
+            dialogTitle: '',
+            organizationList: [],//缁勭粐鍒楄〃
+            subDisabled: false,//缂栬緫椤甸潰淇濆瓨鎸夐挳鏄惁绂佺敤(true绂佺敤锛宖alse鍙敤)
+            // OperationType: this.$route.query.OperationType,//淇濆瓨绫诲瀷锛堟柊澧�1淇敼3锛�
+            HInterID: null,
+            baseURL: process.env.VUE_APP_BASE_API,
+            checkedSysZb: [],
+            editData: [],//閿�鍞嚭搴撳崟瀛愯〃
+            editBtData: [],//瀛愯〃琛ㄥご
+            activeName: 'first',
+            // 寮瑰嚭灞傛爣棰�
+            title: "",
+            // 鏄惁鏄剧ず寮瑰嚭灞�
+            open: false,
+            // 鏃ユ湡鑼冨洿
+            dateRange: [],
+            // 鏌ヨ鍙傛暟
+            queryParams: {
+                HBillNo: '',
+                HInitTimeCycle: 29,
+                HProjectNumber: '',
+                HCusID: null,
+                HMaterNumber: '',
+                HMaterName: '',
+                ColName1: '',
+                ColName2: '',
+                ColName: '',
+                Comparator1: '',
+                Comparator2: '',
+                Comparator: '',
+                ColContent1: '',
+                ColContent2: '',
+                ColContent: '',
+            },
+            // 鏄剧ず鎼滅储鏉′欢
+            showSearch: true,
+            // 閫変腑鏁扮粍
+            ids: [],
+            // 闈炲崟涓鐢�
+            single: true,
+            // 闈炲涓鐢�
+            multiple: true,
+            // 閬僵灞�
+            loading: true,
+            btResList: [],
+            // 琛ㄥ崟鍙傛暟
+            form: {},
+            // 琛ㄥ崟鏍¢獙
+            rules: {
+
+                HDate: [
+                    { required: true, message: "鏃ユ湡涓嶈兘涓虹┖", trigger: "blur" }
+                ],
+                HExRate: [
+                    { required: true, message: "姹囩巼涓嶈兘涓虹┖", trigger: "blur" }
+                ]
+            }
+        };
+    },
+    created() {
+        this.fetchData()
+        this.getdata()
+    },
+    methods: {
+        fetchData() {
+            axios.get(this.baseURL + "/Web/GetOrganizations", {
+            }).then(response => {
+                if (response.data.count == 1) {
+                    this.organizationList = response.data.data;//缁勭粐鍒楄〃
+                }
+            }).catch(error => {
+                this.$modal.msgError("鎺ュ彛璇锋眰澶辫触!");
+            });
+        },
+        getdata() {
+            this.formShow = false
+            this.formLoading = true
+            if ((this.OperationType == 1 && this.copyType != 1) || (!this.OperationType && !this.copyType)) {
+                this.handleAdd()
+            } else if (this.OperationType == 3 || this.copyType == 1) {
+                this.handleUpdate()
+            }
+        },
+        // 鑾峰彇鍙傛暟_浼犻�掔殑JSON鏍煎紡鍙傛暟
+        getUrlVars_JSON() {
+            var datajson;
+            var str = this.propsData; //鑾峰彇閾炬帴涓紶閫掔殑鍙傛暟
+            var arr = str.substring(str.lastIndexOf("=") + 1);
+            datajson = JSON.parse(decodeURI(arr));
+            return datajson;
+        },
+        //鏍规嵁涓诲唴鐮佷笌瀛愬唴鐮佽幏鍙栨簮鍗曢攢鍞鍗曟暟鎹�
+        getPushSourceBillInit(HSourceInterID, HSourceEntryID) {
+            axios.get(this.baseURL + '/Xs_SeOrderBill/loadXs_SeOrderBill_Push', {
+                params: {
+                    "HInterID": HSourceInterID
+                    , "HSubID": HSourceEntryID
+                },
+            }).then(response => {
+                let result = response.data
+                if (result.code == 1) { // 璇存槑楠岃瘉鎴愬姛浜嗭紝
+                    this.temp = result.data[0];
+                } else {
+                    this.temp = result.data;
+                }
+            }).catch(error => {
+                this.$modal.msgError("鎺ュ彛璇锋眰澶辫触!");
+            });
+        },
+        handleRowHide() {
+            this.rowHideShow = true
+            this.openRowHide = true
+        },
+        rowSetClose(val) {
+            this.rowHideShow = false
+            this.openRowHide = val
+        },
+
+        organizationChange(val) {
+            // let options=undefined
+            //  this.form=this.organizationList.find(option => option.ID === val)?.Name || '';
+        },
+        //閮ㄩ棬寮圭獥璧嬪��
+        dbEmitData(deptRow, num) {
+            // num=1閮ㄩ棬 num=2鍑哄簱浠撳簱
+            if (deptRow.HItemID) {
+                if (num == 1) {
+                    this.form.HDeptName = deptRow.閮ㄩ棬鍚嶇О
+                    this.form.HDeptID = deptRow.HItemID
+                    this.deptShow = false
+                    this.openData = false
+                } else if (num == 2) {
+                    if (this.ckType == 'form') {
+                        this.form.HWHID = deptRow.HItemID;
+                        this.form.HWHName = deptRow.浠撳簱鍚嶇О;
+                    } else if (this.ckType == 'zb') {
+                        this.editData[this.zbIndex].HWHID = deptRow.HItemID;
+                        this.editData[this.zbIndex].浠撳簱 = deptRow.浠撳簱鍚嶇О;
+                    }
+                    this.warehouseShow = false
+                    this.openData = false
+                } else if (num == 3) {
+                    this.editData[this.zbIndex].HMaterID = deptRow.HItemID;
+                    this.editData[this.zbIndex].鐗╂枡浠g爜 = deptRow.鐗╂枡浠g爜;
+                    this.editData[this.zbIndex].鐗╂枡鍚嶇О = deptRow.鐗╂枡鍚嶇О;
+                    this.editData[this.zbIndex].HUnitID = deptRow.HUnitID;
+                    this.editData[this.zbIndex].瑙勬牸鍨嬪彿 = deptRow.瑙勬牸鍨嬪彿
+                    this.editData[this.zbIndex].璁¢噺鍗曚綅 = deptRow.璁¢噺鍗曚綅鍚嶇О
+                    this.editData[this.zbIndex].HTaxPrice = deptRow.鍚◣鎴愭湰浠�
+                    this.editData[this.zbIndex].HTaxRate = deptRow.榛樿绋庣巼
+                    this.materialShow = false
+                    this.openData = false
+                } else if (num == 4) {
+                    if (this.zhiyuanType == 'yewuyuan') {
+                        this.form.HEmpName = deptRow.鑱屽憳鍚嶇О
+                        this.form.HEmpID = deptRow.HItemID
+                    } else if (this.zhiyuanType == 'baoguanyuan') {
+                        this.form.HKeeperName = deptRow.鑱屽憳鍚嶇О
+                        this.form.HKeeperID = deptRow.HItemID
+                    } else if (this.zhiyuanType == 'zhuguan') {
+                        this.form.HMangerName = deptRow.鑱屽憳鍚嶇О
+                        this.form.HMangerID = deptRow.HItemID
+                    } else if (this.zhiyuanType == 'yanshou') {
+                        this.form.HSecManagerName = deptRow.鑱屽憳鍚嶇О
+                        this.form.HSecManagerID = deptRow.HItemID
+                    }
+                    this.gyEmployeeShow = false
+                    this.openData = false
+                } else if (num == 6) {
+                    this.form.HSupName = deptRow.渚涘簲鍟嗗悕绉�
+                    this.form.HSupID = deptRow.HItemID
+                    this.gySupplierShow = false
+                    this.openData = false
+                } else if (num == 9) {
+                    this.editData[this.zbIndex].HSPID = deptRow.HMainID;
+                    this.editData[this.zbIndex].浠撲綅 = deptRow.浠撲綅鍚嶇О;
+                    this.gyStockPlaceShow = false
+                    this.openData = false
+                }
+            } else {
+                this.$modal.msgError("璇烽�夋嫨鍗曟潯鏁版嵁!");
+            }
+
+        },
+        emitData(deptRow, num) {
+            this.dialogTypeNum = num
+            this.deptform = deptRow
+        },
+        deptClickSub() {
+            this.dbEmitData(this.deptform, this.dialogTypeNum)
+            this.deptform = {}
+        },
+        deptClose() {
+            this.deptform = {}
+            this.openData = false
+        },
+
+        //閿�鍞嚭搴撳崟鏂板缂栬緫琛ㄥ崟鍒濆鍖�
+        reset() {
+            this.form = {
+                HBillNo:'',
+                HDate: moment(new Date()).format('YYYY-MM-DD'),
+                HSSDate:moment(new Date()).format('YYYY-MM-DD'),
+                HAddress:'',
+                HDeptName:'',
+                HDeptID:0,
+                HSupID:0,
+                HSupName:'',
+                HEmpID:0,
+                HEmpName:'',
+                HCurID:0,
+                HCurName:'',
+                HExRate:'',
+                HManagerName:'',
+                HManagerID:0,
+                HPSStyleID:0,
+                HPSStyleName:'',
+                HSSID:0,
+                HSSName:'',
+                HLinkMan:'',
+                HLinkPhone:'',
+                HInnerBillNo:'',
+                HRemark:'',
+                HMaker:sessionStorage["HSupName"],
+                HChecker:'',
+                HCloseMan:'',
+                HMakeDate:'',
+                HCheckDate:'',
+                HCloseDate:'',
+                HUpDateDate:'',
+                HDeleteDate:'',
+
+            }
+            this.editData = []
+            this.editBtData = []
+            this.ids = []
+            this.subDisabled = false
+            this.addBtnShow = false
+            // this.$refs.tableData.clearSelection()
+            this.activeName = 'first'
+            this.resetForm("form");
+        },
+        //閫�鍑�
+        close() {
+            this.reset()
+            if (!this.OperationType && !this.copyType) {
+                const obj = { fullPath: this.$route.path, path: this.$route.path, name: this.$route.name, };
+                this.$tab.closePage(obj).then(res => {
+                    const latestView = res.visitedViews.slice(-1)[0]
+                    if (latestView) {
+                        this.$router.push(latestView.fullPath)
+                    } else {
+                        if (obj.name === 'Dashboard') {
+                            this.$router.replace({ path: '/redirect' + obj.fullPath })
+                        } else {
+                            this.$router.push('/')
+                        }
+                    }
+                });
+            } else {
+                this.formShow = false
+                this.$emit('editClose', false)
+            }
+        },
+        //鏍规嵁鐢ㄦ埛鑾峰彇瀵瑰簲鑱屽憳銆侀儴闂ㄣ�侀攢鍞富绠�
+        getCzyglByUser() {
+            axios.get(this.baseURL + '/Xs_SeOrderBill/getCzyglByUser', {
+                params: { "CurUserName": sessionStorage["HUserName"] }
+            }).then(response => {
+                let dataForm = response.data.data[0]
+                this.form.HDeptID = dataForm.HDeptID
+                this.form.HDeptName = dataForm.HDeptName
+                this.form.HEmpID = dataForm.HEmpID
+                this.form.HEmpName = dataForm.HEmpName
+                this.form.HManagerID = dataForm.HManagerID
+                this.form.HManagerName = dataForm.HManagerName
+            }).catch(error => {
+                this.$modal.msgError("鎺ュ彛璇锋眰澶辫触!");
+            });
+        },
+        /** 鏂板鎸夐挳鎿嶄綔 */
+        handleAdd() {
+            this.reset()
+            //鏂板鑾峰彇鍗曟嵁鍙�
+            this.getHBillNo()
+            this.form.HDate = moment(new Date()).format('YYYY-MM-DDTHH:mm:ss')
+            if (this.OperationType == 1) {
+                this.handleAddSysZb()
+            }
+            this.$nextTick(() => {
+                this.formShow = true
+                this.formLoading = false
+            })
+        },
+        getHBillNo() {
+            axios.get(this.baseURL + "/Web/GetMAXNum", {
+                params: {
+                    HBillType: '1242'
+                }
+            }).then(response => {
+                this.form.HMaker = sessionStorage["HUserName"]
+                this.form.HBillNo = response.data.data[0].HBillNo
+                this.form.HInterID = response.data.data[0].HInterID
+                // this.copyType = 0
+                // this.getCzyglByUser()
+            }).catch(error => {
+                this.$modal.msgError("鎺ュ彛璇锋眰澶辫触!");
+            });
+        },
+
+
+        /** 淇敼鎸夐挳鎿嶄綔 */
+        handleUpdate() {
+            this.reset()
+            let rowHmainid = this.linterid
+            axios.get(this.baseURL + "/Kf_StockOutRequestBill/cx", {
+                params: { 'HInterID': rowHmainid }
+            }).then(response => {
+                if (response.data.count == 1) {
+                    var result = response.data
+                    var data = response.data.data[0]
+                    this.allVal = data
+                    this.form.BillType = data.HSourceBillType
+                    if (this.copyType == 1) {
+                        this.getHBillNo()
+                        let date = new Date()
+                        this.form.HDate = moment(date).format('YYYY-MM-DD')
+                    } else {
+                        this.form.HBillNo = data.鍗曟嵁鍙�
+                        // this.form.HInterID = data.HInterID
+                        this.form.HDate = data.鏃ユ湡
+                        this.form.HMaker = data.鍒跺崟浜�
+                        this.form.HUpDater = data.淇敼浜�
+                        this.form.HChecker = data.瀹℃牳浜�
+                        this.form.HMakeDate = data.鍒跺崟鏃ユ湡
+                        this.form.HUpDateDate = data.淇敼鏃ユ湡
+                        this.form.HCheckDate = data.瀹℃牳鏃ユ湡
+                        this.form.HCloseMan = data.鍏抽棴浜�
+                        this.form.HDeleteMan = data.浣滃簾浜�
+                        this.form.HCloseDate = data.鍏抽棴鏃ユ湡
+                        this.form.HDeleteDate = data.浣滃簾鏃ユ湡
+                    }
+                    this.form.HAddress = data.浜よ揣鍦扮偣
+                    this.form.HDeptName = data.閮ㄩ棬
+                    this.form.HDeptID = data.HDeptID
+                    this.form.HSupID = data.HSupID
+                    this.form.HSupName = data.渚涘簲鍟�
+                    this.form.HEmpID = data.HEmpID
+                    this.form.HEmpName = data.涓氬姟鍛�
+                    this.form.HCurID = data.HCurID
+                    this.form.HCurName = data.甯佸埆
+                    this.form.HExRate = data.姹囩巼
+                    this.form.HManagerName = data.涓荤
+                    this.form.HManagerID = data.HManagerID
+                    this.form.HPSStyleID = data.HPSStyleID
+                    this.form.HPSStyleName = data.閲囪喘鏂瑰紡
+                    this.form.HSSID = data.HSSID
+                    this.form.HSSName = data.缁撶畻鏂瑰紡
+                    this.form.HLinkMan = data.鑱旂郴浜�
+                    this.form.HLinkPhone = data.鑱旂郴鐢佃瘽
+                    this.form.HInnerBillNo = data.杈呭姪瀛楁
+                    this.form.HRemark = data.琛ㄥご澶囨敞
+                    for (var i = 0; i < result.data.length; i++) {
+                        this.editData.push(
+                            {
+                                "HMaterID": result.data[i].HMaterID,
+                                "鐗╂枡浠g爜": result.data[i].鐗╂枡浠g爜,
+                                "鐗╂枡鍚嶇О": result.data[i].鐗╂枡鍚嶇О,
+                                "瑙勬牸鍨嬪彿": result.data[i].瑙勬牸鍨嬪彿,
+                                "HUnitID": result.data[i].HUnitID,
+                                "璁¢噺鍗曚綅": result.data[i].璁¢噺鍗曚綅,
+                                "HQty": result.data[i].鏁伴噺,
+                                "HRemark": result.data[i].琛ㄤ綋澶囨敞,
+                                "HPrice": result.data[i].鍗曚环,
+                                "HMoney": result.data[i].閲戦,
+                                "HTaxRate": result.data[i].绋庣巼,
+                                "HTaxMoney": result.data[i].閲戦 * result.data[i].绋庣巼,
+                                "HlineTotal": result.data[i].閲戦 + result.data[i].绋庨,
+                                "HlineTotalBB": (result.data[i].閲戦 + result.data[i].绋庨) * result.data[i].姹囩巼, "HTaxPrice": result.data[i].鍚◣鍗曚环,
+                                "HDiscountRate": result.data[i].鎶樻墸鐜�,
+                                "HRelTaxPrice": data.瀹為檯鍚◣鍗曚环,
+                                "HDate": moment(result.data[i].浜よ揣鏃ユ湡).format('YYYY-MM-DD')
+                            }
+                        );
+                    }
+                    this.formShow = true
+                    this.formLoading = false
+                }
+            }).catch(error => {
+                this.$modal.msgError("鎺ュ彛璇锋眰澶辫触!");
+            });
+        },
+        /** 瀛愯〃鏄庣粏搴忓彿 */
+        rowSysZbIndex({ row, rowIndex }) {
+            row.index = rowIndex + 1;
+        },
+        /** 缂栬緫椤靛瓙琛ㄦ坊鍔犳寜閽搷浣� */
+        handleAddSysZb(index, num) {
+            if (num == 1 && !index) {
+                this.$modal.msgError("璇烽�夋嫨涓�琛屾暟鎹紪杈�!");
+            } else {
+                let obj = {
+                    "HMaterID": 0, "鐗╂枡浠g爜": "", "鐗╂枡鍚嶇О": "", "瑙勬牸鍨嬪彿": "", "HUnitID": 1, "璁¢噺鍗曚綅": "", "HWHID": "0", "浠撳簱": "",
+                    "HSPID": "0", "浠撲綅": "", "HSecUnitID": "1", "搴撳瓨杈呭崟浣�": "", "HBASEUNITID": "1", "鍩烘湰鍗曚綅": "",
+                    "HEXTAUXUNITID": "1", "杈呭崟浣�": "", "HQtyMust": "0", "HQty": "0", "HPrice": "0", "HMoney": "0", "HRemark": ""
+                }
+                if (index) {
+                    this.editData.splice(index, 0, obj);
+                    this.$set(this.editData, index, obj)
+                } else {
+                    this.editData.push(obj);
+                }
+            }
+        },
+        handleCopyZbRow() {
+            if (!this.zbIndex) {
+                this.$modal.msgError("璇烽�夋嫨涓�琛屾暟鎹�")
+            } else {
+                let copyRow = JSON.parse(JSON.stringify(this.zbSelForm))
+                this.editData.push(copyRow);
+            }
+        },
+        handleMoveRowUp(zbSelForm) {
+            if (!this.zbIndex) {
+                this.$modal.msgError("璇烽�夋嫨涓�琛屾暟鎹�")
+            } else {
+                if (zbSelForm.index == 1) {
+                    this.$modal.msgError("绗竴琛屾暟鎹棤娉曚笂绉�");
+                } else { // 纭繚涓嶆槸绗竴琛�
+                    let num = zbSelForm.index - 1
+                    const record = this.editData.splice(num, 1)[0];
+                    this.editData.splice(num - 1, 0, record);
+                }
+            }
+        },
+        handleMoveRowDown(zbSelForm) {
+            if (!this.zbIndex) {
+                this.$modal.msgError("璇烽�夋嫨涓�琛屾暟鎹�")
+            } else {
+                if (zbSelForm.index == this.editData.length) {
+                    this.$modal.msgError("鏈�鍚庝竴琛屾暟鎹棤娉曚笅绉�");
+                } else { // 纭繚涓嶆槸绗竴琛�
+                    let num = zbSelForm.index - 1
+                    const record = this.editData.splice(num, 1)[0];
+                    this.editData.splice(num + 1, 0, record);
+                }
+            }
+        },
+        /** 缂栬緫椤靛瓙琛ㄥ垹闄ゆ寜閽搷浣� */
+        handleDeleteSysZb(row) {
+            this.checkedSysZb = []
+            this.checkedSysZb.push(row.index)
+            if (this.checkedSysZb.length == 0) {
+                this.$modal.msgError("璇峰厛閫夋嫨瑕佸垹闄ょ殑鍟嗗搧璁㈠崟鏄庣粏鏁版嵁");
+            } else {
+                const editData = this.editData;
+                const checkedSysZb = this.checkedSysZb;
+                this.editData = editData.filter(function (item) {
+                    return checkedSysZb.indexOf(item.index) == -1
+                });
+            }
+        },
+        /** 缂栬緫椤靛瓙琛ㄥ閫夋閫変腑鏁版嵁 */
+        handleTableZbEdit(selection) {
+            this.checkedSysZb = selection.map(item => item.index)
+            this.zbSelForm = selection[0]
+            this.zbIndex = this.checkedSysZb[0]
+            if (selection.length > 1) {
+                const del_row = selection.shift()
+                this.$refs.zbTable.toggleRowSelection(del_row, false) //璁剧疆杩欎竴琛屽彇娑堥�変腑
+            }
+        },
+
+        // 缂栬緫鎻愪氦淇濆瓨
+        submitForm() {
+            this.$refs["form"].validate(valid => {
+                if (valid) {
+                    let fhck = false
+                    this.editData.map((item, index) => {
+                        if (!item.浠撳簱) {
+                            fhck = true
+                            this.$modal.msgError("绗�" + (index + 1) + "琛岋細浠撳簱鏈�夋嫨锛�");
+                        }
+                    })
+                    this.$nextTick(() => {
+                        if (!fhck) {
+                            var sMainStr = JSON.stringify(this.form);
+                            var sSubStr = JSON.stringify(this.editData);
+                            var sAllStr = JSON.stringify(this.allVal)
+                            var sMainSub = sMainStr + ';' + sSubStr + ';' + this.OperationType + ";" + sessionStorage["HUserName"] + ';' + sAllStr;
+                            axios({
+                                method: 'post',
+                                url: this.baseURL + "/Kf_StockOutRequestBill/StockOutRequestBillEdit",
+                                data: {
+                                    'sMainSub': sMainSub
+                                },
+                            }).then(response => {
+                                if (response.data.count == 1) {
+                                    this.subDisabled = true//璁剧疆淇濆瓨鎸夐挳涓嶅彲鐢�                                   
+                                    this.$modal.msgSuccess(response.data.Message);
+                                    this.close()
+                                } else {
+                                    this.$modal.msgError(response.data.Message);
+                                }
+                            }).catch(error => {
+                                this.$modal.msgError("鎺ュ彛璇锋眰澶辫触!");
+                            });
+                        }
+                    })
+                }
+            });
+        },
+        // 鍙嶅鏍�/瀹℃牳鏁版嵁
+        set_CheckBill(num, form) {
+            var InterID = form.hmainid || form.HInterID
+            //閫昏緫瀹℃牳鏂规硶
+            axios.get(this.baseURL + "/Kf_SellOutBill/AuditKf_SellOutBill", {
+                params: { "HInterID": InterID, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] }
+            }).then(response => {
+                let result = response.data
+                if (result.code == 1) {
+                    this.$modal.msgSuccess('鎿嶄綔鎴愬姛');
+                }
+                else {
+                    this.$modal.msgError("閿欒:" + result.code + result.Message,);
+                }
+            }).catch(error => {
+                this.$modal.msgError("鎺ュ彛璇锋眰澶辫触!");
+            });
+        },
+        showReset() {
+            this.deptShow = false
+            this.warehouseShow = false
+            this.materialShow = false
+            this.gyEmployeeShow = false
+            this.gySupplierShow = false
+            this.gyStockPlaceShow = false
+        },
+        //  鎵撳紑鏁版嵁鍒楄〃寮圭獥
+        openDataDialog(num, row) {
+            //num1閮ㄩ棬锛�2鍑哄簱浠撳簱锛�3鐗╂枡锛�4閿�鍞憳
+            if (row) {
+                this.zbIndex = row.index - 1
+            }
+            this.showReset()
+            if (num == 1) {
+                this.dialogTitle = '閮ㄩ棬鍒楄〃'
+                this.deptShow = true
+                this.openData = true
+            } else if (num == 2) {
+                this.dialogTitle = '鍑哄簱浠撳簱鍒楄〃'
+                this.warehouseShow = true
+                this.openData = true
+            } else if (num == 3) {
+                this.dialogTitle = '鐗╂枡鍒楄〃'
+                this.materialShow = true
+                this.openData = true
+            } else if (num == 4) {
+                this.dialogTitle = '鑱屽憳鍒楄〃'
+                this.gyEmployeeShow = true
+                this.openData = true
+            } else if (num == 6) {
+                this.dialogTitle = '寰�鏉ュ崟浣嶅垪琛�'
+                this.gySupplierShow = true
+                this.openData = true
+            } else if (num == 9) {
+                this.dialogTitle = '寰�鏉ュ崟浣嶅垪琛�'
+                this.gyStockPlaceShow = true
+                this.openData = true
+            }
+
+        },
+    }
+};
+</script>
+<style>
+.xsckdBox .el-date-editor.el-input {
+    width: 100%;
+}
+</style>

--
Gitblit v1.9.1