|
@@ -4,137 +4,190 @@
|
|
|
<el-drawer title="新建线索" :visible.sync="drawer" size="800px" direction="rtl" :show-close="false" append-to-body @close="onClose">
|
|
|
<div class="drawer__panel">
|
|
|
<el-row :gutter="10">
|
|
|
- <el-form :model="param.content" :rules="rules" ref="ruleForm" label-width="120px" class="demo-ruleForm"
|
|
|
+ <el-form :model="param.content" :rules="rules" ref="ruleForm" label-width="120px" class="demo-ruleForm"
|
|
|
label-position="right" size="small">
|
|
|
- <el-col :span="20">
|
|
|
- <el-form-item label="客户名称:" prop="enterprisename">
|
|
|
- <el-input v-model="param.content.enterprisename" placeholder="请填写客户名称"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4">
|
|
|
- <el-form-item label-width="0" >
|
|
|
- <businessMessage ref="businessMessage" :keyWord="param.content.enterprisename" @businessData="businessData"></businessMessage>
|
|
|
- </el-form-item>
|
|
|
-<!-- <businessMessage :keyWord="param.content.enterprisename" @businessData="businessData"></businessMessage>-->
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="联系人:" prop="name">
|
|
|
- <el-input v-model="param.content.name" placeholder="请填写联系人"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="联系方式:" prop="phonenumber">
|
|
|
- <el-input v-model="param.content.phonenumber" placeholder="请填写手机号"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="微信:" prop="wechatnum">
|
|
|
- <el-input v-model="param.content.wechatnum" placeholder="请填写微信"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="省市县:" prop="province">
|
|
|
- <el-cascader class="width-240" v-model="param.content.province" :options="_arealist"
|
|
|
- @change="cascaderChange" ref="cascader">
|
|
|
- </el-cascader>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="地址:" prop="address">
|
|
|
- <el-input v-model="param.content.address" placeholder="请填写地址"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="项目名称:" prop="projectname">
|
|
|
- <el-input v-model="param.content.projectname" placeholder="请填写项目名称"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="20">
|
|
|
- <el-form-item label="项目规模:" prop="scale" >
|
|
|
- <el-input v-model="param.content.scale" placeholder="请填写数值" class="inline-16"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4">
|
|
|
- <el-select v-model="param.content.unitname" placeholder="请选择单位" size="small" >
|
|
|
- <el-option
|
|
|
- v-for="item in unitnameList"
|
|
|
- :key="item.value"
|
|
|
- :label="item.value"
|
|
|
- :value="item.value">
|
|
|
- <!-- <span style="float: left">{{ item.value }}</span>-->
|
|
|
- <!-- <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?item.remarks:'暂无描述' }}</span>-->
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="总投资额(万元):" prop="totalinvestment">
|
|
|
- <el-input v-model="param.content.totalinvestment" placeholder="请填写金额(万元)"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="造价(万元):" prop="costofconstruction">
|
|
|
- <el-input v-model="param.content.costofconstruction" placeholder="请填写金额(万元)"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="预计开工时间:" prop="begdate_due">
|
|
|
- <el-date-picker
|
|
|
- style="width: 100%"
|
|
|
- v-model="param.content.begdate_due"
|
|
|
- type="month"
|
|
|
- placeholder="选择月"
|
|
|
- :picker-options="pickerOptions"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="预计完工时间:" prop="enddate_due">
|
|
|
- <el-date-picker
|
|
|
- style="width: 100%"
|
|
|
- v-model="param.content.enddate_due"
|
|
|
- type="month"
|
|
|
- placeholder="选择月"
|
|
|
- :picker-options="pickerOptions"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="市场活动:" prop="campaign_name">
|
|
|
- <el-popover
|
|
|
- placement="bottom"
|
|
|
- trigger="manual"
|
|
|
- v-model="activityVisible"
|
|
|
- width="400">
|
|
|
- <selectActivity ref="member" :radio="true" @onSelect="centerChange" @onCancel="activityVisible = false"></selectActivity>
|
|
|
- <el-input readonly type="text" slot="reference" @focus="activityVisible=true" v-model="param.content.campaign_name" placeholder="请选择市场活动"></el-input>
|
|
|
- </el-popover>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="领域:" prop="tradefield">
|
|
|
- <el-select v-model="param.content.tradefield" placeholder="请选择领域" style="width: 100%">
|
|
|
+ <el-col class="mb-30" :span="24">
|
|
|
+ <el-form-item>
|
|
|
+ <el-checkbox v-model="param.content.isuppictured" :false-label="0" :true-label="1" :disabled="isuppictured === 0" @change="onChange">是否上图</el-checkbox>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="20">
|
|
|
+ <el-form-item label="客户名称:" prop="enterprisename" v-if="param.content.isuppictured === 1" :rules="{required:true,message:'请填写客户名称',trigger:'blur'}">
|
|
|
+ <el-input v-model="param.content.enterprisename" placeholder="请填写客户名称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="客户名称:" prop="enterprisename" v-else >
|
|
|
+ <el-input v-model="param.content.enterprisename" placeholder="请填写客户名称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item label-width="0" >
|
|
|
+ <businessMessage ref="businessMessage" :keyWord="param.content.enterprisename" @businessData="businessData"></businessMessage>
|
|
|
+ </el-form-item>
|
|
|
+ <!-- <businessMessage :keyWord="param.content.enterprisename" @businessData="businessData"></businessMessage>-->
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="联系人:" prop="name" v-if="param.content.isuppictured === 1" :rules="{required:true,message:'请填写联系人',trigger:'blur'}">
|
|
|
+ <el-input v-model="param.content.name" placeholder="请填写联系人"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="联系人:" prop="name" v-else>
|
|
|
+ <el-input v-model="param.content.name" placeholder="请填写联系人"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="联系方式:" prop="phonenumber">
|
|
|
+ <el-input v-model="param.content.phonenumber" placeholder="请填写手机号"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="联系人角色:" prop="contactsrole">
|
|
|
+ <el-input v-model="param.content.contactsrole" placeholder="请填写联系人角色"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="微信:" prop="wechatnum">
|
|
|
+ <el-input v-model="param.content.wechatnum" placeholder="请填写微信"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="省市县:" prop="province">
|
|
|
+ <el-cascader class="width-240" v-model="param.content.province" :options="_arealist"
|
|
|
+ @change="cascaderChange" ref="cascader">
|
|
|
+ </el-cascader>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="地址:" prop="address">
|
|
|
+ <el-input v-model="param.content.address" placeholder="请填写地址"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="项目名称:" prop="projectname" v-if="param.content.isuppictured === 1" :rules="{required:true,message:'请填写项目名称',trigger:'blur'}">
|
|
|
+ <el-input v-model="param.content.projectname" placeholder="请填写项目名称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="项目名称:" prop="projectname" v-else>
|
|
|
+ <el-input v-model="param.content.projectname" placeholder="请填写项目名称"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="20">
|
|
|
+ <el-form-item label="项目规模:" prop="scale" v-if="param.content.isuppictured === 1" :rules="{required: true,pattern:/^\d+(.\d{1,2})?$/, message: '请输入数字值', trigger: 'blur'}">
|
|
|
+ <el-input v-model="param.content.scale" placeholder="请填写数值" class="inline-16"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="项目规模:" prop="scale" v-else :rules="{required: false,pattern:/^\d+(.\d{1,2})?$/, message: '请输入数字值', trigger: 'blur'}">
|
|
|
+ <el-input v-model="param.content.scale" placeholder="请填写数值" class="inline-16"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-select v-model="param.content.unitname" placeholder="请选择单位" size="small" >
|
|
|
<el-option
|
|
|
- v-for="item in tradefieldSelect"
|
|
|
+ v-for="item in unitnameList"
|
|
|
:key="item.value"
|
|
|
- :label="item.label"
|
|
|
+ :label="item.value"
|
|
|
:value="item.value">
|
|
|
+ <!-- <span style="float: left">{{ item.value }}</span>-->
|
|
|
+ <!-- <span style="float: right; color: #8492a6; font-size: 12px">{{ item.remarks?item.remarks:'暂无描述' }}</span>-->
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="来源:" prop="cluesource">
|
|
|
- <el-input v-model="param.content.cluesource" placeholder="请填写来源"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item label="线索概况:" prop="notes">
|
|
|
- <el-input type="textarea" v-model="param.content.notes" placeholder="请填写线索概况"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-form>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="总投资额(万元):" prop="totalinvestment">
|
|
|
+ <el-input v-model="param.content.totalinvestment" placeholder="请填写金额(万元)"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="造价(万元):" prop="costofconstruction">
|
|
|
+ <el-input v-model="param.content.costofconstruction" placeholder="请填写金额(万元)"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="预计开工时间:" prop="begdate_due">
|
|
|
+ <el-date-picker
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="param.content.begdate_due"
|
|
|
+ type="month"
|
|
|
+ placeholder="选择月"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="预计完工时间:" prop="enddate_due">
|
|
|
+ <el-date-picker
|
|
|
+ style="width: 100%"
|
|
|
+ v-model="param.content.enddate_due"
|
|
|
+ type="month"
|
|
|
+ placeholder="选择月"
|
|
|
+ :picker-options="pickerOptions"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="市场活动:" prop="campaign_name">
|
|
|
+ <el-popover
|
|
|
+ placement="bottom"
|
|
|
+ trigger="manual"
|
|
|
+ v-model="activityVisible"
|
|
|
+ width="400">
|
|
|
+ <selectActivity ref="member" :radio="true" @onSelect="centerChange" @onCancel="activityVisible = false"></selectActivity>
|
|
|
+ <el-input readonly type="text" slot="reference" @focus="activityVisible=true" v-model="param.content.campaign_name" placeholder="请选择市场活动"></el-input>
|
|
|
+ </el-popover>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="领域:" prop="tradefield">
|
|
|
+ <el-select v-model="param.content.tradefield" placeholder="请选择领域" style="width: 100%">
|
|
|
+ <el-option
|
|
|
+ v-for="item in tradefieldSelect"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="设计院:" prop="sys_enterpriseid" v-if="param.content.isuppictured === 1" :rules="{required:true,message:'请选择设计院',trigger:'change'}">
|
|
|
+ <designingInstitute ref="designingInstitute" @designingInstitute="designingInstitute"></designingInstitute>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="设计院:" prop="sys_enterpriseid" v-else >
|
|
|
+ <designingInstitute ref="designingInstitute" @designingInstitute="designingInstitute"></designingInstitute>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="设计师:" prop="name" v-if="param.content.isuppictured === 1" :rules="{required:true,message:'请选择设计师',trigger:'change'}">
|
|
|
+<!-- <el-input v-model="param.content.contactsid" placeholder="请选择设计师" :disabled="param.content.sys_enterpriseid === ''"></el-input>-->
|
|
|
+ <designer :sys_enterpriseid="param.content.sys_enterpriseid" @designer="selectDesigner"></designer>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="设计师:" prop="name" v-else >
|
|
|
+ <!-- <el-input v-model="param.content.contactsid" placeholder="请选择设计师" :disabled="param.content.sys_enterpriseid === ''"></el-input>-->
|
|
|
+ <designer :sys_enterpriseid="param.content.sys_enterpriseid" @designer="selectDesigner"></designer>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="关联项目:" prop="name">
|
|
|
+ <project ref="project" @project="selectProject"></project>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="来源:" prop="cluesource">
|
|
|
+ <el-input v-model="param.content.cluesource" placeholder="请填写来源"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="线索概况:" prop="notes">
|
|
|
+ <el-input type="textarea" v-model="param.content.notes" placeholder="请填写线索概况"></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <el-form-item label="上图员:" prop="isuppictured" v-if="param.content.isuppictured === 1" :rules="{required:true,message:'上图员信息缺失',trigger:'blur'}">
|
|
|
+ <el-input v-model="uppictured" placeholder="上图员信息" disabled></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="上图员:" prop="isuppictured" v-else >
|
|
|
+ <el-input v-model="uppictured" placeholder="上图员信息" disabled></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-form>
|
|
|
</el-row>
|
|
|
</div>
|
|
|
<div class="fixed__btn__panel">
|
|
@@ -148,8 +201,12 @@
|
|
|
<script>
|
|
|
import selectActivity from '@/SManagement/orderclue/components/selectActivity/selectActivity.vue'
|
|
|
import businessMessage from "@/components/businessMessage";
|
|
|
+import tableList from '@/components/table/index5';
|
|
|
+import designingInstitute from '@/template/clueModel/designingInstitute'
|
|
|
+import designer from '@/template/clueModel/designer'
|
|
|
+import project from '@/template/clueModel/project'
|
|
|
export default {
|
|
|
- components: {selectActivity,businessMessage},
|
|
|
+ components: {selectActivity,businessMessage,tableList,designingInstitute,designer,project},
|
|
|
data () {
|
|
|
var begdateTime = (rule,value,callback) =>{
|
|
|
this.$refs.ruleForm.validateField('enddate_due')
|
|
@@ -184,6 +241,11 @@ export default {
|
|
|
},
|
|
|
drawer: false,
|
|
|
activityVisible:false,
|
|
|
+ uppictured:'',//上图员
|
|
|
+ isuppictured:'',
|
|
|
+ sys_enterpriseidShow:false,
|
|
|
+ sys_enterpriseidList:[],
|
|
|
+ tablecols:[],
|
|
|
param: {
|
|
|
"id": 20221205162402,
|
|
|
"content": {
|
|
@@ -206,7 +268,12 @@ export default {
|
|
|
"begdate_due": "", //预计开工时间
|
|
|
"enddate_due": "", //预计完工时间
|
|
|
"tradefield":"",
|
|
|
- "unitname":''
|
|
|
+ "unitname":'',
|
|
|
+ "isuppictured":'',//是否上图
|
|
|
+ "contactsrole":'',//联系人角色
|
|
|
+ "sys_enterpriseid":'',//设计院
|
|
|
+ "contactsid":'',//设计师
|
|
|
+ "sa_projectid":'',//关联项目
|
|
|
}
|
|
|
},
|
|
|
unitnameList:[],
|
|
@@ -224,6 +291,9 @@ export default {
|
|
|
tradefield:[
|
|
|
{ required: true, message: '请选择领域', trigger: 'change'}
|
|
|
],
|
|
|
+ contactsrole:[
|
|
|
+ {required: false,pattern:/^[\u4e00-\u9fa5]{0,}$/g, message: '请输入中文', trigger: 'blur'}
|
|
|
+ ],
|
|
|
scale:[
|
|
|
{required: false,pattern:/^\d+(.\d{1,2})?$/, message: '请输入数字值', trigger: 'blur'}
|
|
|
],
|
|
@@ -258,8 +328,15 @@ export default {
|
|
|
methods: {
|
|
|
onShow () {
|
|
|
this.drawer = true
|
|
|
+
|
|
|
+ this.queryIsuppictured(JSON.parse(sessionStorage.getItem('active_account')).hrid)
|
|
|
this.queryTradefield()
|
|
|
this.queryUnitname()
|
|
|
+ this.$nextTick(()=>{
|
|
|
+ this.$refs.designingInstitute.listData()
|
|
|
+ this.$refs.project.listData()
|
|
|
+ })
|
|
|
+
|
|
|
},
|
|
|
addOrdercule() {
|
|
|
if (this.param.content.begdate_due !== ''){
|
|
@@ -339,7 +416,40 @@ export default {
|
|
|
this.unitnameList = res.data
|
|
|
})
|
|
|
},
|
|
|
- }
|
|
|
+ /*判断是否上图员*/
|
|
|
+ async queryIsuppictured(hrid){
|
|
|
+ const res = await this.$api.requested({
|
|
|
+ "classname":"webmanage.hr.hr",
|
|
|
+ "method":"query_hrMain",
|
|
|
+ "content":{
|
|
|
+ "hrid":hrid
|
|
|
+ }
|
|
|
+ })
|
|
|
+ console.log(res.data,'是否上图员')
|
|
|
+ this.isuppictured = res.data.isuppictured
|
|
|
+ },
|
|
|
+ onChange(){
|
|
|
+ console.log(this.param.content.isuppictured)
|
|
|
+ if (this.param.content.isuppictured === 1){
|
|
|
+ this.uppictured = JSON.parse(sessionStorage.getItem('active_account')).name
|
|
|
+ }else {
|
|
|
+ this.uppictured = ''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /*已选设计院*/
|
|
|
+ designingInstitute(id){
|
|
|
+ this.param.content.sys_enterpriseid = id
|
|
|
+ },
|
|
|
+ /*已选设计师*/
|
|
|
+ selectDesigner(id){
|
|
|
+ this.param.content.contactsid = id
|
|
|
+ },
|
|
|
+ /*已选项目*/
|
|
|
+ selectProject(id){
|
|
|
+ this.param.content.sa_projectid = id
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
}
|
|
|
|
|
|
</script>
|