| | |
| | | }else if (user.getRoleId()<3){ |
| | | item="true2"; |
| | | } |
| | | }catch (Exception e){ |
| | | }catch (Exception ignored){ } |
| | | return R.ok(item); |
| | | } |
| | | |
| | | @RequestMapping("/dashboard/user/id/popup/auth") |
| | | public R popupUserId(String token) { |
| | | Long item = 0L; |
| | | if (Cools.isEmpty(token)){ |
| | | return R.ok(item); |
| | | } |
| | | try{ |
| | | User user = getUser(token); |
| | | if (Cools.isEmpty(user) || Cools.isEmpty(user.getId())){ |
| | | return R.ok(item); |
| | | } |
| | | item = user.getId(); |
| | | }catch (Exception ignored){ } |
| | | return R.ok(item); |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | boolean sendSmsCode = smsCodeService.sendSmsCode(phone); |
| | | if (!sendSmsCode) { |
| | | return R.error(); |
| | | try{ |
| | | boolean sendSmsCode = smsCodeService.sendSmsCode(phone); |
| | | if (!sendSmsCode) { |
| | | return R.error("发送失败,请检查网络!"); |
| | | } |
| | | }catch (Exception e){ |
| | | return R.error("发送失败,请检查网络!"); |
| | | } |
| | | |
| | | return R.ok(); |
| | | } |
| | | |
| | |
| | | * 发送人 |
| | | */ |
| | | @ApiModelProperty(value= "分类") |
| | | private Integer type; |
| | | @TableField("sms_type") |
| | | private Integer smsType; |
| | | |
| | | |
| | | public SmsCode() {} |
| | |
| | | import com.zy.crm.manager.entity.SmsCode; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | @Mapper |
| | | @Repository |
| | | public interface SmsCodeMapper extends BaseMapper<SmsCode> { |
| | | |
| | | SmsCode selectByPhone(String phone,Integer type); |
| | | SmsCode selectByPhone(@Param("phone") String phone,@Param("smsType") Integer smsType); |
| | | |
| | | } |
| | |
| | | private ConfigService configService; |
| | | |
| | | @Override |
| | | public SmsCode selectByPhone(String phone,Integer type) { |
| | | return this.baseMapper.selectByPhone(phone,type); |
| | | public SmsCode selectByPhone(String phone,Integer smsType) { |
| | | return this.baseMapper.selectByPhone(phone,smsType); |
| | | } |
| | | |
| | | @Override |
| | |
| | | smsCode.setStatus(0); |
| | | smsCode.setCreateTime(new Date()); |
| | | smsCode.setUserId(userId); |
| | | smsCode.setType(param.id); |
| | | smsCode.setSmsType(param.id); |
| | | if (this.baseMapper.insert(smsCode) <= 0) { |
| | | return false; |
| | | } |
| | |
| | | <if test="director != null and director != ''"> |
| | | or mp.director = #{director} |
| | | </if> |
| | | ORDER BY mp.create_time DESC |
| | | ORDER BY mp.update_time DESC,mp.create_time DESC |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | <result column="send_time" property="sendTime" /> |
| | | <result column="use_time" property="useTime" /> |
| | | <result column="user_id" property="userId" /> |
| | | <result column="type" property="type" /> |
| | | <result column="sms_type" property="smsType" /> |
| | | |
| | | </resultMap> |
| | | |
| | | <select id="selectByPhone" resultMap="BaseResultMap"> |
| | | select top 1 * from sys_sms_code |
| | | where phone = #{phone} |
| | | and type = #{type} |
| | | and sms_type = #{smsType} |
| | | order by create_time desc |
| | | </select> |
| | | |
| | |
| | | var treeCond; |
| | | var admin; |
| | | var planNeedXmlSelData; |
| | | let nowUserId2 = 0; |
| | | fPlan(); |
| | | function fPlan() { |
| | | layui.jquery.ajax({ |
| | | url: baseUrl + "/dashboard/user/id/popup/auth", |
| | | data:{token : localStorage.getItem('token')}, |
| | | method: 'GET', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | nowUserId2 = res.data; |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).extend({ |
| | |
| | | ,{field: 'id', align: 'center',title: 'ID'} |
| | | // ,{field: 'hostId$', align: 'center',title: '所属商户'} |
| | | ,{field: 'userId$', align: 'left',title: '业务员',hide: false, width: 100, sort:true} |
| | | ,{field: 'cstmrId', align: 'left',title: '业务员',hide: true, width: 100, sort:true} |
| | | ,{field: 'cstmrId', align: 'left',title: 'cstmrId',hide: true} |
| | | , { |
| | | field: 'cstmrId$', |
| | | align: 'center', |
| | |
| | | width: 350, |
| | | hide: false, sort:true |
| | | } |
| | | ,{field: 'planType$', align: 'left',title: '业务类型', width: 150,hide: false, sort:true} |
| | | ,{field: 'planType$', align: 'left',title: '业务类型', width: 130,hide: false, sort:true} |
| | | ,{ |
| | | field: 'name', |
| | | align: 'left', |
| | |
| | | templet:function(d){ |
| | | return emptyShow(d.planNeed$) |
| | | }, |
| | | hide: false |
| | | hide: false, |
| | | width: 200 |
| | | } |
| | | , {field: 'settleSize', align: 'center', title: '流程长度', hide: true} |
| | | ,{field: 'deptId$', align: 'left',title: '所属部门',hide: true} |
| | |
| | | field: 'orderId$', |
| | | align: 'left', |
| | | title: '跟踪项目', |
| | | width: 220, |
| | | width: 120, |
| | | style: 'color: #1890ff;cursor:pointer', |
| | | event: 'orderMore', |
| | | hide: false, |
| | | sort:true |
| | | } |
| | | ,{field: 'appleTime$', align: 'left',title: '申请日期', hide: false, sort:true} |
| | | // ,{field: 'beItem$', align: 'center',title: '立项'} |
| | | // ,{field: 'planner', align: 'left',title: '规划员', templet:function(d){return emptyShow(d.planner)}} |
| | | // ,{field: 'finishTime$', align: 'center',title: '完成时间'} |
| | |
| | | ,{field: 'settle$', align: 'center',title: '进度', width: 150, sort:true} |
| | | // ,{field: 'settleMsg', align: 'center',title: '审核进度'} |
| | | // ,{field: 'comment', align: 'center',title: '评论'} |
| | | ,{field: 'statusAll$', align: 'center',title: '状态', sort:true, sort:true} |
| | | ,{field: 'createTime$', align: 'left',title: '添加日期', width: 160, hide: true, sort:true} |
| | | ,{field: 'statusAll$', align: 'center',title: '状态', hide:true, sort:true,width: 100} |
| | | ,{field: 'createTime$', align: 'left',title: '添加日期', hide: true, sort:true,width: 120} |
| | | ,{field: 'updateBy$', align: 'left',title: '修改人', width: 100, sort:true} |
| | | ,{field: 'updateTime$', align: 'left',title: '修改时间', hide: true, sort:true} |
| | | ,{field: 'updateTime$', align: 'left',title: '更新时间', hide: false, sort:true,width: 120} |
| | | ,{field: 'memo', align: 'left',title: '注释', hide: true, sort:true} |
| | | ,{field: 'center', align: 'left',title: '关联流程', toolbar: '#tbLook', minWidth: 160, hide: false} |
| | | ,{field: 'assistantHostSign$', align: 'left',title: '主副标记', hide: false} |
| | | ,{field: 'assistantHostSign$', align: 'left',title: '主副标记', hide: false,width: 80} |
| | | ,{field: 'assistantHostSign', align: 'left',title: '主副标记', hide: true} |
| | | ,{field: 'hostPlanId', align: 'left',title: '主ID', hide: true} |
| | | ,{field: 'assistantPlanId', align: 'left',title: '副ID', hide: true} |
| | | ,{field: 'appleTime$', align: 'left',title: '申请日期', hide: false, sort:true,width: 120} |
| | | ,{field: 'nowUserId', title: 'nowUserId', hide: true, templet:function(){return nowUserId2}} |
| | | ,{field: 'userId',title: 'userId', hide: true} |
| | | ,{field: 'director',title: 'director', hide: true} |
| | | // ,{field: 'assistantPlanIdSignType', align: 'left',title: '集成货架标志', hide: true} |
| | | ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width: 340} |
| | | ]], |
| | |
| | | pageSize: 'limit' |
| | | }, |
| | | parseData: function (res) { |
| | | res.data.records.forEach((item,index) => { |
| | | item.nowUserId = nowUserId2 |
| | | }) |
| | | return { |
| | | 'code': res.code, |
| | | 'msg': res.msg, |
| | |
| | | ,{field: 'assistantHostSign', align: 'left',title: '主副标记', hide: true} |
| | | ,{field: 'hostPlanId', align: 'left',title: '主ID', hide: true} |
| | | ,{field: 'assistantPlanId', align: 'left',title: '副ID', hide: true} |
| | | ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width: 340} |
| | | // ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width: 340} |
| | | ]], |
| | | request: { |
| | | pageName: 'curr', |
| | |
| | | var pageCurr; |
| | | var admin; |
| | | var treeCond; |
| | | let nowUserId2 = 0; |
| | | fPriOnline(); |
| | | function fPriOnline() { |
| | | layui.jquery.ajax({ |
| | | url: baseUrl + "/dashboard/user/id/popup/auth", |
| | | data:{token : localStorage.getItem('token')}, |
| | | method: 'GET', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | nowUserId2 = res.data; |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).extend({ |
| | |
| | | , {field: 'settleSize', align: 'center', title: '流程长度', hide: true} |
| | | , {field: 'user$', align: 'center', title: '业务员', hide: false} |
| | | , {field: 'deptId$', align: 'center', title: '部门', hide: true} |
| | | , {field: 'checkDataStatus$', align: 'center', title: '报价数据', hide: false} |
| | | , {field: 'createTime$', align: 'center', title: '创建时间', hide: true} |
| | | , {field: 'updateUserId$', align: 'center', title: '更新人员', hide: false} |
| | | , {field: 'updateTime$', align: 'center', title: '更新时间', hide: false} |
| | | ,{field: 'assistantHostSign$', align: 'left',title: '主副标记', hide: false} |
| | | ,{field: 'assistantHostSign', align: 'left',title: '主副标记', hide: true} |
| | | ,{field: 'hostPlanId', align: 'left',title: '主ID', hide: true} |
| | | ,{field: 'assistantPlanId', align: 'left',title: '副ID', hide: true} |
| | | , {field: 'checkDataStatus$', align: 'center', title: '报价数据', hide: false,width: 80} |
| | | , {field: 'createTime$', align: 'center', title: '创建时间', hide: true,width: 120} |
| | | , {field: 'updateUserId$', align: 'center', title: '更新人员', hide: false,width: 80} |
| | | , {field: 'updateTime$', align: 'center', title: '更新时间', hide: false,width: 120} |
| | | ,{field: 'assistantHostSign$', align: 'left',title: '主副标记', hide: false,width: 80} |
| | | ,{field: 'assistantHostSign', align: 'left',title: '主副标记', hide: true,width: 80} |
| | | ,{field: 'hostPlanId', align: 'left',title: '主ID', hide: true,width: 80} |
| | | ,{field: 'assistantPlanId', align: 'left',title: '副ID', hide: true,width: 80} |
| | | ,{field: 'nowUserId', title: 'nowUserId', hide: true, templet:function(){return nowUserId2}} |
| | | ,{field: 'userId',title: 'userId', hide: true} |
| | | ,{field: 'memberId',title: 'memberId', hide: true} |
| | | , {fixed: 'right', title: '操作', align: 'center', toolbar: '#operate', width: 350} |
| | | ]], |
| | | request: { |
| | |
| | | pageSize: 'limit' |
| | | }, |
| | | parseData: function (res) { |
| | | res.data.records.forEach((item,index) => { |
| | | item.nowUserId = nowUserId2 |
| | | }) |
| | | return { |
| | | 'code': res.code, |
| | | 'msg': res.msg, |
| | |
| | | var pageCurr; |
| | | var admin; |
| | | let nowUserId2 = 0; |
| | | fPriQuote(); |
| | | function fPriQuote() { |
| | | layui.jquery.ajax({ |
| | | url: baseUrl + "/dashboard/user/id/popup/auth", |
| | | data:{token : localStorage.getItem('token')}, |
| | | method: 'GET', |
| | | success: function (res) { |
| | | if (res.code === 200) { |
| | | nowUserId2 = res.data; |
| | | } |
| | | } |
| | | }) |
| | | } |
| | | layui.config({ |
| | | base: baseUrl + "/static/layui/lay/modules/" |
| | | }).extend({ |
| | |
| | | align: 'center', |
| | | title: '规划单号', |
| | | style: 'color: #1890ff;cursor:pointer', |
| | | event: 'morePlan'} |
| | | event: 'morePlan',hide: false,width: 80} |
| | | ,{field: 'itemId', align: 'center',title: '规划单ID', hide: true, sort:true} |
| | | ,{field: 'planName$', align: 'center',title: '规划单名称',hide: false} |
| | | ,{field: 'planName$', align: 'center',title: '规划单名称',hide: false,width: 120} |
| | | ,{ |
| | | field: 'settle$', |
| | | align: 'center', |
| | |
| | | width: 150, |
| | | hide: false |
| | | } |
| | | ,{field: 'createTime$', align: 'center',title: '创建时间',hide: false} |
| | | ,{field: 'updateTime$', align: 'center',title: '更新时间',hide: false} |
| | | ,{field: 'createTime$', align: 'center',title: '创建时间',hide: false,width: 120} |
| | | ,{field: 'updateTime$', align: 'center',title: '更新时间',hide: false,width: 120} |
| | | // ,{field: 'memberId$', align: 'center',title: '业务员',hide: false} |
| | | ,{field: 'userId$', align: 'center',title: '业务员',hide: true} |
| | | ,{field: 'updateUserId$', align: 'center',title: '更新人员',hide: false} |
| | | ,{field: 'updateUserId$', align: 'center',title: '更新人员',hide: false,width: 80} |
| | | ,{field: 'nowUserId', title: 'nowUserId', hide: true, templet:function(){return nowUserId2}} |
| | | ,{field: 'userId',title: 'userId', hide: true} |
| | | ,{field: 'memberId',title: 'memberId', hide: true} |
| | | ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:280} |
| | | ]], |
| | | request: { |
| | |
| | | </div> |
| | | |
| | | <script type="text/html" id="operate"> |
| | | {{# if (d.settle == 1) { }} |
| | | {{# if ((((d.settle == 2 || d.settle == 3) && d.settleSize==4) || d.settle == 1) && d.nowUserId==d.director) { }} |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">审批</a> |
| | | {{# } }} |
| | | {{# if ((d.settle == 2 || d.settle == 3) && d.settleSize==4) { }} |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">审批</a> |
| | | {{# } }} |
| | | {{# if ((d.settle == 2 || d.settle == 3)&& d.settleSize==4) { }} |
| | | {{# if (((d.settle == 2 || d.settle == 3)&& d.settleSize==4) && d.nowUserId==d.director) { }} |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="approvalEnd">回退审批</a> |
| | | {{# } }} |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="uploadLink">附件</a> |
| | | {{# if (d.settle == 1) { }} |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="uploadLink">附件</a> |
| | | {{# if (d.settle == 1 && d.nowUserId==d.userId) { }} |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">修改</a> |
| | | <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">删除</a> |
| | | {{# } }} |
| | | {{# if ((d.assistantHostSign == 0 && d.assistantPlanId==0)&& d.settleSize==4) { }} |
| | | {{# if ((d.assistantHostSign == 0 && d.assistantPlanId==0)&& d.settleSize==4 && d.nowUserId==d.userId ) { }} |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="assistantPlan">创建货架规划任务</a> |
| | | {{# } }} |
| | | |
| | | </script> |
| | | <!--<a class="layui-btn layui-btn-xs btn-edit" lay-event="assistantPlan">{{d.nowUserId}}+-+{{d.director}}+-+{{d.userId}}</a>--> |
| | | |
| | | <script type="text/html" id="plannerListDialog"> |
| | | <div class="layui-form admin-form"> |
| | |
| | | </div> |
| | | </div> |
| | | </script> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |
| | | <script type="text/javascript" src="../../static/js/FileSaver.js"></script> |
| | | <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script> |
| | |
| | | </div> |
| | | |
| | | <script type="text/html" id="operate"> |
| | | {{# if ((d.settle == 0) || (d.settle == 1 && d.settleSize == 4)){ }} |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">提交</a> |
| | | <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">删除</a> |
| | | {{# if (d.settle == 0 && d.nowUserId == d.memberId){ }} |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">提交</a> |
| | | <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">删除</a> |
| | | {{# } }} |
| | | {{# if ((d.settle == 1 && d.settleSize == 3) || (d.settle == 2 && d.settleSize == 4)){ }} |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">确认</a> |
| | | {{# } }} |
| | | {{# if (d.settle == 1 || (d.settle == 2 && d.settleSize == 4)){ }} |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="approvalEnd">回退审批</a> |
| | | {{# if (d.settle == 1 && d.nowUserId == d.memberId){ }} |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">确认</a> |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="approvalEnd">回退审批</a> |
| | | {{# } }} |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="uploadLink">附件</a> |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="check">核价</a> |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">编辑</a> |
| | | <!-- <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">编辑</a>--> |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="upload">上传询价</a> |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="viewCheck">查看询价</a> |
| | | {{# if (d.nowUserId == d.userId){ }} |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="viewCheck">查看询价</a> |
| | | {{# } }} |
| | | </script> |
| | | |
| | | <script type="text/html" id="plannerListDialog"> |
| | |
| | | </script> |
| | | |
| | | <script type="text/html" id="operate"> |
| | | {{# if (d.settle == 1 || d.settle == 2 || d.settle == 3) { }} |
| | | {{# if ((d.settle == 1 || d.settle == 2 || d.settle == 3) && d.nowUserId == d.memberId) { }} |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">审批</a> |
| | | {{# } }} |
| | | {{# if (d.settle == 2 || d.settle == 3) { }} |
| | | {{# if ((d.settle == 2 || d.settle == 3) && d.nowUserId == d.memberId) { }} |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="refuse">回退审批</a> |
| | | {{# } }} |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="uploadLink">附件</a> |
| | | <a class="layui-btn layui-btn-xs btn-edit" lay-event="quote">报价</a> |
| | | <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">编辑</a> |
| | | <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">删除</a> |
| | | <!-- <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">编辑</a>--> |
| | | <!-- <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">删除</a>--> |
| | | </script> |
| | | |
| | | <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script> |