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