edit-api-edit_order

This commit is contained in:
lccsw
2021-11-18 14:05:47 +08:00
parent c3303bd751
commit b93af8a49a
5 changed files with 153 additions and 5 deletions
+3 -3
View File
@@ -262,11 +262,11 @@ class Protocol extends CI_Controller{
$diff_price = $diff_car = false;
foreach($diff_key_arr as $item){
if($opt_row[$item]!=$row[$item]){
$diff_price = $diff_car = true;
$diff_car = true;
break;
}
}
if($money_json['price_discount']!=$opt_money_json['price_discount']){
if($money_json['price_discount']!=$opt_money_json['price_discount'] || $row['price']!=$opt_row['price']){
$diff_price = true;
}
if($diff_car){
@@ -319,7 +319,7 @@ class Protocol extends CI_Controller{
$row['old_contract'] = $this->contracts_model->get(['o_id'=>$id,'type'=>1]);
$contract = $this->contracts_model->get(['o_id'=>$id,'type'=>5]);
$srv_price = 0;
$old_services = $services = '';
$old_services = $services = '';
if($row){
//获取修改前数据
$opt_row = $this->receiver_order_oplogs_model->select(['order_id'=>$row['id'],'type'=>3],'id desc',1,1);//最后修改日志
+5
View File
@@ -135,6 +135,11 @@ class Progressopt{
}
}elseif($sign_count==1){
$url = '/pages/mine/signContract/daiLi?id='.$order['id'];
if($opt_row){ //修改内容
if($opt_row['s_id']!=$order['s_id'] || $opt_row['v_id']!=$order['v_id'] || $opt_row['cor_id']!=$order['cor_id'] || $opt_row['incor_id']!=$order['incor_id'] || $opt_row['payway']!=$order['payway'] || $money_json['price_discount']!=$opt_money_json['price_discount']){
$url = '/pages/mine/signContract/maiMaiBu?id='.$order['id'];//需要签合同补充协议
}
}
}else{
$url = '/pages/mine/signContract/zhengChe?id='.$order['id'];
}
+1 -1
View File
@@ -535,7 +535,7 @@ class Orders_entity{
];
$this->ci->app_liche_orders_model->update($up_data,['o_id'=>$row['id']]);
$sign_row = $this->ci->signs_model->get(['o_id'=>$row['id']]);
if($sign_row){
if($sign_row && $row['status']>0){
$diff_key_arr = ['s_id','v_id','cor_id','incor_id','payway','srv_ids']; //修改其中一项需要签补充协议
$need_resign = false;
foreach($diff_key_arr as $item){
+59 -1
View File
@@ -169,9 +169,67 @@ class Toole extends CI_Controller {
}
$this->show_json(1,'修改成功');
}
private function show_json($code,$msg){
//重新生成pdf文件
public function pdf(){
$type = $this->input->get('type');
$this->load->view('/h5/toole/pdf',$data);
}
public function c_pdf(){
$params = $this->input->post();
if(!$params['oid']){
$this->show_json(0,'请填写订单id');
}
if(!$params['type']){
$this->show_json(0,'请选择合同类型');
}
if (false === strpos($_SERVER['HTTP_HOST'], 'dev')) { //不是dev判断订单是否存在
$row = $this->orders_model->get(['id'=>$params['oid']]);
if(!$row){
$this->show_json(0,'订单不存在');
}
}
$url = 'https://api.liche.cn/wxapp/licheb/protocol/';
if($params['type']==1){ //买卖合同
$url.="car?id=".$params['oid'];
}elseif($params['type']==2){ //服务协议
$url.="agent?id=".$params['oid'];
}else{
$this->show_json(0,'参数错误,未知合同类型');
}
$this->load->library('pdf');
$pdf = new Pdf();
$save_path = 'data/contracts/'.date('Ymd');
$filename = time().'.pdf';
$res = $pdf -> html2pdf($url,FCPATH.$save_path,$filename);
if(!$res){
$this->show_json(0,'创建pdf文件失败');
}
$data['pdf_url'] = http_host_com('home').'/'.$save_path.'/'.$filename;
$imgs = $pdf->pdf2img($data['pdf_url']);//pdf文件转图片
$full_imgs = [];
if($imgs){
$this->load->library('qiniu');
//上传七牛并保存
foreach($imgs as $key=>$val){
$file_name = md5($val).'.jpg';
$img_res = $this->qiniu->fetch($val,$file_name);
if($img_res){
$imgs[$key] = $img_res['file'];
$full_imgs[$key] = $img_res['url'];
}
}
}
$data['imgs'] = $imgs;
$data['full_imgs'] = $full_imgs;
$this->show_json(1,'创建成功',$data);
}
private function show_json($code,$msg,$info=[]){
$data['code'] = $code;
$data['msg'] = $msg;
$data['data'] = $info;
die(json_encode($data,JSON_UNESCAPED_UNICODE));
}
}
+85
View File
@@ -0,0 +1,85 @@
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<title>重新生成合同</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css" integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
<link src="https://cdn.bootcss.com/layer/3.1.0/need/layer.css">
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js" integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd" crossorigin="anonymous"></script>
<script src="https://cdn.bootcss.com/layer/3.1.0/layer.js"></script>
</head>
<body>
<div style="margin-top:50px;" id="vue-app">
<form class="form-horizontal">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">订单id</label>
<div class="col-sm-10">
<input type="number" class="form-control" style="width:150px;" v-model="info.oid">
</div>
</div>
<div class="form-group">
<label for="inputPassword3" class="col-sm-2 control-label">合同类型</label>
<div class="col-sm-10">
<label class="checkbox-inline">
<input type="radio" value="1" v-model="info.type">买卖合同
</label>
<label class="checkbox-inline">
<input type="radio" value="2" v-model="info.type">服务协议
</label>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<a href="javascript:;" class="btn btn-default" @click="saveEdit">确定</a>
</div>
</div>
</form>
<template v-if="pdf_info && pdf_info.pdf_url">
<div>pdf完整地址:{{pdf_info.pdf_url}}</div>
<div>图片json:{{pdf_info.imgs}}</div>
<img :src="item" @click="show_img(item)" v-if="pdf_info.full_imgs" v-for="item in pdf_info.full_imgs" style="width:300px">
</template>
</div>
</body>
<script>
new Vue({
el: '#vue-app',
data: {
info: {
oid:'',
type:1,
},
pdf_info:{}
},
mounted: function () {
},
methods:{
show_img:function(img){
layer.photos({ photos: {"data": [{"src": img}]} });
},
saveEdit:function(){
var index = layer.load(1, {
title:'文件生成中....',
shade: [0.1,'#fff'] //0.1透明度的白色背景
});
var that = this;
$.post("/h5/toole/c_pdf" ,this.info, function (data) {
layer.closeAll();
if(data.code){
layer.msg(data.msg,{icon:1,end:function(){
that.pdf_info = data.data
}});
}else{
layer.msg(data.msg,{icon:2});
}
}, 'json');
}
},
})
</script>
</html>