commit
e3ee104e56
@ -8,6 +8,7 @@ import io.dataease.controller.request.datafill.DataFillFormTableDataRequest;
|
||||
import io.dataease.controller.response.datafill.DataFillFormTableDataResponse;
|
||||
import io.dataease.dto.datafill.DataFillCommitLogDTO;
|
||||
import io.dataease.ext.ExtDataFillFormMapper;
|
||||
import io.dataease.i18n.Translator;
|
||||
import io.dataease.plugins.common.base.domain.DataFillFormWithBLOBs;
|
||||
import io.dataease.plugins.common.base.domain.Datasource;
|
||||
import io.dataease.plugins.common.base.mapper.DataFillFormMapper;
|
||||
@ -257,7 +258,7 @@ public class DataFillDataService {
|
||||
|
||||
List<TableField> tableFields = datasourceProvider.getTableFields(datasourceRequest).stream().filter(TableField::isPrimaryKey).collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(tableFields)) {
|
||||
throw new RuntimeException("没有主键");
|
||||
throw new RuntimeException(Translator.get("I18N_DATA_FILL_NO_PRIMARY_KEY"));
|
||||
}
|
||||
TableField key = tableFields.get(0);
|
||||
|
||||
|
||||
@ -296,16 +296,16 @@ public class DataFillService {
|
||||
DataFillUserTask task = dataFillUserTaskMapper.selectByPrimaryKey(userTaskId);
|
||||
|
||||
if (task == null) {
|
||||
DataEaseException.throwException("任务不存在");
|
||||
DataEaseException.throwException(Translator.get("I18N_DATA_FILL_TASK_NOT_EXIST"));
|
||||
}
|
||||
|
||||
if (!AuthUtils.getUser().getUserId().equals(task.getUser())) {
|
||||
DataEaseException.throwException("当前用户非任务用户");
|
||||
DataEaseException.throwException(Translator.get("I18N_DATA_FILL_USER_NOT_TASK_USER"));
|
||||
}
|
||||
|
||||
if (task.getEndTime() != null) {
|
||||
if (task.getEndTime().getTime() < System.currentTimeMillis()) {
|
||||
DataEaseException.throwException("已经超过了任务截止时间");
|
||||
DataEaseException.throwException(Translator.get("I18N_DATA_FILL_TASK_EXPIRED"));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -240,6 +240,10 @@ I18N_ACCOUNT_LOCKED=Account\u3010%s\u3011is locked(Please contact the administra
|
||||
I18N_PANEL_EXIST=The current panel name already exists under this directory
|
||||
I18N_DATA_FILL_FORM_EXIST=The current data filling form name already exists under this directory
|
||||
I18N_DATA_FILL_TASK_EXIST=The current data filling task name already exists under this form
|
||||
I18N_DATA_FILL_TASK_NOT_EXIST=Task not exists
|
||||
I18N_DATA_FILL_USER_NOT_TASK_USER=Current user is not task user
|
||||
I18N_DATA_FILL_TASK_EXPIRED=Task expired
|
||||
I18N_DATA_FILL_NO_PRIMARY_KEY=PRIMARY KEY not exists
|
||||
I18N_FOlDER_EXIST=The name already exists under this directory
|
||||
I18N_DATASET_GROUP_EXIST=The current dataset grouping name already exists under this directory
|
||||
I18N_NOT_JAR=File is not jar!
|
||||
@ -284,3 +288,7 @@ I18n_del_admin_tips=Forbidden to delete the admin account
|
||||
I18N_NO_DRIVER_PERMISSION=Do not have permissions!
|
||||
i18n_field_circular_error=Field error
|
||||
i18n_field_circular_ref=Field has Circular Reference
|
||||
\u6570\u636E\u586B\u62A5=Data Filling
|
||||
\u8868\u5355\u7BA1\u7406=From Manage
|
||||
\u6211\u7684\u586B\u62A5=My Job
|
||||
\u8868\u5355\u521B\u5EFA=Form Create
|
||||
|
||||
@ -240,6 +240,10 @@ I18N_ACCOUNT_LOCKED=\u8D26\u53F7\u3010%s\u3011\u5DF2\u9501\u5B9A(\u8BF7\u8054\u7
|
||||
I18N_PANEL_EXIST=\u5F53\u524D\u4EEA\u8868\u677F\u540D\u79F0\u5728\u8BE5\u76EE\u5F55\u4E0B\u9762\u5DF2\u7ECF\u5B58\u5728
|
||||
I18N_DATA_FILL_FORM_EXIST=\u5F53\u524D\u6570\u636E\u586B\u62A5\u8868\u5355\u540D\u79F0\u5728\u8BE5\u76EE\u5F55\u4E0B\u9762\u5DF2\u7ECF\u5B58\u5728
|
||||
I18N_DATA_FILL_TASK_EXIST=\u5F53\u524D\u6570\u636E\u586B\u62A5\u4EFB\u52A1\u540D\u79F0\u5728\u8BE5\u8868\u5355\u4E0B\u9762\u5DF2\u7ECF\u5B58\u5728
|
||||
I18N_DATA_FILL_TASK_NOT_EXIST=\u4EFB\u52A1\u4E0D\u5B58\u5728
|
||||
I18N_DATA_FILL_USER_NOT_TASK_USER=\u5F53\u524D\u7528\u6237\u975E\u4EFB\u52A1\u7528\u6237
|
||||
I18N_DATA_FILL_TASK_EXPIRED=\u5DF2\u7ECF\u8D85\u8FC7\u4E86\u4EFB\u52A1\u622A\u6B62\u65F6\u95F4
|
||||
I18N_DATA_FILL_NO_PRIMARY_KEY=\u6CA1\u6709\u4E3B\u952E
|
||||
I18N_FOlDER_EXIST=\u5F53\u524D\u540D\u79F0\u5728\u8BE5\u76EE\u5F55\u4E0B\u9762\u5DF2\u7ECF\u5B58\u5728
|
||||
I18N_DATASET_GROUP_EXIST=\u5F53\u524D\u6570\u636E\u96C6\u5206\u7EC4\u540D\u79F0\u5728\u8BE5\u76EE\u5F55\u4E0B\u9762\u5DF2\u7ECF\u5B58\u5728
|
||||
I18N_NOT_JAR=\u6587\u4EF6\u4E0D\u662F jar \u5305!
|
||||
@ -274,3 +278,7 @@ I18n_del_admin_tips=\u7981\u6B62\u5220\u9664admin\u8D26\u53F7
|
||||
I18N_NO_DRIVER_PERMISSION=\u6CA1\u6709\u6743\u9650\uFF01
|
||||
i18n_field_circular_error=\u5B57\u6BB5\u89E3\u6790\u9519\u8BEF\uFF0C\u53EF\u80FD\u539F\u56E0\uFF1A\u5B57\u6BB5\u5DF2\u5220\u9664\u3001\u8BA1\u7B97\u5B57\u6BB5\u5F15\u7528\u5C42\u7EA7\u8FC7\u6DF1\u3001\u5B58\u5728\u5FAA\u73AF\u5F15\u7528\u7B49\uFF0C\u8BF7\u68C0\u67E5\u8868\u8282\u70B9\u548C\u5B57\u6BB5\u5E76\u91CD\u65B0\u7F16\u8F91\u3002
|
||||
i18n_field_circular_ref=\u5B57\u6BB5\u5B58\u5728\u5FAA\u73AF\u5F15\u7528
|
||||
\u6570\u636E\u586B\u62A5=\u6570\u636E\u586B\u62A5
|
||||
\u8868\u5355\u7BA1\u7406=\u8868\u5355\u7BA1\u7406
|
||||
\u6211\u7684\u586B\u62A5=\u6211\u7684\u586B\u62A5
|
||||
\u8868\u5355\u521B\u5EFA=\u8868\u5355\u521B\u5EFA
|
||||
|
||||
@ -36,7 +36,6 @@
|
||||
\u7F16\u8F91\u89D2\u8272=\u7DE8\u8F2F\u89D2\u8272
|
||||
\u7F16\u8F91\u8FDE\u63A5=\u7DE8\u8F2F\u93C8\u63A5
|
||||
\u83DC\u5355\u7BA1\u7406=\u83DC\u55AE\u7BA1\u7406
|
||||
\u8868\u5355\u7BA1\u7406=\u8868\u55AE\u7BA1\u7406
|
||||
\u89C6\u56FE=\u8996\u5716
|
||||
\u89D2\u8272\u7BA1\u7406=\u89D2\u8272\u7BA1\u7406
|
||||
\u89D2\u8272\u8868\u5355=\u89D2\u8272\u8868\u55AE
|
||||
@ -236,6 +235,10 @@ I18N_ACCOUNT_LOCKED=\u8CEC\u865F\u3010%s\u3011\u5DF2\u9396\u5B9A(\u8ACB\u806F\u7
|
||||
I18N_PANEL_EXIST=\u7576\u524D\u5100\u9336\u95C6\u540D\u7A31\u5728\u8A72\u76EE\u9304\u4E0B\u9762\u5DF2\u7D93\u5B58\u5728
|
||||
I18N_DATA_FILL_FORM_EXIST=\u7576\u524D\u6578\u64DA\u586B\u5831\u8868\u55AE\u540D\u7A31\u5728\u8A72\u76EE\u9304\u4E0B\u9762\u5DF2\u7D93\u5B58\u5728
|
||||
I18N_DATA_FILL_TASK_EXIST=\u7576\u524D\u6578\u64DA\u586B\u5831\u4EFB\u52D9\u540D\u7A31\u5728\u8A72\u8868\u55AE\u4E0B\u9762\u5DF2\u7D93\u5B58\u5728
|
||||
I18N_DATA_FILL_TASK_NOT_EXIST=\u4EFB\u52D9\u4E0D\u5B58\u5728
|
||||
I18N_DATA_FILL_USER_NOT_TASK_USER=\u7576\u524D\u7528\u6236\u975E\u4EFB\u52D9\u7528\u6236
|
||||
I18N_DATA_FILL_TASK_EXPIRED=\u5DF2\u7D93\u8D85\u904E\u4E86\u4EFB\u52D9\u622A\u6B62\u6642\u9593
|
||||
I18N_DATA_FILL_NO_PRIMARY_KEY=\u6C92\u6709\u4E3B\u9375
|
||||
I18N_FOlDER_EXIST=\u540D\u7A31\u5728\u8A72\u76EE\u9304\u4E0B\u9762\u5DF2\u7D93\u5B58\u5728
|
||||
I18N_DATASET_GROUP_EXIST=\u7576\u524D\u6578\u64DA\u96C6\u5206\u7D44\u540D\u7A31\u5728\u8A72\u76EE\u9304\u4E0B\u9762\u5DF2\u7D93\u5B58\u5728
|
||||
I18N_NOT_JAR=\u6587\u4EF6\u4E0D\u662F jar \u5305!
|
||||
@ -280,3 +283,7 @@ I18n_del_admin_tips=\u7981\u6B62\u522A\u9664admin\u8CEC\u865F
|
||||
I18N_NO_DRIVER_PERMISSION=\u6C92\u6709\u8A31\u53EF\u6B0A\uFF01
|
||||
i18n_field_circular_error=\u5B57\u6BB5\u89E3\u6790\u932F\u8AA4\uFF0C\u53EF\u80FD\u539F\u56E0\uFF1A\u5B57\u6BB5\u5DF2\u522A\u9664\u3001\u8A08\u7B97\u5B57\u6BB5\u5F15\u7528\u5C64\u7D1A\u904E\u6DF1\u3001\u5B58\u5728\u5FAA\u74B0\u5F15\u7528\u7B49\uFF0C\u8ACB\u6AA2\u67E5\u8868\u7BC0\u9EDE\u548C\u5B57\u6BB5\u4E26\u91CD\u65B0\u7DE8\u8F2F\u3002
|
||||
i18n_field_circular_ref=\u5B57\u6BB5\u5B58\u5728\u5FAA\u74B0\u5F15\u7528
|
||||
\u6570\u636E\u586B\u62A5=\u6578\u64DA\u586B\u5831
|
||||
\u8868\u5355\u7BA1\u7406=\u8868\u55AE\u7BA1\u7406
|
||||
\u6211\u7684\u586B\u62A5=\u6211\u7684\u586B\u5831
|
||||
\u8868\u5355\u521B\u5EFA=\u8868\u55AE\u5275\u5EFA
|
||||
|
||||
@ -594,12 +594,32 @@ export default {
|
||||
enum_filter: 'Enum Filter'
|
||||
},
|
||||
data_fill: {
|
||||
data_fill: 'Data Filling',
|
||||
new_folder: 'New Folder',
|
||||
form_manage: 'Form Manage',
|
||||
my_job: 'My Job',
|
||||
form: {
|
||||
name: 'Name',
|
||||
rename: 'Rename',
|
||||
untitled: 'Untitled',
|
||||
create_new_form: 'Create New Form',
|
||||
title: 'Title',
|
||||
no_form: 'Click to Create New',
|
||||
form_list_name: 'Form List',
|
||||
create_form: 'Create Form',
|
||||
please_select: 'Please Select',
|
||||
component: 'Component',
|
||||
component_setting: 'Component Setting',
|
||||
hint: 'Hint',
|
||||
option: 'Option',
|
||||
form_setting: 'Form Setting',
|
||||
input_limit_50: 'No more than 50 characters',
|
||||
confirm_delete: 'Confirm delete? (The tables created in database will not be deleted)',
|
||||
list: 'Form List',
|
||||
record: 'Fill Record',
|
||||
task_manage: 'Task Manage',
|
||||
form_name: 'Form Name',
|
||||
folder: 'Folder',
|
||||
datasource: 'Datasource',
|
||||
table: 'Table',
|
||||
creator: 'Creator',
|
||||
@ -610,14 +630,97 @@ export default {
|
||||
modify: 'Modify',
|
||||
show: 'Show',
|
||||
delete: 'Delete',
|
||||
show_data: 'Show Data'
|
||||
show_data: 'Show Data',
|
||||
text: 'Text',
|
||||
number: 'Number',
|
||||
tel: 'Tel',
|
||||
email: 'Email',
|
||||
duplicate_error: 'Duplicate',
|
||||
value_not_exists: 'Value Not Exists',
|
||||
range_separator: 'Range Separator',
|
||||
start_hint_word: 'Start Hint Word',
|
||||
end_hint_word: 'End Hint Word',
|
||||
input_type: 'Input Type',
|
||||
check: 'Check',
|
||||
set_required: 'Set Required',
|
||||
set_unique: 'Set Unique',
|
||||
set_multiple: 'Set Multiple',
|
||||
use_datetime: 'Use Datetime',
|
||||
custom: 'Custom',
|
||||
option_value: 'Options',
|
||||
add_option: 'Add Option',
|
||||
form_name_cannot_none: 'Form name cannot be null',
|
||||
form_components_cannot_null: 'Form components cannot be null',
|
||||
option_list_cannot_empty: 'Option list cannot be empty',
|
||||
component_setting_error: 'Component setting error',
|
||||
table_name: 'Table',
|
||||
form_column: 'Form Column',
|
||||
column_name: 'Table Column',
|
||||
column_type: 'Table Column Type',
|
||||
create_index: 'Create Index',
|
||||
add_index: 'Add Index',
|
||||
index_name: 'Index Name',
|
||||
index_column: 'Index Column',
|
||||
order_asc: 'Asc',
|
||||
order_desc: 'Desc',
|
||||
order_none: 'Default Order',
|
||||
add_column: 'Add Column',
|
||||
please_insert_start: 'Start Time Column Name',
|
||||
please_insert_end: 'End Time Column Name',
|
||||
save_form: 'Save Form'
|
||||
},
|
||||
database: {
|
||||
nvarchar: 'Nvarchar',
|
||||
text: 'Text',
|
||||
number: 'Number',
|
||||
decimal: 'Decimal',
|
||||
datetime: 'Datetime'
|
||||
},
|
||||
data: {
|
||||
confirm_delete: 'Confirm delete?'
|
||||
confirm_delete: 'Confirm delete?',
|
||||
add_data: 'Add Data',
|
||||
insert_data: 'Insert Data',
|
||||
update_data: 'Update Data',
|
||||
delete_data: 'Delete Data',
|
||||
recent_committer: 'Recent Committer',
|
||||
recent_commit_time: 'Recent Commit Time',
|
||||
start: 'Start',
|
||||
end: 'End',
|
||||
id_is: 'ID [',
|
||||
data_not_found: '] Not Found'
|
||||
},
|
||||
task: {
|
||||
name: 'Name',
|
||||
creator: 'Creator',
|
||||
create_time: 'Create Time',
|
||||
rate_type: 'Rate Type',
|
||||
task_status: 'Status',
|
||||
add_task: 'Add Task',
|
||||
task_name: 'Task Name',
|
||||
task_remain_time: 'Remaining Validity',
|
||||
task_sender: 'Task Sender',
|
||||
start_filling: 'Start Filling',
|
||||
task_distribute_time: 'Distribution Time',
|
||||
task_expiration_time: 'Expiration Time',
|
||||
task_finished_time: 'Finished Time',
|
||||
task_end_time: 'End Time',
|
||||
edit_data: 'Edit Data',
|
||||
show_data: 'Show Data',
|
||||
confirm_enable: 'Confirm enable task?',
|
||||
confirm_disable: 'Confirm disable task?'
|
||||
confirm_disable: 'Confirm disable task?',
|
||||
edit_task: 'Edit Task',
|
||||
create_task: 'Create Task',
|
||||
edit: 'Edit',
|
||||
stop: 'Stop',
|
||||
start: 'Start',
|
||||
delete: 'Delete',
|
||||
no_time_limit: 'No Time Limit',
|
||||
todo: 'Todo',
|
||||
finished: 'Finished',
|
||||
expired: 'Expired',
|
||||
|
||||
task_finish_in: 'Task Finished in ',
|
||||
task_finish_in_suffix: ''
|
||||
},
|
||||
on_the_left: 'Please select a form on the left',
|
||||
search_by_commit_name: 'Search by operator name'
|
||||
|
||||
@ -190,7 +190,7 @@ export default {
|
||||
unbind: '解綁',
|
||||
unlock: '解鎖',
|
||||
unlock_success: '解鎖成功',
|
||||
parameter_effect: '參數值僅在數据集編輯時生效',
|
||||
parameter_effect: '參數值僅在數據集編輯時生效',
|
||||
uninstall: '卸載',
|
||||
|
||||
no_result: '沒有找到相關內容',
|
||||
@ -429,9 +429,9 @@ export default {
|
||||
ukey_title: 'API Keys',
|
||||
thumbnail: '縮略圖',
|
||||
confirm_delete: '確認刪除',
|
||||
delete_this_dashboard: '確認删除該儀錶板嗎?',
|
||||
cancel_this_dashboard: '確認取消該默认儀錶板嗎?',
|
||||
delete_this_folder: '確認删除該目錄嗎?',
|
||||
delete_this_dashboard: '確認刪除該儀錶板嗎?',
|
||||
cancel_this_dashboard: '確認取消該默認儀錶板嗎?',
|
||||
delete_this_folder: '確認刪除該目錄嗎?',
|
||||
confirm_stop: '確認停止',
|
||||
stop_success: '停止成功',
|
||||
treeselect: {
|
||||
@ -594,12 +594,32 @@ export default {
|
||||
enum_filter: '枚舉篩選'
|
||||
},
|
||||
data_fill: {
|
||||
data_fill: '數據填報',
|
||||
new_folder: '新建文件夾',
|
||||
form_manage: '表單管理',
|
||||
my_job: '我的填報',
|
||||
form: {
|
||||
name: '名稱',
|
||||
rename: '重命名',
|
||||
untitled: '未命名表單',
|
||||
create_new_form: '新建表單',
|
||||
title: '標題',
|
||||
no_form: '暫無表單,點擊',
|
||||
form_list_name: '填報表單',
|
||||
create_form: '新建表單',
|
||||
please_select: '請選擇',
|
||||
component: '組件',
|
||||
component_setting: '組件設置',
|
||||
hint: '提示詞',
|
||||
input_limit_50: '不超過50個字符',
|
||||
option: '選項',
|
||||
form_setting: '表單設置',
|
||||
confirm_delete: '確認刪除?(不會刪除已創建的數據庫表)',
|
||||
list: '表單數據',
|
||||
record: '提交記錄',
|
||||
task_manage: '任務管理',
|
||||
form_name: '表單名稱',
|
||||
folder: '所屬文件夾',
|
||||
datasource: '數據源',
|
||||
table: '數據庫表',
|
||||
creator: '創建人',
|
||||
@ -610,14 +630,97 @@ export default {
|
||||
modify: '修改',
|
||||
show: '查看',
|
||||
delete: '刪除',
|
||||
show_data: '查看數據'
|
||||
show_data: '查看數據',
|
||||
text: '普通文本',
|
||||
number: '數字',
|
||||
tel: '手機號',
|
||||
email: '郵箱',
|
||||
duplicate_error: '重復',
|
||||
value_not_exists: '值不存在',
|
||||
range_separator: '分割字符',
|
||||
start_hint_word: '開始提示詞',
|
||||
end_hint_word: '結束提示詞',
|
||||
input_type: '格式類型',
|
||||
check: '校驗',
|
||||
set_required: '設置為必填項',
|
||||
set_unique: '不允許重復值',
|
||||
set_multiple: '允許多選',
|
||||
use_datetime: '使用日期時間',
|
||||
custom: '自定義',
|
||||
option_value: '選項值',
|
||||
add_option: '添加選項值',
|
||||
form_name_cannot_none: '表單名稱不能為空',
|
||||
form_components_cannot_null: '請添加表單組件',
|
||||
option_list_cannot_empty: '選項值不能為空',
|
||||
component_setting_error: '組件設置錯誤',
|
||||
table_name: '數據庫表名',
|
||||
form_column: '表單字段',
|
||||
column_name: '數據庫表字段名稱',
|
||||
column_type: '數據庫字段類型',
|
||||
create_index: '創建索引',
|
||||
add_index: '新增索引',
|
||||
index_name: '索引名稱',
|
||||
index_column: '索引字段',
|
||||
order_asc: '順序',
|
||||
order_desc: '倒序',
|
||||
order_none: '默認排序',
|
||||
add_column: '新增字段',
|
||||
please_insert_start: '請輸入開始時間',
|
||||
please_insert_end: '請輸入結束時間',
|
||||
save_form: '保存表單'
|
||||
},
|
||||
database: {
|
||||
nvarchar: '字符串',
|
||||
text: '長文本',
|
||||
number: '整型數字',
|
||||
decimal: '小數數字',
|
||||
datetime: '日期'
|
||||
},
|
||||
data: {
|
||||
confirm_delete: '確認刪除?'
|
||||
confirm_delete: '確認刪除?',
|
||||
add_data: '添加數據',
|
||||
insert_data: '插入數據',
|
||||
update_data: '更新數據',
|
||||
delete_data: '刪除數據',
|
||||
recent_committer: '最近提交人',
|
||||
recent_commit_time: '最近提交時間',
|
||||
start: '開始',
|
||||
end: '結束',
|
||||
id_is: 'ID為[',
|
||||
data_not_found: ']的數據不存在'
|
||||
},
|
||||
task: {
|
||||
name: '名稱',
|
||||
creator: '創建人',
|
||||
create_time: '創建時間',
|
||||
rate_type: '任務下發模式',
|
||||
task_status: '任務狀態',
|
||||
add_task: '添加任務',
|
||||
task_name: '任務名稱',
|
||||
task_remain_time: '任務有效期',
|
||||
task_sender: '任務下發人',
|
||||
start_filling: '立即填報',
|
||||
task_distribute_time: '任務下發時間',
|
||||
task_expiration_time: '任務過期時間',
|
||||
task_finished_time: '任務完成時間',
|
||||
task_end_time: '任務截止時間',
|
||||
edit_data: '編輯數據',
|
||||
show_data: '查看數據',
|
||||
confirm_enable: '確認啟動任務?(單次任務會新建下發任務)',
|
||||
confirm_disable: '確認停止任務?'
|
||||
confirm_disable: '確認停止任務?',
|
||||
edit_task: '編輯任務',
|
||||
create_task: '新建任務',
|
||||
edit: '編輯',
|
||||
stop: '停止',
|
||||
start: '啟動',
|
||||
delete: '刪除',
|
||||
no_time_limit: '不限時',
|
||||
todo: '待辦項',
|
||||
finished: '已完成',
|
||||
expired: '已過期',
|
||||
|
||||
task_finish_in: '在任務下發',
|
||||
task_finish_in_suffix: '內完成填報'
|
||||
},
|
||||
on_the_left: '請在左側選擇表單',
|
||||
search_by_commit_name: '根據操作人名稱搜索'
|
||||
@ -909,7 +1012,7 @@ export default {
|
||||
proxy_account: '代理賬號',
|
||||
proxy_pwd: '代理密碼',
|
||||
proxy_host: '代理服務地址',
|
||||
proxy_port: '服务端口',
|
||||
proxy_port: '服務端口',
|
||||
email_server_config: '郵箱服務器配置',
|
||||
edit_success: '編輯成功',
|
||||
mailbox_service_settings: '郵件設置',
|
||||
@ -974,7 +1077,7 @@ export default {
|
||||
request_timeout: '請求超時時間',
|
||||
message_retention_time: '消息保留時間',
|
||||
log_retention_time: '日誌保留時間',
|
||||
ds_sync_log_retention_time: '数据同步日誌保留時間',
|
||||
ds_sync_log_retention_time: '數據同步日誌保留時間',
|
||||
ds_check_time: '數據源檢測時間間隔',
|
||||
test_mail_recipient: '僅用來作為測試郵件收件人',
|
||||
to_enable_tsl: '如果SMTP埠是587,通常需要啟用TSL',
|
||||
@ -1222,8 +1325,8 @@ export default {
|
||||
filter_not_empty: '非空字符串',
|
||||
filter_include: '包含',
|
||||
filter_not_include: '不包含',
|
||||
filter_end_with: '结尾是',
|
||||
filter_begin_with: '开头是',
|
||||
filter_end_with: '結尾是',
|
||||
filter_begin_with: '開頭是',
|
||||
rose_type: '玫瑰圖模式',
|
||||
radius_mode: '半徑',
|
||||
area_mode: '面積',
|
||||
@ -1706,13 +1809,13 @@ export default {
|
||||
},
|
||||
dataset: {
|
||||
scope_edit: '僅編輯時生效',
|
||||
scope_all: '數据集預覽時全域生效',
|
||||
scope_all: '數據集預覽時全域生效',
|
||||
spend_time: '耗時',
|
||||
sql: 'SQL 語句',
|
||||
sql_result: '運行結果',
|
||||
parse_filed: '解析字段',
|
||||
field_rename: '字段重命名',
|
||||
params_work: '僅編輯時生效:參數值僅在數据集編輯時生效; 全域生效:在數据集查看、預覽、以及用到數据集的視圖中均生效。',
|
||||
params_work: '僅編輯時生效:參數值僅在數據集編輯時生效; 全域生效:在數據集查看、預覽、以及用到數據集的視圖中均生效。',
|
||||
sql_variable_limit_1: '1、SQL變數只能在WHERE條件中使用',
|
||||
sql_variable_limit_2: '2、示例:select * from table_name where column_name1=\'${param_name1}\' and column_name2 in ${param_name2}',
|
||||
selesql_variable_limit_2ct_year: '選擇年',
|
||||
@ -1935,7 +2038,7 @@ export default {
|
||||
disable: '禁用',
|
||||
prohibit: '禁用',
|
||||
desensitization: '脫敏',
|
||||
desensitization_rule: '脱敏規則',
|
||||
desensitization_rule: '脫敏規則',
|
||||
m: 'M等於',
|
||||
n: 'N等於',
|
||||
mgtn: 'M 不能大於 N'
|
||||
@ -2076,7 +2179,7 @@ export default {
|
||||
all_compute_mode: '直連、抽取模式',
|
||||
extra_params: '額外的JDBC連接字符串',
|
||||
please_input_dataPath: '請輸入 JsonPath 數據路徑',
|
||||
show_api_data: '查看API数据結構',
|
||||
show_api_data: '查看API數據結構',
|
||||
warning: '包含無效數據表',
|
||||
data_table: '數據表',
|
||||
data_table_name: '數據表名稱',
|
||||
@ -2139,9 +2242,9 @@ export default {
|
||||
all: '所有',
|
||||
other: '其他',
|
||||
this_data_source: '確定刪除該數據源嗎?',
|
||||
delete_this_dataset: '確定删除該數据集嗎?',
|
||||
cannot_be_deleted_dataset: '該數据集存在如下血緣關係,删除會造成相關儀錶板的視圖失效,確定删除?',
|
||||
cannot_be_deleted_datasource: '該數據源存在如下血緣關係,删除會造成相關儀錶板的視圖失效,確定删除?',
|
||||
delete_this_dataset: '確定刪除該數據集嗎?',
|
||||
cannot_be_deleted_dataset: '該數據集存在如下血緣關係,刪除會造成相關儀錶板的視圖失效,確定刪除?',
|
||||
cannot_be_deleted_datasource: '該數據源存在如下血緣關係,刪除會造成相關儀錶板的視圖失效,確定刪除?',
|
||||
edit_folder: '編輯資料夾',
|
||||
click_to_check: '點擊去查看血緣關係',
|
||||
delete_this_item: '是否要刪除此項?',
|
||||
@ -2171,7 +2274,7 @@ export default {
|
||||
border_color_setting: '邊框配色',
|
||||
unpublished_tips: '取消發布後,該儀表板不能被查看。確定要取消發布?',
|
||||
position_adjust_component: '位置調整',
|
||||
active_font_size: '选中字體大小',
|
||||
active_font_size: '選中字體大小',
|
||||
carousel: '輪播',
|
||||
enable_carousel: '啟用輪播',
|
||||
switch_time: '切換時間',
|
||||
@ -2194,7 +2297,7 @@ export default {
|
||||
component_color: '組件配色',
|
||||
chart_title: '圖表標題',
|
||||
filter_component: '過濾組件',
|
||||
enable_refresh_view: '数据刷新',
|
||||
enable_refresh_view: '數據刷新',
|
||||
enable_view_loading: '視圖加載提示',
|
||||
image_size_tips: '圖片請不要大於15M',
|
||||
image_add_tips: '只能插入圖片',
|
||||
@ -2204,7 +2307,7 @@ export default {
|
||||
panel_cache_use_tips: '檢查到上次有儀表板未能正常保存,是否使用上次未保存的儀表板?',
|
||||
template_name_tips: '儀表板名稱必填',
|
||||
panel_background_item: '自定義儀表板背景',
|
||||
panel_background_image_tips: '當前支持jpeg,jpg,png,gif,svg文件,大小15M内',
|
||||
panel_background_image_tips: '當前支持jpeg,jpg,png,gif,svg文件,大小15M內',
|
||||
reUpload: '重新上傳',
|
||||
create_by: '創建人',
|
||||
create_time: '創建時間',
|
||||
@ -2241,8 +2344,8 @@ export default {
|
||||
theme_color_dark: '深色',
|
||||
theme_color_light: '淺色',
|
||||
refresh_frequency: '刷新頻率',
|
||||
refresh_browser_frequency: '浏览器刷新',
|
||||
refresh_browser_tips: '仅公共链接生效',
|
||||
refresh_browser_frequency: '瀏覽器刷新',
|
||||
refresh_browser_tips: '僅公共鏈接生效',
|
||||
card_color_matching: '卡片配色',
|
||||
table_color_matching: '表格配色',
|
||||
background_color: '背景顏色',
|
||||
@ -2484,9 +2587,9 @@ export default {
|
||||
link_panel: '儀表闆',
|
||||
select_jump_panel: '選擇關聯的儀表闆',
|
||||
link_view: '聯動視圖',
|
||||
link_component: '聯動组件',
|
||||
link_component: '聯動組件',
|
||||
link_view_field: '聯動視圖字段',
|
||||
link_component_field: '聯動组件字段',
|
||||
link_component_field: '聯動組件字段',
|
||||
add_jump_field: '追加跳轉聯動依賴字段',
|
||||
input_jump_link: '請輸入跳轉連接',
|
||||
select_dimension: '請選擇維度...',
|
||||
@ -2994,7 +3097,7 @@ export default {
|
||||
user: '操作用戶',
|
||||
time: '操作時間',
|
||||
export: '導出',
|
||||
export_as: '導出为',
|
||||
export_as: '導出為',
|
||||
confirm: '確定導出嗎?',
|
||||
search_by_key: '搜索詳情',
|
||||
ip: 'IP地址'
|
||||
@ -3034,7 +3137,7 @@ export default {
|
||||
datasource_history: '復用',
|
||||
datasource_from: '數據來源',
|
||||
apply_template: '應用模版',
|
||||
execution_time: '执行时间',
|
||||
execution_time: '執行時間',
|
||||
app_manager: '應用管理',
|
||||
app_upload: '上傳應用',
|
||||
no_apps: '暫無應用',
|
||||
|
||||
@ -593,12 +593,32 @@ export default {
|
||||
enum_filter: '枚举筛选'
|
||||
},
|
||||
data_fill: {
|
||||
data_fill: '数据填报',
|
||||
new_folder: '新建文件夹',
|
||||
form_manage: '表单管理',
|
||||
my_job: '我的填报',
|
||||
form: {
|
||||
name: '名称',
|
||||
rename: '重命名',
|
||||
untitled: '未命名表单',
|
||||
create_new_form: '新建表单',
|
||||
title: '标题',
|
||||
no_form: '暂无表单,点击',
|
||||
form_list_name: '填报表单',
|
||||
create_form: '新建表单',
|
||||
please_select: '请选择',
|
||||
component: '组件',
|
||||
component_setting: '组件设置',
|
||||
hint: '提示词',
|
||||
input_limit_50: '不超过50个字符',
|
||||
option: '选项',
|
||||
form_setting: '表单设置',
|
||||
confirm_delete: '确认删除?(不会删除已创建的数据库表)',
|
||||
list: '表单数据',
|
||||
record: '提交记录',
|
||||
task_manage: '任务管理',
|
||||
form_name: '表单名称',
|
||||
folder: '所属文件夹',
|
||||
datasource: '数据源',
|
||||
table: '数据库表',
|
||||
creator: '创建人',
|
||||
@ -609,14 +629,96 @@ export default {
|
||||
modify: '修改',
|
||||
show: '查看',
|
||||
delete: '删除',
|
||||
show_data: '查看数据'
|
||||
show_data: '查看数据',
|
||||
text: '普通文本',
|
||||
number: '数字',
|
||||
tel: '手机号',
|
||||
email: '邮箱',
|
||||
duplicate_error: '重复',
|
||||
value_not_exists: '值不存在',
|
||||
range_separator: '分割字符',
|
||||
start_hint_word: '开始提示词',
|
||||
end_hint_word: '结束提示词',
|
||||
input_type: '格式类型',
|
||||
check: '校验',
|
||||
set_required: '设置为必填项',
|
||||
set_unique: '不允许重复值',
|
||||
set_multiple: '允许多选',
|
||||
use_datetime: '使用日期时间',
|
||||
custom: '自定义',
|
||||
option_value: '选项值',
|
||||
add_option: '添加选项值',
|
||||
form_name_cannot_none: '表单名称不能为空',
|
||||
form_components_cannot_null: '请添加表单组件',
|
||||
option_list_cannot_empty: '选项值不能为空',
|
||||
component_setting_error: '组件设置错误',
|
||||
table_name: '数据库表名',
|
||||
form_column: '表单字段',
|
||||
column_name: '数据库表字段名称',
|
||||
column_type: '数据库字段类型',
|
||||
create_index: '创建索引',
|
||||
add_index: '新增索引',
|
||||
index_name: '索引名称',
|
||||
index_column: '索引字段',
|
||||
order_asc: '顺序',
|
||||
order_desc: '倒序',
|
||||
order_none: '默认排序',
|
||||
add_column: '新增字段',
|
||||
please_insert_start: '请输入开始时间',
|
||||
please_insert_end: '请输入结束时间',
|
||||
save_form: '保存表单'
|
||||
},
|
||||
database: {
|
||||
nvarchar: '字符串',
|
||||
text: '长文本',
|
||||
number: '整型数字',
|
||||
decimal: '小数数字',
|
||||
datetime: '日期'
|
||||
},
|
||||
data: {
|
||||
confirm_delete: '确认删除?'
|
||||
confirm_delete: '确认删除?',
|
||||
add_data: '添加数据',
|
||||
insert_data: '插入数据',
|
||||
update_data: '更新数据',
|
||||
delete_data: '删除数据',
|
||||
recent_committer: '最近提交人',
|
||||
recent_commit_time: '最近提交时间',
|
||||
start: '开始',
|
||||
end: '结束',
|
||||
id_is: 'ID为[',
|
||||
data_not_found: ']的数据不存在'
|
||||
},
|
||||
task: {
|
||||
name: '名称',
|
||||
creator: '创建人',
|
||||
create_time: '创建时间',
|
||||
rate_type: '任务下发模式',
|
||||
task_status: '任务状态',
|
||||
task_name: '任务名称',
|
||||
add_task: '添加任务',
|
||||
task_remain_time: '任务有效期',
|
||||
task_sender: '任务下发人',
|
||||
start_filling: '立即填报',
|
||||
task_distribute_time: '任务下发时间',
|
||||
task_expiration_time: '任务过期时间',
|
||||
task_finished_time: '任务完成时间',
|
||||
task_end_time: '任务截止时间',
|
||||
edit_data: '编辑数据',
|
||||
show_data: '查看数据',
|
||||
confirm_enable: '确认启动任务?(单次任务会新建下发任务)',
|
||||
confirm_disable: '确认停止任务?'
|
||||
confirm_disable: '确认停止任务?',
|
||||
edit_task: '编辑任务',
|
||||
create_task: '新建任务',
|
||||
edit: '编辑',
|
||||
stop: '停止',
|
||||
start: '启动',
|
||||
delete: '删除',
|
||||
no_time_limit: '不限时',
|
||||
todo: '待办项',
|
||||
finished: '已完成',
|
||||
expired: '已过期',
|
||||
task_finish_in: '在任务下发',
|
||||
task_finish_in_suffix: '内完成填报'
|
||||
},
|
||||
on_the_left: '请在左侧选择表单',
|
||||
search_by_commit_name: '根据操作人名称搜索'
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
<el-header class="de-header">
|
||||
<div class="panel-info-area">
|
||||
<span class="text16 margin-left12">
|
||||
{{ id? '编辑任务': '新建任务' }}
|
||||
{{ id? $t('data_fill.task.edit_task'): $t('data_fill.task.create_task') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@ -131,7 +131,7 @@
|
||||
<span
|
||||
class="prefix"
|
||||
style="margin-bottom: 28px; "
|
||||
>任务下发时间</span>
|
||||
>{{ $t('data_fill.task.task_distribute_time') }}</span>
|
||||
<el-form-item
|
||||
prop="publishStartTime"
|
||||
style="flex:1"
|
||||
@ -154,7 +154,7 @@
|
||||
<span
|
||||
class="prefix"
|
||||
style="margin-bottom: 28px"
|
||||
>填报截止时间</span>
|
||||
>{{ $t('data_fill.task.task_end_time') }}</span>
|
||||
<el-form-item
|
||||
prop="publishEndTime"
|
||||
style="flex:1"
|
||||
@ -221,7 +221,7 @@
|
||||
<span class="tail">{{ $t('cron.every_exec') }}</span>
|
||||
</div>
|
||||
<div class="rate-type-time second-row">
|
||||
<span class="prefix">在任务下发</span>
|
||||
<span class="prefix">{{ $t('data_fill.task.task_finish_in') }}</span>
|
||||
<el-input-number
|
||||
v-model.number="form.publishRangeTime"
|
||||
class="w140"
|
||||
@ -245,7 +245,7 @@
|
||||
/>
|
||||
</el-select>
|
||||
|
||||
<span class="tail">内完成填报</span>
|
||||
<span class="tail">{{ $t('data_fill.task.task_finish_in_suffix') }}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-form-item>
|
||||
|
||||
@ -46,16 +46,16 @@ export default {
|
||||
data() {
|
||||
const checkDateRangeRequireValidator = (rule, value, callback) => {
|
||||
if (!value) {
|
||||
return callback(new Error('必填'))
|
||||
return callback(new Error(this.$t('commons.required')))
|
||||
}
|
||||
if (value.length < 2) {
|
||||
return callback(new Error('必填'))
|
||||
return callback(new Error(this.$t('commons.required')))
|
||||
}
|
||||
if (!value[0]) {
|
||||
return callback(new Error('必填'))
|
||||
return callback(new Error(this.$t('commons.required')))
|
||||
}
|
||||
if (!value[1]) {
|
||||
return callback(new Error('必填'))
|
||||
return callback(new Error(this.$t('commons.required')))
|
||||
}
|
||||
callback()
|
||||
}
|
||||
@ -65,16 +65,16 @@ export default {
|
||||
requiredRule: { required: true, message: this.$t('commons.required'), trigger: ['blur', 'change'] },
|
||||
dateRangeRequiredRule: { validator: checkDateRangeRequireValidator, message: this.$t('commons.required'), trigger: ['blur', 'change'] },
|
||||
inputTypes: [
|
||||
{ type: 'text', name: '普通文本', rules: [] },
|
||||
{ type: 'number', name: '数字', rules: [] },
|
||||
{ type: 'text', name: this.$t('data_fill.form.text'), rules: [] },
|
||||
{ type: 'number', name: this.$t('data_fill.form.number'), rules: [] },
|
||||
{
|
||||
type: 'tel',
|
||||
name: '手机号',
|
||||
name: this.$t('data_fill.form.tel'),
|
||||
rules: [{ pattern: PHONE_REGEX, message: this.$t('user.mobile_number_format_is_incorrect'), trigger: ['blur', 'change'] }]
|
||||
},
|
||||
{
|
||||
type: 'email',
|
||||
name: '邮箱',
|
||||
name: this.$t('data_fill.form.email'),
|
||||
rules: [{ pattern: EMAIL_REGEX, message: this.$t('user.email_format_is_incorrect'), trigger: ['blur', 'change'] }]
|
||||
}
|
||||
]
|
||||
@ -207,7 +207,7 @@ export default {
|
||||
<el-header class="de-header">
|
||||
<div class="panel-info-area">
|
||||
<span class="text16 margin-left12">
|
||||
{{ title? title: (readonly? '查看数据': '编辑数据') }}
|
||||
{{ title? title: (readonly? $t('data_fill.task.show_data'): $t('data_fill.task.edit_data')) }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@ -386,12 +386,12 @@ export default {
|
||||
<el-footer
|
||||
class="de-footer"
|
||||
>
|
||||
<el-button @click="closeDrawer">取消</el-button>
|
||||
<el-button @click="closeDrawer">{{ $t("commons.cancel") }}</el-button>
|
||||
<el-button
|
||||
v-if="!readonly"
|
||||
type="primary"
|
||||
@click="doSave"
|
||||
>保存
|
||||
>{{ $t("commons.confirm") }}
|
||||
</el-button>
|
||||
</el-footer>
|
||||
</el-container>
|
||||
|
||||
@ -106,7 +106,7 @@
|
||||
icon="el-icon-plus"
|
||||
size="small"
|
||||
@click="addData"
|
||||
>添加数据</el-button>
|
||||
>{{ $t('data_fill.data.add_data') }}</el-button>
|
||||
</div>
|
||||
<div style="flex: 1">
|
||||
<grid-table
|
||||
@ -132,8 +132,8 @@
|
||||
slot-scope="scope"
|
||||
>
|
||||
{{ c.label }}
|
||||
<span v-if="c.rangeIndex === 0">(开始)</span>
|
||||
<span v-if="c.rangeIndex === 1">(结束)</span>
|
||||
<span v-if="c.rangeIndex === 0">({{ $t('data_fill.data.start') }})</span>
|
||||
<span v-if="c.rangeIndex === 1">({{ $t('data_fill.data.end') }})</span>
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<span
|
||||
@ -163,7 +163,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="最近提交人"
|
||||
:label="$t('data_fill.data.recent_committer')"
|
||||
fixed="right"
|
||||
width="100"
|
||||
>
|
||||
@ -172,7 +172,7 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="最近提交时间"
|
||||
:label="$t('data_fill.data.recent_commit_time')"
|
||||
fixed="right"
|
||||
width="160"
|
||||
>
|
||||
@ -225,7 +225,7 @@
|
||||
<el-input
|
||||
ref="search2"
|
||||
v-model="operateName"
|
||||
:placeholder="$t('data_fill.search_by_commit_name')"
|
||||
:placeholder="$t('data_fill.form.operator')"
|
||||
prefix-icon="el-icon-search"
|
||||
class="name-email-search"
|
||||
size="small"
|
||||
@ -256,13 +256,13 @@
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<template v-if="scope.row.operate === 'INSERT'">
|
||||
插入数据
|
||||
{{ $t('data_fill.data.insert_data') }}
|
||||
</template>
|
||||
<template v-else-if="scope.row.operate === 'UPDATE'">
|
||||
更新数据
|
||||
{{ $t('data_fill.data.update_data') }}
|
||||
</template>
|
||||
<template v-else-if="scope.row.operate === 'DELETE'">
|
||||
删除数据
|
||||
{{ $t('data_fill.data.delete_data') }}
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ scope.row.operate }}
|
||||
@ -319,7 +319,7 @@
|
||||
icon="el-icon-plus"
|
||||
size="small"
|
||||
@click="addTask"
|
||||
>添加任务</el-button>
|
||||
>{{ $t('data_fill.task.add_task') }}</el-button>
|
||||
</el-col>
|
||||
<el-col
|
||||
:span="8"
|
||||
@ -328,7 +328,7 @@
|
||||
<el-input
|
||||
ref="search3"
|
||||
v-model="taskName"
|
||||
:placeholder="$t('commons.search_by_name')"
|
||||
:placeholder="$t('data_fill.task.name')"
|
||||
prefix-icon="el-icon-search"
|
||||
class="name-email-search"
|
||||
size="small"
|
||||
@ -355,7 +355,7 @@
|
||||
<el-table-column
|
||||
key="name"
|
||||
prop="name"
|
||||
label="名称"
|
||||
:label="$t('data_fill.task.name')"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.name }}
|
||||
@ -364,7 +364,7 @@
|
||||
<el-table-column
|
||||
key="rateType"
|
||||
prop="rateType"
|
||||
label="任务下发模式"
|
||||
:label="$t('data_fill.task.rate_type')"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.rateType === -1 ? $t('emailtask.single_task') : $t('emailtask.simple_repeat') }}
|
||||
@ -373,7 +373,7 @@
|
||||
<el-table-column
|
||||
key="status"
|
||||
prop="status"
|
||||
label="任务状态"
|
||||
:label="$t('data_fill.task.task_status')"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<span :class="['de-status', `de-${taskStatusFormatter(scope.row.status)}`]">{{
|
||||
@ -385,7 +385,7 @@
|
||||
<el-table-column
|
||||
key="creatorName"
|
||||
prop="creatorName"
|
||||
label="创建人"
|
||||
:label="$t('data_fill.task.creator')"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.creatorName }}
|
||||
@ -394,7 +394,7 @@
|
||||
<el-table-column
|
||||
key="createTime"
|
||||
prop="createTime"
|
||||
label="创建时间"
|
||||
:label="$t('data_fill.task.create_time')"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ new Date(scope.row.createTime).format("yyyy-MM-dd hh:mm:ss") }}
|
||||
@ -410,27 +410,27 @@
|
||||
type="text"
|
||||
@click="editTask(scope.row)"
|
||||
>
|
||||
编辑
|
||||
{{ $t('data_fill.task.edit') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="!scope.row.status"
|
||||
type="text"
|
||||
@click="enableTask(scope.row)"
|
||||
>
|
||||
启动
|
||||
{{ $t('data_fill.task.start') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
v-if="scope.row.status"
|
||||
type="text"
|
||||
@click="disableTask(scope.row)"
|
||||
>
|
||||
停止
|
||||
{{ $t('data_fill.task.stop') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
@click="deleteTask(scope.row)"
|
||||
>
|
||||
删除
|
||||
{{ $t('data_fill.task.delete') }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -773,7 +773,7 @@ export default {
|
||||
const obj = {}
|
||||
if (res.data.data.length === 0) {
|
||||
this.$message({
|
||||
message: 'ID为[' + row.dataId + ']的数据不存在',
|
||||
message: this.$t('data_fill.data.id_is') + row.dataId + this.$t('data_fill.data.data_not_found'),
|
||||
type: 'warning',
|
||||
showClose: true
|
||||
})
|
||||
@ -817,7 +817,7 @@ export default {
|
||||
|
||||
this.showDrawer = true
|
||||
this.drawerReadonly = false
|
||||
this.createTitle = '添加数据'
|
||||
this.createTitle = this.$t('data_fill.data.add_data')
|
||||
},
|
||||
deleteRow(id) {
|
||||
this.$confirm(
|
||||
|
||||
@ -4,7 +4,7 @@ import DataFillingFormSave from './save.vue'
|
||||
import clickoutside from 'element-ui/src/utils/clickoutside.js'
|
||||
import { filter, cloneDeep, find, concat } from 'lodash-es'
|
||||
import { v4 as uuidv4 } from 'uuid'
|
||||
import { PHONE_REGEX } from '@/utils/validate'
|
||||
import { EMAIL_REGEX, PHONE_REGEX } from '@/utils/validate'
|
||||
|
||||
export default {
|
||||
name: 'DataFillingFormCreate',
|
||||
@ -15,28 +15,32 @@ export default {
|
||||
data: function() {
|
||||
const checkDuplicateOptionValidator = (rule, value, callback) => {
|
||||
if (!value) {
|
||||
return callback(new Error('必填'))
|
||||
return callback(new Error(this.$t('commons.component.required')))
|
||||
}
|
||||
const _list = filter(this.selectedComponentItem.settings.options, f => f.value === value)
|
||||
if (_list.length > 1) {
|
||||
callback(new Error('重复'))
|
||||
callback(new Error(this.$t('data_fill.form.duplicate_error')))
|
||||
}
|
||||
callback()
|
||||
}
|
||||
return {
|
||||
moveId: undefined,
|
||||
showDrawer: false,
|
||||
requiredRule: { required: true, message: this.$t('commons.required'), trigger: 'blur' },
|
||||
duplicateOptionRule: { validator: checkDuplicateOptionValidator, trigger: 'blur' },
|
||||
requiredRule: { required: true, message: this.$t('commons.required'), trigger: ['blur', 'change'] },
|
||||
duplicateOptionRule: { validator: checkDuplicateOptionValidator, trigger: ['blur', 'change'] },
|
||||
inputTypes: [
|
||||
{ type: 'text', name: '普通文本', rules: [] },
|
||||
{ type: 'number', name: '数字', rules: [] },
|
||||
{ type: 'text', name: this.$t('data_fill.form.text'), rules: [] },
|
||||
{ type: 'number', name: this.$t('data_fill.form.number'), rules: [] },
|
||||
{
|
||||
type: 'tel',
|
||||
name: '手机号',
|
||||
rules: [{ pattern: PHONE_REGEX, message: this.$t('user.mobile_number_format_is_incorrect'), trigger: 'blur' }]
|
||||
name: this.$t('data_fill.form.tel'),
|
||||
rules: [{ pattern: PHONE_REGEX, message: this.$t('user.mobile_number_format_is_incorrect'), trigger: ['blur', 'change'] }]
|
||||
},
|
||||
{ type: 'email', name: '邮箱', rules: [] }
|
||||
{
|
||||
type: 'email',
|
||||
name: this.$t('data_fill.form.email'),
|
||||
rules: [{ pattern: EMAIL_REGEX, message: this.$t('user.email_format_is_incorrect'), trigger: ['blur', 'change'] }]
|
||||
}
|
||||
],
|
||||
componentList: [
|
||||
{
|
||||
@ -84,7 +88,8 @@ export default {
|
||||
id: undefined,
|
||||
settings: {
|
||||
name: this.$t('commons.component.select'),
|
||||
options: [{ name: '选项1', value: '选项1' }, { name: '选项2', value: '选项2' }],
|
||||
options: [{ name: this.$t('data_fill.form.option') + ' 1', value: this.$t('data_fill.form.option') + ' 1' },
|
||||
{ name: this.$t('data_fill.form.option') + ' 2', value: this.$t('data_fill.form.option') + ' 2' }],
|
||||
optionSourceType: 1,
|
||||
placeholder: '',
|
||||
multiple: false, required: false,
|
||||
@ -103,7 +108,8 @@ export default {
|
||||
id: undefined,
|
||||
settings: {
|
||||
name: this.$t('commons.component.radio'),
|
||||
options: [{ name: '选项1', value: '选项1' }, { name: '选项2', value: '选项2' }],
|
||||
options: [{ name: this.$t('data_fill.form.option') + ' 1', value: this.$t('data_fill.form.option') + ' 1' },
|
||||
{ name: this.$t('data_fill.form.option') + ' 2', value: this.$t('data_fill.form.option') + ' 2' }],
|
||||
optionSourceType: 1,
|
||||
required: false,
|
||||
mapping: {
|
||||
@ -122,7 +128,8 @@ export default {
|
||||
id: undefined,
|
||||
settings: {
|
||||
name: this.$t('commons.component.checkbox'),
|
||||
options: [{ name: '选项1', value: '选项1' }, { name: '选项2', value: '选项2' }],
|
||||
options: [{ name: this.$t('data_fill.form.option') + ' 1', value: this.$t('data_fill.form.option') + ' 1' },
|
||||
{ name: this.$t('data_fill.form.option') + ' 2', value: this.$t('data_fill.form.option') + ' 2' }],
|
||||
optionSourceType: 1,
|
||||
required: false,
|
||||
mapping: {
|
||||
@ -191,7 +198,7 @@ export default {
|
||||
},
|
||||
formSettings: {
|
||||
id: undefined,
|
||||
name: '未命名表单',
|
||||
name: this.$t('data_fill.form.untitled'),
|
||||
table: undefined,
|
||||
forms: [],
|
||||
createIndex: false,
|
||||
@ -299,7 +306,7 @@ export default {
|
||||
this.$refs['mRightForm'].validate((valid, invalidFields) => {
|
||||
if (showError && !valid) {
|
||||
this.$message({
|
||||
message: '组件设置错误',
|
||||
message: this.$t('data_fill.form.component_setting_error'),
|
||||
type: 'error',
|
||||
showClose: true
|
||||
})
|
||||
@ -338,7 +345,7 @@ export default {
|
||||
// 校验
|
||||
if (this.formSettings.name === undefined || this.formSettings.name.trim() === '') {
|
||||
this.$message({
|
||||
message: '表单名称不能为空',
|
||||
message: this.$t('data_fill.form.form_name_cannot_none'),
|
||||
type: 'error',
|
||||
showClose: true
|
||||
})
|
||||
@ -347,7 +354,7 @@ export default {
|
||||
}
|
||||
if (this.formSettings.forms.length === 0) {
|
||||
this.$message({
|
||||
message: '请添加表单组件',
|
||||
message: this.$t('data_fill.form.form_components_cannot_null'),
|
||||
type: 'warning',
|
||||
showClose: true
|
||||
})
|
||||
@ -370,7 +377,7 @@ export default {
|
||||
if (f.settings.options.length === 0) {
|
||||
this.selectItem(f.id)
|
||||
this.$message({
|
||||
message: '选项值不能为空',
|
||||
message: this.$t('data_fill.form.option_list_cannot_empty'),
|
||||
type: 'error',
|
||||
showClose: true
|
||||
})
|
||||
@ -412,7 +419,7 @@ export default {
|
||||
@click="closeCreate"
|
||||
/>
|
||||
<span class="text16 margin-left12">
|
||||
新建表单
|
||||
{{ $t('data_fill.form.create_new_form') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@ -423,7 +430,7 @@ export default {
|
||||
</el-header>
|
||||
<de-container class="form-main-container">
|
||||
<div class="tools-window-left">
|
||||
<el-header class="sub-title-header">组件</el-header>
|
||||
<el-header class="sub-title-header">{{ $t('data_fill.form.component') }}</el-header>
|
||||
<div style="width: 100%; display: flex;">
|
||||
<div style="flex: 1; padding:8px 4px 8px 8px;">
|
||||
<draggable
|
||||
@ -688,7 +695,7 @@ export default {
|
||||
<el-cantainer class="tools-window-right">
|
||||
|
||||
<template v-if="selectedItemId !== undefined && selectedComponentItem !== undefined">
|
||||
<el-header class="sub-title-header">组件设置</el-header>
|
||||
<el-header class="sub-title-header">{{ $t('data_fill.form.component_setting') }}</el-header>
|
||||
<el-main style="height: calc(100vh - 60px - 56px);">
|
||||
<el-form
|
||||
ref="mRightForm"
|
||||
@ -703,7 +710,7 @@ export default {
|
||||
:rules="[requiredRule]"
|
||||
>
|
||||
<template #label>
|
||||
标题
|
||||
{{ $t('data_fill.form.title') }}
|
||||
<span
|
||||
style="color: red"
|
||||
>*</span>
|
||||
@ -724,7 +731,7 @@ export default {
|
||||
:rules="[requiredRule]"
|
||||
>
|
||||
<template #label>
|
||||
分割字符
|
||||
{{ $t('data_fill.form.range_separator') }}
|
||||
<span
|
||||
style="color: red"
|
||||
>*</span>
|
||||
@ -762,13 +769,13 @@ export default {
|
||||
"
|
||||
prop="placeholder"
|
||||
class="form-item"
|
||||
label="提示词"
|
||||
:label="$t('data_fill.form.hint')"
|
||||
:rules="[
|
||||
{ maxlength: 50, message: '不超过50个字符', trigger: 'blur' }]"
|
||||
{ maxlength: 50, message: $t('data_fill.form.input_limit_50'), trigger: 'blur' }]"
|
||||
>
|
||||
<el-input
|
||||
v-model="selectedComponentItem.settings.placeholder"
|
||||
placeholder="不超过50个字符"
|
||||
:placeholder="$t('data_fill.form.input_limit_50')"
|
||||
size="small"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
@ -778,13 +785,13 @@ export default {
|
||||
v-if="selectedComponentItem.type === 'dateRange' "
|
||||
prop="startPlaceholder"
|
||||
class="form-item"
|
||||
label="开始提示词"
|
||||
:label="$t('data_fill.form.start_hint_word')"
|
||||
:rules="[
|
||||
{ maxlength: 50, message: '不超过50个字符', trigger: 'blur' }]"
|
||||
{ maxlength: 50, message: $t('data_fill.form.input_limit_50'), trigger: 'blur' }]"
|
||||
>
|
||||
<el-input
|
||||
v-model="selectedComponentItem.settings.startPlaceholder"
|
||||
placeholder="不超过50个字符"
|
||||
:placeholder="$t('data_fill.form.input_limit_50')"
|
||||
size="small"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
@ -794,13 +801,13 @@ export default {
|
||||
v-if="selectedComponentItem.type === 'dateRange' "
|
||||
prop="endPlaceholder"
|
||||
class="form-item"
|
||||
label="结束提示词"
|
||||
:label="$t('data_fill.form.end_hint_word')"
|
||||
:rules="[
|
||||
{ maxlength: 50, message: '不超过50个字符', trigger: 'blur' }]"
|
||||
{ maxlength: 50, message: $t('data_fill.form.input_limit_50'), trigger: 'blur' }]"
|
||||
>
|
||||
<el-input
|
||||
v-model="selectedComponentItem.settings.endPlaceholder"
|
||||
placeholder="不超过50个字符"
|
||||
:placeholder="$t('data_fill.form.input_limit_50')"
|
||||
size="small"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
@ -813,7 +820,7 @@ export default {
|
||||
v-if="selectedComponentItem.type === 'input'"
|
||||
prop="inputType"
|
||||
class="form-item"
|
||||
label="格式类型"
|
||||
:label="$t('data_fill.form.input_type')"
|
||||
:rules="[requiredRule]"
|
||||
>
|
||||
<el-select
|
||||
@ -833,15 +840,17 @@ export default {
|
||||
|
||||
<div class="right-check-div">
|
||||
<div class="m-label-container">
|
||||
<span style="width: unset">
|
||||
校验
|
||||
<span style="width: unset; font-weight: bold">
|
||||
{{ $t('data_fill.form.check') }}
|
||||
</span>
|
||||
</div>
|
||||
<el-form-item
|
||||
prop="required"
|
||||
class="form-item"
|
||||
>
|
||||
<el-checkbox v-model="selectedComponentItem.settings.required">设置为必填项</el-checkbox>
|
||||
<el-checkbox v-model="selectedComponentItem.settings.required">
|
||||
{{ $t('data_fill.form.set_required') }}
|
||||
</el-checkbox>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="selectedComponentItem.type === 'input'"
|
||||
@ -850,7 +859,8 @@ export default {
|
||||
>
|
||||
<el-checkbox
|
||||
v-model="selectedComponentItem.settings.unique"
|
||||
>不允许重复值
|
||||
>
|
||||
{{ $t('data_fill.form.set_unique') }}
|
||||
</el-checkbox>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
@ -861,7 +871,8 @@ export default {
|
||||
<el-checkbox
|
||||
v-model="selectedComponentItem.settings.multiple"
|
||||
@change="changeSelectMultiple(selectedComponentItem, selectedComponentItem.settings.multiple)"
|
||||
>允许多选
|
||||
>
|
||||
{{ $t('data_fill.form.set_multiple') }}
|
||||
</el-checkbox>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
@ -871,7 +882,8 @@ export default {
|
||||
>
|
||||
<el-checkbox
|
||||
v-model="selectedComponentItem.settings.enableTime"
|
||||
>使用日期时间
|
||||
>
|
||||
{{ $t('data_fill.form.use_datetime') }}
|
||||
</el-checkbox>
|
||||
</el-form-item>
|
||||
|
||||
@ -885,21 +897,23 @@ export default {
|
||||
|
||||
<el-form-item
|
||||
prop="optionSourceType"
|
||||
label="选项值"
|
||||
:label="$t('data_fill.form.option_value')"
|
||||
class="form-item no-margin-bottom"
|
||||
>
|
||||
<el-radio-group
|
||||
v-model="selectedComponentItem.settings.optionSourceType"
|
||||
size="small"
|
||||
>
|
||||
<el-radio :label="1">自定义</el-radio>
|
||||
<el-radio :label="1">
|
||||
{{ $t('data_fill.form.custom') }}
|
||||
</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
<el-button
|
||||
type="text"
|
||||
@click="addOption(selectedComponentItem.settings.options)"
|
||||
>+ 添加选项值
|
||||
>+ {{ $t('data_fill.form.add_option') }}
|
||||
</el-button>
|
||||
|
||||
<div
|
||||
@ -937,7 +951,7 @@ export default {
|
||||
</el-main>
|
||||
</template>
|
||||
<template v-else>
|
||||
<el-header class="sub-title-header">表单设置</el-header>
|
||||
<el-header class="sub-title-header">{{ $t('data_fill.form.form_setting') }}</el-header>
|
||||
<el-main style="height: calc(100vh - 60px - 56px);">
|
||||
<el-form
|
||||
ref="mRightFormBase"
|
||||
@ -951,7 +965,7 @@ export default {
|
||||
:rules="[requiredRule]"
|
||||
>
|
||||
<template #label>
|
||||
表单名称
|
||||
{{ $t('data_fill.form.form_name') }}
|
||||
<span
|
||||
style="color: red"
|
||||
>*</span>
|
||||
@ -973,7 +987,7 @@ export default {
|
||||
</de-container>
|
||||
|
||||
<el-drawer
|
||||
title="保存表单"
|
||||
:title="$t('data_fill.form.save_form')"
|
||||
:visible.sync="showDrawer"
|
||||
direction="btt"
|
||||
size="100%"
|
||||
|
||||
@ -220,7 +220,7 @@ export default {
|
||||
name="my-tasks"
|
||||
>
|
||||
<span slot="label">
|
||||
我的填报
|
||||
{{ $t('data_fill.my_job') }}
|
||||
</span>
|
||||
</el-tab-pane>
|
||||
|
||||
@ -228,13 +228,13 @@ export default {
|
||||
name="forms"
|
||||
>
|
||||
<span slot="label">
|
||||
表单管理
|
||||
{{ $t('data_fill.form_manage') }}
|
||||
</span>
|
||||
|
||||
<div style="padding-left: 20px;padding-right: 20px;">
|
||||
|
||||
<div style="display: flex;flex-direction: row;justify-content: space-between;align-items: center;">
|
||||
填报表单
|
||||
{{ $t('data_fill.form.form_list_name') }}
|
||||
<el-button
|
||||
icon="el-icon-plus"
|
||||
type="text"
|
||||
@ -246,7 +246,7 @@ export default {
|
||||
v-if="!formList.length && !treeLoading"
|
||||
class="no-tdata"
|
||||
>
|
||||
暂无表单,点击
|
||||
{{ $t('data_fill.form.no_form') }}
|
||||
<span
|
||||
class="no-tdata-new"
|
||||
@click="() => createFolder({id: '0', level: 0, firstFolder: true})"
|
||||
@ -308,16 +308,16 @@ export default {
|
||||
:command="beforeData('folder',data)"
|
||||
>
|
||||
<svg-icon icon-class="scene" />
|
||||
<span style="margin-left: 5px">新建文件夹</span>
|
||||
<span style="margin-left: 5px">{{ $t('data_fill.new_folder') }}</span>
|
||||
</el-dropdown-item>
|
||||
<el-dropdown-item
|
||||
:command="beforeData('form',data)"
|
||||
>
|
||||
<svg-icon
|
||||
icon-class="panel"
|
||||
icon-class="form"
|
||||
class="ds-icon-scene"
|
||||
/>
|
||||
<span>新建表单</span>
|
||||
<span>{{ $t('data_fill.form.create_form') }}</span>
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
@ -379,7 +379,7 @@ export default {
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
append-to-body
|
||||
title="新建文件夹"
|
||||
:title="$t('data_fill.new_folder')"
|
||||
:visible.sync="showFolderCreateForm"
|
||||
:show-close="true"
|
||||
width="600px"
|
||||
@ -404,7 +404,7 @@ export default {
|
||||
:rules="[requiredRule]"
|
||||
>
|
||||
<template #label>
|
||||
名称
|
||||
{{ $t('data_fill.form.name') }}
|
||||
<span
|
||||
style="color: red"
|
||||
>*</span>
|
||||
@ -420,11 +420,11 @@ export default {
|
||||
</el-main>
|
||||
</el-form>
|
||||
<el-footer class="de-footer">
|
||||
<el-button @click="closeSaveFolder">取消</el-button>
|
||||
<el-button @click="closeSaveFolder">{{ $t("commons.cancel") }}</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="doSaveFolder"
|
||||
>保存
|
||||
>{{ $t("commons.confirm") }}
|
||||
</el-button>
|
||||
</el-footer>
|
||||
</el-container>
|
||||
@ -433,7 +433,7 @@ export default {
|
||||
<el-dialog
|
||||
v-dialogDrag
|
||||
append-to-body
|
||||
title="重命名"
|
||||
:title="$t('data_fill.form.rename')"
|
||||
:visible.sync="showUpdateName"
|
||||
:show-close="true"
|
||||
width="600px"
|
||||
@ -457,7 +457,7 @@ export default {
|
||||
:rules="[requiredRule]"
|
||||
>
|
||||
<template #label>
|
||||
名称
|
||||
{{ $t('data_fill.form.name') }}
|
||||
<span
|
||||
style="color: red"
|
||||
>*</span>
|
||||
@ -473,11 +473,11 @@ export default {
|
||||
</el-main>
|
||||
</el-form>
|
||||
<el-footer class="de-footer">
|
||||
<el-button @click="closeUpdateForm">取消</el-button>
|
||||
<el-button @click="closeUpdateForm">{{ $t("commons.cancel") }}</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="doUpdateForm"
|
||||
>保存
|
||||
>{{ $t("commons.confirm") }}
|
||||
</el-button>
|
||||
</el-footer>
|
||||
</el-container>
|
||||
|
||||
@ -18,7 +18,7 @@ export default {
|
||||
data: function() {
|
||||
const checkDuplicateNameValidator = (rule, value, callback) => {
|
||||
if (!value) {
|
||||
return callback(new Error('必填'))
|
||||
return callback(new Error(this.$t('commons.component.required')))
|
||||
}
|
||||
let count = 0
|
||||
forEach(this.formData.forms, f => {
|
||||
@ -36,13 +36,13 @@ export default {
|
||||
}
|
||||
})
|
||||
if (count > 1) {
|
||||
callback(new Error('重复'))
|
||||
callback(new Error(this.$t('data_fill.form.duplicate_error')))
|
||||
}
|
||||
callback()
|
||||
}
|
||||
const checkDuplicateIndexNameValidator = (rule, value, callback) => {
|
||||
if (!value) {
|
||||
return callback(new Error('必填'))
|
||||
return callback(new Error(this.$t('commons.component.required')))
|
||||
}
|
||||
let count = 0
|
||||
forEach(this.formData.tableIndexes, f => {
|
||||
@ -51,25 +51,25 @@ export default {
|
||||
}
|
||||
})
|
||||
if (count > 1) {
|
||||
callback(new Error('重复'))
|
||||
callback(new Error(this.$t('data_fill.form.duplicate_error')))
|
||||
}
|
||||
callback()
|
||||
}
|
||||
const checkInvalidColumnValidator = (rule, value, callback) => {
|
||||
if (!value) {
|
||||
return callback(new Error('必填'))
|
||||
return callback(new Error(this.$t('commons.component.required')))
|
||||
}
|
||||
if (this.columnsList.length === 0) {
|
||||
return callback(new Error('值不存在'))
|
||||
return callback(new Error(this.$t('data_fill.form.value_not_exists')))
|
||||
}
|
||||
if (find(this.columnsList, c => c === value) === undefined) {
|
||||
callback(new Error('值不存在'))
|
||||
callback(new Error(this.$t('data_fill.form.value_not_exists')))
|
||||
}
|
||||
callback()
|
||||
}
|
||||
const checkDuplicateIndexColumnValidator = (rule, value, callback, source) => {
|
||||
if (!value) {
|
||||
return callback(new Error('必填'))
|
||||
return callback(new Error(this.$t('commons.component.required')))
|
||||
}
|
||||
const f = split(rule.field, '.')[0]
|
||||
const _list = get(this.formData, f)
|
||||
@ -81,7 +81,7 @@ export default {
|
||||
}
|
||||
})
|
||||
if (count > 1) {
|
||||
callback(new Error('重复'))
|
||||
callback(new Error(this.$t('data_fill.form.duplicate_error')))
|
||||
}
|
||||
callback()
|
||||
}
|
||||
@ -181,20 +181,20 @@ export default {
|
||||
formOption.type !== 'checkbox' &&
|
||||
!(formOption.type === 'select' && formOption.settings.multiple)
|
||||
) {
|
||||
_options.push({ value: 'nvarchar', label: '字符串' })
|
||||
_options.push({ value: 'nvarchar', label: this.$t('data_fill.database.datetime') })
|
||||
}
|
||||
if (formOption.type === 'checkbox' ||
|
||||
formOption.type === 'select' && formOption.settings.multiple ||
|
||||
formOption.type === 'textarea') {
|
||||
_options.push({ value: 'text', label: '长文本' })
|
||||
_options.push({ value: 'text', label: this.$t('data_fill.database.text') })
|
||||
}
|
||||
|
||||
if (formOption.type === 'input' && formOption.settings.inputType === 'number') {
|
||||
_options.push({ value: 'number', label: '整型数字' })
|
||||
_options.push({ value: 'decimal', label: '小数数字' })
|
||||
_options.push({ value: 'number', label: this.$t('data_fill.database.number') })
|
||||
_options.push({ value: 'decimal', label: this.$t('data_fill.database.decimal') })
|
||||
}
|
||||
if (formOption.type === 'date' || formOption.type === 'dateRange') {
|
||||
_options.push({ value: 'datetime', label: '日期' })
|
||||
_options.push({ value: 'datetime', label: this.$t('data_fill.database.datetime') })
|
||||
}
|
||||
return _options
|
||||
},
|
||||
@ -290,7 +290,7 @@ export default {
|
||||
<el-header class="de-header">
|
||||
<div class="panel-info-area">
|
||||
<span class="text16 margin-left12">
|
||||
保存表单
|
||||
{{ $t('data_fill.form.save_form') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@ -316,7 +316,7 @@ export default {
|
||||
:rules="[requiredRule]"
|
||||
>
|
||||
<template #label>
|
||||
表单名称
|
||||
{{ $t('data_fill.form.form_name') }}
|
||||
<span
|
||||
style="color: red"
|
||||
>*</span>
|
||||
@ -336,7 +336,7 @@ export default {
|
||||
:rules="[requiredRule]"
|
||||
>
|
||||
<template #label>
|
||||
所属文件夹
|
||||
{{ $t('data_fill.form.folder') }}
|
||||
<span
|
||||
style="color: red"
|
||||
>*</span>
|
||||
@ -404,7 +404,7 @@ export default {
|
||||
:rules="[requiredRule]"
|
||||
>
|
||||
<template #label>
|
||||
数据源
|
||||
{{ $t('data_fill.form.datasource') }}
|
||||
<span
|
||||
style="color: red"
|
||||
>*</span>
|
||||
@ -437,7 +437,7 @@ export default {
|
||||
:rules="[requiredRule]"
|
||||
>
|
||||
<template #label>
|
||||
数据库表名
|
||||
{{ $t('data_fill.form.table_name') }}
|
||||
<span
|
||||
style="color: red"
|
||||
>*</span>
|
||||
@ -458,7 +458,7 @@ export default {
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-table-column
|
||||
label="表单字段"
|
||||
:label="$t('data_fill.form.form_column')"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.settings.name }}
|
||||
@ -469,7 +469,7 @@ export default {
|
||||
slot="header"
|
||||
slot-scope="scope"
|
||||
>
|
||||
数据库表字段名称
|
||||
{{ $t('data_fill.form.column_name') }}
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<el-form-item
|
||||
@ -480,7 +480,7 @@ export default {
|
||||
>
|
||||
<el-input
|
||||
v-model.trim="scope.row.settings.mapping.columnName"
|
||||
placeholder="请输入"
|
||||
:placeholder="$t('fu.search_bar.please_input')"
|
||||
size="small"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
@ -495,7 +495,7 @@ export default {
|
||||
>
|
||||
<el-input
|
||||
v-model.trim="scope.row.settings.mapping.columnName1"
|
||||
placeholder="请输入开始时间"
|
||||
:placeholder="$t('data_fill.form.please_insert_start')"
|
||||
size="small"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
@ -509,7 +509,7 @@ export default {
|
||||
>
|
||||
<el-input
|
||||
v-model.trim="scope.row.settings.mapping.columnName2"
|
||||
placeholder="请输入结束时间"
|
||||
:placeholder="$t('data_fill.form.please_insert_end')"
|
||||
size="small"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
@ -520,7 +520,7 @@ export default {
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="数据库字段类型"
|
||||
:label="$t('data_fill.form.column_type')"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-form-item
|
||||
@ -530,7 +530,7 @@ export default {
|
||||
>
|
||||
<el-select
|
||||
v-model="scope.row.settings.mapping.type"
|
||||
placeholder="请选择"
|
||||
:placeholder="$t('data_fill.form.please_select')"
|
||||
size="small"
|
||||
required
|
||||
style="width: 100%"
|
||||
@ -555,7 +555,7 @@ export default {
|
||||
>
|
||||
<el-checkbox
|
||||
v-model="formData.createIndex"
|
||||
label="创建索引"
|
||||
:label="$t('data_fill.form.create_index')"
|
||||
size="small"
|
||||
/>
|
||||
</el-form-item>
|
||||
@ -565,7 +565,7 @@ export default {
|
||||
type="text"
|
||||
style="margin-left: 20px"
|
||||
@click="addIndex"
|
||||
>+ 新增索引
|
||||
>+ {{ $t('data_fill.form.add_index') }}
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
@ -577,7 +577,7 @@ export default {
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-table-column
|
||||
label="索引名称"
|
||||
:label="$t('data_fill.form.index_name')"
|
||||
width="300"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
@ -588,7 +588,7 @@ export default {
|
||||
>
|
||||
<el-input
|
||||
v-model="scope.row.name"
|
||||
placeholder="请输入"
|
||||
:placeholder="$t('fu.search_bar.please_input')"
|
||||
size="small"
|
||||
maxlength="50"
|
||||
show-word-limit
|
||||
@ -599,7 +599,7 @@ export default {
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column
|
||||
label="索引字段"
|
||||
:label="$t('data_fill.form.index_column')"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div
|
||||
@ -615,7 +615,7 @@ export default {
|
||||
>
|
||||
<el-select
|
||||
v-model="indexRow.column"
|
||||
placeholder="请选择"
|
||||
:placeholder="$t('data_fill.form.please_select')"
|
||||
size="small"
|
||||
required
|
||||
style="width: 100%"
|
||||
@ -637,22 +637,22 @@ export default {
|
||||
>
|
||||
<el-select
|
||||
v-model="indexRow.order"
|
||||
placeholder="请选择"
|
||||
:placeholder="$t('data_fill.form.please_select')"
|
||||
size="small"
|
||||
required
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-option
|
||||
value="asc"
|
||||
label="顺序"
|
||||
:label="$t('data_fill.form.order_asc')"
|
||||
/>
|
||||
<el-option
|
||||
value="none"
|
||||
label="默认排序"
|
||||
:label="$t('data_fill.form.order_none')"
|
||||
/>
|
||||
<el-option
|
||||
value="desc"
|
||||
label="倒序"
|
||||
:label="$t('data_fill.form.order_desc')"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@ -667,7 +667,7 @@ export default {
|
||||
<el-button
|
||||
type="text"
|
||||
@click="addColumn(scope.row.columns)"
|
||||
>+ 新增字段
|
||||
>+ {{ $t('data_fill.form.add_column') }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -688,11 +688,11 @@ export default {
|
||||
|
||||
</el-main>
|
||||
<el-footer class="de-footer">
|
||||
<el-button @click="closeSave">取消</el-button>
|
||||
<el-button @click="closeSave">{{ $t("commons.cancel") }}</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="doSave"
|
||||
>保存
|
||||
>{{ $t("commons.confirm") }}
|
||||
</el-button>
|
||||
</el-footer>
|
||||
</el-container>
|
||||
|
||||
@ -15,9 +15,9 @@ export default {
|
||||
return {
|
||||
activeName: 'my-tasks',
|
||||
types: [
|
||||
{ key: 'todo', name: '代办项' },
|
||||
{ key: 'finished', name: '已完成' },
|
||||
{ key: 'expired', name: '已过期' }
|
||||
{ key: 'todo', name: this.$t('data_fill.task.todo') },
|
||||
{ key: 'finished', name: this.$t('data_fill.task.finished') },
|
||||
{ key: 'expired', name: this.$t('data_fill.task.expired') }
|
||||
],
|
||||
currentKey: 'todo',
|
||||
showDrawer: false,
|
||||
@ -146,13 +146,13 @@ export default {
|
||||
},
|
||||
getRestTime(time) {
|
||||
if (!time) {
|
||||
return '不限时'
|
||||
return this.$t('data_fill.task.no_time_limit')
|
||||
}
|
||||
const _time = new Date(time).getTime()
|
||||
const current = new Date().getTime()
|
||||
|
||||
if (_time < current) {
|
||||
return '已过期'
|
||||
return this.$t('data_fill.task.expired')
|
||||
}
|
||||
const dateDiff = _time - current
|
||||
|
||||
@ -170,25 +170,25 @@ export default {
|
||||
const seconds = Math.round(leave3 / 1000)
|
||||
|
||||
if (yearDiff > 0 || monthDiff > 0) {
|
||||
const yearStr = yearDiff > 0 ? yearDiff + '年' : ''
|
||||
const monthStr = monthDiff > 0 ? monthDiff + '月' : ''
|
||||
const yearStr = yearDiff > 0 ? yearDiff + this.$t('cron.year') : ''
|
||||
const monthStr = monthDiff > 0 ? monthDiff + this.$t('cron.month') : ''
|
||||
return yearStr + monthStr
|
||||
}
|
||||
|
||||
const dayStr = dayDiff > 0 ? dayDiff + '天' : ''
|
||||
const hourStr = hours > 0 ? hours + '小时' : ''
|
||||
const dayStr = dayDiff > 0 ? dayDiff + this.$t('cron.day') : ''
|
||||
const hourStr = hours > 0 ? hours + this.$t('cron.hour') : ''
|
||||
|
||||
if (dayDiff > 0) {
|
||||
return dayStr + hourStr
|
||||
}
|
||||
|
||||
const minuteStr = minutes > 0 ? minutes + '分钟' : ''
|
||||
const minuteStr = minutes > 0 ? minutes + this.$t('cron.minute') : ''
|
||||
|
||||
if (hours > 0) {
|
||||
return hourStr + minuteStr
|
||||
}
|
||||
|
||||
const secondsStr = seconds > 0 ? seconds + '秒' : ''
|
||||
const secondsStr = seconds > 0 ? seconds + this.$t('cron.second') : ''
|
||||
|
||||
return minuteStr + secondsStr
|
||||
},
|
||||
@ -199,7 +199,7 @@ export default {
|
||||
this.drawerReadonly = false
|
||||
}
|
||||
|
||||
this.createTitle = '数据填报'
|
||||
this.createTitle = this.$t('data_fill.data_fill')
|
||||
this.forms = []
|
||||
|
||||
this.selectedFormId = row.formId
|
||||
@ -255,7 +255,7 @@ export default {
|
||||
const obj = {}
|
||||
if (res.data.data.length === 0) {
|
||||
this.$message({
|
||||
message: 'ID为[' + row.valueId + ']的数据不存在',
|
||||
message: this.$t('data_fill.data.id_is') + row.valueId + this.$t('data_fill.data.data_not_found'),
|
||||
type: 'warning',
|
||||
showClose: true
|
||||
})
|
||||
@ -331,7 +331,7 @@ export default {
|
||||
<el-tab-pane
|
||||
name="my-tasks"
|
||||
>
|
||||
<span slot="label">我的填报</span>
|
||||
<span slot="label">{{ $t('data_fill.my_job') }}</span>
|
||||
|
||||
<div style="padding:0 24px 16px">
|
||||
<div
|
||||
@ -353,7 +353,7 @@ export default {
|
||||
<span
|
||||
slot="label"
|
||||
>
|
||||
表单管理
|
||||
{{ $t('data_fill.form_manage') }}
|
||||
</span>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
@ -373,7 +373,7 @@ export default {
|
||||
<el-input
|
||||
ref="search1"
|
||||
v-model="myTaskName"
|
||||
:placeholder="$t('commons.search_by_name')"
|
||||
:placeholder="$t('data_fill.task.task_name')"
|
||||
prefix-icon="el-icon-search"
|
||||
class="name-email-search"
|
||||
size="small"
|
||||
@ -400,12 +400,12 @@ export default {
|
||||
<el-table-column
|
||||
key="taskName"
|
||||
prop="taskName"
|
||||
label="任务名称"
|
||||
:label="$t('data_fill.task.task_name')"
|
||||
/>
|
||||
<el-table-column
|
||||
key="restTime"
|
||||
prop="restTime"
|
||||
label="任务有效期"
|
||||
:label="$t('data_fill.task.task_remain_time')"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ getRestTime(scope.row.endTime) }}
|
||||
@ -414,7 +414,7 @@ export default {
|
||||
<el-table-column
|
||||
key="endTime"
|
||||
prop="endTime"
|
||||
label="任务截止时间"
|
||||
:label="$t('data_fill.task.task_end_time')"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.endTime ? new Date(scope.row.endTime).format("yyyy-MM-dd hh:mm:ss") : '-' }}
|
||||
@ -423,12 +423,12 @@ export default {
|
||||
<el-table-column
|
||||
key="creatorName"
|
||||
prop="creatorName"
|
||||
label="任务下发人"
|
||||
:label="$t('data_fill.task.task_sender')"
|
||||
/>
|
||||
<el-table-column
|
||||
key="startTime"
|
||||
prop="startTime"
|
||||
label="任务下发时间"
|
||||
:label="$t('data_fill.task.task_distribute_time')"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ new Date(scope.row.startTime).format("yyyy-MM-dd hh:mm:ss") }}
|
||||
@ -444,7 +444,7 @@ export default {
|
||||
type="text"
|
||||
@click="editForm(scope.row)"
|
||||
>
|
||||
立即填报
|
||||
{{ $t('data_fill.task.start_filling') }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -466,7 +466,7 @@ export default {
|
||||
<el-input
|
||||
ref="search2"
|
||||
v-model="finishedTaskName"
|
||||
:placeholder="$t('commons.search_by_name')"
|
||||
:placeholder="$t('data_fill.task.task_name')"
|
||||
prefix-icon="el-icon-search"
|
||||
class="name-email-search"
|
||||
size="small"
|
||||
@ -493,12 +493,12 @@ export default {
|
||||
<el-table-column
|
||||
key="taskName"
|
||||
prop="taskName"
|
||||
label="任务名称"
|
||||
:label="$t('data_fill.task.task_name')"
|
||||
/>
|
||||
<el-table-column
|
||||
key="finishTime"
|
||||
prop="finishTime"
|
||||
label="任务完成时间"
|
||||
:label="$t('data_fill.task.task_finished_time')"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ new Date(scope.row.finishTime).format("yyyy-MM-dd hh:mm:ss") }}
|
||||
@ -507,12 +507,12 @@ export default {
|
||||
<el-table-column
|
||||
key="creatorName"
|
||||
prop="creatorName"
|
||||
label="任务下发人"
|
||||
:label="$t('data_fill.task.task_sender')"
|
||||
/>
|
||||
<el-table-column
|
||||
key="startTime"
|
||||
prop="startTime"
|
||||
label="任务下发时间"
|
||||
:label="$t('data_fill.task.task_distribute_time')"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ new Date(scope.row.startTime).format("yyyy-MM-dd hh:mm:ss") }}
|
||||
@ -528,13 +528,13 @@ export default {
|
||||
type="text"
|
||||
@click="editForm(scope.row)"
|
||||
>
|
||||
编辑数据
|
||||
{{ $t('data_fill.task.edit_data') }}
|
||||
</el-button>
|
||||
<el-button
|
||||
type="text"
|
||||
@click="showForm(scope.row)"
|
||||
>
|
||||
查看数据
|
||||
{{ $t('data_fill.task.show_data') }}
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -556,7 +556,7 @@ export default {
|
||||
<el-input
|
||||
ref="search3"
|
||||
v-model="expiredTaskName"
|
||||
:placeholder="$t('commons.search_by_name')"
|
||||
:placeholder="$t('data_fill.task.task_name')"
|
||||
prefix-icon="el-icon-search"
|
||||
class="name-email-search"
|
||||
size="small"
|
||||
@ -583,12 +583,12 @@ export default {
|
||||
<el-table-column
|
||||
key="taskName"
|
||||
prop="taskName"
|
||||
label="任务名称"
|
||||
:label="$t('data_fill.task.task_name')"
|
||||
/>
|
||||
<el-table-column
|
||||
key="endTime"
|
||||
prop="endTime"
|
||||
label="任务过期时间"
|
||||
:label="$t('data_fill.task.task_expiration_time')"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.endTime ? new Date(scope.row.endTime).format("yyyy-MM-dd hh:mm:ss") : '-' }}
|
||||
@ -597,12 +597,12 @@ export default {
|
||||
<el-table-column
|
||||
key="creatorName"
|
||||
prop="creatorName"
|
||||
label="任务下发人"
|
||||
:label="$t('data_fill.task.task_sender')"
|
||||
/>
|
||||
<el-table-column
|
||||
key="startTime"
|
||||
prop="startTime"
|
||||
label="任务下发时间"
|
||||
:label="$t('data_fill.task.task_distribute_time')"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ new Date(scope.row.startTime).format("yyyy-MM-dd hh:mm:ss") }}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user