From d18f5f25d61df0edcb6d5fa1b79809ed7d41e1cc Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 26 一月 2024 10:52:24 +0800
Subject: [PATCH] Mr.Shi

---
 company/src/components/business/OperaCompanyDescWindow.vue |  122 ++++++++++++++++++++++------------------
 company/src/api/business/solutions.js                      |    5 +
 company/src/api/business/company.js                        |   10 +++
 company/.env.development                                   |    4 
 company/src/views/business/company.vue                     |   23 ++++++-
 5 files changed, 101 insertions(+), 63 deletions(-)

diff --git a/company/.env.development b/company/.env.development
index e464a2e..622962f 100644
--- a/company/.env.development
+++ b/company/.env.development
@@ -1,6 +1,6 @@
 # 寮�鍙戠幆澧冮厤缃�
 NODE_ENV = 'development'
 
-# VUE_APP_API = 'http://192.168.0.104:10023/'
+VUE_APP_API = 'http://192.168.0.104:10023/'
 
-VUE_APP_API = 'http://192.168.0.134:10023/'
+# VUE_APP_API = 'http://192.168.0.134:10023/'
diff --git a/company/src/api/business/company.js b/company/src/api/business/company.js
index 455f28f..2e1ef12 100644
--- a/company/src/api/business/company.js
+++ b/company/src/api/business/company.js
@@ -21,3 +21,13 @@
 export function pageAll (data) {
     return request.post('/business/company/pageAll', data)
 }
+
+// 鏍规嵁ID绂佺敤鍚敤
+export function updateStatus (data) {
+    return request.post('/business/company/updateStatus', data)
+}
+
+// 鏍规嵁ID鏌ヨ
+export function getById (id) {
+    return request.get(`/business/company/${id}`)
+}
diff --git a/company/src/api/business/solutions.js b/company/src/api/business/solutions.js
index f97a25e..103e023 100644
--- a/company/src/api/business/solutions.js
+++ b/company/src/api/business/solutions.js
@@ -31,3 +31,8 @@
 export function solutionsId (id) {
     return request.get(`/business/solutions/${id}`)
 }
+
+// 鏌ヨ浼佷笟鍏ㄩ儴鍏宠仈鏂规
+export function listForCompany (data) {
+    return request.post('/business/companySolution/listForCompany', data)
+}
diff --git a/company/src/components/business/OperaCompanyDescWindow.vue b/company/src/components/business/OperaCompanyDescWindow.vue
index 0ff79a8..52d31c7 100644
--- a/company/src/components/business/OperaCompanyDescWindow.vue
+++ b/company/src/components/business/OperaCompanyDescWindow.vue
@@ -1,7 +1,7 @@
 <template>
     <GlobalWindow
         :title="title"
-        width="60%"
+        width="80%"
         :visible.sync="visible"
         :confirm-working="isWorking"
         @confirm="confirm"
@@ -14,54 +14,54 @@
             <div class="info_list">
                 <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.name || '-'}}</div>
                 </div>
                 <div class="info_list_item">
                     <div class="info_list_item_label">缁熶竴淇$敤浠g爜锛�</div>
-                    <div class="info_list_item_val">913418210000000000</div>
+                    <div class="info_list_item_val">{{form.code || '-'}}</div>
                 </div>
                 <div class="info_list_item">
                     <div class="info_list_item_label">鍏徃璐﹀彿锛�</div>
-                    <div class="info_list_item_val">qq2131321</div>
+                    <div class="info_list_item_val">{{form.username || '-'}}</div>
                 </div>
                 <div class="info_list_item">
                     <div class="info_list_item_label">缁戝畾鎵嬫満鍙凤細</div>
                     <div class="info_list_item_val">
-                        13555556666
+                        {{form.phone || '-'}}
                         <el-button type="primary" size="mini" style="margin-left: 10px;" @click="visiblePhone = true">鏇存敼缁戝畾</el-button>
                     </div>
                 </div>
                 <div class="info_list_item">
                     <div class="info_list_item_label">璁よ瘉閭锛�</div>
-                    <div class="info_list_item_val">123456@11.com</div>
+                    <div class="info_list_item_val">{{form.email || '-'}}</div>
                 </div>
                 <div class="info_list_item">
                     <div class="info_list_item_label">绾崇◣浜鸿瘑鍒彿锛�</div>
-                    <div class="info_list_item_val">913418210000000000</div>
+                    <div class="info_list_item_val">{{form.taxCode || '-'}}</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.taxBank || '-'}}</div>
                 </div>
                 <div class="info_list_item">
                     <div class="info_list_item_label">閾惰璐﹀彿锛�</div>
-                    <div class="info_list_item_val">20010355666666600000000</div>
+                    <div class="info_list_item_val">{{form.taxAccount || '-'}}</div>
                 </div>
                 <div class="info_list_item" style="width: 100%;">
                     <div class="info_list_item_label">鍦板潃銆佺數璇濓細</div>
-                    <div class="info_list_item_val">瀹夊窘鐪佸悎鑲ュ競缁忔祹鎶�鏈紑鍙戝尯鑾茶姳璺互涓溿�佺煶闂ㄨ矾浠ュ崡鑾茶姳璺�1锛�     0551-63450845</div>
+                    <div class="info_list_item_val">{{form.taxAddr || '-'}}</div>
                 </div>
                 <div class="info_list_item" style="width: 100%;">
                     <div class="info_list_item_label">鐢靛瓙鍙戠エ鎺ユ敹鍦板潃锛�</div>
-                    <div class="info_list_item_val">111122223333@qq.com</div>
+                    <div class="info_list_item_val">{{form.invoiceEmail || '-'}}</div>
                 </div>
                 <div class="info_list_item" style="width: 100%;">
                     <div class="info_list_item_label">鐢靛瓙鍙戠エ鎺ユ敹鍦板潃锛�</div>
-                    <div class="info_list_item_val">瀹夊窘鐪佸悎鑲ュ競缁忔祹鎶�鏈紑鍙戝尯鑾茶姳璺互涓溿�佺煶闂ㄨ矾浠ュ崡鑾茶姳璺�1锛�     鏉庣粡鐞�    13555556666</div>
+                    <div class="info_list_item_val">{{form.invoiceAddr || '-'}}</div>
                 </div>
             </div>
             <el-table
-                :data="tableData"
+                :data="form.solutionListName"
                 border
                 style="width: 100%; margin-bottom: 20px;">
                 <el-table-column
@@ -73,67 +73,51 @@
                     </template>
                 </el-table-column>
                 <el-table-column
+                    prop="solutionName"
                     align="center"
                     label="淇濋櫓鏂规">
-                    <template slot-scope="{row}">
-                        <el-select v-model="row.info" placeholder="璇烽�夋嫨">
-                            <el-option
-                                v-for="item in options"
-                                :key="item.value"
-                                :label="item.label"
-                                :value="item.value">
-                            </el-option>
-                        </el-select>
-                    </template>
                 </el-table-column>
                 <el-table-column
                     align="center"
                     label="鍔犲噺淇濆姛鑳�">
                     <template slot-scope="{row}">
-                        <el-checkbox-group v-model="row.type">
-                            <el-checkbox label="1">鍔犱繚</el-checkbox>
-                            <el-checkbox label="2">鍑忎繚</el-checkbox>
-                        </el-checkbox-group>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                    label="鎿嶄綔"
-                    align="center"
-                    width="100">
-                    <template slot-scope="scope">
-                        <el-button type="text" size="small" style="color: red;">鍒犻櫎</el-button>
+                        <el-checkbox :true-label="1" :false-label="0" disabled v-model="row.canAdd">鍔犱繚</el-checkbox>
+                        <el-checkbox :true-label="1" :false-label="0" disabled v-model="row.canReduce">鍑忎繚</el-checkbox>
                     </template>
                 </el-table-column>
             </el-table>
-            <div class="info_list">
+            <div class="info_list" v-if="JSON.stringify(form) !== '{}'">
                 <div class="info_list_item">
                     <div class="info_list_item_label" style="width: 100px;">钀ヤ笟鎵х収锛�</div>
                     <div class="info_list_item_val">
-                        <div class="image">
-                            <img src="@/assets/images/404.png" alt="">
+                        <div class="image" v-if="form.businessImg.fileurl">
+                            <img :src="form.businessImg.fileurlFull + form.businessImg.fileurl" alt="">
                         </div>
                     </div>
                 </div>
                 <div class="info_list_item">
                     <div class="info_list_item_label" style="width: 100px;">娉曚汉韬唤璇侊細</div>
                     <div class="info_list_item_val">
-                        <div class="image">
-                            <img src="@/assets/images/404.png" alt="">
+                        <div class="image" v-if="form.idcardImgList[0].fileurl">
+                            <img :src="form.idcardImgList[0].fileurlFull + form.idcardImgList[0].fileurl" alt="">
+                        </div>
+                        <div class="image" v-if="form.idcardImgList[1].fileurl">
+                            <img :src="form.idcardImgList[1].fileurlFull + form.idcardImgList[1].fileurl" alt="">
                         </div>
                     </div>
                 </div>
                 <div class="info_list_item">
                     <div class="info_list_item_label" style="width: 100px;">浼佷笟绛剧珷锛�</div>
                     <div class="info_list_item_val">
-                        <div class="image">
-                            <img src="@/assets/images/404.png" alt="">
+                        <div class="image" v-if="form.signImg.fileurl">
+                            <img :src="form.signImg.fileurlFull + form.signImg.fileurl" alt="">
                         </div>
                     </div>
                 </div>
             </div>
         </div>
         <!-- 鏂板缓/淇敼 -->
-        <OperaCompanyWindow ref="operaCompanyWindow" @success="handlePageChange"/>
+        <OperaCompanyWindow ref="operaCompanyWindow" @success="callback"/>
         <el-dialog
             title="鏇存敼缁戝畾鎵嬫満鍙�"
             :visible.sync="visiblePhone"
@@ -169,6 +153,8 @@
     import BaseOpera from '@/components/base/BaseOpera'
     import GlobalWindow from '@/components/common/GlobalWindow'
     import OperaCompanyWindow from '@/components/business/OperaCompanyWindow'
+    import { getById } from '@/api/business/company'
+    import { listForCompany } from '@/api/business/solutions'
     export default {
         name: 'OperaCompanyDescWindow',
         extends: BaseOpera,
@@ -180,19 +166,7 @@
                     code: ''
                 },
                 // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    name: '',
-                    code: '',
-                    taxCode: '',
-                    taxAccount: '',
-                    taxBank: '',
-                    taxAddr: '',
-                    invoiceEmail: '',
-                    invoiceAddr: '',
-                    phone: '',
-                    email: ''
-                },
+                form: {},
                 visiblePhone: false,
                 options: [],
                 tableData: []
@@ -203,6 +177,38 @@
                 api: '/business/company',
                 'field.id': 'id'
             })
+        },
+        methods: {
+            open (title, target) {
+                const that = this;
+                this.title = title
+                getById(target.id)
+                    .then(res => {
+                        this.form = res
+                        listForCompany({ companyId: target.id })
+                            .then(resa => {
+                                that.form.solutionList = resa.map(item => {
+                                    return {
+                                        solutionBaseId: item.solutionBaseId,
+                                        canAdd: item.canAdd,
+                                        canReduce: item.canReduce
+                                    }
+                                })
+                                that.form.solutionListName = resa.map(item => {
+                                    return {
+                                        solutionName: item.solutionName,
+                                        canAdd: item.canAdd,
+                                        canReduce: item.canReduce
+                                    }
+                                })
+                                that.visible = true
+                            })
+                    })
+            },
+            callback() {
+                this.$emit('success')
+                this.visible = false
+            }
         }
     }
 </script>
@@ -283,6 +289,10 @@
                         align-items: center;
                         justify-content: center;
                         overflow: hidden;
+                        margin-right: 10px;
+                        &:last-child {
+                            margin: 0 !important;
+                        }
                         img {
                             width: 100%;
                         }
diff --git a/company/src/views/business/company.vue b/company/src/views/business/company.vue
index c725529..e0a2098 100644
--- a/company/src/views/business/company.vue
+++ b/company/src/views/business/company.vue
@@ -19,8 +19,7 @@
         <!-- 琛ㄦ牸鍜屽垎椤� -->
         <template v-slot:table-wrap>
             <ul class="toolbar" v-permissions="['business:company:create']">
-                <li><el-button type="primary" @click="$refs.operaCompanyWindow.open('鏂板缓浼佷笟淇℃伅琛�')" v-permissions="['business:company:create']">鏂板缓浼佷笟</el-button></li>
-                <li><el-button type="primary" @click="$refs.OperaCompanyDescWindow.open('璇︽儏')" v-permissions="['business:company:create']">璇︽儏</el-button></li>
+                <li><el-button type="primary" @click="$refs.operaCompanyWindow.open('鏂板缓浼佷笟')" v-permissions="['business:company:create']">鏂板缓浼佷笟</el-button></li>
             </ul>
             <el-table
                 v-loading="isWorking.search"
@@ -34,6 +33,7 @@
                 <el-table-column label="鍚敤鐘舵��" min-width="100px">
                     <template slot-scope="{row}">
                         <el-switch
+                            @change="changeStatus($event, row)"
                             v-model="row.status"
                             active-color="#13ce66"
                             inactive-color="#ff4949"
@@ -49,9 +49,9 @@
                     fixed="right"
                 >
                     <template slot-scope="{row}">
-                        <el-button type="text" @click="$refs.operaCompanyWindow.open('缂栬緫浼佷笟淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:company:update']">鏌ョ湅璇︽儏</el-button>
-                        <el-button type="text" @click="$refs.operaCompanyWindow.open('缂栬緫浼佷笟淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:company:update']">淇敼</el-button>
-                        <el-button type="text" @click="$refs.operaCompanyWindow.open('缂栬緫浼佷笟淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:company:update']">鐢靛瓙绛捐璇�</el-button>
+                        <el-button type="text" @click="$refs.OperaCompanyDescWindow.open('浼佷笟璇︽儏', row)"  v-permissions="['business:company:update']">鏌ョ湅璇︽儏</el-button>
+                        <el-button type="text" @click="$refs.operaCompanyWindow.open('缂栬緫浼佷笟淇℃伅琛�', row)" v-permissions="['business:company:update']">淇敼</el-button>
+                        <el-button type="text" @click="$refs.operaCompanyWindow.open('缂栬緫浼佷笟淇℃伅琛�', row)" v-permissions="['business:company:update']">鐢靛瓙绛捐璇�</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -75,6 +75,7 @@
     import Pagination from '@/components/common/Pagination'
     import OperaCompanyWindow from '@/components/business/OperaCompanyWindow'
     import OperaCompanyDescWindow from '@/components/business/OperaCompanyDescWindow'
+    import { updateStatus } from '@/api/business/company'
     export default {
         name: 'Company',
         extends: BaseTable,
@@ -96,6 +97,18 @@
                 'field.main': 'id'
             })
             this.search()
+        },
+        methods: {
+            // 淇敼鐘舵��
+            changeStatus(status, row) {
+                updateStatus({ id: row.id, status })
+                    .then(res => {
+                        this.search()
+                    })
+                    .catch(err => {
+                        row.status = row.status === 0 ? 1 : 0
+                    })
+            }
         }
     }
 </script>

--
Gitblit v1.9.3