| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281 |
- <template>
- <base-page>
- <view class="deliverlist">
- <view class="deliverlist-box">
- <view class="deliverlist-left">
- <view class="deliver-title">
- 配送员
- <text class="iconfont icongengduo1"></text>
- </view>
- <view class="deliver-list-wrap">
- <block v-if="list.length > 0">
- <scroll-view scroll-y="true" class="deliver-list-scroll all-scroll" @scrolltolower="getDeliverList">
- <view
- class="item"
- @click="deliverSelect(item, index)"
- v-for="(item, index) in list"
- :key="index"
- :class="index == selectdeliverKeys ? 'itemhover' : ''"
- >
- <view class="item-right">
- <view class="deliver-name">{{ item.deliver_name }}</view>
- <view class="deliver-money">{{ item.deliver_mobile }}</view>
- </view>
- </view>
- </scroll-view>
- </block>
- <view class="notYet" v-else-if="!one_judge && list.length == 0">暂无配送员</view>
- </view>
- <view class="add-deliver"><button type="default" class="primary-btn" @click="addDeliver">添加配送员</button></view>
- </view>
- <view class="deliverlist-right" v-show="!one_judge">
- <view class="deliver-title">配送员详情</view>
- <view class="deliver-information">
- <block v-if="detail && Object.keys(detail).length">
- <view class="title">基本信息</view>
- <view class="information-box">
- <view class="box-left">
- <view class="information">
- <view>姓名:</view>
- <view>{{ detail.deliver_name }}</view>
- </view>
- <view class="information">
- <view>电话:</view>
- <view>{{ detail.deliver_mobile }}</view>
- </view>
- <view class="information">
- <view>添加时间:</view>
- <view>{{ detail.create_time ? $util.timeFormat(detail.create_time) : '--' }}</view>
- </view>
- <view class="information">
- <view>最后修改时间:</view>
- <view>{{ detail.modify_time ? $util.timeFormat(detail.modify_time) : '--' }}</view>
- </view>
- </view>
- </view>
- <view class="button-box">
- <view class="button" @click="deletedeliver(detail.deliver_id)">删除</view>
- <view class="button" @click="editdeliver(detail.deliver_id)">修改</view>
- </view>
- </block>
- <block v-else><image class="cart-empty" :src="$util.img('public/uniapp/cashier/goods_empty.png')" mode="widthFix"></image></block>
- </view>
- </view>
- <unipopup ref="deliverpop" type="center">
- <view class="common-wrap common-form">
- <view class="common-title">{{ deliverData.deliver_id > 0 ? '修改' : '添加' }}配送员</view>
- <view class="common-form-item">
- <label class="form-label">
- <text class="required">*</text>
- 姓名
- </label>
- <view class="form-input-inline"><input type="text" v-model="deliverData.deliver_name" class="form-input" /></view>
- <text class="form-word-aux"></text>
- </view>
- <view class="common-form-item">
- <label class="form-label">
- <text class="required">*</text>
- 手机号
- </label>
- <view class="form-input-inline"><input type="number" v-model="deliverData.deliver_mobile" class="form-input" /></view>
- <text class="form-word-aux"></text>
- </view>
- <view class="common-btn-wrap">
- <button type="default" class="screen-btn" @click="addDeliverSave">{{ deliverData.deliver_id > 0 ? '修改' : '添加' }}</button>
- <button type="primary" class="default-btn btn save" @click="addDeliverClose()">取消</button>
- </view>
- </view>
- </unipopup>
- <nc-loading :layer-background="{ background: 'rgba(255,255,255,.8)' }" ref="loading"></nc-loading>
- </view>
- </view>
- </base-page>
- </template>
- <script>
- import unipopup from '@/components/uni-popup/uni-popup.vue';
- export default {
- components: { unipopup },
- data() {
- return {
- search_text: '',
- page: 1,
- // 每次返回数据数
- page_size: 8,
- // 第一次请求列表做详情渲染判断
- one_judge: true,
- //详情数据
- detail: {},
- list: [],
- selectdeliverKeys: 0,
- flag: false,
- deliverData: {
- deliver_id: 0,
- deliver_name: '',
- deliver_mobile: ''
- }
- };
- },
- onLoad() {
- this.getDeliverList();
- },
- methods: {
- deliverSelect(item, keys) {
- this.selectdeliverKeys = keys;
- this.getDeliverDetail(item.deliver_id);
- },
- // 搜索员工
- search() {
- this.page = 1;
- this.list = [];
- this.one_judge = true;
- this.getDeliverList();
- },
- addDeliver() {
- this.$refs.deliverpop.open();
- },
- addDeliverClose() {
- this.$refs.deliverpop.close();
- },
- addDeliverSave() {
- if (this.deliverData.deliver_name == '') {
- this.$util.showToast({
- title: '请输入配送员名称'
- });
- return false;
- }
- if (this.deliverData.deliver_mobile == '') {
- this.$util.showToast({
- title: '请输入配送员电话'
- });
- return false;
- }
- if (this.flag) return false;
- this.flag = true;
- let url = '/cashier/storeapi/store/adddeliver';
- if (this.deliverData.deliver_id > 0) url = '/cashier/storeapi/store/editdeliver';
- this.$api.sendRequest({
- url: url,
- data: this.deliverData,
- success: res => {
- this.$util.showToast({
- title: res.message
- });
- if (res.code == 0) {
- this.page = 1;
- this.list = [];
- this.one_judge = true;
- this.getDeliverList();
- this.addDeliverClose();
- this.deliverData = {
- deliver_id: 0,
- deliver_name: '',
- deliver_mobile: ''
- };
- }
- this.flag = false;
- }
- });
- },
- editdeliver(deliver_id) {
- this.$api.sendRequest({
- url: '/cashier/storeapi/store/deliverinfo',
- data: { deliver_id },
- success: res => {
- if (res.code == 0) {
- this.deliverData = res.data;
- this.$refs.deliverpop.open();
- }
- }
- });
- },
- /**
- * 请求的列表数据
- */
- getDeliverList() {
- this.$api.sendRequest({
- url: '/cashier/storeapi/store/deliverlists',
- data: {
- page: this.page,
- page_size: this.page_size
- },
- success: res => {
- if (res.data.list.length == 0 && this.one_judge) {
- this.detail = {};
- this.one_judge = false;
- }
- this.$refs.loading.hide();
- if (res.code >= 0 && res.data.list.length != 0) {
- this.page += 1;
- if (this.list.length == 0) {
- this.list = res.data.list;
- } else {
- this.list = this.list.concat(res.data.list);
- }
- //初始时加载一遍详情数据
- if (this.one_judge) {
- this.getDeliverDetail(this.list[0].deliver_id);
- }
- }
- }
- });
- },
- getDeliverDetail(deliver_id) {
- this.$api.sendRequest({
- url: '/cashier/storeapi/store/deliverinfo',
- data: { deliver_id },
- success: res => {
- if (res.code == 0) {
- this.detail = res.data;
- this.one_judge = false;
- }
- }
- });
- },
- deletedeliver(deliver_id) {
- let that = this;
- uni.showModal({
- title: '',
- content: '确定要删除该配送员吗',
- success: function(res) {
- if (res.confirm) {
- that.$api.sendRequest({
- url: '/cashier/storeapi/store/deletedeliver',
- data: {
- deliver_id
- },
- success: res => {
- if (res.code >= 0) {
- that.page = 1;
- that.list = [];
- that.one_judge = true;
- that.getDeliverList();
- } else {
- that.$util.showToast({ title: res.message });
- }
- }
- });
- } else if (res.cancel) {
- console.log('用户点击取消');
- }
- }
- });
- }
- }
- };
- </script>
- <style scoped lang="scss">
- @import './public/css/deliver.scss';
- </style>
- <style>
- /deep/ .uni-modal__hd {
- padding: 0.2em 0.3em 0.3em !important;
- }
- </style>
|