• 记录一个简单的vue页面实现


    <template>
      <div class="userView">
        <!-- 页眉颜色统一 -->
        <div class="buttonTop"></div>
        <div class="main">
          <!--工具栏-->
          <div class="center" style="overflow: hidden;">
            <el-button @click="updateOrderInvoiceBatch" type="success">批量设置拣货中</el-button>
            <div class="input" style="float:right">
              <span>发货单状态:</span>
              <el-select clearable style="100px;" v-model="data.sts" placeholder="发货单状态" size="small">
                <el-option label="取消" value="0"></el-option>
                <el-option label="未支付" value="1"></el-option>
                <el-option label="已支付" value="2"></el-option>
                <el-option label="拣货中" value="3"></el-option>
                <el-option label="已发货" value="4"></el-option>
              </el-select>
              <el-input placeholder="请输入名称" v-model="data.name" clearable size="small"></el-input>
              <el-button @click="select" type="success">检索</el-button>
              <el-button @click="emptyData"  type="info">清空</el-button>
            </div>
          </div>
    
          <!--列表table展示-->
          <el-table
            :data="orderInvoiceList.rows"
            @selection-change="changeTable"
            border
            style=" 100%; margin-top: 10px">
            <el-table-column type="selection" min-width="35"></el-table-column>
            <el-table-column prop="price" label="货价" min-width="50"></el-table-column>
            <el-table-column prop="postFee" label="运费"  min-width="50"></el-table-column>
            <el-table-column prop="totalPrice" label="总价"  min-width="50"></el-table-column>
            <el-table-column prop="isCanceled" label="是否取消"  min-width="60" :formatter="booleanMsgFun"></el-table-column>
            <el-table-column prop="isSettled" label="费用是否结清"  min-width="80" :formatter="booleanMsgFun"></el-table-column>
            <el-table-column prop="isSettledFee" label="运费是否结清"  min-width="80" :formatter="booleanMsgFun"></el-table-column>
            <el-table-column prop="isPost" label="是否发货"  min-width="60" :formatter="booleanMsgFun"></el-table-column>
            <el-table-column prop="customerAddress" label="地址"  min-width="220"></el-table-column>
            <el-table-column prop="customerPhone" label="电话"  min-width="85"></el-table-column>
            <el-table-column prop="customerName" label="名称"  min-width="60"></el-table-column>
            <el-table-column prop="waybillNo" label="运单号"  min-width="110"></el-table-column>
            <el-table-column prop="carrier" label="承运人"  min-width="60"></el-table-column>
            <el-table-column prop="startPickTime" label="开始拣货时间"  min-width="100"></el-table-column>
            <el-table-column prop="postTime" label="发货时间"  min-width="100"></el-table-column>
            <el-table-column label="操作"  min-width="60">
              <template slot-scope="scope">
                <el-button size="mini" @click.native="editOrderInvoice(scope.$index, scope.row)">发货</el-button>
                <el-button
                  size="mini"
                  type="danger"
                  @click="updateOrderInvoice(scope.$index,scope.row)">拣货中</el-button>
              </template>
            </el-table-column>
          </el-table>
    
          <!-- 分页 -->
          <div class="page">
            <el-pagination
              :background="true"
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
              :current-page="page"
              :page-sizes="[10, 20, 30, 40 , 50, 100]"
              :page-size="rows"
              layout="total, sizes, prev, pager, next, jumper"
              :total="orderInvoiceList.total">
            </el-pagination>
          </div>
    
          <!-- 编辑dialog对象 -->
          <el-dialog  :visible.sync="dialogVisible" :close-on-click-modal="false" size="tiny">
                <span slot="title"  class="el-dialog__title">
                      {{'发货'}}
                </span>
            <el-form ref="dialogData" :model="dialogData" label-width="150px">
             <!-- <el-form-item label="地址">
                  <el-input v-model="dialogData.customerAddress"></el-input>
              </el-form-item>
              <el-form-item label="电话" >
                <el-input v-model="dialogData.customerPhone"></el-input>
              </el-form-item>
              <el-form-item label="姓名">
                <el-input v-model="dialogData.customerName"></el-input>
              </el-form-item>-->
              <el-form-item label="运单号">
                <el-input v-model="dialogData.waybillNo"></el-input>
              </el-form-item>
              <el-form-item label="承运人">
                <el-input v-model="dialogData.carrier"></el-input>
              </el-form-item>
              <!--<el-form-item label="开始拣货时间" >
                <el-col :span="10">
                  <el-date-picker type="datetime" placeholder="选择时间" v-model="dialogData.startPickTime" style=" 100%;"></el-date-picker>
                </el-col>
              </el-form-item>
              <el-form-item label="发货时间" >
                <el-col :span="10">
                  <el-date-picker type="datetime" placeholder="选择时间" v-model="dialogData.postTime" style=" 100%;"></el-date-picker>
                </el-col>
              </el-form-item>
              <el-form-item label="是否取消" label-width="150px">
                <el-col :span="4">
                  <el-switch
                    v-model="canceled"
                    on-color="#13ce66"
                    on-text="是"
                    off-text="否"
                    off-color="#666666"
                    @change='changeIsCanceledStatus($event)'>
                  </el-switch>
                </el-col>
              </el-form-item>
              <el-form-item label="费用是否结清" label-width="150px">
                <el-col :span="4">
                  <el-switch
                    v-model="settled"
                    on-color="#13ce66"
                    on-text="是"
                    off-text="否"
                    off-color="#666666"
                    @change='changeIsSettledStatus($event)'>
                  </el-switch>
                </el-col>
              </el-form-item>
              <el-form-item label="运费是否结清" label-width="150px">
                <el-col :span="4">
                  <el-switch
                    v-model="settledFee"
                    on-color="#13ce66"
                    on-text="是"
                    off-text="否"
                    off-color="#666666"
                    @change='changeIsSettledFeeStatus($event)'>
                  </el-switch>
                </el-col>
              </el-form-item>
              <el-form-item label="是否发货" label-width="150px">
                <el-col :span="4">
                  <el-switch
                    v-model="post"
                    on-color="#13ce66"
                    on-text="是"
                    off-text="否"
                    off-color="#666666"
                    @change='changeIsPostStatus($event)'>
                  </el-switch>
                </el-col>
              </el-form-item>-->
            </el-form>
            <div slot="footer" class="dialog-footer">
              <el-button @click.native="editOrderInvoiceSubmit">保存并关闭</el-button>
              <el-button @click.native="dialogVisible = false">取消</el-button>
            </div>
          </el-dialog>
    
        </div>
      </div>
    </template>
    
    <script>
      import util from '../../common/js/util'
      import NProgress from 'nprogress'
      import http from '../../api/http'
    
      export default {
        data(){
          return{
            page:1,
            rows:10,
            data:{
              id:"",
              name:"",
              sts:null
            },
            // 弹出框的数据
            dialogData:{
              id:'',
              /*customerAddress:'',
              customerPhone:'',
              customerName:'',*/
              waybillNo:'',
              carrier:'',
             /* startPickTime:"",
              postTime:"",
              canceled:false,
              settled:false,
              settledFee:false,
              post:false*/
            },
            multipleSelection:[],
            orderInvoiceList:{},
            /*canceled:false,
            settled:false,
            settledFee:false,
            post:false,*/
            dialogVisible: false
          }
        },
        methods:{
          loadOrderInvoiceList(){
            let obj = {
              page : this.page,
              rows : this.rows,
              name : this.data.name,
              sts : this.data.sts
            }
            this.apiPost('/order/invoiceList',obj).then(res=>{
              this.handelResponse(res, (data) => {
                this.orderInvoiceList = data
              })
            })
          },
          handleSizeChange(val) {
            this.rows = val
            this.loadOrderInvoiceList();
          },
          handleCurrentChange(val) {
            this.page = val;
            this.loadOrderInvoiceList();
          },
          clearable(){
            this.data.name = '';
            this.data.sts = null;
            this.loadOrderInvoiceList();
          },
          changeTable(val){
            this.multipleSelection = val;
          },
          // 检索
          select(){
            this.loadOrderInvoiceList()
          },
          //清空按钮操作
          emptyData(){
            this.data.name = "";
            this.data.sts = null;
            this.select()
          },
          //布尔类型数据格式化显示
          booleanMsgFun(row, column,value){
              if(value){
                  return "";
              }else{
                  return "";
              }
          },
          //主要功能打开编辑页面,回显当前行信息,包括图片
          editOrderInvoice(index,row) {
            this.apiPost('/order/orderInvoice/'+row.id+'/get',{}).then((res) => {
              this.handelResponse(res, (data) => {
                this.dialogData=data
                /*if(data.startPickTime){
                  this.dialogData.startPickTime=new Date(data.startPickTime);
                }else{
                  this.dialogData.startPickTime=null;
                }
                if(data.postTime){
                  this.dialogData.postTime=new Date(data.postTime);
                }else{
                  this.dialogData.postTime=null;
                }
                this.canceled=data.isCanceled;
                this.settled=data.isSettled;
                this.settledFee=data.isSettledFee;
                this.post=data.isPost;*/
                this.dialogVisible=true;
              })
            });
          },
          //发货单编辑页面的保存方法
          editOrderInvoiceSubmit() {
            /*this.dialogData.canceled=this.canceled;
            this.dialogData.settled=this.settled;
            this.dialogData.settledFee=this.settledFee;
            this.dialogData.post=this.post;*/
            this.apiPost('/order/orderInvoice/'+this.dialogData.id+'/updateIsPost',this.dialogData).then((res) => {
              this.handelResponse(res, (data) => {
                this.dialogVisible=false;
                _g.toastMsg('success','提交成功');
                this.loadOrderInvoiceList();
              })
            });
          },
          //清空表单的回显值问题
          newData(){
            this.dialogData.id="",
            /*this.dialogData.customerAddress="",
            this.dialogData.customerPhone="",
            this.dialogData.customerName="",*/
            this.dialogData.waybillNo="",
            this.dialogData.carrier=""
            /*this.dialogData.startPickTime=null,
            this.dialogData.postTime=null,
            this.dialogData.canceled=false,
            this.dialogData.settled=false,
            this.dialogData.settledFee=false,
            this.dialogData.post=false*/
          },
          /*changeIsCanceledStatus($event){
            this.canceled=$event;
          },
          changeIsSettledStatus($event){
            this.settled=$event;
          },
          changeIsSettledFeeStatus($event){
            this.settledFee=$event;
          },
          changeIsPostStatus($event){
            this.post=$event;
          }*/
          //修改当前记录状态为拣货中
          updateOrderInvoice(index,row) {
            this.$confirm('确认修改当前选中记录状态为拣货中吗?', '提示', {
              type: 'warning'
            }).then(() => {
              this.apiPost('/order/orderInvoice/'+row.id+'/updateStartPick',{}).then((res) => {
                this.handelResponse(res, (data) => {
                  _g.toastMsg('success','修改成功');
                  this.loadOrderInvoiceList();
                })
              });
            }).catch(() => {
            });
          },
          //批量修改当前记录状态为拣货中
          updateOrderInvoiceBatch(){
            if(this.multipleSelection.length == 0){
              this.$message.error('请至少选中一行数据');
              return
            }
            let id = []
            for(let i = 0;i < this.multipleSelection.length;i ++){
              id[i] = this.multipleSelection[i].id
            }
            let obj = {
              ids : id
            }
            console.log("aaabbb:"+JSON.stringify(obj));
            this.$confirm('确认修改当前选中记录状态为拣货中吗?', '提示', {
              type: 'warning'
            }).then(() => {
              this.apiPost('/order/orderInvoice/updateStartPickBatch',obj).then(res=>{
                this.handelResponse(res, (data) => {
                  _g.toastMsg('success','修改成功');
                  this.loadOrderInvoiceList();
                })
              });
            }).catch(() => {
            });
          },
        },
        mounted(){
          this.loadOrderInvoiceList();
        },
        mixins: [http],
      }
    </script>
    
    <style lang="scss" scoped>
      .userView{
        .buttonTop{
          padding: 6px 10px 0;
          background: #545c64;
          height: 56px;
          overflow: hidden;
          border-bottom: 1px solid rgb(255, 208, 75);
          color: #fff;
        }
        .main{
          padding: 0 15px;
        .center{
          margin-top: 10px;
          margin-bottom: 20px;
        }
        }
        .input{
          float: left;
          margin: 8px 0;
          margin-right: 32px;
        }
      }
      .page {
        /*  600px; */
        margin: 10px auto 10px;
      }
    </style>
  • 相关阅读:
    利用PHP SOAP实现WEB SERVICE
    PHP 简单的加密解密算法
    Java 简单的加密解密算法
    去掉php框架CI默认url中的index.php
    PHP 日期计算函数【差异天数】
    PHP生成迅雷、快车、旋风等软件的下载链接代码实例
    转:苹果iphone APP界面设计尺寸官方版
    iOS开发——密码存储之keychain的使用
    Simple iPhone Keychain Access
    View的简单说明
  • 原文地址:https://www.cnblogs.com/mr-wuxiansheng/p/8861995.html
Copyright © 2020-2023  润新知