| | |
| | | <template> |
| | | <div id="" style="padding: 6px"> |
| | | <el-card style="margin-bottom: 6px"> |
| | | <el-form :model="queryParams" ref="queryForm" :inline="true"> |
| | | <el-form-item label="状态" prop="status"> |
| | | <el-select v-model="state" placeholder="菜单状态" size="mini"> |
| | | <el-option label="全部" :value="-1" /> |
| | | <el-option label="未派单" :value="0" /> |
| | | <el-option label="已派单" :value="1" /> |
| | | <el-option label="已接单" :value="2" /> |
| | | <el-option label="已完成" :value="3" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="等级" prop="level"> |
| | | <el-select |
| | | v-model="level" |
| | | placeholder="菜单状态" |
| | | :disabled="erectoListLevel.length == 0" |
| | | size="mini" |
| | | > |
| | | <el-option label="本级" :value="0" /> |
| | | <el-option label="下级" :value="1" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item |
| | | v-if="level == 1 && erectoListLevel.length > 0" |
| | | label="下级联营商" |
| | | prop="nextlevel" |
| | | > |
| | | <el-select v-model="nextlevel" placeholder="菜单状态" size="mini"> |
| | | <el-option |
| | | v-for="item in erectoListLevel" |
| | | :label="item.dept.deptName" |
| | | :value="item.userId" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | size="mini" |
| | | type="primary" |
| | | icon="el-icon-search" |
| | | @click="changePage(1)" |
| | | >搜索</el-button |
| | | ></el-form-item |
| | | > |
| | | <!-- <el-form-item label="状态" prop="status"> |
| | | <div id="" style="padding:6px;"> |
| | | <el-card style="margin-bottom:6px;"> |
| | | <el-form :model="queryParams" ref="queryForm" :inline="true"> |
| | | <el-form-item label="状态" prop="status"> |
| | | <el-select v-model="state" placeholder="菜单状态" size="mini"> |
| | | <el-option label="全部" :value="-1" /> |
| | | <el-option label="未派单" :value="0" /> |
| | | <el-option label="已派单" :value="1" /> |
| | | <el-option label="已接单" :value="2" /> |
| | | <el-option label="已完成" :value="3" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="等级" prop="level"> |
| | | <el-select v-model="level" placeholder="菜单状态" :disabled="erectoListLevel.length == 0" size="mini"> |
| | | <el-option label="本级" :value="0" /> |
| | | <el-option label="下级" :value="1" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item v-if="level == 1 && erectoListLevel.length > 0" label="下级联营商" prop="nextlevel"> |
| | | <el-select v-model="nextlevel" placeholder="菜单状态" size="mini"> |
| | | <el-option v-for="item in erectoListLevel" :label="item.dept.deptName" :value="item.userId" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button size="mini" type="primary" icon="el-icon-search" |
| | | @click="changePage(1)">搜索</el-button></el-form-item> |
| | | <!-- <el-form-item label="状态" prop="status"> |
| | | <el-select v-model="queryParams.WXBody" placeholder="菜单状态" clearable size="small"> |
| | | <el-option v-for="dict in WXBodyType" :key="dict.value" :label="dict.label" :value="dict.value" /> |
| | | </el-select> |
| | |
| | | <el-button slot="append" icon="el-icon-search"></el-button> |
| | | </el-input> |
| | | </el-form-item> --> |
| | | <el-form-item style="float: right" v-if="roleKey !== 'admin'"> |
| | | <el-button |
| | | type="primary" |
| | | v-hasPermi="['iot:device:add']" |
| | | plain |
| | | icon="el-icon-plus" |
| | | size="mini" |
| | | @click="openAZModal" |
| | | >新增</el-button |
| | | > |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table |
| | | :data="tableData" |
| | | style="width: 100%" |
| | | @selection-change="handleSelectionChange" |
| | | > |
| | | <el-table-column type="selection" fixed width="55"> </el-table-column> |
| | | <el-table-column prop="id" label="编号" width="60"> </el-table-column> |
| | | <el-table-column label="安装信息"> |
| | | <el-table-column prop="device" label="设备名称" width="120"> |
| | | <template slot-scope="scope"> |
| | | <div> |
| | | {{ |
| | | scope.row.device && scope.row.device.deviceName |
| | | ? scope.row.device.deviceName |
| | | : "--" |
| | | }} |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="erectoName" label="安装工" width="120"> |
| | | </el-table-column> |
| | | <el-form-item style="float: right;" v-if="roleKey !== 'admin'"> |
| | | <el-button type="primary" v-hasPermi="['iot:device:add']" plain icon="el-icon-plus" size="mini" |
| | | @click="openAZModal">新增</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | <el-table :data="tableData" style="width: 100%" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" fixed width="55"> |
| | | </el-table-column> |
| | | <el-table-column prop="id" label="编号" width="60"> |
| | | </el-table-column> |
| | | <el-table-column label="安装信息"> |
| | | <el-table-column prop="device" label="设备名称" width="120"> |
| | | <template slot-scope="scope"> |
| | | <div> |
| | | {{ scope.row.device && scope.row.device.deviceName ? scope.row.device.deviceName : '--' }} |
| | | </div> |
| | | |
| | | <el-table-column prop="appointmentTime" label="预约时间" width="150"> |
| | | <template slot-scope="scope"> |
| | | <div> |
| | | {{ |
| | | scope.row.appointmentTime ? scope.row.appointmentTime : "--" |
| | | }} |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="remark" label="备注"> |
| | | <template slot-scope="scope"> |
| | | <div> |
| | | {{ scope.row.remark ? scope.row.remark : "--" }} |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table-column> |
| | | <el-table-column label="状态" prop="state" width="120"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="scope.row.state == 0">未派单</div> |
| | | <div v-if="scope.row.state == 1">已派单</div> |
| | | <div v-if="scope.row.state == 2">已接单</div> |
| | | <div v-if="scope.row.state == 3">已完成</div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="用户信息"> |
| | | <el-table-column prop="userName" label="联系人" width="120"> |
| | | </el-table-column> |
| | | <el-table-column prop="userPhone" label="联系电话" width="120"> |
| | | </el-table-column> |
| | | <el-table-column prop="address" label="地址"> </el-table-column> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="评价信息"> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="erectoName" label="安装工" width="120"> |
| | | </el-table-column> |
| | | |
| | | <el-table-column prop="appointmentTime" label="预约时间" width="150"> |
| | | <template slot-scope="scope"> |
| | | <div> |
| | | {{ scope.row.appointmentTime ? scope.row.appointmentTime : '--' }} |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="remark" label="备注"> |
| | | <template slot-scope="scope"> |
| | | <div> |
| | | {{ scope.row.remark ? scope.row.remark : '--' }} |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | </el-table-column> |
| | | <el-table-column label="状态" prop="state" width="120"> |
| | | <template slot-scope="scope"> |
| | | <div v-if="scope.row.state == 0"> |
| | | 未派单 |
| | | </div> |
| | | <div v-if="scope.row.state == 1"> |
| | | 已派单 |
| | | </div> |
| | | <div v-if="scope.row.state == 2"> |
| | | 已接单 |
| | | </div> |
| | | <div v-if="scope.row.state == 3"> |
| | | 已完成 |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="用户信息"> |
| | | <el-table-column prop="userName" label="联系人" width="120"> |
| | | </el-table-column> |
| | | <el-table-column prop="userPhone" label="联系电话" width="120"> |
| | | </el-table-column> |
| | | <el-table-column prop="address" label="地址"> |
| | | </el-table-column> |
| | | </el-table-column> |
| | | <!-- <el-table-column label="评价信息"> |
| | | <el-table-column prop="score" label="评分" width="120"> |
| | | </el-table-column> |
| | | <el-table-column prop="evaluate" label="评价" minWidth="120"> |
| | | </el-table-column> |
| | | </el-table-column> --> |
| | | |
| | | <el-table-column |
| | | label="操作" |
| | | fixed="right" |
| | | align="center" |
| | | width="150" |
| | | class-name="small-padding fixed-width" |
| | | v-if="roleKey !== 'admin'" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <div style="display: flex; justify-content: space-around"> |
| | | <el-button |
| | | v-if="scope.row.state != 3" |
| | | size="small" |
| | | type="primary" |
| | | style="padding: 5px" |
| | | icon="el-icon-edit" |
| | | v-hasPermi="['iot:device:edit']" |
| | | @click="editModal(scope.row)" |
| | | >修改</el-button |
| | | > |
| | | <el-button |
| | | v-if="scope.row.state == 0" |
| | | size="small" |
| | | type="danger" |
| | | style="padding: 5px" |
| | | icon="el-icon-delete" |
| | | v-hasPermi="['iot:device:remove']" |
| | | @click="delModal(scope.row)" |
| | | >删除</el-button |
| | | > |
| | | <el-button |
| | | v-if="scope.row.state == 1 && scope.row.erectoName == nickName" |
| | | size="small" |
| | | type="success" |
| | | style="padding: 5px" |
| | | icon="el-icon-odometer" |
| | | @click="JDModal(scope.row)" |
| | | >接单</el-button |
| | | > |
| | | <el-button |
| | | v-if="scope.row.state == 2 && scope.row.erectoName == nickName" |
| | | size="small" |
| | | type="success" |
| | | style="padding: 5px" |
| | | icon="el-icon-check" |
| | | @click="jdModal(scope.row)" |
| | | >结单</el-button |
| | | > |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-pagination |
| | | background |
| | | :current-page="pageIndex" |
| | | @current-change="changePage" |
| | | :page-size="pageSize" |
| | | layout="prev, pager, next" |
| | | :total="total" |
| | | style="margin-top: 12px" |
| | | > |
| | | </el-pagination> |
| | | </el-card> |
| | | <el-table-column label="操作" fixed="right" align="center" width="150" class-name="small-padding fixed-width" |
| | | v-if="roleKey !== 'admin'"> |
| | | <template slot-scope="scope"> |
| | | <div style="display: flex;justify-content: space-around;"> |
| | | <el-button v-if="scope.row.state != 3" size="small" type="primary" style="padding:5px;" |
| | | icon="el-icon-edit" v-hasPermi="['iot:device:edit']" |
| | | @click="editModal(scope.row)">修改</el-button> |
| | | <el-button v-if="scope.row.state == 0" size="small" type="danger" style="padding:5px;" |
| | | icon="el-icon-delete" v-hasPermi="['iot:device:remove']" |
| | | @click="delModal(scope.row)">删除</el-button> |
| | | <el-button v-if="scope.row.state == 1 && scope.row.erectoName == nickName" size="small" |
| | | type="success" style="padding:5px;" icon="el-icon-odometer" |
| | | @click="JDModal(scope.row)">接单</el-button> |
| | | <el-button v-if="scope.row.state == 2 && scope.row.erectoName == nickName" size="small" |
| | | type="success" style="padding:5px;" icon="el-icon-check" |
| | | @click="jdModal(scope.row)">结单</el-button> |
| | | <el-button v-if="scope.row.state == 3" size="small" type="success" style="padding:5px;" |
| | | icon="el-icon-view" @click="viewModal(scope.row)">查看</el-button> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-pagination background :current-page="pageIndex" @current-change="changePage" :page-size="pageSize" |
| | | layout="prev, pager, next" :total="total" style="margin-top: 12px;"> |
| | | </el-pagination> |
| | | </el-card> |
| | | |
| | | <el-dialog :title="title" :visible.sync="AZModal"> |
| | | <el-form :model="form" :rules="rules" ref="form"> |
| | | <el-form-item |
| | | label="设备" |
| | | :label-width="formLabelWidth" |
| | | prop="deviceId" |
| | | > |
| | | <el-select |
| | | v-model="form.deviceId" |
| | | placeholder="请选择" |
| | | :disabled="title == '修改安装单'" |
| | | > |
| | | <el-option |
| | | v-for="item in deviceList" |
| | | :label="item.deviceName" |
| | | :value="item.deviceId" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="安装工" |
| | | :label-width="formLabelWidth" |
| | | prop="erectoId" |
| | | > |
| | | <el-select |
| | | v-model="form.erectoId" |
| | | placeholder="请选择" |
| | | :disabled="form.state > 1 || roleKey == 'tenantservice'" |
| | | > |
| | | <el-option |
| | | v-for="item in erectoList" |
| | | :label="item.nickName" |
| | | :value="item.userId" |
| | | ></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="状态" :label-width="formLabelWidth" prop="state"> |
| | | <el-radio-group v-model="form.state" disabled> |
| | | <el-radio :label="0">未指派</el-radio> |
| | | <el-radio :label="1">已派单</el-radio> |
| | | <el-radio :label="2">已接单</el-radio> |
| | | <el-radio :label="3">已完成</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="用户姓名" |
| | | :label-width="formLabelWidth" |
| | | prop="userName" |
| | | > |
| | | <el-input v-model="form.userName" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="手机号" |
| | | :label-width="formLabelWidth" |
| | | prop="userPhone" |
| | | > |
| | | <el-input v-model="form.userPhone" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="安装地址" |
| | | :label-width="formLabelWidth" |
| | | prop="address" |
| | | > |
| | | <el-input v-model="form.address" autocomplete="off"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="预约时间" :label-width="formLabelWidth"> |
| | | <el-date-picker |
| | | v-model="form.appointmentTime" |
| | | type="datetime" |
| | | placeholder="选择日期时间" |
| | | :disabled="form.state == 3" |
| | | value-format="yyyy-MM-dd HH:mm:ss" |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="备注" :label-width="formLabelWidth"> |
| | | <el-input type="textarea" v-model="form.remark"></el-input> |
| | | </el-form-item> |
| | | <el-form-item |
| | | label="上传图片" |
| | | v-if="form.state == 3" |
| | | :label-width="formLabelWidth" |
| | | > |
| | | <el-upload |
| | | ref="uploadImg" |
| | | action="#" |
| | | :on-change="handleChange" |
| | | list-type="picture-card" |
| | | :multiple="false" |
| | | :auto-upload="false" |
| | | :on-preview="handlePictureCardPreview" |
| | | :headers="headerObj" |
| | | :limit="1" |
| | | :on-exceed="exceed" |
| | | :on-remove="handleRemove" |
| | | > |
| | | <i class="el-icon-plus"></i> |
| | | </el-upload> |
| | | <el-dialog :visible.sync="dialogVisible"> |
| | | <img width="100%" :src="dialogImageUrl" alt="" /> |
| | | </el-dialog> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="AZModal = false" size="mini">取 消</el-button> |
| | | <el-button type="primary" @click="submitForm('form')" size="mini" |
| | | >确 定</el-button |
| | | > |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="删除数据" :visible.sync="deleteModal" width="30%"> |
| | | <span>是否删除该条数据</span> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="deleteModal = false" size="mini">取 消</el-button> |
| | | <el-button type="primary" @click="delDate" size="mini">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="接单" :visible.sync="acceptModal" width="30%"> |
| | | <span>是否确认接单?此操作不可恢复!</span> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="acceptModal = false" size="mini">取 消</el-button> |
| | | <el-button type="primary" @click="add" size="mini">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | <el-dialog :title="title" :visible.sync="AZModal"> |
| | | <el-form :model="form" :rules="rules" ref="form"> |
| | | <el-form-item label="设备" :label-width="formLabelWidth" prop="deviceId"> |
| | | <el-select v-model="form.deviceId" placeholder="请选择" :disabled="title == '修改安装单'||view"> |
| | | <el-option v-for="item in deviceList" :label="item.deviceName" :value="item.deviceId"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="安装工" :label-width="formLabelWidth" prop="erectoId"> |
| | | <el-select v-model="form.erectoId" placeholder="请选择" |
| | | :disabled="form.state > 1 || roleKey == 'tenantservice'"> |
| | | <el-option v-for="item in erectoList" :label="item.nickName" :value="item.userId"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="状态" :label-width="formLabelWidth" prop="state"> |
| | | <el-radio-group v-model="form.state" disabled> |
| | | <el-radio :label="0">未指派</el-radio> |
| | | <el-radio :label="1">已派单</el-radio> |
| | | <el-radio :label="2">已接单</el-radio> |
| | | <el-radio :label="3">已完成</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="用户姓名" :label-width="formLabelWidth" prop="userName"> |
| | | <el-input v-model="form.userName" autocomplete="off" :disabled="view"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="手机号" :label-width="formLabelWidth" prop="userPhone"> |
| | | <el-input v-model="form.userPhone" autocomplete="off" :disabled="view"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="安装地址" :label-width="formLabelWidth" prop="address"> |
| | | <el-input v-model="form.address" autocomplete="off" :disabled="view"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="预约时间" :label-width="formLabelWidth"> |
| | | <el-date-picker v-model="form.appointmentTime" type="datetime" placeholder="选择日期时间" |
| | | :disabled="form.state == 3" value-format="yyyy-MM-dd HH:mm:ss"> |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="备注" :label-width="formLabelWidth"> |
| | | <el-input type="textarea" v-model="form.remark" :disabled="view"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="图片" v-if="view" :label-width="formLabelWidth"> |
| | | <img :src="form.imgUrl" alt=""> |
| | | </el-form-item> |
| | | <el-form-item label="上传图片" v-if=" form.state == 3 && !view " :label-width=" formLabelWidth "> |
| | | <el-upload ref="uploadImg" action="#" :on-change=" handleChange " list-type="picture-card" |
| | | :multiple=" false " :auto-upload=" false " :on-preview=" handlePictureCardPreview " :headers=" headerObj " |
| | | :limit=" 1 " :on-exceed=" exceed " :on-remove=" handleRemove "> |
| | | <i class="el-icon-plus"></i> |
| | | </el-upload> |
| | | <el-dialog :visible.sync=" dialogVisible "> |
| | | <img width="100%" :src=" dialogImageUrl " alt=""> |
| | | </el-dialog> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button @click="AZModal = false" :disabled="view" size="mini">取 消</el-button> |
| | | <el-button type="primary" @click="submitForm('form')" :disabled="view" size="mini">确 定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog title="删除数据" :visible.sync=" deleteModal " width="30%"> |
| | | <span>是否删除该条数据</span> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="deleteModal = false" size="mini">取 消</el-button> |
| | | <el-button type="primary" @click=" delDate " size="mini">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog title="接单" :visible.sync=" acceptModal " width="30%"> |
| | | <span>是否确认接单?此操作不可恢复!</span> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="acceptModal = false" size="mini">取 消</el-button> |
| | | <el-button type="primary" @click=" add " size="mini">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import request from "@/utils/request"; |
| | | import request from '@/utils/request' |
| | | import FileUpload from "@/components/FileUpload/index.vue"; |
| | | import { getToken } from "@/utils/auth"; |
| | | import { |
| | | getToken |
| | | } from "@/utils/auth"; |
| | | // import { |
| | | // listAlertLog, |
| | | // getAlertLog, |
| | |
| | | // } from "@/api/iot/alertLog"; |
| | | |
| | | export default { |
| | | // name: "AlertLog", |
| | | // dicts: ['iot_alert_level', 'iot_process_status'], |
| | | components: { |
| | | FileUpload, |
| | | }, |
| | | data() { |
| | | return { |
| | | nickName: localStorage.getItem("nickName"), |
| | | headerObj: { |
| | | Authorization: "Bearer " + getToken(), |
| | | }, |
| | | acceptModal: false, |
| | | acceptDateParams: {}, |
| | | nextlevel: 0, |
| | | level: 0, |
| | | title: "创建安装单", |
| | | deleteModal: false, |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | total: 20, |
| | | searchName: "", |
| | | queryParams: { |
| | | WXBody: "未派单", |
| | | PDBody: "未派单", |
| | | }, |
| | | WXBodyType: [ |
| | | { label: "全部工单", value: "全部工单" }, |
| | | { label: "未派单", value: "未派单" }, |
| | | { label: "num1", value: "num1" }, |
| | | ], |
| | | rules: { |
| | | deviceId: [ |
| | | { required: true, message: "请选择设备", trigger: "change" }, |
| | | ], |
| | | erectoId: [ |
| | | { required: true, message: "请选择安装工", trigger: "change" }, |
| | | ], |
| | | userName: [ |
| | | { required: true, message: "用户姓名不能为空", trigger: "blur" }, |
| | | ], |
| | | userPhone: [ |
| | | { required: true, trigger: "blur", message: "请输入您的手机号码" }, |
| | | { |
| | | pattern: /^1[3456789]\d{9}$/, |
| | | message: "手机号码格式不正确", |
| | | trigger: "blur", |
| | | }, |
| | | ], |
| | | address: [ |
| | | { required: true, message: "安装地址不能为空", trigger: "blur" }, |
| | | ], |
| | | }, |
| | | form: {}, |
| | | tableData: [], |
| | | formLabelWidth: "120px", |
| | | AZModal: false, |
| | | deviceList: [], |
| | | state: -1, |
| | | id: 0, |
| | | erectoList: [], |
| | | erectoListLevel: [], |
| | | roleKey: localStorage.getItem("roleKey"), |
| | | dialogImageUrl: "", |
| | | dialogVisible: false, |
| | | }; |
| | | }, |
| | | // name: "AlertLog", |
| | | // dicts: ['iot_alert_level', 'iot_process_status'], |
| | | components: { |
| | | FileUpload |
| | | }, |
| | | data() { |
| | | return { |
| | | nickName: localStorage.getItem('nickName'), |
| | | headerObj: { |
| | | Authorization: "Bearer " + getToken() |
| | | }, |
| | | acceptModal: false, |
| | | acceptDateParams: {}, |
| | | nextlevel: 0, |
| | | level: 0, |
| | | title: '创建安装单', |
| | | deleteModal: false, |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | total: 20, |
| | | searchName: '', |
| | | queryParams: { |
| | | WXBody: '未派单', |
| | | PDBody: '未派单' |
| | | }, |
| | | WXBodyType: [{ label: '全部工单', value: '全部工单' }, { label: '未派单', value: '未派单' }, { label: 'num1', value: 'num1' }], |
| | | rules: { |
| | | deviceId: [ |
| | | { required: true, message: '请选择设备', trigger: 'change' } |
| | | ], |
| | | erectoId: [ |
| | | { required: true, message: "请选择安装工", trigger: "change" } |
| | | ], |
| | | userName: [ |
| | | { required: true, message: "用户姓名不能为空", trigger: "blur" } |
| | | ], |
| | | userPhone: [ |
| | | { required: true, trigger: "blur", message: "请输入您的手机号码" }, |
| | | { pattern: /^1[3456789]\d{9}$/, message: '手机号码格式不正确', trigger: 'blur' } |
| | | ], |
| | | address: [ |
| | | { required: true, message: "安装地址不能为空", trigger: "blur" } |
| | | ], |
| | | }, |
| | | form: {}, |
| | | tableData: [ |
| | | ], |
| | | formLabelWidth: '120px', |
| | | AZModal: false, |
| | | deviceList: [], |
| | | state: -1, |
| | | id: 0, |
| | | erectoList: [], |
| | | erectoListLevel: [], |
| | | roleKey: localStorage.getItem('roleKey'), |
| | | dialogImageUrl: '', |
| | | dialogVisible: false, |
| | | view: false |
| | | |
| | | mounted() { |
| | | console.log(this.nickName); |
| | | this.getList(); |
| | | this.getErectoList(); |
| | | this.getErectoListLevel(); |
| | | }, |
| | | methods: { |
| | | exceed(e) { |
| | | console.log(e); |
| | | this.$message({ |
| | | message: "图片最多上传一张", |
| | | type: "error", |
| | | }); |
| | | }, |
| | | handleRemove(file, fileList) { |
| | | this.form.imgUrl = ""; |
| | | console.log(file, fileList); |
| | | }, |
| | | handleChange(file) { |
| | | console.log(file); |
| | | this.dialogImageUrl = file.url; |
| | | // this.dialogVisible = true; |
| | | let formData = new FormData(); |
| | | formData.append("avatarfile", file.raw); |
| | | request({ |
| | | url: "/iot/deviceOrder/profile/avatar", |
| | | method: "post", |
| | | data: formData, |
| | | }) |
| | | .then((res) => { |
| | | console.log(res); |
| | | if (res.code == 200) { |
| | | this.$message({ |
| | | message: "上传成功", |
| | | type: "success", |
| | | }); |
| | | this.form.imgUrl = "https://puyue.yhupai.com/prod-api" + res.imgUrl; |
| | | } else { |
| | | this.$message({ |
| | | message: "上传失败", |
| | | type: "error", |
| | | }); |
| | | } |
| | | }) |
| | | .catch((res) => { |
| | | this.$message({ |
| | | message: "上传失败", |
| | | type: "error", |
| | | }); |
| | | }); |
| | | }, |
| | | handlePictureCardPreview() {}, |
| | | // uploadImg |
| | | getErectoList() { |
| | | let data = { |
| | | pageNum: 1, |
| | | pageSize: 10000, |
| | | deptId: localStorage.getItem("deptId"), |
| | | isAuthentication: 1, |
| | | }; |
| | | request({ |
| | | url: "/system/user/list", |
| | | method: "get", |
| | | params: data, |
| | | }) |
| | | .then((res) => { |
| | | console.log(res); |
| | | if (res.code == 200) { |
| | | this.erectoList = res.rows; |
| | | this.erectoList.unshift({ |
| | | nickName: "未指派", |
| | | userId: -1, |
| | | }); |
| | | } else { |
| | | this.erectoList = []; |
| | | } |
| | | }) |
| | | .catch((res) => { |
| | | this.erectoList = []; |
| | | }); |
| | | }, |
| | | getErectoListLevel() { |
| | | this.erectoListLevel = []; |
| | | let data = { |
| | | pageNum: 1, |
| | | pageSize: 10000, |
| | | deptId: localStorage.getItem("deptId"), |
| | | // isAuthentication: 1, |
| | | roleKey: "tenanthelper", |
| | | }; |
| | | request({ |
| | | url: "/system/user/list", |
| | | method: "get", |
| | | params: data, |
| | | }) |
| | | .then((res) => { |
| | | console.log(res); |
| | | if (res.code == 200 && res.rows.length > 0) { |
| | | this.erectoListLevel = res.rows; |
| | | this.nextlevel = res.rows[0].userId; |
| | | } else { |
| | | this.erectoListLevel = []; |
| | | } |
| | | }) |
| | | .catch((res) => { |
| | | this.erectoListLevel = []; |
| | | }); |
| | | }, |
| | | // 获取设备列表 |
| | | getDeviceList() { |
| | | let data = { |
| | | status: 1, |
| | | }; |
| | | request({ |
| | | url: "/iot/device/shortList", |
| | | method: "get", |
| | | params: data, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 200) { |
| | | this.deviceList = res.rows; |
| | | } else { |
| | | this.deviceList = []; |
| | | } |
| | | }) |
| | | .catch((res) => { |
| | | this.deviceList = []; |
| | | }); |
| | | }, |
| | | // 获取安装列表 |
| | | getList() { |
| | | this.tableData = []; |
| | | let data = { |
| | | pageNum: this.pageIndex, |
| | | pageSize: this.pageSize, |
| | | state: this.state, |
| | | orderType: 1, |
| | | }; |
| | | if (this.roleKey == "tenantservice") { |
| | | data.createUserId = 0; |
| | | data.erectoId = localStorage.getItem("userID"); |
| | | } |
| | | if (this.roleKey == "admin") { |
| | | data.createUserId = 0; |
| | | data.erectoId = 0; |
| | | } |
| | | if (this.roleKey == "tenant" || this.roleKey == "tenanthelper") { |
| | | data.createUserId = localStorage.getItem("userID"); |
| | | data.erectoId = 0; |
| | | } |
| | | if (this.level == 1) { |
| | | //当选择下级时 |
| | | data.createUserId = this.nextlevel; |
| | | } |
| | | request({ |
| | | url: "/iot/deviceOrder/list", |
| | | method: "get", |
| | | params: data, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 200) { |
| | | this.tableData = res.rows; |
| | | this.total = res.total; |
| | | } else { |
| | | this.tableData = []; |
| | | this.total = 0; |
| | | } |
| | | }) |
| | | .catch((res) => { |
| | | this.tableData = []; |
| | | this.total = 0; |
| | | }); |
| | | }, |
| | | handleSelectionChange(e) { |
| | | console.log(1, e); |
| | | }, |
| | | filterHandlerBody(e) { |
| | | console.log(2, e); |
| | | }, |
| | | filterHandlerStatus(e) { |
| | | console.log(3, e); |
| | | }, |
| | | changePage(e) { |
| | | this.pageIndex = e; |
| | | this.getList(); |
| | | }, |
| | | openAZModal() { |
| | | this.getDeviceList(); |
| | | this.form = { |
| | | deviceId: undefined, |
| | | address: "", //地址 |
| | | appointmentTime: "", //预约时间 |
| | | remark: "", //备注 |
| | | erectoId: -1, //安装工 |
| | | userName: "", //用户信息,联系人 |
| | | userPhone: "", //用户信息联系电话 |
| | | erectoName: "未指派", |
| | | state: 0, |
| | | }; |
| | | this.title = "创建安装单"; |
| | | this.AZModal = true; |
| | | }, |
| | | submitForm() { |
| | | this.$refs["form"].validate((valid) => { |
| | | if (valid) { |
| | | this.add(); |
| | | } else { |
| | | console.log("error submit!!"); |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | add() { |
| | | for (let i = 0; i < this.erectoList.length; i++) { |
| | | if (this.form.erectoId == this.erectoList[i].userId) { |
| | | this.form.erectoName = this.erectoList[i].nickName; |
| | | } |
| | | } |
| | | console.log(this.form); |
| | | let data = { |
| | | deviceId: this.form.deviceId, |
| | | erectoId: this.form.erectoId, |
| | | erectoName: this.form.erectoName, |
| | | userName: this.form.userName, |
| | | userPhone: this.form.userPhone, |
| | | address: this.form.address, |
| | | appointmentTime: this.form.appointmentTime, |
| | | remark: this.form.remark, |
| | | state: this.form.state, |
| | | }; |
| | | if (this.form.receiveTime) { |
| | | data.receiveTime = this.form.receiveTime; |
| | | } |
| | | console.log(data); |
| | | if (this.title == "修改安装单") { |
| | | (data.id = this.id), (data.orderType = "1"); |
| | | if (this.form.state == 3) { |
| | | if (!this.form.imgUrl) { |
| | | |
| | | mounted() { |
| | | console.log(this.nickName); |
| | | this.getList(); |
| | | this.getErectoList() |
| | | this.getErectoListLevel() |
| | | }, |
| | | methods: { |
| | | exceed(e) { |
| | | console.log(e); |
| | | this.$message({ |
| | | message: "请上传图片", |
| | | type: "error", |
| | | message: '图片最多上传一张', |
| | | type: 'error' |
| | | }); |
| | | return; |
| | | } |
| | | data.imgUrl = this.form.imgUrl; |
| | | } |
| | | console.log(data); |
| | | request({ |
| | | url: "/iot/deviceOrder", |
| | | method: "put", |
| | | data: data, |
| | | }) |
| | | .then((res) => { |
| | | console.log(res); |
| | | if (res.code == 200) { |
| | | this.state = -1; |
| | | this.pageIndex = 1; |
| | | this.getList(); |
| | | this.AZModal = false; |
| | | this.acceptModal = false; |
| | | } else { |
| | | this.state = -1; |
| | | this.pageIndex = 1; |
| | | this.getList(); |
| | | this.AZModal = false; |
| | | this.acceptModal = false; |
| | | }, |
| | | handleRemove(file, fileList) { |
| | | this.form.imgUrl = '' |
| | | console.log(file, fileList); |
| | | }, |
| | | handleChange(file) { |
| | | |
| | | if (file.size > 1024 * 1024 * 2) { |
| | | this.$refs.uploadImg.uploadFiles.length = 0; |
| | | this.$message({ |
| | | message: '图片大小不能超过2M,请重新上传', |
| | | type: 'error' |
| | | }); |
| | | return |
| | | } |
| | | }) |
| | | .catch((res) => { |
| | | this.state = -1; |
| | | this.pageIndex = 1; |
| | | this.getList(); |
| | | this.AZModal = false; |
| | | this.acceptModal = false; |
| | | }); |
| | | } else { |
| | | request({ |
| | | url: "/iot/deviceOrder", |
| | | method: "post", |
| | | data: data, |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 200) { |
| | | this.state = -1; |
| | | this.pageIndex = 1; |
| | | this.getList(); |
| | | this.AZModal = false; |
| | | } else { |
| | | this.state = -1; |
| | | this.pageIndex = 1; |
| | | this.getList(); |
| | | this.AZModal = false; |
| | | this.dialogImageUrl = file.url; |
| | | let formData = new FormData(); |
| | | formData.append('avatarfile', file.raw); |
| | | request({ |
| | | url: '/iot/deviceOrder/profile/avatar', |
| | | method: "post", |
| | | data: formData |
| | | }).then((res) => { |
| | | console.log(res); |
| | | if (res.code == 200) { |
| | | this.$message({ |
| | | message: '上传成功', |
| | | type: 'success' |
| | | }); |
| | | this.form.imgUrl = 'https://puyue.yhupai.com/prod-api' + res.imgUrl |
| | | } else { |
| | | this.$message({ |
| | | message: '上传失败', |
| | | type: 'error' |
| | | }); |
| | | } |
| | | }).catch((res) => { |
| | | this.$message({ |
| | | message: '上传失败', |
| | | type: 'error' |
| | | }); |
| | | }) |
| | | |
| | | }, |
| | | handlePictureCardPreview(file) { |
| | | this.dialogImageUrl = file.url; |
| | | this.dialogVisible = true; |
| | | }, |
| | | // uploadImg |
| | | getErectoList() { |
| | | let data = { |
| | | pageNum: 1, |
| | | pageSize: 10000, |
| | | deptId: localStorage.getItem('deptId'), |
| | | isAuthentication: 1, |
| | | } |
| | | }) |
| | | .catch((res) => { |
| | | this.state = -1; |
| | | this.pageIndex = 1; |
| | | this.getList(); |
| | | this.AZModal = false; |
| | | }); |
| | | } |
| | | request({ |
| | | url: '/system/user/list', |
| | | method: "get", |
| | | params: data |
| | | }).then((res) => { |
| | | console.log(res); |
| | | if (res.code == 200) { |
| | | this.erectoList = res.rows |
| | | this.erectoList.unshift({ |
| | | nickName: '未指派', |
| | | userId: -1 |
| | | }) |
| | | } else { |
| | | this.erectoList = [] |
| | | } |
| | | }).catch((res) => { |
| | | this.erectoList = [] |
| | | }) |
| | | }, |
| | | getErectoListLevel() { |
| | | this.erectoListLevel = [] |
| | | let data = { |
| | | pageNum: 1, |
| | | pageSize: 10000, |
| | | deptId: localStorage.getItem('deptId'), |
| | | // isAuthentication: 1, |
| | | roleKey: 'tenanthelper', |
| | | } |
| | | request({ |
| | | url: '/system/user/list', |
| | | method: "get", |
| | | params: data |
| | | }).then((res) => { |
| | | console.log(res); |
| | | if (res.code == 200 && res.rows.length > 0) { |
| | | this.erectoListLevel = res.rows |
| | | this.nextlevel = res.rows[0].userId |
| | | } else { |
| | | this.erectoListLevel = [] |
| | | } |
| | | }).catch((res) => { |
| | | this.erectoListLevel = [] |
| | | }) |
| | | }, |
| | | // 获取设备列表 |
| | | getDeviceList() { |
| | | let data = { |
| | | status: 1 |
| | | } |
| | | request({ |
| | | url: '/iot/device/shortList', |
| | | method: "get", |
| | | params: data |
| | | }).then((res) => { |
| | | if (res.code == 200) { |
| | | this.deviceList = res.rows |
| | | } else { |
| | | this.deviceList = [] |
| | | } |
| | | }).catch((res) => { |
| | | this.deviceList = [] |
| | | }) |
| | | }, |
| | | // 获取安装列表 |
| | | getList() { |
| | | this.tableData = [] |
| | | let data = { |
| | | pageNum: this.pageIndex, |
| | | pageSize: this.pageSize, |
| | | state: this.state, |
| | | orderType: 1, |
| | | } |
| | | if (this.roleKey == 'tenantservice') { |
| | | data.createUserId = 0 |
| | | data.erectoId = localStorage.getItem('userID') |
| | | } |
| | | if (this.roleKey == 'admin') { |
| | | data.createUserId = 0; |
| | | data.erectoId = 0; |
| | | } |
| | | if (this.roleKey == 'tenant' || this.roleKey == 'tenanthelper') { |
| | | data.createUserId = localStorage.getItem('userID'); |
| | | data.erectoId = 0; |
| | | } |
| | | if (this.level == 1) { //当选择下级时 |
| | | data.createUserId = this.nextlevel |
| | | } |
| | | request({ |
| | | url: '/iot/deviceOrder/list', |
| | | method: "get", |
| | | params: data |
| | | }).then((res) => { |
| | | if (res.code == 200) { |
| | | this.tableData = res.rows |
| | | this.total = res.total |
| | | } else { |
| | | this.tableData = [] |
| | | this.total = 0 |
| | | } |
| | | }).catch((res) => { |
| | | this.tableData = [] |
| | | this.total = 0 |
| | | }) |
| | | }, |
| | | handleSelectionChange(e) { |
| | | console.log(1, e); |
| | | }, |
| | | filterHandlerBody(e) { |
| | | console.log(2, e); |
| | | }, |
| | | filterHandlerStatus(e) { |
| | | console.log(3, e); |
| | | }, |
| | | changePage(e) { |
| | | this.pageIndex = e |
| | | this.getList() |
| | | |
| | | }, |
| | | openAZModal() { |
| | | this.getDeviceList(); |
| | | this.form = { |
| | | deviceId: undefined, |
| | | address: '',//地址 |
| | | appointmentTime: '',//预约时间 |
| | | remark: '',//备注 |
| | | erectoId: -1,//安装工 |
| | | userName: '', //用户信息,联系人 |
| | | userPhone: '',//用户信息联系电话 |
| | | erectoName: '未指派', |
| | | state: 0 |
| | | } |
| | | this.title = '创建安装单' |
| | | this.AZModal = true |
| | | }, |
| | | submitForm() { |
| | | this.$refs['form'].validate((valid) => { |
| | | if (valid) { |
| | | this.add() |
| | | } else { |
| | | console.log('error submit!!'); |
| | | return false; |
| | | } |
| | | }); |
| | | }, |
| | | add() { |
| | | for (let i = 0; i < this.erectoList.length; i++) { |
| | | if (this.form.erectoId == this.erectoList[i].userId) { |
| | | this.form.erectoName = this.erectoList[i].nickName |
| | | } |
| | | } |
| | | console.log(this.form); |
| | | let data = { |
| | | deviceId: this.form.deviceId, |
| | | erectoId: this.form.erectoId, |
| | | erectoName: this.form.erectoName, |
| | | userName: this.form.userName, |
| | | userPhone: this.form.userPhone, |
| | | address: this.form.address, |
| | | appointmentTime: this.form.appointmentTime, |
| | | remark: this.form.remark, |
| | | state: this.form.state, |
| | | } |
| | | if (this.form.receiveTime) { |
| | | data.receiveTime = this.form.receiveTime |
| | | } |
| | | console.log(data); |
| | | if (this.title == '修改安装单') { |
| | | data.id = this.id, |
| | | data.orderType = '1' |
| | | if (this.form.state == 3) { |
| | | if (!this.form.imgUrl) { |
| | | this.$message({ |
| | | message: '请上传图片', |
| | | type: 'error' |
| | | }); |
| | | return |
| | | } |
| | | data.imgUrl = this.form.imgUrl |
| | | } |
| | | console.log(data); |
| | | request({ |
| | | url: '/iot/deviceOrder', |
| | | method: "put", |
| | | data: data |
| | | }).then((res) => { |
| | | console.log(res); |
| | | if (res.code == 200) { |
| | | this.state = -1 |
| | | this.pageIndex = 1 |
| | | this.getList() |
| | | this.AZModal = false |
| | | this.acceptModal = false |
| | | |
| | | } else { |
| | | this.state = -1 |
| | | this.pageIndex = 1 |
| | | this.getList() |
| | | this.AZModal = false |
| | | this.acceptModal = false |
| | | |
| | | } |
| | | }).catch((res) => { |
| | | this.state = -1 |
| | | this.pageIndex = 1 |
| | | this.getList() |
| | | this.AZModal = false |
| | | this.acceptModal = false |
| | | |
| | | }) |
| | | |
| | | } else { |
| | | |
| | | request({ |
| | | url: '/iot/deviceOrder', |
| | | method: "post", |
| | | data: data |
| | | }).then((res) => { |
| | | if (res.code == 200) { |
| | | this.state = -1 |
| | | this.pageIndex = 1 |
| | | this.getList() |
| | | this.AZModal = false |
| | | |
| | | } else { |
| | | this.state = -1 |
| | | this.pageIndex = 1 |
| | | this.getList() |
| | | this.AZModal = false |
| | | } |
| | | }).catch((res) => { |
| | | this.state = -1 |
| | | this.pageIndex = 1 |
| | | this.getList() |
| | | this.AZModal = false |
| | | }) |
| | | } |
| | | |
| | | }, |
| | | editModal(item) { |
| | | this.title = '修改安装单' |
| | | this.form = item |
| | | this.form = JSON.parse(JSON.stringify(item)) |
| | | this.deviceList = [{ deviceName: item.device.deviceName, deviceId: item.device.deviceId }] |
| | | console.log(this.form); |
| | | this.AZModal = true |
| | | this.id = item.id |
| | | }, |
| | | delModal(item) { |
| | | this.id = item.id |
| | | this.deleteModal = true |
| | | }, |
| | | delDate() { |
| | | let that = this |
| | | let data = { |
| | | id: this.id |
| | | } |
| | | request({ |
| | | url: `/iot/deviceOrder/${this.id}`, |
| | | method: "DELETE", |
| | | // params: data |
| | | }).then((res) => { |
| | | if (res.code == 200) { |
| | | that.pageIndex = 1 |
| | | that.getList() |
| | | that.deleteModal = false |
| | | } else { |
| | | that.pageIndex = 1 |
| | | that.getList() |
| | | that.deleteModal = false |
| | | } |
| | | |
| | | }).catch((res) => { |
| | | that.pageIndex = 1 |
| | | that.getList() |
| | | that.deleteModal = false |
| | | }) |
| | | }, |
| | | // 接单 |
| | | JDModal(item) { |
| | | this.title = '修改安装单' |
| | | this.form = JSON.parse(JSON.stringify(item)) |
| | | this.form.state = 2 |
| | | this.deviceList = [{ deviceName: item.device.deviceName, deviceId: item.device.deviceId }] |
| | | this.id = item.id |
| | | this.form.receiveTime = this.formatNow() |
| | | this.view = false |
| | | this.acceptModal = true |
| | | }, |
| | | formatNow() { |
| | | let now = new Date(); |
| | | let year = now.getFullYear(); |
| | | let month = (now.getMonth() + 1).toString().padStart(2, '0'); // 注意:月份是从 0 开始的,所以需要 +1 |
| | | let day = now.getDate().toString().padStart(2, '0'); |
| | | let hour = now.getHours().toString().padStart(2, '0'); |
| | | let minute = now.getMinutes().toString().padStart(2, '0'); |
| | | let second = now.getSeconds().toString().padStart(2, '0'); |
| | | let millisecond = now.getMilliseconds().toString().padStart(3, '0'); |
| | | return `${year}-${month}-${day} ${hour}:${minute}:${second}`; |
| | | }, |
| | | // 结单 |
| | | jdModal(item) { |
| | | this.title = '修改安装单' |
| | | this.form = JSON.parse(JSON.stringify(item)) |
| | | this.form.state = 3 |
| | | this.deviceList = [{ deviceName: item.device.deviceName, deviceId: item.device.deviceId }] |
| | | this.id = item.id |
| | | this.view = false |
| | | // this.form.receiveTime = this.formatNow() |
| | | this.AZModal = true |
| | | }, |
| | | // 结单查看 |
| | | viewModal(item) { |
| | | this.title = '查看安装单' |
| | | this.form = JSON.parse(JSON.stringify(item)) |
| | | this.deviceList = [{ deviceName: item.device.deviceName, deviceId: item.device.deviceId }] |
| | | this.id = item.id |
| | | this.view = true |
| | | // this.form.receiveTime = this.formatNow() |
| | | this.AZModal = true |
| | | }, |
| | | }, |
| | | editModal(item) { |
| | | this.title = "修改安装单"; |
| | | this.form = item; |
| | | this.form = JSON.parse(JSON.stringify(item)); |
| | | this.deviceList = [ |
| | | { deviceName: item.device.deviceName, deviceId: item.device.deviceId }, |
| | | ]; |
| | | console.log(this.form); |
| | | this.AZModal = true; |
| | | this.id = item.id; |
| | | }, |
| | | delModal(item) { |
| | | this.id = item.id; |
| | | this.deleteModal = true; |
| | | }, |
| | | delDate() { |
| | | let that = this; |
| | | let data = { |
| | | id: this.id, |
| | | }; |
| | | request({ |
| | | url: `/iot/deviceOrder/${this.id}`, |
| | | method: "DELETE", |
| | | // params: data |
| | | }) |
| | | .then((res) => { |
| | | if (res.code == 200) { |
| | | that.pageIndex = 1; |
| | | that.getList(); |
| | | that.deleteModal = false; |
| | | } else { |
| | | that.pageIndex = 1; |
| | | that.getList(); |
| | | that.deleteModal = false; |
| | | } |
| | | }) |
| | | .catch((res) => { |
| | | that.pageIndex = 1; |
| | | that.getList(); |
| | | that.deleteModal = false; |
| | | }); |
| | | }, |
| | | JDModal(item) { |
| | | this.title = "修改安装单"; |
| | | this.form = JSON.parse(JSON.stringify(item)); |
| | | this.form.state = 2; |
| | | this.deviceList = [ |
| | | { deviceName: item.device.deviceName, deviceId: item.device.deviceId }, |
| | | ]; |
| | | this.id = item.id; |
| | | this.form.receiveTime = this.formatNow(); |
| | | this.acceptModal = true; |
| | | }, |
| | | formatNow() { |
| | | let now = new Date(); |
| | | let year = now.getFullYear(); |
| | | let month = (now.getMonth() + 1).toString().padStart(2, "0"); // 注意:月份是从 0 开始的,所以需要 +1 |
| | | let day = now.getDate().toString().padStart(2, "0"); |
| | | let hour = now.getHours().toString().padStart(2, "0"); |
| | | let minute = now.getMinutes().toString().padStart(2, "0"); |
| | | let second = now.getSeconds().toString().padStart(2, "0"); |
| | | let millisecond = now.getMilliseconds().toString().padStart(3, "0"); |
| | | return `${year}-${month}-${day} ${hour}:${minute}:${second}`; |
| | | }, |
| | | jdModal(item) { |
| | | this.title = "修改安装单"; |
| | | this.form = JSON.parse(JSON.stringify(item)); |
| | | this.form.state = 3; |
| | | this.deviceList = [ |
| | | { deviceName: item.device.deviceName, deviceId: item.device.deviceId }, |
| | | ]; |
| | | this.id = item.id; |
| | | // this.form.receiveTime = this.formatNow() |
| | | this.AZModal = true; |
| | | }, |
| | | }, |
| | | watch: { |
| | | "form.erectoId": { |
| | | handler(newVal, oldVal) { |
| | | if (this.form.state < 2) { |
| | | if (newVal && newVal == -1) { |
| | | this.form.state = 0; |
| | | } else { |
| | | this.form.state = 1; |
| | | } |
| | | } |
| | | }, |
| | | deep: true, |
| | | }, |
| | | }, |
| | | }; |
| | | watch: { |
| | | 'form.erectoId': { |
| | | handler(newVal, oldVal) { |
| | | if (this.form.state < 2) { |
| | | if (newVal && newVal == -1) { |
| | | this.form.state = 0 |
| | | } else { |
| | | this.form.state = 1 |
| | | } |
| | | } |
| | | |
| | | }, |
| | | deep: true, |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .title { |
| | | display: flex; |
| | | display: flex; |
| | | } |
| | | |
| | | .el-select .el-input { |
| | | width: 130px; |
| | | width: 130px; |
| | | } |
| | | |
| | | .input-with-select .el-input-group__prepend { |
| | | background-color: #fff; |
| | | background-color: #fff; |
| | | } |
| | | </style> |