zhangyanpeng
2024-08-04 d0fab39db8c50fb72d7311b0d4c80e475af47c76
module/md/page/product/page/batch_number_edit.html
@@ -2,7 +2,7 @@
<html>
   <head>
      <meta charset="utf-8"><meta http-equiv="Expires" content="0"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Cache-control" content="no-cache"><meta http-equiv="Cache" content="no-cache">
      <title>添加批号</title>
      <title>模板信息</title>
      
      <script type="text/javascript">
         var pageVue = null;
@@ -15,35 +15,24 @@
            new FormVue({
               el: "#vbody",
               data: {
                  dataname: "md_batch",
                  title: "添加批号",
                  dataname: "sys_dossier",
                  title: "模板信息",
                  formAttr: {
                     istitle: false,
                     title: "批号信息",
                     title: "表单名称",
                     columnnumber: 2,
                     labelwidth: "140px",
                     labelwidth: "100px",
                     labelposition: "left",//"left",// right//top
                     size: "mini",
                     border: "10px solid #c6c6c600"
                  },
                  formFields: [],
                  default_formFields: [
                     {field: "field11", name: "产品线", isshow: "T"},
                     {field: "field22", name: "产品编码", isshow: "T"},
                     {field: "name", name: "产品名称", isshow: "T", type:"popup"},
                     {field: "batchnumber", name: "批号", isshow: "T"},
                     {isshow: "T", field: "field33",name: "产品检验报告", type: "span", buttonarrayname: [{type: "isnotdatashow", buttonname:"文件上传",code:"upload", icon: "el-icon-upload", classname: "form_uploadfile"},{type:"isdata", buttonname: "查看文件", icon: "el-icon-search",code:"showfile", classname: "form_showfile"},{type: "isdatashow", buttonname: "删除附件", icon: "el-icon-delete",code:"delfile", classname: "form_delfile"}], required: true},
                  ],
                  newformData: {
                     //id: uuid_short(),
                     // code: createCode("BA"),
                     create_time: createDatetime(),
                     status: "input",
                     state_name: "草稿",
                     creator_name: window.top.vue.userinfo.name,
                     type_code: "",
                     type_name: "",
                     state_code: "Open",
                     state_name: "生效",
                     type: "agreement",
                     // creator_id:
                  },
                  formData: {},
                  
@@ -51,32 +40,32 @@
                  isedit: false,//提交前编辑,保存/提交
                  isrefuseedit: false,//拒绝后编辑,保存/再次提交
                  isapproval: false,//审批,同意/拒绝/转办/退回
                  iscommit: false,//提交标记
                  
                  //弹窗参数
                  popupParames: {},
                  //字段设置
                  tablefieldClick: {},
                  formfieldClick: {},
               },
               created() {
                  this.popupParames = clone(Root.popupParames);
                  this.title = this.popupParames.title || this.popupParames.text
                  this.title = this.popupParames.title || this.popupParames.text;
                  if (this.popupParames.data) {
                     this.formData = clone(this.popupParames.data);
                  }
                  
                  if (this.popupParames.sceneCode) {
                     if (this.popupParames.sceneCode == "add") {//新增
                        if (this.newformData) {
                           let formData_ = clone(this.formData);
                           for (var k in this.newformData) {
                              formData_[k] = this.newformData[k];
                           }
                           this.formData = formData_;
                        //动态获取默认数据
                        var newEntity_ = {
                           name: "newEntity",
                           url: "root/data/newEntity",
                           paramsobj: {dataname: "sys_dossier"},
                           isnotoption: true, //true:不是选项
                        }
                        this.dataRequest.push(newEntity_);
                        this.isedit = true;
                     }
                     else if (this.popupParames.sceneCode == "browse") {//只读
@@ -103,14 +92,26 @@
                     this.loadRequestData(this.dataRequest, result, function(data) {
                        me.dataRequestObj = data;
                        //预加载数据后给哪些字段设置options或formatterjson
                        data.agm_template.map(c=>{
                           me.options_templateobj[c[me.props_template.value]] = c;
                        })
                        let agm_template_ = ArrayToTree(clone(data.agm_template), "name", "parent_id");
                        me.options_category = agm_template_;
                        if (me.dataRequestObj.newEntity) {
                           var formData = clone(me.dataRequestObj.newEntity.data["sys_dossier"]);
                           // formData.product_category_name = [];
                           if (me.newformData) {
                              let formData_ = clone(formData);
                              for (var k in me.newformData) {
                                 if (!formData_[k]) {
                                    formData_[k] = me.newformData[k];
                                 }
                              }
                              me.formData = formData_;
                           }
                           if (me.popupParames.delta) {
                              me.formData.category_id = clone(me.popupParames.delta.nodeKey);
                           }
                        }
                        me.initData();
                     });
                  }
@@ -127,6 +128,7 @@
                        //let w_ = this.$refs.popup_body.offsetWidth + "px";
                        let w_ = "900px";
                        let h_ = this.$refs.popup_body.offsetHeight + "px";
                        Root.setPopupWH(w_, h_);
                     })
                  });
@@ -176,7 +178,7 @@
                              formFields_.push(clone(f));
                           })
                           if (!me.formFields || (me.formFields && me.formFields.length == 0)) {
                              me.formFields = clone(me.default_formFields);
                              me.formFields = clone(formFields_);
                              
                              //字段数组转字段obj,目的为了筛选时获取字段属性
                              me.fieldsToFieldsObj();
@@ -185,62 +187,65 @@
                              me.tableFieldClick();
                           }
                        }
                        if (me.rowData["file_index"]) {
                        }
                     })
                  },
                  
                  tableFieldClick() {
                     var me = this;
                     //表格字段事件设置
                     this.tablefieldClick = {
                     };
                     //表单字段事件设置
                     this.formfieldClick = {
                        name: {
                           popup: {
                              onclick: function(obj) {//弹窗点击事件
                                 //打开
                                 me.tablePopup_productList(obj)
                        template_type_code: {
                           select: {
                              onchange: function(obj) {
                                 obj.data.template_type_code = obj.selectoption.code || "";
                                 obj.data.template_type_name = obj.selectoption.value || "";
                              }
                           }
                        },
                        template_attachment: {
                           buttonarray: {
                              onclick: function(obj) {
                                 var filenamefield = obj.obj.field;
                                 var fileidfield = "template_attachment_id";
                                 if(obj.buttonobj && obj.buttonobj.code == "showfile"){
                                    me.showFileImgByFileId(filenamefield, fileidfield, obj);
                                 }else if (obj.buttonobj && obj.buttonobj.code == "upload"){
                                    me.onPopupByUploadFile(filenamefield, fileidfield, me.dataname);
                                 }else if (obj.buttonobj && obj.buttonobj.code == "delfile"){
                                    me.deleteByFileId(filenamefield, fileidfield, obj);
                                 }
                              }
                           },
                        },
                     };
                  },
                  tablePopup_productList(obj) {
                     var me = this;
                     Root.showPopup({
                        url: "module/md/page/product/page/popup-new_batch_number-product.html",
                        width: 800,
                        height: 550,
                        data: this.oldObj,
                        sceneCode: "add",
                        dataname: "customer",
                        callback: function(obj, callback) {
                           if (callback) {
                              callback();
                           }
                        }
                     });
                  },
                  
                  //提交
                  submitRowTable() {
                     this.iscommit = true;
                     //必填项校验
                            var bo1 = this.$refs.form1.checkForm();
                     if(!bo1){
                        Root.message({
                                    type: 'error',
                                    message: '请填写必填项'
                                });
                                this.iscommit = false;
                        return;
                            }
                     this.saveRowTable();
                  },
                  
                  //保存
                  saveRowTable() {
                     var me = this;
                     var operator_ = "save";//保存
                     if(me.iscommit) {
                        operator_ = "commit";//提交
                     }
                     var entity_ = clone(this.formData);
                     var entity_ = clone(me.formData);
                     var entity = {};
                     for (var r in entity_) {
                        if (entity_[r] || entity_[r] == "" || entity_[r] == false || entity_[r] == 0) {
@@ -249,34 +254,170 @@
                     }
                     
                     let param = {
                        dataname: this.dataname,
                        // operator: operator_,
                        dataname: me.dataname,
                        data: {},
                     }
                     param.data[this.dataname] = entity;
                     param.data[me.dataname] = entity;
                     
                     Server.call("root/data/saveEntity", param, function(result) {
                        console.log(result);
                        if (result.success) {
                           if(me.iscommit){
                        me.iscommit = false;
                        Root.message({
                           type: 'success',
                           message: '提交成功'
                        });
                        me.saveAfter();
                     }, function(errorresult) {
                        console.log("错误信息", errorresult);
                        if (errorresult.messages && errorresult.messages.count && errorresult.messages.count.error) {
                           if (errorresult.messages.list) {
                              me.iscommit = false;
                              Root.message({
                                 type: 'success',
                                 message: '提交成功'
                              });
                              me.saveAfter();
                              var config = {
                                 totab: false,
                                 // width: "1200px",
                                 // height: 800,
                                 icon: "icon-product",
                                 text: "错误信息",
                                 url: "module/tool/page/popup_error_messages.html",
                                 data: {},
                                 delta: errorresult.messages.list,
                                 callback: function(obj, callback) {
                                    if (callback) {
                                       callback();
                                    }
                                 }
                              };
                              me.doPopupByPublic(config);
                           }
                           else {
                              Root.message({
                                 type: 'success',
                                 message: '保存成功'
                              });
                              me.saveAfter();
                           }
                        }
                        else {
                           me.iscommit = false;
                           Root.message({
                              type: 'error',
                              message: '提交失败'
                           });
                        }
                     });
                  },
                  onPopupByUploadFile(filenamefield, fileidfield,dataname) {
                     var me = this;
                     var analysistype_ = "";
                     var formData_ = clone(me.formData);
                     var delta_ = {filetypelist: [], multiplelimit: 1}//".png", ".jpg", ".pdf"
                     var config = {
                        totab: false,
                        width: "500px",
                        icon: "icon-product",
                        text: "附件上传",
                        id: "popupByUploadFile",
                        url: "module/tool/page/popup_uploadFile.html",
                        data: {
                           dataName: dataname,
                           fileidfieldName: fileidfield,
                           id: me.formData.id,
                           fileNamefieldName: filenamefield,
                        },
                        delta: delta_,
                        callback: function(obj, callback) {
                           me.$message({
                              showClose: true,
                              message: '上传成功!',
                              type: 'success'
                           });
                           if (!formData_[filenamefield]) {
                              formData_[filenamefield] = {};
                           }
                           formData_[filenamefield] = decodeURI(obj.row[0].name);
                           formData_[fileidfield] = obj.row[0].id;
                           me.formData = formData_;
                           if (callback) {
                              callback();
                           }
                        }
                     };
                     this.doPopupByPublic(config);
                  },
                  showFileImgByFileId(filenamefield, fileidfield, obj) {
                     let me = this;
                     var file_name = obj.formdata[filenamefield];
                     var file_id = obj.formdata[fileidfield];
                     if(file_id) {
                        var fileid = file_id;
                        let fileName = clone(file_name);
                        let index1 = fileName.lastIndexOf(".");
                        let index2 = fileName.length;
                        let suffix = fileName.substring(index1, index2).toLowerCase(); //后缀名
                        if (suffix == ".png" || suffix == ".jpg" || suffix == ".pdf") {
                           var row = {
                              fileid: fileid,
                              filename: fileName,
                              dataname: this.dataname
                           }
                  
                           var config = {
                              totab: false,
                              width: "1200px",
                              height: 800,
                              icon: "icon-product",
                              text: "附件预览",
                              id: "pdf_" + fileid,
                              url: "module/tool/page/popup_file_pdf.html",
                              data: row,
                              delta: {},
                              callback: function(obj, callback) {
                                 if (callback) {
                                    callback();
                                 }
                              }
                           };
                           this.doPopupByPublic(config);
                        }
                        else {//只可下载,不可预览
                           // handleDownloadUrl(fileid,false);
                           handleDownload(fileid, this.dataname);
                        }
                     }
                  },
                  deleteByFileId(filenamefield, fileidfield, obj){
                     var me = this;
                     var formData_ = clone(me.formData);
                     Root.confirm('确定删除附件【' + formData_[filenamefield] + '】吗?', '删除提示', {
                       confirmButtonText: '删除',
                       cancelButtonText: '取消',
                       type: 'warning'
                     }).then(() => {
                        if (obj.formdata[fileidfield]) {
                           let param = {
                              dataname: "sys_dossier_file",
                              id: obj.formdata[fileidfield],
                           }
                           Server.call("root/data/deleteEntity", param, function(result) {
                              console.log(result);
                              if (result && result.data) {
                                 formData_[filenamefield] = "";
                                 formData_[fileidfield] = "";
                                 me.formData = clone(formData_);
                                 Root.message({
                                    type: 'success',
                                    message: '删除成功!'
                                 });
                              }
                           });
                        }
                     }).catch(() => {
                        Root.message({
                           type: 'info',
                           message: '已取消删除'
                        });
                     });
                  },
               }
            });
         };
@@ -293,7 +434,9 @@
      </style>
      
   </head>
   <body style="margin: 0px;">      <div v-cloak id="vbody">
   <body style="margin: 0px;">
      <div v-cloak id="vbody">
         <div id="page_root">
            <div ref="popup_body" style="padding: 0 20px;">
               <div class="popup_el-dialog__header">
@@ -302,7 +445,7 @@
                    <span> {{title}}</span>
                  </div>
               </div>   
               <div style="height: 350px; overflow-y: auto;">
               <div style="height: 300px; overflow-y: auto;">
                  <div class="el-dialog__body">
                     <h-form
                        ref="form1"
@@ -316,13 +459,7 @@
               </div>
               <div class="el-dialog__footer">
                  <el-button size="small" type="default" @click="closeDialog">取 消</el-button>
                  <el-button size="small" v-if="isedit || isrefuseedit" type="primary" @click="saveRowTable":icon="buttonsconfig.save.icon">{{buttonsconfig.save.name}}</el-button>
                  <el-button size="small" v-if="isrefuseedit" type="success" @click="">再次提交</el-button>
                  <el-button size="small" v-if="isapproval" type="success" @click="">通 过</el-button>
                  <el-button size="small" v-if="isapproval" type="danger" @click="">拒 绝</el-button>
                  <el-button size="small" v-if="isapproval" type="primary" @click="">转 办</el-button>
                  <el-button size="small" v-if="isapproval" type="success" @click="">退 回</el-button>
                  <el-button size="small" v-if="isedit" type="success" :loading="iscommit" @click="submitRowTable":icon="buttonsconfig.submit.icon">{{buttonsconfig.submit.name}}</el-button>
               </div>
            </div>
         </div>