Просмотр исходного кода

车险录单提交时永诚接口传agreementId 字段

lihongxiao 3 лет назад
Родитель
Сommit
1c092a0917
3 измененных файлов с 103 добавлено и 24 удалено
  1. 95 17
      src/components/TemplateForm/index.vue
  2. 7 6
      src/views/Letter/Letter.vue
  3. 1 1
      src/views/Letter/Orderlist.vue

+ 95 - 17
src/components/TemplateForm/index.vue

@@ -4,13 +4,17 @@
      ref="publicForm" :inline="true" size="small" >
         <el-row :gutter="20"> 
             <el-col :span="8" v-for="f in ruleForm" :key="f.prop">
-                <el-form-item :label="f.label" :prop="f.prop" label-width="120px" 
-                                >
+                <el-form-item :label="f.label" :prop="f.prop" label-width="120px" >
                     <template>
                         <template v-if="f.type === 'input'">
-                            <el-input clearable v-model.trim="formData[f.prop]" 
-                                :placeholder="'请输入' + f.label" 
-                                ></el-input>
+                            <el-input
+                                v-model="formData[f.prop]"
+                                :readonly="f.readonly"
+                                :type="f.type ?? 'text'"
+                                :placeholder="'请输入' + f.label"
+                                :disabled="f.disabled" 
+                                :showPassword="f.showPassword"
+                                :clearable="f.clearable||true"/>
                         </template>
                         <!-- <template v-else-if="f.type === 'company'">
                             <el-select size="small" clearable v-model="formData[f.prop]"
@@ -45,16 +49,92 @@
                                     :value="s.value"></el-option>
                             </el-select>
                         </template>
-                        <template v-else-if="f.type === 'datePicker'">
-                            <!-- 日期区间 -->
-                            <el-date-picker v-if="f.dateType === 'daterange'" type="daterange" size="small"
-                                v-model="formData[f.prop]" align="right" unlink-panels range-separator="至"
-                                start-placeholder="开始时间" end-placeholder="结束时间" value-format="yyyy-MM-dd HH:mm:ss"
-                                :default-time="['00:00:00', '23:59:59']" :clearable="true"></el-date-picker>
-                            <!-- 一天 -->
-                            <el-date-picker v-if="f.dateType === 'date'" type="date" size="small"
-                                v-model="formData[f.prop]" placeholder="选择日期"
-                                value-format="yyyy-MM-dd"></el-date-picker>
+                         <!-- 单选框 -->
+                        <template v-else-if="f.type === 'radio'">
+                            <el-radio-group
+                                v-model="formData[f.prop]"
+                                v-bind="f"
+                                :disabled="f.disabled || false"
+                            >
+                                <el-radio
+                                :placeholder="'请输入' + f.label"
+                                v-for="(el, i) in f.options"
+                                :key="i"
+                                :label="el.value"
+                                :disabled="el.disabled"
+                                :border="el.border"
+                                >
+                                {{ el.label }}
+                                </el-radio>
+                            </el-radio-group>
+                        </template>
+                        <!-- 日期选择器 -->
+                        <template v-else-if="f.type === 'date'">
+                            <el-date-picker
+                                :placeholder="'请输入' + f.label"
+                                v-model="formData[f.prop]"
+                                :format="f.format || 'yyyy-MM-dd'"
+                                :value-format="f.valueFormat || 'yyyy-MM-dd'"   
+                                v-bind="f"
+                            ></el-date-picker>
+                            </template>
+                        <!-- 日期范围选择器 -->
+                        <template v-else-if="item.type === 'daterange'">
+                            <el-date-picker
+                                type="daterange"
+                                :placeholder="'请输入' + f.label"
+                                v-model="formData[f.prop]"
+                                v-bind="f"
+                                :format="f.format || 'yyyy-MM-dd'"
+                                :value-format="f.valueFormat || 'yyyy-MM-dd'"
+                                :start-placeholder="f.startPlaceholder || '开始日期'"
+                                :end-placeholder="f.endPlaceholder || '结束日期'"
+                                :range-separator="f.rangeSeparator || '至'"
+                            ></el-date-picker>
+                        </template>
+                         <!-- 计数 -->
+                        <template
+                        v-else-if="f.type === 'number'"
+                        >
+                            <el-input-number
+                            v-model.trim="formData[f.prop]"
+                            :controls="f.controls || false"
+                            :step="f.step || 0.01"
+                            :min="
+                                f.min !== null && f.min !== undefined ? f.min : 0.0
+                            "
+                            :precision="
+                                f.precision !== null && f.precision !== undefined
+                                ? f.precision
+                                : 2
+                            "
+                            :max="
+                                f.max !== null && f.max !== undefined
+                                ? f.max
+                                : 100000000
+                            "
+                            :step-strictly="f.stepStrictly || true"
+                            ></el-input-number>
+                        </template>
+                        <!-- 上传 -->
+                        <template v-else-if="f.type === 'upload'">
+                            <el-upload
+                                ref="upload"
+                                style="width: 200px"
+                                :file-list="field101fileList"
+                                :action="field101Action"
+                                :multiple="f.multiple || false"
+                                :before-upload="field101BeforeUpload"
+                                :accept="f.accept || '*'"
+                                :disabled="f.disabled || false"
+                            >
+                                <el-button size="small" type="primary" icon="el-icon-upload"
+                                >点击上传</el-button
+                                >
+                                <div slot="tip" class="el-upload__tip">
+                                {{ f.upload__tip }}
+                                </div>
+                            </el-upload>
                         </template>
                     </template>
                 </el-form-item>
@@ -93,8 +173,6 @@ export default {
     },
     methods:{
         handleChange(val){
-            console.log(val,this.$refs.myCascader[0],111111111)
-
             if(val && val.length == 0) {
                 console.log(this.$refs.myCascader[0],111111111)
                 this.$refs.myCascader[0].$refs.panel.checkedValue = []; // 清空选中值

+ 7 - 6
src/views/Letter/Letter.vue

@@ -520,7 +520,7 @@
               <div style="width:15%;font-weight: bold;" class="flex j-s a-c">
                 <div class="flex j-c a-c" style="width:50%">
                   <el-checkbox class="checkbox"
-                    @change="event => initchange(event, reslistitem.id, reslistitem.cnName, reslistindex)"></el-checkbox>
+                    @change="event => initchange(event, reslistitem.id, reslistitem.cnName, reslistindex,reslistitem)"></el-checkbox>
                 </div>
                 <div class="flex f-c a-c" style="width:50%">
                   <img :src="reslistitem.logo" alt style="width:30px; height:30px;margin-bottom:10px;" />
@@ -2539,21 +2539,20 @@ export default {
     },
     //选择协议
     agreementChange(val, row, index) {
-
       let obj = {};
       obj = row.find(item => {
-
         return item;
       })
+      this.accidentForm.agreementId =obj.id
       this.totalCompanyList[index].apiType = obj.apiType;
     },
-    initchange(e, code, name, index) {
+    initchange(e, code, name, index,item) {
       this.totalCompanyList[index].agreementId="";
       this.totalCompanyList[index].checked = e;
       if (e) {
         let params = {
           companyCode: code,
-          seatNum: this.carInfo.seatCount
+          seatNum: this.carInfo.seatCount,
         };
         this.$api.letter.getAccidentalDriving(params).then(res => {
           this[name + "Drivinglist"] = res.data;
@@ -3231,6 +3230,7 @@ export default {
     },
     //永诚报价
     yongcheng(num, id) {
+      console.log(id,this.accidentForm,1111111111)
       let accidentalDrivingVo = {};
       if (this.accidentForm.id) {
         let data = this.accidentDataList.find(
@@ -3249,7 +3249,8 @@ export default {
         cqryCdeJq: this.cqryCdeJq,
         cqryCdeSy: this.cqryCdeSy,
         renewalCodeJq: this.renewalCodeJq,
-        renewalCodeSy: this.renewalCodeSy
+        renewalCodeSy: this.renewalCodeSy,
+        agreementId:this.accidentForm.agreementId
       };
       this.$api.letter.yongchengquote(params).then(res => {
         this.totalCompanyList[num].msg = res.msg;

+ 1 - 1
src/views/Letter/Orderlist.vue

@@ -1567,13 +1567,13 @@ export default {
             this.loading = true;
             this.$api.letter.queryOrders(this.pageRequest).then((res) => {
                 if (res.code=="200") {
+                    this.loading = false;
                     this.pageResult = res.data.content;
                     this.pageNum = res.data.pageNum;
                     this.totalSize = res.data.totalSize;
                     this.pageResult.forEach(val => {
                         this.$set(val, "expanded", false);
                     });
-                    this.loading = false;
                 } else {
                     this.loading = false;
                 }