-
![]()
+
-
{{formData.site_tpl_name}}
+
{{ formData.site_tpl_name }}
-
-
-
-
+
+
+
+

修改
@@ -89,8 +93,10 @@
- 跳过
- 下一步
+
+ 跳过
+ 下一步
@@ -105,341 +111,380 @@ import domainBind from "@/components/domainBind.vue";
import db from '@/utils/indexedDBUtil'
export default {
- name: 'domainSet',
- props: {
- siteInfo: {
- type: Object,
- required: true
- },
- skip: {
- type: Boolean,
- required: false
- }
- },
- components: {
- domainBind,
- GuipFormItem, GuipRadio, GuipInput,
- GuipButton
- },
- data(){
- return {
- showAlert: false,
- formData: {
- short_name: '',
- sale_channel: '',
- sale_channel_label: '',
- site_type: '',
- site_tpl: '',
- site_tpl_name: '',
- site_tpl_ico: '',
- site_tpl_logo: '',
- picture:'',
- not_finished_uid: '',
- plat_domain: '',
- domain_type: '',
- domain_prefix: '',
- domain_name: '',
- sale_channels:{},
- sale_channels_label:{},
- domain_types:{},
- site_types:{},
- site_type_tpl:{},
- },
- formRules: {
- short_name: [
- { required: true, message: '请输入站点简称', trigger: 'blur' }
- ],
- sale_channel: [
- { required: true, message: '请选择销售渠道', trigger: 'blur' }
- ],
- domain_prefix: [
- { required: true, message: '请设置站点域名', trigger: 'blur' }
- ],
- site_type: [
- { required: true, message: '请选择站点类型', trigger: 'blur' }
- ],
+ name: 'domainSet',
+ props: {
+ siteInfo: {
+ type: Object,
+ required: true
},
- }
- },
- computed: {
- submitData() {
- let domain = "";
- if (this.formData.domain_type === '1') {
- domain = this.formData.domain_prefix + this.formData.plat_domain
- } else if (this.formData.domain_type === '2') {
- domain = this.formData.domain_prefix + this.formData.domain_name
+ skip: {
+ type: Boolean,
+ required: false
}
+ },
+ components: {
+ domainBind,
+ GuipFormItem, GuipRadio, GuipInput,
+ GuipButton
+ },
+ data() {
return {
- short_name: this.formData.short_name,
- domain: domain,
- sale_channel: this.formData.sale_channel,
- site_type: this.formData.site_type,
- site_tpl: this.formData.site_tpl,
- not_finished_uid: this.formData.not_finished_uid,
- ico: this.formData.site_tpl_ico,
- logo: this.formData.site_tpl_logo,
+ showAlert: false,
+ formData: {
+ short_name: '',
+ sale_channel: '',
+ sale_channel_label: '',
+ site_type: '',
+ site_tpl: '',
+ site_tpl_name: '',
+ site_tpl_ico: '',
+ site_tpl_logo: '',
+ picture: '',
+ not_finished_uid: '',
+ plat_domain: '',
+ domain_type: '',
+ domain_prefix: '',
+ domain_name: '',
+ sale_channels: {},
+ sale_channels_label: {},
+ domain_types: {},
+ site_types: {},
+ site_type_tpl: {},
+ },
+ formRules: {
+ short_name: [
+ { required: true, message: '请输入站点简称', trigger: 'blur' }
+ ],
+ sale_channel: [
+ { required: true, message: '请选择销售渠道', trigger: 'blur' }
+ ],
+ domain_prefix: [
+ { required: true, message: '请设置站点域名', trigger: 'blur' }
+ ],
+ site_type: [
+ { required: true, message: '请选择站点类型', trigger: 'blur' }
+ ],
+ },
}
},
- },
- mounted() {
- const formData = JSON.parse(localStorage.getItem('formData'))
- if(formData){
- this.formData = formData;
- localStorage.removeItem('formData')
- this.getSiteTplSet()
- return true;
- }
-
- if(this.skip && !localStorage.getItem('showAlert')) this.showAlert = true
- this.getAddInfo()
- },
- methods:{
- hideAlert(){
- this.showAlert = false
- localStorage.setItem('showAlert', false)
- },
- async getSiteTplSet(){
- const siteTplInfo = JSON.parse(localStorage.getItem('site_tpl_info'))
- if(siteTplInfo){
- this.formData.site_tpl = siteTplInfo.site_tpl
- this.formData.site_tpl_name = siteTplInfo.site_tpl_name
- this.formData.picture = siteTplInfo.picture
- }
+ computed: {
+ submitData() {
+ let domain = "";
+ if (this.formData.domain_type === '1') {
+ domain = this.formData.domain_prefix + this.formData.plat_domain
+ } else if (this.formData.domain_type === '2') {
+ domain = this.formData.domain_prefix + this.formData.domain_name
+ }
+ return {
+ short_name: this.formData.short_name,
+ domain: domain,
+ sale_channel: this.formData.sale_channel,
+ site_type: this.formData.site_type,
+ site_tpl: this.formData.site_tpl,
+ not_finished_uid: this.formData.not_finished_uid,
+ ico: this.formData.site_tpl_ico,
+ logo: this.formData.site_tpl_logo,
+ }
+ },
+ },
+ mounted() {
+ const formData = JSON.parse(localStorage.getItem('formData'))
+ if (formData) {
+ this.formData = formData;
+ localStorage.removeItem('formData')
+ this.getSiteTplSet()
+ return true;
+ }
- const ico = await db.get('ico')
- if(ico) this.formData.site_tpl_ico = ico
- const logo = await db.get('logo')
- if(logo) this.formData.site_tpl_logo = logo
- },
- getAddInfo() {
- const that = this
- this.$http('POST', '/agentnew/ajax_get_site_add_info', {}).then(response => {
- if(response.status){
- const addInfo = response.data
- that.formData.sale_channels = addInfo.sale_channels
- that.formData.sale_channels_label = addInfo.sale_channels_label
+ if (this.skip && !localStorage.getItem('showAlert')) this.showAlert = true
+ this.getAddInfo()
+ },
+ methods: {
+ hideAlert() {
+ this.showAlert = false
+ localStorage.setItem('showAlert', false)
+ },
+ async getSiteTplSet() {
+ const siteTplInfo = JSON.parse(localStorage.getItem('site_tpl_info'))
+ if (siteTplInfo) {
+ this.formData.site_tpl = siteTplInfo.site_tpl
+ this.formData.site_tpl_name = siteTplInfo.site_tpl_name
+ this.formData.picture = siteTplInfo.picture
+ }
- that.formData.domain_type = String(addInfo.domain_type)
- that.formData.domain_types = addInfo.domain_types
- that.formData.plat_domain = addInfo.plat_domain
+ const ico = await db.get('ico')
+ if (ico) this.formData.site_tpl_ico = ico
+ const logo = await db.get('logo')
+ if (logo) this.formData.site_tpl_logo = logo
+ },
+ getAddInfo() {
+ const that = this
+ this.$http('POST', '/agentnew/ajax_get_site_add_info', {}).then(response => {
+ if (response.status) {
+ const addInfo = response.data
+ that.formData.sale_channels = addInfo.sale_channels
+ that.formData.sale_channels_label = addInfo.sale_channels_label
- that.formData.site_type = String(addInfo.site_type)
- that.formData.site_types = addInfo.site_types
- that.formData.site_type_tpl = addInfo.site_type_tpl
- if(that.formData.site_type){
- that.formData.site_tpl = this.formData.site_type_tpl[this.formData.site_type].site_tpl
- that.formData.site_tpl_name = this.formData.site_type_tpl[this.formData.site_type].site_tpl_name
- that.formData.picture = this.formData.site_type_tpl[this.formData.site_type].picture
- }
+ that.formData.domain_type = String(addInfo.domain_type)
+ that.formData.domain_types = addInfo.domain_types
+ that.formData.plat_domain = addInfo.plat_domain
- if(Object.keys(that.siteInfo).length>0){
- that.$nextTick(() => {
- that.formData.short_name = that.siteInfo.short_name
- that.formData.sale_channel = String(that.siteInfo.sale_channel)
- that.formData.site_type = String(that.siteInfo.site_type)
- that.formData.site_tpl = that.siteInfo.site_tpl
- that.formData.site_tpl_name = that.siteInfo.site_tpl_name
- that.formData.picture = that.siteInfo.picture
- that.formData.not_finished_uid = that.siteInfo.uid
+ that.formData.site_type = String(addInfo.site_type)
+ that.formData.site_types = addInfo.site_types
+ that.formData.site_type_tpl = addInfo.site_type_tpl
+ if (that.formData.site_type) {
+ that.formData.site_tpl = this.formData.site_type_tpl[this.formData.site_type].site_tpl
+ that.formData.site_tpl_name = this.formData.site_type_tpl[this.formData.site_type].site_tpl_name
+ that.formData.picture = this.formData.site_type_tpl[this.formData.site_type].picture
+ }
- that.formData.domain_type = String(that.siteInfo.domain_type)
- that.formData.domain_prefix = that.siteInfo.domain_prefix;
- that.formData.domain_name = that.siteInfo.domain_name;
- })
- }
- return true
- }
- that.$message.error(response.info);
- }).catch(error => {
- console.error(error, 'error')
- })
- },
- radioChange(){
- const labels = this.formData.sale_channels_label;
- const value = this.formData.sale_channel;
- this.formData.sale_channel_label = labels && labels[value] ? labels[value] : '';
- },
- radioTypeChange(){
- if(this.formData.site_type){
- this.formData.site_tpl = this.formData.site_type_tpl[this.formData.site_type].site_tpl
- this.formData.site_tpl_name = this.formData.site_type_tpl[this.formData.site_type].site_tpl_name
- this.formData.picture = this.formData.site_type_tpl[this.formData.site_type].picture
- }
- },
- handleClear() {
- this.formData.domain_prefix = '';
- },
- handleChangeDomain(data) {
- this.formData.domain_prefix = data.prefix
- this.formData.domain_name = data.domain
- },
- // previewTpl(){
- // window.open('http://'+this.siteInfo.domain, '_blank');
- // },
- changeTpl(){
- if(this.formData.site_type === ''){
- this.$message.warning('请选择站点类型');
- return false;
- }
- localStorage.setItem('formData', JSON.stringify(this.formData))
- if(this.formData.not_finished_uid){
- this.$router.push(`/agent/siteTemplate?uid=${this.formData.not_finished_uid}`)
- }else{
- this.$router.push(`/agent/siteTemplate?site_type=${this.formData.site_type}`)
- }
- },
- jumpStep(){
- this.$router.push('/')
- },
- saveConfirm() {
- const that = this
- let formValid = false;
- that.$refs.formRef.validate((valid) => {
- formValid = valid
- });
+ if (Object.keys(that.siteInfo).length > 0) {
+ that.$nextTick(() => {
+ that.formData.short_name = that.siteInfo.short_name
+ that.formData.sale_channel = String(that.siteInfo.sale_channel)
+ that.formData.site_type = String(that.siteInfo.site_type)
+ that.formData.site_tpl = that.siteInfo.site_tpl
+ that.formData.site_tpl_name = that.siteInfo.site_tpl_name
+ that.formData.picture = that.siteInfo.picture
+ that.formData.not_finished_uid = that.siteInfo.uid
- let domainValid = false;
- if(that.formData.domain_type === '2'){
- that.$refs.domainBind.$refs.bindFormRef.validate(valid => {
- domainValid = valid
- })
- }else{
- domainValid = true
- }
+ that.formData.domain_type = String(that.siteInfo.domain_type)
+ that.formData.domain_prefix = that.siteInfo.domain_prefix;
+ that.formData.domain_name = that.siteInfo.domain_name;
+ })
+ }
+ return true
+ }
+ that.$message.error(response.info);
+ }).catch(error => {
+ console.error(error, 'error')
+ })
+ },
+ radioChange() {
+ const labels = this.formData.sale_channels_label;
+ const value = this.formData.sale_channel;
+ this.formData.sale_channel_label = labels && labels[value] ? labels[value] : '';
+ },
+ radioTypeChange() {
+ if (this.formData.site_type) {
+ this.formData.site_tpl = this.formData.site_type_tpl[this.formData.site_type].site_tpl
+ this.formData.site_tpl_name = this.formData.site_type_tpl[this.formData.site_type].site_tpl_name
+ this.formData.picture = this.formData.site_type_tpl[this.formData.site_type].picture
+ }
+ },
+ handleClear() {
+ this.formData.domain_prefix = '';
+ },
+ handleChangeDomain(data) {
+ this.formData.domain_prefix = data.prefix
+ this.formData.domain_name = data.domain
+ },
+ // previewTpl(){
+ // window.open('http://'+this.siteInfo.domain, '_blank');
+ // },
+ changeTpl() {
+ if (this.formData.site_type === '') {
+ this.$message.warning('请选择站点类型');
+ return false;
+ }
+ localStorage.setItem('formData', JSON.stringify(this.formData))
+ if (this.formData.not_finished_uid) {
+ this.$router.push(`/agent/siteTemplate?uid=${this.formData.not_finished_uid}`)
+ } else {
+ this.$router.push(`/agent/siteTemplate?site_type=${this.formData.site_type}`)
+ }
+ },
+ jumpStep() {
+ this.$router.push('/')
+ },
+ validateFunc(fields){
+ const that = this
+ let flag = false
+ // 遍历每个表单项
+ if(Array.isArray(fields)){
+ fields.forEach(field => {
+ if (flag) return
+ // 验证单个字段
+ field.validate('', (error) => {
+ if (error) {
+ // 获取字段的label
+ const label = field.label;
+ const prop = field.prop;
+
+ flag = true;
+ console.log('label',prop, label);
+ if (!label) return
+ that.$positionMessage({
+ type: 'error',
+ message: label + '不得为空',
+ target: that.$refs.nextStepRef1, // 可以是DOM元素或选择器
+ position: 'top'
+ })
+ }
+ });
+ });
+ }
+ },
+ saveConfirm() {
+ const that = this
+ let formValid = false;
+ let fields = that.$refs.formRef.fields;
+ that.validateFunc(fields)
+ that.$refs.formRef.validate((valid) => {
+ formValid = valid
+ });
+ let domainValid = false;
+ if (that.formData.domain_type === '2') {
+ that.$refs.domainBind.$refs.bindFormRef.validate(valid => {
+ domainValid = valid
+ })
+ that.$positionMessage({
+ type: 'error',
+ message: '域名设置不得为空',
+ target: that.$refs.nextStepRef1, // 可以是DOM元素或选择器
+ position: 'top'
+ })
+ } else {
+ domainValid = true
+ }
- if (formValid && domainValid) {
- that.$http('POST', '/agentnew/ajax_add_new_site', that.submitData).then(async response => {
- if(response.status && response.data.uid){
- await that.deleteSiteTplData()
+ if (formValid && domainValid) {
+ that.$http('POST', '/agentnew/ajax_add_new_site', that.submitData).then(async response => {
+ if (response.status && response.data.uid) {
+ await that.deleteSiteTplData()
- that.formData.uid = response.data.uid
- that.$emit('handelSiteInfo', that.formData)
+ that.formData.uid = response.data.uid
+ that.$emit('handelSiteInfo', that.formData)
- if(that.formData.sale_channel === '2'){
- //自用站点无需设置收款方式
- that.$emit('handelStep', 3)
- }else{
- that.$emit('handelStep', 2)
- }
- return true;
- }
- that.$message.error(response.info);
- }).catch(error => {
- console.error(error, 'error')
- })
- }
- },
- async deleteSiteTplData(){
- localStorage.removeItem('activeStep')
- localStorage.removeItem('site_tpl_info')
- await db.remove('ico')
- await db.remove('logo')
- },
- }
+ if (that.formData.sale_channel === '2') {
+ //自用站点无需设置收款方式
+ that.$emit('handelStep', 3)
+ } else {
+ that.$emit('handelStep', 2)
+ }
+ return true;
+ }
+ that.$message.error(response.info);
+ }).catch(error => {
+ console.error(error, 'error')
+ })
+ }
+ },
+ async deleteSiteTplData() {
+ localStorage.removeItem('activeStep')
+ localStorage.removeItem('site_tpl_info')
+ await db.remove('ico')
+ await db.remove('logo')
+ },
+ }
}
\ No newline at end of file
diff --git a/src/components/site/serviceSetting/domainSet.vue b/src/components/site/serviceSetting/domainSet.vue
index 37214ed..91cbef8 100644
--- a/src/components/site/serviceSetting/domainSet.vue
+++ b/src/components/site/serviceSetting/domainSet.vue
@@ -6,16 +6,16 @@
+
+
+ 当前服务域名:{{info.domain}}
+
域名来源
-
- 当前服务域名:{{info.domain}}
-
-
-
@@ -121,7 +121,7 @@ export default {
font-size: 14px;
letter-spacing: 0.08em;
color: #1E2226;
- margin-bottom: 12px;
+ margin-bottom: 16px;
}
.domain-radio{
diff --git a/src/style/theme/common.scss b/src/style/theme/common.scss
index cc3b3ef..f226e9a 100644
--- a/src/style/theme/common.scss
+++ b/src/style/theme/common.scss
@@ -78,7 +78,7 @@ body {
cursor: pointer;
transition: all .3s;
- &:hover {
+ & > *:hover {
transition: all .3s;
color: #006AFF !important;
}
diff --git a/src/views/agent/siteServiceList.vue b/src/views/agent/siteServiceList.vue
index 1bb6a26..ab794f5 100644
--- a/src/views/agent/siteServiceList.vue
+++ b/src/views/agent/siteServiceList.vue
@@ -21,7 +21,7 @@
+ @selection-change="handleSelectionChange" @select="handleSelect" :row-class-name="setRowStyle">
@@ -234,6 +234,15 @@ export default {
},
},
methods: {
+ setRowStyle({ row }) {
+ // specialBack 类名
+ console.log(row);
+ // 根据row的某个属性判断 具体条件后续修改
+ // if (row.price === '2.00') {
+ // return 'specialBack';
+ // }
+ return '';
+ },
jumpAdd(prodid){
this.$router.push(this.serviceAddUrl + '?uid=' + this.uid + '&prodid=' + prodid)
},
@@ -515,6 +524,11 @@ export default {
}