1 功能描述
级联选择器:可一级一级的往下选择数据
2 数据准备
请在mysql数据库执行以下初始化脚本
注意:租户模式下,请手动将“tenant_id_ = -1”(-1为平台数据,若在租户下使用,将-1换成对应的租户id即可)
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for contracttype
-- ----------------------------
DROP TABLE IF EXISTS `contracttype`;
CREATE TABLE `contracttype` (
`ID_` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`PID_` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`TYPE` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '合同种类'
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Records of contracttype
-- ----------------------------
INSERT INTO `contracttype` VALUES ('1', '0', '收入类合同');
INSERT INTO `contracttype` VALUES ('2', '0', '物资类合同');
INSERT INTO `contracttype` VALUES ('3', '0', '服务类合同');
INSERT INTO `contracttype` VALUES ('4', '0', '租赁类合同');
INSERT INTO `contracttype` VALUES ('5', '0', '承揽类合同');
INSERT INTO `contracttype` VALUES ('6', '0', '劳动合同');
INSERT INTO `contracttype` VALUES ('7', '0', '投融资合同');
INSERT INTO `contracttype` VALUES ('8', '0', '其他合同');
INSERT INTO `contracttype` VALUES ('9', '1', '销售类');
INSERT INTO `contracttype` VALUES ('10', '1', '对外服务类');
INSERT INTO `contracttype` VALUES ('11', '2', '采购类');
INSERT INTO `contracttype` VALUES ('12', '3', '咨询类');
INSERT INTO `contracttype` VALUES ('13', '3', '法律类');
INSERT INTO `contracttype` VALUES ('14', '3', '评估类');
INSERT INTO `contracttype` VALUES ('15', '3', '培训类');
INSERT INTO `contracttype` VALUES ('16', '4', '设备类');
INSERT INTO `contracttype` VALUES ('17', '5', '装修');
INSERT INTO `contracttype` VALUES ('18', '5', '工程施工');
INSERT INTO `contracttype` VALUES ('19', '6', '劳动合同(制式)');
INSERT INTO `contracttype` VALUES ('20', '6', '新签类劳动合同');
INSERT INTO `contracttype` VALUES ('21', '6', '续签类劳动合同');
INSERT INTO `contracttype` VALUES ('22', '7', '融资');
INSERT INTO `contracttype` VALUES ('23', '7', '担保');
INSERT INTO `contracttype` VALUES ('24', '7', '合资合作类');
INSERT INTO `contracttype` VALUES ('25', '9', '煤炭');
INSERT INTO `contracttype` VALUES ('26', '10', '技术服务');
INSERT INTO `contracttype` VALUES ('27', '10', '管理服务');
INSERT INTO `contracttype` VALUES ('28', '11', '办公设备');
INSERT INTO `contracttype` VALUES ('29', '11', 'IT设备');
INSERT INTO `contracttype` VALUES ('30', '12', '信息咨询');
INSERT INTO `contracttype` VALUES ('31', '12', '技术咨询');
INSERT INTO `contracttype` VALUES ('32', '12', '财务顾问');
INSERT INTO `contracttype` VALUES ('33', '12', '审计业务');
INSERT INTO `contracttype` VALUES ('34', '12', '风险管理咨询');
INSERT INTO `contracttype` VALUES ('35', '13', '常年法律顾问协议');
INSERT INTO `contracttype` VALUES ('36', '13', '诉讼或专项委托代理');
INSERT INTO `contracttype` VALUES ('37', '14', '矿业权评估');
INSERT INTO `contracttype` VALUES ('38', '14', '土地评估');
INSERT INTO `contracttype` VALUES ('39', '14', '资产评估');
INSERT INTO `contracttype` VALUES ('40', '14', '资源评估');
INSERT INTO `contracttype` VALUES ('41', '15', '外部培训');
INSERT INTO `contracttype` VALUES ('42', '16', '办公设备租赁');
INSERT INTO `contracttype` VALUES ('43', '16', '写字楼');
INSERT INTO `contracttype` VALUES ('44', '16', '房屋');
INSERT INTO `contracttype` VALUES ('45', '16', '食堂');
INSERT INTO `contracttype` VALUES ('46', '16', '车库或车位');
INSERT INTO `contracttype` VALUES ('47', '16', '广告位');
INSERT INTO `contracttype` VALUES ('48', '16', '住宿');
INSERT INTO `contracttype` VALUES ('49', '17', '办公楼装修');
INSERT INTO `contracttype` VALUES ('50', '18', '信息工程');
INSERT INTO `contracttype` VALUES ('51', '22', '银行借款合同(制式)');
INSERT INTO `contracttype` VALUES ('52', '22', '银行承兑协议(制式)');
INSERT INTO `contracttype` VALUES ('53', '22', '融资租赁合同(制式)');
INSERT INTO `contracttype` VALUES ('54', '22', '信托、债权投资类(制式)');
INSERT INTO `contracttype` VALUES ('55', '23', '银行担保合同(制式)');
INSERT INTO `contracttype` VALUES ('56', '23', '对外担保合同(制式)金晖煤焦化');
INSERT INTO `contracttype` VALUES ('57', '24', '合作意向书');
INSERT INTO `contracttype` VALUES ('58', '24', '合资合作框架协议');
INSERT INTO `contracttype` VALUES ('59', '24', '合资合作合同书');
INSERT INTO `contracttype` VALUES ('60', '24', '转让合同(资产/股权)');
SET FOREIGN_KEY_CHECKS = 1;
3 基础操作
例:合同管理中选择合同类型;
配置如下:
第一步:进入【元件管理】->【关联查询】中,配置级联的关联查询
设置返回字段、条件字段
设置自定义SQL
注意:如果使用的数据库为:oracle数据库,则注意变量需要 全小写
if(!"".equals(PID_) ){ return "SELECT a.ID_,a.TYPE,a.PID_, CASE (select count(*) from contracttype b where b.PID_=a.ID_ )"+ "WHEN 0 THEN " + "true " + "ELSE " + " false " + "END as "leaf" FROM contracttype a WHERE a.PID_="+PID_; }else{ return "SELECT a.ID_,a.TYPE,a.PID_, CASE (select count(*) from contracttype b where b.PID_=a.ID_ )"+ "WHEN 0 THEN " + "true " + "ELSE " + " false " + "END as "leaf" FROM contracttype a WHERE a.PID_=0"; } |
第二步:进步表单设计页面,将合同类型绑定级联控件,并配置关联查询