| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272 | <!DOCTYPE html><html><head>    <title>-列表</title>    <meta charset="utf-8">    <meta name="viewport"          content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"/>    <!-- 所有的 css & js 资源 -->    <link rel="stylesheet" href="../../static/kj/element-ui/theme-chalk/index.css">    <link rel="stylesheet" href="../../static/sa.css">    <script src="../../static/kj/vue.min.js"></script>    <script src="../../static/kj/element-ui/index.js"></script>    <script src="../../static/kj/httpVueLoader.js"></script>    <script src="../../static/kj/jquery.min.js"></script>    <script src="../../static/kj/layer/layer.js"></script>    <script src="../../static/sa.js"></script></head><body><div class="vue-box" style="display: none;" :style="'display: block;'">    <div class="c-panel">        <div class="fast-btn">            <el-button size="mini" type="primary" @click="add()"                       v-if="confirm==0&&sa.isAuth('tb-business-edit')">                新增            </el-button>            <el-button size="mini" type="info" @click="sa.f5()">刷新</el-button>        </div>        <!-- ------------- 数据列表 ------------- -->        <el-table class="data-table" ref="data-table" :data="dataList">            <sa-td name="车牌号" prop="carNo" width=120></sa-td>            <sa-td name="车辆规格" prop="carSize"></sa-td>            <sa-td width="130" name="支付状态" prop="payType">            </sa-td>            <sa-td width=100 name="车辆状态" prop="isLock" type="switch" :jv="{1: '锁定[#ff0000]', 0: '正常[#005500]'}"                   @change="s => updateStatus(s.row)"></sa-td>            <el-table-column label="证明">                <template slot-scope="s">                    <el-button type="primary" @click="checkFn(s.row)">查看</el-button>                </template>            </el-table-column>            <el-table-column label="停车费">                <template slot-scope="s">                    <label v-if="s.row.money">{{s.row.money}}</label>                    <label v-else>-</label>                </template>            </el-table-column>            <sa-td name="入场时间" prop="realInTime" width=160></sa-td>            <sa-td name="入场通道" prop="inChannel" width=180></sa-td>            <sa-td name="离场时间" prop="realOutTime" width=160></sa-td>            <sa-td name="离场通道" prop="outChannel" width=180></sa-td>            <el-table-column label="操作" width="120px" fixed="right">                <template slot-scope="s">                    <el-button v-if="sa.isAuth('tb-business-car-change')&&s.row.realInTime==null" class="c-btn"                               type="primary" @click="inFn(s.row)">确认入场                    </el-button>                    <el-button                            v-if="sa.isAuth('tb-business-car-change')&&s.row.realInTime!=null&&s.row.realOutTime==null"                            class="c-btn" type="primary" @click="outFn(s.row)">确认离场                    </el-button>                </template>            </el-table-column>        </el-table>    </div>    <el-dialog title="确认入场" :visible.sync="rc.visible" width="400px">        <el-form label-position="left">            <div class="confirm-in">                <sa-item type="datetime" name="入场时间" v-model="rc.form.realInTime" br></sa-item>                <div class="c-item">                    <label class="c-label"><span style="color: red;">*</span>入场通道:</label>                    <el-input v-model="rc.form.inChannel" placeholder="入场通道">                    </el-input>                </div>            </div>        </el-form>        <span slot="footer" class="dialog-footer">					<el-button @click="rc.visible = false">取 消</el-button>					<el-button type="primary" @click="sureInFn">确 认</el-button>				</span>    </el-dialog>    <el-dialog title="确认离场" :visible.sync="out.visible" width="400px">        <el-form label-position="left">            <div class="confirm-in">                <sa-item type="datetime" name="离场时间" v-model="out.form.realOutTime" br></sa-item>                <div class="c-item">                    <label class="c-label"><span style="color: red;">*</span>离场通道:</label>                    <el-input v-model="out.form.outChannel" placeholder="离场通道">                    </el-input>                </div>            </div>        </el-form>        <span slot="footer" class="dialog-footer">					<el-button @click="out.visible = false">取 消</el-button>					<el-button type="primary" @click="sureOutFn">确 认</el-button>				</span>    </el-dialog>    <el-dialog title="证明" :visible.sync="report.visible" width="500px">        <div>            <el-form>                <el-row>                    <el-col span="12">                        <sa-info name="核酸报告" :value="report.business.nucleicReport" type="img"></sa-info>                    </el-col>                    <el-col span="12">                        <sa-info name="出仓证明" :value="report.business.outReport" type="img"></sa-info>                    </el-col>                </el-row>                <el-row style="margin-top: 20px;">                    <el-col span="12">                        <sa-info name="消杀证明" :value="report.business.disinfectReport" type="img"></sa-info>                    </el-col>                    <el-col span="12">                        <sa-info name="检验检疫证" :value="report.business.checkReport" type="img"></sa-info>                    </el-col>                </el-row>            </el-form>        </div>    </el-dialog></div><script>    var app = new Vue({        components: {            "sa-item": httpVueLoader('../../sa-frame/com/sa-item.vue'),            "sa-info": httpVueLoader('../../sa-frame/com/sa-info.vue'),            "sa-td": httpVueLoader('../../sa-frame/com/sa-td.vue'),        },        el: '.vue-box',        data: {            report: {                visible: false,                business: {},            },            payStatus: sa.p('payStatus', 1),            confirm: sa.p('confirm', 0),            p: { // 查询参数                businessId: sa.p('id', ''), //                carNo: '', //            },            dataCount: 0,            dataList: [], // 数据集合            rc: {                visible: false,                form: {                    realInTime: '',                    inChannel: ''                }            },            out: {                visible: false,                form: {                    realOutTime: '',                    outChannel: ''                }            }        },        methods: {            checkFn(data) {                sa.ajax('/TbBusiness/getById?id=' + this.p.businessId, function (resp) {                    let business = resp.data;                    if (!business.outReport) {                        //sa.error('未上传')                    }                    this.report.visible = true;                    this.report.business = business;                }.bind(this))            },            inFn(data) {                Object.assign(this.rc, {                    visible: true,                    form: data                })            },            sureInFn() {                if (!this.rc.form.realInTime) {                    sa.error('请填写入场时间')                    return;                }                if (!this.rc.form.inChannel) {                    sa.error('请填写入场通道')                    return;                }                sa.ajax('/TbBusinessCar/inCar', this.rc.form, function (res) {                    sa.alert('操作成功');                    this.rc.visible = false;                    this.f5();                }.bind(this));            },            outFn(data) {                Object.assign(this.out, {                    visible: true,                    form: data                })            },            sureOutFn() {                if (!this.out.form.realOutTime) {                    sa.error('请填写离场时间')                    return;                }                if (!this.out.form.outChannel) {                    sa.error('请填写离场通道')                    return;                }                sa.ajax('/TbBusinessCar/outCar', this.out.form, function (res) {                    sa.alert('操作成功');                    this.out.visible = false;                    this.f5();                }.bind(this));            },            // 刷新            f5: function () {                sa.ajax('/TbBusinessCar/getBusinessByBusinessCarId', sa.removeNull(this.p), function (res) {                    this.dataList = res.data; // 数据                    this.dataCount = res.dataCount; // 数据总数                    sa.f5TableHeight(); // 刷新表格高度                }.bind(this));            },            // 查看            get: function (data) {                sa.showIframe('数据详情', 'tb-business-car-info.html?id=' + data.id + '&businessId=' + this.p                    .businessId, '800px', '80%');            },            // 修改            update: function (data) {                sa.showIframe('修改数据', 'tb-business-car-add.html?id=' + data.id + '&businessId=' + this.p                    .businessId, '500px', '70%');            },            // 新增            add: function (data) {                sa.showIframe('新增数据', 'tb-business-car-add.html?id=-1' + '&businessId=' + this.p.businessId,                    '550px', '80%');            },            // 删除            del: function (data) {                sa.confirm('是否删除,此操作不可撤销', function () {                    sa.ajax('/TbBusinessCar/delete?id=' + data.id, function (res) {                        sa.arrayDelete(this.dataList, data);                        sa.ok('删除成功');                        sa.f5TableHeight(); // 刷新表格高度                    }.bind(this))                }.bind(this));            },            // 改 - 状态(0=否,1=是)            updateStatus: function (data) {                if (!sa.isAuth('tb-business-car-change')) {                    sa.error('无权限')                    return false;                }                // 声明变量记录是否成功                var isOk = false;                var oldValue = data.isLock;                var ajax = sa.ajax('/TbBusinessCar/updateStatus', {                    id: data.id,                    value: data.isLock                }, function (res) {                    isOk = true;                    sa.msg('修改成功');                }.bind(this));                // 如果未能修改成功, 则回滚                $.when(ajax).done(function () {                    if (isOk == false) {                        data.isLock = oldValue;                    }                })            },        },        created: function () {            this.f5();            sa.onInputEnter();        }    })</script></body></html>
 |