更新统一三个页面

lijinlong
李劲龙 1 year ago
parent c2434a4e9b
commit 2bd0b8f26d

@ -33,63 +33,63 @@ export default {
this.globalData.config = config; this.globalData.config = config;
}, },
checkLogin() { checkLogin() {
const launchOptions = uni.getLaunchOptionsSync(); // const launchOptions = uni.getLaunchOptionsSync();
const { query } = launchOptions; // const { query } = launchOptions;
console.log(query, "query"); // console.log(query, "query");
// console.log(Object.keys(query).length,"query.lengh"); // console.log(Object.keys(query).length,"query.lengh");
console.log(getToken(), "getToken()"); // console.log(getToken(), "getToken()");
if (!getToken()) { // if (!getToken()) {
if (Object.keys(query).length !== 0) { // if (Object.keys(query).length !== 0) {
console.log("获取query"); // console.log("query");
// let params = this.getRequestParams(); // // let params = this.getRequestParams();
// console.log(params,"params"); // // console.log(params,"params");
// if (location.href.includes("code=")) { // // if (location.href.includes("code=")) {
const code = query.code; // const code = query.code;
const token = query.token; // const token = query.token;
uni.setStorageSync("token", token); // uni.setStorageSync("token", token);
// console.log(code,"code"); // // console.log(code,"code");
// console.log(token,"token"); // // console.log(token,"token");
getSqByaccesstoken({ // getSqByaccesstoken({
code: code, // code: code,
}) // })
.then((res) => { // .then((res) => {
// console.log("accessToken"); // // console.log("accessToken");
uni.setStorageSync("accessToken", res.data.accessToken); // uni.setStorageSync("accessToken", res.data.accessToken);
return getUserinfo({ // return getUserinfo({
accessToken: res.data.accessToken, // accessToken: res.data.accessToken,
}); // });
}) // })
.then((el) => { // .then((el) => {
this.$tab.switchTab("/pages/index"); // this.$tab.switchTab("/pages/index");
uni.setStorageSync("userInfo", el.data); // uni.setStorageSync("userInfo", el.data);
setToken(el.data.token); // setToken(el.data.token);
// location.reload(); // // location.reload();
console.log("用户信息", el); // console.log("", el);
}); // });
// } // // }
} else { // } else {
// // #ifdef APP // // // #ifdef APP
console.log("进入APP判断"); // console.log("APP");
// this.$tab.reLaunch("/pages/myLogin"); // // this.$tab.reLaunch("/pages/myLogin");
uni.reLaunch({ // uni.reLaunch({
url: "/pages/myLogin", // url: "/pages/myLogin",
}); // });
// url // // url
// plus.runtime.openURL( "https://t-jn-development-manager.jsszkd.com/login?clientId=641775453324", this.openErr ); // // plus.runtime.openURL( "https://t-jn-development-manager.jsszkd.com/login?clientId=641775453324", this.openErr );
// // #endif // // // #endif
// // #ifdef H5 // // // #ifdef H5
// location.href = `https://t-jn-development-manager.jsszkd.com/login?clientId=641775453324` // // location.href = `https://t-jn-development-manager.jsszkd.com/login?clientId=641775453324`
// // #endif // // // #endif
console.log("Before navigateTo or reLaunch"); // console.log("Before navigateTo or reLaunch");
// this.$tab.reLaunch("/pages/myLogin"); // // this.$tab.reLaunch("/pages/myLogin");
// uni.navigateTo({ // // uni.navigateTo({
// url:'https://t-jn-development-manager.jsszkd.com/login?clientId=641775453324' // // url:'https://t-jn-development-manager.jsszkd.com/login?clientId=641775453324'
// }) // // })
} // }
} else { // } else {
this.$tab.reLaunch("/pages/index"); // this.$tab.reLaunch("/pages/index");
} // }
}, },
openErr(err) { openErr(err) {
console.log(err, "报错信息"); console.log(err, "报错信息");

@ -7,8 +7,22 @@ export function listActivity(query) {
method: "get", method: "get",
params: query, params: query,
}); });
}
//门前三包评级规则
export function listraterule(query) {
return request({
url: "/jn/raterule/list",
method: "get",
params: query,
});
}
export function listysfwlist(query) {
return request({
url: "/jn/ysfw/list",
method: "get",
params: query,
});
} }
// 查询活动申请详细 // 查询活动申请详细
export function getActivity(id) { export function getActivity(id) {
return request({ return request({
@ -41,4 +55,11 @@ export function delActivity(id) {
url: "/jn/activity/" + id, url: "/jn/activity/" + id,
method: "delete", method: "delete",
}); });
}
//获取沿街店铺列表详细信息
export function jnshop(id) {
return request({
url: "/jn/shop/" + id,
method: "GET",
});
} }

@ -44,6 +44,7 @@
/* 兼容 iOS < 11.2 */ /* 兼容 iOS < 11.2 */
padding: 20rpx 20rpx calc(20rpx + env(safe-area-inset-bottom)); padding: 20rpx 20rpx calc(20rpx + env(safe-area-inset-bottom));
/* 兼容 iOS >= 11.2 */ /* 兼容 iOS >= 11.2 */
border-top: 1px solid #DCE3EC; border-top: 1px solid #DCE3EC;
z-index: 3;
} }
</style> </style>

@ -1,6 +1,6 @@
// 应用全局配置 // 应用全局配置
module.exports = { module.exports = {
// baseUrl: "http://39.101.188.84:9037", // baseUrl: "http://192.168.0.105:9037",
TEST_LOGIN:"https://t-jn-development-manager.jsszkd.com/login", // ?clientId= TEST_LOGIN:"https://t-jn-development-manager.jsszkd.com/login", // ?clientId=
baseUrl: "https://t-jn-bjh-admin-server.jsszkd.com", baseUrl: "https://t-jn-bjh-admin-server.jsszkd.com",

@ -11,7 +11,7 @@ Vue.use(uView)
// import 'video.js/dist/video-js.css' // import 'video.js/dist/video-js.css'
// Vue.prototype.$video = Videojs // Vue.prototype.$video = Videojs
import 'mui-player/dist/mui-player.min.css' // import 'mui-player/dist/mui-player.min.css'
import fixedButtom from '@/components/fixedButtom/fixedButtom.vue' import fixedButtom from '@/components/fixedButtom/fixedButtom.vue'
Vue.component('fixedButtom', fixedButtom) Vue.component('fixedButtom', fixedButtom)

@ -105,7 +105,7 @@
"subPackages": [ "subPackages": [
{ {
"root": "subcontract/work/", "root": "subcontract/work/",
"pages": [ "pages": [
{ {
"path": "event/index", "path": "event/index",
"style": { "style": {
@ -256,7 +256,15 @@
"navigationBarTitleText": "新增店铺活动", "navigationBarTitleText": "新增店铺活动",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
}, },
{
"path" : "activity/activitydetails",
"style" :
{
"navigationBarTitleText": "活动详情",
"enablePullDownRefresh": false
}
},
{ {
"path": "threeGuarantees/index", "path": "threeGuarantees/index",
"style": { "style": {
@ -298,7 +306,8 @@
"navigationBarTitleText": "消息中心", "navigationBarTitleText": "消息中心",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
} }
] ]
} }
], ],

@ -52,7 +52,7 @@ export default {
return { return {
grids: [ grids: [
{ {
name: "水生态治理科教(公众)", name: "水生态治理科教",
gridImg: "/static/images/umale/gr8.png", gridImg: "/static/images/umale/gr8.png",
color: "#0D306B", color: "#0D306B",
subcolor: "", subcolor: "",
@ -60,7 +60,7 @@ export default {
toPage: "/subPublic/waterEducation/index", toPage: "/subPublic/waterEducation/index",
}, },
{ {
name: "活动管理(商家)", name: "活动管理",
gridImg: "/static/images/umale/gr8.png", gridImg: "/static/images/umale/gr8.png",
color: "#0D306B", color: "#0D306B",
subcolor: "", subcolor: "",
@ -68,7 +68,7 @@ export default {
toPage: "/subEnterprise/activity/activity", toPage: "/subEnterprise/activity/activity",
}, },
{ {
name: "消息中心(商家)", name: "消息中心",
gridImg: "/static/images/umale/gr8.png", gridImg: "/static/images/umale/gr8.png",
color: "#0D306B", color: "#0D306B",
subcolor: "", subcolor: "",
@ -76,7 +76,7 @@ export default {
toPage: "/subEnterprise/msg/index", toPage: "/subEnterprise/msg/index",
}, },
{ {
name: "门前三包服务(商家)", name: "门前三包服务",
gridImg: "/static/images/umale/gr8.png", gridImg: "/static/images/umale/gr8.png",
color: "#0D306B", color: "#0D306B",
subcolor: "", subcolor: "",
@ -84,7 +84,7 @@ export default {
toPage: "/subEnterprise/threeGuarantees/index", toPage: "/subEnterprise/threeGuarantees/index",
}, },
{ {
name: "店铺店招预审(商家)", name: "店牌店招预审",
gridImg: "/static/images/umale/gr8.png", gridImg: "/static/images/umale/gr8.png",
color: "#0D306B", color: "#0D306B",
subcolor: "", subcolor: "",
@ -132,11 +132,11 @@ export default {
onLoad() { onLoad() {
// this.getCircle(); // this.getCircle();
this.getUserLocation(); // this.getUserLocation();
this.times = setInterval(() => { // this.times = setInterval(() => {
console.log("获取用户位置信息"); // console.log("");
this.getUserLocation(); // this.getUserLocation();
}, 10000); // }, 10000);
}, },
mounted() { mounted() {
this.userInfo = uni.getStorageSync("userInfo"); this.userInfo = uni.getStorageSync("userInfo");

@ -35,7 +35,7 @@ export default {
this.webview.overrideUrlLoading({ mode: "reject" }, (e) => { this.webview.overrideUrlLoading({ mode: "reject" }, (e) => {
//,!url,.OK.json //,!url,.OK.json
console.warn("参数为:" + e.url); console.warn("参数为:" + e.url);
// http://39.101.188.84:9999/demo/JiangNingUmale-App/#/?code=ckyb2r&clientId=641775453324&token=pygHmfvDNt4YxbucxXiIm0dN8d0IuLmd
// URL // URL
var url = e.url; var url = e.url;

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

@ -0,0 +1,299 @@
<template>
<view class="app-container">
<u-navbar leftText="返回" title="店铺活动管理" :autoBack="true" :placeholder="true" />
<view class="list-item active view-global" v-for="(item, index) in applyList" :key="index">
<view class="" @click="goactivitydetails(item)">
<view class="item-header" :class="bgmImg(item.activeState)">
<view class="item-header-font" >
{{ item.activeState | activeState }}
</view>
</view>
<view class="item-cell">
<view class="cell-lable">活动名称</view>
<view class="cell-value">{{ item.activeName }}</view>
</view>
<view class="item-cell">
<view class="cell-lable">活动时间</view>
<view class="cell-value">{{ item.activeStart }}{{ item.activeEnd }}</view>
</view>
<view class="item-cell">
<view class="cell-lable">活动内容</view>
<view class="cell-value">{{ item.activeContent }}</view>
</view>
<view class="item-cell" style="align-items: flex-start">
<view class="cell-lable">活动地点</view>
<view class="cell-value">{{ item.activePoint }}</view>
</view>
<!-- <view class="item-cell" style="align-items: flex-start">
<view class="cell-lable">参与条件</view>
<view class="cell-value">{{ item.joinRequire }}</view>
</view> -->
<!-- <view class="item-cell" style="align-items: flex-start">
<view class="cell-lable">活动状态</view>
<view class="cell-value" :style="{ color: activeStateColor(item.activeState) }">
{{ item.activeState | activeState }}
</view>
</view> -->
</view>
<!-- <view class="cell-btn">
<u-button v-show="item.activeState == 2" text="终止活动" size="small"
color="linear-gradient(90deg, #FF4B4B 0%, #FA4D4D 100%)" :custom-style="{
width: '130rpx',
height: '65rpx',
margin: '0',
}" @click="handleUpdate(item)"></u-button>
<u-button v-show="item.activeState == 1" text="取消活动" size="small"
color="linear-gradient(90deg, #F18939 0%, #F6A53C 100%)" :custom-style="{
width: '130rpx',
height: '65rpx',
margin: '0',
}" @click="handleUpdate(item)"></u-button>
</view> -->
</view>
<fixed-buttom title="新增活动" @click="handleAdd()"></fixed-buttom>
</view>
</template>
<script>
import {
listActivity,
updateActivity
} from "../../api/jn/apply";
export default {
data() {
return {
//
form: {},
applyList: [
// {
// activeName: "",
// activeStart: "2024-1-17",
// activeEnd: "2024-1-19",
// activeContent: "",
// activePoint: "",
// joinRequire: "",
// activeState: 1,
// },{
// activeName: "",
// activeStart: "2024-1-17",
// activeEnd: "2024-1-19",
// activeContent: "",
// activePoint: "",
// joinRequire: "",
// activeState: 2,
// },{
// activeName: "",
// activeStart: "2024-1-17",
// activeEnd: "2024-1-19",
// activeContent: "",
// activePoint: "",
// joinRequire: "",
// activeState: 3,
// },
],
//
queryParams: {
pageNum: 1,
pageSize: 10,
activeName: null,
activeStart: null,
activeEnd: null,
activeContent: null,
activePoint: null,
joinRequire: null,
activeState: null,
createId: null,
updateId: null,
gridId: null,
gridName: null,
partId: null,
partName: null,
},
};
},
onLoad() {
this.getList();
},
onShow() {
this.getList();
},
methods: {
getList() {
listActivity(this.queryParams).then((res) => {
console.log(res);
this.applyList = res.rows;
});
},
//
handleAdd() {
uni.$u.route({
url: "/subEnterprise/activity/add",
});
},
//
handleUpdate(item) {
this.reset();
item["activeState"] =
item.activeState == 1 ?
3 :
item.activeState == 2 ?
4 :
item.activeState;
this.form = item;
console.log(this.form);
updateActivity(this.form).then((response) => {
this.$modal.msgSuccess("修改成功");
});
},
activeStateColor: function(value) {
switch (value) {
case "1":
return "#F75D23";
case "2":
return "#32B78B";
case "3":
return "#FF0000";
}
},
bgmImg(value){
switch (value) {
case "1":
return "item-headerorng";
case "2":
return "item-headergreen";
case "3":
return "item-headerred";
}
},
//
goactivitydetails(item) {
uni.navigateTo({
url: `/subEnterprise/activity/activitydetails?item=${JSON.stringify(item)}`,
})
},
//
reset() {
this.form = {
id: null,
activeName: null,
activeStart: null,
activeEnd: null,
activeContent: null,
activePoint: null,
joinRequire: null,
activeState: null,
createId: null,
createBy: null,
createTime: null,
updateId: null,
updateBy: null,
updateTime: null,
remark: null,
gridId: null,
gridName: null,
partId: null,
partName: null,
};
},
},
filters: {
activeState: function(value) {
// console.log(value);
switch (value) {
case "1":
return "审核中";
case "2":
return "审核通过";
case "3":
return "审核驳回";
case" 4":
return "已终止";
case "5":
return "已结束";
default:
return "";
}
},
},
};
</script>
<style lang="scss" scoped>
.app-container {
.list-item {
background-color: #fff;
border-radius: 16rpx;
box-sizing: border-box;
padding: 25rpx;
margin-bottom: 30rpx;
position: relative;
.item-header {
width: 200rpx;
height: 200rpx;
position: absolute;
top: -30rpx;
right: -30rpx;
z-index: 2;
background-size: 100% 100%;
background-repeat: no-repeat;
.item-header-font{
color: #ffffff;
font-size: 25rpx;
transform: translate(25rpx, 60rpx) rotate(45deg);
text-align: center;
}
}
.item-headergreen{
background-image: url("@/static/images/banner/green.png");
}
.item-headerred{
background-image: url("@/static/images/banner/red.png");
}
.item-headerorng{
background-image: url("@/static/images/banner/orng.png");
}
.item-cell {
display: flex;
align-items: center;
margin: 20rpx 0;
.cell-lable {
width: 200rpx;
font-size: 28rpx;
font-weight: 400;
color: #9da2ab;
}
.cell-value {
flex: 1;
font-size: 28rpx;
font-weight: 400;
color: #2e2f31;
}
}
.cell-btn {
display: flex;
flex-direction: row-reverse;
}
&>view:not(.cell-btn) {
margin-bottom: 20rpx;
}
}
&>.list-item:last-child {
margin-bottom: 0;
}
}
</style>

@ -1,241 +1,177 @@
<template> <template>
<view class="app-container"> <view class="app-container">
<u-navbar <u-navbar leftText="返回" title="店铺活动管理" :autoBack="true" :placeholder="true">
leftText="返回" <view slot="right">
title="店铺活动管理" <text class="nav-right"></text>
:autoBack="true" </view>
:placeholder="true" </u-navbar>
/> <view class="list-item">
<view <view class="list-item-title">{{levelList[0].activeName || ""}}</view>
class="list-item active view-global" <view>
v-for="(item, index) in applyList" <view class="Mytitle">
:key="index" </view>
> <view class="mytext">
<view class="item-cell"> {{levelList[0].activeRequest}}
<view class="cell-lable">活动名称</view> </view>
<view class="cell-value">{{ item.activeName }}</view> </view>
</view>
<view class="item-cell">
<view class="cell-lable">活动时间</view> </view>
<view class="cell-value" </view>
>{{ item.activeStart }}{{ item.activeEnd }}</view </template>
>
</view> <script>
<view class="item-cell"> import {
<view class="cell-lable">活动内容</view> listActivity,
<view class="cell-value">{{ item.activeContent }}</view> } from "../../api/jn/apply";
</view> export default {
<view class="item-cell" style="align-items: flex-start"> data() {
<view class="cell-lable">活动地点</view> return {
<view class="cell-value">{{ item.activePoint }}</view> //
</view> form: {},
<view class="item-cell" style="align-items: flex-start"> levelList: [{activeName:"",activeRequest:""}],
<view class="cell-lable">参与条件</view> //
<view class="cell-value">{{ item.joinRequire }}</view> queryParams: {
</view> sbLevelName: null,
<view class="item-cell" style="align-items: flex-start"> pageNum: 1,
<view class="cell-lable">活动状态</view> pageSize: 10,
<view },
class="cell-value" };
:style="{ color: activeStateColor(item.activeState) }" },
> onLoad() {
{{ item.activeState | activeState }} this.getList();
</view> },
</view> methods: {
<view class="cell-btn"> onSearch() {
<u-button this.getList();
v-show="item.activeState == 2" },
text="终止活动" onClear() {
size="small" this.queryParams.sbLevelName = "";
color="linear-gradient(90deg, #FF4B4B 0%, #FA4D4D 100%)" this.getList();
:custom-style="{ },
width: '130rpx', getList() {
height: '65rpx', listActivity(this.queryParams).then((res) => {
margin: '0', console.log(res);
}"
@click="handleUpdate(item)" if(res.rows.length !=0){
></u-button> this.levelList = res.rows;
<u-button
v-show="item.activeState == 1" }else{
text="取消活动" this.levelList = [{activeName:"",activeRequest:""}]
size="small" }
color="linear-gradient(90deg, #F18939 0%, #F6A53C 100%)" });
:custom-style="{ },
width: '130rpx', //
height: '65rpx', reset() {
margin: '0', this.form = {
}" id: null,
@click="handleUpdate(item)" activeName: null,
></u-button> activeStart: null,
</view> activeEnd: null,
</view> activeContent: null,
<fixed-buttom title="新增活动" @click="handleAdd()"></fixed-buttom> activePoint: null,
</view> joinRequire: null,
</template> activeState: null,
createId: null,
<script> createBy: null,
import { listActivity, updateActivity } from "../../api/jn/apply"; createTime: null,
updateId: null,
export default { updateBy: null,
data() { updateTime: null,
return { remark: null,
// gridId: null,
form: {}, gridName: null,
applyList: [], partId: null,
// partName: null,
queryParams: { };
pageNum: 1, },
pageSize: 10, },
activeName: null, };
activeStart: null, </script>
activeEnd: null,
activeContent: null, <style lang="scss" scoped>
activePoint: null, .app-container {
joinRequire: null, .list-item {
activeState: null, background-color: #fff;
createId: null, border-radius: 16rpx;
updateId: null, box-sizing: border-box;
gridId: null, padding: 25rpx;
gridName: null, margin-bottom: 30rpx;
partId: null, margin-top: 30rpx;
partName: null,
},
};
}, .list-item-title {
onLoad() { text-align: center;
this.getList(); border-bottom: 1rpx solid #000000;
}, font-size: 35rpx;
methods: { font-weight: bold;
getList() { }
listActivity(this.queryParams).then((res) => {
console.log(res); .Mytitle {
this.applyList = res.rows; font-size: 30rpx;
}); margin: 20rpx 0;
}, font-weight: 550;
//
handleAdd() { }
uni.$u.route({
url: "/subEnterprise/activity/add", .mytext {
}); line-height: 45rpx;
}, }
//
handleUpdate(item) { .item-cell {
this.reset(); display: flex;
item["activeState"] = align-items: center;
item.activeState == 1
? 3 .cell-lable {
: item.activeState == 2 width: 200rpx;
? 4 font-size: 28rpx;
: item.activeState; font-weight: 400;
this.form = item; color: #9da2ab;
console.log(this.form); }
updateActivity(this.form).then((response) => {
this.$modal.msgSuccess("修改成功"); .cell-value {
}); flex: 1;
}, font-size: 28rpx;
activeStateColor: function (value) { font-weight: 400;
switch (value) { color: #2e2f31;
case 1: }
return "#F75D23"; }
case 2:
return "#32B78B"; .cell-btn {
case 3: display: flex;
return "#000000"; flex-direction: row-reverse;
case 4: }
return "#000000";
case 5: &>view:not(.cell-btn) {
return "#32B78B"; margin-bottom: 20rpx;
default: }
return "#000000"; }
}
}, &>.list-item:last-child {
// margin-bottom: 0;
reset() { }
this.form = {
id: null, }
activeName: null,
activeStart: null, .list-item-box {
activeEnd: null,
activeContent: null, display: flex;
activePoint: null, text-align: center;
joinRequire: null,
activeState: null, .list-item-box-top {
createId: null, font-size: 30rpx;
createBy: null, font-weight: bold;
createTime: null, margin-right: 20rpx;
updateId: null, }
updateBy: null,
updateTime: null, .list-item-box-bottom {
remark: null, font-size: 30rpx;
gridId: null, font-weight: bold;
gridName: null, }
partId: null,
partName: null, .good {
}; color: green;
}, }
}, }
filters: { </style>
activeState: function (value) {
// console.log(value);
switch (value) {
case 1:
return "审核中";
case 2:
return "进行中";
case 3:
return "已取消";
case 4:
return "已终止";
case 5:
return "已结束";
default:
return "";
}
},
},
};
</script>
<style lang="scss" scoped>
.app-container {
.list-item {
background-color: #fff;
border-radius: 16rpx;
box-sizing: border-box;
padding: 25rpx;
margin-bottom: 30rpx;
.item-cell {
display: flex;
align-items: center;
.cell-lable {
width: 200rpx;
font-size: 28rpx;
font-weight: 400;
color: #9da2ab;
}
.cell-value {
flex: 1;
font-size: 28rpx;
font-weight: 400;
color: #2e2f31;
}
}
.cell-btn {
display: flex;
flex-direction: row-reverse;
}
& > view:not(.cell-btn) {
margin-bottom: 20rpx;
}
}
& > .list-item:last-child {
margin-bottom: 0;
}
}
</style>

@ -0,0 +1,129 @@
<template>
<view class="app-container"> class="app-container"
<u-navbar leftText="返回" title="活动详情" :autoBack="true" :placeholder="true" />
<view class="list-item active view-global">
<view class="item-cell">
<view class="cell-lable">活动名称</view>
<view class="cell-value">{{ data.activeName || "-"}}</view>
</view>
<view class="item-cell">
<view class="cell-lable">活动时间</view>
<view class="cell-value">{{ data.activeStart || "-"}}{{data.activeEnd || "-"}}</view>
</view>
<view class="item-cell">
<view class="cell-lable">活动内容</view>
<view class="cell-value">{{ data.activeContent || '-'}}</view>
</view>
<view class="item-cell" style="align-items: flex-start">
<view class="cell-lable">活动地点</view>
<view class="cell-value">{{data.activePoint || '-'}}</view>
</view>
<view class="item-cell" style="align-items: flex-start">
<view class="cell-lable">附件</view>
<view class="cell-value">{{ data.joinRequire || '-'}}</view>
</view>
<view class="item-cell" style="align-items: flex-start">
<view class="cell-lable">审核结果</view>
<view class="cell-value">{{data.activeState | activeState}}</view>
</view>
<view class="item-cell" style="align-items: flex-start">
<view class="cell-lable">审核意见</view>
<view class="cell-value">{{ data.opinion || '-'}}</view>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
onLoad(opiect) {
this.data = JSON.parse(opiect.item)
},
data() {
return {
data: {}
}
},
methods: {
//
previewAll(res) {
}
},
filters: {
activeState: function(value) {
// console.log(value);
switch (value) {
case "1":
return "审核中";
case "2":
return "审核通过";
case "3":
return "审核驳回";
case " 4":
return "已终止";
case "5":
return "已结束";
default:
return "";
}
},
},
}
</script>
<style lang="scss" scoped>
.app-container {
.list-item {
background-color: #fff;
border-radius: 16rpx;
box-sizing: border-box;
padding: 25rpx;
margin-bottom: 30rpx;
.item-cell {
display: flex;
align-items: center;
.cell-lable {
width: 200rpx;
font-size: 28rpx;
font-weight: 400;
color: #9da2ab;
}
.cell-value {
width: 500rpx;
font-size: 28rpx;
font-weight: 400;
color: #2e2f31;
white-space: nowrap;
/* 防止内容换行 */
overflow: hidden;
/* 隐藏超出内容 */
text-overflow: ellipsis;
/* 显示省略号 */
}
}
.cell-btn {
display: flex;
flex-direction: row-reverse;
}
&>view:not(.cell-btn) {
margin-bottom: 20rpx;
}
}
&>.list-item:last-child {
margin-bottom: 0;
}
}
</style>

@ -1,191 +1,265 @@
<template> <template>
<view class="app-container"> <view class="app-container">
<u-navbar <u-navbar leftText="返回" title="新增店铺活动" :autoBack="true" :placeholder="true" />
leftText="返回" <view class="form-item">
title="新增店铺活动" <view class="form-title">
:autoBack="true" 活动名称
:placeholder="true" <text></text>
/> </view>
<view class="form-item"> <view class="item-input view-global">
<view class="form-title"> <u--input placeholder="请输入名称" border="none" :customStyle="{ height: '45rpx' }"
活动名称 v-model="form.activeName"></u--input>
<text></text> </view>
</view> </view>
<view class="item-input view-global"> <view class="form-item">
<u--input <view class="form-title">
placeholder="请输入名称" 活动时间
border="none" <text></text>
:customStyle="{ height: '45rpx' }" </view>
v-model="form.activeName" <view class="item-input view-global" style="
></u--input> display: flex;
</view> align-items: center;
</view> justify-content: space-between;
<view class="form-item"> " @click="isCalendar = true">
<view class="form-title"> <text :style="'color:' + fColor(calendarRang)">{{
活动时间 calendarRang || "请选择日期"
<text></text> }}</text>
</view> <u-icon name="arrow-right" color="#D5D5D5"></u-icon>
<view </view>
class="item-input view-global" </view>
style=" <view class="form-item">
display: flex; <view class="form-title">
align-items: center; 活动描述
justify-content: space-between; <text></text>
" </view>
@click="isCalendar = true" <view class="item-input view-global">
> <u--textarea v-model="form.activeContent" placeholder="请输入内容" border="none"></u--textarea>
<text :style="'color:' + fColor(calendarRang)">{{ </view>
calendarRang || "请选择日期" </view>
}}</text> <view class="form-item">
<u-icon name="arrow-right" color="#D5D5D5"></u-icon> <view class="form-title">
</view> 活动地点
</view> <text></text>
<view class="form-item"> </view>
<view class="form-title"> <view class="item-input view-global">
活动内容 <u--input placeholder="请输入活动地点" border="none" :customStyle="{ height: '45rpx' }"
<text></text> v-model="form.activePoint"></u--input>
</view> </view>
<view class="item-input view-global"> </view>
<u--textarea <!-- <view class="form-item">
v-model="form.activeContent" <view class="form-title">
placeholder="请输入内容" 参与条件
border="none" <text></text>
></u--textarea> </view>
</view> <view class="item-input view-global">
</view> <u--textarea v-model="form.joinRequire" placeholder="请输入内容" border="none"></u--textarea>
<view class="form-item"> </view>
<view class="form-title"> </view> -->
活动地点 <view class="form-item">
<text></text> <view class="form-title">
</view> 上传附件
<view class="item-input view-global"> <text></text>
<u--input </view>
placeholder="请输入活动地点" <view class="item-input view-global">
border="none" <view class="" @click="openFile" v-show="!fileName">
:customStyle="{ height: '45rpx' }" 点击上传
v-model="form.activePoint" </view>
></u--input> <view class="view-globalFell" v-show="fileName">
</view> <view class="fileName">
</view> {{fileName}}
<view class="form-item"> </view>
<view class="form-title"> <view class="fileNamedelet" @click="fileName = ''">
参与条件 删除
<text></text> </view>
</view> </view>
<view class="item-input view-global"> </view>
<u--textarea </view>
v-model="form.joinRequire" <fixed-buttom title="提交" @click="handleAdd"></fixed-buttom>
placeholder="请输入内容"
border="none" <!-- 日历 -->
></u--textarea> <u-calendar :show="isCalendar" :mode="mode" @confirm="onCalendar" @close="onCloseCalendar"></u-calendar>
</view> </view>
</view> </template>
<fixed-buttom title="提交" @click="handleAdd"></fixed-buttom>
<script>
<!-- 日历 --> import {
<u-calendar addActivity
:show="isCalendar" } from "../../api/jn/apply";
:mode="mode"
@confirm="onCalendar" export default {
@close="onCloseCalendar" data() {
></u-calendar> return {
</view> form: {},
</template> fileName: "",
isCalendar: false,
<script> calendarRang: "",
import { addActivity } from "../../api/jn/apply"; mode: "range",
fileWhiteList: ['txt', 'doc', 'docx', 'xls', 'xlsx', 'pdf', ]
export default { };
data() { },
return { onLoad() {
form: {}, this.reset();
isCalendar: false, },
calendarRang: "", methods: {
mode: "range", //
}; reset() {
}, this.form = {
onLoad() { id: null,
this.reset(); activeName: null,
}, activeStart: null,
methods: { activeEnd: null,
// activeContent: null,
reset() { activePoint: null,
this.form = { joinRequire: null,
id: null, activeState: 1,
activeName: null, createId: null,
activeStart: null, createBy: null,
activeEnd: null, createTime: null,
activeContent: null, updateId: null,
activePoint: null, updateBy: null,
joinRequire: null, updateTime: null,
activeState: 1, remark: null,
createId: null, gridId: null,
createBy: null, gridName: null,
createTime: null, partId: null,
updateId: null, partName: null,
updateBy: null, };
updateTime: null, },
remark: null, onCloseCalendar() {
gridId: null, this.isCalendar = false;
gridName: null, },
partId: null, onCalendar(e) {
partName: null, console.log(e);
}; this.calendarRang = `${e[0]}——${e[e.length - 1]}`;
}, this.form.activeStart = e[0];
onCloseCalendar() { this.form.activeEnd = e[e.length - 1];
this.isCalendar = false; this.isCalendar = false;
}, },
onCalendar(e) { handleAdd() {
console.log(e); console.log(this.form);
this.calendarRang = `${e[0]}——${e[e.length - 1]}`; addActivity(this.form).then((response) => {
this.form.activeStart = e[0]; uni.navigateBack({
this.form.activeEnd = e[e.length - 1]; delta: 1,
this.isCalendar = false; });
}, });
handleAdd() { },
console.log(this.form); fColor(calendarRang) {
addActivity(this.form).then((response) => { return calendarRang ? "#2e2f31" : "#c0c4cc";
uni.navigateBack({ },
delta: 1, //2
}); //
}); openFile() {
}, uni.chooseFile({
fColor(calendarRang) { count: 1, //100
return calendarRang ? "#2e2f31" : "#c0c4cc"; extension: ['.zip', '.doc', '.xls', '.pdf', 'docx', '.rar', '.7z', '.jpg', '.png', '.jpeg'],
}, success: (res) => {
}, console.log(res);
}; if (res.tempFiles[0].size / 1024 / 1024 > 20) {
</script> this.$refs.uToast.show({
title: '附件大小不能超过20M',
<style lang="scss" scoped> type: 'warning',
.form-item { })
.form-title { return;
position: relative; }
font-size: 30rpx; this.resultPath(res.tempFilePaths[0], res.tempFiles[0].name);
font-weight: bold; }
color: #2e2f31; });
margin-bottom: 20rpx; },
} //
resultPath(path, fileName) {
.form-title text { console.log(path)
content: ""; console.log(fileName)
position: absolute; uni.showLoading({
left: 0; title: '上传中...',
bottom: 0; });
height: 12rpx; uni.uploadFile({
width: 140rpx; url: "https://t-jn-bjh-admin-server.jsszkd.com/common/upload",
background: url("/static/images/juxing.png"); filePath: path,
background-size: cover; header: {
max-width: 300rpx; // "Authorization": "xxx",
z-index: 0; // 'content-type':'multipart/form-data; boundary=----WebKitFormBoundaryHEdN1AIjcdUkAaXM',
} },
formData: {
.item-input { // 'user': 'test'
margin-bottom: 30rpx; },
border-radius: 16rpx; success: (uploadFileRes) => {
background-color: #fff; let obj = JSON.parse(uploadFileRes.data);
box-sizing: border-box; console.log(obj);
padding: 25rpx; this.fileName = obj.originalFilename
} this.form.joinRequire = obj.url
} uni.showToast({
</style> title: obj.msg,
icon: 'none',
duration: 1500
})
},
fail: (err) => {
this.$refs.uToast.show({
title: '上传失败',
type: 'error',
});
uni.hideLoading();
}
});
},
},
};
</script>
<style lang="scss" scoped>
.form-item {
.form-title {
position: relative;
font-size: 30rpx;
font-weight: bold;
color: #2e2f31;
margin-bottom: 20rpx;
}
.form-title text {
content: "";
position: absolute;
left: 0;
bottom: 0;
height: 12rpx;
width: 140rpx;
background: url("/static/images/juxing.png");
background-size: cover;
max-width: 300rpx;
z-index: 0;
}
.item-input {
margin-bottom: 30rpx;
border-radius: 16rpx;
background-color: #fff;
box-sizing: border-box;
padding: 25rpx;
}
.view-globalFell {
display: flex;
align-items: center;
.fileName {
max-width: 400rpx;
white-space: nowrap;
/* 不换行 */
overflow: hidden;
/* 溢出部分隐藏 */
text-overflow: ellipsis;
/* 显示省略号 */
margin-right: 30rpx;
}
.fileNamedelet {
width: 100rpx;
color: red;
}
}
}
</style>

@ -0,0 +1,191 @@
<template>
<view class="app-container">
<u-navbar
leftText="返回"
title="新增店铺活动"
:autoBack="true"
:placeholder="true"
/>
<view class="form-item">
<view class="form-title">
活动名称
<text></text>
</view>
<view class="item-input view-global">
<u--input
placeholder="请输入名称"
border="none"
:customStyle="{ height: '45rpx' }"
v-model="form.activeName"
></u--input>
</view>
</view>
<view class="form-item">
<view class="form-title">
活动时间
<text></text>
</view>
<view
class="item-input view-global"
style="
display: flex;
align-items: center;
justify-content: space-between;
"
@click="isCalendar = true"
>
<text :style="'color:' + fColor(calendarRang)">{{
calendarRang || "请选择日期"
}}</text>
<u-icon name="arrow-right" color="#D5D5D5"></u-icon>
</view>
</view>
<view class="form-item">
<view class="form-title">
活动内容
<text></text>
</view>
<view class="item-input view-global">
<u--textarea
v-model="form.activeContent"
placeholder="请输入内容"
border="none"
></u--textarea>
</view>
</view>
<view class="form-item">
<view class="form-title">
活动地点
<text></text>
</view>
<view class="item-input view-global">
<u--input
placeholder="请输入活动地点"
border="none"
:customStyle="{ height: '45rpx' }"
v-model="form.activePoint"
></u--input>
</view>
</view>
<view class="form-item">
<view class="form-title">
参与条件
<text></text>
</view>
<view class="item-input view-global">
<u--textarea
v-model="form.joinRequire"
placeholder="请输入内容"
border="none"
></u--textarea>
</view>
</view>
<fixed-buttom title="提交" @click="handleAdd"></fixed-buttom>
<!-- 日历 -->
<u-calendar
:show="isCalendar"
:mode="mode"
@confirm="onCalendar"
@close="onCloseCalendar"
></u-calendar>
</view>
</template>
<script>
import { addActivity } from "../../api/jn/apply";
export default {
data() {
return {
form: {},
isCalendar: false,
calendarRang: "",
mode: "range",
};
},
onLoad() {
this.reset();
},
methods: {
//
reset() {
this.form = {
id: null,
activeName: null,
activeStart: null,
activeEnd: null,
activeContent: null,
activePoint: null,
joinRequire: null,
activeState: 1,
createId: null,
createBy: null,
createTime: null,
updateId: null,
updateBy: null,
updateTime: null,
remark: null,
gridId: null,
gridName: null,
partId: null,
partName: null,
};
},
onCloseCalendar() {
this.isCalendar = false;
},
onCalendar(e) {
console.log(e);
this.calendarRang = `${e[0]}——${e[e.length - 1]}`;
this.form.activeStart = e[0];
this.form.activeEnd = e[e.length - 1];
this.isCalendar = false;
},
handleAdd() {
console.log(this.form);
addActivity(this.form).then((response) => {
uni.navigateBack({
delta: 1,
});
});
},
fColor(calendarRang) {
return calendarRang ? "#2e2f31" : "#c0c4cc";
},
},
};
</script>
<style lang="scss" scoped>
.form-item {
.form-title {
position: relative;
font-size: 30rpx;
font-weight: bold;
color: #2e2f31;
margin-bottom: 20rpx;
}
.form-title text {
content: "";
position: absolute;
left: 0;
bottom: 0;
height: 12rpx;
width: 140rpx;
background: url("/static/images/juxing.png");
background-size: cover;
max-width: 300rpx;
z-index: 0;
}
.item-input {
margin-bottom: 30rpx;
border-radius: 16rpx;
background-color: #fff;
box-sizing: border-box;
padding: 25rpx;
}
}
</style>

@ -1,142 +1,245 @@
<template> <template>
<view class="app-container"> <view class="app-container">
<u-navbar <u-navbar leftText="返回" title="店牌店招预审" :autoBack="true" :placeholder="true">
leftText="返回" <view slot="right">
title="店铺店招预审" <text class="nav-right"></text>
:autoBack="true" </view>
:placeholder="true" </u-navbar>
> <view class="list-item">
<view slot="right"> <view class="list-item-title">{{levelList[0].name || ""}}</view>
<text class="nav-right"></text> <view>
</view> <view class="mytext">
</u-navbar> {{levelList[0].msg || ""}}
<view class="list-item"> </view>
<view>江宁开发区店招店牌申报流程</view> <!-- <view class="Mytitle">
<view> 所需材料
所需材料 </view>
1.实景效果图A4纸全页近景1份远景2份包含白天和夜晚店招亮化远景实景效果图 <view class="mytext">
要点照片要求横向拍摄原图制作彩色打印 1.实景效果图A4纸全页近景1份远景2份包含白天和夜晚店招亮化远景实景效果图<br />
2.房屋租赁合同复印件房屋产权证复印件营业执照副本复印件 要点照片要求横向拍摄原图制作彩色打印<br />
3.法人身份证复印件或经办人身份证复印件(经办人办理需法人开具委托书 2.房屋租赁合同复印件房屋产权证复印件营业执照副本复印件<br />
4.施工说明 3.法人身份证复印件或经办人身份证复印件(经办人办理需法人开具委托书<br />
要点用文字描述设置所使用的材质总体长度宽度厚度字体及英文长数量LOGO长宽等 4.施工说明<br />
5.加盟协议授权书商标注册证涉及注册商标需提供 要点用文字描述设置所使用的材质总体长度宽度厚度字体及英文长数量LOGO长宽等<br />
6.安全检测报告涉及墙体广告字LED显示屏 5.加盟协议授权书商标注册证涉及注册商标需提供<br />
7.洗衣店宠物店等需办理排水证 6.安全检测报告涉及墙体广告字LED显示屏<br />
8.涉及舞台活动搭建需提供舞台搭建资质舞台结构图专家论证方案如涉及外来人员参与表演需到区防疫指挥中心进行报备 7.洗衣店宠物店等需办理排水证<br />
注意事项 8.涉及舞台活动搭建需提供舞台搭建资质舞台结构图专家论证方案如涉及外来人员参与表演需到区防疫指挥中心进行报备<br />
1.店招店牌设置地址必须与营业执照地址相符合 </view>
2.店招店牌不宜使用泡沫即时贴扣板等材料制作店招店牌主要街路窗口地区按总体规划不得使用灯箱布和喷绘布等材料设置店招广告一般为铝塑底板亚克力字 <view class="Mytitle">
3.店招店牌内容仅限于本单位的名称字号标识禁止出现商品营销经营服务范围电话号码变相发布广告等不符合规定的内容 注意事项
4.店招店牌字体大小应与店招广告尺寸相协调 </view>
5.店招店牌效果图必须为实景拍摄门面整体轮廓真实准确反映现场所设置位置电脑准确制作设置画面要求画面清晰店面环境整洁无乱堆放晾晒张贴等位置准确 <view class="mytext">
6.完全检测报告需在安装完成后一个月内送至我局备案 1.店招店牌设置地址必须与营业执照地址相符合<br />
7.经批准后安装店招店牌的应设置围挡及警示标志做到安全施工文明施工 2.店招店牌不宜使用泡沫即时贴扣板等材料制作店招店牌主要街路窗口地区按总体规划不得使用灯箱布和喷绘布等材料设置店招广告一般为铝塑底板亚克力字<br />
8.案件办理时间为上午8301200 下午200600 3.店招店牌内容仅限于本单位的名称字号标识禁止出现商品营销经营服务范围电话号码变相发布广告等不符合规定的内容<br />
联系方式 4.店招店牌字体大小应与店招广告尺寸相协调<br />
邮箱280754057@qq.com 电话18151671177 5.店招店牌效果图必须为实景拍摄门面整体轮廓真实准确反映现场所设置位置电脑准确制作设置画面要求画面清晰店面环境整洁无乱堆放晾晒张贴等位置准确<br />
店招店牌备案需要一定的时间请耐心等待没有收到前来办理的通知前请勿制作以及安装如在备案过程当中进行制作及安装所造成的一切后果由其自行承担 6.完全检测报告需在安装完成后一个月内送至我局备案<br />
</view> 7.经批准后安装店招店牌的应设置围挡及警示标志做到安全施工文明施工<br />
</view> 8.案件办理时间为上午8301200 下午200600<br />
</view> </view>
</template> <view class="Mytitle">
联系方式
<script> </view>
<view class="mytext">
export default { 邮箱280754057@qq.com <br />
data() { 电话18151671177 <br />
return { 店招店牌备案需要一定的时间请耐心等待没有收到前来办理的通知前请勿制作以及安装如在备案过程当中进行制作及安装所造成的一切后果由其自行承担<br />
// </view>
form: {}, </view>
levelList: [], <view class="Mytitle">
// 受理材料:
queryParams: { </view>
sbLevelName: null, <view class="mytext">
}, 受理材料如下<br />
}; 1.店招店牌设置申请表<br />
}, 2.实景效果图A4纸彩色全页近景远景各一份<br />
onLoad() { 3.营业执照或者其他证明主体资格合法有效的文件复印件一份<br />
this.getList(); 4.房屋租赁合同A4纸复印件和房屋产权证A4纸复印件<br />
}, 5.施工说明用文字描述设置所使用的材质总体长度宽度厚度字体及英文长数量LOGO长宽等<br />
methods: { 6.提供商标注册证版权证著作证加盟协议或名称使用授权书复印件涉及商标版权著作权<br />
onSearch() { 7.法人身份证复印件或经办人身份证复印件经办人办理需法人或公司开具委托书<br />
this.getList(); 8.店招店牌承诺书
}, </view>
onClear() { <view class="Mytitle">
this.queryParams.sbLevelName = ""; 注意事项:
this.getList(); </view>
}, <view class="mytext">
getList() { 注意事项如下<br />
1.店招标牌设置地址必须与营业执照地址相符合<br />
}, 2.店招标牌设置名称必须与营业执照名称相符合加盟除外<br />
// 3.店招标牌效果图必须为实景拍摄房屋整体轮廓真实准确反映现场所设置位置电脑准确制作设置画面要求画面清晰店面环境整洁位置准确实景效果图需将相邻两家全部反映出来<br />
reset() { 4.其他广告效果图必须能够准确体现设置位置要求画面清晰<br />
this.form = { 5.设置与申报效果图保持一致<br />
id: null, 6.履行门前三包责任<br />
activeName: null, 7.符合开发区商铺经营门类<br />
activeStart: null, 8.依法合法经营严格按照市场监督局核准的经营范围经营<br />
activeEnd: null, </view>
activeContent: null, <view class="Mytitle">
activePoint: null, 支撑文件:
joinRequire: null, </view>
activeState: null, <view class="mytext">
createId: null, 1.南京市店招店牌设置准则<br />
createBy: null, 2.南京市店招标牌设置管理办法<br />
createTime: null, 3南京市店招店牌设置导则<br />
updateId: null, 4.江苏省广告管理条例<br />
updateBy: null, 5.城市市容和环境卫生管理条例<br />
updateTime: null, 6.南京市江宁区人民政府办公室文件江宁政办发[2013]56关于全区核心城区商业业态控制调整工作的实施方案<br />
remark: null, 7.南京江宁经济技术开发区管理委员会宁经管委发[2005]284关于对开发区胜太路等主要街道商业经营门类进行规范管理的通知<br />
gridId: null, 8.南京江宁经济技术开发区管理委员会宁经管委发[2008]283关于新增庄排路等街区实行商业经营门类规范管理的通知<br />
gridName: null, </view> -->
partId: null, </view>
partName: null, <view class="myimg">
}; <!-- <img src="../../static/images/banner/liucheng.png" alt="" /> -->
}, <img :src="baseUrl + levelList[0].img" alt="" />
}, </view>
};
</script> </view>
</view>
<style lang="scss" scoped> </template>
.app-container {
.list-item { <script>
background-color: #fff; import {
border-radius: 16rpx; listysfwlist,
box-sizing: border-box; } from "../../api/jn/apply";
padding: 25rpx; import config from '@/config'
margin-bottom: 30rpx; export default {
margin-top: 30rpx; data() {
.item-cell { return {
display: flex; //
align-items: center; form: {},
baseUrl:config.baseUrl,
.cell-lable { levelList: [{
width: 200rpx; name: "",
font-size: 28rpx; msg: "",
font-weight: 400; img: ""
color: #9da2ab; }],
} //
queryParams: {
.cell-value { pageNum: 1,
flex: 1; pageSize: 10,
font-size: 28rpx; },
font-weight: 400; };
color: #2e2f31; },
} onLoad() {
} this.getList();
},
.cell-btn { methods: {
display: flex; onSearch() {
flex-direction: row-reverse; this.getList();
} },
onClear() {
& > view:not(.cell-btn) { this.queryParams.sbLevelName = "";
margin-bottom: 20rpx; this.getList();
} },
} getList() {
listysfwlist(this.queryParams).then((res) => {
& > .list-item:last-child { console.log(res);
margin-bottom: 0;
} if (res.rows.length != 0) {
} this.levelList = res.rows;
</style>
} else {
this.levelList = [{
name: "",
msg: "",
img: ""
}]
}
});
},
//
reset() {
this.form = {
id: null,
activeName: null,
activeStart: null,
activeEnd: null,
activeContent: null,
activePoint: null,
joinRequire: null,
activeState: null,
createId: null,
createBy: null,
createTime: null,
updateId: null,
updateBy: null,
updateTime: null,
remark: null,
gridId: null,
gridName: null,
partId: null,
partName: null,
};
},
},
};
</script>
<style lang="scss" scoped>
.app-container {
.list-item {
background-color: #fff;
border-radius: 16rpx;
box-sizing: border-box;
padding: 25rpx;
margin-bottom: 30rpx;
margin-top: 30rpx;
.list-item-title {
text-align: center;
border-bottom: 1rpx solid #000000;
font-size: 35rpx;
font-weight: bold;
}
.Mytitle {
font-size: 30rpx;
margin: 20rpx 0;
font-weight: 550;
}
.mytext {
line-height: 45rpx;
}
.myimg {
text-align: center;
}
.item-cell {
display: flex;
align-items: center;
.cell-lable {
width: 200rpx;
font-size: 28rpx;
font-weight: 400;
color: #9da2ab;
}
.cell-value {
flex: 1;
font-size: 28rpx;
font-weight: 400;
color: #2e2f31;
}
}
.cell-btn {
display: flex;
flex-direction: row-reverse;
}
&>view:not(.cell-btn) {
margin-bottom: 20rpx;
}
}
&>.list-item:last-child {
margin-bottom: 0;
}
}
</style>

@ -1,155 +1,236 @@
<template> <template>
<view class="app-container"> <view class="app-container">
<u-navbar <u-navbar leftText="返回" title="门前三包服务" :autoBack="true" :placeholder="true">
leftText="返回" <view slot="right">
title="门前三包服务" <text class="nav-right"></text>
:autoBack="true" </view>
:placeholder="true" </u-navbar>
> <view class="list-item">
<view slot="right"> <view class="list-item-box">
<text class="nav-right">评级规则</text> <view class="list-item-box-top">
</view> 店铺名称:
</u-navbar> </view>
<u-search <view class="list-item-box-bottom">
height="75rpx" {{titleObj.shopName || '优秀店铺'}}
placeholder="搜索关键词" </view>
v-model="queryParams.sbLevelName" </view>
shape="square" <view class="list-item-box">
:showAction="false" <view class="list-item-box-top">
:clearabled="true" 三包等级:
class="view-global" </view>
bgColor="#fff" <view class="list-item-box-bottom " :class="titleObj.sbLevel==3?'red':titleObj.sbLevel==4?'yellow':titleObj.sbLevel==5?'good':''">
@search="onSearch" <!-- 3 4 5绿 -->
@clear="onClear" {{titleObj.sbLevel==3?'红牌':titleObj.sbLevel==4?'黄牌':titleObj.sbLevel==5?'绿牌':'暂无'}}
></u-search> </view>
<view </view>
class="list-item active view-global" </view>
v-for="(item, index) in levelList" <view class="list-item">
:key="index" <view class="list-item-title">{{levelList[0].rateRuleName || ''}}</view>
> <view>
<view>
<image <view class="Mytitle">
width="100%"
src="/static/images/umale/sanbao.png" </view>
mode="scaleToFill" <view class="mytext">
/> {{levelList[0].rateRuleContent || ""}}
</view> </view>
<view class="item-cell">
<view class="cell-lable">店铺名称</view> </view>
<view class="cell-value">{{ item.sbLevelName }}</view>
</view>
<view class="item-cell"> </view>
<view class="cell-lable">三包等级</view> </view>
<view class="cell-value">{{ item.relationRateRule }}</view> </template>
</view>
<view class="item-cell"> <script>
<view class="cell-lable">有效期</view> import {
<view class="cell-value">{{ item.createTime }}</view> listraterule,
</view> jnshop
</view> } from "../../api/jn/apply";
</view> export default {
</template> data() {
return {
<script> //
import { listLevel } from "../../api/jn/level"; form: {},
levelList: [{
export default { rateRuleName: "",
data() { rateRuleContent: ""
return { }],
// //
form: {}, queryParams: {
levelList: [], sbLevelName: null,
// pageNum: 1,
queryParams: { pageSize: 10,
sbLevelName: null, },
}, titleObj:{
}; sbLevel:"",
}, shopName:""
onLoad() { }
this.getList(); };
}, },
methods: { onLoad() {
onSearch() { this.getList();
this.getList(); this.getXinxi();
}, },
onClear() { methods: {
this.queryParams.sbLevelName = ""; getXinxi() {
this.getList(); const launchOptions = uni.getLaunchOptionsSync();
}, const {
getList() { query
listLevel(this.queryParams).then((res) => { } = launchOptions;
// console.log(res); console.log(query, "query");
this.levelList = res.rows; console.log(Object.keys(query).length,"query.lengh");
}); if(Object.keys(query).length!=0){
}, // 3 4 5绿 sbLevel shopName
// jnshop(query.storeId).then((item)=>{
reset() { console.log(item);
this.form = { if(item.code == 200 && item.data){
id: null, this.titleObj.sbLevel = item.data.sbLevel
activeName: null, this.titleObj.shopName = item.data.shopName
activeStart: null, }else{
activeEnd: null,
activeContent: null, }
activePoint: null, })
joinRequire: null, }
activeState: null, },
createId: null, onSearch() {
createBy: null, this.getList();
createTime: null, },
updateId: null, onClear() {
updateBy: null, this.queryParams.sbLevelName = "";
updateTime: null, this.getList();
remark: null, },
gridId: null, getList() {
gridName: null, listraterule(this.queryParams).then((res) => {
partId: null, console.log(res);
partName: null, if (res.rows.length != 0) {
}; this.levelList = res.rows;
},
}, } else {
}; this.levelList = [{
</script> rateRuleName: "",
rateRuleContent: ""
<style lang="scss" scoped> }]
.app-container { }
.list-item { });
background-color: #fff; },
border-radius: 16rpx; //
box-sizing: border-box; reset() {
padding: 25rpx; this.form = {
margin-bottom: 30rpx; id: null,
margin-top: 30rpx; activeName: null,
.item-cell { activeStart: null,
display: flex; activeEnd: null,
align-items: center; activeContent: null,
activePoint: null,
.cell-lable { joinRequire: null,
width: 200rpx; activeState: null,
font-size: 28rpx; createId: null,
font-weight: 400; createBy: null,
color: #9da2ab; createTime: null,
} updateId: null,
updateBy: null,
.cell-value { updateTime: null,
flex: 1; remark: null,
font-size: 28rpx; gridId: null,
font-weight: 400; gridName: null,
color: #2e2f31; partId: null,
} partName: null,
} };
},
.cell-btn { },
display: flex; };
flex-direction: row-reverse; </script>
}
<style lang="scss" scoped>
& > view:not(.cell-btn) { .app-container {
margin-bottom: 20rpx; .list-item {
} background-color: #fff;
} border-radius: 16rpx;
box-sizing: border-box;
& > .list-item:last-child { padding: 25rpx;
margin-bottom: 0; margin-bottom: 30rpx;
} margin-top: 30rpx;
}
</style>
.list-item-title {
text-align: center;
border-bottom: 1rpx solid #000000;
font-size: 35rpx;
font-weight: bold;
}
.Mytitle {
font-size: 30rpx;
margin: 20rpx 0;
font-weight: 550;
}
.mytext {
line-height: 45rpx;
}
.item-cell {
display: flex;
align-items: center;
.cell-lable {
width: 200rpx;
font-size: 28rpx;
font-weight: 400;
color: #9da2ab;
}
.cell-value {
flex: 1;
font-size: 28rpx;
font-weight: 400;
color: #2e2f31;
}
}
.cell-btn {
display: flex;
flex-direction: row-reverse;
}
&>view:not(.cell-btn) {
margin-bottom: 20rpx;
}
}
&>.list-item:last-child {
margin-bottom: 0;
}
}
.list-item-box {
display: flex;
text-align: center;
.list-item-box-top {
font-size: 30rpx;
font-weight: bold;
margin-right: 20rpx;
}
.list-item-box-bottom {
font-size: 30rpx;
font-weight: bold;
}
.good {
color: green;
}
.red {
color: red;
}
.yellow{
color: yellowgreen;
}
}
</style>

@ -3,7 +3,7 @@ function scroll(event, ownerInstance) {
var detail = event.detail var detail = event.detail
var scrollWidth = detail.scrollWidth var scrollWidth = detail.scrollWidth
var scrollLeft = detail.scrollLeft var scrollLeft = detail.scrollLeft
// 获取当前组件的dataset说白了就是祸国殃民的腾xun搞出来的垃ji // 获取当前组件的dataset说白了就是搞出来的垃ji
var dataset = event.currentTarget.dataset var dataset = event.currentTarget.dataset
// 此为scroll-view外部包裹元素的宽度 // 此为scroll-view外部包裹元素的宽度
// 某些HX版本(3.1.18)发现view元素中大写的data-scrollWidth在wxs中变成了全部小写所以这里需要特别处理 // 某些HX版本(3.1.18)发现view元素中大写的data-scrollWidth在wxs中变成了全部小写所以这里需要特别处理

Loading…
Cancel
Save