From a76c5c86ac9af71da45bf78c825a2c7aa843b4c8 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 26 一月 2024 15:35:54 +0800 Subject: [PATCH] Revert "Mr.Shi" --- platform/src/components/business/OperaCompanyWindow.vue | 473 ++++++++++++++++++----------------------------------------- 1 files changed, 144 insertions(+), 329 deletions(-) diff --git a/platform/src/components/business/OperaCompanyWindow.vue b/platform/src/components/business/OperaCompanyWindow.vue index 44c6e69..0739250 100644 --- a/platform/src/components/business/OperaCompanyWindow.vue +++ b/platform/src/components/business/OperaCompanyWindow.vue @@ -1,335 +1,150 @@ <template> - <GlobalWindow - :title="title" - width="50%" - :visible.sync="visible" - :confirm-working="isWorking" - @confirm="confirm" - > - <el-form :model="form" ref="form" :rules="rules" style="width: 50%;"> - <el-form-item label="鍏徃鍚嶇О" prop="name"> - <el-input v-model="form.name" placeholder="璇疯緭鍏�" v-trim/> - </el-form-item> - <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-input v-model="form.legalName" placeholder="璇疯緭鍏�" v-trim/> - </el-form-item> - <el-form-item label="缁戝畾鎵嬫満鍙�" prop="phone" v-if="form.type !== 1"> - <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> - <el-button type="primary" style="flex-shrink: 0; margin-left: 15px;" v-else>{{num}}s</el-button> - </div> - </el-form-item> - <el-form-item label="楠岃瘉鐮�" prop="captche" v-if="form.type !== 1"> - <el-input v-model="form.captche" placeholder="璇疯緭鍏�" v-trim/> - </el-form-item> - <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-input v-model="form.email" placeholder="璇疯緭鍏�" v-trim/> - </el-form-item> - <el-form-item label="绾崇◣浜鸿瘑鍒彿" prop="taxCode"> - <el-input v-model="form.taxCode" placeholder="璇疯緭鍏�" v-trim/> - </el-form-item> - <el-form-item label="閾惰璐﹀彿" prop="taxAccount"> - <el-input v-model="form.taxAccount" placeholder="璇疯緭鍏�" v-trim/> - </el-form-item> - <el-form-item label="寮�鎴疯" prop="taxBank"> - <el-input v-model="form.taxBank" placeholder="璇疯緭鍏�" v-trim/> - </el-form-item> - <el-form-item label="鍦板潃銆佺數璇�" prop="taxAddr"> - <el-input v-model="form.taxAddr" placeholder="璇疯緭鍏�" v-trim/> - </el-form-item> - <el-form-item label="鐢靛瓙鍙戠エ鎺ユ敹鍦板潃" prop="invoiceEmail"> - <el-input v-model="form.invoiceEmail" placeholder="璇疯緭鍏�" v-trim/> - </el-form-item> - <el-form-item label="绾歌川鍙戠エ鎺ユ敹鍦板潃" prop="invoiceAddr"> - <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" /> - </el-form-item> - <el-form-item label="娉曚汉韬唤璇�" prop="idcardImgList"> - <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> - <el-button type="primary" style="margin-bottom: 15px;" @click="add" v-if="form.type !== 1">娣诲姞</el-button> - <el-table - v-if="form.type !== 1" - :data="form.solutionList" - border - style="width: 100%"> - <el-table-column - label="搴忓彿" - align="center" - width="80"> - <template slot-scope="scope"> - <span>{{scope.$index + 1}}</span> - </template> - </el-table-column> - <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> - </el-table-column> - <el-table-column - align="center" - label="鍔犲噺淇濆姛鑳�"> - <template slot-scope="{row}"> - <el-checkbox :true-label="1" :false-label="0" v-model="row.canAdd">鍔犱繚</el-checkbox> - <el-checkbox :true-label="1" :false-label="0" v-model="row.canReduce">鍑忎繚</el-checkbox> - </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;" @click="dele(scope.$index)">鍒犻櫎</el-button> - </template> - </el-table-column> - </el-table> - </GlobalWindow> + <GlobalAlertWindow + :title="title" + :visible.sync="visible" + :confirm-working="isWorking" + width="750px" + @confirm="confirm" + > + <el-form :model="form" ref="form" label-width="125px" :rules="rules"> + <el-form-item label="浼佷笟鍏ㄧО" prop="name"> + <el-input v-model="form.name" placeholder="璇疯緭鍏ュ鎴蜂紒涓氬叏绉帮紝涓嶈秴杩�30瀛�" v-trim/> + 浼佷笟鍚嶇О闇�涓庡伐鍟嗛儴闂ㄧ櫥璁颁俊鎭竴鑷� + </el-form-item> + <el-form-item label="瀹㈡埛绠�绉�" prop="shortName"> + <el-input v-model="form.shortName" placeholder="璇疯緭鍏ュ鎴风畝绉�" v-trim/> + </el-form-item> + <el-form-item label="缁熶竴淇$敤浠g爜" prop="creditCode"> + <el-input v-model="form.creditCode" placeholder="璇疯緭鍏ョ粺涓�淇$敤浠g爜" v-trim/> + 缁熶竴淇$敤浠g爜闇�涓庡伐鍟嗛儴闂ㄧ櫥璁颁俊鎭竴鑷� + </el-form-item> + <el-form-item label="鐧诲綍璐﹀彿" prop="managerUserName"> + <el-input v-model="form.managerUserName" :disabled="!!this.form.id" placeholder="璇疯緭鍏ョ櫥褰曡处鍙�" v-trim/> + </el-form-item> + <el-form-item label="绯荤粺浣跨敤鏈夋晥鏈�" prop="oepnValidDate"> + <el-date-picker v-model="form.oepnValidDate" value-format="yyyy-MM-dd" :disabled="!!this.form.id" placeholder="璇疯緭鍏ョ郴缁熶娇鐢ㄦ湁鏁堟湡"></el-date-picker> + </el-form-item> + <el-form-item label="涓绘挱鏁伴噺闄愬埗" prop="userNum"> + <el-input v-model="form.userNum" :disabled="!!this.form.id" placeholder="璇疯緭鍏ヤ富鎾暟閲忛檺鍒�" v-trim/> + 杈撳叆0琛ㄧず涓嶉檺鍒� + </el-form-item> + <el-form-item label="閿�鍞汉鍛�" prop="salesmanId"> + <!-- <el-input v-model="form.salesmanId" placeholder="璇疯緭鍏ラ攢鍞汉鍛樼紪鐮�" v-trim/> --> + <el-select v-model="form.salesmanId" clearable placeholder="璇烽�夋嫨" filterable > + <el-option v-for="item in sales" :label="item.realname" :key="item.id" :value="item.id"></el-option> + </el-select> + </el-form-item> + + <div class="more"> + <div class="more-title">鏇村璁剧疆</div> + <el-form-item label="鑱旂郴浜�" prop="linkname"> + <el-input v-model="form.linkname" placeholder="璇疯緭鍏ヨ仈绯讳汉" v-trim/> + </el-form-item> + <el-form-item label="鑱旂郴浜虹數璇�" prop="linkephone"> + <el-input v-model="form.linkephone" placeholder="璇疯緭鍏ヨ仈绯讳汉鐢佃瘽" v-trim/> + </el-form-item> + </div> + + + + </el-form> + </GlobalAlertWindow> </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: '璇疯緭鍏ュ叕鍙歌处鍙�' } - ] - }, - - 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 - } - } +import BaseOpera from '@/components/base/BaseOpera' +import GlobalAlertWindow from '@/components/common/GlobalAlertWindow' +import { findAllList } from '@/api/system/user' +import { loginNameRule, creditCode } from '@/utils/form' +export default { + name: 'OperaCompanyWindow', + extends: BaseOpera, + components: { GlobalAlertWindow }, + data () { + return { + // 琛ㄥ崟鏁版嵁 + form: { + id: null, + managerUserName: '', + name: '', + shortName: '', + remark: '', + managerId: '', + linkname: '', + linkephone: '', + creditCode: '', + userNum: '5', + oepnValidDate: '', + salesmanId: '' + }, + sales: [], + // 楠岃瘉瑙勫垯 + rules: { + name: [ + { required: true, message: '璇疯緭鍏ュ鎴蜂紒涓氬叏绉�', tigger: 'blur'} + ], + managerUserName: [ + { required: true, validator: loginNameRule, message: '璇疯緭鍏ョ櫥褰曡处鍙�', tigger: 'blur'} + ], + creditCode: [ + { validator: creditCode, trigger: 'blur' } + ], + openUserNum: [ + { pattern: /^[0-9]+$/, message: '鍙彲浠ヨ緭鍏ユ暟瀛�', trigger: 'change' } + ] + } } + }, + created () { + this.config({ + api: '/business/company', + 'field.id': 'id' + }) + findAllList({ type: 0 }) + .then(res => { + this.sales = res + }) + }, + methods: { + open(title, target) { + this.title = title + this.visible = true + // 鏂板缓 + if (target == null) { + this.$nextTick(() => { + this.$refs.form.resetFields() + let data = new Date(new Date().getTime() + 31536000000) + this.form.oepnValidDate = `${data.getFullYear()}-${data.getMonth() +1}-${data.getDate()}` + this.form[this.configData['field.id']] = null + }) + return + } + // 缂栬緫 + this.$nextTick(() => { + for (const key in this.form) { + this.form[key] = target[key] + } + this.form.multifileList.forEach(item => { + item.url = item.filefullurl + }) + }) + }, + }, +} </script> + +<style lang="scss" scoped> +.more { + margin-top: 40px; + + .more-title { + font-weight: 600; + font-size: 18px; + margin-bottom: 10px; + } +} +::v-deep .el-input { + width: 300px; + margin-right: 10px; +} +</style> -- Gitblit v1.9.3