123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553 |
- <template>
- <div>
- <basicDetails
- v-if="mainData"
- ref="details"
- :titleText="mainData.enterprisename_customer"
- :editData="mainData"
- :mainAreaData="mainAreaData"
- turnPageId="20221101094502"
- idname="sat_orderclueid"
- tags=""
- :tabs="tool.checkAuth($route.name,'contactPerson')?['跟进记录','联系人','详细信息','来源线索']:['跟进记录','详细信息','来源线索']"
- :justsaler="1"
- typeTask="销售线索"
- @pageChange="pageChange"
- @onEditSuccess="queryMainData($route.query.id)"
- @detailCreate="detailCreate">
- <div slot="customOperation">
- <edit class="inline-16" v-if="Object.keys(mainData).length > 0 && tool.checkAuth($route.name,'update')" :disabled="!isHandle" :data="mainData" @onSuccess="queryMainData"/>
- <saveContact class="inline-16" @contactSuccess="queryMainData" v-if="tool.checkAuth($route.name,'saveContact')" :disabled="!isHandle" :data="mainData"></saveContact>
- <follow :detailInfo="mainData"
- v-if="tool.checkAuth($route.name,'follow')"
- @updataList="queryMainData();$refs.followDetail.getFollowDetail()" @onSuccess="onFollow" :disabled="!isHandle" :data="mainData"></follow>
- <!-- <move :data="mainData"
- @updataList="queryMainData"
- :teamList="teamList()"
- v-if="userInfo.isAuth == 1 ? mainData.status == '待跟进' || mainData.status == '跟进中' : ''"></move> -->
- <changeCustomer v-if="mainData.iscustomer == 0 && tool.checkAuth($route.name,'changeCutomer') && mainData.istransformingtocustomer == 0" :data="mainData" :disabled="!isHandle" class="inline-16" @onChangeCustomer="queryMainData('转化')"></changeCustomer>
- <changeProject v-if="mainData.isproject == 0 && tool.checkAuth($route.name,'changeProject') && mainData.istransformingtoproject == 0" :data="mainData" :disabled="!isHandle" class="inline-16" @onChangeProject="queryMainData('转化')"/>
- <customerAudit v-if="mainData.iscustomer == 0 && tool.checkAuth($route.name,'customerAudit') && mainData.istransformingtocustomer == 1 && siteid == 'HY'" :disabled="mainData.iscustomer == 1" class="inline-16" :data="mainData" @onCustomerAudit="queryMainData('审核')"></customerAudit>
- <projectAudit v-if="mainData.isproject == 0 && tool.checkAuth($route.name,'projectAudit') && mainData.istransformingtoproject == 1 && siteid == 'HY'" :disabled="mainData.isproject == 1" class="inline-16" :data="mainData" @onProjectAudit="queryMainData('审核')"></projectAudit>
- <el-button :type="!isHandle || mainData.status === '已无效'?'':'primary'" v-if="tool.checkAuth($route.name,'goBack') && mainData.status != '已转化' && mainData.isprivate !== 1" :disabled="!isHandle || mainData.status === '已无效'" class="inline-16" size="mini" @click="goBack">退 回</el-button>
- <noNull v-if="tool.checkAuth($route.name,'noNull') && mainData.status != '已转化' " class="inline-16" :data="mainData" :disabled="!isHandle" @onSuccess="$store.dispatch('changeDetailDrawer',false);$router.replace('/orderclue')" :id="mainData.sat_orderclueid"/>
- <Del v-if="tool.checkAuth($route.name,'toVoid') " class="inline-16" :data="mainData" :disabled="!isHandle" :idName="20221123193702" @onSuccess="$store.dispatch('changeDetailDrawer',false);$router.replace('/orderclue')" :id="mainData.sat_orderclueid" idKey="sat_orderclueids"/>
- <changeSite v-if="tool.checkAuth($route.name,'changeSite')" class="inline-16"></changeSite>
- </div>
- <div slot="slot2" class="container normal-panel">
- <BaseInfo v-if="tool.checkAuth($route.name,'contactPerson')" :detailInfo="detailInfo"/>
- <sourceClues v-else></sourceClues>
- </div>
- <div slot="slot0" class="container normal-panel" style="padding: 10px">
- <followDetail :data="mainData" ref="followDetail" :disabled="!isHandle || mainData.status === '已无效' || mainData.status === '已过期'" @onSuccess="queryMainData"/>
- </div>
- <div slot="slot3" class="container normal-panel">
- <sourceClues></sourceClues>
- </div>
- <div slot="slot1" class="container normal-panel">
- <contactPerson v-if="tool.checkAuth($route.name,'contactPerson')" :data="mainData"></contactPerson>
- <BaseInfo v-else :detailInfo="detailInfo"/>
- </div>
- </basicDetails>
- </div>
- </template>
- <script>
- import BaseInfo from '@/HDrpManagement/projectChange/modules/modules/baseInfo/baseInfo'
- import followDetail from '@/SManagement/orderclue_detail/components/followDetail'
- import follow from '@/SManagement/orderclue/components/follow'
- import move from '@/SManagement/orderclue/components/move'
- import edit from '@/SManagement/orderclue/components/edit'
- import Del from './components/delete'
- import noNull from './components/noNull'
- import changeProject from './components/changeProject'
- import changeCustomer from './components/changeCustomer'
- import sourceClues from '@/HManagement/clueManage/clue_public/modules/sourceClues'
- import changeSite from '@/HManagement/clueManage/clue_private/modules/changeToSite.vue'
- import saveContact from './components/saveContact'
- import customerAudit from './components/customerAudit'
- import projectAudit from './components/projectAudit'
- import contactPerson from './components/contactPerson'
- export default {
- name: "detail",
- inject:['teamList'],
- data() {
- return {
- mainData:{},
- mainAreaData:{},
- detailInfo:{},
- userInfo:JSON.parse(window.sessionStorage.getItem('userInfo')),
- siteid:JSON.parse(sessionStorage.getItem('active_account')).siteid,
- isHandle:''
- }
- },
- components:{
- BaseInfo,
- followDetail,
- follow,
- move,
- Del,
- noNull,
- changeProject,
- changeCustomer,
- edit,
- sourceClues,
- changeSite,
- saveContact,
- customerAudit,
- projectAudit,
- contactPerson
- },
- watch: {
- async mainData(val) {
- const res = await this.$api.requested({
- "id": 20220930103501,
- "content": {
- "ownertable":"sat_orderclue",
- "ownerid":this.$route.query.id
- }
- })
- const agent = await this.$api.requested({
- "id":20230329122604,
- "content": {
- "ownertable":"sat_orderclue",
- "ownerid":this.$route.query.id
- }
- })
- if (this.mainData.leader.length !== 0){
- if (JSON.parse(window.sessionStorage.getItem('active_account')).userid === this.mainData.leader[0].userid){
- /*是负责人*/
- this.isHandle = true
- }else {
- let flag = 0
- for (var i=0;i<res.data[0].team.length;i++){
- if (res.data[0].team[i].userid === JSON.parse(window.sessionStorage.getItem('active_account')).userid){
- if (res.data[0].team[i].editable === 1){
- this.isHandle = true
- flag =1
- break
- }else {
- flag = 0
- break
- }
- }
- }
- /*不是负责人*/
- flag === 0?agent.data.editable === 0?this.isHandle = false:this.isHandle = true:this.isHandle = true
- this.$refs.details.$refs.group.editdataleader = agent.data.editdataleader
- }
- }
- /* let is
- if (Object.keys(JSON.parse(window.sessionStorage.getItem('userInfo'))).length > 0) {
- console.log('负责人逻辑');
- if(this.mainData.leader.length <= 0 ) return
- if(JSON.parse(window.sessionStorage.getItem('userInfo')).userid == this.mainData.leader[0].userid) {
- is = true
- } else {
- is = false
- }
- } else {
- console.log('不是负责人逻辑');
- is = true
- }
- this.isHandle = is*/
- console.log(this.isHandle,'权限');
- }
- },
- methods:{
- detailCreate (param) {
- param.content.isAll = 0
- },
- async queryMainData(val) {
- const res = await this.$api.requested({
- "classname": "saletool.orderclue.web.orderclue",
- "method": "selectDetail",
- "content": {
- "sat_orderclueid": this.$route.query.id
- }
- })
- this.mainData = res.data
- this.$refs.details.param.content.type = this.$route.query.tabIndex
- if (val == '审核' || (val == '转化' && this.siteid == 'HY')) return this.$refs.details.$refs.tag.queryTag()
- this.changeDataStructure()
- },
- changeDataStructure() {
- var that = this
- let siteid = JSON.parse(sessionStorage.getItem('active_account')).siteid
- this.mainAreaData = [
- {
- label:'客户名称',
- value:this.mainData.enterprisename_customer
- },
- {
- label:'联系人',
- value:this.mainData.name
- },
- {
- label:'联系方式',
- value:this.mainData.phonenumber
- },
- {
- label:'来源',
- value:this.mainData.cluesource
- },
- {
- label:'市场活动',
- value:this.mainData.campaign_name
- },
- {
- label:'领域',
- value:this.mainData.tradefield
- },
- {
- label:'负责人',
- value:this.mainData.leader.length > 0 && this.mainData.leader[0].name
- },
- {
- label:'分配状态',
- value:this.mainData.allocationstatus,
- style:function () {
- let style = that.tool.getStatusColor(that.mainData.allocationstatus)
- return style
- }
- },
- {
- label:'跟进状态',
- value:this.mainData.status,
- style:function () {
- let style = that.tool.getStatusColor(that.mainData.status)
- return style
- }
- },
- {
- label:'跟进次数',
- value:this.mainData.followcount
- },
- {
- label:'营销费用',
- value:'¥ '+this.tool.formatAmount(this.mainData.salesfeesamount,2)
- },
- ]
- siteid === 'HY'?
- this.detailInfo = {
- baseInfo: [
- {
- label:'客户',
- value:this.mainData.enterprisename_customer
- },
- {
- label:'联系人',
- value:this.mainData.name
- },
- {
- label:'联系人角色',
- value:this.mainData.contactsrole
- },
- {
- label:'联系方式',
- value:this.mainData.phonenumber
- },
- {
- label:'微信',
- value:this.mainData.wechatnum
- },
- {
- label:'省市县',
- value:`${this.mainData.province}-${this.mainData.city}-${this.mainData.county}`
- },
- {
- label:'地址',
- value:this.mainData.address
- },
- {
- label:'项目名称',
- value:this.mainData.projectname
- },
- {
- label:'项目规模',
- value:this.mainData.scale?this.mainData.scale + this.mainData.unitname:'--'
- },
- /*{
- label:'总投资额(万元)',
- value:this.mainData.totalinvestment !== 0 ? this.tool.formatAmount(this.mainData.totalinvestment,2):'--'
- },
- {
- label:'造价(万元)',
- value:this.mainData.costofconstruction !== 0 ? this.tool.formatAmount(this.mainData.costofconstruction,2):'--'
- },*/
- {
- label:'预计开工时间',
- value:this.mainData.begdate_due
- },
- {
- label:'预计完工时间',
- value:this.mainData.enddate_due
- },
- {
- label:'市场活动',
- value:this.mainData.campaign_name
- },
- {
- label:'领域',
- value:this.mainData.tradefield
- },
- {
- label:'设计院',
- value:this.mainData.institute
- },
- {
- label:'设计师',
- value:this.mainData.designer
- },
- {
- label:'关联项目',
- value:this.mainData.projectname1
- },
- {
- label:'来源',
- value:this.mainData.cluesource
- },
- {
- label:'线索概况',
- value:this.mainData.notes
- },
- {
- label:'所属业务员',
- value:this.mainData.salename
- },
- {
- label:'上图员',
- value:this.mainData.uppictured
- },
- {
- label:'负责人',
- value:this.mainData.leader.length > 0 && this.mainData.leader[0].name
- },
- {
- label:'分配状态',
- value:this.mainData.allocationstatus,
- style:function () {
- let style = that.tool.getStatusColor(that.mainData.allocationstatus)
- return style
- }
- },
- // {
- // label:'负责人',
- // value:this.mainData.leader[0].name
- // },
- {
- label:'跟进状态',
- value:this.mainData.status,
- style:function () {
- let style = that.tool.getStatusColor(that.mainData.status)
- return style
- }
- },
- ],
- systemInfo: [
- {label:'创建人',value:this.mainData.createBy},
- {label:'创建时间',value:this.mainData.createDate},
- {label:'分配人',value:this.mainData.assignedBy},
- {label:'分配时间',value:this.mainData.assignedDate},
- {label:'最近编辑人',value:this.mainData.editBy},
- {label:'最近编辑时间',value:this.mainData.editDate},
- {label:'最近跟进人',value:this.mainData.followBy},
- {label:'最近跟进时间',value:this.mainData.followDate},
- {label:'无效原因',value:this.mainData.invalidreason},
- {label:'作废原因',value:this.mainData.deletereason},
- {label:'跟进次数',value:this.mainData.followcount === 0?'0':this.mainData.followcount},
- /*{label:'转化次数',value:this.mainData.isproject === 0 && this.mainData.iscustomer === 0?'0':this.mainData.isproject + this.mainData.iscustomer },*/
- {label:'转手次数', value:this.mainData.leader[0].leadernum === 0?'0':this.mainData.leader[0].leadernum},
- ]
- }:
- this.detailInfo = {
- baseInfo: [
- {
- label:'客户',
- value:this.mainData.enterprisename_customer
- },
- {
- label:'联系人',
- value:this.mainData.name
- },
- {
- label:'联系人角色',
- value:this.mainData.contactsrole
- },
- {
- label:'联系方式',
- value:this.mainData.phonenumber
- },
- {
- label:'微信',
- value:this.mainData.wechatnum
- },
- {
- label:'省市县',
- value:`${this.mainData.province}-${this.mainData.city}-${this.mainData.county}`
- },
- {
- label:'地址',
- value:this.mainData.address
- },
- {
- label:'项目名称',
- value:this.mainData.projectname
- },
- {
- label:'项目规模',
- value:this.mainData.scale?this.mainData.scale + this.mainData.unitname:'--'
- },
- {
- label:'总投资额(万元)',
- value:this.mainData.totalinvestment !== 0 ? this.tool.formatAmount(this.mainData.totalinvestment,2):'--'
- },
- {
- label:'造价(万元)',
- value:this.mainData.costofconstruction !== 0 ? this.tool.formatAmount(this.mainData.costofconstruction,2):'--'
- },
- {
- label:'预计开工时间',
- value:this.mainData.begdate_due
- },
- {
- label:'预计完工时间',
- value:this.mainData.enddate_due
- },
- {
- label:'市场活动',
- value:this.mainData.campaign_name
- },
- {
- label:'领域',
- value:this.mainData.tradefield
- },
- {
- label:'设计院',
- value:this.mainData.institute
- },
- {
- label:'设计师',
- value:this.mainData.designer
- },
- {
- label:'关联项目',
- value:this.mainData.projectname1
- },
- {
- label:'来源',
- value:this.mainData.cluesource
- },
- {
- label:'线索概况',
- value:this.mainData.notes
- },
- {
- label:'所属业务员',
- value:this.mainData.salename
- },
- {
- label:'上图员',
- value:this.mainData.uppictured
- },
- {
- label:'负责人',
- value:this.mainData.leader.length > 0 && this.mainData.leader[0].name
- },
- {
- label:'分配状态',
- value:this.mainData.allocationstatus,
- style:function () {
- let style = that.tool.getStatusColor(that.mainData.allocationstatus)
- return style
- }
- },
- // {
- // label:'负责人',
- // value:this.mainData.leader[0].name
- // },
- {
- label:'跟进状态',
- value:this.mainData.status,
- style:function () {
- let style = that.tool.getStatusColor(that.mainData.status)
- return style
- }
- },
- ],
- systemInfo: [
- {label:'创建人',value:this.mainData.createBy},
- {label:'创建时间',value:this.mainData.createDate},
- {label:'分配人',value:this.mainData.assignedBy},
- {label:'分配时间',value:this.mainData.assignedDate},
- {label:'最近编辑人',value:this.mainData.editBy},
- {label:'最近编辑时间',value:this.mainData.editDate},
- {label:'最近跟进人',value:this.mainData.followBy},
- {label:'最近跟进时间',value:this.mainData.followDate},
- {label:'无效原因',value:this.mainData.invalidreason},
- {label:'作废原因',value:this.mainData.deletereason},
- {label:'跟进次数',value:this.mainData.followcount === 0?'0':this.mainData.followcount},
- /*{label:'转化次数',value:this.mainData.isproject === 0 && this.mainData.iscustomer === 0?'0':this.mainData.isproject + this.mainData.iscustomer },*/
- {label:'转手次数', value:this.mainData.leader[0].leadernum === 0?'0':this.mainData.leader[0].leadernum},
- ]
- }
- },
- goBack () {
- this.$confirm('退回该线索后无法撤销,是否继续',this.$t('提示'),{
- "confirmButtonText":'确定',
- "cancelButtonText":'取消'
- }).then(async confirm => {
- let res = await this.$api.requested({
- "id":20221207160802,
- "content": {
- sat_orderclueid: this.mainData.sat_orderclueid
- }
- })
- this.tool.showMessage(res , () => {
- this.$store.dispatch('changeDetailDrawer',false)
- this.$router.push('/orderclue')
- })
- })
- },
- // 监听切换数据,上一页,下一页
- pageChange (id,rowindex,tabIndex) {
- this.flag = false
- if (this.$route.query.listqueryid && this.$route.query.listqueryid !== 'undefined'){
- }else {
- tabIndex = this.$route.query.tabIndex
- this.$router.replace({path:'/orderclue_detail',query:{id:id,rowindex:rowindex,tabIndex:tabIndex}})
- }
- this.queryMainData(id)
- },
- onFollow(){
- this.$refs.followDetail.getFollowDetail()
- this.queryMainData()
- }
- },
- mounted () {
- this.queryMainData(this.$route.query.id)
- },
- created() {
- }
- }
- </script>
- <style scoped>
- </style>
|