zjf
2023-11-17 55bc564d71e572d3907bd89cc2a22f14917c01af
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;