feature_0521
zhenghuang 6 years ago
parent 7bb7fbab55
commit 587d798576

@ -2,7 +2,7 @@
<div class="activity_code">
<Row class="search-row"
:gutter="10">
<i-col span="24"
<i-col span="22"
class="search-col">
<Form ref="formValidate"
:model="formValidate"
@ -39,6 +39,16 @@
</Row>
</Form>
</i-col>
<i-col span="2"
class="search-col">
<Row class="row-style">
<i-col span="12"
style="text-align: left;padding-right: 20px;">
<Button type="primary"
@click="() => $router.back()">返回</Button>
</i-col>
</Row>
</i-col>
</Row>
<Table :loading="loading"
border

@ -1,5 +1,17 @@
<template>
<div class="activity_code">
<Row class="search-row">
<i-col span="24"
class="search-col">
<Row class="row-style">
<i-col span="12"
style="text-align: left;padding-right: 20px;">
<Button type="primary"
@click="() => $router.back()">返回</Button>
</i-col>
</Row>
</i-col>
</Row>
<Table :loading="loading"
border
:columns="columns"

@ -713,7 +713,7 @@ export default {
that.$Message.info(data.data.results);
that.getRecruitList();
} else {
that.$Message.error("系统异常");
that.$Message.error(data.data.msg || "系统异常");
}
},
function (error) {

@ -1,188 +1,243 @@
<template>
<div class>
<Row class="search-row">
<i-col span="24" class="search-col">
<i-col span="24"
class="search-col">
<Row class="row-style">
<i-col span="12" style="text-align: left;padding-right: 20px;">
<Button type="primary" @click="back()"></Button>
<i-col span="12"
style="text-align: left;padding-right: 20px;">
<Button type="primary"
@click="back()">返回</Button>
</i-col>
</Row>
</i-col>
</Row>
<Row>
<i-col :span="12">
<Form ref="welcomeForm" :model="welcome" :rules="welcomeRules">
<FormItem label="欢迎语内容" prop="content">
<i-input
v-model="welcome.content"
type="textarea"
style="height: 220px"
:autosize="{ minRows: 10, maxRows: 10 }"
placeholder="请输入欢迎语内容,最多100个字"
></i-input>
<Form ref="welcomeForm"
:model="welcome"
:rules="welcomeRules">
<FormItem label="欢迎语内容"
prop="content">
<i-input v-model="welcome.content"
type="textarea"
style="height: 220px"
:autosize="{ minRows: 10, maxRows: 10 }"
placeholder="请输入欢迎语内容,最多100个字"></i-input>
</FormItem>
<Row
style="margin-bottom: 10px"
:gutter="10"
class="inputItem"
v-for="(item, index) in welcome.params"
:key="index"
>
<Row style="margin-bottom: 10px"
:gutter="10"
class="inputItem"
v-for="(item, index) in welcome.params"
:key="index">
<div v-if="item.type == 3">
<i-col style="line-height: 32px" :span="2">标题 {{ index + 1 }}</i-col>
<i-col style="line-height: 32px"
:span="2">标题 {{ index + 1 }}</i-col>
<i-col :span="3">
<i-input class="inputClass" type="text" disabled v-model="item.key"></i-input>
<i-input class="inputClass"
type="text"
disabled
v-model="item.key"></i-input>
</i-col>
<i-col style="line-height: 32px" :span="2">APPID {{ index + 1 }}</i-col>
<i-col style="line-height: 32px"
:span="2">APPID {{ index + 1 }}</i-col>
<i-col :span="3">
<i-input class="inputClass" type="text" disabled v-model="item.defaultVal"></i-input>
<i-input class="inputClass"
type="text"
disabled
v-model="item.defaultVal"></i-input>
</i-col>
<i-col style="line-height: 32px" :span="2">URI {{ index + 1 }}</i-col>
<i-col style="line-height: 32px"
:span="2">URI {{ index + 1 }}</i-col>
<i-col :span="3">
<i-input class="inputClass" type="text" disabled v-model="item.description"></i-input>
<i-input class="inputClass"
type="text"
disabled
v-model="item.description"></i-input>
</i-col>
<i-col style="line-height: 32px" :span="2">MediaId{{ index + 1 }}</i-col>
<i-col style="line-height: 32px"
:span="2">MediaId{{ index + 1 }}</i-col>
<i-col :span="3">
<i-input class="inputClass" type="text" disabled v-model="item.limitLower"></i-input>
<i-input class="inputClass"
type="text"
disabled
v-model="item.limitLower"></i-input>
</i-col>
</div>
<div v-else-if="item.type == 2">
<i-col style="line-height: 32px" :span="4">标题 {{ index + 1 }}</i-col>
<i-col style="line-height: 32px"
:span="4">标题 {{ index + 1 }}</i-col>
<i-col :span="6">
<i-input class="inputClass" type="text" disabled v-model="item.description"></i-input>
<i-input class="inputClass"
type="text"
disabled
v-model="item.description"></i-input>
</i-col>
<i-col style="line-height: 32px" :span="4">URL {{ index + 1 }}</i-col>
<i-col style="line-height: 32px"
:span="4">URL {{ index + 1 }}</i-col>
<i-col :span="6">
<i-input class="inputClass" type="text" disabled v-model="item.defaultVal"></i-input>
<i-input class="inputClass"
type="text"
disabled
v-model="item.defaultVal"></i-input>
</i-col>
</div>
<div v-else>
<i-col style="line-height: 32px" :span="4">{{ item.name }}{{ index + 1 }}</i-col>
<i-col style="line-height: 32px"
:span="4">{{ item.name }}{{ index + 1 }}</i-col>
<i-col :span="16">
<i-input class="inputClass" type="text" disabled v-model="item.defaultVal"></i-input>
<i-input class="inputClass"
type="text"
disabled
v-model="item.defaultVal"></i-input>
</i-col>
</div>
<i-col :span="4">
<Button type="error" @click="delActivityInput(index)"></Button>
<Button type="error"
@click="delActivityInput(index)">删除</Button>
</i-col>
</Row>
<FormItem v-if="paramFilter()">
<Button type="text" @click="() => (showMessageTypes = true)" icon="md-add">添加图片/网页/小程序消息</Button>
<Button style="color: #2d8cf0"
type="text"
@click="() => (showMessageTypes = true)"
icon="md-add">添加图片/网页/小程序消息</Button>
</FormItem>
<FormItem label="配置范围: ">
<span
@click="showStores"
v-if="welcome.stores.length > 0"
>{{ welcome.stores[0].name }}{{ welcome.stores.length }}家店铺</span>
<Button
type="text"
v-if="welcome.stores.length <= 0"
@click="showStores"
icon="md-add"
>全部店铺</Button>
<span @click="showStores"
v-if="welcome.stores.length > 0">{{ welcome.stores[0].name }}{{ welcome.stores.length }}家店铺</span>
<Button type="text"
style="color: #2d8cf0"
v-if="welcome.stores.length <= 0"
@click="showStores"
icon="md-add">全部店铺</Button>
</FormItem>
<FormItem>
<Button
type="primary"
:loading="loading"
long
@click="submit"
>{{loading ? "保存中" : "确定"}}</Button>
<Button type="primary"
:loading="loading"
long
@click="submit">{{loading ? "保存中" : "确定"}}</Button>
</FormItem>
</Form>
</i-col>
</Row>
<Modal v-model="showMessageTypes" title="添加图片/网页/小程序消息" :footer-hide="true">
<Modal v-model="showMessageTypes"
title="添加图片/网页/小程序消息"
:footer-hide="true">
<Row :gutter="24">
<i-col :span="8">
<Upload
ref="upload"
:show-upload-list="false"
:on-success="uploadImgSuccess"
:format="['jpg', 'jpeg', 'png']"
:max-size="2048"
:on-exceeded-size="onExceededSize"
:before-upload="handleBeforeUpload"
multiple
type="drag"
action
style="width: 100%;"
>
<Upload ref="upload"
:show-upload-list="false"
:on-success="uploadImgSuccess"
:format="['jpg', 'jpeg', 'png']"
:max-size="2048"
:on-exceeded-size="onExceededSize"
:before-upload="handleBeforeUpload"
multiple
type="drag"
action
style="width: 100%;">
<div style="width: 100%;">
<Button long type="primary">{{imageUploading ? "上传中..." : "图片"}}</Button>
<Button long
type="primary">{{imageUploading ? "上传中..." : "图片"}}</Button>
</div>
</Upload>
</i-col>
<i-col :span="8">
<Button long @click="doShowWeb" type="primary">网页</Button>
<Button long
@click="doShowWeb"
type="primary">网页</Button>
</i-col>
<i-col :span="8">
<Button long @click="doShowMini" type="primary">小程序</Button>
<Button long
@click="doShowMini"
type="primary">小程序</Button>
</i-col>
</Row>
</Modal>
<Modal v-model="showWeb" title="添加网页消息" :loading="true">
<Form ref="webForm" :model="webForm" :rules="webFormRules">
<FormItem label="标题" prop="title">
<i-input v-model="webForm.title" type="text" placeholder="请输入网页标题"></i-input>
<Modal v-model="showWeb"
title="添加网页消息"
:loading="true">
<Form ref="webForm"
:model="webForm"
:rules="webFormRules">
<FormItem label="标题"
prop="title">
<i-input v-model="webForm.title"
type="text"
placeholder="请输入网页标题"></i-input>
</FormItem>
<FormItem label="添加网页消息" prop="url">
<i-input v-model="webForm.url" type="text" placeholder="以http或https开头"></i-input>
<FormItem label="添加网页消息"
prop="url">
<i-input v-model="webForm.url"
type="text"
placeholder="以http或https开头"></i-input>
</FormItem>
</Form>
<div slot="footer">
<Button type="primary" @click="cancelWeb"></Button>
<Button type="primary" @click="okWeb"></Button>
<Button type="primary"
@click="cancelWeb">取消</Button>
<Button type="primary"
@click="okWeb">确定</Button>
</div>
</Modal>
<Modal v-model="showMini" title="添加小程序消息" :loading="true">
<Form ref="miniForm" :model="miniForm" :rules="miniFormRules">
<FormItem label="标题" prop="key">
<i-input v-model="miniForm.key" type="text" placeholder="请输入标题"></i-input>
<Modal v-model="showMini"
title="添加小程序消息"
:loading="true">
<Form ref="miniForm"
:model="miniForm"
:rules="miniFormRules">
<FormItem label="标题"
prop="key">
<i-input v-model="miniForm.key"
type="text"
placeholder="请输入标题"></i-input>
</FormItem>
<FormItem label="APPID" prop="appid">
<i-input v-model="miniForm.appid" type="text" placeholder="请输入appid"></i-input>
<FormItem label="APPID"
prop="appid">
<i-input v-model="miniForm.appid"
type="text"
placeholder="请输入appid"></i-input>
</FormItem>
<FormItem label="URI" prop="uri">
<i-input v-model="miniForm.uri" type="text" placeholder="请输入URl"></i-input>
<FormItem label="URI"
prop="uri">
<i-input v-model="miniForm.uri"
type="text"
placeholder="请输入URl"></i-input>
</FormItem>
<FormItem label="封面图">
<Upload
ref="upload"
:show-upload-list="false"
:on-success="miniUploadImgSuccess"
:format="['jpg', 'jpeg', 'png']"
:max-size="2048"
:before-upload="handleBeforeUploadMini"
multiple
type="drag"
action
style="display: inline-block;"
>
<Upload ref="upload"
:show-upload-list="false"
:on-success="miniUploadImgSuccess"
:format="['jpg', 'jpeg', 'png']"
:max-size="2048"
:before-upload="handleBeforeUploadMini"
multiple
type="drag"
action
style="display: inline-block;">
<div style="width: 200px;height:200px;line-height: 200px;border:1px dashed #dedede">
<span v-if="!miniForm.limitUpper"></span>
<img
v-if="miniForm.limitUpper"
:src="miniForm.limitUpper"
alt
style="width: 100%; height: auto"
/>
<img v-if="miniForm.limitUpper"
:src="miniForm.limitUpper"
alt
style="width: 100%; height: auto" />
</div>
</Upload>
</FormItem>
</Form>
<div slot="footer">
<Button type="primary" @click="cancelMini"></Button>
<Button type="primary" @click="okMini"></Button>
<Button type="primary"
@click="cancelMini">取消</Button>
<Button type="primary"
@click="okMini">确定</Button>
</div>
</Modal>
<selectStoreStep
:title="'配置范围'"
:isModify="id>0"
@doShow="doShow"
:schedule="welcome"
:show="showStoreCheck"
></selectStoreStep>
<selectStoreStep :title="'配置范围'"
:isModify="id>0"
@doShow="doShow"
:schedule="welcome"
:show="showStoreCheck"></selectStoreStep>
</div>
</template>
@ -201,7 +256,7 @@ const validateUrl = (rule, value, callback) => {
}
};
export default {
data() {
data () {
return {
showStoreCheck: false,
showWeb: false,
@ -248,7 +303,7 @@ export default {
},
watch: {
welcome: {
handler() {
handler () {
store.commit("SET_useData", {
...store.getters.useData,
...this.welcome
@ -258,7 +313,7 @@ export default {
deep: true
}
},
created() {
created () {
this.id = this.$route.query.id;
// store.commit("SET_useData", { ...store.getters.useData, ...this.welcome });
console.log(this.$route);
@ -274,21 +329,21 @@ export default {
selectStoreStep
},
methods: {
back: function() {
back: function () {
this.$router.back();
},
paramFilter() {
paramFilter () {
return this.welcome.params.length < 1;
},
doShow() {
doShow () {
this.showStoreCheck = false;
this.welcome = store.getters.useData;
this.submit();
},
onExceededSize() {
onExceededSize () {
console.log("失败");
},
getDetail(instanceId) {
getDetail (instanceId) {
let _this = this;
ActivityManager.instanceDetail(
{
@ -305,7 +360,7 @@ export default {
}
);
},
showStores() {
showStores () {
console.log({ ...store.getters.useData, ...this.welcome });
store.commit("SET_useData", {
...this.welcome,
@ -313,16 +368,16 @@ export default {
});
this.showStoreCheck = true;
},
uploadImgSuccess(res, file) {},
miniUploadImgSuccess(res, file) {},
cancelWeb() {
uploadImgSuccess (res, file) { },
miniUploadImgSuccess (res, file) { },
cancelWeb () {
this.showWeb = false;
},
doShowWeb() {
doShowWeb () {
this.showWeb = true;
this.webForm = { url: "", title: "" };
},
doShowMini() {
doShowMini () {
this.showMini = true;
this.miniForm = {
appid: "",
@ -332,10 +387,10 @@ export default {
key: ""
};
},
cancelMini() {
cancelMini () {
this.showMini = false;
},
okWeb() {
okWeb () {
let _this = this;
this.$refs["webForm"].validate(valid => {
if (valid) {
@ -355,7 +410,7 @@ export default {
}
});
},
okMini() {
okMini () {
let _this = this;
this.$refs["miniForm"].validate(valid => {
if (valid) {
@ -375,11 +430,11 @@ export default {
}
});
},
delActivityInput(index) {
delActivityInput (index) {
this.welcome.params.splice(index, 1);
this.$forceUpdate();
},
handleBeforeUploadMini(res) {
handleBeforeUploadMini (res) {
const me = this;
let data = new FormData();
data.append("file", res);
@ -393,7 +448,7 @@ export default {
headers: {
"Content-Type": "multipart/form-data"
}
}).then(function(res) {
}).then(function (res) {
me.imageUploading = false;
if (res.data.success) {
// me.formValidate.logo = res.data.results;
@ -404,7 +459,7 @@ export default {
});
return false;
},
handleBeforeUpload(res) {
handleBeforeUpload (res) {
const me = this;
let data = new FormData();
data.append("file", res);
@ -418,7 +473,7 @@ export default {
headers: {
"Content-Type": "multipart/form-data"
}
}).then(function(res) {
}).then(function (res) {
me.imageUploading = false;
if (res.data.success) {
// me.formValidate.logo = res.data.results;
@ -438,7 +493,7 @@ export default {
});
return false;
},
submit() {
submit () {
let _this = this;
_this.loading = true;
if (this.welcome.stores.length <= 0) {

Loading…
Cancel
Save