From 02bc3bfe47e3d5311a0bb041c94e70a34b1ca73c Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期二, 09 四月 2024 09:03:01 +0800
Subject: [PATCH] git ch

---
 company/src/components/business/OperaSolutionsDescWindow.vue |  181 +++++++++++++++++++++++++++++++++++---------
 1 files changed, 143 insertions(+), 38 deletions(-)

diff --git a/company/src/components/business/OperaSolutionsDescWindow.vue b/company/src/components/business/OperaSolutionsDescWindow.vue
index 2537026..8404f01 100644
--- a/company/src/components/business/OperaSolutionsDescWindow.vue
+++ b/company/src/components/business/OperaSolutionsDescWindow.vue
@@ -1,61 +1,76 @@
 <template>
     <GlobalWindow
         :title="title"
-        width="50%"
-        submitText="淇敼"
+        width="70%"
+        text="淇敼"
+        :withFooter="userInfo.type !== 1"
         :visible.sync="visible"
         :confirm-working="isWorking"
-        @confirm="$refs.operaSolutionsWindow.open('缂栬緫鏂规')"
+        @confirm="$refs.operaSolutionsWindow.open('缂栬緫鏂规', form)"
     >
         <div class="info">
             <div class="info_list">
                 <div class="info_list_item">
                     <div class="info_list_item_label">鏂规鍚嶇О锛�</div>
-                    <div class="info_list_item_val">骞冲畨淇濋櫓闆囦富璐d换闄〢鐗�</div>
+                    <div class="info_list_item_val">{{form.name}}</div>
                 </div>
                 <div class="info_list_item">
                     <div class="info_list_item_label">淇濋櫓鍏徃锛�</div>
-                    <div class="info_list_item_val">骞冲畨淇濋櫓</div>
+                    <div class="info_list_item_val">{{form.insuranceName}}</div>
                 </div>
                 <div class="info_list_item">
                     <div class="info_list_item_label">鎵夸繚鍏徃锛�</div>
-                    <div class="info_list_item_val">瀹夊窘骞冲畨淇濋櫓鏈夐檺鍏徃</div>
+                    <div class="info_list_item_val">{{form.companyName}}</div>
                 </div>
+              <div class="info_list_item">
+                <div class="info_list_item_label">鎶曚繚绫诲瀷锛�</div>
+                <div class="info_list_item_val" v-if="form.type === 0 "> 鐩翠繚</div>
+                <div class="info_list_item_val" v-if="form.type === 1">濮旀墭鎶曚繚</div>
+              </div>
+              <div class="info_list_item" v-if="form.type === 1">
+                <div class="info_list_item_label">濮旀墭鍟嗘埛锛�</div>
+                <div class="info_list_item_val" > {{form.shopName}}</div>
+              </div>
                 <div class="info_list_item">
                     <div class="info_list_item_label">鎶曚繚骞撮緞锛�</div>
-                    <div class="info_list_item_val">25鑷�65</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">鎶曚繚绫诲瀷锛�</div>
-                    <div class="info_list_item_val">骞冲彴鎶曚繚</div>
+                    <div class="info_list_item_val">{{form.minAge}}鑷硔{form.maxAge}}</div>
                 </div>
                 <div class="info_list_item">
                     <div class="info_list_item_label">淇濋櫓璐圭敤锛�</div>
-                    <div class="info_list_item_val">200鍏�/浜�/骞�</div>
+                    <div class="info_list_item_val">
+                        {{form.price}}鍏�/浜�/
+                        <span v-if="form.timeUnit === 0">澶�</span>
+                        <span v-if="form.timeUnit === 1">鍗婃湀</span>
+                        <span v-if="form.timeUnit === 2">鏈�</span>
+                        <span v-if="form.timeUnit === 3">骞�</span>
+                    </div>
                 </div>
                 <div class="info_list_item">
                     <div class="info_list_item_label">鎶曚繚鍛ㄦ湡锛�</div>
-                    <div class="info_list_item_val">1鏈�</div>
+                    <div class="info_list_item_val">
+                        {{form.insureCycle}}
+                        <span v-if="form.insureCycleUnit === 0">澶�</span>
+                        <span v-if="form.insureCycleUnit === 1">鍗婃湀</span>
+                        <span v-if="form.insureCycleUnit === 2">鏈�</span>
+                        <span v-if="form.insureCycleUnit === 3">骞�</span>
+                    </div>
                 </div>
                 <div class="info_list_item">
                     <div class="info_list_item_label">鐢熸晥鏃堕棿锛�</div>
-                    <div class="info_list_item_val">1鏃ュ悗鐢熸晥</div>
+                    <div class="info_list_item_val">{{form.validType === 0 ? form.validTypeNum + '鏃ュ悗鐢熸晥' : '娆℃湀鐢熸晥'}}</div>
                 </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">鎶曚繚绫诲瀷锛�</div>
-                    <div class="info_list_item_val">鐩翠繚</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">鍗曠嫭鎸囨淳宸ョ锛�</div>
-                    <div class="info_list_item_val">鍚�</div>
-                </div>
+
                 <div class="info_list_item">
                     <div class="info_list_item_label">鎺ユ敹鏂囦欢閭锛�</div>
-                    <div class="info_list_item_val">111@163.com</div>
+                    <div class="info_list_item_val">{{form.email}}</div>
                 </div>
+              <div class="info_list_item" style="width: 100%" v-if="form.type==1">
+                <div class="info_list_item_label">鏂规纭涔︼細</div>
+                <div class="info_list_item_val" ><a v-if="form.fanganFile && form.fanganFile.fileurlFull" style="cursor: pointer;color: #2E68EC" title="鐐瑰嚮鏌ョ湅" @click="openFile(form.fanganFile.fileurlFull)">{{ form.fanganFile.name || '鐐瑰嚮鏌ョ湅' }}</a></div>
+              </div>
             </div>
             <el-table
-                :data="tableData"
+                :data="form.worktypeList"
                 border
                 style="width: 100%; margin-bottom: 20px;">
                 <el-table-column
@@ -67,15 +82,19 @@
                     </template>
                 </el-table-column>
                 <el-table-column
-                    prop="code"
+                    prop="worktypeName"
                     align="center"
-                    label="鎵�灞炲伐绉�">
+                    label="宸ョ鍚嶇О">
                 </el-table-column>
             </el-table>
-            <div class="info_fwb">瀵屾枃鏈唴瀹�</div>
+            <div class="info_agree">
+                <div class="info_agree_label">鐗瑰埆绾﹀畾锛歿{form.specialAgreement}}</div>
+                <div class="info_agree_label">鐗瑰埆璇存槑锛歿{form.specialInfo}}</div>
+                <div class="info_agree_label">鍏朵粬璇存槑锛歿{form.ortherInfo}}</div>
+            </div>
         </div>
         <!-- 淇敼 -->
-        <OperaSolutionsWindow ref="operaSolutionsWindow" @success="handlePageChange"/>
+        <OperaSolutionsWindow ref="operaSolutionsWindow" @success="callback"/>
     </GlobalWindow>
 </template>
 
@@ -83,6 +102,8 @@
     import BaseOpera from '@/components/base/BaseOpera'
     import GlobalWindow from '@/components/common/GlobalWindow'
     import OperaSolutionsWindow from '@/components/business/OperaSolutionsWindow'
+    import { solutionsId } from '@/api/business/solutions'
+    import {mapState} from "vuex";
     export default {
         name: 'OperaSolutionsDescWindow',
         extends: BaseOpera,
@@ -93,31 +114,97 @@
                 form: {
                     id: null,
                     name: '',
+                    companyName: '',
                     insuranceId: '',
-                    validType: '',
-                    type: '',
+                    validType: 0,
+                    type: 0,
                     minAge: '',
                     maxAge: '',
                     price: '',
                     timeUnit: '',
+                    insureCycle: '',
+                    shopName:'',
                     insureCycleUnit: '',
-                    priceCycleUnit: '',
+                    validTypeNum: '',
                     email: '',
                     specialAgreement: '',
                     specialInfo: '',
-                    ortherInfo: ''
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                },
-                tableData: []
+                    ortherInfo: '',
+                    insuranceName: '',
+                    signKeyword: '',
+                    worktypeList: [],
+                    worktypeIdList: []
+                }
             }
+        },
+        computed: {
+            ...mapState(['userInfo'])
         },
         created () {
             this.config({
                 api: '/business/solutions',
                 'field.id': 'id'
             })
+        },
+        methods: {
+            open (title, target) {
+                this.title = title
+                this.visible = true
+              this.form = {
+                    id: null,
+                    name: '',
+                    companyName: '',
+                    insuranceId: '',
+                    validType: 0,
+                    type: 0,
+                    minAge: '',
+                    maxAge: '',
+                    price: '',
+                    timeUnit: '',
+                    insureCycle: '',
+                    shopName:'',
+                    insureCycleUnit: '',
+                    validTypeNum: '',
+                    email: '',
+                    specialAgreement: '',
+                    specialInfo: '',
+                    ortherInfo: '',
+                    fanganFile:null,
+                    insuranceName: '',
+                    signKeyword: '',
+                    worktypeList: [],
+                    worktypeIdList: []
+              }
+
+                this.$nextTick(() => {
+                    for (const key in this.form) {
+                        this.form[key] = target[key]
+                    }
+                    this.getDetails()
+                })
+            },
+          openFile (url) {
+            setTimeout(() => {
+              window.open(url)
+            }, 500)
+          },
+            getDetails() {
+                solutionsId(this.form.id)
+                    .then(res => {
+                        for (const key in this.form) {
+                            this.form[key] = res[key]
+                        }
+                        this.form.worktypeIdList = res.worktypeList.map(item => {
+                            return {
+                                worktypeId: item.worktypeId
+                            }
+                        })
+                    })
+            },
+            callback() {
+                this.$emit('success')
+                this.visible = false
+            }
         }
     }
 </script>
@@ -125,6 +212,24 @@
 <style lang="scss" scoped>
     .info {
         width: 100%;
+        .info_agree {
+            width: 100%;
+            display: flex;
+            flex-direction: column;
+            margin-top: 20px;
+            .info_agree_label {
+                font-size: 14px;
+                font-weight: 500;
+                color: #000000;
+                margin-top: 5px;
+            }
+            .info_agree_val {
+                font-size: 14px;
+                font-weight: 500;
+                color: #000000;
+                margin-top: 5px;
+            }
+        }
         .info_label {
             width: 100%;
             display: flex;
@@ -152,7 +257,7 @@
                 align-items: start;
                 margin-bottom: 20px;
                 .info_list_item_label {
-                    width: 130px;
+
                     flex-shrink: 0;
                 }
                 .info_list_item_val {

--
Gitblit v1.9.3