123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864 |
- <template>
- <view class="content">
- <view class="box-pack-between ft32 item flex-y-center flex-grow-1" style="margin: 0;">
- <text>模式设置</text>
- <view class="ft24 item-off flex">
- <view class="flex-grow-1 flex-center" @click="bindcheck(item.type)" :data-index="index" v-for="(item,index) of switch_list"
- :key="index" :class="item.type==moshi?'act':''">{{item.name}}</view>
- </view>
- </view>
- <block v-if="moshi==2">
- <view class="box-pack-between ft32 item flex-y-center flex-grow-1" style="margin: 0;">
- <text>展示方式</text>
- <view class="ft24 item-off flex">
- <view class="flex-grow-1 flex-center" @click="bindtime(item.type)" :data-index="index" v-for="(item,index) of switch_time"
- :key="index" :class="item.type==moshi_type?'act':''">{{item.name}}</view>
- </view>
- </view>
- <view class="item" v-if="moshi_type==1&&list_way.length>0">
- <view class="por list_way-item" v-if="item.name&&item.checked" v-for="(item,index) of list_way" :key='index'>
- <view class="flex-y-center">
- <image class="list_way-item-del" @click="delScene(index)" src="../../static/images/del.png"></image>
- <text class="">{{item.name}}</text>
- </view>
- </view>
- </view>
- <view class="item-bg" v-if="moshi_type==2">
- <view class="mgr57">
- <view class="box-pack-between" @click="getll">
- <text class="item-bg-32">默认流量池</text>
- <text class="iconfont icon-prev"></text>
- </view>
- <view style="margin-top: 20rpx;">
- <view class="por list_way-item" style="background: #FFFFFF;" v-if="item.name&&item.checked" v-for="(item,index) of list_way"
- :key='index'>
- <view class="flex-y-center">
- <image class="list_way-item-del" @click="delScene(index)" :data-index='index' src="../../static/images/del.png"></image>
- <text class="">{{item.name}}</text>
- </view>
- </view>
- </view>
- </view>
- <view class="mgr40">
- <view class="item-bg-32 box-pack-between" style="padding-bottom: 20rpx;">
- <text>优先级</text>
- <text class="enit" @click="enit" v-if="rule_val.length>0">重新编辑</text>
- </view>
- <view v-if="rule_val.length>0" class="main-home">
- <view class="main-home-deta" v-for="(item,index) of rule_val" :key='index'>
- <view class="box-pack-between">
- <text class="text-1 wd80px">{{item.type==2?'周':item.type==3?'月':'天'}}</text>
- <view class="text-1 wd180px"> {{item.type==1?item.val_name:item.val}}</view>
- <view class="text-1 wd200px">{{item.powerpool_name}}</view>
- </view>
- </view>
- </view>
- <block v-else>
- <dragSort :list="deta" :props="props" @bindlabel="bindTimeChange" @change="onDragSortChange"></dragSort>
- </block>
- </view>
- <view class="main-home" v-if="deta_index=='天'">
- <view class="main-home-deta" v-for="(item,index) of arr_time" :key='index'>
- <view class="box-pack-between">
- <text>{{item.time_name}}</text>
- <text @click="addfn">{{item.fnname}}</text>
- <image class="del" @click="del(index)" :data-title="item" src="../../static/images/del.png" mode=""></image>
- </view>
- </view>
- <view class="ft26 flex-center" @click="addtime">
- <view class="main-item">+添加时间 </view>
- </view>
- </view>
- <view class="main-home" v-if="deta_index=='周'">
- <view class="main-home-deta" v-for="(item,index) of week" :key='index'>
- <view class="box-pack-between">
- <text>{{item.week_name}}</text>
- <text @click="addfn">{{item.fnname}}</text>
- <image class="del" @click="del(index)" :data-title="item" src="../../static/images/del.png" mode=""></image>
- </view>
- </view>
- <view class="ft26 flex-center" @click="addtime">
- <view class="main-item">+添加星期</view>
- </view>
- </view>
- <view class="main-home" v-if="deta_index=='月'">
- <view class="main-home-deta" v-for="(item,index) of month" :key='index'>
- <view class="box-pack-between">
- <text>{{item.month_name}}</text>
- <text @click="addfn">{{item.fnname}}</text>
- <image class="del" @click="del(index)" :data-title="item" src="../../static/images/del.png" mode=""></image>
- </view>
- </view>
- <view class="ft26 flex-center" @click="addtime">
- <view class="main-item">+添加日期 </view>
- </view>
- </view>
- </view>
- </block>
- <!-- 授权 -->
- <zx-uni-popup ref="popup" type="bottom">
- <view class="shoot">
- <view class="flex shoot-header box-pack-between">
- <text class="" @click="cancel">取消</text>
- <text class="confirm" @click="confirm">确认</text>
- </view>
- <view class="flex">
- <block v-if="deta_index=='天'">
- <scroll-view scroll-y class="flex-grow-1 hg400">
- <view class="header-item flex-center" :class="act_index1==index?'act':''" @click="choise1" :data-title="item"
- :data-index="index" :key="index" v-for="(item,index) of time_list1">
- {{item}}
- </view>
- </scroll-view>
- <scroll-view scroll-y class="flex-grow-1 hg400">
- <view class="header-item flex-center" @click="choise2" :data-title="item" :data-index="index" :class="act_index2==index?'act':''"
- :key="index" v-for="(item,index) of time_list2">
- {{item}}
- </view>
- </scroll-view>
- </block>
- <block v-if="deta_index=='周'">
- <scroll-view scroll-y class="flex-grow-1 hg400">
- <view class="header-item flex-center" @click="choise1" :data-num="item.num" :data-title="item.name" :data-index="index"
- :class="act_index1==index?'act':''" :key="index" v-for="(item,index) of week1">
- {{item.name}}
- </view>
- </scroll-view>
- </block>
- <block v-if="deta_index=='月'">
- <scroll-view scroll-y class="flex-grow-1 hg400">
- <view class="header-item-month" @click="choise1" :data-num="item.num" :data-title="item.name" :data-index="index"
- :class="act_index1==index?'act':''" :key="index" v-for="(item,index) of month1">
- <view class="flex-center">
- {{item.name}}
- </view>
- </view>
- </scroll-view>
- </block>
- <scroll-view :class="deta_index=='月'?'wd40':''" scroll-y class="flex-grow-1 hg400" bindscrolltolower="bindscrolltolower">
- <view class="header-item text-1" @click="choise3" :data-title="item.name" :data-id="item.id" :data-index="index"
- :class="act_index3==index?'act':''" :key="index" v-for="(item,index) of list">
- {{item.name}}
- </view>
- </scroll-view>
- </view>
- </view>
- </zx-uni-popup>
- </view>
- </template>
- <script>
- import dragSort from '../../components/drag-sort/index.vue'
- import zxUniPopup from '@/components/zx-uni-popup/uni-popup.vue';
- export default {
- components: {
- dragSort,
- zxUniPopup,
- },
- props: {
- list_way: Array,
- thismoshi: Number,
- this_moshi_type: Number,
- rule_arr_val: Array,
- },
- watch: {
- thismoshi: {
- deep: true, // 深度监听
- handler(newVal, oldVal) {
- this.moshi = newVal;
- }
- },
- this_moshi_type: {
- deep: true,
- handler(newVal, oldVal) {
- this.moshi_type = newVal;
- }
- },
- rule_arr_val: {
- deep: true,
- handler(newVal, oldVal) {
- var rule_arr = [];
- for (var i of newVal) {
- if (i.type == 1) {
- var val_arr = i.val.split(",");
- var pp = val_arr[0] + ':00' + '-' + val_arr[1] + ':00';
- i.val_name = pp;
- }
- rule_arr.push(i.type + '-' + i.val + '-' + i.powerpool_id);
- }
- this.rule_val = newVal;
- this.$emit('confirm', rule_arr.join(";"))
- }
- },
- },
- data() {
- return {
- rule_val: [],
- moshi: this.thismoshi,
- moshi_type: this.this_moshi_type,
- switch_list: [{
- name: "普通模式",
- type: 1,
- }, {
- name: "高级模式",
- type: 2,
- }, ],
- switch_time: [{
- name: "时间",
- type: 2,
- },
- {
- name: "轮询",
- type: 1,
- },
- ],
- props: {
- label: 'label'
- },
- deta: [{
- label: "天"
- },
- {
- label: "周"
- },
- {
- label: "月"
- },
- ],
- deta_index: -1,
- time_list1: [
- "01:00",
- "02:00",
- "03:00", "04:00", "05:00", "06:00", "07:00", "08:00", "09:00", "10:00", "11:00",
- "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", "21:00", "22:00", "23:00",
- "24:00",
- ],
- time_list2: [
- "01:00", "02:00", "03:00", "04:00", "05:00", "06:00", "07:00", "08:00", "09:00", "10:00", "11:00",
- "12:00", "13:00", "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", "21:00", "22:00", "23:00",
- "24:00",
- ],
- week: [],
- week1: [{
- name: "星期日",
- num: 7,
- },
- {
- name: "星期一",
- num: 1,
- }, {
- name: "星期二",
- num: 2,
- }, {
- name: "星期三",
- num: 3,
- }, {
- name: "星期四",
- num: 4,
- }, {
- name: "星期五",
- num: 5,
- }, {
- name: "星期六",
- num: 6,
- }
- ],
- month: [],
- month1: [{
- name: 1,
- }, {
- name: 2
- }, {
- name: 3,
- }, {
- name: 4
- }, {
- name: 5,
- }, {
- name: 6
- }, {
- name: 7,
- }, {
- name: 8
- }, {
- name: 9,
- }, {
- name: 10
- }, {
- name: 11,
- }, {
- name: 12
- }, {
- name: 13,
- },
- {
- name: 14
- }, {
- name: 15,
- }, {
- name: 16
- }, {
- name: 17,
- }, {
- name: 18
- }, {
- name: 19,
- }, {
- name: 20
- }, {
- name: 21,
- }, {
- name: 22
- }, {
- name: 23,
- }, {
- name: 24
- }, {
- name: 25,
- }, {
- name: 26
- }, {
- name: 27,
- }, {
- name: 28
- }, {
- name: 29
- },
- {
- name: 30
- }, {
- name: 31
- },
- ],
- act_index1: -1,
- act_index2: -1,
- act_index3: -1,
- time1: "",
- time2: "",
- fnname: "",
- fnid: "",
- arr_time: [],
- time_arr: [],
- list: [],
- // moshi: 1,
- // moshi_type: 2,
- powerpool_id: "",
- level: "",
- // rule: "",
- page: 1,
- rule: [],
- month_name: "",
- deta: [{
- label: "天",
- level: 1,
- }, {
- label: "周",
- level: 2
- }, {
- label: "月",
- level: 3
- }, ],
- rule_arr: [],
- }
- },
- computed: {
- },
- onShow(e) {
-
- },
- onLoad() {
- },
- methods: {
- enit(e) {
- this.rule_val = [];
- this.$emit('confirm', "")
- },
- onDragSortChange(e) {
- var array = this.deta;
- var label = e.data;
- for (var i in array) {
- if (array[i].label == e.data.label) {
- array.splice(i, 1)
- }
- }
- var arr = array;
- if (e.frontData) {
- for (var i in arr) {
- if (arr[i].label == e.frontData.label) {
- arr.splice(Number(i) + 1, 0, label);
- }
- }
- this.deta = arr;
- }
- if (!e.frontData) {
- array.unshift(label)
- this.deta = array;
- }
- for (var i of this.deta) {
- if (i.label == '天') {
- i.level = 1
- }
- if (i.label == '周') {
- i.level = 2
- }
- if (i.label == '月') {
- i.level = 3
- }
- }
- this.$emit('bindlevel', this.deta)
- },
- addfn(e) {
- },
- bindscrolltolower(e) {
- this.http();
- },
- http() {
- this.request({
- url: "powerpool/poollists",
- data: {
- page: this.page,
- token: uni.getStorageSync("token"),
- },
- }).then(res => {
- if (res.code === '200') {
- for (var i of res.data) {
- i.checked = false;
- }
- this.list = this.list.concat(res.data);
- this.page = this.page + 1;
- }
- })
- },
- del(index) {
- if (this.deta_index == '天') {
- this.arr_time.splice(index, 1)
- }
- if (this.deta_index == '周') {
- this.week.splice(index, 1)
- }
- if (this.deta_index == '月') {
- this.month.splice(index, 1);
- }
- this.publue()
- },
- delScene(index) {
- this.$emit('ondel', index)
- },
- cancel() {
- this.$refs.popup.close();
- },
- addtime(e) {
- this.page = 1;
- this.list = [];
- this.http();
- this.$refs.popup.open();
- },
- choise1(e) {
- let index = e.currentTarget.dataset.index,
- title = e.currentTarget.dataset.title;
- this.time1 = title;
- this.act_index1 = index;
- if (this.deta_index == '周') {
- var num = e.currentTarget.dataset.num;
- this.num = num;
- this.week_name = title;
- }
- if (this.deta_index == '月') {
- this.month_name = title;
- }
- },
- choise2(e) {
- let index = e.currentTarget.dataset.index,
- title = e.currentTarget.dataset.title;
- this.time2 = title;
- this.act_index2 = index;
- },
- choise3(e) {
- let id = e.currentTarget.dataset.id,
- index = e.currentTarget.dataset.index,
- title = e.currentTarget.dataset.title;
- this.fnname = title;
- this.fnid = id;
- this.act_index3 = index;
- },
- confirm(e) {
- if (!this.fnid) {
- uni.showToast({
- title: "请选择记录",
- icon: 'none'
- })
- return
- }
- if (this.deta_index == '周') {
- this.week.push({
- level: 2,
- week_name: this.week_name,
- time: this.num,
- fnid: this.fnid,
- fnname: this.fnname,
- })
- } else if (this.deta_index == '月') {
- this.month.push({
- level: 3,
- month_name: this.month_name,
- fnid: this.fnid,
- fnname: this.fnname,
- time: this.month_name,
- })
- } else {
- var time_sting = parseInt(this.time1) + "," + parseInt(this.time2);
- var time = this.time1 + "-" + this.time2;
- this.arr_time.push({
- level: 1,
- time_name: time,
- time: time_sting,
- fnid: this.fnid,
- fnname: this.fnname,
- });
- //展示
- this.time_arr.push(time_sting);
- this.check_time(JSON.stringify(this.time_arr));
- }
- this.publue()
- },
- publue() {
- var arr3;
- if (this.deta[0].level == 1 && this.deta[1].level == 2 && this.deta[2].level == 3) {
- arr3 = [...this.arr_time, ...this.week, ...this.month];
- }
- if (this.deta[0].level == 1 && this.deta[1].level == 3 && this.deta[2].level == 2) {
- arr3 = [...this.arr_time, ...this.month, ...this.week];
- }
- if (this.deta[0].level == 2 && this.deta[1].level == 1 && this.deta[2].level == 3) {
- arr3 = [...this.week, ...this.arr_time, ...this.month];
- }
- if (this.deta[0].level == 2 && this.deta[1].level == 3 && this.deta[2].level == 1) {
- arr3 = [...this.week, ...this.month, ...this.arr_time];
- }
- if (this.deta[0].level == 3 && this.deta[1].level == 1 && this.deta[2].level == 2) {
- arr3 = [...this.month, ...this.arr_time, ...this.week];
- }
- if (this.deta[0].level == 3 && this.deta[1].level == 2 && this.deta[2].level == 1) {
- arr3 = [...this.month, ...this.week, ...this.arr_time];
- }
- var rule_arr = [];
- for (var i of arr3) {
- rule_arr.push(i.level + '-' + i.time + '-' + i.fnid);
- }
- // this.rule_arr = rule_arr.join(";");
- this.$emit('confirm', rule_arr.join(";"))
- this.$refs.popup.close();
- },
- check_time(arr) {
- this.request({
- url: "videofuneng/check_time",
- data: {
- time: arr,
- },
- }).then(res => {
- if (res.code === '200') {
- }
- }).catch(res => {
- this.arr_time.pop();
- this.time_arr.pop();
- uni.showToast({
- title: res.message,
- icon: 'none'
- })
- });
- },
- // 模式
- bindcheck(index) {
- this.moshi = index;
- this.$emit('oncheck', index)
- },
- // 优先级 天,
- bindTimeChange(index) {
- this.act_index1 = -1;
- this.act_index2 = -1;
- this.act_index3 = -1;
- this.time1 = "";
- this.time2 = "";
- this.fnname = "";
- this.fnid = "";
- this.deta_index = index;
- },
- getll() {
- this.$emit('onTime', 3)
- },
- bindtime(index) {
- this.moshi_type = index;
- this.$emit('onTime', index)
- },
- },
- }
- </script>
- <style>
- .item {
- padding: 32rpx 40rpx;
- }
- .wd80px {
- width: 80rpx;
- text-align: center;
- }
- .wd180px {
- width: 180rpx;
- text-align: center;
- }
- .wd200px {
- width: 200rpx;
- text-align: center;
- }
- .shoot {
- height: 500rpx;
- background: #FFFFFF;
- }
- .header-item {
- padding: 10rpx 0;
- /* height: 70rpx; */
- text-align: center;
- }
- .header-item-month {
- height: 70rpx;
- display: inline-block;
- width: 100rpx;
- }
- .header-item-month view {
- height: 100%;
- }
- .shoot .wd40 {
- width: 40%;
- }
- .hg400 {
- height: 400rpx;
- }
- .shoot-header {
- padding: 20rpx;
- border-bottom: 1rpx solid #f1f1f1;
- }
- .confirm {
- color: #007AFF;
- }
- .shoot .act {
- color: #007AFF;
- }
- .main-home {
- padding: 20rpx 30rpx;
- background: #FFFFFF;
- border-radius: 12rpx;
- margin: 0 auto;
- font-size: 28rpx;
- font-family: PingFang SC, PingFang SC-Regular;
- font-weight: 400;
- color: #333333;
- margin-bottom: 20rpx;
- }
- .del {
- width: 32rpx;
- height: 32rpx;
- }
- .main-item {
- color: #3387ff;
- border: 2rpx solid #3387ff;
- padding: 6rpx 10rpx;
- margin: 0 auto;
- display: inline-block;
- border-radius: 4rpx;
- }
- .moshi_level .act {
- background: #3387ff;
- ;
- color: #FFFFFF;
- border: 1rpx solid #3387ff;
- }
- .main-home-deta {
- margin-bottom: 20rpx;
- }
- .mgr40 {
- margin-bottom: 40rpx;
- }
- .enit {
- padding: 8rpx 10rpx;
- border: 1rpx solid #ccc;
- font-size: 22rpx;
- }
- .qr_content {
- padding: 0 40rpx;
- }
- .qr_content_img {
- display: inline-block;
- position: relative;
- }
- .qr_content_img .qr_content_img_li {
- margin-left: 20rpx;
- width: 120rpx;
- height: 120rpx;
- }
- .qr_content_img_del {
- width: 40rpx;
- height: 40rpx;
- position: absolute;
- top: 0;
- right: 0;
- }
- .tr {
- text-align: right;
- }
- .pdr-20 {
- padding-right: 20rpx;
- }
- .item {
- padding: 32rpx 40rpx;
- }
- .upimg {
- width: 126rpx;
- height: 126rpx;
- }
- .add-home {
- color: #FFFFFF;
- width: 126rpx;
- height: 54rpx;
- background: linear-gradient(315deg, #3387ff 2%, #569bff 99%);
- border-radius: 8rpx;
- box-shadow: 0px 0px 8rpx 0px rgba(51, 135, 255, 0.2);
- }
- .item-bg {
- width: 670rpx;
- /* height: 298rpx; */
- background: #f6f8fe;
- border-radius: 12rpx;
- margin: 0 auto;
- font-size: 28rpx;
- font-family: PingFang SC, PingFang SC-Regular;
- font-weight: 400;
- color: #333333;
- padding: 36rpx 32rpx;
- }
- .item-del {
- width: 40rpx;
- height: 40rpx;
- }
- .mar64 {
- margin-bottom: 64rpx;
- }
- .item-bg .mar64:last-child {
- margin-bottom: 0rpx;
- }
- .hg200rpx {
- height: 100rpx;
- }
- .mgr57 {
- margin-bottom: 57rpx;
- }
- .item-bg-32 {
- margin-right: 32rpx;
- }
- .qrupimg {
- width: 80rpx;
- height: 80rpx;
- }
- .tips {
- font-size: 26rpx;
- color: #999;
- }
- </style>
|