Browse Source

修改数据库源码

naonao 2 years ago
parent
commit
eb17904a5b

+ 100 - 0
variant-form-pro(2.3.8.20230308)/src/api/table-data.js

@@ -0,0 +1,100 @@
+import request from './request'
+import loadPinYinInit from '../../lib/ChineseHelper'
+import {formMethod} from './form-common'
+let Table = {
+	ObtainTableTitle: function(data){
+		var tableName = data._props.widget.options.databaseName
+		// console.log(data)
+		// console.log(data._props.widget.options)
+		var param ={
+			tableName:tableName
+		}
+		//初始化表格数据
+		formMethod().other('','admin-table/initializeHeader',param).then(res => {
+			console.log(res)
+			data.setTableColumn(res.data)
+		})
+	},
+	// 通过配置获取表格数据
+	ObtainTable: function(data){
+		//初始化表格数据
+		var tableData = data._props.widget.options
+		
+		let params={
+			"limit": data.getWidgetRef(tableData.name).pageSize,
+			"page": data.getWidgetRef(tableData.name).currentPage,
+		}
+		var str = data.getFormRef().getFormData(false)
+		// 参数
+		let paramList=[]
+		// 名称
+		for (let i in str) {
+			console.log(i)
+			paramList.push({
+				field:i,
+				value:str[i],
+				condition:'like'
+			})
+		}
+		params['paramList'] =paramList
+		console.log(params)
+		// let mingchen=this.getFormRef().getFieldValue('search_mingchen')
+		// if(mingchen){
+		// 	paramList.push({
+		// 		field:'name',
+		// 		value:mingchen,
+		// 		condition:'like'
+		// 	})
+		// 	params['paramList'] =paramList
+		// }
+		
+		
+		formMethod().selectPage('',tableData.databaseName,params,tableData.databaseName + ':page')
+		.then(res => {
+			data.setTableData(res.data.records)
+			data.setPagination({
+				currentPage: parseInt(res.data.current),
+				pageSize: parseInt(res.data.size),
+				total: parseInt(res.data.total)
+			})
+			// return response
+		})
+	},
+	ObtainTableButton: function(buttonName, rowIndex, row, that){
+		console.log(that._props.widget.options)
+		var options = that._props.widget.options
+		console.log(buttonName, rowIndex, row, that)
+		if(buttonName == 'delete'){
+			that.$confirm("是否删除,继续?","提示",{
+				confirmButtonText:"确定",
+				cance1ButtonText:"取消",
+				type: "warning"
+			}).then(() => {
+				formMethod().delete('',options.databaseName,row.id,options.databaseName + ':page').then((res)=>{
+					if(res.code == 20000){
+						that.$message.success("删除成功")//----重新加载表数据
+						that .handleOnCreated()
+					}
+				})
+				// this,$message.success("删除成功")
+			})
+		}else if(buttonName == 'edit'){
+			that.getFormRef().showDialog('edit',row)
+		}else if(buttonName == 'detail'){
+			that.getFormRef().showDialog('detail',row)
+		}
+	},
+	// 表单初始值
+	OnDialogOpened: function(that){
+		// console.log(that)
+		// that.getFormRef().getFormData()
+	}
+}
+
+/**
+ * 工具
+ * @returns {{ConvertPinyin: (function(*=): string)}}
+ */
+export function commonTable() {
+    return Table
+}

+ 7 - 4
variant-form-pro(2.3.8.20230308)/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-customClass-editor.vue

@@ -1,9 +1,12 @@
 <template>
   <div>
-	  <el-form-item :label="i18nt('designer.setting.interface')">
-			  <el-input v-model="optionModel.interface"></el-input>
-	  </el-form-item>
-
+		<el-form-item :label="i18nt('designer.setting.interface')">
+			<el-input v-model="optionModel.interface"></el-input>
+		</el-form-item>
+		<!-- 数据库表名 -->
+		<el-form-item :label="i18nt('designer.setting.databaseName')">
+			<el-input v-model="optionModel.databaseName"></el-input>
+		</el-form-item>
 		<el-form-item :label="i18nt('designer.setting.tableWidth')">
 			<el-input v-model="optionModel.tableWidth"></el-input>
 		</el-form-item>

+ 5 - 4
variant-form-pro(2.3.8.20230308)/src/components/form-designer/widget-panel/widgetsConfig.js

@@ -144,6 +144,7 @@ export const containers = [
     widgetList: [],
     options: {
       interface:'',
+      databaseName:'',//数据库表名
       name: '',
       label: 'data-table',
       hidden: false,
@@ -265,12 +266,12 @@ export const containers = [
         },
       ],
 
-      onCreated: '',
+      onCreated: 'this.$CommonTable().ObtainTable(this);this.$CommonTable().ObtainTableTitle(this)',
       onMounted: '',
       //分页大小改变事件
-      onPageSizeChange: '',
+      onPageSizeChange: 'this.handleOnCreated()',
       //当前页改变事件
-      onCurrentPageChange: '',
+      onCurrentPageChange: 'this.handleOnCreated()',
       //选择项改变事件
       onSelectionChange: '',
 
@@ -281,7 +282,7 @@ export const containers = [
       //设置操作按钮文本回调事件(必须有返回值)
       onGetOperationButtonLabel: '',
       //操作按钮点击事件
-      onOperationButtonClick: '',
+      onOperationButtonClick: 'this.$CommonTable().ObtainTableButton(buttonName, rowIndex, row,this)',
 
       onHeaderClick: '',
       onRowClick: '',

+ 2 - 0
variant-form-pro(2.3.8.20230308)/src/main.js

@@ -14,6 +14,7 @@ import '@/iconfont/iconfont.css'
 import VFormRender from '@/components/form-render/index'
 import {loadExtension} from '@/extension/extension-loader'
 import {formMethod,commonUtil} from './api/form-common'
+import {commonTable} from './api/table-data'
 
 Vue.component('VFormRender', VFormRender)
 loadExtension()
@@ -26,6 +27,7 @@ if (typeof window !== 'undefined') {
 Vue.config.productionTip = false
 Vue.prototype.$FormCommonApi = formMethod
 Vue.prototype.$CommonUtil = commonUtil
+Vue.prototype.$CommonTable = commonTable
 new Vue({
   el: "#app",
   render: h => h(App),