From b3937071fd649f9ffb63636f2dae2e9ab11b7b81 Mon Sep 17 00:00:00 2001
From: gjj <Ganjj@probim.com.cn>
Date: Wed, 01 Nov 2023 15:24:00 +0800
Subject: [PATCH] 修改表单报错

---
 src/views/company/systemSetting.vue            |   36 ++++++------
 src/views/company/offcialAuthority.vue         |    6 +
 src/views/login/index.vue                      |    5 +
 src/api/pwsApi/subscriptions.js                |    3 
 src/views/company/ApartmentManage.vue          |   16 +++--
 src/views/clients/components/CRMCreateView.vue |   64 +++++++++++++++++---
 src/views/module/ModuleManage.vue              |   19 ++++--
 7 files changed, 102 insertions(+), 47 deletions(-)

diff --git a/src/api/pwsApi/subscriptions.js b/src/api/pwsApi/subscriptions.js
index d95ed38..4ebd895 100644
--- a/src/api/pwsApi/subscriptions.js
+++ b/src/api/pwsApi/subscriptions.js
@@ -1,2 +1 @@
-import request from '@/utils/request'
-
+// import request from '@/utils/request'
diff --git a/src/views/clients/components/CRMCreateView.vue b/src/views/clients/components/CRMCreateView.vue
index 485c212..56758c8 100644
--- a/src/views/clients/components/CRMCreateView.vue
+++ b/src/views/clients/components/CRMCreateView.vue
@@ -42,6 +42,7 @@
                   <!-- 员工 和部门 为多选(radio=false)  relation 相关合同商机使用-->
                     <template v-if="item.type === 'select'">
                       <el-select
+                        :id="item.field"
                         v-model="formInline[item.field]"
                         filterable
                         placeholder="请选择"
@@ -56,6 +57,7 @@
                     </template>
                     <template v-else-if="item.type === 'selectCheckout'">
                       <el-select
+                        :id="item.field"
                         v-model="formInline[item.field]"
                         :popper-append-to-body="false"
                         popper-class="select-popper-class"
@@ -70,6 +72,7 @@
                     </template>
                     <template slot-scope="scope" v-else-if="item.type === 'relationInput'">
                       <el-popover
+                        :id="item.field"
                         :offset="250"
                         placement="right"
                         popper-class="no-padding-popover"
@@ -126,22 +129,28 @@
                               @current-change="handlePopCurrentChange"/>
                           </div>
                         </div>
-                        <el-input slot="reference" class='relationInput'
+                        <div slot="reference">
+                          <div class='relationText'  :style="{color: customerChosed ? '#333' : '#c0c4cc'}">           {{customerChosed?customerChosed: '请点击选择客户'}}
+                          </div>
+                          <div class="redText el-form-item__error" v-if="isOpened1&&!customerChosed">请选择客户</div>
+                        </div>
+                        <!--<el-input slot="reference" class='relationInput'
                          placeholder='请点击选择客户'
-                         :disabled='true' v-model="customerChosed"></el-input>
+                         :disabled='false' v-model="customerChosed" :id="item.field"></el-input>-->
                       </el-popover>
                     </template>
                     <template v-else-if="item.type === 'radio'">
-                      <el-radio-group v-model="formInline[item.field]">
+                      <el-radio-group v-model="formInline[item.field]" :id="item.field">
                         <el-radio :label="1">男</el-radio>
                         <el-radio :label="2">女</el-radio>
                       </el-radio-group>
                     </template>
                     <template v-else-if="item.type === 'switch'">
-                      <el-switch v-model="formInline[item.field]" @change='getSwitch(item.field)'></el-switch>
+                      <el-switch :id="item.field" v-model="formInline[item.field]" @change='getSwitch(item.field)'></el-switch>
                     </template>
                     <template v-else-if="item.type === 'inputPopover'">
                       <el-popover
+                        :id="item.field"
                         class='pop'
                         :disabled="(action.type === 'update'&&crmType === 'customer') ||item.disabled"
                         :offset="250"
@@ -185,12 +194,18 @@
                                 @click="setIndustry">确 定</el-button>
                             </flexbox>
                         </div>
-                        <el-input slot="reference" :class="(action.type === 'update'&&crmType === 'customer')?'cn':'inputPopover'" placeholder='请点击选择行业' :disabled='true' v-model="formInline['radioInput']" ></el-input>
+                        <div slot="reference">
+                          <div class='relationText' :style="{color: formInline['radioInput'] ? '#333' : '#c0c4cc'}">            {{formInline['radioInput']?formInline['radioInput']: '请点击选择行业'}}
+                          </div>
+                          <div class="redText el-form-item__error" v-if="isOpened&&!formInline['radioInput']">请选择行业</div>
+                        </div>
+                        <!--<el-input slot="reference" :class="(action.type === 'update'&&crmType === 'customer')?'cn':'inputPopover'" placeholder='请点击选择行业' :disabled='true' v-model="formInline['radioInput']" :id="item.field"></el-input>-->
                       </el-popover>
 
                     </template>
                     <template v-else-if="item.type === 'cascaderSingle'">
                       <el-cascader
+                        :id="item.field"
                         ref="salesCas"
                         placeholder="请选择销售员"
                         :options="salesManList"
@@ -206,6 +221,7 @@
                     <template v-else-if="item.type === 'doubleSelect'">
                       <div class='doubleSelect'>
                         <el-select
+                            :id="item.field"
                             v-model="formInline[item.field]"
                             filterable
                             class='leftSelect'
@@ -218,6 +234,7 @@
                               :value="index"/>
                           </el-select>
                           <el-select
+                            :id="item.field"
                             v-model="formInline[item.field]"
                             filterable
                             class='rightSelect'
@@ -233,6 +250,7 @@
                     </template>
                     <template v-else-if="item.type === 'file'">
                       <el-input
+                          :id="item.field"
                           v-model="file.name"
                           :disabled="true"
                           placeholder='请点击选择文件'/>
@@ -241,7 +259,7 @@
                           @click="selectFile">选择文件</el-button>
                     </template>
                     <template v-else-if="item.type === 'radioList'">
-                      <el-radio-group v-model="formInline[item.field]" class='radioList' @change='getPropertyName'>
+                      <el-radio-group v-model="formInline[item.field]" class='radioList' @change='getPropertyName' :id="item.field">
                         <el-radio
                           v-for="(optionItem, index) in optionsList[item.field].list"
                           :key="index"
@@ -251,6 +269,7 @@
                     </template>
                     <template v-else-if="item.type === 'date'">
                       <el-date-picker
+                        :id="item.field"
                         v-model="formInline[item.field]"
                         style="width: 100%;"
                         type="date"
@@ -292,22 +311,22 @@
                       :disabled="item.disabled"
                       :customerId="formInline['CustomerId']"
                       @value-change="fieldValueChange"/>
-                    <el-input placeholder="注册信息、合作伙伴、竞争对手、以及相关预算等" type="textarea" v-model="formInline[item.field]"  v-else-if="item.type === 'textarea'" class='areaInput'>
+                    <el-input placeholder="注册信息、合作伙伴、竞争对手、以及相关预算等" type="textarea" v-model="formInline[item.field]"  v-else-if="item.type === 'textarea'" class='areaInput' :id="item.field">
                       </el-input>
-                    <el-input placeholder="请输入" type="number" min='0' max='1000' v-model="formInline[item.field]"  v-else-if="item.type === 'number'">
+                    <el-input placeholder="请输入" type="number" min='0' max='1000' v-model="formInline[item.field]"  v-else-if="item.type === 'number'" :id="item.field">
                     </el-input>
                     <el-tooltip effect="light" :disabled='!item.tips' :content="item.tips" placement="right" v-else-if="item.type === 'disInput'">
                       <el-input
                         class='disInput'
                         placeholder="自动生成"
                         v-model="formInline[item.field]"
-                        :disabled="item.disabled "/>
+                        :disabled="item.disabled " :id="item.field"/>
                     </el-tooltip>
                     <el-tooltip effect="light" :disabled='!item.tips' :content="item.tips" placement="right" v-else>
                       <el-input
                         placeholder="请输入"
                         v-model="formInline[item.field]"
-                        :disabled="(action.type === 'update'&&item.field === 'CustomerName') || item.disabled"/>
+                        :disabled="(action.type === 'update'&&item.field === 'CustomerName') || item.disabled" :id="item.field"/>
                     </el-tooltip>
                   <!--<component
                     name='createcom'
@@ -351,6 +370,7 @@
                     </div>
                   </div>
                   <el-input
+                    :id="item.field"
                     v-model="formInline[item.field]"
                     :disabled="item.disabled "/>
                 </el-form-item>
@@ -839,7 +859,9 @@
       isUserSelect: false,
       pushOptions: [],
       radioInput: '',
-      isClicked: false
+      isClicked: false,
+      isOpened: false,
+      isOpened1: false
     }
   },
   computed: {
@@ -1386,6 +1408,7 @@
     hidenPopoverView () {
       document.querySelector('#app').click()
       this.formInline['radioInput'] = this.editData.Industry
+      this.isOpened = true
       // this.otherInput = ''
       // this.isOtherOpt = false
     },
@@ -1405,6 +1428,7 @@
     setIndustry () {
       this.formInline['Industry'] = this.formInline['radioInput']
       document.querySelector('#app').click()
+      this.isOpened = true
     },
     // 根据自定义字段获取自定义字段规则
     getcrmRulesAndModel (list) {
@@ -1527,6 +1551,8 @@
     // 保存数据
     saveField (saveAndCreate, isDraft = false) {
       console.log(saveAndCreate)
+      this.isOpened = false
+      this.isOpened1 = false
       this.saveAndCreate = saveAndCreate
       console.log(this.formInline)
       if (this.crmType === 'business') {
@@ -1811,6 +1837,7 @@
       this.$emit('hiden-view')
     },
     hidenRelationInput () {
+      this.isOpened1 = true
       this.popSearch = ''
       document.querySelector('#app').click()
       this.$emit('close', this.$el, this.data)
@@ -2126,6 +2153,21 @@
   color: #333 !important;
   cursor:pointer;
 }
+.relationText{
+  border: 1px solid #D9D9D9 !important;
+  cursor:pointer;
+  width: 100%;
+  height: 36px;
+  line-height: 36px;
+  padding: 0 8px;
+  background-color: #F7FAFF !important;
+  &:hover{
+    border-color: #4D88FF !important;
+  }
+}
+.redText{
+  width: 100%;
+}
 .relationInput.el-input.is-disabled /deep/ .el-input__inner{
   background-color: #fff !important;
   border-color: #D9D9D9 !important;
diff --git a/src/views/company/ApartmentManage.vue b/src/views/company/ApartmentManage.vue
index 4ca22cd..799cd22 100644
--- a/src/views/company/ApartmentManage.vue
+++ b/src/views/company/ApartmentManage.vue
@@ -92,6 +92,7 @@
         label-position="left">
         <el-form-item label="上级部门" prop='fatherIntro'>
             <el-cascader
+              id='fatherIntro'
               ref="refApart"
               placeholder="请选择上级部门"
               :options="isCreate? selectOpts: rightsList"
@@ -108,17 +109,18 @@
         </el-form-item>
         <el-form-item label="部门名称"  prop='introName'>
           <el-input
+            id='introName'
             v-model="apartForm.introName"
             placeholder="请输入部门名称"/>
           </el-form-item>
         <el-form-item label="部门状态"  prop='apartStatus'>
-          <el-switch v-model="apartForm.apartStatus"></el-switch>
+          <el-switch v-model="apartForm.apartStatus" id='apartStatus'></el-switch>
         </el-form-item>
-          <el-form-item label="是否是区域部门">
-            <el-switch v-model="apartForm.apartChosen"></el-switch>
+          <el-form-item label="是否是区域部门"  prop='apartChosen'>
+            <el-switch v-model="apartForm.apartChosen" id='apartChosen'></el-switch>
           </el-form-item>
           <el-form-item label="部门类型" prop='apartInt'>
-           <el-select v-model="apartForm.apartInt" placeholder="请选择" style="width: 100%;">
+           <el-select v-model="apartForm.apartInt" placeholder="请选择" style="width: 100%;"  id='apartInt'>
               <el-option
                 v-for="item in apartLists"
                 :key="item.id"
@@ -127,15 +129,17 @@
               </el-option>
             </el-select>
           </el-form-item>
-          <el-form-item label="排序数字">
+          <el-form-item label="排序数字"  prop='sortNum'>
             <el-input
+              id='sortNum'
               class='numInp'
               type='number'
               v-model="apartForm.sortNum"
               placeholder="请输入排序数字"/>
           </el-form-item>
-          <el-form-item label="备注说明">
+          <el-form-item label="备注说明"  prop='info'>
             <el-input
+                id='info'
                 type='textarea'
                 v-model="apartForm.info"
                 placeholder="请输入备注说明"/>
diff --git a/src/views/company/offcialAuthority.vue b/src/views/company/offcialAuthority.vue
index d1877a0..957ddc8 100644
--- a/src/views/company/offcialAuthority.vue
+++ b/src/views/company/offcialAuthority.vue
@@ -48,11 +48,12 @@
         label-position="left">
         <el-form-item label="职务名称"  prop='Name'>
           <el-input
+            id='Name'
             v-model="authForm.Name"
             placeholder="请输入职务名称"/>
         </el-form-item>
         <el-form-item label="职务类型"  prop='PositionType'>
-          <el-select v-model="authForm.PositionType" placeholder="请选择职务类型">
+          <el-select v-model="authForm.PositionType" placeholder="请选择职务类型" id='PositionType'>
               <el-option
                 v-for="item in positionOption"
                 :key="item.id"
@@ -62,12 +63,13 @@
         </el-form-item>
         <el-form-item label="备注" prop='Comment'>
           <el-input
+              id='Comment'
               type='textarea'
               v-model="authForm.Comment"
               placeholder="请输入备注"/>
         </el-form-item>
         <el-form-item label="启用状态" prop='IsEnabled'>
-          <el-switch v-model="authForm.IsEnabled"></el-switch>
+          <el-switch v-model="authForm.IsEnabled" id='IsEnabled'></el-switch>
         </el-form-item>
         <el-form-item>
           <el-button @click="cancelDialog">取 消</el-button>
diff --git a/src/views/company/systemSetting.vue b/src/views/company/systemSetting.vue
index 13544fc..3e50b17 100644
--- a/src/views/company/systemSetting.vue
+++ b/src/views/company/systemSetting.vue
@@ -7,25 +7,25 @@
         <el-tab-pane label="基础设置">
           <el-form :model="basicRuleForm" :rules="basicRules" ref="basicRuleForm" label-width="100px" class="basicForm">
             <el-form-item label="网站名称" prop="name">
-              <el-input v-model="basicRuleForm.name"></el-input>
+              <el-input v-model="basicRuleForm.name" id="name"></el-input>
             </el-form-item>
             <el-form-item label="网站域名" prop="webName">
-             <el-input v-model="basicRuleForm.webName"></el-input>
+             <el-input v-model="basicRuleForm.webName" id="webName"></el-input>
             </el-form-item>
-            <el-form-item label="网站关键词">
-              <el-input type="textarea" v-model="basicRuleForm.keyWords"></el-input>
+            <el-form-item label="网站关键词"  prop="keyWords">
+              <el-input type="textarea" v-model="basicRuleForm.keyWords" id="keyWords"></el-input>
             </el-form-item>
             <el-form-item label="网站描述" prop="descripe">
-              <el-input type="textarea" v-model="basicRuleForm.descripe"></el-input>
+              <el-input type="textarea" v-model="basicRuleForm.descripe" id="descripe"></el-input>
             </el-form-item>
             <el-form-item label="公司名称" prop="companyName">
-              <el-input v-model="basicRuleForm.companyName"></el-input>
+              <el-input v-model="basicRuleForm.companyName" id="companyName"></el-input>
             </el-form-item>
             <el-form-item label="公司地址" prop="companyAddress">
-              <el-input v-model="basicRuleForm.companyAddress"></el-input>
+              <el-input v-model="basicRuleForm.companyAddress" id="companyAddress"></el-input>
             </el-form-item>
             <el-form-item label="版本信息" prop="versionInfo">
-              <el-input type="textarea" v-model="basicRuleForm.versionInfo"></el-input>
+              <el-input type="textarea" v-model="basicRuleForm.versionInfo" id="versionInfo"></el-input>
             </el-form-item>
             <el-form-item>
               <el-button type="primary" @click="submitForm('basicRuleForm')">立即创建</el-button>
@@ -36,28 +36,28 @@
         <el-tab-pane label="邮件设置">
           <el-form :model="mailForm" :rules="mailRules" ref="mailForm" label-width="100px" class="basicForm">
             <el-form-item label="SMTP服务器" prop="web">
-              <el-input v-model="mailForm.web"></el-input>
+              <el-input v-model="mailForm.web" id="web"></el-input>
             </el-form-item>
             <el-form-item label="SSL加密连接" prop="connect">
-               <el-radio-group v-model="mailForm.connect">
+               <el-radio-group v-model="mailForm.connect" id="connect">
                 <el-radio label="是"></el-radio>
                 <el-radio label="否"></el-radio>
               </el-radio-group>
             </el-form-item>
-            <el-form-item label="SMTP端口" required>
-               <el-input v-model="mailForm.port" type='number'></el-input>
+            <el-form-item label="SMTP端口" required  prop="port">
+               <el-input v-model="mailForm.port" type='number'  id="port"></el-input>
             </el-form-item>
             <el-form-item label="发件人地址" prop="sendAddress">
-              <el-input v-model="mailForm.sendAddress"></el-input>
+              <el-input v-model="mailForm.sendAddress"  id="sendAddress"></el-input>
             </el-form-item>
             <el-form-item label="邮箱账号" prop="mailDress" required>
-              <el-input v-model="mailForm.mailDress"></el-input>
+              <el-input v-model="mailForm.mailDress"  id="mailDress"></el-input>
             </el-form-item>
             <el-form-item label="邮箱密码" prop="mailPsd" required>
-              <el-input v-model="mailForm.mailPsd"></el-input>
+              <el-input v-model="mailForm.mailPsd" id="mailPsd"></el-input>
             </el-form-item>
             <el-form-item label="发件人昵称" prop="sendName" required>
-              <el-input v-model="mailForm.sendName"></el-input>
+              <el-input v-model="mailForm.sendName"  id="sendName"></el-input>
             </el-form-item>
             <el-form-item>
               <el-button type="primary" @click="submitForm('mailForm')">立即创建</el-button>
@@ -68,13 +68,13 @@
         <el-tab-pane label="提醒设置">
            <el-form :model="alarmForm" ref="alarmForm" label-width="100px" class="basicForm">
             <el-form-item label="是否开启通知" prop="isAlarm">
-               <el-radio-group v-model="alarmForm.isAlarm">
+               <el-radio-group v-model="alarmForm.isAlarm" id="isAlarm">
                 <el-radio label="是"></el-radio>
                 <el-radio label="否"></el-radio>
               </el-radio-group>
             </el-form-item>
             <el-form-item label="通知方式"  prop="alarmWay">
-              <el-radio-group v-model="alarmForm.alarmWay">
+              <el-radio-group v-model="alarmForm.alarmWay" id="alarmWay">
                 <el-radio :label='1'>站内信</el-radio>
                 <el-radio :label='2'>站内信+邮件</el-radio>
                 <el-radio :label='3'>站内信+短信</el-radio>
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 990923f..b6bc085 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -69,6 +69,7 @@
           label-position="left">
           <el-form-item prop="ResetName" v-if="loginProgress ==2">
             <el-input
+              id="ResetName"
               ref="ResetName"
               v-model="vertifyForm.ResetName"
               autofocus="autofocus"
@@ -89,7 +90,7 @@
                   type="text"
                   auto-complete="on"
                   placeholder="请输入验证码"
-                  @keyup.enter.native="handleVertify" />
+                  @keyup.enter.native="handleVertify" id="ResetCode"/>
               </el-col>
               <el-col :span="6">
                 <el-button
@@ -122,6 +123,7 @@
           label-position="left">
           <el-form-item prop="newPsd" label="新密码" v-if="loginProgress ==3">
             <el-input
+              id="newPsd"
               ref="newPsd"
               v-model="resetForm.newPsd"
               autofocus="autofocus"
@@ -133,6 +135,7 @@
           </el-form-item>
           <el-form-item prop="newPsdSceond" label="确认新密码" v-if="loginProgress ==3">
             <el-input
+              id="newPsdSceond"
               ref="newPsdSceond"
               v-model="resetForm.newPsdSceond"
               autofocus="autofocus"
diff --git a/src/views/module/ModuleManage.vue b/src/views/module/ModuleManage.vue
index c7bd1e6..da6aac5 100644
--- a/src/views/module/ModuleManage.vue
+++ b/src/views/module/ModuleManage.vue
@@ -77,6 +77,7 @@
         label-position="left">
         <el-form-item label="上级导航" prop='fatherIntro'>
            <el-cascader
+              id='fatherIntro'
               ref="refSubCat"
               placeholder="请选择上级导航"
               :options="isCreate? selectOpts: rightsList"
@@ -93,21 +94,23 @@
         </el-form-item>
         <el-form-item label="导航标题"  prop='introName'>
           <el-input
+            id='introName'
             v-model="createForm.introName"
             placeholder="请输入导航标题"/>
           </el-form-item>
-          <el-form-item label="是否显示">
-            <el-switch v-model="createForm.isShow"></el-switch>
+          <el-form-item label="是否显示"  prop='isShow'>
+            <el-switch v-model="createForm.isShow" id='isShow'></el-switch>
           </el-form-item>
-          <el-form-item label="排序数字">
+          <el-form-item label="排序数字" prop='sortNum'>
             <el-input
+              id='sortNum'
               class='numInp'
               type='number'
               v-model="createForm.sortNum"
               placeholder="请输入排序数字"/>
           </el-form-item>
-          <el-form-item label="自定义图标">
-            <el-select v-model="createForm.img" placeholder="请选择图标">
+          <el-form-item label="自定义图标" prop='img'>
+            <el-select v-model="createForm.img" placeholder="请选择图标" id='img'>
               <el-option
                 v-for="(item, index) in iconOption"
                 class='iconList'
@@ -117,13 +120,15 @@
                 :value="item.name"/>
             </el-select>
           </el-form-item>
-          <el-form-item label="链接地址">
+          <el-form-item label="链接地址" prop='address'>
             <el-input
+              id='address'
               v-model="createForm.address"
               placeholder="请输入链接地址"/>
           </el-form-item>
-          <el-form-item label="备注说明">
+          <el-form-item label="备注说明"  prop='info'>
             <el-input
+                id='info'
                 type='textarea'
                 v-model="createForm.info"
                 placeholder="请输入备注说明"/>

--
Gitblit v1.9.3