diff --git a/wg-basic/page-unit.md b/wg-basic/page-unit.md
index 4045731..b6958e4 100644
--- a/wg-basic/page-unit.md
+++ b/wg-basic/page-unit.md
@@ -2,7 +2,7 @@
title: 页面组件
description: 页面上使用的组件
published: true
-date: 2021-09-08T06:49:56.594Z
+date: 2021-09-08T06:50:38.758Z
tags: wg-basic
editor: markdown
dateCreated: 2021-09-08T06:41:19.351Z
@@ -215,4 +215,135 @@ top.dialog.open({
});
```
# 9. 文件上传(图片示例)
+依赖
+```html
+
+
+```
+表单代码
+```html
+
+```
+
+js代码
+```js
+var viewerObj = {};
+
+function refreshDownloadTemplet(fileName, file) {
+ var dataRander = {};
+ dataRander[fileName] = file;
+
+ laytpl(document.getElementById(fileName +'FileDownload').innerHTML).render(dataRander, function(html) {
+ document.getElementById(fileName +'FileBox').innerHTML = html;
+ });
+}
+
+// 初始化文件列表
+function initFileList(fileName, ids, callback) {
+ var dataForm = {};
+ dataForm[fileName] = ids;
+ form.val('dataForm', dataForm);
+
+ if(!ids) {
+ refreshDownloadTemplet(fileName, []);
+ if(callback) {
+ callback(fileName, []);
+ }
+ return;
+ }
+
+ top.restAjax.get(top.restAjax.path('api/file/listfilebyfileid', []), {
+ ids: ids
+ }, null, function(code, data) {
+ refreshDownloadTemplet(fileName, data);
+ if(callback) {
+ callback(fileName, data);
+ }
+ }, function(code, data) {
+ top.dialog.msg(data.msg);
+ });
+}
+
+function initFactoryGateUploadFile() {
+ var files = $('#factoryGate').val();
+ initFileList('factoryGate', files, function(fileName) {
+ var viewer = new Viewer(document.getElementById(fileName +'FileBox'), {navbar: false});
+ viewerObj[fileName] = viewer;
+ });
+
+ form.on('button(factoryGateUploadFile)', function(obj) {
+ var name = this.dataset.name;
+ var explain = this.dataset.explain;
+ top.dialog.file({
+ type: 'image',
+ title: '上传'+ explain,
+ width: '400px',
+ height: '420px',
+ maxFileCount: '1',
+ onClose: function() {
+ var uploadFileArray = top.dialog.dialogData.uploadFileArray;
+ if(typeof(uploadFileArray) != 'undefined' && uploadFileArray.length > 0) {
+ var files = $('#'+ name).val();
+ for(var j = 0, file = uploadFileArray[j]; file = uploadFileArray[j++];) {
+ if(files.length > 0) {
+ files += ',';
+ }
+ files += file.data;
+ }
+ initFileList(name, files, function(fileName) {
+ viewerObj[fileName].update();
+ });
+ }
+ }
+ });
+ });
+
+ form.on('button(factoryGateRemoveFile)', function(obj) {
+ var name = this.dataset.name;
+ var id = this.dataset.id;
+ var files = $('#'+ name).val().replace(id, '');
+ files = files.replace(/\,+/g, ',');
+ if(files.charAt(0) == ',') {
+ files = files.substring(1);
+ }
+ if(files.charAt(files.length - 1) == ',') {
+ files = files.substring(0, files.length - 1);
+ }
+ initFileList(name, files, function(fileName) {
+ viewerObj[fileName].update();
+ });
+ });
+}
+```
+
+代码以厂区图片为例,实际只需要替换对应的内容即可:模板名称、模板BOX名称