Commit 5659f8da authored by Scott Sun's avatar Scott Sun

scott

parent b7f23e92
...@@ -2,30 +2,40 @@ var plugin = require('topsin.gengui'); ...@@ -2,30 +2,40 @@ var plugin = require('topsin.gengui');
var gui = plugin.newGui(plugin.__dirname); var gui = plugin.newGui(plugin.__dirname);
function gen() {
this.PAUSE = function() {
console.log("pause");
}
}
gui.setLang("zhtw"); // zhcn, zhtw, en
r = gui.showForm({ r = gui.showForm({
title: "form example", title: "注册账号",
ui: { size: [600, 400],
type: 'ScrollArea', ui: function func(self) {
property: { return [{
widget_resizable: true, type: 'ScrollArea',
frame_shape: 'NoFrame',
align: 'Top'
},
child: {
type: 'VBoxLayout',
property: { property: {
margin: 2, widget_resizable: true,
spacing: 20, frame_shape: 'NoFrame',
align: 'Top' align: 'Top'
}, },
pack: { child: {
stretch: 0 type: 'VBoxLayout',
}, property: {
child: [{ margin: 2,
spacing: 20,
align: 'Top'
},
pack: {
stretch: 0
},
child: [{
type: "FormGridLayout", type: "FormGridLayout",
property: { property: {
columns: 2, columns: 1,
label_alignment: 'Top | Right', label_alignment: 'Top | Right',
margin: 10, margin: 10,
spacing: 20 spacing: 20
...@@ -35,114 +45,51 @@ r = gui.showForm({ ...@@ -35,114 +45,51 @@ r = gui.showForm({
}, },
child: [ child: [
{ {
name: "org_list", name: 'table',
type: "TableView", type: 'TableView',
pack: { property: {},
column_span: 2, initCallback: function (obj, self) {
}, obj.setDataKeyList(["id", "analysis_item", "analysis_result", "result", "standard", "remark"]);
property: {
enabled: true,
alternating_row_colors: true,
auto_scroll: true,
data_key_list: ["layer_name", "drill_type", "finish_size", "pcs_count", "array_count"],
data_keys: ["layer_name", "drill_type", "finish_size", "pcs_count", "array_count"],
values: [
{},
{
"name": "layer_name",
"display": "Layer Name",
"displayRole": "$layer_name",
'resizeMode': 'Interactive',
"size": "100"
},
{
"name": "drill_type",
'resizeMode': 'Interactive',
"display": "PTH",
"displayRole": "$drill_type",
"size": "100"
},
{
"name": "finish_size",
"display": "Drill size(mm)",
"displayRole": "$finish_size",
"resizeMode": "ResizeToContents",
},
{
"name": "pcs_count",
"display": "Qty.(CRD)",
"displayRole": "$pcs_count",
'resizeMode': 'Interactive',
"size": "100"
},
{
"name": "array_count",
"display": "Qty.(Array)",
"displayRole": "$array_count",
"size": "100"
}
]
},
initCallback: function (obj) {
obj.setDataKeyList(["layer_name", "drill_type", "finish_size", "pcs_count", "array_count"]);
obj.setHeaderItem( obj.setHeaderItem(
[ [
{ {},
"name": "layer_name", { name: 'analysis_item', display: 'Analysis Item', resizeMode: 'ResizeToContents', displayRole: '$analysis_item' },
"display": "Layer Name", { name: 'analysis_result', display: 'Analysis Result', resizeMode: 'ResizeToContents', displayRole: '$analysis_result' },
"displayRole": "$layer_name", { name: 'result', display: 'Result', resizeMode: 'ResizeToContents', displayRole: '$result' },
"size": "100" { name: 'standard', display: 'Standard', resizeMode: 'ResizeToContents', displayRole: '$standard' },
}, { name: 'remark', display: 'Remark', resizeMode: 'ResizeToContents', displayRole: '$remark', editRole: '$remark', flagsRole: 'ItemIsEditable|ItemIsEnabled|ItemIsSelectable' }
{
"name": "drill_type",
"display": "PTH",
"displayRole": "$drill_type",
"size": "100"
},
{
"name": "finish_size",
"display": "Drill size(mm)",
"displayRole": "$finish_size",
"resizeMode": "ResizeToContents",
},
{
"name": "pcs_count",
"display": "Qty.(CRD)",
"displayRole": "$pcs_count",
"size": "100"
},
{
"name": "array_count",
"display": "Qty.(Array)",
"displayRole": "$array_count",
"size": "100"
}
] ]
); );
obj.setPrimaryKey("id");
}, },
// setter: function (obj, value, self) { setter: function (obj, value, self) {
// if (_.isEmpty(value)) { if (value != null) {
// this.setState("org_list", "hide"); obj.loadData(value);
// this.getObject("org_list").setData("value", []); } else {
// } else { obj.clearData();
// this.setState("org_list", "show"); }
// this.getObject("org_list").setData("value", value); },
// } getter: function (obj, self) {
// }, return obj.allDataMap();
// getter: function (obj, self) { }
// return obj.allDataMap();
// }
} }
] ]
}, }]
{ }
type: 'stretch' }];
} },
] data: {
} table: [
{
"id": 1,
"analysis_item": "test",
"analysis_result": "test",
"result": "test",
"standard": "test",
"remark": "test"
}
]
}, },
data: {},
runnow: true,
includehide: false, includehide: false,
buttons: [{ buttons: [{
stock: "ok", stock: "ok",
...@@ -167,319 +114,8 @@ r = gui.showForm({ ...@@ -167,319 +114,8 @@ r = gui.showForm({
} }
], ],
hook: function (data) {}, hook: function (data) {},
gen: null gen: new gen()
}); });
console.log(r); console.log(r);
\ No newline at end of file
// return [
// {
// type: "FormGridLayout",
// property: {
// label_alignment: 'AlignTop | AlignRight',
// horizontal_spacing: 20,
// vertical_spacing: 10,
// margin: 20
// },
// child: [
// {
// name: "id",
// type: "LineEdit",
// title: self.ttr("Layer Name"),
// state: function (obj, self) {
// return "hide";
// }
// },
// {
// name: "layer_name",
// type: "LineEdit",
// title: self.ttr("Layer Name")
// },
// {
// name: "attr_data.org_layer_name",
// type: "LineEdit",
// title: self.ttr("Org Layer Name")
// },
// {
// name: "mm.finish_size",
// type: "DoubleLineEdit",
// title: self.ttr("Drill size(mm)"),
// validate: function (obj, val, title, moment, self) {
// if (val != undefined && val != null && val != "") {
// var milFinishSize = _.toNumber(val) * 1000 / 25.4;
// milFinishSize = milFinishSize.toFixed(self.config("precision.mil.finish_size"));
// this.getObject("mil.finish_size").setData("value", milFinishSize);
// this.getObject("finish_size").setData("value", _.toNumber(val) * 1000);
// } else {
// this.getObject("mil.finish_size").setData("value", null);
// this.getObject("finish_size").setData("value", null);
// }
// }
// },
// {
// name: "mil.finish_size",
// type: "DoubleLineEdit",
// title: self.ttr("Drill size(mil)"),
// property: {
// enabled: false
// }
// },
// {
// name: "finish_size",
// type: "DoubleLineEdit",
// title: self.ttr("33Drill size(mil)"),
// state: function (obj, self) {
// return "hide";
// }
// },
// {
// name: "mm.finish_slot_length",
// type: "DoubleLineEdit",
// title: self.ttr("Finish Slot Length"),
// validate: function (obj, val, title, moment, self) {
// if (val != undefined && val != null && val != "") {
// var finishSlotLength = (_.toNumber(val) * 1000).toFixed(self.config("precision.mm.finish_slot_length"));
// this.getObject("finish_slot_length").setData("value", finishSlotLength);
// } else {
// this.getObject("finish_slot_length").setData("value", null);
// }
// }
// },
// {
// name: "finish_slot_length",
// type: "DoubleLineEdit",
// title: self.ttr("Finish Slot Length"),
// state: function (obj, self) {
// return "hide";
// }
// },
// {
// name: "tool_type",
// type: "ComboBox",
// title: self.ttr("Round/slot"),
// property: {
// item_list: TOPENM.enumList("pdm-job-drill-table-tool-type").toComboList()
// }
// },
// {
// name: "drill_type",
// type: "ComboBox",
// title: self.ttr("PTH"),
// property: {
// item_list: TOPENM.enumList("pdm-job-drill-table-drill-type").toComboList()
// },
// validate: function (obj, val, title, moment, self) {
// var CRUD = this.getValue("CRUD");
// if (!/create/i.test(CRUD)) {
// return;
// }
// function numToString(num, digit) {
// numchar = num.toString();
// s = digit - numchar.length;
// var ch = "";
// for (i = 0; i < s; i++) {
// ch += "0";
// }
// return ch + numchar;
// };
// if (val == "laser") {
// this.getObject("tool_num").setData("value", "T01");
// } else {
// var allData = self.allTableDataMap();
// var max = 0;
// _.forEach(allData, function (item) {
// if (item["drill_type"] != "laser" && item["CRUD"] != "create") {
// var tool_num = item["tool_num"];
// var toolNum = _.toNumber(tool_num.replace(/\D/g, ""));
// max = max > toolNum ? max : toolNum;
// }
// })
// max += 1;
// this.getObject("tool_num").setData("value", _.format("T{0}", numToString(max, 2)));
// }
// }
// },
// {
// name: "attr_data.allowance",
// type: "LineEdit",
// title: self.ttr("allowance")
// },
// {
// name: "size_tol_upper",
// type: "DoubleLineEdit",
// title: self.ttr("Tol.+")
// },
// {
// name: "size_tol_lower",
// type: "DoubleLineEdit",
// title: self.ttr("Tol.-")
// },
// {
// name: "pcs_count",
// type: "IntLineEdit",
// title: self.ttr("Qty.(CRD)")
// },
// {
// name: "array_count",
// type: "IntLineEdit",
// title: self.ttr("Qty.(Array)")
// },
// {
// name: "panel_count",
// type: "IntLineEdit",
// title: self.ttr("Qty.(Panel)")
// },
// {
// name: "mm.drill_size",
// type: "DoubleLineEdit",
// title: self.ttr("Drill bit(mm)"),
// validate: function (obj, val, title, moment, self) {
// if (val != undefined && val != null && val != "") {
// var finishSlotLength = (_.toNumber(val) * 1000).toFixed(self.config("precision.mm.drill_size"));
// this.getObject("drill_size").setData("value", finishSlotLength);
// } else {
// this.getObject("drill_size").setData("value", null);
// }
// }
// },
// {
// name: "drill_size",
// type: "DoubleLineEdit",
// title: self.ttr("Drill bit(mm)"),
// state: function (obj, self) {
// return "hide";
// }
// },
// {
// name: "mm.drill_slot_length",
// type: "DoubleLineEdit",
// title: self.ttr("Drill Slot Length"),
// validate: function (obj, val, title, moment, self) {
// if (val != undefined && val != null && val != "") {
// var finishSlotLength = (_.toNumber(val) * 1000).toFixed(self.config("precision.mm.drill_slot_length"));
// this.getObject("drill_slot_length").setData("value", finishSlotLength);
// } else {
// this.getObject("drill_slot_length").setData("value", null);
// }
// }
// },
// {
// name: "drill_slot_length",
// type: "DoubleLineEdit",
// title: self.ttr("Drill Slot Length"),
// state: function (obj, self) {
// return "hide";
// }
// },
// {
// name: "attr_data.org_list",
// type: "TableView",
// title: self.ttr("Combine Data List"),
// initCallback: function (obj, self) {
// obj.setDataKeyList(["layer_name", "drill_type", "finish_size", "pcs_count", "array_count"]);
// obj.setHeaderItem(
// [
// {
// },
// {
// "name": "layer_name",
// "display": self.ttr("Layer Name"),
// "displayRole": "$layer_name",
// "size": "100"
// },
// {
// "name": "drill_type",
// "display": self.ttr("PTH"),
// "displayRole": "$drill_type",
// "size": "100"
// },
// {
// "name": "finish_size",
// "display": self.ttr("Drill size(mm)"),
// "displayRole": "$finish_size",
// "resizeMode": "ResizeToContents",
// },
// {
// "name": "pcs_count",
// "display": self.ttr("Qty.(CRD)"),
// "displayRole": "$pcs_count",
// "size": "100"
// },
// {
// "name": "array_count",
// "display": self.ttr("Qty.(Array)"),
// "displayRole": "$array_count",
// "size": "100"
// }
// ]
// );
// },
// setter: function (obj, value, self) {
// if (_.isEmpty(value)) {
// this.setState("attr_data.org_list", "hide");
// this.getObject("attr_data.org_list").setData("value", []);
// } else {
// this.setState("attr_data.org_list", "show");
// this.getObject("attr_data.org_list").setData("value", value);
// }
// },
// getter: function (obj, self) {
// return obj.allDataMap();
// }
// },
// {
// name: "attr_data.depth_drilling",
// type: "ComboBox",
// title: self.ttr("Depth Drilling"),
// property: {
// item_list: [
// { name: "yes", text: "Yes" },
// { name: "no", text: "No" }
// ]
// },
// validate: function (obj, val, title, moment, self) {
// if (val == "yes") {
// this.setState("attr_data.depth_drilling_side", "show")
// } else {
// this.setState("attr_data.depth_drilling_side", "hide")
// this.getObject("attr_data.depth_drilling_side").setData("value", "");
// }
// }
// },
// {
// name: "attr_data.depth_drilling_side",
// type: "ComboBox",
// title: self.ttr("Depth Drilling Side"),
// property: {
// item_list: [
// { name: "front", text: "Front" },
// { name: "back", text: "Back" }
// ]
// }
// },
// {
// name: "CRUD",
// type: "LineEdit",
// state: function (obj, self) {
// return 'hide';
// }
// },
// {
// name: "tool_num",
// type: "LineEdit",
// state: function (obj, self) {
// return 'hide';
// }
// },
// {
// type: "Stretch"
// }
// ]
// }
// ]
\ No newline at end of file
var plugin = require('topsin.gengui'); ar plugin = require('topsin.gengui');
var gui = plugin.newGui(plugin.__dirname); var gui = plugin.newGui(plugin.__dirname);
...@@ -7,268 +7,89 @@ function gen() { ...@@ -7,268 +7,89 @@ function gen() {
console.log("pause"); console.log("pause");
} }
} }
var str = "-------\nxxxx xxxx\naslkdankdassadddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd"
gui.setLang("zhtw"); // zhcn, zhtw, en
// var r = gui.msgBox({ gui.setLang("zhcn"); // zhcn, zhtw, en
// title: "info",
// icon: "info",
// text: str,
// buttons: ["Ok", "Cancel"],
// gen: new gen()
// });
// console.log(r);
// r = gui.confirm(str, "");
x = gui.debug({
title: " 检查",
text: str,
defaultsize: [800, 600],
size: [800, 600],
gen: new gen()
});
/*
console.log(r);
var selected = gui.selectFromTreeview({
title: "test",
size: [600, 400],
selectmode: "single",
columns: [{
"name": "id",
"display": "ID",
"displayRole": "$id",
"search": true,
"resizeMode": "ResizeToContents"
},
{
"name": "name",
"display": "NAME",
"displayRole": "$name",
"search": true,
"resizeMode": "ResizeToContents"
}
],
data: [{
"id": 1,
"name": "mo"
},
{
"id": 2,
"name": "ha"
}
],
returncols: ["id"]
});
console.log(selected);
r = gui.selectFile("choose something", "*", true, "file", "/home/abby/fast_io");
console.log(r);
var elder = [];
for (var i = 0; i < 100; ++i) {
elder.push({
"mo": "+1s"
});
}
var xx = [{
"mo": "too young too simple"
},
{
"ha": "sometimes naive!"
},
{
"elder": "+1s"
}
];
r = gui.selectSingle({
"title": "select your favar",
"list": xx,
"default": "",
"columns": 2,
size: [200, 300],
showheader: true,
"gen": new gen()
});
console.log(r);
r = gui.selectMultiple({
"title": "select your favar",
"list": xx,
"defaultvalue": ["mo"],
"columns": 2,
size: [300, 500],
showheader: true,
"gen": new gen()
});
console.log(r);
// select_from_layer
// select_from_job
gui.selectJob({
title: "select job",
multiple: false,
joblist: [
"too young",
"too simple",
"sometimes",
"naive!"
],
gen: new gen()
});
gui.selectStep({
title: "select layer",
multiple: true,
steplist: ["l1", "l2", "l3"],
// gen: new gen(),
size: [300, 500]
});
r = gui.selectFromTable({
title: "select from table example",
multiple: true,
list: [{
"job": "too young",
"name": "elder"
},
{
"job": "too simple",
"name": "elder"
},
{
"job": "sometimes",
"name": "elder"
},
{
"job": "naive",
"name": "elder"
}
],
gen: new gen()
});
console.log(r);
gui.snapScreen({
file: "xxx",
dir: "/tmp",
type: "png",
overwrite: true
});
gui.imageViewer({
title: "screenshot",
file: "/tmp/xxx.png",
defaultsize: [800, 600]
});
r = gui.inputBox({
title: "input box example",
value: "are you ok?",
size: [300, 200],
multiline: false
});
console.log(r);
// // refer to ikm6 GUI.showForm
r = gui.showForm({ r = gui.showForm({
title: "注册账号", title: "注册账号",
size: [600, 400], size: [600, 400],
ui: { ui: [{
type: 'ScrollArea', type: 'ScrollArea',
property: { property: { widget_resizable: true, frame_shape: 'NoFrame', align: 'Top' },
widget_resizable: true,
frame_shape: 'NoFrame',
align: 'Top'
},
child: { child: {
type: 'VBoxLayout', type: 'VBoxLayout',
property: { property: { margin: 2, spacing: 20, align: 'Top' },
margin: 2, pack: { stretch: 0 },
spacing: 20, child: [
align: 'Top' {
}, type: "FormGridLayout",
pack: { property: { columns: 1, label_alignment: 'Top | Right', margin: 10, spacing: 20 },
stretch: 0 pack: { stretch: 0 },
}, child: [
child: [{ {
type: "FormGridLayout", name: 'username',
property: { type: 'LineEdit',
columns: 1, pack: { label: "用户名" },
label_alignment: 'Top | Right', property: { enabled: true }
margin: 10,
spacing: 20
},
pack: {
stretch: 0
},
child: [{
name: 'username',
type: 'LineEdit',
pack: {
label: "用户名"
}, },
property: { {
enabled: true name: 'password',
} type: 'LineEdit',
}, pack: { label: "密码" },
{ property: { echo_mode: "password" }
name: 'password',
type: 'LineEdit',
pack: {
label: "密码"
}, },
property: { {
echo_mode: "password" name: 'sex',
} type: 'ComboBox',
}, property: {
{ enabled: true, item_list: [
name: 'sex', { name: "male", icon: "male", text: "男", text_zhcn: "男", text_zhtw: "男" },
type: 'ComboBox', { name: "female", icon: "female", text: "女", text_zhcn: "女", text_zhtw: "女" },
property: { { name: "hideyoshi", icon: "circle-thin", text: "Hideyoshi", text_zhcn: "秀吉", text_tw: "秀吉" }
enabled: true, ]
item_list: [{ },
name: "male", pack: { label: '性别' }
icon: "male",
text: "男",
text_zhcn: "男",
text_zhtw: "男"
},
{
name: "female",
icon: "female",
text: "女",
text_zhcn: "女",
text_zhtw: "女"
},
{
name: "hideyoshi",
icon: "circle-thin",
text: "Hideyoshi",
text_zhcn: "秀吉",
text_tw: "秀吉"
}
]
}, },
pack: { {
label: '性别' name: 'table',
type: 'TableView',
property: {},
pack: { label: '性别' },
initCallback: function (obj, self) {
obj.setHeaderItem(
[
{},
{ name: 'analysis_item', display: 'Analysis Item', resizeMode: 'ResizeToContents', displayRole: '$analysis_item' },
{ name: 'analysis_result', display: 'Analysis Result', resizeMode: 'ResizeToContents', displayRole: '$analysis_result' },
{ name: 'result', display: 'Result', resizeMode: 'ResizeToContents', displayRole: '$result' },
{ name: 'standard', display: 'Standard', resizeMode: 'ResizeToContents', displayRole: '$standard' },
{ name: 'remark', display: 'Remark', resizeMode: 'ResizeToContents', displayRole: '$remark', editRole: '$remark', flagsRole: 'ItemIsEditable|ItemIsEnabled|ItemIsSelectable' }
]
);
obj.setDataKeyList(["id", "analysis_item", "analysis_result", "result", "standard", "remark"]);
obj.setPrimaryKey("id");
},
setter: function (obj, value, self) {
if (value != null) {
obj.loadData(value);
} else {
obj.clearData();
}
}
} }
} ]
] }
}] ]
} }
}, }],
data: { data: {
username: "elder", username: "elder",
password: "nαive!", password: "nαive!",
sex: "male" sex: "male"
}, },
includehide: false, includehide: false,
buttons: [{ buttons: [
{
stock: "ok", stock: "ok",
sensitive: true, sensitive: true,
command: function (data) { command: function (data) {
...@@ -290,165 +111,8 @@ r = gui.showForm({ ...@@ -290,165 +111,8 @@ r = gui.showForm({
} }
} }
], ],
hook: function (data) {}, hook: function (data) { },
gen: new gen()
});
console.log(r);
r = gui.selectLayer({
title: "+1s",
//filter: ".*", // regular expression
selectmode: "single", // single, multiple
context: "all", // all, board, misc
layertype: "inner", // default type of layertypelist
defaultsize: [600, 400], // window size
layermatrix: {
layer1: {
context: "board",
row: 1,
name: "layer1",
layer_type: "inner"
},
layer2: {
row: 2,
name: "layer2",
layer_type: "outer"
},
layer3: {
context: "misc",
row: 3,
name: "layer3",
layer_type: "inner"
}
},
layertypelist: [{
name: "all",
display_name: "All",
filter: function (x) {
return true;
}
},
{
name: "inner",
display_name: "Inner",
filter: function (x) {
return x["layer_type"] === "inner";
}
},
{
name: "outer",
display_name: "Outer",
filter: function (x) {
return x["layer_type"] === "outer";
}
}
],
gen: new gen()
});
console.log(r);
r = gui.lockUnlockLayer({
title: "+1s",
layermatrix: {
layer1: {
context: "board",
row: 1,
name: "layer1",
layer_type: "signal"
},
layer2: {
context: "board",
row: 2,
name: "layer2",
layer_type: "drill"
},
layer3: {
context: "misc",
row: 3,
name: "layer3",
layer_type: "rout"
}
},
lockvalue: {
layer1: true,
layer2: false
},
gen: new gen() gen: new gen()
}); });
console.log(r);
r = gui.passwordBox({
title: "password box",
password: "naive!",
size: [400, 150]
});
console.log(r);
r = gui.selectJobLayer({
title: "select job layer",
layertypelist: [{
name: "mo",
display_name: "MO",
filter: function (x) {
return x.layer_type === "mo";
}
},
{
name: "ha",
display_name: "HA",
filter: function (x) {
return x.layer_type === "ha";
}
}
],
//defaultlayertype: "ha",
joblist: ["job1", "job2"],
defaultJob: ["job1"], // select by default
steplist: ["step1", "step2", "step3", "step4"],
// defaultstep: "step3",
showstep: true,
selectmode: "single", // single/multiple
layermatrix: {
"layer1": {
name: "layer1",
layer_type: "mo",
row: 1
},
"layer2": {
name: "layer2",
layer_type: "ha",
row: 2
}
},
defaultlayer: ["layer1"]
});
console.log(r);
var DB = require('topsin.database');
DB.addConnection({
database_type: 'pg',
database_host: '127.0.0.1:5432',
database_name: 'test',
database_user: 'abby',
database_pwd: 'abby'
}, 'test');
x = gui.showSendMail({
title: "show send mail",
to: "elder@+1s.gov",
cc: "elder@moha.me",
subject: "are you ok?",
content: "naive!",
size: [800, 600],
db: DB.query('test')
});
console.log(x);
*/ console.log(r);
\ No newline at end of file \ No newline at end of file
...@@ -294,8 +294,8 @@ try { ...@@ -294,8 +294,8 @@ try {
GEN.renameLayer({job:job,layer:layer,new_name:target}) GEN.renameLayer({job:job,layer:layer,new_name:target})
} }
} }
}) });
GEN.closeStep() GEN.closeStep();
var tmp_matrix = GEN.getMatrix({job:job}) var tmp_matrix = GEN.getMatrix({job:job})
......
...@@ -393,9 +393,9 @@ try { ...@@ -393,9 +393,9 @@ try {
// }] // }]
change_files.reverse().forEach(function(item){ change_files.reverse().forEach(function(item){
fs.unlink(item.newpath); fs.unlink(item.newpath)
if(fs.exists(item.ori_dirname)){ if(item.dirname != item.ori_dirname && fs.exists(item.ori_dirname)){
fs.rename(item.ori_dirname,item.ori_dirname+"_bk"); fs.rmdir(item.ori_dirname);
} }
fs.rename(item.dirname, item.ori_dirname); fs.rename(item.dirname, item.ori_dirname);
}) })
......
## PWD
* Admin3396815
* admin
* toplinker01 888888ABCD
* toplinker TopLinker0510
* scott Scott123 --tjspm账号
## 禅道资料 https://toplinker.yuque.com/toplinker/zentao/hw24y3
## scott.sun@topibd.com Scott=123456Toplinker
http://doc.topibd.net/
{
"debug_mode": "0",
"http_url": "http://10.90.2.58:9008/api/TOPSTQ_ATS_V6/ikm6",
"module_dirs_dev": [],
"module_dirs_prod": [],
"module_dirs_project": [],
"product_category": "top-dfm"
}
vnc : genesis
gedit
10.90.2.58:5432
TOPSTQ_ATS_V6
http://10.90.2.58:9008/api/TOPSTQ_ATS_V6/ikm6
AIMDFMSERVER01
incampro1
incam
/incampro/release/bin/InCAMPro
sys_incam
IP:10.90.2.58
user:root
pwd:Overlay135
10.90.2.45:16
vpn.cn.ats.net
ats-prod\vpn_toplinker
daUmvD3s
5sMm2U71
alevpn.ats.net
Samba 公共盘访问登陆需要密码管理。 用户名 FEE 密码:Atsfee2408
IP:10.90.2.58
user:root
本地erf: GBM_0.5OZ
ats erf: Inner(Microns) ATS-CHECK-1.0
resource: /opt/resource/
root@10.90.2.45:/opt/resource/customer_1
<!-- 1.vc_array_size_w不存在时为 error,应该不存值 -->
<!-- 2.vc_array_size_l不存在时为 error,应该不存值 -->
<!-- 3.stack_vias_number 不存在时为 error,应该不存值 -->
<!-- 4.vc_src_01005_pad_result未发现存在01005_pad物件(料号i4) -->
ATS-EP-3.0
<!-- 5.solder_mask_side未存值,存成了 sm -->
6.min_smd_pitch存储值有问题,应该是12.323,存成2
7.min_line_width存值不准确
8.min_line_spacing存值不准确(料号1,top层应该为2.362,不是NA)
<!-- 9.exposed_area值不存在 -->
<!-- 10.drl_pad_top/drl_pad_bot中,drill层没有值 -->
<!-- 11.matrix未上传pdm_job_layer表 -->
<!-- 12.为设置钻孔属性 -->
<!-- 13.钻孔信息未上传完全 -->
曝光 ref
drill drl_pad_top bot
sm opening count
dfm模块配置 {
jtg: TopDFM
ats:
}
今腾向日葵 702 320 664 1212
#dump数据pg的表
pg_dump -h 139.196.104.13 -p 5433 -U toplinker -c -t pdm_workflow -t pdm_workflow_lnk_workprocess -t pdm_workprocess -t pdm_workprocess_script -t pdm_workprocess_script_log -t pdm_workprocess_sop TOPDFM_ZDA_V6 > d:/zda.sql
#导入数据数据
psql -h 192.168.120.5 -p 5432 -U toplinker -d TOPDFM_ZDA_V6 < d:/zda.sql
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment