k94314517
2024-04-09 02bc3bfe47e3d5311a0bb041c94e70a34b1ca73c
company/src/components/business/OperaCompanyWindow.vue
@@ -16,17 +16,17 @@
            <el-form-item label="法人姓名" prop="legalName">
                <el-input v-model="form.legalName" placeholder="请输入" v-trim/>
            </el-form-item>
            <el-form-item label="绑定手机号" prop="phone" v-if="form.type !== 1">
            <el-form-item label="绑定手机号" prop="phone" v-if="!form.id">
                <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-form-item label="验证码" prop="captche" v-if="!form.id">
                <el-input v-model="form.captche" placeholder="请输入" v-trim/>
            </el-form-item>
            <el-form-item label="公司账号" prop="username" v-if="form.type !== 1">
            <el-form-item label="公司账号" prop="username" v-if="!form.id">
                <el-input v-model="form.username" placeholder="请输入" v-trim/>
            </el-form-item>
            <el-form-item label="认证邮箱" prop="email" >
@@ -55,22 +55,22 @@
                    <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file" @uploadSuccess="result" />
                </div>
            </el-form-item>
            <el-form-item label="法人身份证" prop="idcardImgList">
            <el-form-item label="法人身份证" prop="idcardImgList"  style="height: 120px">
                <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">
                <div style="width: 100%; height: 100px; display: flex; align-items: center;">
                    <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file3" @uploadSuccess="result3" />
                </div>
            </el-form-item>
<!--            <el-form-item label="电子签章" prop="signImg">-->
<!--                <div style="width: 100%; height: 100px; display: flex; align-items: center;">-->
<!--                    <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file3" @uploadSuccess="result3" />-->
<!--                </div>-->
<!--            </el-form-item>-->
        </el-form>
        <el-button type="primary" style="margin-bottom: 15px;" @click="add" v-if="form.type !== 1">添加</el-button>
        <el-button type="primary" style="margin-bottom: 15px;" @click="add" v-if="!form.id">添加</el-button>
        <el-table
            v-if="form.type !== 1"
            v-if="!form.id"
            :data="form.solutionList"
            border
            style="width: 100%">
@@ -85,23 +85,37 @@
            <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 slot-scope="scope">
                  <el-select v-model="scope.row.solution.id" @change="changeSolution($event, scope.$index)" 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="scope">
                  <el-select  v-model="scope.row.shopId"  :disabled="scope.row.solution.type ==1" clearable value-key="id" placeholder="请选择" >
                    <el-option
                        v-for="item in shops"
                        :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>
                    <el-checkbox :true-label="1" :false-label="0" disabled v-model="row.canAdd">加保</el-checkbox>
                    <el-checkbox :true-label="1" :false-label="0" disabled v-model="row.canReduce">减保</el-checkbox>
                </template>
            </el-table-column>
            <el-table-column
@@ -122,6 +136,7 @@
import UploadAvatarImage from '@/components/common/UploadAvatarImage'
import { all } from '@/api/business/solutions'
import { sendSms } from '@/api/business/smsEmail'
import { pageAll as shopList } from '@/api/business/company'
export default {
  name: 'OperaCompanyWindow',
  extends: BaseOpera,
@@ -129,7 +144,7 @@
  data () {
    return {
      // 表单数据
      form: {
      initParam:{
        id: null,
        name: '',
        code: '',
@@ -155,12 +170,14 @@
        },
        solutionList: [
          {
            solutionBaseId: '',
            canAdd: 0,
            canReduce: 0
            solution: { id: null, baseId: null,type:0 },
            canAdd: 1,
            shopId:null,
            canReduce: 1
          }
        ],
        type: '',
        type: '0',
        actionType: '0',
        file: {
          imgurl: '',
          imgurlfull: ''
@@ -176,8 +193,9 @@
        file3: {
          imgurl: '',
          imgurlfull: ''
        }
        },
      },
      form: {},
      timer: null,
      num: 0,
      // 验证规则
@@ -197,9 +215,9 @@
        phone: [
          { required: true, message: '请输入手机号' }
        ],
        taxAccount: [
          { required: true, message: '请输入手机号' }
        ],
        // taxAccount: [
        //   { required: true, message: '请输入银行卡' }
        // ],
        email: [
          { required: true, message: '请输入认证邮箱' }
        ],
@@ -216,8 +234,8 @@
          { required: true, message: '请输入公司账号' }
        ]
      },
      programme: []
      programme: [],
      shops:[]
    }
  },
  created () {
@@ -237,6 +255,22 @@
    }
  },
  methods: {
    changeSolution(e,index){
      let baseId = ''
      this.programme.forEach(item => {
        if (item.id === e) {
          baseId = item.baseId
          this.form.solutionList[index].solution.type = item.type
          if(item.type == 1){
            this.form.solutionList[index].shopId =item.shopId
          }
        }
      })
      this.form.solutionList[index].solution.baseId = baseId
     // this.form.solutionList[index].solution=row
    },
    send () {
      if (!this.form.phone) {
        this.$message.warning('请输入手机号')
@@ -257,9 +291,10 @@
        }
      }, 1000)
    },
    open (title, target) {
    open (title, target,type) {
      this.title = title
      this.visible = true
      this.form = this.initParam
      this.getAll()
      // 新建
      if (target == null) {
@@ -282,6 +317,11 @@
        .then(res => {
          this.programme = res
        })
      shopList({ type: 1, status: 0 })
          .then(res => {
            console.log(res)
            this.shops = res
          })
    },
    dele (index) {
      if (this.form.solutionList.length === 1) {
@@ -292,9 +332,11 @@
    },
    add () {
      this.form.solutionList.push({
        solutionName: '',
        canAdd: '',
        canReduce: ''
        solutionId: null,
        solution: {},
        shopId: null,
        canAdd: 1,
        canReduce: 1
      })
    },
    handleRemove (file, fileList) {