Pārlūkot izejas kodu

Merge branch 'dev/v2.4.32_wmh' of jianyu/qmx_page_admin into feature/v2.4.32

wenmenghao 1 gadu atpakaļ
vecāks
revīzija
d95802d257

+ 30 - 12
src/views/bigMenber/bigCombo.vue

@@ -76,7 +76,7 @@
                                     <div class="servechildrenbox" v-else>
                                         <Checkbox v-model="two.choose" :disabled="two.disabled" @on-change="chooseChange($event,'two',index)"></Checkbox>
                                         <span style="margin-right: 10px;">{{ two.name }}</span>
-                                        <Select v-model="two.id" :disabled="two.disabled" placeholder="请选择产品类型(暂不支持数据导出)"
+                                        <Select v-model="two.id" :disabled="two.disabled || !two.choose" placeholder="请选择产品类型"
                                             style="width:120px;margin-right:10px;" v-if="two.list.length>1" @on-change="chooseChange($event,'select')">
                                             <Option  v-for="(three,three_index) in two.list" :key="three_index" :value="three.id">{{three.s_count_year + three.dw}}</Option>
                                         </Select>
@@ -202,17 +202,18 @@ export default {
                 this.initialized()
             }
         },
-        comConfirm() {
+        comConfirm() { // 提交
             if (!this.names) {
                 this.$Notice.warning({
                     title: "套餐名称不能为空"
                 })
                 return
             }
-            let serverId = []
-            this.sumSel.forEach(v => {
-                serverId.push(v.id)
-            })
+            this.getserveIdAndname()
+            let serverId = this.form_serve.ids
+            // this.sumSel.forEach(v => {
+            //     serverId.push(v.id)
+            // })
             let str = {
                 id: this.editData.tips == 1 ? '' : this.editData.rows.id,
                 name: this.names,
@@ -263,8 +264,9 @@ export default {
             }
         },
         getNewservedata(callback) {          
-        this.$request('/order/getServerNew').data().success((res) => { // 获取自定义套餐所有服务选项
+        this.$request('/order/getServerNew').data({}).success((res) => { // 获取自定义套餐所有服务选项
             let data = res.data.lists
+            // 处理为符合前端结构数据 
             data.forEach(ele => {
                 if (ele.Children.length > 0) {
                     ele.maps = groupByProperty(ele.Children,'s_new_name')
@@ -283,7 +285,11 @@ export default {
                 ele.lists = []
                 for (const key in ele.maps) {
                     let obj = {}
-                    obj.name = key
+                    if( key.includes('市场分析定制报告') || key.includes('企业分析') ||key.includes('业主分析') ){
+                        obj.name = key + ',报告下载:'
+                    }else{
+                        obj.name = key
+                    }
                     obj.list = ele.maps[key]
                     if(obj.list.length == 1){
                         obj.id = ele.maps[key][0].id
@@ -292,12 +298,22 @@ export default {
                         obj.list.forEach(e=>{
                         if(e.s_new_name.indexOf('数据导出') > -1){
                             e.dw = '条/天'
-                            if(e.s_count_year == 200){
+                            if(e.s_count_year == 200){ // 默认200
                                 obj.id = e.id
                             }
+                        } else if(e.s_new_name.includes('市场分析定制报告')){
+                            e.dw = '份/年' // 单位
+                            if(e.s_count_year == 1){ // 默认1
+                                obj.id = e.id // 勾选层级的ID赋值为规格为1的产品ID
+                            }
+                        }else if(e.s_new_name.includes('企业分析') || e.s_new_name.includes('业主分析')){
+                            e.dw = '份/年' // 单位
+                            if(e.s_count_year == 3){ // 默认3
+                                obj.id = e.id // 勾选层级的ID赋值为规格为3的产品ID
+                            }
                         }else{
                             e.dw = '个'
-                            if(e.s_count_year == 100){
+                            if(e.s_count_year == 100){ // 默认100
                                 obj.id = e.id
                             }
                         }
@@ -332,8 +348,9 @@ export default {
                     ele.list = newlist
                 })
             })
-            this.newServedata = data
-            console.log(this.newServedata)
+            this.newServedata = data 
+            // 处理为符合前端结构数据 结束
+            console.log(this.newServedata) //一级 => lists = >list
             try{
                 callback()
            }catch(e){
@@ -435,6 +452,7 @@ export default {
                                     e.id = item.id
                                     e.choose = true
                                 }  
+                                // 专家版
                                 if(this.editData.rows.id == 7 && item.s_new_name.indexOf('向业主推荐')>-1){
                                     e.choose = true
 

+ 257 - 230
src/views/order/components/bigOrder.vue

@@ -46,10 +46,10 @@
                         </Select>
                     </FormItem>
                 </div>
-                <FormItem label="关联订单" required v-show="member.products == '2' && contactOrderList.length>0">
-                <div class="contactOrderTable" >
-                    <Table border ref="selection" :columns="contactOrderColumns" :data="contactOrderList"></Table>
-                </div>
+                <FormItem label="关联订单" required v-show="member.products == '2' && contactOrderList.length > 0">
+                    <div class="contactOrderTable">
+                        <Table border ref="selection" :columns="contactOrderColumns" :data="contactOrderList"></Table>
+                    </div>
                 </FormItem>
                 <!-- 选择大会员才展示 -->
                 <FormItem label="会员套餐" v-if="creAuth == '1'" required>
@@ -99,15 +99,16 @@
                                     class="serve-one">{{ item.ColumnName }}:</span>
                             </div>
                             <div class="serve-content">
-                                <div class="serve-two" v-show="!two.hide" v-for="(two, two_index) in item.lists" :key="two_index">
+                                <div class="serve-two" v-show="!two.hide" v-for="(two, two_index) in item.lists"
+                                    :key="two_index">
                                     <span v-if="two.id == 1">{{ two.name }}<span
                                             v-if="member.buySubject == '2'">+企业管理</span></span>
                                     <div class="servechildrenbox" v-else>
                                         <Checkbox v-model="two.choose" :disabled="two.disabled"
                                             @on-change="chooseChange($event, 'two', index)"></Checkbox>
                                         <span style="margin-right: 10px;">{{ two.name }}</span>
-                                        <Select v-model="two.id" :disabled="two.disabled"
-                                            placeholder="请选择产品类型(暂不支持数据导出)" style="width:120px;margin-right:10px;"
+                                        <Select v-model="two.id" :disabled="two.disabled || !two.choose"
+                                            placeholder="请选择产品" style="width:120px;margin-right:10px;"
                                             v-if="two.list.length > 1" @on-change="chooseChange($event, 'select')">
                                             <Option v-for="(three, three_index) in two.list" :key="three_index"
                                                 :value="three.id">{{ three.s_count_year + three.dw }}</Option>
@@ -116,7 +117,8 @@
                                 </div>
                             </div>
                         </div>
-                        <div v-if="buyserveName"><span style="color: #e13d13;">注:服务到期时间:{{serveEndtime}},</span><span style="font-weight:bold">该客户已购买:</span>{{buyserveName}}</div>
+                        <div v-if="buyserveName"><span style="color: #e13d13;">注:服务到期时间:{{ serveEndtime }},</span><span
+                                style="font-weight:bold">该客户已购买:</span>{{ buyserveName }}</div>
                     </FormItem>
                     <FormItem label="购买数量" required v-if="!(creAuth == '3' && this.member.buySubject == '1')">
                         <Input v-model="member.buyCount" type="tel" maxlength="4" @on-keyup="buyHandler"
@@ -160,11 +162,13 @@
                                     <Option v-for="item in unitOptions" :value="item.v" :key="item.v">{{ item.n }}
                                     </Option>
                                 </Select>
-                                <Checkbox style="margin-left: 10px;" v-if="returnMyReceivable === false && ((member.buySubject == '1' && member.createType == '1') || member.buySubject == '2')" v-model="member.paybackOpenServer"
-                                >全额回款当日自动开通</Checkbox>
-                            </div> 
+                                <Checkbox style="margin-left: 10px;"
+                                    v-if="returnMyReceivable === false && ((member.buySubject == '1' && member.createType == '1') || member.buySubject == '2')"
+                                    v-model="member.paybackOpenServer">全额回款当日自动开通</Checkbox>
+                            </div>
                             <!-- 个人 延长服务 -->
-                            <span style="color: #e13d13;" v-if=" member.buySubject == '1' && member.createType == '3'">全额回款后将自动续费开通权益,如若回款时间晚于原服务到期时间,则开始日期为回款日期。</span>
+                            <span style="color: #e13d13;"
+                                v-if="member.buySubject == '1' && member.createType == '3'">全额回款后将自动续费开通权益,如若回款时间晚于原服务到期时间,则开始日期为回款日期。</span>
                         </FormItem>
                         <FormItem label="开始日期" v-if="creAuth == '1' && repair == '1' && showOrderStatus">
                             <date-sigle ref="sigleRef1" :dateType="'date'" :placeholderd="'请选择开始日期'"
@@ -173,8 +177,9 @@
                                 :beginDis="noPass"></date-sigle>
                             <Checkbox v-model="noPass" @on-change="noTchange"
                                 :disabled="!showOrderStatus || this.pReadon">暂不开通</Checkbox>
-                            <Checkbox v-if="returnMyReceivable === true && ((member.buySubject == '1' && member.createType == '1') || member.buySubject == '2')" v-model="member.paybackOpenServer"
-                                :disabled="!noPass">全额回款当日自动开通</Checkbox>
+                            <Checkbox
+                                v-if="returnMyReceivable === true && ((member.buySubject == '1' && member.createType == '1') || member.buySubject == '2')"
+                                v-model="member.paybackOpenServer" :disabled="!noPass">全额回款当日自动开通</Checkbox>
                         </FormItem>
                         <!-- </div> -->
                     </div>
@@ -258,7 +263,7 @@
                             <RadioGroup v-model="member.agreementStatus" @on-change="agreementStatusChange">
                                 <Radio :label="item.v" v-for="(item, index) in agreeStatus" :value="item.v"
                                     :key="index">{{
-                                  item.n }}</Radio>
+            item.n }}</Radio>
                             </RadioGroup>
                         </FormItem>
                         <FormItem label="签约主体" required>
@@ -321,35 +326,41 @@
                         </div>
                     </div>
                     <FormItem label="回款计划" class="formTitle"></FormItem>
-                    <FormItem  label="回款次数"  required>
+                    <FormItem label="回款次数" required>
                         <Input v-model.trim="member.paybackNum" type="text" @on-keyup="keyupformat('paybackNum')"
                             style="width: 80px"></Input><span style="margin-left: 5px;">次</span>
                     </FormItem>
                     <!-- 回款列表 -->
-                    <FormItem  label="" v-show="member.paybackNum>1">
+                    <FormItem label="" v-show="member.paybackNum > 1">
                         <Table border :columns="paybackTable" :data="paybackTableData">
                             <template slot-scope="{ row }" slot="code">
                                 <strong>{{ row.code }}</strong>
                             </template>
                             <template slot-scope="{ row, index }" slot="time">
                                 <strong v-if="row.code == '合计'">-</strong>
-                                <date-sigle :ref="'paybackTime'+index" :dateType="'date'" :dataV="paybackTableData[index].time"
-                                :placeholderd="'请选择'" @startDate="paybackTableChange(row,index,'time',$event)" :overTime="0" v-else></date-sigle>
+                                <date-sigle :ref="'paybackTime' + index" :dateType="'date'"
+                                    :dataV="paybackTableData[index].time" :placeholderd="'请选择'"
+                                    @startDate="paybackTableChange(row, index, 'time', $event)" :overTime="0"
+                                    v-else></date-sigle>
                             </template>
                             <template slot-scope="{ row, index }" slot="money">
-                                <strong v-if="row.code == '合计'">{{member.payMoney || '-'}}</strong>
-                                <Input v-model="paybackTableData[index].money" @on-keyup="paybackTableChange(row,index,'money')"
-                                    type="number" @mousewheel.native.prevent @DOMMouseScroll.native.prevent placeholder="请输入" :disabled="index + 1  == member.paybackNum" v-else></Input>
+                                <strong v-if="row.code == '合计'">{{ member.payMoney || '-' }}</strong>
+                                <Input v-model="paybackTableData[index].money"
+                                    @on-keyup="paybackTableChange(row, index, 'money')" type="number"
+                                    @mousewheel.native.prevent @DOMMouseScroll.native.prevent placeholder="请输入"
+                                    :disabled="index + 1 == member.paybackNum" v-else></Input>
                             </template>
                         </Table>
                     </FormItem>
                     <!-- 回款工作日 -->
-                    <FormItem  label=" " class="d-felx" :label-width="55" required v-show="member.paybackNum==1">
+                    <FormItem label=" " class="d-felx" :label-width="55" required v-show="member.paybackNum == 1">
                         <span v-if="member.agreementStatus == '1'">自协议签订之日起</span>
                         <span v-else>自订单创建之日起</span>
-                        <Input v-model.trim="member.paybackWorkDayNum" type="text" @on-keyup="keyupformat('paybackWorkDayNum')"
+                        <Input v-model.trim="member.paybackWorkDayNum" type="text"
+                            @on-keyup="keyupformat('paybackWorkDayNum')"
                             style="width: 80px;margin-left:10px;margin-right: 10px;"></Input>
-                        <span> 个工作日回款,预计回款时间:<span style="color: #36a3f7">{{ member.paybackExpectDate  || '--'}}</span></span>
+                        <span> 个工作日回款,预计回款时间:<span style="color: #36a3f7">{{ member.paybackExpectDate ||
+            '--' }}</span></span>
                     </FormItem>
                     <FormItem label="业绩归属" class="formTitle">
                     </FormItem>
@@ -513,13 +524,13 @@ export default {
 
         },
         returnMyReceivable: function () {
-          let rout = this.$route
-          if (rout.path && rout.path.includes('myorderList')) {// 我的订单
-            return false
-          } else {
-            return true
-          }
-    },
+            let rout = this.$route
+            if (rout.path && rout.path.includes('myorderList')) {// 我的订单
+                return false
+            } else {
+                return true
+            }
+        },
     },
     watch: {
         vipval() { // 监听变化多参数变动
@@ -596,9 +607,9 @@ export default {
                     buySubject: this.member.buySubject,
                     createType: 1
                 }
-                if(this.member.buySubject == '2'){
-                  obj.orderCode = this.member.contactOrderCode
-                }  
+                if (this.member.buySubject == '2') {
+                    obj.orderCode = this.member.contactOrderCode
+                }
             }
             if (this.member.products == '1' && obj.phone && obj.buyCount && obj.buySubject) {
                 if (this.member.createType == '1' && (!obj.payCycle || !obj.cycleType)) {
@@ -606,7 +617,7 @@ export default {
                 }
                 this.getpriceAjax(obj)
             } else if (this.member.products == '2' && obj.phone && obj.buyCount && obj.buySubject) {
-                if(this.member.buySubject == '2' && !obj.orderCode){
+                if (this.member.buySubject == '2' && !obj.orderCode) {
                     this.$Notice.warning({ title: '请选择关联订单' })
                     return
                 }
@@ -616,8 +627,8 @@ export default {
             }
         },
         createdTypeChange() {  // 套餐自动勾选逻辑
-            this.buyserveName= ''
-            this.serveEndtime=''
+            this.buyserveName = ''
+            this.serveEndtime = ''
             try {
                 if (!this.member.phone || !this.member.buySubject || !this.member.contract_nature) {
                     return
@@ -630,13 +641,13 @@ export default {
                         clearTimeout(timer)
                         let timer = setTimeout(() => {
                             if (this.member.phone) {
-                                    this.currentServer(this.member.phone,(res)=>{
-                                        let ids = res.data.list
-                                        let time = dateFormatter(res.data.serviceEndTime, 'yyyy-MM-dd')
-                                        this.echoServe(ids, 'hide',ids)
-                                        this.Purchasedservices(time)   
-                                        this.getserveIdAndname()
-                                    })
+                                this.currentServer(this.member.phone, (res) => {
+                                    let ids = res.data.list
+                                    let time = dateFormatter(res.data.serviceEndTime, 'yyyy-MM-dd')
+                                    this.echoServe(ids, 'hide', ids)
+                                    this.Purchasedservices(time)
+                                    this.getserveIdAndname()
+                                })
                             }
                         }, 200);
                     }
@@ -662,7 +673,7 @@ export default {
                             clearTimeout(timer)
                             let timer = setTimeout(() => {
                                 if (this.member.phone) {
-                                    this.currentServer(this.member.phone,(res)=>{
+                                    this.currentServer(this.member.phone, (res) => {
                                         let ids = res.data.list
                                         this.echoServe(ids, 'allDis')
                                         this.getserveIdAndname()
@@ -696,8 +707,9 @@ export default {
 
         },
         getNewservedata() {// 获取新服务列表   
-            this.$request('/order/getServerNew').data().success((res) => { // 获取自定义套餐所有服务选项
+            this.$request('/order/getServerNew').data({}).success((res) => { // 获取自定义套餐所有服务选项
                 let data = res.data.lists
+                // 处理为符合前端结构数据 
                 data.forEach(ele => {
                     if (ele.Children.length > 0) {
                         ele.maps = groupByProperty(ele.Children, 's_new_name')
@@ -716,7 +728,11 @@ export default {
                     ele.lists = []
                     for (const key in ele.maps) {
                         let obj = {}
-                        obj.name = key
+                        if (key.includes('市场分析定制报告') || key.includes('企业分析') || key.includes('业主分析')) {
+                            obj.name = key + ',报告下载:'
+                        } else {
+                            obj.name = key
+                        }
                         obj.list = ele.maps[key]
                         if (obj.list.length == 1) {
                             obj.id = ele.maps[key][0].id
@@ -728,6 +744,11 @@ export default {
                                     if (e.s_count_year == 200) {
                                         obj.id = e.id
                                     }
+                                } else if (e.s_new_name.includes('市场分析定制报告') || e.s_new_name.includes('企业分析') || e.s_new_name.includes('业主分析')) {
+                                    e.dw = '份' // 单位
+                                    if (e.s_count_year == 1) { // 默认1
+                                        obj.id = e.id // 勾选层级的ID赋值为规格为1的产品ID
+                                    }
                                 } else {
                                     e.dw = '个'
                                     if (e.s_count_year == 100) {
@@ -810,8 +831,8 @@ export default {
             this.getserveIdAndname()
         },
         getserveIdAndname(type) { // 获取服务id和name
-            let key = 'choose'
-            if(type == 'getbuyserve'){
+            let key = 'choose' //已勾选服务
+            if (type == 'getbuyserve') { // 已购服务(被隐藏的服务即为已购服务)
                 key = 'hide'
             }
             let data = this.newServedata || []
@@ -821,7 +842,7 @@ export default {
                 ele.lists.forEach(e => {
                     if (e[key]) {
                         ids.push(e.id)
-                        if (e.id == 22 || e.id == 20 || e.id == 24) {  // 项目进度监控 22 100 14 500  企业情报监控20 100 23 500  业主监控 24 100 25 500
+                        if (e.id == 22 || e.id == 20 || e.id == 24) {  // 项目进度监控 22=>100; 14=>500  企业情报监控20=>100 ;23=>500  业主监控 24=>100 ;25=>500
                             names.push(e.name + '(100个)')
                         } else if (e.id == 14 || e.id == 23 || e.id == 25) {
                             names.push(e.name + '(500个)')
@@ -836,7 +857,13 @@ export default {
                             } else {
                                 names.push('基础服务')
                             }
-                        }  else {
+                        } else if(e.name.includes('市场分析定制报告') || e.name.includes('企业分析') || e.name.includes('业主分析')){
+                             e.list.forEach(item =>{
+                                if(e.id == item.id){
+                                    names.push(e.name + `(报告下载:${item.s_count_year}${item.dw})`)
+                                }
+                             })
+                        }else {
                             names.push(e.name)
                         }
                     }
@@ -854,19 +881,19 @@ export default {
                 ids.push(13)
             }
             // console.log(ids,names)
-            if(type == 'getbuyserve'){
+            if (type == 'getbuyserve') {
                 return { ids, names }
-            }else{
+            } else {
                 this.form_serve = { ids, names }
             }
         },
-        Purchasedservices(time){
-            let {names} = this.getserveIdAndname('getbuyserve')
+        Purchasedservices(time) {
+            let { names } = this.getserveIdAndname('getbuyserve') // 获取已购服务 已购服务会在服务勾选隐藏
             this.buyserveName = names.join('、')
             this.serveEndtime = time
         },
-        echoServe(ids, type,hide_id) { // 回显服务 dis禁用已勾选 allDis禁用全部 hide隐藏 hide_dis 隐藏指定禁用剩下的
-            let data = ids 
+        echoServe(ids, type, hide_id) { // 回显服务 ids:勾选ID; type: dis禁用已勾选 allDis禁用全部 hide隐藏 hide_dis 隐藏指定禁用剩下的; hide_id: 需要隐藏的id
+            let data = ids
             if (!data.includes(1)) { // 1 3 基础服务默认都有
                 data.push(1)
             }
@@ -894,14 +921,14 @@ export default {
                             }
                         }
                         if (hide.includes(item.id)) {
-                            if(type == 'hide' || type == 'hide_dis'){
+                            if (type == 'hide' || type == 'hide_dis') {
                                 e.hide = true
-                                item.hide =true
-                                ele.hide =true
+                                item.hide = true
+                                ele.hide = true
                                 e.disabled = true
                                 item.disabled = true
                                 ele.disabled = true
-                            }   
+                            }
                         }
                         if (type == 'allDis' || type == 'hide_dis') { // 禁用全部选项
                             e.disabled = true
@@ -923,7 +950,7 @@ export default {
                 } else {
                     ele.hide = false
                 }
-            }) 
+            })
         },
         modifycreateType() {
             this.member.createType = ''
@@ -944,9 +971,9 @@ export default {
                 conf = {}
             }
             this.member.contactOrderCode = ''
-            this.member.entId=''
-            this.member.paybackWorkDayNum=''
-            this.member.paybackExpectDate=''
+            this.member.entId = ''
+            this.member.paybackWorkDayNum = ''
+            this.member.paybackExpectDate = ''
             this.member.paybackOpenServer = false
             const excludeList = conf.excludeList || []
             this.member.bigMoney = 0
@@ -966,9 +993,9 @@ export default {
                 this.member.companyName = ''
             }
             this.member.remark = ''
-            if(this.member.products == '2'){
+            if (this.member.products == '2') {
                 this.member.agreementStatus = '0'
-            }else{
+            } else {
                 this.member.agreementStatus = '1'
             }
             this.member.payType = ''
@@ -1038,7 +1065,7 @@ export default {
             if (val === '1') { // 合同金额
                 this.member.payMoney = this.moneyReg(this.member.payMoney)
                 // 金额变动清空回款列表
-                if(this.member.paybackNum > 1){
+                if (this.member.paybackNum > 1) {
                     this.paybackTableDataClear()
                 }
             } else if (val === '2') {
@@ -1054,104 +1081,104 @@ export default {
             }
             this.updateSaleMoney()
         },
-        paybackTableDataClear(){ // 初始化回款列表
-            let num = this.member.paybackNum 
+        paybackTableDataClear() { // 初始化回款列表
+            let num = this.member.paybackNum
             let arr = []
             for (let i = 0; i <= num; i++) {
-                if(i == num){
-                  arr.push({code:'合计',time:'-',money:this.member.payMoney})
-                }else{
-                  arr.push({code:i + 1,time:'',money:''})
-                }     
+                if (i == num) {
+                    arr.push({ code: '合计', time: '-', money: this.member.payMoney })
+                } else {
+                    arr.push({ code: i + 1, time: '', money: '' })
+                }
             }
             this.paybackTableData = arr
-            this.$nextTick(()=>{
-                this.paybackTableData.forEach((ele,index)=>{
-                    if(index < this.paybackTableData.length - 1 ){
-                        this.$refs['paybackTime'+index].initd()
+            this.$nextTick(() => {
+                this.paybackTableData.forEach((ele, index) => {
+                    if (index < this.paybackTableData.length - 1) {
+                        this.$refs['paybackTime' + index].initd()
                     }
-                 }) 
-             })
+                })
+            })
         },
         keyupformat(val) { // 格式化输入框
             if (val === 'paybackWorkDayNum') {
                 this.member.paybackWorkDayNum = this.filterNonPositiveIntegers(this.member.paybackWorkDayNum)
                 this.getcollectionDate()
-            }else if (val === 'paybackNum'){ // 回款次数
+            } else if (val === 'paybackNum') { // 回款次数
                 this.member.paybackNum = this.paybackNumReg(this.member.paybackNum)
-                if(this.member.paybackNum > 1){
+                if (this.member.paybackNum > 1) {
                     this.paybackTableDataClear()
-                }else{
+                } else {
                     // 切换一次重置数值
                     this.member.paybackWorkDayNum = ''
                     this.member.paybackExpectDate = ''
-                }  
+                }
             }
         },
-        paybackTableChange (row,index,type,e) { // 回款计划表格 change
-            if(type == 'money'){
-                 // 回款金额未录入时
-               if (!this.member.payMoney) {
-                this.$Notice.warning({ title: '请先输入合同金额' })
-                this.paybackTableData[index].money = ''
-                return
-               }
+        paybackTableChange(row, index, type, e) { // 回款计划表格 change
+            if (type == 'money') {
+                // 回款金额未录入时
+                if (!this.member.payMoney) {
+                    this.$Notice.warning({ title: '请先输入合同金额' })
+                    this.paybackTableData[index].money = ''
+                    return
+                }
                 let num = 0
-                if(this.paybackmoneyReg(this.paybackTableData[index].money)){
+                if (this.paybackmoneyReg(this.paybackTableData[index].money)) {
                     let money_ = this.paybackmoneyReg(this.paybackTableData[index].money)
-                   this.paybackTableData[index].money = Number(money_).fixed(2)
-                }else{
-                    this.paybackTableData[index].money =''
-                } 
-                this.paybackTableData.forEach((ele,index)=>{
-                   if(index < this.paybackTableData.length - 2 ){
-                    num += Number(ele.money)
-                   }
-                })
-                if(num && this.member.payMoney){
-                  if(Number(this.member.payMoney ) - Number(num) > 0){
-                    this.paybackTableData[this.member.paybackNum -1].money = (Number(this.member.payMoney ) - Number(num)).fixed(2)
-                  }else{
-                    this.$Notice.warning({ title: '需小于合同金额' })
-                    this.paybackTableData[index].money= ''
-                    // this.paybackTableData[this.member.paybackNum -1].money = ''
-                  }
-                  this.paybackTableData.forEach((ele)=>{
-                   if(ele.code == '合计' ){
-                    ele.money = Number(this.member.payMoney )
-                   }
+                    this.paybackTableData[index].money = Number(money_).fixed(2)
+                } else {
+                    this.paybackTableData[index].money = ''
+                }
+                this.paybackTableData.forEach((ele, index) => {
+                    if (index < this.paybackTableData.length - 2) {
+                        num += Number(ele.money)
+                    }
                 })
-                }else{
-                    this.paybackTableData[this.member.paybackNum -1].money = ''
+                if (num && this.member.payMoney) {
+                    if (Number(this.member.payMoney) - Number(num) > 0) {
+                        this.paybackTableData[this.member.paybackNum - 1].money = (Number(this.member.payMoney) - Number(num)).fixed(2)
+                    } else {
+                        this.$Notice.warning({ title: '需小于合同金额' })
+                        this.paybackTableData[index].money = ''
+                        // this.paybackTableData[this.member.paybackNum -1].money = ''
+                    }
+                    this.paybackTableData.forEach((ele) => {
+                        if (ele.code == '合计') {
+                            ele.money = Number(this.member.payMoney)
+                        }
+                    })
+                } else {
+                    this.paybackTableData[this.member.paybackNum - 1].money = ''
+                }
+            } else if (type == 'time') {
+                if (e) {
+                    this.paybackTableData[index].time = e
                 }
-            }else if(type == 'time'){
-              if(e){
-                this.paybackTableData[index].time = e
-              }
             }
             console.log(this.paybackTableData)
         },
-        paybackmoneyReg(val){
-          if(val){
+        paybackmoneyReg(val) {
+            if (val) {
                 let str = this.moneyReg(val + "")
-            if(str == 0 && str !== ''){
-                this.$Notice.warning({ title: '不可为0' })
-                str = ''
-            }else if (Number(str) >= Number(this.member.payMoney)){
-                this.$Notice.warning({ title: '需小于合同金额' })
-                str = ''
-            }
-            return str
+                if (str == 0 && str !== '') {
+                    this.$Notice.warning({ title: '不可为0' })
+                    str = ''
+                } else if (Number(str) >= Number(this.member.payMoney)) {
+                    this.$Notice.warning({ title: '需小于合同金额' })
+                    str = ''
+                }
+                return str
             } else {
-            return ""
-          }
+                return ""
+            }
         },
-        paybackNumReg (val) {
+        paybackNumReg(val) {
             let str = val.toString().replace(/-\d+|[^\d\s,]+/g, '')
             if (str !== "" && str < 1) {
                 this.$Notice.warning({ title: '最小值为1' })
                 str = 1
-            }else if (str > 5){
+            } else if (str > 5) {
                 this.$Notice.warning({ title: '最大值为5' })
                 str = 5
             }
@@ -1162,15 +1189,15 @@ export default {
             }
         },
         getcollectionDate: debounce(function () {
-            if(this.member.paybackNum != 1){
+            if (this.member.paybackNum != 1) {
                 return
             }
             let start = ''
             this.member.paybackExpectDate = ''
             if (this.member.paybackWorkDayNum === 0) {
                 if (this.member.agreementStatus == '1') {
-                    this.member.paybackExpectDate  = this.member.agreementTime
-                }else{
+                    this.member.paybackExpectDate = this.member.agreementTime
+                } else {
                     this.member.paybackExpectDate = dateFormatter(new Date(), 'yyyy-MM-dd')
                 }
                 return
@@ -1183,17 +1210,17 @@ export default {
             if (this.member.paybackWorkDayNum === '' || !start) {
                 return
             }
-            let obj ={
+            let obj = {
                 startDay: start,
                 workDayNum: Number(this.member.paybackWorkDayNum),
             }
             this.$request('getWorkDay').contentType('application/json').data(obj).success((res) => {
-               
+
                 if (res.data) {
                     this.member.paybackExpectDate = res.data
                 }
             }).post('rewritePath')
-            
+
         }, 200),
         filterNonPositiveIntegers(str) {
             let strs = str + ""
@@ -1235,17 +1262,17 @@ export default {
                 if (res.data.dep) {
                     this.saleDep = res.data.dep
                 }
-                if(res.data.displayMap){
-                        if( res.data.displayMap.distribution_channel){
-                            this.member.salesChannel = res.data.displayMap.distribution_channel
-                        }
-                        if(res.data.displayMap.saleDep){
-                            this.member.saleCodeModel = res.data.displayMap.saleDep
-                        }
+                if (res.data.displayMap) {
+                    if (res.data.displayMap.distribution_channel) {
+                        this.member.salesChannel = res.data.displayMap.distribution_channel
                     }
+                    if (res.data.displayMap.saleDep) {
+                        this.member.saleCodeModel = res.data.displayMap.saleDep
+                    }
+                }
             }).post()
         },
-        saleDepChange:debounce(function (val)  { // 业绩归属部门
+        saleDepChange: debounce(function (val) { // 业绩归属部门
             if (val && val.length > 0) {
                 let valres = this.getMinLevelData(this.saleDep, val)
                 this.saleCode = valres.join(',')
@@ -1259,7 +1286,7 @@ export default {
             } else {
                 this.saleCode = ''
             }
-        },200),
+        }, 200),
         removeElementFromArray(arr, value) {
             for (let i = 0; i < arr.length; i++) {
                 if (arr[i] === value) {
@@ -1327,14 +1354,14 @@ export default {
             }
         },
         salesChange(val) {
-         //销售渠道兼容单个内容 或数组内容
-          if (val instanceof Array) {
-            this.member.salesChannel = String(val[1])
-          } else if (typeof val === 'string') {
-            this.member.salesChannel = val
-          } else {
-           this.member.salesChannel = String(val)
-          }
+            //销售渠道兼容单个内容 或数组内容
+            if (val instanceof Array) {
+                this.member.salesChannel = String(val[1])
+            } else if (typeof val === 'string') {
+                this.member.salesChannel = val
+            } else {
+                this.member.salesChannel = String(val)
+            }
         },
         channelChange(val) {
             this.member.orderChannel = String(val)
@@ -1386,7 +1413,7 @@ export default {
                 buySubject: this.member.buySubject,
                 getContactOrder: 1,
                 phone: this.member.phone,
-                entName:(this.member.buySubject == '2')? this.member.companyName : ''
+                entName: (this.member.buySubject == '2') ? this.member.companyName : ''
             }).success((res) => {
                 this.bigStas = res.data.Bigstatus
                 this.subStas = res.data.isSub
@@ -1395,12 +1422,12 @@ export default {
                 this.i_member_status = res.data.i_member_status || ''
                 this.areaCount = res.data.areaCount || 0
                 this.contactOrderList = res.data.contactOrder || [] // 关联订单列表
-                if(this.contactOrderList.length == 1){ 
-                    this.$set(this.contactOrderList[0],'choose',true)
+                if (this.contactOrderList.length == 1) {
+                    this.$set(this.contactOrderList[0], 'choose', true)
                     this.contactOrderchoose = this.contactOrderList[0]
                     this.member.contactOrderCode = this.contactOrderchoose.order_code
                     this.member.entId = this.contactOrderchoose.ent_id
-                    
+
                 }
                 // 补充 或延长 回显购买数量
                 if (this.member.products != 2 && (this.member.contract_nature == '1' && this.member.buySubject == '1' && (this.bigStas == 2 || this.bigStas == 1)) || (this.member.contract_nature == '2' && this.member.buySubject == '1')) {
@@ -1570,10 +1597,10 @@ export default {
         },
         proChange(val) {// 产品类型
             // alert(val)
-            if(this.member.buySubject == '2' && val == '2' && !this.member.companyName){
+            if (this.member.buySubject == '2' && val == '2' && !this.member.companyName) {
                 this.member.products = '1'
                 this.$Notice.warning({ title: '请输入公司名称' })
-                return  
+                return
             }
             this.creAuth = this.member.products
             this.datas2 = []
@@ -1661,26 +1688,26 @@ export default {
                         this.colr = ''
                     }
                 }
-             // 选择子账号货补充包回显销售渠道
-             if(this.member.salesChannel){
-                this.$nextTick(()=>{
-                    this.$refs.casRef.getDictItem(() => {
-                      this.$refs.casRef.setDate(this.member.salesChannel)
-                   })
-               }) 
-             }         
+                // 选择子账号货补充包回显销售渠道
+                if (this.member.salesChannel) {
+                    this.$nextTick(() => {
+                        this.$refs.casRef.getDictItem(() => {
+                            this.$refs.casRef.setDate(this.member.salesChannel)
+                        })
+                    })
+                }
             }
-            if(val == 2){ // 选择子账号 默认为不签协议
+            if (val == 2) { // 选择子账号 默认为不签协议
                 this.member.agreementStatus = '0'
                 if (this.member.phone) {
-                if (this.pReadon) {
-                    this.reged('pheHandler')
-                } else {
-                    if ((/^1[3456789]\d{9}$/.test(this.member.phone))) {
+                    if (this.pReadon) {
                         this.reged('pheHandler')
+                    } else {
+                        if ((/^1[3456789]\d{9}$/.test(this.member.phone))) {
+                            this.reged('pheHandler')
+                        }
                     }
                 }
-            }  
             }
             if (val == 3) {
                 this.getServed('')
@@ -1689,16 +1716,16 @@ export default {
         tipFunc(val) {
             return val.toLocaleString('zh', { style: 'currency', currency: 'CNY' })
         },
-        currentServer(phone_,callback) {// 获取用户当前已享有的服务
+        currentServer(phone_, callback) {// 获取用户当前已享有的服务
             this.$request('/order/getCurrentServer').data({
                 phone: phone_ ? phone_ : this.member.phone
             }).success((res) => {
                 this.currentId = res.data.list
-                try{
-                    if(callback){
+                try {
+                    if (callback) {
                         callback(res)
                     }
-                }catch(e){
+                } catch (e) {
                     //  console.log(e) 
                 }
             }).post()
@@ -1810,16 +1837,16 @@ export default {
                 this.member.single = false
                 this.member.areaCount = 0
             }
-            if(this.firstOpen){
+            if (this.firstOpen) {
                 this.firstOpen = false
-                if(this.member.salesChannel && this.nums !== '' && this.creAuth){
-                  this.$nextTick(()=>{
-                    this.$refs.casRef.getDictItem(() => {
-                      this.$refs.casRef.setDate(this.member.salesChannel)
-                   })
-                 })
-               } 
-            }    
+                if (this.member.salesChannel && this.nums !== '' && this.creAuth) {
+                    this.$nextTick(() => {
+                        this.$refs.casRef.getDictItem(() => {
+                            this.$refs.casRef.setDate(this.member.salesChannel)
+                        })
+                    })
+                }
+            }
         },
         serChange(val) {// 选择服务
             if (val == 1) {
@@ -1971,7 +1998,7 @@ export default {
             this.member.agreementTime = val
             this.keyupformat('paybackWorkDayNum')
         },
-        agreementStatusChange (){
+        agreementStatusChange() {
             this.keyupformat('paybackWorkDayNum')
         },
         noTchange(val) {
@@ -2155,19 +2182,19 @@ export default {
                     return
                 }
             }
-            
-            if(this.member.paybackNum == ''){
+
+            if (this.member.paybackNum == '') {
                 this.$Notice.warning({ title: '请输入回款次数' })
-                 return
+                return
             }
             console.log(this.paybackTableData)
-            if(this.member.paybackNum > 1 && !this.paybackTableData.every(item => item.time && item.money)){
+            if (this.member.paybackNum > 1 && !this.paybackTableData.every(item => item.time && item.money)) {
                 this.$Notice.warning({ title: '请填写完整回款计划' })
-                 return
+                return
             }
-            if(this.member.paybackNum == 1 && !this.member.paybackExpectDate){
+            if (this.member.paybackNum == 1 && !this.member.paybackExpectDate) {
                 this.$Notice.warning({ title: '请输入回款计划工作日' })
-                 return
+                return
             }
             if (this.saleTableData) {
                 let isOk = true
@@ -2209,7 +2236,7 @@ export default {
             })
             let saleName = saleNameArr.join(',')
             let saleId = saleIdArr.join(',')
-             // 回款列表参数处理
+            // 回款列表参数处理
             this.member.paybackList = this.paybackTableData
             // 提交集合部分
             if (this.proNums == 1) {// 大会员
@@ -2314,10 +2341,10 @@ export default {
                     e_contract_remark: this.member.e_contract_remark, // 协议备注
                     paybackExpectDate: this.member.paybackNum == 1 ? this.member.paybackExpectDate : "", // 回款日期
                     paybackWorkDayNum: this.member.paybackNum == 1 ? this.member.paybackWorkDayNum : "", // 回款天数
-                    paybackOpenServer:this.member.paybackOpenServer, // 回款开通服务  
-                    paybackNum:this.member.paybackNum, // 回款次数 
-                    paybackList:this.member.paybackNum > 1 ? JSON.stringify(this.member.paybackList) : '', // 回款列表
-                    oldSerName:this.buyserveName || ''
+                    paybackOpenServer: this.member.paybackOpenServer, // 回款开通服务  
+                    paybackNum: this.member.paybackNum, // 回款次数 
+                    paybackList: this.member.paybackNum > 1 ? JSON.stringify(this.member.paybackList) : '', // 回款列表
+                    oldSerName: this.buyserveName || ''
                 }
                 if (this.showOrderStatus) {
                     this.urlReq('/order/createBigOrder', obj)
@@ -2327,8 +2354,8 @@ export default {
             } else if (this.proNums == 2) {// 子账号
                 let obj = {
                     ...params,
-                    entId:this.member.entId,
-                    contactOrderCode:this.member.contactOrderCode || '',
+                    entId: this.member.entId,
+                    contactOrderCode: this.member.contactOrderCode || '',
                     contract_nature: this.member.contract_nature,
                     createTime: this.member.createTime,
                     phone: this.member.phone,
@@ -2364,11 +2391,11 @@ export default {
                     saleMoney: JSON.stringify({ data: this.saleTableData }),
                     paybackExpectDate: this.member.paybackNum == 1 ? this.member.paybackExpectDate : "", // 回款日期
                     paybackWorkDayNum: this.member.paybackNum == 1 ? this.member.paybackWorkDayNum : "", // 回款天数
-                    paybackOpenServer:this.member.paybackOpenServer, // 回款开通服务  
-                    paybackNum:this.member.paybackNum, // 回款次数 
-                    paybackList:this.member.paybackNum > 1 ? JSON.stringify(this.member.paybackList) : '', // 回款列表
+                    paybackOpenServer: this.member.paybackOpenServer, // 回款开通服务  
+                    paybackNum: this.member.paybackNum, // 回款次数 
+                    paybackList: this.member.paybackNum > 1 ? JSON.stringify(this.member.paybackList) : '', // 回款列表
                 }
-                if(!this.member.contactOrderCode){
+                if (!this.member.contactOrderCode) {
                     this.$Notice.warning({ title: '请选择关联订单' })
                     return
                 }
@@ -2415,9 +2442,9 @@ export default {
                     saleMoney: JSON.stringify({ data: this.saleTableData }),
                     paybackExpectDate: this.member.paybackNum == 1 ? this.member.paybackExpectDate : "", // 回款日期
                     paybackWorkDayNum: this.member.paybackNum == 1 ? this.member.paybackWorkDayNum : "", // 回款天数
-                    paybackOpenServer:this.member.paybackOpenServer, // 回款开通服务  
-                    paybackNum:this.member.paybackNum, // 回款次数 
-                    paybackList:this.member.paybackNum > 1 ? JSON.stringify(this.member.paybackList) : '', // 回款列表
+                    paybackOpenServer: this.member.paybackOpenServer, // 回款开通服务  
+                    paybackNum: this.member.paybackNum, // 回款次数 
+                    paybackList: this.member.paybackNum > 1 ? JSON.stringify(this.member.paybackList) : '', // 回款列表
                 }
                 if (this.showOrderStatus) {
                     this.urlReq('/order/createSupplyOrder', obj)
@@ -3093,11 +3120,11 @@ export default {
     },
     data() {
         return {
-            firstOpen:true,
-            buyserveName:'',
-            serveEndtime:'',
-            paybackTable:[               
-                 {
+            firstOpen: true,
+            buyserveName: '',
+            serveEndtime: '',
+            paybackTable: [
+                {
                     title: '序号',
                     slot: 'code'
                 },
@@ -3110,9 +3137,9 @@ export default {
                     slot: 'money'
                 }
             ],
-            paybackTableData:[],
+            paybackTableData: [],
             contactOrderList: [],
-            contactOrderchoose:{},
+            contactOrderchoose: {},
             contactOrderColumns: [
                 {
                     title: '请选择',
@@ -3134,7 +3161,7 @@ export default {
                                         this.contactOrderchoose = this.contactOrderList[params.index]
                                         this.member.contactOrderCode = this.contactOrderchoose.order_code
                                         this.member.entId = this.contactOrderchoose.ent_id
-                                        console.log(e,this.contactOrderchoose)
+                                        console.log(e, this.contactOrderchoose)
                                         this.orderPriceCount()
                                     }
                                 }
@@ -3150,7 +3177,7 @@ export default {
                         return h('div', {
                             style: {
                                 color: 'rgb(54, 163, 247)',
-                                cursor: 'pointer'  
+                                cursor: 'pointer'
                             },
                             on: {
                                 click: () => {
@@ -3161,7 +3188,7 @@ export default {
                                     window.open(news.href, '_blank')
                                 }
                             }
-                        },[
+                        }, [
                             h('span', row.order_code)
                         ])
                     }
@@ -3251,11 +3278,11 @@ export default {
             placed: '请输入有效周期',
             // placed: '请输入有效周期(单位(月),最多输入60个月)',
             member: {
-                paybackList:[],
-                paybackNum:1,
-                entId:'',
-                paybackOpenServer:false,
-                contactOrderCode:'',
+                paybackList: [],
+                paybackNum: 1,
+                entId: '',
+                paybackOpenServer: false,
+                contactOrderCode: '',
                 paybackExpectDate: '',
                 paybackWorkDayNum: '',
                 contract_nature: '1', // 合同性质
@@ -4060,6 +4087,6 @@ export default {
 
 .ivu-form-item {
     margin-bottom: 10px;
-    
+
 }
 </style>

+ 119 - 101
src/views/order/components/bigOrderEdit.vue

@@ -111,7 +111,8 @@
               <div class="servebox" v-for="(item, index) in newServedata" :key="index">
                 <div class="one-group" v-show="!item.hide">
                   <Checkbox v-model="item.choose" :disabled="item.disabled"
-                    @on-change="chooseChange($event, 'one', index)"></Checkbox><span class="serve-one">{{item.ColumnName}}:</span>
+                    @on-change="chooseChange($event, 'one', index)"></Checkbox><span class="serve-one">{{
+      item.ColumnName }}:</span>
                 </div>
                 <div class="serve-content">
                   <div class="serve-two" v-show="!two.hide" v-for="(two, two_index) in item.lists" :key="two_index">
@@ -120,7 +121,7 @@
                       <Checkbox v-model="two.choose" :disabled="two.disabled"
                         @on-change="chooseChange($event, 'two', index)"></Checkbox>
                       <span style="margin-right: 10px;">{{ two.name }}</span>
-                      <Select v-model="two.id" :disabled="two.disabled" placeholder="请选择产品类型(暂不支持数据导出)"
+                      <Select v-model="two.id" :disabled="two.disabled || !two.choose" placeholder="请选择产品"
                         style="width:120px;margin-right:10px;" v-if="two.list.length > 1"
                         @on-change="chooseChange($event, 'select')">
                         <Option v-for="(three, three_index) in two.list" :key="three_index" :value="three.id">
@@ -359,8 +360,9 @@
                 </template>
                 <template slot-scope="{ row, index }" slot="money">
                   <strong v-if="row.code == '合计'">{{ member.payMoney || '-' }}</strong>
-                  <Input v-model.trim="paybackTableData[index].money" @on-keyup="paybackTableChange(row, index, 'money')"
-                    type="number" @mousewheel.native.prevent @DOMMouseScroll.native.prevent  placeholder="请输入"
+                  <Input v-model.trim="paybackTableData[index].money"
+                    @on-keyup="paybackTableChange(row, index, 'money')" type="number" @mousewheel.native.prevent
+                    @DOMMouseScroll.native.prevent placeholder="请输入"
                     :disabled="index + 1 == member.paybackNum || pass_all_incomplete_dis" v-else></Input>
                 </template>
               </Table>
@@ -834,8 +836,9 @@ export default {
       }
     },
     getNewservedata(status) {
-      this.$request('/order/getServerNew').data().success((res) => { // 获取自定义套餐所有服务选项
+      this.$request('/order/getServerNew').data({}).success((res) => { // 获取自定义套餐所有服务选项
         let data = res.data.lists
+        // 处理为符合前端结构数据 
         data.forEach(ele => {
           if (ele.Children.length > 0) {
             ele.maps = groupByProperty(ele.Children, 's_new_name')
@@ -854,7 +857,11 @@ export default {
           ele.lists = []
           for (const key in ele.maps) {
             let obj = {}
-            obj.name = key
+            if (key.includes('市场分析定制报告') || key.includes('企业分析') || key.includes('业主分析')) {
+              obj.name = key + ',报告下载:'
+            } else {
+              obj.name = key
+            }
             obj.list = ele.maps[key]
             if (obj.list.length == 1) {
               obj.id = ele.maps[key][0].id
@@ -866,6 +873,11 @@ export default {
                   if (e.s_count_year == 200) {
                     obj.id = e.id
                   }
+                } else if (e.s_new_name.includes('企业分析') || e.s_new_name.includes('业主分析') || e.s_new_name.includes('市场分析定制报告')) {
+                  e.dw = '份' // 单位
+                  if (e.s_count_year == 1) { // 默认1
+                    obj.id = e.id // 勾选层级的ID赋值为规格为3的产品ID
+                  }
                 } else {
                   e.dw = '个'
                   if (e.s_count_year == 100) {
@@ -989,7 +1001,7 @@ export default {
         ele.lists.forEach(e => {
           if (e[key]) {
             ids.push(e.id)
-            if (e.id == 22 || e.id == 20 || e.id == 24) {  // 项目进度监控 22 100 14 500  企业情报监控20 100 23 500  业主监控 24 100 25 500
+            if (e.id == 22 || e.id == 20 || e.id == 24) {  // 项目进度监控 22=>100 14=>500  企业情报监控20=>100 23=>500  业主监控 24=>100 25=>500
               names.push(e.name + '(100个)')
             } else if (e.id == 14 || e.id == 23 || e.id == 25) {
               names.push(e.name + '(500个)')
@@ -1004,6 +1016,12 @@ export default {
               } else {
                 names.push('基础服务')
               }
+            } else if (e.name.includes('市场分析定制报告') || e.name.includes('企业分析') || e.name.includes('业主分析')) {
+              e.list.forEach(item => {
+                if (e.id == item.id) {
+                  names.push(e.name + `(报告下载:${item.s_count_year}${item.dw})`)
+                }
+              })
             } else {
               names.push(e.name)
             }
@@ -1033,7 +1051,7 @@ export default {
       this.buyserveName = names.join('、')
       this.serveEndtime = time
     },
-    echoServe(ids, type, hide_id) { // 回显服务 dis禁用已勾选 allDis禁用全部 hide隐藏 hide_dis 隐藏指定禁用剩下的
+    echoServe(ids, type, hide_id) { // 回显服务 type: dis禁用已勾选 allDis禁用全部 hide隐藏 hide_dis 隐藏指定禁用剩下的
       let data = ids
       if (!data.includes(1)) { // 1 3 基础服务默认都有
         data.push(1)
@@ -1178,25 +1196,25 @@ export default {
       }
       this.updateSaleMoney()
     },
-    paybackTableDataClear(){ // 初始化回款列表
-            let num = this.member.paybackNum 
-            let arr = []
-            for (let i = 0; i <= num; i++) {
-                if(i == num){
-                  arr.push({code:'合计',time:'-',money:this.member.payMoney})
-                }else{
-                  arr.push({code:i + 1,time:'',money:''})
-                }     
-            }
-            this.paybackTableData = arr
-            this.$nextTick(()=>{
-                this.paybackTableData.forEach((ele,index)=>{
-                    if(index < this.paybackTableData.length - 1 ){
-                        this.$refs['paybackTime'+index].initd()
-                    }
-                 }) 
-             })
-      },
+    paybackTableDataClear() { // 初始化回款列表
+      let num = this.member.paybackNum
+      let arr = []
+      for (let i = 0; i <= num; i++) {
+        if (i == num) {
+          arr.push({ code: '合计', time: '-', money: this.member.payMoney })
+        } else {
+          arr.push({ code: i + 1, time: '', money: '' })
+        }
+      }
+      this.paybackTableData = arr
+      this.$nextTick(() => {
+        this.paybackTableData.forEach((ele, index) => {
+          if (index < this.paybackTableData.length - 1) {
+            this.$refs['paybackTime' + index].initd()
+          }
+        })
+      })
+    },
     keyupformat(val) { // 格式化输入框
       if (val === 'paybackWorkDayNum') {
         this.member.paybackWorkDayNum = this.filterNonPositiveIntegers(this.member.paybackWorkDayNum)
@@ -1214,11 +1232,11 @@ export default {
     },
     paybackTableChange(row, index, type, e) { // 回款计划表格 change
       if (type == 'money') {
-          // 回款金额未录入时
-         if (!this.member.payMoney) {
-           this.$Notice.warning({ title: '请先输入合同金额' })
-           this.paybackTableData[index].money = ''
-           return
+        // 回款金额未录入时
+        if (!this.member.payMoney) {
+          this.$Notice.warning({ title: '请先输入合同金额' })
+          this.paybackTableData[index].money = ''
+          return
         }
         let num = 0
         if (this.paybackmoneyReg(this.paybackTableData[index].money)) {
@@ -1233,15 +1251,15 @@ export default {
           }
         })
         if (num && this.member.payMoney) {
-          if(Number(this.member.payMoney ) - Number(num) > 0){
-            this.paybackTableData[this.member.paybackNum -1].money = (Number(this.member.payMoney ) - Number(num)).fixed(2)
-          }else{
+          if (Number(this.member.payMoney) - Number(num) > 0) {
+            this.paybackTableData[this.member.paybackNum - 1].money = (Number(this.member.payMoney) - Number(num)).fixed(2)
+          } else {
             this.$Notice.warning({ title: '需小于合同金额' })
-            this.paybackTableData[index].money= ''
+            this.paybackTableData[index].money = ''
           }
-          this.paybackTableData.forEach((ele)=>{
-            if(ele.code == '合计' ){
-              ele.money = Number(this.member.payMoney )
+          this.paybackTableData.forEach((ele) => {
+            if (ele.code == '合计') {
+              ele.money = Number(this.member.payMoney)
             }
           })
         } else {
@@ -1255,17 +1273,17 @@ export default {
       console.log(this.paybackTableData)
     },
     paybackmoneyReg(val) {
-      if(val){
+      if (val) {
         let str = this.moneyReg(val + "")
-      if (str == 0 && str !== '') {
-        this.$Notice.warning({ title: '不可为0' })
-        str = ''
-      } else if (Number(str) >= Number(this.member.payMoney)) {
-        this.$Notice.warning({ title: '需小于合同金额' })
-        str = ''
-      }
-      return str
-      }else{
+        if (str == 0 && str !== '') {
+          this.$Notice.warning({ title: '不可为0' })
+          str = ''
+        } else if (Number(str) >= Number(this.member.payMoney)) {
+          this.$Notice.warning({ title: '需小于合同金额' })
+          str = ''
+        }
+        return str
+      } else {
         return ""
       }
     },
@@ -1285,7 +1303,7 @@ export default {
       }
     },
     getcollectionDate: debounce(function () {
-      if(this.member.paybackNum != 1){
+      if (this.member.paybackNum != 1) {
         return
       }
       let start = ''
@@ -1350,7 +1368,7 @@ export default {
         }
       })
     },
-    saleDepChange:debounce(function(val) { // 业绩归属部门
+    saleDepChange: debounce(function (val) { // 业绩归属部门
       if (val && val.length > 0) {
         let valres = this.getMinLevelData(this.saleDep, val)
         this.saleCode = valres.join(',')
@@ -1364,7 +1382,7 @@ export default {
       } else {
         this.saleCode = ''
       }
-    },200),
+    }, 200),
     removeElementFromArray(arr, value) {
       for (let i = 0; i < arr.length; i++) {
         if (arr[i] === value) {
@@ -2411,18 +2429,18 @@ export default {
           return
         }
       }
-      if(this.member.paybackNum == ''){
+      if (this.member.paybackNum == '') {
         this.$Notice.warning({ title: '请输入回款次数' })
         return
       }
-      if(this.member.paybackNum > 1 && !this.paybackTableData.every(item => item.time && item.money)){
+      if (this.member.paybackNum > 1 && !this.paybackTableData.every(item => item.time && item.money)) {
         this.$Notice.warning({ title: '请填写完整回款计划' })
         return
       }
-      if(this.member.paybackNum == 1 && !this.member.paybackExpectDate){
-          this.$Notice.warning({ title: '请输入回款计划工作日' })
-           return
-        }
+      if (this.member.paybackNum == 1 && !this.member.paybackExpectDate) {
+        this.$Notice.warning({ title: '请输入回款计划工作日' })
+        return
+      }
       if (this.saleTableData) {
         let isOk = true
         this.saleTableData.forEach(v => {
@@ -2465,9 +2483,9 @@ export default {
       }
       let saleName = saleNameArr.join(',')
       let saleId = saleIdArr.join(',')
-     // 回款列表参数处理
+      // 回款列表参数处理
       this.member.paybackList = this.paybackTableData
-    // 提交集合部分
+      // 提交集合部分
       if (this.proNums == 1) {// 大会员
         if (this.nums == 0) {
           this.getserveIdAndname()
@@ -2582,9 +2600,9 @@ export default {
           e_contract_remark: this.member.e_contract_remark, // 协议备注
           paybackExpectDate: this.member.paybackNum == 1 ? this.member.paybackExpectDate : "", // 回款日期
           paybackWorkDayNum: this.member.paybackNum == 1 ? this.member.paybackWorkDayNum : "", // 回款天数
-          paybackOpenServer:this.member.paybackOpenServer, // 回款开通服务  
-          paybackNum:this.member.paybackNum, // 回款次数 
-          paybackList:this.member.paybackNum > 1 ? JSON.stringify(this.member.paybackList) : '', // 回款列表
+          paybackOpenServer: this.member.paybackOpenServer, // 回款开通服务  
+          paybackNum: this.member.paybackNum, // 回款次数 
+          paybackList: this.member.paybackNum > 1 ? JSON.stringify(this.member.paybackList) : '', // 回款列表
         }
         if (this.returnMyReceivable) {
           this.urlReq('/order/updateBigOrder', obj)
@@ -2634,9 +2652,9 @@ export default {
           saleMoney: JSON.stringify({ data: this.saleTableData }),
           paybackExpectDate: this.member.paybackNum == 1 ? this.member.paybackExpectDate : "", // 回款日期
           paybackWorkDayNum: this.member.paybackNum == 1 ? this.member.paybackWorkDayNum : "", // 回款天数
-          paybackOpenServer:this.member.paybackOpenServer, // 回款开通服务  
-          paybackNum:this.member.paybackNum, // 回款次数 
-          paybackList:this.member.paybackNum > 1 ? JSON.stringify(this.member.paybackList) : '', // 回款列表
+          paybackOpenServer: this.member.paybackOpenServer, // 回款开通服务  
+          paybackNum: this.member.paybackNum, // 回款次数 
+          paybackList: this.member.paybackNum > 1 ? JSON.stringify(this.member.paybackList) : '', // 回款列表
         }
         if (!this.member.contactOrderCode) {
           this.$Notice.warning({ title: '请选择关联订单' })
@@ -2686,9 +2704,9 @@ export default {
           saleMoney: JSON.stringify({ data: this.saleTableData }),
           paybackExpectDate: this.member.paybackNum == 1 ? this.member.paybackExpectDate : "", // 回款日期
           paybackWorkDayNum: this.member.paybackNum == 1 ? this.member.paybackWorkDayNum : "", // 回款天数
-          paybackOpenServer:this.member.paybackOpenServer, // 回款开通服务  
-          paybackNum:this.member.paybackNum, // 回款次数 
-          paybackList:this.member.paybackNum > 1 ? JSON.stringify(this.member.paybackList) : '', // 回款列表
+          paybackOpenServer: this.member.paybackOpenServer, // 回款开通服务  
+          paybackNum: this.member.paybackNum, // 回款次数 
+          paybackList: this.member.paybackNum > 1 ? JSON.stringify(this.member.paybackList) : '', // 回款列表
         }
         if (this.returnMyReceivable) {
           this.urlReq('/order/updateSupplyOrder', obj)
@@ -2825,8 +2843,8 @@ export default {
         //     }
         //     console.log(this.saleTableData)
         this.member = {
-          paybackNum:filterData.paybackNum ? filterData.paybackNum : 1,
-          paybackList:filterData.paybackList ? JSON.parse(filterData.paybackList) : [],
+          paybackNum: filterData.paybackNum ? filterData.paybackNum : 1,
+          paybackList: filterData.paybackList ? JSON.parse(filterData.paybackList) : [],
           entId: res.ent_id || '',
           paybackExpectDate: filterData.paybackExpectDate, // 回款日期
           paybackWorkDayNum: filterData.paybackWorkDayNum, // 回款天数
@@ -2894,16 +2912,16 @@ export default {
           e_contract_remark: contractRes.remark, // 协议备注
         }
         // 回款计划列表回显
-        this.paybackTableData = filterData.paybackList ?  JSON.parse(filterData.paybackList) : []
-       if(this.paybackTableData.length > 0){
-          this.$nextTick(()=>{
-                this.paybackTableData.forEach((ele,index)=>{
-                    if(index < this.paybackTableData.length - 1 ){
-                        this.$refs['paybackTime'+index].dataVals = ele.time
-                    }
-                 }) 
+        this.paybackTableData = filterData.paybackList ? JSON.parse(filterData.paybackList) : []
+        if (this.paybackTableData.length > 0) {
+          this.$nextTick(() => {
+            this.paybackTableData.forEach((ele, index) => {
+              if (index < this.paybackTableData.length - 1) {
+                this.$refs['paybackTime' + index].dataVals = ele.time
+              }
+            })
           })
-       }
+        }
         // 日期单位
         if (this.member.cycleType === 1) {
           this.max_length = 4
@@ -2977,16 +2995,16 @@ export default {
             if (currentLevel) {
               this.member.level = JSON.stringify(currentLevel)
               this.leChange(JSON.stringify(currentLevel), false)
-            }else{
-              this.member.level =''
+            } else {
+              this.member.level = ''
             }
           } else {
             const currentLevel = this.levelDown.find(e => e.id == filterData.comboId)
             if (currentLevel) {
               this.member.level = JSON.stringify(currentLevel)
               this.leChange(JSON.stringify(currentLevel), false)
-            }else{
-              this.member.level =''
+            } else {
+              this.member.level = ''
             }
 
           }
@@ -3611,21 +3629,21 @@ export default {
       returnmoney: false,
       serveEndtime: '',
       buyserveName: '',
-      paybackTable:[               
-                 {
-                    title: '序号',
-                    slot: 'code'
-                },
-                {
-                    title: '预计回款时间',
-                    slot: 'time'
-                },
-                {
-                    title: '预计回款金额(元)',
-                    slot: 'money'
-                }
-       ],
-      paybackTableData:[],
+      paybackTable: [
+        {
+          title: '序号',
+          slot: 'code'
+        },
+        {
+          title: '预计回款时间',
+          slot: 'time'
+        },
+        {
+          title: '预计回款金额(元)',
+          slot: 'money'
+        }
+      ],
+      paybackTableData: [],
       contactOrderList: [],
       contactOrderchoose: {},
       contactOrderColumns: [
@@ -3784,8 +3802,8 @@ export default {
       selData: [],
       placed: '请输入有效周期',
       member: {
-        paybackList:[],
-        paybackNum:1,
+        paybackList: [],
+        paybackNum: 1,
         entId: '',
         paybackOpenServer: false,
         contactOrderCode: '',

+ 12 - 0
src/views/order/components/details.vue

@@ -344,6 +344,18 @@
             </div>
             <Divider />
         </div>
+        <!-- 市场分析定制报告下载包”、“企业中标分析报告下载包”、“业主采购分析报告下载包” -->
+        <div class="infor-card" v-if="orderType == '22'">
+            <div class="cont">
+                <div class="tit">产品信息</div>
+                <div class="classfity">
+                    <span><p>开通权益手机号:</p><i>{{orDetails.user_phone?orDetails.user_phone:'--'}}</i></span>
+                    <span><p>报告下载份数:</p><i v-if="book">{{book.num?book.num+'份':'--'}}</i></span>
+                    <span><p>有效期至:</p><i v-if="book">{{book.validTime?book.validTime:'--'}}</i></span>
+                </div>
+            </div>
+            <Divider />
+        </div>
         <!-- 采购单位画像包 -->
         <div class="infor-card" v-if="orderType == 18">
             <div class="cont">

+ 0 - 33
src/views/order/myOrderList.vue

@@ -416,38 +416,6 @@ export default {
             selectName: [],
             selectData: [],
             proType: [
-<<<<<<< HEAD
-                { v: '', n: '全部' },
-                { v: '6', n: '大会员' },
-                { v: '7', n: '大会员-子账号' },
-                { v: '8', n: '大会员-补充包' },
-                { v: '9', n: '招标文件解读' },
-                { v: '10', n: '剑鱼币' },
-                { v: '11', n: '结构化数据' },
-                { v: '12', n: '广告' },
-                { v: '13', n: '数据流量包' },
-                { v: '14', n: '线下课程培训' },
-                { v: '15', n: '课程分销' },
-                { v: '16', n: '标书制作' },
-                { v: '17', n: '打赏' },
-                { v: '18', n: '省份订阅包' },
-                { v: '19', n: '附件下载包' },
-                { v: '20', n: '采购单位画像包' },
-                { v: '21', n: '数据文件' },
-                { v: '0', n: '超级订阅' },
-                { v: '1', n: '数据报告' },
-                { v: '2', n: '历史数据' },
-                // {v: '3', n: '线下课程'},
-                { v: '4', n: '中标必听课' },
-                { v: '5', n: '企业商机管理' },
-                { v: '22', n: 'ISO体系认证' },
-                { v: '23', n: '3A信用认证' },
-                { v: '24', n: '权益码' },
-                {v: '25', n: '剑鱼文库会员'},
-                { v: '26', n: '市场分析定制报告下载包' },
-                { v: '27', n: '企业中标分析报告下载包' },
-                { v: '28', n: '业主采购分析报告下载包' },
-=======
                 // { v: '', n: '全部' },
                 // { v: '6', n: '大会员' },
                 // { v: '7', n: '大会员-子账号' },
@@ -475,7 +443,6 @@ export default {
                 // { v: '23', n: '3A信用认证' },
                 // { v: '24', n: '权益码' },
                 // {v: '25', n: '剑鱼文库会员'}
->>>>>>> master
             ],
             orderTips: [
                 { v: '', n: '全部' },

+ 5 - 0
src/views/order/orderDetail.vue

@@ -99,6 +99,11 @@ export default {
             case '剑鱼文库会员':
                 this.proStatus = '20'
                 break;
+            case '市场分析定制报告下载包':
+            case '企业中标分析报告下载包':
+            case '业主采购分析报告下载包':
+            this.proStatus = '22'
+                break;
         }
         if(str.otherType){
             switch (str.otherType) {

+ 0 - 33
src/views/order/orderList.vue

@@ -226,38 +226,6 @@ export default {
       selectName: [],
       selectData: [],
       proType: [
-<<<<<<< HEAD
-        {v: '', n: '全部'},
-        {v: '6', n: '大会员'},
-        {v: '7', n: '大会员-子账号'},
-        {v: '8', n: '大会员-补充包'},
-        {v: '9', n: '招标文件解读'},
-        {v: '10', n: '剑鱼币'},
-        {v: '11', n: '结构化数据'},
-        {v: '12', n: '广告'},
-        {v: '13', n: '数据流量包'},
-        {v: '14', n: '线下课程培训'},
-        {v: '15', n: '课程分销'},
-        {v: '16', n: '标书制作'},
-        {v: '17', n: '打赏'},
-        {v: '18', n: '省份订阅包'},
-        {v: '19', n: '附件下载包'},
-        {v: '20', n: '采购单位画像包'},
-        {v: '21', n: '数据文件'},
-        {v: '0', n: '超级订阅'},
-        {v: '1', n: '数据报告'},
-        {v: '2', n: '历史数据'},
-        // {v: '3', n: '线下课程'},
-        {v: '4', n: '中标必听课'},
-        {v: '5', n: '企业商机管理'},
-        {v: '22', n: 'ISO体系认证'},
-        {v: '23', n: '3A信用认证'},
-        {v: '24', n: '权益码'},
-        {v: '25', n: '剑鱼文库会员'},
-        { v: '26', n: '市场分析定制报告下载包' },
-        { v: '27', n: '企业中标分析报告下载包' },
-        { v: '28', n: '业主采购分析报告下载包' },
-=======
         // {v: '', n: '全部'},
         // {v: '6', n: '大会员'},
         // {v: '7', n: '大会员-子账号'},
@@ -285,7 +253,6 @@ export default {
         // {v: '23', n: '3A信用认证'},
         // {v: '24', n: '权益码'},
         // {v: '25', n: '剑鱼文库会员'}
->>>>>>> master
       ],
       orderTips: [
         {v: '', n: '全部'},