From 9284dbc97513286ac3f16782a5088cc838682897 Mon Sep 17 00:00:00 2001
From: haoxuan <haoxuan>
Date: 星期日, 07 四月 2024 18:30:04 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.5.5:10010/r/silk/silk-web

---
 src/views/productManage/silkRegisterForm/addPage.vue |  705 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 457 insertions(+), 248 deletions(-)

diff --git a/src/views/productManage/silkRegisterForm/addPage.vue b/src/views/productManage/silkRegisterForm/addPage.vue
index 10f1fad..db3ef01 100644
--- a/src/views/productManage/silkRegisterForm/addPage.vue
+++ b/src/views/productManage/silkRegisterForm/addPage.vue
@@ -6,241 +6,309 @@
                 <el-tab-pane label="绾ゅ害妫�楠岃〃" name="second"></el-tab-pane>
             </el-tabs>
         </div>
-
-        <div class="filter">
-            <div class="filter-card">
-                <CommonSearch :show-add="false" :show-download="false" :amount-view="false" :show-action-btn="false"
-                    placeholder="璇疯緭鍏ュ叧閿瘝" @searchClick="onFilterSearch">
-                    <template slot="leftButton">
-                        <el-button size="small" type="primary" @click="cancelClick">鏀惧純</el-button>
-                        <el-button size="small" type="primary" @click="saveClick">淇濆瓨</el-button>
-                    </template>
-                </CommonSearch>
+        <template v-if="activeName == 'first'">
+            <div class="filter">
+                <div class="filter-card">
+                    <CommonSearch :show-add="false" :show-download="false" :amount-view="false" :show-action-btn="false"
+                        placeholder="璇疯緭鍏ュ叧閿瘝" @searchClick="onFilterSearch">
+                        <template slot="leftButton">
+                            <el-button size="small" type="primary" @click="cancelClickOne">鏀惧純</el-button>
+                            <el-button size="small" type="primary" :loading="isAddloading"  @click="saveClickOne('form')">淇濆瓨</el-button>
+                        </template>
+                    </CommonSearch>
+                </div>
             </div>
-        </div>
 
-        <div class="body" v-if="activeName == 'first'">
-            <div class="body-l">
-                <el-form ref="form" class="form-box" :model="form" :rules="rules" label-position="left" label-width="70px">
-                    <el-form-item label="缂栧彿" prop="clientName" class="form-item">
-                        <el-input v-model="form.clientName" placeholder="璇疯緭鍏�">
-                        </el-input>
-                    </el-form-item>
-                    <el-form-item label="钀戒笣鏃堕棿" prop="signTime" class="form-item">
-                        <el-date-picker v-model="form.signTime" value-format="yyyy-MM-dd" type="date" placeholder="閫夋嫨鏃ユ湡"
-                            style="width:100%">
-                        </el-date-picker>
-                    </el-form-item>
-                    <el-form-item label="搴勫彛" prop="deliverType" class="form-item">
-                        <el-select v-model="form.deliverType" placeholder="璇烽�夋嫨">
-                            <el-option v-for="item in deliveryTypeList" :key="item.id" :label="item.name" :value="item.id">
-                            </el-option>
-                        </el-select>
-                    </el-form-item>
-                    <el-form-item label="杞﹂棿" prop="deliverType" class="form-item">
-                        <el-select v-model="form.deliverType" placeholder="璇烽�夋嫨">
-                            <el-option v-for="item in deliveryTypeList" :key="item.id" :label="item.name" :value="item.id">
-                            </el-option>
-                        </el-select>
-                    </el-form-item>
-                    <el-form-item label="瑙勬牸" prop="deliverType" class="form-item">
-                        <el-select v-model="form.deliverType" placeholder="璇烽�夋嫨">
-                            <el-option v-for="item in deliveryTypeList" :key="item.id" :label="item.name" :value="item.id">
-                            </el-option>
-                        </el-select>
-                    </el-form-item>
-                    <el-form-item label="缁勫埆" prop="deliverType" class="form-item">
-                        <el-select v-model="form.deliverType" placeholder="璇烽�夋嫨" style="width: 100%">
-                            <el-option v-for="item in deliveryTypeList" :key="item.id" :label="item.name" :value="item.id">
-                            </el-option>
-                        </el-select>
-                    </el-form-item>
-                    <el-form-item label="鍥炴暟" prop="amount" class="form-item">
-                        <el-row>
-                            <el-col :span="11">
-                                <el-input v-model.number="form.amount" placeholder="璇疯緭鍏�" show-word-limit
-                                    style="width: 100%"></el-input>
-                            </el-col>
-                            <el-col :span="2" style="margin:0 auto;text-align:center;">-</el-col>
-                            <el-col :span="11">
-                                <el-input v-model.number="form.amount" placeholder="璇疯緭鍏�" show-word-limit
-                                    style="width: 100%"></el-input>
-                            </el-col>
-                        </el-row>
-                    </el-form-item>
-                    <el-form-item label="杞﹀彿" prop="clientName" class="form-item">
-                        <el-input v-model="form.clientName" placeholder="璇疯緭鍏�">
-                        </el-input>
-                    </el-form-item>
+            <div class="body">
+                <div class="body-l">
+                    <el-form ref="form" class="form-box" :model="form" :rules="rules" label-position="left"
+                        label-width="80px">
+                        <el-form-item label="缂栧彿" prop="number" class="form-item">
+                            <el-input v-model="form.number" placeholder="璇疯緭鍏�">
+                            </el-input>
+                        </el-form-item>
+                        <el-form-item label="钀戒笣鏃堕棿" prop="finishDate" class="form-item">
+                            <el-date-picker v-model="form.finishDate" value-format="yyyy-MM-dd" type="date"
+                                placeholder="閫夋嫨鏃ユ湡" class="select-width">
+                            </el-date-picker>
+                        </el-form-item>
+                        <el-form-item label="搴勫彛" prop="market" class="form-item">
+                            <el-select v-model="form.market" placeholder="璇烽�夋嫨" class="select-width">
+                                <el-option v-for="item in marketList" :key="item.ID" :label="item.name"
+                                    :value="item.name">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item label="杞﹂棿" prop="name" class="form-item">
+                            <el-select v-model="form.name" placeholder="璇烽�夋嫨" class="select-width">
+                                <el-option v-for="item in nameList" :key="item.ID" :label="item.name"
+                                    :value="item.name">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item label="瑙勬牸" prop="spec" class="form-item">
+                            <el-select v-model="form.spec" placeholder="璇烽�夋嫨" class="select-width">
+                                <el-option v-for="item in specList" :key="item.ID" :label="item.name"
+                                    :value="item.name">
+                                </el-option>
+                            </el-select>
+                            <!-- <el-input v-model="form.spec" placeholder="璇疯緭鍏�">
+                            </el-input> -->
+                        </el-form-item>
+                        <el-form-item label="缁勫埆" prop="workshopGroup" class="form-item">
+                            <el-select v-model="form.workshopGroup" placeholder="璇烽�夋嫨" class="select-width">
+                                <el-option v-for="item in workshopGroupList" :key="item.ID" :label="item.name"
+                                    :value="item.ID">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item label="鍥炴暟" prop='circle' class="form-item">
+                            <el-row>
+                                <el-col :span="11">
+                                    <el-form-item label="" @input="inputStart" label-width="0" prop="startCircle" class="select-width">
+                                        <el-input  v-model.number="form.startCircle" placeholder="璇疯緭鍏�" show-word-limit
+                                        class="select-width"></el-input>
+                                    </el-form-item>
+                                </el-col>
+                                <el-col :span="2" style="margin:0 auto;text-align:center;">-</el-col>
+                                <el-col :span="11">
+                                    <el-form-item label="" label-width="0" prop="endCircle" class="select-width">
+
+                                        <el-input v-model.number="form.endCircle" @input="inputStart" placeholder="璇疯緭鍏�" show-word-limit
+                                            class="select-width"></el-input>
+                                    </el-form-item>
+                                </el-col>
+                            </el-row>
+                        </el-form-item>
+                        <el-form-item label="杞﹀彿" prop="position" class="form-item">
+                            <el-input v-model="form.position" placeholder="璇疯緭鍏�">
+                            </el-input>
+                        </el-form-item>
+                    </el-form>
+                    <div class="list-view">
+                        <!-- <TableCommonView ref="tableListRef" :colOpenShow="false" v-loading="loading" :table-list="tableList"
+                            @selTableCol="selTableCol">
+                        </TableCommonView> -->
+                        <!-- 淇敼涓鸿緭鍏� -->
+                        <CommonFormTableView
+                        ref="commonFormTableView"
+                        :detail-enter="isView ? true : false"
+                        :selectBox="false"
+                        :detailEnter="true"
+                        :show-summary="showSummary"
+                        :product-table-list="tableList"
+                        @inputContent="inputContent"
+                        @addProductClick="addProductClick"
+                        ></CommonFormTableView>
+                    </div>
+                </div>
+                <div class="body-r">
+                    绾ゅ害锛�
+                    <p>{{ form.sumFineness }}</p>
+                </div>
+            </div>
+        </template>
+        <template v-if="activeName == 'second'">
+            <div class="body-two body" v-if="activeName == 'second'">
+                <div class="body-two-t">绾ゅ害妫�楠岃〃</div>
+                <el-form ref="form" class="form-box" :model="form" :rules="rules" label-position="right" label-width="60px">
+                    <div class="form-box-t">
+                        <el-form-item label="缂栧彿" prop="clientName" class="form-item">
+                            1234546677
+                        </el-form-item>
+                        <el-form-item label="杞﹂棿" prop="name" class="form-item">
+                            <el-select v-model="form.name" placeholder="璇烽�夋嫨" class="select-width">
+                                <el-option v-for="item in nameList" :key="item.ID" :label="item.name"
+                                    :value="item.name">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item label="缁勫埆" prop="workshopGroup" class="form-item">
+                            <el-select v-model="form.workshopGroup" placeholder="璇烽�夋嫨" class="select-width">
+                                <el-option v-for="item in workshopGroupList" :key="item.ID" :label="item.name"
+                                    :value="item.ID">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item label="鍥炴暟" prop="amount" class="form-item">
+                            <el-input v-model.number="form.amount" placeholder="璇疯緭鍏�" show-word-limit
+                                style="width: 100%"></el-input>
+                        </el-form-item>
+                        <el-form-item label="瑙勬牸" prop="spec" class="form-item">
+                            <el-select v-model="form.spec" placeholder="璇烽�夋嫨" style="width: 100%">
+                                <el-option v-for="item in specList" :key="item.id" :label="item.name"
+                                    :value="item.id">
+                                </el-option>
+                            </el-select>
+                            <!-- <el-input v-model="form.spec" placeholder="璇疯緭鍏�">
+                            </el-input> -->
+                        </el-form-item>
+                        <el-form-item label="鏃ユ湡" prop="signTime" class="form-item">
+                            <el-date-picker v-model="form.signTime" value-format="yyyy-MM-dd" type="date" placeholder="閫夋嫨鏃ユ湡"
+                                style="width:100%">
+                            </el-date-picker>
+                        </el-form-item>
+                    </div>
+                    <div class="list-view">
+                        <el-table ref="multipleTable" :data="tableTwoList.tableInfomation" tooltip-effect="dark"
+                            style="width: 100%">
+                            <el-table-column label="杞﹀彿" prop="templateName" width="100">
+                            </el-table-column>
+                            <el-table-column label="涓嬪樊绾ゅ害" prop="name" width="100" align="center">
+                                <template v-for="(item, i) in tableTwoList.lower">
+                                    <el-table-column align="center" :key="i" :prop="item.prop" :label="item.label"
+                                        :width="item.width" :min-width="item.min" show-overflow-tooltip
+                                        :sortable="item.sortable">
+                                    </el-table-column>
+                                </template>
+                            </el-table-column>
+                            <el-table-column label="鐩殑绾ゅ害" prop="name" width="100" align="center">
+                                <template v-for="(item, i) in tableTwoList.objective">
+                                    <el-table-column align="center" :key="i" :prop="item.prop" :label="item.label"
+                                        :width="item.width" :min-width="item.min" show-overflow-tooltip
+                                        :sortable="item.sortable">
+                                    </el-table-column>
+                                </template>
+                            </el-table-column>
+                            <el-table-column label="涓婂樊绾ゅ害" prop="name" width="100" align="center">
+                                <template v-for="(item, i) in tableTwoList.upper">
+                                    <el-table-column align="center" :key="i" :prop="item.prop" :label="item.label"
+                                        :width="item.width" :min-width="item.min" show-overflow-tooltip
+                                        :sortable="item.sortable">
+                                    </el-table-column>
+                                </template>
+                            </el-table-column>
+                            <el-table-column prop="valueRange" label="鍋忓樊" width="120">
+                            </el-table-column>
+                            <el-table-column prop="unit" label="鎬诲樊" show-overflow-tooltip>
+                            </el-table-column>
+                            <el-table-column prop="valueRange" label="閲庣氦" width="120">
+                            </el-table-column>
+                            <el-table-column prop="unit" label="澶ч噹" show-overflow-tooltip>
+                            </el-table-column>
+                            <el-table-column prop="valueRange" label="鐗归噹" width="120">
+                            </el-table-column>
+                            <el-table-column prop="unit" label="绛夌骇" show-overflow-tooltip>
+                            </el-table-column>
+                            <el-table-column prop="valueRange" label="II搴�" width="120">
+                            </el-table-column>
+                            <el-table-column prop="unit" label="娓呮磥" show-overflow-tooltip>
+                            </el-table-column>
+                            <el-table-column prop="valueRange" label="娲佸噣" width="120">
+                            </el-table-column>
+                            <el-table-column prop="unit" label="澶囨敞" show-overflow-tooltip>
+                            </el-table-column>
+                        </el-table>
+                    </div>
+                    <div class="form-box-b">
+                        <el-form-item label="骞冲潎绾ゅ害" prop="clientName" class="form-item-two" label-width="100px">
+                            1234546677
+                        </el-form-item>
+                        <el-form-item label="鍏噺绾ゅ害" prop="deliverType" class="form-item" label-width="100px">
+                            <el-input v-model="form.clientName" placeholder="璇疯緭鍏�">
+                            </el-input>
+                        </el-form-item>
+                        <el-form-item label="鍋忓樊" prop="clientName" class="form-item-two">
+                            0.98
+                        </el-form-item>
+                        <el-form-item label="鎬诲樊" prop="clientName" class="form-item-two">
+                            0.98
+                        </el-form-item>
+                        <el-form-item label="杞︾粍绛夌骇" prop="deliverType" class="form-item-two" label-width="100px">
+                            4A
+                        </el-form-item>
+                        <el-form-item label="II搴�" prop="amount" class="form-item">
+                            <el-input v-model="form.clientName" placeholder="璇疯緭鍏�">
+                            </el-input>
+                        </el-form-item>
+                        <el-form-item label="娓呮磥" prop="clientName" class="form-item">
+                            <el-input v-model="form.clientName" placeholder="璇疯緭鍏�">
+                            </el-input>
+                        </el-form-item>
+                        <el-form-item label="娲佸噣" prop="signTime" class="form-item">
+                            <el-input v-model="form.clientName" placeholder="璇疯緭鍏�">
+                            </el-input>
+                        </el-form-item>
+                        <el-form-item label="搴勫彛宸ヨ壓鍗曠紪鍙�" prop="signTime" class="form-item" label-width="110px">
+                            <el-input v-model="form.clientName" placeholder="璇疯緭鍏�">
+                            </el-input>
+                        </el-form-item>
+                        <el-form-item label="妫�楠屽憳" prop="signTime" class="form-item">
+                            <el-input v-model="form.clientName" placeholder="璇疯緭鍏�">
+                            </el-input>
+                        </el-form-item>
+                    </div>
                 </el-form>
-                <div class="list-view">
-                    <TableCommonView ref="tableListRef" :colOpenShow="false" v-loading="loading" :table-list="tableList"
-                        @selTableCol="selTableCol">
-                    </TableCommonView>
-                </div>
             </div>
-            <div class="body-r">
-                绾ゅ害锛�
-                <p>19.00</p>
-            </div>
-        </div>
-        <div class="body-two body" v-if="activeName == 'second'">
-            <div class="body-two-t">绾ゅ害妫�楠岃〃</div>
-            <el-form ref="form" class="form-box" :model="form" :rules="rules" label-position="right" label-width="60px">
-                <div class="form-box-t">
-                    <el-form-item label="缂栧彿" prop="clientName" class="form-item">
-                        1234546677
-                    </el-form-item>
-                    <el-form-item label="杞﹂棿" prop="deliverType" class="form-item">
-                        <el-select v-model="form.deliverType" placeholder="璇烽�夋嫨">
-                            <el-option v-for="item in deliveryTypeList" :key="item.id" :label="item.name" :value="item.id">
-                            </el-option>
-                        </el-select>
-                    </el-form-item>
-                    <el-form-item label="缁勫埆" prop="deliverType" class="form-item">
-                        <el-select v-model="form.deliverType" placeholder="璇烽�夋嫨" style="width: 100%">
-                            <el-option v-for="item in deliveryTypeList" :key="item.id" :label="item.name" :value="item.id">
-                            </el-option>
-                        </el-select>
-                    </el-form-item>
-                    <el-form-item label="鍥炴暟" prop="amount" class="form-item">
-                        <el-input v-model.number="form.amount" placeholder="璇疯緭鍏�" show-word-limit
-                            style="width: 100%"></el-input>
-                    </el-form-item>
-                    <el-form-item label="瑙勬牸" prop="clientName" class="form-item">
-                        <el-input v-model="form.clientName" placeholder="璇疯緭鍏�">
-                        </el-input>
-                    </el-form-item>
-                    <el-form-item label="鏃ユ湡" prop="signTime" class="form-item">
-                        <el-date-picker v-model="form.signTime" value-format="yyyy-MM-dd" type="date" placeholder="閫夋嫨鏃ユ湡"
-                            style="width:100%">
-                        </el-date-picker>
-                    </el-form-item>
-                </div>
-                <div class="list-view">
-                    <el-table ref="multipleTable" :data="tableTwoList.tableInfomation" tooltip-effect="dark"
-                        style="width: 100%">
-                        <el-table-column label="杞﹀彿" prop="templateName" width="100">
-                        </el-table-column>
-                        <el-table-column label="涓嬪樊绾ゅ害" prop="name" width="100" align="center">
-                            <template v-for="(item, i) in tableTwoList.lower">
-                                <el-table-column align="center" :key="i" :prop="item.prop" :label="item.label"
-                                    :width="item.width" :min-width="item.min" show-overflow-tooltip
-                                    :sortable="item.sortable">
-                                </el-table-column>
-                            </template>
-                        </el-table-column>
-                        <el-table-column label="鐩殑绾ゅ害" prop="name" width="100" align="center">
-                            <template v-for="(item, i) in tableTwoList.objective">
-                                <el-table-column align="center" :key="i" :prop="item.prop" :label="item.label"
-                                    :width="item.width" :min-width="item.min" show-overflow-tooltip
-                                    :sortable="item.sortable">
-                                </el-table-column>
-                            </template>
-                        </el-table-column>
-                        <el-table-column label="涓婂樊绾ゅ害" prop="name" width="100" align="center">
-                            <template v-for="(item, i) in tableTwoList.upper">
-                                <el-table-column align="center" :key="i" :prop="item.prop" :label="item.label"
-                                    :width="item.width" :min-width="item.min" show-overflow-tooltip
-                                    :sortable="item.sortable">
-                                </el-table-column>
-                            </template>
-                        </el-table-column>
-                        <el-table-column prop="valueRange" label="鍋忓樊" width="120">
-                        </el-table-column>
-                        <el-table-column prop="unit" label="鎬诲樊" show-overflow-tooltip>
-                        </el-table-column>
-                        <el-table-column prop="valueRange" label="閲庣氦" width="120">
-                        </el-table-column>
-                        <el-table-column prop="unit" label="澶ч噹" show-overflow-tooltip>
-                        </el-table-column>
-                        <el-table-column prop="valueRange" label="鐗归噹" width="120">
-                        </el-table-column>
-                        <el-table-column prop="unit" label="绛夌骇" show-overflow-tooltip>
-                        </el-table-column>
-                        <el-table-column prop="valueRange" label="II搴�" width="120">
-                        </el-table-column>
-                        <el-table-column prop="unit" label="娓呮磥" show-overflow-tooltip>
-                        </el-table-column>
-                        <el-table-column prop="valueRange" label="娲佸噣" width="120">
-                        </el-table-column>
-                        <el-table-column prop="unit" label="澶囨敞" show-overflow-tooltip>
-                        </el-table-column>
-                    </el-table>
-                </div>
-                <div class="form-box-b">
-                    <el-form-item label="骞冲潎绾ゅ害" prop="clientName" class="form-item-two" label-width="100px">
-                        1234546677
-                    </el-form-item>
-                    <el-form-item label="鍏噺绾ゅ害" prop="deliverType" class="form-item" label-width="100px">
-                        <el-input v-model="form.clientName" placeholder="璇疯緭鍏�">
-                        </el-input>
-                    </el-form-item>
-                    <el-form-item label="鍋忓樊" prop="clientName" class="form-item-two">
-                        0.98
-                    </el-form-item>
-                    <el-form-item label="鎬诲樊" prop="clientName" class="form-item-two">
-                        0.98
-                    </el-form-item>
-                    <el-form-item label="杞︾粍绛夌骇" prop="deliverType" class="form-item-two"  label-width="100px">
-                        4A
-                    </el-form-item>
-                    <el-form-item label="II搴�" prop="amount" class="form-item">
-                        <el-input v-model="form.clientName" placeholder="璇疯緭鍏�">
-                        </el-input>
-                    </el-form-item>
-                    <el-form-item label="娓呮磥" prop="clientName" class="form-item">
-                        <el-input v-model="form.clientName" placeholder="璇疯緭鍏�">
-                        </el-input>
-                    </el-form-item>
-                    <el-form-item label="娲佸噣" prop="signTime" class="form-item">
-                        <el-input v-model="form.clientName" placeholder="璇疯緭鍏�">
-                        </el-input>
-                    </el-form-item>
-                    <el-form-item label="搴勫彛宸ヨ壓鍗曠紪鍙�" prop="signTime" class="form-item" label-width="110px">
-                        <el-input v-model="form.clientName" placeholder="璇疯緭鍏�">
-                        </el-input>
-                    </el-form-item>
-                    <el-form-item label="妫�楠屽憳" prop="signTime" class="form-item">
-                        <el-input v-model="form.clientName" placeholder="璇疯緭鍏�">
-                        </el-input>
-                    </el-form-item>
-                </div>
-            </el-form>
-        </div>
+        </template>
     </div>
 </template>
   
 <script>
-import { getFollowRecordList } from "@/api/productManage/silkRegisterForm.js"
+import { getRegisterList,saveRegister,getDictList,getWorkshopManageList,getRegisterDetails } from "@/api/productManage/silkRegisterForm.js"
 import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
+import CommonFormTableView from "@/components/makepager/CommonFormTableView"
 export default {
     name: "silkRegisterAddPage",
     props: {},
     mixins: [pageMixin],
     components: {
+        CommonFormTableView,
     },
     computed: {},
     data() {
         return {
-            tableList: {},
             loading: false,
             activeName: "first",
             searchOptions: [],
             search_map: {},
             is_public: true,
-            tableColumn: [
-                { label: "杞﹀彿", prop: "name", min: 100, default: true }, // 瀹㈡埛鍚嶇О
-                { label: "绾ゅ害鍊�", prop: "member_name", default: true }, // 閿�鍞礋璐d汉
-                { label: "鏁伴噺", prop: "client_level", default: true }, // 閲嶈绾у埆
-                { label: "绾ゅ害鍚堣", prop: "next_visit_time", min: 90, default: true }, // 涓嬫鍥炶鏃ユ湡
-            ],
-            showCol: ['杞﹀彿', '绾ゅ害鍊�', '鏁伴噺', '绾ゅ害鍚堣'],
+            marketList:[], //搴勫彛
+            nameList:[], //杞﹂棿
+            workshopGroupList:[], //缁勫埆
             deliveryTypeList: [],
-            form: {},
+            specList:[], //瑙勬牸
+            form: {
+                number:'',
+                finishDate:'',
+                market:'',
+                name:'', 
+                spec:'',
+                workshopGroup:'',
+                circle:'',
+                startCircle:'',
+                endCircle:'',
+                position:'',
+            },
             rules: {
-                clientName: [
-                    { required: true, message: "璇烽�夋嫨瀹㈡埛鍚嶇О", trigger: "change" },
+                number: [
+                    { required: true, message: "璇峰~鍐�", trigger: ["change", 'blur'] },
+                ],
+                finishDate: [
+                    { required: true, message: "璇烽�夋嫨", trigger: ["change", 'blur'] },
+                ],
+                // 杞﹂棿 搴旇true
+                name: [
+                    { required: true, message: "璇烽�夋嫨", trigger: ["change", 'blur'] },
+                ],
+                spec: [
+                    { required: true, message: "璇峰~鍐�", trigger: ["change", 'blur'] },
+                ],
+                // 缁勫埆 搴旇true
+                workshopGroup: [
+                    { required: false, message: "璇烽�夋嫨", trigger: ["change", 'blur'] },
+                ],
+                circle: [
+                    { required: true, message: "璇峰~鍐�", trigger: ["change", 'blur'] },
+                ],
+                startCircle: [
+                    { required: true, message: "璇峰~鍐�", trigger: ["change", 'blur'] },
+                ],
+                endCircle: [
+                    { required: true, message: "璇峰~鍐�", trigger: ["change", 'blur'] },
+                ],
+                position: [
+                    { required: true, message: "璇峰~鍐�", trigger: ["change", 'blur'] },
                 ],
             },
             tableTwoList: {
@@ -278,53 +346,129 @@
                     { label: "26.5", prop: "next_visit_time", min: 90, default: true },
                 ],
             },
+            // 鏂板绾ゅ害鐧昏琛�
+            isAddloading:false,
+            isView: true,
+            showSummary: {
+                show: true,
+                total: true,
+                totalLabel:'鍚堣:',
+                sumProp: ["fineness", "quantity",'sum'],
+                mergeNumber: 0
+            },
+            productId: 1,
+            tableList: {
+                allcol: [],
+                headerColor:'red',
+                showcol: ['杞﹀彿', '绾ゅ害鍊�', '鏁伴噺', '绾ゅ害鍚堣'],
+                tableData: [
+                    {
+                        productId:1,
+                        position: '',
+                        fineness: 0,
+                        quantity: 0,
+                        sum: "",
+                    }
+                ],
+                tableColumn:[
+                    { label: "杞﹀彿", prop: "position", input: true }, // 瀹㈡埛鍚嶇О
+                    { label: "绾ゅ害鍊�", prop: "fineness", inputNumber: true, isRequird: true, }, // 閿�鍞礋璐d汉
+                    { label: "鏁伴噺", prop: "quantity", inputNumber: true , isRequird: true,}, // 閲嶈绾у埆
+                    { label: "绾ゅ害鍚堣", prop: "sum", inputNumber: true}, // 涓嬫鍥炶鏃ユ湡
+                ],
+            },
+            tableData:[],
+            registerId:'',
         }
     },
     created() {
         let query = this.$route.query;
         if (query) {
             this.activeName = query.activeName ? query.activeName : "first";
+            this.registerId= query.id ? query.id : "";
         }
-        this.setTable()
+        this.getSelectDataList()
         this.search_map = {
             is_public: this.is_public
         }
+        this.getDetailsData()
         this.getData()
     },
     methods: {
-        setTable() {
-            this.tableList = {
-                selectIndex: false,
-                headerColor: 'red',
-                tableInfomation: [],
-                allcol: [],
-                showcol: this.showCol,
-                tableColumn: this.setColumnVisible(this.showCol)
+        getDetailsData(){
+            if(this.registerId){
+                getRegisterDetails({ id: this.registerId }).then((response) => {
+                    if (response.code === 200) {
+                    let config=JSON.parse(JSON.stringify(response.data?response.data:{}));
+                    this.form=config;
+                    this.tableList.tableData=config.finenessList?config.finenessList:[]
+                    this.tableData=config.finenessList?config.finenessList:[]
+                    } 
+                })
             }
-            this.tableList.allcol = this.tableList.tableColumn.filter(ele => !ele.default).map(ele => ele.label);
-            this.searchOptions = []
-            for (let i = 0; i < this.tableList.tableColumn.length; i++) {
-                const label = this.tableList.tableColumn[i].label
-                const value = this.tableList.tableColumn[i].prop
-                this.searchOptions.push({ value: value, label: label })
-            }
+            
         },
-        setColumnVisible(showCol) {
-            return this.tableColumn.map(ele => {
-                return {
-                    ...ele,
-                    isShowColumn: showCol.includes(ele.label)
+        getSelectDataList(){
+            //杞﹂棿
+            getDictList({
+                dictType: 1,
+            }).then((res) => {
+                    if (res.code == 200) {
+                        this.nameList=res.data||[]
+                    }
+                })
+                 //瑙勬牸
+                 getDictList({
+                dictType: 3,
+            }).then((res) => {
+                    if (res.code == 200) {
+                        this.specList=res.data||[]
+                    }
+                })
+                //缁勫埆
+                getWorkshopManageList().then((res) => {
+                    if (res.code == 200) {
+                        this.workshopGroupList=res.data||[]
+                    }
+                })
+                //搴勫彛
+                getDictList({
+                dictType: 0,
+            }).then((res) => {
+                    if (res.code == 200) {
+                        this.marketList=res.data||[]
+                    }
+                })
+        },
+        inputStart(){
+            this.form.circle=this.form.startCircle+'-'+this.form.endCircle
+        }, 
+        // 浜у搧鏂板
+        addProductClick() {
+            this.productId++
+            this.tableData.push({
+                productId: this.productId,
+                position: '',
+                        fineness: 0,
+                        quantity: 0,
+                        sum: "",
+            })
+            this.tableList.tableData=this.tableData
+            this.showSummary.show = true
+        },
+         // 浜у搧鍒楄〃杈撳叆
+        inputContent(val, prop, row) {
+            this.productId = row.productId
+            this.tableData.map((item) => {
+                if (item.productId === row.productId) {
+                    item[prop] = val
                 }
             })
-        },
-        selTableCol(val) {
-            this.showcol = val;
-            this.tableList.tableColumn = this.setColumnVisible(val);
-        },
-        // 璇锋眰鏁版嵁
+        }, 
+            // 璇锋眰鏁版嵁
         async getData() {
             this.loading = true
-            await getFollowRecordList({
+            await getRegisterList({
                 search_map: this.search_map,
                 page: this.pagerOptions.currPage,
                 pageSize: this.pagerOptions.pageSize
@@ -365,21 +509,18 @@
                                     position: position
                                 }
                             })
-                            this.tableList.tableInfomation = list || []
-                            this.tableTwoList.tableInfomation = []
+                            this.tableTwoList.tableInfomation =list|| []
                             this.pagerOptions.totalCount = res.data.count
                         } else {
-                            this.tableList.tableInfomation = []
+                            this.tableTwoList.tableInfomation = []
                         }
                     } else {
-                        this.tableList.tableInfomation = []
                         this.tableTwoList.tableInfomation = []
                     }
                     this.loading = false
                 })
                 .catch((err) => {
                     console.log(err)
-                    this.tableList.tableInfomation = []
                     this.loading = false
                 })
         },
@@ -404,6 +545,68 @@
             }
             this.pagerOptions.currPage = 1
             this.getData()
+        },
+        // 绾ゅ害鐧昏琛�
+        // 鏀惧純
+        cancelClickOne() {
+            if(this.activeName == 'first'){
+                this.form={
+                    number:'',
+                    finishDate:'',
+                    market:'',
+                    name:'', 
+                    spec:'',
+                    workshopGroup:'',
+                    circle:'',
+                    startCircle:'',
+                    endCircle:'',
+                    position:'',
+                }
+                this.$refs.form.resetFields();
+                this.productId=1
+                this.tableList.tableData=[{
+                    productId:1,
+                        position: '',
+                        fineness: 0,
+                        quantity: 0,
+                        sum: "",
+                }]
+            }
+        },
+        // 淇濆瓨
+        saveClickOne(formName) {
+            this.$refs[formName].validate((valid) => {
+                if (valid) {
+                    let form = JSON.parse(JSON.stringify(this.form));
+                    delete form.circle
+                    let finenessList= JSON.parse(JSON.stringify(this.tableList.tableData));
+                    for(let i in finenessList){
+                        delete finenessList[i].productId
+                    }
+                    let params = {
+                        finenessList:finenessList,
+                        ...form
+                    }
+                    this.isAddloading=true
+                    saveRegister(params).then((res) => {
+                        if (res.code == 200) {
+                            this.$message({
+                                message: "淇濆瓨鎴愬姛锛�",
+                                type: "success",
+                            });
+                        }
+                        this.isAddloading=false
+                    }).catch(() => {
+                        setTimeout(() => {
+                            this.isAddloading = false;
+                            }, 3000);
+                    })
+                } else {
+                    console.log('error submit!!');
+                    
+                    return false;
+                }
+            });
         },
         // 鏀惧純
         cancelClick() {
@@ -456,7 +659,7 @@
         box-sizing: border-box;
         padding: 10px 10px;
         border-radius: 12px;
-        height: calc(100% - 139px - 10px);
+        height: calc(100% - 139px - 10px - 20px);
         width: calc(100% - 20px);
         margin: 0 auto;
         margin-top: 10px;
@@ -491,11 +694,15 @@
                     &:nth-of-type(3n) {
                         margin-right: 0;
                     }
+                    .select-width{
+                        width:100%;
+                    }
                 }
             }
 
             .list-view {
                 height: calc(100% - 0px);
+                min-height:200px;
                 overflow: hidden;
             }
         }
@@ -561,14 +768,16 @@
             max-height: calc(100% - 90px - 10px);
             overflow: hidden;
         }
+
         .form-box-b {
             width: 100%;
             height: 60px;
-            margin-top:10px;
+            margin-top: 10px;
             overflow: hidden;
-            .form-item-two{
-                width:160px;
-                float:left;
+
+            .form-item-two {
+                width: 160px;
+                float: left;
             }
 
             .form-item {

--
Gitblit v1.8.0