123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- <?php
- defined('BASEPATH') OR exit('No direct script access allowed');
- /**
- * Class 工单和报表模板编辑类
- */
- class Template extends MY_Controller
- {
- private $workorder = "workorder";
- private $report = "report";
- function __construct()
- {
- parent::__construct();
- $this->load->helper(array('form', 'date', 'file'));
- $this->load->model("template_model");
- }
- /**
- * 编辑工单模板
- */
- public function workorder()
- {
- if ($this->input->post()) {
- $template_id = $this->input->post("template_id", true);
- $template = $this->get_param();
- $template['template_id'] = $template_id;
- if ($template_id) {
- $this->template_model->update_template($template);
- $this->assign("message", "模板更新成功!");
- } else {
- $template['template_id'] = $this->create_id();
- $template['create_time'] = new MongoDB\BSON\UTCDateTime(time()*1000);
- $this->template_model->insert_template($template);
- $this->assign("message", "模板保存成功!");
- }
- $this->create_file($template['template_file'],$template['template_html'],"workorder");
- } else {
- $this->assign("message", "");
- }
- $template = $this->template_model->get_template_with_name($this->workorder);
- if ($template) {
- $this->assign("template", $template);
- } else {
- $model = $this->template_model->get_model();
- $model['template_name'] = $this->workorder;
- $model['template_file'] = $this->workorder . ".html";
- $this->assign("template", $model);
- }
- $this->display("template/workorder.html");
- }
- /**
- * 编辑报表模板
- */
- public function report()
- {
- if ($this->input->post()) {
- $template_id = $this->input->post("template_id", true);
- $template = $this->get_param();
- $template['template_id'] = $template_id;
- if ($template_id) {
- $this->template_model->update_template($template);
- $this->assign("message", "模板更新成功!");
- } else {
- $template['template_id'] = $this->create_id();
- $template['create_time'] = new MongoDB\BSON\UTCDateTime(time()*1000);
- $this->template_model->insert_template($template);
- $this->assign("message", "模板保存成功!");
- }
- $this->create_file($template['template_file'],$template['template_html'],"report");
- } else {
- $this->assign("message", "");
- }
- $template = $this->template_model->get_template_with_name($this->report);
- if ($template) {
- $this->assign("template", $template);
- } else {
- $model = $this->template_model->get_model();
- $model['template_name'] = $this->report;
- $model['template_file'] = $this->report . ".html";
- $this->assign("template", $model);
- }
- $this->display("template/report.html");
- }
- /**
- * 获取提交参数
- * @return array
- */
- public function get_param()
- {
- $template = array();
- $template['template_name'] = $this->input->post("template_name", true);
- $template['template_file'] = $this->input->post("template_file", true);
- $template['template_html'] = htmlspecialchars_decode($this->input->post("template_html"));
- return $template;
- }
- /**
- * 生成模板文件
- * @param $filename 文件名称
- * @param $content 文件内容
- * @param $end 文件名结尾
- */
- public function create_file($filename, $content, $end)
- {
- $path = getcwd() . "/application/views/templates/export/";
- $file = $path . $filename;
- $header = '{include file="export/header.html"}';
- $foot = '{include file="export/foot_'.$end.'.html"}';
- $data = $header . htmlspecialchars_decode($content,ENT_QUOTES ) . $foot;
- if (file_exists($file)) {
- delete_files($file);
- }
- if (!write_file($file, $data)) {
- show_error("文件写入失败,请检查" . $path . "是否有写入权限!");
- }
- }
- }
|