Commit 62f51662 by crushh

update: dist

parent 22ec4549
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
webpackJsonp([64],{YQXN:function(t,a,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var i=e("/p6h"),s=e("eaYI"),n=e("P9l9"),l=e("ckKa"),c=e("Ch4/"),d={name:"act-code-detail-statistics",components:{dataDetail:i.default,newAddChart:s.default},props:{hmId:{type:String,default:function(){return""}}},mixins:[l.a],data:function(){return{loading:!1,overViewData:{addNumT:0,addNum:0,dateList:[]}}},methods:{explain:function(t){window.open(t)},getChartList:function(){var t=this,a={inFields:{hmId:t.hmId,startTime:t.dateDefault[0]+" 00:00:00",endTime:t.dateDefault[1]+" 23:59:59",type:t.dateKey>=2?2:1}};t.loading=!0,Object(n.f)("/haoban-manage3-web/hm/qrcode/detail-data-statistics",a).then(function(a){var e=a.data;if(t.loading=!1,0==e.code){var i=e.result||{addNumT:0,addNum:0,dateList:[]};return i.dateList.map(function(t,a){t["新增人数"]=t.addNum}),void(t.overViewData=i)}c.a.errorMsg(e)}).catch(function(a){t.loading=!1,t.$message.error({duration:1e3,message:a.message})})},onDateChange:function(){this.dateKey=-1,this.getChartList()}},mounted:function(){this.btnChange(0)}},o={render:function(){var t=this,a=t.$createElement,e=t._self._c||a;return e("div",{staticClass:"app-detail-wrap"},[e("div",[e("div",{staticClass:"flex justify-between title"},[t._m(0),t._v(" "),e("div",{staticClass:"flex"},[e("el-button",{directives:[{name:"jumpLink",rawName:"v-jumpLink:code",arg:"code"}],attrs:{type:"text"}},[e("i",{staticClass:"iconfont-hb3 iconzhibiaoshuoming m-r-6"}),t._v("指标说明")])],1)]),t._v(" "),e("ul",{staticClass:"flex"},[e("li",{staticClass:"data-total-cell m-r-22"},[e("div",{staticClass:"flex p-20"},[t._m(1),t._v(" "),e("div",{staticClass:"m-l-16"},[e("div",{staticClass:"font-14 color-606266 line-20"},[t._v("新增总人数")]),t._v(" "),e("span",{staticClass:"font-30 font-din",staticStyle:{"margin-top":"1"}},[t._v(t._s(t.overViewData.addNumT||0))])])])]),t._v(" "),e("li",{staticClass:"data-total-cell "},[e("div",{staticClass:"flex p-20"},[t._m(2),t._v(" "),e("div",{staticClass:"m-l-16"},[e("div",{staticClass:"font-14 color-606266 line-20"},[t._v("今日新增人数")]),t._v(" "),e("span",{staticClass:"font-30 font-din",staticStyle:{"margin-top":"1"}},[t._v(t._s(t.overViewData.addNum||0))])])])])]),t._v(" "),e("div",{staticClass:"flex justify-end"},[e("div",{staticClass:"rightBox"},[t._l(t.dateLis,function(a,i){return e("ul",{key:a.key,staticClass:"datebox"},[e("li",{staticClass:"dateLisBox",class:t.dateKey==i?"activeClass":"noActive",on:{click:function(a){return t.btnChange(i)}}},[t._v(t._s(a.value))])])}),t._v(" "),e("el-date-picker",{staticClass:"w256",attrs:{type:"daterange","range-separator":"~","start-placeholder":"创建开始日期","end-placeholder":"创建结束日期","default-time":["00:00:00","23:59:59"],"picker-options":t.pickerOptions(),"value-format":"yyyy-MM-dd",format:[2,3,4].includes(t.dateKey)?"yyyy-MM":"yyyy-MM-dd",clearable:!1},on:{change:t.onDateChange},model:{value:t.dateDefault,callback:function(a){t.dateDefault=a},expression:"dateDefault"}})],2)]),t._v(" "),e("new-add-chart",{attrs:{charData:t.overViewData.dateList,id:"new-add-chart"}})],1),t._v(" "),e("div",[e("div",{staticClass:"flex justify-between title"},[t._m(3),t._v(" "),e("div",{staticClass:"flex"},[e("el-button",{directives:[{name:"jumpLink",rawName:"v-jumpLink:code",arg:"code"}],attrs:{type:"text"}},[e("i",{staticClass:"iconfont-hb3 iconzhibiaoshuoming m-r-6"}),t._v("指标说明")])],1)]),t._v(" "),e("data-detail",{attrs:{id:t.hmId}})],1)])},staticRenderFns:[function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"flex"},[a("div",{staticClass:"blue-block"}),this._v(" "),a("span",{staticClass:"font-w-500 color-303133"},[this._v("概览")])])},function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"icon-background"},[a("i",{staticClass:"iconfont-hb3 iconxinzengyonghu color-1890ff font-28"})])},function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"icon-background",staticStyle:{background:"#d9f3fd"}},[a("i",{staticClass:"iconfont-hb3 iconxinzengyonghu color-35C4FC font-28"})])},function(){var t=this.$createElement,a=this._self._c||t;return a("div",{staticClass:"flex"},[a("div",{staticClass:"blue-block"}),this._v(" "),a("span",{staticClass:"font-w-500 color-303133"},[this._v("查看明细")])])}]};var r=e("VU/8")(d,o,!1,function(t){e("zJaC")},"data-v-b1e52246",null);a.default=r.exports},zJaC:function(t,a){}});
\ No newline at end of file
!function(e){var f=window.webpackJsonp;window.webpackJsonp=function(a,b,n){for(var r,t,o,i=0,u=[];i<a.length;i++)t=a[i],d[t]&&u.push(d[t][0]),d[t]=0;for(r in b)Object.prototype.hasOwnProperty.call(b,r)&&(e[r]=b[r]);for(f&&f(a,b,n);u.length;)u.shift()();if(n)for(i=0;i<n.length;i++)o=c(c.s=n[i]);return o};var a={},d={127:0};function c(f){if(a[f])return a[f].exports;var d=a[f]={i:f,l:!1,exports:{}};return e[f].call(d.exports,d,d.exports,c),d.l=!0,d.exports}c.e=function(e){var f=d[e];if(0===f)return new Promise(function(e){e()});if(f)return f[2];var a=new Promise(function(a,c){f=d[e]=[a,c]});f[2]=a;var b=document.getElementsByTagName("head")[0],n=document.createElement("script");n.type="text/javascript",n.charset="utf-8",n.async=!0,n.timeout=12e4,c.nc&&n.setAttribute("nonce",c.nc),n.src=c.p+"static/js/"+e+"."+{0:"7b18a781c9514751b160",1:"fd15a7f381f3fc4a55fe",2:"fb4b79d4f3ede430d199",3:"cf88d56554ebd1b98880",4:"f48e99bcbd5757fd7f21",5:"3734ef864d7dffe7af16",6:"88f20a11e0be0f0ca548",7:"59c49de3022be1649725",8:"15d7efa354ea6bd5fad0",9:"ccdd5ef4287324da425a",10:"0c309eceb04d492e8695",11:"c8269a6ce3166c2baddb",12:"62aacaf39a18c9d0c559",13:"12c16e4d04a9558c0ddc",14:"f6a9ebc9f4540effdcb3",15:"9d0d587ff1c54fd27ed2",16:"03efbc3fd86def29dffe",17:"bea90e10f3e91e59fb36",18:"a1250223e590e86a6f25",19:"e004122dbb0e72557b10",20:"b2063783bda9d1a2361e",21:"9d28421365d59dd36d09",22:"ed2d87a3b61cb1bcd405",23:"f730929b550ffa891382",24:"1e18a390fd39ae9a5096",25:"f0488296b7e86a8c6ef0",26:"9bcaea2d90c17205d28d",27:"01bdb2917143a5df7bff",28:"29c7f2707ca85abf0017",29:"609b38a8c86e6e684f01",30:"4056b61db48119d2a1c2",31:"a634530c09ea9f7e0d75",32:"83143918abc7e277f288",33:"7905d75f9175f609d621",34:"6bc9f5faa99efb8fd2e9",35:"46083964a212c678907a",36:"87c2c9137da36d5fa8c3",37:"e635d0ed36555c850026",38:"e45d712d2e39954a638a",39:"afe5e19b32c0ffaf76ba",40:"34f5b7f116a35d0971c4",41:"ea772bcf348838b56f91",42:"4f6eb774951a18ef66aa",43:"5ade0199e5dbf2504f24",44:"9242d2ad1492c19af496",45:"d665d72845fe93feb702",46:"c6b5990d53f8dd93e51e",47:"a5eeb72656805944f910",48:"1d703fcda8c1841d32b9",49:"fcebf9bf5b7e95b216c8",50:"485018b8549f36059c43",51:"75c13e0a19dc0f54c1f5",52:"2186bd4be4408d59d718",53:"515104094303f44a2d44",54:"c4b7a09cc216c32bc29f",55:"b6e727b20fb3f6b2db14",56:"526593ac3d2a5913eba8",57:"07a244d52c166f8884a0",58:"46417183229f03d64a87",59:"26a036286f9426a81cf8",60:"f9c9af8af1e35327ab25",61:"f9818758ba86dd5a1485",62:"5530c678ce4cd6fab6b6",63:"9bcf8d7df4219b5a3e7a",64:"ec8bb5bfe5a16066abb4",65:"4879c25cdfda3d45f9dc",66:"bf333fac598e5fb02c53",67:"d46243fb66f5b4f6fcd9",68:"1f315dace19b5b31469f",69:"4bc7a625869c5145c33c",70:"18b36c1e74199f323ae6",71:"3e6d6b4c00e06bb9f31e",72:"c435b5902d336d5f8bd6",73:"e27a1e3dfbefc95f93f7",74:"187a5fa63dd301ca737b",75:"48d8f87a67a12b2190ff",76:"ce20caa438e9eeb51187",77:"b8bee483d20a23326b24",78:"4d92ae909f26a4de0efa",79:"6778aeea2e3acdae1228",80:"467ffd9e01fa57b6e14b",81:"c74d80962a1a81695d82",82:"2bee342937f9f9abf497",83:"7980443b8ecba7184e13",84:"3a3d94cb0710361148ba",85:"e5439abe451416c8a344",86:"68ef1ed9db41423ce521",87:"096acbc1edcf3c8257e6",88:"14fe0fab15433b4cde0f",89:"f57a97e9db4579af197d",90:"1563292e4aeb4451bb57",91:"cb219ccb86704f454c6c",92:"b8b28f280177a918217c",93:"c2f6f864a42a2ba094b6",94:"c42e61e21bb25d9e0150",95:"b077046d25021e946208",96:"168bdc512c663b26a069",97:"56e642d412b2fc947deb",98:"236e110d8120c6acfd7d",99:"802f5d827e1f0935804e",100:"d80ce773babc92db3bc2",101:"1f0864e7d0ad29d0048a",102:"6266585ead51278628b3",103:"f365ce110e2febef23d2",104:"7ddd6d683f54c5c651e4",105:"18de70296eed44fe89c8",106:"ab3da4e0a92d77c03282",107:"d484378b6b8d4d1ff833",108:"e60075087fcc80ac9955",109:"98005ba0cc90120e391a",110:"6f11347185ce6d11c1ae",111:"45ad72c5555972becf87",112:"66f365de75fe41b41e9d",113:"03a44732afdfedeb4aa0",114:"e9d21857e0415c120f37",115:"ce6a09c6b53c4c61eed8",116:"24d48e06a87d82dee2ce",117:"dd3b5b31ff3e7265758b",118:"962695d689fab5b64ee6",119:"7afe060b820457bb6998",120:"b71e87c7102749f9755c",121:"2edbff142c990b47fc8b",122:"a806cc58daea088865eb",123:"1cd586aae6ed61aaf302",124:"29147952d0ffef007ae9"}[e]+".js";var r=setTimeout(t,12e4);function t(){n.onerror=n.onload=null,clearTimeout(r);var f=d[e];0!==f&&(f&&f[1](new Error("Loading chunk "+e+" failed.")),d[e]=void 0)}return n.onerror=n.onload=t,b.appendChild(n),a},c.m=e,c.c=a,c.d=function(e,f,a){c.o(e,f)||Object.defineProperty(e,f,{configurable:!1,enumerable:!0,get:a})},c.n=function(e){var f=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(f,"a",f),f},c.o=function(e,f){return Object.prototype.hasOwnProperty.call(e,f)},c.p="./",c.oe=function(e){throw console.error(e),e}}([]);
\ No newline at end of file
......@@ -55,6 +55,12 @@
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont-hb3">&#xecaf;</span>
<div class="name">close-circle-fill</div>
<div class="code-name">&amp;#xecaf;</div>
</li>
<li class="dib">
<span class="icon iconfont-hb3">&#xeb83;</span>
<div class="name">下载</div>
<div class="code-name">&amp;#xeb83;</div>
......@@ -840,9 +846,9 @@
<pre><code class="language-css"
>@font-face {
font-family: 'iconfont-hb3';
src: url('iconfont.woff2?t=1659341736567') format('woff2'),
url('iconfont.woff?t=1659341736567') format('woff'),
url('iconfont.ttf?t=1659341736567') format('truetype');
src: url('iconfont.woff2?t=1659429607578') format('woff2'),
url('iconfont.woff?t=1659429607578') format('woff'),
url('iconfont.ttf?t=1659429607578') format('truetype');
}
</code></pre>
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
......@@ -869,6 +875,15 @@
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont-hb3 iconclose-circle-fill"></span>
<div class="name">
close-circle-fill
</div>
<div class="code-name">.iconclose-circle-fill
</div>
</li>
<li class="dib">
<span class="icon iconfont-hb3 iconxiazai"></span>
<div class="name">
下载
......@@ -2049,6 +2064,14 @@
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconclose-circle-fill"></use>
</svg>
<div class="name">close-circle-fill</div>
<div class="code-name">#iconclose-circle-fill</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxiazai"></use>
</svg>
<div class="name">下载</div>
......
@font-face {
font-family: "iconfont-hb3"; /* Project id 1628375 */
src: url('iconfont.woff2?t=1659341736567') format('woff2'),
url('iconfont.woff?t=1659341736567') format('woff'),
url('iconfont.ttf?t=1659341736567') format('truetype');
src: url('iconfont.woff2?t=1659429607578') format('woff2'),
url('iconfont.woff?t=1659429607578') format('woff'),
url('iconfont.ttf?t=1659429607578') format('truetype');
}
.iconfont-hb3 {
......@@ -13,6 +13,10 @@
-moz-osx-font-smoothing: grayscale;
}
.iconclose-circle-fill:before {
content: "\ecaf";
}
.iconxiazai:before {
content: "\eb83";
}
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -6,6 +6,13 @@
"description": "",
"glyphs": [
{
"icon_id": "30997616",
"name": "close-circle-fill",
"font_class": "close-circle-fill",
"unicode": "ecaf",
"unicode_decimal": 60591
},
{
"icon_id": "19954052",
"name": "下载",
"font_class": "xiazai",
......
......@@ -4,7 +4,7 @@
<div class="links__body">
<div class="links__body--url">{{ src }}</div>
<div class="links__body--btn">
<el-button v-clipboard:text="src" v-show="src" type="text" icon="iconfont icon-lianjie fz14">复制链接</el-button>
<el-button v-clipboard:text="src" v-show="src" type="text" icon="iconfont icon-lianjie font-14">复制链接</el-button>
</div>
</div>
<div class="link__divider"></div>
......@@ -13,7 +13,7 @@
<vue-qr v-if="sourceType" id="qrImg" :text="src" :size="102" :margin="5"></vue-qr>
<img v-else :src="src" class="imgs" />
</div>
<el-button class="links__qr--btn" v-show="src" type="text" icon="iconfont icon-icon_yunxiazai fz14 mr4" @click="download">二维码下载</el-button>
<el-button v-show="src" type="text" icon="iconfont-hb3 iconxiazai font-14 m-r-5" @click="download">二维码下载</el-button>
</div>
</div>
</el-dialog>
......@@ -131,12 +131,15 @@ export default {
line-height: 1;
}
}
.links__body--btn {
margin-bottom: 10px;
}
.links__qr {
padding: 22px 30px 10px 24px;
text-align: center;
&--btn {
margin: 18px 0 0;
}
display: flex;
flex-direction: column;
justify-content: space-between;
}
.link__divider {
margin-top: 19px;
......
......@@ -2,13 +2,16 @@
<el-popover placement="bottom" v-model="departmentVisible">
<dm-simple-transfer v-model="selected" :busy="busy" :canSelectAll="canSelectAll" :props="props" :max="max" :data="data" :bodyH="62" :item-size="66" :titles="['选择门店', '已选门店']" filterable filter-placeholder="请输入门店名称/code" @change="change" @loadMore="loadMore">
<div slot-scope="{ option }">
<p>{{ option.storeName }}</p>
<el-tooltip :content="option.storeName" :disabled="option.storeName.length < 10">
<p class="storeName">{{ option.storeName }}</p>
</el-tooltip>
<p style="font-size: 12px;line-height: 14px">{{ option.storeCode }}</p>
<p v-if="option.isOver == 1" class="isOver">所有导购今日添加已到上限</p>
</div>
</dm-simple-transfer>
<div class="show-select-num cursor-pointer w-250" slot="reference">
已经选择{{ selected && selected.length }}家门店
<span v-if="selected && selected.length"> 已经选择{{ selected && selected.length }}家门店</span>
<span v-else style="color: #C4C6CF;">请选择门店</span>
<span class="el-input__suffix"
><span class="el-input__suffix-inner"><i :class="['el-select__caret el-input__icon el-icon-arrow-up', departmentVisible ? 'is-reverse' : '']"></i></span
></span>
......@@ -96,7 +99,12 @@ export default {
}
}
}
.storeName {
width: 208px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
.isOver {
font-size: 12px;
color: #fa8c16;
......
......@@ -4,15 +4,15 @@
<div class="content">
<img :src="card.pageBackgroundImg" class="bgImg" v-if="card.pageBackgroundImg" />
<div class="enterpriseInfo">
<div class="logo">
<img :src="card.merchantLogo" v-if="card.merchantLogo" />
<div class="logo" v-if="card.merchantLogo">
<img :src="card.merchantLogo" />
</div>
<div class="name">{{ card.merchantName }}</div>
</div>
<div class="QRcode"></div>
<div class="leadingText">{{ card.guideComment }}</div>
<div class="enterpriseNum">
<i class="iconfont-hb3 iconhuawushuju"></i>
<div class="enterpriseNum" v-show="card.merchantPhoneNumber">
<i class="iconfont-hb3 icondianhua"></i>
<p>{{ card.merchantPhoneNumber }}</p>
</div>
</div>
......@@ -106,11 +106,12 @@ export default {
justify-content: flex-start;
align-items: center;
width: 100%;
height: 36px;
z-index: 100;
.logo {
width: 36px;
height: 36px;
background: #f6f6f6;
border-radius: 60px;
img {
width: 36px;
......@@ -155,7 +156,7 @@ export default {
display: flex;
align-items: center;
padding: 9px 12px;
justify-content: center;
line-height: 14px;
color: #63666b;
font-size: 12px;
......
......@@ -14,6 +14,8 @@
</single-upload>
-->
<template>
<div>
<i v-if="imgSrc && showDel" class="del-icon iconfont-hb3 iconclose-circle-fill" @click="handleRemove"></i>
<div class="single-upload-wrap">
<el-upload class="avatar-uploader" :action="uploadUrl()" :show-file-list="false" :on-success="handleAvatarSuccess" :before-upload="beforeAvatarUpload">
<img v-if="imgSrc" :src="imgSrc" class="avatar" @mouseover="showImage(imgSrc)" />
......@@ -22,6 +24,7 @@
<i class="iconfont-hb3 iconPlusOutlined avatar-uploader-icon"></i>
<p class="font-12 color-606266" style="line-height: 6px">{{ uploadType == 1 || uploadType == 2 || uploadType == 4 ? '上传图片' : '上传视频' }}</p>
</div>
<!-- <el-progress v-if="videoFlag == true" type="circle" :percentage="videoUploadPercent" style="margin-top:30px;"></el-progress> -->
</el-upload>
......@@ -32,6 +35,7 @@
<!-- 图片预览 -->
<!-- <vue-gic-img-preview :imgUrl="imgUrl" :imgShowFlag="imgShowFlag" @hideImage="hideImage"></vue-gic-img-preview> -->
</div>
</div>
</template>
<script>
// import strLength from '@/common/js/strlen';
......@@ -71,6 +75,10 @@ export default {
uploadType: {
type: [Number, String],
default: 1 // 1.图片 2.网页 3.视频 4小程序
},
showDel: {
type: Boolean,
default: false
}
},
data() {
......@@ -93,6 +101,9 @@ export default {
// that.upUrl = that.baseUrl + '/api-plug/upload-img?wxFlag=1'
},
methods: {
handleRemove() {
this.$emit('update:imgSrc', '');
},
/**
* 上传图片/视频
*/
......@@ -196,6 +207,7 @@ export default {
};
</script>
<style lang="scss" scoped>
.w-500 {
width: 500px;
}
......@@ -274,7 +286,13 @@ export default {
max-height: 100px;
display: block;
}
.del-icon{
position: absolute;
top: -13px;
left: 92px;
z-index: 2;
cursor: pointer;
}
.upload-tip {
margin-top: 8px;
font-size: 12px;
......
......@@ -45,9 +45,9 @@ export function validateEmail(email) {
* @param {Object} that vue实例
* this.scrollToError(this);
*/
export const scrollToError = that => {
export const scrollToError = (that, className = 'is-error') => {
that.$nextTick(_ => {
const isError = document.getElementsByClassName('is-error');
const isError = document.getElementsByClassName(className);
isError[0].scrollIntoView({
// 滚动到指定节点
// 值有start,center,end,nearest,当前显示在视图区域中间
......
......@@ -18,7 +18,7 @@
<el-input placeholder="请输入链接描述" type="textarea" class="w-340" :maxlength="100" :autosize="{ minRows: 4, maxRows: 6 }" show-word-limit v-model="form.remark"></el-input>
</el-form-item>
<el-form-item label="链接标签" required prop="memberLabelId" class="memberTag-form-item">
<el-button plain v-if="!form.memberLabelId" @click="tagsDialogVisible = true"><i class="iconfont-components3 icon-cp-PlusOutlined addPic"></i>添加标签</el-button>
<el-button plain v-if="!form.memberLabelId" @click="tagsDialogVisible = true" type="primary"><i class="iconfont-components3 icon-cp-PlusOutlined font-12 m-r-5"></i>添加标签</el-button>
<el-tooltip :disabled="!isEdit || form.memberLabelStatus != 0" content="已删除" placement="top" v-else>
<el-tag closable @close="handleTagCloseTag" :type="isEdit && form.memberLabelStatus == 0 ? 'warning' : ''">{{ form.memberLabelName }}</el-tag>
</el-tooltip>
......@@ -56,7 +56,7 @@
<el-checkbox v-model="form.storeRuleJson.xg_store.dy" :true-label="1" :false-label="0" :disabled="disabledProperty(form.storeRuleJson.xg_store.zs, form.storeRuleJson.xg_store.dz, form.storeRuleJson.xg_store.dy) && form.storeRuleJson.xg_store.dy">其他导购</el-checkbox>
</div>
</div>
<div class="level">
<div class="level storeRuleJson">
<div class="title">
<span>层级三:其他门店</span>
<el-switch v-model="form.customRuleJson.open" :active-value="1" :inactive-value="0"></el-switch>
......@@ -102,26 +102,26 @@
</div>
<dm-sub-title type="line">欢迎语设置</dm-sub-title>
<div class="section">
<welcomeItem :welcomeId.sync="form.welcomeId" :welcomeType.sync="welcomeType" ref="welcomeItem" welcomeName="link"></welcomeItem>
<welcomeItem :welcomeId.sync="form.welcomeId" class="welcomeItem" :welcomeType.sync="welcomeType" ref="welcomeItem" welcomeName="link"></welcomeItem>
</div>
<dm-sub-title type="line">落地页配置</dm-sub-title>
<div class="section flex" style="margin-bottom: 40px;">
<el-form-item label="选择模板">
<el-form-item label="选择模板" class="pageId">
<div class="table">
<div class="search">
<el-input class="w-260" placeholder="请输入标题" v-model="landingPage.pageSearchText" @keyup.native="toInput" clearable @clear="getList"></el-input>
<el-button plain class="blueBtn" @click="addTemp">新建模板</el-button>
<el-button plain type="primary" @click="addTemp">新建模板</el-button>
</div>
<el-table :data="landingData" height="426" :loading="landingLoading" @row-click="row => getCurrentRow(row)">
<el-table-column width="55">
<template slot-scope="{ row }">
<el-radio :label="row.pageId" v-model="form.pageId" @change.native="getCurrentRow(row)"><i></i></el-radio>
<el-radio :label="row.pageId" v-model="form.pageId" class="hideLable" @change.native="getCurrentRow(row)"><i></i></el-radio>
</template>
</el-table-column>
<el-table-column prop="pageCode" label="模板ID" minWidth="148"></el-table-column>
<el-table-column prop="pageName" label="模板名称" minWidth="172" show-overflow-tooltip></el-table-column>
<el-table-column prop="pageTitle" label="页面标题" minWidth="156" show-overflow-tooltip> </el-table-column>
<el-table-column prop="guideComment" label="引导语" show-overflow-tooltip></el-table-column>
<el-table-column prop="guideComment" label="引导语" minWidth="152" show-overflow-tooltip></el-table-column>
</el-table>
<el-pagination class="paginationBox" background @current-change="getList" :current-page.sync="landingPage.pageNum" :page-size.sync="landingPage.pageSize" layout="prev, pager,next " :total="total"></el-pagination>
</div>
......@@ -346,17 +346,32 @@ export default {
return args.filter(i => i == 1).length <= 1;
},
save() {
if (!this.$refs.welcomeItem.submit()) {
this.$refs.form.validate(val => {
console.log(val);
if (!val) {
this.scrollToError(this);
return;
}
if (!this.form.pageId) {
this.$message.error('请选择落地页模板');
this.validateForm();
});
},
validateForm() {
if (!this.form.storeRuleJson.fw_store.open && !this.form.storeRuleJson.xg_store.open && !this.form.customRuleJson.open) {
this.scrollToError(this, 'storeRuleJson');
this.$message.warning('请设置分配规则');
return;
}
if (!this.form.storeRuleJson.fw_store.open && !this.form.storeRuleJson.xg_store.open && !this.form.customRuleJson.open) {
this.$message.error('请设置分配规则');
if (!this.$refs.welcomeItem.submit()) {
this.scrollToError(this, 'welcomeItem');
return;
}
if (!this.form.pageId) {
this.scrollToError(this, 'pageId');
this.$message.warning('请选择落地页模板');
return;
}
if (this.isEdit && this.form.memberLabelStatus == 0) {
this.$confirm('关联的标签在GIC中已被删除,无法统计和查看添加好友客户数据,为确保后续客户数据统计,请重新关联标签', '关联的标签已被删除,请重新关联标签', {
confirmButtonText: '选择标签',
......@@ -426,11 +441,7 @@ export default {
data.welcomeId = '';
}
delete data.memberLabelStatus;
this.$refs.form.validate(val => {
if (!val) {
this.scrollToError(this);
return;
}
this.btnLoading = true;
if (this.isAdd) {
linkAdd(data)
......@@ -456,7 +467,6 @@ export default {
this.btnLoading = false;
});
}
});
}
}
};
......
......@@ -32,8 +32,8 @@
</el-table-column>
<el-table-column width="110" prop="linkType" label="链接类型">
<template slot-scope="{ row }">
<el-tag size="mini" v-if="row.linkType == 1"> 专用链接 </el-tag>
<el-tag v-else size="mini" class="el-tag--cyan">通用链接</el-tag>
<el-tag size="mini" class="el-tag--cyan" v-if="row.linkType == 1"> 专用链接 </el-tag>
<el-tag v-else size="mini">通用链接</el-tag>
</template>
</el-table-column>
<el-table-column v-for="v in tableHeader" :show-overflow-tooltip="v.tooltip" :width="v.width" :min-width="v.minWidth" :align="v.align" :key="v.prop" :prop="v.prop" :label="v.label" :formatter="v.formatter" :sortable="v.sortable" :fixed="v.fixed">
......
<template>
<div class="info p-20" v-loading="loading">
<div class="flex p-b-40">
<vue-qr id="qrImg" :text="link.linkUrl" :size="200" :margin="5" v-if="link.linkType == 2"></vue-qr>
<vue-qr id="qrImg" class="m-r-30" :text="link.linkUrl" :size="200" :margin="5" v-if="link.linkType == 2"></vue-qr>
<div class="title-right">
<el-descriptions :title="link.name">
<el-descriptions-item label="ID">{{ link.linkCode }}</el-descriptions-item>
<el-descriptions-item label="code">{{ link.shortCode }}</el-descriptions-item>
<el-descriptions-item label="链接类型">
<el-tag size="mini" :class="link.linkType == 2 ? 'el-tag--cyan' : ''">{{ link.linkType == 1 ? '专用链接' : '通用链接' }}</el-tag></el-descriptions-item
<el-tag size="mini" :class="link.linkType == 2 ? '' : 'el-tag--cyan'">{{ link.linkType == 1 ? '专用链接' : '通用链接' }}</el-tag></el-descriptions-item
>
<el-descriptions-item label="创建人">{{ link.creatorName }}</el-descriptions-item>
<el-descriptions-item label="创建时间">{{ filters.formatTimeStamp(link.createTime) }}</el-descriptions-item>
......@@ -19,9 +19,9 @@
<el-descriptions-item label="链接描述">{{ link.remark }}</el-descriptions-item>
</el-descriptions>
<div class="m-t-10">
<el-button v-if="link.linkType == 2" icon="el-icon-download" type="primary" plain @click="downloadQR">下载二维码</el-button>
<el-button v-if="link.linkType == 2" v-clipboard:text="link.linkUrl" type="primary" plain>复制链接</el-button>
<el-button plain @click="goEdit">修改</el-button>
<el-button v-if="link.linkType == 2" icon="iconfont-hb3 iconxiazai" type="primary" @click="downloadQR" style="width: 120px;">下载二维码</el-button>
<el-button v-if="link.linkType == 2" v-clipboard:text="link.linkUrl" type="primary" plain style="width: 98px;">复制链接</el-button>
<el-button plain @click="goEdit" :type="link.linkType == 1 ? 'primary' : ''" style="width: 98px;">修改</el-button>
</div>
</div>
</div>
......@@ -305,7 +305,6 @@ export default {
border: 1px solid #dcdfe6;
}
.title-right {
margin-left: 30px;
padding: 12px 0 12px 0;
}
.preview {
......
......@@ -31,7 +31,7 @@
<div class="QRcode"></div>
<div class="leadingText">{{ card.guideComment }}</div>
<div class="enterpriseNum">
<i class="iconfont-hb3 iconhuawushuju"></i>
<i class="iconfont-hb3 icondianhua"></i>
<p>{{ card.merchantPhoneNumber }}</p>
</div>
</div>
......@@ -80,13 +80,13 @@ export default {
<style type="text/scss" lang="scss" scoped>
.card {
width: 384px;
width: 380px;
height: 687px;
border-radius: 8px;
border: 1px solid #dcdfe6;
background: #e5e7ed;
background: RGBA(240, 243, 253, 1);
.head {
width: 384px;
width: 380px;
height: 87px;
border-radius: 8px 8px 0px 0px;
......@@ -121,7 +121,7 @@ export default {
}
}
.iphone-content {
width: 384px;
width: 380px;
height: 600px;
display: flex;
justify-content: center;
......@@ -232,6 +232,7 @@ export default {
line-height: 14px;
color: #63666b;
font-size: 12px;
justify-content: center;
i {
font-size: 17px;
}
......
......@@ -15,11 +15,11 @@
<el-input show-word-limit placeholder="请输入商户电话" type="text" v-model="form.merchantPhoneNumber" maxlength="20" class="w-340"></el-input>
</el-form-item>
<el-form-item label="商户LOGO">
<single-upload uploadType="1" :showTips="false" :imgSrc.sync="form.merchantLogo" :field="''" class="app-set" uploadLimit="200/KB" :imgType="['image/jpeg', 'image/jpg', 'image/png', 'image/gif']"> </single-upload>
<single-upload uploadType="1" :showDel="true" :showTips="false" :imgSrc.sync="form.merchantLogo" :field="''" class="app-set" uploadLimit="200/KB" :imgType="['image/jpeg', 'image/jpg', 'image/png', 'image/gif']"> </single-upload>
<p style="margin-top: 6px;font-size: 12px;color: #909399;line-height: 17px;">图片建议尺寸 240*240px,格式 jpg/jpep/png/gif,大小 200KB 以内。</p>
</el-form-item>
<el-form-item label="页面背景">
<single-upload uploadType="1" :showTips="false" :imgSrc.sync="form.pageBackgroundImg" :field="''" class="app-set" :imgType="['image/jpeg', 'image/jpg', 'image/png', 'image/gif']"> </single-upload>
<single-upload uploadType="1" :showDel="true" :showTips="false" :imgSrc.sync="form.pageBackgroundImg" :field="''" class="app-set" :imgType="['image/jpeg', 'image/jpg', 'image/png', 'image/gif']"> </single-upload>
<p style="margin-top: 6px;font-size: 12px;color: #909399;line-height: 17px;">图片建议尺寸 750*1334px,格式 jpg/png/gif,大小 2M 以内。</p>
</el-form-item>
<el-form-item label="引导语" prop="guideComment">
......@@ -53,8 +53,12 @@ export default {
const reg1 = /^\s*$/;
const reg2 = /^\+*$/;
const reg3 = /^\-*$/;
if (!value) {
callback();
return;
}
if (reg1.test(value) || reg2.test(value) || reg3.test(value)) {
callback('请输入手机号');
callback('请输入正确的手机号');
}
if (!reg.test(value)) {
callback('仅支持输入数字,空格,-,+');
......
<template>
<div class="right-wrap">
<div class="right-box" v-loading="loading">
<div style="font-size: 0">
<div>
<el-select placeholder="选择业务模块" v-model="search.businessType" style="width: 160px" clearable @change="onSearch">
<el-option v-for="el in moduleList" :key="el.key" :label="el.value" :value="el.key"></el-option>
</el-select>
......
......@@ -26,12 +26,12 @@
<div class="welcomeTable">
<div class="wtabTop">
<el-input class="w260" placeholder="请输入标题" v-model="welcomePage.title" @keyup.native="toInput" clearable @clear="onSearch"></el-input>
<el-button type="primary" plain class="blueBtn" @click="changeRoute">新建欢迎语</el-button>
<el-button type="primary" plain @click="changeRoute">新建欢迎语</el-button>
</div>
<el-table :data="welcomeTableData" max-height="300px" @row-click="getCurrentRow">
<el-table-column width="55">
<template slot-scope="{ row }">
<el-radio :label="row.welcomeId" @change.native="getCurrentRow(row)" v-model="welcomeId"><i></i></el-radio>
<el-radio :label="row.welcomeId" @change.native="getCurrentRow(row)" class="hideLable" v-model="welcomeId"><i></i></el-radio>
</template>
</el-table-column>
<el-table-column prop="title" label="标题" width="158px"></el-table-column>
......
......@@ -474,6 +474,9 @@ input:focus {
.p-t-185 {
padding-top: 185px;
}
.p-b-10{
padding-bottom: 10px;
}
.p-b-40{
padding-bottom: 40px;
}
......@@ -518,6 +521,9 @@ input:focus {
.m-r-6{
margin-right: 6px !important;
}
.m-r-5{
margin-right: 5px;
}
.m-r-10 {
margin-right: 10px;
}
......@@ -527,6 +533,9 @@ input:focus {
.m-r-20 {
margin-right: 20px;
}
.m-r-30 {
margin-right: 30px;
}
.m-b-10 {
margin-bottom: 10px;
}
......@@ -1331,8 +1340,11 @@ button.el-button--primary.is-plain:focus {
.material-body .el-textarea .el-textarea__inner {
height: 273px;
}
.el-input__suffix i:nth-child(2) {
/* display: none; */
.el-input .el-input__suffix i:nth-child(2) {
display: none;
}
.el-select .el-input .el-input__suffix i:nth-child(2) {
display: block;
}
.damolish .no-empty-icon-table .el-table__empty-block {
display: none;
......@@ -1440,8 +1452,9 @@ ui调整
color: #909399;
line-height: 17px;
}
.blueBtn {
border: 1px solid #2f54eb;
color: #2f54eb;
.hideLable .el-radio__label{
display: none;
}
.el-button--text+.el-dropdown{
margin-left: 20px !important;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment