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