123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 |
- <template>
- <div class="edit">
- <el-button
- @click="dialogVisible=true"
- size="small"
- type="primary"
- v-if="position == 'detail'"
- :disabled="data.data.status == '待跟进' || data.data.status == '跟进中' ? false : true">编辑</el-button>
- <p @click="dialogVisible=true" v-else>编辑</p>
- <el-dialog
- title="编辑线索"
- :visible.sync="dialogVisible"
- width="30%"
- :before-close="handleClose">
- <el-form :model="param.content" :rules="rules" ref="ruleForm" label-width="80px" class="demo-ruleForm" label-position="left">
- <el-form-item label="客户名称" prop="name">
- <el-input v-model="param.content.name" size="small"></el-input>
- </el-form-item>
- <el-form-item label="手机号" prop="phonenumber">
- <el-input v-model="param.content.phonenumber" size="small"></el-input>
- </el-form-item>
- <el-form-item label="省市县" prop="province">
- <el-cascader
- class="width-240"
- v-model="param.content.province"
- :options="arealist"
- @change="cascaderChange">
- </el-cascader>
- </el-form-item>
- <el-form-item label="地址" prop="address">
- <el-input v-model="param.content.address" size="small"></el-input>
- </el-form-item>
- <el-form-item label="来源" prop="cluesource">
- <el-input v-model="param.content.cluesource" size="small"></el-input>
- </el-form-item>
- <el-form-item label="备注" prop="notes">
- <el-input type="textarea" v-model="param.content.notes" size="small"></el-input>
- </el-form-item>
- </el-form>
- <span slot="footer" class="dialog-footer">
- <el-button @click="dialogVisible = false" size="small">取 消</el-button>
- <el-button type="primary" @click="addOrdercule" size="small">确 定</el-button>
- </span>
- </el-dialog>
- </div>
- </template>
- <script>
- import { log } from '@antv/g2plot/lib/utils';
- export default {
- name: 'add',
- data() {
- return {
- param: {
- "classname": "saletool.orderclue.web.orderclue",
- "method": "edit",
- "content": {
- "sat_orderclueid": 0,
- "name": "",
- "phonenumber": "",
- "province": "",
- "city": "",
- "county": "",
- "address": "",
- "notes": "",
- "cluesource": ""
- }
- },
- dialogVisible:false,
- rules: {
- phonenumber:[
- {required:true,message:'请输入手机号',trigger:'blur'},
- { pattern:/^1[3-9]\d{9}$/, message: '请输入正确手机号码',trigger: 'blur' }
- ],
- province:[
- {required:true,message:'内容不能为空',trigger:'blur'},
- ],
- cluesource:[
- {required:true,message:'内容不能为空',trigger:'blur'},
- { min: 1, max: 25, message: '长度在 1 到 25 个字符', trigger: 'blur' }
- ],
- },
- areaSelectResult:[]
- };
- },
- props:{
- updataList: {
- type:Function
- },
- getDetail: {
- type:Function
- },
- position: {
- type:String
- },
- data: {
- type: Object
- },
- arealist: {
- type: Array
- }
- },
- computed:{
- },
- watch:{
- data: {
- handler(val) {
- this.param = {
- "classname": "saletool.orderclue.web.orderclue",
- "method": "edit",
- "content": {
- "sat_orderclueid": val.data.sat_orderclueid,
- "name": val.data.name,
- "phonenumber": val.data.phonenumber,
- "province": val.data.city ? [val.data.province,val.data.city,val.data.county] : [val.data.province],
- "city": val.data.province,
- "county": val.data.province,
- "address": val.data.address,
- "notes": val.data.notes,
- "cluesource": val.data.cluesource
- }
- },
- this.areaSelectResult = val.data.city ? [val.data.province,val.data.city,val.data.county] : [val.data.province]
- }
- }
- },
- created() {
- },
- methods: {
- handleClose() {
- this.dialogVisible = false
- },
- addOrdercule() {
- if(this.areaSelectResult.length > 1) {
- this.param.content.province = this.areaSelectResult[0]
- this.param.content.city = this.areaSelectResult[1]
- this.param.content.county = this.areaSelectResult[2]
- } else {
- this.param.content.province = this.areaSelectResult[0]
- }
- this.$refs.ruleForm.validate( async val => {
- if( !val ) return this.$notify({
- title:'提示',
- message:'请按照要求输入信息',
- type:'warning'
- })
- let res = await this.$api.requested(this.param)
- this.tool.showMessage(res,() => {
- this.$refs.ruleForm.resetFields()
- this.dialogVisible = false
- this.areaSelectResult = []
- this.$emit('updataList')
- this.$emit('getDetail')
- })
- })
-
- },
- cascaderChange(result) {
- this.areaSelectResult = result
- }
- },
- };
- </script>
- <style scoped>
- /deep/.el-dialog__body {
- padding-bottom: 0;
- }
- /deep/.el-dialog__footer {
- display: flex;
- justify-content: space-around;
- padding-top: 0;
- }
- .edit {
- display: inline-block;
- }
- .width-240 {
- width: 100%;
- }
- </style>
|