From 798dcfbbc3ab2a81d1e873b25e00bf5e4ed03aa7 Mon Sep 17 00:00:00 2001 From: liukangdong <898885815@qq.com> Date: 星期一, 02 十二月 2024 18:11:54 +0800 Subject: [PATCH] ll --- admin/src/views/client/components/OperaYwCustomerWindow.vue | 186 ++++++++++++++++++++++++++++++---------------- 1 files changed, 122 insertions(+), 64 deletions(-) diff --git a/admin/src/views/client/components/OperaYwCustomerWindow.vue b/admin/src/views/client/components/OperaYwCustomerWindow.vue index a7b8bf9..bbfb6b6 100644 --- a/admin/src/views/client/components/OperaYwCustomerWindow.vue +++ b/admin/src/views/client/components/OperaYwCustomerWindow.vue @@ -1,81 +1,98 @@ <template> - <GlobalWindow :title="title" width="900px" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm"> + <GlobalWindow :title="title" width="800px" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm"> <el-form :model="form" ref="form" :rules="rules"> <div class="list"> <div class="title">鍩虹淇℃伅</div> - <el-form-item label="瀹㈡埛" prop="name"> + <el-form-item label="瀹㈡埛鍚嶇О" prop="name"> <div class="df"> <el-input v-model="form.name" placeholder="璇疯緭鍏ュ鎴�" v-trim /> - <el-checkbox v-model="form.type" class="ml10" true-label="0" false-label="1">涓汉</el-checkbox> + <el-checkbox v-model="form.type" class="ml10" :true-label="0" :false-label="1">涓汉</el-checkbox> </div> </el-form-item> <el-form-item label="琛屼笟鍒嗙被" prop="industryId"> <el-select v-model="form.industryId" clearable filterable> <el-option v-for="item in cateList" :value="item.id" :label="item.name" /> + <div key="21" class="df_center mt10"><el-button type="primary" plain class="w200" + @click="openTrade">娣诲姞</el-button> + </div> </el-select> </el-form-item> <el-form-item label="瀹㈡埛缂栧彿" prop="code"> <el-input v-model="form.code" placeholder="璇疯緭鍏�" v-trim /> </el-form-item> - <div class="title">榛樿鑱旂郴浜�</div> - <el-form-item label="濮撳悕" prop="member.name"> - <el-input v-model="form.member.name" placeholder="璇疯緭鍏�" v-trim /> - </el-form-item> - <el-form-item label="鎵嬫満鍙�" prop="member.phone"> - <el-input v-model="form.member.phone" placeholder="璇疯緭鍏ユ墜鏈哄彿" v-trim /> - </el-form-item> - <el-form-item label="韬唤"> - <el-select v-model="form.member.highCheckor" filterable> - <el-option :value="0" label="鑰佹澘/瓒呯骇绠$悊鍛�" /> - <el-option :value="1" label="浜轰簨/绠$悊鍛�" /> - <el-option :value="2" label="鍛樺伐/鏅�氬憳宸�" /> + <template v-if="!form.id"> + <div class="title">榛樿鑱旂郴浜�</div> + <el-form-item label="濮撳悕" prop="member.name"> + <el-input v-model="form.member.name" placeholder="璇疯緭鍏�" v-trim /> + </el-form-item> + <el-form-item label="鎵嬫満鍙�" prop="member.phone"> + <el-input v-model="form.member.phone" placeholder="璇疯緭鍏ユ墜鏈哄彿" v-trim /> + </el-form-item> + <el-form-item label="韬唤"> + <el-select v-model="form.member.highCheckor" filterable> + <el-option :value="0" label="鑰佹澘/瓒呯骇绠$悊鍛�" /> + <el-option :value="1" label="浜轰簨/绠$悊鍛�" /> + <el-option :value="2" label="鍛樺伐/鏅�氬憳宸�" /> + </el-select> + </el-form-item> + <el-form-item label="璇佷欢绫诲瀷"> + <el-select v-model="form.member.idcardType" filterable> + <el-option :value="0" label="韬唤璇�" /> + <el-option :value="1" label="娓境璇佷欢" /> + <el-option :value="2" label="鎶ょ収" /> + </el-select> + </el-form-item> + <el-form-item label="璇佷欢鍙风爜" prop="member.idcardNo"> + <el-input v-model="form.member.idcardNo" placeholder="璇疯緭鍏�" v-trim /> + </el-form-item> + <el-form-item label="閭" prop="email"> + <el-input v-model="form.member.email" placeholder="璇疯緭鍏ラ偖绠�" v-trim /> + </el-form-item> + </template> + <el-form-item v-else label="榛樿鑱旂郴浜�" prop="memberId"> + <el-select v-model="form.memberId" clearable filterable> + <el-option v-for="item in clientList" :value="item.id" :label="item.name" /> + <div key="11" class="df_center mt10"><el-button type="primary" plain class="w200" + @click="openClient">娣诲姞</el-button> + </div> </el-select> </el-form-item> - <el-form-item label="璇佷欢绫诲瀷"> - <el-select v-model="form.member.idcardType" filterable> - <el-option :value="0" label="韬唤璇�" /> - <el-option :value="1" label="娓境璇佷欢" /> - <el-option :value="2" label="鎶ょ収" /> - </el-select> - </el-form-item> - <el-form-item label="璇佷欢鍙风爜" prop="member.idcardNo"> - <el-input v-model="form.member.idcardNo" placeholder="璇疯緭鍏�" v-trim /> - </el-form-item> - <el-form-item label="閭" prop="email"> - <el-input v-model="form.member.email" placeholder="璇疯緭鍏ラ偖绠�" v-trim /> - </el-form-item> - - <div class="title">璐︽埛淇℃伅</div> - <el-form-item label="寮�鎴烽摱琛�" prop="accountBank"> - <el-input v-model="form.accountBank" placeholder="璇疯緭鍏ュ紑鎴烽摱琛�" v-trim /> - </el-form-item> - <el-form-item label="璐﹀彿" prop="accountNo"> - <el-input v-model="form.accountNo" placeholder="璇疯緭鍏ヨ处鍙�" v-trim /> - </el-form-item> - <el-form-item label="鐢佃瘽" prop="accountPhone"> - <el-input v-model="form.accountPhone" placeholder="璇疯緭鍏ヨ处鎴风數璇�" v-trim /> - </el-form-item> - <el-form-item label="缁熶竴淇$敤浠g爜" prop="creditCard"> - <el-input v-model="form.creditCard" placeholder="璇疯緭鍏ョ粺涓�淇$敤浠g爜" v-trim /> - </el-form-item> - <el-form-item label="榛樿鍙戠エ绫诲瀷" prop="fpType"> - <el-select v-model="form.fpType" clearable filterable> - <el-option :value="0" label="澧炲�肩◣鏅�氬彂绁�" /> - <el-option :value="1" label="澧炲�肩◣涓撶敤鍙戠エ" /> - </el-select> - </el-form-item> - <el-form-item label="娉ㄥ唽鍦板潃" prop="accountAddr"> - <el-input v-model="form.accountAddr" placeholder="璇疯緭鍏ヨ处鍙锋敞鍐屽湴鍧�" v-trim /> - </el-form-item> - <el-form-item label="钀ヤ笟鏈熼檺"> - <div class="df"> - <el-date-picker type="date" v-model="form.validity" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨" /> - <el-checkbox v-model="form.selLangTime" @change="changeValid" class="ml10">闀挎湡</el-checkbox> - </div> - </el-form-item> + <template v-if="form.type == 1"> + <div class="title">璐︽埛淇℃伅</div> + <el-form-item label="寮�鎴烽摱琛�" prop="accountBank"> + <el-input v-model="form.accountBank" placeholder="璇疯緭鍏ュ紑鎴烽摱琛�" v-trim /> + </el-form-item> + <el-form-item label="璐﹀彿" prop="accountNo"> + <el-input v-model="form.accountNo" placeholder="璇疯緭鍏ヨ处鍙�" v-trim /> + </el-form-item> + <el-form-item label="鐢佃瘽" prop="accountPhone"> + <el-input v-model="form.accountPhone" placeholder="璇疯緭鍏ヨ处鎴风數璇�" v-trim /> + </el-form-item> + <el-form-item label="缁熶竴淇$敤浠g爜" prop="creditCard"> + <el-input v-model="form.creditCard" placeholder="璇疯緭鍏ョ粺涓�淇$敤浠g爜" v-trim /> + </el-form-item> + <el-form-item label="榛樿鍙戠エ绫诲瀷" prop="fpType"> + <el-select v-model="form.fpType" clearable filterable> + <el-option :value="0" label="澧炲�肩◣鏅�氬彂绁�" /> + <el-option :value="1" label="澧炲�肩◣涓撶敤鍙戠エ" /> + </el-select> + </el-form-item> + <el-form-item label="娉ㄥ唽鍦板潃" prop="accountAddr"> + <el-input v-model="form.accountAddr" placeholder="璇疯緭鍏ヨ处鍙锋敞鍐屽湴鍧�" v-trim /> + </el-form-item> + <el-form-item label="钀ヤ笟鏈熼檺"> + <div class="df"> + <el-date-picker type="date" v-model="form.validity" value-format="yyyy-MM-dd" placeholder="璇烽�夋嫨" /> + <el-checkbox v-model="form.selLangTime" @change="changeValid" class="ml10">闀挎湡</el-checkbox> + </div> + </el-form-item> + </template> </div> </el-form> + <!-- --> + <OperaCategoryWindow ref="OperaCategoryWindowRef" @success="initData" /> + <StaffEdit ref="StaffEditRef" @success="getClient" /> </GlobalWindow> </template> @@ -85,10 +102,13 @@ import { fetchCateList } from '@/api/business/category' import { rules } from './config' import { detailById } from '@/api/client/ywCustomer' +import { fetchList } from '@/api/client/staff' +import OperaCategoryWindow from './OperaCategoryWindow.vue' +import StaffEdit from './staffEdit.vue' export default { name: 'OperaYwCustomerWindow', extends: BaseOpera, - components: { GlobalWindow }, + components: { GlobalWindow, OperaCategoryWindow, StaffEdit }, data() { return { // 琛ㄥ崟鏁版嵁 @@ -102,7 +122,7 @@ isdeleted: '', remark: '', industryId: '', - type: '1', + type: 1, name: '', phone: '', idcardNo: '', @@ -110,11 +130,12 @@ code: '', status: '', memberName: '', - + lastLoginDate: '', loginNum: '', userId: '', - + memberId: '', + accountBank: '', accountNo: '', accountPhone: '', @@ -123,7 +144,6 @@ accountAddr: '', // identityType: '0', email: '', - memberId: '', member: { name: "", phone: "", @@ -133,6 +153,10 @@ email: '', } }, + title: '鏂板瀹㈡埛', + isShowTrade: false, + + clientList: [], cateList: [], // 楠岃瘉瑙勫垯 rules @@ -145,12 +169,25 @@ }) }, methods: { + openTrade() { + this.$refs.OperaCategoryWindowRef.open('鏂板琛屼笟') + }, + openClient() { + this.$refs.StaffEditRef.open('鏂板缓浜哄憳') + setTimeout(() => { + this.$refs.StaffEditRef.form.customerId = this.form.id + console.log('--', this.$refs.StaffEditRef.form); + + // this.$update + }, 1200) + this.$refs.StaffEditRef.customerId = this.form.id + }, initData() { fetchCateList({ type: 6 }).then(res => { this.cateList = res }) }, - open (title, target) { + open(title, target) { this.title = title this.visible = true this.initData() @@ -158,18 +195,39 @@ if (target == null) { this.$nextTick(() => { this.$refs.form.resetFields() + this.form.validity = '' + this.form.id = '' + this.form.member = { + name: "", + phone: "", + highCheckor: 0, + idcardType: 0, + idcardNo: '', + email: '', + } }) + this.form.type = 1 return } // 缂栬緫 this.$nextTick(() => { - if(title == '缂栬緫瀹㈡埛'){ + if (title == '缂栬緫瀹㈡埛') { + this.getClient() detailById(target.id).then(res => { this.form = res }) } }) }, + getClient() { + fetchList({ + capacity: 9999, + page: 1, + model: {} + }).then(res => { + this.clientList = res.records + }) + }, changeValid(e) { this.$set(this.form, 'validity', e ? '2099-12-31' : '') }, -- Gitblit v1.9.3