From d2bc6e096f0806b78ea92d4b90a21d3627d406c7 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期五, 08 三月 2024 18:28:42 +0800
Subject: [PATCH] mrshi
---
company/src/components/business/OperaCompanyWindow.vue | 481 +++++++++++++++++++++++++++--------------------------
1 files changed, 246 insertions(+), 235 deletions(-)
diff --git a/company/src/components/business/OperaCompanyWindow.vue b/company/src/components/business/OperaCompanyWindow.vue
index 44c6e69..dc1baad 100644
--- a/company/src/components/business/OperaCompanyWindow.vue
+++ b/company/src/components/business/OperaCompanyWindow.vue
@@ -1,7 +1,7 @@
<template>
<GlobalWindow
:title="title"
- width="50%"
+ width="60%"
:visible.sync="visible"
:confirm-working="isWorking"
@confirm="confirm"
@@ -13,10 +13,10 @@
<el-form-item label="缁熶竴淇$敤浠g爜" prop="code">
<el-input v-model="form.code" placeholder="璇疯緭鍏�" v-trim/>
</el-form-item>
- <el-form-item label="娉曚汉濮撳悕" prop="legalName" v-if="form.type !== 1">
+ <el-form-item label="娉曚汉濮撳悕" prop="legalName">
<el-input v-model="form.legalName" placeholder="璇疯緭鍏�" v-trim/>
</el-form-item>
- <el-form-item label="缁戝畾鎵嬫満鍙�" prop="phone" v-if="form.type !== 1">
+ <el-form-item label="缁戝畾鎵嬫満鍙�" prop="phone" v-if="!form.id">
<div style="width: 100%; display: flex; align-items: center;">
<el-input v-model="form.phone" maxlength="11" type="number" style="flex: 1;" placeholder="璇疯緭鍏�" v-trim/>
<el-button type="primary" style="flex-shrink: 0; margin-left: 15px;" @click="send" v-if="num === 0">鍙戦�侀獙璇佺爜</el-button>
@@ -29,7 +29,7 @@
<el-form-item label="鍏徃璐﹀彿" prop="username" v-if="form.type !== 1">
<el-input v-model="form.username" placeholder="璇疯緭鍏�" v-trim/>
</el-form-item>
- <el-form-item label="璁よ瘉閭" prop="email" v-if="form.type !== 1">
+ <el-form-item label="璁よ瘉閭" prop="email" >
<el-input v-model="form.email" placeholder="璇疯緭鍏�" v-trim/>
</el-form-item>
<el-form-item label="绾崇◣浜鸿瘑鍒彿" prop="taxCode">
@@ -51,18 +51,22 @@
<el-input v-model="form.invoiceAddr" placeholder="璇疯緭鍏�" v-trim/>
</el-form-item>
<el-form-item label="钀ヤ笟鎵х収" prop="businessImg">
- <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file" @uploadSuccess="result" />
+ <div style="width: 100%; height: 100px; display: flex; align-items: center;">
+ <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file" @uploadSuccess="result" />
+ </div>
</el-form-item>
- <el-form-item label="娉曚汉韬唤璇�" prop="idcardImgList">
+ <el-form-item label="娉曚汉韬唤璇�" prop="idcardImgList" style="height: 120px">
<div style="width: 100%; display: flex; align-items: center;">
<UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file1" @uploadSuccess="result1" />
<div style="width: 15px;height: 100%;"></div>
<UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file2" @uploadSuccess="result2" />
</div>
</el-form-item>
- <el-form-item label="鐢靛瓙绛剧珷" prop="signImg">
- <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file3" @uploadSuccess="result3" />
- </el-form-item>
+<!-- <el-form-item label="鐢靛瓙绛剧珷" prop="signImg">-->
+<!-- <div style="width: 100%; height: 100px; display: flex; align-items: center;">-->
+<!-- <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file3" @uploadSuccess="result3" />-->
+<!-- </div>-->
+<!-- </el-form-item>-->
</el-form>
<el-button type="primary" style="margin-bottom: 15px;" @click="add" v-if="form.type !== 1">娣诲姞</el-button>
<el-table
@@ -81,15 +85,15 @@
<el-table-column
align="center"
label="淇濋櫓鏂规">
- <template slot-scope="{row}">
- <el-select v-model="row.solutionBaseId" placeholder="璇烽�夋嫨">
- <el-option
- v-for="item in programme"
- :key="item.id"
- :label="item.name"
- :value="item.id">
- </el-option>
- </el-select>
+ <template slot-scope="scope">
+ <el-select v-model="scope.row.solution" value-key="id" placeholder="璇烽�夋嫨" change="changeSolution($event,scope.$index)">
+ <el-option
+ v-for="item in programme"
+ :key="item.id"
+ :label="item.name"
+ :value="item">
+ </el-option>
+ </el-select>
</template>
</el-table-column>
<el-table-column
@@ -113,223 +117,230 @@
</template>
<script>
- import BaseOpera from '@/components/base/BaseOpera'
- import GlobalWindow from '@/components/common/GlobalWindow'
- import UploadAvatarImage from '@/components/common/UploadAvatarImage'
- import { all } from '@/api/business/solutions'
- import { sendSms } from '@/api/business/smsEmail'
- export default {
- name: 'OperaCompanyWindow',
- extends: BaseOpera,
- components: { GlobalWindow, UploadAvatarImage },
- data () {
- return {
- // 琛ㄥ崟鏁版嵁
- form: {
- id: null,
- name: '',
- code: '',
- legalName: '',
- taxCode: '',
- taxAccount: '',
- username: '',
- taxBank: '',
- taxAddr: '',
- invoiceEmail: '',
- invoiceAddr: '',
- phone: '',
- email: '',
- captche: '',
- businessImg: {
- fileurl: '',
- name: ''
- },
- idcardImgList: [],
- signImg: {
- fileurl: '',
- name: ''
- },
- solutionList: [
- {
- solutionBaseId: '',
- canAdd: 0,
- canReduce: 0
- }
- ],
- type: '',
- file: {
- imgurl: '',
- imgurlfull: ''
- },
- file1: {
- imgurl: '',
- imgurlfull: ''
- },
- file2: {
- imgurl: '',
- imgurlfull: ''
- },
- file3: {
- imgurl: '',
- imgurlfull: ''
- },
- },
- timer: null,
- num: 0,
- // 楠岃瘉瑙勫垯
- rules: {
- name: [
- { required: true, message: '璇疯緭鍏ュ叕鍙稿悕绉�' }
- ],
- code: [
- { required: true, message: '璇疯緭鍏ョ粺涓�淇$敤浠g爜' }
- ],
- captche: [
- { required: true, message: '璇疯緭鍏ラ獙璇佺爜' }
- ],
- legalName: [
- { required: true, message: '璇疯緭鍏ユ硶浜哄鍚�' }
- ],
- phone: [
- { required: true, message: '璇疯緭鍏ユ墜鏈哄彿' }
- ],
- taxAccount: [
- { required: true, message: '璇疯緭鍏ユ墜鏈哄彿' }
- ],
- email: [
- { required: true, message: '璇疯緭鍏ヨ璇侀偖绠�' }
- ],
- businessImg: [
- { required: true, message: '璇蜂笂浼犺惀涓氭墽鐓�' }
- ],
- idcardImgList: [
- { required: true, message: '璇蜂笂浼犳硶浜鸿韩浠借瘉' }
- ],
- signImg: [
- { required: true, message: '璇蜂笂浼犵數瀛愮绔�' }
- ],
- username: [
- { required: true, message: '璇疯緭鍏ュ叕鍙歌处鍙�' }
- ]
- },
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import UploadAvatarImage from '@/components/common/UploadAvatarImage'
+import { all } from '@/api/business/solutions'
+import { sendSms } from '@/api/business/smsEmail'
+export default {
+ name: 'OperaCompanyWindow',
+ extends: BaseOpera,
+ components: { GlobalWindow, UploadAvatarImage },
+ data () {
+ return {
+ // 琛ㄥ崟鏁版嵁
+ initParam:{
+ id: null,
+ name: '',
+ code: '',
+ legalName: '',
+ taxCode: '',
+ taxAccount: '',
+ username: '',
+ taxBank: '',
+ taxAddr: '',
+ invoiceEmail: '',
+ invoiceAddr: '',
+ phone: '',
+ email: '',
+ captche: '',
+ businessImg: {
+ fileurl: '',
+ name: ''
+ },
+ idcardImgList: [],
+ signImg: {
+ fileurl: '',
+ name: ''
+ },
+ solutionList: [
+ {
+ solution: null,
+ canAdd: 0,
+ canReduce: 0
+ }
+ ],
+ type: '0',
+ file: {
+ imgurl: '',
+ imgurlfull: ''
+ },
+ file1: {
+ imgurl: '',
+ imgurlfull: ''
+ },
+ file2: {
+ imgurl: '',
+ imgurlfull: ''
+ },
+ file3: {
+ imgurl: '',
+ imgurlfull: ''
+ },
+ },
+ form: {},
+ timer: null,
+ num: 0,
+ // 楠岃瘉瑙勫垯
+ rules: {
+ name: [
+ { required: true, message: '璇疯緭鍏ュ叕鍙稿悕绉�' }
+ ],
+ code: [
+ { required: true, message: '璇疯緭鍏ョ粺涓�淇$敤浠g爜' }
+ ],
+ captche: [
+ { required: true, message: '璇疯緭鍏ラ獙璇佺爜' }
+ ],
+ legalName: [
+ { required: true, message: '璇疯緭鍏ユ硶浜哄鍚�' }
+ ],
+ phone: [
+ { required: true, message: '璇疯緭鍏ユ墜鏈哄彿' }
+ ],
+ // taxAccount: [
+ // { required: true, message: '璇疯緭鍏ラ摱琛屽崱' }
+ // ],
+ email: [
+ { required: true, message: '璇疯緭鍏ヨ璇侀偖绠�' }
+ ],
+ businessImg: [
+ { required: true, message: '璇蜂笂浼犺惀涓氭墽鐓�' }
+ ],
+ idcardImgList: [
+ { required: true, message: '璇蜂笂浼犳硶浜鸿韩浠借瘉' }
+ ],
+ signImg: [
+ { required: true, message: '璇蜂笂浼犵數瀛愮绔�' }
+ ],
+ username: [
+ { required: true, message: '璇疯緭鍏ュ叕鍙歌处鍙�' }
+ ]
+ },
- programme: []
- }
- },
- created () {
- this.config({
- api: '/business/company',
- 'field.id': 'id'
- })
- },
- watch: {
- visible: {
- handler(news) {
- if (news) {
- clearInterval(this.timer)
- this.num = 0
- }
- }
- }
- },
- methods: {
- send() {
- if (!this.form.phone) {
- this.$message.warning('璇疯緭鍏ユ墜鏈哄彿')
- return
- }
- sendSms({ phone: this.form.phone })
- .then(res => {
- this.num = 60
- this.setTime()
- })
- },
- setTime() {
- this.timer = setInterval(() => {
- this.num -= 1
- if (this.num === 0) {
- clearInterval(this.timer)
- this.num = 0
- }
- }, 1000)
- },
- open (title, target) {
- this.title = title
- this.visible = true
- this.getAll()
- // 鏂板缓
- if (target == null) {
- this.$nextTick(() => {
- this.$refs.form.resetFields()
- this.form[this.configData['field.id']] = null
- })
- return
- }
- // 缂栬緫
- this.$nextTick(() => {
- for (const key in this.form) {
- this.form[key] = target[key]
- }
- })
- },
- // 鑾峰彇鍏ㄩ儴鏂规
- getAll() {
- all({})
- .then(res => {
- this.programme = res
- })
- },
- dele(index) {
- if (this.form.solutionList.length === 1) {
- this.$message.warning('鑷冲皯淇濈暀涓�椤�')
- return
- }
- this.form.solutionList.splice(index, 1)
- },
- add() {
- this.form.solutionList.push({
- solutionName: '',
- canAdd: '',
- canReduce: ''
- })
- },
- handleRemove(file, fileList) {
- console.log(file, fileList);
- },
- // 鎺ユ敹钀ヤ笟鎵х収鏁版嵁
- result(data) {
- this.form.businessImg = {
- fileurl: '',
- name: ''
- }
- this.form.businessImg.fileurl = data.imgurl
- this.form.businessImg.name = data.name
- },
- // 韬唤璇佺収鐗�1
- result1(data) {
- this.form.idcardImgList[0] = {
- fileurl: '',
- name: ''
- }
- this.form.idcardImgList[0] = { fileurl: data.imgurl, name: data.name }
- },
- // 韬唤璇佺収鐗�2
- result2(data) {
- this.form.idcardImgList[1] = {
- fileurl: '',
- name: ''
- }
- this.form.idcardImgList[1] = { fileurl: data.imgurl, name: data.name }
- },
- // 鐢靛瓙绛剧珷
- result3(data) {
- this.form.signImg = {
- fileurl: '',
- name: ''
- }
- this.form.signImg.fileurl = data.imgurl
- this.form.signImg.name = data.name
- }
- }
+ programme: []
}
+ },
+ created () {
+ this.config({
+ api: '/business/company',
+ 'field.id': 'id'
+ })
+ },
+ watch: {
+ visible: {
+ handler (news) {
+ if (news) {
+ clearInterval(this.timer)
+ this.num = 0
+ }
+ }
+ }
+ },
+ methods: {
+ changeSolution(row,index){
+ this.form.solutionList[index].solution=row
+ // console.log(this.form.solutionList)
+ },
+ send () {
+ if (!this.form.phone) {
+ this.$message.warning('璇疯緭鍏ユ墜鏈哄彿')
+ return
+ }
+ sendSms({ phone: this.form.phone })
+ .then(res => {
+ this.num = 60
+ this.setTime()
+ })
+ },
+ setTime () {
+ this.timer = setInterval(() => {
+ this.num -= 1
+ if (this.num === 0) {
+ clearInterval(this.timer)
+ this.num = 0
+ }
+ }, 1000)
+ },
+ open (title, target,type) {
+ this.title = title
+ this.visible = true
+ this.form = this.initParam
+ this.getAll()
+ // 鏂板缓
+ if (target == null) {
+ this.$nextTick(() => {
+ this.$refs.form.resetFields()
+ this.form[this.configData['field.id']] = null
+ })
+ return
+ }
+ // 缂栬緫
+ this.$nextTick(() => {
+ for (const key in this.form) {
+ this.form[key] = target[key]
+ }
+ })
+ },
+ // 鑾峰彇鍏ㄩ儴鏂规
+ getAll () {
+ all({})
+ .then(res => {
+ this.programme = res
+ })
+ },
+ dele (index) {
+ if (this.form.solutionList.length === 1) {
+ this.$message.warning('鑷冲皯淇濈暀涓�椤�')
+ return
+ }
+ this.form.solutionList.splice(index, 1)
+ },
+ add () {
+ this.form.solutionList.push({
+ solutionId:null,
+ solution: {},
+ canAdd: '',
+ canReduce: ''
+ })
+ },
+ handleRemove (file, fileList) {
+ console.log(file, fileList)
+ },
+ // 鎺ユ敹钀ヤ笟鎵х収鏁版嵁
+ result (data) {
+ this.form.businessImg = {
+ fileurl: '',
+ name: ''
+ }
+ this.form.businessImg.fileurl = data.imgurl
+ this.form.businessImg.name = data.name
+ },
+ // 韬唤璇佺収鐗�1
+ result1 (data) {
+ this.form.idcardImgList[0] = {
+ fileurl: '',
+ name: ''
+ }
+ this.form.idcardImgList[0] = { fileurl: data.imgurl, name: data.name }
+ },
+ // 韬唤璇佺収鐗�2
+ result2 (data) {
+ this.form.idcardImgList[1] = {
+ fileurl: '',
+ name: ''
+ }
+ this.form.idcardImgList[1] = { fileurl: data.imgurl, name: data.name }
+ },
+ // 鐢靛瓙绛剧珷
+ result3 (data) {
+ this.form.signImg = {
+ fileurl: '',
+ name: ''
+ }
+ this.form.signImg.fileurl = data.imgurl
+ this.form.signImg.name = data.name
+ }
+ }
+}
</script>
--
Gitblit v1.9.3